コメントを利用したソフトウェア設計支援
西田研究室 橋本 浩一
はじめに
現在,計算機による支援システムは多くの設計現場で活用されているが,多くは定型的な作業を自動化することでユーザーの負担を軽減するものであり,主に設計の下流工程を支援することに焦点が当てられてきた.一方,設計の上流工程においては設計全体に影響を及ぼす重要な意志決定を行うことが多く,この段階では設計者の意志決定を支援することが重要だと考えられるが,この部分に対する支援はあまり焦点が当たられてこなかった.
本研究ではソフトウェアの設計を対象として,ソフトウェアに付加されているコメントを利用した設計支援の枠組みの提案を行う.コメントに基づいてソフトウェアの構造化(これをコメント構造と呼ぶ)を行うプロトタイプシステムを実装し,評価実験を行ってその有効性を検討する.
設計支援の枠組
設計者は与えられた目的を満たすソフトウェアを設計する際にどのような理由や必要性から各コンポーネントやモジュールをとりまとめているのか,組み込んでいるのかに対するヒントや手がかりをコメントとして残していると考えられる.本研究ではこの点に着目し,ソフトウェアのコメントからの情報抽出・構造化を行う.また,事例ベース推論(CBR:Case-Based Reasoning)の枠組みを利用して過去の事例から設計者の目的・考えに類似する事例を提示することで設計支援を行う.
システム構成
システムは主に,事例の蓄積を行う記憶部,情報の検索・推論を行う推論部と,ユーザインタフェース部からなっている.ユーザインタフェースは図のようになっており以下の機能を持つ.
- 設計者のソフトウェア編集ウインドウ
- 1に対応するコメント構造表示ウインドウ
- 事例ベース推論により,2の構造に類似のもとして検索されたコメント構造表示ウインドウ
- 3の構造のもとのソフトウェア提示ウインドウ
設計中のソフトウェアに対して、システムはコメントに基づいて構造化を行い類似事例を検索する.検索された事例及びその構造を参考することにより,設計者はソフトウェアの設計・修正を行っていく.
実験
実装したシステムに対して,5人の被験者に周波数解析に関連するプログラムの設計に関する実験を行った.その結果,設計進行においてシステムを利用したのはモジュール作成時等,具体的な方法を考えるときが多く,設計全体のうち主に序盤から中盤にかけてシステムによる支援が効果的であったことが確認された.またシステムが提示する情報の7,8割程度が設計進行上有用な情報であったことが確認された.
結論
本結ではソフトウェアの設計を対象に支援の枠組みの提案およびそれを実装したプロトタイプシステムによる評価実験を行った.設計は開始から終了まで様々なプロセスを経て行われるため全てをサポートすることは困難であるが,実装したシステムにより設計の序盤から中盤にかけての設計活動を促進する働きがあったことが確認された.