web-dev-qa-db-ja.com

UMLクラス図列挙

クラス図をモデリングしています。クラスの属性は列挙です。これをどのようにモデル化するのですか?通常、次のようなことを行います。

- name : string

しかし、これを列挙型でどのように行うのでしょうか?

135
Martijn

次のように表示されます。

_______________________
|   <<enumeration>>   |
|    DaysOfTheWeek    |
|_____________________|
| Sunday              |
| Monday              |
| Tuesday             |
| ...                 |
|_____________________|

そして、それとあなたのクラスとの間に関連があります。

176
James B

UMLモデリングツールが列挙の指定をサポートしている場合は、それを使用する必要があります。それはおそらくより簡単になり、モデルに強力なセマンティクスを提供します。視覚的には、結果は<<enumeration>>ステレオタイプを持つクラスに非常に似ていますが、UMLメタモデルでは、列挙は実際には別個の(メタ)タイプです。

+---------------------+
|   <<enumeration>>   |
|    DayOfTheWeek     |
|_____________________|
| Sunday              |
| Monday              |
| Tuesday             |
| ...                 |
+---------------------+

定義したら、データ型または独自のクラスの名前と同じように、属性の型として使用できます。

+---------------------+
|        Event        |
|_____________________|
| day : DayOfTheWeek  |
| ...                 |
+---------------------+

ArgoEclipseまたはArgoUMLを使用している場合、ツールバーにプルダウンメニューがあり、データタイプ、列挙、信号などから選択して、独自の列挙を作成できます。通常、属性を含むコンパートメントには、列挙の値のEnumerationLiteralsを入力できます。

ArgoUMLのわずかに異なる例の写真を次に示します。 enter image description here

61
Tom Morris

通常、enum自体をenumステレオタイプを持つクラスとしてモデル化します

1
annakata