Если вы знакомы с подходом к документированию, предложенным Саймоном Брауном, вы могли заинтересоваться им, но, возможно, задавались вопросом о его реализации. Этот репозиторий заполняет пробел, представляя конкретный шаблон реализации подхода, который состоящего из:


  1. Модели архитектуры программного обеспечения как код, построенные с использованием Structurizr Lite
  2. Документация, созданная с помощью шаблона Arc42
  3. Журнал решений, созданный с помощью ADR Tools

Предполагается хранение этой документации в репозитории и работа с ней так же, как и с кодом.



Для чего можно использовать этот шаблон?



Как запустить


  • docker compose up -d
  • Откройте веб-браузер и перейдите по адресу http://localhost:8081/

Как использовать Structurizr Lite



Что внутри?



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)


  1. AlexShkor
    08.09.2023 14:33

    Спасибо! Как раз то что мы искали для пользования в своем проекте. Подскажите а есть какой-то онлайн рендер для DSL?


    1. marshinov Автор
      08.09.2023 14:33

      Да, например "родной": https://structurizr.com/share/83822/. Либо через CLI, Structurizr Lite или Structurizr on-prem. Плейграунд здесь: https://structurizr.com/dsl.


  1. sergiorykov
    08.09.2023 14:33
    +4

    Спасибо, что поделился! Здорово, что практики здорового человека, которые можно масштабировать понятным образом на команды, распространяются благодаря тебе, Кириллу Ветчинкину, Саше Поломодову и еще многим другим!

    За Live Demo - отдельная благодарность!

    Архитектурный репозиторий на базе GitLab и C4 Model для большой компании. Кирилл Ветчинкин