Нотация C4, разработанная Саймоном Брауном в 2011 году, предлагает стандартизированный подход к моделированию архитектуры ПО. Метод решает проблему неоднозначности диаграмм, позволяя командам последовательно детализировать систему на разных уровнях абстракции.
Модель включает четыре уровня: Context (контекст системы), Container (приложения и хранилища), Component (внутренние модули) и Code (реализация кода). Использование всех уровней не является обязательным; команды выбирают ту степень детализации, которая необходима для текущих задач.
Для построения диаграмм применяются инструменты Draw.io и Structurizr. В Structurizr архитектурные элементы, такие как пользователи, системы и контейнеры, определяются через код, а их визуальное оформление настраивается с помощью тегов и стилей, что позволяет единообразно отображать базы данных или брокеры сообщений.
Уровень Code считается опциональным, так как программный код часто меняется, а схемы быстро устаревают. Автор нотации рекомендует использовать этот уровень только для критически важных компонентов, зачастую прибегая к автоматической генерации диаграмм из IDE или стандартным UML-схемам.






