
- 面向物件分析與設計 教程
- 面向物件分析與設計 - 首頁
- 面向物件分析與設計 - 面向物件正規化
- 面向物件分析與設計 - 面向物件模型
- 面向物件分析與設計 - 面向物件系統
- 面向物件分析與設計 - 面向物件原則
- 面向物件分析與設計 - 面向物件分析
- 面向物件分析與設計 - 動態建模
- 面向物件分析與設計 - 功能建模
- 面向物件分析與設計 - UML 分析模型
- 面向物件分析與設計 - UML 基本符號
- 面向物件分析與設計 - UML 結構圖
- 面向物件分析與設計 - UML 行為圖
- 面向物件分析與設計 - 面向物件設計
- 面向物件分析與設計 - 實現策略
- 面向物件分析與設計 - 測試與質量保證
- 面向物件分析與設計 有用資源
- 面向物件分析與設計 - 快速指南
- 面向物件分析與設計 - 有用資源
面向物件分析與設計 - UML 結構圖
UML 結構圖分為以下幾類:類圖、物件圖、元件圖和部署圖。
類圖
類圖模擬系統的靜態檢視。它包含系統的類、介面和協作;以及它們之間的關係。
系統類圖
讓我們考慮一個簡化的銀行系統。
一個銀行有很多分支機構。在每個區域,一個分支機構被指定為區域總部,負責監督該區域的其他分支機構。每個分支機構可以有多個賬戶和貸款。賬戶可以是儲蓄賬戶或活期賬戶。客戶可以同時開立儲蓄賬戶和活期賬戶。但是,客戶不能擁有多個儲蓄賬戶或活期賬戶。客戶也可以從銀行獲得貸款。
下圖顯示了相應的類圖。

系統中的類
銀行、分支機構、賬戶、儲蓄賬戶、活期賬戶、貸款和客戶。
關係
一個銀行“擁有”多個分支機構 − 組合關係,一對多
一個分支機構(作為區域總部)監督其他分支機構 − 一元關聯,一對多
一個分支機構“擁有”多個賬戶 − 聚合關係,一對多
從賬戶類繼承出兩個類,即儲蓄賬戶和活期賬戶。
一個客戶可以擁有一個活期賬戶 − 關聯關係,一對一
一個客戶可以擁有一個儲蓄賬戶 − 關聯關係,一對一
一個分支機構“擁有”多個貸款 − 聚合關係,一對多
一個客戶可以獲得多個貸款 − 關聯關係,一對多
物件圖
物件圖模擬一組物件及其在某一時間點的連結。它顯示類圖中事物例項。物件圖是互動圖的靜態部分。
示例 − 下圖顯示了銀行系統類圖一部分的物件圖。

元件圖
元件圖顯示一組元件之間的組織和依賴關係。
元件圖包含:
- 元件
- 介面
- 關係
- 包和子系統(可選)
元件圖用於:
透過正向和反向工程構建系統。
使用面向物件程式語言開發系統時,對原始碼檔案的配置管理建模。
在資料庫建模中表示模式。
模擬動態系統的行為。
示例
下圖顯示了一個元件圖,用於模擬使用 C++ 開發的系統的原始碼。它顯示了四個原始碼檔案,即 myheader.h、otherheader.h、priority.cpp 和 other.cpp。顯示了 myheader.h 的兩個版本,從最新版本追溯到其祖先版本。檔案 priority.cpp 具有對 other.cpp 的編譯依賴性。檔案 other.cpp 具有對 otherheader.h 的編譯依賴性。

部署圖
部署圖強調執行時處理節點及其上執行的元件的配置。它們通常由節點和依賴關係或節點之間的關聯組成。
部署圖用於:
模擬嵌入式系統中的裝置,這些裝置通常包含軟體密集型硬體集合。
表示客戶端/伺服器系統的拓撲結構。
模擬完全分散式系統。
示例
下圖顯示了遵循客戶端/伺服器架構的計算機系統的拓撲結構。該圖說明了一個被定型為伺服器的節點,該節點包含處理器。該圖表明在系統中部署了四個或更多個伺服器。連線到伺服器的是客戶端節點,其中每個節點代表一個終端裝置,例如工作站、筆記型電腦、掃描器或印表機。節點使用清晰地描繪現實世界等效物的圖示來表示。
