- В качестве нотации для моделирования диаграмм применяется модель C4
- В качестве среды генерации диаграмм и документации применяется Struzturizr Lite
- В качестве рекомендуемого средства для редактирования диаграмм и документации используем Visual Studio Code
- В качестве среды для запуска Structurizr будет использоваться среда контейнеризации приложений Docker/Podman и/или встроенный плагин в Visual Studio Code
- В качестве языка разметки для создания технической документации используется MarkDown
- Скачиваем c https://code.visualstudio.com/download установочный пакет и устанавливаем его на машине с которой будем редактировать модели

- Открываем панель работы с расширениями и находим расширение C4 DSL Extension

- Устанавливаем C4 DSL Extension
- Настраиваем C4 DSL Extension (должны быть включены следующие галочки):

- Проверяем работу расширения, для этого делаем простой файл workspace.dsl и открываем его в Visual Studio Code
workspace {
name "Пример"
model {
myUser = person "Пользователь"
mySystem = softwareSystem "Моя система"
otherSystem = softwareSystem "Чужая система"
myUser -> mySystem "Работает в системе"
mySystem -> otherSystem "Запрашивает полезные данные" "HTTP\443"
}
views {
systemContext mySystem {
include *
autoLayout
}
themes default
}
}- После установки плагина preview диаграм будет доступно по ссылке "Show as structurizr diagram"

- Для того что бы плагин мог показывать Preview нужно что бы на машине была Java 17 или выше. Что бы узнать версию java наберите в командной строке:
java -version- Если у вас версия java меньше 17, тогда обновите версию Java например отсюда.
- Находим и устанавливаем расширение Mark Down All In One

- Находим и устанавливаем расширение для работы с PlantUML
(в курсе это не обязательно - но в жизни, точно пригодится) - В качестве начального проекта можно использовать шаблон который хранится в hl_mai_lab_00
Для работы только с диаграммами в Structurizr DSL нам достаточно иметь установленный плагин (описано выше). Однако, для полноценной работы с документацией и ADR нам так понадобится полноценный Structurizr Lite. Его рекомендуется запускать в Docker контейнере.
В директории в которой расположен workspace.dsl Создаем docker-compose.yml:
version: '3.3'
services:
structurizr:
image: structurizr/lite:latest
container_name: structurizr_lite_model
ports:
- 8080:8080
volumes:
- .:/usr/local/structurizrЗапускаем:
docker-compose up -dПосле запуска Structurizr будет доступен в веб-браузере по адресу: http://localhost:8080
