
Курсова БД / Література / CASE-средства_lab
.pdfЛабораторная работа № 3. ДИАГРАММЫ КЛАССОВ
Цель работы: ознакомиться с созданием логической модели информационной системы; изучить нотации, применяемые при построении диаграмм классов и освоить их применение в процессе объектно-ори- ентированного анализа и проектирования.
Основные понятия
Диаграммы классов являются центральным звеном методологии объектно-ориентированного анализа и проектирования. Диаграмма класса показывает классы и их отношения, тем самым представляя логический аспект проекта. На стадии анализа диаграммы классов используются, чтобы выделить общие роли и обязанности объектов (сущностей), обеспечивающих требуемое поведение системы, на стадии проектирования – чтобы передать структуру классов, формирующих архитектуру системы. Каждый класс должен иметь имя. Имя каждого класса должно быть уникально в содержащем его проекте. Диаграмма классов определяет этапы объектов системы и различные статистические связи, которые существует между ними. Имеется два основных вида статистических связей:
–ассоциации (например, менеджер может вести несколько проектов);
–подтипы (работник является разновидностью личности).
На диаграммах классов также изображаются атрибуты классов, операции и ограничения, которые накладываются на связи между объектами.
Ассоциации представляют собой связи между экземплярами классов (личность работает в компании, компания имеет ряд офисов). Любая ассоциация обладает двумя ролями. Например (рис. 3) – ассоциация между Исполнителем и Отчетом содержит две роли: одна от Исполнителя к Отчету; другая – от Отчета к Исполнителю. Роль также обладает множественностью. Пример – символ "0..*" над ассоциацией между Менеджером и Контрактом показывает, что с одним Менеджером связано много Контрактов. 0 – показывает, что Менеджер может не управлять контрактом; 1 – показывает, что любой Контракт может управляться только одним Менеджером.
Для ассоциации может указываться направление навигации, если направление не указывается, то ассоциация двунаправленная или ее направление неизвестно.
19

Атрибуты во многом подобны ассоциациям. Разница между ними заключается в том, что атрибуты предполагают единственное направление навигации – от типа к атрибуту. На рисунке указаны атрибуты для классов Контракт и Отчет. В зависимости от степени детализации диаграммы обозначение атрибута может включать имя атрибута, тип и значение, присваемое по умолчанию. В синтаксисе UML атрибут обозначен: <признак видимости> <имя>: <тип> = <значение по умолчанию>. Признак видимости может принимать следующие значения:
–общий (public) – атрибут общий, доступен для всех классов клиентов;
–защищенный (protected) – атрибут защищенный, доступен только для подклассов и друзей класса;
–секретный (private) – атрибут собственный, доступен только для друзей класса;
–реализация (implementation) – атрибут внедренный, доступен внутри обрамляющего пакета.
Операции представляют процессы, реализуемые классом. Существует соответствие между операциями и методами над классом. На рис. 3 приведены операции над классом Контракт Закрыть (), над классом Отчет – Добавить().
Нотации логического представления (диаграммы классов)
А
Ключ – класс А с известным ключом, набором атрибу-
тов и операциями над объектами,
Атрибуты
Операции
k m
–ассоциация между классами с обозначением возможных видов связи:
i.m {1, n, 0..1, 0..*, 1..*},
ii.k {1, n, 0..1, *, 0..*, 1..*}.
Примечание: Первый атрибут в структуре реляционной таблицы имеет характеристику Ключ, что означает однозначное определение объекта в классе.
20

Пример. Диаграмма классов "Управление проектами". Статическая модель. Все данные о проекте можно свести в реляционную модель. Объекты сведены в классы, классы описываются атрибутами. Каждый класс имеет свое поведение по отношению к выполнению проекта.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
К онтракт |
|
|
|
|
|
|
|
|
|
|
М енедж ер проекта |
|
|
|
Номер контракта |
|
|
|
(fro m Use Ca se Vi ew) |
|
|
|
Д ата заклю ч ения |
|
|
|
|
|
|
|
|
Заказчик |
|
Код м енед жера |
|
|
|
|
|||
Ф амилия |
1 |
|
0..* |
Д ата окончания |
|
||
|
|
|
|
||||
Телефон |
|
|
|
Стоимость |
|
||
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Закрыть () |
|
Назначить() |
|
1 |
|
|
|||
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
0..* |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Исполнитель |
|
|
Отчет |
|
|
|
|
|
|
|
|
|
|
|
|
(fro m Use Ca se V i ew) |
|
|
Ном ер отч ета |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Дата |
|
|
|
|
К од ис понителялнителя |
|
|
0..* |
|
|
0..1 |
|
||
|
|
|
Имя |
|
|||
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
Ф ормировать()
С отру дник
(fro m Use Ca se Vi e w)
К од с отруд ника
Ф амилия
Д обавить()
Субподряд ч ик
(fro m Use Ca se Vi ew)
Код с убпод ряд чика Ф ирма Ад рес
Контактное лицо
Добавить()
Рис. 2. Диаграмма классов. Управление проектами
После создания диаграммы классов в диаграмме прецедентов к субъектам, используемым диаграммой классов, будут добавлены параметры класса.
21

