Cas d étude appliqué à l ingénierie logicielle



Documents pareils
Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Génie logiciel (Un aperçu)

UML est-il soluble dans les méthodes agiles?

Méthodologies de développement de logiciels de gestion

Analyse,, Conception des Systèmes Informatiques

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Eclipse Process Framework et Telelogic Harmony/ITSW

RECONSTRUCTION D'UN MODÈLE 3D D'OBJET AVEC LA KINECT

IFT2255 : Génie logiciel

CHAPITRE 3 : LES METHODES AGILES?

Introduction au génie logiciel

Projet Active Object

Chapitre I : le langage UML et le processus unifié

RÉSUMÉ DESCRIPTIF DE LA CERTIFICATION (FICHE RÉPERTOIRE)

GPC Computer Science

Chef de projet H/F. Vous avez au minimum 3 ans d expérience en pilotage de projet de préférence dans le monde du PLM et de management d équipe.

Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

Administrateur de Parc PC

Master Informatique Aix-Marseille Université

LICENCE : INFORMATIQUE GENERALE

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

Les méthodes itératives. Hugues MEUNIER

Présentation du Programme Régional de Formations Qualifiantes

Systèmes et réseaux d information et de communication

Département Informatique

Visual Paradigm Contraintes inter-associations

SECTION 5 BANQUE DE PROJETS

Développement itératif, évolutif et agile

Master Information et communication spécialité Produits et services multimédia

25/12/2012

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Méthodes Agiles et gestion de projets

Méthodes agiles. CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Identification du module

CQP Développeur Nouvelles Technologies (DNT)

Gé nié Logiciél Livré Blanc

Cours Gestion de projet

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

EXECUTIVE CERTIFICATE CLOUD COMPUTING

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Business Process Design Max Pauron

COMMUNICATION EVENEMENTIELLE BAC+4 Promotion

Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

RESUME DESCRIPTIF DE LA CERTIFICATION (FICHE OPERATIONNELLE METIERS)

LODZ UNIVERSITY OF TECHNOLOGY UNIVERSITÉ POLYTECHNIQUE DE LODZ

Méthode Agile de 3 ème génération J-P Vickoff

Rational Unified Process

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Licence Professionnelle Génie logiciel, développement d'applications pour plateformes mobiles

Product Life-Cycle Management

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.

Conception, architecture et urbanisation des systèmes d information

ISTQB Agile Tester en quelques mots ISTQB Marketing Working Group

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

IMO - Informatique, modélisation et optimisation

GL Processus de développement Cycles de vie

Agilitéet qualité logicielle: une mutation enmarche

Les méthodes Agile. Implication du client Développement itératif et incrémental

Conception et Intégration de Systèmes Critiques

DES SYSTÈMES D INFORMATION

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

Gestion Projet. Cours 3. Le cycle de vie

1. Étude réalisée par l AFOPE en Hellriegel D., Slocum J. W., Woodman R. W., Management des organisations, Bruxelles, De Boeck, 1992.

Bertrand Cornanguer Sogeti

répondre aux défis de l ingénierie logicielle déploiement et mise en œuvre opérationnelle : l'industrialisation au service de la compétitivité

Master professionnel Conception de projets multimédia et de dispositifs numériques Médiation, médiatisation des savoirs

GESTION DE PROJET. - Tél : N enregistrement formation :

MASTER 2 PROFESSIONNEL. Génie Logiciel, Logiciels Répartis et Embarqués

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Le génie logiciel. maintenance de logiciels.

Description du programme du Master M2 MIAGE SIIN (1)

ISO/CEI Technologies de l information Gestion des actifs logiciels. Partie 1: Procédés et évaluation progressive de la conformité

LICENCE PROFESSIONNELLE

Extension de VeSMEL pour la manipulation des contenus dans le m-learning

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Agile 360 Product Owner Scrum Master

Synergies entre Artisan Studio et outils PLM

Module Projet Personnel Professionnel

Pré-requis Diplôme Foundation Certificate in IT Service Management.

CC30 Certificat de compétence Conception, développement et animation de sites Web

Service des stages et du placement - secteur placement ANNEE 2013 TITRES DE POSTES OFFERTS AUX DIPLOMES DE GENIE INFORMATIQUE

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

Processus de Développement Logiciel

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

Maîtrise d ouvrage agile

INTERNATIONAL MASTER DEGREE IN MULTIMEDIA MANAGEMENT

SUPPLEMENT AU DIPLOME

Rapport de certification

M E G A C O N S U L T I N G

Evoluez au rythme de la technologie

UNIVERSITÉ PARIS 1 PANTHÉON-SORBONNE CENTRE SAINT-CHARLES MASTER MULTIMÉDIA INTERACTIF 47, RUE DES BERGERS PARIS

VIE ET STAGE liés aux Risques

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Transcription:

ypbl : une méthodologie pédagogique pour la professionnalisation d une formation Cas d étude appliqué à l ingénierie logicielle Ernesto Exposito 1,2, Anne Hernandez 2 1 CNRS ; LAAS ; 7 av. du Colonel Roche, F-31077 Toulouse, FRANCE 2 Université de Toulouse; UPS, INSA, INP, ISAE; LAAS; F-31077 Toulouse, France 2 Université de Toulouse INSA ernesto.exposito@insa-toulouse.fr anne.hernandez@insa-toulouse.fr Résumé Cet article présente une méthodologie résultant de la spécialisation d un processus standard de développement logiciel intégrant la dimension pédagogique proposée par l approche APP. Mots-clés Savoirs, compétences, pratiques pédagogiques, projets, standards internationaux. I. Introduction L ingénierie du logiciel représente un processus complexe demandant aux membres de l équipe de développement, non seulement un haut niveau d expertise en informatique, mais également des compétences diverses relevant de la gestion de projet, des techniques de travail collaboratif et de communication en français en anglais. À cette complexité s ajoute l évolution accélérée ces dernières années des technologies informatiques, liées en particulier à la multiplication des applications et des services web interconnectés sur des plate-formes de terminaux traditionnels (PC, MAC, ) mais aussi sur de nouveaux terminaux mobiles et sans fil (iphone, Android, ). COLLOQUE_livre1.indd 263 16/05/11 10:41

264 Questions de pédagogies dans l'enseignement supérieur Depuis 2008, nous avons commencé à concevoir et à développer une méthodologie pour la mise en place des enseignements dans le domaine de l ingénierie du logiciel. En effet, une approche classique, conduisant à un nombre important de cours magistraux suivis de TDs/TPs et de contrôles écrits, n était pas adaptée à l assimilation des différentes facettes de l ingénierie du logiciel et des évolutions technologiques. Il a été nécessaire de chercher de nouvelles pistes et nous nous sommes orientés vers les méthodologies d apprentissage par problème et par projet ou APP [1]. La question était de savoir comment appliquer ce nouveau type de pédagogie à ces enseignements. De manière naturelle, des correspondances entre les processus, les activités, les rôles et les responsabilités prévus dans la méthodologie APP [2] et les éléments que l on rencontre dans un processus de conception et de développement logiciel ont pu être identifiés. En effet, il est apparu envisageable de modéliser un processus pédagogique en parallèle du processus d ingénierie appliqué au logiciel. C est à partir de ce constat que nous avons défini un modèle intégrant les deux processus. Ce modèle définit des points d interaction communs ainsi que des produits exploitables (état de l art, livrables, codes, etc.), issus des deux processus. Parmi les différents processus de développement logiciels, nous avons choisi celui qui semblait le plus adapté à la prise en compte des nouvelles technologies (à découvrir ou à appréhender par les étudiants) et des besoins fonctionnels des produits à élaborer. Ce processus est connu sur le nom de processus en «Y». Le modèle résultant de la composition de ce processus en «Y» et de la méthode d apprentissage APP2, a été appelé ypbl (PBL pour «Project Based Learning»). I.1. ypbl : méthodologie d apprentissage adaptée au domaine du développement logiciel Dans le domaine de l ingénierie logicielle, plusieurs méthodologies existent pour guider et coordonner les activités de développement et assurer ainsi la qualité et l efficacité du produit final. Une méthodologie très utilisée est celle du processus unifié ou UP (pour Unified Process) [3]. UP définit un processus de conception et de développement logiciel comme une séquence de phases itératives et incrémentales. Chaque phase comprend l analyse et la spécification des exigences du client, ainsi que la conception, le développement, les tests, l intégration, le déploiement et la maintenance du produit logiciel. Ces phases sont planifiées et exécutées de manière itérative, et pour chaque incrément une nouvelle version du logiciel intégrant des nouveaux besoins utilisateurs est produite. COLLOQUE_livre1.indd 264 16/05/11 10:41

