在軟體開發領域中,統一模型語言(UML)提供了一種標準化的方式來視覺化系統的設計。UML 中的一個關鍵圖表是物件圖,它在特定時間點呈現系統中實例的快照。本文將向您介紹物件圖,解釋其用途,並指導您使用功能強大的 UML 建模工具 Visual Paradigm 來建立物件圖。

什麼是物件圖?
物件圖是一種 UML 圖表,透過展示類別的實例及其在特定時刻的關係,呈現系統的靜態視圖。與提供系統結構藍圖的類別圖不同,物件圖專注於執行時實際存在的物件及其互動。
主要特徵
- 快照視圖:物件圖捕捉系統在特定時間點的狀態,提供真實或原型性的視角。
- 基於實例:它們專注於實例(物件)而非類別,展示物件如何以特定屬性值進行互動。
- 靜態設計:雖然它們呈現的是某一時刻的狀態,但物件圖用於說明系統的靜態設計,有助於理解在特定情境下物件之間的關係。
為什麼要使用物件圖?
- 測試與除錯:物件圖在測試與除錯中非常有用,因為它們顯示物件在即時情境中的互動方式。
- 情境說明:它們有助於視覺化特定的使用案例或情境,使系統在特定條件下的行為更易理解。
- 原型設計:物件圖可用於模擬系統在實際資料下的運作方式,協助設計流程。
使用 Visual Paradigm 建立物件圖
Visual Paradigm 是一套完整的 UML 建模工具,包含物件圖的建立。以下是一份逐步指南,幫助您開始使用:
逐步指南
-
建立新的物件圖:
- 開啟 Visual Paradigm,並選擇
圖表 > 新增從應用程式工具列中。 - 在
新增圖表視窗中,選擇物件圖.
- 開啟 Visual Paradigm,並選擇
-
建立實例規格:
- 從圖表工具列中選擇
實例規格並點擊圖表以建立形狀。 - 根據其所代表的物件命名實例規格。
- 從圖表工具列中選擇
-
選擇分類器:
- 右鍵按一下實例規格形狀並選擇
選擇分類器 > 選擇分類器...從捷徑功能表中。 - 在
選擇分類器視窗中,選擇將作為實例規格分類器的類別。
- 右鍵按一下實例規格形狀並選擇
-
定義槽:
- 若要定義槽,請右鍵按一下實例規格形狀並選擇
槽...從捷徑功能表中。 - 在
實例規格規格視窗中,選擇要定義槽的特性,然後按一下定義槽. - 透過選擇已定義的槽並按一下
編輯值....
- 若要定義槽,請右鍵按一下實例規格形狀並選擇
-
建立連結:
- 要建立實例規格之間的連結,請將滑鼠指標移至來源實例規格上。
- 按一下資源目錄按鈕,並將其拖曳至目標實例規格。
- 放開滑鼠按鈕並選擇
連結從資源目錄中建立連結。
範例
讓我們來考慮一個圖書館系統的簡單範例:
- 類別:
書籍,會員,借閱 - 物件:
書籍:喬治·歐威爾所著的《1984》會員:珍·多借閱:珍·多借閱《1984》的借閱紀錄
在 Visual Paradigm 中建立此模型的步驟:
-
建立實例規格:
- 為以下項目建立實例
書籍,會員,以及借閱.
- 為以下項目建立實例
-
選擇分類器:
- 為每個實例分配相應的類別(
書籍,會員,借閱)給每個實例。
- 為每個實例分配相應的類別(
-
定義槽位:
- 對於
書籍:定義以下槽位標題,作者,並設定如「1984」和「喬治·歐威爾」等值。 - 對於
會員:定義以下槽位姓名,並將值設定為「珍·多」。 - 對於
借閱:定義以下槽位借閱日期以及還書日期.
- 對於
-
建立連結:
- 在……之間建立連結
會員(珍·多)和借閱以顯示珍·多已借閱一本書。 - 在……之間建立連結
借閱和書籍以顯示「一九八四」是所借閱的書籍。
- 在……之間建立連結
範例:類別圖 vs 物件圖
該圖示說明了物件導向程式設計中類別與物件圖的概念,著重於類別與其執行個體(物件)之間的關係。以下是詳細說明:

類別圖(左側)
-
類別與屬性:
- 顧客類別:
- 屬性:
姓名(字串),所在地(字串)。 - 方法:
+發送訂單(),+接收訂單().
- 屬性:
- 訂單類別:
- 屬性:
日期(日期),編號(字串)。 - 方法:
+確認(),+關閉().
- 屬性:
- 顧客類別:
-
泛化(繼承):
- 這個
訂單類別是被泛化為兩個子類別的超類別:一般訂單以及特殊訂單. - 一般訂單類別:
- 從以下類別繼承屬性和方法:
訂單. - 額外方法:
+派送(),+receive().
- 從以下類別繼承屬性和方法:
- 特殊訂單類別:
- 繼承屬性和方法來自
訂單. - 額外方法:
+dispatch().
- 繼承屬性和方法來自
- 這個
-
關係:
- 在……之間存在一對多的關係
客戶和訂單,以「1」表示在客戶端,而在訂單端無數字,表示一位客戶可擁有多个訂單。
- 在……之間存在一對多的關係
物件圖(右側)
-
物件與屬性:
- C1:客戶物件:
- 某個
客戶類別的實例。
- 某個
- O1、O2、O3:訂單物件:
- 的實例
訂單類別,具有特定編號屬性:O1(編號 = 12),O2(編號 = 61),O3(編號 = 88)。
- 的實例
- S1、S2、S3:特殊訂單物件:
- 的實例
特殊訂單類別,具有特定編號屬性:S1(編號 = 43),S2(編號 = 50),S3(編號 = 17)。
- 的實例
- C1:客戶物件:
-
關係:
- 的
C1客戶物件與多個訂單物件連結(O1,O2,O3) 和特殊訂單物件 (S1,S2,S3). - 這反映了類圖中顯示的一對多關係,其中單一客戶可以擁有多个訂單。
- 的
解釋
- 泛化: 這
訂單類作為一個具有共同屬性和方法的基類,而一般訂單和特殊訂單是具有額外功能的特殊版本。 - 實例化: 物件圖顯示這些類如何被實例化為具有具體值的特定物件,展示類結構在實際應用中的使用方式。
- 關係: 圖表強調客戶與其訂單之間的關聯,說明物件如何根據定義的類關係進行互動。
這種視覺化有助於理解類是如何設計的,以及它們如何轉化為具有特定資料和行為的現實世界物件。
結論
物件圖是UML中一個強大的工具,可透過特定實例及其互動來視覺化系統的執行時行為。使用Visual Paradigm,您可以高效地建立這些圖表,有助於軟體系統的設計、測試和除錯。無論您是初學者還是資深開發人員,理解並運用物件圖都能顯著提升您建模和理解複雜系統的能力。
參考資料
- 繪製物件圖。Visual Paradigm
- 透過 Visual Paradigm 學習類別圖。Archimetric
- Visual Paradigm 教學。取自YouTube
- 範例:類別圖與物件圖。Visual Paradigm Circle
- UML 中的類別圖與物件圖。Visual Paradigm
- 什麼是物件圖?Visual Paradigm
- 物件圖。Visual Paradigm
- UML 類別圖教學。Visual Paradigm










