II.2405 Génie Logiciel (5 crédits)
Prérequis : II.2404 Niveau : Fondamental Responsable du module : Zakia KAZI AOUL Déroulement : 21 h de cours, 24 h de TP/Projet Nbre d'heures : 45 h Evaluation : Contrôle continu (60%) + projet et soutenance (40%)
Contexte
Le développement de systèmes logiciels complexes nécessite l’utilisation d’outils, de méthodes, et de technologies adaptées pour les différentes phases de leur cycle de vie. Ceci se traduit par l’application d’une approche systématique, disciplinée et quantifiée pour le développement, l’exécution et la maintenance du logiciel. Le génie logiciel permet d’acquérir des connaissances fondamentales et avancées pour organiser les projets de développement de logiciels de qualité.
Objectifs
Compétences
Le génie logiciel fournit les bons outils à la maîtrise d’ouvrage pour lui permettre de conduire un projet durant les phases de conception d’un logiciel. Ce module permet également d’assister les équipes de maitrise d’œuvre en fournissant la bonne méthodologie et les bons outils pour assister une équipe composée de concepteurs, d’analystes et de développeurs, concourant à la production d'un logiciel, au delà de la seule activité de programmation. Le but de ce module est de faciliter le passage d’un simple cahier des charges à un système opérationnel.
Connaissances
Concepts
- Méthodes et processus (cycles, méthodes classiques, RUP)
- Méthodes agiles et itératives
- Partitionnement, architecture, conception et maîtrise de la complexité
- Conception à base de composants, de services et de patrons de conception (design patterns)
- Maîtrise de la planification et des coûts
- Intégration et Déploiement
- Test et qualité
Savoir-faire
- Diagrammes de GANTT
- UML comme support de développement
- Méthode Z pour les applications critiques
- Méthodes agiles et itératives
- Processus qualité et de certification avec ITIL et CMMI
- Outils (AGL, IDE, plateformes collaboratives, MDE, …)
- Utilisation et intégration de l’Open Source
Approche pédagogique
Présentation des fondamentaux en cours avec des exercices et études de cas (environ 60% du temps). Conférences avec intervenant extérieurs. Implémentation sous forme d’un APP (projets en groupe).
Bibliographie
- Software Engineering, Fourth Edition, Shari Lawrence Pfleeger, Joanne M.Atlee, International Edition, 2010
- Software Engineering: A Practitioner's Approach, Roger S. Pressman. McGraw Hill Higher Education ,Avril 2009
- Software Requirements, Second Edition (Pro-Best Practices), Karl E. Wiegers, Microsoft Press, Mars 2003
- http://www.sei.cmu.edu/publications/documents/02.reports/02tr011.html
- www.swebok.org
|