(57)【要約】      （修正有）【課題】システム開発の工程毎に、開発難易度に応じた生産性やバグ密度の算定を実行し、ひいては精度良好な見積もり処理を効率良く実行する。【解決手段】情報処理装置１００が、処理対象の工程の設計書データをユーザ端末１０３より受信しファンクションポイントの値を算定し、ファンクションポイント算定値を設定ファイルに照合して該当ランクの値範囲を特定する処理と、特定した値範囲と該当工程をキーに実績情報管理テーブルで検索を実行し、値範囲にファンクションポイントの実績値が含まれ、なおかつ工程が一致するレコードを抽出し、単位ファンクションポイントあたりの生産性の値を算定する処理と、レコード間での単位ファンクションポイントあたりの生産性の値に関する平均値を算定し、当該平均値にファンクションポイント算定値を乗算して該当工程に関する生産性の値を算定する処理と、算定した生産性の値を出力する処理を実行する。【選択図】図１
2013120486.tif 000002
【特許請求の範囲】
【請求項１】
過去実行されたシステム開発の案件における、要件定義、基本設計、および詳細設計の各工程に関して確定している、ファンクションポイントおよび生産性の実績値を格納した実績情報管理テーブルと、ファンクションポイントおよび生産性に関するランク別の値範囲の情報を格納した設定ファイルと、ファンクションポイント算定プログラムとを記憶する記憶部と、
他装置とネットワークを介して通信するネットワークインターフェイス部と、
処理対象のシステム開発における要件定義、基本設計、および詳細設計の各工程の設計書データをユーザ端末より受信し、記憶部よりファンクションポイント算定プログラムを呼び出して実行することで各工程の設計書データから各工程のファンクションポイントの値を算定し、当該ファンクションポイント算定値を記憶部の設定ファイルに照合し、前記ファンクションポイント算定値が属する該当ランクの値範囲を特定する処理と、
前記特定したファンクションポイントの値範囲と処理対象の設計書データが示す該当工程をキーに、記憶部における実績情報管理テーブルで検索を実行して、前記値範囲にファンクションポイントの実績値が含まれ、なおかつ工程が一致するレコードを抽出し、当該抽出した各レコードについて、該当レコードが示す生産性の実績値をファンクションポイントの実績値で除算して単位ファンクションポイントあたりの生産性の値を算定する処理と、
前記抽出した各レコード間での、前記単位ファンクションポイントあたりの生産性の値に関する平均値を算定し、当該平均値に前記ファンクションポイント算定値を乗算して、該当工程に関する生産性の値を算定する処理と、
前記算定した生産性の値を、ユーザ端末ないし出力部に出力する処理を実行する制御部と、
を備えることを特徴とするファンクションポイント情報管理装置。
【請求項２】
前記記憶部は、
前記実績情報管理テーブルにおいて、過去実行されたシステム開発の案件における、要件定義、基本設計、および詳細設計の各工程に関して確定している、ファンクションポイント、生産性および開発言語の実績値を格納しており、
前記制御部は、
前記単位ファンクションポイントあたりの生産性の値の算定処理に際し、前記特定したファンクションポイントの値範囲と、処理対象の設計書データが示す該当工程および開発言語をキーに、記憶部における実績情報管理テーブルで検索を実行して、前記値範囲にファンクションポイントの実績値が含まれ、なおかつ工程と開発言語が一致するレコードを抽出し、当該抽出した各レコードについて、該当レコードが示す生産性の実績値をファンクションポイントの実績値で除算して単位ファンクションポイントあたりの生産性の値を算定するものである、
ことを特徴とする請求項１に記載のファンクションポイント情報管理装置。
【請求項３】
前記記憶部における、前記実績情報管理テーブルは実績値として更にバグ密度の実績値を格納しており、前記設定ファイルはバグ密度に関するランク別の値範囲の情報を更に格納しており、
前記制御部は、
前記特定したファンクションポイントの値範囲と処理対象の設計書データが示す該当工程をキーに、記憶部における実績情報管理テーブルで検索を実行して、前記値範囲にファンクションポイントの実績値が含まれ、なおかつ工程が一致するレコードを抽出し、当該抽出した各レコードについて、該当レコードが示すバグ密度の実績値をファンクションポイントの実績値で除算して単位ファンクションポイントあたりのバグ密度の値を算定する処理と、
前記抽出した各レコード間での、前記単位ファンクションポイントあたりのバグ密度の値に関する平均値を算定し、当該平均値に前記ファンクションポイント算定値を乗算して、該当工程に関するバグ密度の値を算定する処理と、
前記算定したバグ密度の値を、ユーザ端末ないし出力部に出力する処理を実行するものである、
ことを特徴とする請求項１または２に記載のファンクションポイント情報管理装置。
【請求項４】
過去実行されたシステム開発の案件における、要件定義、基本設計、および詳細設計の各工程に関して確定している、ファンクションポイントおよび生産性の実績値を格納した実績情報管理テーブルと、ファンクションポイントおよび生産性に関するランク別の値範囲の情報を格納した設定ファイルと、ファンクションポイント算定プログラムとを記憶する記憶部と、他装置とネットワークを介して通信するネットワークインターフェイス部と、制御部とを備えた情報処理装置が、
処理対象のシステム開発における要件定義、基本設計、および詳細設計の各工程の設計書データをユーザ端末より受信し、記憶部よりファンクションポイント算定プログラムを呼び出して実行することで各工程の設計書データから各工程のファンクションポイントの値を算定し、当該ファンクションポイント算定値を記憶部の設定ファイルに照合し、前記ファンクションポイント算定値が属する該当ランクの値範囲を特定する処理と、
前記特定したファンクションポイントの値範囲と処理対象の設計書データが示す該当工程をキーに、記憶部における実績情報管理テーブルで検索を実行して、前記値範囲にファンクションポイントの実績値が含まれ、なおかつ工程が一致するレコードを抽出し、当該抽出した各レコードについて、該当レコードが示す生産性の実績値をファンクションポイントの実績値で除算して単位ファンクションポイントあたりの生産性の値を算定する処理と、
前記抽出した各レコード間での、前記単位ファンクションポイントあたりの生産性の値に関する平均値を算定し、当該平均値に前記ファンクションポイント算定値を乗算して、該当工程に関する生産性の値を算定する処理と、
前記算定した生産性の値を、ユーザ端末ないし出力部に出力する処理と、
を実行することを特徴とするファンクションポイント情報管理方法。
【請求項５】
過去実行されたシステム開発の案件における、要件定義、基本設計、および詳細設計の各工程に関して確定している、ファンクションポイントおよび生産性の実績値を格納した実績情報管理テーブルと、ファンクションポイントおよび生産性に関するランク別の値範囲の情報を格納した設定ファイルと、ファンクションポイント算定プログラムとを記憶する記憶部と、他装置とネットワークを介して通信するネットワークインターフェイス部と、制御部とを備えた情報処理装置に、
処理対象のシステム開発における要件定義、基本設計、および詳細設計の各工程の設計書データをユーザ端末より受信し、記憶部よりファンクションポイント算定プログラムを呼び出して実行することで各工程の設計書データから各工程のファンクションポイントの値を算定し、当該ファンクションポイント算定値を記憶部の設定ファイルに照合し、前記ファンクションポイント算定値が属する該当ランクの値範囲を特定する処理と、
前記特定したファンクションポイントの値範囲と処理対象の設計書データが示す該当工程をキーに、記憶部における実績情報管理テーブルで検索を実行して、前記値範囲にファンクションポイントの実績値が含まれ、なおかつ工程が一致するレコードを抽出し、当該抽出した各レコードについて、該当レコードが示す生産性の実績値をファンクションポイントの実績値で除算して単位ファンクションポイントあたりの生産性の値を算定する処理と、
前記抽出した各レコード間での、前記単位ファンクションポイントあたりの生産性の値に関する平均値を算定し、当該平均値に前記ファンクションポイント算定値を乗算して、該当工程に関する生産性の値を算定する処理と、
前記算定した生産性の値をユーザ端末ないし出力部に出力する処理と、
を実行させることを特徴とするファンクションポイント情報管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファンクションポイント情報管理装置、ファンクションポイント情報管理方法、およびファンクションポイント情報管理プログラムに関するものであり、具体的には、システム開発の工程毎に、開発難易度に応じた生産性やバグ密度の算定を実行し、ひいては精度良好な見積もり処理を効率良く実行する技術に関する。
【背景技術】
【０００２】
設計書からファンクションポイント（ＦＰ。以下、ＦＰとする）を自動で算出する手段や、或いはＦＰの算出自体は自動ではないが、ＦＰ算出後に”総試験項目数”の算出等を行なう手段がある。
【０００３】
このようなＦＰに関する処理技術としては、例えば、規模の見積もりを行うシステムに関する仕様書ファイルを入力する手段と、予め与えられた解析ルールに従って仕様書ファイルよりデータファンクション、トランザクションションファンクションを抽出する手段と、抽出されたデータファンクション、トランザクションファンクションを用いて、所定の規則に従ってファンクションポイントを算出する手段と、算出されたファンクションポイントを出力する出力手段とを有するシステム規模見積支援装置（特許文献１参照）などが提案されている。
【０００４】
また、ソフトウエアシステムが実行する各業務ごとに各サブシステムの業務に関するウェイトを設定するウェイト設定手段と、各業務ごとにその業務に関する試験すべき試験項目の数を設定する試験項目数設定手段と、各業務ごとに設定した当該業務の試験項目数と当該業務に関する各サブシステムのウェイトに基づき、各業務ごとの各サブシステムの目標試験項目数を算出する目標項目数算出手段と、算出した各業務ごとの各サブシステムの目標項目数を表示する目標項目表示手段とを備えるソフトウエア品質検査支援システム（特許文献２参照）なども提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００-７６０６２号公報
【特許文献２】特開２００１-３３７８４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ソフトウェア等の各種システム開発における見積りプロセスにはいくつかの課題がある。例えば、プロジェクトマネージャやリーダーの経験則によって見積り結果（工数）の妥当性が判断される場面が多い。そのため、プロジェクトマネージャやリーダーのＦＰ算出作業の習熟レベルやスキルにより見積もり結果の精度は変動してしまう。また、一般的に、工程別の生産性（開発に必要な人月等）を考慮した見積もり作業は実施されるが、開発作業の難易度を考慮した生産性に応じた見積もり作業は実施されていない。そのため、仕様等の難易度に関わらずＦＰ算出作業を行って、過剰見積り、過小見積りが発生する懸念もある。更に、開発したソフトウェアに生じるバグ密度は、製品品質や言語等の項目によりプロジェクト単位で値が異なっているが、従来は一律の値を利用している場合が多く、そうしたバグ密度の値に基づいた対応を行った結果、「テスト不十分」といった事態が発生する懸念もある。換言すると、システム開発を行っていく上で使用する、生産性、バグ密度等のパラメータの算出時にＦＰの情報が効率的に活用されていなかった。
【０００７】
そこで本発明の目的は、システム開発の工程毎に、開発難易度に応じた生産性やバグ密度の算定を実行し、ひいては精度良好な見積もり処理を効率良く実行する技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決する本発明のファンクションポイント情報管理装置は、過去実行されたシステム開発の案件における、要件定義、基本設計、および詳細設計の各工程に関して確定している、ファンクションポイントおよび生産性の実績値を格納した実績情報管理テーブルと、ファンクションポイントおよび生産性に関するランク別の値範囲の情報を格納した設定ファイルと、ファンクションポイント算定プログラムとを記憶する記憶部と、他装置とネットワークを介して通信するネットワークインターフェイス部と、処理対象のシステム開発における要件定義、基本設計、および詳細設計の各工程の設計書データをユーザ端末より受信し、記憶部よりファンクションポイント算定プログラムを呼び出して実行することで各工程の設計書データから各工程のファンクションポイントの値を算定し、当該ファンクションポイント算定値を記憶部の設定ファイルに照合し、前記ファンクションポイント算定値が属する該当ランクの値範囲を特定する処理と、前記特定したファンクションポイントの値範囲と処理対象の設計書データが示す該当工程をキーに、記憶部における実績情報管理テーブルで検索を実行して、前記値範囲にファンクションポイントの実績値が含まれ、なおかつ工程が一致するレコードを抽出し、当該抽出した各レコードについて、該当レコードが示す生産性の実績値をファンクションポイントの実績値で除算して単位ファンクションポイントあたりの生産性の値を算定する処理と、前記抽出した各レコード間での、前記単位ファンクションポイントあたりの生産性の値に関する平均値を算定し、当該平均値に前記ファンクションポイント算定値を乗算して、該当工程に関する生産性の値を算定する処理と、前記算定した生産性の値を、ユーザ端末ないし出力部に出力する処理を実行する制御部と、を備えることを特徴とする。
【０００９】
また、本発明のファンクションポイント情報管理方法は、過去実行されたシステム開発の案件における、要件定義、基本設計、および詳細設計の各工程に関して確定している、ファンクションポイントおよび生産性の実績値を格納した実績情報管理テーブルと、ファンクションポイントおよび生産性に関するランク別の値範囲の情報を格納した設定ファイルと、ファンクションポイント算定プログラムとを記憶する記憶部と、他装置とネットワークを介して通信するネットワークインターフェイス部と、制御部とを備えた情報処理装置が、処理対象のシステム開発における要件定義、基本設計、および詳細設計の各工程の設計書データをユーザ端末より受信し、記憶部よりファンクションポイント算定プログラムを呼び出して実行することで各工程の設計書データから各工程のファンクションポイントの値を算定し、当該ファンクションポイント算定値を記憶部の設定ファイルに照合し、前記ファンクションポイント算定値が属する該当ランクの値範囲を特定する処理と、前記特定したファンクションポイントの値範囲と処理対象の設計書データが示す該当工程をキーに、記憶部における実績情報管理テーブルで検索を実行して、前記値範囲にファンクションポイントの実績値が含まれ、なおかつ工程が一致するレコードを抽出し、当該抽出した各レコードについて、該当レコードが示す生産性の実績値をファンクションポイントの実績値で除算して単位ファンクションポイントあたりの生産性の値を算定する処理と、前記抽出した各レコード間での、前記単位ファンクションポイントあたりの生産性の値に関する平均値を算定し、当該平均値に前記ファンクションポイント算定値を乗算して、該当工程に関する生産性の値を算定する処理と、前記算定した生産性の値を、ユーザ端末ないし出力部に出力する処理と、を実行することを特徴とする。
【００１０】
また、本発明のファンクションポイント情報管理プログラムは、過去実行されたシステム開発の案件における、要件定義、基本設計、および詳細設計の各工程に関して確定している、ファンクションポイントおよび生産性の実績値を格納した実績情報管理テーブルと、ファンクションポイントおよび生産性に関するランク別の値範囲の情報を格納した設定ファイルと、ファンクションポイント算定プログラムとを記憶する記憶部と、他装置とネットワークを介して通信するネットワークインターフェイス部と、制御部とを備えた情報処理装置に、処理対象のシステム開発における要件定義、基本設計、および詳細設計の各工程の設計書データをユーザ端末より受信し、記憶部よりファンクションポイント算定プログラムを呼び出して実行することで各工程の設計書データから各工程のファンクションポイントの値を算定し、当該ファンクションポイント算定値を記憶部の設定ファイルに照合し、前記ファンクションポイント算定値が属する該当ランクの値範囲を特定する処理と、前記特定したファンクションポイントの値範囲と処理対象の設計書データが示す該当工程をキーに、記憶部における実績情報管理テーブルで検索を実行して、前記値範囲にファンクションポイントの実績値が含まれ、なおかつ工程が一致するレコードを抽出し、当該抽出した各レコードについて、該当レコードが示す生産性の実績値をファンクションポイントの実績値で除算して単位ファンクションポイントあたりの生産性の値を算定する処理と、前記抽出した各レコード間での、前記単位ファンクションポイントあたりの生産性の値に関する平均値を算定し、当該平均値に前記ファンクションポイント算定値を乗算して、該当工程に関する生産性の値を算定する処理と、前記算定した生産性の値をユーザ端末ないし出力部に出力する処理と、を実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、システム開発の工程毎に、開発難易度に応じた生産性やバグ密度の算定を実行し、ひいては精度良好な見積もり処理を効率良く実行することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態のファンクションポイント情報管理装置を含むネットワーク構成図である。
【図２】本実施形態におけるＡＰサーバのハードウエア構成図である。
【図３】本実施形態におけるＤＢサーバのハードウエア構成図である。
【図４】本実施形態におけるユーザ端末のハードウエア構成図である。
【図５】本実施形態におけるＦＰ情報テーブルの例を示す図である。
【図６】本実施形態における生産性情報テーブルの例を示す図である。
【図７】本実施形態におけるバグ密度情報テーブルの例を示す図である。
【図８】本実施形態における実績情報管理テーブルの例を示す図である。
【図９】本実施形態における設定ファイルの例を示す図である。
【図１０】本実施形態におけるファンクションポイント情報管理方法の処理概要を示す図である。
【図１１】本実施形態のファンクションポイント情報管理方法の手順例１を示すフロー図である。
【図１２】本実施形態のファンクションポイント情報管理方法の手順例２を示すフロー図である。
【図１３】本実施形態のファンクションポイント情報管理方法の手順例３を示すフロー図である。
【図１４】本実施形態のファンクションポイント情報管理方法の手順例４を示すフロー図である。
【図１５】本実施形態のファンクションポイント情報管理方法の手順例５を示すフロー図である。
【図１６】本実施形態のファンクションポイント情報管理方法の手順例６を示すフロー図である。
【図１７】本実施形態のファンクションポイント情報管理方法の手順例７を示すフロー図である。
【図１８】本実施形態のファンクションポイント情報管理方法の手順例８を示すフロー図である。
【図１９】本実施形態のファンクションポイント情報管理方法の手順例９を示すフロー図である。
【図２０】本実施形態のファンクションポイント情報管理方法の手順例１０を示すフロー図である。
【図２１】本実施形態のファンクションポイント情報管理方法の手順例１１を示すフロー図である。
【図２２】本実施形態のファンクションポイント情報管理方法の手順例１２を示すフロー図である。
【図２３】本実施形態のファンクションポイント情報管理方法の手順例１３を示すフロー図である。
【図２４】本実施形態のファンクションポイント情報管理方法の手順例１４を示すフロー図である。
【図２５】本実施形態のファンクションポイント情報管理方法の手順例１５を示すフロー図である。
【図２６】本実施形態のファンクションポイント情報管理方法の手順例１６を示すフロー図である。
【図２７】本実施形態のファンクションポイント情報管理方法の手順例１７を示すフロー図である。
【図２８】本実施形態のファンクションポイント情報管理方法の手順例１８を示すフロー図である。
【図２９】本実施形態のファンクションポイント情報管理方法の手順例１９を示すフロー図である。
【図３０】本実施形態のファンクションポイント情報管理方法の手順例２０を示すフロー図である。
【図３１】本実施形態における画面例１を示す図である。
【図３２】本実施形態における画面例２を示す図である。
【図３３】本実施形態における画面例３を示す図である。
【図３４】本実施形態のＦＰ算出時に使用するパラメータ例１を示す図である。
【図３５】本実施形態のＦＰ算出時に使用するパラメータ例２を示す図である。
【図３６】本実施形態のＦＰ算出時に使用するパラメータ例３を示す図である。
【図３７】本実施形態のＦＰ算出時に使用するパラメータ例４を示す図である。
【図３８】本実施形態のＦＰ算出時に使用するパラメータ例５を示す図である。
【図３９】本実施形態のＦＰ算出時に使用するパラメータ例６を示す図である。
【図４０】本実施形態における設計書の例１を示す図である。
【図４１】本実施形態における設計書の例２を示す図である。
【図４２】本実施形態における設計書の例３を示す図である。
【図４３】本実施形態における設計書の例４を示す図である。
【図４４】本実施形態における設計書の例５を示す図である。
【図４５】本実施形態における画面例４を示す図である。
【発明を実施するための形態】
【００１３】
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態のファンクションポイント情報管理装置を含むネットワーク構成図である。図１に示すファンクションポイント情報管理装置１００（以下、装置１００）は、システム開発の工程毎に、開発難易度に応じた生産性やバグ密度の算定を実行し、ひいては精度良好な見積もり処理を効率良く実行するコンピュータシステムである。本実施形態においては、装置１００が、ＡＰ（アプリケーション）サーバ１０１およびＤＢ（データベース）サーバ１０２で構成されている例を挙げている。勿論、単体の情報処理装置が装置１００を構成しているとしてもよい。こうした装置１００はネットワーク１２０に接続されており、見積もり作業を行うユーザが利用するユーザ端末１０３とデータ通信可能に結ばれている。
【００１４】
続いて装置１００を構成する上記のＡＰサーバ１０１およびＤＢサーバ１０２、また上記ユーザ端末１０３のハードウエア構成について順次説明する。図２は本実施形態におけるＡＰサーバ１０１のハードウエア構成図である。このＡＰサーバ１０１は、ハードディスクドライブなど適宜な不揮発性記憶装置で構成される記憶部２０１、記憶部２０１に保持されるプログラム２０４を読み出して実行しサーバ装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵなどの制御部２０２、ユーザ端末１０３との通信処理を担うネットワークインターフェイス部２０３、を備える。なお、記憶部２０１内には、本実施形態の装置１００として必要な機能を実装する為のプログラム２０４の他、設定ファイル２２１が少なくとも記憶されている。設定ファイル２２１の詳細については後述する。
【００１５】
図３は本実施形態におけるＤＢサーバ１０２のハードウエア構成図である。このＤＢサーバ１０２は、ハードディスクドライブなど適宜な不揮発性記憶装置で構成される記憶部３０１、記憶部３０１に保持されるプログラム３０４を読み出して実行しサーバ装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵなどの制御部３０２、ＡＰサーバ１０１やユーザ端末１０３との通信処理を担うネットワークインターフェイス部３０３、を備える。なお、記憶部３０１内には、本実施形態の装置１００として必要な機能を実装する為のプログラム３０４の他、ＦＰ情報テーブル３１０、生産性情報テーブル３１１、バグ密度情報テーブル３１２、実績情報管理テーブル３１３が少なくとも記憶されている。各テーブルの詳細については後述する。
【００１６】
図４は本実施形態におけるユーザ端末１０３のハードウエア構成図である。このユーザ端末１０３は、ハードディスクドライブなど適宜な不揮発性記憶装置で構成される記憶部４０１、記憶部４０１に保持されるプログラム４０６を読み出して実行し端末自体の統括制御を行なうとともに各種演算及び制御処理を行なうＣＰＵなどの制御部４０４、ＡＰサーバ１０１やＤＢサーバ１０２との通信処理を担うネットワークインターフェイス部４０５、更には、ユーザに情報表示を行うディスプレイ装置等である表示部４０２、ユーザからのデータ入力を受け付けるキーボード、マウスといった入力部４０３も備える。なお、記憶部４０１内には、プログラム４０６の他、処理に応じて出力されるべき画面、帳票、および設計書の各データが少なくとも記憶されている。画面、帳票、設計書の各データの詳細については後述する。
【００１７】
続いて、本実施形態の装置１００が備える機能について説明する。上述したように、以下に説明する機能は、例えば装置１００が備えるプログラムを実行することで実装される機能と言える。本実施形態では主としてファンクションポイント情報管理方法を実行するＡＰサーバ１０１を装置１００として示すこととする。
【００１８】
ＡＰサーバ１０１は、処理対象のシステム開発における要件定義、基本設計、および詳細設計の各工程の設計書データをユーザ端末１０３より受信し、記憶部２０１よりＦＰ算出処理部２１４（ファンクションポイント算定プログラム）を呼び出して実行することで各工程の設計書データから各工程のファンクションポイントの値を算定し、当該ファンクションポイント算定値を記憶部２０１の設定ファイル２２１に照合し、ファンクションポイント算定値が属する該当ランクの値範囲を特定する機能を有している。
【００１９】
また、ＡＰサーバ１０１は、上記で特定したファンクションポイントの値範囲と、処理対象の設計書データが示す該当工程をキーに、ＤＢサーバ１０２の記憶部３０１における実績情報管理テーブル３１３で検索を実行して、前記値範囲にファンクションポイントの実績値が含まれ、なおかつ工程が一致するレコードを抽出し、当該抽出した各レコードについて、該当レコードが示す生産性の実績値をファンクションポイントの実績値で除算して単位ファンクションポイントあたりの生産性の値を算定する機能を有している。
【００２０】
また、ＡＰサーバ１０１は、上記で抽出した各レコード間での、単位ファンクションポイントあたりの生産性の値に関する平均値を算定し、当該平均値にファンクションポイント算定値を乗算して、該当工程に関する生産性の値を算定する機能を有している。
【００２１】
また、ＡＰサーバ１０１は、上記で算定した生産性の値を、ユーザ端末１０３（ないしＡＰサーバ１０１がディスプレイ装置等である出力部を備える場合の出力部）に出力する機能を有している。
【００２２】
また、ＡＰサーバ１０１は、単位ファンクションポイントあたりの生産性の値の算定処理に際し、前記特定したファンクションポイントの値範囲と、処理対象の設計書データが示す該当工程および開発言語をキーに、ＤＢサーバ１０２の記憶部３０１における実績情報管理テーブル３１３で検索を実行して、前記値範囲にファンクションポイントの実績値が含まれ、なおかつ工程と開発言語が一致するレコードを抽出し、当該抽出した各レコードについて、該当レコードが示す生産性の実績値をファンクションポイントの実績値で除算して単位ファンクションポイントあたりの生産性の値を算定するとすれば好適である。
【００２３】
また、ＡＰサーバ１０１は、前記特定したファンクションポイントの値範囲と処理対象の設計書データが示す該当工程をキーに、ＤＢサーバ１０２の記憶部３０１における実績情報管理テーブル３１３で検索を実行して、前記値範囲にファンクションポイントの実績値が含まれ、なおかつ工程が一致するレコードを抽出し、当該抽出した各レコードについて、該当レコードが示すバグ密度の実績値をファンクションポイントの実績値で除算して単位ファンクションポイントあたりのバグ密度の値を算定する機能を有しているとすれば好適である。
【００２４】
また、ＡＰサーバ１０１は、前記抽出した各レコード間での、前記単位ファンクションポイントあたりのバグ密度の値に関する平均値を算定し、当該平均値に前記ファンクションポイント算定値を乗算して、該当工程に関するバグ密度の値を算定する機能を有しているとすれば好適である。また、ＡＰサーバ１０１は、前記算定したバグ密度の値を、ユーザ端末１０３（ないしＡＰサーバ１０１がディスプレイ装置等である出力部を備える場合の出力部）に出力する機能を有しているとすれば好適である。
【００２５】
なお、上述したＡＰサーバ１０１の各機能について、以降は、ユーザ端末１０３からの入力情報を取得する機能を入力情報取得処理部２１０、各工程のＦＰ算出を行なう際のパラメータ取得を行う各設計工程処理部（要件定義工程処理部２１１、基本設計工程処理部２１２、詳細工程処理部２１３）、ＦＰを算出するＦＰ算出処理部２１４、生産性算出処理を行う生産性算出処理部２１５、バグ密度を算出するバグ密度算出処理部２１６、ＦＰ情報をデータベースから取得するＦＰ情報検索処理部２１７、実績情報をデータベースから取得する実績情報検索処理部２１８、実績情報をデータベースへ登録する実績情報登録処理部２１９、ＦＰ情報を帳票に出力する帳票出力処理部２２０、として記載することにする。各処理部の詳細は後述する。
【００２６】
−−−データ構造例−−−
次に、本実施形態の装置１００が用いるテーブル等におけるデータ構造例について説明する。図５は本実施形態におけるＦＰ情報テーブル３１０の例を示す図である。このＦＰ情報テーブル３１０は、ＡＰサーバ１０１にて算出したＦＰ情報を格納するテーブルである。ＦＰ情報テーブル３１０は、ＦＰ算定対象となる案件ないし案件における各機能を一意に特定する機能ＩＤ３１０１、機能名称３１０２、ＦＰ３１０３、および工程３１０４、の各データを含むレコードで構成されている。このＦＰ情報テーブル３１０にデータが格納されるタイミングは、図１６のステップ１５４、図１８のステップ１７４、図２０のステップ１９４となる。
【００２７】
また、図６は本実施形態における生産性情報テーブル３１１の例を示す図である。この生産性情報テーブル３１１は、ＡＰサーバ１０１が算出した生産性情報を格納するテーブルである。生産性情報テーブル３１１は、生産性算定対象となる案件ないし案件における各機能を一意に特定する機能ＩＤ３１１１、生産性３１１２、工程３１１３の各データを含むレコードで構成されている。生産性情報テーブル７１０にデータが格納されるタイミングは、図２１のステップ２０５、図２３のステップ２２４となる。
【００２８】
また、図７は本実施形態におけるバグ密度情報テーブル３１２の例を示す図である。このバグ密度情報テーブル３１２は、ＡＰサーバ１０１が算出したバグ密度情報を格納するテーブルである。バグ密度情報テーブル３１２は、バグ密度算定対象となる案件ないし案件における各機能を一意に特定する機能ＩＤ３１２１、バグ密度３１２２のカラムで構成される。バグ密度情報テーブル３１２にデータが格納されるタイミングは図２４のステップ２３７、図２６のステップ２５４となる。
【００２９】
また、図８は本実施形態における実績情報管理テーブル３１３の例を示す図である。この実績情報管理テーブル３１３は、過去に実行されたシステム開発の案件における、要件定義、基本設計、および詳細設計の各工程に関して確定している、ファンクションポイント、開発言語、生産性、およびバグ密度の各実績値を格納したテーブルである。図８の例における実績情報管理テーブル３１３は、対象案件を示すＰＪＩＤ３１３１、ＰＪ名称３１３２、機能ＩＤ３１３３、機能名称３１３４、算出工程３１３５、ＦＰ３１３６、（開発）言語３１３７、生産性３１３８、バグ密度３１３９の各データを含むレコードで構成される。この実績情報管理テーブル３１３が保持するデータは、後述する図３３の実績情報確認画面３３００上で、ユーザがユーザ端末１０３よりデータ入力したものとなる。
【００３０】
また、図９は本実施形態における設定ファイル２２１の例を示す図である。この設定ファイル２２１は、ファンクションポイントや生産性、バグ密度等に関するランク別の値範囲の情報を少なくとも格納したファイルであり、いずれの情報についても適宜な管理者等が予め設定したものとなる。図９に例示する設定ファイル２２１は、ＦＰランク３００１、生産性ランク３００２〜３００４、バグ密度のランク３００５、算出方法３００６、開発言語３００７、要件定義のＦＰ算出方法３００８、ボタン処理区分３００９の各データを格納した例となっている。なお、生産性ランク３００２〜３００４、バグ密度のランク３００５は、実績情報管理テーブル３１３において、該当件の属性（ＦＰ算定値や開発言語等）とマッチするレコードが無いか、存在しても生産性やバグ密度の情報が無い場合に、該当件について算定したＦＰのランクに応じて採用するデフォルトのデータとなっている。
【００３１】
上記のうち、ＦＰランク３００１は、ＦＰの値範囲、すなわち開発難易度（例：Ａ、Ｂ、Ｃの３段階）を決定するパラメータである。本例では、ＦＰが“３６”以上を「Ａランク」、ＦＰが“２５”〜“３５”の範囲を「Ｂランク」、“１”〜“２５”を「Ｃランク」としている。
【００３２】
また、生産性ランク３００２〜３００４のうち、生産性（Ａランク）３００２は、上記のＦＰランク３００１に基づいてＡＰサーバ１０１が特定したＦＰランクが「Ａランク」の処理対象（プロジェクトや機能など）に関する生産性を決定するパラメータである。本例では、要件定義工程の生産性を“１０”、基本設計工程の生産性を“１５”、詳細設計工程の生産性を“２０”としている。
【００３３】
また、生産性（Ｂランク）３００３は、上記のＦＰランク３００１に基づいてＡＰサーバ１０１が特定したＦＰランクが「Ｂランク」の処理対象に関する生産性を決定するパラメータである。本例では、要件定義工程の生産性を“１２”、基本設計工程の生産性を“１７”、詳細設計工程の生産性を“２５”としている。
【００３４】
また、生産性（Ｃランク）３００４は、上記のＦＰランク３００１に基づいてＡＰサーバ１０１が特定したＦＰランクが「Ｃランク」の処理対象に関する生産性を決定するパラメータである。本例では、要件定義工程の生産性を“１５”、基本設計工程の生産性を“２０”、詳細設計工程の生産性を“３５”としている。
【００３５】
また、バグ密度３００５は、上記のＦＰランク３００１に基づいてＡＰサーバ１０１が特定したＦＰランクごとのバグ密度を決定するパラメータである。本例では、「Ａランク」を“２０”、「Ｂランク」を“１５”、「Ｃランク」を“１０”としている。
【００３６】
また、算出方法３００６は、バグ密度と生産性の算出を実績情報管理テーブル３１３の実績値から算出するか、或いは、設定ファイル２２１から算出するかを決定するパラメータである。本例では、バグ密度は実績情報管理テーブル３１３の実績値から、生産性は設定ファイル２２１から算出する設定となっている。
【００３７】
また、開発言語３００７は、開発を行う際の言語を設定するパラメータである。本例では、“Ｊａｖａ”（登録商標）となっている。
【００３８】
また、要件定義のＦＰ算出方法３００８は、要件定義工程のＦＰ算出方法を決定するパラメータであり、“ＦＰ算出方法”は、要件定義工程のＦＰを算出する際に必要なパラメータの取得元を決定するパラメータであり、それが図のように“設計書”である場合は、図４０の要件定義書イメージ４０００で示した設計書から値を取得することになる。一方、“設定ファイル”であった場合は、“アクセステーブル数”、“項目数”の各値から値を取得する。“アクセステーブル数”は、ＦＰ算定対象のプログラム等がデータベースにアクセスする際の参照または更新処理を実施するテーブルの合計数を設定するパラメータである。また、“項目数”は、ＦＰ算定対象のプログラム等がデータベースにアクセスし参照または更新する項目の合計数を設定するパラメータである。“アクセステーブル数”、“項目数”は、“ＦＰ算出方法”が“設定ファイル”の時のみ参照される。
【００３９】
また、ボタン処理区分３０９は、システム開発で使用するボタンが“ＥＩ（外部入力）”、“ＥＯ（外部出力）”、“ＥＱ（外部照会）”、のどれに分類されるかを設定するパラメータであり、システム開発で使用するボタン全てに対して設定を行う。本例では、“登録”、“更新”、“検索”の３ボタンを使用し、それぞれ順に“ＥＩ（外部入力）”、“ＥＩ（外部入力）”、“ＥＱ（外部照会）”となる例を示している。
【００４０】
−−−処理概要−−−
続いて、本実施形態におけるファンクションポイント情報管理装方法の処理概要をまずは説明する。以降で説明するファンクションポイント情報管理方法に対応する各種動作は、前記装置１００たるＡＰサーバ１０１（場合によってはＤＢサーバ１０２）が読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている（他のフロー等でも同様）。
【００４１】
図１０は本実施形態におけるファンクションポイント情報管理方法の処理概要を示す図である。この場合、ユーザ端末１０３においては、図３１の処理実行画面３１００で、ＦＰ算出対象となる設計書データの在りかを示す設計書パス３１０１、ＦＰ算出対象の工程を示す算出工程３１０２、および算定する生産性ないしバグ密度を示す算出項目３１０３、の各値に関するユーザ入力を受け付け、「実行」ボタンの押下に応じて、ＦＰ算出指示をＡＰサーバ１０１に送ることになる。
【００４２】
図３１に例示する処理実行画面３１００において、設計書パス３１０１は読み込む設計書のフォルダパスを指定する項目であり、算出工程３１０２は対象工程を設定する項目であり、セレクトボックスは要件定義、基本設計、詳細設計の３通りの値が表示され、その値の中から対象を選択できるものである。また、算出項目３１０３はＦＰ算出の他に算出したい項目を指定するチェックボックスであり、ユーザがチェックを入れた項目がＦＰと一緒に算出されることになる。
【００４３】
この場合、ＡＰサーバ１０１は、ユーザ端末１０３より、図３１の処理実行画面３１００での入力値を受信して、これに応じてまずは入力情報取得処理（ｓ１０）を実行する。上記例では、ユーザ端末１０３より取得した入力値が、“設計書パス”＝“Ｄ：\要件定義設計書”、“算出工程”＝“要件定義”、“算出項目”＝“生産性”であるから、ＡＰサーバ１０１はこれらの値を取得し（図１１：Ｓ１０１）、次処理の各設計工程処理（ｓ１１）の処理を実施する。
【００４４】
本例では、処理実行画面３１００において、算出工程３１０２として“要件定義”が選択されているため、図１２に示す各設計工程処理（要件定義）のフローがＡＰサーバ１０１にて実行されることになる。この場合、ＡＰサーバ１０１の要件定義工程処理部２１１は、設定ファイル２２１を参照し、設定ファイル２２１における要件定義の算出方法３００８の項目より、“設計書”の値を取得する（Ｓ１１１）。なお、“要件定義”以外の算出工程３１０２が選択されていた場合の処理については、別途後述する。
【００４５】
続いてＡＰサーバ１０１の要件定義工程処理部２１１は、ステップＳ１１１で取得した要件定義の算出方法３００８の値が“設計書”であるか判定し（Ｓ１１２）、取得した要件定義の算出方法３００８の値が“設計書”である場合（Ｓ１１２：ＹＥＳ）、処理をステップＳ１１３に進める。この場合、ＡＰサーバ１０１の要件定義工程処理部２１１は、上述の処理実行画面３１００でユーザ指定を受けた“設計書パス”の値から、ユーザ端末１０３の側で保持する要件定義書のデータ（例：図４０の要件定義書４０００）を読み込み、該当要件定義書より、“機能ＩＤ”、“機能名称”、“処理区分”の各値を取得する（Ｓ１１３）。図４０に例示する要件定義書の例であれば、機能ＩＤとして、“Ｋ００００１”、“Ｋ００００２”、“Ｋ００００３”、機能名称として、“機能１”、 “機能１”、“機能２”、"機能３"、処理区分として“メンテナンス”、“参照”、“メンテナンス”の値を取得できる。また、ＡＰサーバ１０１の要件定義工程処理部２１１は、      を参照して、“アクセステーブル数”、“項目数”の各値を取得し、次処理を実行するＦＰ算出処理部２１４に処理結果を渡す（ｓ１１５）。図４０に例示した要件定義書４０００であれば、アクセステーブル数＝“３”、“２”、“１”、項目数＝“２０”、“３０”、“１０”なる値が得られる。
【００４６】
一方、上記のステップＳ１１２において、取得した要件定義の算出方法３００８の値が“設計書”ではない場合（Ｓ１１２：ＮＯ）、ＡＰサーバ１０１の要件定義工程処理部２１１は、上位ステップｓ１１３と同様に、上述の処理実行画面３１００でユーザ指定を受けた“設計書パス”の値から、ユーザ端末１０３の側で保持する要件定義書のデータ（例：図４０の要件定義書４０００）を読み込み、該当要件定義書より、“機能ＩＤ”、“機能名称”、“処理区分”の各値を取得する（Ｓ１１４）。また、ＡＰサーバ１０１の要件定義工程処理部２１１は、設定ファイル２２１を参照して、“アクセステーブル数”、“項目数”の各値を取得し、次処理を実行するＦＰ算出処理部２１４に処理結果を渡す（ｓ１１６）。図９に例示した設定ファイル２２１であれば、アクセステーブル数＝“５”、項目数＝“５０”なる値が得られる。
【００４７】
続いてＡＰサーバ１０１ではＦＰ算出処理（ｓ１２）を実行する。上述までの処理を受けたＡＰサーバ１０１のＦＰ算出処理部２１４は、図１５のＦＰ算出処理フロー（１）におけるステップＳ１４２を実行することになる。この場合、ＡＰサーバ１０１のＦＰ算出処理部２１４は、上述の各設計工程処理（要件定義）フロー（図１２）で取得されている、“アクセステーブル数”、“項目数”、“処理区分”の各値を取得する（Ｓ１４２）。この取得処理の後、ＡＰサーバ１０１のＦＰ算出処理部２１４は、ＤＥＴ（データエレメントタイプ：Ｄａｔａ  Ｅｌｅｍｅｎｔ  Ｔｙｐｅ）の算出処理を実行する（Ｓ１４３）。本例では、“項目数”／“アクセステーブル数”としてＤＥＴ：“６．３”（＝２０／３）、ＤＥＴ：“１５”（＝３０／２）、ＤＥＴ：“１０”（＝１０／１）、が“機能１”、“機能２”、“機能３”についてそれぞれ算出されることになる。
【００４８】
続いてＡＰサーバ１０１のＦＰ算出処理部２１４は、ステップＳ１４３で算出したＤＥＴと、ＲＥＴ（レコードエレメントタイプ：Record Element Type）＝１（固定値）から、図３４のＤＦ（データファンクション）複雑さ３４００のデータを用いて、複雑度を取得する（Ｓ１４４）。前記ステップＳ１４３で得た値の例であれば、複雑度は、“低”、“低”、“低”（機能１、機能２、機能３）となる。この複雑度の取得後、ＡＰサーバ１０１のＦＰ算出処理部２１４は、各機能のそれぞれの処理区分に応じた機能（“ＩＬＦ”、“ＥＩＦ”）と、ステップＳ１４４で取得した複雑度から、図３５のＤＦ（データファンクション）重み表３５００を用いて、ＦＰ（ＤＦ）を取得する（Ｓ１４５）。ステップＳ１４４までで得た値の例であれば、ＦＰ（ＤＦ）は“７”、“５”、“７”（機能１、機能２、機能３）となる。
【００４９】
ＦＰ（ＤＦ）算出後、ＡＰサーバ１０１のＦＰ算出処理部２１４は、図１５のＦＰ算出処理フロー（２）におけるステップＳ１５１を実行する。この場合、ＡＰサーバ１０１のＦＰ算出処理部２１４は、要件定義工程処理部２１１より、アクセステーブル数、および項目数の各値を取得する。本例では、アクセステーブル数：“３”、“２”、“１”（機能１、機能２、機能３）、および、項目数：“２０”、“３０”、“１０”（機能１、機能２、機能３）といったデータが得られることになる。
【００５０】
また、ＡＰサーバ１０１のＦＰ算出処理部２１４は、処理対象のデータらが該当する処理区分に応じ、図３６のＴＦ（トランザクションファンクション）複雑さ  外部出力（ＥＱ）３６００、または図３８のＴＦ（トランザクションファンクション）複雑さ  外部入力（ＥＩ）３８００を用いて、上記ステップＳ１５１で取得したアクセステーブル数、および項目数の各値を基に複雑度を取得する（Ｓ１５２、あるいはＳ１５３）。本例では、“高”、“高”、“低”（機能１、機能２、機能３）といった複雑度を得られることになる。また、この時、ＡＰサーバ１０１のＦＰ算出処理部２１４は、取得した複雑度から、図３９のＴＦ（トランザクションファンクション）重み３９００から、ＦＰ（ＴＦ）を取得する。本例では、“６”、“６”、“３”（機能１、機能２、機能３）となる。
【００５１】
続いて、ＡＰサーバ１０１のＦＰ算出処理部２１４は、上記のステップＳ１５２，Ｓ１５３で算出したＦＰ（ＤＦ）とＦＰ（ＴＦ）をそれぞれ加算し、ＦＰを算出する（Ｓ１５４）。本例では、“１３”、“１１”、“１０”（機能１、機能２、機能３）となる。また、ＡＰサーバ１０１のＦＰ算出処理部２１４は、ステップＳ１５４では算出したＦＰを、ＤＢサーバ１０２のＦＰ情報テーブル３１０（図５）へ格納し、ＦＰ算出処理フローを終了する。
【００５２】
続いて、ＡＰサーバ１０１は生産性算出処理（ｓ１３）を実行する。この生産性算出処理において、ＡＰサーバ１０１の生産性算出処理部２１５は、図２０の生産性処理部処理フロー（１）におけるステップＳ２０１を実行する。この場合、ＡＰサーバ１０１の生産性算出処理部２１５は、設定ファイル２２１（図９）から生産性算出方法３００６、ＦＰランク３００１、言語３００７の各値を、また、ＦＰ算出処理部２１４から、“算出ＦＰ”、“算出工程”の各値を取得する。本例では、設定ファイル２２１から、生産性算出方法：“設定ファイル”、ＦＰランク：“Ａランク＝３６”、“Ｂランク＝２５，３５”、“Ｃランク＝１，２５”、言語：“Ｊａｖａ”（登録商標）の値を得て、また、ＦＰ算出処理部２１４から、算出ＦＰ：“１３，１１，１０”、算出工程：“要件定義工程”の値が得られる。
【００５３】
上述のように、本例では、生産性算出方法が設定ファイル２２１からの算出となっているため、ＡＰサーバ１０１の生産性算出処理部２１５は、ステップＳ２０３を実行し、算出ＦＰとステップＳ２０１で取得したＦＰランクとを比較して、算出ＦＰに関するランク付けを行なっていく。本例では、算出ＦＰ：“１３”→“ランクＣ”、算出ＦＰ：“１１”→“ランクＣ”、算出ＦＰ：“１０”→“ランクＣ”、（機能１，機能２，機能３）となる。
【００５４】
ＡＰサーバ１０１の生産性算出処理部２１５は、上記で特定した算出ＦＰのランクと、ステップＳ２０１で得ている“算出工程”の値に応じた生産性の値を設定ファイル２２１より取得する（Ｓ２０４）。本例では、設定ファイル２２１における生産性（Ｃランク）３００４の“要件定義”の値が生産性の値となり“１５”、“１５”、“１５”（機能１，機能２，機能３）となる。生産性算出後、ＡＰサーバ１０１の生産性算出処理部２１５は、ステップＳ２０５を実行し、これまでで得ている生産性の値について、生産性情報テーブル３１１（図６）にレコードを格納する。
【００５５】
なお、バグ密度算出処理（ｓ１４：図２４〜図２６）は、処理実行画面３１００（図３１）の算出工程３１０２が“詳細設計”の場合のみ実行されるため、上述の例の場合では実行されず、帳票出力処理（ｓ１５）が実行される。この場合、図３０のステップＳ２９１をＡＰサーバ１０１の帳票出力処理部２２０が実行する。このステップＳ２９１で、ＡＰサーバ１０１の帳票出力処理部２２０は、“項番”（採番する）、“機能ＩＤ”、“機能名称”の各値を要件定義工程処理部２１１から、また、“ＦＰ”の値をＦＰ算出処理部２１４から、また、“工程”の値を入力情報取得処理部２１０から、また、“生産性情報”を生産性算出処理部２１５から、また、“バグ密度情報”をバグ密度算出処理部２１６から、それぞれ取得し、帳票一覧イメージ（図４５）を生成してユーザ端末１０３に送信する。
【００５６】
以上が、本実施形態におけるファンクションポイント情報管理方法の手順概要である。続いて、より詳細な処理手順の内容について説明する。
【００５７】
−−−処理手順例１−−−
図１１は本実施形態のファンクションポイント情報管理方法の手順例１を示すフロー図であり、具体的には、入力情報を取得する入力情報取得処理部２１０の処理フローを示す図である。この場合、入力情報取得処理部２１０は、上述した処理実行画面３１００上で入力される設計書参照パス３１０１、算出工程３１０２、算出項目３１０３、の各値をユーザ端末１０３より取得し、メモリなど適宜な記憶手段に格納し、処理を終了する（Ｓ１０１）。
【００５８】
−−−処理手順例２−−−
図１２は、本実施形態におけるファンクションポイント情報管理方法の手順例２を示すフロー図であり、具体的には、各設計工程処理部のうち要件定義工程処理部２１１の処理フローを示す図である。この場合、要件定義工程処理部２１１は、上記ステップＳ１０１で格納された、算出工程の値が“要件定義”であった時のみ処理を実行することになる。この場合、要件定義工程処理部２１１は、設定ファイル２１１を読込み、そのうち、要件定義のＦＰ算出方法３００８における“ＦＰ算出方法”の値を取得し、メモリ上に格納する（Ｓ１１１）。
【００５９】
要件定義工程処理部２１１は、前記取得した“要件定義のＦＰ算出方法”の値が、“設計書”であるか判定し（Ｓ１１２）、該当値が“設計書”であった場合（Ｓ１１２：ＹＥＳ）、メモリ上に格納してある設計書パスの値から、ユーザ端末１０３が保持する要件定義書４０００を取得し、機能ＩＤ４００１、機能名称４００２、処理区分４００３の各値を取得し（Ｓ１１３）、また、アクセステーブル数４００４、項目数４００５の各値を取得し（Ｓ１１５）、それらの値をメモリ上に格納し処理を終了する。なお、図４０に示す要件定義書４０００は、機能ＩＤ４００１、機能名称４００２、処理区分４００３、アクセステーブル数４００４、項目数４００５のデータで構成されたファイルとなる。
【００６０】
一方、“要件定義のＦＰ算出方法”の値が、“設計書”でなかった場合（Ｓ１１２：ＮＯ）、要件定義工程処理部２１１は、メモリ上に格納してある設計書パスからユーザ端末１０３が保持する要件定義書４０００を読み込み、機能ＩＤ４００１、機能名称４００２、処理区分４００３、を取得する（Ｓ１１４）。また、要件定義工程処理部２１１は、設定ファイル２２１の要件定義のＦＰ算出方法３００８における“アクセステーブル数”の値（図の例では“５”）、“項目数”の値（図の例では“５０”）をそれぞれ取得し（Ｓ１１６）、それら値をメモリ上に格納し処理を終了する。
【００６１】
−−−処理手順例３−−−
図１３は本実施形態のファンクションポイント情報管理方法の手順例３を示すフロー図であり、具体的には、各設計工程処理部のうち基本設計工程処理部２１２の処理フローを示す図である。この場合、基本設計工程処理部２１２は、上記ステップＳ１０１で格納された、算出工程の値が“基本設計”であった時のみ処理を実行することになる。この場合、基本設計工程処理部２１２は、設定ファイル２２１を読込み、設定ファイル２２１におけるボタン処理区分３００９の値を全て取得（本例では“登録，ＥＩ”、“更新，ＥＩ”、“検索，ＥＱ”）し、メモリ上に格納する（Ｓ１２１）。
【００６２】
次に、基本設計工程処理部２１２は、メモリ上に格納した設計書パスからユーザ端末１０３が保持する基本設計書４１００（図４１参照）を読み込み、この基本設計書４１００における、ボタン名４１０４、テーブル名称４１０５、機能ＩＤ４１０１、機能名称４１０２、画面項目数（画面項目情報の画面項目名４１０３をカウント）、の各値を取得し（Ｓ１２２）、メモリ上に格納する。なお、図４１に示す基本設計書４１００は、機能ＩＤ４１０１、機能名称４１０２、画面項目名４１０３、ボタン名４１０４、テーブル名称４１０５の各データで構成されている。
【００６３】
次に基本設計工程処理部２１２は、メモリ上に格納された“テーブル名称（複数）”分、メモリ上に格納された設計書パスからユーザ端末１０３が保持するテーブル定義書４２００（図４２参照）を読み込み、このテーブル定義書４２００における、テーブル名称４２０１が、前記メモリ上に格納された“テーブル名称”と一致するカラム名４２０２の数をカウントして、カラム数の合計を取得し（Ｓ１２３）、メモリ上に“テーブル名”、“カラム数の合計”の値の組を格納し処理を終了する。
【００６４】
なお、図４２に示すテーブル定義書４２００は、テーブル名称４２０１、カラム名４２０２のデータで構成されている。
【００６５】
−−−処理手順例４−−−
図１４は本実施形態のファンクションポイント情報管理方法の手順例４を示すフロー図であり、具体的には、各設計工程処理部のうち詳細設計処理部２１３の処理フローを示す図である。この場合、詳細設計処理部２１３は、上記ステップＳ１０１で格納された、算出工程の値が“詳細設計”であった時のみ処理を実行することになる。この場合、詳細設計処理部２１３２は、メモリ上に格納した設計書パスからユーザ端末１０３が保持する基本設計書４１００を読み込み、ボタン名４１０４、機能ＩＤ４１０１、機能名称４１０２、画面項目数（画面項目情報の画面項目名４１０３をカウント）、の各値を取得し（Ｓ１３１）し、メモリ上に格納する。
【００６６】
次に詳細設計処理部２１３は、メモリ上に格納した設計書パスからユーザ端末１０３が保持する詳細設計書４３００（図４３参照）を読み込み、ＳＱＬＩＤ４３０４を取得する（Ｓ１３２）。また、詳細設計処理部２１３は、前記ステップＳ１３２で取得した“ＳＱＬＩＤ”の数だけ、メモリ上に格納した設計書パスからユーザ端末１０３が保持するＳＱＬ設計書４４００（図４４参照）を読み込み、ＳＱＬ処理区分４４０３、ＦＲＯＭ句４４０５、項目名数（項目名４４０４の数をカウント）の各値を取得し、メモリ上に“ＦＲＯＭ句”と“項目名数”を組にして格納し（Ｓ１３３）、本処理を終了する。
【００６７】
なお、図４３に示す詳細設計書４３００は、機能ＩＤ４３０１、機能名称４３０２、処理４３０３、ＳＱＬＩＤ４３０４、処理内容４３０５の各データで構成されている。また、図４４に示すＳＱＬ設計書４４００は、ＳＱＬＩＤ４４０１、ＳＱＬ名称４４０２、ＳＱＬ処理区分４４０３、項目名４４０４、ＦＲＯＭ句４４０５、ＷＨＥＲＥ句４４０６の各データで構成されている。
【００６８】
−−−処理手順例５−−−
図１５は、本実施形態におけるファンクションポイント情報管理方法の手順例５を示すフロー図であり、具体的には、ＦＰ算出処理部２１４の処理フロー（１）を示す図である。  この場合、ＦＰ算出処理部２１４は、メモリ上に格納された算出工程の値が“要件定義”であるか判定する（Ｓ１４１）。この判定で、メモリ上に格納された算出工程の値が“要件定義”でない場合（Ｓ１４１：ＮＯ）、図１６のＦＰ算出処理フロー（３）が実施される。他方、メモリ上に格納された算出工程の値が“要件定義”の場合（Ｓ１４１：ＮＯ）、ＦＰ算出処理部２１４は、メモリ上に格納（要件定義工程処理部２１１で格納）した“アクセステーブル数”、“項目数”、“処理区分”の値を取得する（Ｓ１４２）。
【００６９】
続いてＦＰ算出処理部２１４は、ＤＥＴを“項目数／アクセステーブル数”の式で算出する（Ｓ１４３）。またＦＰ算出処理部２１４は、“ＲＥＴ”＝１とし、ＤＦ（データファンクション）複雑さ３４００のデータより複雑度を取得し（Ｓ１４４）、メモリ上に格納する。
【００７０】
図３４に例示するＤＦ（データファンクション）複雑さ３４００は、“複雑さ”をＤＥＴ３４０１とＲＥＴ３４０２で表したマトリックスである。ＤＦ（データファンクション）はシステムによって使用されるデータの論理集合とし、本実施形態ではデータベースのテーブルを表す。ＤＥＴ３４０１は、ユーザが認識できる項目数のカウント値であり、本実施形態では、テーブルの“カラム数”とする。また、ＲＥＴ３４０２は、ユーザが認識できるデータのグループ数であり、本実施形態では“１”の固定としている。また本実施形態において、図３４に示したマトリックスすなわちはＤＦ（データファンクション）複雑さ３４００のデータは、ＡＰサーバ１０１におけるプログラムソース内で保持している。
【００７１】
次にＦＰ算出処理部２１４は、ステップＳ１４２で取得した、“処理区分”が“メンテナンス”であるか判定し、“メンテナンス”であった場合は、“機能＝ＩＬＦ”とし、図３５に例示するＤＦ（データファンクション）重み表３５００より、ＦＰ（ＤＦ）を取得し（Ｓ１４５）、これをメモリ上に格納する。一方、“メンテナンス”でない場合、ＦＰ算出処理部２１４は、“機能＝ＥＩＦ”とし、前記ＤＦ（データファンクション）重み表３５００よりＦＰ（ＤＦ）を取得し（Ｓ１４６）、これをメモリ上に格納し、引き続き図１６のＦＰ算出フロー（２）を実施する。
【００７２】
図３５に例示したＤＦ（データファンクション）重み表３５００は、ＤＦ（データファンクション）を、機能３５０２と複雑さ３５０１で表したマトリックスである。このうち、機能３５０２は“ＩＬＦ（内部論理ファイル）”と“ＥＩＦ（外部論理ファイル）”で構成され、本実施形態ではデータベースのテーブルを更新する処理を“ＩＬＦ（内部論理ファイル）”、データベースのテーブルを参照する処理を“ＥＩＦ（外部論理ファイル）”とする。また、複雑さ３５０１は“低”、“中”、“高”のパラメータで構成される。本実施形態では、図３５に示したマトリックスすなわちＤＦ（データファンクション）重み表３５００は、ＡＰサーバ１０１におけるプログラムソース内で保持している。
【００７３】
−−−処理手順例６−−−
図１６は、本実施形態におけるファンクションポイント情報管理方法の手順例６を示すフロー図であり、具体的には、ＦＰ算出処理部２１４の処理フロー（２）を示す図である。  この場合、ＦＰ算出処理部２１４は、メモリ上に格納された、“アクセステーブル数”、“項目数”の各値を取得し、ＦＴＲ＝“アクセステーブル数”、ＤＥＴ＝“項目数”としメモリ上に格納する（Ｓ１５１）。
【００７４】
次にＦＰ算出処理部２１４は、メモリ上に格納された“処理区分”の値が“メンテナンス”であるか判定し、“メンテナンス”であった場合は、図３８に例示するＴＦ（トランザクションファンクション）複雑さ  外部入力（ＥＩ）３８００を参照し、ステップＳ１５１で取得したＦＴＲとＤＥＴの値から“複雑度”を取得し、メモリ上に格納する。また、ＦＰ算出処理部２１４は、機能を“ＥＩ”とし、取得した“複雑度”から図３９に例示したＴＦ（トランザクションファンクション）重み３９００を参照し、ＦＰ（ＴＦ）を取得し（Ｓ１５２）、これをメモリ上に格納する。
【００７５】
一方、前記判定において“メンテナンス”でなかった場合、ＦＰ算出処理部２１４は、図３６に例示したＴＦ（トランザクションファンクション）複雑さ  外部照会（ＥＱ）３６００を参照し、ステップＳ１５１で取得したＦＴＲとＤＥＴの値から“複雑度”を取得しメモリ上に格納する。また、ＦＰ算出処理部２１４は、機能を“ＥＱ”とし、取得した“複雑度”から、図３９に例示したＴＦ（トランザクションファンクション）重み３９００を参照し、ＦＰ（ＴＦ）を取得し（Ｓ１５３）、これをメモリ上に格納する。
【００７６】
次にＦＰ算出処理部２１４は、前記ステップＳ１５２またはステップＳ１５３で得ているＦＰ（ＴＦ）と、前記ステップＳ１４５またはステップＳ１４６で得ているＦＰ（ＤＦ）との合計値をＦＰとして算定する（Ｓ１５４）。またＦＰ算出処理部２１４は、メモリ上に格納された“機能ＩＤ”、“機能名称”、“算出工程”、およびステップＳ１５４で算出した“ＦＰ”を、それぞれＦＰ情報テーブル３１０とメモリ上に格納し（Ｓ１５５）、処理を終了する。
【００７７】
なお、図３８で例示したＴＦ（トランザクションファンクション）複雑さの外部入力（ＥＩ）３８００は、ＤＥＴ３８０１とＦＴＲ３８０２のマトリックスで構成され、複雑度を示すものとなっている。“外部入力（ＥＩ）”は、本実施形態では「テーブルのデータ登録または変更を行う処理」とする。本実施形態ではＤＥＴ３８０１は“データ項目数の合計”、ＦＴＲ３８０２は“参照”または“更新”を行うデータベースの“テーブル数の合計”とする。また本実施形態では、図３８に示したマトリックスすなわちＴＦ（トランザクションファンクション）複雑さの外部入力（ＥＩ）３８００は、ＡＰサーバ１０１におけるプログラムソース内で保持している。
【００７８】
また、図３９で例示したＴＦ（トランザクションファンクション）重み３９００は、複雑さ３９０１と機能３９０２で構成されるマトリックスで複雑さ３９０１を表したものである。複雑さ３９０１は“低”、“中”、“高”のパラメータで構成され、機能３９０２は“ＥＩ”、“ＥＱ”、“ＥＱ”のパラメータで構成される。本実施形態では、図３９に示したマトリックスすなわちＴＦ（トランザクションファンクション）重み３９００は、ＡＰサーバ１０１におけるプログラムソース内で保持している。
【００７９】
−−−処理手順例７−−−
図１７は、本実施形態におけるファンクションポイント情報管理方法の手順例７を示すフロー図であり、具体的にはＦＰ算出処理部２１４の処理フロー（３）を示す図である。
【００８０】
この場合、ＦＰ算出処理部２１４は、メモリ上に格納された、算出工程の値が“基本設計”であるか判定し、算出工程が“基本設計”でない場合は図１８のＦＰ算出処理フロー（５）を実施する。一方、算出工程が“基本設計”の場合、ＦＰ算出処理部２１４は、前記ステップＳ１２３にてメモリ上に格納された、テーブル名称の中で“カラム数が最も多いテーブル”のカラム数と、ステップＳ１２２にてメモリ上に格納された“ボタン名”  の値を取得し（Ｓ１６１）、メモリ上に格納する。
【００８１】
また、ＦＰ算出処理部２１４は、前記ステップＳ１６１で取得したカラム数をＤＥＴとする（Ｓ１６２）。次にＦＰ算出処理部２１４は、ＲＥＴ＝“１”（固定）、および前記ステップＳ１６２で得ているＤＥＴから、図３４に例示したＤＦ（データファンクション）複雑さ３４００より、複雑度を取得し（Ｓ１６３）メモリ上に格納する。
【００８２】
またＦＰ算出処理部２１４は、設定ファイル２２１を参照し、ボタン処理区分３００９の値を全て取得する（Ｓ１６４）。次にＦＰ算出処理部２１４は、前記ステップＳ１６１で取得した“ボタン名”と、前記ステップＳ１６４で取得した“ボタン処理区分”の値の比較を行う（Ｓ１６５）。ここで、ボタン名に“ＥＩ”の値が含まれている場合、ＦＰ算出処理部２１４は、機能を“ＩＬＦ”とし、ステップＳ１６３で得ている複雑度から、図３５に例示したＤＦ（データファンクション）重み表３５００を用いてＦＰ（ＤＦ）を取得し、これをメモリ上に格納する（Ｓ１６６）。他方、ボタン名に“ＥＩ”の値が含まれていない場合、ＦＰ算出処理部２１４は、機能を“ＥＩＦ”とし、図３５に例示したＤＦ（データファンクション）重み表３５００を用いてＦＰ（ＤＦ）を取得し、これをメモリ上に格納し、引き続き図１７のＦＰ算出処理フロー（４）を実行する。
【００８３】
−−−処理手順例８−−−
図１８は、本実施形態におけるファンクションポイント情報管理方法の手順例８を示すフロー図であり、具体的には、ＦＰ算出処理部２１４の処理フロー（４）を示す図である。  この場合、ＦＰ算出処理部２１４は、前記ステップＳ１２３でメモリ上に格納した、テーブル数とカラム数の組を全て取得し、“テーブル数の合計”と“カラム数の合計”をカウントし、ＦＴＲを“テーブル数の合計”、ＤＥＴを“カラム数の合計”とし、これらをメモリ上に格納する（Ｓ１７１）。
【００８４】
次にＦＰ算出処理部２１４は、前記ステップＳ１６１でメモリ上に格納した“ボタン名”に“ＥＩ”が含まれているか判定し、ボタン名に“ＥＩ”が含まれている場合、図３８のＴＦ（トランザクションファンクション）複雑さ  外部入力（ＥＩ）３８００を参照し、“複雑度”を取得し、これをメモリ上に格納する。またＦＰ算出処理部２１４は、機能を“ＥＩ”とし、前記取得した“複雑度”から図３９のＴＦ（トランザクションファンクション）重み３９００を参照してＦＰ（ＴＦ）を取得し（Ｓ１７２）、これをメモリ上に格納する。
【００８５】
他方、ボタン名に“ＥＩ”が含まれていない場合、ＦＰ算出処理部２１４は、図３６のＴＦ（トランザクションファンクション）複雑さ  外部照会（ＥＱ）３６００を参照し、“複雑度”を取得し、これをメモリ上に格納する。またこの場合、ＦＰ算出処理部２１４は、機能を“ＥＱ”とし、前記取得した“複雑度”から、図３９のＴＦ（トランザクションファンクション）重み３９００を参照してＦＰ（ＴＦ）を取得し（Ｓ１７２）、これをメモリ上に格納する。
【００８６】
次にＦＰ算出処理部２１４は、前記ステップＳ１７２またはステップＳ１７３で算出したＦＰ（ＴＦ）と、前記ステップ１６６またはステップ１６７で算出したＦＰ（ＤＦ）との合計値をＦＰとして算出し（Ｓ１７４）、このＦＰの値と、メモリ上に格納された“機能ＩＤ”、“機能名称”、“算出工程”、およびステップＳ１７４で算出した“ＦＰ”を、ＦＰ情報テーブル３１０とメモリ上に格納し（Ｓ１７５）、処理を終了する。
【００８７】
−−−処理手順例９−−−
図１９は、本実施形態におけるファンクションポイント情報管理方法の手順例９を示すフロー図であり、具体的には、ＦＰ算出処理部２１４の処理フロー（５）を示す図である。  この場合、ＦＰ算出処理部２１４は、前記ステップＳ１３２にてメモリ上に格納された“ＦＲＯＭ句”の中で最大の“項目名数”と、格納されている全ての“ＳＱＬ処理区分”をそれぞれ取得する（Ｓ１８１）。次にＦＰ算出処理部２１４は、ＤＥＴを、前記ステップＳ１８１で取得した項目数とし、メモリに格納し（Ｓ１８２）、また、ＲＥＴ＝１とし図３４のＤＦ（データファンクション）複雑さ３４００より複雑度を取得し（Ｓ１８３）、これらをメモリ上に格納する。
【００８８】
次にＦＰ算出処理部２１４は、前記ステップＳ１８１でメモリに格納された“ＳＱＬ処理区分”に“ｓｅｌｅｃｔ”または“ｕｐｄａｔｅ”の文字列が含まれているか判定する。“ＳＱＬ処理区分”に“ｓｅｌｅｃｔ”または“ｕｐｄａｔｅ”の文字列が含まれている場合、ＦＰ算出処理部２１４は、機能を“ＩＬＦ”とし、図３５のＤＦ（データファンクション）重み表３５００よりＦＰ（ＤＦ）を取得し（Ｓ１８４）、これをメモリ上に格納する。他方、“ＳＱＬ処理区分”に“ｓｅｌｅｃｔ”または“ｕｐｄａｔｅ”の文字列が含まれていない場合、ＦＰ算出処理部２１４は、“機能”を“ＥＩＦ”とし、図３５のＤＦ（データファンクション）重み表３５００よりＦＰ（ＤＦ）を取得し（Ｓ１８５）、これをメモリ上に格納し、引き続き図２０のＦＰ算出フロー（６）を実行する。
【００８９】
−−−処理手順例１０−−−
図２０は、本実施形態におけるファンクションポイント情報管理方法の手順例１０を示すフロー図であり、具体的には、ＦＰ算出処理部２１４の処理フロー（６）を示す図である。
【００９０】
この場合、ＦＰ算出処理部２１４は、前記ステップＳ１３３でメモリ上に格納された、“ＦＲＯＭ句”と“項目名数”の組の値を全て取得し、“ＦＲＯＭ句の合計”と“項目名数の合計”をカウントし、ＦＴＲを“ＦＲＯＭ句の合計”、ＤＥＴを“項目名数の合計”としてメモリ上に格納する（Ｓ１９１）。
【００９１】
次にＦＰ算出処理部２１４は、前記ステップＳ１８１でメモリ上に格納した“ＳＱＬ処理区分”に“ｓｅｌｅｃｔ”または“ｕｐｄａｔｅ”の文字列が含まれているか判定する。“ＳＱＬ処理区分”に“ｓｅｌｅｃｔ”または“ｕｐｄａｔｅ”の文字列が含まれている場合、ＦＰ算出処理部２１４は、図３８のＴＦ（トランザクションファンクション）複雑さ  外部入力（ＥＩ）３８００を参照して“複雑度”を取得し、これをメモリ上に格納する。また、ＦＰ算出処理部２１４は、機能を“ＥＩ”とし、前記取得した“複雑度”から図３９のＴＦ（トランザクションファンクション）重み３９００を参照してＦＰ（ＴＦ）を取得し（Ｓ１９２）、これをメモリ上に格納する。
【００９２】
他方、“ＳＱＬ処理区分”に“ｓｅｌｅｃｔ”または“ｕｐｄａｔｅ”の文字列が含まれていない場合、ＦＰ算出処理部２１４は、図３６のＴＦ（トランザクションファンクション）複雑さ  外部照会（ＥＱ）３６００を参照して“複雑度”を取得し、これをメモリ上に格納する。また、ＦＰ算出処理部２１４は、機能を“ＥＱ”とし、前記取得した“複雑度”から図３９のＴＦ（トランザクションファンクション）重み３９００を参照し、ＦＰ（ＴＦ）を取得し（Ｓ１９３）、これをメモリ上に格納する。またＦＰ算出処理部２１４は、前記ステップＳ１９２またはステップＳ１９３で算出したＦＰ（ＴＦ）と、前記ステップＳ１８３またはステップＳ１８４で算出したＦＰ（ＤＦ）との合計値をＦＰとして算出する（Ｓ１９４）。
【００９３】
またＦＰ算出処理部２１４は、メモリ上に格納された“機能ＩＤ”、“機能名称”、“算出工程”、および前記ステップＳ１９４で算出した“ＦＰ”の各値をＦＰ情報テーブル３１０とメモリ上に格納し（Ｓ１９５）、処理を終了する。
【００９４】
−−−処理手順例１１−−−
図２１は、本実施形態におけるファンクションポイント情報管理方法の手順例１１を示すフロー図であり、具体的には、生産性算出処理部２１５の処理フロー（１）を示す図である。
【００９５】
この場合、生産性算出処理部２１５は、設定ファイル２２１を参照してＦＰランク３００１、算出方法３００６のうち“生産性”の値、および開発言語３００７の各値を取得し、また、メモリに格納されている“算出ＦＰ”と“算出工程”の値をそれぞれ取得し（Ｓ２０１）、これらをメモリ上に格納する。
【００９６】
次に生産性算出処理部２１５は、前記ステップＳ２０１でメモリに格納した“算出工程”の値が“設定ファイル”であるか判定する。“算出方法”の値が“設定ファイル”でない場合、生産性算出処理部２１５は、引き続き図２２の生産性算出処理フロー（２）を実行する。
【００９７】
他方、“算出方法”の値が“設定ファイル”の場合、生産性算出処理部２１５は、“算出ＦＰ”と、設定ファイル２２１から取得した３段階のＦＰランクに対応した値範囲とを比較し、“算出ＦＰ”がどのランクの範囲かを判定してランクを決定し（Ｓ２０３）、これをメモリ上に格納する。
【００９８】
次に生産性算出処理部２１５は、メモリ上に格納されたランクが“ランクＡ”であるか判定する。上述の“算出ＦＰ”のランクが“ランクＡ”の場合、生産性算出処理部２１５は、設定ファイル２２１を参照し、生産性（Ａランク）３００２の値を全て取得し（Ｓ２０４）、これをメモリにて“工程”と“値”の組にして格納する。
【００９９】
他方、“算出ＦＰ”が“ランクＡ”でない場合、生産性算出処理部２１５は、“算出ＦＰ”が“ランクＢ”であるか判定する。“算出ＦＰ”が“ランクＢ”である場合、生産性算出処理部２１５は、設定ファイル２２１を参照し、生産性（Ｂランク）３００３の値を全て取得し（Ｓ２０５）、メモリにて“工程”と“値”を組にして格納する。
【０１００】
また、“算出ＦＰ”が“ランクＢ”でない場合、生産性算出処理部２１５は、設定ファイル２２１を参照し、生産性（Ｃランク）３００４の値を全て取得し（Ｓ２０６）、メモリにて“工程”と“値”を組にして格納する。
【０１０１】
次に生産性算出処理部２１５は、前記ステップＳ２０１で取得した“算出工程”と、メモリに格納された生産性ランクの“工程”（前記ステップＳ２０４、またはステップＳ２０５、またはステップＳ２０６で得ている）を比較し、一致する工程の値を取得し（Ｓ２０７）、それをメモリに格納する。次に生産性算出処理部２１５は、メモリ上に格納された“機能ＩＤ”、“算出工程”、および本処理で取得した生産性の各値を、生産性情報テーブル３１１に格納し処理を終了する。
【０１０２】
−−−処理手順例１２−−−
図２２は、本実施形態におけるファンクションポイント情報管理方法の手順例１２を示すフロー図であり、具体的には、生産性算出処理部２１５の処理フロー（２）を示す図である。この場合、生産性算出処理部２１５は、前記ステップＳ２０１でメモリ上に格納された“算出ＦＰ”と、設定ファイル２２１から取得した３段階のＦＰランクに対応した値範囲とを比較し、“算出ＦＰ”がどのランクの範囲かを判定してランクを決定し（Ｓ２１１）、これをメモリ上に格納する。
【０１０３】
次に生産性算出処理部２１５は、メモリ上に格納されたランクが“ランクＡ”であるか判定する。“算出ＦＰ”が“ランクＡ”である場合、生産性算出処理部２１５は、“算出工程”、“ランクＡの範囲”、および前記ステップＳ２０１でメモリ上に格納された“言語”を検索キーとして、実績情報管理テーブル３１３から、生産性３１３８とＦＰ３１３６の各値を取得し（Ｓ２１２）、これをメモリ上に格納し、引き続き図２３の生産性算出処理フロー（３）の処理を実行する。
【０１０４】
他方、“算出ＦＰ”が“ランクＡ”でない場合、生産性算出処理部２１５は、“算出ＦＰ”が“ランクＢ”であるか判定する。“算出ＦＰ”が“ランクＢ”である場合、生産性算出処理部２１５は、“算出工程”、“ランクＢの範囲”、および前記ステップＳ２０１でメモリ上に格納された“言語”の各値を検索キーとして、実績情報管理テーブル３１３から生産性３１３８とＦＰ３１３６の各値を取得し（Ｓ２１３）、これをメモリ上に格納し、引き続き図２３の生産性算出処理フロー（３）の処理を実行する。
【０１０５】
また、“算出ＦＰ”が“ランクＢ”でない場合、生産性算出処理部２１５は、“算出工程”、“ランクＣの範囲”、および前記ステップＳ２０１でメモリ上に格納された“言語”の各値を検索キーとして、実績情報管理テーブル３１３から生産性３１３８とＦＰ３１３６の各値を取得し（Ｓ２１４）、これをメモリ上に格納し、引き続き図２３の生産性算出処理フロー（３）の処理を実行する。
【０１０６】
−−−処理手順例１３−−−
図２３は、本実施形態におけるファンクションポイント情報管理方法の手順例１３を示すフロー図であり、具体的には、生産性算出処理部２１５の処理フロー（３）を示す図である。この場合、生産性算出処理部２１５は、前記ステップＳ２１２、またはステップＳ２１３、またはステップＳ２１４でメモリ上に格納された“生産性”の数分、“１ＦＰあたりの生産性”（＝“生産性”／“ＦＰ”）を算出し（Ｓ２２１）、これをメモリ上に格納する。次に生産性算出処理部２１５は、“生産性”の平均値（＝“１ＦＰあたりの生産性”／抽出レコード数）を算出する（Ｓ２２２）。
【０１０７】
また、生産性算出処理部２１５は、メモリ上に格納された“算出ＦＰ”を取得し、前記ステップ２２２で算出した“生産性”の平均値を乗じることで生産性を算出し（Ｓ２２３）、これをメモリ上に格納する。
【０１０８】
また、生産性算出処理部２１５は、メモリ上に格納された“機能ＩＤ”と“算出工程”の各値を取得し、前記ステップＳ２２３で算出した“生産性”を、生産性情報テーブル３１１に格納し（Ｓ２２４）、処理を終了する。
【０１０９】
−−−処理手順例１４−−−
図２４は、本実施形態におけるファンクションポイント情報管理方法の手順例１４を示すフロー図であり、具体的には、バグ密度算出処理部２１６の処理フロー（１）を示す図である。この場合、バグ密度算出処理部２１６は、設定ファイル２２１を参照し、ＦＰランク３００１、算出方法３００６のうち“バグ密度”の値、開発言語３００７を取得し、また、メモリに格納されている“算出ＦＰ”を取得し（Ｓ２３１）、これらをメモリ上に格納する。
【０１１０】
次にバグ密度算出処理部２１６は、前記ステップＳ２３１でメモリに格納した“算出方法”の値が“設定ファイル”であるか判定する。“算出方法”の値が“設定ファイル”でない場合、バグ密度算出処理部２１６は、引き続き図２５のバグ密度算出処理フロー（２）を実行する。
【０１１１】
他方、“算出方法”の値が“設定ファイル”の場合、バグ密度算出処理部２１６は、“算出ＦＰ”と、設定ファイル２２１から取得した３段階のＦＰランクに対応した値範囲とを比較し、“算出ＦＰ”がどのランクの範囲かを判定してランクを決定し（Ｓ２３３）、これをメモリ上に格納する。
【０１１２】
またバグ密度算出処理部２１６は、メモリ上に格納されたランクが“ランクＡ”であるか判定する。“算出ＦＰ”が“ランクＡ”の場合、バグ密度算出処理部２１６は、設定ファイル２２１を参照し、バグ密度３００５における“Ａランク”の値を取得し（Ｓ２３４）、メモリに格納する。
【０１１３】
他方、“算出ＦＰ”が“ランクＡ”でない場合、バグ密度算出処理部２１６は、“算出ＦＰ”が“ランクＢ”であるか判定する。“算出ＦＰ”が“ランクＢ”である場合、バグ密度算出処理部２１６は、設定ファイル２２１を参照し、バグ密度３００５のうち“Ｂランク”の値を取得し（Ｓ２３５）、これをメモリに格納する。
【０１１４】
また、“算出ＦＰ”が“ランクＢ”でない場合、バグ密度算出処理部２１６は、設定ファイル２２１を参照し、バグ密度３００５のうち“Ｃランク”の値を取得し（Ｓ２３６）、これをメモリに格納する。
【０１１５】
次にバグ密度算出処理部２１６は、前記ステップＳ２３１で取得した“算出ＦＰ”と、前記ステップＳ２３４、またはステップＳ２３５、またはステップＳ２３６でメモリに格納された“バグ密度”とを、バグ密度情報テーブル３１２に格納し、処理を終了する。
【０１１６】
−−−処理手順例１５−−−
図２５は、本実施形態におけるファンクションポイント情報管理方法の手順例１５を示すフロー図であり、具体的には、バグ密度算出処理部２１６の処理フロー（２）を示す図である。この場合、バグ密度算出処理部２１６は、前記ステップＳ２３１でメモリ上に格納された“算出ＦＰ”と、設定ファイル２２１から取得した３段階のＦＰランクに対応した値範囲とを比較し、“算出ＦＰ”がどのランクの範囲かを判定してランクを決定し（Ｓ２４１）、これをメモリ上に格納する。
【０１１７】
次にバグ密度算出処理部２１６は、メモリ上に格納されたランクが“ランクＡ”であるか判定する。“算出ＦＰ”が“ランクＡ”である場合、バグ密度算出処理部２１６は、“ランクＡの範囲”、および前記ステップＳ２３１でメモリ上に格納された“言語”を検索キーとして、実績情報管理テーブル３１３からバグ密度３１３９とＦＰ３１３６の各値を取得し（Ｓ２４２）、これをメモリ上に格納し、引き続き図２６のバグ密度算出処理フロー（３）の処理を実行する。
【０１１８】
他方、“算出ＦＰ”が“ランクＡ”でない場合、バグ密度算出処理部２１６は、“算出ＦＰ”が“ランクＢ”であるか判定する。“算出ＦＰ”が“ランクＢ”である場合、バグ密度算出処理部２１６は、“ランクＢの範囲”、および前記ステップＳ２３１でメモリ上に格納された“言語”の各値を検索キーとして、実績情報管理テーブル３１３からバグ密度３１３９とＦＰ３１３６の各値を取得し（Ｓ２４３）、これをメモリ上に格納し、引き続き図２６のバグ密度算出処理フロー（３）の処理を実行する。
【０１１９】
また、“算出ＦＰ”が“ランクＢ”でない場合、バグ密度算出処理部２１６は、“ランクＣの範囲”、および前記ステップＳ２３１でメモリ上に格納された“言語”の各値を検索キーとして、実績情報管理テーブル３１３からバグ密度３１３９とＦＰ３１３６を取得し（Ｓ２４４）、これをメモリ上に格納し、引き続き図２６のバグ密度算出処理フロー（３）の処理を実行する。
【０１２０】
−−−処理手順例１６−−−
図２６は、本実施形態におけるファンクションポイント情報管理方法の手順例１６を示すフロー図であり、具体的には、バグ密度算出処理部２１６の処理フロー（３）を示す図である。この場合、バグ密度算出処理部２１６は、前記ステップＳ２４２、またはステップＳ２４３、またはステップＳ２４４でメモリ上に格納された“バグ密度”の数分、“１ＦＰあたりのバグ密度”（＝“バグ密度”／“ＦＰ”）を算出し（Ｓ２５１）、これをメモリ上に格納する。
【０１２１】
また、バグ密度算出処理部２１６は、“バグ密度”の平均値（＝“１ＦＰあたりのバグ密度”／抽出レコード数）を算出する（Ｓ２５２）。またバグ密度算出処理部２１６は、メモリ上に格納された“算出ＦＰ”を取得し、この“算出ＦＰ”の値に、前記ステップＳ２５２算出した“バグ密度”の平均値を乗じることで、バグ密度を算出し（Ｓ２５３）、これをメモリ上に格納する。
【０１２２】
次にバグ密度算出処理部２１６は、メモリ上に格納された“機能ＩＤ”を取得し、前記ステップＳ２５３で算出した“バグ密度”を、“機能ＩＤ”と対応付けてバグ密度情報テーブル３１２に格納し（Ｓ２５４）、処理を終了する。
【０１２３】
−−−処理手順例１７−−−
図２７は、本実施形態におけるファンクションポイント情報管理方法の手順例１７を示すフロー図であり、具体的には、ＦＰ情報検索処理部２１７の処理フローを示す図である。  ＡＰサーバ１０１のＦＰ情報検索処理部２１７は、図３２で例示するＦＰ情報確認画面３２００を介してユーザ端末１０３から入力された機能ＩＤ３２０１、機能名称３２０１、算出工程３２０３、ＦＰ３２０４、の各値を取得し（Ｓ２６１）、これをメモリ上に格納する。当然ながら、ＦＰ情報検索処理部２１７は、ユーザ端末１０３から、上記のＦＰ情報確認画面３２００のリクエストをこの処理に先だって受けており、ＦＰ情報確認画面３２００のデータをユーザ端末１０３に返信済みであるとする。
【０１２４】
次にＦＰ情報検索処理部２１７は、ＦＰ情報テーブル３１０から、前記ステップＳ２６１で得た入力値の条件に一致する機能ＩＤ３１０１、機能名称３１０２、ＦＰ３１０３、工程３１０４の値を取得し（Ｓ２６２）、これをメモリに格納する。
【０１２５】
またＦＰ情報検索処理部２１７は、生産性情報テーブル３１１から、前記ステップＳ２６２で取得した“機能ＩＤ”、“工程”の各値に一致する生産性３１１２の値を取得し（Ｓ２６３）、これをメモリに格納する。
【０１２６】
また、ＦＰ情報検索処理部２１７は、バグ密度情報テーブル３１２から、前記ステップＳ２６２で取得した“機能ＩＤ”の値に一致するバグ密度３１２１の値を取得し（Ｓ２６４）、これをメモリに格納する。
【０１２７】
次にＦＰ情報検索処理部２１７は、予め記憶部２０１にて保持する所定の画面データ上へ、前記ステップＳ２６２〜ステップＳ２６４でメモリ上に格納された“機能ＩＤ”、“機能名称”、“ＦＰ”、“工程”、“生産性”、“バグ密度”の各値を設定し、当該画面データをユーザ端末１０３に送信して表示させ処理を終了する（Ｓ２６５）。
【０１２８】
なお、図３２に例示するＦＰ情報確認画面３２００において、参照したいデータに関する、機能ＩＤ３２０１、機能名称３２０２、算出工程３２０３、ＦＰ範囲３２０４の各値の指定を受ける入力欄が備わっている。この画面３２００で“検索”のボタンが押下されることで、上記各欄３２０１〜３２０４の検索条件の値に合致したデータが、ＦＰ情報検索処理部２１７によって“検索結果”の各欄（機能ＩＤ３２０５、機能名称３２０６、算出工程３２０７、ＦＰ３２０８、生産性３２０９、バグ密度３２１０）に設定されるのである。例えば、“検索条件”となる各欄３２０１〜３２０４の値については、全て前方一致検索で処理が実行される。また“終了”ボタンが押下されると本画面は閉じられる。
【０１２９】
−−−処理手順例１８−−−
図２８は、本実施形態におけるファンクションポイント情報管理方法の手順例１８を示すフロー図であり、具体的には、実績情報検索処理部２１８の処理フローを示す図である。実績情報検索処理部２１８は、ユーザ端末１０３から、実績情報登録画面３３００のリクエストを受けて、実績情報登録画面３３００のデータをユーザ端末１０３に返信済みであるとする。
【０１３０】
この時、実績情報登録画面３３００を介してユーザ端末１０３で検索ボタン３３１０が押下されたとする。この押下に伴う実績情報の検索は、画面３３００上にてユーザが入力した検索条件項目３３０１〜３３０５の各値に応じて実績情報検索処理部２１８が実行する。この場合、実績情報検索処理部２１８は、前記画面３３００で指定された検索条件の値をユーザ端末１０３から取得し、これをメモリ上に格納する（Ｓ２７１）。
【０１３１】
次に、実績情報検索処理部２１８は、実績情報管理テーブル３１３より、前記ステップＳ２７１で取得した検索条件に合致するレコードを取得し（Ｓ２７２）、ここで取得した値を、所定の画面データに設定してユーザ端末１０３に送信し表示させる（Ｓ２７３）。以上で処理は終了する。
【０１３２】
−−−処理手順例１９−−−
図２９は、本実施形態におけるファンクションポイント情報管理方法の手順例１９を示すフロー図であり、具体的には、実績情報登録処理部２１９の処理フローを示す図である。この処理フローに先立ち、実績情報登録画面３３００のリクエストが、ユーザ端末１０３よりＡＰサーバ１０１に送られており、ＡＰサーバ１０１は前記画面３３００のデータを返信しているものとする。よって、ユーザ端末１０３では実績情報登録画面３３００が表示された状態となっている。またこの場合、ユーザは、実績情報登録画面３３００を介してユーザ端末１０３から、各項目３３０１〜３３０９の値を入力しており、ユーザ端末１０３で検索ボタン３３１１が押下されたとする。
【０１３３】
この時、実績情報登録処理部２１９は、画面３３００上で入力された項目３３０１〜３３０９の各値をユーザ端末１０３から取得し、これをメモリ上に格納する（Ｓ２８１）。
【０１３４】
また実績情報登録処理部２１９は、メモリ上に格納した前記各項目の値に関する入力チェック（例：文字数、文字種といった所定の基準との比較）を実施し（Ｓ２８２）、エラーが発生している場合は本処理を終了する。他方、エラーが発生していない場合、実績情報登録処理部２１９は、前記ステップ２８１でメモリ上に格納した各項目の値を、実績情報管理テーブル３１３に格納し（Ｓ２８１）、本処理を終了する。
【０１３５】
図３３に実績情報登録画面３３００を例示する。この実績情報登録画面３３００は、ＰＪＩＤ３３０１、ＰＪ名称３３０２、機能ＩＤ３３０１、機能名称３３０４、工程３３０５、ＦＰ３３０６、バグ密度３３０７、生産性３３０８、言語３３０９の各項目の入力を受ける欄と、検索ボタン３３１０、登録ボタン３３１１を含んでいる。また、ユーザが、項目３３０１〜３３０４等に検索条件を入れて検索ボタン３３１０を押下して実績情報の検索を実行し、検索された実績情報について、項目３３０６〜３３０９等の各項目値を入力して登録ボタン３３１１を押下すれば、既存の実績情報の更新処理が実行できる。また同様に、検索された実績情報について削除ボタン３３１２を押下すれば、既存の実績情報の削除処理が実行できる。
【０１３６】
−−−処理手順例２０−−−
図３０は、本実施形態におけるファンクションポイント情報管理方法の手順例２０を示すフロー図であり、具体的には、帳票出力処理部２２０の処理フローを示す図である。この場合、例えばユーザ端末１０３からのリクエストを受けた帳票出力処理部２２０は、メモリ上に格納した“機能ＩＤ”、“機能名称”、“ＦＰ”、“工程”、“生産性情報”、“バグ密度情報”と、取得レコード分の項番を、図４５に例示する帳票一覧イメージ４５００の該当欄に書き込み（Ｓ２９１）、この帳票一覧イメージ４５００のデータをユーザ端末１０３に送信して表示させるなどして出力処理を実行し、本処理を終了する。
【０１３７】
図４５に帳票一覧イメージ４５００を示している。この帳票一覧イメージ４５００は、機能ＩＤ４５０１、機能名称４５０２、算出工程４５０３、ＦＰ４５０４、生産性４５０５、バグ密度４５０６で構成されている。
【０１３８】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【０１３９】
こうした本実施形態によれば、設計書を入力としたＦＰの自動算出や、自動算出されたＦＰと実績情報等に基づいた「生産性」、「バグ密度」の自動算出を行うことが可能である。また、自動算出したＦＰの情報や実績情報等を蓄積することにより、こうして蓄積した情報のうち、例えば、ファンクションポイントの値範囲が同じ＝すなわち開発難易度が同様のレコードについて、単位ファンクションポイントあたりの生産性やバグ密度の平均値を算定し、この平均値で生産性やバグ密度を算定し見積もり結果に反映させることができる。従って、ファンクションポイントの値範囲や開発言語等が同じである過去の実績に基づいた見積もり作業を実行することになり、過去の実績に妥当性が担保された、精度良好な見積もりがえられる。
【０１４０】
つまり、システム開発の工程毎に、開発難易度に応じた生産性やバグ密度の算定を実行し、ひいては精度良好な見積もり処理を効率良く実行することが可能となる。
【０１４１】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、前記ファンクションポイント情報管理装置において、前記記憶部は、前記実績情報管理テーブルにおいて、過去実行されたシステム開発の案件における、要件定義、基本設計、および詳細設計の各工程に関して確定している、ファンクションポイント、生産性および開発言語の実績値を格納しており、前記制御部は、前記単位ファンクションポイントあたりの生産性の値の算定処理に際し、前記特定したファンクションポイントの値範囲と、処理対象の設計書データが示す該当工程および開発言語をキーに、記憶部における実績情報管理テーブルで検索を実行して、前記値範囲にファンクションポイントの実績値が含まれ、なおかつ工程と開発言語が一致するレコードを抽出し、当該抽出した各レコードについて、該当レコードが示す生産性の実績値をファンクションポイントの実績値で除算して単位ファンクションポイントあたりの生産性の値を算定するものであるとしてもよい。
【０１４２】
また、前記ファンクションポイント情報管理装置の前記記憶部における、前記実績情報管理テーブルは実績値として更にバグ密度の実績値を格納しており、前記設定ファイルはバグ密度に関するランク別の値範囲の情報を更に格納しており、前記制御部は、前記特定したファンクションポイントの値範囲と処理対象の設計書データが示す該当工程をキーに、記憶部における実績情報管理テーブルで検索を実行して、前記値範囲にファンクションポイントの実績値が含まれ、なおかつ工程が一致するレコードを抽出し、当該抽出した各レコードについて、該当レコードが示すバグ密度の実績値をファンクションポイントの実績値で除算して単位ファンクションポイントあたりのバグ密度の値を算定する処理と、前記抽出した各レコード間での、前記単位ファンクションポイントあたりのバグ密度の値に関する平均値を算定し、当該平均値に前記ファンクションポイント算定値を乗算して、該当工程に関するバグ密度の値を算定する処理と、前記算定したバグ密度の値を、ユーザ端末ないし出力部に出力する処理を実行するものである、としてもよい。
【符号の説明】
【０１４３】
１００  ファンクションポイント情報管理装置
１０１  ＡＰサーバ
１０２  ＤＢサーバ
１０３  ユーザ端末
１２０  ネットワーク
２０１  記憶部
２０２  制御部
２０３  ネットワークインターフェイス部
２０４  プログラム
２２１  設定ファイル
３０１  記憶部
３０２  制御部
３０３  ネットワークインターフェイス部
３０４  プログラム
３１０  ＦＰ情報テーブル
３１１  生産性情報テーブル
３１２  バグ密度情報テーブル
３１３  実績情報管理テーブル
４０１  記憶部
４０２  表示部
４０３  入力部
４０４  制御部
４０５  ネットワークインターフェイス部
４０６  プログラム
４２０  ＦＰ一覧表
４３０  要件定義書
４３１  基本設計書
４３２  詳細設計書
４３３  テーブル定義書
４３４  ＳＱＬ定義書
【図１】
2013120486.tif 000003
【図２】
2013120486.tif 000004
【図３】
2013120486.tif 000005
【図４】
2013120486.tif 000006
【図５】
2013120486.tif 000007
【図６】
2013120486.tif 000008
【図７】
2013120486.tif 000009
【図８】
2013120486.tif 000010
【図９】
2013120486.tif 000011
【図１０】
2013120486.tif 000012
【図１１】
2013120486.tif 000013
【図１２】
2013120486.tif 000014
【図１３】
2013120486.tif 000015
【図１４】
2013120486.tif 000016
【図１５】
2013120486.tif 000017
【図１６】
2013120486.tif 000018
【図１７】
2013120486.tif 000019
【図１８】
2013120486.tif 000020
【図１９】
2013120486.tif 000021
【図２０】
2013120486.tif 000022
【図２１】
2013120486.tif 000023
【図２２】
2013120486.tif 000024
【図２３】
2013120486.tif 000025
【図２４】
2013120486.tif 000026
【図２５】
2013120486.tif 000027
【図２６】
2013120486.tif 000028
【図２７】
2013120486.tif 000029
【図２８】
2013120486.tif 000030
【図２９】
2013120486.tif 000031
【図３０】
2013120486.tif 000032
【図３１】
2013120486.tif 000033
【図３２】
2013120486.tif 000034
【図３３】
2013120486.tif 000035
【図３４】
2013120486.tif 000036
【図３５】
2013120486.tif 000037
【図３６】
2013120486.tif 000038
【図３７】
2013120486.tif 000039
【図３８】
2013120486.tif 000040
【図３９】
2013120486.tif 000041
【図４０】
2013120486.tif 000042
【図４１】
2013120486.tif 000043
【図４２】
2013120486.tif 000044
【図４３】
2013120486.tif 000045
【図４４】
2013120486.tif 000046
【図４５】
2013120486.tif 000047