1. 程式人生 > >架構設計4+1檢視

架構設計4+1檢視

  • 4+1 檢視模型概況
Kruchten 提出了一個"4+1"檢視模型,從 5 個不同的視角包括包括邏輯試圖、程序檢視、物理
檢視、開發檢視、場景檢視來描述軟體體系結構。每一個檢視只關心繫統的一個側面,5 個試圖

結合在一起才能反映系統的軟體體系結構的全部內容。如下圖:


  • 邏輯檢視(Logic View )
邏輯試圖主要是用來 描述系統的功能需求,即系統提供給終端使用者的服務. 在邏輯檢視中,
系統分解成一系列的功能抽象、功能分解與功能分析,這些主要來自問題領域(Problem Definition)。
在面向物件技術中,通過抽象、封裝、繼承,可以用物件模型來代表邏輯檢視,可以用類圖(Class
Diagram)來描述邏輯檢視。如下圖:
構件(Components):類、類服務、引數化類、類層次
連線件(Connectors):關聯、包含聚集、使用、繼承、例項化


  • 開發檢視(Development/Module View)
開發檢視主要用來 描述軟體模組的組織與管理(通過程式庫或子系統)。服務於軟體 程式設計人
, 方便後續的設計與實現。它通過系統輸入輸出關係的模型圖和子系統圖來描述。要考慮軟
件的內部需求:開發的難易程度、重用的可能性,通用性,侷限性等等。開發檢視的風格通常是
層次結構,層次越低,通用性越好(底層庫:Java SDK,影象處理軟體包)。如下圖: 構件:模組、
子系統、層 連線件:參照相關性、模組/過程呼叫


  • 程序檢視
程序試圖側重系統的 執行特性,關注非功能性的需求(效能,可用性)。服務於系統整合人
,方便後續效能測試。強調併發性、分佈性、整合性、魯棒性(容錯)、可擴充性、吞吐量等。
定義邏輯檢視中的各個類的具體操作是在哪一個執行緒(Thread)中被執行。
如下圖: 構件:程序、簡化程序、迴圈程序
連線件:未指定,訊息、遠端過程呼叫(RPC)、雙向訊息、事件廣播


  • 物理檢視
物理試圖主要 描述硬體配置。服務於 系統工程人員,解決系統的拓撲結構、系統安裝、通訊
等問題。主要考慮如何把軟體對映到硬體上,也要考慮系統性能、規模、可靠性等。可以與程序
檢視一起對映。如下圖:
構件:處理器、計算機、其它裝置
連線件:通訊協議等


  • 場景(Scenarios)
場景用於 刻畫構件之間的相互關係,將四個檢視有機地聯絡起來。可以描述一個特定的檢視
內的構件關係,也可以描述不同檢視間的構件關係。文字、圖形表示皆可。