Méthodes de gestion de projet d’un point de vue organisationnel et technique.
Les objectifs du module sont d’offrir aux étudiants les moyens de :
Gérer un projet informatique : du cahier des charges aux livrables, mais aussi en utilisant des approches agiles.
Capturer et synthétiser les besoins des clients et des utilisateurs.
Maitriser les outils de gestion de code et de travail collaboratif.
Modéliser des systèmes pour la conception ou l’analyse.
Analyse et implémentation de code, utilisation des patrons de conception, développement dirigé par les tests.
Plus précisément, on abordera les caractéristiques, activités et phases des processus de conception objet, à la fois les approches classiques basées sur des enchainements définis, mais aussi les méthodes agiles comme SCRUM.
Pour la spécification des besoins fonctionnels, nous nous appuierons sur la méthode d’expression de besoins fonctionnels par les cas d’utilisation, en insistant sur leur dimension textuelle et les bonnes pratiques de rédaction.
Tout au long du cours, nous travaillerons sur les systèmes d’information au sens large, on rappellera les différents diagrammes du langage UML permettant d’en représenter des éléments variés. Mais aussi les bonnes pratiques de programmation comme les patrons de conceptions, ou le développement dirigé par les tests.
Ceci servira à introduire les patrons de conception les plus classiques, Au niveau développement, on insistera sur les patterns GRASP (General Responsability Assignement Software Pattern) et les design-patterns les plus classiques. Nous aborderons enfin l’utilisation des tests à différents niveaux : tests unitaires, tests d’intégration, tests d’utilisation.