Диаграмма последовательности — sequence diagram — это наглядное представление совокупности разных элементов модели системы, изображение того, как и в каком порядке они взаимодействуют.
Диаграммы подробно описывают, как выполняются разные операции. При этом — исходя из слова «последовательность» — такие диаграммы показывают временной порядок или хронологию: то, когда, как и в какой очереди передаются сообщения.
Основные элементы:
Основные элементы:
Объекты (акторы):
Представлены в виде прямоугольников с именами в верхней части диаграммы.
Выравниваются по горизонтали.
Линии жизни (Lifelines):
Вертикальные пунктирные линии, исходящие от объектов, показывают период их активности.
Сообщения:
Горизонтальные стрелки между линиями жизни:
Синхронное сообщение (с ожиданием ответа): стрелка с заполненным наконечником.
Асинхронное сообщение (без ожидания): стрелка с пустым наконечником.
Ответ: пунктирная стрелка.
Активность (Activation):
Узкие прямоугольники на линиях жизни, показывающие выполнение объекта.
Создание/уничтожение объектов:
Новый объект появляется с линии жизни.
Уничтожение объекта обозначается крестиком.
Синхронный/Асинхронный
Синхронный вызов — взаимодействие, в котором один объект отправляет запрос и обязательно получает что‑то в ответ от другого объекта. Как пример, взаимодействие браузера с сервером.
Асинхронный вызов — взаимодействие, при котором один объект шлет запрос другому, но ответ не получает. Как пример, работа очередей или топиков: один объект положил данные в топик, а второй объект забрал эти данные, но никакой отбивки первому объекту при этом не пришло.
UML содержит следующие операнды:
Alt – Несколько альтернативных фрагментов (alternative); выполняется только тот фрагмент, условие которого истинно
Opt – Необязательный (optional) фрагмент; выполняется, только если условие истинно. Эквивалентно alt с одной веткой
Par – Параллельный (parallel); все фрагменты выполняются параллельно
loop – Цикл (loop); фрагмент может выполняться несколько раз, а защита обозначает тело итерации
region – Критическая область (critical region); фрагмент может иметь только один поток, выполняющийся за один прием
ref – Ссылка (reference); ссылается на взаимодействие, определенное на другой диаграмме. Фрейм рисуется, чтобы охватить линии жизни, вовлеченные во взаимодействие. Можно определять параметры и возвращать значение
Sd – Диаграмма последовательности (sequence diagram); используется для очерчивания всей диаграммы последовательности, если это необходимо.