Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodicheskie_ukazania_k_vypolneniyu_KP_OOP.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

5.2.4 Диаграммы взаимодействия

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

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

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

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

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

Ни простейшие диаграммы объектов, ни диаграммы взаимодействий не показывают передач управления. Например, если объект A посылает сообщения X и Y другим объектам, то остается неясным, являются ли сообщения X и Y независимыми сообщениями из A или они были вызваны как части некоторого объемлющего сообщения Z. В таком случае на вертикальной линии каждого объекта рисуются полоски, показывающие периоды, когда управление находится в этом объекте.

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

Рисунок 5.21 – Диаграмма взаимодействия