ステレオタイプ


拡張機能

もし、UML が何らかのプログラミング言語の仕様に依存するのであれば
これは、国際標準に値するモデル化言語とは言えません
設計図は、プログラミング言語の実装に依存しないことが望まれます

そこで、UML では様々な拡張機能が定義されています
ステレオタイプもそのひとつで、これを用いれば役割や用法上の違いなどを
モデル要素に修飾することができるようになります

役割や用法上の違いとは、同一の要素でも頻繁に発生します
例えば、一口に操作(メソッド)といっても、理論的に役割は異なります
コンストラクタや、アクセッサメソッド、イベントなどが存在するでしょう
ステレオタイプを使えば、これらを明確に記述し、その意味を開発者に伝えられます

ステレオタイプは、ギュメ《》でステレオタイプ名を囲みます
これを、モデル要素の側、要素名があればその上部に配置します
ステレオタイプは多種多様な使い方ができる、非常に便利なものです



この図は、コントロールとしての役割を持つクラス Component と
インターフェイスとしての役割を持つ Container クラス
そして、属性クラスである ControlAttribute の3つを表現しています

C++ 言語には抽象クラスという概念だけで、インターフェイスは存在しません
また、Microsoft .NET には属性クラスという概念が存在します
開発者は Java の AWT を使った GUI アプリケーションの開発で
そのクラスが重量か、軽量コンポーネントかを記述したいかもしれません
ステレオタイプを使えば、こうした役割や用法を表現することができるのです



前のページへ戻る次のページへ