Model C4 (z anglického C4 model, Context Container Component Code model, context-container-component-code model ) je jednoduchá grafická záznamová metoda pro modelování architektury softwarových systémů [1] . Je založen na strukturálním rozkladu systému na kontejnery a komponenty a spoléhá na stávající modelovací techniky, jako je Unified Modeling Language (UML) nebo ER Model (ERD) pro podrobnější rozklad architektonických bloků.
Model C4 vytvořil softwarový architekt Simon Brown v letech 2006 až 2011 na základě UML a 4+1 Architectural View Model . K popularizaci nové techniky modelování přispělo spuštění oficiálního webu [2] a zveřejnění článku [3] , vydaného v roce 2018.
Model C4 popisuje architekturu softwarových systémů, reflektuje ji z různých úhlů pohledu, vysvětluje rozklad systému na kontejnery a komponenty, jakož i vztahy mezi těmito prvky a případně vztahy mezi jeho uživateli [2] .
Grafy jsou uspořádány podle jejich hierarchické úrovně:
Pro úrovně 1 až 3 používá model C4 5 základních prvků diagramu: uživatele, softwarové systémy, kontejnery, komponenty a vztahy. Model neklade požadavky na umístění, tvar, barvu a styl těchto prvků. Model C4 však doporučuje používat jednoduché grafy založené na vnořených rámečcích, aby se usnadnily interaktivní společné úpravy grafů.
Model C4 usnadňuje spolupráci na softwarové architektuře a zdokonalování architektury v kontextu vývojových týmů pracujících v agilní vývojové metodologii , ve které jsou formálnější dokumentační metody a předarchitektonický design nežádoucí [4] .