Если вы знакомы с подходом к документированию, предложенным Саймоном Брауном, вы могли заинтересоваться им, но, возможно, задавались вопросом о его реализации. Этот репозиторий заполняет пробел, представляя конкретный шаблон реализации подхода, который состоящего из:
- Модели архитектуры программного обеспечения как код, построенные с использованием Structurizr Lite
- Документация, созданная с помощью шаблона Arc42
- Журнал решений, созданный с помощью ADR Tools
Предполагается хранение этой документации в репозитории и работа с ней так же, как и с кодом.
Для чего можно использовать этот шаблон?
- Предпродажа
- Исследование проекта
- Документ по архитектурному решению (SAD)
- Постоянная документация архитектуры вашей системы
Как запустить
docker compose up -d
- Откройте веб-браузер и перейдите по адресу
http://localhost:8081/
Как использовать Structurizr Lite
-
http://localhost:8081/workspace/diagrams
— диаграммы -
http://localhost:8081/workspace/documentation/Internet%20Banking%20System
— документация -
http://localhost:8081/workspace/decisions/Internet%20Banking%20System
— ADR - Справочник по языку
- Руководство по началу работы с Structurizr Lite
- Посмотрите два доклада в нижней части FAQ по C4
- Документы Arc42 находятся в
internet-banking-system/docs
-
ADR находятся в
internet-banking-system/adrs
Что внутри?
1. Модели архитектуры программного обеспечения как код
Live Demo
Structurizr основывается на идее "диаграммы как код", позволяя создавать несколько диаграмм архитектуры программного обеспечения из единой модели.
Существует ряд инструментов для создания совместимых рабочих областей Structurizr, среди которых Structurizr DSL рекомендуется большинству команд.
В примере DSL ниже создаются две диаграммы на основе единого набора элементов и отношений.
model {
user = person "User"
softwareSystem = softwareSystem "Software System" {
webapp = container "Web Application" {
user -> this "Uses"
}
container "Database" {
webapp -> this "Reads from and writes to"
}
}
}
views {
systemContext softwareSystem {
include *
autolayout lr
}
container softwareSystem {
include *
autolayout lr
}
theme default
}
2. Документация
Live Demo
Каждый архитектурный документ в этом репозитории создан с использованием шаблона Arc42 и хранится в формате asciidoc, что позволяет легко отслеживать изменения и внедрять улучшения документации.
3. Журнал решений
Live Demo
Журнал решений создан с помощью ADR Tools, позволяя вести запись каждого архитектурного решения, принятого в проекте, в формате markdown.
Счастливого документирования ????
Комментарии (3)
sergiorykov
08.09.2023 14:33+4Спасибо, что поделился! Здорово, что практики здорового человека, которые можно масштабировать понятным образом на команды, распространяются благодаря тебе, Кириллу Ветчинкину, Саше Поломодову и еще многим другим!
За Live Demo - отдельная благодарность!
Архитектурный репозиторий на базе GitLab и C4 Model для большой компании. Кирилл Ветчинкин
AlexShkor
Спасибо! Как раз то что мы искали для пользования в своем проекте. Подскажите а есть какой-то онлайн рендер для DSL?
marshinov Автор
Да, например "родной": https://structurizr.com/share/83822/. Либо через CLI, Structurizr Lite или Structurizr on-prem. Плейграунд здесь: https://structurizr.com/dsl.