🎯 UML類圖入門
這UML(統一建模語言)類圖是物件導向軟體設計的基石。它是一種靜態結構圖,可視化地呈現系統的系統結構,透過建模:

-
類別
-
屬性(狀態)
-
操作(方法)
-
類別之間的關係
本指南將帶您了解每個重要概念、符號與實用範例——從基本的類別結構到複雜的關係,例如組合與依賴關係——並搭配清晰的說明與現實世界的範例。
✅ 1. 什麼是類別?
一個類別是用來建立物件的藍圖或範本,用來建立物件。它定義了該類別物件所具備的資料(屬性)與行為(方法),這些物件將具備的特性。
🔹 物件 = 一個 實例 類別的
🔹 類別 = 定義; 不是 物件本身
🐶 範例:狗類別
| 概念 | 描述 |
|---|---|
| 類別名稱 | 狗 |
| 屬性 | 名稱:字串, 顏色:字串, 品種:字串 |
| 操作 | 吠叫():void, 搖尾巴():void, 吃():void |
💡 每一個
狗物件(例如,夥伴,麥克斯) 是根據此藍圖建立的,具有相同的結構但不同的值。
🧩 2. UML 類別符號
UML 中的類別被分為三個區塊:
🔹 語法規則
-
名稱:置中、粗體、第一個字母大寫。
-
屬性:
名稱:類型— 例如年齡:整數 -
運算:
運算名稱(參數):傳回類型— 例如取得年齡():整數
🔹 可見性符號
| 符號 | 意義 | 描述 |
|---|---|---|
+ |
公開 | 隨時隨地可存取 |
- |
私有 | 僅限於類別內部 |
# |
受保護 | 在類別及子類別中 |
🔹 範例:人員類別

✅ 在程式碼中:這對應到一個
public class Person具有私有欄位和公開的存取器/設定器。
🔍 3. 類別圖的觀點
細節層級與關注重點取決於開發階段以及模型的目的模型的用途。
| 觀點 | 焦點 | 何時使用 |
|---|---|---|
| 概念性 | 領域概念(例如:「顧客」、「訂單」) | 早期階段 – 領域建模 |
| 規格 | 介面、抽象類型、合約 | 分析階段 – 定義系統的功能 |
| 實作 | 具體類別、方法細節、資料類型 | 設計與編碼階段 – 如何構建 |
📌 小技巧:從 開始概念性,逐步演變為 實現在設計過程中逐步完成。
🔗 4. 類別之間的關係
UML 支援 五種核心關係 用來定義類別之間如何互動。理解這些關係可確保你的設計反映現實世界的邏輯。
🔹 1. 繼承(泛化)
「是-一種」關係
代表 繼承,其中子類別從父類別繼承行為與屬性。
-
箭頭:空心三角形(指向父類別)
-
抽象類別:斜體名稱(例如 Shape)
-
子類別 更為具體(例如
Circle,Rectangle)
✅ 範例:形狀層次結構

💬
圓形是一種形狀。它繼承了draw()以及顏色.
🧠 使用案例:多型性 — 呼叫
draw()在不知道其類型的情況下,對任何形狀進行呼叫。
🔹 2. 關聯
「擁有」關係 — 兩個類別之間的結構性連結。
-
以一條實線連接兩個類別。
-
通常以動詞命名(例如
管理,擁有,互動). -
可以是雙向的或單向.
✅ 範例:學生與課程

🔄 雙向:A
學生註冊了課程,且一個課程有許多學生.
📌 注意:關聯在每一端都可以具有 多重性(基數)在每一端。
🔹 3. 聚合
「部分-整體」關係 — 權屬關係較弱
-
代表 鬆散耦合 — 部分可以獨立於整體存在。
-
空心菱形(空心)位於 整體 端。
✅ 範例:大學與系所

