(57)【要約】  製品開発の設計書等のドキュメントを管理するための技術に関し、開発プロセス毎に管理されているドキュメントのうちトレーサビリティのないドキュメントを特定可能とする。未関連付けドキュメント特定部１０１は、開発プロセス毎に複数のドキュメントが記憶された記憶部１０３を参照する。そして、未関連付けドキュメント特定部１０１は、現在の開発プロセスに対して、上流の開発プロセスが存在する場合には、上流の開発プロセスに属するドキュメントからの影響を受ける関連付けがなされていないドキュメントを特定し、下流の開発プロセスが存在する場合には、下流の開発プロセスに属するドキュメントに影響を与える関連付けがなされていないドキュメントを特定する。未関連付けドキュメント情報出力部１０２は、未関連付けドキュメント特定部１０１が特定したドキュメントに関する情報を出力する。
2015121982.tif 000002
【特許請求の範囲】
【請求項１】
開発プロセス毎に複数のドキュメントが記憶された記憶部を参照して、最上流の開発プロセスに属するドキュメントの場合には下流の開発プロセスに属するドキュメントに影響を与える関連付けがなされていないドキュメントを特定し、最下流の開発プロセスに属するドキュメントの場合には上流の開発プロセスに属するドキュメントから影響を受ける関連付けがなされていないドキュメントを特定し、最上流および最下流の開発プロセス以外に属するドキュメントの場合には、下流の開発プロセスに属するドキュメントに影響を与える関連付け、または、上流の開発プロセスに属するドキュメントからの影響を受ける関連付けがなされていないドキュメントを特定し、
特定した前記ドキュメントに関する情報を出力する、
処理をコンピュータに実行させるためのドキュメント管理プログラム。
【請求項２】
関連付けの確認を行う開発プロセスをユーザに指定させ、
前記指定された開発プロセスに属するドキュメント毎に、前記指定された開発プロセスの上流の開発プロセスが存在する場合には当該上流の開発プロセスに属するドキュメントからの影響を受ける関連付けがなされていないドキュメントを特定し、前記指定された開発プロセスの下流の開発プロセスが存在する場合には当該下流の開発プロセスに属するドキュメントに影響を与える関連付けがなされていないドキュメントを特定する、
ことを特徴とする請求項１に記載のドキュメント管理プログラム。
【請求項３】
関連付けの確認を行うドキュメントをユーザに指定させ、
前記指定されたドキュメントを起点として、前記指定されたドキュメントが属する開発プロセスの上流および下流の開発プロセスに向かって影響を受けるまたは影響を与える関連付けがなされているドキュメントを順次辿り、当該関連付けが途切れた開発プロセスを特定する、
ことを特徴とする請求項１に記載のドキュメント管理プログラム。
【請求項４】
前記記憶部に、
前記ドキュメントごとに当該ドキュメントが属する前記開発プロセスを記憶するドキュメント管理テーブルと、
前記ドキュメントごとに、当該ドキュメントに対して影響を受ける関連付けがなされている、当該ドキュメントが属する開発プロセスの上流の開発プロセスに属するドキュメントの情報である親リレーション情報と、当該ドキュメントが属する開発プロセスの下流の開発プロセスに属するドキュメントの情報である子リレーション情報とを記憶するリレーション管理テーブルと、
を記憶させ、前記ドキュメント管理テーブルと前記リレーション管理テーブルを参照して、前記ドキュメントの特定を行う、
ことを特徴とする請求項１ないし３のいずれかに記載のドキュメント管理プログラム。
【請求項５】
開発プロセス毎に複数のドキュメントが記憶された記憶部を参照して、最上流の開発プロセスに属するドキュメントの場合には下流の開発プロセスに属するドキュメントに影響を与える関連付けがなされていないドキュメントを特定し、最下流の開発プロセスに属するドキュメントの場合には上流の開発プロセスに属するドキュメントから影響を受ける関連付けがなされていないドキュメントを特定し、最上流および最下流の開発プロセス以外に属するドキュメントの場合には、下流の開発プロセスに属するドキュメントに影響を与える関連付け、または、上流の開発プロセスに属するドキュメントからの影響を受ける関連付けがなされていないドキュメントを特定する未関連付けドキュメント特定部と、
特定した前記ドキュメントに関する情報を出力する未関連付けドキュメント情報出力部と、
を備えることを特徴とするドキュメント管理装置。
【請求項６】
開発プロセス毎に複数のドキュメントが記憶された記憶部を参照して、最上流の開発プロセスに属するドキュメントの場合には下流の開発プロセスに属するドキュメントに影響を与える関連付けがなされていないドキュメントを特定し、最下流の開発プロセスに属するドキュメントの場合には上流の開発プロセスに属するドキュメントから影響を受ける関連付けがなされていないドキュメントを特定し、最上流および最下流の開発プロセス以外に属するドキュメントの場合には、下流の開発プロセスに属するドキュメントに影響を与える関連付け、または、上流の開発プロセスに属するドキュメントからの影響を受ける関連付けがなされていないドキュメントを特定し、
特定した前記ドキュメントを出力する、
処理をコンピュータに実行させるためのドキュメント管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製品開発の設計書等のドキュメントを管理するためのプログラム、装置、および方法に関する。
【背景技術】
【０００２】
例えば製品の開発プロセスにおいては、多くの設計書等のドキュメントが作成される。例えば、設計書は、開発プロセスごとにまとめて記憶部に記憶される。【０００３】
また、開発プロセスのトレーサビリティは、重要である。トレーサビリティを確保するために、作業者は、各設計書を開発プロセス間で関連付ける作業を行う。【０００４】
開発プロセスにおけるドキュメントのトレーサビリティを確保するための従来技術として、次のような技術が知られている（例えば特許文献１）。不具合の報告に伴うソースコードの修正と修正報告書の生成において、ソースコードの変更に対し内部設計書と単体試験規格書の修正作業が連動して行われ、各修正作業ごとに開発成果物の対応するバージョンが対応情報記憶部に記憶される。対応一覧表、相互参照表が自動生成されることにより、不具合報告書・ソースコード・修正報告書・内部設計書・単体試験書間・外部設計書・要求仕様書間のトレーサビリティが可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１８２９０８
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、ドキュメントの数は膨大であるため、すべてのドキュメントが確実に関連付けられているとは限らない。もともと関連付けがなされていないドキュメントは、トレースができず不正な存在であるため、何らかの手当てが必要である。【０００７】
そこで、本発明は、１つの側面では、開発プロセス毎に管理されているドキュメントのうちトレーサビリティのないドキュメントを特定可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
態様の一例では、開発プロセス毎に複数のドキュメントが記憶された記憶部を参照して、最上流の開発プロセスに属するドキュメントの場合には下流の開発プロセスに属するドキュメントに影響を与える関連付けがなされていないドキュメントを特定し、最下流の開発プロセスに属するドキュメントの場合には上流の開発プロセスに属するドキュメントから影響を受ける関連付けがなされていないドキュメントを特定し、最上流および最下流の開発プロセス以外に属するドキュメントの場合には、下流の開発プロセスに属するドキュメントに影響を与える関連付け、または、上流の開発プロセスに属するドキュメントからの影響を受ける関連付けがなされていないドキュメントを特定し、特定したドキュメントに関する情報を出力する、処理をコンピュータに実行させる。
【発明の効果】
【０００９】
開発プロセス毎に管理されているドキュメントのうちトレーサビリティのないドキュメントを特定することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係るドキュメント管理装置のブロック図である。
【図２】ドキュメント管理装置の動作説明図である。
【図３】ドキュメント管理装置を実現可能なコンピュータのハードウェア構成例を示す図である。
【図４】管理テーブルのデータ構成例を示す図である。
【図５】プロセス指定によるドキュメント管理処理の例を示すフローチャートである。
【図６】プロセス指定によるドキュメント管理処理に基づく未関連付けドキュメント情報の出力表示例を示す図である。
【図７】ドキュメント指定によるドキュメント管理処理の例を示すフローチャートである。
【図８】ドキュメント指定によるドキュメント管理処理に基づく未関連付けドキュメント情報の出力表示例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
【００１２】
図１は、本実施形態に係るドキュメント管理装置のブロック図である。
【００１３】
未関連付けドキュメント特定部１０１は、開発プロセス毎に複数のドキュメントが記憶された記憶部１０３を参照して、最上流の開発プロセスに属するドキュメントの場合には、下流の開発プロセスに属するドキュメントに影響を与える関連付けがなされていないドキュメントを特定する。また、未関連付けドキュメント特定部１０１は、最下流の開発プロセスに属するドキュメントの場合には、上流の開発プロセスに属するドキュメントから影響を受ける関連付けがなされていないドキュメントを特定する。あるいは、未関連付けドキュメント特定部１０１は、最上流および最下流の開発プロセス以外に属するドキュメントの場合には、下流の開発プロセスに属するドキュメントに影響を与える関連付け、または、上流の開発プロセスに属するドキュメントからの影響を受ける関連付けがなされていないドキュメントを特定する。
【００１４】
未関連付けドキュメント情報出力部１０２は、未関連付けドキュメント特定部１０１が特定したドキュメントに関する情報を出力する。
【００１５】
図２は、図１の構成を有するドキュメント管理装置１００の動作説明図である。
【００１６】
機能要件プロセス２０１、機能設計プロセス２０２、および詳細設計プロセス２０３といった開発プロセスごとに、それぞれ異なる種類のドキュメントが管理されている。
【００１７】
例えば、機能要件プロセス２０１では、開発製品（ハードウェア製品、ソフトウェア製品を含む）に関する要件定義を記述した機能要件書Ａ、Ｂ、Ｃなどが管理されている。
【００１８】
また例えば、機能設計プロセス２０２では、機能要件プロセス２０１で記述された機能要件書に基づいて、開発製品に関する機能設計（または外部設計）を記述した機能設計書Ａ１、Ａ２、Ｂ、Ｃなどが管理されている。
【００１９】
さらに例えば、詳細設計プロセス２０３では、機能設計プロセス２０２で記述された機能設計書に基づいて、開発製品に関する詳細設計を記述した詳細設計書Ａ１、Ａ２、Ｂ、Ｃなどが管理されている。
【００２０】
ここで、例えば、まず機能要件プロセス２０１の段階で機能要件書Ａが作成された後、次の機能設計プロセス２０２の段階で、その機能要件書Ａに基づいて機能設計書Ａ１が作成される。さらに、その次の詳細設計プロセス２０３の段階で、その機能設計書Ａ１に基づいて詳細設計書Ａ１が作成される。この場合に、機能設計書Ａ１の設計担当者は、その機能設計書Ａ１が機能要件書Ａに基づいて作成されたものであることを示す関連付けを指示する。この指示により、機能要件書Ａと機能設計書Ａ１の間に影響を受ける関連付けを示すリレーション２０４が設定される。さらに、詳細設計書Ａ１の設計担当者は、その詳細設計書Ａ１が機能設計書Ａ１に基づいて作成されたものであることを示す関連付けを指示する。この指示により、機能設計書Ａ１と詳細設計書Ａ１の間にリレーション２０５が設定される。
【００２１】
同様に例えば、まず機能要件プロセス２０１の段階で機能要件書Ｂが作成された後、次の機能設計プロセス２０２の段階で、その機能要件書Ｂに基づいて機能設計書Ｂが作成される。この場合に、機能設計書Ｂの設計担当者は、その機能設計書Ｂが機能要件書Ｂに基づいて作成されたものであることを示す関連付けを指示する。この指示により、機能要件書Ｂと機能設計書Ｂの間に影響を受ける関連付けを示すリレーション２０６が設定される。
【００２２】
さらに例えば、まず機能要件プロセス２０１の段階で機能要件書Ｃが作成された後、次の機能設計プロセス２０２の段階で、その機能要件書Ｃに基づいて機能設計書Ｃが作成される。その後、その次の詳細設計プロセス２０３の段階で、その機能設計書Ｃに基づいて詳細設計書Ｃ１と詳細設計書Ｃ２が作成される。この場合に、機能設計書Ｃの設計担当者は、その機能設計書Ｃが機能要件書Ｃに基づいて作成されたものであることを示す関連付けを指示する。この指示により、機能要件書Ｃと機能設計書Ｃの間に影響を受ける関連付けを示すリレーション２０７が設定される。さらに、詳細設計書Ｃ１と詳細設計書Ｃ２の各設計担当者は、それらの詳細設計書Ｃ１とＣ２が機能設計書Ｃに基づいて作成されたものであることを示す関連付けを指示する。これらの指示により、機能設計書Ｃ１と詳細設計書Ｃ１および機能設計書Ｃ１と詳細設計書Ｃ２の間にそれぞれリレーション２０８および２０９が設定される。
【００２３】
以上の関連付けの指示は、各担当者が手動で行うほか、或る機能要件書から新たな機能設計書の作成が指示されたとき、または或る機能設計書から新たな詳細設計書の作成が指示されたときに、自動的に行われてリレーションが設定されるようにしてもよい。
【００２４】
上述のように、機能要件プロセス２０１の後に機能設計プロセス２０２が実行され、機能設計プロセス２０２の後に詳細設計プロセス２０３が実行される。この場合、機能要件プロセス２０１は機能設計プロセス２０２の上流の開発プロセス、機能設計プロセス２０２は機能要件プロセス２０１の下流の開発プロセスであると定義する。同様に、機能設計プロセス２０２は詳細設計プロセス２０３の上流の開発プロセス、詳細設計プロセス２０３は機能設計プロセス２０２の下流の開発プロセスであると定義する。
【００２５】
なお、図２の２１５として示されるように、詳細設計プロセス２０３に属する各詳細設計書に対して、詳細設計プロセス２０３のさらに下流の開発プロセスに属するドキュメントへのリレーションが設定されてもよい。
【００２６】
図２の例において、機能設計プロセス２０２の設計担当者が、機能要件書Ａに基づいて機能設計書Ａ２を作成したが、その機能設計書Ａ２が機能要件書Ａに基づいて作成されたものであることを示す関連付けの指示を忘れた、あるいは意図的に指示しなかったとする。これにより、機能要件書Ａと機能設計書Ａ２の間にはリレーションが設定されない。あるいは、関連付けが自動的に付与されるような手段を用いていたとしても、機能要件書Ａから機能設計書Ａ２の作成が直接には呼び出されずに機能設計書Ａ２が独立して作成されたために、機能要件書Ａと機能設計書Ａ２の間にリレーションが設定されなかったとする。ただし、詳細設計プロセス２０３の設計担当者は、機能設計書Ａ２に基づいて詳細設計書Ａ２を作成した後、その詳細設計書Ａ２が機能設計書Ａ２に基づいて作成されたものであることを示す関連付けを指示したとする。この指示により、機能設計書Ａ２と詳細設計書Ａ２の間にリレーション２１７が設定される。
【００２７】
同様に、詳細設計プロセス２０３の設計担当者が、機能設計書Ｂに基づいて詳細設計書Ｂを作成したが、その詳細設計書Ｂが機能設計書Ｂに基づいて作成されたものであることを示す関連付けの指示を行わなかったとする。これにより、機能設計書Ｂと詳細設計書Ｂの間にはリレーションが設定されない。
【００２８】
上述のように、機能設計書Ａ２、機能設計書Ｂ、および詳細設計書Ｂについては、リレーションの設定が不完全である。
【００２９】
ここで、開発段階で、例えば機能要件書Ａに対して仕様変更等が生じた場合を考える。この場合、機能要件書Ａと機能設計書Ａ１の間に設定されているリレーション２０４によって、機能設計書Ａ１をすぐに呼び出して、機能要件書Ａの仕様変更に基づく設計変更を行うことができる。しかし、機能要件書Ａと機能設計書Ａ２の間にはリレーションが設定されていないため、機能設計書Ａ２は呼び出すことができない可能性があり、機能要件書Ａの仕様変更に基づく設計変更ができず、設計漏れが発生してしまう可能性がある。
【００３０】
同様に、例えば機能設計書Ｂに対して設計変更等が生じた場合を考える。この場合、機能設計書Ｂと詳細設計書Ｂの間にリレーションが設定されていないため、詳細設計書Ｂを呼び出すことができない可能性があり、機能設計書Ｂの仕様変更に基づく設計変更ができず、設計漏れが発生してしまう可能性がある。
【００３１】
図２の例は、ドキュメント数が少ない単純な例であるが、例えば自動車の開発プロセスにおいて、各段階の開発プロセスに登録されるドキュメントの数は膨大なものとなる。このため、リレーションが設定されないドキュメントは膨大な数のドキュメントの中に埋もれてしまい、トレーサビリティが確保できなくなって、開発に大きな支障を来す可能性がある。
【００３２】
そこで、図１のドキュメント管理装置１００は、以下に説明する動作によって、リレーションの設定が完全でないドキュメント（以下これを「未関連付けドキュメント」と呼ぶ）を特定し、その情報を出力表示する。
【００３３】
まず、担当者（ユーザ）は、リレーション（関連付け）の確認を行う開発プロセスを指定することができる。
【００３４】
例えば、図２において、担当者が機能要件プロセス２０１におけるリレーションの確認を指示したとする。図１の未関連付けドキュメント特定部１０１は、機能要件プロセス２０１に属する機能要件書Ａ、Ｂ、Ｃの各々につき、下流の機能設計プロセス２０２に属する機能設計書Ａ１、Ａ２、Ｂ、Ｃのいずれにも影響を与える関連付けがなされていないドキュメントを特定する。この特定は、機能要件書Ａ、Ｂ、Ｃのそれぞれについて、下流側に向かうリレーション（これを「Ｏｕｔ側のリレーション」と呼ぶ）が設定されているか否かを確認することにより行われる。この結果、未関連付けドキュメント特定部１０１は、全ての機能要件書について、Ｏｕｔ側のリレーションが設定されていないことを確認する。これを受けて、図１の未関連付けドキュメント情報出力部１０２は、特には出力表示は行わない。
【００３５】
次に例えば、図２において、担当者が機能設計プロセス２０２におけるリレーションの確認を指示したとする。図１の未関連付けドキュメント特定部１０１は、機能設計プロセス２０２に属する機能設計書Ａ１、Ａ２、Ｂ、Ｃの各々につき、上流の機能要件プロセス２０１に属する機能要件書Ａ、Ｂ、Ｃのいずれからも影響を受ける関連付けがなされていないドキュメントを特定する。あるいは未関連付けドキュメント特定部１０１は、機能設計書Ａ１、Ａ２、Ｂ、Ｃの各々につき、下流の詳細設計プロセス２０３に属する詳細設計書Ａ１、Ａ２、Ｂ、Ｃ１、Ｃ２のいずれにも影響を与える関連付けがなされていないドキュメントを特定する。これらの特定は、機能設計書Ａ１、Ａ２、Ｂ、Ｃのそれぞれについて、上流側からのリレーション（これを「Ｉｎ側のリレーション」と呼ぶ）、および前述のＯｕｔ側のリレーションがそれぞれ設定されているか否かを確認することにより行われる。この結果、未関連付けドキュメント特定部１０１は、機能設計書Ａ２についてＩｎ側のリレーションが設定されておらず、また機能設計書ＢについてＯｕｔ側のリレーションが設定されていないことを特定する。これを受けて、図１の未関連付けドキュメント情報出力部１０２が、機能設計書Ａ２および機能設計書Ｂに関するリレーション不足の情報を、出力表示する。
【００３６】
続いて例えば、図２において、担当者が詳細設計プロセス２０３におけるリレーションの確認を指示したとする。図１の未関連付けドキュメント特定部１０１は、詳細設計プロセス２０３に属する詳細設計書Ａ１、Ａ２、Ｂ、Ｃ１、Ｃ２の各々につき、上流の機能要件プロセス２０１に属する機能設計書Ａ１、Ａ２、Ｂ、Ｃのいずれからも影響を受ける関連付けがなされていないドキュメントを特定する。この結果、未関連付けドキュメント特定部１０１は、詳細設計書ＢについてＩｎ側のリレーションが設定されていないことを特定する。これを受けて、図１の未関連付けドキュメント情報出力部１０２が、詳細設計書Ｂに関するリレーション不足の情報を、出力表示する。
【００３７】
上述の未関連付けドキュメントの特定方法とは別に、担当者（ユーザ）は、リレーション（関連付け）の確認を行うドキュメントを直接指定することもできる。
【００３８】
例えば、図２において、担当者が機能要件書Ｂを指定したとする。この場合、図１の未関連付けドキュメント特定部１０１は、指定された機能要件書Ｂを起点として、その機能要件書Ｂが属する機能要件プロセス２０１の上流はないので下流の開発プロセスに向かって影響を与える関連付けがなされているドキュメントを順次辿ってゆく。この動作は、機能要件書Ｂを起点として、Ｏｕｔ側のリレーションを順次辿ってゆく動作である。まず、機能要件書Ｂに設定されているＯｕｔ側のリレーション２０６が参照されて、機能設計書Ｂが特定される。次に、機能設計書Ｂに設定されているＯｕｔ側のリレーションがチェックされるが、機能設計書ＢにはＯｕｔ側のリレーションは設定されていない。このようにして、未関連付けドキュメント特定部１０１は、機能設計書ＢにＯｕｔ側のリレーションが設定されていないことを特定する。そして、未関連付けドキュメント情報出力部１０２が、機能設計書ＢにＯｕｔ側のリレーションが設定されていないことを出力表示する。
【００３９】
また例えば、図２において、担当者が詳細設計書Ａ２を指定したとする。この場合、図１の未関連付けドキュメント特定部１０１は、指定された詳細設計書Ａ２を起点として、その詳細設計書Ａ２が属する詳細設計プロセス２０３の下流はないので上流の開発プロセスに向かって影響を与える関連付けがなされているドキュメントを順次辿ってゆく。この動作は、詳細設計書Ａ２を起点として、Ｉｎ側のリレーションを順次辿ってゆく動作である。まず、詳細設計書Ａ２に設定されているＩｎ側のリレーション２１０が参照されて、機能設計書Ａ２が特定される。次に、機能設計書Ａ２に設定されているＩｎ側のリレーションがチェックされるが、機能設計書Ａ２にはＩｎ側のリレーションは設定されていない。このようにして、未関連付けドキュメント特定部１０１は、機能設計書Ａ２にＩｎ側のリレーションが設定されていないことを特定する。そして、未関連付けドキュメント情報出力部１０２が、機能設計書Ａ２にＩｎ側のリレーションが設定されていないことを出力表示する。
【００４０】
上述の説明は、リレーションの確認を行うドキュメントが、最上流の開発プロセスである機能要件プロセス２０１か、最下流の開発プロセスである詳細設計プロセス２０３に属する場合についてのものである。リレーションの確認を行うドキュメントが、中流の開発プロセス（例えば機能設計プロセス２０２）に属する場合でも、上流側と下流側のそれぞれに対してＩｎ側のリレーションとＯｕｔ側のリレーションを順次辿ることにより、未関連付けドキュメントを特定できる。
【００４１】
以上のようにして本実施形態では、開発プロセスごとまたはドキュメントごとにリレーションの確認を指示することができる。これにより、本来設定されるべきＩｎ側またはＯｕｔ側のリレーションが設定されていない未関連付けドキュメント、すなわち開発プロセス毎に管理されているドキュメントのうちトレーサビリティのない文書を、的確に特定することが可能となる。
【００４２】
図３は、図１の機能を備えるドキュメント管理装置１００を実現可能なコンピュータのハードウェア構成例を示す図である。図３のコンピュータは、ＣＰＵ３０１、メモリ３０２、入力装置３０３、表示装置３０４、記憶装置３０５、ドキュメント登録インタフェース（以下「ドキュメント登録Ｉ／Ｆ」と記載する）３０６を備え、これらがバス３０７によって相互に接続された構成を有する。同図に示される構成は図１の機能を備えるドキュメント管理装置１００を実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【００４３】
ＣＰＵ３０１は、当該コンピュータ全体の制御を行う。メモリ３０２は、未関連付けドキュメント特定プログラムの実行、データ更新等の際に、記憶装置３０５に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＵＰ３０１は、プログラムをメモリ３０２に読み出して実行することにより、全体の制御を行う。
【００４４】
入力装置３０３は、図２に例示される機能要件プロセス２０１、機能設計プロセス２０２、または詳細設計プロセス２０３等の開発プロセスの登録、編集、削除を、担当者に操作させる。また、入力装置３０３は、各開発プロセスごとに図２に例示される機能要件書、機能設計書、詳細設計書等のドキュメントの登録、編集、削除を、担当者に操作させる。さらに、入力装置３０３は、例えば未関連付けドキュメントを確認するための検索条件を、担当者に指定させる。この検索条件は、例えば、確認をしたい開発プロセスの指定、確認をしたいドキュメントの指定等である。
【００４５】
表示装置３０４は、担当者による未関連付けドキュメントの検索指定に対して検索された開発プロセス間またはドキュメント間のＩｎ側およびＯｕｔ側のリレーションの情報、検索結果、未関連付けドキュメントを示すエラー情報等を、出力表示するディスプレイである。
【００４６】
記憶装置３０５は、図１の記憶部１０３に対応し、例えばハードディスク記憶装置または半導体メモリにより構成されるソリッドディスク記憶装置であり、未関連付けドキュメント特定プログラム、ドキュメントデータ、および後述する各種管理テーブルを記憶する。
【００４７】
ドキュメント登録Ｉ／Ｆ３０６は、例えば、ローカルエリアネットワーク（ＬＡＮ）やインターネットを介して、開発プロセスごとのドキュメントを登録するインタフェースである。
【００４８】
本実施形態によるシステムは、図５または図７のフローチャート等で実現される機能を搭載した未関連付けドキュメント特定プログラムをＣＰＵ３０１が実行することで実現される。そのプログラムは、例えば記憶装置３０５や特には図示しない可搬記録媒体に記録して配布してもよく、あるいは特には図示しないネットワーク接続装置によりＬＡＮやインターネット等のネットワークから取得できるようにしてもよい。
【００４９】
図４は、図３の記憶装置３０５に記憶される管理テーブルのデータ構成例を示す図である。管理テーブルには、図４（ａ）のデータ構成例を有するドキュメント管理テーブルと、図４（ｂ）のデータ構成例を有するリレーション管理テーブルがある。
【００５０】
図４（ａ）のドキュメント管理テーブルには、図４（ａ）の各行に対応するレコードごとに、ドキュメントを識別するための識別子（ＩＤ）と、ドキュメント名と、そのドキュメントが属する開発プロセスである登録プロセスの情報が登録されている。
【００５１】
図４（ｂ）のリレーション管理テーブルには、図４（ｂ）の各行に対応するレコードごとに、Ｉｎ側のリレーションである親リレーションとＯｕｔ側のリレーションである子リレーションの情報が登録されている。
【００５２】
図４（ａ）および図４（ｂ）の設定例は、図２の構成に対応している。
例えば、図４（ａ）のドキュメント管理テーブルの登録内容より、図２の機能要件プロセス２０１には、機能要件書Ａ、Ｂ、Ｃが属することがわかる。また、図２の機能設計プロセス２０２には、機能設計書Ａ１、Ａ２、Ｂ、Ｃが属することがわかる。さらに、図２の詳細設計プロセス２０３には、詳細設計書Ａ１、Ａ２、Ｂ、Ｃ１、Ｃ２が属することがわかる。
【００５３】
また、図４（ｂ）のリレーション管理テーブルと図４（ａ）のドキュメント管理テーブルの各登録内容より、「ＩＤ  ０００１」の機能要件書Ａと「ＩＤ  ０００４」の機能設計書Ａの間に、図２の２０４で示されるリレーションが設定されていることがわかる。「ＩＤ  ０００１」の機能要件書Ａに対する子リレーション（Ｏｕｔ側のリレーション）は「ＩＤ  ０００４」の機能設計書Ａであり、逆に、「ＩＤ  ０００４」の機能設計書Ａに対する親リレーション（Ｉｎ側のリレーション）は「ＩＤ  ０００１」の機能要件書Ａである。
【００５４】
あるいは、「ＩＤ  ０００７」の機能設計書Ｃに対しては、「ＩＤ  ００１１」の詳細設計書Ｃ１と「ＩＤ  ００１２」の詳細設計書Ｃ２との間に、図２の２０８および２０９で示される各リレーションが設定されていることがわかる。「ＩＤ  ０００７」の機能設計書Ｃに対する子リレーション（Ｏｕｔ側のリレーション）は「ＩＤ  ００１１」の詳細設計書Ｃ１および「ＩＤ  ００１２」の詳細設計書Ｃ２である。逆に、「ＩＤ  ００１１」の詳細設計書Ｃ１および「ＩＤ  ００１２」の詳細設計書Ｃ２の親リレーション（Ｉｎ側のリレーション）は、ともに機能設計書Ｃである。
【００５５】
図４（ｂ）のリレーション管理テーブルの他の設定例も、上記と同様に理解できる。
【００５６】
図５は、図３のＣＰＵ３０１が記憶装置３０５からメモリ３０２に読み出した未関連付けドキュメントプログラムを実行する処理である、プロセス指定によるドキュメント管理処理の例を示すフローチャートである。この処理は、図２で説明したように、担当者が図３の入力装置３０３からリレーションの確認を行う開発プロセスを指定した場合に実行される。
【００５７】
まず、担当者によって入力装置３０３から調査対象の開発プロセス（以下「対象プロセス」と記載する）が指定される（ステップＳ５０１）。
【００５８】
次に、対象プロセス間の順位情報が取得される（ステップＳ５０２）。具体的には、対象プロセスの前後、すなわち上流側の開発プロセスと下流側の開発プロセスが取得される。例えば、図２において、対象プロセスが機能要件プロセス２０１であれば、上流側の開発プロセスはないため、下流側の機能設計プロセス２０２が取得される。また例えば、図２において、対象プロセスが機能設計プロセス２０２であれば、上流側の開発プロセスとして機能要件プロセス２０１が、下流側の開発プロセスとして詳細設計プロセス２０３が、それぞれ取得される。さらに例えば、図２において、対象プロセスが詳細設計プロセス２０３であれば、下流側の開発プロセスはないため、上流側の機能設計プロセス２０２が取得される。なお、各開発プロセスの上流または下流の関係は、記憶装置３０５上の特には図示しないテーブルに記憶させてもよいし、または、図４（ａ）のドキュメント管理テーブル上で上から順に並んでいる登録プロセスの順番を、上流側から下流側に向かう順番としてもよい。
【００５９】
次に、ステップＳ５０１で指定された対象プロセスに属するドキュメントのＩｎ側のリレーションとＯｕｔ側のリレーションの情報がそれぞれ取得される（ステップＳ５０３）。
【００６０】
具体的には、まず、対象プロセスに属するドキュメントのＩＤが、記憶装置３０５に記憶されている図４（ａ）に例示されるドキュメント管理テーブルから取得される。例えば、対象プロセスが図２の機能設計プロセス２０２である場合、図４（ａ）のドキュメント管理テーブルより、機能設計プロセス２０２に属するドキュメントのＩＤは、「ＩＤ  ０００４」「ＩＤ  ０００５」「ＩＤ  ０００６」「ＩＤ  ０００７」とわかる。すなわち、機能設計書Ａ１、Ａ２、Ｂ、Ｃである。
【００６１】
次に、これらのＩＤで示されるドキュメントのＩｎ側のリレーションが取得される。具体的には、図４（ｂ）のリレーション管理テーブル上で、これらのＩＤを子リレーションとして有するレコードに対応する親リレーションのＩＤが検索される。例えば、「ＩＤ  ０００４」（機能設計書Ａ１）に対するＩｎ側のリレーションは「ＩＤ  ０００１」（機能要件書Ａ）である（図２の２０４に対応）。また、「ＩＤ  ０００５」（機能設計書Ａ２）に対応するＩｎ側のリレーションは無い（図２参照）。また、「ＩＤ  ０００６」（機能設計書Ｂ）に対応するＩｎ側のリレーションは「ＩＤ  ０００２」（機能要件書Ｂ）である（図２の２０６に対応）。さらに、「ＩＤ  ０００７」（機能設計書Ｃ）に対応するＩｎ側のリレーション「ＩＤ  ０００３」（機能要件書Ｃ）である（図２の２０７に対応）。
【００６２】
続いて、対象プロセスである機能設計プロセス２０２に属する各ドキュメントの「ＩＤ  ０００４」「ＩＤ  ０００５」「ＩＤ  ０００６」「ＩＤ  ０００７」に対して、Ｏｕｔ側のリレーションが取得される。具体的には、図４（ｂ）のリレーション管理テーブル上で、これらのＩＤを親リレーションとして有するレコードに対応する子リレーションのＩＤが検索される。例えば、「ＩＤ  ０００４」（機能設計書Ａ１）に対応するＯｕｔ側のリレーションは「ＩＤ  ０００８」（詳細設計書Ａ１）である。また、「ＩＤ  ０００５」（機能設計書Ａ２）に対応するＯｕｔ側のリレーションは「ＩＤ  ０００９」（詳細設計書Ａ２）である。また、「ＩＤ  ０００６」（機能設計書Ｂ）に対応するＯｕｔ側のリレーションは無い。さらに、「ＩＤ  ０００７」（機能設計書Ｃ）に対応するＯｕｔ側のリレーションは「ＩＤ  ００１１」（詳細設計書Ｃ１）と「ＩＤ  ００１２」（詳細設計書Ｃ２）である。
【００６３】
以上のステップＳ５０３の処理の後、ステップＳ５０２で取得されている開発プロセス間の順位情報と、ステップＳ５０３で取得されたＩｎ側のリレーションおよびＯｕｔ側のリレーションの情報が、一致しているか否かが判定される（ステップＳ５０４）。
【００６４】
一致が検出されたステップＳ５０４の判定がＹＥＳならば、対象プロセスに対するＩｎ側のリレーションおよびＯｕｔ側のリレーションともに異常はないと判定される（ステップＳ５０５）。そして、図３の表示装置３０４に、その対象プロセスに対する調査結果はＯＫである旨が表示される（ステップＳ５０６）。その後、図５のフローチャートで示されるプロセス指定によるドキュメント管理処理が終了する。
【００６５】
一致が検出されずステップＳ５０４の判定がＮＯならば、対象プロセスに対するＩｎ側のリレーションまたはＯｕｔ側のリレーションのいずれかで異常があると判定される（ステップＳ５０７）。例えば、上述した図２の例では、対象プロセスである機能設計プロセス２０２において、「ＩＤ  ０００５」（機能設計書Ａ２）に対応するＩｎ側のリレーションが無いことが検出される。また、「ＩＤ  ０００６」（機能設計書Ｂ）に対応するＯｕｔ側のリレーションが無いことが検出される。そして、図３の表示装置３０４に、Ｅｒｒｏｒが表示され、検出の対象となったドキュメントの情報が表示される（ステップＳ５０８）。その後、図５のフローチャートで示されるプロセス指定によるドキュメント管理処理が終了する。
【００６６】
図６は、上述のプロセス指定によるドキュメント管理処理に基づいてステップＳ５０８で表示装置３０４に表示される未関連付けドキュメント情報の出力表示例を示す図である。この表示例では、機能設計書Ａ２に対してインプットドキュメント（Ｉｎ側のリレーション）が設定されていないことが表示されている。また、機能設計書Ｂに対してアウトプットドキュメント（Ｏｕｔ側のリレーション）が設定されていないことが表示されている。
【００６７】
以上のようにして、図５のフローチャートで例示されるプロセス指定によるドキュメント管理処理により、開発プロセスごとに、リレーションが設定されていないトレーサビリティのない文書を、的確に特定し表示することが可能となる。
【００６８】
図７は、図３のＣＰＵ３０１が記憶装置３０５からメモリ３０２に読み出した未関連付けドキュメントプログラムを実行する処理である、ドキュメント指定によるドキュメント管理処理の例を示すフローチャートである。この処理は、図２で説明したように、担当者が図３の入力装置３０３からリレーションの確認を行うドキュメントを直接指定した場合に実行される。
【００６９】
まず、担当者によって入力装置３０３から調査対象のドキュメント（以下「対象ドキュメント」と記載する）が指定される（ステップＳ７０１）。
【００７０】
次に、全ての開発プロセス間の順位情報が取得される（ステップＳ７０２）。具体的には、前述したように、各開発プロセスの上流または下流の関係は、記憶装置３０５上の特には図示しないテーブルに記憶させてもよい。または、図４（ａ）のドキュメント管理テーブル上で上から順に並んでいる登録プロセスの順番を、上流側から下流側に向かう順番としてもよい。
【００７１】
次に、まず対象ドキュメントに対するＩｎ側のリレーションおよびＯｕｔ側のリレーションの情報が取得される（ステップＳ７０３）。ただし、対象ドキュメントが属する開発プロセスが最上流の開発プロセスである場合は、Ｏｕｔ側のリレーションの情報のみが取得される。また、対象ドキュメントが属する開発プロセスが最下流の開発プロセスである場合は、Ｉｎ側のリレーションの情報のみが取得される。対象ドキュメントが属する開発プロセスが最上流の開発プロセスと最下流の開発プロセスのいずれでもない場合には、Ｉｎ側のリレーションの情報とＯｕｔ側のリレーションの情報が、それぞれ例えば並列処理（直列処理等であってもよい）により取得される。
【００７２】
具体的には、Ｏｕｔ側のリレーションの情報が取得されるときには、まず、図４（ａ）のドキュメント管理テーブルが参照されることにより、対象ドキュメントのＩＤが取得される。例えば、対象ドキュメントが機能要件書Ｂ（図２参照）であるときには、ＩＤは「ＩＤ  ０００２」である。次に、図４（ｂ）のリレーション管理テーブルが参照されることにより、上記ＩＤを親リレーションとするレコードの子リレーションのＩＤが取得されることにより、Ｏｕｔ側のリレーションの情報が取得される。例えば、上記「ＩＤ  ０００２」に対しては、「ＩＤ  ０００６」（機能設計書Ｂ）が取得される。
【００７３】
一方、Ｉｎ側のリレーションの情報が取得されるときには、まず、図４（ａ）のドキュメント管理テーブルが参照されることにより、対象ドキュメントのＩＤが取得される。例えば、対象ドキュメントが詳細設計書Ａ２（図２参照）であるときには、ＩＤは「ＩＤ  ０００９」である。次に、図４（ｂ）のリレーション管理テーブルが参照されることにより、上記ＩＤを子リレーションとするレコードの親リレーションのＩＤが取得されることにより、Ｉｎ側のリレーションの情報が取得される。例えば、上記「ＩＤ  ０００９」に対しては、「ＩＤ  ０００５」（機能設計書Ａ２）が取得される。
【００７４】
次に、ステップＳ７０３の処理において、Ｉｎ側のリレーションの情報が検索された場合には、Ｉｎ側のリレーションの情報が得られたか否かが判定される（ステップＳ７０４）。また、ステップＳ７０３の処理において、Ｏｕｔ側のリレーションの情報が検索された場合には、Ｏｕｔ側のリレーションの情報が得られたか否かが判定される（ステップＳ７０５）。ステップＳ７０３の処理において、Ｉｎ側のリレーションの情報とＯｕｔ側のリレーションの情報の両方が検索された場合には、ステップＳ７０４とＳ７０６の判定処理が例えば並列（直列等であってもよい）に実行される。
【００７５】
Ｉｎ側のリレーションの情報が得られてステップＳ７０４の判定がＹＥＳの場合には、取得されたＩｎ側のリレーションの情報が示すドキュメントに対して、さらにＩｎ側のリレーションの情報が取得される（ステップＳ７０５）。例えば、対象プロセス「ＩＤ  ０００９」（詳細設計書Ａ２）に対してＩｎ側のリレーション（図２の２１０に対応）の情報として「ＩＤ  ０００５」（機能設計書Ａ２）が取得されたら、次の動作が実行される。図４（ｂ）のリレーション管理テーブルから、上記「ＩＤ  ０００５」をさらに子リレーションとするレコードの親リレーションのＩＤが取得されることにより、さらにＩｎ側のリレーションの情報が取得される。「ＩＤ  ０００５」の場合、そのようなレコードは無い。
【００７６】
その後、上記ステップＳ７０５によりＩｎ側のリレーションの情報が得られたか否かが判定される（ステップＳ７０４）。ステップＳ７０４の判定がＹＥＳならば、さらにステップＳ７０５が実行され、その先のＩｎ側のリレーションが順次辿られる。上記「ＩＤ  ０００５」の場合には、ステップＳ７０４の判定がＮＯとなる。
【００７７】
一方、ステップＳ７０３でＯｕｔ側のリレーションの情報が得られてステップＳ７０６の判定がＹＥＳの場合には、取得されたＯｕｔ側のリレーションの情報が示すドキュメントに対して、さらにＯｕｔ側のリレーションの情報が取得される（ステップＳ７０７）。例えば、対象プロセス「ＩＤ  ０００２」（機能要件書Ｂ）に対してＯｕｔ側のリレーション（図２の２０６に対応）の情報として「ＩＤ  ０００６」（機能設計書Ｂ）が取得されたら、次の動作が実行される。図４（ｂ）のリレーション管理テーブルから、上記「ＩＤ  ０００６」をさらに親リレーションとするレコードの子リレーションのＩＤが取得されることにより、さらにＯｕｔ側のリレーションの情報が取得される。「ＩＤ  ０００６」の場合、そのようなレコードは無い。
【００７８】
その後、上記ステップＳ７０７によりＯｕｔ側のリレーションの情報が得られたか否かが判定される（ステップＳ７０６）。ステップＳ７０６の判定がＹＥＳならば、さらにステップＳ７０７が実行され、その先のＯｕｔ側のリレーションが順次辿られる。上記「ＩＤ  ０００６」の場合には、ステップＳ７０６の判定がＮＯとなる。
【００７９】
対象ドキュメントが中流の開発プロセスでステップＳ７０３でＩｎ側とＯｕｔ側の両方のリレーションの情報が検索された場合には、ステップＳ７０４とＳ７０５の繰返し処理と、ステップＳ７０６とＳ７０７の繰返し処理が、それぞれ並列に実行される。
【００８０】
ステップＳ７０４およびＳ７０６の判定がＮＯになると、上記リレーションを順次辿る処理により取得されたドキュメントの情報が、開発プロセスの順に、図３の表示装置３０４に表示される（ステップＳ７０８）。
【００８１】
さらに、上記リレーションを順次辿る処理により取得された該当するドキュメントの情報が、全ての開発プロセスにおいて存在しているか否かが判定される（ステップＳ７０９）。
【００８２】
ステップＳ７０９の判定がＹＥＳならば、対象ドキュメントに対するＩｎ側のリレーションおよびＯｕｔ側のリレーションともに異常はないと判定される（ステップＳ７１０）。そして、図３の表示装置３０４に、その対象ドキュメントに対する調査結果はＯＫである旨が表示される（ステップＳ７１１）。その後、図７のフローチャートで示されるドキュメント指定によるドキュメント管理処理が終了する。
【００８３】
ステップＳ７０９の判定がＮＯならば、対象ドキュメントに対するＩｎ側のリレーションまたはＯｕｔ側のリレーションのいずれかで異常があると判定される（ステップＳ７１２）。例えば、上述した図２の例において、対象ドキュメントが詳細設計書Ａ２であった場合、そこから辿られる機能設計書Ａ２に対するＩｎ側のリレーションが無い。
【００８４】
この場合には、ステップＳ７０８による表示中で、異常が発生したドキュメントの情報カ所が、例えば赤くエラー表示される（ステップＳ７１３）。その後、図７のフローチャートで示されるドキュメント指定によるドキュメント管理処理が終了する。
【００８５】
図８は、上述のドキュメント指定によるドキュメント管理処理に基づいてステップＳ７０８とＳ７１３で表示装置３０４に表示される未関連付けドキュメント情報の出力表示例を示す図である。なお、この表示例では、図２の詳細設計プロセス２０３に対して、開発プロセス、テストプロセスの順にさらに下流プロセスが存在する場合が示されている。ここで、対象ドキュメントが例えば詳細設計書Ａ２であった場合、その下流のドキュメントはＯＫであるが、上流側で機能設計書Ａ２に対するＩｎ側のリレーションが無く（図２参照）、機能要件プロセス２０１の部分が例えば赤く表示される。そして、機能要件に対するアウトプットが登録されていない旨が表示されている。
【００８６】
以上のようにして、図７のフローチャートで例示されるドキュメント指定によるドキュメント管理処理により、ドキュメントごとに、全開発プロセスにわたってトレーサビリティがあるか否かを、的確に特定し表示することが可能となる。
【図１】
2015121982.tif 000003
【図２】
2015121982.tif 000004
【図３】
2015121982.tif 000005
【図４】
2015121982.tif 000006
【図５】
2015121982.tif 000007
【図６】
2015121982.tif 000008
【図７】
2015121982.tif 000009
【図８】
2015121982.tif 000010
【国際調査報告】
2015121982.tif 000011
2015121982.tif 000012
2015121982.tif 000013
2015121982.tif 000014