текст

Анализ данных • 20 мая 2024 • 5 мин чтения

Диаграммы последовательности — простой способ управления процессами для аналитиков

Диаграммы последовательности показывают, как взаимодействуют различные объекты системы. Рассказываем, как читать такие диаграммы и как построить свою.

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

Диаграмма последовательности — sequence diagram — это наглядное представление совокупности разных элементов модели системы, изображение того, как и в каком порядке они взаимодействуют.

Диаграммы подробно описывают, как выполняются разные операции. При этом — исходя из слова «последовательность» — такие диаграммы показывают временной порядок или хронологию: то, когда, как и в какой очереди передаются сообщения.

Диаграмма последовательности банковского сценария: снятие наличных. Источник: Studfiles

Диаграмма на иллюстрации выше показывает, как происходит процесс снятия денег с банковской карты: человек вставляет карту в устройство для чтения, оно считывает её номер, информация отображается на экране, устройство запрашивает код. После его проверки идёт последовательность выполнения транзакции, деньги снимаются со счёта и выдаются клиенту.
Главная информация для аналитиков данных здесь — сама последовательность, или поток действий. Диаграммы удобно использовать при проектировании или проверке архитектуры, логики системы или интерфейса.

Научиться работать с диаграммами последовательности можно на курсе для системных аналитиков. Студенты 9 месяцев изучают рабочие инструменты для анализа, структурируют знания, развивают хард- и софтскилы, которые пригодятся в работе.

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

Шесть основных видов объектов, из которых состоят диаграммы:

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

Диаграмма последовательности игры в покер. Источник: Online.visual-paradigm.com

Часто название класса или объекта опускают. Если указан только класс, перед ним стоит двоеточие. По принципу построения для более чёткой и понятной диаграммы стоит помещать объекты с более частым взаимодействием ближе друг к другу, а тот объект, который инициализирует активность, — Actor — в левый угол.

2. Линия жизни — Life Line. Временная шкала в диаграмме последовательности идёт сверху вниз. У каждого объекта своя пунктирная линия, их ещё называют линиями жизни, которые обозначают последовательности действий объектов и не пересекаются.

3. Фрагмент выполнения или активация — Activation Bar. Узкий прямоугольник на линии жизни, который показывает начало и завершение действия с участием объекта, его активизации во времени. В начале примера с банковским сценарием клиент предоставляет карточку для чтения, а устройство считывает её номер, причём наглядно можно понять, что эти действия начинаются одновременно, но одно из них заканчивается раньше.

4. Сообщение — Message. Стрелка, которая показывает взаимодействие между разными объектами в момент, когда они посылают сообщения друг другу. Стрелки помогают понять не только смысл взаимодействия, но и то, кто его начал и по отношению к кому. Сообщения могут говорить также о создании или уничтожении участников последовательности.

Если стрелка закрашена, то активация происходит синхронно. Асинхронное сообщение говорит о том, что отправитель сигнала передаёт ход получателю, чтобы тот произвёл некое действие.

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

5. Уничтожение объекта. Знак уничтожения объекта показывает конец его линии жизни в этом взаимодействии — момент, когда объект перестаёт иметь значение в последовательности. Он обозначается диагональным крестом, как, например, на следующей диаграмме.

Диаграмма последовательности обслуживания в ресторане. Источник: Wikipedia

6. Примечание — Note. Это комментарий с информацией для разработчика или аналитика, который можно прикрепить к элементу.

Примечание в диаграмме последовательности — выделено жёлтым. Источник: Yo.yonote.ru

Как построить sequence diagram

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

☑ Покупатель вводит в систему данные заказа.
☑ Система получает их, обрабатывает и создаёт заказ.
☑ Получателю приходит уведомление о создании заказа.

В последовательности участвуют два объекта: Пользователь и Система. На каждом этапе взаимодействия можно заранее прописать, какими сообщениями они будут обмениваться:

1. Создаём объекты Покупателя и Системы — это можно сделать в бесплатном сервисе по построению диаграмм.

2. Создаём сообщение о вводе данных заказа.

3. Система создаёт заказ.

4. Система отправляет покупателю возвратное сообщение о том, что всё сделано.

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

● Большое количество деталей. Лучше не загромождать диаграмму лишними мелкими действиями — это затруднит её чтение.

● Элементы диаграммы меняются вместе с развитием инструмента, и некоторые из них раньше выглядели по-другому. Для того, чтобы диаграмма была всем понятна, нужно, чтобы данные на ней были актуальными.

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

● Следует всё проверять при создании диаграммы последовательности: любые, даже самые мелкие изменения означают, что придётся двигать все элементы, — это трата времени.

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

Последовательность создания учётной записи в библиотеке. Источник: Creately.com

Работа банкомата. Источник: Online.visual-paradigm.com

Ответ фитнес-тренера на заявку клиента. Источник: Worldskills.ru

Процесс создания и подписания заявки. Источник: Livejournal.com

Статью подготовили:
Марина Воронова
Яндекс Практикум
Редактор
Анастасия Павлова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться
Идеи новогодних подарков от нейросети + промокоды на курсы Практикума и акции от партнеров
Wed Jul 31 2024 23:07:13 GMT+0300 (Moscow Standard Time)