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

Нотация

Использование сотрудничества показывается как пунктирный эллипс, содержащий название сотрудничества. Пунктирная линия рисуется от символа сотрудничества к каждому объекту или классу (в зависимости от того появляется ли он на диаграмме объектов или на диаграмме классов), которые участвуют в сотрудничестве. Каждая линия помечается ролью участника. Роли соответствуют названиям элементов в окружении сотрудничества: такие названия рассматриваются в сотрудничестве как параметры, которые связывают элементы каждого экземпляра шаблона в модели. Поэтому символ сотрудничества совместно с реальными классами, которые встречаются в конкретном использовании шаблона, может показывать использование проектного шаблона.

Пример

Рисунок 36. Использование сотрудничества

Содержимое сотрудничеств

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

Семантика

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

Нотация

Сотрудничество показывается как граф ссылок на классы и ссылок на ассоциации. Каждая ссылка является ролью сотрудничества; то есть каждая сущность играет роль в окружении сотрудничества, роль, которая является только частью ее полного описания. Названия объектов представляют их роли в сотрудничестве. Сотрудничество является прототипом: при каждом использовании сотрудничества роли связываются с действительными объектами. Есть несколько способов показа диаграммы:

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

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

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

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