A C4 modell (az angol C4 modellből Context Container Component Code model, context-container-component-code model ) egy egyszerű grafikus rögzítési módszer szoftverrendszerek architektúrájának modellezésére [1] . A rendszer tárolókra és komponensekre való szerkezeti felosztásán alapul, és olyan meglévő modellezési technikákra támaszkodik, mint az Unified Modeling Language (UML) vagy az ER Model (ERD) az építészeti blokkok részletesebb felosztásához.
A C4 modellt Simon Brown szoftverépítész készítette 2006 és 2011 között az UML és a 4+1 Architectural View Model alapján . Az új modellezési technika népszerűsítéséhez hozzájárult a hivatalos honlap [2] elindítása és egy cikk [3] megjelenése, amely 2018-ban jelent meg.
A C4 modell a szoftverrendszerek architektúráját írja le, azt különböző nézőpontokból tükrözve, magyarázza a rendszer konténerekre és komponensekre való felbomlását, valamint ezen elemek közötti kapcsolatokat, és adott esetben a felhasználók közötti kapcsolatokat [2] .
A diagramok hierarchikus szintjük szerint vannak rendezve:
Az 1–3. szintekhez a C4 modell 5 alapvető diagramelemet használ: felhasználók, szoftverrendszerek, tárolók, összetevők és kapcsolatok. A modell nem támaszt követelményeket ezen elemek elhelyezésére, formájára, színére és stílusára vonatkozóan. A C4-modell azonban egyszerű, beágyazott dobozokon alapuló diagramok használatát javasolja a diagramok interaktív, közös szerkesztésének megkönnyítése érdekében.
A C4-modell megkönnyíti a szoftverarchitektúra és az architektúra finomítása terén végzett együttműködést az agilis fejlesztési módszertanban dolgozó fejlesztőcsapatok kontextusában , ahol a formálisabb dokumentációs módszerek és az architektúra előtti tervezés nem kívánatos [4] .