Личный блог Михаила Шашина

Небольшие заметки и статьи, который могут быть полезны как студентам, так и обычным людям.

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

Диаграмма вариантов использования, диаграмма прецедентов, use case diagram — названий несколько, а суть одна: показать то, каким образом можно использовать моделируемую систему.


На диаграмме вариантов использования имеется три основных элемента:

  • Актеры (Actor)
  • Сами варианты использования (Use Case)
  • Отношения между ними

Актерами называются объекты, которые каким-то образом взаимодействуют с моделируемой системой. Например:

Система — программный продукт, значит Актеры — пользователи этого программного продукта (например: бухгалтер, администратор, директор).  Также в Актеры можно записать другие программные продукты, если они взаимодействуют с моделируемым посредством API, SOAP или других технологий.

Так как UML язык универсальный, то в качестве системы не обязательно могут быть программы или информационные системы. Например:

Система — библиотека. Значит Актеры — работники и посетители библиотеки (или читатели).

Система — больница. Актеры — работники, пациенты. Также могут быть добавлены вышестоящие инстанции (министерство здравоохранения, другие больницы, поликлиники и т.п.)

Следует отметить, что в зависимости от целей моделирования и требуемого уровня детализации, некоторых Актеров можно объединить в один, либо наоборот, нужно одного Актера разделить на несколько. Например, в последнем примере, Актером является работник больницы. Можно разделить всех работников на врачей, работников регистратуры, медсестер и т.д. Врачей также можно разделить по их специализации: стоматолог, хирург, офтальмолог. И даже каждую специализацию врача можно разделить еще глубже. Если конечно, этого требуют цели моделирования и сама система. Как понять насколько нужно углубляться — объясню чуть позже.

Актеры обозначаются с помощью символа человечка. Не важно, человек это, программа, организация или вообще абстрактный объект — значок всегда один:

Символ Akrot UML

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

Символ прецедента UML

Вариант использования — это собственно то, каким образом Актер использует моделируемую систему.

Примеры:

Система — больница. У Актера «Пациент» могут быть такие прецеденты: «Обратиться в  приемную», «Пройти лечение», «Получить консультацию», «Получить рецепт» и т.п.

Система — библиотека. У Актера «Посетитель» библиотеки такие варианты использования: «Записаться в библиотеку», «Взять книгу», «Вернуть книгу».

Система — какая-нибудь программа. У Актера «Пользователь» могут быть такие варианты использования: «Авторизация», «Редактирование профиля», «Формирование отчета», «Ввод данных», и т.п.

Чтобы показать, как связаны Актеры и Прецеденты, используется обычная стрелочка (конечно, в UML есть разные типы стрелочек, но для базового уровня достаточно одного).

Ведем стрелочку от Актера к Прецеденту, тем самым показываем, что данный Вариант использования выполняет именно этот Актер:

Каждый Актер может выполнять любое количество Прецедентов, и каждый Прецедент может выполняться любым количеством Актеров.

Выше я писал, что объясню как понять, когда нужно делить актера на несколько разных, а когда не нужно:

Если у разных актеров одинаковый набор прецедентов, то их можно объединить и заменить одним обобщающим значком.

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

Кратко алгоритм построения диаграммы вариантов использования (или прецедентов) можно написать таким образом:

  1. Выделяем всех Актеров (то есть все объекты, которые взаимодействуют с моделируемой системой)
  2. Выделяем для каждого Актера его прецеденты, или варианты использования.
  3. Смотрим, чтобы у не было Актеров-дубликатов (то есть, имеющих одинаковый набор прецедентов).

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

Ниже представлено несколько примеров диаграмм вариантов использования:

Предыдущее изображение
Следующее изображение

info heading

info content

One Comment

Post a comment