Комментарии 9
Пробовали ли вы использовать Structurizr DSL при моделировании С4?
Да, в статье Модель C4 в Structurizr: шаблоны для системного аналитика подробно разобрала построение диаграмм Context, Containers и Components
Спасибо. Меня больше интересует техническая реализация, нежели методология)
Добавил плагин в VS Code. Написал код. Но проблема с визуализацией результата.
Компьютер в корп сети, всякие решения с Structurizr CLI и Structurizr Lite не реализовать. Работающего онлайн-сервиса, коих много для PlantUML, не смог найти. Возможно вы можете подсказать доступные варианты с учетом ограничений) Заранее спасибо.
C4 уже давно в основном дистрибутиве PlantUML, соответственно, подключать можно по-простому:
!include <C4/C4.puml>
!include <C4/C4_Deployment.puml>
и т.п.
PlantUML строит удивительно кривые диаграммы.
Квадратик "Покупатель" имеет другие размеры, нежели квадратик "Администратор". И поправить это никак нельзя.
Показывать такое можно только во внутренней документации. Для внешних клиентов придётся переработать в Visio.
Поэтому, смысла в PlantUML нет никакого, хотя идея хорошая. Продукт сырой, для презентаций негодится.
Я был бы очень признателен, если бы кто-то подсказал открытый пакет, позволяющий менять размеры и положение элементов. Для себя пока что рисую в SVG, но это неудобно.
Вся прелесть в plantuml как раз в том и состоит, что нет необходимости попадать стрелочками в квадратики. И тратиь время на фантазии "как же всё это лучше расположить". Да, итоговая картинка, возможно, будет далека от дизайнерского идеала. Но отразить суть, передать мысль читателю, позволяет достаточно быстро. Если на картинке получается паутинка, то это скорее не проблема plantuml, а рисующего, который пытается показать слишком много объектов\контекста с помощью одной картинки. Вернее даже так: если картинка превращается в паутинку, то ее нужно упрощать, разбивать на серию диаграмм, и т.д.Killer feature - это текстовый формат описания, который легко встроить, например, в asciidoc и получить все плюшки от documentation as code. К сожалению, visio\drawio\xmind вести полноценну документацию по проекту не позволят. Вишенка на торте: элементы, отображаемые в plantuml, можно сделать интерактивными, т.е. можно реализовать переход от квадратика к полноценному описанию этого кважратика в тексте и т.д.
На каком то забугорном ресурсе по diagram as code видел классную фразу - мы не дизайнеры, мы инженеры.
Т.е. тратить время на красоту не стоит. По расположению объектов есть инструменты внутри PlantUML. Смотря какие диаграммы. Например, через стрелки (длина, направление), через очередность описания объектов в коде.
Мы (ещё до появления plant UML) использовали вот это (в бесплатном, community варианте):
https://www.visual-paradigm.com/download/community.jsp
Но (как разработчик), скажу что plant uml сейчас предпочтительнее - текстом (с Copy / Paste) быстрее нарисовать схему, чем мышкой елозить. Красота не главное. И текст можно удобнее в git хранить.
Модель C4, DFD и диаграмма Ганта на PlantUML