- •Введение
- •Управление моделью
- •Сноски (Note)
- •Общие механизмы расширения
- •Ограничение (constraint)
- •Комментарии (comment)
- •Свойства элементов
- •Стереотипы
- •Диаграммы статических структур
- •Диаграмма классов
- •Диаграмма объектов
- •Классификатор (Classifier)
- •Семантика
- •Нотация
- •Варианты представления
- •Рекомендации по оформлению
- •Секция названия Нотация
- •Секция список Нотация
- •Варианты представления
- •Атрибут
- •Семантика
- •Нотация
- •Варианты представления
- •Нотация
- •Интерфейсы Семантика
- •Нотация
- •Параметризованный класс (шаблон) Семантика
- •Нотация
- •Варианты представления
- •Связанный элемент Семантика
- •Нотация
- •Импортирование пакета Семантика
- •Нотация
- •Варианты представления
- •Варианты представления
- •Рекомендации по оформлению
- •Варианты
- •Варианты представления
- •Рекомендации по оформлению
- •Семантика
- •Нотация
- •Нотация
- •Рекомендации по проектированию
- •Варианты представления
- •Подробности
- •Нотация
- •Диаграммы последовательности Виды диаграмм взаимодействия
- •Диаграмма последовательности Семантика
- •Нотация
- •Варианты представления
- •Варианты представления
- •Время переходов Семантика
- •Нотация
- •Диаграммы сотрудничества
- •Сотрудничество Семантика
- •Нотация
- •Диаграмма сотрудничества Семантика
- •Нотация
- •Структура шаблона Семантика
- •Нотация
- •Взаимодействия
- •Семантика
- •Нотация
- •Активный объект
- •Варианты представления
- •Нотация
- •Составные состояния Семантика
- •Нотация
- •События Семантика
- •Нотация
- •Простые переходы Семантика
- •Нотация
- •Переходы во вложенные состояния Семантика
- •Нотация
- •Варианты представления
- •Внутренние переходы Семантика
- •Состояние действия Семантика
- •Нотация
- •Пиктограммы управления
- •Стереотипы
- •Диаграммы реализации
- •Компонентная диаграмма Семантика
- •Нотация
- •Диаграммы развертывания Семантика
- •Нотация
- •Узлы Семантика
- •Нотация
- •Компоненты Семантика
- •Нотация
Нотация
Использование сотрудничества показывается как пунктирный эллипс, содержащий название сотрудничества. Пунктирная линия рисуется от символа сотрудничества к каждому объекту или классу (в зависимости от того появляется ли он на диаграмме объектов или на диаграмме классов), которые участвуют в сотрудничестве. Каждая линия помечается ролью участника. Роли соответствуют названиям элементов в окружении сотрудничества: такие названия рассматриваются в сотрудничестве как параметры, которые связывают элементы каждого экземпляра шаблона в модели. Поэтому символ сотрудничества совместно с реальными классами, которые встречаются в конкретном использовании шаблона, может показывать использование проектного шаблона.
Пример
Рисунок 36. Использование сотрудничества
Содержимое сотрудничеств
Содержимое сотрудничеств представляет собой моделирующие элементы, которые взаимодействуют в заданном окружении для достижения конкретной цели, например выполнения операции или случая использования; оно является "сообществом объектов". Сотрудничество является фрагментом более полной модели, который имеет конкретную цель.
Семантика
Сотрудничество показывает одну или больше ролей вместе с их окружением, ассоциациями и ближайшими ролями, плюс при необходимости дополнительные отношения и классы. При использовании сотрудничества каждая роль должна связываться с реальным классом, который поддерживает операции требуемые для роли.
Нотация
Сотрудничество показывается как граф ссылок на классы и ссылок на ассоциации. Каждая ссылка является ролью сотрудничества; то есть каждая сущность играет роль в окружении сотрудничества, роль, которая является только частью ее полного описания. Названия объектов представляют их роли в сотрудничестве. Сотрудничество является прототипом: при каждом использовании сотрудничества роли связываются с действительными объектами. Есть несколько способов показа диаграммы:
Методы. Если сотрудничество показывает реализацию операции (метода), то оно обычно рисуется как отдельная диаграмма сотрудничества, включающая окружение, к которому для получения взаимодействия добавляется поток сообщений. Сотрудничество для операции включает целевой объект операции и объекты, которые он непосредственно или косвенно вызывает для реализации операции. Сотрудничество включает объекты, присутствующие до операции, объекты присутствующие после операции (они могут быть новыми либо, главным образом, такие же, как до операции) и объекты которые существуют только во время операции; они могут помечаться как , и . Необходимо показывать только участвующие в реализации операции объекты. Для показа реализации операции, потоки сообщений накладываются на связи между объектами сотрудничества; каждый поток показывает действие в методе операции.
Классы. Обычно сотрудничество определяется для одной операции. Взяв объединение всех сотрудничеств для всех операций класса можно показать полное сотрудничество для всего класса. Это сотрудничество показывает все окружение для реализации класса.
В обоих случаях обычно предполагается, что на объекты и классы, не показанные в сотрудничестве, операция не влияет. (Однако не всегда правильно предполагать, что все объекты диаграммы сотрудничества используются операцией).
Для достижения различных целей для одного класса могут разрабатываться различные сотрудничества. Каждое сотрудничество может показывать некоторые различные подмножества атрибутов, операторов и связанных объектов, которые существенны для каждой цели. Поскольку реальные операции часто относятся к связанным группам, каждое сотрудничество могло бы определять согласованное представление разделенное несколькими операциями, которое несколько отличается от представления необходимого для других операций этого же типа. Подобным образом модель типов в организации бизнеса часто может разделяться на несколько сотрудничеств, каждая с точки зрения конкретного организатора дела.
