共用方式為


UML 類別圖表中的關聯性屬性

在 Visual Studio Ultimate 的 UML 類別圖表中,您可以在任何型別配對之間繪製「關聯」(Association)。型別是一種類別、介面或列舉。

關聯會指出,您開發的系統在關聯的型別執行個體之間儲存某些類型的連結。一般而言,它並不表示有關連結的實作內容。例如,關聯可以是指標、資料表中的資料列、XML 中交互參考的名稱等。

關聯是顯示屬性或屬性配對的圖表方式。例如,如果您定義了「餐廳」類別以包含「菜單」型別的屬性,就可以在「餐廳」和「菜單」之間繪製關聯來陳述相同的定義。

若要繪製關聯,請按一下工具箱中的 [關聯],並按一下第一個型別,然後按一下第二個。您可以按一下相同的型別兩次,顯示執行個體可以與相同型別的其他執行個體連結。

屬性

以下是 UML 類別圖表上關聯的屬性。

若要查看關聯的屬性,請以滑鼠右鍵按一下關聯,然後按一下 [屬性]。屬性將出現在 [屬性] 視窗中。

圖表上還可看見一些屬性,如下圖所示。

關聯的屬性

屬性

描述

Name (1)

可識別關聯。同樣會出現在圖表上接近關聯中點的位置。

Qualified Name

會以唯一的方式識別關聯。以包含關聯的第一個角色的封裝限定名稱當做前置詞。

Work Items

連結到此關聯的工作項目數。若要連結工作項目,請參閱 連結模型項目和工作項目

色彩

連接器的色彩。有別於其他屬性,這是此關聯檢視的屬性,不是模型中基礎關聯性的屬性。

First Role

Second Role

關聯的各端稱為角色 (Role)。每個角色會說明位於關聯相對端的類別上,對等屬性 (Attribute) 的屬性 (Property)。

在範例圖表中,「菜單」和「菜單項目」之間的關聯擁有稱為「菜單」和「內容」的角色。

「內容」是「菜單」類別上的屬性名稱。

Dd323862.collapse_all(zh-tw,VS.110).gif每個角色的屬性

若要查看每個角色的屬性,請展開 [第一個角色] 或 [第二個角色] 屬性。

屬性

Default

描述

Role Name (2)

此角色的型別名稱

角色的名稱。會出現在圖表上接近關聯結尾的位置。

Aggregation

None

None (4) - 代表類別的執行個體之間的一般關聯性。

Composite (5) - 此角色的物件包含相對角色的物件。您可以使用 [Composite] 工具建立與 Composite 彙總的關聯。

Shared (6) - 此角色的物件包含另一角色的物件參考。您可以使用 [Aggregation] 工具建立與 Shared 彙總的關聯。

確切的解譯則視區域慣例而定。

Is Derived

False

如果為 true,則位於連結此端的物件是從其他屬性和關聯計算而得。例如,MyWorkPlace 是從 MyEmployer.WorkPlace 計算而得。詳細資料應輸入 [說明] 或附加的 [註解] 中。

Is Derived Union

False

如果為 true,則此角色是衍生型別中角色集的聯集。

Is Navigable

True

關聯可以在此方向讀取。即使有相對角色的執行個體,您說明的軟體仍然可以有效判斷此角色中相關聯的執行個體。

如果一個角色是 Navigable,另一個角色不是,則在可巡覽方向的關聯上會出現 (7) 箭號。

根據預設,關聯工具會建立可在某一方向巡覽的關聯。若要將它轉換成雙向關聯,可以選取關聯,按一下出現的動作標籤,然後按一下 [設成雙向]。

Is Read Only

False

如果為 true,則關聯的執行個體無法在建立之後變更。連結會固定連接相同的物件。

Multiplicity (3)

1

1 - 關聯的這一端固定連結到一個物件。在圖中,每一個「菜單項目」都有一個「菜單」。

0..1 - 不是關聯的這一端連結到一個物件,就是沒有連結。

* - 關聯另一端的每個物件都會連結到這一端的物件集合,且集合可以是空的。

1..* - 關聯另一端的每個物件都會至少連結到這一端的一個物件。在圖中,每一個「菜單」至少有一個「菜單項目」。

n..m - 另一端的每個物件具有內含 n 到 m 個連向這一端物件之連結的集合。

Is Ordered

False

如果為 true,則傳回的集合會構成循序清單。用於 Multiplicity 大於 1 的情況。

Is Unique

False

如果為 true,則傳回的集合中沒有重複值。用於 Multiplicity 大於 1 的情況。

Visibility

Public

Public - 全域可見

Private - 擁有者型別之外不可見

Protected - 對衍生自擁有者的型別可見

Package - 對同一封裝中的其他型別可見

請參閱

概念

UML 類別圖表:參考

UML 類別圖表中的型別屬性

UML 類別圖表中屬性 (Attribute) 的屬性 (Property)

UML 類別圖表中的作業屬性

UML 類別圖表:方針