C4模型

来自维基百科,自由的百科全书

C4模型軟體系統建模的圖形表示技巧[1][2]。C4模型會用到一些現有的建模技巧,例如统一建模语言(UML)及ER模型(ERD),會將系統結構化分解,分解為容器(container)和組件(component)。  

歷史

C4模型是由軟體架構師英语software architectSimon Brown在2006年至2011年之間創建,以统一建模语言4+1視景模型的基礎上建立。在2018年在官網上以知识共享许可协议[3]發佈,並且也提出相關的文章[4][1]

簡介

C4模型用以下的幾個視角來敘述軟體系統的架構[5],會說明系統分解為容器和組件的方式、各元素之間的關係,若是適用的話,也可以說明和使用者之間的關係[3]

C4模型會依其階層關係來分類[2][3]

  • 系統上下文圖(Context diagrams),第一層的圖,說明系統、和其使用者以及其他系統的關係。
  • 容器圖(Container diagrams),第二層的圖,將系統分解為彼此相關的容器(container)。容器可以是應用程序或是資料存儲。
  • 組件圖(Component diagrams),第三層的圖,將容器分別為彼此相關的組件,也說明組件和其他組件(或是其他系統)的關係。
  • 程式碼圖(Code diagrams),第四層的圖,提供架構元素的設計細節,可以對應到程式碼。在此層級的C4模型會用到目前已有的標示方式,例如统一建模语言ER模型或是集成开发环境產生的示意圖。

C4模型的第一層到第三層,用到五種基礎的圖示元素:人、軟體系統、容器、組件和關係。此技術沒有規定元素的佈局、形狀、顏色或是風格。C4模型建議以嵌套框為基礎的簡單圖表,方便互動式的協作繪圖。C4模型也鼓勵良好的建模實務,例如在每一個圖都加上標題以及圖例,以及清楚的標示,以方便目標讀者的理解。

敏捷開發社群中,不太希望有制式化的文件方式,以及前期的架構設計,C4模型可以將架構可視化,因此在敏捷社群很受歡迎[6]

相關條目

參考資料

外部連結

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.