【後編】FP法の基本ステップ
システム開発でのコスト見積もりを正確に行うための手法として、「FP(ファンクションポイント)法」があります。
この手法の要となるのは、システムが提供する機能に基づいて規模を把握し、それに応じたリソースを割り当てることです。
今回は、FP法を使うための基本ステップについて解説します。
1.機能の分類
FP法を使う最初のステップは、システム内の全機能を「データ関係機能」と「トランザクション関係機能」に分類することです。これにより、システムの規模をより正確に評価できるようになります。
データ関係機能
データ関係機能は、システム内で扱われるデータや外部システムから取り込まれるデータを管理する部分を指します。この分類には2つの主要な要素があります。
1.外部インターフェースファイル(EIF)
他システムで作成したファイル(参照のみ)のこと。
(例)販売管理システムが在庫システムからデータを参照するようなケース
2.内部論理ファイル(ILF)
システム内で自分のシステム内で作成、更新、参照、削除するデータのこと。
(例)顧客データや商品情報のような、システムが直接保管・処理するデータ
トランザクション関係機能
トランザクション関係機能は、ユーザーがシステムに対して行う操作を意味します。これには次の3つの機能があります。
1.外部照会(EQ)
ユーザーがシステム内のデータを検索し、結果を得る操作を指します。(ILFやEIFのデータをもとに、内部論理ファイル(ILF)を更新せず、画面や帳票、他のアプリケーションなどにデータを出力する処理)
(例)顧客情報の検索機能など
2.外部入力(EI)
ユーザーがシステムにデータを入力する操作を指します。
(例)新しい顧客情報を登録する場合の入力フォームなど
3.外部出力(EO)
システムからユーザーに対して情報を提供する機能のこと。(ILFやEIFのデータをもとに、画面・帳票など他のアプリケーションなどにデータを出力する処理)
(例)レポート表示やデータのエクスポートなど

2.「機能の複雑さ」についての評価
次に、分類された機能ごとにその「複雑さ」を評価します。
FP法では、各機能を「単純」「中程度」「複雑」の3段階で評価します。複雑さの判断基準としては、データの量や処理の内容、ユーザーの操作の複雑さが挙げられます。
例えば、シンプルな入力フォームは「単純」に分類されますが、複数のデータをまとめて処理するような機能は「複雑」と評価されます。
※複雑さの評価について
FP法における「重み付けの三段階(単純、中程度、複雑)」の判断は、主に機能の特性・データの構造・処理内容などによって定められます。
しかし、システムや業界に応じて柔軟に適用される場合があるため、絶対的な定量基準が全てのケースに当てはまるとは限りません。また、システムの特性により、評価が異なることもあります。(企業によってノウハウが違う場合もある)
そのため今回は、IFPUGの基準に倣った一例をここに示します。
データファンクションの重み付け
データ・ファンクションの複雑さ(重み付け)は、LIF(内部理論ファイル)とEIF(外部インターフェイスファイル)ごとに「レコード種類(RET)数」と「データ項目(DET)数」で評価し、「単純」「中程度」「複雑」を判定します。
①「レコード種類(RET)数」と「データ項目(DET)数」で評価

②重み付けを基に未調整FPを求める

トランザクションファンクションの重み付け
こちらもデータファンクションと同様に判定を行いますが、「関連ファイル(FTR)数」と「データ項目(DET)数」で評価し、「単純」「中程度」「複雑」を判定します。
①EI(外部入力)の評価

②EO(外部出力)の評価

③EQ(外部照会)の評価

④重み付けをもとに未調整FPを求める

3. ファンクションポイントの重み付け
重み付けで判定した複雑さに応じて、FPを計測します。今回の例に示した評価基準によると以下のように計測を行います。
内部論理ファイル(ILF)の場合
- 単純な内部論理ファイル(ILF):7 FP
- 中程度の内部論理ファイル(ILF):10 FP
- 複雑な内部論理ファイル(ILF):15 FP
外部インターフェースファイル(EIF)の場合
- 単純な外部インターフェースファイル(EIF):7FP
- 中程度の外部インターフェースファイル(EIF)7 FP
- 複雑な外部インターフェースファイル(EIF):10 FP
外部入力(EI)の場合
- 単純な外部入力(EI):3 FP
- 中程度の外部入力(EI):4 FP
- 複雑な外部入力(EI):6 FP
外部出力(EO)の場合
- 単純な外部出力(EO):4 FP
- 中程度の外部出力(EO):5 FP
- 複雑な外部出力(EO):7 FP
外部照会(EQ)の場合
- 単純な外部照会(EQ):3 FP
- 中程度の外部照会(EQ):4 FP
- 複雑な外部照会(EQ):6 FP
このように、各機能に重み付けを行うことで、システム全体の規模を把握できます。
4.合計ファンクションポイントの計算
各機能のFPを割り当てたら、それらを合計してシステム全体の未調整ファンクションポイント数を算出します。
例えば、以下のような機能を持つ在庫管理システムがあるとします。
- 在庫商品情報ファイル(内部理論ファイル,中程度):10FP
- 在庫商品の登録(外部入力, 単純):3 FP
- 在庫情報の更新(外部入力, 中程度):4 FP
- 在庫リストの表示(外部出力, 中程度):5 FP
- 在庫商品の検索(外部照会, 単純):3 FP
この場合、システム全体のFPは次のようになります。
合計未調整FP数 = 7+3 + 4 + 5 + 3 = 22 FP
この合計未調整FP数を使って、開発にかかる工数やコストの見積もりを行います。

5.調整係数の適応
最後に、プロジェクトの特定の要件や条件を考慮して、調整係数を適用します。これにより、システムの特性や要件を反映した見積もりが可能です。
このためこのステップでは、先ほどまでに計測した未調整FPと調整係数をかけ合わせることによって該当プロジェクトのファンクションポイントを計測することが可能になります。
調整係数について
システム特性は以下の14項目ごとに0~5までのランクをつけ、それらを合計してTDI(システム特性の合計値)を計算します。それを踏まえて未調整FPにかけ合わせるVAF(システム特性係数)を算出します。
VAF=(TDI×0.01)+0.65
〇14項目のシステム特性

〇0~5のスケール
0:存在しない・影響がない
1:影響度が軽微
2:影響度が小さい
3:影響度が中程度
4:影響度が大きい
5:システム全体で大きな影響がある
しかしながら、こちらの調整係数に関しても環境やシステムごとに考慮するべき項目が異なるため、それらを考慮した調整係数をかけ合わせる必要があります。
6.まとめ
FP法は、システムの規模を測定するためのシンプルで効果的な手法です。今回紹介した基本ステップを理解し、実際のプロジェクトに適用することで、より正確なコスト見積もりが可能になります。