C4模型
来自维基百科,自由的百科全书
C4模型是软件系统建模的图形表示技巧[1][2]。C4模型会用到一些现有的建模技巧,例如统一建模语言(UML)及ER模型(ERD),会将系统结构化分解,分解为容器(container)和组件(component)。
历史
C4模型是由软件架构师Simon Brown在2006年至2011年之间创建,以统一建模语言和4+1视景模型的基础上建立。在2018年在官网上以知识共享许可协议[3]发布,并且也提出相关的文章[4][1]。
简介
C4模型用以下的几个视角来叙述软件系统的架构[5],会说明系统分解为容器和组件的方式、各元素之间的关系,若是适用的话,也可以说明和使用者之间的关系[3]。
- 系统上下文图(Context diagrams),第一层的图,说明系统、和其使用者以及其他系统的关系。
- 容器图(Container diagrams),第二层的图,将系统分解为彼此相关的容器(container)。容器可以是应用程序或是资料存储。
- 组件图(Component diagrams),第三层的图,将容器分别为彼此相关的组件,也说明组件和其他组件(或是其他系统)的关系。
- 程式码图(Code diagrams),第四层的图,提供架构元素的设计细节,可以对应到程式码。在此层级的C4模型会用到目前已有的标示方式,例如统一建模语言、ER模型或是集成开发环境产生的示意图。
C4模型的第一层到第三层,用到五种基础的图示元素:人、软件系统、容器、组件和关系。此技术没有规定元素的布局、形状、颜色或是风格。C4模型建议以嵌套框为基础的简单图表,方便互动式的协作绘图。C4模型也鼓励良好的建模实务,例如在每一个图都加上标题以及图例,以及清楚的标示,以方便目标读者的理解。
在敏捷开发社群中,不太希望有制式化的文件方式,以及前期的架构设计,C4模型可以将架构可视化,因此在敏捷社群很受欢迎[6]。
相关条目
参考资料
外部链接
Wikiwand - on
Seamless Wikipedia browsing. On steroids.