(57)【要約】【課題】過去の要件を含めた成果物のデータから、開発者の知識や経験に依存することなく関連する要件の情報を抽出し、要件の漏れや矛盾を削減する装置を提供する。【解決手段】要件検出装置１００は、要件データを入力する要件入力部１と、要件情報データベース９を検索し、要件データに類似する直接類似要件を検出する直接類似要件検出部２と、複数のトレース情報を格納するトレース情報データベース１０を検索することにより、直接類似要件検出部２が検出した直接類似要件に関連するトレース情報を予め定められた検出規則に基づいて検出し、検出されたトレース情報に基づいてトレースアビリティ情報を構築する関連情報検索部５と、関連情報検索部５が構築したトレースアビリティ情報を用いることにより、直接類似要件検出部２が検出した間接類似要件に関連する要件である間接類似要件を検出する間接類似要件検出部３とを備えた。【選択図】図１
2014164385.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェ開発プロセスの要件定義に関する要件を示す要件データを入力データとして入力する要件入力部と、
それぞれが、過去に開発されたソフトウェアの要件に関するレコードであって、それぞれが、識別子である要件ＩＤが付加されたレコードである複数の要件レコードを要件情報として格納する要件情報データベースを検索し、前記要件入力部が入力した前記要件データを参照することにより入力した前記要件データに対応する要件レコードを入力データ対応要件として前記要件情報データベースから検出する入力データ対応要件検出部と、
それぞれが、過去に開発されたソフトウェアの開発過程で得られた二つの成果物どうしの関係を、一方の成果物をトレース元とし他方の成果物をトレース先とするトレース関係を定義する複数のトレース情報であって、少なくとも２つのトレース情報は、前記要件ＩＤを有する複数のトレース情報を格納するトレース情報データベースを検索することによって、前記入力データ対応要件検出部が検出した入力データ対応要件に関連するトレース情報を予め定められた検出規則に基づいて検出し、検出されたトレース情報のいずれかに前記要件ＩＤが含まれるときには、含まれる前記要件ＩＤを、この要件ＩＤを含むトレース情報の成果物と結合すると共に、検出されたそれぞれのトレース情報に含まれる成果物どうしを前記トレース関係に従って結合することで、成果物どうし及び成果物と前記要件ＩＤとが結合したトレーサビリティ情報を構築する構築部と、
前記構築部が構築した前記トレーサビリティ情報を用いることにより、前記入力データ対応要件検出部が検出した入力データ対応要件に関連する関連要件の前記要件ＩＤを検出する関連要件検出部と
を備えたことを特徴とする要件検出装置。
【請求項２】
前記構築部は、
前記トレース情報データベースを検索することによって、前記関連要件検出部が検出した関連要件に関連するトレース情報を前記予め定められた検出規則に基づいて検出し、検出されたトレース情報のいずれかに前記要件ＩＤが含まれる場合には、含まれる前記要件ＩＤを、この要件ＩＤを含むトレース情報の成果物と結合すると共に、検出されたそれぞれのトレース情報に含まれる成果物どうしを前記トレース関係に従って結合することで、成果物どうし及び成果物と前記要件ＩＤとが結合したトレーサビリティ情報を再び構築し、
前記関連要件検出部は、
前記構築部が再び構築した前記トレーサビリティ情報を用いることにより、自身が検出した前記関連要件に関連する第２の関連要件の前記要件ＩＤを検出することを特徴とする請求項１記載の要件検出装置。
【請求項３】
前記要件検出装置は、さらに、
前記関連要件検出部が前記入力データ対応要件に関連する前記関連要件の前記要件ＩＤを検出したときに、この要件ＩＤの要件レコードが要件レコードであるサブ要件を有するかどうかを判定し、判定の結果、前記サブ要件を有する場合には前記要件情報データベースから前記サブ要件の前記要件レコードを検出する関連サブ要件検出部を備え、
前記構築部は、
前記トレース情報データベースを検索することによって、前記関連要件検出部が検出した関連要件と前記関連サブ要件検出部が検出した前記サブ要件とに関連するトレース情報を前記予め定められた検出規則に基づいて検出することを特徴とする請求項２記載の要件検出装置。
【請求項４】
前記入力データ対応要件検出部は、
前記要件情報データベースを検索し、前記要件入力部が入力した前記要件データを参照することにより前記要件データに対応する要件レコードを直接類似要件として前記要件情報データベースから検出する直接類似要件検出部と、
前記直接類似要件検出部が検出した前記直接類似要件が、前記要件レコードであるサブ要件を有するかどうかを判定し、判定の結果、前記サブ要件を有する場合には前記要件情報データベースから前記サブ要件の前記要件レコードを検出する直接サブ要件検出部と
を備え、
前記入力データ対応要件検出部は、
前記直接類似要件検出部が検出した直接類似要件と、前記直接サブ要件検出部が検出した前記サブ要件とを、前記入力データ対応要件として前記要件情報データベースから検出することを特徴とする請求項１〜３のいずれかに記載の要件検出装置。
【請求項５】
前記要件検出装置は、さらに、
前記入力データ対応要件検出部と、前記関連要件検出部とが検出した要件全体の類似の度合いを評価する要件評価部
を備えたことを特徴とする請求項１〜４のいずれかに記載の要件検出装置。
【請求項６】
前記要件検出装置は、さらに、
前記入力データ対応要件検出部と、前記関連要件検出部とが検出した個々の要件について、前記要件入力部が入力する要件データに類似する度合いを示す類似度を算出する類似度算出部を備えたことを特徴とする請求項１〜５のいずれかに記載の要件検出装置。
【請求項７】
コンピュータを、
ソフトウェ開発プロセスの要件定義に関する要件を示す要件データを入力データとして入力する要件入力部、
それぞれが、過去に開発されたソフトウェアの要件に関するレコードであって、それぞれが、識別子である要件ＩＤが付加されたレコードである複数の要件レコードを要件情報として格納する要件情報データベースを検索し、前記要件入力部が入力した前記要件データを参照することにより入力した前記要件データに対応する要件レコードを入力データ対応要件として前記要件情報データベースから検出する入力データ対応要件検出部、
それぞれが、過去に開発されたソフトウェアの開発過程で得られた二つの成果物どうしの関係を、一方の成果物をトレース元とし他方の成果物をトレース先とするトレース関係を定義する複数のトレース情報であって、少なくとも２つのトレース情報は、前記要件ＩＤを有する複数のトレース情報を格納するトレース情報データベースを検索することによって、前記入力データ対応要件検出部が検出した入力データ対応要件に関連するトレース情報を予め定められた検出規則に基づいて検出し、検出されたトレース情報のいずれかに前記要件ＩＤが含まれるときには、含まれる前記要件ＩＤを、この要件ＩＤを含むトレース情報の成果物と結合すると共に、検出されたそれぞれのトレース情報に含まれる成果物どうしを前記トレース関係に従って結合することで、成果物どうし及び成果物と前記要件ＩＤとが結合したトレーサビリティ情報を構築する構築部、
前記構築部が構築した前記トレーサビリティ情報を用いることにより、前記入力データ対応要件検出部が検出した入力データ対応要件に関連する関連要件の前記要件ＩＤを検出する関連要件検出部、
として機能させるための要件検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ソフトウェア開発の要件定義プロセスにおける、ソフトウェアの開発する要件獲得に係わる。この発明は、ソフトウェアへの要求から開発項目である要件の決定時の漏れや矛盾を開発者に気付かせ、ソフトウェアの品質向上を支援するソフトウェアの要件の定義、決定を支援する装置、プログラムに関する。
【背景技術】
【０００２】
ソフトウェアの開発では、顧客の個々の要求から実施すべき項目である要件を定義する。その要件から、仕様作成、プログラミング、試験を行い、顧客が求めるソフトウェアを開発する。このような作業において、顧客要求を把握しきれずに定義の漏れや、複数の要求から定義した要件が矛盾を起こすことが多い。この場合の多くは、ソフトウェアの後工程で発覚し、設計から作業しなおすことになり、ソフトウェアの品質を低下させ、多大な作業ロスを発生する。
【０００３】
近年は、ソフトウェアの品質向上、作業効率向上のため、ソフトウェア開発における要件定義や要求分析などの上流工程の改善が注目されている。特に、要件定義では開発者の要件定義の経験やソフトウェアを適用する分野の知識が、要件定義の作業、さらには開発プロジェクトの成否に大きく影響する。また、ソフトウェア開発において、多くは既存ソフトウェアの機能変更や追加などによる派生開発が多くを占める。この場合は、流用しようとするソフトウェアには、要件定義書、設計書やソースコードなどの開発の成果物がすでに存在している。このような状況でのソフトウェア開発では、顧客要求と成果物の内容を把握して、実施項目の選定と実施方法の検討を行う必要があり、開発担当者の負担が大きくなる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−４００８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、ソフトウェアの機能仕様について分類を行い、類似および階層化を行うことで機能仕様を整理し、仕様に関連する項目をもれなくユーザに提供することを実現する。また特許文献１では、顧客要求の分析を行い、機能名から過去のデータから機能仕様と仕様項目を検索する。ユーザは指定した機能名の情報を漏れなく得ることが可能であるが、機能名から関連した情報しか得ることができず、他の機能の変更の場合の影響を考慮した情報提供は不可能であり、開発時に矛盾を生じる可能性がある。また、ソフトウェアを開発する際、データベースや表示画面などの機能名やその実現手法の機能要求（機能仕様）のみでは、性能や保守などの非機能要求も重要であるが、機能名によるデータ検索では、対応は困難である。
【０００６】
そこで、本発明では、過去の要件を含めた成果物のデータから、新たな要件に対して関連する情報を提供することで、開発者の知識や経験に依存することなく、関連する要件の情報を抽出し、要件の漏れや矛盾を削減する装置の提供を目的とする。
【課題を解決するための手段】
【０００７】
この発明の要件検出装置は、
ソフトウェ開発プロセスの要件定義に関する要件を示す要件データを入力データとして入力する要件入力部と、
それぞれが、過去に開発されたソフトウェアの要件に関するレコードであって、それぞれが、識別子である要件ＩＤが付加されたレコードである複数の要件レコードを要件情報として格納する要件情報データベースを検索し、前記要件入力部が入力した前記要件データを参照することにより入力した前記要件データに対応する要件レコードを入力データ対応要件として前記要件情報データベースから検出する入力データ対応要件検出部と、
それぞれが、過去に開発されたソフトウェアの開発過程で得られた二つの成果物どうしの関係を、一方の成果物をトレース元とし他方の成果物をトレース先とするトレース関係を定義する複数のトレース情報であって、少なくとも２つのトレース情報は、前記要件ＩＤを有する複数のトレース情報を格納するトレース情報データベースを検索することによって、前記入力データ対応要件検出部が検出した入力データ対応要件に関連するトレース情報を予め定められた検出規則に基づいて検出し、検出されたトレース情報のいずれかに前記要件ＩＤが含まれるときには、含まれる前記要件ＩＤを、この要件ＩＤを含むトレース情報の成果物と結合すると共に、検出されたそれぞれのトレース情報に含まれる成果物どうしを前記トレース関係に従って結合することで、成果物どうし及び成果物と前記要件ＩＤとが結合したトレーサビリティ情報を構築する構築部と、
前記構築部が構築した前記トレーサビリティ情報を用いることにより、前記入力データ対応要件検出部が検出した入力データ対応要件に関連する関連要件の前記要件ＩＤを検出する関連要件検出部と
を備えたことを特徴とする。
【発明の効果】
【０００８】
この発明の要件検出装置は、過去の要件を含めた成果物のデータから、新たな要件に対して関連する情報を提供するので、開発者の知識や経験に依存することなく、関連する要件の情報を抽出し、要件の漏れや矛盾を削減できる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１の要件検出装置１００のブロック図。
【図２】実施の形態１の要件検出装置１００の処理フローを示す図。
【図３】実施の形態１の要件検出装置１００が入力する要件データ３００を示す図。
【図４】実施の形態１の規定順序４００を示す図。
【図５】実施の形態１の直接類似要件の検索結果５００を示す図。
【図６】実施の形態１の要件／サブ要件定義テーブル６００を示す図。
【図７】実施の形態１の直接類似要件（広義）の一覧表７００を示す図。
【図８】実施の形態１のトレース情報テーブル８００を示す図。
【図９】実施の形態１の関連情報検索部５がトレーサビリティ情報を構築するフローを示す図。
【図１０】図８のトレース情報テーブル８００を簡略化した図。
【図１１】実施の形態１のトレーサビリティ情報の構築を説明する図。
【図１２】実施の形態１の構築されたトレーサビリティ情報を示す図。
【図１３】実施の形態１の木構造のトレーサビリティ情報を示す図。
【図１４】実施の形態１の間接類似要件の検出を説明するための木構造のトレーサビリティ情報を示す図。
【図１５】実施の形態１の間接類似要件の検出を説明するための木構造のトレーサビリティ情報を示す別の図。
【図１６】実施の形態１の分析結果１４０を示す図。
【図１７】実施の形態２の要件検出装置１００のブロック図。
【図１８】実施の形態２の要件検出装置１００の処理フローを示す図。
【図１９】実施の形態２の類似度の算出式を示す図。
【図２０】実施の形態２の関連性評価結果を示す図。
【図２１】実施の形態３の要件検出装置１００の外観の例を示す図。
【図２２】実施の形態３の要件検出装置１００のハードウェア構成を示す図。
【発明を実施するための形態】
【００１０】
実施の形態１．
以下の実施の形態で使用される以下の用語を定義しておく。
（１）「直接類似要件」とは、後述の直接類似要件検出部２によって検出される要件である。また、後述の詳細要件検出部４は直接類似要件検出部２によって検出された直接類似要件のサブ要件を検出するが（図２のＳ００３）、このサブ要件も直接類似要件である。つまり直接類似要件検出部２によって検出された直接類似要件は狭義の「直接類似要件」であり、詳細要件検出部４によって検出された「直接類似要件（狭義）のサブ要件」をも含めたものが広義の「直接類似要件」である。
（２）「間接類似要件」とは、関連情報検索部５によって構築された後述のトレーサビリティ情報から、間接類似要件検出部３によって検出される要件である。なお、詳細要件検出部４は間接類似要件検出部３によって検出された間接類似要件のサブ要件を検出するが（図２のＳ００７）、このサブ要件も間接類似要件である。つまり間接類似要件検出部３によって検出された間接類似要件は狭義の「間接類似要件」であり、詳細要件検出部４によって検出された「間接類似要件（狭義）のサブ要件」をも含めたものが広義の「間接類似要件」である。関連情報検索部５、広義の直接類似要件を用いてトレーサビリティ情報を構築し（図２のＳ００４）、また、広義の間接類似要件を用いてトレーサビリティ情報を構築する（図２のＳ００８）。
【００１１】
図１は、本実施の形態１に係る情報処理装置である要件検出装置１００の構成例を示す。本実施の形態１に係る要件検出装置１００は、ソフトウェア開発における類似要件とその関連する成果物を検出する。要件検出装置１００は図１に示す以下の構成要素を備える。
【００１２】
（１）要件入力部１は、ソフトウェア開発プロセスの要件定義の際に作成した要件を要件検出装置１００に入力する。要件はあらかじめ指定した項目毎に入力を行う。
（２）直接類似要件検出部２および間接類似要件検出部３（関連要件検出部）は、要件入力部１が入力した要件情報（要件データ）から類似する要件を各データベースの情報から検索する。直接類似要件とは、要件の項目毎の内容に同じまたは類似している記述がある要件である。間接類似要件とは、後述するトレーサビリティ情報のトレース結果を遡ることで辿りつくことが可能な要件である。
（３）詳細要件検出部４（直接サブ要件検出部、関連サブ要件検出部）は、直接および間接類似要件の各々について、詳細化されたサブ要件をデータベースから検出する。なお、直接類似要件検出部２と詳細要件検出部４とで入力データ対応要件検出部を構成する。
（４）関連情報検索部５（構築部）は、データベース中のトレースの情報を検索し、トレーサビリティ情報を構築する。また、トレーサビリティ情報から関連する成果物の情報について、データベースを検索し、その情報を取得する。
（５）要件評価部６は、類似要件の項目の記述内容の類似性を分析し、その結果を作成する。
（６）表示情報作成部７は、先に検索した類似要件、サブ要件、関連する成果物情報、類似性分析結果を、要件の記述項目の規定順序に従い要件および関連情報として整理する。
（７）類似要件表示部８は、表示情報作成部７が作成した類似要件の情報を提示する。
（８）要件情報データベース９は、過去に開発したソフトウェアに関する要件の情報を保存する。要件は、要件を定義するために必要な複数の項目から構成され、そのデータをデータベースのレコード情報（要件レコード）として登録する。
（９）トレース情報データベース１０は、成果物間のトレース情報を保存する。トレース情報は、関連する相互の開発成果物名およびページや行などの記述箇所を特定できる情報、または要件や設計書等の開発成果物とプロジェクト管理に作成した工程表、課題一覧表、障害管理表などの管理成果物の関連する記述箇所の情報から構成される。
（１０）設計情報データベース１１は、過去のソフトウェア開発で作成した要件定義書や設計書などの過去のドキュメントのファイルを保存する。
（１１）プログラムデータベース１２は、過去のソフトウェア開発で作成したプログラムファイルを保存する。
（１２）試験情報データベース１３は、過去のソフトウェア開発で実施した単体試験、結合試験、およびシステム試験など開発したソフトウェアに実施した試験内容および試験結果のドキュメントファイルおよび試験データを保存する。
（１３）タスク情報データベース１４は、過去のソフトウェア開発のプロジェクト管理に作成した工程表やＷＢＳ（Ｗｏｒｋ  Ｂｒａｋｅ  ｄｏｗｎ  Ｓｔｒｕｃｔｕｒｅ）のワークパッケージ情報など開発作業に関連する管理成果物のファイルまたはデータを保存する。保存データには、開発成果物により情報が検索できるようデータ項目を定義する。
（１４）課題情報データベース１５は、過去のソフトウェア開発で発生、対処した課題やリスクに関するファイルやデータを保存する。保存データには、開発成果物により情報が検索できるようデータ項目を定義する。
（１５）障害情報データベース１６は、過去のソフトウェア開発で発生した障害に関連する情報を保存する。保存データには、開発成果物により情報が検索できるようデータ項目を定義する。
【００１３】
（要件入力部１）
図２は、図１の構成における要件検出装置１００の処理フロー図である。開発担当者は、要件入力部１に対して作成した要件の情報（要件データ）を入力する。要件入力部１に入力する情報を「要件データ」と呼び、要件情報データベース９に格納される要件を「要件情報」（複数の要件レコードからなる）と呼んで区別する。入力データである要件データは複数の項目により定義する（Ｓ００１）。要件データは、本機能（要件抽出装置の機能）を実装したシステムの入力画面もしくはデータファイルにより入力する。
【００１４】
図３は、入力する要件データ３００の一例である。要件データ３００はソフトウェア名称３０１、機能要件３０２、非機能要件３０３を大分類として、機能要件３０２および非機能要件３０３ではさらに詳細に分類される。図３では、機能要件３０２は機能、処理、内容のように分類され、非機能要件３０３は、可用性、セキュリティ、性能のように分類される。要件情報データベース９も含め、要件はすべて同じ項目で定義され、データを保存する。
【００１５】
（直接類似要件検出部２）
直接類似要件検出部２は、要件入力部１に入力された要件データ３００の項目をキーに、直接類似要件（入力データ対応要件）を検索する（Ｓ００２）。直接類似要件の検索は、要件の項目の規定順序に従い要件の検索を行う。
図４は、規定順序４００の定義の一例である。規定順序４００は、直接類似要件検出部２が保有するものとする。ここでは「ソフトウェア名称の一致かつ機能の一致」が最も優先度が高く、順に「ソフトウェア名称の一致かつ処理の一致」に要件情報データベース９を検索する。規定順序４００は要件検出装置１００を活用する組織により定義する。直接類似要件検出部２は、規定順序４００の順序に従って、項目に一致した要件を直接類似要件として要件情報データベース９を検索し、その結果を取得する。
図５は、直接類似要件検出部２が要件情報データベース９から取得した直接類似要件の検索結果５００を示す。要件情報データベース９に保存される「要件」には、ソフトウェア内で一意になる要件ＩＤを定義し、要件の情報を管理する。図５では「ＳＲ−０００１」が要件ＩＤとなる。
【００１６】
（詳細要件検出部４）
詳細要件検出部４は、直接類似要件検出部２が検索した直接類似要件の、サブ要件（入力データ対応要件）を検索する（Ｓ００３）。
図６は、要件とサブ要件との関連を定義した要件／サブ要件定義テーブル６００を示す。要件／サブ要件定義テーブル６００は、要件情報データベース９に格納される。要件／サブ要件定義テーブル６００では、関連ＩＤに対して要件ＩＤとそのサブ要件ＩＤとが関連付けられている。詳細要件検出部４は、検索したサブ要件にサブ要件が対応付けられているときには、更に、対応付けられているサブ要件の検索を繰り返し、サブ要件が検索されなくなるまで処理を実施し、直接類似要件の一覧を作成する。
図７は、直接類似要件（広義）の一覧表７００を示す。各行（各レコード）が、直接類似要件である。つまり、詳細要件検出部４が検索したサブ要件も直接類似要件である。実施の形態１の冒頭で述べたように、直接類似要件検出部２が検出するのは狭義の直接類似要件である。広義の直接類似要件は、直接類似要件検出部２が検出した直接類似要件と詳細要件検出部４が検出したサブ要件との全体である。図７に示すように、検索結果である一覧表７００は要件ＩＤで整理され、サブ要件に対しては、その親となる要件の要件ＩＤを付与する。
【００１７】
（関連情報検索部５によるトレーサビリティ情報の構築）
直接類似要件（狭義）と、そのサブ要件の検索後、関連情報検索部５は各直接類似要件（広義）についてトレーサビリティ情報を検索する。具体的には、関連情報検索部５は、トレース情報データベース１０からトレース情報（図８のそれぞれの行）を、予め定められた検出規則によって検出し、検出したトレース情報から、トレーサビリティ情報を構築する（Ｓ００４）。
【００１８】
図８は、トレース情報データベース１０のトレース情報テーブル８００である。トレース情報テーブル８００の各行がトレース情報である。トレース情報はトレース情報を一意に特定するためのトレースＩＤ８０１、関連する要件ＩＤ８０２、トレース元の情報８０３、トレース先の情報８０４で構成される。このようにトレース情報は、トレース元とトレース先との対応関係がトレース関係として定義されている。なお少なくとも２つのトレース情報は、要件ＩＤを有する。
【００１９】
要件ＩＤ以外は必須の情報である。要件ＩＤはトレース元が要件定義作業での成果物の場合を必須とし、それ以外は任意とする。その理由として、要件定義以降の作業では複数の要件を元にした作業のトレースが想定されるためである。
【００２０】
トレース情報には、開発成果物間の関連だけではなく、工程表やＷＢＳの各作業項目またはワークパッケージなど管理成果物にも関連付けを可能とする。また、トレース元とトレース先との関連は、異なるソフトウェアを関連付けることを可能とする。
【００２１】
図９は、図８を用いて、関連情報検索部５が図７の直接類似要件に対するトレーサビリティ情報を構築する動作示すフロー（予め定められた検出規則の一例）である。従って図９の動作の主語は関連情報検索部５である。上記のように要件ＩＤは必須ではないが、図９で述べる例では要件ＩＤを使用する。
図７〜図１１を参照して関連情報検索部５がトレーサビリティ情報を構築する場合を説明する。
図１０は、図８のトレース情報テーブル８００を簡略化した図である。
図１１は、トレーサビリティ情報の構築を説明する図である。
【００２２】
（Ｓ１０１）
関連情報検索部５は、図７における直接類似要件（広義）の要件ＩＤを用いて、図８からトレース情報を検索する（Ｓ１０１）。図８の場合、要件ＩＤがＳＲ−０００１の１行目、６行目がヒットする。
【００２３】
（Ｓ１０２）
Ｓ１０１で検索したトレース情報（図８の１行目、６行目のレコード）の有するトレース元情報８０３を用いて、図８の他のトレース情報を検索する（Ｓ１０２）。検索に用いるトレース元情報（図８の１行目、６行目のレコードのトレース元情報）と、トレース元情報もしくはトレース先情報を同じくするトレース情報を検索して抽出する。この場合、抽出結果は図１１のＳ１０２のようになる。図１１のＬ１は、図８の１行目のレコードを示す。他も同様であり、Ｌｉは図８のｉ行目のレコードを示す。例えば、Ｌ１に関してトレース元情報は図１０のように「Ａ」である。これを持つトレース情報は、Ｌ６，Ｌ７である。Ｌ６に関しては、同様にしてＬ１，Ｌ７が抽出される。
【００２４】
（Ｓ１０３）
次にＳ１０１とＳ１０２とで検索したトレース情報（Ｌ１，Ｌ６，Ｌ７）の「トレース先情報」を用いて、トレース情報テーブル８００を対象に、トレース情報を検索する（Ｓ１０３）。検索に用いる「トレース先情報」が、トレース元情報もしくはトレース先情報と同じトレース情報（レコード）を検索し、抽出する。この場合、抽出結果は、図１１のＳ１０３のようになる。
【００２５】
（Ｓ１０４）
Ｓ１０２とＳ１０３を行い、新規のトレース情を抽出した場合（Ｓ１０３でＬ２を新規に検出）、抽出したトレース情報（レコード）について再度、検索を実施する（Ｓ１０４）。
【００２６】
（２回目のＳ１０２）
２回目のＳ１０２の抽出結果は、図１１の「２回目のＳ１０２」のようになる。
２回目のＳ１０３の抽出結果は、図１１の「２回目のＳ１０３」のようになる。
３回目のＳ１０２の抽出結果は、図１１の「３回目のＳ１０２」のようになる。
３回目のＳ１０３の抽出結果は、図１１の「３回目のＳ１０３」のようになる。
４回目のＳ１０２の抽出結果は、図１１の「４回目のＳ１０２」のようになる。
４回目のＳ１０３の抽出結果は、図１１の「４回目のＳ１０３」のようになる。
結局この例では、図８のトレース情報からＬ１〜Ｌ７（１行目〜７行目）のトレース情報が抽出される。
【００２７】
（Ｓ１０５）
新規トレース情報の抽出がない場合（Ｓ１０４のＮＯ）、残りの直接類似要件について、同様に処理を行う（Ｓ１０５）。
【００２８】
（Ｓ１０６）
図８のトレース情報の検出が完了した後、関連情報検索部５はトレース情報の結合を行い、トレーサビリティ情報を構築する（Ｓ１０６）。構築は各トレース情報のトレース元、トレース先を中継ポイントとしてトレースＩＤをノードとして結合する。
【００２９】
図１２は、図８のトレース情報を用いたトレーサビリティ情報の構築の一例である。枠どうしを結ぶ線がトレースＩＤを示す。検索したトレース情報は、木構造を構成する。
【００３０】
（間接類似要件検出部３）
次に、間接類似要件検出部３は、トレーサビリティ情報から間接類似要件（関連要件）の検出を行う（Ｓ００５）。検出には関連情報検索部５で作成した木構造のトレーサビリティ情報を用いる。図１２に示した通り、トレーサビリティ情報は通常、要件（実体は要件ＩＤである。後述の図１３、図１４の「要件」も実体は要件ＩＤである）を起点としてソフトウェアの開発プロセスの上流プロセスから下流プロセスに進むに従い、詳細化がおこなわれ、同じプロセス内の成果物に関連数が増加する。
【００３１】
図１３は、トレーサビリティ情報の木構造の一例である。ここでは、要件定義、方式設計とソフトウェアの開発プロセスが進むとともに成果物（ここでは成果物の記述内容を示す）が詳細に記述され、トレースの数が増える。間接類似要件検出部３は、このような複雑な木構造のトレーサビリティ情報を上流に遡ることで関連する間接類似要件を検出する。
【００３２】
図１４は、間接類似要件の検出例を示す図である。図１４において要件１をトレースした結果、実装作業の成果物で関連するメソッドはメソッド１からメソッド５である。同様に要件２ではメソッド５とメソッド６になる。この場合、メソッド５が要件１と要件２からトレースがとられているため、要件１と要件２は間接類似の関係にあると考え、要件２は要件１の間接類似要件として検出する。
【００３３】
図１５は、ソフトウェアの試験プロセスを含めたトレーサビリティ情報から間接類似要件の検出例を示す図である。図１５において要件２をトレースした結果、試験項目Ｂは、機能２と機能１の共通の試験項目である。この場合、機能１から遡り要件１と要件２は間接類似の関係であり、要件１は要件２の間接類似要件として検出する。図１４と図１５のようにトレーサビリティ情報を遡ることで直接類似要件の間接類似要件をすべて検出する。
【００３４】
（詳細要件検出部４）
詳細要件検出部４は、間接類似要件の検出結果、直接類似要件以外の要件の検出を確認する（Ｓ００６）。間接類似要件を検出した場合、直接類似要件の場合と同様に、詳細要件検出部４は検索した間接類似要件のサブ要件を検索する（Ｓ００７）。詳細要件検出部４は、検索したサブ要件について更にサブ要件の検索を繰り返し、サブ要件が検索されなくなるまで処理を実施し、直接類似要件の一覧を作成する。
【００３５】
（関連情報検索部５）
間接類似要件と、そのサブ要件の検索後、関連情報検索部５は各間接類似要件についてトレーサビリティ情報を検索する。直接類似要件のトレーサビリティ情報の構築と同様に、関連情報検索部５は、トレース情報データベース１０からトレース情報を予め定められた検出規則によって検出し、トレース情報から、トレーサビリティ情報を再び構築する（Ｓ００８）。
【００３６】
（間接類似要件検出部３）
トレーサビリティ情報を構築後、その情報から間接類似要件検出部３は間接類似要件（第２の関連要件）の検出を行う（Ｓ００５）。
【００３７】
（要件評価部６）
検出処理を実施後、新たな間接類似要件の検出を確認し（Ｓ００６）、間接類似要件が無い場合、要件評価部６は検出した類似要件の整理を行う（Ｓ００９）。図７に示すように、直接および間接類似要件は要件ＩＤに従い、検出した直接または間接類似要件との関連したサブ要件のセットで一覧表を作成する。要件評価部６は、作成した一覧表から、項目単位において記述内容の類似状況の分析を行う（Ｓ０１０）。
【００３８】
図１６は、要件評価部６で作成した直接および間接類似要件の一覧表から類似状況を分析した一例である。類似状況分析では、要件の内容を示す項目について、一致、類似、類似（相反）を判定する。図１６では、機能要件と非機能要件を分析対象として一覧表すべての要件について分析を行う。図１６では、ＳＲ−００１１とＳＲ−００１２の機能要件の機能が一致、ＳＲ−００１１とＳＲ−００１２の機能要件の内容が類似（相反）、ＳＲ−０００１とＳＲ−０００２の非機能要件の性能が類似と判断する。
【００３９】
（表示情報作成部７）
表示情報作成部７は、直接および間接類似要件の一覧表と類似状況の分析結果から、類似要件表示部８で表示できるデータを作成し、開発担当者が入力した要件に関する類似要件を提供する（Ｓ０１１）。要件の情報提示では、開発担当者が得たい情報を選択できるように、表示システムまたは表計算ソフトウェアなどを利用する。選択には、直接類似要件や間接類似要件、検索やトレーサビリティ情報で検出した要件のみ、サブ要件を含める、または、検索した類似要件から内容に一致または類似した内容のある要件など、開発担当者の指示により表示情報作成部７は表示データを作成し、類似要件表示部８に表示する。
【００４０】
以上のように、過去の要件情報とトレーサビリティ情報から類似する要件を検出し、その記述内容の類似性を評価することで、要件定義作業の際に開発担当者が把握しきれない情報を得ることが可能になる。
【００４１】
実施の形態２．
実施の形態１では、直接類似要件、間接類似要件、そして各々のサブ要件すべてを関連する要件として開発担当者に提示した。本実施の形態では、関連した要件に関連性の評価を行い、開発担当者へ関連性の高い類似要件の情報を提供する。
図１７は、検索した類似要件の評価行う検出要件評価部１７を有した、本実施の形態２の要件検出装置１００（情報処理装置）の構成を示す。
実施の形態２の要件検出装置１００は、実施の形態１の要件検出装置１００（図１）に対して、検出要件評価部１７（類似度算出部）を追加した構成である。
【００４２】
図１８は、検索した類似要件の評価行う処理を含めた図１７の要件検出装置１００の処理フローである。要件検出装置１００では、実施の形態１と同様に、開発担当者が作成、入力した要件について直接類似要件、間接類似要件、そして関連するサブ要件を検索し、内容の類似状況の分析を行う（Ｓ００１〜Ｓ０１０）。検出要件評価部１７は、検索した結果である要件情報および類似状況評価結果から検索した要件の関連性を評価する（Ｓ２０１）。検出要件評価部１７は、入力された要件に対して、各要件の項目のグループ化とグループ内および要件の類似度を算出し、関連性の評価を行う。
【００４３】
図１９は、各要件の類似度の算出式である。類似度は、ソフトウェア名称の一致または不一致、機能要件の類似数の比率、非機能要件の類似数の比率の総和とする。ソフトウェア名称の一致は、一致の場合は１、類似の場合は０．５、それ以外は０とする。ソフトウェア名称の類似の評価は、単語単位で一部の違う場合を類似とし、その度合いは運用時に設定する。機能及び非機能要件の類似個数の算出は、要件評価部６で類似と判定した個数とする。
【００４４】
図２０は、検出した類似要件の関連性評価を実施の一例である。各グループの類似から検出した要件の類似度計算は図中下の計算式で実施した。検出要件評価部１７は、類似度値の高い順に要件の関連順位をつける。表示情報作成部７は、実施の形態１と同様に検出した要件の一覧表を作成し、表示する。その際、算出した類似度と関連順位を追加し、開発担当者の操作により関連順位に表示または上位数件を表示などの操作を可能とする。
【００４５】
以上のように、入力された要件について、過去の要件情報とトレーサビリティ情報から類似する要件を検出し、その類似性より検出要件の関連性を算出することで、関連性の客観的な評価とその表示することで、重要な類似要件を認識することが可能になる。
【００４６】
以上に説明した実施の形態１、２の要件検出装置１００によれば、以下のような効果を得ることができる（以下の第１〜第４の観点）。
【００４７】
第１の観点は、開発担当者が作成した要件について、成果物の関連情報（トレーサビリティ情報）を用いて、関連する要件を検出する。ソフトウェアの開発では、１つの要件を実現するためには、成果物の特性に応じて細分化、詳細化がおこなわれる。その際に、要件定義の際に定めた要件が記述、実装されている箇所を関連付けたトレーサビリティ情報を用いる。トレーサビリティ情報を辿ることで、複数の要件から作成した成果物もしくはその一部がある場合、その成果物を起点して、複数の要件は関連していると判断することができる。従来の要件自身の記述内容の類似や関連性だけでは検出しきれない要件を抽出することが可能になる。
【００４８】
第２の観点は、検出した要件の記述補完や詳細化するサブ要件を検出し、開発担当者に提供する。要件定義の際、定義した要件を実現性の観点から複数の要件（サブ要件）に分割または詳細化する場合がある。以上の実施の形態の要件検出装置では、開発担当者が作成した要件について、類似要件を検出したあと、その要件に関連するサブ要件を検出し、提供する。このとこで、要件の検討およびと詳細化を支援することが可能になる。
【００４９】
第３の観点は、検出した要件の記述内容について評価を行う。開発担当者が入力した要件から関連する複数の要件の情報を検出した場合、検出した要件の記述内容を項目毎に比較し、記述内容の同じ、または類似している箇所を指摘する。類似箇所については相反する内容があり、その場合は矛盾箇所になる。開発担当者に情報を表示する際、上記のトレーサビリティ情報を用いて、過去に要件により作成した設計書や、工程表を集約し、開発担当者に提示することで、当初作成した要件の内容の確認、実現性の評価などが可能になる。
【００５０】
第４の観点は、抽出した複数の要件の関連性について評価を行う。検出した要件の記述された項目に優先度を設定し、その優先度が高い項目での類似性が高い要件を類似性が高いと評価する。この評価情報を用いることで検出した関連する要件情報からより重要な情報の抽出し、開発担当者に対して提供することが可能になる。
【００５１】
実施の形態３．
図２１、図２２を参照して実施の形態３を説明する。実施の形態３は、コンピュータである要件検出装置１００のハードウェア構成を説明する。
図２１は、コンピュータである要件検出装置１００の外観の一例を示す図である。
図２２は、要件検出装置１００のハードウェア資源の一例を示す図である。
【００５２】
外観を示す図２１において、要件検出装置１００は、システムユニット８３０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置８１３、キーボード８１４（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス８１５、コンパクトディスク装置８１８（ＣＤＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｄｒｉｖｅ）などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニット８３０はネットワークに接続している。
【００５３】
またハードウェア資源を示す図２２において、要件検出装置１００は、プログラムを実行するＣＰＵ８１０（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１２、表示装置８１３、キーボード８１４、マウス８１５、通信ボード８１６、ＣＤＤ８１８、磁気ディスク装置８２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置８２０の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【００５４】
ＲＡＭ８１２は、揮発性メモリの一例である。ＲＯＭ８１１、ＣＤＤ８１８、磁気ディスク装置８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、「記憶装置」あるいは記憶部、格納部、バッファの一例である。通信ボード８１６、キーボード８１４などは、入力部、入力装置の一例である。また、通信ボード８１６、表示装置８１３などは、出力部、出力装置の一例である。通信ボード８１６は、ネットワークに接続されている。
【００５５】
磁気ディスク装置８２０には、オペレーティングシステム８２１（ＯＳ）、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、オペレーティングシステム８２１、ウィンドウシステム８２２により実行される。
【００５６】
上記プログラム群８２３には、以上の実施の形態の説明において「〜部」として説明した機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【００５７】
ファイル群８２４には、以上の実施の形態の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明した情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。また、ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００５８】
また、以上に述べた実施の形態の説明において、データや信号値は、ＲＡＭ８１２のメモリ、ＣＤＤ８１８のコンパクトディスク、磁気ディスク装置８２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス８２５や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００５９】
また、以上の実施の形態の説明において、「〜部」として説明したものは、「〜手段」、であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明したものは、ソフトウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以上に述べた「〜部」としてコンピュータを機能させるものである。あるいは、以上に述べた「〜部」の手順や方法をコンピュータに実行させるものである。
【００６０】
以上の実施の形態では、要件検出装置１００を説明したが、要件検出装置１００は、コンピュータを要件検出装置１００として機能させるための要件検出プログラムとしても把握できることは以上の説明から当然である。また、要件検出装置１００の各「〜部」の動作は、要件検出方法としても把握できることは以上の説明により明らかである。
【００６１】
以上の実施の形態では、要件情報と成果物のトレーサビリティ情報から、関連する要件を漏れなく検出する要件検出装置を説明した。
【００６２】
以上の実施の形態では、成果物のトレーサビリティ情報から、トレース情報を開発プロセスから遡り、関連する要件を検出する要件検出装置を説明した。
【００６３】
以上の実施の形態では、要件の記述項目の記述内容の類似状況を分析し、利用者に提供することを実現する要件検出装置を説明した。
【００６４】
以上の実施の形態では、検索した要件の類似度を算出し、検出した類似要件の関連順位を決定する要件検出装置を説明した。
【符号の説明】
【００６５】
１  要件入力部、２  直接類似要件検出部、３  間接類似要件検出部、４  詳細要件検出部、５  関連情報検索部、６  要件評価部、７  表示情報作成部、８  類似要件表示部、９  要件情報データベース、１０  トレース情報データベース、１１  設計情報データベース、１２  プログラムデータベース、１３  試験情報データベース、１４  タスク情報データベース、１５  課題情報データベース、１６  障害情報データベース、１７  検出要件評価部、１００  要件検出装置、１４０  分析結果、１７０  類似度計算式、３００  要件データ、４００  規定順序、５００  検索結果、６００  要件／サブ要件定義テーブル、７００  一覧表、８００  トレース情報テーブル。
【図１】
2014164385.tif 000003
【図２】
2014164385.tif 000004
【図３】
2014164385.tif 000005
【図４】
2014164385.tif 000006
【図５】
2014164385.tif 000007
【図６】
2014164385.tif 000008
【図７】
2014164385.tif 000009
【図８】
2014164385.tif 000010
【図９】
2014164385.tif 000011
【図１０】
2014164385.tif 000012
【図１１】
2014164385.tif 000013
【図１２】
2014164385.tif 000014
【図１３】
2014164385.tif 000015
【図１４】
2014164385.tif 000016
【図１５】
2014164385.tif 000017
【図１６】
2014164385.tif 000018
【図１７】
2014164385.tif 000019
【図１８】
2014164385.tif 000020
【図１９】
2014164385.tif 000021
【図２０】
2014164385.tif 000022
【図２１】
2014164385.tif 000023
【図２２】
2014164385.tif 000024