Diagrama de estados
Los diagramas de estado proporcionan una representación visual de los distintos estados en los que puede encontrarse un sistema o un objeto, así como de las transiciones entre esos estados. Son esenciales para modelar el comportamiento dinámico de los sistemas, ya que reflejan cómo responden a diferentes eventos a lo largo del tiempo. Los diagramas de estado representan el ciclo de vida del sistema, lo que facilita la comprensión, el diseño y la optimización de su comportamiento. Uso de PlantUML para crear diagramas de estado ofrece varias ventajas:- Lenguaje basado en texto: Defina y visualice rápidamente los estados y transiciones sin la molestia del dibujo manual.
- Eficiencia y coherencia: Garantice una creación de diagramas ágil y un control de versiones sencillo.
- Versatilidad: Se integra con varias plataformas de documentación y admite múltiples formatos de salida.
- Código abierto y soporte de la comunidad: Respaldado por una sólida comunidad que contribuye continuamente a sus mejoras y ofrece recursos inestimables.
Estado simple
Puede utilizar [*] para el punto inicial y el punto final de
el diagrama de estado.
Utilice --> para las flechas
|
🎉 Copied!
|
|
Cambiar la representación del estado
Puede utilizar hide empty description para representar el estado como una caja simple.
|
🎉 Copied!
|
|
Estado compuesto
Un estado también puede ser compuesto. Hay que definirlo utilizando las palabras clave state
y los corchetes.
Subestado interno
|
🎉 Copied!
|
|
Subestado a subestado
|
🎉 Copied!
|
|
[Ref. QA-3300]
WARNING
This translation need to be updated. WARNING
Nombres largos
También puedes usar la palabra reservada state para definir nombres largas en un estado.
|
🎉 Copied!
|
|
Histórico [[H], [H*]]
Puedes usar [H] para el histórico y [H*] para el histórico profundo de un subestado.
|
🎉 Copied!
|
|
Bifurcación
También puedes bifurcan y unir usando <<fork>> y <<join>> respectivamente.
|
🎉 Copied!
|
|
Estados concurrentes [--, ||]
Puedes definir estados concurrentes dentro de un estado compuesto usando los símbolos --
o || como separadores.
Separador horizontal --
|
🎉 Copied!
|
|
Separador vertícal ||
|
🎉 Copied!
|
|
[Ref. QA-3086]
WARNING
This translation need to be updated. WARNING
Condicional [choice]
El estereotipo <<choice>> puede ser usado para uso de estado condicional.
|
🎉 Copied!
|
|
Ejemplo completo de etereotipos [start, choice, fork, join, end]
|
🎉 Copied!
|
|
[Ref. QA-404, QA-1159 and GH-887] [Ref. QA-19174]
WARNING
This translation need to be updated. WARNING
Punto [entryPoint, exitPoint]
Puedes agregar punto con los esterotipos <<entryPoint>> y <<exitPoint>>:
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Pin [inputPin, outputPin]
Puedes agregar pin con los estereotipos <<inputPin>> y <<outputPin>>:
|
🎉 Copied!
|
|
[Ref. QA-4309]
WARNING
This translation need to be updated. WARNING
Expansión [expansionInput, expansionOutput]
Puedes agregar expansión con los estereotipos <<expansionInput>> y <<expansionOutput>>:
|
🎉 Copied!
|
|
[Ref. QA-4309]
WARNING
This translation need to be updated. WARNING
Dirección de flecha
Puedes usar -> para flechas horizontales. Es posible forzar la dirección de las flechas usando la siguiente sintaxis:
-down->o-->-right->o->(flecha por defecto)-left->-up->
|
🎉 Copied!
|
|
Puedes acortar la definición de la flecha usando sólamente el primer carácter del nombre de la dirección (por ejemplo, -d- en lugar de-down-) o los dos primeros caracteres (-do-).
Cambiar el color y estilo de la línea
Puedes cambiar el color y/o el estilo de la línea.
|
🎉 Copied!
|
|
[Ref. Incubation: Change line color in state diagrams] [Ref. QA-93]
WARNING
This translation need to be updated. WARNING
Change head or tail of arrow line
|
🎉 Copied!
|
|
Notas
También puedes definir notas usando las palabras reservadas
note left of, note right of, note top of, note bottom of
.
También puedes definir notas de varias líneas.
|
🎉 Copied!
|
|
También puedes tener notas flotantes.
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Notas sobre conexiones
Puedes poner notas sobre la transición de estados o conexiones, con la palabra reservada note on link.
|
🎉 Copied!
|
|
Más sobre notas
Puedes colocar notas en estados compuestos.
|
🎉 Copied!
|
|
Color entre-línea
|
🎉 Copied!
|
|
[Ref. QA-1812]
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!
|
|
Prueba de todos los skinparam especificos de los diagramas de estado
|
🎉 Copied!
|
|
Cambiando estilo
Puedes cambiar el estilo.
|
🎉 Copied!
|
|
[Ref. GH-880]
WARNING
This translation need to be updated. WARNING
Change state color and style (inline style)
You can change the color or style of individual state using the following notation:
#color ##[style]color
#color), then line style and line color (##[style]color ).
|
🎉 Copied!
|
|
[Ref. QA-1487]
#color;line:color;line.[bold|dashed|dotted];text:color
FIXME
🚩
text:color seems not to be taken into account
FIXME
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
[Adapted from QA-3770]
Alias
With State you can use alias, like:
|
🎉 Copied!
|
|
or:
|
🎉 Copied!
|
|
[Ref. QA-1748, QA-14560]
Display JSON Data on State diagram
Simple example
|
🎉 Copied!
|
|
[Ref. QA-17275] For another example, see on JSON page.
State description
You can add description to a state or to a composite state.
|
🎉 Copied!
|
|
[Ref. QA-16719]
Style for Nested State Body
|
🎉 Copied!
|
|
[Ref. QA-16774]