Méthodes Agiles d'Ingénieurie Logicielle

Ects : 3

Description du contenu de l'enseignement :
La nouvelle économie met à rude épreuve les équipes des projets informatiques. L'instabilité notoire des spécifications et le raccourcissement des délais de livraison imposent une amélioration drastique de la réactivité et de la productivité du développement, sans tolérer pour autant une quelconque négligence en matière de stabilité et d'évolutivité des applications déployées. Les méthodologies dites "agiles" tentent de répondre à ces exigences, en adoptant un investissement minimaliste et prônant des résultats tangibles et fréquents, par opposition aux méthodologies classiques qui - tout en imposant des organisations coûteuses - n'arrivent plus à prouver leur efficacité dans ces conditions extrêmement dynamiques. Ce cours propose un panorama des méthodes et techniques efficaces applicables dès les projets de petite taille. Les étudiants pourront les mettre en œuvre avantageusement, aussi bien pour leurs projets pédagogiques qu'industriels, une fois dans l'entreprise.
Introduction. Evolution des modèles du cycle de vie des projets.
Offre des méthodologies agiles : XP, FDD, Scrum, Kanban, Lean, etc.
eXtremeProgramming : cycle de négociation, développement piloté par les tests, refactoring permanent, etc.
Du code au modèle UML. Modélisation, stratégies et patterns agiles. Design Patterns, Analysis Patterns et Metapatterns.
Techniques encourageant l'agilité : RAD, AOP, Assemblage de composants, MDA, etc.
Illustrations en Java, tout au long du cours