Диаграмма состояний
Диаграммы состояний позволяют наглядно представить различные состояния, в которых может находиться система или объект, а также переходы между этими состояниями. Они необходимы для моделирования динамического поведения систем, отражая их реакцию на различные события во времени. Диаграммы состояний отображают жизненный цикл системы, облегчая понимание, проектирование и оптимизацию ее поведения. Использование PlantUML для создания диаграмм состояний имеет ряд преимуществ:- Текстовый язык: Быстрое определение и визуализация состояний и переходов без необходимости рисования вручную.
- Эффективность и согласованность: Обеспечивают упорядоченное создание диаграмм и легкий контроль версий.
- Универсальность: Интеграция с различными платформами документирования и поддержка различных форматов вывода.
- Open-Source & Community Support: Опирается на сильное сообщество, которое постоянно вносит свой вклад в его совершенствование и предлагает бесценные ресурсы.
Простое состояние
Для изображения начального и конечного псевдосостояний используется [*].
Используйте --> для изображения переходов.
|
🎉 Copied!
|
|
Change state rendering
You can use hide empty description to render state as simple box.
|
🎉 Copied!
|
|
Составное состояние
Также можно изображать составные состояния. Для этого его следует объявить, используя конструкцию
state.
Внутренние состояния
|
🎉 Copied!
|
|
Внутреннее состояние к внутреннему состоянию
|
🎉 Copied!
|
|
[Ref. QA-3300]
WARNING
This translation need to be updated. WARNING
Длинные имена
Вы также можете использовать ключевое слово state для сокращения длинного имени состояния.
|
🎉 Copied!
|
|
History [[H], [H*]]
You can use [H] for the history and [H*] for the deep history of a substate.
|
🎉 Copied!
|
|
Ветвление [fork, join]
Также можно использовать стереотипы <<fork>> и <<join>> для создания ветвления и слияния обратно.
|
🎉 Copied!
|
|
Параллельные состояния
Используя -- или ||, вы можете объявлять параллельные подсостояния внутри составного состояния.
Горизонтальное разделение --
|
🎉 Copied!
|
|
Вертикальное разделение ||
|
🎉 Copied!
|
|
[Ref. [QA-3086](https://forum.plantuml.net/3086/state-diagram-concurrent-state-horizontal-line)]
WARNING
This translation need to be updated. WARNING
Условия [choice]
Стереотип <<choice>> может быть использован для создания состояний-условий.
|
🎉 Copied!
|
|
Stereotypes full example [start, choice, fork, join, end, history, history*]
Start, choice, fork, join, end
|
🎉 Copied!
|
|
[Ref. QA-404, QA-1159 and GH-887]
History, history*
|
🎉 Copied!
|
|
[Ref. QA-16824]
Minimal example with all stereotypes
|
🎉 Copied!
|
|
[Ref. QA-19174]
Point [entryPoint, exitPoint]
You can add point with <<entryPoint>> and <<exitPoint>> stereotypes:
|
🎉 Copied!
|
|
Pin [inputPin, outputPin]
You can add pin with <<inputPin>> and <<outputPin>> stereotypes:
|
🎉 Copied!
|
|
[Ref. QA-4309]
Expansion [expansionInput, expansionOutput]
You can add expansion with <<expansionInput>> and <<expansionOutput>> stereotypes:
|
🎉 Copied!
|
|
[Ref. QA-4309]
Направления стрелок
Для изображения стрелок перехода горизонтально используется оператор ->.
Следующий синтаксис позволяет задать другое направление.
-down->или-->-right->или->(по умлочанию)-left->-up->
|
🎉 Copied!
|
|
Вы также можете сокращать слова в описании стрелок
(например, -d-> или -do-> вместо -down->).
Изменение цвета и отображения
Можно использовать параметр цвета вместе со стилем.
|
🎉 Copied!
|
|
[Ref. Incubation: Change line color in state diagrams] [Ref. [QA-93](https://forum.plantuml.net/93/how-use-different-color-for-arrows-in-state-diagram)]
WARNING
This translation need to be updated. WARNING
Change head or tail of arrow line
|
🎉 Copied!
|
|
Заметки
К состоянию можно добавлять заметки, используя специальные ключевые слова:
note left of, note right of, note top of, note bottom of
.
Заметки можно определять в несколько строк.
|
🎉 Copied!
|
|
Можно создавать заметки, не привязанные ни к какому объекту.
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Заметки о переходах
Можно оставлять заметки о переходах состояний или связей с помощью note on link.
|
🎉 Copied!
|
|
Еще о заметках
Также заметки можно прикреплять к составным состояниям.
|
🎉 Copied!
|
|
Inline color
|
🎉 Copied!
|
|
[Ref. QA-1812]
Skinparam
Вы можете использовать команду skinparam для изменения шрифтов и цветов диаграммы
Вы можете использовать данную команду :
- В определении диаграммы, как любую другую команду,
- В подключенном файле,
- В конфигурационном файле, указанном в командной строке в задании ANT.
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
Changing style
You can change style.
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
[Ref. GH-880]
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]