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

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

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

C4架構圖要解答的問題:

1,爲哪些用戶提供什麼服務? 語境圖

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

3,每一個服務是由哪些組件實現的 組件圖

4,實現這個組件需要完成什麼?類圖

語境圖:

意圖:

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

​ 誰在使用它

​ 如何融入現有的it系統

結構:

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

動機:

​ 使語境更明確

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

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

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

舉例:

在這裏插入圖片描述

容器圖

意圖:

幫助解答以下問題:

​ 軟件系統的整體形態

​ 高層次的技術決策

​ 職責在系統如何分佈

​ 容器之間如何相互交流

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

結構:

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

容器:

​ Web服務器

​ 應用服務器

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

​ sql數據庫

​ nosql數據庫

​ 其他存儲系統

​ 文件系統

​ windows服務

​ 獨立/控制檯應用程序

​ web瀏覽器

​ cron或其他計劃工作容器

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

交互:

​ 交互的目的

​ 通信方法

​ 通信方式

​ 協議和端口號

系統邊界

​ 需要有系統邊界

示例圖:

在這裏插入圖片描述

組件圖

意圖:

解釋以下問題:

​ 系統由哪裏組件組成

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

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

結構:

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

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

組件:

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

​ 貿易數據系統導入器

​ 參考數據系統導入器

​ 風險計算器

​ 認證服務

​ 系統驅動者,協調者

​ 審計組件

​ 通知組件

​ 監測服務等

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

交互:

​ 交互的目的

​ 通信方式

示例圖:

在這裏插入圖片描述

基礎設施架構

提供軟件架構和基礎設置架構之間映射的信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章