ファンクションポイント法(FP法:Function Point Method)について
ファンクションポイント法とは
ファンクションポイント法(FP法)とは
FP法とは、外部入出力や内部論理ファイル、外部照会、外部インタフェースなどの個数や特性などから、開発規模を見積もる手法です。
システムの外部仕様の情報から、その「システム機能」の量を算定してファンクションポイント(FP)を算出し、それを基にシステムの開発規模を見積もります。
FP法は、1979年に米国IBMのAllan Albrecht氏により考案された手法です。
1986年に設立されたIFPUG(International Function Point Users Group)が標準化を推進し、実施方法を「CPM(Counting Practice Manual)」という文書にまとめています。
FP法の特徴
FP法は、依頼者側とのコンセンサス(合意)が取りやすいという特徴があります。
FP法はソースコード規模や実装難易度という開発者の論理よりも、機能や操作というエンドユーザ目線の論理で見積りを行います。
例えば、入出力画面や帳票などはユーザに見える機能であるため、必要となる機能の充実度や機能数について、依頼者側とイメージを共有しながら見積りをすり合わせることができます。
FP法の計算方法
FP法の計測手法には、IFPUG 法、COSMIC 法、フルファンクションポイント法、フィーチャポイント法、MarkⅡ法、NESMA 概算法、SPR 法など様々な手法が提案されています。
一般的には、ISO/JIS規格にも採用されているIFPUG法が最も利用されています。
IFPUG法について
IFPUG法とは
IFPUG(International Function Point Users Group)とは、1986年にアメリカに設立された非営利組織です。
このIFPUGがファンクションポイントの計測手法を定義し、ISO / IEC 20926:2009の承認を得た計算方法がIFPUG法です。
IFPUG法はファンクションポイントの計算手法の1つであり、最も一般的に利用されている手法です。
IFPUG法の計算方法
(1)扱うデータを5 つのファンクション型に分類する。
外部入力(EI)、外部出力(EO)、外部照会(EQ)、内部論理ファイル(ILF)、外部インタフェースファイル(EIF)
(2)ファンクションの複雑さを3段階に分類する。
機能(データ)ごとの複雑さを「低」「中」「高」の3段階に分類して、それぞれに点数を与えます。
※過去の類例をもとにして分類する必要があります。
(3)システム全体の未調整FP(UFP:Unadjusted FP)を計算します。
未調整FPとは、開発する機能ごとに複雑さの重みを付けたものを合算した値(調整係数)のことです。
各データに3段階のファンクションの複雑さに応じた未調整FPを掛けて合計することで、システム全体の未調整FPを計算します。
これは、システムの難易度を評価することになります。
(4) 複雑さを評価する。
システム特性として、以下の14項目について複雑さを0~5の6段階で評価し、システム特性の調整値を算出します。
データ通信、分散処理、性能、高負荷構成、要素処理(トランザクション)量、オンラインデータ入力、エンドユーザ効率
オンライン更新、複雑な処理、再利用可能性、インストール容易性、運用性、複数サイト、変更容易性
(5) システム特性係数を計算する。
システム特性係数 = システム特性の調整値 × 0.01+0.65
(6) FPを計算する。
FP = 未調整FP × システム特性係数
IFPUG法の計算例(基本情報試験の問題を引用)
下記表から、未調整FPは、24(4+10+10)となります。
複雑さの補正係数とは、システム特性係数のことです。
つまり、24×0.75を計算し、FP値は18と算出されます。
COSMIC法について
COSMIC法(The Common Software Measurement International Consortium)とは
COSMIC法とは、FP法の計算手法の1つであり、データ移動の数を数えることで機能規模を測定する手法です。
COSMIC-FFP(The Common Software Measurement International Consortium - Full Function Point)とも呼ばれます。
COSMIC法は、2002年にISO/IEC 19761として国際規格となり、日本では2006年にJIS X 0143としてJIS規格化されています。
COSMIC法の計算方法
(1)データ移動を型として識別し、エントリ、エグジット、読込み及び書込みの4種類に分類する。
指定 | 説明 |
---|---|
エントリ(Entry) | 外部からソフトウェアの入力 システムの境界からユーザインタフェースや通信を通じて入力されることに対応するデータ移動 |
エグジット(Exit) | 外部からソフトウェアからの出力 UI や通信によりシステムの境界に出力されることに対応するデータ移動 |
読込み(Read) | ソフトウェアから永続的ストレージからの読込み |
書込み(Write) | ソフトウェアから永続的ストレージへの書込み |
(2)データ移動の型ごとに、その個数に単位規模を乗じる。
(3)2で得た型ごとの値の合計を、機能プロセスの機能規模とする。
関連ページ
- プロジェクトマネジメント
- トップダウン見積り法
- ボトムアップ見積り法
- パラメトリック見積り法(係数モデル見積り)
- ファンクションポイント法(FP法:Function Point Method)
- 三点見積もり法