Внешняя сущ ность по отнош ению к проекту
Одна из фу нкций с истемы
Ммодифицировать план
Менеджер проекта |
|
|
Назначить ресу рс |
|
|
Код менеджера |
Исполнитель |
|
Ф амилия |
||
|
||
Телефон |
Код испонителялнител я |
|
|
||
|
Имя |
|
Назначить() |
|
|
Получить отчет |
Ф ормировать() |
Субподрядчик
|
Сотрудник |
|
|
|
|
|
|
|
|
|
|
|
|
Код с убподрядчика |
|
Код сотрудника |
|
|
|
|
|
|
Ф ирма |
|
|
Ф амилия |
|
|
|
|
|
|
Адрес |
|
|
|
|
|
|
|
|
|
|
Контактное лицо |
|
Добавить() |
|
|
|
|
|
|
|
|
|
|
|
|
Добавить() |
Рис. 3. Диаграмма прецедентов после создания диаграммы классов
Технология выполнения работы
Технологический процесс создания диаграммы классов
1.Подготовка:
a. В навигаторе модели открыть Logical View. b. Там же открыть Main.
c. Дать имя диаграмме классов.
i.В контекстном меню для Main выбрать команду Rename.
ii.Ввести имя диаграммы классов.
2.Создание класса:
a. Нажать кнопку создания класса.
22

b. В окне диаграммы классов указать место класса. c. Щелчком вызвать изображение класса.
d. Ввести имя класса:
i.не повторяющееся с именами субъектов диаграммы прецедентов
ii.Являющиеся субъектами, их необходимо привести в стандартный для класса вид командой Format/Stereotype Display.
3.Оформить класс:
a. В контекстном меню класса выбрать команду New Attribute. b. Ввести имя атрибута.
c. Активизировав класс, щелкнуть по значку атрибута. d. В списке выбрать требуемый значок атрибута:
public (default) protected private implemented
e. В контекстном меню класса выбрать команду New Operation. f. Ввести имя операции.
g. Повторить п.п. 2e, iii, iv для операции.
4.Создание ассоциации:
a. Нажать кнопку создания ассоциации.
b. Нарисовать стрелку от одного класса к другому. c. Отрегулировать размещение классов в диаграмме.
5.Оформить ассоциацию:
a. В контекстном меню ассоциации выбрать команду Multiplicity. b. В списке выбрать требуемый вид ассоциации
1 – обязательная однозначная;
0 .. * – Zero or More, необязательная многозначная;
1 .. * – One or More, обязательная многозначная;
0 .. 1 – Zero or One, необязательная однозначная;
c. В контекстном меню ассоциации выбрать команду Navigable, убрав "галочку".
Задания
Построить диаграмму классов для представления использования варианта лабораторной работы 2.
5. Определить объекты (сущности), привязав их к диаграмме прецедентов.
23
a. Дать имя классу для однотипной группы объектов, например объекты Менеджеры можно поместить в класс Менеджер.
b. Назначить атрибут – ключ (идентификатор объекта), например для объекта Менеджер – это может быть Код менеджера.
c. Указать основную операцию над классом, например для класса Менеджер – Добавить().
6. Построить отношения между классами на основе ассоциаций
a. Определить направление и множественность, указав нижние и верхние границы.
Вопросы для самостоятельной работы
1.Назначение диаграммы классов.
2.Для чего используется диаграмма классов на стадии анализа?
3.Назовите основные компоненты диаграммы классов.
4.Что собой представляет ассоциация?
5.В чем смысл множественной ассоциации?
6.Как описывается класс?
7.Значение характеристики атрибута ключ.
8.Что входит в описание атрибута?
9.Что такое признак видимости?
10.Что представляет собой операция класса?
24
Лабораторная работа № 4. ДИАГРАММЫ ВЗАИМОДЕЙСТВИЯ
Цель работы: ознакомиться с созданием моделей, описывающих поведение взаимодействующих групп объектов; изучить нотации, применяемые при построении диаграмм взаимодействия и освоить их применение в процессе объектно-ориентированного анализа и проектирования.
Основные понятия
Диаграммы взаимодействия являются моделями, описывающими поведение взаимодействующих групп объектов. Как правило, диаграмма взаимодействия охватывает поведение только одного варианта использования. На такой диаграмме отображается ряд объектов и те сообщения, которыми они обмениваются между собой в рамках одного варианта использования.
Пример. Управление проектами (рис. 5)
–Менеджер обдумывает поручение отчета исполнителю;
–дает указания на создание Отчета Исполнителю;
–если Отчет неудовлетворительный, Менеджер посылает
–запрос Исполнителю на обновление Отчета;
–Исполнитель создает новый Отчет;
–Менеджер делает повторный запрос Отчета. Существует два вида диаграмм взаимодействия: диаграммы после-
довательности (sequence diagrams) и кооперативные, или сотрудничества (collaboration diagrams).
Диаграммы последовательности определяют временную последовательность передаваемых сообщений, порядок, вид и тип сообщения, происходящих в рамках варианта использования. Диаграммы последовательности и кооперативные являются разными взглядами на одни и те же процессы, поэтому Rational Rose позволяет создать из диаграммы последовательности диаграмму Кооперации и наоборот, а также производит автоматическую синхронизацию этих диаграмм.
На диаграмме последовательности взаимодействие изображается в виде двумерной схемы: вертикальное (время) и горизонтальное (объекты, участвующие во взаимодействии). Существенна только последовательность сообщений, однако временная ось может служить реальной метрикой измерения активности объекта.
–Действующие лица из варианта использования.
–Объекты, требуемые системе для выполнения варианта использования.
25

