説明

依存関係推定装置及び依存関係推定プログラム及び記録媒体

【課題】ソフトウェア開発における成果物の間の依存関係の確度を自動的に算出する装置を提供する。
【解決手段】ファイル受付部20は、ファイル名とファイル内容とを含むファイルと、ユーザ名とを受け付け、受け付けたファイル内容と同一の内容のファイルが格納部30に存在するかを判定する。存在しない場合、ファイル受付部20は、受け付けたファイルに版番号を付与し、版番号と、ファイルと、現在の日時を示す日時情報と受け付けたユーザ名とを含む変更情報とを対応付けて格納部30に格納する。確度計算部51は、ファイル名を受け付けると格納部30に格納されているファイルの中から受け付けたファイル名を持つファイルを版番号ごとに特定し、特定した各ファイルに対応する変更情報を特定し、特定した変更情報に基づき、所定の規則に従って、受け付けたファイル名のファイルと他のファイル名のファイルとの間の依存関係の確度を計算する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ソフトウェア開発における成果物の間の依存関係を推定する成果物間依存関係推定装置に関する。
【背景技術】
【0002】
従来は、ユーザが、あるファイルに設定情報として、相関関係(依存関係)を持つファイル名を手作業で記述することによって、ファイル間の依存関係を記録し、また設定情報を参照することで、対象のファイルを変更することによって影響を受ける可能性があるファイルを一覧化していた(特許文献1)。
【特許文献1】特開2000−47861号公報、「影響範囲検出装置および影響範囲の検出方法」
【発明の開示】
【発明が解決しようとする課題】
【0003】
従来の技術では、ユーザが直接ファイル間の依存関係を手作業で記述する必要があったため、以下のような問題点があった。
(1)依存関係がファイル内容の変更に伴っては変更されずに開発が進められ、信用できる依存関係をユーザに提示することができない恐れがある。
(2)ファイル中に直接依存関係を記述しているため、ファイル変更作業中に誤って削除してしまい、依存関係をユーザに提示できなくなる。
【0004】
この発明は、上記のような問題点を解決するためになされたもので、ファイルの依存関係を自動的に構築・推定し、なおかつファイルの内容変更に伴って依存関係を自動的に更新することを目的とする。
【課題を解決するための手段】
【0005】
この発明の依存関係推定装置は、
データを格納する格納部と、
成果物の名称である成果物名と成果物の内容である成果物内容とを含む成果物データと、ユーザ名との入力を受け付け、受け付けられた成果物内容と同一の成果物内容の成果物データが前記格納部に存在するかどうかを判定し、存在しないと判定すると受け付けられた成果物データに同一の成果物名を持つ成果物データどうしを区別する版番号を付与するとともに、付与された版番号と、受け付けられた成果物データと、現在の日時を示す日時情報と受け付けられたユーザ名とを含む変更情報とを対応付けて前記格納部に格納する成果物受付部と、
成果物名を受け付け、成果物名を受け付けると前記格納部に格納されている成果物データの中から受け付けられた成果物名である受付成果物名を持つ成果物データを版番号ごとに特定し、版番号ごとに特定された成果物データのそれぞれに対応する変更情報を特定し、特定された変更情報に基づいて、所定の規則に従うことにより受付成果物名で代表される成果物と他の成果物名で代表される成果物との間の依存関係の確度を計算する確度計算部と
を備えたことを特徴する。
【発明の効果】
【0006】
この発明により、ファイルの依存関係の確度を自動的に算出する装置を提供できる。
【発明を実施するための最良の形態】
【0007】
以下の実施の形態で説明する成果物間依存関係推定装置は、ソフトウェア開発における成果物の「変更情報」や「取り出し情報」を記録しておき、例えば、同一開発者によって短い時間差で発生するほど成果物間の依存関係が高いと推定し、変更対象の成果物に対して、影響を受ける可能性がある関連する他の成果物を開発者に提示する。
【0008】
実施の形態1.
図1〜図16を参照して実施の形態1を説明する。
【0009】
図1は、コンピュータで実現される成果物間依存関係推定装置1001の外観の一例を示す図である。図1において、成果物間依存関係推定装置1001は、システムユニット830、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置813、キーボード814(Key・Board:K/B)、マウス815、FDD817(Flexible・Disk・ Drive)、コンパクトディスク装置818(CDD:Compact Disk Drive)、プリンタ装置819などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
【0010】
図2は、コンピュータで実現される成果物間依存関係推定装置1001のハードウェア資源の一例を示す図である。図2において、成果物間依存関係推定装置1001は、プログラムを実行するCPU810(Central Processing Unit:中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、FDD817、CDD818、プリンタ装置819、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【0011】
RAM812は、揮発性メモリの一例である。ROM811、FDD817、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、バッファの一例である。通信ボード816、キーボード814、FDD817などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813、プリンタ装置819などは、出力部、出力装置の一例である。
【0012】
通信ボード816は、ネットワーク(LAN等)に接続されている。通信ボード816は、LANに限らず、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。
【0013】
磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。
【0014】
上記プログラム群823には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。
【0015】
ファイル群824には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明する情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【0016】
また、以下に述べる実施の形態の説明においては、データや信号値は、RAM812のメモリ、FDD817のフレキシブルディスク、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0017】
また、以下に述べる実施の形態の説明において、「〜部」として説明するものは、「手段」、「〜回路」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【0018】
図3は、実施の形態1の成果物間依存関係推定装置1001のブロック図である。成果物間依存関係推定装置1001は、入力部10、ファイル受付部20、格納部30、変更部分入力部40、影響範囲検出部50、出力部60を備える。影響範囲検出部50は、確度計算部51と影響先ファイル検出部52とから構成される。
【0019】
(1)入力部10は、ユーザからの入力を受け付ける。
(2)ファイル受付部20は、入力されたファイル(ファイル名、ファイル内容)とユーザ名を受け付け、ファイルと変更情報(ユーザ名、変更時刻等)として、格納部30に登録する。
(3)格納部30は、版管理されたファイルと、ファイルの変更情報、体制表データを保持する。
(4)変更部分入力部40は、変更対象のファイルを指定する。
(5)影響範囲検出部50は、影響先ファイル検出部52と確度計算部51でおこなわれる。確度計算部51は、変更情報をもとに、ファイル間の依存関係の確度を計算する。影響先ファイル検出部52は、入力されたファイル名に対応する変更情報を格納部30より取得し、確度計算部51を用いて確度を計算し、影響先ファイルとその確度の一覧を出力部60に渡す。
(6)出力部60は、影響先ファイル名とその確度の一覧をユーザに表示する。
【0020】
次に、格納部30で保持する格納データについて説明する。図4に、格納部30で保持する格納データのデータ構造をUML(Unified Modeling Language)クラス図で示す。
(1)ファイル111は、履歴を管理する単位のデータを記録する。
(2)版112は、ファイル内容の履歴を管理するためのデータである。変更されるたびに新しい版が作成される。1つのファイルに対して、複数の版が存在しうる。ある版でアクセスするためのファイル名を持つ。ファイル名は、ある時点ですべてのファイルについて一意なものである。
(3)ファイル内容113は、ある版におけるファイルの内容が記録されている。
(4)ユーザ114は、格納部30にアクセスする権限を持つユーザが記録されており、ユーザ名で識別する。
(5)チーム115は、体制表データとして、ユーザの集まりである開発チームが記録されており、チームは、ユーザまたはチームで構成される。
(6)変更情報116は、ある版の内容へ誰がいつ変更したかを記録する。
【0021】
これらのデータ間における接続は、一方から他方のデータを参照できることをしめしている。なお、図4のデータ構造は一例であり、ファイル名を記録せずにファイルIDで代用する場合や、ファイルと版を1つのデータとして記録する場合や、変更情報に変更内容を記録する場合や、チームを記録しない場合などが考えられるが、いずれの場合でも本質的には本実施の形態で適用可能である。
【0022】
次に、動作について説明する。
【0023】
(ファイル受付部20の処理)
図5は、ファイル受付部20の処理手順をUMLアクティビティ図を示す。
(ステップ1.)ファイル受付部20は、入力部10を介して、ファイル(ファイル名、ファイル内容)とユーザ名との入力を受ける。
(ステップ2.)ファイル受付部20は、変更情報を記録するため、現在日時を変更日時として取得する。現在日時は、例えばOS(Operating System)から取得する。
(ステップ3.)ファイル受付部20は、ユーザ名、変更日時を含む変更情報を生成する。
(ステップ4.)ファイル受付部20は、格納部30に格納されているファイルのファイル内容と、入力されたファイルのファイル内容とを比較する。
(ステップ5.)ファイル受付部20は、ファイル内容が同じ場合には処理を終了する。ファイル内容が異なる場合には、ステップ6の処理へ進む。
(ステップ6.)ファイル受付部20は、ファイル(ファイル名、ファイル内容)と、変更情報を格納部30に登録する。また、登録の際には、同一のファイル名を持つファイル内容どうしを区別するための版番号、ファイルIDを付与する。ファイル受付部20は、版番号と、受け付けられたファイル(ファイル名、ファイル内容)と、変更情報とを対応付けて格納部30に格納する。
【0024】
図6は、例えば、ある時点での格納部30の状態をUMLオブジェクト図で示す図である。図6は、まだファイルが登録されていない状態を示している。図6では、プロジェクトの体制表のデータがあらかじめ記録されており、開発者として太郎、次郎、三郎がおり、太郎と次郎はライブラリ開発チームに属し、プロジェクト全体のチームには、ライブラリ開発チームと三郎が属することを示している。
図7は、図6の状態から、太郎がファイルmain.java(登録商標)を2008年1月1日0時0分0秒に登録した後の状態を示す。図7では、あらたに登録されたファイルmain.java(登録商標)と、版(版番号1)、ファイル内容と、変更情報が記録されており、変更情報では太郎が変更したことが記録される。
図8は、図7の状態から、さらに、太郎がファイルmain.java(登録商標)を2008年1月1日11時0分0秒に内容を変更した後の状態を示す。図8では、ファイルmain.java(登録商標)に新たな版(版番号2)、内容、変更情報が記録され、変更情報には太郎が変更したことが記録される。
【0025】
(影響先ファイル検出部52の処理)
図9は、影響先ファイル検出部52の処理手順を示す。実施の形態1の成果物間依存関係推定装置1001では、ファイル受付部20によりファイル(ファイル名、ファイル内容)を受け付けて、格納部30に順次蓄積していくとともに、入力部10、変更部分入力部40を介して影響先ファイル検出部52にファイル名が入力されると、後述の確度計算部51が起動する実施形態である。
(ステップ1.)影響先ファイル検出部52は、入力部10、変更部分入力部40を介して、ファイル名の入力を受け付ける。
(ステップ2.)影響先ファイル検出部52は、入力されたファイル名を確度計算部51に渡し、入力されたファイル名で代表されるファイルと他のファイル名で代表されるファイル間の依存関係の確度を、確度計算部51を利用して計算する。
(ステップ3.)影響先ファイル検出部52は、ファイル間の依存関係の確度を確度計算部51から受け取り、入力したファイル名を影響元ファイル、他のファイルを影響先ファイルとして、これらの対応関係にさらに依存関係の確度を追加して、一覧を出力部60に渡す。
【0026】
(確度計算部51の処理)
図10は、確度計算部51の処理手順を示す。例として、影響先ファイル検出部52から、ファイル名Aを入力されたものとし、記録されている変更情報が図11のようであったとする。
(ステップ1.)確度計算部51は、ファイルの最新の版(版番号)のうち、影響先ファイル検出部52より入力されたファイル名を持つ版を検索し、特定する。そして、その版に対応する変更情報を特定する。そして、その直後の変更情報をペアにする。さらに、同じファイルの過去の版を追跡し、それらの変更情報と、その直後の変更情報をペアにしていく。例えば、図12のように、ファイルAの変更情報が特定されたとすると、確度計算部51は、その直後にある変更情報をペアとして抽出する。この結果、(A,B)、(A,C)、(A,B)、(A,D)、(A,B)の5つのペアが抽出される。
(ステップ2.)確度計算部51は、変更情報のペアについて、それぞれの変更情報に対応する変更者が同じとなるペアのみを選択する。例えば、図13では、変更情報No.1、2では、ともに変更者がtaroとなるので選択される。一方、変更情報No.20、21では、ファイルAをtaroが、ファイルDをjiroが変更しているため、選択されない。選択結果は図14のようになる。
(ステップ3.)確度計算部51は、選択した変更情報のペアの集合を入力として、確度関数を用いて依存関係の確度を計算する。確度関数には、例えば変更時間差が短いほど確度が高くなるよう「変更時間差(単位は分)の逆数の和」という関数が考えられる。図15は、このような場合の出力を示している。なお、変更情報のペアを抽出する方法としては、他に、図16のように、あるファイル(図16ではA)が変更されてから次に変更されるまでの間に変更されたファイルすべてとペアを組む方法のほか、種々のものが考えられる。
【0027】
(確度関数のバリエーション)
確度関数として他に、以下のものをはじめ、種々のものが考えられる。
(1)「変更時間差の逆2乗の和」など、変更時間差をパラメータに持つ関数。
(2)変更量をパラメータに持つ関数。大幅に内容を変更した場合には、それまでと依存関係が変更される可能性が高いため、最新の変更による依存関係の確度を相対的に高める必要がある場合などに有用である。
(3)変更時刻をパラメータに持つ関数。休憩時間や夜間をまたいだ場合に依存関係を低くするのに有用である。
【0028】
なお、変更情報のペアを選択する方法として、他に同じチームに属する別々のユーザが変更した場合も選択するケースが考えられる。その場合、確度関数として、同じユーザが変更した場合の確度と、同じチームに属するが異なるユーザが変更した場合の確度を、引数に持つ関数(重みつきの和など)などが考えられる。
【0029】
以上のように、変更情報等を利用して依存関係の確度を計算することで、ファイルの内容変更に伴って依存関係を追随させることができ、またユーザが誤って依存関係を削除することを防止することができる。
【0030】
実施の形態2.
図17〜図27を参照して、実施の形態2を説明する。実施の形態2では、実施の形態1から以下の機能を追加する。
(1)影響を受ける範囲(ファイルの集合)を明示するため、ある影響元ファイルに対して、影響先ファイルとその確度を一覧化(実施の形態1)するだけでなく、ファイルの集合の間で依存関係とその確度を計算する機能(確度計算部51)を追加する。実施の形態2では、確度計算部51にこの機能を持たせている。
(2)影響先ファイルとその確度を直感的に把握できるようにするため、影響先ファイルと確度を一覧化および視覚的に表示する機能(影響範囲表示部201)を追加する。
(3)影響先ファイルを問い合わせる際の処理時間を改善するため、影響先ファイルへの確度の計算結果を保存しておく機能を追加する。実施の形態2では、確度計算部51にこの機能を持たせている。
【0031】
図17は、実施の形態2の成果物間依存関係推定装置1002のブロック図を示す。
(1)確度計算部51は、実施の形態1とほぼ同様の機能であるが、格納部30中に変更情報が追加されるたびに起動され、計算した確度を後述する図18における依存関係(111−2)として格納部30に記録する。
(2)影響先ファイル検出部52は、格納部30に記録されている依存関係(111−2)の確度をもとに、影響先ファイルとその確度を影響範囲表示部201に出力する。
(3)影響範囲表示部201は、影響先ファイルと依存関係の確度について、一覧表や、チャート、グラフなど、表示用に加工する。
(4)成果物間依存関係推定装置1002のその他の機能は、実施の形態1の成果物間依存関係推定装置1001と同じである。
【0032】
次に、格納部30で保持するデータについて説明する。図18に格納部30で保持するデータを示す。依存関係(111−2)は、ファイル間の依存関係の確度を記録したものである。影響元のファイルと、影響先のファイルと関連を持つ。その他のデータについては実施の形態1の図2と同じである。
【0033】
次に、動作について説明する。
【0034】
(影響先ファイル検出部52の処理)
影響先ファイル検出部52の処理手順を図19に示す。なお、前述のように、確度計算部51は格納部30中に変更情報が追加されるたびに起動され、確度計算部51により計算され依存関係の確度は、図18の依存関係(111−2)として蓄積していく。以下のステップは、この状態において、影響先ファイル検出部52がファイル名の集合を受け付ける場合である。
(ステップ1.)影響先ファイル検出部52は、入力部10、変更部分入力部40を介してファイル名集合の入力を受ける。ファイル名集合は一つのファイル名の場合でもよい。
(ステップ2.)影響先ファイル検出部52は、格納部30から、入力されたファイル名集合に含まれるファイル名を持つファイルに関連している依存関係データ(依存関係(111−2))を取得する。
(ステップ3.)影響先ファイル検出部52は、取得した依存関係データから、確度と影響先ファイルを取得する。ここでは、影響先ファイルからさらに影響を与えるファイルなど、再帰的に影響先ファイルを取得していくことも考えられる。
(ステップ4.)影響先ファイル検出部52は、影響元ファイル、影響先ファイル、確度を1セットとして、その集合を出力する。
【0035】
(影響範囲表示部201の処理)
影響範囲表示部201の処理手順を図20に示す。例として、影響先ファイル検出部52から出力されたデータが、図21のようであったとする。
(ステップ1.)影響範囲表示部201は、出力形式によって処理を振り分ける。出力形式の指定は、入力部10からの入力や、格納部30に設定情報として指定しておくなどの方法がある。
(ステップ2.)影響範囲表示部201は、一覧表の形式に変換して出力する。ファイル名を1つだけ与えた場合と、複数与えた場合の出力例をそれぞれ、図22、図23に示す。
(ステップ3.)影響範囲表示部201は、グラフ形式に変換して出力する。ファイルをノードで表現し、依存関係をエッジで表現し、確度によってエッジの強調レベル(エッジを表示しない場合も含む)を変更して表示する。ファイル名を1つだけ与えた場合と、複数与えた場合の出力例をそれぞれ、図24、図25に示す。
(ステップ4.)影響範囲表示部201は、チャート形式に変換して出力する。軸に影響元ファイルや影響先ファイル、確度を設定して、表示する。ファイル名を1つだけ与えた場合と、複数与えた場合の出力例をそれぞれ、図26、図27に示す。
【0036】
以上のように、格納部30中の変更情報等が変更されるたびに依存関係の確度を更新することで、影響先ファイルを調べるときの効率低下を防ぐことができるとともに、複数のファイル間および視覚的に依存関係の確度を表示することで、影響範囲や依存関係の確度を視覚的に把握することが可能となる。
【0037】
実施の形態3.
図28〜図31を参照して実施の形態3を説明する。実施の形態3では、実施の形態2よりも信頼できる依存関係を推定できるようにするため、ファイルを取り出した際の情報を取り出し情報として記録し、変更情報と併せて、依存関係を推定する。
【0038】
図28は、実施の形態3の成果物間依存関係推定装置1003のブロック図を示す。
(1)確度計算部51は、アクセス情報(前述の変更情報、後述の取り出し情報のいずれもを含む。)をもとに、ファイル間の依存関係の確度を計算し、記録する。確度計算部51は格納部30中のアクセス情報が変更されるたびに起動される。
(2)ファイル取り出し部301は、格納部30からファイルを取り出すとともに、取り出し情報として、取り出したファイルのファイル名とユーザ名と取り出し日時とを記録する。
(3)他の機能については、実施の形態2の成果物間依存関係推定装置1002と同じである。
【0039】
次に、格納部30で保持するデータについて説明する。図29は、格納部30で保持するデータを示す。取り出し情報(118−3)には、ファイルを取り出したユーザ名、日時、取り出したファイルのファイル名を記録される。他のデータについては、実施の形態2の図18と同じである。
【0040】
次に、動作について説明する。
【0041】
(ファイル取り出し部301の処理)
図30は、ファイル取り出し部301の処理手順を示す。
(ステップ1.)ファイル取り出し部301は、入力部10を介して、ファイルの取り出し条件とユーザ名の入力を受ける。
(ステップ2.)ファイル取り出し部301は、格納部30から、条件を満たすファイルを取得する。
(ステップ3.)ファイル取り出し部301は、取り出し情報として、取得できたファイル(ファイル名)、ユーザ名、取り出し時刻(現在時刻)を格納部30に記録する。
(ステップ4.)取り出したファイルを出力部60に渡す。
【0042】
(確度計算部51の処理)
確度計算部51の処理手順を図31に示す。図31は、図10の変更情報がアクセス情報となっている。
(ステップ1.)確度計算部51は、ファイル名に対応するアクセス情報と、その直後のアクセス情報をペアとして抽出する。
(ステップ2.)確度計算部51は、アクセス情報のペアについて、両方の操作者(変更者または閲覧者)が同じペアだけを選択する。
(ステップ3.)確度計算部51は、確度関数を用いて確度を計算する。実施の形態1の確度計算部51と同様のことが、実施の形態3のアクセス情報のペア抽出方法、確度関数、アクセス情報のペアを選択する方法でも種々考えられる。さらに、アクセス情報のペア抽出方法については、(変更情報,変更情報)、(変更情報,取り出し情報)、(取り出し情報,変更情報)、(取り出し情報,取り出し情報)の一部またはすべてのケースについてペア抽出することも考えられる。確度関数についても同様に、抽出されるペアの種類に応じて、個別の確度関数を設定することが考えられる。
【0043】
以上のように、ファイルを取り出したときの取り出し情報を記録することで、あるファイルを見ながら別のファイルを作成する場合の依存関係を記録することができ、依存関係の信頼性を高めることができる。
【0044】
実施の形態4.
図32〜図36を参照して実施の形態4を説明する。実施の形態4は、依存関係の確度が高いものだけをユーザに提示することで、ユーザの開発作業効率の改善を図る。そのため、確度から依存関係の有無を推定する機能(依存関係推定部401)を追加する。
【0045】
図32は、実施の形態4の成果物間依存関係推定装置1004を示すブロック図である。依存関係推定部401は、依存関係の確度の集合から、依存関係の有無を統計的に推定し、依存関係があると推定した影響先ファイルのみ出力する。その他の機能については、実施の形態3と同じである。
【0046】
格納部30で保持するデータは、実施の形態3と同じである。
【0047】
次に、動作について説明する。
【0048】
(依存関係推定部401の処理)
図33は、依存関係推定部401の処理手順を示す。例として、影響先ファイル検出部52から図21のような入力があったとする。
(ステップ1.)依存関係推定部401は、依存関係の集合を、推定する単位で分割する。例えば、分割方法として、入力の集合全てとする場合、影響元ファイルが同じものである場合(図34)、影響先ファイルが同じものである場合(図35)、などが考えられる。分割する単位の指定方法として、格納部30に記録しておく、入力部10から入力する、などの方法が考えられる。
(ステップ2.)依存関係推定部401は、推定していない依存関係の集合があれば、ステップ3へ。なければ処理を終了する。
(ステップ3.)依存関係推定部401は、統計的な手法を利用して依存関係の有無を振り分ける。利用する手法は、格納部30に記録しておく、入力部10から入力する、などの方法が考えられる。例えば、図36のような振り分け方がある。この場合、依存関係ありと判断したものだけを出力する。
【0049】
依存関係の有無を振り分ける統計的な手法の例として以下のものがあり、他にもさまざまな推定方法が考えられる。
(1)依存関係の集合について、確度の昇順に整列しておき、隣り合う確度の差が最大となる箇所を境界として、それよりも確度が高いものを依存関係あり、確度が低いものを依存関係なしと判定する方法。
(2)同様に、平均値で分割する方法、最頻値で分割する方法、中央値で分割する方法など。
(3)同様に、境界値よりも大きい集合と小さい集合それぞれの平均値の差が最大化する境界値で分割する方法。
(4)あらかじめ設定しておいた確度の閾値を上回れば依存関係あり、下回れば依存関係なしと判定する方法。
【0050】
以上のように、依存関係の集合について、その確度から依存関係の有無を推定することで、確度の高い依存関係を持つ成果物だけをユーザに提示することが可能となる。
【0051】
実施の形態5.
次に図37〜図40を参照して実施の形態5を説明する。実施の形態5では、1つのファイル中に複数の項目を記載している場合等にも、項目間の依存関係を推定できるようにする。
【0052】
以降では、「成果物」とは、2つの間で依存関係が定義される対象とし、例えば、以下のものを含む用語とする。
(1)1ファイル。
(2)1ファイル中の依存関係を把握する対象の項目。
(3)ウェブベースのフォーム等を利用してシステム内部で生成したオブジェクト。
(4)データベース中の表や、表中の1レコード。
【0053】
図37は、実施の形態5の成果物間依存関係推定装置1005を示すブロック図である。
(1)は、入力部10から入力されたファイルから、成果物を抽出する。
(2)整形部502は、格納部30から検索された成果物を、ユーザが編集しやすいように整形して、出力部60に出力する。
(3)実施の形態4ではファイルを扱っていたが、実施の形態5では項目を成果物として扱う点を除き、実施の形態4と同じである。
【0054】
次に、格納部30で保持するデータについて説明する。図38に格納部30で保持するデータを示す。実施の形態4でファイルとして扱っていたものを、実施の形態5では成果物として扱う点を除き、実施の形態4と同じである。
【0055】
次に、動作について説明する。
【0056】
(成果物抽出部501の処理)
図39は、成果物抽出部501の処理手順を示す。
(ステップ1.)成果物抽出部501は、ファイル(ファイル名、ファイル内容)とユーザ名の入力を受ける。
(ステップ2.)成果物抽出部501は、入力されたファイルに対して、成果物抽出プログラムを適用することにより、成果物を抽出する。成果物抽出プログラムは、格納部30にあらかじめ記録しておく、入力部10から入力する、などの方法がある。
(ステップ3.)成果物抽出部501は、抽出した成果物とユーザ名を成果物受付部(20−5)に出力する。成果物受付部(20−5)の動作は、実施の形態4のファイル受付部20と同様である。
【0057】
(整形部502の処理)
整形部502の処理手順を図40に示す。
(ステップ1.)整形部502は、検索された成果物の集合を入力として、整形プログラムを適用する。整形プログラムは、格納部30にあらかじめ記録しておく、入力部10から入力する、などの方法がある。
(ステップ2.)整形部502は、整形済み成果物集合を出力部60に出力する。
【0058】
以上のようにすることで、1つのファイル中に複数の項目を記述している場合などに、それらの項目どうしの間で依存関係を記録することができる。
【0059】
実施の形態6.
図41〜図48を参照して実施の形態6を説明する。実施の形態6では、ユーザが手作業で入力した依存関係と、システムが計算した依存関係を共存させることで、信頼性を高める実施形態である。そのため、ユーザの入力を受け付ける機能(依存関係手動設定部)や、ユーザが他の目的で作成した文書から依存関係を読み取る機能(依存関係抽出部)等を追加する。
【0060】
図41は、実施の形態6の成果物間依存関係推定装置1006のブロック図である。
【0061】
(1)成果物受付部20:
成果物受付部20は、入力された成果物とユーザ名を受け付け、成果物と変更情報(ユーザ名、変更時刻等)とを、格納部30に登録し、確度計算プログラム64を起動する機能を有する。
(2)成果物取り出し部301:
成果物取り出し部301は、格納部30から成果物を取り出すとともに、取り出し情報として取り出した成果物とユーザ名と取り出し日時を記録し、確度計算プログラム64を起動する機能を有する。
(3)依存関係手動設定部601:
依存関係手動設定部601は、ユーザが指定した、影響先成果物と影響元成果物とそれらの間の確度を、格納部30に記録する機能を有する。
(4)依存関係抽出部602:
依存関係抽出部602は、依存関係を抽出可能なプロジェクト管理用文書データから、依存関係を抽出する機能を有し、プロジェクト管理用文書データが更新されると起動される。
(5)総合確度計算部(51−6):
総合確度計算部(51−6)は、種々の確度計算プログラム64(下記に述べるように、格納部30に格納された種々の確度計算プログラム)によって計算された確度をもとに、総合確度を計算する機能を有する。その他の機能については、実施の形態5と同じである。なお、依存関係を抽出可能なプロジェクト管理用文書データとして、例えば次の障害連絡票と変更依頼表とがある。
【0062】
(1)障害連絡票:
障害連絡票とは、検出した障害と、その障害を改修するために変更が必要となる成果物が記録されている文書である。
(2)変更依頼票:
変更依頼票とは、ある開発チームで変更した成果物に対して、他の開発チームで変更が必要となる成果物が記録されている。
【0063】
次に、格納部30で保持するデータについて説明する。図42に格納部30で保持するデータを示す。
【0064】
(1)確度計算プログラム64:
確度計算プログラム64は、成果物間の確度を計算または設定するプログラムである。例えば、実施の形態6の機能構成図で示した
(a)依存関係手動設定部601の実行するプログラムや
(b)依存関係抽出部602の実行するプログラム、
(c)総合確度計算部(51−6)の実行するプログラム
が該当する。また、実施の形態5の
(d)確度計算部51が実行するプログラムも該当する。その他、
(e)成果物中の出現語句を利用して成果物間の類似度を計算し、依存関係の確度として出力するプログラム
をはじめとして、種々のものが考えられる。
【0065】
*図42の確度計算プログラム64において、成果物の変更時に確度計算プログラム64を起動するかどうかは、成果物受付部20を経由して格納部30の成果物が変更されたときに実行されるべき確度計算プログラム64かどうかを考慮して設定の有無を決める。例えば、
上記(a),(b)および(c)の確度計算プログラム64
は変更時の起動は不要だが、
(d)および(e)のプログラム
は変更時の起動が必要となる。
【0066】
*同様に、図42の確度計算プログラム64において、成果物の取り出し時に確度計算プログラム64を起動するかどうかは、成果物取り出し部301を経由して格納部30の成果物が取り出されたときに実行されるべき確度計算プログラム64かどうかを考慮して設定の有無を決める。例えば、上記、(a)(b)(c)および(e)の確度計算プログラム64は読み出し時の起動は不要だが、(d)は読み出し時の起動が必要となる。
【0067】
(2)依存関係63:
図42の依存関係63には、成果物間の依存関係を記録する。確度のほかに、計算した日時、確定させるべき依存関係かどうかを記録する。影響元成果物、影響先成果物、確度計算プログラム64、計算した日時の組1つにつき、依存関係が1つ記録される。
【0068】
*計算した日時には、確度計算プログラム64が確度を出力するときの日時が記録される。手動設定した日時も記録される可能性があり、時間経過とともにメンテナンスされない可能性を考慮して総合確度を計算するなどの目的で記録するデータである。
【0069】
*確定させるべき依存関係かどうかには、依存関係の確度に関係なく依存関係があることを人為的に設定するためのデータである。成果物間の依存関係について、詳細に調査をおこなった上で、人手によって依存関係を確定させるなどの目的で記録するデータである。
【0070】
(1)変更対象記載文書:
変更対象記載文書とは、プロジェクト管理用文書データのうち、変更対象となる成果物(例えばファイル)が記載された文書である。例えば、変更対象記載文書Aは、ファイルX、ファイルY、ファイルZが変更が必要なファイルであるという情報を含んでいる。
(2)依存関係記載文書:
依存関係記載文書とは、プロジェクト管理用文書データのうち、影響元の成果物と、影響先の成果物が記載された文書である。依存関係記載文書Bは、例えば、ファイルXが影響元であり、ファイルYが影響先であるという情報を含んでいる。その他のデータについては、実施の形態5と同じである。
【0071】
図43は、実施の形態6の主要動作を説明する図である。図44は、実施の形態6の変更対象記載文書の処理を説明する図である。まず図44を参照して説明する。
【0072】
(1)成果物受付部20は、成果物の名称である成果物名称と成果物の内容である成果物内容とを含む成果物データの入力を受け付ける。成果物受付部20は、実施の形態1あるいは実施の形態5の場合と同様に、受け付けた成果物内容と同一の成果物内容の成果物データが格納部30に存在するかどうかを判定する。成果物受付部20は、存在しないと判定すると受け付けた成果物データに同一の成果物名を持つ成果物データどうしを区別する版番号を付与し、付与した版番号と、受け付けた成果物データとを対応付けて格納部30に格納する。図43は、成果物データX1(版番号1)、成果物データY1(版番号1)、成果物データZ1(版番号1)が格納部30に格納された状態を示している。
(2)また、依存関係手動設定部601(依存関係受付部)は、影響元となる成果物データの成果物名と影響元の成果物データの成果物内容の変更によって影響を受ける影響先となる成果物データの成果物名とからなる成果物名のペアであって予め指定された指定ペアと、この指定ペアに対して予め設定された依存関係の確度との入力を受け付けて格納部30に記録する。図43は、影響元「X」、影響先「Y」の指定ペア及び確度3を受け付けた場合を示している。
(3)確度計算部51(個別確度計算部)は、成果物名を受け付け、格納部30に格納されている成果物データのうち受け付けられた成果物名である受付成果物名を影響元とし、格納部30に格納されている成果物データの成果物名を影響元である受付成果物名の成果物データの成果物内容の変更によって影響を受ける影響先とした成果物名のペアを作成ペアとして作成する。この受け付ける成果物名は、確度計算部51は、成果物が格納されるごと、あるいは成果物が取り出されるごとに、格納部30あるいは、影響先成果物検出部52から取得する。取得経路は実装で自由に設定できる。そして、確度計算部51は、それぞれの作成ペアについて影響元の受付成果物名を持つ成果物データと影響先の成果物名を持つ成果物データとの間の依存関係の確度を、複数の確度計算プログラムを実行することにより、確度計算プログラムごとに個別に計算する。図43は、確度計算部51が受付成果物名として「成果物名=X」を受け付けた場合を示している。確度計算部51は「成果物名=X」を受け付けると、「X」を影響元とし、格納部30に格納されている他の成果物を影響先とする作成ペア「X,Y」、「X,Z」を作成する。なお、「X、X」は図43に示していないが、作成しても構わない。確度計算部51(個別確度計算部)は、図43に示すように、それぞれ確度を求める規則の異なる複数の確度計算プログラムP1〜Pnを用いて、「X,Y」、「X,Z」の作成ペアの確度を計算する。
(4)総合確度計算部(51−6)は、確度計算部51が個別に計算した作成ペアのそれぞれの確度と、依存関係手動設定部601によって格納部30に記録された確度のうち受付成果物名を影響元とする指定ペアの確度とを用いて、作成ペアごとの依存関係の確度を総合確度として再計算する。すなわち総合確度計算部(51−6)は、「X,Y」については確度計算プログラムP1〜Pnで計算されたそれぞれの確度と、依存関係手動設定部601によって記録された指定ペア「X→Y=3」に設定された確度「3」とを用いて、作成ペア「X,Y」の総合確度を計算し、作成ペア「X,Z」の確度については、確度計算プログラムP1〜Pnで計算されたそれぞれの確度から総合確度を計算する。
(5)また依存関係手動設定部601は、指定ペアと、この指定ペアの依存関係の確定を指示する依存関係確定指示情報との入力を受け付ける。図43では、依存関係手動設定部601が、指定ペア「X,Z」と、この指定ペアについての依存関係確定指示情報とを受け付けた場合を示している。総合確度計算部(51−6)は、依存関係手動設定部601が受け付けた依存関係確定指示情報に対応する指定ペアの依存関係を確定済みとして、格納部30に記録する。すなわち、図43の場合、総合確度計算部(51−6)は、指定ペア「X,Z」の依存関係は確定済みとして格納部30に記録する。
【0073】
(変更対象記載文書の場合)
図44は、成果物受付部20が変更対象記載文書を受け付けた場合を示している。
(1)変更対象記載文書には、成果物内容の変更が予定される成果物データの成果物名がn個(nは2以上の整数)記載されている。図44は、「X」、「Y」の2つの成果物名が記載されている例である。
(2)一方、格納部30は、この変更対象記載文書に記載されたn個の成果物名から生成可能な通りの成果物名のペアであって一方を影響元とし他方を影響元の成果物データの成果物内容の変更によって影響を受ける影響先とするペアと、それぞれのペアごとに設定された依存関係の確度とを格納している。例えば図44の例であれば、「X→Y=4」、及び「Y→X=1」というデータを予め格納している。ファイル名「X」等は、通常のプログラム開発において登場が想定される成果物であり、依存関係も前もって格納部30に格納しておく。
(3)依存関係抽出部602は、格納部30に格納された通りのペアの依存関係の確度を格納部30から抽出する。図44の例では、依存関係抽出部602は、「X→Y=4」及び「Y→X=1」の情報を格納部30から抽出する。
(4)総合確度計算部(51−6)は、確度計算部51が個別に計算したそれぞれの確度と、依存関係手動設定部601によって格納部30に記録された確度のうち受付成果物名を影響元とする指定ペアの確度とに加え、さらに、依存関係抽出部602によって抽出された依存関係の確度とを用いて、作成ペアごとの総合確度を再計算する。例えば総合確度計算部(51−6)は、作成ペア「X→Y」については、確度計算プログラムP1〜Pnから計算された各確度、指定ペアの依存関係の確度として記録された「X→Y=3」の確度「3」、及び依存関係抽出部602により抽出された「X→Y=4」の確度「4」とから総合確度を計算する。
【0074】
(依存関係記載文書の場合)
依存関係記載文書の場合を説明する。
(1)成果物受付部20は、影響元の成果物名と影響元の成果物データの成果物内容の変更によって影響を受ける影響先の成果物名とのペアが記載された依存関係記載文書の入力を受け付けて前記格納部に格納する。例えば「X→Y」(Xは影響元の成果物名、Zは影響先の成果物名)という依存関係が記載されている。
(2)格納部30は、依存関係記載文書に記載されたペアと、このペアに設定された依存関係の確度とを格納している。例えば、依存関係記載文書に「X→Y」の記載が有る場合には、格納部30は、「X→Y=5」というようなデータを格納している。この意味で、上記に説明した変更対象記載文書及び依存関係記載文書は、いわゆる「準手動」で成果物間の依存関係を設定している。
(3)依存関係抽出部602は、依存関係記載文書に記載されたペアの依存関係の確度を格納部30から抽出する。例えば、依存関係抽出部602は、格納部30から「X→Y=5」のデータを抽出する。
(4)前記総合確度計算部は、確度計算部51が個別に計算したそれぞれの確度と、依存関係手動設定部601によって格納部30に記録された確度のうち受付成果物名を影響元とする指定ペアの確度とに加え、さらに、依存関係抽出部602によって抽出された依存関係の確度とを用いて、作成ペアごとの総合確度を再計算する。
【0075】
次に、具体的な動作について説明する。依存関係手動設定部601の処理手順を図45に示す。
(ステップ1.)影響元成果物名、影響先成果物名、確度、確定した依存関係かどうかの入力を受ける。
(ステップ2.)格納部30に、依存関係として記録する。
【0076】
依存関係抽出部602の処理手順を図46に示す。
(ステップ1.)依存関係抽出部602は、変更された文書の種類を調べる。
(ステップ2.)変更対象記載文書の場合にはステップ3の処理へ進み、依存関係記載文書の場合はステップ4の処理へ進む。
(ステップ3.変更対象記載文書)
変更対象記載文書から変更対象成果物を抽出する。抽出するには、抽出するプログラムをあらかじめ格納部30に記録しておき、それを実行する。
(ステップ4.)抽出した変更対象成果物について、相互の依存関係を格納部30に記録する。記録する確度の数値、確定させるべき依存関係かどうかは、あらかじめ格納部30に記録しておく。前述の例のように変更対象記載文書Aが、ファイルX、Y、Zが変更必要という情報を含んでいる場合、依存関係抽出部602は、「X(影響元)→Y(影響先)」、「Y→X」、「Y→Z」、「Z→Y」、「Z→X」、「X→Z」の6通り()の依存関係の確度、およびそれぞれについて確定した確度かどうかの情報を記録する。2つのファイル間の依存関係とその確度は、予め格納部30に設定されている。すなわち、依存関係抽出部602は、変更対象記載文書Aに変更対象ファイルX、Y、Zが記載されている場合には、格納部30に既に設定されている「X→Y」等の依存関係の確度を検索し、取得する。この意味で「準手動的」に依存関係を設定する。
(ステップ5.依存関係記載文書)
依存関係記載文書から影響元成果物と影響先成果物を抽出する。抽出するには、抽出するプログラムをあらかじめ格納部30に記録しておき、それを実行する。
(ステップ6.)記載されている、影響元成果物と影響先成果物との間の依存関係(確度、及びその依存関係を確定させるべきかどうかの情報)を格納部30に記録する。記録する確度の数値、確定させるべき依存関係かどうかは、あらかじめ格納部30に記録しておく。前述の例のように依存関係記載文書Bが、「X→Y」という依存関係を含んでいる場合、依存関係抽出部602は、すでに格納部30に格納されている「X→Y」の依存関係の確度を取得し、「X→Y」の確度を格納部30に記録する。
【0077】
成果物受付部20の処理手順を図47に示す。ステップ1〜ステップ6は、実施の形態5と同じである。ステップ7で、格納部30に記録されている確度計算プログラムのうち、変更時に起動すると記録されている確度計算プログラム64をすべて起動する。
【0078】
成果物取り出し部301の処理手順を図48に示す。ステップ1〜3とステップ5は、実施の形態5のステップ1〜4と同じである。ステップ4で、格納部30に記録されている確度計算プログラム64のうち、成果物取り出し時に起動すると記録されている確度計算プログラム64をすべて起動する。
【0079】
総合確度計算部(51−6)の処理手順を図49に示す。総合確度計算部(51−6)は、種々の確度計算プログラム64によって計算される依存関係の確度が更新されたことを検知して起動される。
(ステップ1.)影響元成果物と影響先成果物の組について、総合確度計算部(51−6)以外の確度計算プログラム64ごとに、最新の依存関係を取り出す。
(ステップ2.)影響元成果物と影響先成果物の組ごとに、確定させるべき依存関係を含む場合、ステップ3の処理へ進む。含まない場合はステップ4の処理へ進む。
(ステップ3.)確定させるべき依存関係であると明示されているため、確定させるべき依存関係として格納部30に記録する。
(ステップ4.)種々の確度計算プログラム64によって計算された確度を元に、総合確度関数を用いて総合確度を計算する。総合確度関数は、「確度計算日時からの経過時間によって重み付けされた、各々の確度の和」をはじめとして、種々のものが考えられる。
(ステップ5.)計算された総合確度を、総合確度計算部(51−6)によって依存関係として格納部30に記録する。
【0080】
影響先成果物検出部52の処理手順を図50に示す。ステップ1およびステップ3〜4は実施の形態5と同じである。ステップ2は、指定の確度計算プログラム64によって記録された依存関係のみを対象として、入力された成果物名の集合に含まれる成果物が影響となる依存関係を、格納部30から取得する。総合的な確度に基づいた依存関係を表示する場合には総合確度計算部(51−6)を指定し、個別の確度計算部51によって記録された依存関係を表示する場合には、個別の確度計算部51を指定する。計算部の指定方法は、あらかじめ格納部30に記録しておく、入力部10から入力するなどの方法がある。
【0081】
以上のようにすることで、ユーザが入力した依存関係や、ユーザが記述したプロジェクト管理用文書データに記載の依存関係を利用して、依存関係がない成果物間に依存関係がある、あるいは依存関係があるのに成果物間に依存関係なし、と推定してしまう恐れを低減することができる。
【0082】
以上の実施の形態1〜実施の形態6においては、成果物間依存関係推定装置おいて「〜部」として示した各構成要素の一連の動作は互いに関連しており、これら一連の動作は、コンピュータに実施させるプログラムによる処理に置き換えることができる。各構成要素の動作をプログラムによる処理に置き換えることにより、「依存関係推定プログラム」の実施形態とすることができる。また、この「依存関係推定プログラム」を、コンピュータ読み取り可能な記録媒体に記録させることで、プログラムを記録したコンピュータ読み取り可能な記録媒体の実施形態とすることができる。また、成果物間依存関係推定装置おいて「〜部」として示した各構成要素の一連の動作を「〜ステップ」として把握することにより、成果物間依存関係推定装置を「依存関係推定方法」として把握することも可能である。
【0083】
以上の実施の形態1では、以下の手段を備えた成果物間依存関係推定装置を説明した。
(1)ユーザからの入力を受け付ける手段。
(2)入力されたファイルとユーザ名を受け付け、ファイルと変更情報として、登録する手段。
(3)版管理されたファイルと、ファイルの変更情報、体制表データを保持する手段。
(4)変更対象のファイルを指定するための手段。
(5)変更情報をもとに、ファイル間の依存関係の確度を計算する手段。
(6)入力されたファイル名に対応する変更情報を格納手段より取得し、確度計算手段を用いて確度を計算し、影響先ファイルとその確度の一覧を出力手段に渡す手段。
(7)影響先ファイル名とその確度の一覧をユーザに表示する手段。
【0084】
以上の実施の形態2では、以下の手段を備えた成果物間依存関係推定装置を説明した。
(1)ユーザからの入力を受け付ける手段。
(2)入力されたファイルとユーザ名を受け付け、ファイルと変更情報として、登録する手段。
(3)版管理されたファイルと、ファイルの変更情報、体制表データ、ファイル間の依存関係を保持する手段。
(4)変更対象のファイルを指定するための手段。
(5)変更情報をもとに、ファイル間の依存関係の確度を計算し、記録する手段。
(6)記録されている依存関係の確度をもとに、影響先ファイルとその確度を出力する手段。
(7)影響先ファイルと依存関係の確度について、一覧表や、チャート、グラフなど、表示用に加工する手段。
(8)影響先ファイル名とその確度をユーザに表示する手段。
【0085】
以上の実施の形態3では、以下の手段を備えた成果物間依存関係推定装置を説明した。
(1)ユーザからの入力を受け付ける手段。
(2)入力されたファイルとユーザ名を受け付け、ファイルと変更情報として、登録する手段。
(3)ファイルを取り出すとともに、取り出し情報として取り出したファイルとユーザ名と取り出し日時を記録する手段。
(4)版管理されたファイルと、ファイルの変更情報、ファイルの取り出し情報、体制表データ、ファイル間の依存関係を保持する手段。
(5)変更対象のファイルを指定するための手段。
(6)変更情報および取り出し情報をもとに、ファイル間の依存関係の確度を計算し、記録する手段。
(7)記録されている依存関係の確度をもとに、影響先ファイルとその確度を出力する手段。
(8)影響先ファイルと依存関係の確度について、一覧表や、チャート、グラフなど、表示用に加工する手段。
(9)影響先ファイル名とその確度をユーザに表示する手段。
【0086】
以上の実施の形態4では、以下の手段を備えた成果物間依存関係推定装置を説明した。
(1)ユーザからの入力を受け付ける手段。
(2)入力されたファイルとユーザ名を受け付け、ファイルと変更情報として、登録する手段。
(3)ファイルを取り出すとともに、取り出し情報として取り出したファイルとユーザ名と取り出し日時を記録する手段。
(4)版管理されたファイルと、ファイルの変更情報、ファイルの取り出し情報、体制表データ、ファイル間の依存関係を保持する手段。
(5)変更対象のファイルを指定するための手段。
(6)変更情報および取り出し情報をもとに、ファイル間の依存関係の確度を計算し、記録する手段。
(7)記録されている依存関係の確度をもとに、影響先ファイルとその確度を出力する手段。
(8)影響先ファイルとその確度の集合から、依存関係の有無を統計的に推定し、依存関係があると推定した影響先ファイルとその確度のみ出力する手段。
(9)影響先ファイルと依存関係の確度について、一覧表や、チャート、グラフなど、表示用に加工する手段。
(10)影響先ファイル名とその確度をユーザに表示する手段。
【0087】
以上の実施の形態5では、以下の手段を備えた成果物間依存関係推定装置を説明した。
(1)ユーザからの入力を受け付ける手段。
(2)ファイルから成果物を抽出する手段。
(3)入力された成果物とユーザ名を受け付け、成果物と変更情報として、登録する手段。
(4)成果物を取り出すとともに、取り出し情報として取り出した成果物とユーザ名と取り出し日時を記録する手段。
(5)版管理された成果物と、成果物の変更情報、成果物の取り出し情報、体制表データ、成果物間の依存関係を保持する手段。
(6)変更対象の成果物を指定するための手段。
(7)変更情報および取り出し情報をもとに、成果物間の依存関係の確度を計算し、記録する手段。
(8)記録されている依存関係の確度をもとに、影響先成果物とその確度を出力する手段。
(9)影響先成果物とその確度の集合から、依存関係の有無を統計的に推定し、依存関係があると推定した影響先成果物とその確度のみ出力する手段。
(10)影響先成果物と依存関係の確度について、一覧表や、チャート、グラフなど、表示用に加工する手段。
(11)影響先成果物名とその確度をユーザに表示する手段。
(12)成果物を、ユーザが編集しやすいように整形して出力する手段。
【0088】
以上の実施の形態6では、以下の手段を備えた成果物間依存関係推定装置を説明した。
(1)ユーザからの入力を受け付ける手段。
(2)ファイルから成果物を抽出する手段。
(3)入力された成果物とユーザ名を受け付け、成果物と変更情報として、登録する手段。
(4)成果物を取り出すとともに、取り出し情報として取り出した成果物とユーザ名と取り出し日時を記録する手段。
(5)版管理された成果物と、成果物の変更情報、成果物の取り出し情報、体制表データ、成果物間の依存関係、依存関係の確度を計算する確度計算手段、成果物間の依存関係が記載された依存関係記載文書、変更対象成果物が記載された変更対象記載文書を保持する手段。
(6)変更対象の成果物を指定するための手段。
(7)変更情報および取り出し情報をもとに、成果物間の依存関係の確度を計算し、記録する手段。
(8)記録されている依存関係の確度をもとに、影響先成果物とその確度を出力する手段。
(9)影響先成果物とその確度の集合から、依存関係の有無を統計的に推定し、依存関係があると推定した影響先成果物とその確度のみ出力する手段。
(10)影響先成果物と依存関係の確度について、一覧表や、チャート、グラフなど、表示用に加工する手段。
(11)影響先成果物名とその確度をユーザに表示する手段。
(12)成果物を、ユーザが編集しやすいように整形して出力する手段。
(13)ユーザが指定した、影響先成果物と影響元成果物とそれらの間の確度を、格納手段に記録する手段。
(14)依存関係を抽出可能なプロジェクト管理用文書データから、依存関係を抽出する手段。
(15)種々の確度計算手段によって計算された確度をもとに、総合確度を計算する手段。
【図面の簡単な説明】
【0089】
【図1】実施の形態1における成果物間依存関係推定装置の外観の一例を示す図。
【図2】実施の形態1における成果物間依存関係推定装置のハードウェア構成の一例。
【図3】実施の形態1における成果物間依存関係推定装置1001のブロック図。
【図4】実施の形態1における格納部30で保持されるデータ構造。
【図5】実施の形態1におけるファイル受付部20の動作を示すフローチャート。
【図6】実施の形態1における格納部30の状態を示す図。
【図7】図6に対してファイルが登録された状態を示す図。
【図8】図7に対してさらにファイルが登録された状態を示す図。
【図9】実施の形態1における影響先ファイル検出部52の動作のフローチャート。
【図10】実施の形態1における確度計算部51の動作のフローチャート。
【図11】実施の形態1における変更情報の時系列を示す図。
【図12】図11のペア化を示す図。
【図13】図12の各ペアの変更情報の内容を示す図。
【図14】図13から同一変更者のペアを抽出した図。
【図15】実施の形態1における依存関係の確度を示す図。
【図16】実施の形態1における変更情報のペア化を説明する図。
【図17】実施の形態2における成果物間依存関係推定装置1002のブロック図。
【図18】実施の形態2における格納部30で保持されるデータ構造。
【図19】実施の形態2における影響先ファイル検出部52の動作のフローチャート。
【図20】実施の形態2における影響範囲表示部201の動作のフローチャート。
【図21】実施の形態2における影響先ファイル検出部52の出力の一例。
【図22】実施の形態2における影響範囲表示部201の一覧表形式の出力例。
【図23】実施の形態2における影響範囲表示部201の一覧表形式の別の出力例。
【図24】実施の形態2における影響範囲表示部201のグラフ形式の出力例。
【図25】実施の形態2における影響範囲表示部201のグラフ形式の別の出力例。
【図26】実施の形態2における影響範囲表示部201のチャート形式の出力例。
【図27】実施の形態2における影響範囲表示部201のチャート形式の別の出力例。
【図28】実施の形態3における成果物間依存関係推定装置1003のブロック図。
【図29】実施の形態3における格納部30で保持されるデータ構造。
【図30】実施の形態3におけるファイル取り出し部301の動作のフローチャート。
【図31】実施の形態3における確度計算部51の動作のフローチャート。
【図32】実施の形態4における成果物間依存関係推定装置1004のブロック図。
【図33】実施の形態4における依存関係推定部401の動作のフローチャート。
【図34】実施の形態4における依存関係推定部401による分割の例を示す図。
【図35】実施の形態4における依存関係推定部401による分割の別の例を示す図。
【図36】実施の形態4における依存関係推定部401による依存関係の有無の振り分けの例。
【図37】実施の形態5における成果物間依存関係推定装置1005のブロック図。
【図38】実施の形態5における格納部30で保持されるデータ構造。
【図39】実施の形態5における成果物抽出部501の動作のフローチャート。
【図40】実施の形態5における整形部502の動作のフローチャート。
【図41】実施の形態6における成果物間依存関係推定装置1006のブロック図。
【図42】実施の形態6における格納部30で保持されるデータ構造。
【図43】実施の形態6における主要動作の概要を説明するブロック図。
【図44】実施の形態6における主要動作の概要を説明する別のブロック図。
【図45】実施の形態6における依存関係手動設定部601の動作のフローチャート。
【図46】実施の形態6における依存関係抽出部602の動作のフローチャート。
【図47】実施の形態6における成果物受付部の動作のフローチャート。
【図48】実施の形態6におけるファイル取り出し部301の動作のフローチャート。
【図49】実施の形態6における総合確度計算部の動作のフローチャート。
【図50】実施の形態6における影響先ファイル検出部52の動作のフローチャート。
【符号の説明】
【0090】
10 入力部、20 ファイル受付部、30 格納部、40 変更部分入力部、50 影響範囲検出部、51 確度計算部、51−6 総合確度計算部、52 影響先ファイル検出部、60 出力部、61 プロジェクト管理文書、62 成果物、63 依存関係、64 確度計算プログラム、65 版、66 成果物内容、67 取り出し情報、68 変更情報、69 ユーザ、70 チーム、111 ファイル、111−2 依存関係、118−8 取り出し情報、112 版、113 ファイル内容、114 ユーザ、115 チーム、116 変更情報、201 影響範囲表示部、301 ファイル取り出し部、401 依存関係推定部、501 成果物抽出部、502 整形部、601 依存関係手動設定部、602 依存関係抽出部、1001,1002,1003,1004,1005,1006 成果物間依存関係推定装置。

【特許請求の範囲】
【請求項1】
データを格納する格納部と、
成果物の名称である成果物名と成果物の内容である成果物内容とを含む成果物データと、ユーザ名との入力を受け付け、受け付けられた成果物内容と同一の成果物内容の成果物データが前記格納部に存在するかどうかを判定し、存在しないと判定すると受け付けられた成果物データに同一の成果物名を持つ成果物データどうしを区別する版番号を付与するとともに、付与された版番号と、受け付けられた成果物データと、現在の日時を示す日時情報と受け付けられたユーザ名とを含む変更情報とを対応付けて前記格納部に格納する成果物受付部と、
成果物名を受け付け、成果物名を受け付けると前記格納部に格納されている成果物データの中から受け付けられた成果物名である受付成果物名を持つ成果物データを版番号ごとに特定し、版番号ごとに特定された成果物データのそれぞれに対応する変更情報を特定し、特定された変更情報に基づいて、所定の規則に従うことにより受付成果物名で代表される成果物と他の成果物名で代表される成果物との間の依存関係の確度を計算する確度計算部と
を備えたことを特徴する依存関係推定装置。
【請求項2】
前記依存関係推定装置は、さらに、
成果物データの検索条件と、ユーザ名とを受け付け、前記格納部から検索条件に該当する成果物データを取得するとともに、受け付けられたユーザ名と、取得された成果物データに含まれる成果物名と、現在の時刻を示す取出時刻とを含む取り出し情報を生成し、生成された取り出し情報を取得された成果物データに含まれる成果物名と対応付けて前記格納部に格納する成果物取出部と、
前記成果物取出部により取得された成果物データを出力する出力部と
を備え、
前記確度計算部は、
成果物名を受け付け、成果物名を受け付けると前記格納部に格納されている成果物データの中から受け付けられた成果物名である受付成果物名を持つ成果物データを版番号ごとに特定し、版番号ごとに特定された成果物データのそれぞれに対応する変更情報を特定するとともに、前記格納部に格納されている取り出し情報の中から受付成果物名を持つ成果物データに対応する取り出し情報を特定し、特定された変更情報と取り出し情報とに基づいて、所定の規則に従うことにより受付成果物名で代表される成果物と他の成果物名で代表される成果物との間の依存関係の確度を計算することを特徴とする請求項1記載の依存関係推定装置。
【請求項3】
前記依存関係推定装置は、さらに、
前記確度計算部により計算された依存関係の確度を入力し、入力された依存関係の確度を用いることにより、所定の統計的手法に基づいて、受付成果物名で代表される成果物と他の成果物名で代表される成果物との間の依存関係の有無を推定する依存関係推定部を備えたことを特徴とする請求項1または2のいずれかに記載の依存関係推定装置。
【請求項4】
前記確度計算部は、
前記成果物受付部によって版番号と、成果物データと、変更情報とが対応付けられて前記格納部に格納されるときに、起動して処理を実行することを特徴とする請求項1〜3のいずれかに記載の依存関係推定装置。
【請求項5】
前記確度計算部は、
前記成果物取出部によって取り出し情報が前記格納部に格納されるときに、起動して処理を実行することを特徴とする請求項2〜4のいずれかに記載の依存関係推定装置。
【請求項6】
データを格納する格納部を備えたコンピュータを
(1)成果物の名称である成果物名と成果物の内容である成果物内容とを含む成果物データと、ユーザ名との入力を受け付け、受け付けられた成果物内容と同一の成果物内容の成果物データが前記格納部に存在するかどうかを判定し、存在しないと判定すると受け付けられた成果物データに同一の成果物名を持つ成果物データどうしを区別する版番号を付与するとともに、付与された版番号と、受け付けられた成果物データと、現在の日時を示す日時情報と受け付けられたユーザ名とを含む変更情報とを対応付けて前記格納部に格納する成果物受付部、
(2)成果物名を受け付け、成果物名を受け付けると前記格納部に格納されている成果物データの中から受け付けられた成果物名である受付成果物名を持つ成果物データを版番号ごとに特定し、版番号ごとに特定された成果物データのそれぞれに対応する変更情報を特定し、特定された変更情報に基づいて、所定の規則に従うことにより受付成果物名で代表される成果物と他の成果物名で代表される成果物との間の依存関係の確度を計算する確度計算部、
として機能させることを特徴する依存関係推定プログラム。
【請求項7】
請求項6記載の依存関係推定プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項8】
データを格納する格納部と、
成果物の名称である成果物名称と成果物の内容である成果物内容とを含む成果物データの入力を受け付け、受け付けられた成果物内容と同一の成果物内容の成果物データが前記格納部に存在するかどうかを判定し、存在しないと判定すると受け付けられた成果物データに同一の成果物名を持つ成果物データどうしを区別する版番号を付与するとともに、付与された版番号と、受け付けられた成果物データとを対応付けて前記格納部に格納する成果物受付部と、
影響元となる成果物データの成果物名と影響元の成果物データの成果物内容の変更によって影響を受ける影響先となる成果物データの成果物名とからなる成果物名のペアであって予め指定された指定ペアと、この指定ペアに対して予め設定された依存関係の確度との入力を受け付けて前記格納部に記録する依存関係受付部と、
成果物名を受け付け、前記格納部に格納されている成果物データのうち受け付けられた成果物名である受付成果物名を影響元とし、前記格納部に格納されている成果物データの成果物名を影響元である受付成果物名の成果物データの成果物内容の変更によって影響を受ける影響先とした成果物名のペアを作成ペアとして作成し、それぞれの作成ペアについて影響元の受付成果物名を持つ成果物データと影響先の成果物名を持つ成果物データとの間の依存関係の確度を、複数の確度計算プログラムを実行することにより、確度計算プログラムごとに個別に計算する個別確度計算部と、
前記個別確度計算部が個別に計算したそれぞれの確度と、前記依存関係受付部によって前記格納部に記録された確度のうち受付成果物名を影響元とする指定ペアの確度とを用いて、作成ペアごとの依存関係の確度を総合確度として再計算する総合確度計算部と
を備えたことを特徴とする依存関係推定装置。
【請求項9】
前記成果物受付部は、
成果物内容の変更が予定される成果物データの成果物名がn個(nは2以上の整数)記載された変更対象記載文書の入力を受け付けて前記格納部に格納し、
前記格納部は、
変更対象記載文書に記載されたn個の成果物名から生成可能な通りの成果物名のペアであって一方を影響元とし他方を影響元の成果物データの成果物内容の変更によって影響を受ける影響先とするペアと、それぞれのペアごとに設定された依存関係の確度とを格納しており、
前記依存関係推定装置は、さらに、
前記格納部に格納された通りのペアの依存関係の確度を前記格納部から抽出する依存関係抽出部を備え、
前記総合確度計算部は、
前記個別確度計算部が個別に計算したそれぞれの確度と、前記依存関係受付部によって前記格納部に記録された確度のうち受付成果物名を影響元とする指定ペアの確度とに加え、さらに、前記依存関係抽出部によって抽出された依存関係の確度とを用いて、作成ペアごとの総合確度を再計算することを特徴とする請求項8記載の依存関係推定装置。
【請求項10】
前記成果物受付部は、
影響元の成果物名と影響元の成果物データの成果物内容の変更によって影響を受ける影響先の成果物名とのペアが記載された依存関係記載文書の入力を受け付けて前記格納部に格納し、
前記格納部は、
依存関係記載文書に記載されたペアと、このペアに設定された依存関係の確度とを格納しており、
依存関係推定装置は、さらに、
依存関係記載文書に記載されたペアの依存関係の確度を前記格納部から抽出する依存関係抽出部を備え、
前記総合確度計算部は、
前記個別確度計算部が個別に計算したそれぞれの確度と、前記依存関係受付部によって前記格納部に記録された確度のうち受付成果物名を影響元とする指定ペアの確度とに加え、さらに、前記依存関係抽出部によって抽出された依存関係の確度とを用いて、作成ペアごとの総合確度を再計算することを特徴とする請求項8記載の依存関係推定装置。
【請求項11】
前記依存関係受付部は、
指定ペアと、この指定ペアの依存関係の確定を指示する依存関係確定指示情報との入力を受け付け、
前記総合確度計算部は、
前記依存関係受付部が受け付けた依存関係確定指示情報に対応する指定ペアの依存関係を確定済みとして、前記格納部に記録することを特徴とする請求項8〜10のいずれかに記載の依存関係推定装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate

【図50】
image rotate