UML モデルの標準ステレオタイプ
Visual Studio Ultimate では、UML モデル要素にステレオタイプを追加することにより、ユーザーまたはコンピューターが参照できる補足的な情報を提供できます。ステレオタイプはプロファイルで定義され、プロファイルごとに一連のステレオタイプがあります。Visual Studio Ultimate にはいくつかのプロファイルが用意されています。
独自のステレオタイプを格納する独自のプロファイルを定義することもできます。 詳細については、「方法: プロファイルを定義して UML を拡張する」を参照してください。
標準プロファイル
次のプロファイルは、Visual Studio Ultimate をインストールするとすぐに使用できます。
プロファイル |
目的 |
---|---|
UML 標準プロファイル L2 |
要素または関係に関する補足的な情報を追加するときに使用する標準的なステレオタイプが含まれています。 |
UML 標準プロファイル L3 |
要素または関係に関する補足的な情報を追加するときに使用する標準的なステレオタイプが含まれています。 |
C# プロファイル |
必要に応じて、C# プロファイルのいずれかのステレオタイプを適用することによって、UML モデル内のクラスまたはその他の要素がプログラム コードであることを表すことができます。 また、これらのステレオタイプによって、モデル要素にプロパティが追加されます。 |
新しい UML モデルを生成すると、そのモデルには、UML 標準プロファイル L2 および L3 がリンクされます (リンクを削除しない限り)。
これらのプロファイルのいずれかに含まれるステレオタイプを使用するには、まず、ステレオタイプを適用する要素が含まれているパッケージまたはモデルに目的のプロファイルをリンクする必要があります。
プロファイルをモデルまたはパッケージにリンクするには
UML モデル エクスプローラーを開きます。 [アーキテクチャ] メニューの [ウィンドウ] をポイントし、[UML モデル エクスプローラー] をクリックします。
プロファイル内のステレオタイプを適用するすべての要素が含まれているパッケージまたはモデルを探します。
そのパッケージまたはモデルを右クリックし、[プロパティ] をクリックします。
プロパティ ウィンドウの [プロファイル] プロパティを目的のプロファイルに設定します。
プロファイルとモデルの間またはプロファイルとパッケージの間のリンクを削除するには
UML モデル エクスプローラーで、モデルまたはパッケージを右クリックし、[プロパティ] をクリックします。
プロパティ ウィンドウで、[プロファイル] プロパティを空に設定します。
注意
プロファイルのリンクを解除できるのは、そのプロファイルのステレオタイプがモデルまたはパッケージ内のいずれの要素にも使用されていない場合だけです。
ステレオタイプをモデル要素に適用するには
図または UML モデル エクスプローラーで、モデル要素を右クリックし、[プロパティ] をクリックします。
[ステレオタイプ] プロパティをクリックし、適用するステレオタイプを選択します。
選択したステレオタイプが << >> に囲まれてモデル要素内に表示されます (要素の種類によっては例外もあります)。
注意
[ステレオタイプ] プロパティが表示されない場合、または必要なステレオタイプが表示されない場合には、適切なプロファイルとリンクされているパッケージまたはモデルの中にモデル要素が置かれていることを確認してください。
一部のステレオタイプでは、モデル要素のその他のプロパティの値も設定できます。 そのようなプロパティを表示するには、[ステレオタイプ] プロパティを展開してください。
UML 標準プロファイル L2
プロファイルとモデルの間のリンクが削除されていない限り、以下のステレオタイプを使用して、UML モデル要素に特殊な意味を持たせることができます。
これらのステレオタイプの厳密な意味は、各自のローカルな規則、およびモデルに使用するツールによって決まります。
ステレオタイプ |
対象 |
説明 |
---|---|---|
auxiliary |
クラス |
別のクラスを (通常は追加のロジックを実装することによって) サポートするクラスです。 他方のクラスには «focus» というステレオタイプを割り当てることもできます。 |
call |
Dependency |
クライアント クラスがサプライヤーの操作を呼び出します。 |
create |
Dependency |
クライアント クラスがサプライヤーのインスタンスを生成します。 |
create |
Message |
送信者が受信者を生成します。 |
create |
Operation |
この操作はコンストラクターです。 |
derive |
Dependency |
クライアント要素の全体または一部がサプライヤーから計算されます。 |
destroy |
Operation |
操作がそのインスタンスを破棄します。 |
document |
Artifact |
«file» はソースでも実行可能ファイルでもありません。 |
entity |
コンポーネント |
コンポーネントがビジネスの概念を表します。 |
executable |
Artifact |
実行可能な «file» です。 |
file |
Artifact |
物理ファイルです。 |
focus |
Class |
複数の «auxiliary» クラスによってサポートされているコアのビジネス ロジックを定義するクラスです。 |
framework |
Package |
このパッケージが再利用可能な設計パターンを定義します。 |
implement |
コンポーネント |
«specification» の実装です。 |
implementationClass |
Class |
クラスは実装を表し、実行時のインスタンスにはそれぞれ決まった実装クラスが 1 つあります。 «type» とは対照的なステレオタイプです。 |
instantiate |
Dependency |
クライアントがサプライヤーのインスタンスを生成します。 |
library |
Artifact |
ライブラリの «file» です。 |
metaclass |
Class |
このクラスのインスタンスもクラスです。 |
modelLibrary |
Package |
インポートするパッケージにより再利用されることを目的としたモデル要素を含んでいます。 通常は、プロファイルの一部として定義され、プロファイルのアプリケーションによって自動的にインポートされます。 |
process |
コンポーネント |
トランザクション ベースのコンポーネントまたはスレッドを持つコンポーネントです。 |
realization |
Class、Interface、Component |
実装について説明します。 |
refine |
Dependency |
クライアント クラス、コンポーネント、またはパッケージが仕様または設計についてサプライヤーよりも多くの情報を提供します。 |
responsibility |
Dependency |
Dependency のサプライヤー側の Comment がクライアント クラスまたはコンポーネントの役割を定義します。 |
script |
Artifact |
インタープリターが解釈できる «file» です。 |
send |
Dependency |
ソースの Operation がターゲットの Signal を送信します。 |
service |
コンポーネント |
ステートレスのコンポーネントです。 |
source |
Artifact |
コンパイルできる «file» です。 |
specification |
Class、Interface、Component |
コンポーネントまたはオブジェクトが内部でどのように機能するかを定義せずにその振る舞いを定義します。 |
subsystem |
コンポーネント |
大規模なシステムのパートです。 ユース ケース図のサブシステムは、subsystem ステレオタイプを持つコンポーネントです。 |
trace |
Dependency |
クライアント要素がサプライヤーを実現する設計の一部を形成します。 通常、この依存関係の両端はそれぞれ異なるモデルです。 一方のモデルがもう一方のモデルの実現 (realization) になります。 |
type |
Class |
オブジェクトがどのように実装されるかは明示せずにその振る舞いのみを指定します。 その仕様に準拠しているオブジェクトは型のメンバーです。 |
utility |
Class |
静的関数のコレクションです。 このクラスのインスタンスはありません。 |
UML 標準プロファイル L3
プロファイルとモデルの間のリンクが解除されていない限り、以下のステレオタイプを使用して、UML モデル要素に特殊な意味を持たせることができます。
これらのステレオタイプの厳密な意味は、各自のローカルな規則、およびモデルに使用するツールによって決まります。
ステレオタイプ |
対象 |
説明 |
---|---|---|
buildComponent |
コンポーネント |
ビルドの定義に使用される要素のコレクションです。 |
metaModel |
Model |
モデリング言語 (UML のバリアントなど) またはドメイン固有言語を定義します。 |
systemModel |
Model |
同じシステムに適用されるモデルのコレクションであるモデルを表します (仕様、実現、モデル間の関係の追跡など)。 |
C# プロファイル
このプロファイルで定義されているステレオタイプを使用すると、モデル要素がプログラム コードへの変換に使用されることを目的としていることを指定できます。 それぞれのステレオタイプは、対象のモデル要素に設定できる追加のプロパティを定義します。
これらのステレオタイプを利用できるようにするには、モデルまたはパッケージを C# プロファイルにリンクします。 次に、そのモデルまたはパッケージ内のモデル要素にステレオタイプを適用します。
利用できるステレオタイプ、それを適用する要素、およびそれによって利用できるようになる追加のプロパティの概要を次の表に示します。
ステレオタイプ |
対象 |
プロパティ |
---|---|---|
C# Class |
UML Class コンポーネント |
ClrAttributes Is Partial Is Sealed Is Static Is Unsafe Package Visibility |
C# struct |
UML Class コンポーネント |
ClrAttributes Is Partial Is Unsafe Package Visibility |
C# global members |
UML Class コンポーネント |
ClrAttributes |
C# Interface |
UML Interface |
ClrAttributes Is Partial Package Visibility |
C# enum |
UML Enumeration |
ClrAttributes Base Type |
C# namespace |
UML Package |
ClrAttributes Base Name Using Namespaces |