C4模型是软件系统建模的图形表示技巧。C4模型会用到一些现有的建模技巧,例如统一建模语言(UML)及ER模型(ERD),会将系统结构化分解,分解为容器(container)和组件(component)。
C4模型是由软件架构师(英语:software architect)Simon Brown在2006年至2011年之间创建,以统一建模语言和4+1视景模型的基础上建立。在2018年在官网上以知识共享许可协议发布,并且也提出相关的文章。
C4模型用以下的几个视角来叙述软件系统的架构,会说明系统分解为容器和组件的方式、各元素之间的关系,若是适用的话,也可以说明和使用者之间的关系。
C4模型会依其阶层关系来分类:
C4模型的第一层到第三层,用到五种基础的图示元素:人、软件系统、容器、组件和关系。此技术没有规定元素的布局、形状、颜色或是风格。C4模型建议以嵌套框为基础的简单图表,方便互动式的协作绘图。C4模型也鼓励良好的建模实务,例如在每一个图都加上标题以及图例,以及清楚的标示,以方便目标读者的理解。
在敏捷开发社群中,不太希望有制式化的文件方式,以及前期的架构设计,C4模型可以将架构可视化,因此在敏捷社群很受欢迎。