Pull to refresh

UML — диаграмма вариантов использования (use case diagram)

Reading time 3 min
Views 173K
Диаграммы вариантов использования описывают взаимоотношения и зависимости между группами вариантов использования и действующих лиц, участвующими в процессе.

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

Вариант использования (use case)

Вариант использования описывает, с точки зрения действующего лица, группу действий в системе, которые приводят к конкретному результату.
Варианты использования являются описаниями типичных взаимодействий между пользователями системы и самой системой. Они отображают внешний интерфейс системы и указывают форму того, что система должна сделать (именно что, а не как).
При работе с вариантами использования важно помнить несколько простых правил:
  • каждый вариант использования относится как минимум к одному действующему лицу,
  • каждый вариант использования имеет инициатора,
  • каждый вариант использования приводит к соответствующему результату (результату с «бизнес-значением»).
Варианты использования также могут взаимодействовать с другими вариантами использования. Три наиболее часто встречающихся типа взаимодействия между вариантами использования приведены ниже.
  • Включение указывает, что вариант использования встраивается в другой вариант использования.
    включение
    В данном примере вариант использования Part включается в вариант использования Base.

  • Добавление указывает, что в определённых ситуациях или в некоторой точке (называемой точкой расширения) вариант использования будет расширен другим.
    добавление
    В данном примере вариант использования Base расширяется вариантом использования Another.

  • Обобщение указывает, что вариант использования наследует характеристики «родительского» варианта использования и может переопределить некоторые из них или добавить новые, подобно наследованию в классах.
    обобщение
    В данном примере вариант использования Child обобщает вариант использования Base.

Действующее лицо (actor)

Действующее лицо является внешним источником (не элементом системы), который взаимодействует с системой через вариант использования. Действующие лица могут быть как реальными людьми (например, пользователями системы), так и другими компьютерными системами или внешними событиями.

Действующие лица представляют не физических людей или системы, а их роли. Эти означает, что когда человек взаимодействует с системой различными способами (предполагая различные роли), он отображается несколькими действующими лицами. Например, человек, работающий в службе поддержки и принимающий от клиентов заказы, будет отображаться в системе как «участник отдела поддержки» и «участник отдела продаж».

Действующие лица могут иметь два типа связей с вариантами использования:
  • Простая ассоциация — отражается линией между актером и вариантом использования (без стрелки). Отражает связь актера и варианта использования.
    простая ассоциация
  • Направленная ассоциация — то же что и простая ассоциация, но показывает, что вариант использования инициализируется актером. Обозначается стрелкой.
    направленная ассоциация

Описание варианта использования


Описания вариантов использования являются текстовыми пояснениями. Они обычно принимают форму заметки или документа, который каким-то образом прикрепляется к варианту использования и описывает процесс или активность.

Заметки

На мой взгляд проектирование нового компонента нужно вести в следующей последовательности: диаграмма вариантов использования (use case diagram) => диаграмма последовательности действий (sequence diagram) => диаграмма классов (class diagram). Соответственно при создании документации существующего кода последовательность действий будет обратной. Здесь было рассказано о диаграмме классов, поэтому для полноты обзора пока не хватает диаграммы последовательности действий.
Tags:
Hubs:
+8
Comments 16
Comments Comments 16

Articles