会社の中に「本当に使える見積もり技術」(https://www.amazon.co.jp/dp/4822277046)という、本が転がっていたので、ちょっと最近やった小さなプロジェクトで、ファンクションポイント算出してみた。
テーブル個数が9個。入出力用のテーブルが2個、あと7個は参照オンリー。
画面は4個ですが、AJAXなどを使っているので、すべての機能を分割して12機能程度。それぞれの機能ごとに、複雑さを勘案します。
複雑さ | |||||||
低 | 中 | 高 | 合計 | ||||
外部入力 | 4 | x 3 | 0 | x 4 | 1 | x 6 | 18 |
外部出力 | 6 | x 4 | 1 | x 5 | 0 | x 7 | 29 |
外部参照 | 0 | x 3 | 0 | x 4 | 0 | x 6 | 0 |
内部論理ファイル | 1 | x 7 | 1 | x 10 | 0 | x 15 | 17 |
外部IFファイル | 7 | x 5 | 0 | x 7 | 0 | x 10 | 35 |
総FP | 99 |
FPは99という値になりました。
今回の開発では、言語はPHPですが、DAOやページ管理も含んだフレームワークを使っているため、似たようなレベルである、1FPあたりのソース行数javaのステップ数を援用して、35行/FPなので、予測3465行と予測。
実際、php、js、テンプレートまで含めた行数が3500行程度と、ソース行数では大体違和感のない数字にはなりました。
FPと人月計算は、難しいですね。軍事用のソフトウェアなんかは、1~5FP/人月程度、委託開発10~20 FP/人月。今回のシステムは委託開発なので、5人月。うーん、これくら貰えていれば、OKなのですね。
yna