287 votes

Explication des flèches UML

J'ai récemment étudié UML et dessiné des diagrammes simples avec des flèches ordinaires entre les classes, mais je sais que ce n'est pas suffisant. Il existe de nombreuses autres flèches : généralisation, réalisation, etc. qui ont une signification pour le lecteur du diagramme.

Puis-je obtenir une explication sur chaque flèche (ordinaire, pleine, en pointillés, remplie de diamants)?

Il serait préférable qu'il y ait quelques exemples de code pour chacune d'elles.

4 votes

Je recommanderais vivement de considérer cela : dzone.com/refcardz/getting-started-uml

504voto

Esther Fan - MSFT Points 4011

Voici quelques explications tirées de la documentation de Visual Studio 2015 :

Diagrammes de classes UML : Référence: https://learn.microsoft.com/fr-fr/previous-versions/visualstudio/visual-studio-2015/modeling/uml-class-diagrams-reference

Diagramme de classes UML

5: Association: Une relation entre les membres de deux classificateurs.

5a: Agrégation: Une association représentant une relation de propriété partagée. La propriété Agrégation du rôle propriétaire est définie sur Partagée.

5b: Composition: Une association représentant une relation tout-partie. La propriété Agrégation du rôle propriétaire est définie sur Composite.

9: Généralisation: Le classificateur spécifique hérite d'une partie de sa définition du classificateur général. Le classificateur général est à l'extrémité de la flèche du connecteur. Les attributs, associations et opérations sont hérités par le classificateur spécifique. Utilisez l'outil Héritage pour créer une généralisation entre deux classificateurs.

Diagramme de package

13: Importation: Une relation entre les packages, indiquant qu'un package inclut toutes les définitions d'un autre.

14: Dépendance: La définition ou l'implémentation du classificateur dépendant pourrait changer si le classificateur à l'extrémité de la flèche est modifié.

Relation de réalisation

15: Réalisation: La classe implémente les opérations et les attributs définis par l'interface. Utilisez l'outil Héritage pour créer une réalisation entre une classe et une interface.

16: Réalisation: Une présentation alternative de la même relation. Le libellé sur le symbole sucette identifie l'interface.

Diagrammes de classes UML : Directives: http://msdn.microsoft.com/library/dd409416%28VS.140%29.aspx

Propriétés d'une Association

Agrégation: Cela apparaît sous la forme d'un diamant à une extrémité du connecteur. Vous pouvez l'utiliser pour indiquer que les instances au rôle d'agrégation possèdent ou contiennent des instances de l'autre.

Est Navigable: Si vrai pour un seul rôle, une flèche apparaît dans la direction navigable. Vous pouvez utiliser cela pour indiquer la navigabilité des liens et des relations de la base de données dans le logiciel.

Généralisation: La généralisation signifie que le type spécialisé ou dérivé hérite des attributs, opérations, et associations du type général ou de base. Le type général apparaît à l'extrémité de la flèche.

Réalisation: La réalisation signifie qu'une classe implémente les attributs et les opérations spécifiées par l'interface. L'interface est à l'extrémité de la flèche du connecteur.

N'hésitez pas à me poser d'autres questions.

1 votes

Belle référence mais pour moi un Menu -> Élément de menu a la même relation qu'une Commande -> Élément de commande donc les deux sont des compositions.

4 votes

Cela signifie simplement que l'article de commande appartient à une commande et ne peut pas être déplacé, tandis que l'élément de menu est ajustable - l'utilisateur peut changer la position de l'élément de menu. C'est la solution choisie. Pourquoi pas?

0 votes

@Gangnus, merci. Cette explication a clarifié la différence qui m'échappait depuis longtemps.

187voto

artamonovdev Points 1990

entrer la description de l'image ici

entrer la description de l'image ici

Je pense que ces images sont compréhensibles.

3 votes

N'est-ce pas que certains de ces concepts se chevauchent ? A dépend de B. A a accès à B. Une association n'est-elle pas toujours une dépendance et une dépendance toujours une association ?

5 votes

Dans le diagramme, Réalisation est répété deux fois mais avec des images différentes. Pouvez-vous préciser la différence ?

0 votes

@variable C'est simplement une façon différente de représenter la même chose

36voto

The Red Pea Points 98

Une belle feuille de triche (http://loufranco.com/wp-content/uploads/2012/11/cheatsheet.pdf):

Il couvre:

  • Diagramme de classe
  • Diagramme de séquence
  • Diagramme de package
  • Diagramme d'objet
  • Diagramme de cas d'utilisation

Et fournit quelques exemples.

Éléments du diagramme de classe, comme la relation parent-enfant, la relation de sous-classe, l'interface et l'implémenteur, plus les éléments du diagramme de séquence

5 votes

J'ai cherché exactement cela pendant les 30 dernières minutes. Je connais les concepts, j'oublie juste les symboles.

16voto

Mon "aide-mémoire" UML préféré est UML Distilled, de Martin Fowler. C'est le seul de ses livres que j'ai lu et que je recommande.

1 votes

Intéressant, j'ai beaucoup aimé le Refactoring. Est-ce que c'est un sujet sur lequel vous avez des opinions ?

0 votes

Oui, je l'ai trouvé un peu évident, et je n'ai pas aimé la concentration sur Java. De plus, veuillez ne pas prendre ma réponse comme disant que ses autres livres sont mauvais.

0 votes

Le livre de Fowler a également une feuille de triche à l'intérieur de la couverture du livre. Vraiment pratique pour commencer, surtout que votre prochaine question sera dans quel sens vont les flèches?

13voto

Siblja Points 457

Voici un tutoriel simplifié :

UML pratique

Pour en savoir plus, je recommande de consulter de la littérature.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X