デザインパターン適用支援ツールOOPAS の開発研究

青山学院大学理工学部経営工学科
デザインパターン適用支援ツールOOPAS の開発研究
田 上 和 正 (15592068)
(15594089)
青 木 勇 雄
原
田
1.背景
今日、Erich Gamma の提唱する『デザインパターン』
は、オブジェクト指向開発における設計の再利用をお
こなう有効なアプローチとして期待されている。その
ため、今後、オブジェクト指向設計において頻繁に活
用されると予測され、その適用を支援するツールが必
要と考えられる。
本研究は、デザインパターンの適用支援ツール
OOPAS を開発することであり、機能を検討した結果、
原田研究室における構造化オブジェクトモデリング環
境 SOME に下記の2機能を追加することが最良であ
ることがわかった。
1)
問題解決に適したデザインパターン選択の
支援
2)
デザインパターンを適用する際に、設計図
の修正作業の自動化
2.デザインパターンライブラリによる選択支援
デザインパターンを適用する
には、様々な知識(パターン名、
適切なパターン適用箇所 etc)が
必要である。そこで本研究のパ
ターン適用支援について、パタ
ーン適用そのものにおける指
針を考察し、それに基づいて
パターンのライブラリを作
図 1パターンライブラ
成した。具体的には、図 1 に
示すようにHTMLを用いてパターンライブラリを作
成することにした。HTML を用いることによってパタ
ーンの分類を明示し、またリンク機能によって関連の
あるパターンを結びつけ、最終的に Gamma のパター
ン23種類すべてを含むパターンライブラリを作成し
た。
これらのパターンライブラリの項目としては、「よく
使われる用途、背景、目的、クラス図、変更できる設
計要素、サンプルコード」としている。
3.設計図の修正機能
デザインパターンを適用する場合、設計図の修正を手
作業ですると煩わしかったり、構造を間違えてしまう
可能性がある。そのためデザインパターンを現在開発
中のアプリケーションに適用することを支援する機能
を SOME に追加することにした。
この機能は、アプリケーションの設計図内にあるクラ
ス c と融合すべき、デザインパターンの設計図内にあ
るクラス c’との対応関係をユーザが指定することによ
研
究
(15593001)
永 山 英 嗣
室
り、二つの設計図を融合し、新しいアプリケーション
設計図を作成するものである。このため、オブジェク
ト図の融合操作をする Join 演算子を下記のように定義
した。
OO"=joinO(OO,OO',CP)
これは、アプリケーションのオブジェクト図 OO,とパ
ターンのオブジェクト図 OO'が与えられたとき、アプ
リケーションのクラス集合を CL、パターンのクラス集
合 を CL’ と す る と 、 こ れ ら を ク ラ ス ペ ア セ ッ ト
CP={(c,c‘)|(c,c’)∈CL×CL'}で融合操作することによっ
て新しいアプリケーション図 OO"を生成することを
意味する。そのとき、融合後のアプリケーションのク
ラス集合を CL"として、CP2 ={c'|c'∈CL', ∃c∈CL,
(c,c')∈CP} を用いると CL"は、
CL"=CL+(CL'-CP2)となる。
また、パターンを設計図に適用する際、パターンの構
造を損なわないようにパターン内のあるクラス c’がア
プリケーション内のいくつのクラスcと融合ペアをと
れるかを示す数を『融合可能数』として以下のように
定義した。
0:パターンクラス c’は、アプリケーション内に追
加される。
1:パターンクラス c’は、アプリケーション内の一
つのクラスとペアが可能。
n:パターンクラス c’は、アプリケーション内の複
数のクラスとペアが可能。
図 2 は、ユーザが融合関係をダイアログ(図2中央)
で指定した後、パターン内のあるクラスとアプリケー
ション内のクラスとのペア数がパターンクラスの融合
可能数を超えていないことを確認し設計図を修正した
こと示している。
図 2 融合操作
4.おわりに
我々は、パターンライブラリを作成することによりデ
ザインパターンの選択支援環境を整備できた。また、
簡単な例題に対し、OOPAS を用いて数種類のパター
ンを設計図に実際に組み込み、パターンの適用が容易
になることを確認できた。今後の課題としては、動的
モデルに対する Join 操作の定義、更なる SOME との連
携が考えられる。
5.参考文献
1)
2)
3)
本位田真一、吉田和樹(監訳)、デザインパター
ン、ソフトバンク,1995
山本純一,松本一教:CASEツールによるデザイ
ンパターン適用支援,ソフトウェア工学研報 1116,pp.41-49,1996.
直田繁樹,堀田勇次:デザインパターンの適用自動
化 手 法 ソ フ ト ウ エ ア 工 学 研 報 ,112-6,pp.4148.1996.11.15