面向物件分析與設計 - UML 結構圖



UML 結構圖分為以下幾類:類圖、物件圖、元件圖和部署圖。

類圖

類圖模擬系統的靜態檢視。它包含系統的類、介面和協作;以及它們之間的關係。

系統類圖

讓我們考慮一個簡化的銀行系統。

一個銀行有很多分支機構。在每個區域,一個分支機構被指定為區域總部,負責監督該區域的其他分支機構。每個分支機構可以有多個賬戶和貸款。賬戶可以是儲蓄賬戶或活期賬戶。客戶可以同時開立儲蓄賬戶和活期賬戶。但是,客戶不能擁有多個儲蓄賬戶或活期賬戶。客戶也可以從銀行獲得貸款。

下圖顯示了相應的類圖。

Class Diagram of Banking System

系統中的類

銀行、分支機構、賬戶、儲蓄賬戶、活期賬戶、貸款和客戶。

關係

  • 一個銀行“擁有”多個分支機構 − 組合關係,一對多

  • 一個分支機構(作為區域總部)監督其他分支機構 − 一元關聯,一對多

  • 一個分支機構“擁有”多個賬戶 − 聚合關係,一對多

從賬戶類繼承出兩個類,即儲蓄賬戶和活期賬戶。

  • 一個客戶可以擁有一個活期賬戶 − 關聯關係,一對一

  • 一個客戶可以擁有一個儲蓄賬戶 − 關聯關係,一對一

  • 一個分支機構“擁有”多個貸款 − 聚合關係,一對多

  • 一個客戶可以獲得多個貸款 − 關聯關係,一對多

物件圖

物件圖模擬一組物件及其在某一時間點的連結。它顯示類圖中事物例項。物件圖是互動圖的靜態部分。

示例 − 下圖顯示了銀行系統類圖一部分的物件圖。

Object Diagram of Banking System

元件圖

元件圖顯示一組元件之間的組織和依賴關係。

元件圖包含:

  • 元件
  • 介面
  • 關係
  • 包和子系統(可選)

元件圖用於:

  • 透過正向和反向工程構建系統。

  • 使用面向物件程式語言開發系統時,對原始碼檔案的配置管理建模。

  • 在資料庫建模中表示模式。

  • 模擬動態系統的行為。

示例

下圖顯示了一個元件圖,用於模擬使用 C++ 開發的系統的原始碼。它顯示了四個原始碼檔案,即 myheader.h、otherheader.h、priority.cpp 和 other.cpp。顯示了 myheader.h 的兩個版本,從最新版本追溯到其祖先版本。檔案 priority.cpp 具有對 other.cpp 的編譯依賴性。檔案 other.cpp 具有對 otherheader.h 的編譯依賴性。

Component Diagram

部署圖

部署圖強調執行時處理節點及其上執行的元件的配置。它們通常由節點和依賴關係或節點之間的關聯組成。

部署圖用於:

  • 模擬嵌入式系統中的裝置,這些裝置通常包含軟體密集型硬體集合。

  • 表示客戶端/伺服器系統的拓撲結構。

  • 模擬完全分散式系統。

示例

下圖顯示了遵循客戶端/伺服器架構的計算機系統的拓撲結構。該圖說明了一個被定型為伺服器的節點,該節點包含處理器。該圖表明在系統中部署了四個或更多個伺服器。連線到伺服器的是客戶端節點,其中每個節點代表一個終端裝置,例如工作站、筆記型電腦、掃描器或印表機。節點使用清晰地描繪現實世界等效物的圖示來表示。

Deployment Diagram
廣告