Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций по ПрИС.doc
Скачиваний:
11
Добавлен:
14.11.2019
Размер:
1.33 Mб
Скачать

2.8.5Диаграмма кооперации – Collaboration Diagram

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

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

Rational Rose автоматически преобразует одну диаграмму в другую (клавиша <F5>), так что достаточно создать какую-нибудь одну из них.

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

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

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

Ещё одно важное пояснение. Инициировать сообщения могут только актёры (живые люди, устройства, другие системы, время) или управляющие объекты. Это требование соответствует трёхуровневому стилю архитектуры (пользовательский интерфейс, бизнес-логика и уровень данных).

2.9Диаграммы классов – class diagrams

Диаграммы классов занимают центральное место в разработке логической модели системы. В этой главе рассматриваются:

  1. Классы.

  2. Стереотип класса.

  3. Видимость класса.

  4. Пакеты.

  5. Диаграммы классов.

  6. Создание диаграммы классов.

2.9.1Классы

Класс – это абстрактная сущность, инкапсулирующая данные и поведение. В UML класс описывает набор объектов с общими атрибутами, операциями и семантикой.

К аждый класс модели должен иметь уникальное имя. Рекомендуется использовать существительные во множественном или единственном числе. Лучше, чтобы имена классов были короткими.

Класс Сотрудники обобщает информацию о персонале предприятия. Он содержит свойства: фамилия, имя и отчество; адрес; номер телефона; табельный номер сотрудника.

Класс Сотрудники имеет своё поведение. Он знает, как принять сотрудника на работу, уволить сотрудника, а также повысить сотрудника по службе. Поведение объекта определяется его классом.

Класс является шаблоном для создания объектов. Объект – это отдельный экземпляр класса. Например, ФИО = Иванов Иван Иванович; Адрес = Московский пр., 1 – 1; Телефон = 168-8356; Табельный номер = 123.

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

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

При проектировании систем в Rational Rose (помимо обычных классов) доступны специализированные типы классов:

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

  2. Классы-наполнители.

  3. Утилиты (классов, параметризованных классов, классов-наполнителей).

  4. Метаклассы.