クラス図をモデリングしています。クラスの属性は列挙です。これをどのようにモデル化するのですか?通常、次のようなことを行います。
- name : string
しかし、これを列挙型でどのように行うのでしょうか?
次のように表示されます。
_______________________
| <<enumeration>> |
| DaysOfTheWeek |
|_____________________|
| Sunday |
| Monday |
| Tuesday |
| ... |
|_____________________|
そして、それとあなたのクラスとの間に関連があります。
UMLモデリングツールが列挙の指定をサポートしている場合は、それを使用する必要があります。それはおそらくより簡単になり、モデルに強力なセマンティクスを提供します。視覚的には、結果は<<enumeration>>
ステレオタイプを持つクラスに非常に似ていますが、UMLメタモデルでは、列挙は実際には別個の(メタ)タイプです。
+---------------------+
| <<enumeration>> |
| DayOfTheWeek |
|_____________________|
| Sunday |
| Monday |
| Tuesday |
| ... |
+---------------------+
定義したら、データ型または独自のクラスの名前と同じように、属性の型として使用できます。
+---------------------+
| Event |
|_____________________|
| day : DayOfTheWeek |
| ... |
+---------------------+
ArgoEclipseまたはArgoUMLを使用している場合、ツールバーにプルダウンメニューがあり、データタイプ、列挙、信号などから選択して、独自の列挙を作成できます。通常、属性を含むコンパートメントには、列挙の値のEnumerationLiteralsを入力できます。
ArgoUMLのわずかに異なる例の写真を次に示します。
通常、enum自体をenum
ステレオタイプを持つクラスとしてモデル化します