Обзорная диаграмма взаимодействия
Обзорная диаграмма взаимодействия
Заголовок раздела «Обзорная диаграмма взаимодействия»Обзорная диаграмма взаимодействия (interaction overview diagram) — это разновидность диаграммы взаимодействия (interaction diagram). По внешнему виду она похожа на диаграмму деятельности, но её узлами являются не обычные действия, а взаимодействия или ссылки на взаимодействия.
Эта диаграмма полезна, когда большой сценарий состоит из нескольких отдельных взаимодействий. Вместо того чтобы строить одну огромную диаграмму последовательности, можно показать общий поток управления и разложить сложные части на отдельные диаграммы последовательности (sequence diagrams), диаграммы коммуникации (communication diagrams) или другие диаграммы взаимодействия (interaction diagrams).
Иначе говоря, обзорная диаграмма взаимодействия отвечает на вопрос: из каких взаимодействий состоит крупный сценарий и в каком порядке они выполняются?
Основные элементы
Заголовок раздела «Основные элементы»На обзорной диаграмме взаимодействия используются элементы, похожие на элементы диаграммы деятельности:
- начальный узел (initial node);
- конечный узел деятельности (activity final node);
- конечный узел потока (flow final node);
- решение (decision node);
- слияние (merge node);
- развилка (fork node);
- соединение потоков (join node);
- поток управления (control flow);
- ссылка на взаимодействие (interaction use);
- встроенное взаимодействие (inline interaction).
Главное отличие от обычной диаграммы деятельности в том, что содержательными узлами выступают взаимодействия. Например, один узел может ссылаться на диаграмму последовательности “Оформление заказа”, другой — на взаимодействие “Проверка оплаты”, третий — на взаимодействие “Отправка уведомления”.
Ссылка на взаимодействие
Заголовок раздела «Ссылка на взаимодействие»Ссылка на взаимодействие (interaction use) позволяет сослаться на уже описанное взаимодействие. Это удобно, когда один и тот же фрагмент сценария используется в нескольких местах модели.
Например:
ref Проверить доступность товараref Создать заказref Запустить оплатуref Отправить уведомлениеТакая запись означает, что подробности каждого взаимодействия описаны отдельно. Обзорная диаграмма не обязана раскрывать все сообщения внутри этих фрагментов.
Ветвления и параллельность
Заголовок раздела «Ветвления и параллельность»Как и на диаграмме деятельности, на обзорной диаграмме взаимодействия можно показывать ветвления, объединения, параллельное выполнение и завершение потоков.
Примеры:
- после проверки заявки сценарий идёт в ветку “одобрить” или “отклонить”;
- уведомление клиента и запись в журнал выполняются параллельно;
- при ошибке оплаты поток завершается без создания доставки;
- повторная проверка выполняется до тех пор, пока внешний сервис не вернёт результат или не истечёт таймаут.
При этом важно помнить: диаграмма не должна превращаться в обычную activity diagram, где каждый узел — маленькое действие. Её смысл именно в управлении крупными взаимодействиями.
Когда использовать
Заголовок раздела «Когда использовать»Обзорная диаграмма взаимодействия полезна, если сценарий слишком крупный для одной диаграммы последовательности.
Хорошие случаи использования:
- нужно показать верхнеуровневую структуру сложного сценария;
- один сценарий состоит из нескольких повторно используемых взаимодействий;
- нужно связать несколько sequence diagrams в один процесс;
- нужно показать ветвление между разными взаимодействиями;
- нужно избежать одной перегруженной диаграммы последовательности.
Если сценарий небольшой, обзорная диаграмма взаимодействия обычно не нужна. Достаточно диаграммы последовательности или диаграммы деятельности.
Связь с другими диаграммами
Заголовок раздела «Связь с другими диаграммами»Обзорная диаграмма взаимодействия находится между activity diagram и sequence diagram. От диаграммы деятельности она берёт поток управления, решения, развилки и соединения потоков. От диаграмм взаимодействия она берёт взаимодействия как содержательные блоки.
В учебной модели её можно использовать как карту сложного сценария: общий поток показан на одной диаграмме, а каждый крупный шаг раскрыт отдельной диаграммой последовательности.
Типичные ошибки
Заголовок раздела «Типичные ошибки»Частые ошибки при использовании обзорной диаграммы взаимодействия:
- заменять ею обычную диаграмму деятельности без ссылок на взаимодействия;
- делать узлами слишком мелкие действия вместо крупных взаимодействий;
- ссылаться на взаимодействия, которые нигде не описаны;
- строить её для простого сценария, где достаточно одной sequence diagram;
- смешивать разные уровни детализации в одном потоке;
- забывать синхронизировать ветви диаграммы с альтернативными и исключительными сценариями use case.