UML (Unified Modeling Langage) est un langage graphique de modélisation objet qui permet à divers intervenants d'échanger de l'information.
UML est un standard qui ne dépend pas du langage de programmation.
Du coup, certaines particularités de Java n'ont pas de standard en UML. Nous allons donc devoir fixer des convensions propres à ce cours.
⇛ L'important c'est d'être compris.
Le sujet est très riche mais n'est pas le but du cours. Dans ce cours nous n'utiliseront que les diagrammes de classes pour communiquer plus efficacement.
UML n'a pas de convention pour certains features de Java. On adopte donc nos propres conventions qui semblent relativement commune.
Le standard est assez souple : l'important est d'être compris.
Un diagramme UML présente les relations entre les classes.
Une flèche en pointillés indique qu'une classe utilise une autre classe. La classe pointée par la flèche est la classe utilisée.
UML offre plusieurs conventions pour affiner les relations entre classes.
La relation d'héritage (extends
) est représentée une flèche comme ci-dessous:
Le fait qu'une classe implémente une interface (implements
) est représentée une flèche comme ci-dessous:
L'agrégation et la composition représentent toutes les deux le fait que les objets d'une classe contienne une ou plusieurs instances d'une autre classe.
La différence entre les deux notions est la force du lien entre les deux classes.
Un dentiste à une relation:
Mapping des classes dans la base de donnée: