https://electroinfo.net

girniy.ru 1 2 ... 5 6
Лабораторная работа № 2.

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



Цель работы: построить диаграмму прецедентов (use case diagram)

Теоретические сведения



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


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


Разработка диаграммы вариантов использования преследует цели:

  • Определить общие границы и контекст моделируемой предметной облас­ти на начальных этапах проектирования системы.

  • Сформулировать общие требования к функциональному поведению про­ектируемой системы.

  • Разработать исходную концептуальную модель системы для ее после­дующей детализации в форме логических и физических моделей.

  • Подготовить исходную документацию для взаимодействия разработчиков системы с ее заказчиками и пользователями.

Суть данной диаграммы состоит в следующем: проектируемая система пред­ставляется в виде множества сущностей или актеров, взаимодействующих с системой с помощью так называемых вариантов использования. При этом актером (actor) или действующим лицом называется любая сущность, взаи­модействующая с системой извне. Это может быть человек, техническое устройство, программа или любая другая система, которая может служить источником воздействия на моделируемую систему так, как определит сам разработчик. В свою очередь, вариант использования (use case) служит для описания сервисов, которые система предоставляет актеру. Другими слова­ми, каждый вариант использования определяет некоторый набор действий, совершаемый системой при диалоге с актером. При этом ничего не говорится о том, каким образом будет реализовано взаимодействие актеров с системой.



Примечание

Рассматривая диаграмму вариантов использования в качестве модели систе­мы, можно ассоциировать ее с моделью черного ящика". Действи­тельно, подробная детализация данной диаграммы на начальном этапе проек­тирования скорее имеет отрицательный характер, поскольку предопределяет I способы реализации поведения системы. А согласно рекомендациям RUP, именно эти аспекты должны быть скрыты от разработчика на диаграмме вари­антов использования


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


Рекомендации по разработке диаграмм вариантов использования


Главное назначение диаграммы вариантов использования заключается в формализации функциональных требований к системе с помощью понятий соответствующего пакета и возможности согласования полученной модели с заказчиком на ранней стадии проектирования. Любой из вариантов исполь­зования может быть подвергнут дальнейшей декомпозиции на множество подвариантов использования отдельных элементов, которые образуют ис­ходную сущность. Рекомендуемое общее количество актеров в модели — не более 20, а вариантов использования — не более 50. В противном случае мо­дель теряет свою наглядность и, возможно, заменяет собой одну из некото­рых других диаграмм.

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


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

Функциональность, определенная для более общего варианта использования, полностью наследуется всеми вариантами нижних уровней. Однако следует заметить, что структура элемента-контейнера не может быть представлена вариантами использования, поскольку они могут представлять только функциональность отдельных элементов модели. Подчиненные варианты исполь­зования кооперируются для совместного выполнения суперсервиса варианта использования верхнего уровня. Эта кооперация также может быть пред­ставлена на диаграмме кооперации в виде совместных действий отдельных элементов модели.

Отдельные варианты использования нижнего уровня могут участвовать в нескольких кооперациях, т. е. играть определенную роль при выполнении сервисов нескольких вариантов верхнего уровня. Для отдельных таких коо­пераций могут быть определены соответствующие роли актеров, взаимодей­ствующих с конкретными вариантами использования нижнего уровня. Эти роли будут играть актеры нижнего уровня модели системы. Хотя некоторые из таких актеров могут быть актерами верхнего уровня, это не противоречит принятым в языке UML семантическим правилам построения диаграмм ва­риантов использования. Более того, интерфейсы вариантов использования верхнего уровня могут полностью совпадать по своей структуре с соответст­вующими интерфейсами вариантов нижнего уровня.


Окружение вариантов использования нижнего уровня является самостоя­тельным элементом модели, который в свою очередь содержит другие эле­менты модели, определенные для этих вариантов использования. Таким об­разом, с точки зрения общего представления верхнего уровня взаимодейст­вие между вариантами использования нижнего уровня определяет результат выполнения сервиса варианта верхнего уровня. Отсюда следует, что в языке UML вариант использования является элементом-контейнером.

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

Реализация варианта использования зависит от типа элемента модели, в ко­тором он определен. Например, поскольку варианты использования класса определяются посредством операций этого класса, они реализуются соответ­ствующими методами. С другой стороны, варианты использования под­системы реализуются элементами, из которых состоит данная подсистема. Поскольку подсистема не имеет своего собственного поведения, все пред­лагаемые подсистемой сервисы должны представлять собой композицию сервисов, предлагаемых отдельными элементами этой подсистемы, т. е., в конечном итоге, классами. Эти элементы могут взаимодействовать друг с другом для совместного обеспечения требуемого поведения отдельного ва­рианта использования. Такое совместное обеспечение требуемого поведения описывается специальным элементом языка UML — кооперация или сотрудничество, который будет рассмотрен в главе 9, посвященной построению диаграмм кооперации. Здесь лишь отметим, что кооперации используются как для уточнения спецификаций в виде вариантов использования нижних уровней диаграммы, так и для описания особенностей их последующей реа­лизации.


Если в качестве моделируемой сущности выступает система или подсистема самого верхнего уровня, то отдельные пользователи вариантов использова­ния этой системы моделируются актерами. Такие актеры, являясь внутрен­ними по отношению к моделируемым подсистемам нижних уровней, часто в явном виде не указываются, хотя и присутствуют неявно в модели подсис­темы. Вместо этого варианты использования непосредственно обращаются к тем модельным элементам, которые содержат в себе подобные неявные актеры, т. е. экземпляры которых играют роли таких актеров при взаимо­действии с вариантами использования. Эти модельные элементы могут со­держаться в других пакетах или подсистемах. В последнем случае роли оп­ределяются в том пакете, к которому относится соответствующая подсистема С системно-аналитической точки зрения построение диаграммы вариантов использования специфицирует не только функциональные требования к проектируемой системе, но и выполняет исходную структуризацию пред­метной области. Последняя задача сочетает в себе не только следование тех­ническим рекомендациям, но и является в некотором роде искусством, уме­нием выделять главное в модели системы. Хотя рациональный унифициро­ванный процесс не исключает итеративный возврат в последующем к диаграмме вариантов использования для ее модификации, не вызывает со­мнений тот факт, что любая подобная модификация потребует, как по це­почке, изменений во всех других представлениях системы. Поэтому всегда необходимо стремиться к возможно более точному представлению модели именно в форме диаграммы вариантов использования.

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



следующая страница >>