Les courants de la professionnalisation : enjeux, attentes, changements 265 Ces dernières années, plusieurs spécialisations de la méthode UP ont été proposées afin de l adapter au mieux aux équipes de développement, aux contraintes de production, aux spécificités des produits logiciels, etc. Le processus en Y a été défini afin de prendre en compte des environnements technologiques très dynamiques et évolutifs [4]. Le nom de cette méthodologie provient de sa représentation visuelle (voir Figure 1) composée de trois branches représentant les aspects fonctionnels du produit logiciel (besoins des utilisateurs), les aspects techniques (technologies logicielles, environnement d exécution, etc.) et les aspects liés à la réalisation du logiciel. Cette séparation aide l équipe à se focaliser sur la compréhension et la spécification des besoins du produit logiciel (branche fonctionnelle), tout en les guidant de manière rationnelle dans l exploration, la découverte, l assimilation et la sélection des technologies adéquates (branche technique). Une fois les aspects fonctionnels et techniques identifiés et spécifiés, les deux branches se rejoignent afin de poursuivre le processus de conception et de développement (branche de réalisation). Pendant la phase de réalisation, les technologies sélectionnées sont appliquées afin de répondre aux besoins fonctionnels identifiés. À chaque itération, un sous-ensemble de besoins fonctionnels et de technologies disponibles est intégré de manière incrémentale dans une nouvelle version du produit logiciel. La méthodologie ypbl est une spécialisation du processus en Y puisqu elle intègre la dimension pédagogique proposée par l approche APP [5]. Dans ypbl, l équipe de développement travaille dans le cadre d un réel projet logiciel proposé par une entité externe dénommée «le client». L équipe est composée par les étudiants et les facilitateurs travaillant de manière collaborative et jouant différents rôles dans le processus (coordinateur du projet, architecte logiciel, développeur, testeur, chef de qualité, etc.). Les participants se retrouvent naturellement impliqués dans plusieurs situations d apprentissages actifs. Afin de faciliter la recherche, l acquisition, la production et la dissémination des connaissances, ypbl propose l utilisation d un outil pédagogique dénommé cookbook (recette de cuisine). Les cookbooks sont élaborés par les étudiants en totale autonomie à partir d une recherche documentaire guidée par les besoins fonctionnels du projet. Ces cookbooks sont ensuite soumis à révision et à publication avant d entamer la phase de réalisation. Pour chaque itération, c est au cours de la phase de réalisation que les connaissances acquises et transmises seront appliquées dans la construction du logiciel. COLLOQUE_livre1.indd 265 16/05/11 10:41

266 Questions de pédagogies dans l'enseignement supérieur Figure 1. ypbl méthodologie Le schéma de la Figure 1 montre le processus itératif de développement logiciel qui comporte les phases de spécification des besoins, d analyse, de conception, de réalisation, de tests et de déploiement. Pour chaque phase, les étudiants participant au projet doivent produire des documents spécifiques (documents aux normes IEEE et cookbooks ypbl) et des produits (code source et documentation). Les projets ypbl impliquent la participation d un client externe qui spécifie de façon informelle un ensemble de besoins. À partir de ceci, les itérations d un processus incrémental et des livrables sont planifiés et inscrits dans le Project Management Plan ou PMP. Chaque itération comporte les phases suivantes : 1. Exigences : Dans la branche fonctionnelle, la première phase vise la rédaction des Software Requirements Specifications, ou SRS, d après les besoins du client. Pendant cette phase, les étudiants doivent interagir avec le client afin de spécifier clairement le logiciel et de valider le SRS. Ces exigences guident la sélection d une liste de Topics qui devront être étudiés afin de satisfaire les besoins du client, (branche technique). 2. Analyse : Pendant l analyse des besoins, une solution de haut niveau (Platform Independent Model ou PIM) est spécifiée dans le Software COLLOQUE_livre1.indd 266 16/05/11 10:41

