Outil UML : Diagrammes de classes et de packages
Exemples de diagrammes de classes et de packages UML réalisés avec Modelio
Modelio supporte de manière exhaustive la notation des diagrammes de classes UML. Les diagrammes de classes sont les plus utilisés en UML. Ils représentent les notions d'un système (ou supportées par un système), avec leurs propriétés et leur relations. D'un point de vue "haut niveau" (conceptuel), les classes symbolisent les concepts supportés par un système, tandis que d'un point de vue "bas niveau" (physique), elles représentent les classes implémentées par un langage objet. Les exemples ci-dessous illustrent comment reproduire quelques systèmes basiques en utilisant les diagrammes de classes / packages.
Ce premier exemple présente une vue conceptuelle de la société humaine. C'est un usage classique des diagrammes de classes, où sont représentés des classes, des liens d'héritage (généralisations), des associations et une opération, et aussi des contraintes associées à des éléments de modèle.
Le diagramme suivant est un exemple plus complet de diagramme de classes, représentant le modèle conceptuel d’une agence de voyage.
Les attributs doivent être typés par des classes primitives (n'importe quelle classe peut être déclarée "primitive") ou des types de données (les data types).
Les types de données et les énumérations sont également représentés dans ce diagramme. Les propriétés typées par des classes complexes doivent être modélisées via des associations.
Cet exemple de diagramme présente un diagramme de classes plus orienté sur les aspects "conception". Il pourrait, par exemple, produire du code Java équivalent.
Dans cet exemple, sont présentées les notions d’interface, d'opération avec signature, et d’exception émise.
Ce diagramme propose une vue des composants, des ports, des parts, des interfaces requises et des interfaces fournies.
A partir de ces spécifications au niveau du "typage", il est possible de construire des modèles détaillés, présentant l’assemblage d’instances (parts) dans le contexte d’une classe "container".
Le modèle présenté dans cet exemple montre que pour construire une session Vidéo, il est nécessaire de connecter (assembler) un PC à un projecteur vidéo via un port VGA, avant de les connecter par un "connecteur". Cette construction s’appelle la "structure interne" d’une classe.
Cet exemple présente quelques cas complexes, où figurent des associations n-aire et des qualifiers sur des associations. Cela ajoute une précision utile aux associations pour des modèles plus précis.
En UML2, une classe peut avoir plusieurs types de propriétés. Dans cet exemple, sont présentées une zône dédiée aux attributs d'une classe, une zône dédiée aux opérations, une zone dédiée aux parts, et enfin une zone dédiée aux éléments imbriqués, comme des classes, des acteurs, des activités, des interactions, ...