本文介紹了具有屬性的UML建模枚舉的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我希望創(chuàng)建具有Java枚舉(枚舉)的UML關(guān)系圖,該關(guān)系圖具有一個或多個屬性,但我對如何執(zhí)行此操作感到困惑。
例如,枚舉可以這樣聲明:
public enum Enumeration_type {
LITERAL_A("attr1_value", attr2_value, attr3_value),
LITERAL_B("attr1_value", attr2_value, attr3_value);
final String attr1;
final type_1 attr2 = initial_value_1;
final type_2 attr3;
Enumeration_type(String attr1, type_1 attr2, type_2 attr3) {
this.attr1_value = attr1;
this.attr2_value = attr2;
this.attr3_value = attr3;
}
}
沒有屬性,很簡單:
+--------------------+
| <<enumeration> |
| Enumeration_type |
+--------------------+
| LITERAL_A |
| LITERAL_B |
+--------------------+
但是如何用屬性優(yōu)雅地對其建模呢?應(yīng)該是這樣嗎?
+-----------------------------------------------------+
| <<enumeration>> |
| Enumeration_type |
+-----------------------------------------------------+
| attr1: String |
| attr2: type_1 = initial_value_1 |
| attr2: type_2 |
+-----------------------------------------------------+
| LITERAL_A("attr1_value", attr2_value, attr3_value) |
| LITERAL_B("attr1_value", attr2_value, attr3_value) |
+-----------------------------------------------------+
我只找到這個示例here,但它使用字符串類屬性作為枚舉名稱。我認(rèn)為,這應(yīng)該不同于使用public enum
而不指定枚舉名稱數(shù)據(jù)類型。
+-----------------------------------------+
| <<enumeration>> |
| CarType |
+-----------------------------------------+
| +sedan : String = SEDAN |
| +liftback : String = LIFTBACK |
| +stationWagon : String = STATION_WAGON |
+-----------------------------------------+
非常感謝您的回答。
uml
我認(rèn)為您無法在推薦答案中為每個枚舉文字建模屬性值。
EA對具有屬性的枚舉使用以下表示法:
您可以將屬性值記錄在每個文字的注釋中的某個位置,也可以使用Excel文件或類似的工具來管理該數(shù)據(jù)。
通常只需要在設(shè)計時提供初始值,因?yàn)樗鼈兛赡軙谶\(yùn)行時更改。因此,如果您不能相信這些值是正確的,那么將它們保留在您的模型中沒有多大用處。
這篇關(guān)于具有屬性的UML建模枚舉的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,