 |
はじめるUML 第4回 |
2005.6.1 掲載
システム全体の構造を整理しよう!(2)
今回はOMGのUML仕様書「UML2.0 Superstructure Specification」の第8章Composite Structuresの中から、コンポジット構造図を見ていきます。
コンポジット構造図はUML2.0になって追加されたダイアグラムのひとつで、クラスやコンポーネントなどの要素の内部構造、および、それらの相互作用をより視覚的に分かり易く表現することができるダイアグラムです。
コンポジット構造図と聞いて、「コンポジション」または「コンポジットクラス」を思い浮かべる方もいるかと思います。 一言でいうと、 「「コンポジション」は集約のより強いもの、 「コンポジットクラス」は内部にクラスを含んでいるクラス、 といったところですが、コンポジット構造図のコンポジットもほぼ同じ意味です。 クラス図ではコンポジションやコンポジットクラス図などを用いて表現することを、コンポジット構造図では以下のように「より視覚的」に表現することができます。
 コンポーネントベース開発(CBD)におけるカタリシス手法のタイプモデルを表現できます。
コンポジット構造図に特徴的な要素としてパート、コネクター、ポートなどがあります。
- パート
上図における「顧客」「アンケート」がパートです。 顧客情報管理システムの内部構造を役割の観点で表しています。
- コネクター
パートとパートまたはポートの間を繋ぐ関係です。 多重度、コネクター名をつけることもできます。
- ポート
顧客情報管理システムの左側にある四角(□)がポートです。 ポートとパートをコネクターで関連付けることで、顧客情報管理システムが外部とやりとりするときの境界を明確に表現できます。
また、コンポジット構造図ではクラスやパートの間の相互作用をコラボレーションとして表現することもできます。 以下の図では「店頭販売」というコラボレーション、その「客」が顧客、「担当者」が従業員であることを表現しています。これは、従来、ソフトウェアパターンをパラメータ化コラボレーション図により表していたことと同じです。ここでは、コラボレーションとして定義した店頭販売の「客」が顧客、「担当者」が従業員に置き換わります。 キャンペーンなどで従業員以外、例えばアルバイトが店頭販売をすることになっても、店頭販売の「担当者」としてアルバイトを追加するだけで済みます。
次回は、配置図を見ていきたいと思います。
■筆者紹介 小嶋慎一/Siniti Kozima 株式会社テクノロジックアート テクニカルデプト アーキテクト
パターンウィーバー(PatternWeaver) ver2.0
-
UML2.0 Superstructureの全てのダイアグラムに対応
-
Eclipse3.0にプラグインとして統合
-
表現力の大幅な向上
-
新規プラグインの追加
●商品に関するお問い合わせ 株式会社テクノロジックアート e-mail : pw@tech-arts.co.jp http://pw.tech-arts.co.jp/pw/index.html
|