在軟體設計與建模領域中,統一模型語言(UML)是一種強大的工具,可用於視覺化和記錄系統的結構與行為。UML中一個關鍵的概念是多重性,它定義了參與關聯的物件數量的限制。本文深入探討多重性的概念、其重要性,以及它在UML圖表中的應用方式。
什麼是多重性?
UML中的多重性是一種約束,用以指定參與關聯一端的物件數量。它回答了如「一個人最多可以擁有幾輛車?」或「一輛車最多可以由幾個人駕駛?」之類的問題。透過定義多重性,您可以設定每個類別中物件之間關聯的規則,提供一種清晰且簡潔的方式來表達這些關係。
表達多重性
多重性通常以一個範圍來表示,用以定義關聯中允許的最少與最多物件數量。表達多重性的格式為:
- 精確數量:一個單一數字,表示物件的確切數量。
- 範圍:兩個以兩個點(..)分隔的數字,表示最小與最大數量。
- 星號(*):表示物件數量無限。
例如:
1:恰好一個物件。0..1:零個或一個物件。1..*:至少一個物件,無上限。*:任何數量的物件,包括零。

在關聯中應用多重性
在對類別之間的關聯進行建模時,多重性會被分配到關聯的每一端。例如,考慮「人」類別與「車」類別之間的關聯:
- 問題 1: 一個人最多可以擁有多少輛汽車?
- 問題 2: 一輛特定的汽車最多可以由多少人駕駛?
這些問題的答案會放在關聯中相應類別的旁邊。如果一個人可以擁有一到多輛汽車,那麼靠近「汽車」類別的數量限制會是0..*。反之,如果一輛汽車可以由一到多人駕駛,那麼靠近「人」類別的數量限制會是1..*.
範例:運送與產品
為說明,考慮以下情境:一個運送必須至少包含一個產品,但也可以包含所需數量的產品。關聯中「產品」端的數量限制會是1..*,表示一個運送必須至少包含一個產品,但也可以包含多個。
符號與標記
在UML圖中,數量限制使用特定的標記方式表示:
- 星號(*): 表示無限數量的物件。
- 範圍(
最小值..最大值): 指定物件的最小和最大數量。 - 精確數量: 表示物件的精確數量。
這些符號有助於明確定義規範類別之間關係的約束和規則。
範例 1:人員與汽車
在此範例中,一個人員 可擁有零至多個汽車,且一本汽車 可由一個至多個人員.

範例 2:貨運與產品
在此範例中,一個貨運 必須包含至少一個產品 但可包含所需數量的產品。

範例 3:圖書館與書籍
在此範例中,一個圖書館 可擁有許多書籍,且一本書籍 可在一個圖書館.

範例 4:教師與學生
在此範例中,一個教師可以教導許多學生,且一個學生可以由一位教師.

範例 5:訂單與項目
在此範例中,一個訂單可以包含一個或多個項目,且一名項目可以屬於零個或多個訂單.

範例 6:公司與員工
在此範例中,一個公司可以擁有許多員工,且一名員工為一家公司.

這些範例說明了多重性如何用於定義參與關聯的物件數量,提供了一種清晰且簡明的方式來表達之間的關係UML 中的類別圖表。
結論
多重性是 UML 中的一個基本概念,提供了一種結構化的方式來定義參與關聯的物件數量。透過指定多重性,設計者可以確保類別之間的關係明確且易於理解,進而促成更穩健且可維護的系統設計。無論您是在建模簡單的關聯還是複雜的關係,理解並應用多重性對於有效的 UML 建模至關重要。
資源
- 在 Visual Paradigm 中繪製實體關係圖
- Visual Paradigm. (無日期). 在 Visual Paradigm 中繪製實體關係圖 4.
- 實體關係圖 – 多重性
- Stack Overflow. (無日期). 實體關係圖 – 多重性 5.
- 實體關係圖
- 在 UML 形狀上指定多重性
- Microsoft 支援. (無日期). 在 UML 形狀上指定多重性 7.
- 什麼是實體關係圖 (ERD)?
- Visual Paradigm. (無日期). 什麼是實體關係圖 (ERD)? 8.
- Visual Paradigm ER圖添加表格
- Stack Overflow. (無日期). Visual Paradigm ER圖添加表格 9.
- 如何在 Visual Paradigm 中為類圖添加多重性?
- TheNewsIndependent. (2020年12月29日). 如何在 Visual Paradigm 中為類圖添加多重性? 10.
- 實體關係(ER)圖入門指南
- Visual Paradigm部落格. (2023年9月21日). 實體關係(ER)圖入門指南 11.
- 多重性與基數