web-dev-qa-db-ja.com

属性/注釈をUMLクラス図にどのように示すことができますか?

多くのプログラミング言語は、型に注釈を付ける方法を提供します。

たとえば、.NETでは、これはSystem.Attributeからカスタム属性クラスを派生させ、別のタイプに次のように注釈を付けることで実現できます。

[AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
public sealed class SuperSpecialAttribute : Attribute { ... }

[SuperSpecial]
public class MyClass { ... }

私の質問です。 UMLクラス図でMyClassに属性SuperSpecialAttributeがあることをどのように示すことができますか?

2
Lea Hayes

アノテーションをステレオタイプとして表し、そのステレオタイプをクラスに適用できます。

    +----------------------+
    |   <<SuperSpecial>>   |
    |       MyClass        |
    +----------------------+

アノテーションに属性がある場合、それらをクラスのタグ付き値として表すことができます。タグ付き属性の構文はUML 1.xとUML 2.xで異なります

UML 1.xでは、次のように{}の間にタグ付きの値を挿入します。

    +----------------------+
    |   <<SuperSpecial>>   |
    | {AllowMultiple=true} |
    |       MyClass        |
    +----------------------+

UML 2.xでは、ステレオタイプ属性のセクションを使用できます。

    +----------------------+
    |   <<SuperSpecial>>   |
    |       MyClass        |
    +----------------------+
    | <<SuperSpecial>>     |
    | AllowMultiple=true   |
    +----------------------+
3
Ramon Rivas