3.6 Diagramme de classe

!! HORS-PROGRAMME !!

UML = unified modeling langage
= le language de modélisation unifié qui possède un ensemble de diagrammes pour unifier la lecture de la conception informatique = un outil qui aide à la conception logicielle et à la communication entre concepteurs et développeurs, mais aussi entre développeurs

Le diagramme de classe est le diagramme UML qui décrit clairement la structure des classes, avec leurs attributs, leurs méthodes et les relations entre les classes.

Une classe en soi est représentée par un rectangle à trois sections :

  • Section supérieure : contient le nom de la classe (toujours nécessaire)
  • Section intermédiaire : contient les attributs de la classe
  • Section inférieure : contient les opérations de la classe (méthodes), affichées sous forme de liste, les paramètres indiqués entre parenthèses, le type de retour indiqué après les deux-points

Indicateurs de visibilité :

  • Public (+)
  • Privé (-)
  • Protégé (#)
  • Paquetage (~)
  • Dérivé (/)
  • Statique (souligné)

Interactions (liste non-exhaustive):

  • Héritage (ou généralisation) : ligne de connexion droite avec une pointe de flèche fermée orientée vers la classe parent
  • Association unidirectionnelle : ligne de connexion droite avec une pointe de flèche ouverte allant de la classe « sachante » vers la classe « connue »
    • sous la ligne, le nom de l’attribut de la classe « sachante » est indiqué du côté de la classe « connue »
    • sur la ligne, la valeur de multiplicité est indiquée également du côté de la classe « connue »
  • Association bidirectionnelle : ligne droite entre deux classes avec les noms de l’attribut et leur valeur de multiplicité
  • Composition : ligne de connexion droite avec une pointe en losange noir orienté vers la classe qui est « composée »
  • Aggrégation : ligne de connexion droite avec une pointe en losange noir orienté vers la classe qui est « agrégée »

La multiplicité est de type m...n et précise la contrainte sur l’attribut qui fait le lien d’une classe à l’autre : obligatoire (1), facultatif zéro ou un (0..1), facultatif zéro ou plus (*), etc.

Plus de détails ici