
- •Введение
- •Управление моделью
- •Сноски (Note)
- •Общие механизмы расширения
- •Ограничение (constraint)
- •Комментарии (comment)
- •Свойства элементов
- •Стереотипы
- •Диаграммы статических структур
- •Диаграмма классов
- •Диаграмма объектов
- •Классификатор (Classifier)
- •Семантика
- •Нотация
- •Варианты представления
- •Рекомендации по оформлению
- •Секция названия Нотация
- •Секция список Нотация
- •Варианты представления
- •Атрибут
- •Семантика
- •Нотация
- •Варианты представления
- •Нотация
- •Интерфейсы Семантика
- •Нотация
- •Параметризованный класс (шаблон) Семантика
- •Нотация
- •Варианты представления
- •Связанный элемент Семантика
- •Нотация
- •Импортирование пакета Семантика
- •Нотация
- •Варианты представления
- •Варианты представления
- •Рекомендации по оформлению
- •Варианты
- •Варианты представления
- •Рекомендации по оформлению
- •Семантика
- •Нотация
- •Нотация
- •Рекомендации по проектированию
- •Варианты представления
- •Подробности
- •Нотация
- •Диаграммы последовательности Виды диаграмм взаимодействия
- •Диаграмма последовательности Семантика
- •Нотация
- •Варианты представления
- •Варианты представления
- •Время переходов Семантика
- •Нотация
- •Диаграммы сотрудничества
- •Сотрудничество Семантика
- •Нотация
- •Диаграмма сотрудничества Семантика
- •Нотация
- •Структура шаблона Семантика
- •Нотация
- •Взаимодействия
- •Семантика
- •Нотация
- •Активный объект
- •Варианты представления
- •Нотация
- •Составные состояния Семантика
- •Нотация
- •События Семантика
- •Нотация
- •Простые переходы Семантика
- •Нотация
- •Переходы во вложенные состояния Семантика
- •Нотация
- •Варианты представления
- •Внутренние переходы Семантика
- •Состояние действия Семантика
- •Нотация
- •Пиктограммы управления
- •Стереотипы
- •Диаграммы реализации
- •Компонентная диаграмма Семантика
- •Нотация
- •Диаграммы развертывания Семантика
- •Нотация
- •Узлы Семантика
- •Нотация
- •Компоненты Семантика
- •Нотация
Диаграмма сотрудничества Семантика
Диаграмма сотрудничества представляет Сотрудничество, которое является множеством объектов связанных в конкретном окружении, и Взаимодействие, которое является множеством обмениваемых между объектами сотрудничества сообщений для достижения требуемых операции или результата.
Нотация
Диаграмма сотрудничества является графом ссылок на объекты и связи с потоками сообщений присоединенных к этим связям. Диаграмма показывает объекты важные для выполнения операции, включая объекты задействованные или доступные во время операции косвенно. Сотрудничество, использованное для описания операции, включает ее аргументы и локальные переменные, создаваемые в процессе выполнения, а так же обычные ассоциации. Объекты, создаваемые в процессе выполнения, могут быть обозначены как {new}; объекты, уничтожаемые в процессе выполнения, могут быть обозначены как {destroyed}; объекты, созданные в процессе выполнения и затем уничтоженные, могут быть обозначены как {transient}. Эти изменения в состоянии существования выводятся из подробностей сообщений, пересылаемых между объектами; и предусмотрены для удобства представления.
Диаграмма так же показывает связи между объектами, включая временные связи представляющие аргументы процедуры, локальные переменные и связи с самим собой. Так как диаграммы сотрудничества часто используются для помощи в проектировании процедур, они обычно показывают навигацию используя острия на связях. (Острие на линии между прямоугольниками объектов показывает связь с односторонней навигацией. Стрелка возле линии показывает сообщения, протекающие через связь в заданном направлении. Очевидно, стрелка сообщения не может направляться обратно через однонаправленную связь.)
Отдельные значения атрибута обычно не показываются явно. Если сообщения должны быть посланы к значениям атрибутов, то вместо атрибутов должны быть созданы ассоциации использования.
Внутренние сообщения, которые реализуют метод, нумеруются, начиная с 1. Для процедурного потока управления дальнейшие номера сообщений вложены в соответствии с вложенностью вызовов. Для непроцедурной последовательности сообщений обмениваемых между параллельными объектами все последовательные номера одного уровня (то есть, они не вложены).
Диаграмма сотрудничества без сообщений показывает окружение, в котором могут возникать взаимодействия, без отображения каких-либо определенных взаимодействий. Это может быть использовано для показа окружения одной операции или даже для всех операций класса или группы классов.
Пример
Рисунок 35. Диаграмма сотрудничества
Структура шаблона Семантика
Сотрудничество может использоваться для определения реализации проектных структур. Для этого необходимо определить его окружение и взаимодействия. Так же сотрудничество может рассматриваться извне как отдельная сущность. Например, это может использоваться для идентификации присутствия проектных шаблонов в проекте системы. Шаблон является параметризованным сотрудничеством: при каждом использовании шаблона вместо параметров в описании шаблона подставляются реальные классы.
Заметим, что шаблоны, определенные в Design Patterns Гэме (Gamma), Хелмом (Helm), Джонсоном (Johnson) и Влисайдсом (Vlissides), включают много больше чем структурные описания. UML описывает структурные и некоторые поведенческие аспекты проектных шаблонов, однако нотация UML не включает другие важные аспекты шаблонов, такие как использование компромиссов и примеров. Они должны быть выражены в тексте или таблицах.