Diagrammes d'activité UML
Un processus tracé avec précision : les étapes, les branches, et les parties qui se déroulent vraiment en même temps. Ce qu'UML a de plus proche d'un logigramme, l'ambiguïté en moins.
9 min de lectureUML 2.5.113 sur 35
La réponse courte
- Un losange envoie le jeton sur exactement un arc, une barre sur tous à la fois. Dessiner un losange là où l'on voulait une barre est l'erreur la plus fréquente de cette notation.
- Une jointure est une barre et attend chaque arc entrant. Une fusion est un losange et n'attend rien : le premier jeton poursuit sa route.
- Employer une fusion là où l'on voulait une jointure, c'est ainsi qu'un diagramme affirme qu'un processus continue avant que son travail parallèle soit terminé.
- C'est un logigramme dont l'ambiguïté a été retirée : bifurcations et jointures, noeuds d'objet, partitions, et une sémantique de jetons qui dit ce qui se passe à chaque noeud.
01Ce qu'il montre#
Un diagramme d'activité décrit un processus comme un flux de travail. Il ressemble à un organigramme, et dans les cas simples c'en est un. Ce qu'il ajoute - et la raison de le préférer à une bibliothèque de formes - est la précision sur deux points où les organigrammes restent flous : la concurrence et la synchronisation.
Le modèle sous-jacent est le flux de jetons. Un jeton part du nœud initial et avance le long des flèches. Une action s'exécute quand un jeton arrive ; quand elle finit, le jeton repart. Une bifurcation transforme un jeton en plusieurs. Une jonction attend d'en avoir un sur chaque arc entrant. Ce seul modèle mental explique tous les symboles du diagramme, et il vaut la peine de s'y accrocher parce qu'il rend les cas délicats évidents.
02Les nœuds#
| Élément | Notation | Ce que cela signifie |
|---|---|---|
| Nœud initial | disque plein | Là où le flux commence. Un par activité, normalement. |
| Action | rectangle arrondi | Une étape de travail, nommée avec le verbe en premier. Elle s'exécute jusqu'au bout dès qu'un jeton arrive. |
| Décision | losange, un arc entrant | Choisit un arc sortant selon sa garde. Les gardes s'écrivent entre crochets ; [else] attrape le reste. |
| Fusion | losange, un arc sortant | Ramène ensemble des chemins alternatifs. Elle n'attend pas : le premier jeton qui passe continue. |
| Bifurcation | barre pleine, un arc entrant | Se divise en chemins qui s'exécutent tous de façon concurrente. |
| Jonction | barre pleine, un arc sortant | Attend chaque chemin entrant, puis continue. C'est le point de synchronisation. |
| Fin d'activité | anneau autour d'un disque | Termine toute l'activité, tuant les jetons encore en vol. |
| Fin de flux | cercle barré d'une croix | Termine ce seul chemin. Le reste de l'activité continue. |
03Décision n'est pas bifurcation#
C'est la distinction pour laquelle la notation existe, et celle que l'on embrouille. Une décision est un choix : un jeton entre, un jeton sort, par la branche que la garde sélectionne. Une bifurcation est une division : un jeton entre, plusieurs jetons sortent, tous vivants à la fois.
Leurs partenaires suivent la même règle. Une fusion (losange) n'attend pas : c'est seulement là où des chemins alternatifs se rejoignent. Une jonction (barre) attend, et les attend tous. Utiliser une fusion là où l'on voulait une jonction, c'est ainsi qu'un diagramme finit par affirmer qu'un processus continue avant que son travail parallèle soit terminé.
04Couloirs#
Une partition d'activité - presque toujours appelée couloir - découpe la page en bandes et place chaque action dans la bande de celui qui l'exécute. Les couloirs peuvent être verticaux ou horizontaux, et ils peuvent s'imbriquer.
Les couloirs sont l'ajout le plus précieux à un diagramme de processus métier, parce que les problèmes intéressants d'un processus sont d'ordinaire les passages de relais. Quand une flèche franchit une frontière de couloir, le travail a changé de mains, et c'est là que les choses se perdent, prennent du retard ou sont faites deux fois. Un diagramme avec quatre franchissements en six étapes vient de vous dire quelque chose d'important.
Ils ne coûtent rien en expressivité : une partition ne change aucune sémantique, elle dit seulement qui est responsable. Si l'exécutant n'a pas d'importance pour votre question, laissez-le de côté.
C'est aussi le point où la notation atteint sa limite. Une partition UML dit qui exécute une étape ; elle ne distingue pas un collègue de l'équipe voisine d'une autre entreprise avec son propre processus. BPMN sépare cela en couloirs et en piscines et donne à la frontière entre piscines une vraie sémantique : seuls les messages la traversent. Si les passages de relais qui vous intéressent sortent de l'organisation, cette distinction justifie la seconde notation, et BPMN est le point de départ.
05Quand en dessiner un#
À utiliser quand
- Un processus métier avec de vraies branches sur lesquelles il faut se mettre d'accord
- Tout ce qui comporte un vrai parallélisme - la notation bifurcation/jonction n'a pas de bon substitut
- Documenter le flux principal et les alternatives derrière un cas d'utilisation
- Montrer les passages de relais entre équipes ou systèmes, avec des couloirs
Préférer autre chose quand
- Le processus est linéaire - une liste numérotée est plus courte et aussi claire
- Vous décrivez le cycle de vie d'un objet - prenez un diagramme d'états
- Il s'agit en fait de l'ordre des messages entre services - prenez un diagramme de séquence
- Vous transcririez une fonction existante instruction par instruction
06Erreurs fréquentes#
- Une bifurcation à la place d'une décision. Une barre dit que les deux chemins s'exécutent. Si un seul doit le faire, c'est un losange.
- Une bifurcation sans jonction. Licite, mais généralement une erreur : cela dit que rien n'attend jamais la fin de ces chemins parallèles.
- Des gardes qui ne couvrent pas tout. Ajoutez
[else]. - Des actions nommées comme des noms.
Refundest ambigu ;Credit customerest une étape. Nommez les actions avec le verbe en premier. - Une fin d'activité là où une fin de flux était voulue. L'anneau et le disque tuent l'activité entière, y compris les branches encore en cours. Si vous ne vouliez terminer qu'un chemin, utilisez le cercle barré.
En une ligne chacun
- 01Pensez en jetons : une action s'exécute quand un jeton arrive, et le transmet quand elle finit.
- 02Le losange choisit un chemin ; la barre pleine les exécute tous.
- 03La fusion n'attend pas. La jonction si. C'est la paire à ne pas confondre.
- 04Les gardes s'écrivent entre crochets et doivent être exhaustives - ajoutez toujours [else].
- 05Les couloirs montrent qui exécute chaque étape ; les processus échouent aux franchissements.
- 06La fin d'activité termine tout ; la fin de flux ne termine que son propre chemin.
07Questions fréquentes#
Quelle est la différence entre une bifurcation et une décision ?
Un noeud de décision, un losange, envoie le jeton sur exactement un arc sortant, choisi par les gardes. Une bifurcation, une barre pleine, envoie un jeton sur chaque arc sortant à la fois, si bien que les branches s'exécutent réellement en parallèle. Dessiner un losange là où l'on voulait une barre est la façon la plus courante pour un diagramme d'activité de dire autre chose que ce qu'on pensait.
Qu'est-ce qu'un noeud de fusion dans un diagramme d'activité UML ?
Un losange avec plusieurs arcs entrants et un seul sortant, où les chemins alternatifs se rejoignent. Il n'attend pas - le premier jeton qui le traverse poursuit sa route. C'est toute la différence avec la jointure, qui est une barre et attend chaque arc entrant. Employer une fusion là où l'on voulait une jointure, c'est ainsi qu'un diagramme finit par affirmer qu'un processus continue avant que son travail parallèle soit terminé.
Qu'est-ce qu'une jointure dans un diagramme d'activité UML ?
Le pendant de la bifurcation, tracé avec la même barre pleine. Elle attend un jeton sur chaque arc entrant avant d'en laisser passer un, ce qui permet de modéliser quand tout ceci sera terminé. Une fusion, un losange, est le pendant de la décision et n'attend rien.
À quoi servent les couloirs ?
Ce sont des partitions, selon le terme d'UML lui-même. Chaque couloir nomme qui ou quoi exécute les actions qu'il contient, de sorte que le diagramme montre les passages de relais entre rôles ou systèmes, et pas seulement la suite des étapes.
Un diagramme d'activité UML est-il un logigramme ?
C'est un logigramme dont l'ambiguïté a été retirée. Un logigramme n'a aucun moyen normalisé d'exprimer la concurrence, le flux d'objets ou l'exécutant d'une étape. Un diagramme d'activité a des bifurcations et des jointures, des noeuds d'objet et des partitions, et une sémantique de jetons définie qui dit exactement ce qui se passe à chaque noeud.
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
Fondamentaux
Diagrammes de comportement
Diagrammes de comportement
Diagrammes de comportement
Fondamentaux
Diagrammes de comportement