🟨 未填滿的菱形 在
大學側邊 →系所可以獨立存在而不依賴大學.
🧩 如果大學關閉,系所可能會遷往其他地方。
🔹 4. 組成
「整體-部分」關係 — 強烈的所有權
-
該 部分無法獨立存在 整體的。
-
填滿的菱形 (實心)位於 整體 端點。
-
當整體被摧毀時,部分也會一同被摧毀。
✅ 範例:房屋與房間

🔴 填滿的菱形 在
房屋→房間當房屋被拆除。
🛠️ 用於組合模式——例如一個
文件包含段落,圖片等等
🔹 5. 依賴
「使用」關係——暫時或間接使用
-
虛線搭配開口箭頭從依賴方指向供應方。
-
當一個類別使用在方法中使用另一個類別(例如作為參數、傳回值或區域變數)。
-
未儲存為欄位 →無長期關係.
✅ 範例:Person 和 Book

📌
Person使用Book僅暫時 在hasRead()方法 — 不作為欄位儲存。
✅ 這是一個 依賴,不是關聯。
🔹 6. 實作(介面實作)
「實作」關係
-
連接一個 介面 至一個 類別 實作它的類別。
-
虛線搭配開放三角形 指向介面。
✅ 範例:Owner 介面與 Person

✅
Person實作 這個Owner介面 → 必須實作acquire()以及dispose().
💡 這不是 不是 繼承 — 而是 介面實現.
🔄 多個類別可以實現相同的介面(例如
公司也實現了所有者).
🧱 5. 類圖範例:訂單系統
讓我們設計一個簡單的 訂單管理系統 使用 UML。
📌 涉及的實體:
-
顧客 -
訂單 -
訂單項目 -
產品 -
付款
🎯 設計目標:
-
一個
顧客下一個或多個訂單. -
每個
訂單包含多個訂單項目. -
每個
訂單項目指的是產品. -
每個
訂單有一個付款.
🖼️ UML 類別圖(文字表示)
📌 關係:
-
關聯:
客戶→訂單(一對多) -
組合:
訂單→訂單項目(整體-部分) -
聚合:
訂單→付款(可獨立存在) -
關聯:
訂單項目→產品(多對一)
✅ 此模型支援:
建立訂單
新增項目
計算總金額
處理付款
🖼️ 6. 類圖範例:GUI 應用程式(MVC 模式)
讓我們建立一個 簡單的 GUI 登入表單 使用 MVC(模型-視圖-控制器) 架構。
📌 元件:
-
登入控制器(處理邏輯) -
登入檢視(顯示使用者介面) -
使用者模型(儲存使用者資料)
🎯 關係:
-
登入控制器使用登入檢視來顯示資料。 -
登入控制器使用UserModel用於檢索/儲存使用者資訊。 -
LoginView顯示來自UserModel.
🖼️ UML 類別圖(文字)
🔗 關係:
-
依賴:
LoginController→LoginView(在方法中使用) -
依賴:
LoginController→UserModel(在方法中使用) -
關聯:
LoginController擁有對LoginView和UserModel(作為欄位)
✅ 這反映了 MVC: 控制器在檢視和模型之間進行協調。
🛠️ 7. 創建UML類圖的工具
✅ Visual Paradigm 社區版(免費且強大)
-
支援所有UML圖表
-
直覺的拖放介面
-
AI驅動的協助以加快學習與設計
🚀 立即試用:下載 Visual Paradigm CE
🔧 AI 驅動功能
| 工具 | 使用案例 |
|---|---|
| AI 類圖精靈 | 透過 AI 建議逐步建立類別 |
| 使用案例工作室 | 從使用案例描述中提取類別與關係 |
| Agilien | 從敏捷使用者故事生成類圖 |
| DB Modeler AI | 將類圖轉換為資料庫結構 |
| MVC 架構 | 為網頁應用程式生成控制器與檢視圖 |
🎓 總結:重點概念一覽
| 概念 | 符號 | 含義 | 範例 |
|---|---|---|---|
| 類別 | 類別 |
物件的藍圖 | 顧客, 產品 |
| 繼承 | 空心三角形 | 「是-一種」 | 狗 → 動物 |
| 關聯 | 實線 | 「有-一個」 | 顧客 → 訂單 |
| 聚合 | 空心菱形 | 「部分-整體」(弱) | 大學 → 系所 |
| 組成 | 實心菱形 | 「整體-部分」(強) | 房屋 → 房間 |
| 依賴 | 虛線 + 箭頭 | 「使用」 | 人物 → 書籍 |
| 實現 | 虛線 + 三角形 | 「實作」 | 人物 → 所有者 |
🧠 成功最終建議
-
從簡單開始:在深入實作之前,先從概念模型開始。
-
使用有意義的名稱:
客戶,訂單,付款— 不是物件1,物件2. -
在可見性方面保持一致: 使用
+表示公開,-表示私有,#表示受保護。 -
使用 AI 工具 以驗證並從描述中自動生成圖表。
-
仔細審查關係: 問題:「這個部分能否在沒有整體的情況下存在?」→ 如果不能 → 組成.
📚 相關連結與資源
-
-
由 Visual Paradigm 提供的 AI 驅動 UML 類圖生成器: 本頁面詳細介紹了一款先進的 AI 協助工具,可從自然語言描述中自動生成 UML 類圖。此工具旨在大幅簡化軟體設計與建模流程。
-
真實案例研究:使用 Visual Paradigm AI 生成 UML 類圖: 一份詳細的案例研究,展示 AI 助手如何成功將文字需求轉換為真實專案中的精確 UML 類圖。
-
全面教程:使用 Visual Paradigm 的 AI 助手生成 UML 類圖: 此資源提供逐步指南,說明如何使用線上 AI 助手,直接從純文字輸入創建精確的 UML 類圖。
-
使用 AI 與 Visual Paradigm 建立圖書館系統的 UML 類圖: 一篇實用的部落格文章,詳細介紹如何使用 AI 建模工具,建立圖書館管理系統的類圖的具體流程。
-
用於 UML 類圖生成的互動式 AI 聊天: 此互動式對話介面允許使用者透過瀏覽器中的即時自然語言互動,生成並優化 UML 類圖。
-
使用 Visual Paradigm AI 建立酒店預訂系統的類圖: 一份實作導覽,引導使用者透過整合的 AI 功能,建立完整的酒店系統模型。
-
案例研究:用 AI 驅動的文字分析生成 UML 類圖: 本研究探討了如何利用人工智慧驅動的文字分析,從非結構化的需求中準確且高效地生成圖表。
-
人工智慧如何提升 Visual Paradigm 中類圖的建立: 探討 Visual Paradigm 如何利用人工智慧自動化並改善類圖的建立,以加速軟體設計。
-
利用 Visual Paradigm 的人工智慧簡化類圖: 本文說明了人工智慧工具如何降低建立軟體專案準確模型所需的複雜度與時間。
-
從問題描述到類圖:人工智慧驅動的文字分析: 一份專注於探討人工智慧如何將自然語言的問題描述轉換為結構化的類圖,以進行軟體建模的指南。
-
✅ 現在輪到你了!
🧩 挑戰: 繪製一個 UML 類圖,針對一個圖書館管理系統,包含:
書籍,會員,借閱,圖書館員使用組合於
借閱與書籍使用聚合於
圖書館員和圖書館使用相依性用於
圖書館員→書籍(檢查可用性時)
💬 使用Visual Paradigm CE或任何UML工具來草圖繪製!
🎁 加碼:用AI更快掌握UML
🧠 使用AI立即產生、驗證並解釋您的類別圖。
無論你是學生、開發人員或架構師——AI讓學習UML更快、更簡單,也更直覺。
🔗 從今天開始,打造您的第一個AI輔助類別圖!
🌟 現在您已具備使用UML類別圖設計乾淨、專業且可維護的物件導向系統所需的一切。
持續練習、持續設計,並持續編碼!
✅ 愉快的建模! 🎨💻
— 您通往UML精通之路,從此開始