如何画架构图之C4模型画法
如何畫架構圖之C4模型畫法
之前一直看別人畫架構圖,自己畫的很爛,最近看了一點點資料,整理了下,分享出來,希望對別人有幫助,如果有不對的地方歡迎指正。
C4架構圖要解答的問題:
1,為哪些用戶提供什么服務? 語境圖
2,完成這個系統使用了哪些服務?容器圖
3,每一個服務是由哪些組件實現的 組件圖
4,實現這個組件需要完成什么?類圖
語境圖:
意圖:
? 我們構建的軟件系統是什么?
? 誰在使用它
? 如何融入現有的it系統
結構:
? 中間畫一個簡單的框圖代表你的系統,周圍是和它相互作用的系統。不去關注細節。
動機:
? 使語境更明確
? 從更高的層次展示了正在向已有的IT環境中添加了什么?
? 技術和非技術可以當做討論起點的一種更高層次圖標。
? 牽涉到理解系統間接口的問題時,為你識別可能需要溝通的人提供一個起點。
舉例:
容器圖
意圖:
幫助解答以下問題:
? 軟件系統的整體形態
? 高層次的技術決策
? 職責在系統如何分布
? 容器之間如何相互交流
? 為了實現特性,作為一個開發者,我需要在哪里寫代碼
結構:
? 畫一個簡單的框圖展示你的關鍵技術選擇。
容器:
? Web服務器
? 應用服務器
? 企業服務總線和業務流程編排引擎
? sql數據庫
? nosql數據庫
? 其他存儲系統
? 文件系統
? windows服務
? 獨立/控制臺應用程序
? web瀏覽器
? cron或其他計劃工作容器
容器,指的是組成軟件系統的邏輯上的可執行文件或過程。每一個容器都可以指定以下 幾項:名稱(邏輯名稱,如web服務器,數據庫),技術選型,職責。
交互:
? 交互的目的
? 通信方法
? 通信方式
? 協議和端口號
系統邊界
? 需要有系統邊界
示例圖:
組件圖
意圖:
解釋以下問題:
? 系統由哪里組件組成
? 高層次上,系統如何工作是否清晰
? 所有組件/服務是否在一個容器中?
結構:
? 當人們被要求繪制架構圖時,通常會繪制一張展示組成軟件系統的邏輯組件的圖。
除了我們一次只想看一個容器中駐留的組件。也就是說組件圖就是普遍意義上的架構圖。
組件:
一個金融系統風險的解決方案包含的組件:
? 貿易數據系統導入器
? 參考數據系統導入器
? 風險計算器
? 認證服務
? 系統驅動者,協調者
? 審計組件
? 通知組件
? 監測服務等
? 組件是系統的粗粒度結構單元,通過一個或者多個組件實現一個特性。每一個組件,都可以指定:名稱,技術,職責。
交互:
? 交互的目的
? 通信方式
示例圖:
基礎設施架構
提供軟件架構和基礎設置架構之間映射的信息。
總結
以上是生活随笔為你收集整理的如何画架构图之C4模型画法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac的ideal终端中mvn命令不生效
- 下一篇: 一个网站的演进之路