統一模型語言(UML) 是一種強大的工具,用於視覺化軟體系統。UML 中兩個關鍵圖表是類圖 和物件圖。儘管它們看似相似,但在軟體設計與分析中各自扮演著不同的角色。
本教程將會:
- 解釋類圖與物件圖.
- 提供現實世界的範例每種的範例。
- 展示它們在系統建模中如何相互補足。
1. UML 類圖:系統的藍圖
什麼是類圖?
一個類圖是靜態系統結構的靜態表示。它定義了:
- 類別(物件的範本)
- 屬性(類別的屬性)
- 方法(類別的功能)
- 關係(關聯、繼承、依賴)
何時使用類圖?
- 設計軟體架構。
- 記錄系統結構。
- 引導開發人員進行實作。
範例:大學系統的類圖

說明:
- 學生, 課程,以及教授都是類別。
- 每個類別都有屬性(例如:
學號, 姓名).
- 每個類別都有方法(例如:
註冊(), 授課()).
2. UML 物件圖:執行時期物件的快照
什麼是物件圖?
一個 物件圖 是一種 動態 系統在特定時刻的表示。它顯示:
- 物件 (類別的實例)
- 屬性值 (物件的目前狀態)
- 連結 (物件之間的關係)
何時使用物件圖?
- 除錯執行時問題。
- 使用實際資料驗證類別圖。
- 說明特定的系統情境。
範例:「大學系統」的物件圖

說明:
- :學生, :課程,以及 :教授 是物件(類別的實例)。
- 每個物件都有 目前的屬性值 (例如:
學號 = 101).
- 連結 顯示關係(例如:Alice註冊了「物件導向程式設計」)。
3. 類別與物件圖之間的主要差異
| 特徵 |
類別圖 |
物件圖 |
| 目的 |
定義系統結構 |
顯示執行時期的物件狀態 |
| 抽象 |
抽象(藍圖) |
具體(快照) |
| 用途 |
系統設計 |
除錯、驗證 |
| 符號 |
類別、屬性、方法 |
物件、屬性值、連結 |
4. 它們如何協同運作
- 類別圖 定義結構。
- 物件圖 以實際資料實例化該結構。
範例:
- 一個 類別圖 定義一個
汽車 類別,包含屬性(型號, 年份).
- 一個物件圖顯示一個特定的
汽車物件(型號 = "特斯拉", 年份 = 2023).
5. 實務練習
任務:建立「圖書館系統」的模型

-
建立一個類別圖包含:
書籍(屬性:書名, 作者, ISBN)
會員(屬性:會員編號, 姓名)
圖書館(方法:borrowBook(), returnBook())
-
建立物件圖顯示:
- 一個
書物件(書名 = "UML指南", 作者 = "John Doe")
- 一個
會員物件(會員編號 = 1, 姓名 = "Alice")
- 一條顯示 Alice 借閱「UML指南」的連結

結論
- 類別圖 = 藍圖(靜態結構)。
- 物件圖 = 快照(執行時期狀態)。
- 同時使用兩者以有效設計、驗證和除錯系統系統