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
Cambiar la representación del estado
Puede utilizar hide empty description para representar el estado como una caja simple.
Estado compuesto
Un estado también puede ser compuesto. Hay que definirlo utilizando las palabras clave state
y los corchetes.
Subestado interno
Subestado a subestado
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.
Histórico [[H], [H*]]
Puedes usar [H] para el histórico y [H*] para el histórico profundo de un subestado.
Bifurcación
También puedes bifurcan y unir usando <<fork>> y <<join>> respectivamente.
Estados concurrentes [--, ||]
Puedes definir estados concurrentes dentro de un estado compuesto usando los símbolos --
o || como separadores.
Separador horizontal --
Separador vertícal ||
WARNING
This translation need to be updated. WARNING
Condicional [choice]
El estereotipo <<choice>> puede ser usado para uso de estado condicional.
Ejemplo completo de etereotipos [start, choice, fork, join, end]
WARNING
This translation need to be updated. WARNING
Punto [entryPoint, exitPoint]
Puedes agregar punto con los esterotipos <<entryPoint>> y <<exitPoint>>:
WARNING
This translation need to be updated. WARNING
Pin [inputPin, outputPin]
Puedes agregar pin con los estereotipos <<inputPin>> y <<outputPin>>:
WARNING
This translation need to be updated. WARNING
Expansión [expansionInput, expansionOutput]
Puedes agregar expansión con los estereotipos <<expansionInput>> y <<expansionOutput>>:
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->
-d- en lugar de-down-) o los dos primeros caracteres (-do-).
Por favor tenga en cuenta que no debería abusar de esta esta funcionalidad : Graphviz usualmente devuelve buenos resultados sin necesidad de ajustes.
Cambiar el color y estilo de la línea
Puedes cambiar el color y/o el estilo de la línea.
WARNING
This translation need to be updated. WARNING
Change head or tail of arrow line
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.
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.
Más sobre notas
Puedes colocar notas en estados compuestos.
Color entre-línea
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.
Prueba de todos los skinparam especificos de los diagramas de estado
Cambiando estilo
Puedes cambiar el estilo.
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 ).
#color;line:color;line.[bold|dashed|dotted];text:color
FIXME
🚩
text:color seems not to be taken into account
FIXME
Alias
With State you can use alias, like:
Display JSON Data on State diagram
Simple example
State description
You can add description to a state or to a composite state.
Style for Nested State Body