Accueil
 Sommaire
 1  Objectifs de ce cours de modélisation orientée objet
 2  Généralités sur la modélisation orienté objet et sur UML
 3  Analyse, vues cas d'utilisation et processus
 4  Analyse et conception, aspects statiques de la vue logique
 4.1  Diagrammes communs à l'analyse et à la conception
 4.2  Diagramme de classes
 4.2.1  Modéliser la structure logique du système dans un diagramme de classes
 4.2.2  Classe
 4.2.3  Instanciation: création d'un objet d'une classe
 4.2.4  Attributs et opérations de classe
 4.2.5  Attribut dérivé
 4.2.6  Association entre classes
 4.2.7  Nom de rôle et multiplicité
 4.2.8  Généralisation spécialisation ou héritage
 4.2.9  Généralisation spécialisation: vision ensembliste
 4.2.10  Généralisation spécialisation: vision encapsulation
 4.2.11  Généralisation et redéfinition d'opérations
 4.2.12  Méthode Polymorphique et liaison dynamique
 4.2.13  Agrégation
 4.2.14  Exemple de diagramme de classes
 4.2.15  Éléments de méthodologie
 4.3  Diagramme d'objets
 QCM
 4.4  Concepts avancés du diagramme de classes
 5  Analyse et conception, aspects dynamiques de la vue logique
 6  Conception, aspects langage et technique
 7  Conception, vues développement et physique
 8  Conclusion
 9  Bibliographie

 Contacts

W3C validator

Département INF  
 Conception et programmation orientées objet


4.2.1 Modéliser la structure logique du système dans un diagramme de classes
  • Diagramme au cœur de l’analyse et de la conception orientées objet
  • Abstraction
    • Abstraire = ignorer / cacher des caractéristiques non significatives
    • Ne garder que les caractéristiques d’une classe importantes pour l’intervenant
      • Analyste versus architecte ou concepteur
  • Encapsulation comme mécanisme d’abstraction
    • Cacher des détails en les rendant « privés » (non visibles)
      • Par exemple, en analyse, montrer le « quoi » qui est « public » (visible)
        Puis, en conception, détailler en ajoutant les éléments pour le « comment »
      • Protège l’analyse des changements effectués lors de la conception dans la partie « privée » en ne remettant pas en cause ce qui est exposé « publiquement » au niveau métier
        • Par exemple, l’analyse spécifie que tel élément est un ensemble
          La conception précise que c’est une liste doublement chaînée

    précédent     suivant 


Les éléments de base de la structure logique du système sont les classes. La définition d’une classe contient les détails d’un élément de cette structure qui sont importants pour l’intervenant (analyste versus architecte ou concepteur) et le système modélisé. Retirer des détails non significatifs à une étape donnée du développement s’appelle l’abstraction. Les diagrammes de classes de l’analyse sont plus abstraits que les mêmes diagrammes repris et raffinés lors de la conception.

Très liée au concept d’abstraction, l’encapsulation est une particularité de l’orientation objet. L’encapsulation permet à chaque élément structurel de base, c’est-à-dire à chaque classe, de cacher des détails, soit des données contenues dans l’élément soit des actions possibles sur l’élément. Nous verrons ainsi qu’une classe peut n’exposer que certaines de ses caractéristiques. L’encapsulation est très importante car elle permet de passer de manière gracieuse de l’analyse à la conception en exposant tout d’abord les caractéristiques pertinentes pour le métier de l’application (le « quoi ») et ensuite en montrant aux développeurs des caractéristiques particulières donnant les indications sur le « comment ». Cela protège l’analyse des changements effectués lors de la conception dans la partie « privée » en ne remettant pas en cause ce qui est exposé « publiquement » au niveau métier.

D. Conan, C. Taconet, C. Bac, Télécom SudParis, CSC 4002, Octobre 2015