(57)【要約】      （修正有）【課題】開発者が実績データを入力する負担無く、開発者のソフトウェア開発能力を算出することを可能にする。【解決手段】データ収集部１７１は、リポジトリ解析ツール１３８が有する、既存のバージョン管理ツール１３２が有するリポジトリテーブル１３４を解析したリポジトリ解析テーブル１４０を参照し、リポジトリ解析情報テーブル１７５にリポジトリ解析情報を格納し、又、既存の自動テストツール１３５が有するテスト結果テーブル１３７を参照し、テスト結果情報テーブル１７６にテスト結果情報を格納する。算出部１７２は、リポジトリ解析情報テーブル１７５とテスト結果情報テーブル１７６を参照し、開発者１００のソフトウェア開発能力を算出し、ソフトウェア開発能力情報テーブルに格納する。表示部１７３は、ソフトウェア開発能力情報テーブル１７８を参照し、閲覧者１５０が指定した開発者のソフトウェア開発能力を表示する。【選択図】図１
2016053786.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアのソースファイルのソース変更内容を含むリポジトリ情報が格納されたリポジトリテーブルと、
ソフトウェアについて行った自動テストのテスト消化件数を含むテスト結果情報が格納されたテスト結果テーブルと、
リポジトリ情報を解析して得たソース変更ステップ数を含むリポジトリ解析情報が格納されたリポジトリ解析テーブルと、
前記リポジトリテーブルに前記リポジトリ情報を格納するバージョン管理手段と、
前記自動テストを実施し、前記テスト結果情報を前記テスト結果テーブルに格納する自動テスト手段と、
前記リポジトリ情報を解析し、前記リポジトリ解析情報を前記リポジトリ解析テーブルに格納するリポジトリ解析手段と、を備えた開発支援サーバと
相互に通信可能に接続されたソフトウェア開発能力算出システムであって、
前記リポジトリ解析情報の集計情報が格納されたリポジトリ解析情報テーブルと、
前記テスト結果情報の集計情報が格納されたテスト結果情報テーブルと、  
プロジェクト情報が格納されたプロジェクト情報テーブルと、
前記リポジトリ解析情報テーブル及び前記テスト結果情報テーブルに格納された情報を元に算出されたソフトウェア開発能力情報が格納されたソフトウェア開発能力情報テーブルと、
前記リポジトリ解析情報を元に前記リポジトリ解析情報の集計情報を前記リポジトリ解析情報テーブルに格納し、前記テスト結果情報を元に前記テスト結果情報の集計情報を前記テスト結果情報テーブルに格納するデータ収集手段と、
前記リポジトリ解析情報の集計情報を元にコーディング能力を算出し、前記テスト結果情報の集計情報を元にテスト能力を算出し、前記算出したコーディング能力とテスト能力を、前記ソフトウェア開発能力情報テーブルに格納する算出手段と、
前記ソフトウェア開発能力情報を表示する表示手段と、
を備えたことを特徴とするソフトウェア開発能力算出システム。
【請求項２】
前記バージョン管理手段を操作するクライアントバージョン管理手段と、
前記自動テスト手段及び前記リポジトリ解析手段を操作する開発支援サーバ接続手段と、を備えた開発者クライアントＰＣが、前記開発支援サーバと相互に通信可能に接続されていることを特徴とする請求項１に記載のソフトウェア開発能力算出システム。
【請求項３】
前記ソフトウェア開発能力算出システムを操作するクライアントソフトウェア開発能力算出手段を備えた閲覧者クライアントＰＣが、前記ソフトウェア開発能力算出システムと相互に通信可能に接続されていることを特徴とする請求項１又は２に記載のソフトウェア開発能力算出システム。
【請求項４】
前記プロジェクト情報テーブルに登録されるプロジェクト情報は、
ソフトウェア開発プロジェクト毎にテーブル内にて一意に付与されるプロジェクトＩＤと、
プロジェクト名と、
開発期間と、
開発支援サーバ名と、
を含むことを特徴とする請求項１乃至３のいずれかに記載のソフトウェア開発能力算出システム。
【請求項５】
前記リポジトリ解析情報テーブルに登録されるリポジトリ解析情報の集計情報は、
前記リポジトリ解析テーブルに格納された開発者と、
前記プロジェクトＩＤと、
前記リポジトリ解析テーブルに格納されたソース変更日時から算出されるソース変更期間と、
前記ソース変更期間内に前記リポジトリ解析テーブルに格納されたソース変更ステップ数の合計と、
を含むことを特徴とする請求項４に記載のソフトウェア開発能力算出システム。
【請求項６】
前記テスト結果情報テーブルに登録されるテスト結果情報の集計情報は、
前記テスト結果テーブルに格納された開発者と、
前記プロジェクトＩＤと、
前記テスト結果テーブルに格納されたテスト実施日時から算出されるテスト実施期間と、
前記テスト実施期間内に前記テスト結果テーブルに格納されたテスト消化件数の合計と、
を含むことを特徴とする請求項４又は５に記載のソフトウェア開発能力算出システム。
【請求項７】
前記ソフトウェア開発能力情報テーブルに登録されるソフトウェア開発能力情報は、
前記プロジェクトＩＤと、
前記リポジトリ解析情報の集計情報を元に算出した開発者のプロジェクト毎のコーディング能力と、
前記テスト結果情報の集計情報を元に算出した開発者のプロジェクト毎のテスト能力と、を含むことを特徴とする請求項４乃至６のいずれかに記載のソフトウェア開発能力算出システム。
【請求項８】
前記コーディング能力は、前記ソース変更期間と前記ソース変更ステップ数合計から算出される開発者のプロジェクト毎の一月当たりのソース変更ステップ数であることを特徴とする請求項５乃至７のいずれかに記載のソフトウェア開発能力算出システム。
【請求項９】
前記テスト能力は、前記テスト実施期間と前記テスト消化件数合計から算出される開発者のプロジェクト毎の一月当たりのテスト消化件数であることを特徴とする請求項６乃至８のいずれかに記載のソフトウェア開発能力算出システム。
【請求項１０】
前記データ収集手段は、
前記プロジェクト情報テーブルからプロジェクト情報を取得し、
前記リポジトリ解析テーブルから前記リポジトリ解析情報を取得し、取得したリポジトリ解析情報に含まれるソース変更日時及びソース変更ステップ数からソース変更期間及びソース変更ステップ数の合計を算出して前記リポジトリ解析情報テーブルに格納し、
前記テスト結果テーブルから前記テスト結果情報を取得し、取得したテスト結果情報に含まれるテスト実施日時及びテスト消化件数からテスト実施期間及びテスト消化件数の合計を算出して前記テスト結果情報テーブルに格納することを特徴とする請求項１乃至９のいずれかに記載のソフトウェア開発能力算出システム。
【請求項１１】
前記算出部は、
開発者及びプロジェクト毎に、
前記リポジトリ解析情報テーブルのソース変更期間及びソース変更ステップ数合計を元にコーディング能力を算出し、
前記テスト結果情報テーブルのテスト実施期間及びテスト消化件数合計を元にテスト能力を算出し、
前記コーディング能力及びテスト能力を前記ソフトウェア開発能力情報テーブルに格納することを特徴とする請求項1乃至１０のいずれかに記載のソフトウェア開発能力算出システム。
【請求項１２】
前記表示手段は、
ソフトウェア開発能力表示対象の開発者入力画面を表示し、
入力された開発者について前記ソフトウェア開発能力情報テーブルの情報を取得して、プロジェクト毎にプロジェクト名、開発期間、コーディング能力及びテスト能力を表示するとともに、該表示された全てのプロジェクト全体としてのコーディング能力及びテスト能力の平均値を表示することを特徴とする請求項１乃至１１のいずれかに記載のソフトウェア開発能力算出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発において、ソフトウェア開発支援ツールが保持するデータを元にソフトウェア開発能力を算出するシステムに関するものである。
【背景技術】
【０００２】
一般に、ソフトウェア開発を始めるに当たって、ソフトウェアの発注者から提示された要求仕様と納期を元に、ソフトウェアの開発規模と難易度を見積もり、工数を算出する。ここで、工数とは、どれだけのソフトウェア生産性能力（以下、能力とする）を持つ人が何人月必要かといった情報を表す（人月は、一月当たりに何人必要ということを指す）。
【０００３】
次に、算出した工数に基づき開発者を割り当てる。これには、開発者の能力情報を用いる。開発者の能力と工数を照らし合わせ、工数に見合った開発者人員を割り当てることになる。
【０００４】
ここで、工数と照らし合わせるのに必要な開発者の能力を算出することは難しい。一般的には、開発者自身のこれまでの経験を元に開発者と開発者が経験したソフトウェア開発プロジェクトの関係者からヒアリングを行い、抽象的なヒアリング情報をある程度のレベルとして算出する方法がある。しかし、この方法ではヒアリング情報という曖昧な要素が大きく、開発者の能力が正確に算出できていないため、新規のソフトウェア開発プロジェクトに割り当てた結果、あらかじめ算出した工数に見合わずソフトウェアが納期までに完成しないという問題があった。
【０００５】
そこで、開発者の能力を算出するのに曖昧なヒアリング情報を用いるのではなく、開発者が過去に経験したプロジェクトの生産性データを実績データとして収集しておき、蓄積された実績データを元に開発者の能力を算出するという方法がある（特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２６５９１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、開発者の能力を算出する元となる実績データは開発者自身が入力する必要があるため、開発者の負担になるという問題がある。
例えば、実績データはソフトウェアの生産性データであり、具体的には開発者がコーディングした期間と分量（ステップ数）や、テストした期間とテスト消化件数がある。これらのデータを開発者がソフトウェア開発を行いながら記録するのでは、開発者には負担が大きく、ソフトウェア開発自体の生産性を下げることになる。
【０００８】
これを解決するために、実績データの入力を補助するツールを導入する方法がある。
例えば、開発者は画面の指示に従って実績データを入力するというツールを用いれば、開発者の負担は多少和らぐことになるが、実績データを入力するために都度補助ツールに対する入力作業が発生し、開発者の作業を都度中断させる必要があるため、やはり、実績データを入力するための負担が発生する。
【０００９】
もう一つの解決方法としては、実績データを収集するために別途ツールを導入するのではなく、開発者が普段開発に利用している既存のソフトウェア開発支援ツール（以下、開発支援ツール）が収集し保持するデータを実績データとして用いる方法がある。
【００１０】
現在、広く用いられている開発支援ツールに、バージョン管理ツール、自動テストツール及びリポジトリ解析ツールがある。
【００１１】
バージョン管理ツールは、ソースファイルの変更内容を差分として管理し、差分の積み重ねをリポジトリとして管理する。開発者がコーディングを行ったソースファイルを登録することで、ソース変更者（開発者）、ソースの変更日時及びソース変更内容が保持される。
【００１２】
リポジトリ解析ツールは、バージョン管理ツールが管理するリポジトリを解析する。開発者がリポジトリを指定して実行することで、ソース変更者（開発者）、ソース変更日時及び変更ステップ数が出力され保持される。
【００１３】
自動テストツールは、プログラムのテストを自動的に行う。開発者がソースファイルのビルドを行い生成した実行プログラムと作成したテストコードを用いて実行することで、テスト実行者（開発者）、テスト実行日時及びテスト消化件数（テストの結果正常と判定されたテスト件数）が保持される。
【００１４】
以上に挙げた開発支援ツールは開発者に広く用いられているため、これらのツールが保持するデータを実績データとして利用すれば、開発者が実績データを入力する負担無く、開発者の能力を算出することができる。
【００１５】
しかし、上記の開発支援ツールが保持するデータはツールごとにバラバラに管理されており、関連付けた情報も無いため、各ツールのデータを手動で収集し解析する必要があるという課題がある。
【００１６】
そこで、本発明の目的は、既存の開発支援ツールが保持する生産性データを実績データとして収集し解析することで、開発者が実績データを入力する負担無く、開発者のソフトウェア開発能力を算出することができるソフトウェア開発能力算出システムを提供することにある。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、本発明のソフトウェア開発能力算出システムは、ソフトウェアのソースファイルのソース変更内容を含むリポジトリ情報が格納されたリポジトリテーブルと、ソフトウェアについて行った自動テストのテスト消化件数を含むテスト結果情報が格納されたテスト結果テーブルと、リポジトリ情報を解析して得たソース変更ステップ数を含むリポジトリ解析情報が格納されたリポジトリ解析テーブルと、前記リポジトリテーブルに前記リポジトリ情報を格納するバージョン管理手段と、前記自動テストを実施し、前記テスト結果情報を前記テスト結果テーブルに格納する自動テスト手段と、前記リポジトリ情報を解析し、前記リポジトリ解析情報を前記リポジトリ解析テーブルに格納するリポジトリ解析手段と、を備えた開発支援サーバと相互に通信可能に接続されたソフトウェア開発能力算出システムであって、前記リポジトリ解析情報の集計情報が格納されたリポジトリ解析情報テーブルと、前記テスト結果情報の集計情報が格納されたテスト結果情報テーブルと、プロジェクト情報が格納されたプロジェクト情報テーブルと、前記リポジトリ解析情報テーブル及び前記テスト結果情報テーブルに格納された情報を元に算出されたソフトウェア開発能力情報が格納されたソフトウェア開発能力情報テーブルと、前記リポジトリ解析情報を元に前記リポジトリ解析情報の集計情報を前記リポジトリ解析情報テーブルに格納し、前記テスト結果情報を元に前記テスト結果情報の集計情報を前記テスト結果情報テーブルに格納するデータ収集手段と、前記リポジトリ解析情報の集計情報を元にコーディング能力を算出し、前記テスト結果情報の集計情報を元にテスト能力を算出し、前記算出したコーディング能力とテスト能力を、前記ソフトウェア開発能力情報テーブルに格納する算出手段と、  前記ソフトウェア開発能力情報を表示する表示手段と、を備えたことを特徴とする。
【００１８】
本発明のソフトウェア開発能力算出システムは、好ましくは、前記バージョン管理手段を操作するクライアントバージョン管理手段と、前記自動テスト手段及び前記リポジトリ解析手段を操作する開発支援サーバ接続手段と、を備えた開発者クライアントＰＣが、前記開発支援サーバと相互に通信可能に接続されていることを特徴とする。
【００１９】
本発明のソフトウェア開発能力算出システムは、好ましくは、前記ソフトウェア開発能力算出システムを操作するクライアントソフトウェア開発能力算出手段を備えた閲覧者クライアントＰＣが、前記ソフトウェア開発能力算出システムと相互に通信可能に接続されていることを特徴とする。
【００２０】
本発明のソフトウェア開発能力算出システムは、好ましくは、前記プロジェクト情報テーブルに登録されるプロジェクト情報は、ソフトウェア開発プロジェクト毎にテーブル内にて一意に付与されるプロジェクトＩＤと、プロジェクト名と、開発期間と、開発支援サーバ名と、を含むことを特徴とする。
【００２１】
本発明のソフトウェア開発能力算出システムは、好ましくは、前記リポジトリ解析情報テーブルに登録されるリポジトリ解析情報の集計情報は、前記リポジトリ解析テーブルに格納された開発者と、前記プロジェクトＩＤと、前記リポジトリ解析テーブルに格納されたソース変更日時から算出されるソース変更期間と、前記ソース変更期間内に前記リポジトリ解析テーブルに格納されたソース変更ステップ数の合計と、を含むことを特徴とする。
【００２２】
本発明のソフトウェア開発能力算出システムは、好ましくは、前記テスト結果情報テーブルに登録されるテスト結果情報の集計情報は、前記テスト結果テーブルに格納された開発者と、前記プロジェクトＩＤと、前記テスト結果テーブルに格納されたテスト実施日時から算出されるテスト実施期間と、前記テスト実施期間内に前記テスト結果テーブルに格納されたテスト消化件数の合計と、を含むことを特徴とする。
【００２３】
本発明のソフトウェア開発能力算出システムは、好ましくは、前記ソフトウェア開発能力情報テーブルに登録されるソフトウェア開発能力情報は、前記プロジェクトＩＤと、前記リポジトリ解析情報の集計情報を元に算出した開発者のプロジェクト毎のコーディング能力と、前記テスト結果情報の集計情報を元に算出した開発者のプロジェクト毎のテスト能力と、を含むことを特徴とする。
【００２４】
本発明のソフトウェア開発能力算出システムは、好ましくは、前記コーディング能力は、前記ソース変更期間と前記ソース変更ステップ数合計から算出される開発者のプロジェクト毎の一月当たりのソース変更ステップ数であることを特徴とする。
【００２５】
本発明のソフトウェア開発能力算出システムは、好ましくは、前記テスト能力は、前記テスト実施期間と前記テスト消化件数合計から算出される開発者のプロジェクト毎の一月当たりのテスト消化件数であることを特徴とする。
【００２６】
本発明のソフトウェア開発能力算出システムは、好ましくは、前記データ収集手段は、前記プロジェクト情報テーブルからプロジェクト情報を取得し、前記リポジトリ解析テーブルから前記リポジトリ解析情報を取得し、取得したリポジトリ解析情報に含まれるソース変更日時及びソース変更ステップ数からソース変更期間及びソース変更ステップ数の合計を算出して前記リポジトリ解析情報テーブルに格納し、前記テスト結果テーブルから前記テスト結果情報を取得し、取得したテスト結果情報に含まれるテスト実施日時及びテスト消化件数からテスト実施期間及びテスト消化件数の合計を算出して前記テスト結果情報テーブルに格納することを特徴とする。
【００２７】
本発明のソフトウェア開発能力算出システムは、好ましくは、前記算出部は、  開発者及びプロジェクト毎に、前記リポジトリ解析情報テーブルのソース変更期間及びソース変更ステップ数合計を元にコーディング能力を算出し、前記テスト結果情報テーブルのテスト実施期間及びテスト消化件数合計を元にテスト能力を算出し、前記コーディング能力及びテスト能力を前記ソフトウェア開発能力情報テーブルに格納することを特徴とする。
【００２８】
本発明のソフトウェア開発能力算出システムは、好ましくは、前記表示手段は、  ソフトウェア開発能力表示対象の開発者入力画面を表示し、入力された開発者について前記ソフトウェア開発能力情報テーブルの情報を取得して、プロジェクト毎にプロジェクト名、開発期間、コーディング能力及びテスト能力を表示するとともに、該表示された全てのプロジェクト全体としてのコーディング能力及びテスト能力の平均値を表示することを特徴とする。
【発明の効果】
【００２９】
本発明によれば、既存の開発支援ツールが保持する生産性データを実績データとして収集し解析することができ、開発者のソフトウェア開発能力を算出することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施形態に係るソフトウェア開発能力算出システムを含むソフトウェア開発システムの構成の一例を示す図である。
【図２】リポジトリ解析情報テーブル、テスト結果情報テーブル、プロジェクト情報テーブル及びソフトウェア開発能力情報テーブルの構成図の一例を示す図である。
【図３】データ収集部におけるデータ収集処理の流れの一例を示す図である。
【図４】算出部の処理における算出処理の流れの一例を示す図である。
【図５】表示部の処理における表示処理の流れの一例を示す図である。
【図６】ソフトウェア開発能力算出システムのソフトウェア開発能力を表示するクライアント画面の一例を示す図である。
【図７】開発支援ツールを使用した開発者の開発作業の全体の流れの一例を示す図である。
【図８】開発支援ツールを使用した開発者の開発作業のコーディングとテストの流れの一例を示す図である。
【図９】バージョン管理ツールにおけるバージョン管理処理の流れの一例を示す図である。
【図１０】自動テストツールにおける自動テスト処理の流れの一例を示す図である。
【図１１】リポジトリ解析ツールにおけるリポジトリ解析処理の流れの一例を示す図である。
【図１２】リポジトリ情報を保持するリポジトリテーブルと、テスト結果情報を保持するテスト結果テーブルと、リポジトリ解析情報を保持するリポジトリ解析テーブルの構成図の一例を示す図である。
【発明を実施するための形態】
【００３１】
図１は、本発明の実施形態に係るソフトウェア開発能力算出システム１７０を含むソフトウェア開発システム１の構成の一例を示す。
【００３２】
ソフトウェア開発システム１は、開発者クライアントＰＣ（Personal Computer）１１０と、開発支援サーバ１３０と、閲覧者クライアントＰＣ１６０と、本発明の実施形態に係るソフトウェア開発能力算出システム１７０とで構成される。
【００３３】
開発者クライアントＰＣ１１０と、開発支援サーバ１３０とはネットワーク１２０に接続されており、相互に通信することができる。同様に、開発支援サーバ１３０と、ソフトウェア開発能力算出システム１７０とはネットワーク１２０に接続されており、相互に通信することができる。同様に、閲覧者クライアントＰＣ１６０と、ソフトウェア開発能力算出システム１７０とはネットワーク１２０に接続されており、相互に通信することができる。
【００３４】
開発支援サーバ１３０は、コンピュータであり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１４１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成されるメモリ１４２と、ハードディスク等で構成される記憶装置１４３とを有する。
【００３５】
開発支援サーバ１３０のＣＰＵ１４１が、メモリ１４２に記憶されているバージョン管理ツール１３２を実行することにより、バージョン管理部の機能が実現される。同様に、開発支援サーバ１３０のＣＰＵ１４１が、メモリ１４２に記憶されている自動テストツール１３５を実行することにより、自動テスト部の機能が実現される。同様に、開発支援サーバ１３０のＣＰＵ１４１が、メモリ１４２に記憶されているリポジトリ解析ツール１３８を実行することにより、リポジトリ解析部の機能が実現される。なお、バージョン管理ツール１３２と自動テストツール１３５とリポジトリ解析ツール１３８を合わせて開発支援ツール１３１と呼ぶ。
【００３６】
バージョン管理ツール１３２は、従来から知られている既存のものでよい。同様に、自動テストツール１３５及びリポジトリ解析ツール１３８、並びに後述するビルドツール１１１、バージョン管理ツールクライアントプログラム１１２及び開発支援サーバ接続ツール１１３も従来から知られている既存のものでよい。
【００３７】
開発支援サーバ１３０の記憶装置１４３は、リポジトリ情報１３３と、テスト結果情報１３６と、リポジトリ解析情報１３９を記憶する。リポジトリ情報１３３はリポジトリテーブル１３４に、テスト結果情報１３６はテスト結果テーブル１３７に、リポジトリ解析情報１３９はリポジトリ解析テーブル１４０に、それぞれ格納されている情報を示す。
【００３８】
開発支援サーバ１３０は、ソフトウェア開発プロジェクト一つにつき一つを割り当てられる。よって、リポジトリテーブル１３４とテスト結果テーブル１３７とリポジトリ解析テーブル１４０はある一つのソフトウェア開発プロジェクトの情報のみが格納され、複数のソフトウェア開発プロジェクトの中から、ある一つのソフトウェア開発プロジェクトが指定された場合は、リポジトリテーブル１３４とテスト結果テーブル１３７とリポジトリ解析テーブル１４０が一意に決まる。
【００３９】
バージョン管理ツール１３２が実行されることにより、開発者１００によって指定されたフォルダパスに作成された作業用フォルダ１１４に登録されたソースファイル１１５の開発者、ソース変更日時及びソース変更内容（差分で保持）が、リポジトリテーブル１３４に格納される。
【００４０】
自動テストツール１３５が実行されることにより、開発者１００によって作業用フォルダ１１４に登録されたテストコード１１６に従い、実行プログラム１１７が実行され、開発者、テスト実施日時及びテスト消化件数がテスト結果テーブル１３７に格納される。
【００４１】
リポジトリ解析ツール１３８が実行されることにより、リポジトリテーブル１３４が解析され、ソースを変更した開発者、ソース変更日時及びソース変更ステップ数がリポジトリ解析テーブル１４０に格納される。
【００４２】
ソフトウェア開発能力算出システム１７０はｈｔｔｐなどのネットワークプロトコルでテスト結果テーブル１３７およびリポジトリ解析テーブル１４０を開発支援サーバ１３０から参照することができる。
【００４３】
本発明の実施形態に係るソフトウェア開発能力算出システム１７０もコンピュータであり、ＣＰＵ１８１と、ＲＡＭ等で構成されるメモリ１８２と、ハードディスク等で構成される記憶装置１８３とを有する。
【００４４】
ソフトウェア開発能力算出システム１７０のＣＰＵ１８１が、メモリ１８２に記憶されているソフトウェア開発能力算出プログラム１７９を実行することにより、データ収集部１７１と、算出部１７２と、表示部１７３との各機能が実現される。
【００４５】
ソフトウェア開発能力算出システム１７０の記憶装置１８３は、ソフトウェア開発情報１７４を記憶する。ソフトウェア開発情報１７４は、リポジトリ解析情報テーブル１７５、テスト結果情報テーブル１７６、プロジェクト情報テーブル１７７及びソフトウェア開発能力情報テーブル１７８に格納されている情報を示す。
【００４６】
リポジトリ解析情報テーブル１７５には、後述するように、リポジトリ解析テーブル１４０の内容を元に、開発者、ソース変更期間及びソース変更ステップ数合計の情報が登録される。
【００４７】
テスト結果情報テーブル１７６には、後述するように、テスト結果テーブル１３７の内容を元に、開発者、テスト実施期間及びテスト消化件数合計の情報が登録される。
【００４８】
ソフトウェア開発能力情報テーブル１７８には、後述するように、リポジトリ解析情報テーブル１７５とテスト結果情報テーブル１７６とプロジェクト情報テーブル１７７の内容を元に、開発者、開発期間、コーディング能力及びテスト能力の情報が登録される。
【００４９】
ソフトウェア開発能力算出システム１７０を利用するためには、プロジェクト情報テーブル１７７に、初期状態として開発支援サーバ１３０が対象とするソフトウェアプロジェクトの情報（プロジェクト名、開発期間、開発支援サーバ名）が格納されていることが前提となる。
【００５０】
開発者クライアントＰＣ１１０もコンピュータであり、ＣＰＵ１０１と、ＲＡＭ等で構成されるメモリ１０２と、ハードディスク等で構成される記憶装置１０３と、キーボードやマウス等で構成される入力装置１０４と、ディスプレイ等で構成される表示装置１０５とを有する。
【００５１】
開発者１００は開発者クライアントＰＣ１１０を操作し、開発支援サーバ１３０にある開発支援ツール１３１を操作する。
【００５２】
開発者クライアントＰＣ１１０のＣＰＵ１０１が、メモリ１０２に記憶されているビルドツール１１１を実行することにより、ビルド部の機能が実現される。同様に、開発者クライアントＰＣ１１０のＣＰＵ１０１が、メモリ１０２に記憶されているバージョン管理ツールクライアントプログラム１１２を実行することにより、クライアントバージョン管理部の機能が実現される。同様に、開発者クライアントＰＣ１１０のＣＰＵ１０１が、メモリ１０２に記憶されている開発支援サーバ接続ツール１１３を実行することにより、開発支援サーバ接続部の機能が実現される。
【００５３】
開発者クライアントＰＣ１１０の記憶装置１０３には、開発者１００によって指定されたフォルダパスに作業用フォルダ１１４が作成される。作業用フォルダ１１４には、開発者１００が作成したソースファイル１１５と、テストコード１１６及び実行プログラム１１７が格納される。ソースファイル１１５は、開発者１００がコーディングにて記述したファイルである。テストコード１１６は、開発者１００がテストを行うときに自動テストツール１３５を実行させるテスト内容を記したファイルである。実行プログラム１１７は、ソースファイル１１５をビルドツール１１１にて実行しビルドを行うことで生成される。
【００５４】
バージョン管理ツールクライアントプログラム１１２は、開発支援サーバ１３０に接続し、バージョン管理部を操作する。開発支援サーバ接続ツール１１３は、開発支援サーバ１３０に接続し自動テスト部とリポジトリ解析部を操作する。
【００５５】
閲覧者クライアントＰＣ１６０もコンピュータであり、ＣＰＵ１５１と、ＲＡＭ等で構成されるメモリ１５２と、ハードディスク等で構成される記憶装置１５３と、キーボードやマウス等で構成される入力装置１５４と、ディスプレイ等で構成される表示装置１５５とを有する。
【００５６】
閲覧者１５０は閲覧者クライアントＰＣ１６０を操作し、ソフトウェア開発算出システム１７０を操作する。
【００５７】
閲覧者クライアントＰＣ１６０のＣＰＵ１５１が、メモリ１５２に記憶されているソフトウェア開発能力算出システムクライアントプログラム１６１を実行することにより閲覧者クライアントＰＣ１６０の各部の機能が実現される。ソフトウェア開発能力算出システムクライアントプログラム１６１は、ソフトウェア開発能力算出システム１７０を操作する。
【００５８】
以上の構成により、ソフトウェア開発能力算出システム１７０は次のように処理を行う。
【００５９】
データ収集部１７１は、例えば、ソフトウェア開発能力算出システム１７０の起動後に夜間等の一日一回、初期状態として登録されているプロジェクト情報テーブル１７７の内容を取得し、リポジトリ解析テーブル１４０の内容を元に、開発者、ソース変更期間及びソース変更ステップ数の合計の情報をリポジトリ解析情報テーブル１７５に登録し、テスト結果テーブル１３７の内容を元に開発者、テスト実施期間及びテスト消化件数の合計の情報をテスト結果情報テーブル１７６に登録する。
【００６０】
算出部１７２は、データ収集部１７１の処理完了後、リポジトリ解析情報テーブル１７５とテスト結果情報テーブル１７６とプロジェクト情報テーブル１７７の内容を元に、開発者、開発期間、コーディング能力及びテスト能力の情報を算出し、ソフトウェア開発能力情報テーブル１７８に登録する。
【００６１】
表示部１７３は、ソフトウェア開発能力算出システムクライアントプログラム１６１に指定された開発者のソフトウェア開発能力をソフトウェア開発能力情報テーブル１７８を参照して表示する。
【００６２】
図２は、ソフトウェア開発情報１７４を保持するリポジトリ解析情報テーブル１７５、テスト結果情報テーブル１７６、プロジェクト情報テーブル１７７及びソフトウェア開発能力情報テーブル１７８の構成図の一例を示す。
【００６３】
リポジトリ解析情報テーブル１７５のデータは、リポジトリ解析テーブル１４０に格納された開発者、ソース変更日時及びソース変更ステップ数の内容を元に登録される。リポジトリＩＤ２０１は、テーブル内で一意に付与されるＩＤである。開発者２０２は、リポジトリ解析テーブル１４０に格納されている開発者が登録される。プロジェクトＩＤ２０３は、プロジェクト情報テーブル１７７に登録されているプロジェクトＩＤ２２１であり、リポジトリ解析テーブル１４０が対象とするプロジェクトに対応するプロジェクトＩＤが登録される。ソース変更期間２０４は、開発者がソースを変更した期間を表し、リポジトリ解析テーブル１４０に格納されている開発者のソース変更日時のうち一番古い日時から一番新しい日時までの期間が格納される。ソース変更ステップ数２０５は、ソース変更期間内に開発者がソースを変更したステップ数の合計を表し、リポジトリ解析テーブル１４０に格納されている開発者ごとのソース変更ステップ数の合計が格納される。
【００６４】
テスト結果情報テーブル１７６のデータは、テスト結果テーブル１３７に格納された開発者、テスト実施日時及びテスト消化件数の内容を元に登録される。テストＩＤ２１１は、テーブル内で一意に付与されるＩＤである。開発者２１２は、テスト結果テーブル１３７に格納されている開発者が登録される。プロジェクトＩＤ２１３は、プロジェクト情報テーブル１７７に登録されているプロジェクトＩＤ２２１であり、テスト結果テーブル１３７が対象とするプロジェクトに対応するプロジェクトＩＤが登録される。テスト実施期間２１４は、開発者がテストを実施した期間を表し、テスト結果テーブル１３７に格納されている開発者のテスト実施日時のうち一番古い日時から一番新しい日時までの期間が格納される。テスト消化件数２１５は、テスト実施期間内に開発者がテストを実施したテスト消化件数の合計を表し、テスト結果テーブル１３７に格納されている開発者ごとのテスト消化件数の合計が格納される。ただし、テストコードの内容と照らし合わせ、同一テスト内容に対して複数回テストを消化した場合は、重複しないようテスト消化件数を一件としてカウントされる。
【００６５】
プロジェクト情報テーブル１７７のデータは、初期状態としてソフトウェア開発能力算出システム１７０の起動前に登録される。リポジトリ解析情報テーブル１７５及びテスト結果情報テーブル１７６の登録内容の元となるリポジトリ解析テーブル１４０及びテスト結果テーブル１３７が対象とするプロジェクト情報が登録される。プロジェクトＩＤ２２１は、テーブル内で一意に付与されるＩＤである。プロジェクト名２２２は、リポジトリ解析テーブル１４０及びテスト結果テーブル１３７が対象とするプロジェクトのプロジェクト名である。開発期間２２３は、リポジトリ解析テーブル１４０及びテスト結果テーブル１３７が対象とするプロジェクトの開発期間である。開発支援サーバ名２２４は、リポジトリ解析テーブル１４０及びテスト結果テーブル１３７を記憶する開発支援サーバ１３０のホスト名が格納される。
【００６６】
ソフトウェア開発能力情報テーブル１７８は、リポジトリ解析情報テーブル１７５、テスト結果情報テーブル１７６及びプロジェクト情報テーブル１７７の内容を元に算出されるソフトウェア開発能力情報が格納される。ＩＤ２３１は、テーブル内で一意に付与されるＩＤである。開発者２３２は、リポジトリ解析情報テーブル１７５に格納されている開発者２０２と、テスト結果情報テーブル１７６に格納されている開発者２１２が格納される。プロジェクトＩＤ２３３は、プロジェクト情報テーブル１７７に格納されているプロジェクトＩＤ２２１が格納される。コーディング能力２３４は、リポジトリ解析情報テーブル１７５に格納されているソース変更期間２０４とソース変更ステップ数（の合計）２０５を元に開発者ごとの一月当たりのソース変更ステップ数が算出され格納される。テスト能力２３５は、テスト結果情報テーブル１７６に格納されているテスト実施期間２１４とテスト消化件数（の合計）２１５を元に開発者ごとの一月当たりのテスト消化件数が算出され格納される。
【００６７】
例えば、プロジェクト名Ｘ．開発期間2012/10/1 〜 2012/12/31、開発支援サーバ名DevSupXのプロジェクトについて、開発者Ａがバージョン管理ツール１３２を通してリポジトリテーブル１３４に2014/6/1 10:00から2014/7/31 10:00までにソース登録を繰り返しているという情報があり、自動テストツール１３５を通してテストを行いテスト結果テーブル１３７に開発者Ａがテストを2014/7/1 11:00から2014/7/31 11:00までテスト消化を合計100件行っているという情報があり、開発者Ａがリポジトリ解析ツール１３８を使用しリポジトリテーブル１３４を解析しリポジトリテーブル１４０に開発者Ａが2014/6/1 10:00から2014/7/31 10:00までにソース変更を合計0.6KStep行っているという情報があるとする。
【００６８】
この時、ソフトウェア開発能力算出システム１７０の起動前に初期状態としてデータ収集の対象となるプロジェクト情報がプロジェクト情報テーブル１７７に格納される。この例の場合、プロジェクト情報テーブル１７７にプロジェクトＩＤ２２１が１として、プロジェクト名２２２がプロジェクトＸ、開発期間２２３が2012/10/1 〜 2012/12/31、開発支援サーバ名２２４がDevSupXとして格納される。
【００６９】
そして、ソフトウェア開発能力算出システム１７０を起動すると、データ収集部１７１が、リポジトリ解析テーブル１４０に格納されている情報に基づいて、リポジトリ情報の集計情報をリポジトリ解析情報テーブル１７５に格納する。この例の場合は、リポジトリＩＤ２０１が１として、開発者２０２がＡ、プロジェクトＩＤ２０３が１、ソース変更期間２０４が2014/6/1 10:00 〜 2014/7/31 10:00、ソース変更ステップ数２０５が0.6KStepが格納される。また、テスト結果テーブル１３７の情報に基づいて、テスト結果情報の集計情報をテスト結果情報テーブル１７６に格納する。この例の場合は、テストＩＤ２１１が１として、開発者２１２がＡ、プロジェクトＩＤ２１３が１、テスト実施期間2014/7/1 11:00 〜 2014/7/31 11:00、テスト消化件数２１５が100件が格納される。
【００７０】
リポジトリ解析情報テーブル１７５と、テスト結果情報テーブル１７６と、プロジェクト情報テーブル１７７の情報を元に、算出部１７２がソフトウェア開発能力を算出し、ソフトウェア開発能力情報テーブル１７８に情報を格納する。この例の場合は、ＩＤ２３１が１として、開発者２３２がＡ、プロジェクトＩＤ２３３が１、コーディング能力２３４が0.3KStep/月、テスト能力２３５が100件/月が格納される。
【００７１】
図３は、データ収集部１７１におけるデータ収集処理の流れの一例を示す。
データ収集部１７１はソフトウェア開発能力算出システム１７０起動後に、例えば、夜間バッチ等のように決められた時間に一日一回程度実行されることを想定する。データ収集部１７１は次のことを行う。
【００７２】
初期状態として格納されているプロジェクト情報テーブル１７７情報を取得する（Ｓ３０１）。次に、リポジトリ解析テーブル１４０に含まれている開発者、ソース変更日時及びソース変更ステップ数を取得し、プロジェクト及び開発者毎に、ソース変更期間２０４とソース変更ステップ数（の合計）２０５を算出し、リポジトリ解析情報テーブル１７５に格納する（Ｓ３０２）。次に、テスト結果テーブル１３７の開発者、テスト実施日時及びテスト消化件数を取得し、プロジェクト及び開発者毎に、テスト実施期間２１４及びテスト消化件数（の合計）２１５を算出し、テスト結果情報テーブル１７６に格納する（Ｓ３０３）。
【００７３】
図４は、算出部１７２における算出処理の流れの一例を示す。算出部１７２は、データ収集部１７１の処理実行後に行われる。算出部１７２は次のことを行う。
【００７４】
リポジトリ解析情報テーブル１７５を参照し、開発者及びプロジェクト毎にコーディング能力を算出する（Ｓ４０１）。コーディング能力は一月当たりの開発者が変更したステップ数で表し、例えば、ある開発者のあるプロジェクトにおけるソース変更期間２０４が2014/6/1 10:00 〜 2014/7/31 10:00、ソース変更ステップ数合計が0.6 KStepの場合、コーディング能力を0.6 KStep/2か月＝0.3 KStep/月と算出する。
【００７５】
次に、テスト結果情報テーブル１７６を参照し、開発者及びプロジェクト毎にテスト能力を算出する（Ｓ４０２）。テスト能力は一月当たりの開発者が消化したテスト消化件数で表し、例えば、ある開発者のあるプロジェクトにおけるテスト実施期間２１４が2014/7/1 11:00 〜 2014/7/31 11:00、テスト消化件数（合計）２１５が100 件の場合、テスト能力を100 件/1か月 ＝ 100 件/月と算出する。
【００７６】
次に、Ｓ４０１とＳ４０２で求めたコーディング能力とテスト能力を開発者及びプロジェクト毎にソフトウェア開発能力情報テーブル１７８のコーディング能力２３４とテスト能力２３５に格納する（Ｓ４０３）。
【００７７】
図５は、表示部１７３における表示処理の流れの一例を示す。
表示部１７３は、閲覧者１５０がソフトウェア開発能力算出システムクライアントプログラム１６１を使用して、ソフトウェア開発能力を表示しようとした時に実行される。表示部１７３は次のことを行う。
【００７８】
ソフトウェア開発能力を表示する対象の開発者を入力する画面を生成し、閲覧者クライアントＰＣ１６０に表示する（Ｓ５０１）。次に、閲覧者１５０が表示対象の開発者を入力すると（Ｓ５０２）、ソフトウェア開発能力情報テーブル１７８を参照し、指定された開発者に関するプロジェクト毎のプロジェクトＩＤ２３３とコーディング能力２３４とテスト能力２３５の情報を取得する（Ｓ５０３）。最後に、指定した開発者のプロジェクト毎に、プロジェクト情報テーブル１７７を参照し、ソフトウェア開発能力情報テーブル１７８のプロジェクトＩＤ２３１に対応するプロジェクト情報テーブル１７７のプロジェクトＩＤ２２１に対するプロジェクト名２２２、開発期間２２３、コーディング能力２３４及びテスト能力２３５を、全プロジェクトのそれぞれコーディング能力とテスト能力の平均値と併せて、閲覧者クライアントＰＣ１６０に表示する（Ｓ５０４）。平均値の求め方は、ある開発者のプロジェクト毎のコーディング能力を合計してプロジェクト数で割り算した値をコーディング能力の平均値とし、同様に、ある開発者のプロジェクト毎のテスト能力を合計してプロジェクト数で割り算した値をテスト能力の平均値とする。
【００７９】
図６は、ソフトウェア開発能力算出システム１７０のソフトウェア開発能力を表示するクライアント画面の一例を示す。
【００８０】
ソフトウェア開発能力算出システム画面６００は、閲覧者１５０がソフトウェア開発能力算出システムクライアントプログラム１６１を実行し、ある開発者のソフトウェア開発能力を参照したい場合に表示される。
【００８１】
ソフトウェア開発能力算出システム画面６００は、表示対象の開発者入力画面６１０と、表示対象の開発者名入力欄６１１と、表示ボタン６１２がある。閲覧者１５０が開発者の入力欄６１１に開発者名を入力し、表示ボタン６１２をクリックすると、表示部１７３の処理によって、ソフトウェア開発能力情報テーブル１７８の内容を元に、指定した開発者に関するソフトウェア開発能力画面６２０が表示される。ソフトウェア開発能力画面６２０には、表示対象の開発者に関するプロジェクト６２１と、開発期間６２２と、コーディング能力６２３と、テスト能力６２４がプロジェクト毎に表示される。また、全プロジェクトのそれぞれコーディング能力とテスト能力の平均値も併せて表示される。
【００８２】
具体的には、表示部１７３の処理によって、ソフトウェア開発能力情報テーブル１７８に格納されたデータのうち、開発者名入力欄６１１で入力された開発者名と開発者２３２が一致するデータが抽出され、その中でプロジェクトＩＤ２３３とプロジェクト情報テーブル１７７のプロジェクトＩＤ２２１が一致するデータのプロジェクト名２２２と開発期間２２３がそれぞれプロジェクト６２１と開発期間６２２に表示される。次に、ソフトウェア開発能力情報テーブル１７８に格納されたデータのうち、開発者名入力欄６１１で入力された開発者名と開発者２３２が一致するデータのコーディング能力２３４とテスト能力２３５がそれぞれコーディング能力６２３とテスト能力６２４に表示される。最後に、ソフトウェア開発能力画面６２０に表示される表の最後の行に、プロジェクト６２１に文字列「平均値」が表示され、ソフトウェア開発能力情報テーブル１７８に格納されたデータのうち、開発者名入力欄６１１で入力された開発者名と開発者２３２が一致するデータのコーディング能力２３４とテスト能力２３５の平均値がそれぞれ開発者の平均値としてコーディング能力６２３とテスト能力６２４に表示される。
【００８３】
図６の例では、開発者Ａのソフトウェア開発能力を表示させた場合であり、表示対象の開発者名６１１にＡを入力して、表示ボタン６１２をクリックすると、開発者Ａが経験したプロジェクト６２１がProjectXについて、開発期間６２２が2012/10/1 〜 2012/12/31、コーディング能力６２３が0.1 KStep/月、テスト能力６２４が20 件/月と表示される。同様に開発者Ａが経験したプロジェクト６２１がProjectY及びProjectZについても同様に表示される。また、プロジェクト６２１がProjectX、ProjectY及びProjectZのコーディング能力６２３の平均値が0.4 KStep/月、テスト能力６２４の平均値が80 件/月と表示される。
【００８４】
図７は、開発支援ツール１３１を使用した開発者１００の開発作業の全体の作業の流れの一例を示す。
【００８５】
開発者１００は、開発支援ツール１３１を使用し、コーディングを行う（Ｓ７０１）。次に、コーディングが完了した後に、テストを行う（Ｓ７０２）。次に、テストを実行し、テスト結果が全て正常かどうかの判定を行う（Ｓ７０３）。テスト結果が全て正常でなければ、正常でないテストについて原因を追究するデバッグ作業を行い（Ｓ７０４）、デバッグ後に、追究した原因に基づき、再度コーディング（Ｓ７０１）、テスト（Ｓ７０２）を行う。テスト結果（Ｓ７０３）が、全て正常であれば、開発者１００は、開発支援サーバ接続ツール１１３を実行して開発支援サーバ１３０に接続し、リポジトリテーブル１３４を指定してリポジトリ解析ツール１３８を実行し、リポジトリテーブル１３４を元にリポジトリ解析を行い、リポジトリ解析テーブル１４０に開発者、ソース変更日時及びソース変更ステップ数を格納させる（Ｓ７０５）。
【００８６】
図８は、図７にて開発支援ツール１３１を使用した開発者１００の開発作業のコーディング（Ｓ７０１）とテスト（Ｓ７０２）の流れの一例を示す。
【００８７】
コーディング（Ｓ７０１）では次のことを行う。開発者１００は開発者クライアントＰＣ１１０にてソースコードを記述し、作業用フォルダ１１４にソースファイル１１５を作成する（Ｓ８０１）。次に、作成したソースファイル１１５についてビルドツール１１１を実行してビルドを行い、実行プログラム１１７を作業用フォルダ１１４に生成する（Ｓ８０２）。次に、開発者１００が、作成したソースファイル１１５を指定してバージョン管理ツールクライアントプログラム１１２を操作しバージョン管理ツール１３２を実行することで、リポジトリテーブル１３４にソースファイル１１５に関する開発者、ソース変更日時及びソース変更内容が格納される。ソース変更内容は変更内容の差分で保持される（Ｓ８０３）。次に、コーディングが終了したかの判定を行い（Ｓ８０４）、コーディングが終了していなければ、再びソースコード記述（Ｓ８０１）を行う。このように、何回かソースコード記述（Ｓ８０１）、ビルド（Ｓ８０２）及びバージョン管理ツール１３２実行によるソースファイル登録（Ｓ８０３）を行う。コーディングが終了した場合、ソフトウェア開発プロジェクト中には何回かソースファイルの変更内容に関する情報がリポジトリテーブル１３４に登録される。
【００８８】
テスト（Ｓ７０２）では次のことを行う。開発者１００は開発者クライアントＰＣ１１０にて、テストコードを記述し、作業用フォルダ１１４にテストコード１１６を作成する（Ｓ８１１）。次に、開発支援サーバ接続ツール１１３を実行し開発支援サーバ１３０に接続し、作成したテストコード１１６と図７のコーディング（Ｓ７０１）で生成した実行プログラム１１７を指定して自動テストツール１３５を実行することで、自動的にテストが実行され、テスト結果テーブル１３７に開発者、テスト実施日時及びテスト消化件数が格納される（Ｓ８１２）。次に、テスト結果テーブル１３７を参照する（Ｓ８１３）。
【００８９】
図９は、バージョン管理ツール１３２におけるバージョン管理処理の流れの一例を示す。
【００９０】
バージョン管理ツール１３２は、バージョン管理ツールクライアントプログラム１１２によって実行され、ソースファイル１１５が指定されて次のことを行う。指定されたソースファイル１１５の開発者、ソース変更日時、及びソース変更内容であるソース変更情報を取得する（Ｓ９０１）。次に、取得したソース変更情報をリポジトリテーブル１３４に登録する（Ｓ９０２）。
【００９１】
図１０は、自動テストツール１３５における自動テスト処理の流れの一例を示す。
【００９２】
自動テストツール１３５は、開発支援サーバ接続ツール１１３によって、開発支援サーバ１３０に接続して実行され、テストコード１１６と実行プログラム１１７が指定されて次のことを行う。指定されたテストコード１１６と実行プログラム１１７を取得する（Ｓ１００１）。次に、テストを実行し（Ｓ１００２）、テストを実行した結果から開発者、テスト実施日時及びテスト消化件数を取得しテスト結果テーブル１３７に格納する（Ｓ１００３）。
【００９３】
図１１は、リポジトリ解析ツール１３８におけるリポジトリ解析処理の流れの一例を示す。
【００９４】
リポジトリ解析ツール１３８は、開発支援サーバ接続ツール１１３によって、開発支援サーバ１３０に接続して実行され、リポジトリテーブル１３４が指定されて次のことを行う。指定されたリポジトリテーブル１３４に格納されているリポジトリ情報を取得する（Ｓ１１０１）。次に、取得したリポジトリ情報を元にリポジトリを解析し、開発者、ソース変更日時及びソース変更ステップ数を取得する（Ｓ１１０２）。次に、取得した開発者、ソース変更日時及びソース変更ステップ数をリポジトリ解析テーブル１４０に格納する（Ｓ１１０３）。
【００９５】
図１２は、リポジトリ情報１３３を保持するリポジトリテーブル１３４と、テスト結果情報１３６を保持するテスト結果テーブル１３７と、リポジトリ解析情報を保持するリポジトリ解析テーブル１４０の構成図の一例を示す。
【００９６】
リポジトリテーブル１３４のデータは、開発者１００がバージョン管理ツール１３２にソースファイル１１５を登録する時に、バージョン管理ツール１３２が前回登録されたソースファイル１１５との差分を解析して得られたソースファイル１１５の開発者、ソース変更日時及びソース変更内容であり、それぞれ開発者１２０２、ソース変更日時１２０３及びソース変更内容１２０４に格納される。リポジトリテーブルＩＤ１２０１は、テーブル内で一意に付与されるＩＤである。
【００９７】
テスト結果テーブル１３７のデータは、開発者１００が自動テストツール１３５に指示してテストを自動実行した結果、テストを行った開発者、テスト実施日時及びテスト消化件数であり、それぞれ開発者１２１２、テスト実施日時１２１３及びテスト消化件数１２１４に格納される。テスト結果ＩＤ１２１１は、テーブル内で一意に付与されるＩＤである。
【００９８】
リポジトリ解析テーブル１４０のデータは、開発者１００がリポジトリ解析ツール１３８を実行してリポジトリテーブル１３４のデータを元に算出したソース変更内容１２０４に対する開発者１２０２、ソース変更日時１２０３とソース変更内容１２０４のソース変更ステップ数であり、それぞれ開発者１２２２、ソース変更日時１２２３及びソース変更ステップ数１２２４に格納される。リポジトリ解析ＩＤ１２２１は、テーブル内で一意に付与されるＩＤである。
【符号の説明】
【００９９】
１００…開発者
１０１、１４１、１５１、１８１…ＣＰＵ
１０２、１４２、１５２、１８２…メモリ
１０３、１４３、１５３、１８３…記憶装置
１０４、１５４…入力装置
１０５、１５５…表示装置
１１０…開発者クライアントＰＣ
１１１…ビルドツール
１１２…バージョン管理ツールクライアントプログラム
１１３…開発支援サーバ接続ツール
１１４…作業用フォルダ
１１５…ソースファイル
１１６…テストコード
１１７…実行プログラム
１２０…ネットワーク
１３０…開発支援サーバ
１３１…開発支援ツール
１３２…バージョン管理ツール
１３３…リポジトリ情報
１３４…リポジトリテーブル
１３５…自動テストツール
１３６…テスト結果情報
１３７…テスト結果テーブル
１３８…リポジトリ解析ツール
１３９…リポジトリ解析情報
１４０…リポジトリ解析テーブル
１５０…閲覧者
１６０…閲覧者クライアントＰＣ
１６１…ソフトウェア開発能力算出システムクライアントプログラム
１７０…ソフトウェア開発能力算出システム
１７１…データ収集部
１７２…算出部
１７３…表示部
１７４…ソフトウェア開発情報
１７５…リポジトリ解析情報テーブル
１７６…テスト結果情報テーブル
１７７…プロジェクト情報テーブル
１７８…ソフトウェア開発能力情報テーブル
１７９…ソフトウェア開発能力算出システムプログラム
【図１】
2016053786.tif 000003
【図２】
2016053786.tif 000004
【図３】
2016053786.tif 000005
【図４】
2016053786.tif 000006
【図５】
2016053786.tif 000007
【図６】
2016053786.tif 000008
【図７】
2016053786.tif 000009
【図８】
2016053786.tif 000010
【図９】
2016053786.tif 000011
【図１０】
2016053786.tif 000012
【図１１】
2016053786.tif 000013
【図１２】
2016053786.tif 000014