多くのプログラミング言語は、型に注釈を付ける方法を提供します。
たとえば、.NETでは、これはSystem.Attribute
からカスタム属性クラスを派生させ、別のタイプに次のように注釈を付けることで実現できます。
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
public sealed class SuperSpecialAttribute : Attribute { ... }
[SuperSpecial]
public class MyClass { ... }
私の質問です。 UMLクラス図でMyClass
に属性SuperSpecialAttribute
があることをどのように示すことができますか?
アノテーションをステレオタイプとして表し、そのステレオタイプをクラスに適用できます。
+----------------------+
| <<SuperSpecial>> |
| MyClass |
+----------------------+
アノテーションに属性がある場合、それらをクラスのタグ付き値として表すことができます。タグ付き属性の構文はUML 1.xとUML 2.xで異なります
UML 1.xでは、次のように{}の間にタグ付きの値を挿入します。
+----------------------+
| <<SuperSpecial>> |
| {AllowMultiple=true} |
| MyClass |
+----------------------+
UML 2.xでは、ステレオタイプ属性のセクションを使用できます。
+----------------------+
| <<SuperSpecial>> |
| MyClass |
+----------------------+
| <<SuperSpecial>> |
| AllowMultiple=true |
+----------------------+