- •Введение
- •Управление моделью
- •Сноски (Note)
- •Общие механизмы расширения
- •Ограничение (constraint)
- •Комментарии (comment)
- •Свойства элементов
- •Стереотипы
- •Диаграммы статических структур
- •Диаграмма классов
- •Диаграмма объектов
- •Классификатор (Classifier)
- •Семантика
- •Нотация
- •Варианты представления
- •Рекомендации по оформлению
- •Секция названия Нотация
- •Секция список Нотация
- •Варианты представления
- •Атрибут
- •Семантика
- •Нотация
- •Варианты представления
- •Нотация
- •Интерфейсы Семантика
- •Нотация
- •Параметризованный класс (шаблон) Семантика
- •Нотация
- •Варианты представления
- •Связанный элемент Семантика
- •Нотация
- •Импортирование пакета Семантика
- •Нотация
- •Варианты представления
- •Варианты представления
- •Рекомендации по оформлению
- •Варианты
- •Варианты представления
- •Рекомендации по оформлению
- •Семантика
- •Нотация
- •Нотация
- •Рекомендации по проектированию
- •Варианты представления
- •Подробности
- •Нотация
- •Диаграммы последовательности Виды диаграмм взаимодействия
- •Диаграмма последовательности Семантика
- •Нотация
- •Варианты представления
- •Варианты представления
- •Время переходов Семантика
- •Нотация
- •Диаграммы сотрудничества
- •Сотрудничество Семантика
- •Нотация
- •Диаграмма сотрудничества Семантика
- •Нотация
- •Структура шаблона Семантика
- •Нотация
- •Взаимодействия
- •Семантика
- •Нотация
- •Активный объект
- •Варианты представления
- •Нотация
- •Составные состояния Семантика
- •Нотация
- •События Семантика
- •Нотация
- •Простые переходы Семантика
- •Нотация
- •Переходы во вложенные состояния Семантика
- •Нотация
- •Варианты представления
- •Внутренние переходы Семантика
- •Состояние действия Семантика
- •Нотация
- •Пиктограммы управления
- •Стереотипы
- •Диаграммы реализации
- •Компонентная диаграмма Семантика
- •Нотация
- •Диаграммы развертывания Семантика
- •Нотация
- •Узлы Семантика
- •Нотация
- •Компоненты Семантика
- •Нотация
Взаимодействия
Объекты сотрудничества взаимодействуют для достижения цели (такой как выполнение операции) с помощью обмена сообщениями. Сообщения могут включать как сигналы и вызовы, так и более неявные взаимодействия через условия и временные события. Конкретный шаблон обмена сообщениями для достижения конкретной цели называется взаимодействием.
Семантика
Взаимодействие является поведенческой спецификацией, которая включает последовательность обмена сообщениями между множеством объектов сотрудничества для достижения конкретной цели, такой как реализация операции. Для описания поведения в первую очередь необходимо задать сотрудничество, то есть определить взаимодействующие объекты и их отношения. Затем определяются возможные последовательности взаимодействия. Они могут задаваться одним содержащим условные операторы (ветвления и условные сигналы) описанием, либо множеством описаний, каждое из которых описывает конкретный путь среди множества возможных путей выполнения.
Нотация
Взаимодействие показывается в виде диаграмм последовательности или диаграмм сотрудничества. Обе формы диаграмм показывают выполнение сотрудничества. Однако диаграммы последовательности показывают только участвующие объекты и не показывают отношения к другим объектам или их атрибутам, поэтому они не полностью показывают аспекты окружения сотрудничества. Диаграммы последовательности подробно показывают поведенческий аспект сотрудничеств, включая последовательность моментов сообщений и явное представление методов активации. Диаграммы сотрудничества полностью показывают окружение взаимодействия, включая объекты и их отношения существенные для конкретного взаимодействия, так что они часто более удобны для целей проекта. Диаграммы сотрудничества описаны в следующих разделах.
Пример
Сотрудничества подчеркивающие взаимодействие смотри разделе Диаграммы Сотрудничества.
Роли сотрудничества
Семантика
Роль является местом объекта в сотрудничестве, которое описывает тип объекта, который может играть роль и его отношения с другими ролями. Есть роли классификаторов и роли ассоциаций.
Нотация
Роли сотрудничества изображаются с помощью нотации для объектов и связей. Однако имейте в виду, что в окружении сотрудничества они представляют роли, которые, когда используется сотрудничество, присваивают абстрактным объектам и связям реальные объекты и связи.
Роль класса показывается в виде прямоугольного символа класса. Обычно показывается только название сотрудничества. Название сотрудничества содержит строку:
classRoleName : Classifiername
При необходимости (ПО обычно в случае однозначности разрешает пользоваться укороченными путями названия) название класса может включать полный содержащий пакеты путь названия. Названия пакетов предшествуют названию класса и разделены двойными двоеточиями. Например:
display_window: WindowingSystem::GraphicWindows::Window
Стереотип класса может показываться как текст (в русских кавычках (< >) над строкой названия) или как картинка в верхнем правом углу. Стереотип объекта должен соответствовать стереотипу класса.
Представляющая множество объектов роль класса включает индикатор множественности (такой как "*") в правом верхнем углу прямоугольника класса.
Роль ассоциации показывается как путь между двумя символами ролей классов. Если присутствует название соответствующей ассоциации, то оно подчеркивается. Названия ролей не подчеркиваются. Даже при отсутствии подчеркивания линия, соединяющая роли классов, является ролью ассоциации.
Если один из концов пути роли ассоциации соединяется с несколькими ролями классов, то для того, чтобы подчеркнуть множественность, на этом конце может помещаться индикатор множественности.
Варианты представления
Название объекта может опускаться. В этом случае двоеточие перед названием класса должно сохраняться. Это представляет анонимный объект данного класса заданный в соответствии с его отношениями.
Класс объекта может быть опущен (вместе с двоеточием).
Пример
Смотри Рисунок 35.
Мультиобъект
Семантика
Мультиобъект представляет собой множество объектов на "множественной" цели ассоциации. Он используется для показа операций, которые адресуют скорее все множество, чем отдельный элемент из него. Базовая статическая модель не затрагивается такой группировкой. Это соответствует ассоциации с множественностью "много" используемой для доступа к множеству ассоциированных объектов.
Нотация
Мультиобъект изображается в виде двух прямоугольников, верхний из которых немного сдвинут по вертикали и горизонтали, образуя "колоду" прямоугольников. Стрелка сообщения к мультиобъекту означает сообщение к множеству объектов, например, операция выбора для поиска конкретного объекта.
Выполнение операции для каждого объекта из множества ассоциированных объектов требует два сообщения: итерация над мультиобъектом для выделения связей к конкретным объектам, затем сообщение посылается к каждому индивидуальному объекту использую (временные) связи. На диаграмме мы можем это игнорировать, объединяя сообщения в одно сообщение, которое включает итерацию и применение к каждому конкретному объекту; чтобы показать, что подразумевается множество конкретных связей, к названию целевой роли присоединяется индикатор "множественности" (*). Хотя мы можем использовать одно сообщение, в базовой модели (и в любом реальном коде) требуется два вышеуказанных уровня структуры (итерация для поиска связей, применение сообщения к каждой связи).
Объект из множества изображается в виде обычного символа объекта, но для обозначения того, что он является частью множества, может присоединяться к символу мультиобъекта, используя связь композиции. Стрелка сообщения к обычному символу объекта означает сообщение к конкретному объекту.
Обычно сообщение выбора к мультиобъекту возвращает ссылку на конкретный объект, которому первоначальный отправитель посылает сообщение.
Пример
Рисунок 37. Мультиобъект
