ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Code interne
EI9GLB
Liste des enseignements
Spécification et preuve formelle de programmes
Composante
ENSEIRB-MATMECA
Maîtriser les concepts fondamentaux de la spécification et de la preuve formelle de programme.
Acquérir des compétences pratiques dans ce domaine.
Conception orientée objet
Composante
ENSEIRB-MATMECA
Intervenants: Georges Eyrolles, Philippe Narbel
Ce cours présentera les principes généraux de conception des architectures logicielles, et tout particulièrement ceux qui s'appliquent aux architectures orientées-objet. Les cinq principes dits SOLID (responsabilité unique, ouvert/fermé, substitutivité de Liskov, ségrégation des interfaces, inversion des dépendances) y seront définis et développés en détail, que ce soit dans leur mise en oeuvre, leur conséquences, leurs qualités et leurs défauts. Ces principes seront par ailleurs illustrés et mis en relation avec despatrons de conception classiques (Design Patterns), comme par exemplel'Adaptateur, le Composite, le Décorateur, le Médiateur, la Stratégie, le Visiteur. Ces derniers seront donc également introduits et définis.
Même si les notions et les concepts y seront présentés avec toute la rigueur qu'ils méritent, ce cours fera la part belle aux expériences, aux exercices pratiques, et aux études de cas.
BIBLIOGRAPHIE : - Agile Software Development. Robert Martin. Prentice Hall. 2003. - Working Effectively with Legacy Code. Feathers, Prentice Hall. 2005. - Design Patterns. Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides. Addison-Wesley. 1995. (livre appelé aussi "GoF" pour "Gang of Four") - Pattern Hatching: Design Patterns Applied. John Vlissides. Addison-Wesley. 1998. - Object-oriented Software Construction. Bertrand Meyer. Prentice-Hall. 1988, 1997. - Object-Oriented Modeling and Design with UML. Blaha and Rumbaugh. Prentice Hall. 1991, 2005. - Large-Scale C++ Software Design. John Lakos. Addison-Wesley. 1996. - Design Patterns for Object-Oriented Software Development. W. Pree. Addison-Wesley. 1995. - Structured Analysis and System Specification. DeMarco. Prentice Hall. 1979. - Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Yourdon and Constantine. 1979. - The Practical Guide to Structured Systems Design. Page-Jones. Prentice Hall. 1988
PLAN :
- Architectures logicielles, composants, dépendances. - Substitutivité. - Couplage et cohésion. - Responsabilités, séparation des rôles. - Ségrégation. - Concept de l'ouvert/fermé.