S9 TIIL Principes d'analyse et de conception objet

Présentation

Ce cours a pour objectif de renforcer par la pratique la maîtrise des principes fondamentaux des activités d’analyse et de conception objet afin de satisfaire les besoins d'évolution, d'adaptation et de testabilité des applications.

Pré-requis nécessaires

Connaissances théoriques et pratique de base sur les langages à objet, bonne maîtrise pratique d'au moins un langage à objets.

Objectifs

Rappel des activités fondamentales d’analyse avec UML :

  • Capture des exigences : cas d’utilisation, scénarios, catégories fonctionnelles
  • Modèles du domaine, carte de responsabilités, diagrammes de classes
  • Modèle dynamique des interactions internes et des comportements unitaires

Principes de conception objet pour la gestion de l'évolution et du couplage entre classes :

  • introduction générale sur le besoin en évolution et la nécessité de limiter le couplage
  • revue des éléments fondateurs du paradigme objet
  • principe d'ouverture/fermeture et principe de substitution de Liskov
  • inversion des dépendances et séparation des interfaces
  • Découplage fort par la programmation évènementielle

Etude détaillée du fonctionnement de quelques patrons de conception par rapport aux principes fondamentaux.

Étude de quelques mauvaises pratiques et ré ingénierie des composants objet

Compétences visées

Utiliser à bon escient le paradigme objet pour réaliser des applications fiables et évolutives depuis les premières phases d’analyse du besoin jusqu’à leur mise en production et leurs cycles de maintenance.

Bibliographie

  • Object-Oriented Sofware Construction, Prentice-Hall, 1988, B. Meyer
  • Design patterns - catalogues de modèles de conceptions réutilisables, Erich Gamma, Richard Helm, Ralph Johnson, 1999, John Vlissides ISBN 0195019199
  • Design Principles and Design Patterns, 2000, R.C. Martin, http://www.objectmentor.com
  • Anti-patterns, https://sourcemaking.com/antipatterns

Langue d'enseignement

Français