167

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

- name : string

しかし、列挙型でこれを行うにはどうすればよいでしょうか。

4

3 に答える 3

242

それらは次のように単純に示されます。

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

そして、それとあなたのクラスを関連付けるだけです。

于 2009-01-05T12:27:07.843 に答える
81

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

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

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

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

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

ArgoUML での少し異なる例の図を次​​に示します。 ここに画像の説明を入力

于 2012-02-02T17:32:44.947 に答える
1

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

于 2009-01-05T12:26:13.320 に答える