ООТ Объектно-ориентированное проектирование в CASE-системе StarUML: диаграммы прецедентов

Автор работы: Пользователь скрыл имя, 21 Февраля 2012 в 18:23, контрольная работа

Описание

Цели: изучить диаграммы прецедентов.
Задачи: научиться правильно применять диаграммы прецедентов на практике.

Содержание

Введение 3
Диаграммы прецедентов и их нотация 4
Состав диаграммы прецедентов 4
Наследование 6
Включение 7
Моделирование при помощи диаграмм прецедентов 8
Вывод 8
Список литературы 11

Работа состоит из  1 файл

ООТ Ермилин409(5).docx

— 37.84 Кб (Скачать документ)

Федеральное агентство по образованию РФ

Государственного образовательного учреждения

высшего профессионального  образования

«Челябинский Государственный  Педагогический Университет»

(ГОУВПО «ЧГПУ») в г.  Миассе

Кафедра общегуманитарных и  социально-экономических дисциплин

 

 

 

 

 

 

 

 

 

Контрольная работа

 

Тема: Объектно-ориентированное проектирование в CASE-системе StarUML: диаграммы прецедентов

 

 

 

Выполнил:

Студент группы 409/5

Специальность ПРО ИВТ  и КТ

Ермилин В.А

 

 

Проверил:

к.п.н.

Ступина В.С.

 

 

 

 

 

 

 

 

 

 

 

 

Миасс, 2012

 

Оглавление

Введение 3

Диаграммы прецедентов и их нотация 4

Состав диаграммы прецедентов 4

Наследование 6

Включение 7

Моделирование при помощи диаграмм прецедентов 8

Вывод 8

Список литературы 11

 

 

  

Введение

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

Диаграммы прецедентов применяются  для моделирования вида системы  с точки зрения прецедентов (или  вариантов использования). Чаще всего  это предполагает моделирование  контекста системы, подсистемы или  класса либо моделирование требований, предъявляемых к поведению указанных  элементов.

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

Цели: изучить диаграммы  прецедентов.

Задачи: научиться правильно  применять диаграммы прецедентов  на практике.

 

 

 

Диаграммы прецедентов и их нотация

Диаграммы прецедентов(Рис.1) составляют модель прецедентов (вариантов использования, use-cases). Прецедент - это функциональность системы, позволяющая пользователю получить некий значимый для него, ощутимый и измеримый результат. Каждый прецедент соответствует отдельному сервису, предоставляемому моделируемой системой в ответ на запрос пользователя, т. е. определяет способ использования этой системы. Именно по этой причине use cases, или прецеденты, часто в русской терминологии фигурируют как варианты использования. Варианты использования чаще всего применяются для спецификации внешних требований к проектируемой системе или для спецификации функционального поведения уже существующей системы. Кроме этого, варианты использования неявно описывают типичные способы взаимодействия пользователя с системой, позволяющие корректно работать с предоставляемыми системой сервисами.

Состав  диаграммы прецедентов

Диаграмма прецедентов  Рис1.

Первое, что бросается  в глаза, - большой прямоугольник, внутри которого размещаются эллипсы, обозначающие прецеденты. В верхней части прямоугольника указано название моделируемой системы, а называют его рамками системы (system boundary, subject boundary), контекстом  или просто системой. Этот элемент диаграммы показывает границу между тем, что вы как аналитик показали в виде прецедентов (внутри этих рамок), и тем, что вы изобразили как действующие лица (вне их). Чаще всего таким прямоугольником показывают границы самой моделируемой системы. То есть внутри границы находятся прецеденты - тот функционал, который реализует система (и в этом смысле прецеденты могут рассматриваться как представления подсистем и классов модели), а снаружи - действующие лица: пользователи и другие внешние сущности, взаимодействующие с моделируемой системой.

Кроме рамок системы или  ее контекста на диаграмме мы видим  еще два вида связанных с ней  сущностей - это действующие лица  (экторы, actors) и прецеденты.

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

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

Эктор Рис. 2.

 

Несмотря на "человеческий" вид этого обозначения, не следует  забывать, что экторы - это не обязательно люди. Эктором может быть внешняя система, подсистема, класс и т. д. Кстати, человечек ( "stick-person" ) - это не единственное обозначение эктора, используемое в UML. На диаграммах прецедентов обычно применяется именно "человекоподобная" форма эктора, но на других диаграммах, и особенно в случаях, когда эктор имеет атрибуты, которые важно показать, используется изображение эктора как класса со стереотипом <<actor>> .

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

Наследование

Экторы не могут быть связаны друг с другом. Единственное допустимое отношение между экторами - генерализация  ( наследование ).

При создании модели прецедентов такое общение считается несущественным.

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

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

Включение

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

Изображается включение как зависимость (пунктирная линия со стрелкой)со стереотипом <<include>>. При этом стрелка направлена, естественно, в сторону включаемого прецедента. Этот факт легко объяснить, если вспомнить утверждение, которое мы уже несколько раз использовали в этом курсе: стрелка всегда направлена в сторону того элемента, от которого что-то требуется, чьими сервисами пользуются. А если считать, что объемлющий прецедент включает в себя, заимствует (использует) поведение включаемых прецедентов, становится ясно, что стрелка может быть направлена только таким образом.

Моделирование при помощи диаграмм прецедентов

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

Вывод

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

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

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

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

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

С целью поиска ошибок и  чтобы убедиться в адекватности дизайна: отличная идея после первого перевода с UML на язык программирования сделать обратный перевод и сравнить исходные и восстановленные UML-модели (желательно, чтобы эти переводы выполнялись разными командами). Это позволит убедиться в том, что дизайн системы соответствует модели, никакая информация в ходе перевода не была утеряна, да и попросту выловить некоторые "баги". Такой подход называется обратной семантической трассировкой (или RST - Reverse Semantic Traceability) и разрабатывается компанией INTSPEI (http://www.intspei.com) как одна из базовых техник методологии INTSPEI P-Modeling Framework, краткие сведения о которой вы можете найти в приложении к этому курсу.

Когда отсутствует документация: иногда стоит задача модификации  существующей системы, код которой  плохо документирован. В таком  случае перевод с языка программирования на язык UML-диаграмм - отличный способ понять назначение системы и ее частей, функционал, предоставляемый ею, и т. д.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

Список  литературы

  1. Бабич, А.В. Введение в UML [Электронный ресурс] / А.В. Бабич. – http://www.intuit.ru/department/se/intuml/0
  2. Википедия, свободная энциклопедия /прецедент UML [Электронный ресурс]http://ru.wikipedia.org/wiki/Прецедент_(UML)
  3. Библиотека MNWhost.ru / Язык UML. Руководство пользователя[Электронный ресурс] http://sitemonitor.ru/doc/UML_HTM/gl_17.htm

Информация о работе ООТ Объектно-ориентированное проектирование в CASE-системе StarUML: диаграммы прецедентов