学位論文要旨



No 111205
著者(漢字) 角,康之
著者(英字)
著者(カナ) スミ,ヤスユキ
標題(和) ソフトウェアの要求モデル構築支援に関する研究 : 要求獲得における発想支援と要求モデルの構造化支援
標題(洋)
報告番号 111205
報告番号 甲11205
学位授与日 1995.03.29
学位種別 課程博士
学位種類 博士(工学)
学位記番号 博工第3449号
研究科 工学系研究科
専攻 情報工学専攻
論文審査委員 主査: 東京大学 教授 大須賀,節雄
 東京大学 教授 武市,正人
 東京大学 教授 渕,一博
 東京大学 教授 石塚,満
 東京大学 助教授 堀,浩一
内容要旨

 本論文は、ソフトウェアの要求モデル構築を支援するシステムの開発に関する研究をまとめたものである。

 近年、自動プログラミングなどの研究が精力的に行なわれてきたこともあり、ソフトウェア開発において人間が担う仕事の比重が、問題をコンピュータでどのように解くのか(How)を記述する作業から、コンピュータに何をやらせたいのか(What)を記述する作業に移行しつつある。そのような流れから、ソフトウェア開発における要求定義工程に関する研究への期待が高まっている。

 自動プログラミングなどに代表される従来のソフトウェア開発支援に関する研究は、ソフトウェアへのユーザの要求が前もって明確な仕様書として定義されているという前提から始まっているものが多い。しかし実際は、要求者の心の中でさえ問題が明確に認識されていないことや、要求を速やかに言語化できないことが度々ある。また、ソフトウェアの設計や実装の工程に入ってから新たな要求が認識されたり要求が変更されることも稀ではない。特に情報工学分野等の研究活動の現場ではそのような傾向が顕著であり、ソフトウェア開発を行ないながら研究の対象世界に存在する問題やそれらの関係を認識していくといったことが日常的になされる。このような現状から、要求定義工程の知的支援の必要性が強く認識されている。また、ソフトウェア開発における要求定義、設計、実装などの各工程を従来よりもさらに有機的に結びつけ、工程間の行き来を積極的に支援する開発パラダイムが求められている。そこで本研究は、ユーザが自分自身の要求や解決したい問題を認識・整理する作業と、そこで認識された要求をソフトウェア設計に利用可能な要求モデルとして表現する作業を支援し、それらの作業を互いに行き来しながら要求概念を認識・整理すると同時に、その副産物として要求モデルを構築することが可能な要求モデル構築支援システムを開発することを目的とする。

 本研究では、発想支援システムを構築し、これをソフトウェア開発の要求獲得支援に適用した。構築した発想支援システムは、ユーザの心の中の概念的な思考空間を投影する手段として、ユーザが抱えている問題やそれに関連するアイデアの断片が書かれた仮想的カード(以下、テキストオブジェクトと呼ぶ)をコンピュータディスプレイ上の距離空間へ配置し、要求概念の空間構造の可視化を試みるものである。本システムは、統計的手法を用いて空間を自動再構成した結果をユーザに提供する。この手法をとることにより、ユーザは自分自身の要求空間の全体構造を認識することが容易になり、ソフトウェア開発の対象となる実世界を分節するにあたって、ユーザの新たな発想をうながす効果が得られた。さらに、要求概念とそれを構成する概念素の共起関係を可視化する手法をとり、この手法が、要求空間内に存在する複数の要求概念のそれぞれのモジュール性とそれらの関連性を可視化するといった意味で、要求分析に有用であることが示された。

 また本研究では、新規構築している要求空間と過去に開発されたソフトウェアの要求空間をすり合わせることにより新たに構造創発された要求空間を可視化する手法を、ユーザからの要求獲得に適応した。この手法を用いることにより、ユーザのまだ曖昧で抽象的な要求概念と既存ソフトウェアの具体的な要求概念の関連性が同一空間上で可視化され、ユーザが自分の要求やアイデアを認識もしくは分析する作業を助ける効果があることを示した。

 発想支援システムを利用することにより構築された要求空間は、ユーザの思考空間を投影したものであり、新たな発想への可能性を併せ持つものではあるが、ソフトウェアを設計・実装することを考えるとコンピュータ内で表現・操作するには曖昧性が多く、矛盾を含む可能性もある。したがって、要求空間上で認識された要求概念は、コンピュータ内で表現・操作可能な要求モデルとして記号に基づく構造化がなされる必要がある。支援システムを利用することによる最終成果物として定義された要求モデルは、ユーザの問題が存在する対象世界の実体集合とそれらの間の関連のネットワークとして表現され、さらにそこには将来ソフトウェア内部で実現されるべき機能に対応する概念が埋め込まれる。本研究では、要求モデル生成の自動化を目指して知識処理アプローチをとり、そのシェルシステムとして東京大学大須賀研究室で開発されてきた知識処理システムKAUSを利用する。KAUSは、構造情報の表現・操作能力に優れた宣言型言語であり、一階述語論理を拡張した多層論理に基づくメタ知識処理能力を持つ。本研究では、モデルの記述・操作にKAUSを用い、同時に、事例知識からの構造抽出とモデルのプロトタイプ合成における知識表現・管理や推論エンジンとしてKAUSを利用する。

 モデル生成には、過去に開発された既存ソフトウェアに関する事例知識をファクト(事実)として利用し、さらにそれらを操作するモデリング知識をルールとして記述・利用した。事例情報は、過去の要求モデル構築作業の成果物である要求空間と要求モデルを事例ごとに組み合わせて管理・利用される。その際、同一事例内の要求概念間の関連性や概念と表現の対応といった情報の、文脈や状況への依存性を保存することが求められる。本研究ではこの問題に対し、発想支援システム上の要求空間によって事例の文脈の可視化を試み、事例情報の管理・操作においてはKAUSの多重世界機構を利用してその文脈依存性に対応した。本研究ではこれらの手法を用いて、以下のタスクを自動化した。

