Главная » Delphi » Delphi 2006 – Диаграмма кооперации (Collaboration Diagram)

0

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

Можно считать, что диаграммы кооперации демонстрируют некий образ, срез ситуации, возникшей во время функционирования модели на диаграмме последовательности. В ней все процессы как бы замерли, но известно, какой из них, за кем и в каком порядке будет выполняться. Поэтому между этими двумя видами диаграмм можно переходить командой контекстного меню диаграммы Show as Sequence (Показать последовательность) и наоборот — командой контекстного меню Show as Collaboration (Показать кооперацию). При этом, если альтернативная форма диаграммы отсутствует, она будет построена автоматически.

Рис. 8.26. Добавление диаграммы кооперации

Диаграмму кооперации создают командой контекстного меню с пространства диаграммы Add > Other Diagram > Collaboration Diagram (Добавить > Другую диаграмму > Диаграмму кооперации) — рис. 8.26.

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

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

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

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

Рассмотрим пример диаграммы последовательности, в которой описывается обмен сообщениями между клиентом и Web-сервером (рис. 8.27).

Диаграмма кооперации может быть получена из нее автоматически, командой контекстного меню Show as Collaboration (рис. 8.28).

Рис. 8.27. Пример взаимодействия клиента с сервером на диаграмме последовательности

 

Рис. 8.28. Взаимодействие клиента с сервером на диаграмме кооперации

Бобровский С. И. Технологии Delphi 2006. Новые возможности. — СПб.: Питер, 2006. — 288 е.: ил.

По теме:

  • Комментарии