Модель C4

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Модель C4 є технікою бережливого графічного запису для моделювання архітектури програмного забезпечення.[1][2] Ця техніка заснована на структурному розділенні системи на контейнери та компоненти, та спирається на наявні техніки моделювання, такі як Unified Modelling Language (UML) або Entity Relation Diagrams (ERD) для більш детальної декомпозиції складових архітектури.

Історія[ред. | ред. код]

Модель C4 була створена архітектором програмного забезпечення Simon Brown між 2006 та 2011 на основі Unified Modelling Language (UML) та 4+1 architectural view model. Запуск офіційного сайту під ліцензією Creative Commons license[3] та статті[4], опублікованої у 2018 популяризували нову техніку.[1]

Огляд[ред. | ред. код]

Модель C4 описує архітектуру програмних систем, використовуючи кілька кутів зору[5], які пояснюють декомпозицію системи на контейнери та компоненти, відносини між ними та, де доречно, їх відношення до користувача.[3]

Ці кути зору організовано згідно з їх ієрархічним рівнем:[2][3]

  • Контекстна діаграма (рівень 1): показує систему в масштабі та її відносини з користувачами та іншими системами;
  • Контейнера діаграма (рівень 2): розділяє систему на взаємоповʼязані контейнери. Контейнер представляє застосунок або сховище даних;
  • Компонентна діаграма (рівень 3): розділяє контейнери на взаємоповʼязані компоненти та відносить компоненти до інших контейнерів чи систем;
  • Діаграма коду (рівень 4): надає додаткові деталі про дизайн архітектурних елементів що можуть бути пов'язані з кодом. Модель C4 спирається на цьому рівні на наявні системи запису, такі як Unified Modelling Language (UML), Entity Relation Diagrams (ERD) або діаграми, створені за допомогою інтегрованого середовища розробки (IDE).

Для рівнів від 1 до 3, модель C4 використовує пʼять базових діаграмних елементів: персони, програмні системи, контейнери, компоненти та відносини. Техніка моделювання не оперує поняттями розташування, форми, кольору та стилю цих елементів. Замість цього, модель C4 рекомендує використовувати прості діаграми на основі вкладених блоків, щоб полегшити інтерактивне спільне малювання діаграм. Техника також визначає найкращі практики моделювання, такі як використання заголовку та легенди на кожній діаграмі, та зрозумілі однозначні підписи, щоб полегшити розуміння змісту діаграми для цільової аудиторії.

Модель C4 полегшує спільне візуальне створення архітектури та еволюційну архітектуру в контексті гнучких команд, де формальні методи ведення документації та попередній архітектурний дизайн є небажаними.[6]

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. а б Richards,Mark; Ford, Neal (2019). Fundamentals of software architecture: an engineering approach. O'REILLY MEDIA. с. 293. ISBN 978-1-4920-4342-3. OCLC 1138515057. some standard are emerging for diagramming software architecture (such as software architect Simon Brown's C4 model or The Open Group Archimate standard)
  2. а б Enríquez, René (2018). Software Architecture with Spring 5. 0 : Design and Architect Highly Scalable, Robust, and High-Performance Java Applications. Salazar, Alberto. Packt Publishing Ltd. с. 41—44. ISBN 978-1-78899-673-0. OCLC 1053798657.
  3. а б в Brown, Simon. The C4 model for visualising software architecture. c4model.com (Official site of the modelling technique). Архів оригіналу за 25 лютого 2010. Процитовано 22 серпня 2020.
  4. Brown, Simon (25 червня 2018). The C4 Model for Software Architecture. InfoQ (англ.). Архів оригіналу за 12 грудня 2018. Процитовано 22 серпня 2020.
  5. Keeling, Michael. Design it! : from programmer to software architect. Raleigh, North Carolina. ISBN 978-1-68050-345-6. OCLC 1024312521.
  6. The Conflict Between Agile and Architecture: Myth or Reality?. resources.sei.cmu.edu. SATURN 2013 conference (англ.). Software Engineering Institute of Carnegie Mellon University. Архів оригіналу за 19 квітня 2021. Процитовано 22 серпня 2020.

Посилання[ред. | ред. код]