(57)【特許請求の範囲】
【請求項１】
データを格納する格納部と、
成果物の名称である成果物名と成果物の内容である成果物内容とを含む成果物データと、ユーザ名との入力を受け付け、受け付けられた成果物内容と同一の成果物内容の成果物データが前記格納部に存在するかどうかを判定し、存在しないと判定すると受け付けられた成果物データに同一の成果物名を持つ成果物データどうしを区別する版番号を付与するとともに、付与された版番号と、受け付けられた成果物データと、現在の日時を示す日時情報と受け付けられたユーザ名とを含む変更情報とを対応付けて前記格納部に格納する成果物受付部と、
成果物名を受け付け、成果物名を受け付けると前記格納部に格納されている成果物データの中から受け付けられた成果物名である受付成果物名を持つ成果物データを版番号ごとに特定し、版番号ごとに特定された成果物データのそれぞれに対応する変更情報を特定し、特定された変更情報に基づいて、所定の規則に従うことにより受付成果物名で代表される成果物と他の成果物名で代表される成果物との間の依存関係の確度を計算する確度計算部と
を備えたことを特徴する依存関係推定装置。
【請求項２】
前記依存関係推定装置は、さらに、
成果物データの検索条件と、ユーザ名とを受け付け、前記格納部から検索条件に該当する成果物データを取得するとともに、受け付けられたユーザ名と、取得された成果物データに含まれる成果物名と、現在の時刻を示す取出時刻とを含む取り出し情報を生成し、生成された取り出し情報を取得された成果物データに含まれる成果物名と対応付けて前記格納部に格納する成果物取出部と、
前記成果物取出部により取得された成果物データを出力する出力部と
を備え、
前記確度計算部は、
成果物名を受け付け、成果物名を受け付けると前記格納部に格納されている成果物データの中から受け付けられた成果物名である受付成果物名を持つ成果物データを版番号ごとに特定し、版番号ごとに特定された成果物データのそれぞれに対応する変更情報を特定するとともに、前記格納部に格納されている取り出し情報の中から受付成果物名を持つ成果物データに対応する取り出し情報を特定し、特定された変更情報と取り出し情報とに基づいて、所定の規則に従うことにより受付成果物名で代表される成果物と他の成果物名で代表される成果物との間の依存関係の確度を計算することを特徴とする請求項１記載の依存関係推定装置。
【請求項３】
前記依存関係推定装置は、さらに、
前記確度計算部により計算された依存関係の確度を入力し、入力された依存関係の確度を用いることにより、所定の統計的手法に基づいて、受付成果物名で代表される成果物と他の成果物名で代表される成果物との間の依存関係の有無を推定する依存関係推定部を備えたことを特徴とする請求項１または２のいずれかに記載の依存関係推定装置。
【請求項４】
前記確度計算部は、
前記成果物受付部によって版番号と、成果物データと、変更情報とが対応付けられて前記格納部に格納されるときに、起動して処理を実行することを特徴とする請求項１〜３のいずれかに記載の依存関係推定装置。
【請求項５】
前記確度計算部は、
前記成果物取出部によって取り出し情報が前記格納部に格納されるときに、起動して処理を実行することを特徴とする請求項２〜４のいずれかに記載の依存関係推定装置。
【請求項６】
データを格納する格納部を備えたコンピュータを
（１）成果物の名称である成果物名と成果物の内容である成果物内容とを含む成果物データと、ユーザ名との入力を受け付け、受け付けられた成果物内容と同一の成果物内容の成果物データが前記格納部に存在するかどうかを判定し、存在しないと判定すると受け付けられた成果物データに同一の成果物名を持つ成果物データどうしを区別する版番号を付与するとともに、付与された版番号と、受け付けられた成果物データと、現在の日時を示す日時情報と受け付けられたユーザ名とを含む変更情報とを対応付けて前記格納部に格納する成果物受付部、
（２）成果物名を受け付け、成果物名を受け付けると前記格納部に格納されている成果物データの中から受け付けられた成果物名である受付成果物名を持つ成果物データを版番号ごとに特定し、版番号ごとに特定された成果物データのそれぞれに対応する変更情報を特定し、特定された変更情報に基づいて、所定の規則に従うことにより受付成果物名で代表される成果物と他の成果物名で代表される成果物との間の依存関係の確度を計算する確度計算部、
として機能させることを特徴する依存関係推定プログラム。
【請求項７】
請求項６記載の依存関係推定プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項８】
データを格納する格納部と、
成果物の名称である成果物名称と成果物の内容である成果物内容とを含む成果物データの入力を受け付け、受け付けられた成果物内容と同一の成果物内容の成果物データが前記格納部に存在するかどうかを判定し、存在しないと判定すると受け付けられた成果物データに同一の成果物名を持つ成果物データどうしを区別する版番号を付与するとともに、付与された版番号と、受け付けられた成果物データとを対応付けて前記格納部に格納する成果物受付部と、
影響元となる成果物データの成果物名と影響元の成果物データの成果物内容の変更によって影響を受ける影響先となる成果物データの成果物名とからなる成果物名のペアであって予め指定された指定ペアと、この指定ペアに対して予め設定された依存関係の確度との入力を受け付けて前記格納部に記録する依存関係受付部と、
成果物名を受け付け、前記格納部に格納されている成果物データのうち受け付けられた成果物名である受付成果物名を影響元とし、前記格納部に格納されている成果物データの成果物名を影響元である受付成果物名の成果物データの成果物内容の変更によって影響を受ける影響先とした成果物名のペアを作成ペアとして作成し、それぞれの作成ペアについて影響元の受付成果物名を持つ成果物データと影響先の成果物名を持つ成果物データとの間の依存関係の確度を、複数の確度計算プログラムを実行することにより、確度計算プログラムごとに個別に計算する個別確度計算部と、
前記個別確度計算部が個別に計算したそれぞれの確度と、前記依存関係受付部によって前記格納部に記録された確度のうち受付成果物名を影響元とする指定ペアの確度とを用いて、作成ペアごとの依存関係の確度を総合確度として再計算する総合確度計算部と
を備えたことを特徴とする依存関係推定装置。
【請求項９】
前記成果物受付部は、
成果物内容の変更が予定される成果物データの成果物名がｎ個（ｎは２以上の整数）記載された変更対象記載文書の入力を受け付けて前記格納部に格納し、
前記格納部は、
変更対象記載文書に記載されたｎ個の成果物名から生成可能なｎＰ２通りの成果物名のペアであって一方を影響元とし他方を影響元の成果物データの成果物内容の変更によって影響を受ける影響先とするペアと、それぞれのペアごとに設定された依存関係の確度とを格納しており、
前記依存関係推定装置は、さらに、
前記格納部に格納されたｎＰ２通りのペアの依存関係の確度を前記格納部から抽出する依存関係抽出部を備え、
前記総合確度計算部は、
前記個別確度計算部が個別に計算したそれぞれの確度と、前記依存関係受付部によって前記格納部に記録された確度のうち受付成果物名を影響元とする指定ペアの確度とに加え、さらに、前記依存関係抽出部によって抽出された依存関係の確度とを用いて、作成ペアごとの総合確度を再計算することを特徴とする請求項８記載の依存関係推定装置。
【請求項１０】
前記成果物受付部は、
影響元の成果物名と影響元の成果物データの成果物内容の変更によって影響を受ける影響先の成果物名とのペアが記載された依存関係記載文書の入力を受け付けて前記格納部に格納し、
前記格納部は、
依存関係記載文書に記載されたペアと、このペアに設定された依存関係の確度とを格納しており、
依存関係推定装置は、さらに、
依存関係記載文書に記載されたペアの依存関係の確度を前記格納部から抽出する依存関係抽出部を備え、
前記総合確度計算部は、
前記個別確度計算部が個別に計算したそれぞれの確度と、前記依存関係受付部によって前記格納部に記録された確度のうち受付成果物名を影響元とする指定ペアの確度とに加え、さらに、前記依存関係抽出部によって抽出された依存関係の確度とを用いて、作成ペアごとの総合確度を再計算することを特徴とする請求項８記載の依存関係推定装置。
【請求項１１】
前記依存関係受付部は、
指定ペアと、この指定ペアの依存関係の確定を指示する依存関係確定指示情報との入力を受け付け、
前記総合確度計算部は、
前記依存関係受付部が受け付けた依存関係確定指示情報に対応する指定ペアの依存関係を確定済みとして、前記格納部に記録することを特徴とする請求項８〜１０のいずれかに記載の依存関係推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ソフトウェア開発における成果物の間の依存関係を推定する成果物間依存関係推定装置に関する。
【背景技術】
【０００２】
従来は、ユーザが、あるファイルに設定情報として、相関関係（依存関係）を持つファイル名を手作業で記述することによって、ファイル間の依存関係を記録し、また設定情報を参照することで、対象のファイルを変更することによって影響を受ける可能性があるファイルを一覧化していた（特許文献１）。
【特許文献１】特開２０００−４７８６１号公報、「影響範囲検出装置および影響範囲の検出方法」
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の技術では、ユーザが直接ファイル間の依存関係を手作業で記述する必要があったため、以下のような問題点があった。
（１）依存関係がファイル内容の変更に伴っては変更されずに開発が進められ、信用できる依存関係をユーザに提示することができない恐れがある。
（２）ファイル中に直接依存関係を記述しているため、ファイル変更作業中に誤って削除してしまい、依存関係をユーザに提示できなくなる。
【０００４】
この発明は、上記のような問題点を解決するためになされたもので、ファイルの依存関係を自動的に構築・推定し、なおかつファイルの内容変更に伴って依存関係を自動的に更新することを目的とする。
【課題を解決するための手段】
【０００５】
この発明の依存関係推定装置は、
データを格納する格納部と、
成果物の名称である成果物名と成果物の内容である成果物内容とを含む成果物データと、ユーザ名との入力を受け付け、受け付けられた成果物内容と同一の成果物内容の成果物データが前記格納部に存在するかどうかを判定し、存在しないと判定すると受け付けられた成果物データに同一の成果物名を持つ成果物データどうしを区別する版番号を付与するとともに、付与された版番号と、受け付けられた成果物データと、現在の日時を示す日時情報と受け付けられたユーザ名とを含む変更情報とを対応付けて前記格納部に格納する成果物受付部と、
成果物名を受け付け、成果物名を受け付けると前記格納部に格納されている成果物データの中から受け付けられた成果物名である受付成果物名を持つ成果物データを版番号ごとに特定し、版番号ごとに特定された成果物データのそれぞれに対応する変更情報を特定し、特定された変更情報に基づいて、所定の規則に従うことにより受付成果物名で代表される成果物と他の成果物名で代表される成果物との間の依存関係の確度を計算する確度計算部と
を備えたことを特徴する。
【発明の効果】
【０００６】
この発明により、ファイルの依存関係の確度を自動的に算出する装置を提供できる。
【発明を実施するための最良の形態】
【０００７】
以下の実施の形態で説明する成果物間依存関係推定装置は、ソフトウェア開発における成果物の「変更情報」や「取り出し情報」を記録しておき、例えば、同一開発者によって短い時間差で発生するほど成果物間の依存関係が高いと推定し、変更対象の成果物に対して、影響を受ける可能性がある関連する他の成果物を開発者に提示する。
【０００８】
実施の形態１．
図１〜図１６を参照して実施の形態１を説明する。
【０００９】
図１は、コンピュータで実現される成果物間依存関係推定装置１００１の外観の一例を示す図である。図１において、成果物間依存関係推定装置１００１は、システムユニット８３０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置８１３、キーボード８１４（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス８１５、ＦＤＤ８１７（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・  Ｄｒｉｖｅ）、コンパクトディスク装置８１８（ＣＤＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｄｒｉｖｅ）、プリンタ装置８１９などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
【００１０】
図２は、コンピュータで実現される成果物間依存関係推定装置１００１のハードウェア資源の一例を示す図である。図２において、成果物間依存関係推定装置１００１は、プログラムを実行するＣＰＵ８１０（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１２、表示装置８１３、キーボード８１４、マウス８１５、通信ボード８１６、ＦＤＤ８１７、ＣＤＤ８１８、プリンタ装置８１９、磁気ディスク装置８２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置８２０の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【００１１】
ＲＡＭ８１２は、揮発性メモリの一例である。ＲＯＭ８１１、ＦＤＤ８１７、ＣＤＤ８１８、磁気ディスク装置８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、バッファの一例である。通信ボード８１６、キーボード８１４、ＦＤＤ８１７などは、入力部、入力装置の一例である。また、通信ボード８１６、表示装置８１３、プリンタ装置８１９などは、出力部、出力装置の一例である。
【００１２】
通信ボード８１６は、ネットワーク（ＬＡＮ等）に接続されている。通信ボード８１６は、ＬＡＮに限らず、インターネット、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
【００１３】
磁気ディスク装置８２０には、オペレーティングシステム８２１（ＯＳ）、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、オペレーティングシステム８２１、ウィンドウシステム８２２により実行される。
【００１４】
上記プログラム群８２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【００１５】
ファイル群８２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明する情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００１６】
また、以下に述べる実施の形態の説明においては、データや信号値は、ＲＡＭ８１２のメモリ、ＦＤＤ８１７のフレキシブルディスク、ＣＤＤ８１８のコンパクトディスク、磁気ディスク装置８２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス８２５や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１７】
また、以下に述べる実施の形態の説明において、「〜部」として説明するものは、「手段」、「〜回路」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００１８】
図３は、実施の形態１の成果物間依存関係推定装置１００１のブロック図である。成果物間依存関係推定装置１００１は、入力部１０、ファイル受付部２０、格納部３０、変更部分入力部４０、影響範囲検出部５０、出力部６０を備える。影響範囲検出部５０は、確度計算部５１と影響先ファイル検出部５２とから構成される。
【００１９】
（１）入力部１０は、ユーザからの入力を受け付ける。
（２）ファイル受付部２０は、入力されたファイル（ファイル名、ファイル内容）とユーザ名を受け付け、ファイルと変更情報（ユーザ名、変更時刻等）として、格納部３０に登録する。
（３）格納部３０は、版管理されたファイルと、ファイルの変更情報、体制表データを保持する。
（４）変更部分入力部４０は、変更対象のファイルを指定する。
（５）影響範囲検出部５０は、影響先ファイル検出部５２と確度計算部５１でおこなわれる。確度計算部５１は、変更情報をもとに、ファイル間の依存関係の確度を計算する。影響先ファイル検出部５２は、入力されたファイル名に対応する変更情報を格納部３０より取得し、確度計算部５１を用いて確度を計算し、影響先ファイルとその確度の一覧を出力部６０に渡す。
（６）出力部６０は、影響先ファイル名とその確度の一覧をユーザに表示する。
【００２０】
次に、格納部３０で保持する格納データについて説明する。図４に、格納部３０で保持する格納データのデータ構造をＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）クラス図で示す。
（１）ファイル１１１は、履歴を管理する単位のデータを記録する。
（２）版１１２は、ファイル内容の履歴を管理するためのデータである。変更されるたびに新しい版が作成される。１つのファイルに対して、複数の版が存在しうる。ある版でアクセスするためのファイル名を持つ。ファイル名は、ある時点ですべてのファイルについて一意なものである。
（３）ファイル内容１１３は、ある版におけるファイルの内容が記録されている。
（４）ユーザ１１４は、格納部３０にアクセスする権限を持つユーザが記録されており、ユーザ名で識別する。
（５）チーム１１５は、体制表データとして、ユーザの集まりである開発チームが記録されており、チームは、ユーザまたはチームで構成される。
（６）変更情報１１６は、ある版の内容へ誰がいつ変更したかを記録する。
【００２１】
これらのデータ間における接続は、一方から他方のデータを参照できることをしめしている。なお、図４のデータ構造は一例であり、ファイル名を記録せずにファイルＩＤで代用する場合や、ファイルと版を１つのデータとして記録する場合や、変更情報に変更内容を記録する場合や、チームを記録しない場合などが考えられるが、いずれの場合でも本質的には本実施の形態で適用可能である。
【００２２】
次に、動作について説明する。
【００２３】
（ファイル受付部２０の処理）
図５は、ファイル受付部２０の処理手順をＵＭＬアクティビティ図を示す。
（ステップ１．）ファイル受付部２０は、入力部１０を介して、ファイル（ファイル名、ファイル内容）とユーザ名との入力を受ける。
（ステップ２．）ファイル受付部２０は、変更情報を記録するため、現在日時を変更日時として取得する。現在日時は、例えばＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）から取得する。
（ステップ３．）ファイル受付部２０は、ユーザ名、変更日時を含む変更情報を生成する。
（ステップ４．）ファイル受付部２０は、格納部３０に格納されているファイルのファイル内容と、入力されたファイルのファイル内容とを比較する。
（ステップ５．）ファイル受付部２０は、ファイル内容が同じ場合には処理を終了する。ファイル内容が異なる場合には、ステップ６の処理へ進む。
（ステップ６．）ファイル受付部２０は、ファイル（ファイル名、ファイル内容）と、変更情報を格納部３０に登録する。また、登録の際には、同一のファイル名を持つファイル内容どうしを区別するための版番号、ファイルＩＤを付与する。ファイル受付部２０は、版番号と、受け付けられたファイル（ファイル名、ファイル内容）と、変更情報とを対応付けて格納部３０に格納する。
【００２４】
図６は、例えば、ある時点での格納部３０の状態をＵＭＬオブジェクト図で示す図である。図６は、まだファイルが登録されていない状態を示している。図６では、プロジェクトの体制表のデータがあらかじめ記録されており、開発者として太郎、次郎、三郎がおり、太郎と次郎はライブラリ開発チームに属し、プロジェクト全体のチームには、ライブラリ開発チームと三郎が属することを示している。
図７は、図６の状態から、太郎がファイルｍａｉｎ．ｊａｖａ（登録商標）を２００８年１月１日０時０分０秒に登録した後の状態を示す。図７では、あらたに登録されたファイルｍａｉｎ．ｊａｖａ（登録商標）と、版（版番号１）、ファイル内容と、変更情報が記録されており、変更情報では太郎が変更したことが記録される。
図８は、図７の状態から、さらに、太郎がファイルｍａｉｎ．ｊａｖａ（登録商標）を２００８年１月１日１１時０分０秒に内容を変更した後の状態を示す。図８では、ファイルｍａｉｎ．ｊａｖａ（登録商標）に新たな版（版番号２）、内容、変更情報が記録され、変更情報には太郎が変更したことが記録される。
【００２５】
（影響先ファイル検出部５２の処理）
図９は、影響先ファイル検出部５２の処理手順を示す。実施の形態１の成果物間依存関係推定装置１００１では、ファイル受付部２０によりファイル（ファイル名、ファイル内容）を受け付けて、格納部３０に順次蓄積していくとともに、入力部１０、変更部分入力部４０を介して影響先ファイル検出部５２にファイル名が入力されると、後述の確度計算部５１が起動する実施形態である。
（ステップ１．）影響先ファイル検出部５２は、入力部１０、変更部分入力部４０を介して、ファイル名の入力を受け付ける。
（ステップ２．）影響先ファイル検出部５２は、入力されたファイル名を確度計算部５１に渡し、入力されたファイル名で代表されるファイルと他のファイル名で代表されるファイル間の依存関係の確度を、確度計算部５１を利用して計算する。
（ステップ３．）影響先ファイル検出部５２は、ファイル間の依存関係の確度を確度計算部５１から受け取り、入力したファイル名を影響元ファイル、他のファイルを影響先ファイルとして、これらの対応関係にさらに依存関係の確度を追加して、一覧を出力部６０に渡す。
【００２６】
（確度計算部５１の処理）
図１０は、確度計算部５１の処理手順を示す。例として、影響先ファイル検出部５２から、ファイル名Ａを入力されたものとし、記録されている変更情報が図１１のようであったとする。
（ステップ１．）確度計算部５１は、ファイルの最新の版（版番号）のうち、影響先ファイル検出部５２より入力されたファイル名を持つ版を検索し、特定する。そして、その版に対応する変更情報を特定する。そして、その直後の変更情報をペアにする。さらに、同じファイルの過去の版を追跡し、それらの変更情報と、その直後の変更情報をペアにしていく。例えば、図１２のように、ファイルＡの変更情報が特定されたとすると、確度計算部５１は、その直後にある変更情報をペアとして抽出する。この結果、（Ａ，Ｂ）、（Ａ，Ｃ）、（Ａ，Ｂ）、（Ａ，Ｄ）、（Ａ，Ｂ）の５つのペアが抽出される。
（ステップ２．）確度計算部５１は、変更情報のペアについて、それぞれの変更情報に対応する変更者が同じとなるペアのみを選択する。例えば、図１３では、変更情報Ｎｏ．１、２では、ともに変更者がｔａｒｏとなるので選択される。一方、変更情報Ｎｏ．２０、２１では、ファイルＡをｔａｒｏが、ファイルＤをｊｉｒｏが変更しているため、選択されない。選択結果は図１４のようになる。
（ステップ３．）確度計算部５１は、選択した変更情報のペアの集合を入力として、確度関数を用いて依存関係の確度を計算する。確度関数には、例えば変更時間差が短いほど確度が高くなるよう「変更時間差（単位は分）の逆数の和」という関数が考えられる。図１５は、このような場合の出力を示している。なお、変更情報のペアを抽出する方法としては、他に、図１６のように、あるファイル（図１６ではＡ）が変更されてから次に変更されるまでの間に変更されたファイルすべてとペアを組む方法のほか、種々のものが考えられる。
【００２７】
（確度関数のバリエーション）
確度関数として他に、以下のものをはじめ、種々のものが考えられる。
（１）「変更時間差の逆２乗の和」など、変更時間差をパラメータに持つ関数。
（２）変更量をパラメータに持つ関数。大幅に内容を変更した場合には、それまでと依存関係が変更される可能性が高いため、最新の変更による依存関係の確度を相対的に高める必要がある場合などに有用である。
（３）変更時刻をパラメータに持つ関数。休憩時間や夜間をまたいだ場合に依存関係を低くするのに有用である。
【００２８】
なお、変更情報のペアを選択する方法として、他に同じチームに属する別々のユーザが変更した場合も選択するケースが考えられる。その場合、確度関数として、同じユーザが変更した場合の確度と、同じチームに属するが異なるユーザが変更した場合の確度を、引数に持つ関数（重みつきの和など）などが考えられる。
【００２９】
以上のように、変更情報等を利用して依存関係の確度を計算することで、ファイルの内容変更に伴って依存関係を追随させることができ、またユーザが誤って依存関係を削除することを防止することができる。
【００３０】
実施の形態２．
図１７〜図２７を参照して、実施の形態２を説明する。実施の形態２では、実施の形態１から以下の機能を追加する。
（１）影響を受ける範囲（ファイルの集合）を明示するため、ある影響元ファイルに対して、影響先ファイルとその確度を一覧化（実施の形態１）するだけでなく、ファイルの集合の間で依存関係とその確度を計算する機能（確度計算部５１）を追加する。実施の形態２では、確度計算部５１にこの機能を持たせている。
（２）影響先ファイルとその確度を直感的に把握できるようにするため、影響先ファイルと確度を一覧化および視覚的に表示する機能（影響範囲表示部２０１）を追加する。
（３）影響先ファイルを問い合わせる際の処理時間を改善するため、影響先ファイルへの確度の計算結果を保存しておく機能を追加する。実施の形態２では、確度計算部５１にこの機能を持たせている。
【００３１】
図１７は、実施の形態２の成果物間依存関係推定装置１００２のブロック図を示す。
（１）確度計算部５１は、実施の形態１とほぼ同様の機能であるが、格納部３０中に変更情報が追加されるたびに起動され、計算した確度を後述する図１８における依存関係（１１１−２）として格納部３０に記録する。
（２）影響先ファイル検出部５２は、格納部３０に記録されている依存関係（１１１−２）の確度をもとに、影響先ファイルとその確度を影響範囲表示部２０１に出力する。
（３）影響範囲表示部２０１は、影響先ファイルと依存関係の確度について、一覧表や、チャート、グラフなど、表示用に加工する。
（４）成果物間依存関係推定装置１００２のその他の機能は、実施の形態１の成果物間依存関係推定装置１００１と同じである。
【００３２】
次に、格納部３０で保持するデータについて説明する。図１８に格納部３０で保持するデータを示す。依存関係（１１１−２）は、ファイル間の依存関係の確度を記録したものである。影響元のファイルと、影響先のファイルと関連を持つ。その他のデータについては実施の形態１の図２と同じである。
【００３３】
次に、動作について説明する。
【００３４】
（影響先ファイル検出部５２の処理）
影響先ファイル検出部５２の処理手順を図１９に示す。なお、前述のように、確度計算部５１は格納部３０中に変更情報が追加されるたびに起動され、確度計算部５１により計算され依存関係の確度は、図１８の依存関係（１１１−２）として蓄積していく。以下のステップは、この状態において、影響先ファイル検出部５２がファイル名の集合を受け付ける場合である。
（ステップ１．）影響先ファイル検出部５２は、入力部１０、変更部分入力部４０を介してファイル名集合の入力を受ける。ファイル名集合は一つのファイル名の場合でもよい。
（ステップ２．）影響先ファイル検出部５２は、格納部３０から、入力されたファイル名集合に含まれるファイル名を持つファイルに関連している依存関係データ（依存関係（１１１−２））を取得する。
（ステップ３．）影響先ファイル検出部５２は、取得した依存関係データから、確度と影響先ファイルを取得する。ここでは、影響先ファイルからさらに影響を与えるファイルなど、再帰的に影響先ファイルを取得していくことも考えられる。
（ステップ４．）影響先ファイル検出部５２は、影響元ファイル、影響先ファイル、確度を１セットとして、その集合を出力する。
【００３５】
（影響範囲表示部２０１の処理）
影響範囲表示部２０１の処理手順を図２０に示す。例として、影響先ファイル検出部５２から出力されたデータが、図２１のようであったとする。
（ステップ１．）影響範囲表示部２０１は、出力形式によって処理を振り分ける。出力形式の指定は、入力部１０からの入力や、格納部３０に設定情報として指定しておくなどの方法がある。
（ステップ２．）影響範囲表示部２０１は、一覧表の形式に変換して出力する。ファイル名を１つだけ与えた場合と、複数与えた場合の出力例をそれぞれ、図２２、図２３に示す。
（ステップ３．）影響範囲表示部２０１は、グラフ形式に変換して出力する。ファイルをノードで表現し、依存関係をエッジで表現し、確度によってエッジの強調レベル（エッジを表示しない場合も含む）を変更して表示する。ファイル名を１つだけ与えた場合と、複数与えた場合の出力例をそれぞれ、図２４、図２５に示す。
（ステップ４．）影響範囲表示部２０１は、チャート形式に変換して出力する。軸に影響元ファイルや影響先ファイル、確度を設定して、表示する。ファイル名を１つだけ与えた場合と、複数与えた場合の出力例をそれぞれ、図２６、図２７に示す。
【００３６】
以上のように、格納部３０中の変更情報等が変更されるたびに依存関係の確度を更新することで、影響先ファイルを調べるときの効率低下を防ぐことができるとともに、複数のファイル間および視覚的に依存関係の確度を表示することで、影響範囲や依存関係の確度を視覚的に把握することが可能となる。
【００３７】
実施の形態３．
図２８〜図３１を参照して実施の形態３を説明する。実施の形態３では、実施の形態２よりも信頼できる依存関係を推定できるようにするため、ファイルを取り出した際の情報を取り出し情報として記録し、変更情報と併せて、依存関係を推定する。
【００３８】
図２８は、実施の形態３の成果物間依存関係推定装置１００３のブロック図を示す。
（１）確度計算部５１は、アクセス情報（前述の変更情報、後述の取り出し情報のいずれもを含む。）をもとに、ファイル間の依存関係の確度を計算し、記録する。確度計算部５１は格納部３０中のアクセス情報が変更されるたびに起動される。
（２）ファイル取り出し部３０１は、格納部３０からファイルを取り出すとともに、取り出し情報として、取り出したファイルのファイル名とユーザ名と取り出し日時とを記録する。
（３）他の機能については、実施の形態２の成果物間依存関係推定装置１００２と同じである。
【００３９】
次に、格納部３０で保持するデータについて説明する。図２９は、格納部３０で保持するデータを示す。取り出し情報（１１８−３）には、ファイルを取り出したユーザ名、日時、取り出したファイルのファイル名を記録される。他のデータについては、実施の形態２の図１８と同じである。
【００４０】
次に、動作について説明する。
【００４１】
（ファイル取り出し部３０１の処理）
図３０は、ファイル取り出し部３０１の処理手順を示す。
（ステップ１．）ファイル取り出し部３０１は、入力部１０を介して、ファイルの取り出し条件とユーザ名の入力を受ける。
（ステップ２．）ファイル取り出し部３０１は、格納部３０から、条件を満たすファイルを取得する。
（ステップ３．）ファイル取り出し部３０１は、取り出し情報として、取得できたファイル（ファイル名）、ユーザ名、取り出し時刻（現在時刻）を格納部３０に記録する。
（ステップ４．）取り出したファイルを出力部６０に渡す。
【００４２】
（確度計算部５１の処理）
確度計算部５１の処理手順を図３１に示す。図３１は、図１０の変更情報がアクセス情報となっている。
（ステップ１．）確度計算部５１は、ファイル名に対応するアクセス情報と、その直後のアクセス情報をペアとして抽出する。
（ステップ２．）確度計算部５１は、アクセス情報のペアについて、両方の操作者（変更者または閲覧者）が同じペアだけを選択する。
（ステップ３．）確度計算部５１は、確度関数を用いて確度を計算する。実施の形態１の確度計算部５１と同様のことが、実施の形態３のアクセス情報のペア抽出方法、確度関数、アクセス情報のペアを選択する方法でも種々考えられる。さらに、アクセス情報のペア抽出方法については、（変更情報，変更情報）、（変更情報，取り出し情報）、（取り出し情報，変更情報）、（取り出し情報，取り出し情報）の一部またはすべてのケースについてペア抽出することも考えられる。確度関数についても同様に、抽出されるペアの種類に応じて、個別の確度関数を設定することが考えられる。
【００４３】
以上のように、ファイルを取り出したときの取り出し情報を記録することで、あるファイルを見ながら別のファイルを作成する場合の依存関係を記録することができ、依存関係の信頼性を高めることができる。
【００４４】
実施の形態４．
図３２〜図３６を参照して実施の形態４を説明する。実施の形態４は、依存関係の確度が高いものだけをユーザに提示することで、ユーザの開発作業効率の改善を図る。そのため、確度から依存関係の有無を推定する機能（依存関係推定部４０１）を追加する。
【００４５】
図３２は、実施の形態４の成果物間依存関係推定装置１００４を示すブロック図である。依存関係推定部４０１は、依存関係の確度の集合から、依存関係の有無を統計的に推定し、依存関係があると推定した影響先ファイルのみ出力する。その他の機能については、実施の形態３と同じである。
【００４６】
格納部３０で保持するデータは、実施の形態３と同じである。
【００４７】
次に、動作について説明する。
【００４８】
（依存関係推定部４０１の処理）
図３３は、依存関係推定部４０１の処理手順を示す。例として、影響先ファイル検出部５２から図２１のような入力があったとする。
（ステップ１．）依存関係推定部４０１は、依存関係の集合を、推定する単位で分割する。例えば、分割方法として、入力の集合全てとする場合、影響元ファイルが同じものである場合（図３４）、影響先ファイルが同じものである場合（図３５）、などが考えられる。分割する単位の指定方法として、格納部３０に記録しておく、入力部１０から入力する、などの方法が考えられる。
（ステップ２．）依存関係推定部４０１は、推定していない依存関係の集合があれば、ステップ３へ。なければ処理を終了する。
（ステップ３．）依存関係推定部４０１は、統計的な手法を利用して依存関係の有無を振り分ける。利用する手法は、格納部３０に記録しておく、入力部１０から入力する、などの方法が考えられる。例えば、図３６のような振り分け方がある。この場合、依存関係ありと判断したものだけを出力する。
【００４９】
依存関係の有無を振り分ける統計的な手法の例として以下のものがあり、他にもさまざまな推定方法が考えられる。
（１）依存関係の集合について、確度の昇順に整列しておき、隣り合う確度の差が最大となる箇所を境界として、それよりも確度が高いものを依存関係あり、確度が低いものを依存関係なしと判定する方法。
（２）同様に、平均値で分割する方法、最頻値で分割する方法、中央値で分割する方法など。
（３）同様に、境界値よりも大きい集合と小さい集合それぞれの平均値の差が最大化する境界値で分割する方法。
（４）あらかじめ設定しておいた確度の閾値を上回れば依存関係あり、下回れば依存関係なしと判定する方法。
【００５０】
以上のように、依存関係の集合について、その確度から依存関係の有無を推定することで、確度の高い依存関係を持つ成果物だけをユーザに提示することが可能となる。
【００５１】
実施の形態５．
次に図３７〜図４０を参照して実施の形態５を説明する。実施の形態５では、１つのファイル中に複数の項目を記載している場合等にも、項目間の依存関係を推定できるようにする。
【００５２】
以降では、「成果物」とは、２つの間で依存関係が定義される対象とし、例えば、以下のものを含む用語とする。
（１）１ファイル。
（２）１ファイル中の依存関係を把握する対象の項目。
（３）ウェブベースのフォーム等を利用してシステム内部で生成したオブジェクト。
（４）データベース中の表や、表中の１レコード。
【００５３】
図３７は、実施の形態５の成果物間依存関係推定装置１００５を示すブロック図である。
（１）は、入力部１０から入力されたファイルから、成果物を抽出する。
（２）整形部５０２は、格納部３０から検索された成果物を、ユーザが編集しやすいように整形して、出力部６０に出力する。
（３）実施の形態４ではファイルを扱っていたが、実施の形態５では項目を成果物として扱う点を除き、実施の形態４と同じである。
【００５４】
次に、格納部３０で保持するデータについて説明する。図３８に格納部３０で保持するデータを示す。実施の形態４でファイルとして扱っていたものを、実施の形態５では成果物として扱う点を除き、実施の形態４と同じである。
【００５５】
次に、動作について説明する。
【００５６】
（成果物抽出部５０１の処理）
図３９は、成果物抽出部５０１の処理手順を示す。
（ステップ１．）成果物抽出部５０１は、ファイル（ファイル名、ファイル内容）とユーザ名の入力を受ける。
（ステップ２．）成果物抽出部５０１は、入力されたファイルに対して、成果物抽出プログラムを適用することにより、成果物を抽出する。成果物抽出プログラムは、格納部３０にあらかじめ記録しておく、入力部１０から入力する、などの方法がある。
（ステップ３．）成果物抽出部５０１は、抽出した成果物とユーザ名を成果物受付部（２０−５）に出力する。成果物受付部（２０−５）の動作は、実施の形態４のファイル受付部２０と同様である。
【００５７】
（整形部５０２の処理）
整形部５０２の処理手順を図４０に示す。
（ステップ１．）整形部５０２は、検索された成果物の集合を入力として、整形プログラムを適用する。整形プログラムは、格納部３０にあらかじめ記録しておく、入力部１０から入力する、などの方法がある。
（ステップ２．）整形部５０２は、整形済み成果物集合を出力部６０に出力する。
【００５８】
以上のようにすることで、１つのファイル中に複数の項目を記述している場合などに、それらの項目どうしの間で依存関係を記録することができる。
【００５９】
実施の形態６．
図４１〜図４８を参照して実施の形態６を説明する。実施の形態６では、ユーザが手作業で入力した依存関係と、システムが計算した依存関係を共存させることで、信頼性を高める実施形態である。そのため、ユーザの入力を受け付ける機能（依存関係手動設定部）や、ユーザが他の目的で作成した文書から依存関係を読み取る機能（依存関係抽出部）等を追加する。
【００６０】
図４１は、実施の形態６の成果物間依存関係推定装置１００６のブロック図である。
【００６１】
（１）成果物受付部２０：
成果物受付部２０は、入力された成果物とユーザ名を受け付け、成果物と変更情報（ユーザ名、変更時刻等）とを、格納部３０に登録し、確度計算プログラム６４を起動する機能を有する。
（２）成果物取り出し部３０１：
成果物取り出し部３０１は、格納部３０から成果物を取り出すとともに、取り出し情報として取り出した成果物とユーザ名と取り出し日時を記録し、確度計算プログラム６４を起動する機能を有する。
（３）依存関係手動設定部６０１：
依存関係手動設定部６０１は、ユーザが指定した、影響先成果物と影響元成果物とそれらの間の確度を、格納部３０に記録する機能を有する。
（４）依存関係抽出部６０２：
依存関係抽出部６０２は、依存関係を抽出可能なプロジェクト管理用文書データから、依存関係を抽出する機能を有し、プロジェクト管理用文書データが更新されると起動される。
（５）総合確度計算部（５１−６）：
総合確度計算部（５１−６）は、種々の確度計算プログラム６４（下記に述べるように、格納部３０に格納された種々の確度計算プログラム）によって計算された確度をもとに、総合確度を計算する機能を有する。その他の機能については、実施の形態５と同じである。なお、依存関係を抽出可能なプロジェクト管理用文書データとして、例えば次の障害連絡票と変更依頼表とがある。
【００６２】
（１）障害連絡票：
障害連絡票とは、検出した障害と、その障害を改修するために変更が必要となる成果物が記録されている文書である。
（２）変更依頼票：
変更依頼票とは、ある開発チームで変更した成果物に対して、他の開発チームで変更が必要となる成果物が記録されている。
【００６３】
次に、格納部３０で保持するデータについて説明する。図４２に格納部３０で保持するデータを示す。
【００６４】
（１）確度計算プログラム６４：
確度計算プログラム６４は、成果物間の確度を計算または設定するプログラムである。例えば、実施の形態６の機能構成図で示した
（ａ）依存関係手動設定部６０１の実行するプログラムや
（ｂ）依存関係抽出部６０２の実行するプログラム、
（ｃ）総合確度計算部（５１−６）の実行するプログラム
が該当する。また、実施の形態５の
（ｄ）確度計算部５１が実行するプログラムも該当する。その他、
（ｅ）成果物中の出現語句を利用して成果物間の類似度を計算し、依存関係の確度として出力するプログラム
をはじめとして、種々のものが考えられる。
【００６５】
＊図４２の確度計算プログラム６４において、成果物の変更時に確度計算プログラム６４を起動するかどうかは、成果物受付部２０を経由して格納部３０の成果物が変更されたときに実行されるべき確度計算プログラム６４かどうかを考慮して設定の有無を決める。例えば、
上記（ａ），（ｂ）および（ｃ）の確度計算プログラム６４
は変更時の起動は不要だが、
（ｄ）および（ｅ）のプログラム
は変更時の起動が必要となる。
【００６６】
＊同様に、図４２の確度計算プログラム６４において、成果物の取り出し時に確度計算プログラム６４を起動するかどうかは、成果物取り出し部３０１を経由して格納部３０の成果物が取り出されたときに実行されるべき確度計算プログラム６４かどうかを考慮して設定の有無を決める。例えば、上記、（ａ）（ｂ）（ｃ）および（ｅ）の確度計算プログラム６４は読み出し時の起動は不要だが、（ｄ）は読み出し時の起動が必要となる。
【００６７】
（２）依存関係６３：
図４２の依存関係６３には、成果物間の依存関係を記録する。確度のほかに、計算した日時、確定させるべき依存関係かどうかを記録する。影響元成果物、影響先成果物、確度計算プログラム６４、計算した日時の組１つにつき、依存関係が１つ記録される。
【００６８】
＊計算した日時には、確度計算プログラム６４が確度を出力するときの日時が記録される。手動設定した日時も記録される可能性があり、時間経過とともにメンテナンスされない可能性を考慮して総合確度を計算するなどの目的で記録するデータである。
【００６９】
＊確定させるべき依存関係かどうかには、依存関係の確度に関係なく依存関係があることを人為的に設定するためのデータである。成果物間の依存関係について、詳細に調査をおこなった上で、人手によって依存関係を確定させるなどの目的で記録するデータである。
【００７０】
（１）変更対象記載文書：
変更対象記載文書とは、プロジェクト管理用文書データのうち、変更対象となる成果物（例えばファイル）が記載された文書である。例えば、変更対象記載文書Ａは、ファイルＸ、ファイルＹ、ファイルＺが変更が必要なファイルであるという情報を含んでいる。
（２）依存関係記載文書：
依存関係記載文書とは、プロジェクト管理用文書データのうち、影響元の成果物と、影響先の成果物が記載された文書である。依存関係記載文書Ｂは、例えば、ファイルＸが影響元であり、ファイルＹが影響先であるという情報を含んでいる。その他のデータについては、実施の形態５と同じである。
【００７１】
図４３は、実施の形態６の主要動作を説明する図である。図４４は、実施の形態６の変更対象記載文書の処理を説明する図である。まず図４４を参照して説明する。
【００７２】
（１）成果物受付部２０は、成果物の名称である成果物名称と成果物の内容である成果物内容とを含む成果物データの入力を受け付ける。成果物受付部２０は、実施の形態１あるいは実施の形態５の場合と同様に、受け付けた成果物内容と同一の成果物内容の成果物データが格納部３０に存在するかどうかを判定する。成果物受付部２０は、存在しないと判定すると受け付けた成果物データに同一の成果物名を持つ成果物データどうしを区別する版番号を付与し、付与した版番号と、受け付けた成果物データとを対応付けて格納部３０に格納する。図４３は、成果物データＸ１（版番号１）、成果物データＹ１（版番号１）、成果物データＺ１（版番号１）が格納部３０に格納された状態を示している。
（２）また、依存関係手動設定部６０１（依存関係受付部）は、影響元となる成果物データの成果物名と影響元の成果物データの成果物内容の変更によって影響を受ける影響先となる成果物データの成果物名とからなる成果物名のペアであって予め指定された指定ペアと、この指定ペアに対して予め設定された依存関係の確度との入力を受け付けて格納部３０に記録する。図４３は、影響元「Ｘ」、影響先「Ｙ」の指定ペア及び確度３を受け付けた場合を示している。
（３）確度計算部５１（個別確度計算部）は、成果物名を受け付け、格納部３０に格納されている成果物データのうち受け付けられた成果物名である受付成果物名を影響元とし、格納部３０に格納されている成果物データの成果物名を影響元である受付成果物名の成果物データの成果物内容の変更によって影響を受ける影響先とした成果物名のペアを作成ペアとして作成する。この受け付ける成果物名は、確度計算部５１は、成果物が格納されるごと、あるいは成果物が取り出されるごとに、格納部３０あるいは、影響先成果物検出部５２から取得する。取得経路は実装で自由に設定できる。そして、確度計算部５１は、それぞれの作成ペアについて影響元の受付成果物名を持つ成果物データと影響先の成果物名を持つ成果物データとの間の依存関係の確度を、複数の確度計算プログラムを実行することにより、確度計算プログラムごとに個別に計算する。図４３は、確度計算部５１が受付成果物名として「成果物名＝Ｘ」を受け付けた場合を示している。確度計算部５１は「成果物名＝Ｘ」を受け付けると、「Ｘ」を影響元とし、格納部３０に格納されている他の成果物を影響先とする作成ペア「Ｘ，Ｙ」、「Ｘ，Ｚ」を作成する。なお、「Ｘ、Ｘ」は図４３に示していないが、作成しても構わない。確度計算部５１（個別確度計算部）は、図４３に示すように、それぞれ確度を求める規則の異なる複数の確度計算プログラムＰ１〜Ｐｎを用いて、「Ｘ，Ｙ」、「Ｘ，Ｚ」の作成ペアの確度を計算する。
（４）総合確度計算部（５１−６）は、確度計算部５１が個別に計算した作成ペアのそれぞれの確度と、依存関係手動設定部６０１によって格納部３０に記録された確度のうち受付成果物名を影響元とする指定ペアの確度とを用いて、作成ペアごとの依存関係の確度を総合確度として再計算する。すなわち総合確度計算部（５１−６）は、「Ｘ，Ｙ」については確度計算プログラムＰ１〜Ｐｎで計算されたそれぞれの確度と、依存関係手動設定部６０１によって記録された指定ペア「Ｘ→Ｙ＝３」に設定された確度「３」とを用いて、作成ペア「Ｘ，Ｙ」の総合確度を計算し、作成ペア「Ｘ，Ｚ」の確度については、確度計算プログラムＰ１〜Ｐｎで計算されたそれぞれの確度から総合確度を計算する。
（５）また依存関係手動設定部６０１は、指定ペアと、この指定ペアの依存関係の確定を指示する依存関係確定指示情報との入力を受け付ける。図４３では、依存関係手動設定部６０１が、指定ペア「Ｘ，Ｚ」と、この指定ペアについての依存関係確定指示情報とを受け付けた場合を示している。総合確度計算部（５１−６）は、依存関係手動設定部６０１が受け付けた依存関係確定指示情報に対応する指定ペアの依存関係を確定済みとして、格納部３０に記録する。すなわち、図４３の場合、総合確度計算部（５１−６）は、指定ペア「Ｘ，Ｚ」の依存関係は確定済みとして格納部３０に記録する。
【００７３】
（変更対象記載文書の場合）
図４４は、成果物受付部２０が変更対象記載文書を受け付けた場合を示している。
（１）変更対象記載文書には、成果物内容の変更が予定される成果物データの成果物名がｎ個（ｎは２以上の整数）記載されている。図４４は、「Ｘ」、「Ｙ」の２つの成果物名が記載されている例である。
（２）一方、格納部３０は、この変更対象記載文書に記載されたｎ個の成果物名から生成可能なｎＰ２通りの成果物名のペアであって一方を影響元とし他方を影響元の成果物データの成果物内容の変更によって影響を受ける影響先とするペアと、それぞれのペアごとに設定された依存関係の確度とを格納している。例えば図４４の例であれば、「Ｘ→Ｙ＝４」、及び「Ｙ→Ｘ＝１」というデータを予め格納している。ファイル名「Ｘ」等は、通常のプログラム開発において登場が想定される成果物であり、依存関係も前もって格納部３０に格納しておく。
（３）依存関係抽出部６０２は、格納部３０に格納されたｎＰ２通りのペアの依存関係の確度を格納部３０から抽出する。図４４の例では、依存関係抽出部６０２は、「Ｘ→Ｙ＝４」及び「Ｙ→Ｘ＝１」の情報を格納部３０から抽出する。
（４）総合確度計算部（５１−６）は、確度計算部５１が個別に計算したそれぞれの確度と、依存関係手動設定部６０１によって格納部３０に記録された確度のうち受付成果物名を影響元とする指定ペアの確度とに加え、さらに、依存関係抽出部６０２によって抽出された依存関係の確度とを用いて、作成ペアごとの総合確度を再計算する。例えば総合確度計算部（５１−６）は、作成ペア「Ｘ→Ｙ」については、確度計算プログラムＰ１〜Ｐｎから計算された各確度、指定ペアの依存関係の確度として記録された「Ｘ→Ｙ＝３」の確度「３」、及び依存関係抽出部６０２により抽出された「Ｘ→Ｙ＝４」の確度「４」とから総合確度を計算する。
【００７４】
（依存関係記載文書の場合）
依存関係記載文書の場合を説明する。
（１）成果物受付部２０は、影響元の成果物名と影響元の成果物データの成果物内容の変更によって影響を受ける影響先の成果物名とのペアが記載された依存関係記載文書の入力を受け付けて前記格納部に格納する。例えば「Ｘ→Ｙ」（Ｘは影響元の成果物名、Ｚは影響先の成果物名）という依存関係が記載されている。
（２）格納部３０は、依存関係記載文書に記載されたペアと、このペアに設定された依存関係の確度とを格納している。例えば、依存関係記載文書に「Ｘ→Ｙ」の記載が有る場合には、格納部３０は、「Ｘ→Ｙ＝５」というようなデータを格納している。この意味で、上記に説明した変更対象記載文書及び依存関係記載文書は、いわゆる「準手動」で成果物間の依存関係を設定している。
（３）依存関係抽出部６０２は、依存関係記載文書に記載されたペアの依存関係の確度を格納部３０から抽出する。例えば、依存関係抽出部６０２は、格納部３０から「Ｘ→Ｙ＝５」のデータを抽出する。
（４）前記総合確度計算部は、確度計算部５１が個別に計算したそれぞれの確度と、依存関係手動設定部６０１によって格納部３０に記録された確度のうち受付成果物名を影響元とする指定ペアの確度とに加え、さらに、依存関係抽出部６０２によって抽出された依存関係の確度とを用いて、作成ペアごとの総合確度を再計算する。
【００７５】
次に、具体的な動作について説明する。依存関係手動設定部６０１の処理手順を図４５に示す。
（ステップ１．）影響元成果物名、影響先成果物名、確度、確定した依存関係かどうかの入力を受ける。
（ステップ２．）格納部３０に、依存関係として記録する。
【００７６】
依存関係抽出部６０２の処理手順を図４６に示す。
（ステップ１．）依存関係抽出部６０２は、変更された文書の種類を調べる。
（ステップ２．）変更対象記載文書の場合にはステップ３の処理へ進み、依存関係記載文書の場合はステップ４の処理へ進む。
（ステップ３．変更対象記載文書）
変更対象記載文書から変更対象成果物を抽出する。抽出するには、抽出するプログラムをあらかじめ格納部３０に記録しておき、それを実行する。
（ステップ４．）抽出した変更対象成果物について、相互の依存関係を格納部３０に記録する。記録する確度の数値、確定させるべき依存関係かどうかは、あらかじめ格納部３０に記録しておく。前述の例のように変更対象記載文書Ａが、ファイルＸ、Ｙ、Ｚが変更必要という情報を含んでいる場合、依存関係抽出部６０２は、「Ｘ（影響元）→Ｙ（影響先）」、「Ｙ→Ｘ」、「Ｙ→Ｚ」、「Ｚ→Ｙ」、「Ｚ→Ｘ」、「Ｘ→Ｚ」の６通り（３Ｐ２）の依存関係の確度、およびそれぞれについて確定した確度かどうかの情報を記録する。２つのファイル間の依存関係とその確度は、予め格納部３０に設定されている。すなわち、依存関係抽出部６０２は、変更対象記載文書Ａに変更対象ファイルＸ、Ｙ、Ｚが記載されている場合には、格納部３０に既に設定されている「Ｘ→Ｙ」等の依存関係の確度を検索し、取得する。この意味で「準手動的」に依存関係を設定する。
（ステップ５．依存関係記載文書）
依存関係記載文書から影響元成果物と影響先成果物を抽出する。抽出するには、抽出するプログラムをあらかじめ格納部３０に記録しておき、それを実行する。
（ステップ６．）記載されている、影響元成果物と影響先成果物との間の依存関係（確度、及びその依存関係を確定させるべきかどうかの情報）を格納部３０に記録する。記録する確度の数値、確定させるべき依存関係かどうかは、あらかじめ格納部３０に記録しておく。前述の例のように依存関係記載文書Ｂが、「Ｘ→Ｙ」という依存関係を含んでいる場合、依存関係抽出部６０２は、すでに格納部３０に格納されている「Ｘ→Ｙ」の依存関係の確度を取得し、「Ｘ→Ｙ」の確度を格納部３０に記録する。
【００７７】
成果物受付部２０の処理手順を図４７に示す。ステップ１〜ステップ６は、実施の形態５と同じである。ステップ７で、格納部３０に記録されている確度計算プログラムのうち、変更時に起動すると記録されている確度計算プログラム６４をすべて起動する。
【００７８】
成果物取り出し部３０１の処理手順を図４８に示す。ステップ１〜３とステップ５は、実施の形態５のステップ１〜４と同じである。ステップ４で、格納部３０に記録されている確度計算プログラム６４のうち、成果物取り出し時に起動すると記録されている確度計算プログラム６４をすべて起動する。
【００７９】
総合確度計算部（５１−６）の処理手順を図４９に示す。総合確度計算部（５１−６）は、種々の確度計算プログラム６４によって計算される依存関係の確度が更新されたことを検知して起動される。
（ステップ１．）影響元成果物と影響先成果物の組について、総合確度計算部（５１−６）以外の確度計算プログラム６４ごとに、最新の依存関係を取り出す。
（ステップ２．）影響元成果物と影響先成果物の組ごとに、確定させるべき依存関係を含む場合、ステップ３の処理へ進む。含まない場合はステップ４の処理へ進む。
（ステップ３．）確定させるべき依存関係であると明示されているため、確定させるべき依存関係として格納部３０に記録する。
（ステップ４．）種々の確度計算プログラム６４によって計算された確度を元に、総合確度関数を用いて総合確度を計算する。総合確度関数は、「確度計算日時からの経過時間によって重み付けされた、各々の確度の和」をはじめとして、種々のものが考えられる。
（ステップ５．）計算された総合確度を、総合確度計算部（５１−６）によって依存関係として格納部３０に記録する。
【００８０】
影響先成果物検出部５２の処理手順を図５０に示す。ステップ１およびステップ３〜４は実施の形態５と同じである。ステップ２は、指定の確度計算プログラム６４によって記録された依存関係のみを対象として、入力された成果物名の集合に含まれる成果物が影響となる依存関係を、格納部３０から取得する。総合的な確度に基づいた依存関係を表示する場合には総合確度計算部（５１−６）を指定し、個別の確度計算部５１によって記録された依存関係を表示する場合には、個別の確度計算部５１を指定する。計算部の指定方法は、あらかじめ格納部３０に記録しておく、入力部１０から入力するなどの方法がある。
【００８１】
以上のようにすることで、ユーザが入力した依存関係や、ユーザが記述したプロジェクト管理用文書データに記載の依存関係を利用して、依存関係がない成果物間に依存関係がある、あるいは依存関係があるのに成果物間に依存関係なし、と推定してしまう恐れを低減することができる。
【００８２】
以上の実施の形態１〜実施の形態６においては、成果物間依存関係推定装置おいて「〜部」として示した各構成要素の一連の動作は互いに関連しており、これら一連の動作は、コンピュータに実施させるプログラムによる処理に置き換えることができる。各構成要素の動作をプログラムによる処理に置き換えることにより、「依存関係推定プログラム」の実施形態とすることができる。また、この「依存関係推定プログラム」を、コンピュータ読み取り可能な記録媒体に記録させることで、プログラムを記録したコンピュータ読み取り可能な記録媒体の実施形態とすることができる。また、成果物間依存関係推定装置おいて「〜部」として示した各構成要素の一連の動作を「〜ステップ」として把握することにより、成果物間依存関係推定装置を「依存関係推定方法」として把握することも可能である。
【００８３】
以上の実施の形態１では、以下の手段を備えた成果物間依存関係推定装置を説明した。
（１）ユーザからの入力を受け付ける手段。
（２）入力されたファイルとユーザ名を受け付け、ファイルと変更情報として、登録する手段。
（３）版管理されたファイルと、ファイルの変更情報、体制表データを保持する手段。
（４）変更対象のファイルを指定するための手段。
（５）変更情報をもとに、ファイル間の依存関係の確度を計算する手段。
（６）入力されたファイル名に対応する変更情報を格納手段より取得し、確度計算手段を用いて確度を計算し、影響先ファイルとその確度の一覧を出力手段に渡す手段。
（７）影響先ファイル名とその確度の一覧をユーザに表示する手段。
【００８４】
以上の実施の形態２では、以下の手段を備えた成果物間依存関係推定装置を説明した。
（１）ユーザからの入力を受け付ける手段。
（２）入力されたファイルとユーザ名を受け付け、ファイルと変更情報として、登録する手段。
（３）版管理されたファイルと、ファイルの変更情報、体制表データ、ファイル間の依存関係を保持する手段。
（４）変更対象のファイルを指定するための手段。
（５）変更情報をもとに、ファイル間の依存関係の確度を計算し、記録する手段。
（６）記録されている依存関係の確度をもとに、影響先ファイルとその確度を出力する手段。
（７）影響先ファイルと依存関係の確度について、一覧表や、チャート、グラフなど、表示用に加工する手段。
（８）影響先ファイル名とその確度をユーザに表示する手段。
【００８５】
以上の実施の形態３では、以下の手段を備えた成果物間依存関係推定装置を説明した。
（１）ユーザからの入力を受け付ける手段。
（２）入力されたファイルとユーザ名を受け付け、ファイルと変更情報として、登録する手段。
（３）ファイルを取り出すとともに、取り出し情報として取り出したファイルとユーザ名と取り出し日時を記録する手段。
（４）版管理されたファイルと、ファイルの変更情報、ファイルの取り出し情報、体制表データ、ファイル間の依存関係を保持する手段。
（５）変更対象のファイルを指定するための手段。
（６）変更情報および取り出し情報をもとに、ファイル間の依存関係の確度を計算し、記録する手段。
（７）記録されている依存関係の確度をもとに、影響先ファイルとその確度を出力する手段。
（８）影響先ファイルと依存関係の確度について、一覧表や、チャート、グラフなど、表示用に加工する手段。
（９）影響先ファイル名とその確度をユーザに表示する手段。
【００８６】
以上の実施の形態４では、以下の手段を備えた成果物間依存関係推定装置を説明した。
（１）ユーザからの入力を受け付ける手段。
（２）入力されたファイルとユーザ名を受け付け、ファイルと変更情報として、登録する手段。
（３）ファイルを取り出すとともに、取り出し情報として取り出したファイルとユーザ名と取り出し日時を記録する手段。
（４）版管理されたファイルと、ファイルの変更情報、ファイルの取り出し情報、体制表データ、ファイル間の依存関係を保持する手段。
（５）変更対象のファイルを指定するための手段。
（６）変更情報および取り出し情報をもとに、ファイル間の依存関係の確度を計算し、記録する手段。
（７）記録されている依存関係の確度をもとに、影響先ファイルとその確度を出力する手段。
（８）影響先ファイルとその確度の集合から、依存関係の有無を統計的に推定し、依存関係があると推定した影響先ファイルとその確度のみ出力する手段。
（９）影響先ファイルと依存関係の確度について、一覧表や、チャート、グラフなど、表示用に加工する手段。
（１０）影響先ファイル名とその確度をユーザに表示する手段。
【００８７】
以上の実施の形態５では、以下の手段を備えた成果物間依存関係推定装置を説明した。
（１）ユーザからの入力を受け付ける手段。
（２）ファイルから成果物を抽出する手段。
（３）入力された成果物とユーザ名を受け付け、成果物と変更情報として、登録する手段。
（４）成果物を取り出すとともに、取り出し情報として取り出した成果物とユーザ名と取り出し日時を記録する手段。
（５）版管理された成果物と、成果物の変更情報、成果物の取り出し情報、体制表データ、成果物間の依存関係を保持する手段。
（６）変更対象の成果物を指定するための手段。
（７）変更情報および取り出し情報をもとに、成果物間の依存関係の確度を計算し、記録する手段。
（８）記録されている依存関係の確度をもとに、影響先成果物とその確度を出力する手段。
（９）影響先成果物とその確度の集合から、依存関係の有無を統計的に推定し、依存関係があると推定した影響先成果物とその確度のみ出力する手段。
（１０）影響先成果物と依存関係の確度について、一覧表や、チャート、グラフなど、表示用に加工する手段。
（１１）影響先成果物名とその確度をユーザに表示する手段。
（１２）成果物を、ユーザが編集しやすいように整形して出力する手段。
【００８８】
以上の実施の形態６では、以下の手段を備えた成果物間依存関係推定装置を説明した。
（１）ユーザからの入力を受け付ける手段。
（２）ファイルから成果物を抽出する手段。
（３）入力された成果物とユーザ名を受け付け、成果物と変更情報として、登録する手段。
（４）成果物を取り出すとともに、取り出し情報として取り出した成果物とユーザ名と取り出し日時を記録する手段。
（５）版管理された成果物と、成果物の変更情報、成果物の取り出し情報、体制表データ、成果物間の依存関係、依存関係の確度を計算する確度計算手段、成果物間の依存関係が記載された依存関係記載文書、変更対象成果物が記載された変更対象記載文書を保持する手段。
（６）変更対象の成果物を指定するための手段。
（７）変更情報および取り出し情報をもとに、成果物間の依存関係の確度を計算し、記録する手段。
（８）記録されている依存関係の確度をもとに、影響先成果物とその確度を出力する手段。
（９）影響先成果物とその確度の集合から、依存関係の有無を統計的に推定し、依存関係があると推定した影響先成果物とその確度のみ出力する手段。
（１０）影響先成果物と依存関係の確度について、一覧表や、チャート、グラフなど、表示用に加工する手段。
（１１）影響先成果物名とその確度をユーザに表示する手段。
（１２）成果物を、ユーザが編集しやすいように整形して出力する手段。
（１３）ユーザが指定した、影響先成果物と影響元成果物とそれらの間の確度を、格納手段に記録する手段。
（１４）依存関係を抽出可能なプロジェクト管理用文書データから、依存関係を抽出する手段。
（１５）種々の確度計算手段によって計算された確度をもとに、総合確度を計算する手段。
【図面の簡単な説明】
【００８９】
【図１】実施の形態１における成果物間依存関係推定装置の外観の一例を示す図。
【図２】実施の形態１における成果物間依存関係推定装置のハードウェア構成の一例。
【図３】実施の形態１における成果物間依存関係推定装置１００１のブロック図。
【図４】実施の形態１における格納部３０で保持されるデータ構造。
【図５】実施の形態１におけるファイル受付部２０の動作を示すフローチャート。
【図６】実施の形態１における格納部３０の状態を示す図。
【図７】図６に対してファイルが登録された状態を示す図。
【図８】図７に対してさらにファイルが登録された状態を示す図。
【図９】実施の形態１における影響先ファイル検出部５２の動作のフローチャート。
【図１０】実施の形態１における確度計算部５１の動作のフローチャート。
【図１１】実施の形態１における変更情報の時系列を示す図。
【図１２】図１１のペア化を示す図。
【図１３】図１２の各ペアの変更情報の内容を示す図。
【図１４】図１３から同一変更者のペアを抽出した図。
【図１５】実施の形態１における依存関係の確度を示す図。
【図１６】実施の形態１における変更情報のペア化を説明する図。
【図１７】実施の形態２における成果物間依存関係推定装置１００２のブロック図。
【図１８】実施の形態２における格納部３０で保持されるデータ構造。
【図１９】実施の形態２における影響先ファイル検出部５２の動作のフローチャート。
【図２０】実施の形態２における影響範囲表示部２０１の動作のフローチャート。
【図２１】実施の形態２における影響先ファイル検出部５２の出力の一例。
【図２２】実施の形態２における影響範囲表示部２０１の一覧表形式の出力例。
【図２３】実施の形態２における影響範囲表示部２０１の一覧表形式の別の出力例。
【図２４】実施の形態２における影響範囲表示部２０１のグラフ形式の出力例。
【図２５】実施の形態２における影響範囲表示部２０１のグラフ形式の別の出力例。
【図２６】実施の形態２における影響範囲表示部２０１のチャート形式の出力例。
【図２７】実施の形態２における影響範囲表示部２０１のチャート形式の別の出力例。
【図２８】実施の形態３における成果物間依存関係推定装置１００３のブロック図。
【図２９】実施の形態３における格納部３０で保持されるデータ構造。
【図３０】実施の形態３におけるファイル取り出し部３０１の動作のフローチャート。
【図３１】実施の形態３における確度計算部５１の動作のフローチャート。
【図３２】実施の形態４における成果物間依存関係推定装置１００４のブロック図。
【図３３】実施の形態４における依存関係推定部４０１の動作のフローチャート。
【図３４】実施の形態４における依存関係推定部４０１による分割の例を示す図。
【図３５】実施の形態４における依存関係推定部４０１による分割の別の例を示す図。
【図３６】実施の形態４における依存関係推定部４０１による依存関係の有無の振り分けの例。
【図３７】実施の形態５における成果物間依存関係推定装置１００５のブロック図。
【図３８】実施の形態５における格納部３０で保持されるデータ構造。
【図３９】実施の形態５における成果物抽出部５０１の動作のフローチャート。
【図４０】実施の形態５における整形部５０２の動作のフローチャート。
【図４１】実施の形態６における成果物間依存関係推定装置１００６のブロック図。
【図４２】実施の形態６における格納部３０で保持されるデータ構造。
【図４３】実施の形態６における主要動作の概要を説明するブロック図。
【図４４】実施の形態６における主要動作の概要を説明する別のブロック図。
【図４５】実施の形態６における依存関係手動設定部６０１の動作のフローチャート。
【図４６】実施の形態６における依存関係抽出部６０２の動作のフローチャート。
【図４７】実施の形態６における成果物受付部の動作のフローチャート。
【図４８】実施の形態６におけるファイル取り出し部３０１の動作のフローチャート。
【図４９】実施の形態６における総合確度計算部の動作のフローチャート。
【図５０】実施の形態６における影響先ファイル検出部５２の動作のフローチャート。
【符号の説明】
【００９０】
１０  入力部、２０  ファイル受付部、３０  格納部、４０  変更部分入力部、５０  影響範囲検出部、５１  確度計算部、５１−６  総合確度計算部、５２  影響先ファイル検出部、６０  出力部、６１  プロジェクト管理文書、６２  成果物、６３  依存関係、６４  確度計算プログラム、６５  版、６６  成果物内容、６７  取り出し情報、６８  変更情報、６９  ユーザ、７０  チーム、１１１  ファイル、１１１−２  依存関係、１１８−８  取り出し情報、１１２  版、１１３  ファイル内容、１１４  ユーザ、１１５  チーム、１１６  変更情報、２０１  影響範囲表示部、３０１  ファイル取り出し部、４０１  依存関係推定部、５０１  成果物抽出部、５０２  整形部、６０１  依存関係手動設定部、６０２  依存関係抽出部、１００１，１００２，１００３，１００４，１００５，１００６  成果物間依存関係推定装置。
【図１】
0005197128.tif 000002
【図２】
0005197128.tif 000003
【図３】
0005197128.tif 000004
【図４】
0005197128.tif 000005
【図５】
0005197128.tif 000006
【図６】
0005197128.tif 000007
【図７】
0005197128.tif 000008
【図８】
0005197128.tif 000009
【図９】
0005197128.tif 000010
【図１０】
0005197128.tif 000011
【図１１】
0005197128.tif 000012
【図１２】
0005197128.tif 000013
【図１３】
0005197128.tif 000014
【図１４】
0005197128.tif 000015
【図１５】
0005197128.tif 000016
【図１６】
0005197128.tif 000017
【図１７】
0005197128.tif 000018
【図１８】
0005197128.tif 000019
【図１９】
0005197128.tif 000020
【図２０】
0005197128.tif 000021
【図２１】
0005197128.tif 000022
【図２２】
0005197128.tif 000023
【図２３】
0005197128.tif 000024
【図２４】
0005197128.tif 000025
【図２５】
0005197128.tif 000026
【図２６】
0005197128.tif 000027
【図２７】
0005197128.tif 000028
【図２８】
0005197128.tif 000029
【図２９】
0005197128.tif 000030
【図３０】
0005197128.tif 000031
【図３１】
0005197128.tif 000032
【図３２】
0005197128.tif 000033
【図３３】
0005197128.tif 000034
【図３４】
0005197128.tif 000035
【図３５】
0005197128.tif 000036
【図３６】
0005197128.tif 000037
【図３７】
0005197128.tif 000038
【図３８】
0005197128.tif 000039
【図３９】
0005197128.tif 000040
【図４０】
0005197128.tif 000041
【図４１】
0005197128.tif 000042
【図４２】
0005197128.tif 000043
【図４３】
0005197128.tif 000044
【図４４】
0005197128.tif 000045
【図４５】
0005197128.tif 000046
【図４６】
0005197128.tif 000047
【図４７】
0005197128.tif 000048
【図４８】
0005197128.tif 000049
【図４９】
0005197128.tif 000050
【図５０】
0005197128.tif 000051