Diagrama de secuencia
PlantUML agiliza la creación de diagramas de secuencia gracias a su sintaxis intuitiva y fácil de usar. Este enfoque permite tanto a los principiantes como a los diseñadores experimentados pasar rápidamente del concepto a un resultado gráfico pulido.- Sintaxis intuitiva:
- Traducción directa de texto a gráfico:
- Flujo de trabajo eficaz:
- Visualización en tiempo real:
- Ediciones y revisiones fluidas:
Ejemplos básicos
En los diagramas de secuencia PlantUML, la secuencia -> denota un mensaje enviado entre dos participantes, que son reconocidos automáticamente y no necesitan ser declarados de antemano.
Utilice flechas punteadas empleando la secuencia -->, ofreciendo una visualización distinta en sus diagramas.
Para mejorar la legibilidad sin afectar a la representación visual, utilice flechas inversas como <- o <--. Sin embargo, tenga en cuenta que esto es específicamente para diagramas de secuencia y las reglas difieren para otros tipos de diagramas.
|
🎉 Copied!
|
|
Declarando participantes
Es posible cambiar el orden de los participantes usando la palabra reservada participant.
También es posible el uso de otras palabras reservadas para declarar un participante:
actorboundarycontrolentitydatabasecollections
|
🎉 Copied!
|
|
Se puede renombrar un participante usando la palabra reservada
as.
También es posible cambiar el color de fondo de los actores o participantes.
|
🎉 Copied!
|
|
You can use the
orderkeyword to custom the print order of participant.
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Declarando participantes en múltiples líneas
Puedes declarar el participante en múltiples líneas.
|
🎉 Copied!
|
|
[Ref. QA-15232]
Utilice caracteres que no sean letras en los participantes
Puede utilizar comillas para definir los participantes.
Y puede utilizar la palabra clave as para dar un alias a esos participantes.
|
🎉 Copied!
|
|
Mensaje a sí mismo
Un participante puede enviarse un mensaje a sí mismo.
También es posible tener varias líneas utilizando \n.
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
[Ref. QA-1361]
Alineación del texto
La alineación del texto en las flechas puede establecerse en left, right o center utilizando skinparam sequenceMessageAlign.
También puede utilizar direction o reverseDirection para alinear el texto dependiendo de la dirección de la flecha. Encontrará más detalles y ejemplos en la página skinparam.
|
🎉 Copied!
|
|
Texto del mensaje de respuesta debajo de la flecha
Puede poner el texto del mensaje de respuesta debajo de la flecha, con el comandoskinparam responseMessageBelowArrow true.
|
🎉 Copied!
|
|
Change Actor style
You can change the actor style from stick man (by default) to:
- an awesome man with the
skinparam actorStyle awesomecommand; - a hollow man with the
skinparam actorStyle hollowcommand.
Stick man (by default)
|
🎉 Copied!
|
|
Awesome man
|
🎉 Copied!
|
|
[Ref. QA-10493]
Hollow man
|
🎉 Copied!
|
|
[Ref. PR#396]
Cambiar estilo de la flecha
Puede cambiar el estilo de la flecha de diferentes formas:
- añade una
xal final para indicar un mensaje perdido - utilice
\o/en lugar de<o>para tener solo la parte inferior o superior de la flecha - repite la cabeza de la flecha (por ejemplo,
>>o//) para tener un trazo más fino - Utilice
--en lugar de-para obtener una flecha punteada. - añade una "o" al final de la cabeza de una flecha
- utilice flechas bidireccionales
<->
|
🎉 Copied!
|
|
Cambiar el color de la flecha
Puede cambiar el color de flechas individuales usando la siguiente notación:
|
🎉 Copied!
|
|
Numeración de la secuencia de mensajes
La palabra clave autonumber es usada para añadir automáticamente números a los mensajes.
|
🎉 Copied!
|
|
Puedes especificar un número de comienzo con
autonumber //número inicial// , y también un incremento con autonumber //número inicial// //incremento//.
|
🎉 Copied!
|
|
Puedes especificar un formato para su número usándolo entre comillas dobles. El formateo se hace mediante la calse Java
DecimalFormat (0 denota un dígito, # denota un digito y cero si está ausente).
Puedes usar alguna etiqueta HTML en el formato.
|
🎉 Copied!
|
|
También puedes usar
autonumber stop y
autonumber resume //increment// //format// para pausar y continuar la numeración automática, respectivamente.
|
🎉 Copied!
|
|
*[Ref. [QA-7119](https://forum.plantuml.net/7119/create-links-after-creating-a-diagram?show=7137#a7137)]*
WARNING
This translation need to be updated. WARNING
Título de página, encabezado y pie de página
La palabra clave title se utiliza para añadir un título a la página.
Las páginas pueden mostrar encabezados y pies de página utilizando header y footer.
|
🎉 Copied!
|
|
Dividiendo diagramas
La palabra reservada newpage es empleada para dividir un diagrama en varias imágenes.
Puedes colocar un título para la página nueva justo después de la palabra reservada newpage .
Esto es bastante práctico con Word para devolver diagramas grandes en varias páginas.
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Agrupando mensajes
Es posible agrupar mensajes usando las siguientes palabras reservadas:
alt/elseoptloopparbreakcriticalgroup, seguida de un texto para mostrar
group).
La palabra reservada end es usada para cerrar el grupo.
Tenga en cuenta que es posible anidar grupos.
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Etiqueta secundaria de grupo
Para group, es posible añadir, entre[ y ], un texto o etiqueta secundaria que se mostrará en la cabecera.
|
🎉 Copied!
|
|
[Ref. QA-2503]
Partition across the entire width
You can use partition command to group messages horizontally across the entire width (full-width).
Messages are not grouped horizontally across the entire width (by default)
|
🎉 Copied!
|
|
Grouping messages horizontally across the entire width (with teoz mode)
|
🎉 Copied!
|
|
[Ref. GH-589]
Notas en mensajes
Es posible colocar notas en mensajes usando las palabras reservadas note left
o note right inmediatamente después del mensaje.
Puedes tener una nota multi-líneas usando la palabra reservada end note .
|
🎉 Copied!
|
|
Algunas otras notas
También es posible colocar notas relativas al participante con las palabras reservadas <code>note
left of</code> , note right of o note over .
Es posible resaltar una nota cambiando su color de fondo.
También puedes tener una nota multi-líneas usando la palabra reservada end note .
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Cambiando el aspecto de las notas
Puedes usar las palabras reservadas hnote y rnote para cambiar el aspecto de las notas.
|
🎉 Copied!
|
|
*[Ref. [QA-1765](https://forum.plantuml.net/1765/is-it-possible-to-have-different-shapes-for-notes?show=1806#c1806)]*
WARNING
This translation need to be updated. WARNING
Nota sobre todos los participantes [a través de]
Puedes hacer directamente una nota sobre todos los participantes, con la sintaxis:
note across: note_description
|
🎉 Copied!
|
|
[Ref. QA-9738]
Varias notas alineadas al mismo nivel [/]
Puedes hacer que varias notas estén alineadas al mismo nivel, con la sintaxis /:
- sin
/(por defecto, las notas no están alineadas)
|
🎉 Copied!
|
|
- con
/(las notas están alineadas)
|
🎉 Copied!
|
|
[Ref. QA-354]
Creole y HTML
También es posible usar sintexis de WikiCreole:
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Divisor
Si quieres, puedes dividir un diagrama usando el separador == para separar su diagrama en pasos lógicos.
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Referencia
Puedes referenciar en un diagrama utilizando la palabra clave ref over.
|
🎉 Copied!
|
|
Retardo
Puedes usar ... para indicar un retardo en el diagrama.
Y también es posible colocar un mensaje con ese retardo.
|
🎉 Copied!
|
|
Ajuste del texto
Para interrumpir mensajes largos, puede añadir manualmente \n en el texto.
Otra opción es utilizar el ajuste maxMessageSize:
|
🎉 Copied!
|
|
Message text spans beyond the involved participants
You can use sequenceMessageSpan command to allow message text to span beyond the involved participants.
Without sequenceMessageSpan (by default)
|
🎉 Copied!
|
|
With sequenceMessageSpan (on teoz mode)
|
🎉 Copied!
|
|
[Ref. GH-2386]
Espaciado
Puedes usar ||| para indicar espaciado en el diagrama.
También es posible especificar un número de píxel para ser usado.
|
🎉 Copied!
|
|
Activación y Destrucción de la Línea de vida
activate y deactivate son usados para denotar la activación de un participante.
Una vez que un participante es activado, su línea de vida aparece.
activate y deactivate aplica en el mensaje anterior.
destroy denota el final de la línea de vida de un participante.
|
🎉 Copied!
|
|
Puede usarse anidamiento de líneas de vida, y es posible agregar un color a dicha línea de vida.
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Retorno
El comando return genera un mensaje de retorno con una etiqueta de texto opcional.
El punto de retorno es el que causó la activación más reciente de la línea de vida.
La sintaxis es return label donde label si se proporciona es cualquier cadena aceptable para mensajes convencionales.
|
🎉 Copied!
|
|
Creación de participante
Puedes usar la palabra reservada create justo antes de la primera recepción de un mensaje para recalcar el hecho de que ese mensaje se encuentra creando ese nuevo objeto.
|
🎉 Copied!
|
|
Sintaxis abreviada para la activación, desactivación y creación
Inmediatamente después de especificar el participante de destino, se puede utilizar la siguiente sintaxis:
++ Activar el objetivo * (opcionalmente puede ir seguido de un color )
--Desactivar el origen**Crear una * instancia del objetivo!!Destruir una instancia del objetivo
|
🎉 Copied!
|
|
Entonces puedes mezclar activación y desactivación, en la misma línea:
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
[Ref. QA-4834, QA-9573 y QA-13234]
Mensajes entrantes y salientes
Puedes usar flechas entrantes y salientes si quieres centrarte en una parte del diagrama.
Utilice corchetes para denotar el lado izquierdo "[" o el lado derecho "]" del diagrama.
|
🎉 Copied!
|
|
También puedes tener la siguiente sintaxis:
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Flechas cortas para mensajes entrantes y salientes
Puedes tener flechas cortas con el uso de ?.
|
🎉 Copied!
|
|
[Ref. QA-310]
Anclas y duración
Con teoz es posible añadir anclas al diagrama y utilizar las anclas para especificar el tiempo de duración.
|
🎉 Copied!
|
|
Puede utilizar la opción de línea de comandos
-P para especificar el pragma:
java -jar plantuml.jar -Pteoz=true
[Ref. issue-582]
Estereotipos y marcas
Es posible añadir estereotipos a participantes usando <<
y >>.
En el estereotipo, puedes añadir un carácter marcado en un círculo coloreado usando la sintaxis (X,color).
|
🎉 Copied!
|
|
Por defecto, guillemet (comillas) son usadas para mostrar el estereotipo. Puedes cambiar este comportamiento usando skinparam
guillemet:
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
Position of the stereotypes
It is possible to define stereotypes position (top or bottom) with the command skinparam stereotypePosition.
Top postion (by default)
|
🎉 Copied!
|
|
Bottom postion
|
🎉 Copied!
|
|
[Ref. QA-18650]
Mayor información en los títulos
Puedes usar sintaxis de Creole en el título.
|
🎉 Copied!
|
|
Puedes añadir una nueva línea usando \n en la descripción del título.
|
🎉 Copied!
|
|
Además puedes definir un título en varias líneas usando las palabras reservadas title
y end title .
|
🎉 Copied!
|
|
Entorno de participante
Es posible dibujar una caja alrededor de algunos participantes, usando los comandos box y end box .
Puedes añadir un título opcional o un color de fondo opcional, después de la palabra reservada box .
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Removiendo pie de página
Puedes usar las palabras reservadas hide footbox para remover el pie de página del diagrama.
|
🎉 Copied!
|
|
Personalización (Skinparam)
Puedes usar el comando skinparam para cambiar los colores y las fuentes de los dibujos
Puedes usar este comando:
- En la definición del diagrama, como cualquier otro comando,
- En un archivo incluido,
- En un archivo de configuración, proporcionado en la consola de comandos o en el ANT task.
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
Cambiando el relleno
Es posible ajustar algunos parámetros de relleno
|
🎉 Copied!
|
|
*[Ref. [QA-5493](https://forum.plantuml.net/5493/provide-skinparam-between-participants-sequence-diagrams)]*
Appendix: Examples of all arrow type
Normal arrow
|
🎉 Copied!
|
|
Itself arrow
|
🎉 Copied!
|
|
Incoming and outgoing messages (with '[', ']')
Incoming messages (with '[')
|
🎉 Copied!
|
|
Outgoing messages (with ']')
|
🎉 Copied!
|
|
Short incoming and outgoing messages (with '?')
Short incoming (with '?')
|
🎉 Copied!
|
|
Short outgoing (with '?')
|
🎉 Copied!
|
|
Specific SkinParameter
By default
|
🎉 Copied!
|
|
Style strictuml
To be conform to strict UML (for arrow style: emits triangle rather than sharp arrowheads), you can use:skinparam style strictuml
|
🎉 Copied!
|
|
[Ref. QA-1047]
LifelineStrategy
nosolid/solid
skinparam lifelineStrategy solid no longer works.
[Ref. QA-9016, QA-2794]
In order to have solid life line in sequence diagrams, you must now use style:
|
🎉 Copied!
|
|
Hide unlinked participant
By default, all participants are displayed.
|
🎉 Copied!
|
|
But you can
hide unlinked participant.
|
🎉 Copied!
|
|
[Ref. QA-4247]
Color a group message
It is possible to color a group messages:
|
🎉 Copied!
|
|
Mainframe
|
🎉 Copied!
|
|
[Ref. QA-4019 and Issue#148]
Slanted or odd arrows
You can use the (nn) option (before or after arrow) to make the arrows slanted, where nn is the number of shift pixels.
[Available only after v1.2022.6beta+]
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
[Ref. QA-14145]
|
🎉 Copied!
|
|
[Ref. QA-6684]
|
🎉 Copied!
|
|
[Ref. QA-1072]
Parallel messages (with teoz)
You can use the & teoz command to display parallel messages:
|
🎉 Copied!
|
|
(See also Teoz architecture)
Style for Solid Lifeline
By default
|
🎉 Copied!
|
|
Solid Lifeline using style
|
🎉 Copied!
|
|