UML EditorСправочникПримерыОткрыть редактор

Справочник / Диаграмма состояний UML

Диаграмма состояний UML: синтаксис и примеры

Жизненный цикл объекта и переходы. Состояния с русскими названиями удобно объявлять через state "Имя" as Псевдоним. Начало и конец — [*].

Пример

Диаграмма состояний UML — пример
@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раскладка слева направо

Другие виды диаграмм