Diagrammes globaux d'interaction UML
Un diagramme d'activité dont les étapes sont des interactions entières. La carte posée au-dessus d'un ensemble de diagrammes de séquence, qui dit lequel s'exécute quand.
5 min de lectureUML 2.5.129 sur 35
La réponse courte
- C'est un diagramme d'activité dont les noeuds sont des interactions entières au lieu d'actions - la carte au-dessus d'un ensemble de diagrammes de séquence.
- La notation du flot de contrôle est identique à celle d'un diagramme d'activité. Seule change la nature des noeuds : des interactions, pas des actions.
- Un cadre ref pointe vers un diagramme de séquence déjà dessiné, et c'est ce qui garde la vue globale petite.
- Il vaut la peine dès qu'une fonctionnalité compte plus de trois diagrammes de séquence environ et que rien ne dit comment ils s'articulent.
01Ce qu'il montre#
Un diagramme global d'interaction est un diagramme d'activité dont les noeuds d'action sont des interactions. La notation de flux de contrôle est empruntée telle quelle aux diagrammes d'activité - noeud initial, décisions, bifurcations, jonctions, noeud final - et les choses que l'on séquence sont des diagrammes de séquence.
Il existe pour résoudre un problème précis : un diagramme de séquence devenu trop gros. Dès qu'un flux a trois branches, chacune avec sa douzaine de messages, le diagramme unique qui contient tout cela est illisible. Découpez-le en trois diagrammes de séquence nommés et dessinez un diagramme global d'interaction pour dire lequel s'exécute quand, et les deux moitiés redeviennent lisibles.
02La notation#
| Élément | Notation | Ce que cela signifie |
|---|---|---|
| Occurrence d'interaction | cadre marqué ref | Une référence à une interaction définie ailleurs, nommée d'après elle. Le cas courant. |
| Interaction en ligne | cadre marqué sd | Un petit diagramme de séquence dessiné dans ce noeud plutôt que référencé. À n'employer que s'il est vraiment petit. |
| Flux de contrôle | flèche | Ordre entre interactions. Même sens que sur un diagramme d'activité. |
| Décision / fusion | losange | Choisit un chemin par sa garde, ou ramène les alternatives ensemble. |
| Bifurcation / jonction | barre pleine | Des interactions qui s'exécutent en parallèle, et le point qui les attend. |
| Initial / final | disque, et anneau autour d'un disque | Début et fin de l'ensemble de la vue globale. |
C'est toute la notation, et si vous avez lu l'article sur le diagramme d'activité vous en connaissez déjà l'essentiel. Le seul élément véritablement nouveau est le noeud encadré, et sa règle est simple : le cadre représente une interaction, et la marque dit si cette interaction est dessinée dedans (sd) ou ailleurs (ref).
03Quand en dessiner un#
À utiliser quand
- Un flux avec plusieurs interactions alternatives, chacune assez grosse pour son propre diagramme
- Documenter un protocole à phases distinctes - poignée de main, transfert, fermeture
- Donner aux lecteurs un index vers un ensemble de diagrammes de séquence liés
- Montrer que deux interactions s'exécutent réellement en parallèle
Préférer autre chose quand
- Toute l'interaction tient confortablement sur un diagramme de séquence avec un fragment alt
- Il n'y a qu'un seul chemin - la vue globale ajouterait une boîte et aucune information
- Vous n'avez pas encore réellement dessiné les interactions référencées
- Les étapes sont du travail plutôt que des interactions - c'est un simple diagramme d'activité
C'est le diagramme le moins utilisé d'UML, et sa niche est réelle mais étroite. Le conseil honnête est que la plupart des flux sont mieux servis par un diagramme de séquence avec un fragment alt. Passez à un diagramme global d'interaction au moment où ce diagramme unique cesse de tenir sur un écran - ce qui arrive, et quand cela arrive, rien d'autre dans le langage ne le règle aussi proprement.
En une ligne chacun
- 01Un diagramme d'activité dont les noeuds sont des interactions et non des actions.
- 02La notation de flux de contrôle est reprise sans changement aux diagrammes d'activité.
- 03Un cadre marqué ref désigne une interaction définie ailleurs ; sd signifie qu'elle est dessinée dedans.
- 04Son but est de casser un diagramme de séquence devenu illisible.
- 05Dessinez d'abord les diagrammes de séquence référencés : la vue globale est un index, pas un substitut.
04Questions fréquentes#
Qu'est-ce qu'un diagramme global d'interaction UML ?
Un diagramme d'activité dont les noeuds sont des interactions entières plutôt que des actions individuelles. Il se place au-dessus d'un ensemble de diagrammes de séquence et montre lequel s'exécute quand, y compris les branches et les boucles entre eux.
Qu'est-ce qu'une occurrence d'interaction ?
Une référence à une interaction définie ailleurs, tracée comme un cadre étiqueté ref portant le nom du diagramme de séquence visé. C'est ce qui permet au diagramme global de rester petit, puisque chaque noeud est un diagramme entier déjà dessiné.
En quoi diffère-t-il d'un diagramme d'activité ?
La notation du flot de contrôle est la même : noeuds initial et final, décisions, fusions, bifurcations et jointures. Ce qui diffère, c'est la nature des noeuds. Ceux d'un diagramme d'activité sont des actions ; ceux d'un diagramme global d'interaction sont des interactions.
Quand vaut-il la peine d'en dessiner un ?
Quand vous avez plus de trois diagrammes de séquence environ décrivant une même fonctionnalité et que rien ne dit comment ils s'articulent. C'est la carte, et une carte ne sert qu'une fois qu'il y a assez de territoire pour s'y perdre.
Dans cette série
- 01Qu'est-ce que UML ?
- 02Symboles UML
- 03Choisir un diagramme
- 04Diagrammes de classes
- 05Exemples de diagrammes de classes
- 06Dessiner un diagramme de classes
- 07Symboles du diagramme de classes
- 08Diagrammes de séquence
- 09Exemples de diagrammes de séquence
- 10Dessiner un diagramme de séquence
- 11Diagrammes de cas d'utilisation
- 12Exemples de cas d'utilisation
- 13Diagrammes d'activité
- 14Exemples d'activité
- 15Diagrammes états-transitions
- 16Exemples d'états-transitions
- 17Diagrammes de composants
- 18Exemples de composants
- 19Dessiner un diagramme de composants
- 20Symboles de composants
- 21Diagrammes de déploiement
- 22Exemples de déploiement
- 23Diagrammes d'objets
- 24Diagrammes de paquetages
- 25Diagrammes de structure composite
- 26Diagrammes de communication
- 27Séquence vs communication
- 28Diagrammes de temps
- 29Diagrammes globaux d'interaction
- 30Diagrammes de profil
- 31UML avec l'IA
- 32Exemple e-commerce
- 33Exemple bancaire
- 34Exemple microservices
- 35Exemple AWS
À lire aussi
Diagrammes de comportement
Diagrammes de comportement
Fondamentaux
Diagrammes de comportement
Diagrammes de comportement
Diagrammes de structure