抽象的な要求概念に対応するソフトウェア概念構造の獲得

 ユーザが構築した要求空間の中に存在する抽象的な要求概念に対応する要求モデル部分構造を、事例から文脈付きで抽出する。

複数事例から抽出された部分構造の合成による要求モデル生成

 複数の事例から抽出された部分構造間に存在する重複や矛盾等の構造衝突を解消し、それらを合成することによって、ユーザの要求空間に対応した新たな要求モデルのプロトタイプを生成する。

 以上の発想支援技術とモデリング技術を統合することにより、要求モデル構築支援システムを実現した。その利用概観を図に示す。画面の右上にあるのが発想支援システムであり、ここでユーザはシステムとインタラクティブに要求空間を構築する。システムは、ユーザが書きためたアイデアや要求の断片に対応するテキストオブジェクトと、各テキストオブジェクトに宣言されたキーワード情報を記憶・管理する。また、それらの情報を反映して要求概念(テキストオブジェクト)と要求概念素(キーワード)の共起関係が距離空間上に可視化される。画面左にあるのはKAUSの実行ターミナルであり、要求空間中に存在する要求概念に対応すると推論される要求モデル部分構造を複数の事例から抽出し、それらを合成して要求モデルのプロトタイプを出力する。その結果が構造エディタによって可視化されたものが、画面右下に表示されている。以上のモデル生成タスクは完全に自動化されているため、ユーザは発想支援システムを用いて要求空間の構築作業に専念でき、それに対応する要求モデルのプロトタイプを即座に得ることができる。

図表

 本システムを利用することにより、非記号的な要求概念の世界と記号的構造を持った要求モデルの世界が有機的に統合され、要求獲得-要求分析-モデリング作業を行き来しながら要求モデル構築作業を進めることが可能になった。

 本研究は、ソフトウェア開発の上流工程支援を具体的な研究対象として選び、コンピュータを人間の創造活動に利用する上での一般的なマンマシンインタラクションの枠組を議論したものである。

 本研究が、コンピュータによる情報処理をさらに人間の様々な創造活動に利用するための研究の指針を与えるものであることを望む。

