Вариант использования представляет собой последовательность действий (транзакций) выполненных системой в ответ на события, инициируемые действующим лицом. Вариант использования описывает типичное взаимодействие между пользователем и системой и отражает представления о поведении системы с точки зрения пользователя.
Действующее лицо - это роль, которую пользователь играет по отношению к системе. Действующие лица представляют собой роли, а не конкретных людей или наименование работы. Действующие лица делятся на 3 основных типа:
- пользователи системы
- другие системы, взаимодействующие с данными
- время (если от него зависит запуск каких-либо событий в системе)
Цель построения диаграммы - это документирование функциональных требований к системе в самом общем виде, поэтому они должны быть предельно просты. Некоторые правила при построении диаграмм:
- Не моделировать связи между действующими лицами, по определению действующие лица находятся вне сферы деятельности.
- Не соединять стрелкой два варианта использования непосредственно. USE CASE не описывает порядок их выполнения.
- Каждый вариант использования должен вариант использования должен быть инициирован действующим лицом.
Моделирование вариантов использования не сводится только к рисованию диаграммы. Для последующего проектирования системы требуются более конкретные детали, они описываются в документе называемом "сценарий вариантов использования" (поток событий). Цель - описать, что будет делать система, а не она будет делать это.
Обычно описание потока событий включает следующие разделы:
- Краткое описание
- Предусловие
- Основной поток событий
- Альтернативные потоки событий
- Постусловие
- Расширения
Основной и альтернативный потоки событий:
Постусловия - это такие условия, которые всегда должны быть выполнены после завершения варианта использования. Например, если после 1-го из вариантов использования должен всегда выполняться другой это можно описать как постусловие.
Расширение - это пункт, присутствует, если в основном потоке событий имеют место относительно редко встречающиеся ситуации.
Типы связей:
Связи коммуникаций, включения, расширения и обобщения.
Связь коммуникаций - это связь между вариантами использования и действующим лицом.
Включение - применяется в тех случаях, когда имеется какой-либо фрагмент поведения системы, которая повторяется более чем в одном варианте использования.
Связь с расширением - применяется при наличии изменений в нормальном поведении системы, которые также вносятся в отдельный вариант использования.
Достоинства моделей USE CASE:
- Определяют пользователей и границы системы.
- Определяют системный интерфейс.
- Удобное общение пользователя с разработчиком.
- Используются для написания тестов.
- Является основой для написания пользовательской документации и хорошо вписывается в любые методы проектирования.