Что такое диаграмма последовательности

Оба диаграммы последовательностей и диаграммы взаимодействия являются видами диаграмм взаимодействия. Диаграммы взаимодействия охватывают динамический взгляд на систему. Диаграмма диаграмма последовательности — это диаграмма взаимодействия, которая акцентирует внимание на временной последовательности сообщений. Она отображает объекты и классы, участвующие в сценарии, и последовательность сообщений, обмениваемых между объектами, необходимых для выполнения функциональности сценария. Обычно вы будете использовать одну диаграмму последовательности для описания основного потока использования, а вариации этой диаграммы — для описания исключительных потоков использования.
Sequence Diagram, UML Diagrams Example: Break Communication Fragment - Visual Paradigm Community Circle

Компоненты диаграммы последовательности

Объект

В UML объект на диаграмме последовательности изображается в виде прямоугольника, содержащего имя объекта, подчёркнутое. Объект может быть назван одним из трёх способов: имя объекта, имя объекта и его класс, или только имя класса (анонимный объект). Три способа обозначения объекта показаны на рисунке ниже.

Жизненная линия

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

Lifelines

Имена объектов могут быть конкретными (например, myAccount) или общими (например, myAccount :Account). Часто анонимный объект (:Account) может использоваться для представления любого объекта в классе. У каждого объекта также есть своё время, представленное пунктирной линией под объектом. Сообщения между объектами изображаются стрелками, указывающими от отправителя к получателю.

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

Сообщение

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

Тип линии и тип стрелки указывают тип используемого сообщения:

  1. Сообщение синхронное сообщение (обычно вызов операции) изображается сплошной линией с закрашенной стрелкой. Это обычный вызов сообщения, используемый для нормальной связи между отправителем и получателем.
    Lifelines with synchronous message
  2. Сообщение возвратное сообщение использует пунктирную линию с открытой стрелкой.
    Lifelines with return message
  3. Сообщение асинхронное сообщение имеет сплошную линию с открытой стрелкой. Сигнал — это асинхронное сообщение, не требующее ответа.
    Lifelines with asynchronous

Сообщения создания и уничтожения

Участники не обязательно существуют на протяжении всего времени взаимодействия на диаграмме последовательности. Участники могут создаваться и уничтожаться в зависимости от передаваемых сообщений.

Сообщение сообщение конструктора создаёт своего получателя. Отправители, существующие на начало взаимодействия, располагаются в верхней части диаграммы. Цели, созданные во время взаимодействия вызовом конструктора, автоматически размещаются ниже на диаграмме.

Lifelines with constructorА

сообщение-деструктор уничтожает свой получатель. Существуют и другие способы указать, что цель уничтожается во время взаимодействия. Вы должны использовать деструктор только в том случае, если уничтожение цели установлено как «после деструктора».

Lifelines with destructor

Несразмерное сообщение

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

Lifelines with instantaneous message

Фокус управления

Фокус управления представляет период, в течение которого элемент выполняет операцию. Верхняя и нижняя части прямоугольника выровнены соответственно по времени начала и завершения

Обозначение итерации

Обозначение итерации обозначает отправку сообщения многократно нескольким объектам-получателям, как это происходит при переборе коллекции. Вы можете указать основу итерации в квадратных скобках, например, *[для всех строк заказа].

Пример: Разместить заказ

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

  1. Шаг 1 и 2: Клиент создает заказ.
  2. Шаг 3: Клиент добавляет товары в заказ.
  3. Шаг 4, 5: Проверяется наличие каждого товара на складе.
  4. Шаг 6, 7, 8: Если продукт доступен, он добавляется в заказ.
  5. Шаг 9 вернуть
  6. Шаг 10, 11: сохранить и уничтожить заказ

Sequence Diagram example

Фрагменты последовательности

На диаграмме последовательности UML фрагменты позволяют показать циклы, ветвления и другие альтернативы. Фрагмент состоит из одного или нескольких операндов взаимодействия, каждый из которых содержит одно или несколько сообщений, использований взаимодействия или других фрагментов.

Фрагмент последовательности изображается в виде прямоугольника, называемого комбинированным фрагментом, который охватывает часть взаимодействий на диаграмме последовательности. Оператор фрагмента (в верхнем левом углу) указывает тип фрагмента. Типы фрагментов включают ref, assert, loop, break, alt, opt и neg, ref, sd.

Краткое резюме обозначений диаграммы последовательности

Оператор Значение
alt Альтернативные фрагменты: будет выполнен только тот, условие которого истинно.
opt Опциональный: фрагмент выполняется только в том случае, если заданное условие истинно. Эквивалентно alt только с одним следом.
пар Параллельно: каждый фрагмент выполняется параллельно.
цикл Цикл: фрагмент может выполняться несколько раз, а условие определяет основу итерации.
критический Критическая область: фрагмент может выполняться только одним потоком одновременно.
нег Отрицательный: фрагмент показывает недопустимое взаимодействие.
ссылка Ссылка: ссылается на взаимодействие, определённое на другом диаграмме. Рамка рисуется для охвата линий жизни, участвующих во взаимодействии. Вы можете определить параметры и возвращаемое значение.
sd Диаграмма последовательности: используется для обрамления всей диаграммы последовательности.

Пример — Сценарий размещения заказа

Член корабля, который хочет разместить заказ онлайн. Товар будет отправлен члену либо курьером, либо обычной почтой в зависимости от статуса члена (VIP, обычное членство). По желанию магазин может отправить члену уведомление о подтверждении, если член выбрал опцию уведомления при оформлении заказа.

Sequence Diagram example

Visual Paradigm поддерживает диаграммы последовательности и другие типы диаграмм UML. Вы можете найти все необходимые инструменты для моделирования динамического поведения системы с помощью диаграммы последовательности.

Быстрое видео — 5 шагов по построению диаграммы последовательности

Обзор

Диаграмма последовательности — это модель взаимодействия объектов, основанная на последовательности времени. Она показывает, как объекты взаимодействуют друг с другом в конкретном сценарии использования. Благодаря продвинутым возможностям визуального моделирования, вы можете создавать сложные диаграммы последовательности всего за несколько кликов. Кроме того, Visual Paradigm может генерировать диаграммы последовательности на основе потока событий, которые вы определили в описании сценария использования.

 

Ссылки

Leave a Reply