Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Унифицированный язык моделирования (Unified Mod...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.06 Mб
Скачать

Диаграмма сотрудничества Семантика

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

Нотация

Диаграмма сотрудничества является графом ссылок на объекты и связи с потоками сообщений присоединенных к этим связям. Диаграмма показывает объекты важные для выполнения операции, включая объекты задействованные или доступные во время операции косвенно. Сотрудничество, использованное для описания операции, включает ее аргументы и локальные переменные, создаваемые в процессе выполнения, а так же обычные ассоциации. Объекты, создаваемые в процессе выполнения, могут быть обозначены как {new}; объекты, уничтожаемые в процессе выполнения, могут быть обозначены как {destroyed}; объекты, созданные в процессе выполнения и затем уничтоженные, могут быть обозначены как {transient}. Эти изменения в состоянии существования выводятся из подробностей сообщений, пересылаемых между объектами; и предусмотрены для удобства представления.

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

Отдельные значения атрибута обычно не показываются явно. Если сообщения должны быть посланы к значениям атрибутов, то вместо атрибутов должны быть созданы ассоциации использования.

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

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

Пример

Рисунок 35. Диаграмма сотрудничества

Структура шаблона Семантика

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

Заметим, что шаблоны, определенные в Design Patterns Гэме (Gamma), Хелмом (Helm), Джонсоном (Johnson) и Влисайдсом (Vlissides), включают много больше чем структурные описания. UML описывает структурные и некоторые поведенческие аспекты проектных шаблонов, однако нотация UML не включает другие важные аспекты шаблонов, такие как использование компромиссов и примеров. Они должны быть выражены в тексте или таблицах.