青山学院大学理工学部経営工学科 デザインパターン適用支援ツール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
© Copyright 2024 Paperzz