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.