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