Diagramme de classe

Diagramme de classe

Le diagramme de classe est un schéma utilisé en génie logiciel pour présenter les classes et les interfaces des systèmes ainsi que les différentes relations entre celles-ci. Une classe décrit les responsabilités, le comportement et le type d’un ensemble d’objets. Les éléments de cet ensemble sont les instances de la classe.

Une classe est un ensemble de fonctions et de données (attributs) qui sont liées ensemble par un champ sémantique. Les classes sont utilisées dans la programmation orientée objet. Elles permettent de modéliser un programme et ainsi de découper une tâche complexe en plusieurs petits travaux simples.

Les classes peuvent être liées entre elles grâce au mécanisme d’héritage qui permet de mettre en évidence des relations de parenté. D’autres relations sont possibles entre des classes, chacune de ces relations est représentée par un arc spécifique dans le diagramme de classes.

Schéma d’une classe

Une classe est représentée par un rectangle séparée en trois parties :

  1. le nom de la classe : il est écrit en police « romain », les classes abstraites sont écrites en italique ou entre <<__>>. Les classes template ont un rectangle dont la bordure est en pointillé dans leur angle supérieur droit (voir image en dessous).
  2. les attributs de la classe
  3. les méthodes de la classe

diagramme de classe uml

Les attributs

La syntaxe d’un attribut est la suivante : Visibilité nomAttribut [multiplicité] : typeAttribut = Initialisation ;

La notion de visibilité indique qui peut avoir accès à l’attribut, elle peut prendre quatre valeurs :

  • + : toutes les autres classes ont accès à cet attribut (accès public).
  • # : seules la classe et son héritage ont accès à cet attribut (accès protégé).
  • ~ : classe visible uniquement dans le package.
  • – : seule la classe elle-même a accès à cet attribut (principe d’encapsulation avec getter et setter).

Le nom de l’attribut ne doit ni comporter d’espaces, ni de signes de ponctuations ou accents. La multiplicité représente le nombre de fois que la variable peut exister pour un objet de la classe.

Les associations

Une association est une relation entre deux classes. On la décrit à l’aide :

  • de rôles d’un objet d’une classe dans un objet de l’autre (omis si évidents) ;
  • de cardinalités, c’est-à-dire de nombres d’objets d’une classe dans un objet de l’autre classe ; on utilise pour cela les notations :
    • 1 habituellement omis si 1 pour 1
    • n inconnu au moment de la compilation, mais borné
    • 0..n entre 0 et n
    • 1..* 1 ou plus
    • * 0 ou plus
  • un type de relation orientée ;
  • optionnellement des contraintes sur l’association.

Les types de relations fréquemment rencontrées sont :

  • L’héritage

diagramme de classe uml héritage

  • La classe interne

diagramme de classe uml classe interne

  • La dépendance

diagramme de classe uml dépendance

  • L’aggrégation

diagramme de classe uml aggrégation

  • La composition

diagramme de classe uml composition

Exemple

diagramme de classe exemple