Comments 6
Да здесь целый курс по диаграммам последовательности))
Из онлайн-инструментов проектирования (на минималках) прекрасен еще https://sequencediagram.org/
Мне Mermaid ещё понравился, у них тоже онлайн редактор есть, но полностью текстовая штука https://mermaid.js.org/syntax/sequenceDiagram.html
На практике ни разу в жизни не видел, чтобы кто-нибудь использовал границы, контроллеры, сущности. У всех объекты и факторы.
Автор упомянул BPMN. В диаграмме тоже можно показать порядок обмена сообщениями (между пулами), но только не так подробно как в sequence диаграмме. Автор упомянул такие объекты как границы, контроллеры, сущности, но суть использования этих объектов не раскрыл.
Добрый день!
BPMN позволяет отображать обмен сообщениями между пулами, но с меньшей детализацией, чем sequence-диаграммы и для высокоуровневых процессов он вполне применим, но, когда нужна "микроскопия" вызовов (например, порядок запросов к API), sequence-диаграммы будут гораздо лучше.
По поводу объектов (границы, контроллеры, сущности): Эти элементы относятся к паттерну Entity-Boundary-Control, который применяется в UML для структурирования участников:
1. Границы - точки взаимодействия системы с внешними участниками (UI, API, интеграционные шлюзы). Например, форма оплаты заказа в мобильном приложении
2. Контроллеры - логика обработки (сервисы, хендлеры). Например, модуль аутентификации на сервере
3. Сущности - данные и их хранение (БД, DTO). Например, таблица Products в базе данных
Их использование помогает разделить ответственность по паттерну: границы фокусируются на коммуникации, контроллеры на логике, сущности на данных.
Хотя фактически, немногие придерживаются этого паттерна на практике, в основном используют объекты и акторы и этого достаточно)
Для PlantUML есть еще варианты, такие как плагин для IDE (Idea, Vscode) или вариант с Notepad ++ (потребуется дополнительно установить Java на машину), но оба варианта позволяют не лезть лишний раз в браузер
Проектирование Sequence-диаграмм: руководство для системных аналитиков