| 020GLOES5 | Génie logiciel |
|---|---|
|
Ce cours décrit la problématique liée au développement de grands projets au niveau du respect de la règle du CQFD (cout, qualité, fonctionnalité et durée) tout au long du cycle de développement du logiciel (SDLC). Il expose toutes les méthodologies de gestion du cycle de développement d’un projet, que ça soit les méthodologies sturdy traditionnelles telles que CMM, TSP, PSP ou RUP, et celles agiles, telles que, XP et Scrum (concepts, rôles, cérémonies), ainsi que les cycles de vie en cascade, itératifs, en spirale et transformationnels. Il expose les techniques d’élicitation lors de l’étape des expressions des besoins et les règles d’écriture d’un cahier de charge ainsi que les outils de spécifications les plus utilisées lors de l’étape de l’analyse des besoins (besoins fonctionnels et non fonctionnels). Il explique les principes DRY, KISS et SOLID avec ses concepts avancés de conception orientée objet (OCP, LSP, etc.), et il couvre l’utilisation de UML comme langage de modélisation orientée objet, ainsi que la méthode des CRC Cards adoptée par XP. Il explique l’intérêt du refactoring continu, et il explique toutes les techniques de refactoring chirurgical, tactique et stratégique ainsi que la méthodologie à suivre pour mettre en place un tel processus, en commençant par la mise en place de l’environnement nécessaire tel que la gestion des configurations y compris les outils de gestion du code source Git/GitHub, la gestion des tests et des bugs, pour passer aux méthodes d’analyse quantitative et qualitative de la qualité du code en vue de discerner les éléments candidats au refactoring, et arriver enfin à la mise en œuvre et la validation du refactoring. Il expose la pyramide des tests, et détaille les tests unitaires, d’intégration, fonctionnels et non fonctionnels, en expliquant l’intérêt d’appliquer le Test Driven Developpement en utilisant JUnit. Il expose les méthodes d’estimation du coût d’un logiciel. Il explique les méthodes d’évaluation de l’ergonomie d’une IHM, en détaillant les aspects liés aux applications standalone, web et à l’accessibilité. Enfin, Il introduit les principes DevOps, sensibilise les étudiants au développement SAAS et à l’application de l’automation au niveau du cycle de développement. Temps présentiel : 30 heures Charge de travail étudiant : 70 heures Méthode(s) d'évaluation : Travaux pratiques |