Vous pouvez contribuer à cette page en cliquant ici  (Menu)

 

 

Diagrammes d'activité

 

 

Exemple de base

Vous devez utiliser (*) pour le début et la fin du diagramme d'activité.

Dans certaines occasions, vous pouriez vouloir utiliser (*top) pour forcer le début à être en haut du diagramme.

Utiliser --> pour les flèches.

@startuml

(*) --> "First Activity"
"First Activity" --> (*)

@enduml

 

 

Texte sur les flèches.

Par défaut, une flèche commence à partir de la dernière activité définie.

Vous pouvez rajouter un libellé sur une flèche en mettant des crochets [ et ] juste après la définition de la flèche.

@startuml

(*) --> "First Activity"
-->[You can put also labels] "Second Activity"
--> (*)

@enduml

 

 

Changer la direction des flèches

Vous pouvez utiliser -> pour les flèches horizontales. Il est aussi possible de forcer la direction d'une flèche en utilisant la syntaxe suivante :

@startuml

(*) -up-> "First Activity"
-right-> "Second Activity"
--> "Third Activity"
-left-> (*)

@enduml

 

 

Branches

Vous pouvez utiliser le mot clé if/then/else pour définir une branche.

@startuml
(*) --> "Initialization"

if "Some Test" then
  -->[true] "Some Activity"
  --> "Another activity"
  -right-> (*)
else
  ->[false] "Something else"
  -->[Ending process] (*)
endif

@enduml

Malheureusement, vous devez parfois avoir à répéter la même activité dans le diagramme de texte.

@startuml
(*)  --> "check input"
If "input is verbose" then
--> [Yes] "turn on verbosity"
--> "run command"
else
--> "run command"
Endif
-->(*)
@enduml

 

 

Encore des branches

Par défaut, une branche commence à la dernière activité définie, mais il est possible de passer outre et de définir un lien avec le mot clé if.

Il est aussi possible d'imbriquer les branches.

@startuml

(*) --> if "Some Test" then

  -->[true] "activity 1"
  
  if "" then
	-> "activity 3" as a3
  else
	if "Other test" then
	  -left-> "activity 5"
	else
	  --> "activity 6"
	endif
  endif
  
else

  ->[false] "activity 2"
  
endif

a3 --> if "last test" then
  --> "activity 7"
else
  -> "activity 8"
endif

@enduml

 

 

Synchronisation

Vous pouvez utiliser la syntaxe === code === pour afficher des barres de synchronisation.

@startuml

(*) --> ===B1=== 
--> "Parallel Activity 1"
--> ===B2===

===B1=== --> "Parallel Activity 2"
--> ===B2===

--> (*)

@enduml

 

 

Description détaillée

Lorsque vous déclarez des activités, vous pouvez positionner sur plusieurs lignes le texte de description Vous pouvez également ajouter \n dans la description. Il est également possible d'utiliser quelques tags HTML tels que :

Vous pouvez aussi donner un court code à l'activité avec le mot clé as. Ce code peut être utilisé plus tard dans le diagramme de description.

@startuml
(*) -left-> "this <size:20>activity</size>
	is <b>very</b> <color:red>long2</color>
	and defined on several lines
	that contains many <i>text</i>" as A1

-up-> "Another activity\n on several lines"

A1 --> "Short activity <img:sourceforge.jpg>"
@enduml

 

 

Notes

Vous pouvez rajouter des notes sur une activités en utilisant les commandes: note left, note right, note top ou note bottom, juste après la définition de l'activité concernée.

Si vous voulez mettre une note sur le démarrage du diagramme, définissez la note au tout début du diagramme.

Vous pouvez aussi avoir une note sur plusieurs lignes, en utilisant les mots clés endnote.

@startuml

(*) --> "Some Activity"
note right: This activity has to be defined
"Some Activity" --> (*)
note left
 This note is on
 several lines
end note

@enduml

 

 

Partition

Vous pouvez définir une partition en utilisant le mot clé partition, et optionnellement déclarer un fond de couleur pour votre partition (En utilisant un code couleur html ou un nom)

Quand vous déclarez les activités, ils sont automatiquement mis dans la dernière partition utilisée.

Vous pouvez fermer la partition de définition en utilisant les crochets fermants }.

@startuml

partition Conductor {
  (*) --> "Climbs on Platform"
  --> === S1 ===
  --> Bows
}

partition Audience #LightSkyBlue {
  === S1 === --> Applauds
}

partition Conductor {
  Bows --> === S2 ===
  --> WavesArmes
  Applauds --> === S2 ===
}

partition Orchestra #CCCCEE {
  WavesArmes --> Introduction
  --> "Play music"
}

@enduml

 

 

Paramètre de thème

Vous pouvez utiliser la commande skinparam pour changer la couleur et la police d'écriture pour dessiner.

Vous pouvez utiliser cette commande :

Vous pouvez spécifier une couleur et une police d'écriture dans les stéréotypes d'activités.

@startuml

skinparam backgroundColor #AAFFFF
skinparam activity {
  StartColor red
  BarColor SaddleBrown 
  EndColor Silver
  BackgroundColor Peru
  BackgroundColor<< Begin >> Olive
  BorderColor Peru
  FontName Impact
}

(*) --> "Climbs on Platform" << Begin >>
--> === S1 ===
--> Bows
--> === S2 ===
--> WavesArmes
--> (*)

@enduml

 

 

Octogone

Vous pouvez changer la forme des activités en octogone en utilisant la commande skinparam activityShape octagon.

@startuml
'Default is skinparam activityShape roundBox
skinparam activityShape octagon

(*) --> "First Activity"
"First Activity" --> (*)

@enduml

 

 

Exemple complet

@startuml
title Servlet Container

(*) --> "ClickServlet.handleRequest()"
--> "new Page"

if "Page.onSecurityCheck" then
  ->[true] "Page.onInit()"
  
  if "isForward?" then
   ->[no] "Process controls"
   
   if "continue processing?" then
	 -->[yes] ===RENDERING===
   else
	 -->[no] ===REDIRECT_CHECK===
   endif
   
  else
   -->[yes] ===RENDERING===
  endif
  
  if "is Post?" then
	-->[yes] "Page.onPost()"
	--> "Page.onRender()" as render
	--> ===REDIRECT_CHECK===
  else
	-->[no] "Page.onGet()"
	--> render
  endif
  
else
  -->[false] ===REDIRECT_CHECK===
endif

if "Do redirect?" then
 ->[yes] "redirect request"
 --> ==BEFORE_DESTROY===
else
 if "Do Forward?" then
  -left->[yes] "Forward request"
  --> ==BEFORE_DESTROY===
 else
  -right->[no] "Render page template"
  --> ==BEFORE_DESTROY===
 endif
endif

--> "Page.onDestroy()"
-->(*)

@enduml