(57)【特許請求の範囲】
【請求項１】
複数のソフトウエアの機能で構成されるソフトウエア開発のプロジェクトを実行する場合における作業工数を見積る作業工数見積り装置において、
前記プロジェクトを構成するソフトウエアの各機能の具体的処理内容を記述した機能仕様書と、
前記プロジェクトに類似した過去に実行された類似プロジェクトのプログラムデータを記憶するプロジェクトデータ記憶部と、
見積り対象のプロジェクトを構成する各機能の機能量を合計した総機能量に定数を乗算して作業工数を算出する第１の導出方法及び見積り対象のプロジェクトのプログラムのプログラムステップ数に定数を乗算して作業工数を算出する第２の導出方法を含む複数の導出方法を記憶する作業工数導出方法記憶部と、
前記機能仕様書から作業工数の見積りに必要な総機能量を第１の見積り基情報として読取るとともに、前記プロジェクトデータ記憶部から前記作業工数の見積りに必要なプログラムステップ数を第２の見積り基情報として読取る見積り基情報読取手段と、
少なくとも、この見積り基情報読取手段で読取られた第１の見積り基情報から前記第１の導出方法を用いて前記プロジェクトの第１の作業工数見積り値を算出すると共に、前記見積り基情報読取手段で読取られた第２の見積り基情報から前記第２の導出方法を用いて前記プロジェクトの第２の作業工数見積り値を算出する作業工数見積り値導出手段と、
複数の作業工数見積り値から一つの作業工数見積り値を決定するための複数の決定方法を記憶する見積り値決定方法記憶部と、
前記作業工数見積り値導出手段で算出された、少なくとも第１の作業工数見積り値と第２の作業工数見積り値とから、前記複数の決定方法のうち操作指定された決定方法で、一つの作業工数見積り値を決定する作業工数見積り値決定手段と、
この決定された一つの作業工数見積り値を最適の作業工数見積り値として表示出力する作業工数見積り値出力手段と
を備えたことを特徴とする作業工程数見積り装置。
【請求項２】
前記一つの作業工数見積り値を決定する複数の決定方法は、全部の作業工数見積り値に亘って算出された最大値、最小値、平均値、最大分散値のいずれかを前記一つの作業工数見積り値と決定する決定方法を含むことを特徴とする請求項１記載の作業工程数見積り装置。
【請求項３】
前記作業工数見積り値導出手段で算出された前記プロジェクトの第１、第２の作業工数見積り値を候補値として表示出力する作業工数見積り値候補表示手段を備えたことを特徴とする請求項１記載の作業工程数見積り装置。
【請求項４】
前記プロジェクトを構成する各機能におけるデータ項目数や参照ファイル数に応じて定まる複雑度を記憶する複雑度判定テーブルを備え、
前記見積り基情報読取手段は、各機能の複雑度を前記複雑度判定テーブルから求め、この複雑度に対応した機能量を求め、さらに、各機能の機能量を合計して総機能量を求めることを特徴とする請求項１記載の作業工程数見積り装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は複数のソフトウエア機能で構成されるプロジェクトを実行する場合における作業工数を見積る作業工数見積り装置に関する。
【０００２】
【従来の技術】
ソフトウェア開発等の種々の開発作業を行うプロジェクトにおいては、スケジュールの遅延や予算オーバー等の問題発生を未然に抑えるために、初期段階の計画立案の際に該当プロジェクトを実行する場合における作業工数を見積るようにしている。
【０００３】
そして、初期段階以外にも、該当プロジェクトの実行の途中で、又は、計画見直しの際に、それ以降の作業に費やされる作業工数を、適当なタイミングに高精度に見積ることが重要となる。
【０００４】
なお、この作業工数とは、任意のプロジェクトにおいて絶対的に必要とされる労力のことを意味し、例えば［人月］の単位で示される。そして、この作業工数は、規模や作業内容等が同じであるプロジェクトにおいては、作業要員や作業環境等の影響には無関係であり、一定値となる。
【０００５】
そして、その作業工数の見積り精度向上のために、作業工数の見積り装置や方法に関して種々の提案がなされている。
【０００６】
従来の提案においては、見積りの時点までに作成された成果物量や過去の工数の実績値等を基に、任意の算出方法を用いて将来の作業工数を一意に見積り、その精度向上を図っている。［特開平９−１９８４４１号公報「見積り装置及び見積り方法」、特開平８−３１５０３３号公報「進捗管理装置」、特開平８−２０２７７３号公報「ソフトウェアプロジェクト進行管理装置」、特開平８−４４７９５号公報「シミュレーション学習装置」、特開平７−１６０７６２号公報「見積り支援装置」、特開平７−１３４６４８号公報「ソフトウェア保守作業工数自動見積りシステム」、……］
例えば、上述した特開平９−１９８４４１号公報「見積り装置及び見積り方法」においては、開発初期や開発途中の任意の時点（工程の区切り等）において、ソフトウェアを構成するモジュールとその属性情報、および開発工程とその属性情報を入力値として与えることで、任意の算出式を用いて次工程以降のモジュール別工程別の工数の一つの見積り値を算出している。
【０００７】
【発明が解決しようとする課題】
しかしながら、上述した各提案においてもまだ改良すべき次のような課題があった。
【０００８】
すなわち、上述した各手法では、作業工数の見積りにおいて、利用される見積り値の算出方法や見積り算出式が常に実績値に最も近似した見積り結果を提示している場合には非常に有効である。しかし、実際には見積り値と実績値の間には誤差が生じる場合が多く、前記の従来技術においては算出された見積り結果の妥当性の判断が非常に難しい。
【０００９】
例えば、任意の見積り算出式により作業工数の一つの見積り値が得られた場合、これまではその見積り値が、過大であるか、過少であるか、適当であるかを人間の経験や勘、または過去の見積りと実績値の誤差の傾向等から判断していた。そして、この算出された作業工数の一つの見積り値に対して妥当性評価を数値で表現した調整係数を乗ずる等の方法で見積り結果に反映していた。例えば、「過少」と判断した場合は［×１．５］等の係数をかける。
【００１０】
しかし、このような調整は任意の見積り算出式により求められた作業工数の見積り値に対する誤差レベルの主観的な調整に過ぎず、例えば適用している見積り方法や見積り算出式自身が不適切であることが原因で作業工数の見積り結果の精度が低い場合等においては、その見積り結果に対する客観的な妥当性判断は困難である。
【００１１】
また、見積り結果の客観的な妥当性判断のために、例えば複数の見積り方法や複数の見積り算出式を用いて作業工数を見積り、それらの比較等を試みようとした場合に、従来技術では見積り作業に多大な労力が費やされてしまう。
【００１２】
本発明は、このような事情に鑑みてなされたものであり、予め準備された複数種類の作業工数導出方法毎に作業工数見積り値を算出し、この複数種類の作業工数導出方法で算出された複数の作業工数見積り値から最終的に一つの作業工数見積り値を決定する手法を複数準備して、見積り操作者にその都度選択させることにより、結果的に、見積り結果の妥当性の判断を客観的に行うことを可能にし、見積り操作者（ユーザ）によって最終的な見積り値がばらつくことを未然に防止でき、常に高い精度の最適な作業工数見積り値を得ることができる作業工数見積り装置を提供することを目的とする。
【００１３】
【課題を解決するための手段】
上記課題を解消するために、本発明は、複数のソフトウエアの機能で構成されるソフトウエア開発のプロジェクトを実行する場合における作業工数を見積る作業工数見積り装置において、プロジェクトを構成するソフトウエアの各機能の具体的処理内容を記述した機能仕様書と、プロジェクトに類似した過去に実行された類似プロジェクトのプログラムデータを記憶するプロジェクトデータ記憶部と、見積り対象のプロジェクトを構成する各機能の機能量を合計した総機能量に定数を乗算して作業工数を算出する第１の導出方法及び見積り対象のプロジェクトのプログラムのプログラムステップ数に定数を乗算して作業工数を算出する第２の導出方法を含む複数の導出方法を記憶する作業工数導出方法記憶部と、機能仕様書から作業工数の見積りに必要な総機能量を第１の見積り基情報として読取るとともに、プロジェクトデータ記憶部から作業工数の見積りに必要なプログラムステップ数を第２の見積り基情報として読取る見積り基情報読取手段と、少なくとも、この見積り基情報読取手段で読取られた第１の見積り基情報から第１の導出方法を用いてプロジェクトの第１の作業工数見積り値を算出すると共に、見積り基情報読取手段で読取られた第２の見積り基情報から第２の導出方法を用いてプロジェクトの第２の作業工数見積り値を算出する作業工数見積り値導出手段と、複数の作業工数見積り値から一つの作業工数見積り値を決定するための複数の決定方法を記憶する見積り値決定方法記憶部と、作業工数見積り値導出手段で算出された、少なくとも第１の作業工数見積り値と第２の作業工数見積り値とから、複数の決定方法のうち操作指定された決定方法で、一つの作業工数見積り値を決定する作業工数見積り値決定手段と、この決定された一つの作業工数見積り値を最適の作業工数見積り値として表示出力する作業工数見積り値出力手段とを備えたものである。
【００１４】
このように構成された作業工数見積り装置においては、作業工数導出方法記憶部には、複数種類の作業工数導出方法が記憶されている。そして、該当プロジェクトに対して、各作業工数導出方法毎に、作業工数見積り値が算出されて出力される。
【００１５】
したがって、操作者（ユーザ）はこの出力された複数の作業工数見積り値から最適な作業工数見積り値を選択するのみでよい。
【００１６】
また、別の発明においては、上記発明の作業工数見積り装置における一つの作業工数見積り値を決定する複数の決定方法は、全部の作業工数見積り値に亘って算出された最大値、最小値、平均値、最大分散値のいずれかを一つの作業工数見積り値と決定する決定方法を含む。
【００１７】
このように構成された作業工数見積り装置においては、見積り値決定方法記憶部内に、複数の作業工数見積り値から一つの作業工数見積り値を決定するための複数の決定方法が記憶されている。
【００１８】
すなわち、作業工数見積り値導出手段で導出された複数の作業工数見積り値から最終的に一つの作業工数見積り値を決定する手法として、例えば、最大値、最小値、平均値、最大分散値、およびそれらの組合せ等があるが、操作者（ユーザ）はそのなかで一つの最適の決定方法を選択できる。すなわち、操作者（ユーザ）は従来のように経験と勘で一つの作業工数見積り値を選択する必要はない。
【００１９】
また、別の発明においては、上記発明の作業工数見積り装置に対して、作業工数見積り値導出手段で算出された前記プロジェクトの第１、第２の作業工数見積り値を候補値として表示出力する作業工数見積り値候補表示手段を備えている。
【００２０】
さらに、別の発明においては、プロジェクトを構成する各機能におけるデータ項目数や参照ファイル数に応じて定まる複雑度を記憶する複雑度判定テーブルを備えている。そして、見積り基情報読取手段は、各機能の複雑度を複雑度判定テーブルから求め、この複雑度に対応した機能量を求め、さらに、各機能の機能量を合計して総機能量を求めるようにしている。
【００３０】
【発明の実施の形態】
以下本発明の一実施形態を図面を用いて説明する。
【００３１】
図１は本発明の作業工数見積り装置の概略構成を示すブロック図である。この作業工数見積り装置はコンピュータ等の一種の情報処理装置で構成されている。
【００３２】
この作業工数見積り装置は、作業工数の見積り対象のプロジェクト１から、作業工数の見積りに必要な見積り基情報を読取って、この見積り基情報に基づいて該当プロジェクト１に対する作業工数を見積る。
【００３３】
なお、この実施形態においては、プロジェクト１はソフトウェアの開発プロジェクトである。したがって、このプロジェクト１は、機能仕様書２等、少なくとも誰が何をいつまでに行うという計画が記載されたもので表現できる。
【００３４】
そして、この作業工数見積り装置内には、ＨＤＤ等の補助記憶装置内やＲＡＭ等の主記憶部内に形成された、複雑度判定テーブル４、作業工数導出方法記憶部５、見積り結果記憶部６、見積り値決定方法記憶部７、プロジェクトデータ記憶部８等が設けられている。
【００３５】
さらに、この作業工数見積り装置内には、ＨＤＤやＲＡＭ等の記録媒体に記録されたアプリケーションプログラム上にそれぞれプログラムモジュールとして形成された、作業工数導出方法指定部９、見積り基情報読取部１０、見積り基情報入力部１１、作業工数見積り値導出部１２、作業工数見積り値候補表示部１３、見積り値決定方法指定部１４、作業工数見積り値決定部１５、作業工数見積り値結果表示部１６、プロジェクトデータ入力部１７等が設けられている。
【００３６】
プロジェクト１の機能仕様書２内には、図２に示すように、このプロジェクト１が実現する複数の機能１８が登録されている。そして、各機能１８には、入力情報と具体的処理内容と処理結果の出力情報とが登録されている。また、この機能仕様書２内には、前記各機能１８に対するユーザ登録画面１９が登録されている。すなわち、ユーザ登録画面１９を用いて、プロジェクト１で開発しようとしているソフトウェアで入力されるユーザの名前、取引種別等を設定可能である。
【００３７】
また、複雑度判定テーブル４内には、図３に示すように、各機能１８自身の複雑度が記憶されている。具体的には、該当機能に含まれるデータ項目数や参照する関連ファイル数に応じて各複雑度が設定されている。
【００３８】
作業工数導出方法記憶部５内には、プロジェクト１の作業工数を導出するための複数の作業工数導出方法が記憶されている。この実施形態においては、機能量から算出する手法と、ステップ数から算出する手法との２種類の導出方法が記憶されている。
【００３９】
見積り結果記憶部６は、作業工数見積り値導出部１２で算出された複数種類のの作業工数見積り値を記憶保持する。
【００４０】
見積り値決定方法記憶部７内には、作業工数見積り値導出部１２で算出された複数種類の作業工数見積り値から一つの作業工数見積り値を決定する方法が記憶されている。例えば、図６に示す決定方法選択メニュー２０に示すように、最大値、最小値、平均値、分布度数最大の最大値等が記憶されている。操作者（ユーザ）は、表示された決定方法選択メニュー２０の各方法のうちの一つを選択するか、または操作者（ユーザ）がその具体的決定方法を指定する。
【００４１】
プロジェクトデータ記憶部８内には、例えばキーボード等の入力装置で構成されたプロジェクトデータ入力部１７から操作者（ユーザ）が入力した、類似プロジェクトを含む各種のプロジェクトにおける実績の作業工数、各種のプロジェクトにおいて作成されたプロクラム等の実績、各プロジェクト属性情報（開発形態、利用ツール、費用等）等の情報が蓄積される。
【００４２】
そして、この作業工数導出装置における各部９〜１６は図５に示す流れ図に従って、プロジェクト１に対する１個の又は複数種類の作業工数見積り値の導出、及び算出された複数の作業工数見積り値から一つの最適な作業工数見積り値を決定する処理を実施する。
【００４３】
（ステップ２０１）
操作者（ユーザ）は作業工数導出方法指定部９に対して作業工数導出方法を指定する。この実施形態においては、作業工数導出方法として、
(a) 機能量を用いて一つの作業工数見積り値を算出する。
【００４４】
(b) ステップ数を用いて一つの作業工数見積り値を算出する。
【００４５】
(c) 機能量及びステップ数を用いてそれぞれ個別の作業工数見積り値を算出する。したがって、この(c) の場合は２種類の作業工数見積り値の算出が指示される。
【００４６】
（ステップ２０２）
プロジェクト１におけるソフトウェアの開発初期、または開発途中に以降の工程で必要とされる作業工数を操作者（ユーザ）が見積る際に、まず、作業工数の見積りの基になる基情報を既作成の機能仕様書２等のドキュメントから自動的に読み取るか、または基情報を操作者（ユーザ）が例えばキーボード等を用いて直接入力するかを、操作者（ユーザ）自身が選択を行う。
【００４７】
（ステップ２０３）
ステップ２０２において操作者（ユーザ）が見積りの基情報を自動的に読取る方法を選択した場合、操作者（ユーザ）がプロジェクト１における既作成の機能仕様書２等を入力することで、見積り基情報読取部１０が起動して、図２に示す機能仕様書２から作業工数の見積りに必要な基情報を自動的に読取る。同時に、プロジェクトデータ記憶部８に記憶されている類似プロジェクトにおけるプログラムから作業工数の見積りに必要な基情報を自動的に読取る。
【００４８】
ここで、機能仕様書２から作業工数の見積りに必要な基情報を読取る手法であるファンクションポイント法を説明する。
【００４９】
すなわち、ファンクションポイント法は、図２に示す機能仕様書２レベルの情報より操作者（ユーザ）が要求する図４に示す各種の機能２１（トランザクション、画面、帳票等）を抽出する。そして、抽出した各機能２１の複雑度を図３に示す複雑度判定テーブル４を用いて、各機能２１ａに対してそれぞれ機能量ＦＰ（ファンクションポイント）という値を求める。
【００５０】
そして、プロジェクト１を構成する全部の機能２１ａの機能量ＦＰを総合計した総機能量Ｆを算出する。
【００５１】
総機能量Ｆ＝ΣＦＰ                                    …(1)
次に、プブログラムから作業工数の見積りに必要な基情報を読取る手法であるステップ数法を説明する。
【００５２】
すなわち、このステップ数法においては、プロジェクトデータ記憶部８に記憶されているプログラムに含まれるステップ数が単純に作業工数に比例すると見做し、プログラムに含まれるステップ数Ｓを読取る。
【００５３】
なお、ステップ数Ｓで表されたソフトウェア規模を入力値とし、既定の算出式を用いて開発作業工数を予測するＣＯＣＯＭＯモデルにより作業工数を導出する場合は、プロジェクト１の属性（開発種類、開発形態、金額等）の入力をすることで、プロジェクトデータ記憶部８に記憶されている過去に蓄積されプロジェクト情報の中で最も類似するプロジェクトを選出し、そのプロジェクトのソフトウェア規模（ステップ数Ｓ）を導出する等の処理を行う。
【００５４】
（ステップ２０４）
ステップ２０２において操作者（ユーザ）が見積りの基情報を直接入力する方法を選択した場合、操作者（ユーザ）は作業工数を見積るための基情報を見積り基情報入力部１１より直接入力する。なお、ステップ２０３で例示したＣＯＣＯＭＯモデルでの作業工数見積りを行う場合は、見積り対象となるプロジェクト１のブログラムの予想ステップ数を規模として操作者（ユーザ）が直接入力する。
【００５５】
（ステップ２０５）
次に、作業工数見積り導出部１２が起動して、ステップ２０４までに得られた総機能量Ｆやステップ数Ｓ等の見積り基情報に基づいて各導出手法毎に、作業工数見積り値を算出する。
【００５６】
具体的には、先の作業工数導出方法指定部９で指定された(a) (b) (c) が指定する作業工数導出方法の具体的計算手順を作業工数導出方法記憶部５から読出して、指定された導出手法で作業工数見積り値を算出する。
【００５７】
先ず、機能量Ｆを用いた算出方を説明する。
【００５８】
すなわち、ファンクションポイント法を用いた場合、プロジェクト１の作業工数見積り値Ｅａ（単位は「人月」）は、前述した総機能量Ｆを用いて(3) 式で示される。
【００５９】
Ｅａ＝α×Ｆ−Ｃ                                        …(3)
ここで、αとＣは、総機能量Ｆと作業工数見積り値Ｅａとの関係を示す係数と定数項である。一例として、α＝０．３５、Ｃ＝７０である場合、総機能量Ｆが１５００のソフトウェア開発のプロジェクト１の作業工数を見積ると、作業工数見積り値Ｅａは４５５人月となる。
【００６０】
次に、ステップ数Ｓを用いた算出方を説明する。
【００６１】
すなわち、ＣＯＣＯＭＯモデルにおいては、プロジェクト１の作業工数見積り値Ｅｂ（単位は「人月」）は、ステップ数Ｓを用いて(4) 式で示される。
【００６２】
Ｅｂ＝α×Ｓβ×Ａ                                        …(4)
ここで、α、βはステップ数Ｓと作業工数見積り値Ｅｂとの関係を表す係数を意味し、Ａは見積り値の調整係数である。例えば、見積り対象のプロジェクト１のソフトウェアのステップ数Ｓが５０Ｋステップである場合、係数α、βがそれぞれ３．０及び１．１２であり、Ａの調整係数が１．５である時、作業工数見積り値Ｅｂは３．０×５1.12×１．５となり、作業工数は３６０人月と見積られる。
【００６３】
このように、ステップ２０５においては操作者（ユーザ）が指定した一つ又は複数の見積り算出式、見積り算出方法により、作業工数見積り値Ｅａ，Ｅｂを導出する。そして、導出した各作業工数見積り値Ｅａ，Ｅｂは作業工数見積り値候補表示部１３を通して操作者（ユーザ）に提示され、さらに見積り結果記憶部６に保存される。
【００６４】
（ステップ２０６）
複数の作業工数見積り値Ｅａ．Ｅｂが導出され、操作者（ユーザ）に提示された後、次に最終的な作業工数見積り値を決定する方法を操作者（ユーザ）が指示する。
【００６５】
具体的には、見積り値決定方法指定部１４が起動して、見積り値決定方法記憶部７に記憶されている各決定方法を図６に示す決定方法選択メニュー２０に表示する。操作者（ユーザ）は、決定方法選択メニュー２０に表示されている一つの方法を選択する。なお、操作者（ユーザ）は、決定方法選択メニュー２０に表示されていない、新たな決定方法をユーザ指定方法として、この決定方法選択メニュー２０に書込むことができる。
【００６６】
（ステップ２０７）
ステップ２０６で操作者（ユーザ）が、見積り値決定方法記憶部７に記憶されている作業工数見積り値決定方法を採用した場合、操作者（ユーザ）は決定方法選択メニュー２０においてその一つの方法を選択する。
【００６７】
例えば、操作者が、図６の決定方法選択メニュー２０で「分布度数最大の最大値」を指定すると、各導出方法で算出された全部の作業工数の見積り値に対して統計処理を実施し、各見積り値の発生度数、すなわち、見積り値の度数分布を求めて、図７に示すように、表示部に見積り値結果グラフ２２として表示する。そして、見積り値の分布の度数が最も大きい範囲における最大値を最終の一つの作業工数の見積り値として決定する。
このように、「分布度数最大の最大値」を指定することにより、任意の見積り算出式により作業工数の一つの見積り値を得る従来装置に比較して、作業工数の見積り精度を向上できる。
【００６８】
（ステップ２０８）
操作者（ユーザ）は、決定方法選択メニュー２０に表示されていない新たな決定方法を指定する場合は、前述したように、決定方法選択メニュー２０にて操作者が新規に作業工数見積り決定方法を指定する。
【００６９】
例えば、ステップ２０５で求められた作業工数見積り値Ｅａ，Ｅｂのなかで最大値を選択し、さらにその値に対して、操作者（ユーザ）の経験等から導き出された危険率１．５という値を乗じて最終的な見積り値に決定しようとした場合、操作者（ユーザ）は決定方法選択メニュー２０に対して、「最大値×１．５」という式を作業工数見積り値の決定方法として指定する。
【００７０】
さらに、操作者（ユーザ）は、今回新規に指定した作業工数見積り値決定方法に対して識別情報（方法の名称等）を付加して、見積り値決定方法記憶部７に保存することが可能である。このように見積り値決定方法記憶部７に追加登録することによって、次回の見積り値決定時において選択肢が増加する。
【００７１】
（ステップ２０９）
ステップ２０７、ステップ２０８において操作者（ユーザ）が指定した決定方法に従い、作業工数見積り値導出部１２で導出された各作業工数見積り値Ｅａ，Ｅｂや、プロジェクトデータ記憶部８に格納されている作業工数に関する過去の実績値を用いて、作業工数見積り値決定部１５において最終的な作業工数の見積り値を導出し、その導出過程や結果等を作業工数見積り値結果表示部１６に表示し、かつその結果を見積り結果記憶部６に記憶保持する。
【００７２】
図７は、前述したように、ステップ２０７で操作者（ユーザ）が指定した「分布度数が最も大きい範囲における最大値」という条件に従い、複数の作業工数見積り値より条件に一致した見積り値を導出する過程とその結果を示している。
【００７３】
この例では、複数の作業工数見積り値の分布を示すために、１００人月単位に分布度数を決め、その中で最も分布度数の高い３００人月〜４００人月の範囲に分布する見積り値の中の最大値である３９５人月という値が導出され、その値は作業工数見積り値結果表示部１６により操作者（ユーザ）に示され、最終的に見積り結果記憶部６に格納される。
【００７４】
また、ステップ２０６からステップ２０９までの作業工数見積り値の決定過程は見積り値決定方法記憶部７に蓄積される。
【００７５】
その後、プロジェクト１のソフトウェア開発が進められる段階において、操作者（ユーザ）はプロジェクト１の概要（開発形態、利用ツール、要員数等）や実際にプロジェクト１で費やされた作業工数等の該当プロジェクト１に関するデータをプロジェクトデータ入力部１７を介してプロジェクトデータ記憶部８に保存することができる。
【００７６】
これによりプロジェクト１に関する情報が継続的にプロジェクトデータ記憶部８に蓄積され、以降、同様に作業工数見積り作業が繰返された際にステップ２０３やステップ２０９で実施される作業工数見積り値の算出や導出等において見積り値の算出結果、導出結果の精度向上が図られる。
【００７７】
このように構成された作業工見積り装置においては、作業工数導出方法記憶部５には、例えば、総機能量Ｆに基づいて作業工程見積り値Ｅａを算出する方法と、ステップ数Ｓに基づいて作業工程見積り値Ｅｂを算出する方法との複数種類の作業工数導出方法が記憶されている。そして、該当プロジェクト１に対して、各作業工数導出方法毎に、作業工数見積り値Ｅａ．Ｅｂが算出されて出力される。
【００７８】
したがって、操作者（ユーザ）はこの出力された複数の作業工数見積り値Ｅａ．Ｅｂから最適な作業工数見積り値を選択するのみでよい。
【００７９】
また、導出された複数の作業工数見積り値Ｅａ．Ｅｂから最終的に一つの作業工数見積り値を決定する手法として、例えば、最大値、最小値、平均値、最大分散値等があるが、操作者（ユーザ）はそのなかで最適の決定方法を選択できる。
【００８０】
さらに、プロジェクトデータ記憶部８内には、過去に実行された類似プロジェクトにおける実績の作業工数が記憶されている。したがって、新規にプロジェクトの作業工数を見積る場合に、過去に実行された類似プロジェクトの実績の作業工数が自動的に参照される。よって、より高い精度の作業工数見積り値Ｅａ，Ｅｂが得られる。
【００８１】
なお、本発明は上述した実施形態に限定されるものではない。
【００８２】
例えば，作業工数導出方法記憶部１５には、総機能量、ステップ数に基づく導出方法に限らず，見積基情報となる画面数、プロジェクトの作業工数の見積可能な様々な見積要因に基づく導出方法を記憶しておくことにより、より精度の高い見積が可能となる。
【００８３】
また、作業工数見積装置内に図１に示す作業工数導出方法設定部１８を備えることにより、作業工数導出方法記憶部１５に記憶する方法の設定、変更等を簡単に行うことができる。
【００８４】
さらに、上述した実施形態において記載した手法は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク（フロッピーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリなどの記録媒体に書込んで各種装置に適用したり、通信媒体により伝送して各種装置に適用することも可能である。本装置を実現するコンピュータは、記録媒体に記録されたプログラムを読込み、プログラムによって動作が制御されることにより、上述した処理を実行する。
【００８５】
【発明の効果】
以上説明したように本発明の作業工数見積り装置においては、複数種類の作業工数導出方法毎に作業工数見積り値を算出している。また、導出された複数の作業工数見積り値から一つの最適な作業工数見積り値を決定する手法を付加している。
【００８６】
したがって、プロジェクトに対する作業工数の見積りを行う際に、見積り結果の妥当性の判断を客観的に行うことを可能にし、見積り操作者（ユーザ）によって最終的な見積り値がばらつくことを未然に防止でき、常に高い精度の最適な作業工数見積り値を得ることができる。
【図面の簡単な説明】
【図１】  本発明の一実施形態の作業工数見積り装置の概略構成を示すブロック図。
【図２】  作業工数の見積り対象のプロジェクトにおける機能仕様書を示す図
【図３】  実施形態の作業工数見積り装置における複雑度判定テーブルを示す図
【図４】  作業工数の見積り対象のプロジェクトにおける総機能量の算出過程を示す図
【図５】  同実施形態の作業工数見積り装置の動作を示す流れ図
【図６】  同実施形態の作業工数見積り装置における決定方法選択メニューを示す図
【図７】  同実施形態の作業工数見積り装置で算出された各作業工数見積り値の分布特性を示す図
【符号の説明】
１…プロジェクト
２…機能仕様書
３…プログラム
４…複雑度判定テーブル
５…作業工数導出方法記憶部
６…見積り結果記憶部
７…見積り値決定方法記憶部
８…プロジェクトデータ記憶部
９…作業工数導出方法指定部
１０…見積り基情報読取部
１１…見積り基情報入力部
１２…作業工数見積り値導出部
１３…作業工数見積り値候補表示部
１４…見積り値決定方法指定部
１５…作業工数見積り値決定部
１６…作業工数見積り値結果表示部
１７…プロジェクトデータ入力部
２０…決定方法選択メニュー
【図１】
0004040735.tif 000002
【図２】
0004040735.tif 000003
【図３】
0004040735.tif 000004
【図４】
0004040735.tif 000005
【図５】
0004040735.tif 000006
【図６】
0004040735.tif 000007
【図７】
0004040735.tif 000008