Документация / PlantUML

Диаграммы активности

Диаграмма активности описывает процесс: последовательность действий, ветвления, циклы и параллельные ветки. Ниже — современный синтаксис PlantUML (действия в :…;); старый синтаксис со стрелками (*) --> тоже работает, но пользоваться им не рекомендуется.

Действия, начало и конец

Действие записывается между двоеточием и точкой с запятой и может занимать несколько строк.

@startuml
start
:Получить заказ;
:Проверить наличие
на складе;
:Отгрузить;
stop
@enduml
  • start — начало, stop — завершение процесса, end — завершение с другим значком;
  • kill или detach — ветка обрывается (процесс в ней не продолжается).

Условия

@startuml
start
:Получить заказ;
if (Товар в наличии?) then (да)
  :Зарезервировать;
elseif (Можно заказать у поставщика?) then (да)
  :Заказать у поставщика;
else (нет)
  :Отменить заказ;
  stop
endif
:Выставить счёт;
stop
@enduml

Для выбора из нескольких вариантов используется switch:

@startuml
start
switch (Способ оплаты?)
case (Карта)
  :Списать с карты;
case (СБП)
  :Выставить QR-код;
case (Наличные)
  :Оплата курьеру;
endswitch
stop
@enduml

Циклы

@startuml
start
repeat
  :Отправить запрос;
  :Получить ответ;
repeat while (Ошибка и попыток < 3?) is (да) not (нет)

while (Есть необработанные заказы?) is (да)
  :Обработать заказ;
endwhile (нет)
stop
@enduml

repeat … repeat while — цикл с проверкой в конце (выполняется хотя бы раз), while … endwhile — с проверкой в начале. Внутри цикла break досрочно выходит из него.

Параллельные ветки

@startuml
start
:Заказ оплачен;
fork
  :Собрать заказ;
fork again
  :Отправить письмо;
fork again
  :Начислить бонусы;
end fork
:Передать в доставку;
stop
@enduml

fork … fork again … end fork — ветки выполняются параллельно и синхронизируются в конце; split … split again … end split — ветки без синхронизации.

Дорожки (swimlanes)

Дорожка задаётся названием в вертикальных чертах и относится ко всем действиям ниже, пока не указана другая.

@startuml
|Клиент|
start
:Оформить заказ;
|#EEF3FA|Магазин|
:Проверить заказ;
:Выставить счёт;
|Клиент|
:Оплатить;
|Магазин|
:Отгрузить;
stop
@enduml

Группы, заметки и подписи стрелок

@startuml
start
partition "Приём заказа" {
  :Получить заказ;
  -> проверен;
  :Сохранить;
}
:Отправить подтверждение;
note right
  Письмо и СМС
  ----
  //шаблон order-created//
end note
floating note left: Процесс запускается\nкаждым новым заказом
stop
@enduml
  • partition "Название" { … } — группа действий;
  • -> текст; между действиями — подпись стрелки;
  • note left/right … end note — заметка к действию, floating note — отдельная заметка.

Цвет и форма действий

@startuml
start
#palegreen:Успешная оплата;
#pink:Ошибка оплаты|
:Отправить документ>
<:Получить ответ;
stop
@enduml

Окончание действия меняет форму: ; — обычная, | — прямоугольная, < и > — «флажки» (приём и отправка), / и ] — другие формы. Цвет указывается перед двоеточием.

Обновлено: 30 сентября 2026 г.