統一建模語言(UML)的類圖是用於視覺化和設計系統靜態結構的重要工具。它們提供了一種清晰且簡明的方式,來表示系統內的類、介面、合作關係及其關係。本指南將帶你了解UML類圖的核心概念,並提供範例和實用技巧,幫助你掌握UML這一基本面向。

類圖的目的
類圖是一種結構圖,用以顯示一組類、介面與合作關係及其關係。它是建模物件導向系統中最常見的圖表。類圖著重於系統的靜態設計觀點,著重於詞彙、合作關係或結構。它們是組件圖與部署圖的基礎。
靜態觀點
類圖代表系統的靜態觀點,表示它們不顯示與時間相關的行為。它們以獨立於時間的方式呈現模型的元素,展現出可能存在于現實世界、軟體或硬體實作,或抽象形式中的有意義且有用的觀念。這些圖表可以包含代表現實世界概念、抽象概念、實作概念或電腦概念的元素。
類圖的關鍵元素
類
類是一種一組物件的描述,這些物件具有相同的屬性、操作、關係與語義。它是系統詞彙中事物的抽象。類是最常見的UML建模元素,並可用來表示軟體、硬體或概念性事物。
屬性和操作
- 屬性:我們感興趣的類的屬性。
- 操作:該類的物件所能執行的事項。
符號表示
類的符號表示是一個矩形,其中包含一個必填的名稱區塊。可選的區塊可用來顯示類的屬性和操作。
意義層級
類可以在不同的意義層級上存在,包括分析層級、設計層級與實作層級。
抽象類與具體類
- 抽象類: 一個無法直接實例化的類。其名稱可能是斜體。
- 具體類: 一個可以擁有個別實例的類。
類範圍屬性和操作
一個類可以被視為一個全域物件。類範圍的屬性是這個隱含物件的屬性,而類範圍的操作則作用於類本身,而非作用於物件。
造型
可以使用尖括號(« 和 »)來顯示類的造型。造型表示模型元素的特殊類別或語法中的新術語。
建立操作
一個類可能有一個建立操作(建構函數),在類中以底線標示的操作。
關係
類圖也顯示類之間的關係,包括:
- 關聯: 描述給定類中個別物件之間的語義連結。
- 泛化: 將父分類器(超類)的通用描述與更專門的子分類器(子類)相連。
- 依賴: 顯示元素之間的關係,例如抽象層級、範本參數、權限或使用方式。
實例與物件
- 物件: 類的一個實例。它是一個具有身份的個體,其結構和行為由類所描述。
- 狀態: 物件屬性的目前值。
符號
UML實例規格(物件)的符號是一個方框,其中包含一個必填的名稱欄位,該欄位包含物件名稱、「:」以及實例化類的名稱。可選的第二個欄位可顯示槽位(屬性和其目前值)。實例的名稱是底線標示的。
圖表內容
實例可以出現在類圖和物件圖中。類可以透過虛線箭頭連接到其實例,以表示依賴關係。
圖示內容
類圖包含類別、介面、合作關係與關係。它們也可能包含註解與約束。類圖可以包含套件或子系統,以將模型元素分組為較大的單元。
類圖的用途
類圖用於模擬系統的靜態設計視圖。它們可以用於:
- 模擬系統的詞彙。
- 模擬類別的合作關係。
- 模擬邏輯資料庫結構。
與其他圖示的關係
類圖與其他圖示相關,例如:
- 物件圖:顯示類別的實例及其關係。
- 元件圖與部署圖:與類圖類似,但分別包含元件與節點。
抽象
類圖是一種抽象形式,提供系統的簡化視圖,在保留必要細節的同時隱藏不必要的複雜性。
多個圖示
通常需要多個類圖來呈現系統的完整靜態視圖。每個圖示應專注於系統的特定方面。
圖示作為投影
類圖是對模型的一種投影,是元素集合的圖形化呈現。
正向與逆向工程
類圖可用於模型與程式碼的正向與逆向工程。
元模型
UML 的抽象語法使用 MOF 模型來呈現 UML 語法。這些 MOF 模型使用 UML 結構圖的一個子集。抽象語法圖中的方框為 «元類別»。UML 的元素是這些 «元類別» 的實例。
類圖範例
圖書館系統
讓我們以一個簡單的圖書館系統為例,來說明類圖的核心概念。
類別
- 書籍: 代表圖書館中的一本書。
- 屬性:
書名,作者,ISBN - 操作:
借閱(),歸還()
- 屬性:
- 讀者: 代表圖書館的讀者。
- 屬性:
姓名,會員編號 - 操作:
借書(),還書()
- 屬性:
- 圖書館員: 代表圖書館員。
- 屬性:
姓名,員工編號 - 操作:
新增書籍(),removeBook()
- 屬性:
關係
- 關聯:
- 一個
讀者可以借閱多本書本。 - 一個
圖書館員可以管理多本書本。
- 一個
- 一般化:
讀者和圖書館員可以被一般化為一個人類別。
- 依賴:
- 這個
圖書館系統類別依賴於書,讀者,以及圖書館員.
- 這個
實例
- 物件:一個
書籍具有標題= 「UML入門」,作者= 「John Doe」,ISBN= “1234567890”.
電子商務系統
讓我們考慮一個電子商務系統,以進一步說明這些概念。
類別
- 產品:代表商店中的產品。
- 屬性:
名稱,價格,庫存 - 操作:
加入購物車(),移除購物車()
- 屬性:
- 顧客: 代表一位客戶。
- 屬性:
姓名,客戶編號 - 操作:
下訂單(),查看訂單歷史()
- 屬性:
- 訂單: 代表由客戶下的訂單。
- 屬性:
訂單編號,日期,狀態 - 操作:
計算總金額(),發貨訂單()
- 屬性:
關係
- 關聯:
- 一位
客戶可以下多筆訂單。 - 一位
訂單可以包含多個產品個。
- 一位
- 泛化:
客戶和管理員可以泛化為一個使用者類。
- 依賴關係:
- 這個
電子商務系統類依賴於產品,客戶,以及訂單.
- 這個
實例
- 物件:一個
產品的實例,其中名稱= 「筆電」,價格= “$999.99”,庫存= “100”.
結論
理解 UML 類圖的核心概念是有效模擬系統靜態結構的基礎。類圖提供了一種清晰且簡明的方式來表示類、其屬性、操作和關係。透過掌握這些概念並應用於實際案例,您可以創建具有意義且實用的圖表,以捕捉系統設計的本質。無論您是經驗豐富的開發人員還是剛進入此領域的新手,UML 類圖都是用於視覺化和溝通複雜系統的強大工具。
祝您建模愉快!
參考資料
- UML 類圖教程
- UML 類圖教程
- 這份全面的指南深入探討了 UML 類圖,包括如何有效地創建和使用它們。同時也突顯了 Visual Paradigm 社區版的功能,這是一款免費的 UML 軟體。
- 免費類圖工具
- 免費類圖工具
- Visual Paradigm Online 提供免費版本,用於創建類圖及其他 UML 圖表。此工具使用者友善,支援多種圖表類型,且不限制圖表或圖形的數量。
- 什麼是類圖?
- 什麼是類圖?
- 本文解釋了 UML 中類圖的基本概念,包括其結構與組成部分。同時也提供了使用 Visual Paradigm 創建這些圖表的實用建議。
- 如何繪製類圖?
- 如何繪製類圖?
- 使用 Visual Paradigm 繪製類圖的逐步指南,包含建立列舉和連接成員的技巧。
- 線上類圖軟體
- 線上類圖軟體
- Visual Paradigm 的線上類圖工具設計快速且直覺,讓使用者能快速且協作地創建專業的 UML 圖表。
- UML 圖表:全面指南
- UML 圖表:全面指南
- 本指南涵蓋了各種類型的 UML 圖表,包括類圖,以及它們在軟體工程中的重要性。它探討了類圖如何呈現系統的靜態結構以及類之間的關係。
- UML 類圖全面指南
- UML 類圖全面指南
- 本文提供了 UML 類圖的詳細概述,包括其組成部分,以及它們在系統設計不同階段的應用方式。同時也提及使用 Visual Paradigm 來創建這些圖表。
- Visual Paradigm 中的 UML 圖表入門
- Visual Paradigm 中的 UML 圖表入門
- 本文介紹了 Visual Paradigm 支援的各種 UML 圖表類型,重點在於類圖及其在建模系統靜態結構中的作用。
- 透過 Visual Paradigm 學習類圖
- 透過 Visual Paradigm 學習類圖
- 一份逐步指南,介紹如何使用 Visual Paradigm 建立類圖,並包含保持圖表簡潔清晰的最佳實務。
- 探索 UML:14 種圖表類型的概覽及其在敏捷環境中的相關性
- 探索 UML:14 種圖表類型的概覽及其在敏捷環境中的相關性
- 本文概述了各種 UML 圖表類型,包括類圖,以及它們在敏捷軟體開發環境中的相關性。
這些參考資料提供了對類圖和 UML 的全面理解,並附有使用 Visual Paradigm 建立這些圖表的實用指南。