–Линии жизни, представляющие фрагмент жизненного цикла объекта в процессе взаимодействия, где течение времени идет сверху вниз, идут сверху.
–Активный период линии жизни.
–Сообщение, передающееся от одного объекта к другому в порядке следования жизненного цикла, при желании может быть помечено именем и аргументом, управляющим событием, например, сообщение посылается, если Отчет не устарел.
–Самоделегирование (рекурсивное сообщение) – сообщение самому себе.
На кооперативной диаграмме экземпляры объектов показаны в виде пиктограмм. Линии между ними обозначают сообщения, обмен которыми осуществляется в рамках данного варианта использования. Каждый вид диаграмм имеет свои преимущества. На диаграмме последовательности легче наблюдать порядок, в котором происходят события.
Вслучае кооперативных диаграмм можно использовать пространственное расположение объектов, чтобы показать их статическое взаимодействие.
Нотации диаграммы последовательности
|
Объект1: Имя |
– Изображение Объекта |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
– Линия жизни |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
– Сообщение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
– Время активности объекта |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
– Самоделегирование
– Удаление объекта
26

Изображение диаграммы в виде двумерной схемы
Объект1: Имя |
|
Объект2: Имя |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример. Последовательность действий и кооперация между объектами при создании отчета "Управление проектами".
Менеджер
Исполнитель Отчет
проекта
Рис. 4. Диаграмма последовательности создания отчета "Управление проектами"
27

1:
6:
|
2: |
|
4: |
Менеджер |
Исполн |
проект |
Исполнитель |
проекта |
и |
а |
|
5:
3:
Отчет
Рис. 5. Кооперативная диаграмма "Управление проектами"
Технология выполнения работы
Технологический процесс создания диаграммы последовательности
1.Подготовка:
d. В меню выбрать команду Browse/Interaction Diagram/New для вызова окна Select Interaction Diagram.
e. В подокне Package окна Select Interaction Diagram выбрать Use Case View, нажать ОК.
f. В диалоговом окне New Interaction Diagram в поле Title ввести имя диаграммы последовательности.
g. В диалоговом окне New Interaction Diagram выбрать тип диаграммы sequence, нажать ОК.
2.Создание объекта:
a. Нажать кнопку создания объекта.
b. В окне диаграммы классов указать место объекта.
c. Щелчком вызвать изображение объекта и соответствующей ему линии жизни.
d. Через контекстное меню открыть окно Object Specification и ввести имя объекта и соответствующий ему класс.
28