介紹
類圖是統一建模語言(UML)中的一項基本工具,用於通過建模類、屬性和關係來表示系統的靜態結構。所提供的圖表展示了實習管理系統,涵蓋了學生、公司和表格等實體。本指南將逐步解析該圖表,解釋關鍵概念,並提供多個類圖範例。
第一部分:理解實習系統類圖
圖表概覽
該圖表代表一個實習管理系統,包含以下關鍵實體:
- 使用者(抽象類):學生和管理員的父類。
- 學生:參與實習並提供反饋的使用者。
- 管理員:具有特定權限的使用者。
- 公司:舉辦實習並擁有主管的實體。
- 實習生:代表學生與公司之間的實習參與關係。
- 反饋:記錄學生對公司的反饋。
- 表格:追蹤與實習相關的表格(例如:保險、申請、確認)。
- 地點:儲存公司的地址資訊。
- 時長:定義實習時間表(例如:部分或完整)。
圖表中的關係
- 繼承: 學生與管理員 繼承自 使用者 (以空心三角箭頭表示)。
- 組成:
- 一個 公司擁有一個 地點 (以實心菱形箭頭表示)。
- 一個 表單實體擁有一個 期間 (以實心菱形箭頭表示)。
- 關聯:
- 學生在一個 公司(透過 公司主管).
- 學生擁有多個 實習生記錄(一對多)。
- 學生提供 反饋 關於一個 公司.
- 公司 填寫許多 表格 (一對多)。
- 多重性:
- 1..*:一個或多個(例如,一家公司會填寫一個或多個表格)。
- 0..*:零個或多個(例如,一名學生可以有零個或多個實習)。
第二部分:類圖的關鍵概念
核心組件
- 類:
- 以一個三部分的矩形表示:類名、屬性與方法(不過在較簡單的圖表中,方法通常會被省略)。
- 範例:學生 具有如下屬性:姓名, 性別,以及電子郵件.
- 屬性:
- 類中的變數或資料,通常具有類型(例如,名稱:字串).
- 可見性:+(公開),–(私有),#(保護)。
- 範例:-Id:整數在Users類別中。
- 關係:
- 繼承:子類別繼承自父類別(例如,學生繼承自Users).
- 關聯:類別之間的一般關係(例如,學生與公司).
- 組成:一種強烈的「整體-部分」關係,其中部分無法在沒有整體的情況下存在(例如,公司 和 地點).
- 聚合: 一種較弱的「整體-部分」關係,其中部分可以獨立存在(此圖中未明確顯示,但在UML中很常見)。
- 多重性:
- 指定一個類別的實例可以與另一個類別的實例關聯的數量。
- 範例:1..*表示「一個或以上」(一家公司有一個或以上的形式)。
- 抽象類別:
- 無法直接實例化的類別(例如,使用者是抽象的,如其斜體名稱所示)。
關鍵原則
- 抽象: 聚焦於基本細節,忽略實作上的細節。
- 封裝: 使用可見性標記隱藏內部資料(例如,–用於私有屬性)。
- 模組化: 將系統分解為可管理且可重用的類別。
- 清晰度: 確保圖表對利害關係人而言容易理解。
第三部分:建立有效類別圖的指南
- 定義範圍:
- 在繪製圖表之前,先識別系統的關鍵實體及其關係。
- 範例:針對實習系統,應著重於學生、公司和實習。
- 使用一致的命名:
- 為類別和屬性使用清晰且有意義的名稱(例如,學生而非S).
- 遵循命名慣例(例如,類別使用單數名詞:公司,而非公司們).
- 明確指定可見性:
- 指出屬性是公開(+)、私有(–)或受保護(#).
- 限制複雜度:
- 透過將大型系統拆分成較小的圖表來避免過度擁擠。
- 範例:如有需要,將使用者管理與表單管理分開。
- 驗證關係:
- 確保關係反映現實世界的邏輯(例如,一名學生一次只能在一家公司實習)。
- 使用多重性:
- 明確定義關係中涉及的實例數量(例如,1..*表示一個或多個)。
範例 1:基本的學生與公司關係
此範例著重於學生與公司.
- 說明:
- 學生與公司透過關聯(工作於).
- 一名學生可在一家或多家公司工作(1..*).
範例 2:使用使用者加入繼承
此範例包含使用者抽象類別及其子類別學生與管理員.
- 說明:
- 使用者 是一個抽象類別(以 抽象).
- 學生 和 管理員 繼承自 使用者 使用 <|–.
範例 3:具有位置的公司(組合)
此範例說明 公司 和 位置.
- 說明:
- 公司 擁有 位置(組合關係以 *–>).
- 公司必須恰好擁有一個位置(“1”).
範例 4:實習與反饋
此範例模擬了實習生與反饋實體及其與學生與公司.
說明:
- 一名學生可以擁有零個或更多個實習生記錄(0..*).
- 一名公司主機可擁有零個或更多個實習生記錄。
- 一名學生會對一家公司.
範例 5:形式與持續時間
此範例包含形式實體及其持續時間以及其子類型部分與完整.
- 說明:
- 形式具有持續時間(組合)。
- 持續時間是以下類別的父類別部分與完整(繼承)。
範例 6:完整的實習系統
此圖將所有實體整合為一個完整的圖示。
- 說明:
- 此圖呈現原始內容,完整捕捉所有關係與實體。
- 它使用繼承、組合以及具有正確多重性的關聯。
第五部分:類圖的實用技巧
- 從簡單開始:
- 從核心實體和關係開始,然後逐步迭代添加細節。
- 範例:從學生以及公司,然後加入實習生以及反饋.
- 使用工具進行可視化:
- 以文字為基礎的方法允許快速編輯和分享;將程式碼貼入相容的檢視器中即可看到圖示。
- 測試完整性:
- 確保包含所有必要的實體和關係。
- 範例:確認表單連結至公司以及期間.
- 記錄假設:
- 記下任何假設(例如:「學生一次只能在一家公司實習」)。
- 協作:
- 與團隊成員分享文字代碼以獲取反饋並進行迭代。
結論
類圖是建模系統結構的強大工具,例如圖中所示的實習管理系統。透過理解繼承、組合和多重性等關鍵概念,並遵循清晰與簡潔的指南,您可以創建有效的圖表。所提供的範例展示了如何使用文字化方法來表示系統的各個方面,從基本關係到完整的系統模型。經過練習,您可以運用這些技術高效地設計和溝通複雜的系統。
參考文獻
- UML 類圖教程 – Visual Paradigm
- 免費部署圖工具 – Visual Paradigm
- 什麼是統一建模語言(UML)? – Visual Paradigm
- 免費活動圖工具 – Visual Paradigm
- 最佳 UML 與 BPMN 工具 – Visual Paradigm Modeler
- 比較 Visual Paradigm 產品版本
- 如何在 UML 中繪製用例圖 – Visual Paradigm
- UML/代碼生成工具 – Visual Paradigm
- UML、敏捷、PMBOK、TOGAF、BPMN 等等! – Visual Paradigm
- 使用 Visual Paradigm 的逐步類圖教程
- 如何從 Java 源碼和類生成 UML – Visual Paradigm
- 線上狀態機圖工具 – Visual Paradigm
- 免費元件圖工具 – Visual Paradigm
- UML – 完整指南 – Visual Paradigm 博客
