Documentation d'une association et types d'associations
Association en forme verbale active : précise le sens de lecture principal d'une association.
Voir aussi : association à navigabilité restreinte.
Rôles : spécifie la fonction d'une classe pour une association donnée (indispensable pour les associations réflexives).
Cardinalités : précise le nombre d'instances qui participent à une relation.
Expression des cardinalités d'une relation en UML :
n : exactement "n" (n, entier naturel > 0)
exemples : "1", "7"n..m : de "n" à "m" (entiers naturels ou variables, m > n)
exemples : "0..1", "3..n", "1..31" * : plusieurs (équivalent à "0..n" et "0..*") n..* : "n" ou plus (n, entier naturel ou variable)
exemples : "0..", "5.."
Relation de dépendance : relation d'utilisation unidirectionnelle et d'obsolescence (une modification de l'élément dont on dépend, peut nécessiter une mise à jour de l'élément dépendant).
Association à navigabilité restreinte
Par défaut, une association est navigable dans les deux sens. La réduction de la portée de l'association est souvent réalisée en phase d'implémentation, mais peut aussi être exprimée dans un modèle pour indiquer que les instances d'une classe ne "connaissent" pas les instances d'une autre.
Association n-aire : il s'agit d'une association qui relie plus de deux classes...
Note : de telles associations sont difficiles à déchiffrer et peuvent induire en erreur. Il vaut mieux limiter leur utilisation, en définissant de nouvelles catégories d'associations.
Classe d'association : il s'agit d'une classe qui réalise la navigation entre les instances d'autres classes.
Qualification : permet de sélectionner un sous-ensemble d'objets, parmi l'ensemble des objets qui participent à une association.
La restriction de l'association est définie par une clé, qui permet de sélectionner les objets ciblés.