Документация / PlantUML
Диаграммы состояний
Диаграмма состояний показывает, в каких состояниях бывает объект (например, заказ или платёж) и какие события переводят его из одного состояния в другое.
Состояния и переходы
[*] — начальное или конечное псевдосостояние. Переход записывается стрелкой, событие — подписью после
двоеточия.
@startuml
[*] --> Новый
Новый --> Оплачен : оплата прошла
Новый --> Отменён : отмена клиентом
Оплачен --> Отгружен : передан в доставку
Отгружен --> Доставлен : получен клиентом
Доставлен --> [*]
Отменён --> [*]
@enduml
Подпись перехода по нотации UML: событие [условие] / действие, например
Новый --> Оплачен : оплата [сумма верна] / выдать чек.
Описание состояния
@startuml
state "Ожидает оплаты" as Waiting
Waiting : entry / отправить счёт
Waiting : exit / отменить таймер
state Оплачен #palegreen
[*] --> Waiting
Waiting --> Оплачен
@enduml
Составные состояния
Состояние может содержать вложенную машину состояний.
@startuml
[*] --> Обработка
state Обработка {
[*] --> Сборка
Сборка --> Упаковка
Упаковка --> [*]
}
Обработка --> Отгружен
Отгружен --> [*]
@enduml
Параллельные области
Внутри составного состояния области разделяются -- (горизонтально) или || (вертикально).
@startuml
state Выполнение {
[*] --> Сборка
Сборка --> Собран
--
[*] --> Оплата
Оплата --> Оплачен
}
@enduml
Псевдосостояния: выбор, разветвление, история
@startuml
state check <<choice>>
state fork_state <<fork>>
state join_state <<join>>
[*] --> check
check --> Отклонён : [сумма > лимита]
check --> fork_state : [иначе]
fork_state --> Резерв
fork_state --> Уведомление
Резерв --> join_state
Уведомление --> join_state
join_state --> Готов
Готов --> [*]
@enduml
Также доступны <<start>>, <<end>>, <<entryPoint>>, <<exitPoint>>, история [H] и глубокая история
[H*].
Заметки
@startuml
[*] --> Активен
Активен --> Заблокирован : 3 неверных пароля
note right of Заблокирован : разблокировка — через поддержку
note on link
Сбрасывается через 24 часа
end note
@enduml
Похожие инструменты
Обновлено: 30 сентября 2026 г.
