О диаграммах вариантов использования

Основное предназначение диаграмм вариантов использования – это отобразить в графическом виде, что полезного для пользователя может делать проектируемое программное обеспечение. Напомним, что диаграмма вариантов использования может содержать в себе сущности языка UML трех видов:

· актеры,

· варианты использования,

· отношения.

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

 

 

Рис. П1.6. Значок актера

Актером может быть как человек-пользователь системы, так и другая система, взаимодействующая с разрабатываемой системой. Если быть более точным, то актер олицетворяет собой группу нескольких реально существующих лиц или систем, с одинаковыми возможностями по отношению к проектируемой системе. Например с системой сети торговых точек взаимодействует Пользователь -актер, который выполняет все действия, предусмотренные системой. В реальной жизни в качестве пользователя выступает совладелец Администратор торговой точки.

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

1. Актер вызывает функцию обновления данных.

2. Система запрашивает у актера подтверждение «Обновление данных из внешней системы приведет к потере всех текущих данных в системе. Вы действительно хотите обновить данные?»

3. Актер подтверждает обновление.

4. Система обращается к внешней системе с запросом на получение данных о чем-нибудь.

5. Система получает от внешней системы данные о чем-нибудь и сохраняет их.

6. Система выдает сообщение «Обновление данных успешно завершено»

7. Актер подтверждает прочтение сообщения

8. Выполнение варианта использования заканчивается.

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

 

 

 

Рис. П1.7. Пример простейшей диаграммы вариантов использования

Теперь, основываясь на приведенном примере, рассмотрим следующие типы возможных отношений между вариантами использования:

· расширение (extend),

· включение (include),

· наследование (generalization).

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

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

 

Рис. П1.8. Пример диаграммы вариантов использования с отношением extend

 

Спецификация варианта использования «Обновить данные о чем-нибудь из внешней системы» изменится и будет следующей:

1. Актер вызывает функцию обновления данных.

2. Система запрашивает у актера подтверждение «Обновление данных из внешней системы приведет к потере всех текущих данных в системе. Вы действительно хотите обновить данные?».

3. Актер подтверждает обновление.

4. Система выполняет вариант использования «Получить данные из внешней БД».

6. Система выдает сообщение «Обновление данных успешно завершено».

7. Актер подтверждает прочтение сообщения.

8. Выполнение варианта использования заканчивается.

Спецификация варианта использования «Получить данные из внешней БД» будет выглядеть следующим образом:

1. Система обращается к внешней системе с запросом на получение данных о чем-нибудь.

2. Система получает от внешней системы данные о чем-нибудь и сохраняет их.

3. Выполнение варианта использования на этом заканчивается.

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

 

Рис. П1.9. Пример диаграммы вариантов использования с отношением include

 

Спецификация вариантов использования будет выглядеть следующим образом. Вариант использования «Обновить данные о чем-нибудь из внешней системы»:

1. Актер вызывает функцию обновления данных.

4. Система выполняет вариант использования «Получить данные из внешней БД».

6. Система выдает сообщение «Обновление данных успешно завершено».

7. Актер подтверждает прочтение сообщения.

8. Выполнение варианта использования заканчивается.

Вариант использования «Получить данные из внешней БД»:

1. Система обращается к внешней системе с запросом на получение данных о чем-нибудь.

2. Система получает от внешней системы данные о чем-нибудь и сохраняет их.

3. Выполнение варианта использования на этом заканчивается.

Видно, что применение отношения включения здесь правомочно, так как вариант использования «Получить данные из внешней БД» будет выполнен в любом случае.

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

 

Рис. П1.10. Пример диаграммы вариантов использования с отношением наследования

Как видно на диаграмме варианта использования «Создание чего-либо» и «Редактирование чего-либо» наследуются от абстрактного варианта использования «Создание-редактирование чего-либо». Абстрактный вариант использования – это такой вариант использования, который не содержит в себе спецификаций шагов актера и реакций системы. Кроме этого на диаграмме видно, что абстрактный вариантов использования «Создание-редактирование чего-либо» расширяется вполне конкретными вариантами использования «Создание записи в операционном журнале», «Проверка правильности данных», «Уведомление генерального директора».


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: