天天看點

如何畫架構圖之C4模型畫法如何畫架構圖之C4模型畫法

如何畫架構圖之C4模型畫法

之前一直看别人畫架構圖,自己畫的很爛,最近看了一點點資料,整理了下,分享出來,希望對别人有幫助,如果有不對的地方歡迎指正。

C4架構圖要解答的問題:

1,為哪些使用者提供什麼服務? 語境圖

2,完成這個系統使用了哪些服務?容器圖

3,每一個服務是由哪些元件實作的 元件圖

4,實作這個元件需要完成什麼?類圖

語境圖:

意圖:

​ 我們建構的軟體系統是什麼?

​ 誰在使用它

​ 如何融入現有的it系統

結構:

​ 中間畫一個簡單的框圖代表你的系統,周圍是和它互相作用的系統。不去關注細節。

動機:

​ 使語境更明确

​ 從更高的層次展示了正在向已有的IT環境中添加了什麼?

​ 技術和非技術可以當做讨論起點的一種更高層次圖示。

​ 牽涉到了解系統間接口的問題時,為你識别可能需要溝通的人提供一個起點。

舉例:

如何畫架構圖之C4模型畫法如何畫架構圖之C4模型畫法

容器圖

意圖:

幫助解答以下問題:

​ 軟體系統的整體形态

​ 高層次的技術決策

​ 職責在系統如何分布

​ 容器之間如何互相交流

​ 為了實作特性,作為一個開發者,我需要在哪裡寫代碼

結構:

​ 畫一個簡單的框圖展示你的關鍵技術選擇。

容器:

​ Web伺服器

​ 應用伺服器

​ 企業服務總線和業務流程編排引擎

​ sql資料庫

​ nosql資料庫

​ 其他存儲系統

​ 檔案系統

​ windows服務

​ 獨立/控制台應用程式

​ web浏覽器

​ cron或其他計劃工作容器

容器,指的是組成軟體系統的邏輯上的可執行檔案或過程。每一個容器都可以指定以下 幾項:名稱(邏輯名稱,如web伺服器,資料庫),技術選型,職責。

互動:

​ 互動的目的

​ 通信方法

​ 通信方式

​ 協定和端口号

系統邊界

​ 需要有系統邊界

示例圖:

如何畫架構圖之C4模型畫法如何畫架構圖之C4模型畫法

元件圖

意圖:

解釋以下問題:

​ 系統由哪裡元件組成

​ 高層次上,系統如何工作是否清晰

​ 所有元件/服務是否在一個容器中?

結構:

​ 當人們被要求繪制架構圖時,通常會繪制一張展示組成軟體系統的邏輯元件的圖。

除了我們一次隻想看一個容器中駐留的元件。也就是說元件圖就是普遍意義上的架構圖。

元件:

一個金融系統風險的解決方案包含的元件:

​ 貿易資料系統導入器

​ 參考資料系統導入器

​ 風險電腦

​ 認證服務

​ 系統驅動者,協調者

​ 審計元件

​ 通知元件

​ 監測服務等

​ 元件是系統的粗粒度結構單元,通過一個或者多個元件實作一個特性。每一個元件,都可以指定:名稱,技術,職責。

互動:

​ 互動的目的

​ 通信方式

示例圖:

如何畫架構圖之C4模型畫法如何畫架構圖之C4模型畫法

基礎設施架構

提供軟體架構和基礎設定架構之間映射的資訊。

繼續閱讀