Partager via


Propriétés d'associations dans des diagrammes de classes UML

Dans un diagramme de classes UML, dans Visual Studio Ultimate, vous pouvez dessiner des associations entre toute paire de types. Un type est une classe, une interface ou une énumération.

Une association indique que le système que vous développez stocke des liens d'un genre spécifique entre les instances des types associés. En général, elle n'implique aucun élément concernant l'implémentation des liens. Par exemple, il peut s'agir de pointeurs, de lignes d'une table, de noms faisant l'objet de références croisées au format XML, etc.

Une association est une méthode schématique permettant d'afficher un attribut ou une paire d'attributs. Par exemple, si vous avez défini une classe Restaurant afin qu'elle dispose d'un attribut de type Menu, vous pouvez déclarer la même définition en dessinant une association entre Restaurant et Menu.

Pour dessiner une association, cliquez sur Association dans la boîte à outils, cliquez sur le premier type, puis sur le deuxième. Vous pouvez cliquer deux fois sur le même type pour indiquer que les instances peuvent être associées à d'autres instances du même type.

Propriétés

Il s'agit des propriétés d'une association d'un diagramme de classes UML.

Pour visualiser les propriétés d'une association, cliquez avec le bouton droit sur cette association et cliquez sur Propriétés. Les propriétés apparaîtront dans la fenêtre Propriétés.

Certaines des propriétés sont également visibles dans le diagramme, comme indiqué dans l'illustration suivante.

Propriétés sur les associations

Propriété

Description

Name (1)

Identifie l'association. Apparaît également dans le diagramme, près du point central de l'association.

Qualified Name

Identifie uniquement l'association. Préfixé avec le nom qualifié du package qui contient le premier rôle de l'association.

Éléments de travail

Nombre d'éléments de travail liés à cette association. Pour lier des éléments de travail, consultez Lier des éléments de modèle et des éléments de travail.

Couleur

Couleur du connecteur. Contrairement aux autres propriétés, il s'agit d'une propriété de cette vue de l'association, et non d'une propriété de la relation sous-jacente dans le modèle.

Premier rôle

Second rôle

Chaque fin de l'association correspond à un rôle. Chaque rôle décrit les propriétés de l'attribut équivalent sur la classe, à l'extrémité opposée de l'association.

Dans l'exemple de diagramme, l'association entre Menu et Élément de menu dispose de rôles appelés Menu et Contenu.

Le contenu correspond au nom d'un attribut sur la classe Menu.

Propriétés de chaque rôle

Pour visualiser les propriétés de chaque rôle, développez la propriété Premier rôle ou Second rôle.

Propriété

Par défaut

Description

Nom du rôle (2)

Nom du type de ce rôle.

Nom du rôle. Apparaît près de l'extrémité de l'association dans le diagramme.

Aggregation

Aucun

Aucune (4) - représente une relation générale entre les instances des classes.

Composite (5) - l'objet de ce rôle contient l'objet du rôle opposé. Vous pouvez utiliser l'outil Composite pour créer une association avec une agrégation composite.

Partagé (6) - l'objet de ce rôle contient des références à l'objet de l'autre rôle. Vous pouvez utiliser l'outil Agrégation pour créer une association avec une agrégation partagée.

L'interprétation exacte est ouverte à la convention locale.

Is Derived

False

Si la valeur true est affectée, l'objet se trouvant à cette extrémité du lien est calculé à partir d'autres attributs et associations. Par exemple, MonEntreprise a effectué un calcul à partir de MonEmployeur.Entreprise. Les détails doivent être tapés dans la description ou un commentaire joint.

Is Derived Union

False

Si la valeur true est affectée, le rôle correspond à l'union d'un ensemble de rôles dans les types dérivés.

Est navigable

True

L'association peut être lue dans cette direction. En fonction d'une instance du rôle opposé, les logiciels que vous décrivez peuvent déterminer efficacement l'instance associée dans ce rôle.

Si un rôle est navigable et que l'autre ne l'est pas, une flèche s'affiche (7) sur l'association dans la direction navigable.

Par défaut, l'outil d'association crée une association qui est navigable dans une seule direction. Pour la convertir en association bidirectionnelle, vous pouvez sélectionner l'association, cliquer sur la balise d'action qui apparaît, puis sur Rendre bidirectionnelle.

Is Read Only

False

Si la valeur true est affectée, une instance de l'association ne peut pas être modifiée après sa création. Le lien concerne toujours le même objet.

Multiplicité (3)

1

1 - cette extrémité de l'association est toujours liée à un objet. Dans l'illustration, chaque Élément de menu dispose d'un Menu.

0..1 - cette extrémité de l'association est liée à un objet ou aucun lien n'existe.

* - tous les objets situés à l'autre extrémité de l'association sont liés à une collection d'objets de cette extrémité ; il se peut que la collection soit vide.

1.. * - tous les objets situés à l'autre extrémité de l'association sont liés à au moins un objet de cette extrémité. Dans l'illustration, chaque Menu dispose d'au moins un Élément de menu.

n..m - chaque objet à l'autre terminaison a une collection allant de n à m liens vers des objets de cette terminaison.

Is Ordered

False

Si la valeur true est affectée, la collection retournée forme une liste séquentielle. Pour Multiplicité, valeur supérieure à 1.

Is Unique

False

Si la valeur true est affectée, la collection retournée ne contient pas de valeur en double. Pour Multiplicité, valeur supérieure à 1.

Visibilité

Public

Public - visible globalement

Privé - non visible hors du type propriétaire

Protégé - visible par les types dérivés du propriétaire

Package - visible par d'autres types du même package.

Voir aussi

Concepts

Diagrammes de classes UML : référence

Propriétés de types dans des diagrammes de classes UML

Propriétés d'attributs dans des diagrammes de classes UML

Propriétés d'opérations dans des diagrammes de classes UML

Diagrammes de classes UML : indications