ソフトウェアの開発においては,開発に要する工数や費用およびソフトウェアの品質などの目標を設定し,開発プロセスを管理していかなければならない.そのためには,開発プロセスの各段階で開発規模,工数,品質などを見積り,以降の開発管理に反映していく必要がある.
FP = FC ・ (0.65 + CF / 100)
ここで,FC は外部入力数,外部出力数,内部論理ファイル数,外部インタフェースファイル数,外部照会数の 5 つの項目に対して,それぞれ単純,平均,複雑の 3 種類に分類して評価点(1~15程度)を与えて合計したものである. また, CF は全体的な機能の複雑さを調整するための係数であり,処理の複雑性,操作の容易性,性能上の制約などの 14 の評価項目に対して,評価点 (0~5)を与えて合計したものである.ES = a・FP + b
ファンクションポイントは,ソフトウェアの経済的な単位と見倣すことができ,次のようなソフトウェア開発に関する各種評価に利用できるものである.ソフトウェアの生産性に影響を与える要因には,ソフトウェアの種類や開発環境,要員のスキル,利用する言語やツールなど数多くのものがある.このような複雑な要因と工数の関係を整理し,各々の要因が生産性に与える影響を回帰分析やクラスタ分析などの手法を用いて評価するモデルが開発工数見積りモデル(コストモデル)である. すなわち,開発工数見積りモデルでは何らかの観測あるいは計測可能なデータ(要因データ)から工数を導き出す関数を設定する.
一般的には,開発規模の見積り値をもとに開発工数が見積もられる.開発工数見積りモデルは,基本的には開発工数 E と開発規模 L の間の関係が次の式で表わされるものである.
E = a Lb
ここで,a は生産性調整係数,b は定数であり,過去の実績データから推定される値である. 生産性調整係数は,各種の生産性の変動要因を考慮する場合にはさらに詳細化される係数であり,人的要因,開発資源要因,支援ツールの有無などの要因が考慮される.
開発工数見積りモデルの代表的なものには、Walston-Felixモデル[Wal77],COCOMOモデル[Boehm81],Putnamモデル[Put78]などがある.
COCOMOモデルでは,次のような見積もりを行う.