ObjectSquare [1999 年 8 月号]

[オブジェクト指向モデリング言語 UML]
   - 情報処理 VOL.40 NO.1, NO.3より -


UML1.3の変更点

ロールとインターフェース指定子

従来,関連のロール名はクラスがその関連に参加する役割を示唆するに過ぎなかった.UML1.3ではそのような関連ロールも使用できるが,より明確に,あるインタフェースの使用を指定できるようになった.これは図-15に示すように,インタフェース指定子(interface specifier)を用いて「ロール名: インタフェース名」で表す.これによって,その関連ロールがどのようなインタフェースすなわち操作のセットによって実現されるべきかが指定できる.Personという同一クラスであっても,参加する関連におけるロールの違いを,異なる振る舞いを持つインタフェースによって演じられる役割の違いとして明示できる効用がある

図-15:ロールとインタフェース指定子

オブジェクトの状態表示

あるインスタンスオブジェクトがある時点において特定の状態にあるということを明示したい場合がある.UML1.3では,図-16に示すようにインスタンス名の下に[状態名]として表現できる.

図-16 :オブジェクトの状態とアクティビティ図

生成消滅メッセージ<<create>><<destroy>>

従来,人によってさまざまなメッセージ名が使われていたインスタンスの生成と消滅に対して,共通のステレオタイプ付きメッセージ <<create>>, <<destroy>> が与えられ統一された.

パラメータ化コラボレーション

オブジェクト間の協調的振る舞いを表現するのがコラボレーションである.UML1.3では,コラボレーションに参加する各オブジェクトの役割を抽出しテンプレート化した「パラメータ化コラボレーション」が導入された.これによって,たとえば,デザインパターンObserverとそれを実装している具体的な複数のオブジェクトのコラボレーションとを区別して表現できる.これを利用すれば,フレームワークをパラメータ化コラボレーションの集合で表し,それらの適切なホットスポット(パラメータで表される)に具体的なオブジェクトやモデル要素のインスタンスを束縛して実際のアプリケーションが構築される,という関係をUMLで表現できる.

図-17 :パラメータ化コラボレーションの応用

今後,アナリシスパターン,デザインパターン,アーキテクチャパターン等から構成される各ドメインのフレームワークを前提にアプリケーションを構築していく開発スタイルが普及することを考えると非常に重要な改良点といえる.ただし,パターンの仕様として扱うには適切な制約記述が必要なことはいうまでもない.


© 1999 OGIS-RI Co., Ltd.

Prev.

Index

Next