UML クラス図の操作のプロパティ
Visual Studio Ultimate の UML クラス図では、クラスとインターフェイスに操作を追加できます。操作は、クラスまたはインターフェイスのインスタンスで実行できるメソッドまたは関数です。
操作を追加するには、クラスまたはインターフェイスを右クリックし、[追加] をポイントして、[操作] をクリックします。
クラスの操作が図上に表示されていない場合は、クラスまたはインターフェイスの上部にある展開シェブロンをクリックします。[操作] ヘッダーが表示されている場合は、[+] をクリックして操作のセクションを展開します。
操作のシグニチャ
操作のシグニチャは、UML クラス図のクラスまたはインターフェイスで操作を表すテキスト行です。その形式は次のとおりです。
+ OperationName (parameter1 : Type1 [*], ...): ReturnType [*]
+ はパブリックな可視性を表します。これ以外に指定できる値は、- (プライベート)、# (プロテクト)、または ~ (パッケージ) です。
OperationName は、Is Static プロパティが true の場合は下線が付き、Is Abstract プロパティが true の場合は斜体になります。
戻り値の型が定義されていない場合、: ReturnType は省略されます。
[*] は、パラメーターまたは戻り値の型の多重度を表します。多重度が 1 の場合は省略されます。
これらのプロパティの詳細については、次のセクションを参照してください。
プロパティ
UML クラス図におけるクラスまたはインターフェイスの操作のプロパティをここに示します。
操作のプロパティを表示するには、図でクラスまたはインターフェイスの操作を右クリックし、[プロパティ] をクリックします。プロパティがプロパティ ウィンドウに表示されます。
プロパティ |
既定値 |
Description |
---|---|---|
名前 |
(新しい名前) |
包含型内で一意である必要があります。 |
パラメーター |
(なし) |
"<名前>:<型>, <名前>:<型>, ..." という形式のリスト。リストを編集するには、[…] をクリックします。 指定できる型は、基本型か、モデルで定義されている型です。このプロパティに新しい型の名前を入力した場合、UML モデル エクスプローラーの [未指定の型] の下に型が追加されます。 |
Return Type |
(なし) |
(なし)、基本型、またはモデルで定義されている型。このプロパティに新しい型の名前を入力した場合、UML モデル エクスプローラーの [未指定の型] の下に型が追加されます。 |
Postconditions |
(なし) |
操作の実行前後のシステムの状態の関係を指定するオプションの条件。 |
Preconditions |
(なし) |
操作の実行が開始される前のシステムの状態に関する想定を指定するオプションの条件。 |
Body Conditions |
(なし) |
操作によって返される値に対するオプションの制約。 |
Visibility |
Public |
指定できる値とシグニチャに表示される文字は次のとおりです。 + Public: グローバルに参照できます。 - Private: 所有する型の外からは参照できません。 # Protected: 所有する型から派生した型から参照できます。 ~ Package: 同じパッケージ内の他の型から参照できます。 |
Signature |
+<名前>() |
この操作の可視性、名前、パラメーター、および戻り値の型をまとめたものです。これらのプロパティを変更するには、図のシグニチャを編集するか、個々のプロパティを編集します。 |
作業項目 |
関連付けなし |
関連付けられている作業項目の数。読み取り専用です。 詳細については、「モデル要素と作業項目とのリンク」を参照してください。 |
Concurrency |
Sequential |
Sequential: 操作は、同時実行制御なしで設計されます。この操作を同時に呼び出すと、エラーが発生する可能性があります。 Guarded: 操作は、操作の他のインスタンスが完了するまで自動的にブロックされます。 Concurrent: 操作は、操作の複数の呼び出しを同時に実行できるように設計されます。 |
Is Static |
False |
true の場合、この操作はこの型のすべてのインスタンスの間で共有されます。 true の場合、図に表示される操作の名前に下線が付きます。 |
Is Abstract |
False |
true の場合、この操作にコードは関連付けられていません。したがって、所有するクラスは抽象クラスです。 |
Is Leaf |
False |
この操作は、派生クラスでオーバーライドできないように設計されています。 |
Is Query |
False |
true の場合、この操作によってシステムの状態に対する重要な変更は行われません。したがって、これはシステムの状態をチェックするテストなどで使用できます。 |
Multiplicity |
1 |
1: 指定した型の単一の値。 0..1: null にできます。 *: 指定した型の値のコレクション。 1..*: 少なくとも 1 つの値を含むコレクション。 n..m: n ~ m 個の値を含むコレクション。 |
Is Ordered |
False |
true の場合、コレクションによって順次リストが構成されます (Multiplicity が 1 より大きい場合)。 |
Is Unique |
False |
true の場合、コレクション内に重複する値は存在しません (Multiplicity が 1 より大きい場合)。 |