審査要旨

 工学修士角康之提出の論文は、「ソフトウェアの要求モデル構築支援に関する研究-要求獲得における発想支援と要求モデルの構造化支援-」と題し、7章からなっている。

 情報化が進んでいる現代社会においては、コンピュータを広く知的に利用することが必要であるとの意識が高まっている。コンピュータを利用するには、その目的に合わせてソフトウェアを開発することが必要条件であるため、ソフトウェア開発支援技術の発展への期待は大きい。このことから、知的ソフトウェア開発支援技術が工学的に非常に重要な課題の一つとして位置付けられている。特に、要求定義工程はソフトウェア開発の全工程の中で最も重要な工程であり、その困難さが認識されているにも関わらず、その工程の知的支援に関する研究はあまりなされておらず、多くの未解決課題が残されていることも事実である。本研究は、ソフトウェア開発において人間がやるべきこととコンピュータによって自動化すべきことを整理し、特に要求定義工程におけるマンマシンインタラクションの枠組の提案とそのシステム化がなされている。このような枠組・システムの構築は、ソフトウェア開発の自動化と創造的なソフトウェア開発環境を構築していく上で重要である。

 第1章は序論であり、まず研究の背景と動機を述べ、次に研究の目的とねらいを記している。

 第2章では、研究対象となるソフトウェア開発における要求定義支援について述べ、研究の位置付けを明らかにしている。まず広い視野に立って情報処理全体におけるソフトウェア要求モデル構築の意義を議論し、次にソフトウェア開発の現状とその問題点について議論している。ここでは、それらの議論をふまえて、モデル変換に基づくソフトウェア開発パラダイムを提案している。そして、本研究がその一連のモデル変換のうち最も人間寄りの過程を研究対象とするものであり、ユーザ自身の要求概念の認識とそのモデル化の支援を目的とすることが述べられている。

 第3章では、本研究で開発された要求モデル構築支援システムの概観が示されている。また、システムを利用することによって得られる成果物である要求空間と要求モデルの定義が為され、その方法論の有効性を議論することによってソフトウェア工学における本研究の位置付けを明らかにしている。また、想定されるシステムの対象ユーザについても記されている。

 第4章では、要求モデル構築支援システムのサブシステムとして利用された発想支援システムの開発とその利用について述べている。紹介されている発想支援システムは、ユーザがテキストオブジェクトと呼ばれる仮想的なカードをコンピュータディスプレイ上の距離空間内で操作しながら思考活動を行なうことを可能にし、一方でシステムは統計的手法を利用することにより自動再構成した空間構造をユーザに提供する。空間構造を可視化することによって、ユーザ自身が自分の要求概念の全体構造を認識することが助けられ、新たな発想への飛躍が期待できると主張している。さらに、テキストオブジェクトとその構成要素であるキーワードの双対関係を可視化する手法を採用し、要求定義工程における要求認識や要求分析への有効性を議論している。

 第5章では、発想支援システムを利用することにより獲得された要求概念を、コンピュータ内で操作可能な要求モデルへと構造化する過程の自動化について述べている。まず、設計問題の一般的な枠組について述べ、その自動化の必要性が主張されている。次に、要求モデル生成の自動化のための要件を議論し、それをほぼ満たすものとして本研究で利用された知識処理システムKAUSが紹介されている。以降では、KAUSを利用した要求モデルの表現・操作、知識として利用する事例情報の管理と操作、モデリング知識のルール化、モデリング戦略の表現等を詳説している。

 第6章では、システムの実験とその評価が為されている。第4章と第5章で紹介された発想支援技術とモデリング技術の統合とその効果を示すために、実際の研究活動におけるソフトウェア開発を例にとった利用実験が紹介されている。実験結果から、ユーザの要求空間に現れる要求概念に対応する要求モデル部分構造を事例から文脈付きで自動抽出することが可能になり、また、複数事例から抽出された部分構造を合成することによって、ユーザが構築した要求空間に対応する要求モデルのプロトタイプが自動生成されることが示された。さらに本章では、複数ユーザ及び開発者が利用・修正に携わるソフトウェアの設計・管理に当システムを利用した実験例を紹介し、本研究で提案された要求モデルのソフトウェア開発全体における有効性を議論している。

 第7章は結論であり、研究の総括と、将来への展望が述べられている。

 以上を要するに本研究は、ソフトウェア開発をモデル変換パラダイムとして見直し、その最上流工程である要求モデル構築を支援するために、要求の認識とそのモデル表現作業を支援する方法論の提案とシステムの開発を行なったものである。本研究は、これからの知的ソフトウェア開発環境におけるソフトウェア設計とそのためのマンマシンインタラクションの枠組を議論する上での指針を提供するものであり、それは広く情報工学に貢献するところが大きい。よって、本論文は博士(工学)の学位請求論文として合格と認められる。

UTokyo Repositoryリンク