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 comme if, repeat et fork pour exprimer le flux de contrôle. Le diagramme est généré automatiquement.

Si vous maintenez d'anciens diagrammes, l'ancienne syntaxe reste prise en charge, mais elle n'est plus recommandée pour les nouveaux diagrammes.

Voir les commandes communes pour les fonctionnalités disponibles dans tous les types de diagrammes.

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.

Other simple action (defined as a list)

Simple action list separated by -

Simple action list separated by *

With one level

With several levels

[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.

Vous pouvez aussi utiliser le mot clé end.

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:

[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 :

Plusieurs conditions (en mode vertical)

Vous pouvez utiliser la commande !pragma useVerticalIf on pour avoir les conditions en mode vertical :

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.

Arrêt après une action au sein d'une condition [kill, detach]

Vous pouvez arrêter le processus après une action.

Vous pouvez également utiliser les mots clé kill ou detach pour mettre fin au processus directement dans une action.

[Ref. QA-265]

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.

Il est également possible :

[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:

[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:

[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.

Il est possible de mettre un libellé après le mot clé endwhile ou bien avec le mot clé is.

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

fork avec fusion finale

[Réf. QA-5320]

[Réf. QA-13731]

Label sur end fork (ou UML joinspec)

[Réf. QA-5346]

Autre exemple

Traitement fractionné

Split

Vous pouvez utiliser les mots-clés split, split again et end split pour indiquer un traitement fractionné

Fractionnement de l'entrée (multidébut)

Vous pouvez utiliser les flèches hidden pour effectuer un fractionnement de l'entrée (multidébut)

[Ref. QA-8662]

Fractionnement de la sortie (plusieurs extrémités)

Vous pouvez utiliser kill ou detach pour effectuer un fractionnement de la sortie (plusieurs extrémités)

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

Vous pouvez ajouter une note sur l'activité de retour en arrière

[Ref. QA-11788]

Vous pouvez ajouter une note sur l'activité de partition
[Réf. QA-2398]

WARNING
 This translation need to be updated. 
WARNING

Couleurs

Vous pouvez spécifier une couleur pour certaines activités

Vous pouvez également utiliser une couleur dégradée
[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).

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.

Simple colored arrow [link]

You can use simple colored arrow with the link keyword.

Multiple colored arrow

You can use multiple colored arrow.

[Ref. QA-4411]

Connecteurs

Il est possible d'utiliser des parenthèses pour dessiner des connecteurs.

WARNING
 This translation need to be updated. 
WARNING

Connecteurs en couleur

Vous pouvez ajouter des couleurs aux connecteurs.

[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

Partition

Vous pouvez regrouper des activités en définissant une partition

Il est également possible de changer la couleur de la partition

[Réf. QA-2793]

Il est également possible d'ajouter un lien à la partition
[Réf. QA-542]

Groupe, partition, paquet, rectangle ou carte

Vous pouvez regrouper des activités en définissant :

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

Vous pouvez ajouter une boucle conditionnelle if ou repeat ou while à l'intérieur des swimlanes

Vous pouvez également utiliser alias avec les swimlanes, avec cette syntaxe :

[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 :

Emoji as action (with icon stereotype)

You can use emoji as action, with the stereotype <<icon>>:

[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) :

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

[Ref. GH-2185]

UML Shape Example using Stereotype

[Ref. GH-2185, QA-16558, GH-1659]

Exemple complet

Style de condition

Style intérieur (par défaut)

Style diamant

Style InsideDiamond (ou Foo1)

Ref. QA-1290 et #400]

Style de fin de condition

Style diamant (par défaut)

Style ligne horizontale (hline)

[Réf. QA-4015]

Avec le style (global)

Sans style (par défaut)

Avec style

Vous pouvez utiliser le style pour modifier le rendu des éléments.

Creole on Activity

You can use Creole or HTML Creole on Activity diagram: