Diagramme d'activité
Un diagramme d'activité décrit un flux de travail ou un processus : les étapes, leur enchaînement, ainsi que les décisions et les chemins parallèles qui s'y rencontrent. Il convient bien aux processus métier, aux algorithmes et à tout ce qui se déroule d'un début à une fin. Avec PlantUML, vous écrivez chaque activité sur sa propre ligne, à l'aide de flèches et de mots-clés commeif, repeat et fork pour exprimer le flux de contrôle. Le diagramme est généré automatiquement.
- Texte en entrée, diagramme en sortie. Décrivez le flux de haut en bas, branches et boucles incluses.
- Se lit de haut en bas. L'ordre dans le texte est l'ordre dans le diagramme.
- Facile à restructurer. Réorganiser les étapes ou ajouter une branche, c'est éditer du texte, pas redessiner.
Action simple
L'étiquette des activités commence par : et se termine par ;.
Le formatage du texte peut se faire en utilisant la syntaxe wiki créole.
Ils sont implicitement liés dans l'ordre de leur définition.
|
🎉 Copied!
|
|
Other simple action (defined as a list)
Simple action list separated by -
|
🎉 Copied!
|
|
Simple action list separated by *
With one level
|
🎉 Copied!
|
|
With several levels
|
🎉 Copied!
|
|
[Ref. GH-2376]
Départ/Arrêt [start, stop, end]
Vous pouvez utiliser les mots clés start et stop pour indiquer le début et la fin du diagramme.
|
🎉 Copied!
|
|
Vous pouvez aussi utiliser le mot clé
end.
|
🎉 Copied!
|
|
Conditionnel
Vous pouvez utiliser les mots clés if, then, else et endif pour mettre des tests dans votre diagramme.
Les étiquettes peuvent être fournies entre parenthèses.
Les trois syntaxes possibles sont:
if (...) then (...) ... [else (...) ...] endif
|
🎉 Copied!
|
|
if (...) is (...) then ... [else (...) ...] endif
|
🎉 Copied!
|
|
if (...) equals (...) then ... [else (...) ...] endif
|
🎉 Copied!
|
|
[Ref. QA-301]
Plusieurs conditions (en mode horizontal)
Vous pouvez utiliser le mot cléelseif pour avoir plusieurs tests, par défaut le mode est horizontal :
|
🎉 Copied!
|
|
Plusieurs conditions (en mode vertical)
Vous pouvez utiliser la commande!pragma useVerticalIf on pour avoir les conditions en mode vertical :
|
🎉 Copied!
|
|
Vous pouvez utiliser l'option de ligne de commande
-P pour spécificer le pragma:
java -jar plantuml.jar -PuseVerticalIf=on
[Refs. QA-3931, GH-582]
WARNING
This translation need to be updated. WARNING
Switch and case [switch, case, endswitch]
Vous pouvez utiliser les mots clés switch, case et endswitch pour mettre des tests dans votre diagramme.
Les étiquettes peuvent être fournies entre parenthèses.
|
🎉 Copied!
|
|
Arrêt après une action au sein d'une condition [kill, detach]
Vous pouvez arrêter le processus après une action.
|
🎉 Copied!
|
|
Vous pouvez également utiliser les mots clé
kill ou detach pour mettre fin au processus directement dans une action.
kill
|
🎉 Copied!
|
|
[Ref. QA-265]
detach
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Boucle de répétition [repeat, repeatwhile, backward]
Vous pouvez utiliser les mots clés repeat et repeatwhile pour créer une boucle.
|
🎉 Copied!
|
|
Il est également possible :
- d'utiliser une vrai action comme cible de répétition, après le premier mot clé
repeat, - d'insérer une action dans le chemin de retour à l'aide du mot clé
backward.
|
🎉 Copied!
|
|
[Ref. QA-5826]
WARNING
This translation need to be updated. WARNING
Interruption d'une boucle [break]
Vous pouvez utiliser le mot clé break après une action sur une boucle:
|
🎉 Copied!
|
|
[Ref. QA-6105]
WARNING
This translation need to be updated. WARNING
Goto and Label Processing [label, goto]
⚠ It is currently only experimental 🚧
You can use label and goto keywords to denote goto processing, with:
label <label_name>goto <label_name>
|
🎉 Copied!
|
|
[Ref. QA-15026, QA-12526 and initially QA-1626]
Boucle « tant que » [while]
Vous pouvez utiliser les mots clés while et end while pour définir une boucle.
|
🎉 Copied!
|
|
Il est possible de mettre un libellé après le mot clé
endwhile ou bien avec le mot clé is.
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Traitement parallèle [fork, fork again, end fork, end merge]
Vous pouvez utiliser les mots clés fork, fork again et end fork ou end merge pour indiquer un traitement parallèle.
Simple fork
|
🎉 Copied!
|
|
fork avec fusion finale
|
🎉 Copied!
|
|
[Réf. QA-5320]
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
[Réf. QA-13731]
Label sur end fork (ou UML joinspec)
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
[Réf. QA-5346]
Autre exemple
|
🎉 Copied!
|
|
Traitement fractionné
Split
Vous pouvez utiliser les mots-cléssplit, split again et end split pour indiquer un traitement fractionné
|
🎉 Copied!
|
|
Fractionnement de l'entrée (multidébut)
Vous pouvez utiliser les flècheshidden pour effectuer un fractionnement de l'entrée (multidébut)
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
[Ref. QA-8662]
Fractionnement de la sortie (plusieurs extrémités)
Vous pouvez utiliserkill ou detach pour effectuer un fractionnement de la sortie (plusieurs extrémités)
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
Notes
Le formatage du texte peut être fait en utilisant la syntaxe wiki créole.
Une note peut être flottante, en utilisant le mot clé floating
|
🎉 Copied!
|
|
Vous pouvez ajouter une note sur l'activité de retour en arrière
|
🎉 Copied!
|
|
[Ref. QA-11788] Vous pouvez ajouter une note sur l'activité de partition
|
🎉 Copied!
|
|
[Réf. QA-2398]
WARNING
This translation need to be updated. WARNING
Couleurs
Vous pouvez spécifier une couleur pour certaines activités
|
🎉 Copied!
|
|
Vous pouvez également utiliser une couleur dégradée
|
🎉 Copied!
|
|
[Réf. QA-4906]
WARNING
This translation need to be updated. WARNING
Lignes sans pointe de flèches
Vous pouvez utiliser skinparam ArrowHeadColor none pour connecter des activités en utilisant uniquement des lignes, sans flèches (sans pointe sur les flèches).
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
Flèches
En utilisant la notation ->, vous pouvez ajouter du texte à une flèche, et changer sa couleur.
Il est aussi possible d'avoir des flèches en pointillé, en gras, avec des tirets ou bien complètement cachées.
|
🎉 Copied!
|
|
Simple colored arrow [link]
You can use simple colored arrow with the link keyword.
|
🎉 Copied!
|
|
Multiple colored arrow
You can use multiple colored arrow.
|
🎉 Copied!
|
|
[Ref. QA-4411]
Connecteurs
Il est possible d'utiliser des parenthèses pour dessiner des connecteurs.
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Connecteurs en couleur
Vous pouvez ajouter des couleurs aux connecteurs.
|
🎉 Copied!
|
|
[Ref. QA-10077] [Ref. QA-19975]
WARNING
This translation need to be updated. WARNING
Regroupement ou partition
Groupe
Vous pouvez regrouper des activités en définissant un groupe
|
🎉 Copied!
|
|
Partition
Vous pouvez regrouper des activités en définissant une partition
|
🎉 Copied!
|
|
Il est également possible de changer la couleur de la partition
|
🎉 Copied!
|
|
[Réf. QA-2793] Il est également possible d'ajouter un lien à la partition
|
🎉 Copied!
|
|
[Réf. QA-542]
Groupe, partition, paquet, rectangle ou carte
Vous pouvez regrouper des activités en définissant :- groupe ;
- partition ;
- paquet ;
- rectangle ;
- carte
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Swimlanes
En utilisant le tube |, vous pouvez définir des swimlanes.
Il est également possible de changer la couleur des swimlanes
|
🎉 Copied!
|
|
Vous pouvez ajouter une boucle conditionnelle
if ou repeat ou while à l'intérieur des swimlanes
|
🎉 Copied!
|
|
Vous pouvez également utiliser
alias avec les swimlanes, avec cette syntaxe :
|[#<color>|]<swimlane_alias>| <swimlane_title>
|
🎉 Copied!
|
|
[Réf. QA-2681]
WARNING
This translation need to be updated. WARNING
Détacher ou arrêter [detach, kill]
Il est possible de supprimer une flèche en utilisant le mot clé detach ou kill :
detach
|
🎉 Copied!
|
|
kill
|
🎉 Copied!
|
|
Emoji as action (with icon stereotype)
You can use emoji as action, with the stereotype <<icon>>:
|
🎉 Copied!
|
|
[Ref. GH-2436]
SDL (Specification and Description Language)
En changeant le séparateur final ;, vous pouvez déterminer différents rendus pour l’activité, conformément au langage de description et de spécification (LDS) ou Specification and Description Language (SDL) (en anglais) :
|<>/\\]}
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
UML (Unified Modeling Language) Shape (with UML stereotype)
Table of UML Shape Name
| Name | Stereotype syntax |
| ObjectNode |
<<object>>
|
|
ObjectNode typed by signal |
<<objectSignal>> or <<object-signal>>
|
|
AcceptEventAction without TimeEvent trigger |
<<acceptEvent>> or <<accept-event>>
|
|
AcceptEventAction with TimeEvent trigger |
<<timeEvent>> or <<time-event>>
|
|
SendSignalAction SendObjectAction with signal type |
<<sendSignal>> or <<send-signal>>
|
| Trigger |
<<trigger>>
|
UML Shape Example using Stereotype
|
🎉 Copied!
|
|
[Ref. GH-2185, QA-16558, GH-1659]
Exemple complet
|
🎉 Copied!
|
|
Style de condition
Style intérieur (par défaut)
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
Style diamant
|
🎉 Copied!
|
|
Style InsideDiamond (ou Foo1)
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
Ref. QA-1290 et #400]
Style de fin de condition
Style diamant (par défaut)
- Avec une branche
|
🎉 Copied!
|
|
- Avec deux branches (
B1,B2)
|
🎉 Copied!
|
|
Style ligne horizontale (hline)
- Avec une branche
|
🎉 Copied!
|
|
- Avec deux branches (
B1,B2)
|
🎉 Copied!
|
|
[Réf. QA-4015]
Avec le style (global)
Sans style (par défaut)
|
🎉 Copied!
|
|
Avec style
Vous pouvez utiliser le style pour modifier le rendu des éléments.
|
🎉 Copied!
|
|
Creole on Activity
You can use Creole or HTML Creole on Activity diagram:
|
🎉 Copied!
|
|