1. 什么是架構
架構就是對系統中的實體以及實體之間的關系所進行的抽象描述,是一系列的決策.
架構是結構和願景.
系統架構是概念的體現,是對物/信息的功能與形式元素之間的對應情況所做的分配,是對元素之間的關系以及元素同周邊環境之間的關系所做的定義.
做好架構是個復雜的任務,也是個很大的話題,本篇就不做深入了.有了架構之后,就需要讓干系人理解,遵循相關決策.
2. 什么是架構圖
系統架構圖是為了抽象的表示軟件系統的整體輪廓和各個組件之間的相互關系和約束邊界,以及軟件系統的物理部署和軟件系統的演進方向的整體視圖.
3. 架構圖的作用
一圖勝千言.要讓干系人理解,遵循架構決策,就需要把架構信息傳遞出去.架構圖就是一個很好的載體.那么,畫架構圖是為了:
- 解決溝通障礙
- 達成共識
- 減少歧義
4. 架構圖分類
搜集了很多資料,分類有很多,有一種比較流行的是4+1視圖,分別為場景視圖,邏輯視圖,物理視圖,處理流程視圖和開發視圖.
- 場景視圖
- 場景視圖用於描述系統的參與者與功能用例間的關系,反映系統的最終需求和交互設計,通常由用例圖表示.
- 場景視圖用於描述系統的參與者與功能用例間的關系,反映系統的最終需求和交互設計,通常由用例圖表示.
- 邏輯視圖
- 邏輯視圖用於描述系統軟件功能拆解后的組件關系,組件約束和邊界,反映系統整體組成與系統如何構建的過程,通常由UML的組件圖和類圖來表示.
- 邏輯視圖用於描述系統軟件功能拆解后的組件關系,組件約束和邊界,反映系統整體組成與系統如何構建的過程,通常由UML的組件圖和類圖來表示.
- 物理視圖
- 物理視圖用於描述系統軟件到物理硬件的映射關系,反映出系統的組件是如何部署到一組可計算機器節點上,用於指導軟件系統的部署實施過程.
- 物理視圖用於描述系統軟件到物理硬件的映射關系,反映出系統的組件是如何部署到一組可計算機器節點上,用於指導軟件系統的部署實施過程.
- 處理流程視圖
- 處理流程視圖用於描述系統軟件組件之間的通信時序,數據的輸入輸出,反映系統的功能流程與數據流程,通常由時序圖和流程圖表示.
- 處理流程視圖用於描述系統軟件組件之間的通信時序,數據的輸入輸出,反映系統的功能流程與數據流程,通常由時序圖和流程圖表示.
- 開發視圖
開發視圖用於描述系統的模塊划分和組成,以及細化到內部包的組成設計,服務於開發人員,反映系統開發實施過程.
開發視圖用於描述系統的模塊划分和組成,以及細化到內部包的組成設計,服務於開發人員,反映系統開發實施過程.
以上5種架構視圖從不同角度表示一個軟件系統的不同特征,組合到一起作為架構藍圖描述系統架構.