Диаграмма вариантов использования показывает, как внешние акторы взаимодействуют с системой: кто что делает и какие функции предоставляет система. Она даёт общее представление о функциональных требованиях и полезна на ранних этапах проектирования для согласования позиций заинтересованных сторон.
В PlantUML акторы, варианты использования и связи между ними описываются текстом. Диаграмма формируется автоматически.
- Текст на входе, диаграмма на выходе. Описание акторов, вариантов использования и связей умещается в несколько строк.
- Удобный рефакторинг. Чтобы переименовать актора или переместить вариант использования, достаточно изменить одну строку.
- Хранится в репозитории. Диаграммы лежат рядом с кодом, который они документируют, под управлением версиями.
Описание возможностей, доступных для всех типов диаграмм, см. в разделе общие команды.
Варианты использования заключаются в круглые скобки (потому что две
скобки выглядят как овал).
Вы также можете использовать ключевое слово usecase, чтобы определить
пример использования.
И вы можете определить псевдоним, используя ключевое слово as.
Этот псевдоним будет использоваться позже, при определении отношений.
Примечание переводчика:
я не нашел одного устоявшегося варианта перевода для этого термина. Встречаются варианты: Актор, Роль или Участник. Далее по тексту буду использовать слово Актор.
Определить актора можно просто указав его название между двумя вертикальными двоеточиями.
Другой вариант определения актора - это использование ключевого слова actor.
Также, при определении актора можно указать для него короткий псевдоним, который затем можно будет использовать при определении связей между элементами. Это делается при помощи ключевого слова as.
Пример ниже показывает разные варианты определения акторов.
Вы можете изменить стиль стиль отображения актора. Доступны следующие варианты:
- Человечек из палочек (по умолчанию);
- В виде бюста, команда
skinparam actorStyle awesome;
- Контур человечка, команда
skinparam actorStyle hollow .
Человечек из палочек (по умолчанию)
В виде бюста
[Ссылка на QA-10493]
Контур человечка
[ссылка на PR#396]
Если Вам нужно расположить описание в несколько строк, Вы можете использовать кавычки.
Также Вы можете использовать следующие разделители:
-- (тире)
.. (точки)
== (знаки равенства)
__ (подчеркивания)
Используя их попарно и помещая текст между ними, вы можете создавать разделители с заголовками.
Пожалуйста, обратите внимание, что в базовом примере псевдоним и описание изменены местами:
Вы можете использовать наборы для группировки участников или вариантов использования.
Для изменения внешнего вида набора можно воспользоваться ключевым словом rectangle используя его вместо ключевого слова package.
Для создания связей между акторами и прецедентами используется стрелка -->.
Чем больше знаков тире - в стрелке, тем она длиннее.
Вы можете добавить заметку на стрелку используя символ : после определения стрелки.
В этом примере можно заметить, что Пользователь не определён заранее и по умолчанию определяется как актор.
Если актор или прецедент являются обобщением других актора или прецедента, Вы можете использовать символ <|--.
Вы можете использовать ключевые слова note left of , note right of ,
note top of , note bottom of чтобы создать и расположить заметку относительно какого-либо элемента.
Заметка так же может быть создана с помощью ключевого слова note, а затем прикреплена к какому-либо элементу при помощи символа ...
Вы можете добавить названия шаблонов когда определяете акторов или прецеденты используя символы << и >>.
По умолчанию, связи между элементами задаются при помощи двух тире -- для сплошных линий или при помощи двух точек .. для пунктирных линий и ориентированны вертикально. Можно указать, что связь необходимо изобразить горизонтально, для этого необходимо использовать одиночное тире - для сплошной линии или одну точку . для штриховой линии.
Также можно изменить направление связи, переместив символ окончания стрелки на другую сторону:
Можно управлять направлением связи добавляя ключевые слова left, right, up
или down внутрь стрелки:
Можно использовать более короткий синтаксис используя только первый символ указанных выше ключевых слов, например -d- или -do- вместо полного слова -down-.
Правда злоупотреблять такой короткой записью не стоит, так как GraphViz обычно дает более хороший результат, когда такая короткая запись НЕ используется.
И наконец, можно поменять все направления местами используя ключевое слово left to right direction. Для этого можно сравнить предыдущую диаграмму с диаграммой, представленной ниже:
Ключевое слово newpage используется для разделения диаграмм на несколько страниц или изображений.
Общее поведение по умолчанию - построение диаграмм сверху вниз.
Вы можете изменить направление на слева направо используя команду left to right direction. Часто результат с таким направлением выглядит лучше.
_See also 'Change diagram orientation' on [Deployment diagram](deployment-diagram) page._
Вы можете использовать команду skinparam для изменения шрифтов и цветов диаграммы.
Вы можете использовать данную команду :
Вы можете определить цвет и шрифты для стереотипных акторов и вариантов использования.
Вы можете добавить символ / для того, чтобы создать Бизнес прецеденты или акторов.
Бизнес прецедент
Бизнес актор
[Ref. QA-12179]
Вы можете изменить цвет или стиль индивидуально для каждой стрелочки используя следующий встраиваемый синтаксис:
#color;line.[bold|dashed|dotted];text:color
где:
# - начало режима конфигурирования,
color - цвет стрелки,
; - разделитель между конфигурационными параметрами,
line.type - тип линии. type может принимать значения: bold - жирная, dashed - штриховая, dotted - пунктирная,
text:color - цвет текста заметки на линии.
[Ref. QA-3770 and QA-3816]
[See similar feature on deployment-diagram or class diagram]
Вы можете изменить цвет или стиль индивидуально для каждого элемента используя следующий встраиваемый синтаксис:
#[color|back:color];line:color;line.[bold|dashed|dotted];text:color
где:
# - начало режима конфигурирования,
color или back:color - цвет фона элемента,
; - разделитель между конфигурационными параметрами,
line.color - цвет контура элемента,
line.type - тип линии. type может принимать значения: bold - жирная, dashed - штрихоавя, dotted - пунктирная,
text:color - цвет текста элемента.
[Ref. QA-5340 and adapted from QA-6852]
Простой пример
[Ref. QA-15481]
Другой пример см. на JSON page.