TR-C-0100 :1994.8.30

安達久人

設計知識の構造化と活用 - 設計知識の再利用 -

Abstract:近年,通信事業者による画一的なサ—ビス提供に代わって,サービス利用者の要求に合わせたサービス提供が求められている.このため,サービスを実現する通信ソフトウェアもサービスの提供形態の変化への対応が求められるとともに,今後ますます生産性の向上が求められることが予想される. ソフトウェア設計では,生産性の向上を目的とした様々な設計法が提案されており,通 常,設計者はこれらの設計法に従って設計を行っている.設計法には設計法毎に決められ た最終生産物を作成するために,どのような設計項目をどのような順番で設計すれば良いかが大まかに示されている.例えば,構造化分析手法[1]では,最終生産物はデータフローダイヤグラムであり,そのためにコンテキストダイヤグラムの作成,データ源泉,データ吸収の分析等を行うよう指示されている.設計法に示された設計項目について設計するためには,設計法には示されていない細部の設計項目について設計した結果を参照する必要がある. このような細部の設計項目はソフトウェアの開発依頼者の要求やソフトウェアが動作するハードウェア環境など様々な制約を考慮して行う必要があり,設計者にはこれらの知識やノウハウを持っていることが要求される. 設計に必要な知識やノウハウの不足は,認識すべき制約の洩れ(つまり,設計の洩れ)による設計の手戻り等を引き起こしソフトウェアの生産性を阻害する原因の1つになっていると考えられる.従って,このような知識やノウハウの活用法の確立がソフトウェアの生産性の向上には急務であると考えられる. このような問題に対して,設計作業を行う上で必要な知識を予め用意することを目的と した研究が行われている.例えば,プロセスプログラミング[2]の研究は,設計作業を分析し設計上の知識を獲得することにより,予め設計手順を記述しようとするものである. しかし、設計の多様性の問題から,手順の詳細な部分を一般的な知識として記述することは困難であり,これらの研究では設計法レベルの手順の記述が限界であると考えられる. このようなアプローチに対し,ソフトウェアの設計時に考慮された様々な情報を記録し,他のソフトウェア設計で再利用する考え方が注目されている. 我々の研究は,この考え方に基づいたものであり,設計過程(制約の認識と制約を満足する解の検討結果)を記録し,これを再利用することにより,新規設計で設計者に「考慮すべき制約とその制約と依存関係を持つ他の制約」を示すとともに,制約を満足する解の候補として「過去の事例では設計内容がどうなっているか」を示すものである. このような支援を行うためには,これまで残されていなかった設計者の設計過程に関する情報を残す必要があり,そのために記録する情報とその記録形式を明確にする必要がある. 記録情報に関して,設計結果に対する根拠の情報として賛成,反対の議論を設計時に記録するWEB[3],IBIS(Issue Based Information System)[4]をベースとした記録方法[5][6]などが提案されている. しかし,これらの情報から我々が目的とする支援を行うためには,記録を人間が読んで,参照した設計項目を洗い出してから手順を考える必要があり,また,類似事例を検索するためには全ての事例について同様の作業を行う必要がある.従って,これらの研究で提案されている記録情報と記録形式を,我々が目的とする支援を行うために用いるのは困難であると考えられる. また,設計手順の再利用に当たって,設計手順を時系列に従って記録し利用する方法が考えられるが,この方法では設計時の参照漏れによる設計の手戻りの問題に対処することは困難である. 我々は,設計手順を記録された順番ではなく,参照関係から抽出することで,設計時の参照漏れによる設計の手戻りの影響を受けることなく,設計の手順と参照すべき情報を提示できると考えている. この考えに従って設計者の設計過程を,設計者が捉えたあるまとまり(設計者がどのような設計項目について設計し,その結果はどうなったか)とまとまりの間の参照関係としてモデル化した設計プロセスモデルを考案した[7]. 本稿では,まず,設計プロセスモデル(2章)を示す.次に記録した情報の蓄積利用方法とそれに基づく設計支援システムの概要を示し(3章),本方式の評価を行った結果を示す(4章).