Справочник / Диаграмма состояний UML
Диаграмма состояний UML: синтаксис и примеры
Жизненный цикл объекта и переходы. Состояния с русскими названиями удобно объявлять через state "Имя" as Псевдоним. Начало и конец — [*].
Пример
@startuml
hide empty description
state "Новый" as New
state "Оплачен" as Paid
state "Отменён" as Cancelled
state "Сборка" as Assembly {
state "Комплектация" as Picking
state "Упаковка" as Packing
[*] --> Picking
Picking --> Packing
Packing --> [*]
}
state "Доставлен" as Delivered
[*] --> New
New --> Paid : оплата
New --> Cancelled : отмена
Paid --> Assembly
Assembly --> Delivered : курьер
Delivered --> [*]
Cancelled --> [*]
note right of Paid : возврат возможен 14 дней
@endumlГотовые примеры
Конструкции
Переходы
Подпись перехода: событие [условие] / действие.
[*] --> New New --> Paid : оплата Paid --> [*]
Состояние с описанием
state "Ожидает оплаты" as Wait Wait : entry / отправить счёт
Составное состояние
state "Сборка" as Build {
[*] --> Pick
Pick --> [*]
}Параллельные области
state "Активен" as Act {
[*] --> Sound
--
[*] --> Video
}Выбор
state ch <<choice>> A --> ch ch --> B : [сумма > 0] ch --> C : [иначе]
Развилка и слияние
state f <<fork>> state j <<join>> A --> f f --> B f --> C B --> j C --> j
Заметка
note right of Paid : текст
Скрыть пустые описания
Пишется в начале диаграммы.
hide empty description
Общее
| @startuml / @enduml | начало и конец диаграммы |
| ' текст | комментарий |
| /' … '/ | многострочный комментарий |
| title Заголовок | заголовок над диаграммой |
| left to right direction | раскладка слева направо |
Другие виды диаграмм
- Диаграмма классов UMLКлассы, атрибуты, операции и связи между ними
- Диаграмма объектов UMLЭкземпляры классов и их значения в момент времени
- Диаграмма пакетов UMLПакеты (модули) системы и зависимости между ними
- Диаграмма компонентов UMLКомпоненты, интерфейсы и зависимости
- Диаграмма развёртывания UMLУзлы, среды выполнения и артефакты на них
- ER-диаграмма (сущность–связь)Таблицы, ключи и кратность связей (нотация IE)
- Диаграмма прецедентов UMLАктёры и варианты использования системы
- Диаграмма последовательностей UMLОбмен сообщениями между участниками во времени
- Диаграмма деятельности UMLДействия, решения, параллельные ветки и дорожки
- Временная диаграмма UML (timing)Изменение состояний участников во времени
- Диаграмма ГантаПлан работ по дням с зависимостями и вехами
- Интеллект-карта (mind map)Идеи вокруг одной темы
- WBS — структура декомпозиции работДекомпозиция проекта на пакеты работ
- Сетевая диаграмма (nwdiag)Сети, адреса и подключённые к ним серверы
- Визуализация JSONСтруктура JSON-документа в виде дерева