組件圖和部署圖是統一建模語言(UML)中用於模擬軟體系統不同方面的兩種圖表。它們具有不同的用途,並著重於系統設計與實現的不同方面。
-
組件圖
- 目的:組件圖主要用於以組件及其關係來表示軟體系統的高階結構。它著重於軟體系統的組織與模組化。
- 元素:組件圖包含組件、介面、連接器與依賴關係。
- 組件:這些代表系統的主要構建模塊或組件。它可以是實體或邏輯實體,例如類別、套件,甚至整個子系統。
- 介面:這些定義了組件之間互動時所公開的合約或 API。
- 連接器:連接器顯示組件之間如何互動或通訊。範例包括關聯、依賴關係與聚合。
- 使用案例:組件圖在設計階段用於展示系統架構、組件之間的關係及其介面。它有助於理解系統的結構與組織方式。

部署圖
-
- 目的:部署圖著重於軟體組件的實際部署,以及它們與硬體和其他軟體元件之間的關係。它們用於模擬系統的部署架構,包括伺服器、節點與通訊路徑。
- 元素:部署圖包含節點、實體與關聯。
- 節點:這些代表硬體或軟體處理元件,例如伺服器、工作站,甚至路由器或印表機等裝置。
- 實體:實體是實際部署在節點上的軟體組件或檔案,例如可執行檔、函式庫或資料庫。
- 關聯:關聯顯示節點與實體之間的關係,表明哪些組件部署在哪個節點上。
- 使用案例:部署圖通常在實作階段與系統部署時使用。它有助於規劃與視覺化軟體組件如何分布在實際基礎設施上,包括伺服器、網路及其他資源。

組件圖與部署圖的比較
下表突顯了 UML 中組件圖與部署圖的主要差異與用途。組件圖著重於軟體組件的邏輯結構與組織,而部署圖則著重於這些組件在硬體節點上的實際部署。
| 面向 | 組件圖 | 部署圖 |
|---|---|---|
| 目的 | 呈現高階軟體結構 | 模擬軟體組件的實際部署 |
| 重點 | 組件的邏輯組織與關係 | 在硬體與節點上的實際部署 |
| 主要元素 | – 組件(例如:類別、套件、子系統) | – 節點(例如:伺服器、工作站) |
| – 接口(例如:合約、API) | – 建造物(例如:檔案、資料庫) | |
| – 連接器(例如:關聯、依賴) | – 關聯(表示部署關係) | |
| 使用案例 | – 設計階段:系統架構與結構 | – 實施階段:部署規劃 |
| – 描述組件之間的關係與接口 | – 顯示組件在硬體上的分佈 | |
| 抽象層級 | 高階抽象 | 低階抽象 |
| 符號 | 組件、接口、連接器 | 節點、建造物、關聯 |
| 所表示的關係 | 依賴、關聯、聚合等 | 部署關聯、組件與節點的對應 |
| 範例情境 | 表示軟體模組及其 | 視覺化網頁伺服器軟體 |
| 在銀行應用程式中的互動 | 組件如何部署在實體伺服器上 |
總結
組件圖著重於系統內軟件組件的高級結構和組織,而部署圖則專注於這些組件如何在硬體或節點上進行物理部署。這兩種圖表在軟件開發的不同階段都具有價值,並從不同角度提供對系統設計和架構的視角。











