Диаграмма вариантов использования (диаграмма прецедентов)

Источники:

Диаграммы вариантов использования

Анализ предметной области и требования к ПО

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

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

Сама моделируемая система представляется на диаграмме в виде прямоугольного блока с меткой <subject>. Внутри субъекта указывается название системы и размещаются варианты её использования. 

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

При моделировании системы с помощью диаграммы прецедентов системный аналитик стремится:

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

Работа над диаграммой может начаться с текстового описания, полученного при работе с заказчиком. При этом нефункциональные требования (например, конкретный язык или система программирования) при составлении модели прецедентов опускаются (для них составляется другой документ)

Для отражения модели прецедентов на диаграмме используются:

  • рамки системы (англ.system boundary) — прямоугольник с названием в верхней части и эллипсами (прецедентами) внутри, часто может быть опущен без потери полезной информации;
  • эктор (действующее лицо) — стилизованный человечек, обозначающий набор ролей пользователя (понимается в широком смысле: человек, внешняя сущность, класс, другая система), взаимодействующего с некоторой сущностью (системой, подсистемой, классом); экторы не могут быть связаны друг с другом (за исключением отношений обобщения/наследования);
  • прецедент (вариант использования) — эллипс с надписью, обозначающий выполняемые системой действия (могут включать возможные варианты), приводящие к наблюдаемым экторами результатам;
  • связи между прецедентами и экторами.

Часть дублирующейся информации в модели прецедентов можно устранить указанием связей между прецедентами и действующими лицами:
  • включение прецедента - пунктирная стрелка со стереотипом «include»;
  • расширение прецедента - пунктирная стрелка со стереотипом «extend» (стрелка входит в расширяемый прецедент);
  • наследование (обобщение) - стрелка с незакрашенным треугольником (треугольник ставится у родительского класса (эктора)).
При работе с вариантами использования важно помнить несколько простых правил:
  • каждый прецедент относится как минимум к одному действующему лицу;
  • каждый прецедент имеет инициатора;
  • каждый прецедент приводит к соответствующему результату.
Примеры:
1. Примеры наследования (обобщения)



2. Примеры расширения


3. Примеры включения