Проектирование информационных систем: Методические указания к лабораторным и курсовым работам, страница 7

После получения сбалансированной CRC-таблицы классы можно расположить на диаграмме классов. Отношения между классами берутся из колонки «связь». В этом случае наиболее часто между классами используется отношения «ассоциация». Если есть, то подклассы и суперклассы связываются между собой отношением наследования.

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

Рис. 13. Дополнения к отношению ассоциация на диаграмме классов

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

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

3.2. Задание к работе

1)  Сформировать словарь системы.

2)  Составить таблицы «сущность-связь-ответсвенность».

3)  По таблице сформировать классы.

4)  Сбалансировать ответственность классов, перерисовать таблицу «сущность-связь-ответсвенность» для классов.

5)  Нарисовать диаграмму классов.

3.3. Содержание отчета

1)  Цель работы.

2)  Задание по лабораторной работе.

3)  Диаграмма классов.

4)  Описание всех этапов построения диаграммы.

5)  Выводы по проделанной работе.

3.4. Контрольные вопросы

1)  Назовите основные параметры классов.

2)  Что такое словарь системы?

3)  Какие свойства класса являются существенными при построении диаграммы классов?

4)  Какими отношениями могут быть связанны классы?

5)  Какие существуют дополнения для отношения «ассоциация»?

6)  Что такое CRC-таблицы?

7)  Как в Visio называются дополнения «агрегирование» и «композиция»?

Лабораторная работа 4
ДИАГРАММЫ ПОСЛЕДОВАТЕЛЬНОСТЕЙ

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

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

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

Эти диаграммы описывают взаимодействия множества объектов, включая сообщения, которыми они обмениваются.

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

Рис. 14. Графическое обозначение объекта UML

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

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

На диаграмме последовательностей объекты обмениваются сообщениями. Сообщение – это спецификация передачи данных от одного объекта другому, который предполагает какое-то ответное действие. Графически сообщение обозначается сплошной линией со стрелкой.

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

Рис. 15. Сообщение UML и его свойства

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

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

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

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

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

4.2. Задание к работе