Диаграммы взаимодействия, сотрудничества и последовательности с примерами
Что такое диаграмма взаимодействия?
Диаграмма взаимодействия используются в UML для установления связи между объектами. Он не манипулирует данными, связанными с конкретным каналом связи. Диаграммы взаимодействия в основном сосредоточены на передаче сообщений и на том, как эти сообщения составляют одну из функций системы. Диаграммы взаимодействия предназначены для отображения того, как объекты будут реализовывать конкретные требования системы. Важнейшим компонентом диаграммы взаимодействия являются линия жизни и сообщения.
Различные элементы UML обычно имеют собственные диаграммы взаимодействия. Детали взаимодействия могут быть показаны с использованием нескольких обозначений, таких как диаграмма последовательности, временная диаграмма, диаграмма связи/сотрудничества. Диаграммы взаимодействия отражают динамическое поведение любой системы.

Ниже приведены различные типы диаграмм взаимодействия, определенные в UML:
- Диаграмма последовательности
- Диаграмма сотрудничества
- Временная диаграмма
Назначение диаграммы последовательности в Диаграмма UML заключается в визуализации последовательности потока сообщений в системе. Диаграмма последовательности в программной инженерии показывает взаимодействие между двумя линиями жизни как упорядоченную по времени последовательность событий.
Диаграмма сотрудничества в UML также называется диаграммой связи. Цель диаграммы сотрудничества — подчеркнуть структурные аспекты системы, т. е. то, как соединяются различные линии жизни в системе.
Временные диаграммы фокусируются на моменте отправки сообщения от одного объекта к другому объекту.
Назначение диаграммы взаимодействия
Диаграммы взаимодействия помогают визуализировать интерактивное поведение системы. Диаграммы взаимодействия используются для представления того, как один или несколько объектов в системе соединяются и взаимодействуют друг с другом.
Диаграммы взаимодействия фокусируются на динамическом поведении системы. Диаграмма взаимодействия предоставляет нам контекст взаимодействия между одной или несколькими линиями жизни в системе.
In UML-, диаграммы взаимодействия используются для следующих целей:
- Диаграммы взаимодействия используются для наблюдения за динамическим поведением системы.
- Диаграмма взаимодействия визуализирует связь и последовательность передачи сообщений в системе.
- Диаграмма моделирования взаимодействия представляет структурные аспекты различных объектов в системе.
- Диаграмма взаимодействия представляет собой упорядоченную последовательность взаимодействий внутри системы.
- Диаграмма взаимодействия предоставляет средства визуализации данных в реальном времени через UML.
- Диаграммы взаимодействия UML можно использовать для объяснения архитектуры объектно-ориентированной или распределенной системы.
Важная терминология
Диаграмма взаимодействия содержит линии жизни, сообщения, операторы, инварианты состояния и ограничения.
дорога жизни
Линия жизни представляет одного участника взаимодействия. Он описывает, как экземпляр конкретного классификатора участвует во взаимодействии.
Линия жизни представляет роль, которую экземпляр классификатора может играть во взаимодействии. Ниже приведены различные атрибуты линии жизни:
- Имя
- Он используется для обозначения линии жизни в рамках конкретного взаимодействия.
- Имя линии жизни не является обязательным.
- Тип
- Это имя классификатора, экземпляр которого представляет линия жизни.
- Селектор
- Это логическое условие, которое используется для выбора конкретного экземпляра, удовлетворяющего требованию.
- Атрибут селектора также является необязательным.
Обозначение линии жизни объясняется в разделе обозначений.
Сообщения
Сообщение — это особый тип связи между двумя линиями жизни во взаимодействии. Сообщение включает в себя следующие действия:
- Сообщение вызова, которое используется для вызова операции.
- Сообщение о создании экземпляра.
- Сообщение об уничтожении экземпляра.
- Для отправки сигнала.
Когда линия жизни получает сообщение о вызове, оно действует как запрос на вызов операции, которая имеет подпись, аналогичную указанной в сообщении. Когда линия жизни выполняет сообщение, она имеет фокус контроля. По мере развития взаимодействия фокус контроля перемещается между различными линиями жизни. Это движение называется потоком управления.
Ниже приведены сообщения, используемые в диаграмме взаимодействия системы:
Имя сообщения | Смысл |
---|---|
Syncхроническое сообщение | Отправитель сообщения продолжает ждать, пока получатель вернет управление выполнением сообщения. |
Асинхронное сообщение | Отправитель не ждет ответа от получателя; вместо этого он продолжает выполнение следующего сообщения. |
Ответное сообщение | Получатель более раннего сообщения возвращает фокус управления отправителю. |
Создание объектов | Отправитель создает экземпляр классификатора. |
Уничтожение объекта | Отправитель уничтожает созданный экземпляр. |
Найдено сообщение | Отправитель сообщения находится вне сферы взаимодействия. |
Потерянное сообщение | Сообщение никогда не доходит до пункта назначения и теряется при взаимодействии. |
Инварианты состояния и ограничения
Когда экземпляр или линия жизни получает сообщение, это может привести к изменению его состояния. Состояние — это состояние или ситуация в течение жизни объекта, при которой он удовлетворяет некоторому ограничению, выполняет некоторые операции и ожидает некоторого события.
На диаграмме взаимодействия не все сообщения приводят к изменению состояния экземпляра. Некоторые сообщения не имеют значений некоторых атрибутов. Он не оказывает побочного воздействия на состояние объекта.
оператор
Оператор определяет операцию, определяющую, как будут выполняться операнды. Операторы в UML поддерживают операции с данными в форме ветвления, а также итерации. Для обеспечения использования итераций и ветвления в модели UML можно использовать различные операторы. Операторы opt и alt используются для операций ветвления. Оператор цикла используется для обеспечения итерационных операций, в которых условие выполняется неоднократно, пока не будет получен удовлетворительный результат. Оператор Break используется внутри цикла или операций итерации. Это гарантирует, что цикл завершается всякий раз, когда встречается оператор прерывания. Если условие останова не указано, цикл выполняется бесконечное количество раз, что приводит к сбою программы.
Ниже приведены операторы, используемые в диаграмме взаимодействия:
оператор | Имя | Смысл |
---|---|---|
Выбираю | Опция | Операнд выполняется, если условие истинно. например, если еще |
другой | Альтернатива | Операнд, условие которого истинно, выполняется. например, переключатель |
Loop | Loop | Он используется для зацикливания инструкции в течение определенного периода. |
Ломать | Ломать | Он разрывает цикл, если условие истинно или ложно, и выполняется следующая инструкция. |
ссылка | Референции | Он используется для обозначения другого взаимодействия. |
Параллельные | Все операнды выполняются параллельно. |
итерация
На диаграмме взаимодействия мы также можем показать итерацию, используя выражение итерации. Выражение итерации состоит из спецификатора итерации и необязательного предложения итерации. Для итерации UML не существует заранее определенного синтаксиса.
В итерации, чтобы показать, что сообщения отправляются параллельно, используется спецификатор параллельной итерации. Спецификатор параллельной итерации обозначается *//. Итерация в UML достигается с помощью оператора цикла.
разветвление
На диаграмме взаимодействия мы можем представить ветвление, добавляя к сообщениям охранные условия. Условия защиты используются для проверки возможности отправки сообщения вперед или нет. Сообщение отправляется вперед только тогда, когда его защитное условие истинно. Сообщение может иметь несколько защитных условий или несколько сообщений могут иметь одно и то же защитное условие. Ветвление в UML достигается с помощью операторов alt и opt.
Вот некоторые из Наиболее важными терминологии, используемые в диаграмме взаимодействия UML.
Типы диаграмм взаимодействия и обозначения
Ниже приведены различные типы диаграмм взаимодействия, определенные в UML:
- Диаграмма последовательности
- Диаграмма сотрудничества
- Временная диаграмма
Базовое обозначение взаимодействия — прямоугольник с пятиугольником в левом верхнем углу прямоугольного прямоугольника.
Что такое диаграмма последовательности?
A Схема последовательности просто изображает взаимодействие между объектами в последовательном порядке. Назначение диаграммы последовательности в UML — визуализировать последовательность потока сообщений в системе. Диаграмма последовательности показывает взаимодействие между двумя линиями жизни как упорядоченную по времени последовательность событий.
- Диаграмма последовательности показывает реализацию сценария в системе. Линии жизни в системе принимают участие во время выполнения системы.
- На диаграмме последовательности линия жизни представлена вертикальной чертой.
- Поток сообщений между двумя или более объектами представлен вертикальной пунктирной линией, проходящей через нижнюю часть страницы.
- В диаграмме последовательности используются различные типы сообщений и операторов, описанные выше.
- В диаграмме последовательности также используются итерации и ветвления.
Приведенная выше диаграмма последовательности содержит обозначения линий жизни и обозначения различных сообщений, используемых в диаграмме последовательности, таких как создание, ответ, асинхронное сообщение и т. д.
Пример схемы последовательности
Следующий пример диаграммы последовательности представляет систему заказов McDonald's:
Упорядоченная последовательность событий на данной диаграмме последовательности выглядит следующим образом:
- Сделайте заказ.
- Заплатите деньги в кассу.
- Подтверждение заказа.
- Подготовка заказа.
- Сервировка заказа.
Если изменить порядок операций, это может привести к сбою программы. Это также может привести к получению неправильных или ошибочных результатов. Каждая последовательность на приведенной выше диаграмме последовательности обозначается с использованием сообщения другого типа. Невозможно использовать один и тот же тип сообщения для обозначения всех взаимодействий на диаграмме, поскольку это усложняет систему.
Вы должны быть осторожны при выборе обозначения сообщения для любого конкретного взаимодействия. Обозначения должны соответствовать определенной последовательности внутри диаграммы.
Преимущества диаграммы последовательности
- Диаграммы последовательности используются для изучения любого реального приложения или системы.
- Диаграммы последовательности используются для представления потока сообщений от одного объекта к другому объекту.
- Диаграммы последовательности легче поддерживать.
- Диаграммы последовательности легче создавать.
- Диаграммы последовательностей можно легко обновлять в соответствии с изменениями внутри системы.
- Диаграмма последовательности позволяет осуществлять как обратный, так и прямой инжиниринг.
Недостатки диаграммы последовательности
- Диаграммы последовательностей могут усложниться, если в системе задействовано слишком много линий жизни.
- Если изменить порядок следования сообщений, будут получены неправильные результаты.
- Каждая последовательность должна быть представлена с использованием различных обозначений сообщений, что может быть немного сложным.
- Тип сообщения определяет тип последовательности внутри диаграммы.
Что такое схема сотрудничества?
Диаграмма сотрудничества изображает отношения и взаимодействия между программными объектами. Они используются для понимания объектной архитектуры внутри системы, а не потока сообщения, как на диаграмме последовательности. Они также известны как «коммуникативные диаграммы».
Согласно объектно-ориентированному программированию (ООП), объектная сущность имеет различные связанные с ней атрибуты. Обычно внутри объектно-ориентированной системы присутствует несколько объектов, причем каждый объект может быть связан с любым другим объектом внутри системы. Диаграммы сотрудничества используются для изучения архитектуры объектов внутри системы. Поток сообщений между объектами можно представить с помощью диаграммы сотрудничества.
Преимущества схемы сотрудничества
- Ее еще называют диаграммой связи.
- Он подчеркивает структурные аспекты диаграммы взаимодействия – то, как соединяются линии жизни.
- Его синтаксис аналогичен синтаксису диаграммы последовательности, за исключением того, что линия жизни не имеет хвостов.
- Сообщения, передаваемые в рамках последовательности, обозначаются иерархической нумерацией каждого сообщения.
- По сравнению с диаграммой последовательности диаграмма связи семантически слаба.
- Диаграммы объектов являются частным случаем диаграммы связи.
- Это позволяет вам сосредоточиться на элементах, а не на потоке сообщений, как описано в диаграмме последовательности.
- Диаграммы последовательности можно легко преобразовать в диаграмму сотрудничества, поскольку диаграммы сотрудничества не очень выразительны.
- При моделировании диаграмм сотрудничества по сравнению с диаграммами последовательности некоторая информация может быть потеряна.
Приведенная выше нотация диаграммы сотрудничества содержит линии жизни, а также соединители, самоциклы, прямые и обратные сообщения, используемые в диаграмме сотрудничества.
Недостатки диаграммы сотрудничества
- Диаграммы сотрудничества могут усложниться, если в системе присутствует слишком много объектов.
- Трудно исследовать каждый объект внутри системы.
- Диаграммы сотрудничества отнимают много времени.
- Объект уничтожается после завершения программы.
- Состояние объекта меняется мгновенно, что затрудняет отслеживание каждого отдельного изменения, происходящего внутри объекта системы.
Схема сотрудничества Пример
Следующая диаграмма представляет последовательность действий в системе управления студентами:
Приведенная выше диаграмма сотрудничества представляет собой систему управления информацией о студентах. Поток общения на приведенной выше диаграмме определяется следующим образом:
- Студент запрашивает вход через систему входа.
- Механизм аутентификации программного обеспечения проверяет запрос.
- Если запись о студенте существует в базе данных, доступ разрешен; в противном случае возвращается ошибка.
Что такое временная диаграмма?
Временная диаграмма — это форма волны или график, который используется для описания состояния линии жизни в любой момент времени. Он используется для обозначения преобразования объекта из одной формы в другую форму. Временная диаграмма не содержит обозначений, необходимых для диаграммы последовательности и сотрудничества. Поток между программным обеспечением в различные моменты времени представлен с помощью формы волны.
- Это правильное представление взаимодействий, которое фокусируется на конкретных моментах отправки сообщений между различными объектами.
- Временные диаграммы используются для объяснения подробной временной обработки конкретного объекта.
- Временные диаграммы используются для объяснения того, как объект изменяется в течение своего существования.
- Временные диаграммы в основном используются в распределенных и встроенных системах.
- В UML временные диаграммы читаются слева направо в соответствии с именем линии жизни, указанным у левого края.
- Временные диаграммы используются для представления различных изменений, которые время от времени происходят на линии жизни.
- Временные диаграммы используются для графического представления различных состояний линии жизни в единицу времени.
- UML предоставляет различные обозначения для упрощения состояния перехода между двумя линиями жизни в единицу времени.
Временная диаграмма Пример
Приведенная ниже временная диаграмма представляет несколько этапов жизненный цикл разработки программного обеспечения.
На приведенной выше диаграмме сначала программное обеспечение проходит этап требований, затем этап проектирования, а затем этап разработки. Выход предыдущей фазы в данный момент времени передается второй фазе в качестве входных данных. Таким образом, временную диаграмму можно использовать для описания SDLC (жизненного цикла разработки программного обеспечения) в UML.
Преимущества временной диаграммы
- Временные диаграммы используются для представления состояния объекта в определенный момент времени.
- Временная диаграмма допускает как обратный, так и прямой инжиниринг.
- Временную диаграмму можно использовать для отслеживания всех изменений внутри системы.
Недостатки временной диаграммы
- Временные диаграммы сложны для понимания.
- Временные диаграммы сложно поддерживать.
Как нарисовать диаграмму взаимодействия?
Диаграммы взаимодействия используются для представления интерактивного поведения системы. Диаграммы взаимодействия фокусируются на динамическом поведении системы. Диаграмма взаимодействия предоставляет нам контекст взаимодействия между одной или несколькими линиями жизни в системе.
Чтобы нарисовать диаграмму взаимодействия, сначала необходимо определить сценарий, для которого необходимо построить диаграмму взаимодействия. После решения ситуации определите различные линии жизни, которые будут участвовать во взаимодействии. Классифицируйте все элементы линии жизни и исследуйте их, чтобы определить возможные связи и то, как линии жизни связаны друг с другом. Для построения диаграммы взаимодействия необходимы следующие вещи:
- Общее количество линий жизни, которые будут частью взаимодействия.
- представляет собой последовательность потока сообщений внутри различных объектов системы.
- Различные операторы для упрощения работы диаграммы взаимодействия.
- Различные типы сообщений для более четкого и точного отображения взаимодействия.
- Упорядоченная последовательность сообщений.
- Организация и структура объекта.
- Различные временные конструкции объекта.
Использование диаграммы взаимодействия
Диаграммы взаимодействия состоят из диаграммы последовательности, диаграммы сотрудничества и временных диаграмм. Ниже приводится конкретная цель диаграммы взаимодействия:
- Диаграммы последовательности используются для изучения любого реального приложения или системы.
- Диаграммы взаимодействия используются для изучения и сравнения использования диаграмм последовательности, сотрудничества и временных диаграмм.
- Диаграммы взаимодействия используются для описания поведения системы. Он отображает динамическую структуру системы.
- Диаграммы последовательности используются для представления потока сообщений от одного объекта к другому объекту.
- Диаграммы сотрудничества используются для понимания объектной архитектуры системы, а не потока сообщений.
- Диаграммы взаимодействия используются для моделирования системы как упорядоченной по времени последовательности событий.
- Диаграммы взаимодействия используются как в обратном, так и в прямом проектировании.
- Диаграммы взаимодействия используются для организации структуры интерактивных элементов.
Резюме
- Взаимодействия — это просто единицы поведения классификатора.
- Важнейшими элементами диаграммы взаимодействия являются линия жизни и сообщения.
- Диаграммы взаимодействия в основном сосредоточены на передаче сообщений.
- Диаграммы взаимодействия отражают динамическое поведение любой системы.
- Диаграмма взаимодействия содержит диаграмму последовательности, временную диаграмму, диаграмму связи/сотрудничества.
- UML-диаграмма последовательности предназначена для визуализации последовательности потока сообщений в системе.
- Цель диаграммы сотрудничества — подчеркнуть структурные аспекты.
- Временные диаграммы фокусируются на моменте отправки сообщения от одного объекта к другому объекту.