更新:2024/12/16

ファンクションポイント法とは?ゆるーくわかりやすく解説

はるか
はるか
ファンクションポイント法って知ってる?
ふゅか
ふゅか
うん、ソフトウェアの規模を測る方法だよね!確か機能を基準に評価するんだったと思うけど、もっと詳しく教えて!

1. ファンクションポイント法の要点

ファンクションポイント法とは・・・

  • 開発工数を見積もるための方法
  • 機能の難易度に基づいて開発工数を見積もる

2. ファンクションポイント法とは?

ファンクションポイント法(Function Point Method)は、ソフトウェアの機能を基準に評価し、その規模に基づいて開発工数やコストを見積もるために使用されます。プログラムの行数や開発言語に依存しないため、さまざまなシステムやプロジェクトに適用できるのが特徴です。

2.1. 英語から推測すると

「ファンクションポイント法(Function Point Method)」の名前から英語の意味を推測すると、次のように理解できます。

  • Function:機能
  • Point:点、ポイント(ここでは「評価ポイント」や「単位」の意味)
  • Method:方法、手法

つまり、「機能を評価するポイントを使った方法」という解釈ができます。

はるか
はるか
直訳すると「機能のポイントを使った方法」。
ふゅか
ふゅか
なるほど!「Function」は機能、「Point」は評価ポイント、「Method」は方法か。全部つなげると「機能を評価するポイントを使う方法」ってことね!

3. ファンクションポイント法の特徴

3.1. 機能を基準に評価

ソフトウェアが提供する機能を「ユーザーにとっての価値」として評価するため、技術的な詳細ではなく、ユーザーの視点に立った測定が可能です。

3.2. 開発工数やコストの見積もりに活用

ファンクションポイントの値をもとに、必要な工数やコストを算出するため、プロジェクト管理に役立ちます。特に大規模システムの開発や長期プロジェクトで有効です。

4. ファンクションポイント法を構成する要素

ファンクションポイント法では、システムの機能を以下の5つの要素で分類します。

  1. 外部入力(EI:External Input)
  2. 外部出力(EO:External Output)
  3. 内部論理ファイル(ILF:Internal Logical File)
  4. 外部インターフェースファイル(EIF:External Interface File)
  5. 外部照会(EQ:External Inquiry)

4.1. 外部入力(EI:External Input)

ユーザーからのデータ入力に関する機能。
例:ログイン画面やデータ登録フォーム。

4.2. 外部出力(EO:External Output)

システムがユーザーに提供する出力に関する機能。
例:レポート出力やデータ表示画面。

4.3. 内部論理ファイル(ILF:Internal Logical File)

システム内部で管理されるデータの論理的な集まり。
例:顧客データや製品情報。

4.4. 外部インターフェースファイル(EIF:External Interface File)

他のシステムとのデータ共有に関する機能。
例:外部APIや外部データベースへの接続。

4.5. 外部照会(EQ:External Inquiry)

データ検索や問い合わせに関する機能。
例:検索機能やフィルタリング機能。

5. ファンクションポイント法の計算例

以下のシステムを考えます:

  • 外部入力(EI): 単純なログイン画面(2件、単純) データ登録フォーム(1件、中程度)
  • 外部出力(EO): レポート出力(1件、複雑)
  • 内部論理ファイル(ILF): 顧客データ管理(1件、中程度) 製品情報管理(1件、複雑)
  • 外部インターフェースファイル(EIF): 外部API接続(1件、単純)
  • 外部照会(EQ): データ検索機能(3件、単純)

表に基づいて、以下のように計算します。

要素 件数 複雑度 重み付け 合計重み付け
外部入力(EI) 2 単純 3 6
1 中程度 4 4
外部出力(EO) 1 複雑 7 7
内部論理ファイル(ILF) 1 中程度 10 10
1 複雑 15 15
外部インターフェース(EIF) 1 単純 5 5
外部照会(EQ) 3 単純 3 9

したがって、ファンクションポイント法によって見積もられた計算結果は

\[ \text{FP}= 6 + 4 + 7 + 10 + 15 + 5 + 9 = 56 \]

PR