Диаграмма взаимодействия объектов (interaction diagram)

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

· в форме диаграммы последовательностей (sequence diagram), показывающей последовательность взаимодействий на графе;

· в форме кооперативной диаграммы (collaboration diagram), показывающей взаимодействие объектов в табличной форме.

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

Диаграмма взаимодействия объектов (interaction diagram) - student2.ru

Рис. 13.13. Диаграмма последовательностей для прецедента Выполнение заказа клиент.

Диаграмма кооперативного поведения представляется в табличном виде по следующим правилам.

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

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

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

Пример кооперативной диаграммы представлен на рис. 13.14.

Диаграмма взаимодействия объектов (interaction diagram) - student2.ru

Рис. 13.14. Диаграмма кооперативного поведения для основного потока событий прецедента использования Выполнить заказ

Диаграмма деятельностей

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

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

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

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

Диаграмма взаимодействия объектов (interaction diagram) - student2.ru Деятельность (activity)
Диаграмма взаимодействия объектов (interaction diagram) - student2.ru Поток от деятельности к деятельности
Диаграмма взаимодействия объектов (interaction diagram) - student2.ru Разделение потока на деятельности, выполняемые параллельно или произвольно
Диаграмма взаимодействия объектов (interaction diagram) - student2.ru Решение
Диаграмма взаимодействия объектов (interaction diagram) - student2.ru Синхронизация
Диаграмма взаимодействия объектов (interaction diagram) - student2.ru Итерация
< Диаграмма взаимодействия объектов (interaction diagram) - student2.ru Выход

Пример диаграммы деятельностей представлен на рис. 13.15.

Диаграмма взаимодействия объектов (interaction diagram) - student2.ru

Рис. 13.15.Диаграмма деятельностей процесса выполнения заказа

Диаграммы пакетов

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

Пакетная технология группирования классов объектов позволяет упростить:

· разработку и эксплуатацию ЭИС;

· гибкую адаптацию типовых компонентов с позиции их повтор­ного использования;

· оптимизацию клиент-серверной архитектуры ЭИС.

Обычно ЭИС разбивается на функциональные и обеспечивающие пакеты (рис. 13.16).

Диаграмма взаимодействия объектов (interaction diagram) - student2.ru

Рис. 13.16.Пример диаграммы пакетов

Функциональные пакеты, соответствующие решаемым проблемам (задачам), объединяются в один общий пакет «Проблемная область». Каждый пакет, в свою очередь, может быть разбит на подпакеты в соответствии с семантической близостью и теснотой взаимодействия классов объектов. Обычно пакеты проблемной области содержат иерархии обобщения и агрегации. Классы объектов, требуемые в нескольких подсистемах, выделяются в самостоятельные пакеты. В одном пакете, как правило, определяется не более 20 компонентов, обычно 5-15.

С обеспечивающей точки зрения ЭИС разбивают на пять основных пакетов:

· «Интерфейс», объекты которого реализуют функции взаимодействия пользователей с ЭИС по вводу-выводу информации и обмен сообщениями между подсистемами;

· «База данных», объекты которого выполняют доступ к дан­ным во внешней памяти;

· «Управление задачами», объекты которого осуществляют функции диспетчеризации и маршрутизации обработки объектов, например в системе управления рабочими потоками;

· «Утилиты», объекты которого осуществляют вспомогательные функции, например преобразование форматов данных;

· Обеспечивающие пакеты, т.е. работающие по принципу «клиент-серверной» архитектуры, выполняющие серверные функции для функциональных объектов-клиентов. Таким образом, обеспечивающие пакеты освобождают пользователя от знания деталей программно-технической реализации ЭИС.

Наши рекомендации