Заметки бизнес-аналитика
Главная › Системный анализ › BPMN, UML и C4

Как описать архитектуру продукта по нотации C4

Конспект статьи. Автор оригинала: true_engineer (True Engineering, перевод)

Команда True Engineering выбрала C4, чтобы унифицировать описание архитектуры: разные команды использовали разные инструменты и уровни абстракции.

Почему не альтернативы

Visio громоздкий, UML-диаграммы быстро множатся и плохо поддерживаются, модель 4+1 сложна для новичков. C4 обходит это небольшим набором понятных уровней — как карта с разным масштабом.

Уровни

  • Context — система, пользователи, соседние системы; понятна нетехническим людям, меняется редко.
  • Container — отдельно разворачиваемые части: приложения, БД, функции. Не Docker-контейнеры.
  • Component — группы функций с интерфейсом внутри контейнера.
  • Code — UML-классы; рисовать только для важных модулей, лучше генерировать.

Устаревание

Контекст почти не меняется, контейнеры — при появлении сервисов, компоненты — при каждом рефакторинге. Нижние уровни стоит автоматизировать.

Инструменты

PlantUML для описания, C4Builder для экспорта, плагин IDE для навигации между уровнями.

Источник: Как описать архитектуру продукта по нотации C4
Автор: true_engineer (True Engineering, перевод)
Это конспект, пересказ основных идей. Полный текст, иллюстрации и примеры читайте в оригинальной статье.