Guide UML Diagrammes de classe
Introduction
Les diagrammes UML (Unified Modeling Language) sont des représentations graphiques des objets issus de la programmation orientée objet. Ils permettent de visualiser les liens entre les classes, leurs définitions ainsi que leur structure, incluant leurs attributs et leurs méthodes. Grâce à la lecture des diagrammes UML, la compréhension de l’architecture du code devient plus accessible. À l’instar de Merise, UML utilise un système de relations et de cardinalités qui met en évidence les points les plus critiques de l’architecture.
De bons diagrammes UML permettent non seulement de faire évoluer le code de manière précise lors des interventions, mais aussi d’illustrer les interactions du code à des clients ou des personnes non techniques.

Ainsi avec de simples informations renseignées on peut atteindre un certains niveau d’illustration. Bien qu’UML de ressemble pas à l’image illustré ci dessus, il permettra d’illustrer aussi clairement le liens entre plusieurs classes et la maniere dont elles sont caractérisées
Les attributs de classe
- Public (+)
- Private (-)
- Protected (#)
- Package (~)
- Derived (/)
- Static (underlined)

Les attributs sont typables tous commes les méthodes que l’on peut observer dans la partie basse de chaque classes tel que start() concernant les méthodes, il peut arriver que certaines soit écrite en PascalCase, mais cela est propre au langage illustré et non pas à l’UML
Tous les types de relations entre classes

Relations UML – Fiche récapitulative
Relation | Définition | Lien de connaissance | Remplaçable | Contexte d’utilisation |
---|---|---|---|---|
Association | Une classe est liée à une autre, elles peuvent se connaître mutuellement ou non. | Unidirectionnel ou bidirectionnel | Oui | Quand deux classes ont une relation logique (ex : un Client possède une Commande ) |
Héritage | Une classe enfant hérite des attributs/méthodes d’une classe parent. (Le parent n’est pas conscient de ses enfants) | Enfant → Parent | Non | Pour représenter une hiérarchie (ex : Chien hérite de Animal ) |
Réalisation | Une classe implémente les méthodes d’une interface. | Classe → Interface | Oui | Lorsqu’on veut coder sur des interfaces pour séparer contrat et implémentation (ex : ServiceEmail réalise INotification ) |
Dépendance | Une classe utilise temporairement une autre (via paramètre, retour de méthode, variable locale, etc.). | Faible, unidirectionnel | Oui | Quand une classe utilise brièvement une autre sans la stocker (ex : un Contrôleur appelle un Service ) |
Agrégation | Une classe contient une autre classe sans en être responsable de son cycle de vie. | Oui | Oui | Quand une classe regroupe des objets existants sans en avoir la propriété (ex : une Classe agrège des Élèves ) |
Composition | Une classe contient une autre classe et en est responsable de son cycle de vie. | Oui | Non | Quand une classe ne peut pas exister sans l’autre (ex : une Maison contient des Pièces ) |
Toutes les cardinalités

Exemple concret & vue d’ensemble

sources: