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é |
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