(57)【要約】【課題】ソフトウェア開発プロセスの各工程における成果物のトレーサビリティ管理を、高速かつ正確に行うことを目的とする。【解決手段】情報抽出部１３は、あるシステムを開発するある工程で作成された成果物が入力されると、入力された成果物から所定のキーワードを検索して、検索された文章や、ページ番号、ファイル名等の属性情報を抽出する。マトリクス作成部１６は、前記システムを開発する他の工程で作成された成果物から抽出された文章や、ページ番号、ファイル名等の属性情報と、情報抽出部１３が抽出した情報とを関連付けたトレーサビリティマトリクスを作成する。作成されたトレーサビリティマトリクスは、成果物とともに成果物データベース９に格納される。【選択図】図１
2011253345.tif 000002
【特許請求の範囲】
【請求項１】
複数の工程からなるソフトウェアプロセスの各工程において作成される成果物を管理する成果物管理装置であり、
入力装置により、所定のシステムを開発する前記ソフトウェアプロセスの所定の工程において作成された成果物を入力する成果物入力部と、
処理装置により、前記成果物入力部が入力した成果物から所定のキーワードを検索して、検索された箇所を示す検索箇所情報を抽出する情報抽出部と、
処理装置により、前記情報抽出部が抽出した検索箇所情報から、前記所定のシステムにおける前記各工程で作成された成果物間の関連を管理するためのトレーサビリティ情報を作成するトレーサビリティ情報作成部と、
前記トレーサビリティ情報作成部が作成したトレーサビリティ情報を記憶装置に記憶するトレーサビリティ情報記憶部と
を備え、
前記トレーサビリティ情報作成部は、前記所定のシステムを開発する前記所定の工程以外の他の工程において作成された成果物についての検索箇所情報をトレーサビリティ情報として前記トレーサビリティ情報記憶部が既に記憶している場合には、既に記憶しているその検索箇所情報と前記情報抽出部が抽出した検索箇所情報とを関連付けて、前記所定のシステムのトレーサビリティ情報を作成する
を備えることを特徴とする成果物管理装置。
【請求項２】
前記トレーサビリティ情報作成部は、前記所定のシステムを開発する前記所定の工程において作成された成果物についての検索箇所情報を既に記憶している場合には、既に記憶しているその検索箇所情報を前記情報抽出部が抽出した検索箇所情報に置き換えて、前記所定のシステムのトレーサビリティ情報を作成する
ことを特徴とする請求項１に記載の成果物管理装置。
【請求項３】
前記成果物管理装置は、さらに、
複数のキーワードを予め記憶装置に記憶したキーワード記憶部
を備え、
前記情報抽出部は、前記キーワード記憶部が記憶した各キーワードを、前記成果物入力部が入力した成果物から検索して、前記各キーワードについての検索箇所情報を抽出し、
前記トレーサビリティ情報作成部は、前記他の工程において作成された成果物についての検索箇所情報を既に記憶している場合には、キーワード毎に既に記憶しているその検索箇所情報と前記情報抽出部が抽出した検索箇所情報とを関連付けて、前記所定のシステムのトレーサビリティ情報を作成する
ことを特徴とする請求項１又は２に記載の成果物管理装置。
【請求項４】
前記成果物管理装置は、さらに、
前記トレーサビリティ情報作成部が作成した前記所定のシステムのトレーサビリティ情報が示す前記各工程において前記所定のキーワードが検索された箇所の数に応じて、前記所定のシステムについての成果物に不備があるか否かを判定する不備判定部と、
前記不備判定部が不備があると判定した場合、成果物に不備があることを利用者へ通知する通知部と
を備えることを特徴とする請求項１から３までのいずれかに記載の成果物管理装置。
【請求項５】
前記ソフトウェアプロセスは、複数の工程からなる設計工程と、開発工程と、試験工程とに分類され、
前記不備判定部は、前記ソフトウェアプロセスの前記設計工程の各工程において、前記所定のキーワードが検索された箇所の数が、前の工程よりも後の工程の方が少ない場合、成果物に不備があると判定する
ことを特徴とする請求項４に記載の成果物管理装置。
【請求項６】
前記ソフトウェアプロセスは、複数の工程からなる設計工程と、開発工程と、前記設計工程の各工程と対応する複数の工程からなる試験工程とに分類され、
前記不備判定部は、前記設計工程の各工程において前記所定のキーワードが検索された箇所の数が、対応する前記試験工程の各工程において前記所定のキーワードが検索された箇所の数よりも多い場合、成果物に不備があると判定する
ことを特徴とする請求項４に記載の成果物管理装置。
【請求項７】
複数の工程からなるソフトウェアプロセスの各工程において作成される成果物を管理する成果物管理方法であり、
入力装置が、所定のシステムを開発する前記ソフトウェアプロセスの所定の工程において作成された成果物を入力する成果物入力ステップと、
処理装置が、前記成果物入力ステップで入力した成果物から所定のキーワードを検索して、検索された箇所を示す検索箇所情報を抽出する情報抽出ステップと、
処理装置が、前記情報抽出ステップで抽出した検索箇所情報から、前記所定のシステムにおける前記各工程で作成された成果物間の関連を管理するためのトレーサビリティ情報を作成するトレーサビリティ情報作成ステップと、
記憶装置が、前記トレーサビリティ情報作成ステップで作成したトレーサビリティ情報を記憶するトレーサビリティ情報記憶ステップと
を備え、
前記トレーサビリティ情報作成ステップでは、前記所定のシステムを開発する前記所定の工程以外の他の工程において作成された成果物についての検索箇所情報をトレーサビリティ情報として前記トレーサビリティ情報記憶ステップで既に記憶している場合には、既に記憶しているその検索箇所情報と前記情報抽出ステップで抽出した検索箇所情報とを関連付けて、前記所定のシステムのトレーサビリティ情報を作成する
ことを特徴とする成果物管理方法。
【請求項８】
複数の工程からなるソフトウェアプロセスの各工程において作成される成果物を管理する成果物管理プログラムであり、
所定のシステムを開発する前記ソフトウェアプロセスの所定の工程において作成された成果物を入力する成果物入力処理と、
前記成果物入力処理で入力した成果物から所定のキーワードを検索して、検索された箇所を示す検索箇所情報を抽出する情報抽出処理と、
前記情報抽出処理で抽出した検索箇所情報から、前記所定のシステムにおける前記各工程で作成された成果物間の関連を管理するためのトレーサビリティ情報を作成するトレーサビリティ情報作成処理と、
前記トレーサビリティ情報作成処理で作成したトレーサビリティ情報を記憶するトレーサビリティ情報記憶処理と
をコンピュータに実行させ、
前記トレーサビリティ情報作成処理では、前記所定のシステムを開発する前記所定の工程以外の他の工程において作成された成果物についての検索箇所情報をトレーサビリティ情報として前記トレーサビリティ情報記憶処理で既に記憶している場合には、既に記憶しているその検索箇所情報と前記情報抽出処理で抽出した検索箇所情報とを関連付けて、前記所定のシステムのトレーサビリティ情報を作成する
ことを特徴とする成果物管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ソフトウェア開発プロセスの各工程において作成された仕様書、ソースコード、試験成績書等の成果物を管理するソフトウェアの構成管理技術に関する。
【背景技術】
【０００２】
ソフトウェアの構成管理をサポートする構成管理ツールがある。構成管理ツールは、成果物が登録されると、登録された成果物とその成果物の前のリビジョンとの差分を抽出し、抽出した差分を示す差分情報を登録された成果物とともに保存する。そのため、構成管理ツールを利用することで、同一の成果物について、その記述内容の変化の履歴を管理することが可能になる。
しかし、ソフトウェアの構成管理では、同一の成果物についての変化の履歴だけでなく、開発の各工程において作成される複数の成果物間の関連も管理する必要がある。つまり、各工程で作成される、仕様書、ソースコード、試験成績書等の間の関連を管理しておき、相互に参照、確認できるようにする必要がある。ソフトウェアの構成管理において、このような複数の成果物間の関連を管理することをトレーサビリティ管理という。
【０００３】
特許文献１には、ソフトウェア開発における成果物の相互の関連付け情報を格納するデータベースを設けることについての記載がある。特許文献１では、成果物を登録した後に、ユーザがその成果物の記述を見て、該当する記述内容同士を関連付け、その結果を前記データベースに保存する。
【０００４】
また、既存のソフトウェア開発のツールを組み合わせて利用することで成果物間の記述内容の関連付けとその保存が可能になる。
例えば、ＩＢＭ（登録商標）のＲａｔｉｏｎａｌ（登録商標）シリーズの要件管理ツールＤｏｏｒｓ、構成管理ツールＳｙｎｅｒｇｙ、変更管理ツールＣｈａｎｇｅを連携して利用することが考えられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０９−０１６３９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載された技術や、既存のツールを用いた場合には、以下の（１）〜（３）の課題がある。
（１）成果物間の記述内容の関連付けは、ソフトウェア開発者が手動で設定しなければならない。
（２）構成管理ツール操作の習熟度が、作業精度、効率性に大きく影響する。
（３）成果物間の記述内容の関連付けに矛盾や不備等がある場合、ユーザが確認し、対処しなければならない。
この発明は、成果物のトレーサビリティ管理を、高速かつ正確に行うことを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る成果物管理装置は、
複数の工程からなるソフトウェアプロセスの各工程において作成される成果物を管理する成果物管理装置であり、
入力装置により、所定のシステムを開発する前記ソフトウェアプロセスの所定の工程において作成された成果物を入力する成果物入力部と、
処理装置により、前記成果物入力部が入力した成果物から所定のキーワードを検索して、検索された箇所を示す検索箇所情報を抽出する情報抽出部と、
処理装置により、前記情報抽出部が抽出した検索箇所情報から、前記所定のシステムにおける前記各工程で作成された成果物間の関連を管理するためのトレーサビリティ情報を作成するトレーサビリティ情報作成部と、
前記トレーサビリティ情報作成部が作成したトレーサビリティ情報を記憶装置に記憶するトレーサビリティ情報記憶部と
を備え、
前記トレーサビリティ情報作成部は、前記所定のシステムを開発する前記所定の工程以外の他の工程において作成された成果物についての検索箇所情報をトレーサビリティ情報として前記トレーサビリティ情報記憶部が既に記憶している場合には、既に記憶しているその検索箇所情報と前記情報抽出部が抽出した検索箇所情報とを関連付けて、前記所定のシステムのトレーサビリティ情報を作成する
を備えることを特徴とする。
【発明の効果】
【０００８】
この発明に係る成果物管理装置は、成果物が入力されると、その成果物と関連する他の成果物との関連付けを自動で行い、トレーサビリティ情報として記憶する。そのため、成果物のトレーサビリティ管理を、高速かつ正確に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る成果物管理装置３の機能ブロック図。
【図２】実施の形態１に係る成果物管理装置３の動作の流れを示すフローチャート。
【図３】要件キーワードデータベース１２のレコードの一例を示す図。
【図４】抽出情報データベース１４のレコードの一例を示す図。
【図５】マトリクス管理データベース１５のレコードの一例を示す図。
【図６】トレーサビリティマトリクスの一例を示す図。
【図７】トレーサビリティマトリクスに抽出した情報を追記した例を示す図。
【図８】分析情報データベース１７のレコードの一例を示す図。
【図９】図８のＩＤが２の判定ロジックで不正と判定されるトレーサビリティマトリクスを示す図。
【図１０】不正情報データベース１９のレコードの一例を示す図。
【図１１】実施の形態２の判定ロジックで不正と判定されるトレーサビリティマトリクスの例を示す図。
【図１２】実施の形態３の判定ロジックで不正と判定されるトレーサビリティマトリクスの例を示す図。
【図１３】成果物管理装置３のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【００１０】
以下、図に基づき、発明の実施の形態を説明する。
以下の説明において、処理装置は後述するＣＰＵ９１１等である。記憶装置は後述するＲＯＭ９１３、ＲＡＭ９１４、磁気ディスク９２０等の記憶装置である。入力装置はキーボード９０２、マウス９０３等である。つまり、処理装置、記憶装置、入力装置はハードウェアである。
【００１１】
実施の形態１．
図１は、実施の形態１に係る成果物管理装置３の機能ブロック図である。
成果物管理装置３は、ネットワーク２を介して、ユーザが使用する複数の端末計算機１と接続される。成果物管理装置３は、端末計算機１から入力された成果物のトレーサビリティ管理を実施する。なお、成果物とは、例えば、ワープロソフトや表計算ソフトで作成したドキュメントの電子ファイルや、テキストエディタなどで作成したソースコード（プログラム）及び設定ファイル等である。
成果物管理装置３は、ユーザインタフェース４、構成管理装置５、要件キーワードデータベース１２（キーワード記憶部）、情報抽出部１３、抽出情報データベース１４、マトリクス管理データベース１５、マトリクス作成部１６（トレーサビリティ情報作成部）、分析情報データベース１７、不正箇所判定部１８、不正情報データベース１９、成果物情報通知部２０を備える。
【００１２】
ユーザインタフェース４は、処理装置により、各端末計算機１からの入力と、各端末計算機１への出力との制御を行う。
【００１３】
構成管理装置５は、一般的な構成管理ツールの機能を備える装置であり、構成管理部６、構成情報データベース７、登録管理部８、成果物データベース９（トレーサビリティ情報記憶部）、差分分析部１０、差分情報データベース１１を備える。
構成管理部６は、その成果物が以前に登録されているか否かを判定する。具体的には、構成管理部６は、処理装置により、端末計算機１からユーザインタフェース４を介して入力された成果物の名称等で、構成情報データベース７に記憶された管理情報を検索して、その成果物の登録状況を確認する。そして、構成管理部６は、その成果物が以前に登録されているなら、その成果物について差分分析を行うと判定する。
構成情報データベース７は、登録されている成果物の名称等の一覧や登録年月日などの成果物の管理情報が格納されたデータベースである。
登録管理部８は、端末計算機１から入力された成果物を成果物データベース９に格納する。
成果物データベース９は、端末計算機１から入力された成果物が格納されるデータベースである。
差分分析部１０は、構成管理部６が差分分析を行うと判定した場合に、処理装置により、端末計算機１から入力された成果物と、その成果物の前のリビジョンとの差分情報を抽出し、差分情報データベース１１に格納する。
差分情報データベース１１は、差分分析部１０が抽出した差分情報が格納されるデータベースである。
なお、成果物と、その成果物についての差分情報とは、識別情報等により関連付けされて、それぞれ成果物データベース９と差分情報データベース１１とに格納される。
【００１４】
成果物管理装置３は、構成管理装置５に対して、以下に説明する要件キーワードデータベース１２から成果物情報通知部２０の機能を追加することで、トレーサビリティ管理を実現する。
要件キーワードデータベース１２は、トレーサビリティ管理を行いたいキーワードが格納されるデータベースである。
情報抽出部１３は、処理装置により、要件キーワードデータベース１２に格納されたキーワードを取得して、取得したキーワードで、端末計算機１から入力された成果物の全文検索を行う。そして、情報抽出部１３は、そのキーワードが検索された文章や、ページ番号、ファイル名等の属性情報（検索箇所情報）を抽出する。
抽出情報データベース１４は、情報抽出部１３が成果物から抽出した属性情報が格納されるデータベースである。抽出情報データベース１４に格納された属性情報は、トレーサビリティマトリクス（トレーサビリティ情報）を作成するために利用される。
マトリクス管理データベース１５は、トレーサビリティマトリクスを作成するための表の雛形と、トレーサビリティマトリクスの作成情報とが格納されるデータベースである。
マトリクス作成部１６は、処理装置により、マトリクス管理データベース１５から雛形や作成情報を取得し、情報抽出部１３で抽出した情報（抽出情報データベース１４に格納された情報）を用いてトレーサビリティマトリクスを作成する。
分析情報データベース１７は、作成したトレーサビリティマトリクスを分析するための分析ロジックが格納されたデータベースである。
不正箇所判定部１８は、処理装置により、分析情報データベース１７から分析ロジックを取得し、マトリクス作成部１６が作成したトレーサビリティマトリクスを、分析ロジックに従い分析し不正箇所の有無を判断する。なお、不正箇所とは、成果物間で不整合が生じている箇所のことである。
不正情報データベース１９は、不正箇所判定部１８で不正箇所を発見した場合に、不正箇所を示す不正情報が格納されるデータベースである。
成果物情報通知部２０は、不正箇所判定部１８での判定結果に従い、成果物及びトレーサビリティマトリクスをそのまま成果物データベース９に格納するか否か、ユーザに確認するため不正情報を端末計算機１へ出力する。
【００１５】
図２は、実施の形態１に係る成果物管理装置３の動作の流れを示すフローチャートである。
（Ｓ１）では、ユーザが端末計算機１によりネットワーク２を介して成果物管理装置３へ成果物を入力する。例えば、ユーザは、ユーザインタフェース４が表示する表示画面を操作して、成果物を入力する。また、その際、入力した成果物を、どのシステムのどの開発工程の成果物として保存するかを指定する。なお、成果物は、一度に複数指定してもよい。
【００１６】
（Ｓ２）では、情報抽出部１３が、要件キーワードデータベース１２からキーワードを取得する。ここで、要件キーワードデータベース１２に複数のキーワードが格納されている場合には、全てのキーワードを取得する。
図３は、要件キーワードデータベース１２のレコードの一例を示す図である。図３に示すように、要件キーワードデータベース１２に格納されているキーワードは、要件を表現する単語、文章、又は、ユーザが設定するタグ等である。
【００１７】
（Ｓ３）では、情報抽出部１３が、処理装置により、（Ｓ２）で取得した各キーワードで、（Ｓ１）で入力された成果物を全文検索する。情報抽出部１３は、成果物からキーワードが検索された場合、検索されたキーワードの近傍の文章（例えば、キーワードを含む１文）と、その文章の属性情報（例えば、ファイル名、ページ番号、行番号など）とを取得する。そして、情報抽出部１３は、キーワードと、取得した文章及び文章の属性情報とを関連付けて、抽出情報データベース１４に格納する。
図４は、抽出情報データベース１４のレコードの一例を示す図である。例えば、ＩＤが１のレコードであれば、キーワードＩＤが１の「○○処理方式」というキーワードが成果物から検索されたことを示している。そして、「○○処理方式」というキーワードの近傍の文章と、キーワードが検索された成果物のファイル名、ページ番号、行番号、ファイル（成果物）の作成日と、検索がされた日とが格納されている。
なお、複数のキーワードを取得した場合には、あるキーワードによる全文検索の実施後、次のキーワードで全文検索を実施する。又は、処理計算機及びプログラムにより、複数のキーワードでの全文検索を並行に実施してもよい。いずれの場合であっても、指定された全ての成果物に対して、全てのキーワードで全文検索を行い、情報を抽出する。
【００１８】
（Ｓ４）では、マトリクス作成部１６が、処理装置により、（Ｓ１）で入力された成果物についての既存のトレーサビリティマトリクスがあるか否かを判定する。
マトリクス作成部１６は、トレーサビリティマトリクスを作成、更新する場合、作成記録をマトリクス管理データベース１５に格納する。図５は、マトリクス管理データベース１５のレコードの一例を示す図である。図５に示すように、マトリクス管理データベース１５は、トレーサビリティマトリクス単位に、トレーサビリティマトリクスの作成日、作成に用いた成果物のファイル名及び作成日が格納される。例えば、図５のＩＤが１〜３のレコードには、マトリクスＩＤが１のトレーサビリティマトリクスの作成日と、そのトレーサビリティマトリクスを作成した際に用いられた成果物のファイル名及び作成日とが格納されている。
したがって、マトリクス作成部１６は、マトリクス管理データベース１５を参照することにより、（Ｓ１）で入力された成果物についての既存のトレーサビリティマトリクスがあるか否かを判定することができる。
なお、トレーサビリティマトリクスは、例えば、開発するシステム毎に作成される。したがって、過去にそのシステムの成果物が入力されたことがある場合には、既存のトレーサビリティマトリクスが存在することになる。
既存のトレーサビリティマトリクスがない場合（Ｓ４で無）、処理を（Ｓ５）へ進める。一方、既存のトレーサビリティマトリクスがある場合（Ｓ４で有）、処理を（Ｓ７）へ進める。
【００１９】
（Ｓ５）では、（Ｓ１）で入力された成果物についてのトレーサビリティマトリクスが存在しないため、マトリクス作成部１６が、トレーサビリティマトリクスの作成記録をマトリクス管理データベース１５に新規に登録する。
【００２０】
（Ｓ６）では、マトリクス作成部１６が、処理装置により、新規にトレーサビリティマトリクスを作成する。
マトリクス作成部１６は、まず、トレーサビリティマトリクスの雛形をマトリクス管理データベース１５から取得する。そして、マトリクス作成部１６は、処理装置により、（Ｓ３）で抽出した情報を雛形の該当する箇所に記入し、トレーサビリティマトリクスを作成する。
図６は、トレーサビリティマトリクスの一例を示す図である。トレーサビリティマトリクスは、縦軸にキーワード、横軸にソフトウェア開発プロセスの工程順に成果物が配置され、交差する箇所に抽出した情報が記入される。なお、ここでは、ソフトウェア開発プロセスは、いわゆるウォーターフォール型の開発プロセスであり、要件定義工程、基本設計工程、詳細設計工程、実装工程、試験工程からなるものとしている。そして、要件定義工程では要件定義書が作成され、基本設計工程では基本設計書が作成され、詳細設計工程では詳細設計書が作成され、実装工程ではソースコードが作成され、試験工程では試験成績書が作成されるものとしている。もちろん、ソフトウェア開発プロセスの工程はこれに限らず他の構成であってもよい。
【００２１】
一方（Ｓ７）では、既にトレーサビリティマトリクスを作成したことがあるため、マトリクス作成部１６が、成果物データベース９から最新のトレーサビリティマトリクスを取得して、そのコピーを内部メモリに作成する。また、マトリクス作成部１６が、マトリクス管理データベース１５のトレーサビリティマトリクスの作成記録を更新する。なお、ここで更新される内容は、作成日時、成果物ファイル名である。
【００２２】
（Ｓ８）では、マトリクス作成部１６が、処理装置により、（Ｓ３）で抽出した情報を、（Ｓ７）でコピーしたトレーサビリティマトリクスに追記する。
コピーしたトレーサビリティマトリクスにおいて、該当する箇所が空欄の場合は単純に追記し、以前に抽出した情報が既に該当する箇所に記載されている場合は、先に記載されている情報を削除し、今回抽出した情報を記載する。
図７は、図６のトレーサビリティマトリクスに抽出した情報を追記した例を示す図である。図７では、図６の“○○処理方式”というキーワードについての詳細設計所、ソースコード、試験成績書の欄が更新されている。
【００２３】
（Ｓ９）では、不正箇所判定部１８が、（Ｓ６）又は（Ｓ８）で作成したトレーサビリティマトリクスに基づき、処理装置により、成果物間で不整合が生じている箇所（不正箇所）があるか否か判定する。なお、不正箇所判定部１８は、事前に登録されている判定ロジックを分析情報データベース１７から取得し、その判定ロジックに従い、トレーサビリティマトリクスの判定を行う。
図８は、分析情報データベース１７のレコードの一例を示す図である。つまり、不正箇所判定部１８は、図８に示す各判定ロジックに従い、トレーサビリティマトリクスに記載された情報についてチェックを行う。
例えば、図８のＩＤが１の判定ロジックであれば、不正箇所判定部１８は、新規にトレーサビリティマトリクスを作成する場合に、全てのキーワードについての、そのトレーサビリティマトリクスの作成に用いた成果物の欄が空欄である場合には、記載漏れとして不正であると判定する。つまり、要件定義書を用いてトレーサビリティマトリクスの新規作成を行う場合に、その要件定義書から、図３に示すキーワードがいずれも検索されない場合には、不正箇所判定部１８は不正であると判定する。
また、図８のＩＤが２の判定ロジックであれば、不正箇所判定部１８は、要件定義から実装までの工程において、前工程の欄に記述があるキーワードが後工程の欄に記述がない場合には、記載漏れとして不正と判定する。図９は、図８のＩＤが２の判定ロジックで不正と判定されるトレーサビリティマトリクスを示す図である。図９では、“○○処理方式”というキーワードが、要件定義書、詳細設計書、ソースコードでは、検索されているにも関わらず、途中工程における成果物である基本設計書では、検索されていない。つまり、基本設計工程に抜けがあるため、不正箇所判定部１８は不正と判定する。
不正箇所判定部１８は、不正箇所を発見した場合、不正情報を作成して、不正情報データベース１９に格納する。なお、不正情報には、判定ロジック、キーワード、成果物ファイル名等が格納される。図１０は、不正情報データベース１９のレコードの一例を示す図である。図１０では、図９に示すトレーサビリティマトリクスついての不正情報を示す。つまり、図１０では、図８のＩＤが２の判定ロジックで、図３のＩＤが１のキーワードについて、基本設計書に不正があると判定されたことを示している。
全てのチェックが終了した後、不正箇所が存在した場合（Ｓ９で不正あり）、処理を（Ｓ１０）へ進める。一方、不正箇所が存在しない場合（Ｓ９で不正なし）、処理を（Ｓ１３）へ進める。
【００２４】
（Ｓ１０）では、成果物情報通知部２０が、ユーザインタフェース４を介して、不正があったことをユーザへ通知する。なお、成果物情報通知部２０は、不正情報と作成したトレーサビリティマトリクスとを端末計算機１に表示する等してユーザに提示する。そして、成果物情報通知部２０は、そのまま成果物とトレーサビリティマトリクスとの登録を実施するかの判断をユーザに入力させる。
【００２５】
（Ｓ１１）では、ユーザは、提示された内容を確認した上で、端末計算機１により、そのまま成果物とトレーサビリティマトリクスとの登録を実施するか否かを入力する。
登録を実施しないと入力された場合（Ｓ１１で登録しない）、処理を（Ｓ１２）へ進める。一方、そのまま登録を実施すると入力された場合（Ｓ１１で登録する）、処理を（Ｓ１４）へ進める。
【００２６】
（Ｓ１２）では、（Ｓ１）で入力された成果物と作成したトレーサビリティマトリクスとの登録をせず、処理を終了とする。なお、この場合、マトリクス作成部１６は、作成したトレーサビリティマトリクスを削除するとともに、マトリクス管理データベース１５に格納した情報も登録、更新前の状態に戻す。
【００２７】
一方（Ｓ１３）では、成果物情報通知部２０が、ユーザインタフェース４を介して、トレーサビリティマトリクスの作成が完了したことをユーザへ通知して、登録してよいか確認する。なお、その際、作成したトレーサビリティマトリクスをポップアップ画面等でユーザに提示してもよい。
【００２８】
（Ｓ１４）では、ユーザが登録を指示に従い、登録管理部８が成果物と作成したトレーサビリティマトリクスとを成果物データベース９へ格納する。また、構成管理部６が差分分析を行うと判定した場合には、差分分析部１０が差分を抽出して、差分情報を差分情報データベース１１に格納する。
【００２９】
（Ｓ１５）では、データベースへの格納が完了した後、成果物情報通知部２０は、その旨をユーザへ通知する。
【００３０】
以上のように、実施の形態１に係る成果物管理装置３は、成果物を登録時に自動的にキーワード検索を実施し、抽出された情報からトレーサビリティマトリクスを作成する。そのため、人手を介さずトレーサビリティ管理のための情報を作成することができる。
また、実施の形態１に係る成果物管理装置３は、作成したトレーサビリティマトリクスに基づき不正をチェックする。そのため、成果物中の不備、それに伴うソフトウェアの不具合の原因を発見することができ、ソフトウェアの品質向上を実現することが可能になる。
【００３１】
実施の形態２．
実施の形態２では、図２の（Ｓ９）で不正箇所判定部１８が不正箇所の判定を行う際に用いる判定ロジックの他の例について説明する。
【００３２】
ここでは、不正箇所判定部１８は、設計工程における成果物について、工程が進むにつれて関連する記述が増えていない場合には不正と判定する。つまり、関連する記述が同数である場合や減少している場合は不正と判定する。なお、設計工程とは、要件定義工程、基本設計工程、詳細設計工程のことである。
図１１は、実施の形態２の判定ロジックで不正と判定されるトレーサビリティマトリクスの例を示す図である。上述した判定ロジックを用いて不正箇所の判定をすると、“○○処理方式”というキーワードが、基本設計書では２箇所あるにも関わらず、詳細設計書では１箇所へ減少しており、詳細設計書に不正があると判定される。
【００３３】
通常、設計工程が進むほど記述がより詳しくなる。そのため、重要な用語は、設計工程における後の工程ほど数多く記述されているはずである。そこで、上述した判定ロジックで不正箇所を判定することにより、成果物の記載ミスや記載漏れを発見することができる。
【００３４】
実施の形態３．
実施の形態３では、実施の形態２と同様に、図２の（Ｓ９）で不正箇所判定部１８が不正箇所の判定を行う際に用いる判定ロジックの他の例について説明する。
【００３５】
ここでは、ソフトウェア開発プロセスとして、いわゆるＶモデルを用いた場合を想定する。Ｖモデルとは、各設計工程と各試験工程とが対応した開発プロセスである。ここでは、基本設計工程と結合試験工程とが対応し、詳細設計工程と単体試験工程とが対応している。なお、上述した実施の形態では、試験工程を１つの工程としていたが、ここでは、単体試験工程と結合試験工程との２つの工程としている。
そして、不正箇所判定部１８は、この対応する設計工程と試験工程との成果物について、同一のキーワードの記述が設計工程の成果物の方が、試験工程の成果物よりも多い場合不正と判定する。
図１２は、実施の形態３の判定ロジックで不正と判定されるトレーサビリティマトリクスの例を示す図である。上述した判定ロジックを用いて不正箇所の判定をすると、“○○処理方式”というキーワードが、基本設計書では１箇所あるにも関わらず、結合試験成績書には存在せず、結合試験成績書に不正があると判定される。
【００３６】
通常、対応する設計工程と試験工程とは、同程度の記述である。また、場合によっては試験工程の方が設計工程よりも記述が詳しくなる。そのため、重要な用語は、対応する設計工程と試験工程とにおいて同数、又は試験工程の方が多いはずである。そこで、上述した判定ロジックで不正箇所を判定することにより、成果物の記載ミスや記載漏れ、試験工程においては試験項目漏れを発見することができる。
【００３７】
次に、実施の形態における成果物管理装置３のハードウェア構成について説明する。
図１３は、成果物管理装置３のハードウェア構成の一例を示す図である。
図１３に示すように、成果物管理装置３は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、ＬＣＤ９０１（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、通信ボード９１５、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０（固定ディスク装置）の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置９２０は、所定の固定ディスクインタフェースを介して接続される。
【００３８】
ＲＯＭ９１３、磁気ディスク装置９２０は、不揮発性メモリの一例である。ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３とＲＡＭ９１４と磁気ディスク装置９２０とは、記憶装置（メモリ）の一例である。また、キーボード９０２、通信ボード９１５は、入力装置の一例である。また、通信ボード９１５は、通信装置（ネットワークインタフェース）の一例である。さらに、ＬＣＤ９０１は、表示装置の一例である。
【００３９】
磁気ディスク装置９２０又はＲＯＭ９１３などには、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００４０】
プログラム群９２３には、上記の説明において「ユーザインタフェース４」、「構成管理部６」、「登録管理部８」、「差分分析部１０」、「情報抽出部１３」、「マトリクス作成部１６」、「不正箇所判定部１８」、「成果物情報通知部２０」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、上記の説明において「構成情報データベース７」、「成果物データベース９」、「差分情報データベース１１」、「要件キーワードデータベース１２」、「抽出情報データベース１４」、「マトリクス管理データベース１５」、「分析情報データベース１７」、「不正情報データベース１９」に格納される情報やデータや信号値や変数値やパラメータが、「データベース」の各項目として記憶される。「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵ９１１の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵ９１１の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００４１】
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、その他光ディスク等の記録媒体やＩＣチップに記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ＲＯＭ９１３等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
【符号の説明】
【００４２】
１  端末計算機、２  ネットワーク、３  成果物管理装置、４  ユーザインタフェース、５  構成管理装置、６  構成管理部、７  構成情報データベース、８  登録管理部、９  成果物データベース、１０  差分分析部、１１  差分情報データベース、１２  要件キーワードデータベース、１３  情報抽出部、１４  抽出情報データベース、１５  マトリクス管理データベース、１６  マトリクス作成部、１７  分析情報データベース、１８  不正箇所判定部、１９  不正情報データベース、２０  成果物情報通知部。
【図１】
2011253345.tif 000003
【図２】
2011253345.tif 000004
【図３】
2011253345.tif 000005
【図４】
2011253345.tif 000006
【図５】
2011253345.tif 000007
【図６】
2011253345.tif 000008
【図７】
2011253345.tif 000009
【図８】
2011253345.tif 000010
【図９】
2011253345.tif 000011
【図１０】
2011253345.tif 000012
【図１１】
2011253345.tif 000013
【図１２】
2011253345.tif 000014
【図１３】
2011253345.tif 000015