FP法(ファンクションポイント法)は、ソフトウェア開発の規模を定量的に測定する手法で、特に見積もりやプロジェクト管理に役立ちます。この方法は、1979年にIBMのアラン・アルブレクト氏によって考案されました。以下にその詳細を説明します:
FP法の概要
- 目的:
ソフトウェアの機能要件を基に規模を測定し、開発工数やコストを見積もる。 - 特徴:
プログラミング言語や開発手法に依存せず、誰が計測しても同じ結果が得られる。
FP法の計算方法
- 機能の分類:
- 機能を以下の5つに分類します:
- 外部入力(EI)
- 外部出力(EO)
- 外部照会(EQ)
- 内部論理ファイル(ILF)
- 外部インターフェイスファイル(EIF)
- 機能を以下の5つに分類します:
- 複雑度の評価:
- 各機能の複雑度を「低」「中」「高」の3段階で評価。
- 未調整FP(UFP)の計算:
- 各機能の数値を合計して未調整FPを算出。
- 調整係数の適用:
- システム特性(14項目)を評価し、調整係数(VAF)を計算。
- 最終的なFPは以下の式で求めます: $$FP = UFP \times VAF$$
FP法のメリット
- 標準化:
誰が計測しても同じ結果が得られるため、見積もりのばらつきを抑えられる。 - 汎用性:
開発手法やプログラミング言語に依存しない。 - 透明性:
発注者にとって理解しやすい。
FP法のデメリット
- 非機能要件の評価が困難:
性能やセキュリティなどの非機能要件は数値化が難しい。 - 複雑な機能の評価:
単純な機能と複雑な機能の区別が難しい場合がある。
FP法は、特に大規模なプロジェクトや複数のチームが関与する場合に有効です。