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

Варианты использования

Диаграмма вариантов использования показывает, кто (актёры) и какие цели решает с помощью системы (варианты использования), а также границы системы.

Актёры и варианты использования

Актёр объявляется словом actor или двоеточиями :Имя:, вариант использования — словом usecase или круглыми скобками (Название). Псевдоним as сокращает длинные названия.

@startuml
left to right direction
actor Покупатель as Buyer
actor :Менеджер: as Manager
actor "Платёжная система" as Pay <<система>>

rectangle "Интернет-магазин" {
  usecase "Оформить заказ" as UC1
  (Оплатить заказ) as UC2
  (Отменить заказ) as UC3
  (Обработать заказ) as UC4
}

Buyer --> UC1
Buyer --> UC3
UC2 --> Pay
Manager --> UC4
@enduml

left to right direction располагает актёров слева, а варианты использования — справа; без неё диаграмма строится сверху вниз.

Связи между вариантами использования

  • include — вариант обязательно включает другой: UC1 .> UC2 : <<include>>;
  • extend — вариант расширяет другой при условии: UC5 .> UC1 : <<extend>>;
  • обобщение — наследование актёров или вариантов: Admin --|> User.
@startuml
left to right direction
actor Пользователь as User
actor Администратор as Admin
Admin --|> User

rectangle Система {
  (Оформить заказ) as Order
  (Оплатить) as Pay
  (Применить промокод) as Promo
  (Управлять каталогом) as Catalog
}

User --> Order
Order .> Pay : <<include>>
Promo .> Order : <<extend>>
Admin --> Catalog
@enduml

Пакеты, заметки и стереотипы

Варианты группируются в rectangle, package или frame; к элементам можно добавить стереотип <<…>> и заметку.

@startuml
actor Клиент
package "Личный кабинет" {
  (Посмотреть историю) as History
  (Скачать чек) as Receipt <<опционально>>
}
Клиент --> History
Клиент --> Receipt
note right of Receipt
  Доступно только для
  оплаченных заказов
end note
@enduml

Длина и направление связей

Количество дефисов в стрелке задаёт её длину (-->, --->), а слово внутри — направление: -up->, -down->, -left->, -right->. Это помогает, когда автоматическая раскладка расставила элементы неудобно.

@startuml
actor Клиент
(Оплатить) as Pay
(Вернуть деньги) as Refund
Клиент -right-> Pay
Клиент -down-> Refund
@enduml

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