Les courants de la professionnalisation : enjeux, attentes, changements 267 Design Description ou SDD. Cette conception guidera les activités d apprentissage qui amèneront les étudiants à explorer les Topics définis dans la phase précédente afin d acquérir, de produire et de transmettre les connaissances dans la forme des Cookbooks. Les cookbooks sont composés d une première partie portant sur des concepts, méthodes et technologies (les ingrédients et techniques) et une deuxième partie proposant des cas d application (les recettes). Les cookbooks sont d abord évalués par les pairs, puis la version finale est publiée et présentée aux autres étudiants lors d une conférence [6]. 3. Conception : une Software Design Description concrète comportant une Platform Specific Model ou PSM est élaborée pendant cette phase. Cette SDD est le résultat des décisions prises par l équipe pendant les activités d exploitation des connaissances. Cette conception est la première phase de la branche de réalisation. 4. Réalisation : la SDD est traduite en code source par l équipe, en se fondant sur les recettes données dans les cookbooks. 5. Tests : des tests sur le code source produit sont planifiés et documentés dans le Software Test Documentation ou STD. Ces tests ont pour but de valider le fait que la solution proposée satisfait correctement les besoins du client. 6. Déploiement et livraison : à la fin de chaque itération, un Software Release est livré au client avec les documents élaborés pendant les phases précédentes. À partir de cet instant, une nouvelle itération commence, comportant de nouveaux besoins et les corrections des erreurs détectées en interne ou indiquées par les utilisateurs du logiciel. II. Mise en place et résultats La méthodologie ypbl a été appliquée aux enseignements relevant de la conception et programmation orientées objets (langages UML et JAVA), du processus de développement logiciel (approche MDA), des architectures orientées services (architectures SOA) et des applications multimédias mobile, pour les étudiants de la 4 ème et 5 ème années des spécialités Informatique et Réseaux et Télécommunications. Les projets ypbl proposés ont été validés à partir des recommandations de l ACM définissant un ensemble de connaissances et de compétences souhaitées dans les métiers concernant l ingénierie du logiciel [7]. La Figure 2 montre les résultats de l évaluation d un projet ypbl réalisé en 2010, comprenant 72 étudiants (6 groupes de 12) et 14 instructeurs autour 3 unités COLLOQUE_livre1.indd 267 16/05/11 10:41

268 Questions de pédagogies dans l'enseignement supérieur de formation (ingénierie du logiciel, architectures orientées services et anglais), avec une durée totale de 115 heures (15 crédits ECTS). Ce projet consistait à développer une application web orientée services pour la gestion de stages du département. Un nombre total de 32 cookbooks comprenant en moyenne 3-4 recettes ont été élaborés. Figure 2. Évaluation de la méthodologie ypbl Les figures 2.a) et 2.b) illustrent l appréciation des participants du projet sur l acquisition active des connaissances et des compétences pendant la production et révision des cookbooks. La figure 2.c) montre la nature durable de l acquisition des connaissances et des compétences. Finalement, la figure 2.d) montre plusieurs paramètres qualitatifs de l apprentissage collaboratif lors de la conférence des cookbooks (c.f. acquisition de nouvelles connaissances, meilleure compréhension, prise en compte des feedbacks et nécessité de la conférence). Globalement les résultats obtenus ont dépassé les attentes : une plus grande motivation des étudiants et de l équipe enseignante, davantage de travaux de groupe, une meilleure assimilation des connaissances et de leurs applications, et tout ceci avec un degré élevé d autonomie. COLLOQUE_livre1.indd 268 16/05/11 10:41

Les courants de la professionnalisation : enjeux, attentes, changements 269 III. Conclusion En associant un processus professionnel de l ingénierie et une méthodologie pédagogique, nous avons souhaité renforcer la professionnalisation de notre enseignement. Notre objectif est d amener nos étudiants à acquérir les connaissances et compétences dont ils auront besoin en ingénierie logicielle, en langages et technologies d implémentation et dans la communication en anglais technique [7]. Cette méthode les amène à développer un produit avec une approche professionnelle puisqu ils suivent les différentes étapes du processus «y», ils rédigent les documents selon les normes IEEE et ils utilisent l anglais comme langue de communication. Cet exemple s applique à l ingénierie logicielle mais il nous semble que certains éléments, en particulier l élaboration, peer-reviewing et présentation des cookbooks et l utilisation de l anglais dans les projets, pourraient être des outils pédagogiques utiles dans d autres domaines. Références Aguirre E., Raucent, B., «L apprentissage par projet... vous avez dit projet? non par projet!», 19 ème colloque de l AIPU, Louvain-la-Neuve, 29-31 mai 2002. Raucent, B., Milgrom, E., Bourret, B., Hernandez, A., Romano C., «Guide pratique pour une pédagogie active : l APP», INSA de Toulouse, 2010. Jacobson, I.; Booch, G.; Rumbaugh, J. The Unified Software Development Process; Addison-Wesley Professional: 1999. Pascal Roques et Franck Vallée, «UML en action», Editorial Eyrolles, February 2000, ISBN-10: 2212091273. Ernesto Exposito, ypbl methodology: a problem-based learning method applied to Software Engineering, IEEE Engineering Education 2010 (EDUCON 2010), Madrid (Espagne), 14-16 Avril, 2010. Ernesto Exposito, Anne Hernandez, ypbl, an approach combining project-based learning and software engineering process, Active Learning in Engineering Education Workshop (ALE 2011), Santiago (Chile), January 10-12, 2011. Computing Curricula 2005: The Overview Report. SIGCSE Bull. 38, 1 (March 2006), 456-457. COLLOQUE_livre1.indd 269 16/05/11 10:41

COLLOQUE_livre1.indd 270 16/05/11 10:41