共用方式為


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 類別圖表:方針