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