Model C4

Modelul C4 (din limba engleză C4 model, Context Container Component Code model, context-container-component-code model ) este o metodă simplă de înregistrare grafică pentru modelarea arhitecturii sistemelor software [1] . Se bazează pe descompunerea structurală a unui sistem în containere și componente și se bazează pe tehnici de modelare existente, cum ar fi Unified Modeling Language (UML) sau ER Model (ERD) pentru o descompunere mai detaliată a blocurilor arhitecturale.

Istorie

Modelul C4 a fost creat de arhitectul software Simon Brown între 2006 și 2011, pe baza UML și a modelului 4+1 Architectural View Model . Lansarea site-ului oficial [2] și publicarea unui articol [3] , publicat în 2018, au contribuit la popularizarea noii tehnici de modelare.

Informații de bază

Modelul C4 descrie arhitectura sistemelor software, reflectând-o din diferite puncte de vedere, explicând descompunerea sistemului în containere și componente, precum și relațiile dintre aceste elemente și, acolo unde este cazul, relațiile dintre utilizatorii săi [2] .

Diagramele sunt organizate în funcție de nivelul lor ierarhic:

Pentru nivelurile 1 până la 3, modelul C4 utilizează 5 elemente de diagramă de bază: utilizatori, sisteme software, containere, componente și relații. Modelul nu impune cerințe privind amplasarea, forma, culoarea și stilul acestor elemente. Cu toate acestea, modelul C4 recomandă utilizarea diagramelor simple bazate pe casete imbricate pentru a facilita editarea interactivă în colaborare a diagramelor.

Modelul C4 facilitează munca de colaborare privind arhitectura software și rafinarea arhitecturii în contextul echipelor de dezvoltare care lucrează într-o metodologie de dezvoltare agilă , în care metodele de documentare mai formale și designul pre-arhitectural sunt nedorite [4] .

Note

  1. NEAL FORD. FUNDAMENTELE ARHITECTURII SOFTWARE: un ghid cuprinzător pentru modele, ... caracteristici și bune practici. . — Locul publicării neidentificat: O'REILLY MEDIA, 2019. — ISBN 978-1-4920-4342-3 , 978-1-4920-4340-9.
  2. ↑ 1 2 Modelul C4 pentru vizualizarea arhitecturii software . c4model.com . Preluat la 27 august 2020. Arhivat din original la 25 februarie 2010.
  3. Modelul C4 pentru arhitectura software  . InfoQ . Preluat la 27 august 2020. Arhivat din original la 12 decembrie 2018.
  4. Conflictul dintre agil și arhitectură: mit sau realitate?  (engleză) . resurse.sei.cmu.edu . Preluat la 27 august 2020. Arhivat din original la 19 aprilie 2021.