Русская Википедия:Модель C4

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Модель C4 (от англ. С4 model, Context Container Component Code model, модель «контекст-контейнер-компонент-код») — простой метод графической записи для моделирования архитектуры программных систем[1]. Он основан на структурной декомпозиции системы на контейнеры и компоненты и опирается на существующие методы моделирования, такие как Unified Modeling Language (UML) или ER-модель (ERD), для более детальной декомпозиции архитектурных блоков.

История

Модель C4 была создана архитектором программного обеспечения Саймоном Брауном в период с 2006 по 2011 год на основе UML и модели архитектурного представления 4+1. Популяризации новой техники моделирования способствовали запуск официального сайта[2] и публикация статьи[3], вышедшей в 2018 году.

Основные сведения

Модель C4 описывает архитектуру программных систем, отражая ее с разных точек зрения, объясняющих декомпозицию системы на контейнеры и компоненты, а также связи между этими элементами и, там где это уместно, связи между ее пользователями[2].

Диаграммы организованы в соответствии с их иерархическим уровнем:

  • Диаграммы контекста (уровень 1): показывают систему в масштабе ее взаимодействия с пользователями и другими системами;
  • Диаграммы контейнеров (уровень 2): разбивают систему на взаимосвязанные контейнеры. Контейнер - это исполняемая и развертываемая подсистема;
  • Диаграммы компонентов (уровень 3): разделяют контейнеры на взаимосвязанные компоненты и отражают связи компонент с другими контейнерами или другими системами;
  • Диаграммы кода (уровень 4): предоставляют дополнительные сведения о дизайне архитектурных элементов, которые могут быть сопоставлены с программным кодом. Модель C4 на этом уровне опирается на существующие нотации, такие как UML, диаграммы отношений сущностей (ERD) или диаграммы, созданные интегрированными средами разработки (IDE).

Для уровней с 1 по 3 в модели C4 используются 5 основных элементов диаграмм: пользователи, программные системы, контейнеры, компоненты и отношения. Модель не предъявляет требований к расположению, форме, цвету и стилю этих элементов. Однако модель C4 рекомендует использовать простые диаграммы, основанные на вложенных блоках, чтобы облегчить интерактивное совместное редактирование диаграмм.

Модель C4 облегчает совместную работу над созданием архитектуры ПО и доработку архитектуры в контексте команд разработки работающих с применением гибкой методологии разработки, в которой более формальные методы документирования и предварительное архитектурное проектирование нежелательны[4].

Примечания

Шаблон:Примечания