ストラタジーナム メニュー

2006年4月21日金曜日

UML中級講座 第15回 第3章 複合構造図

本日から、UMLの個々の図を見て行きたいと思います。最初は、複合構造図(Composite Structures Diagram)です。

第3章 複合構造図
複合構造図は、UML2.0で付け加えられた図で、この図によって、内部構造を何段にもわたって階層的に記述することが可能になりました。
この新たな図の追加に伴い、内部の構成要素を示すパート(もしくはパーツ)と、パート間の接続を表すコネクタ、外部と内部の相互作用の接点を示すポートなどの新しい概念が登場して来ました。

3ー1 内部構造の表現

3ー1ー1複合構造図の例 

まず最初に「FMラジオ」という身近な例を取りだして、複合構造図の表記法を見てみます。

図F01は、FMラジオとそのインターフェース群を書き出しています。そして内部構造はまだ表現されていません。
UML2.0になって、インターフェースは、提供インターフェース(ボール)と要求インターフェース(ソケット)の2種類になりました。
ルールとしては、サービスを提供する側が提供インターフェース、サービスを受ける側が要求インターフェースであり、通常、提供インターフェース側がインターフェースの実現を行ないます。
どちらの表現をとるかは、モデラー(モデル作成者)が決めます。
この図では、「アンテナ」が要求インターフェースで、それ以外の「選局」「電源スイッチ」「ボリューム」「音声」はすべて提供インターフェースとして表現しています。
なお、インターフェースが、提供インターフェースと要求インターフェースの2種類に分かれた背景には、この2種類がペアになって接続される状態を示したいと言う表現上の意図があります。(図F04参照: この図では2つのインターフェスが、依存関係で結ばれており、FMラジオとアンテナがコミュニケーションしている状態を示しています。)

なお、ボール表現に関し、アメリカではその形状からロリポップ(棒つきキャンディ)と呼ぶことが多いので、併せて覚えておくと良いでしょう。
また、インターフェースの表現としては、ボールやソケットで表す方法以外に、図F02の様にクラス内に<<provided interface>> と<<required interface>>というステレオタイプを使ってリスト表記することも出来ます。

次に、内部構造を記述する前に、外部と内部の相互作用の接点であるポートをクラスの境界線上に記述します。(図F03参照)
そして最後に、図F05で示されているように、内部構造を記入します。
この図では、「チューナー」「アンプ」「スピーカー」「電源部」の四つのプロパティが、内部構成要素として記入されそれぞれがコネクタで結ばれています。