(57)【要約】【課題】新規の要件の、要件グラフに対する関係性を高精度に類推することが可能となる。【解決手段】要件定義支援装置は、要件グラフを記憶する要件グラフ記憶手段と、無関係情報を記憶する無関係情報記憶手段と、ある１つの既存の要件についての要件コンテキストを取得する要件コンテキスト取得手段と、関係性算出手段と、を備える。関係性算出手段は、ある１つの既存の要件についての要件コンテキストである第１要件コンテキストを取得し、ある１つの既存の要件に対して無関係な既存の要件についての要件コンテキストである第２要件コンテキストを取得し、第１要件コンテキストと第２要件コンテキストの差集合を算出し、新規の要件および差集合に基づいて、新規の要件とある１つの既存の要件の間の関係度合いを算出する処理を、要件グラフを構成する既存の要件に対して実行し、関係度合いが一定以上の前記既存の要件を抽出する。【選択図】  図１
2019028881.tif 000002
【特許請求の範囲】
【請求項１】
複数の既存の要件のそれぞれを頂点で表し、前記既存の要件間の関係を線分で表すグラフ構造からなる要件グラフを記憶する要件グラフ記憶手段と、
２つ以上の前記既存の要件同士が無関係である旨を明示する情報、および前記既存の要件と新規の要件とが無関係である旨を明示する情報のうちの少なくとも一方を含む無関係情報を記憶する無関係情報記憶手段と、
前記要件グラフ記憶手段に記憶されている前記要件グラフの中の、ある１つの前記既存の要件と、ある１つの前記既存の要件から見て上位にある他の前記既存の要件との集合である要件コンテキストを取得する取得処理を実行する要件コンテキスト取得手段と、
前記要件グラフを参照するとともに前記要件コンテキスト取得手段を制御することにより、ある１つの前記既存の要件についての前記要件コンテキストである第１要件コンテキストを取得し、前記無関係情報を参照するとともに前記要件コンテキスト取得手段を制御することにより、ある１つの前記既存の要件に対して無関係な前記既存の要件についての前記要件コンテキストである第２要件コンテキストを取得し、前記第１要件コンテキストと前記第２要件コンテキストの差集合を算出し、前記新規の要件および前記差集合に基づいて、前記新規の要件とある１つの前記既存の要件の間の関係度合いを算出する処理を、前記要件グラフを構成する前記既存の要件に対して実行し、前記関係度合いが一定以上の前記既存の要件を抽出する関係性算出手段と
を備えることを特徴とする要件定義支援装置。
【請求項２】
前記関係性算出手段により抽出された前記既存の要件を前記ユーザに提示するユーザインタフェースをさらに備えることを特徴とする請求項１記載の要件定義支援装置。
【請求項３】
前記ユーザインタフェースは、提示した前記既存の要件に対する前記ユーザの応答入力が、前記ユーザによってこれ以上の前記無関係情報の更新が不要であると判断される場合に入力される情報であり、前記新規の要件を前記要件グラフにどのように配置するかを指示する情報である配置指定であるか、前記新規の要件との関係度合いが一定以上の前記既存の要件が妥当なものではなく、前記無関係情報の更新が必要と判断される場合に入力される情報であり、前記新規の要件と無関係である前記既存の要件、または他の前記既存の要件と無関係である前記既存の要件を示す情報である要件指定であるかを判定することを特徴とする請求項２記載の要件定義支援装置。
【請求項４】
前記要件グラフを合成する要件グラフ合成手段をさらに備え、
前記応答入力が前記配置指定である場合、前記ユーザインタフェースは、前記配置指定を前記要件グラフ合成手段に送信し、
前記要件グラフ合成手段は、受信した前記配置指示に基づいて、前記要件グラフ記憶手段に記憶された前記要件グラフに前記新規の要件を合成することを特徴とする請求項３記載の要件定義支援装置。
【請求項５】
前記応答入力が前記要件指定である場合、前記ユーザインタフェースは、前記要件指定を前記無関係情報記憶手段に送信し、
前記無関係情報記憶手段は、受信した前記要件指示に基づいて、前記無関係情報記憶部の情報を更新することを特徴とする請求項３または４記載の要件定義支援装置。
【請求項６】
前記関係度合いは、前記新規の要件と、ある１つの前記既存の要件に関する前記差集合との間の類似度であることを特徴とする請求項１−５のいずれか１項に記載の要件定義支援装置。
【請求項７】
前記類似度は、前記差集合を構成する全ての前記既存の要件の内容を形態素解析することで得られる、前記差集合における名詞の出現頻度である第１の出現頻度と、前記新規の要件の内容を形態素解析することで得られる、前記新規の要件における名詞の出現頻度である第２の出現頻度との間のコサイン類似度であることを特徴とする請求項６記載の要件定義支援装置。
【請求項８】
前記要件グラフは、有向非巡回形式のグラフであることを特徴とする請求項１−７のいずれか１項に記載の要件定義支援装置。
【請求項９】
複数の既存の要件のそれぞれを頂点で表し、前記既存の要件間の関係を線分で表すグラフ構造からなる要件グラフを記憶し、
２つ以上の前記既存の要件同士が無関係である旨を明示する情報、および前記既存の要件と新規の要件とが無関係である旨を明示する情報のうちの少なくとも一方を含む無関係情報を記憶し、
前記要件グラフ記憶手段に記憶されている前記要件グラフの中の、ある１つの前記既存の要件と、ある１つの前記既存の要件から見て上位にある他の前記既存の要件との集合である要件コンテキストを取得する取得処理を実行し、
前記要件グラフを参照するとともに前記要件コンテキスト取得手段を制御することにより、ある１つの前記既存の要件についての前記要件コンテキストである第１要件コンテキストを取得し、前記無関係情報を参照するとともに前記要件コンテキスト取得手段を制御することにより、ある１つの前記既存の要件に対して無関係な前記既存の要件についての前記要件コンテキストである第２要件コンテキストを取得し、前記第１要件コンテキストと前記第２要件コンテキストの差集合を算出し、前記新規の要件および前記差集合に基づいて、前記新規の要件とある１つの前記既存の要件の間の関係度合いを算出する処理を、前記要件グラフを構成する前記既存の要件に対して実行し、前記関係度合いが一定以上の前記既存の要件を抽出する
ことを特徴とする要件定義支援方法。
【請求項１０】
複数の既存の要件のそれぞれを頂点で表し、前記既存の要件間の関係を線分で表すグラフ構造からなる要件グラフを記憶する処理と、
２つ以上の前記既存の要件同士が無関係である旨を明示する情報、および前記既存の要件と新規の要件とが無関係である旨を明示する情報のうちの少なくとも一方を含む無関係情報を記憶する処理と、
前記要件グラフ記憶手段に記憶されている前記要件グラフの中の、ある１つの前記既存の要件と、ある１つの前記既存の要件から見て上位にある他の前記既存の要件との集合である要件コンテキストを取得する取得処理を実行する処理と、
前記要件グラフを参照するとともに前記要件コンテキスト取得手段を制御することにより、ある１つの前記既存の要件についての前記要件コンテキストである第１要件コンテキストを取得し、前記無関係情報を参照するとともに前記要件コンテキスト取得手段を制御することにより、ある１つの前記既存の要件に対して無関係な前記既存の要件についての前記要件コンテキストである第２要件コンテキストを取得し、前記第１要件コンテキストと前記第２要件コンテキストの差集合を算出し、前記新規の要件および前記差集合に基づいて、前記新規の要件とある１つの前記既存の要件の間の関係度合いを算出する処理を、前記要件グラフを構成する前記既存の要件に対して実行し、前記関係度合いが一定以上の前記既存の要件を抽出する処理と
を要件定義支援装置のコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム開発やコンサルティング等において、たとえば、顧客要件を把握するための作業である要件定義を支援するための要件定義支援装置、要件定義支援方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
システム開発の上流工程では、実装すべき機能や満たすべき性能などを明確にしていく作業である要件定義が実施されている。要件定義は、顧客からの要求を最上位とし、その要求を段階的に構造化した要件を階層やグラフ構造として表現する作業である。要件定義の代表的な表現形式として、たとえば、コンピュータ業界の非営利の標準化コンソーシアムであるＯＭＧにより策定されたＳｙｓＭＬを挙げることができる。上記において、ＯＭＧは、Ｏｂｊｅｃｔ  Ｍａｎａｇｅｍｅｎｔ  Ｇｒｏｕｐの略であり、ＳｙｓＭＬは、Ｓｙｓｔｅｍｓ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅの略である。ＳｙｓＭＬでは、要件の集合を表現する手段としてＲｅｑｕｉｒｅｍｅｎｔ  Ｄｉａｇｒａｍ（要求図）が定義されている。Ｒｅｑｕｉｒｅｍｅｎｔ  Ｄｉａｇｒａｍは、要件を頂点とし、要件間の導出関係、依存関係、包含関係などを表現する辺（線分）を用いるグラフ構造で示される。Ｒｅｑｕｉｒｅｍｅｎｔ  Ｄｉａｇｒａｍは、要件グラフと呼ばれることがある。前述のとおり、これらの関係は、要求に対する段階的な構造化を表現するものであるため、構造化の元となる要件を上位とし、構造化された結果となる要件を下位とする。これらの関係は「上位下位関係」と呼ばれる。
【０００３】
このような要件の構造化は、広い意味では、要件が示す概念の構造化と見なすことも出来る。しかしながら、多くの概念を取り扱う状況を考えた場合、すべての概念間の関係を人手で管理するのは困難となる。そこで、概念の集合からその関係を自動的に類推し提示する、あるいは関係を自動的に構築する手法が提案されている。
【０００４】
特許文献１では、セマンティックネットワークと呼ばれる、概念の構造を構築するために、ユーザからのテキストによる問い合せを逐次受け取り、問合せから算出された新たな概念と概念の構造との関係を導出し、その関係を概念の構造に組み込む手法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５５３０４２５号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１も含めて、要件グラフに新規の要件を合成する場合、要件グラフの要件間の関係から新規の要件の関係性を推測することが一般的である。しかしながら、要件グラフが確定されずに作成段階にある場合、ある２つの要件間に関係が存在しないからといって、最終的な要件グラフにおいて当該２つの要件間に関係が無いことになるとは限らない。なぜならば、当該作成過程当時には存在しなかった関係が後から示されることもあり得るからである。このように、単に作成過程の要件グラフを利用するだけでは、新規の要件の、要件グラフに対する関係性を高精度に類推することは困難である。新規の要件の、要件グラフに対する関係性が高精度に類推されないと、要件グラフの再構築など無駄な作業が発生し、要件グラフの作成期間が長期化するなど様々な問題が誘発される虞がある。すなわち、新規の要件の、要件グラフに対する関係性を高精度に類推することが要望されている。
【０００７】
本発明は、上記課題を解決するためになされたものであり、新規の要件の、要件グラフに対する関係性を高精度に類推すること要件定義支援方法、およびコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の要件定義支援装置は、複数の既存の要件のそれぞれを頂点で表し、前記既存の要件間の関係を線分で表すグラフ構造からなる要件グラフを記憶する要件グラフ記憶手段と、２つ以上の前記既存の要件同士が無関係である旨を明示する情報、および前記既存の要件と新規の要件とが無関係である旨を明示する情報のうちの少なくとも一方を含む無関係情報を記憶する無関係情報記憶手段と、前記要件グラフ記憶手段に記憶されている前記要件グラフの中の、ある１つの前記既存の要件と、ある１つの前記既存の要件から見て上位にある他の前記既存の要件との集合である要件コンテキストを取得する取得処理を実行する要件コンテキスト取得手段と、前記要件グラフを参照するとともに前記要件コンテキスト取得手段を制御することにより、ある１つの前記既存の要件についての前記要件コンテキストである第１要件コンテキストを取得し、前記無関係情報を参照するとともに前記要件コンテキスト取得手段を制御することにより、ある１つの前記既存の要件に対して無関係な前記既存の要件についての前記要件コンテキストである第２要件コンテキストを取得し、前記第１要件コンテキストと前記第２要件コンテキストの差集合を算出し、前記新規の要件および前記差集合に基づいて、前記新規の要件とある１つの前記既存の要件の間の関係度合いを算出する処理を、前記要件グラフを構成する前記既存の要件に対して実行し、前記関係度合いが一定以上の前記既存の要件を抽出する関係性算出手段と、を備える。
【０００９】
本発明の要件定義支援方法は、複数の既存の要件のそれぞれを頂点で表し、前記既存の要件間の関係を線分で表すグラフ構造からなる要件グラフを記憶し、２つ以上の前記既存の要件同士が無関係である旨を明示する情報、および前記既存の要件と新規の要件とが無関係である旨を明示する情報のうちの少なくとも一方を含む無関係情報を記憶し、前記要件グラフ記憶手段に記憶されている前記要件グラフの中の、ある１つの前記既存の要件と、ある１つの前記既存の要件から見て上位にある他の前記既存の要件との集合である要件コンテキストを取得する取得処理を実行し、前記要件グラフを参照するとともに前記要件コンテキスト取得手段を制御することにより、ある１つの前記既存の要件についての前記要件コンテキストである第１要件コンテキストを取得し、前記無関係情報を参照するとともに前記要件コンテキスト取得手段を制御することにより、ある１つの前記既存の要件に対して無関係な前記既存の要件についての前記要件コンテキストである第２要件コンテキストを取得し、前記第１要件コンテキストと前記第２要件コンテキストの差集合を算出し、前記新規の要件および前記差集合に基づいて、前記新規の要件とある１つの前記既存の要件の間の関係度合いを算出する処理を、前記要件グラフを構成する前記既存の要件に対して実行し、前記関係度合いが一定以上の前記既存の要件を抽出することを特徴とする。
【００１０】
本発明のコンピュータプログラムは、複数の既存の要件のそれぞれを頂点で表し、前記既存の要件間の関係を線分で表すグラフ構造からなる要件グラフを記憶する処理と、２つ以上の前記既存の要件同士が無関係である旨を明示する情報、および前記既存の要件と新規の要件とが無関係である旨を明示する情報のうちの少なくとも一方を含む無関係情報を記憶する処理と、前記要件グラフ記憶手段に記憶されている前記要件グラフの中の、ある１つの前記既存の要件と、ある１つの前記既存の要件から見て上位にある他の前記既存の要件との集合である要件コンテキストを取得する取得処理を実行する処理と、前記要件グラフを参照するとともに前記要件コンテキスト取得手段を制御することにより、ある１つの前記既存の要件についての前記要件コンテキストである第１要件コンテキストを取得し、前記無関係情報を参照するとともに前記要件コンテキスト取得手段を制御することにより、ある１つの前記既存の要件に対して無関係な前記既存の要件についての前記要件コンテキストである第２要件コンテキストを取得し、前記第１要件コンテキストと前記第２要件コンテキストの差集合を算出し、前記新規の要件および前記差集合に基づいて、前記新規の要件とある１つの前記既存の要件の間の関係度合いを算出する処理を、前記要件グラフを構成する前記既存の要件に対して実行し、前記関係度合いが一定以上の前記既存の要件を抽出する処理と、を要件定義支援装置のコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１１】
本発明によれば、新規の要件の、要件グラフに対する関係性を高精度に類推すること（換言すれば、作成過程の要件グラフを、当該要件グラフに追加しようとする新規の要件の関係性の類推に用いること）が可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態に係る要件定義支援装置の構成例を示すブロック図である。
【図２】要件グラフの一例を示す図である。
【図３Ａ】要件グラフのデータ記憶形式の一例を示す図であり、要件の表現についての記憶形式の一例を示す。
【図３Ｂ】要件グラフのデータ記憶形式の一例を示す図であり、要件の関係の表現についての記憶形式の一例を示す。
【図４】図１に示す要件定義支援装置の動作例（要件定義支援方法）を説明するためのフローチャートである。
【図５】本発明の第２の実施形態に係る要件定義支援装置の構成例を示すブロック図である。
【図６】図５に示す要件定義支援装置の動作例（要件定義支援方法）を説明するためのフローチャートである。
【図７】図６のステップＳ２００の処理（新規の要件との関係度合いが一定以上の既存の要件を抽出する方法）の具体例を示すフローチャートである。
【図８】本発明の第３の実施形態に係る要件定義支援装置の構成例を示すブロック図である。
【発明を実施するための形態】
【００１３】
［第１の実施形態］
（構成の説明）
図１は、本発明の第１の実施形態に係る要件定義支援装置１０の構成例を示すブロック図である。要件定義支援装置１０は、要件グラフ記憶部１２（要件グラフ記憶手段の一例）と、無関係情報記憶部１４（無関係情報記憶手段の一例）と、要件コンテキスト取得部１６（要件コンテキスト取得手段の一例）と、関係性算出部１８（関係性算出手段の一例）と、を備える。
【００１４】
「要件」は、一般的には、重要な用件や大切な用件、あるいは必要な条件との意味で使用されるが、本実施形態を含む以下の実施形態では、ソフトウェアやシステムに必要な機能や性能のことを指す意味で使用される。
【００１５】
「要件定義」とは、たとえば、ソフトウェア開発やシステム開発をする場合には、そのソフトウェアやシステムに必要な機能や性能、あるいは、顧客が望んでいる機能や仕様などを明らかにしてゆく作業自体、あるいは、その概略をまとめた文書を指す。
【００１６】
要件グラフ記憶部１２は、たとえば、図２に示すような、グラフ構造からなる要件グラフの情報を記憶する。グラフ構造とは、複数の既存の要件のそれぞれを頂点（または、ノードと呼ぶ場合もある）で表現し、既存の要件間の関係を線分（または、辺と呼ぶ場合もある）で表現する構造のことである。
【００１７】
要件グラフ記憶部１２は、要件グラフを、コンピュータ上で表現可能な形式で記憶する。たとえば、要件グラフは、要件グラフの頂点である要件の表（図３Ａ参照）と、要件グラフの線分である上位下位関係（「既存の要件間の関係」の一例）の表（図３Ｂ参照）とで表現することが可能である。この場合、要件グラフ記憶部１２は、図３Ａ、図３Ｂに示す表の各項目のデータを要件グラフの情報として記憶する。
【００１８】
なお、要件グラフに既に組み込まれている要件は、以下、「既存の要件」と呼ばれる。また、要件グラフにこれから組み込まれる要件は、以下、「新規の要件」と呼ばれる。新規の要件は、要件グラフに組み込まれた時点で「既存の要件」となる。
【００１９】
ここで、要件グラフは、有向非巡回形式のグラフ（たとえば、図２参照）であると好ましい。有向非巡回形式のグラフは、グラフ構造に循環的（巡回的）な経路が存在しないので、要件が循環論法によって定義されることはない。
【００２０】
無関係情報記憶部１４は、２つ以上の既存の要件同士が無関係である旨、および既存の要件と新規の要件とが無関係である旨のうちの少なくとも一方の旨を明示する情報である無関係情報を記憶する。
【００２１】
要件コンテキスト取得部１６は、要件グラフ記憶部１２に記憶されている要件グラフの中の、ある１つの既存の要件と、当該ある１つの既存の要件から見て上位にある１つ以上の他の既存の要件との集合である「要件コンテキスト」を取得する取得処理を実行する。取得処理において、１つ以上の他の既存の要件は、ある１つの既存の要件から順次上位側に要件グラフを辿ることで抽出される。
【００２２】
関係性算出部１８は、要件グラフ記憶部１２に記憶されている要件グラフを参照するとともに要件コンテキスト取得部１６を制御することにより、ある１つの既存の要件についての要件コンテキストである「第１要件コンテキスト」を取得する。関係性算出部１８は、無関係情報記憶部１４に記憶されている無関係情報を参照するとともに要件コンテキスト取得部１６を制御することにより、上記ある１つの既存の要件に対して無関係な既存の要件についての要件コンテキストである「第２要件コンテキスト」を取得する。関係性算出部１８は、上記ある１つの既存の要件について、第１要件コンテキストと第２要件コンテキストの差集合を算出する。
【００２３】
関係性算出部１８は、新規の要件と、上記ある１つの既存の要件に関する上記差集合との間の関係度合い（たとえば、類似度）を算出する。関係性算出部１８は、要件グラフを構成する全ての既存の要件に対して上記一連の処理（第１および第２要件コンテキストの作成→差集合の算出→関係度合いの算出）を実行する。すなわち、既存の要件それぞれについての新規の要件に対する関係度合いが算出される。関係性算出部１８は、関係度合いが一定以上の既存の要件を抽出する。関係性算出部１８は、抽出した既存の要件を、要件定義支援装置１０のユーザに提示する。
【００２４】
なお、ユーザへの提示とは、たとえば、抽出した既存の要件を、要件定義支援装置１０と人間（ユーザ）との間で情報をやり取りするためのユーザインタフェース（図１において不図示）を構成するディスプレイ等の表示画面上に表示することを指す。
（動作の説明）
図４は、図１に示す要件定義支援装置１０の動作例（要件定義支援方法）を説明するためのフローチャートである。
【００２５】
まず、前提として、要件グラフの情報が要件グラフ記憶部１２に記憶され、無関係情報が無関係情報記憶部１４に記憶されているものとする。
【００２６】
関係性算出部１８は、要件グラフを構成する全ての既存の要件について、各既存の要件と新規の要件との間の関係度合いを算出する（ステップＳ１）。
【００２７】
具体的には、関係性算出部１８は、要件グラフ記憶部１２の記憶されている要件グラフを参照するとともに要件コンテキスト取得部１６を制御することにより、ある１つの既存の要件についての要件コンテキストである第１要件コンテキストを取得する。関係性算出部１８は、無関係情報記憶部１４に記憶されている無関係情報を参照するとともに要件コンテキスト取得部１６を制御することにより、上記ある１つの既存の要件に対して無関係な既存の要件についての要件コンテキストである第２要件コンテキストを取得する。関係性算出部１８は、上記ある１つの既存の要件について、第１要件コンテキストと第２要件コンテキストの差集合を算出する。関係性算出部１８は、新規の要件と、上記ある１つの既存の要件に関する上記差集合との間の関係度合いを算出する。要件間（１つの要件と要件の集合間の場合も含む）の関係度合いは、たとえば、要件間の類似度として計算することができる。
【００２８】
関係性算出部１８は、要件グラフを構成する全ての既存の要件に対して上記処理を実行し、既存の要件それぞれについて、新規の要件に対する関係度合いを算出する。関係性算出部１８は、関係度合いが一定以上の既存の要件を抽出する（ステップＳ２）。関係性算出部１８は、抽出した既存の要件をユーザに提示する。
（効果の説明）
以上説明した第１の実施形態では、ある１つの既存の要件を要件単体ではなく関係する要素の塊（第１要件コンテキスト）として捉え、さらに、ある１つの既存の要件と明らかに無関係な既存の要件についても要素単体ではなく無関係の要素の塊（第２要件コンテキスト）として捉える。さらに、本実施形態では、ある１つの既存の要件の新規の要件に対する関係性の度合いは、第１要件コンテキストと第２要件コンテキストの差集合に基づいて算出される。すなわち、上記関係性の度合いは、第１要件コンテキストから第２要件コンテキストを除外したものに基づいて算出される。従って、ある１つの既存の要件と明確に無関係な既存の要件が除かれ、且つある１つの既存の要件を含む関連する要件全体としての関係度合いを算出することができる。このようにして算出された関係度合いは、単にある１つの既存の要件のみに基づいて算出された関係度合いに較べて信頼性が高くなる。
【００２９】
以上のことから、本実施形態によれば、新規の要件の、要件グラフに対する関係性を高精度に類推することが可能となる。換言すれば、本実施形態によれば、作成過程の要件グラフを、当該要件グラフに追加しようとする新規の要件の関係性の類推に用いることが可能なる。
［第２の実施形態］
（構成の説明）
図５は、本発明の第２の実施形態に係る要件定義支援装置１００の構成例を示すブロック図である。なお、以下で使用する「要件」、「要件定義」、「要件グラフ」、「既存の要件」、および「新規の要件」の意味は、第１の実施形態で説明したとおりである。
【００３０】
要件定義支援装置１００は、要件グラフ記憶部１０１と、ユーザインタフェース１０２と、無関係情報記憶部１０３と、要件グラフ合成部１０４と、要件コンテキスト取得部１０５と、関係性算出部１０６と、を備える。
【００３１】
要件グラフ記憶部１０１は、要件グラフの情報を記憶する。
【００３２】
ユーザインタフェース１０２は、要件定義支援装置１００と人間（ユーザ）との間で情報をやり取りする。ユーザインタフェース１０２は、たとえば、キーボード、マウス、ディスプレイなどのハードウェアと、画面上のメニュー、アイコン、ウィンドウなどのソフトウェアと、を含む。
【００３３】
ユーザインタフェース１０２は、ユーザによる操作に基づき、作成済みの要件グラフに含まれていない新規の要件の入力を受け付け、受け付けた新規の要件を、関係性算出部１０６と要件グラフ合成部１０４とに出力する。
【００３４】
ユーザインタフェース１０２は、ユーザによる無関係情報の入力を受ける。無関係情報とは、要件グラフの２つ以上の既存の要件同士が無関係である旨、および要件グラフの既存の要件と新規の要件とが無関係である旨のうちの少なくとも一方を明示する情報である。ユーザインタフェース１０２は、無関係情報を無関係情報記憶部１０３に出力する。
【００３５】
ユーザインタフェース１０２は、ユーザから、新規の要件を要件グラフにどのように配置するかを指示する配置指示の入力を受け付け、当該配置指示を要件グラフ合成部１０４に出力する。ここで、配置指示とは、新規の要件を要件グラフに合成するために必要な情報、たとえば、新規の要件との関係度合いが一定以上の既存の要件、あるいは要件グラフの任意の既存の要件と新規の要件との間の上位・下位関係等を示す情報である。
【００３６】
ユーザインタフェース１０２は、関係性算出部１０６から受信した、新規の要件との関係度合いが一定以上の既存の要件を画面上に表示する。
【００３７】
無関係情報記憶部１０３は、上述した無関係情報を記憶する。
【００３８】
要件グラフ合成部１０４は、ユーザインタフェース１０２から受信した配置指示に基づいて、新規の要件を要件グラフに合成する。
【００３９】
要件コンテキスト取得部１０５は、要件グラフ記憶部１０１に記憶されている要件グラフの既存の要件のうち、関係性算出部１０６によって指定される、処理対象の既存の要件（「ある１つの既存の要件」の一例）についての要件コンテキストを取得して出力する。
【００４０】
関係性算出部１０６は、ユーザインタフェース１０２から新規の要件を取得し、要件グラフ記憶部１０１から要件グラフを取得し、無関係情報記憶部１０３から無関係情報を取得する。関係性算出部１０６は、要件グラフを参照し、要件グラフを構成する全ての既存の要件それぞれについての要件コンテキストを取得する。また、関係性算出部１０６は、無関係情報を参照することにより、既存の要件それぞれについての無関係な既存の要件を特定し、特定した無関係な既存の要件それぞれについての要件コンテキストを取得する。既存の要件および無関係な既存の要件についての各要件コンテキストは、要件コンテキスト取得部１０５を制御することにより取得される。
【００４１】
関係性算出部１０６は、既存の要件それぞれについての要件コンテキストと、既存の要件それぞれについての無関係な既存の要件の要件コンテキストとに基づいて、新規の要件と各既存の要件との間の関係度合いを算出する。関係性算出部１０６は、関係度合いが一定以上の既存の要件を抽出する。関係性算出部１０６は、関係度合いが一定以上の既存の要件を、ユーザインタフェース１０２を介してユーザに提示する。具体的には、関係度合いが一定以上の既存の要件は、ユーザインタフェース１０２を構成するディスプレイに表示される。
（動作の説明）
図６は、図５に示す要件定義支援装置１００の動作例（要件定義支援方法）を説明するためのフローチャートである。具体的には、本フローチャートは、作成済みの要件グラフに新規の要件を追加する際の全体の処理の流れを説明するものである。
【００４２】
関係性算出部１０６は、ユーザインタフェース１０２から、ユーザにより入力された新規の要件を受信する（ステップＳ１００）。新規の要件は、たとえば、要件の内容を表す文字列として入力される。この場合、ユーザインタフェース１０２は、入力された新規の要件を要件グラフ合成部１０４にも送信する。
【００４３】
新規の要件との関係度合いが一定以上の既存の要件が関係性算出部１０６によって抽出され、抽出された既存の要件がユーザインタフェース１０２によってユーザに提示される（ステップＳ２００）。
【００４４】
詳細には、関係性算出部１０６は、ユーザインタフェース１０２から新規の要件を取得し、要件グラフ記憶部１０１から要件グラフを取得し、無関係情報記憶部１０３から無関係情報を取得する。関係性算出部１０６は、要件グラフを参照し、要件グラフを構成する全ての既存の要件それぞれについての要件コンテキストを取得する。関係性算出部１０６は、無関係情報を参照することにより、既存の要件それぞれについて無関係な既存の要件を特定し、特定した無関係な既存の要件それぞれについての要件コンテキストを取得する。既存の要件および無関係な既存の要件についての各要件コンテキストは、要件コンテキスト取得部１０５を制御することにより取得される。関係性算出部１０６は、既存の要件それぞれについての要件コンテキストと、既存の要件それぞれについての無関係な既存の要件の要件コンテキストとに基づいて、新規の要件と各既存の要件との間の関係度合いを算出する。関係性算出部１０６は、関係度合いが一定以上の既存の要件を抽出する。関係性算出部１０６は、関係度合いが一定以上の既存の要件を、ユーザインタフェース１０２へ送信する。ユーザインタフェース１０２は、受信した既存の要件をユーザに提示する。具体的には、関係度合いが一定以上の既存の要件は、ユーザインタフェース１０２を構成するディスプレイに表示される。
【００４５】
図６の説明に戻り、ユーザインタフェース１０２は、表示された既存の要件に対するユーザからの応答入力が「配置指定」であるか「要件指定」であるかを判定する（ステップＳ３００）。
【００４６】
配置指定は、ユーザがこれ以上の無関係情報の更新が不要であると判断した場合に入力される情報であり、その内容は上述したとおり、新規の要件を要件グラフにどのように配置するかを指示する情報である。
【００４７】
要件指定は、新規の要件との関係度合いが一定以上の既存の要件が妥当なものではなく、無関係情報の更新が必要と判断された場合に入力される情報である。要件指定は、全ての既存の要件のうち、新規の要件と無関係である既存の要件、または他の既存の要件と無関係である既存の要件を示す。
【００４８】
応答入力が要件指定である場合（ステップＳ３００において“要件指定”）、ユーザインタフェース１０２は、要件指定を、無関係情報記憶部１０３へ送信する。無関係情報記憶部１０３は、受信した要件指定に基づいて無関係情報記憶部１０３の情報を更新する（ステップＳ４００）。そして、ステップＳ２００の処理が再度実行される。
【００４９】
一方、応答入力が配置指定である場合（ステップＳ３００において“配置指定”）、ユーザインタフェース１０２は、配置指示を、要件グラフ合成部１０４へ送信する。要件グラフ合成部１０４は、受信した配置指示に基づいて、要件グラフ記憶部１０１に記憶された要件グラフに新規の要件を合成する（ステップＳ５００）。そして、本フローチャートの処理は終了する。
【００５０】
図７は、図６のステップＳ２００の処理（新規の要件との関係度合いが一定以上の既存の要件を抽出する方法）の具体例を示すフローチャートである。以下の説明では、図７以外に図２が適宜参照される。図７において、ステップＳ２０１からステップＳ２０６までの処理は、要件グラフのすべての既存の要件に対して実施される。以下の説明において、処理対象の既存の要件は「既存の要件Ｅ」と表され、新規の要件は「新規の要件Ｎ」と表される。
【００５１】
関係性算出部１０６は、要件コンテキスト取得部１０５を用いて、処理対象の既存の要件Ｅの要件コンテキスト（第１要件コンテキストの一例）を取得する（ステップＳ２０１）。たとえば、図２において、既存の要件Ｅが要件６である場合、要件６の要件コンテキストは点線の範囲で示される。すなわち、要件６の要件コンテキストは、要件１、要件２、要件４、要件６で構成される。
【００５２】
関係性算出部１０６は、無関係情報記憶部１０３を参照することにより、既存の要件Ｅと明確に無関係な既存の要件を特定する。関係性算出部１０６は、要件コンテキスト取得部１０５を用いて、無関係な既存の要件の要件コンテキスト（第２要件コンテキストの一例）を取得する（ステップＳ２０２）。たとえば、図２において、既存の要件Ｅが要件６である場合、要件６と無関係であることが明示された要件３が無関係な既存の要件として特定される。そして、要件３の要件コンテキストは、要件１、要件３で構成される。
【００５３】
関係性算出部１０６は、ステップＳ２０１で得られた既存の要件Ｅの要件コンテキストと、ステップＳ２０２で得られた無関係な既存の要件の要件コンテキストとの差集合を計算する（ステップＳ２０３）。差集合は、たとえば、｛（要件∈既存の要件Ｅのコンテキスト）∧¬（要件∈無関係な既存の要件のコンテキスト）｝で表される。
【００５４】
関係性算出部１０６は、ステップＳ２０３で得た差集合に含まれる要件（要件の数は１つの場合もあり、複数の場合もある）の内容を形態素解析する。形態素解析によって、差集合に含まれる要件に含まれる１つまたは複数の名詞が抽出される。関係性算出部１０６は、各名詞の出現頻度ＶＥ（第１の出現頻度の一例）を計算する（ステップＳ２０４）。ここで、名詞の出現頻度とは、広くＢａｇ−ｏｆ−ｗｏｒｄｓとしても知られるデータ構造の一形態である。つまり、名詞の出現頻度は「どの名詞が」「何回出現したか」の組を各名詞について記憶したものである。具体的には、名詞の出現頻度ＶＥは各単語を次元としたベクトルで表現される。
【００５５】
関係性算出部１０６は、ステップＳ２０４と同様に形態素解析によって、新規の要件Ｎに含まれる１つまたは複数の名詞を抽出する。関係性算出部１０６は、各名詞の出現頻度ＶＮを計算する（ステップＳ２０５）。
【００５６】
関係性算出部１０６は、差集合における名詞の出現頻度ＶＥと、新規の要件における名詞の出現頻度ＶＮ（第２の出現頻度の一例）とのコサイン類似度Ｓ（“関係度合い”の一例）を計算する（ステップＳ２０６）。ここで、コサイン類似度Ｓは、Ｓ＝（ＶＥ・ＶＮ）／（｜ＶＥ｜｜ＶＮ｜）で表される。
【００５７】
要件グラフの全ての既存の要件Ｅについて、ステップＳ２０１からステップＳ２０６を繰り返し、最後の既存の要件Ｅについて、ステップＳ２０６のコサイン類似度の計算が完了した時点で、関係性算出部１０６は、コサイン類似度Ｓが所定の閾値（“一定”の一例）よりも高いという結果が得られる既存の要件Ｅを特定する。関係性算出部１０６は、特定した既存の要件Ｅを、ユーザインタフェース１０２を介してユーザに提示する（ステップＳ２０７）。上記所定の閾値は、たとえば、固定値であってもよいし、所定の条件に応じて値が変化する可変値であってもよい。
【００５８】
もちろん、図７に示した方法はあくまで一例であって、新規の要件Ｎとの関係度合いが一定以上の既存の要件Ｅを抽出する方法は、これに限定されない。
（効果の説明）
以上説明した第２の実施形態では、既存の要件と新規の要件の類似度（関係性の度合いの一例）を求める際に、無関係情報を利用して無関係なことが明白な要件を予め排除している。さらに、本実施形態における類似度の計算に必要なパラメータである既存の要件の出現頻度は、要件単位ではなく要件コンテキストがベースとなっている。従って、本実施形態によれば、新規の要件の、要件グラフに対する関係性を高精度に類推することが可能となる。換言すれば、本実施形態によれば、作成過程の要件グラフを、当該要件グラフに追加しようとする新規の要件の関係性の類推に用いることが可能なる。
【００５９】
さらに、本実施形態の場合、ユーザインタフェース１０２は、類似度が閾値以上の既存の要件をユーザに提示し、その後、応答入力を監視し、応答入力が要件指定である場合、要件指定を、無関係情報記憶部１０３へ送信する。無関係情報記憶部１０３は、受信した要件指定に基づいて無関係情報記憶部１０３の情報を更新する。そして、ステップＳ２００の処理が再度実行される。このような処理の繰り返しにより、ユーザに対してより高精度な情報を提示することでき、さらに、無関係情報が逐次更新されるので一層関係性の精度を向上させることができるといった好循環が生まれる。すなわち、このような処理の繰り返しにより、新規の要件の要件グラフに対する関係性の計算の正確性をさらに高めること可能となる。
［第３の実施形態］
図８は、図１に示す要件定義支援装置１０、または図５に示す要件定義支援装置１００をコンピュータによって実現した例であり、本発明の第３の実施形態に係る要件定義支援装置２００の構成例を示すブロック図である。要件定義支援装置２００は、記憶装置２０２と、プロセッサ等を含む演算装置２０４と、を備える。記憶装置２０２は、コンピュータ読み取り可能な記録媒体であり、コンピュータプログラム３００を記憶する。コンピュータプログラム３００は、例えば、図４に示される処理や図６に示される処理を演算装置２０４に実行させるためのプログラムである。
【００６０】
以上説明した第３の実施形態によれば、第１および第２の実施形態と同様に、新規の要件の、要件グラフに対する関係性を高精度に類推することが可能となる。
【００６１】
なお、演算装置２０４の例としては、例えば、プログラムを読み取り実行する、１つまたはそれ以上のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＣＰＵが実行する命令を記憶するメモリを挙げることができる。また、コンピュータ読み取り可能な記録媒体は、例えば、非一時的な記憶装置である。非一時的な記憶装置の例としては、例えば、光ディスク、磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、不揮発性半導体メモリ等の可搬媒体、コンピュータシステムに内蔵されるハードディスクを挙げることができる。また、コンピュータ読み取り可能な記録媒体は、一時的な記憶装置であってもよい。一時的な記憶装置の例としては、例えば、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の信号線、あるいは、コンピュータシステム内部の揮発性メモリを挙げることができる。
【００６２】
以上、各実施形態を用いて本発明を説明したが、本発明の技術的範囲は、上記各実施形態の記載に限定されない。上記各実施形態に多様な変更又は改良を加えることが可能であることは当業者にとって自明である。従って、そのような変更又は改良を加えた形態もまた本発明の技術的範囲に含まれることは説明するまでもない。また、以上説明した各実施形態において使用される、数値や各構成の名称等は例示的なものであり適宜変更可能である。
【符号の説明】
【００６３】
１０  要件定義支援装置
１２  要件グラフ記憶部
１４  無関係情報記憶部
１６  要件コンテキスト取得部
１８  関係性算出部
１００  要件定義支援装置
１０１  要件グラフ記憶部
１０２  ユーザインタフェース
１０３  無関係情報記憶部
１０４  要件グラフ合成部
１０５  要件コンテキスト取得部
１０６  関係性算出部
２００  要件定義支援装置
２０２  記憶装置
２０４  演算装置
３００  コンピュータプログラム
【図１】
2019028881.tif 000003
【図２】
2019028881.tif 000004
【図３Ａ】
2019028881.tif 000005
【図３Ｂ】
2019028881.tif 000006
【図４】
2019028881.tif 000007
【図５】
2019028881.tif 000008
【図６】
2019028881.tif 000009
【図７】
2019028881.tif 000010
【図８】
2019028881.tif 000011