(57)【特許請求の範囲】
【請求項１】
ソフトウエア開発上の条件を表す要因情報に対し、特定の条件での過去の開発実績におけるソフトウエア機能量と工程数とを組にして対応づけ、実績情報として格納する要因データベースと、仕様情報の入力を受けて、当該仕様情報に基づいてソフトウエア機能量を算出するソフトウエア機能量算出部と、前記要因データベースに格納されている実績情報を用いて、前記ソフトウエア機能量に基づいて見積の結果としての見積工程数を算出する見積工程数算出部とを具備するソフトウエア開発コストの見積支援システムにおいて、
前記要因データベースに同一の要因情報に対応づけられて格納されている、少なくとも一組の実績情報に基づいて生成された、ソフトウエア機能量に対する見積工程数を表す関係近似式を当該要因情報に対応づけて格納する関係近似式データベースを含み、
前記見積工程数算出部が、
見積作成時にソフトウエア開発上の条件の入力を受けて、当該条件に合致する前記要因情報に対応づけられた関係近似式を前記関係近似式データベースから検索し、当該関係近似式に基づいて、前記算出されたソフトウエア機能量に対応する見積工程数を算出することを特徴とするソフトウエア開発コストの見積支援システム。
【請求項２】
ソフトウエアの完成時に、要因情報と、ソフトウエア機能量と、実際の工程数との入力を受けて、前記入力されたソフトウエア機能量と実際の工程数とを組として、前記要因情報に対応づけて前記要因データベースに格納するとともに、当該入力された要因情報と一致する要因情報を前記要因データベースから検索し、対応して格納している実績情報から関係近似式を生成して、前記入力された要因情報に対応づけて、前記関係近似式データベースに格納するデータベース更新部を含むことを特徴とする請求項１記載のソフトウエア開発コストの見積支援システム。
【請求項３】
データベース更新部が、指示により前記関係近似式データベースから特定の要因情報に該当する関係近似式を検索し、当該検索された関係近似式をプロットして表示出力するとともに、当該プロットした関係近似式を修正する指示の入力を受けて、前記プロットした関係近似式を修正して、前記関係近似式データベースに上書きして格納することを特徴とする請求項２記載のソフトウエア開発コストの見積支援システム。
【請求項４】
ソフトウエア開発上の条件を表す要因情報に対し、特定の条件での過去の開発実績におけるソフトウエア機能量と工程数とを組にして対応づけ、実績情報として格納する要因データベースと、入力された仕様情報に基づいてソフトウエア機能量を算出するソフトウエア機能量算出部と、前記要因データベースに格納されている実績情報を用いて、前記ソフトウエア機能量に基づいて見積の結果としての見積工程数を算出する見積工程数算出部とを具備するソフトウエア開発コストの見積支援システムにおいて、
前記要因データベースが要因情報として複数の開発上の条件を格納し、
前記見積工程数算出部が、
ソフトウエア開発上の条件の入力を受けて、当該条件が前記要因情報に示す条件に一致する実績情報を前記要因データベースから検索し、少なくとも一組の実績情報の組を取得する実績情報検索手段と、
取得された実績情報の組に基づいて、関係近似式を生成する近似式手段と、
を含み、前記生成された関係近似式に基づいて、前記算出されたソフトウエア機能量に対応する見積工程数を算出することを特徴とするソフトウエア開発コストの見積支援システム。
【請求項５】
入力された仕様情報が一致する機能項目を列挙して表示出力する共通化支援部を備え、
前記共通化支援部が、列挙して表示出力した機能項目のうち、削除する機能項目の指定を、前記入力部から受けて、当該項目を削除し、新たな仕様情報として前記ソフトウエア機能量算出部に出力することを特徴とする請求項１乃至４何れか一つに記載のソフトウエア開発コストの見積支援システム。
【請求項６】
ソフトウエア開発上の条件を表す要因情報に対し、特定の条件での過去の開発実績におけるソフトウエア機能量と工程数とを組にして対応づけ、実績情報として格納する要因データベースと、仕様情報の入力を受けて、当該仕様情報に基づいてソフトウエア機能量を算出するソフトウエア機能量算出ステップと、前記要因データベースに格納されている実績情報を用いて、前記ソフトウエア機能量に基づいて見積の結果としての見積工程数を算出する見積工程数算出ステップとを具備するソフトウエア開発コストの見積支援プログラムを格納するコンピュータ読み取り可能な記録媒体において、
前記要因データベースに同一の要因情報に対応づけられて格納されている、少なくとも一組の実績情報に基づいて生成された、ソフトウエア機能量に対する見積工程数を表す関係近似式を当該要因情報に対応づけて格納する関係近似式データベースを含み、
前記見積工程数算出ステップが、
見積作成時にソフトウエア開発上の条件の入力を受けて、当該条件に合致する前記要因情報に対応づけられた関係近似式を前記要因データベースから検索し、当該関係近似式に基づいて、前記算出されたソフトウエア機能量に対応する見積工程数を算出することを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項７】
ソフトウエア開発上の条件を表す要因情報に対し、特定の条件での過去の開発実績におけるソフトウエア機能量と工程数とを組にして対応づけ、実績情報として格納する要因データベースと、入力された仕様情報に基づいてソフトウエア機能量を算出するソフトウエア機能量算出ステップと、前記要因データベースに格納されている実績情報を用いて、前記ソフトウエア機能量に基づいて見積の結果としての見積工程数を算出する見積工程数算出ステップとを具備するソフトウエア開発コストの見積支援プログラムを格納するコンピュータ読み取り可能な記録媒体において、
前記要因データベースに要因情報として複数の開発上の条件を格納する格納ステップを含み、
前記見積工程数算出ステップは、
ソフトウエア開発上の条件の入力を受けて、当該条件が前記要因情報に示す条件に一致する実績情報を前記要因データベースから検索し、少なくとも一組の実績情報の組を取得する実績情報検索ステップと、
取得された実績情報の組に基づいて、関係近似式を生成する近似式ステップと、
を含み、前記生成された関係近似式に基づいて、前記算出されたソフトウエア機能量に対応する見積工程数を算出することを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項８】
入力装置からの仕様情報の入力を受けて、制御装置が、当該仕様情報に基づいてソフトウエア機能量を算出するソフトウエア機能量算出ステップと、
ソフトウエア開発上の条件を表す要因情報に対し、特定の条件での過去の開発実績におけるソフトウエア機能量と工程数とを組にして対応づけ、実績情報として格納する要因データベースに格納されている実績情報を用いて、前記制御装置が、前記ソフトウエア機能量に基づいて見積の結果としての見積工程数を算出する見積工程数算出ステップとを含むソフトウエア開発コストの見積支援方法において、
前記見積工程数算出ステップでは、
前記要因データベースに同一の要因情報に対応づけられて格納されている、少なくとも一組の実績情報に基づいて生成された、ソフトウエア機能量に対する見積工程数を表す関係近似式を当該要因情報に対応づけて格納する関係近似式データベースから、見積作成時にソフトウエア開発上の条件の入力を受けて、前記制御装置が、当該条件に合致する前記要因情報に対応づけられた関係近似式を検索し、
当該関係近似式に基づいて、前記制御装置が、前記算出されたソフトウエア機能量に対応する見積工程数を算出することを特徴とするソフトウエア開発コストの見積支援方法。
【請求項９】
入力装置から入力された仕様情報に基づいて、制御装置が、ソフトウエア機能量を算出するソフトウエア機能量算出ステップと、
ソフトウエア開発上の条件を表す要因情報に対し、特定の条件での過去の開発実績におけるソフトウエア機能量と工程数とを組にして対応づけ、実績情報として格納する要因データベースに格納されている実績情報を用いて、前記制御装置が、前記ソフトウエア機能量に基づいて見積の結果としての見積工程数を算出する見積工程数算出ステップとを含むソフトウエア開発コストの見積支援方法において、
前記制御装置が、前記要因データベースに要因情報として複数の開発上の条件を格納する格納ステップを含み、
前記見積工程数算出ステップでは、
前記制御装置が、前記入力装置からソフトウエア開発上の条件の入力を受けて、当該条件が前記要因情報に示す条件に一致する実績情報を前記要因データベースから検索し、少なくとも一組の実績情報の組を取得する実績情報検索ステップと、
前記制御装置が、取得された実績情報の組に基づいて、関係近似式を生成する近似式ステップと、
を含み、前記制御装置が、前記生成された関係近似式に基づいて、前記算出されたソフトウエア機能量に対応する見積工程数を算出することを特徴とするソフトウエア開発コストの見積支援方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、仕様書に基づいて、ソフトウエア機能量により工程数を算出する見積支援システムに関する。
【０００２】
【従来の技術】
ソフトウエアを開発するときには、顧客から提示された要求仕様に基づいて仕様書を作成し、この仕様書を基にして自己の開発能力に応じた工程数を見積もり、これにより納期や受注額等の開発コストを決定する。ここで、工程数の見積を得る方法として主なものに、ＬＯＣ法（Lines of Code 法）と、ソフトウエア機能量法（ＦＰ法；Function Point法）とがある。尚、以下の説明では、見積もられた工程数を「見積工程数」と表して、実際の工程数と区別する。
【０００３】
ＬＯＣ法は、生産ＫＬ数（プログラムの行数）を概算して、見積工程数に変換する方法であり、ＦＰ法は、プログラムの行数やドキュメントの枚数を用いることなく、ファイルのレコード数や入出力の数を機能の数（ＦＰ数；Function Point数）として概算し、このＦＰ数を見積工程数に変換する方法である。グラフィカルユーザインタフェース（ＧＵＩ）を利用したプログラムの仕様書からは、直ちに生産ＫＬ数を概算できないので、ＬＯＣ法はＧＵＩ設計に適していない。一方、ファイルのレコード数や入出力の数としてのＦＰ数はＧＵＩを利用したプログラムの仕様書から概算することができるため、近年ではＧＵＩ設計に適したＦＰ法が注目されている。
【０００４】
以下、具体的にＦＰ法を用いてソフトウエア開発の見積工程数を算出する過程について説明する。ＦＰ数は、仕様書に示されたファイルの数、各表示画面ごとの表示アイテムの数、印刷のための帳票項目数等に応じて決められる一定の数値である。例えば各処理ごとに利用される入力ファイル、出力ファイル、入出力ファイル、入力用表示アイテム、出力用表示アイテム、入出力用表示アイテム、メニュー表示アイテム、帳票の８種類に分類された各機能の項目（以下、「機能項目」という）の数とそれぞれに対する処理の難易度を表にまとめたものを仕様書に基づいて作成し、当該数の多少と処理の難易度から、複雑度を評価し、各機能項目の種別（「入力ファイル」等）ごとに各評価（「単純」等）に応じて予め決められた数値（ＦＰ数換算値）を各ファイル数、表示アイテム数、帳票数等の各項目数に乗じ、さらに累積加算したものをＦＰ数とする。ここで、機能項目の数は、例えば入力ファイルで読み出されるデータの数に相当する。
【０００５】
具体的には、各機能項目の数を「少ない」、「普通」、「多い」の３段階で評価し、同様に処理の難易度も「易」、「普通」、「難」の３段階で評価する。複雑度は、機能項目数の多少及び処理の難易度に対する複雑度を表したテーブル（複雑度マトリクス）を図１１（ａ）のように予め定めておき、この複雑度マトリクスを参照して、「単純」、「普通」、「複雑」の３段階で評価する。ＦＰ数換算値も同様に、図１１（ｂ）に示すテーブル（ＦＰ数算出テーブル）のように予め定めておく。図１１は、ソフトウエア機能量を算出するためのテーブルの一例を表す説明図である。
【０００６】
次に、従来の見積支援システムについて説明する。図１２は、従来の見積支援システムの構成ブロック図であり、図１３は、従来の見積支援システムにおける入力項目を表す説明図である。図１２に示すように、従来の見積支援システムは、入力装置１と、図１１に示した複雑度マトリクス及びＦＰ数算出テーブルを具備する制御装置２と、表示装置３と、要因データベース４から主に構成されている。また、制御装置２は、ＦＰ数算出部５と、見積工程数算出部６とを含む。要因データベース４は、開発に使用するツールを表す情報（要因情報）ごとに過去の特定の開発プロジェクトでのＦＰ数とそれに対応する実際の工程数とを組にして、実績情報として格納している。
【０００７】
制御装置２は、入力装置１から例えば、入力ファイル、出力ファイル、入出力ファイル、入力表示アイテム、出力表示アイテム、入出力表示アイテム、メニュー表示アイテム、帳票の各々について、図１３に示すようにその機能項目の数の多少及び処理の難易度の入力を受ける。具体的に、図１３では、処理ごとに、例えば「画面」の処理では、画面１〜画面７の処理が行われ、画面１の処理では項目数が「普通」で、処理の難易度が「普通」であるメニュー表示アイテムが表示されることを表している。
【０００８】
制御装置２は、各処理ごとに、複雑度マトリクスに基づいて、項目数及び処理の難易度から複雑度を「単純」、「普通」、「複雑」の３段階で評価する。例えば画面１の処理では、項目数が「普通」、処理の難易度が「普通」であるから、図１１（ａ）に示した複雑度マトリクスより、複雑度が「普通」であると評価される。また、この制御部２のＦＰ数算出部５は、複雑度ごとの各機能項目の数をカウントする。具体的に図１３においては、複雑度が「単純」である入力ファイル（ＦＩ）の数は「２」とカウントされる。制御装置２のＦＰ数算出部５は、このようにしてカウントした数値に、ＦＰ数算出テーブルに設定されている、対応するＦＰ数換算値を乗算し、さらにそれらの和を演算する。具体的には、複雑度に応じて、単純な入力ファイルの数が「２」、普通の入力ファイルの数が「５」、複雑な入力ファイルの数が「４」であるときには、図１１（ｂ）のＦＰ数算出テーブルに示すように、単純な入力ファイルに対するＦＰ数換算値が「３」、普通の入力ファイルに対するＦＰ数換算値が「５」、複雑な入力ファイルに対するＦＰ数換算値が「８」であるから、２×３＋５×５＋４×８＝６３が、入力ファイルについてのＦＰ数の小計として演算される。以下同様に８種類の各機能項目について、ＦＰ数の小計が算出され、これら小計の総和として全体のＦＰ数を得る。さらに、この制御装置２の見積工程数算出部６は、入力装置１から開発に使用するツール（「Ｃ言語」、「Ｊａｖａ言語」等）の種類を表す情報を要因情報として受けて、当該ツールを使用したときに、過去の実績としてどれだけの工程数が必要であったかを表す実績情報を要因データベース４から検索し、検索された実績情報に基づいて、予め設定された数式により、ＦＰ数を見積工程数に変換して表示装置３に表示出力する。
【０００９】
ここで、変換により得られた見積工程数が多すぎて、例えば受注額が要求されたものより大きくなってしまうときには、受注額を抑えるために、減らすことのできる機能項目を作業者が目で見て選び、仕様書を書き換え、改めて機能項目数の入力から繰り返す。
【００１０】
尚、ＦＰ法を用いた見積装置の一例として、ツール及び開発担当者の情報に応じた過去の実績を元に、見積を算出する技術が特開平９−１９８４４１号公報、「見積装置及び見積方法」に開示されている。また、進捗状況に応じて見積を再計算する技術が特開平８−２０２７７３号公報、「ソフトウエアプロジェクト進行管理装置」に開示されている。
【００１１】
【発明が解決しようとする課題】
しかしながら、上記従来の見積支援システムでは、ＦＰ数を見積工程数に変換する見積工程数算出部が、種類の限られた要因情報のみを利用しているので、具体的な事情に応じて見積工程数を算出し、見積の精度を高めることができないという問題点があった。
【００１２】
また、上記従来の見積支援システムでは、ＦＰ数を見積工程数に変換する数式が理論的に想定され、予め定められているので、実績情報の入力をしていても、当該数式のパラメータが変わるだけで実績情報に応じた柔軟な近似を行っていないので、見積の精度を高めることができないという問題点があった。
【００１３】
さらに、上記従来の見積支援システムでは、仕様を再構成する場合には、作業者が仕様情報を目で見て、減らす項目を選んで仕様書をもう一度作成し、再度の入力をする必要があって、効率よく見積を得ることができないという問題点があった。
【００１４】
この発明は、上述のような課題を解決するためになされたもので、高い精度の見積を効率よく得ることができる見積支援システム及び記録媒体を提供することを目的とする。
【００１５】
【課題を解決するための手段】
この発明に係るソフトウエア開発コストの見積支援システムにおいては、ソフトウエア開発上の条件を表す要因情報に対し、特定の条件での過去の開発実績におけるソフトウエア機能量と工程数とを組にして対応づけ、実績情報として格納する要因データベースと、仕様情報の入力を受けて、当該仕様情報に基づいてソフトウエア機能量を算出するソフトウエア機能量算出部と、前記要因データベースに格納されている実績情報を用いて、前記ソフトウエア機能量に基づいて見積の結果としての見積工程数を算出する見積工程数算出部とを具備するソフトウエア開発コストの見積支援システムにおいて、前記要因データベースに同一の要因情報に対応づけられて格納されている、少なくとも一組の実績情報に基づいて生成された、ソフトウエア機能量に対する見積工程数を表す関係近似式を当該要因情報に対応づけて格納する関係近似式データベースを含み、前記見積工程数算出部が、見積作成時にソフトウエア開発上の条件の入力を受けて、当該条件に合致する前記要因情報に対応づけられた関係近似式を前記関係近似式データベースから検索し、当該関係近似式に基づいて、前記算出されたソフトウエア機能量に対応する見積工程数を算出することを特徴としたものである。
【００１６】
また、この発明に係るソフトウエア開発コストの見積支援システムにおいては、ソフトウエアの完成時に、要因情報と、ソフトウエア機能量と、実際の工程数との入力を受けて、前記入力されたソフトウエア機能量と実際の工程数とを組として、前記要因情報に対応づけて前記要因データベースに格納するとともに、当該入力された要因情報と一致する要因情報を前記要因データベースから検索し、対応して格納している実績情報から関係近似式を生成して、前記入力された要因情報に対応づけて、前記関係近似式データベースに格納するデータベース更新部を含むことを特徴としたものである。
【００１７】
また、この発明に係るソフトウエア開発コストの見積支援システムにおいては、データベース更新部が、指示により前記関係近似式データベースから特定の要因情報に該当する関係近似式を検索し、当該検索された関係近似式をプロットして表示出力するとともに、当該プロットした関係近似式を修正する指示の入力を受けて、前記プロットした関係近似式を修正して、前記関係近似式データベースに上書きして格納することを特徴としたものである。
【００１８】
また、この発明に係るソフトウエア開発コストの見積支援システムにおいては、ソフトウエア開発上の条件を表す要因情報に対し、特定の条件での過去の開発実績におけるソフトウエア機能量と工程数とを組にして対応づけ、実績情報として格納する要因データベースと、入力された仕様情報に基づいてソフトウエア機能量を算出するソフトウエア機能量算出部と、前記要因データベースに格納されている実績情報を用いて、前記ソフトウエア機能量に基づいて見積の結果としての見積工程数を算出する見積工程数算出部とを具備するソフトウエア開発コストの見積支援システムにおいて、前記要因データベースが要因情報として複数の開発上の条件を格納し、前記見積工程数算出部が、ソフトウエア開発上の条件の入力を受けて、当該条件が前記要因情報に示す条件に一致する実績情報を前記要因データベースから検索し、少なくとも一組の実績情報の組を取得する実績情報検索手段と、取得された実績情報の組に基づいて、関係近似式を生成する近似式手段と、を含み、前記生成された関係近似式に基づいて、前記算出されたソフトウエア機能量に対応する見積工程数を算出することを特徴としたものである。
【００１９】
また、この発明に係るソフトウエア開発コストの見積支援システムにおいては、入力された仕様情報が一致する機能項目を列挙して表示出力する共通化支援部を備えたことを特徴としたものである。
【００２０】
また、この発明に係るソフトウエア開発コストの見積支援システムにおいては、前記共通化支援部が、列挙して表示出力した機能項目のうち、削除する機能項目の指定を、前記入力部から受けて、当該項目を削除し、新たな仕様情報として前記ソフトウエア機能量算出部に出力することを特徴としたものである。
【００２１】
さらに、この発明に係るソフトウエア開発コストの見積支援プログラムを格納するコンピュータ読み取り可能な記録媒体においては、ソフトウエア開発上の条件を表す要因情報に対し、特定の条件での過去の開発実績におけるソフトウエア機能量と工程数とを組にして対応づけ、実績情報として格納する要因データベースと、仕様情報の入力を受けて、当該仕様情報に基づいてソフトウエア機能量を算出するソフトウエア機能量算出ステップと、前記要因データベースに格納されている実績情報を用いて、前記ソフトウエア機能量に基づいて見積の結果としての見積工程数を算出する見積工程数算出ステップとを具備するソフトウエア開発コストの見積支援プログラムを格納するコンピュータ読み取り可能な記録媒体において、前記要因データベースに同一の要因情報に対応づけられて格納されている、少なくとも一組の実績情報に基づいて生成された、ソフトウエア機能量に対する見積工程数を表す関係近似式を当該要因情報に対応づけて格納する関係近似式データベースを含み、前記見積工程数算出ステップが、見積作成時にソフトウエア開発上の条件の入力を受けて、当該条件に合致する前記要因情報に対応づけられた関係近似式を前記要因データベースから検索し、当該関係近似式に基づいて、前記算出されたソフトウエア機能量に対応する見積工程数を算出することを特徴としたものである。
【００２２】
【発明の実施の形態】
本発明の好ましい実施の形態を図面に基づいて説明する。
【００２３】
実施の形態１．
図１は、本発明の好ましい実施の形態１に係る見積支援システムの構成ブロック図である。本発明の好ましい実施の形態１に係る見積支援システムは、図１に示すように、入力装置７と、図１１に示した複雑度マトリクス及びＦＰ数算出テーブルを具備する制御装置８と、表示装置９と、要因データベース１４と関係近似式データベース１５とを具備するデータベース１０とから主に構成されている。また、制御装置８は、本発明のソフトウエア機能量算出部としてのＦＰ数算出部１１と、見積工程数算出部１２と、共通化支援部１３を含む。
【００２４】
要因データベース１４は、図２（ａ）に示すように、複数の条件を含む要因情報としての要因フラグ（Ａ）ごとに、過去の開発実績におけるＦＰ数と、工程数とを組とした実績情報（Ｂ）とを格納しており、関係近似式データベース１５は、図２（ｂ）に示すように、要因情報としての要因フラグ（Ｃ）ごとに、対応する実績情報から予め算出された関係近似式（Ｄ）を格納している。ここで、ＦＰ数は、本発明のソフトウエア機能量に相当する。また、工程数は「工数」として記載している。図２は、本発明の実施の形態１のデータベース１０の内容を表す説明図である。尚、図２（ｂ）では、要因情報ごとに関係近似式のＩＤ番号に相当するものを格納するようにしているが、関係近似式のパラメータそのものを格納するようにしておいても構わない。
【００２５】
また、要因情報の複数の条件としては、開発に用いる言語（「Ｃ言語」、「Ｊａｖａ言語」等）及びそのバージョン情報等のほかに、例えば、開発ソフトウエアの利用分野に関する情報と、その開発経験、業務知識、ソフトウエアの規模等がある。要因情報の条件は必ずしもすべて指定する必要はなく、選択的に条件を組み合わせて指定してもよい。このように多種の条件を任意に組み合わせて、要因情報として用いているのは、見積の精度を高めるためである。尚、検索を容易にするためには、要因情報の各条件を１ビットの要因フラグとして表現することが好ましい。関係近似式は、実績情報に基づいて、内挿・外挿を行って得られる数式である。ここで、内挿・外挿の方法としては、公知の方法を用いる。
【００２６】
以下、見積作成時と、ソフトウエアの開発終了時の各々について、本発明の実施の形態１の動作を説明する。まず、見積生成時の動作について説明する。
【００２７】
制御装置８は、見積工程数を算出する処理として、図３に示すような処理を行う。図３は、制御装置８の見積工程数を算出する処理を表すフローチャート図であり、図４は、本発明の実施の形態１に係る見積支援システムへの入力項目を表す説明図である。図３に示すように、制御装置８は、入力装置７から処理名と、各処理における機能項目として、例えば、図４に示すような一覧表の状態で、入力ファイル、出力ファイル、入出力ファイル、入力表示アイテム、出力表示アイテム、入出力表示アイテム、メニュー表示アイテム、帳票の各々の機能項目の名称と、当該機能項目の数の多少及び処理の難易度の入力を受ける（Ｓ１）。以下、この入力項目を「調査票」と呼ぶことにする。具体的に、図４では、処理ごとに、例えば「画面」の処理では、機能項目の名称として「書式情報画面」〜「画面７」の処理が行われ、書式情報画面の処理では項目数が「普通」で、処理の難易度が「普通」であるメニュー表示アイテムが表示されることを表している。
【００２８】
制御装置８は、複雑度マトリクスに基づいて、調査票の記載から各機能項目の複雑度を「単純」、「普通」、「複雑」の３段階で評価する（Ｓ２）。例えば「書式情報画面」の処理では、項目数が「普通」、処理の難易度が「普通」であるから、図１１（ａ）に示した複雑度マトリクスより、複雑度が「普通」であると評価される。また、この制御装置８のＦＰ数算出部１１は、複雑度ごとの各機能項目の数をカウントする（Ｓ３）。具体的に図３においては、複雑度が「単純」である入力ファイル（ＦＩ）の数は「２」とカウントされる。制御装置８のＦＰ数算出部１１は、このようにしてカウントした数値に、ＦＰ数算出テーブルに設定されている、対応するＦＰ数換算値を乗算し、さらにそれらの和を演算して、総ＦＰ数を算出する（Ｓ４）。具体的には、複雑度に応じて、単純な入力ファイルの数が「２」、普通の入力ファイルの数が「５」、複雑な入力ファイルの数が「４」であるときには、図１１（ｂ）のＦＰ数算出テーブルに示すように、単純な入力ファイルに対するＦＰ数換算値が「３」、普通の入力ファイルに対するＦＰ数換算値が「５」、複雑な入力ファイルに対するＦＰ数換算値が「８」であるから、２×３＋５×５＋４×８＝６３が、入力ファイルについてのＦＰ数の小計として演算される。以下同様に８種類の各機能項目について、ＦＰ数の小計が算出され、これら小計の総和として総ＦＰ数を得る。制御装置８の見積工程数算出部１２は、入力装置７から開発に使用するツール（「Ｃ言語」、「Ｊａｖａ言語」等）の種類を表す情報と、開発経験の有無、業務知識の有無、規模の大小等を表す情報とを要因情報として受けて、当該要因情報に対応する関係近似式を関係近似式データベース１５から検索し（Ｓ５）、当該関係近似式に全体のＦＰ数を当てはめて見積工程数を算出して（Ｓ６）、処理を終了する。
【００２９】
処理Ｓ６において算出された見積工程数が多すぎて、例えば受注額が要求されたものより大きくなってしまうときには、利用者は、制御装置８の共通化支援部１３を起動する。制御装置８の共通化支援部１３は、図５に示すような処理を行う。図５は、共通化支援部１３の共通化支援の処理を表すフローチャート図である。共通化支援部１３は、調査票として入力された機能項目の各々について、同一の名称の、或いは同一の種類（例えば「入力ファイル」等）の機能項目があるかを検索し（Ｓ１１）、そのような複数の機能項目があれば（Ｙｅｓならば）、図６に示すような共通化候補テーブルに追加して（Ｓ１２）、処理Ｓ１３に移行する。また、処理Ｓ１１において、そのような機能項目が検索されなければ（Ｎｏならば）、すべての機能項目についての検索が終了したか否かを調べ（Ｓ１３）、検索が終了していれば（Ｙｅｓならば）、処理Ｓ１４に移行し、終了していなければ（Ｎｏならば）、処理Ｓ１１に戻って処理を続ける。図６は、共通化候補テーブルの一例を表す説明図である。
【００３０】
共通化支援部１３は、検索が終了して、共通化候補テーブルの生成が完了すると、当該共通化候補テーブルを表示装置９に表示出力する（Ｓ１４）。この共通化支援部１３は、また、利用者からの指示を待機し（Ｓ１５）、入力された指示が処理Ｓ１４で表示した機能項目の一部を削除する指定であるか否かを調べ（Ｓ１６）、削除する指示であると（Ｙｅｓであると）、共通化候補テーブルから指示された機能項目を削除して（Ｓ１７）、さらに処理Ｓ１５に戻って指示を待機する。また、処理Ｓ１６において削除する指示でないと（Ｎｏであると）、指示が終了の指示であるか否かを調べ（Ｓ１８）、終了の指示でなければ（Ｎｏであれば）、処理Ｓ１５に戻って指示を待機し、終了の指示であれば（Ｙｅｓであれば）、共通化候補テーブルに従って、調査票を再作成し（Ｓ１９）、処理終了する。そして、制御装置８が、図３に示した見積の処理を行って、再構築した調査票を基に、もう一度ＦＰ数を算出し、さらに見積工程数を算出する。
【００３１】
次に、本実施の形態のソフトウエア開発終了時の処理について説明する。図７は、本実施の形態のソフトウエア開発終了時の処理を表すフローチャート図である。
【００３２】
ソフトウエアの開発が終了すると、制御装置８は、入力装置７から当該開発の終了したソフトウエアの開発上の条件としての要因情報と、実際のＦＰ数と、実際の工程数との入力を受けて（Ｓ２１）、要因データベース１４から、入力された要因情報に対応する実績情報の組を検索して抽出し（Ｓ２２）、当該実績情報と、処理Ｓ２１で新規に入力された実際のＦＰ数に対する実際の工程数とを表示装置９に散布図として表示出力し（Ｓ２３）、公知の内挿・外挿方法によって、当該散布図で表示したデータを内挿・外挿して関係近似式を生成し（Ｓ２４）、関係近似式を併せて表示装置９に表示出力する。
【００３３】
利用者は、表示装置９に表示出力された関係近似式が、現実の状況に合っていないと考えるときには、ここで、関係近似式に修正を加える。具体的には、表示装置９に表示された関係近似式のグラフの一部をドラッグして内挿・外挿のパラメータを調整する。制御装置８は、関係近似式の修正の入力を受けたか否かを判断し（Ｓ２５）、修正の入力を受けていれば（Ｙｅｓならば）、処理Ｓ２４に戻って内挿・外挿のパラメータを調整して関係近似式を再計算し、改めて表示装置９に表示出力する。また、処理Ｓ２５において、修正の入力を受けていなければ（Ｎｏならば）、処理を終了する指示の入力を受けたか否かを判断し（Ｓ２６）、処理を終了する指示を受けていないならば（Ｎｏならば）、処理Ｓ２５に戻って処理を続行し、処理を終了する指示を受けていれば（Ｙｅｓならば）、処理Ｓ２１で入力された要因情報に対応する現在の関係近似式を関係近似式データベース１５から検索し、当該関係近似式に、処理Ｓ２４で生成した関係近似式を上書きして格納し（Ｓ２７）、処理を終了する。
【００３４】
本実施の形態によれば、複数の条件を要因情報として扱うことができ、かつ、過去の実績情報に基づいて予め生成された関係近似式を利用して、見積工程数を算出しているので、見積の精度を向上できる。また、開発の終了時には、新たに開発を終了したソフトウエアの現実のＦＰ数と工程数とに基づいて改めて関係近似式を再調整するので、次回からの見積の精度を向上できる。
【００３５】
さらに、本実施の形態によれば、共通化支援部１３の働きにより、重複した機能を提示させ、指示に基づいて仕様書を再構成させることができ、効率よく見積を作成することができる。
【００３６】
実施の形態２．
上記の実施の形態１では、要因情報ごとに、予め関係近似式を生成して格納することとしていたが、見積工程数を算出するときに、要因情報に基づいて関係近似式を検索して生成し、当該生成した関係近似式を利用するのも好ましい。そこで、見積工程数を算出するときに関係近似式を生成する本発明の実施の形態２に係るソフトウエア開発コストの見積支援システムについて、以下に説明する。
【００３７】
本実施の形態に係る見積支援システムについて、以下図面を参照しながら説明する。尚、図１に示した実施の形態１に係る見積支援システムと同様の構成となる部分については同一の符号を付して説明する。図８は、本発明の好ましい実施の形態２に係る見積支援システムの構成ブロック図である。図８に示すように、入力装置７と、制御装置１６と、表示装置９と、データベース１７とから主に構成されている。ここで、制御装置１６は、ＦＰ数算出部１１と、見積工程数算出部１２と、共通化支援部１３とを含む。また、データベース１７は、要因データベース１４を含む。尚、要因データベース１４の内容は、図２（ａ）に示した、本発明の実施の形態１に係るものと同様であるので、説明を省略する。
【００３８】
以下、見積作成時と、ソフトウエアの開発終了時の各々について、本発明の実施の形態２の動作を説明する。まず、見積生成時の動作について説明する。
【００３９】
制御装置１６は、見積工程数を算出する処理として、図９に示すような処理を行う。図９は、制御装置１６の見積工程数を算出する処理を表すフローチャート図である。図９に示すように、制御装置１６は、入力装置７から処理名と、各処理における機能項目として、例えば、図４に示したような一覧表の状態で、入力ファイル、出力ファイル、入出力ファイル、入力表示アイテム、出力表示アイテム、入出力表示アイテム、メニュー表示アイテム、帳票の各々の機能項目の名称と、当該機能項目の数の多少及び処理の難易度の入力（調査票の入力）を受ける（Ｓ３１）。
【００４０】
制御装置１６は、複雑度マトリクスに基づいて、調査票の記載から各機能項目の複雑度を「単純」、「普通」、「複雑」の３段階で評価し（Ｓ３２）、ＦＰ数算出部１１により、複雑度ごとの各機能項目の数をカウントする（Ｓ３３）。ＦＰ数算出部１１は、処理Ｓ３３でカウントした各機能項目ごとの数値に、ＦＰ数算出テーブルに設定されている、対応するＦＰ数換算値を乗算し、さらにそれらの和を演算して、総ＦＰ数を算出する（Ｓ３４）。また、この制御装置１６は、見積工程数算出部１２は、入力装置７から要因情報の入力を受けて、当該要因情報に対応して格納されている実績情報を取得し（Ｓ３５）、当該取得した実績情報に基づいて公知の内挿・外挿方法により、ＦＰ数に対する見積工程数を表す数式としての関係近似式を生成する（Ｓ３６）。そして、制御装置１６は、処理Ｓ３６で生成された関係近似式に、処理Ｓ３４で算出された総ＦＰ数を当てはめて見積工程数を算出して表示装置９に表示出力し（Ｓ３７）、処理を終了する。
【００４１】
この処理Ｓ３７において算出された見積工程数が多すぎて、例えば受注額が要求されたものより大きくなってしまうときに、利用者の指示により図５に示すような共通化の処理を行うのは、本発明の実施の形態１に係る見積支援システムと同様であるので、その説明を省略する。
【００４２】
次に、本実施の形態のソフトウエア開発終了時の処理について説明する。図１０は、本実施の形態のソフトウエア開発終了時の処理を表すフローチャート図である。
【００４３】
ソフトウエアの開発が終了すると、制御装置１６は、入力装置７から当該開発の終了したソフトウエアの開発上の条件としての要因情報と、実際のＦＰ数と、実際の工程数との入力を受けて（Ｓ４１）、当該入力されたＦＰ数と実際の工程数とを組とし、入力された要因情報に対応づけて、要因データベース１４に格納して（Ｓ４２）、処理を終了する。
【００４４】
本実施の形態によれば、複数の条件を要因情報として扱うことができ、かつ、過去の実績情報に基づいて関係近似式を生成し、これを利用して見積工程数を算出しているので、見積の精度を向上できる。また、開発の終了時には、新たに開発を終了したソフトウエアの現実のＦＰ数と工程数とに基づいて実績情報を蓄積するので、次回からの見積の精度を向上できる。
【００４５】
さらに、本実施の形態によれば、共通化支援部１３の働きにより、重複した機能を提示させ、指示に基づいて仕様書を再構成させることができ、効率よく見積を作成することができる。
【００４６】
尚、実施の形態１と実施の形態２とにおいては、工程数の見積を作成する場合について説明したが、工程数の代わりに、ソフトウエアの試験項目の数や、試験における誤りの検出数などを実績情報として蓄積すれば、これらの数値の見積を作成することも可能である。
【００４７】
実施の形態３．
さらに、実施の形態１と実施の形態２とをコンピュータのプログラムとして実現し、これをコンピュータ読みとり可能な記録媒体に格納することも可能である。
【００４８】
【発明の効果】
この発明は、以上説明したように構成されているので、以下に示すような効果を奏する。
【００４９】
要因情報に示された特定の条件での過去の開発実績ごとに、ソフトウエア機能量に応じた見積工程数を表す関係近似式を生成して蓄積しており、見積作成時に、仕様情報の入力を受けて、仕様情報から算出されたソフトウエア機能量を算出し、開発上の条件に合致する条件での関係近似式を検索し、検索された関係近似式に、算出したソフトウエア機能量を当てはめて、見積工程数を算出しているため、開発上の種々の条件に応じた見積が作成でき、見積の精度を高めることができる。
【００５０】
また、ソフトウエアの完成時に、要因情報とソフトウエア機能量と実際の工程数との入力を受けて、その要因情報に応じた関係近似式を生成して更新することで、次回からの見積の精度をより高めることができる。
【００５１】
さらに、指示により関係近似式をプロットして表示出力し、修正の指示の入力を受けて、関係近似式を修正し、上書きして格納することで、見積の精度をより高めることができる。
【００５２】
また、請求項４記載の本発明によれば、過去の開発実績での要因情報に対して、ソフトウエア機能量と工程数との組を対応づけて実績情報として格納しており、見積作成時に仕様情報の入力を受けて、ソフトウエア機能量を算出し、開発上の条件に合致する条件での実績情報を検索し、実績情報から関係近似式を生成して、算出したソフトウエア機能量を当てはめて見積工程数を算出することで、開発上の種々の条件に応じた見積が作成でき、見積の精度を高めることができる。
【００５３】
さらに、入力された仕様情報が一致する機能項目を列挙して表示することで、仕様の再構成を容易にして、効率よく見積を得ることができる。
【００５４】
さらに、列挙した機能項目から削除する機能項目の指定の入力を受けて、当該機能項目を削除した新たな仕様情報に基づいて見積工程数を算出することで、効率よく見積を得ることができる。
【００５５】
さらに、かかる見積支援システムをコンピュータのプログラムとして実現し、コンピュータ読みとり可能な記録媒体として、効率よく精度の高い見積を得ることができる。
【図面の簡単な説明】
【図１】  本発明の好ましい実施の形態１に係る見積支援システムの構成ブロック図である。
【図２】  本発明の実施の形態１のデータベース１０の内容を表す説明図である。
【図３】  制御装置８の見積工程数を算出する処理を表すフローチャート図である。
【図４】  本発明の実施の形態１に係る見積支援システムへの入力項目を表す説明図である。
【図５】  共通化支援部１３の共通化支援の処理を表すフローチャート図である。
【図６】  共通化候補テーブルの一例を表す説明図である。
【図７】  本実施の形態のソフトウエア開発終了時の処理を表すフローチャート図である。
【図８】  本発明の好ましい実施の形態２に係る見積支援システムの構成ブロック図である。
【図９】  制御装置１６の見積工程数を算出する処理を表すフローチャート図である。
【図１０】  本実施の形態のソフトウエア開発終了時の処理を表すフローチャート図である。
【図１１】  ソフトウエア機能量を算出するためのテーブルの一例を表す説明図である。
【図１２】  従来の見積支援システムの構成ブロック図である。
【図１３】  従来の見積支援システムにおける入力項目を表す説明図である。
【符号の説明】
１，７  入力装置、２，８，１６  制御装置、３，９  表示装置、４，１４  要因データベース、５，１１  ＦＰ数算出部、６，１２  見積工程数算出部、１０，１７  データベース、１３  共通化支援部、１５  関係近似式データベース。
【図１】
0003654793.tif 000002
【図２】
0003654793.tif 000003
【図３】
0003654793.tif 000004
【図４】
0003654793.tif 000005
【図５】
0003654793.tif 000006
【図６】
0003654793.tif 000007
【図７】
0003654793.tif 000008
【図８】
0003654793.tif 000009
【図９】
0003654793.tif 000010
【図１０】
0003654793.tif 000011
【図１１】
0003654793.tif 000012
【図１２】
0003654793.tif 000013
【図１３】
0003654793.tif 000014