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]。
相關條目
參考資料
- Richards,Mark; Ford, Neal. . O'REILLY MEDIA. 2019: 293. ISBN 978-1-4920-4342-3. OCLC 1138515057.
some standard are emerging for diagramming software architecture (such as software architect simon Brown's C4 model or The Open Group Archimate standard)
- Enríquez, René. . Salazar, Alberto. Packt Publishing Ltd. 2018: 41–44. ISBN 978-1-78899-673-0. OCLC 1053798657.
- Brown, Simon. . c4model.com (Official site of the modelling technique). [2020-08-22]. (原始内容存档于2010-02-25).
- Brown, Simon. . InfoQ. 2018-06-25 [2020-08-22]. (原始内容存档于2018-12-12) (英语).
- Keeling, Michael. . Raleigh, North Carolina. ISBN 978-1-68050-345-6. OCLC 1024312521.
- . resources.sei.cmu.edu. SATURN 2013 conference. Software Engineering Institute of Carnegie Mellon University. [2020-08-22]. (原始内容存档于2021-04-19) (英语).
外部連結
- Official site (页面存档备份,存于)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.