Модель С4

Модель C4 — это упрощенный метод графической записи для моделирования архитектуры программных систем. [1] [2] Он основан на структурной декомпозиции (иерархическая древовидная структура) системы на контейнеры и компоненты и опирается на существующие методы моделирования, такие как унифицированный язык моделирования (UML) или диаграммы сущностей и связей (ERD), для более детальной декомпозиции архитектурного решения. строительные блоки.
История
[ редактировать ]Модель C4 была создана архитектором программного обеспечения Саймоном Брауном в период с 2006 по 2011 год на основе унифицированного языка моделирования (UML) и модели архитектурного представления 4+1 . Запуск официального сайта по лицензии Creative Commons [3] и статья [4] опубликованная в 2018 году, популяризировала новую технику. [1]
Обзор
[ редактировать ]Модель C4 документирует архитектуру программной системы , показывая несколько точек зрения. [5] которые объясняют декомпозицию системы на контейнеры и компоненты , отношения между этими элементами и, при необходимости, отношения с ее пользователями. [3]
Точки зрения организованы в соответствии с их иерархическим уровнем: [2] [3]
- Контекстные диаграммы (уровень 1): показывают систему в целом и ее взаимоотношения с пользователями и другими системами;
- Диаграммы контейнеров (уровень 2): разлагают систему на взаимосвязанные контейнеры. Контейнер представляет собой приложение или хранилище данных;
- Диаграммы компонентов (уровень 3): разлагают контейнеры на взаимосвязанные компоненты и связывают компоненты с другими контейнерами или другими системами;
- Диаграммы кода (уровень 4): предоставляют дополнительные сведения о конструкции архитектурных элементов, которые можно сопоставить с кодом. Модель C4 на этом уровне опирается на существующие нотации, такие как унифицированный язык моделирования (UML) , диаграммы отношений сущностей (ERD) или диаграммы, созданные интегрированными средами разработки (IDE) .
Для уровней с 1 по 3 модель C4 использует 5 основных элементов диаграммы: люди, программные системы, контейнеры, компоненты и отношения. Техника не предписывает расположение, форму, цвет и стиль этих элементов. Вместо этого модель C4 рекомендует использовать простые диаграммы на основе вложенных блоков, чтобы облегчить совместное интерактивное рисование. Этот метод также способствует использованию хороших методов моделирования, таких как размещение заголовка и легенды на каждой диаграмме, а также четкая недвусмысленная маркировка для облегчения понимания целевой аудиторией.
Модель C4 облегчает совместное визуальное проектирование и эволюционную архитектуру в контексте гибких команд, где более формальные методы документирования и предварительное архитектурное проектирование нежелательны. [6]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б Ричардс, Марк; Форд, Нил (2019). Основы архитектуры программного обеспечения: инженерный подход . О'РЕЙЛИ МЕДИА. п. 293. ИСБН 978-1-4920-4342-3 . OCLC 1138515057 .
появляются некоторые стандарты для построения диаграмм архитектуры программного обеспечения (например, модель C4 архитектора программного обеспечения Саймона Брауна или стандарт Open Group Archimate)
- ^ Jump up to: а б Энрикес, Рене (2018). Архитектура программного обеспечения с помощью Spring 5.0: проектирование и разработка высокомасштабируемых, надежных и высокопроизводительных Java-приложений . Салазар, Альберто. Packt Publishing Ltd., стр. 41–44. ISBN 978-1-78899-673-0 . OCLC 1053798657 .
- ^ Jump up to: а б с Браун, Саймон. «Модель C4 для визуализации архитектуры программного обеспечения» . c4model.com (Официальный сайт техники моделирования). Архивировано из оригинала 25 февраля 2010 г. Проверено 22 августа 2020 г.
- ^ Браун, Саймон (25 июня 2018 г.). «Модель C4 для архитектуры программного обеспечения» . ИнфоQ . Архивировано из оригинала 12 декабря 2018 г. Проверено 22 августа 2020 г.
- ^ Килинг, Майкл. Спроектируйте это! : от программиста до архитектора программного обеспечения . Роли, Северная Каролина. ISBN 978-1-68050-345-6 . OCLC 1024312521 .
- ^ «Конфликт между Agile и архитектурой: миф или реальность?» . resources.sei.cmu.edu . Конференция САТУРН 2013. Институт программной инженерии Университета Карнеги-Меллон . Архивировано из оригинала 19 апреля 2021 г. Проверено 22 августа 2020 г.