Puede contribuir en esta página haciendo clic aquí  (Menu)

 

 

Diagrama de Actividades

 

 

Actividades simples

Puedes usar (*) para el punto de inicio y de final en un diagrama de actividades.

En algunos casos, quizás quieras usar (*top) para forzar a que el punto de inicio se ubique en la parte superior del diagrama.

Utilice --> para las flechas.

@startuml

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

@enduml

 

 

Etiquetas en las flechas

Por defecto, una flecha comienza en la última actividad usada.

Puedes colocar una etiqueta sobre una flecha usando corchetes, [] , justo después de la definición de la flecha.

@startuml

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

@enduml

 

 

Cambiando la dirección de la flecha

Puedes usar -> para flechas horizontales. Es posible formzar la dirección de una flecha usando la siguiente sintaxis:

@startuml

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

@enduml

 

 

Ramas (bifurcaciones)

Puedes usar las palabras reservadas if/then/else para definir ramas o caminos alternos.

@startuml
(*) --> "Initialization"

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

@enduml

Desafortunadamente, a veces tendrás que repetir la misma actividad en el texto del diagrama:

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

 

 

Más acerca de las Ramas

Por defecto, una rama es conectada con la última actividad definida, pero es posible sobrescribir esto y definir un enlace con la palabra reservada if .

También es posible anidar ramas.

@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

 

 

Sincronización

Puedes usar === code === para mostrar barras de sincronización.

@startuml

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

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

--> (*)

@enduml

 

 

Descripción de actividades de gran contenido

Cuando declaras actividades, puedes abarcar la descripción del texto, en varias líneas. También puedes añadir \n en la descripción.

También puedes colocar una pequeña cantidad de código en la actividad, con la palabra reservada as . Este código puede usarse más adelante en la descripción del diagrama.

@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

 

 

Notas

Puedes añadir notas sobre la actividad usando los comandos note left, note right, note top or note bottom, justo después de la descripción de la actividad a la quieres añadirle la nota.

Si quieres colocar una nota sobre el punto de inicio, define la nota al comienzo de la descripción del diagrama.

También puedes tener una nota de varias líneas, usando la palabra reservada 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

 

 

Partición

Puedes definir una partición usando la palabra reservada partition y opcionalmente declarar un color de fondo para tu partición (Usando el nombre o código HTML del color)

Cuando declaras actividades, éstas son automáticamente colocadas en la última partición usada.

Puedes cerrar la partición usando una llave de cierre }.

@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

 

 

Personalización (Skinparam)

Puedes usar el comando skinparam para cambiar las fuentes y colores en el diagrama.

Puedes usar este comando :

Puedes definir colores y fuentes específicas para actividades estereotipadas.

@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

 

 

Octágono

Puedes cambiar la forma de las actividades a un octágono usando el comando skinparam activityShape octagon .

@startuml
'Default is skinparam activityShape roundBox
skinparam activityShape octagon

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

@enduml

 

 

Un ejemplo completo

@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