4+1架構視圖
邏輯視圖(Logical View)
- 相關方
客戶、用戶、開發組織管理者 - 視角
系統的功能元素,以及它們接口、職責、交互 - 主要元素
系統、子系統、功能模塊、接口 - 用途
開發組織劃分、成本\進度的評估 - 邏輯視圖案例
過程視圖(Process View)
- 相關方
性能優化、開發相關人員 - 視角
系統運行時線程、進程的情況 - 主要元素
系統進程、線程以及處理隊列等 - 過程視圖案例
物理視圖(Physical View)
- 相關方
系統集成商、系統運維人員 - 視角
系統邏輯組件到物理節點的物理部署和節點之間的物理網絡配置 - 主要元素
物理節點以及節點的通信 - 物理視圖案例
開發視圖(Development View)
- 相關方
開發相關人員、測試人員 - 視角
系統如何開發實現 - 主要元素
描述系統的層、分區、包、框架、系統通用服務、業務通用服務、類和接口、系統平臺和相關基礎框架 - 用途
指導開發組織設計和開發實現
場景視圖(Scenarios)
- 相關方
用戶、設計和開發人員 - 視角
概括了架構上最重要的場景(最典型或最有風險)及其非功能性需求,通過這些場景的實現,闡明架構的廣度或衆多架構元素運行的方式
UML
通用模型元素
常見元素關係
- 繼承
一個類(稱爲子類)繼承另外的一個類(稱爲父類)的功能,並可以在子類中增加自己的新屬性和功能。
- 實現
Class類實現interface接口的功能,實現是類與接口之間最常見的關係。
- 依賴
依賴就是一個類A使用到了另一個類B來實現某些功能,而這種使用關係是具有偶然性的、臨時性的、非常弱的,但是類B的變化會影響到類A。
- 關聯
關聯體現的是兩個類之間語義級別的一種強依賴關係,這種關係比依賴關係更強,一般是長期性的。
- 聚合
關聯關係的一種特例,它體現的是整體與部分的關係,即has-a的關係。此時整體與部分之間是可分離的,它們可以具有各自的生命週期。例如下圖的班主任與學生的關係。
- 組合
關聯關係的一種特例,體現的是一種contains-a的關係,這種關係比聚合更強,也稱爲強聚合。它同樣體現整體與部分間的關係,但此時整體與部分是不可分的。例如下圖的人與心臟的關係。
靜態圖
通過描述類、對象和數據結構以及它們之間存在的關係,來描述軟件要素中不變的邏輯結構。常見的靜態圖有用例圖、對象圖、類圖、組件圖、包圖、部署圖
用例圖(Use Case Diagrams)
類圖(Class Diagrams)
組件圖(Component Diagrams)
部署圖(Deployment Diagrams)
對象圖(Object Diagrams)
包圖(Package Diagrams)
動態圖
通過描述執行流程或者實體狀態變化的方式,來展現軟件實體在執行過程中的變化過程