ファンクションポイント法の解説(基本情報技術者シラバス用語)

目次

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

ファンクションポイント法(FP法:Function Point)とは、ソフトウェアの開発規模や必要な工数(作業量)を見積もるための手法の一つです。プログラムの行数ではなく、システムが提供する「機能(ファンクション)」の数や複雑さに基づいて規模を計算します。

開発するシステムが外部とやり取りする入力画面の数、出力する帳票やレポートの数、内部で保持するデータのテーブル数などを洗い出し、それぞれの難易度に応じて点数(ファンクションポイント)を割り振って合計します。プログラムの書き方に左右されず、設計の初期段階(プログラムを書く前)で客観的な見積もりができる利点があります。

具体例

例えば、新しい顧客管理システムを作る際、「顧客情報の登録画面(入力)」に難易度中(4点)、「顧客一覧のPDF出力(出力)」に難易度高(7点)などのように点数をつけます。これらの点数の合計値が100点であれば、過去のデータから「1点あたり○時間かかるので、全体で約○時間」と見積もることができます。

もう少し詳しく

ファンクションポイント(FP)法は、システムの「ユーザーから見た機能の量」に着目して開発規模を見積もる手法です。見積もり手順は、まずシステムが処理する機能を5つのファンクションタイプ(外部入力、外部出力、外部照会、内部論理ファイル、外部インターフェースファイル)に分類し、それぞれの個数を数えます。次に、それぞれの複雑さ(高・中・低)に応じた点数を掛け合わせて足し算し、「未調整ファンクションポイント」を求めます。最後に、システムに求められる通信の複雑さや処理速度、再利用性といった14項目の「技術的・環境的特性」を評価し、補正係数を掛けて最終的な「ファンクションポイント(FP値)」を算出します。この手法は、開発者が書くプログラムの行数やプログラミング言語の種類に関わらず、システムに備わる機能の多さや難易度をベースに見積もれるため、客観性が高いという特長があります。

試験でのポイント

試験におけるFP法の頻出ポイントは、その特徴と適用するタイミングです。「プログラム言語に依存せず、要件定義や基本設計の段階(プログラムの作成前)で開発規模の見積もりが可能である」という特徴は、記述式や選択式で非常によく問われます。また、5つのファンクションタイプ(データの登録を行う外部入力、帳票印刷や画面表示を行う外部出力、データの検索・照会を行う外部照会、システム内部のデータを保持する内部論理ファイル、外部システムと連携するデータである外部インターフェースファイル)の区分や定義を問う問題も出題されます。

関連する用語

開発にかかる労働量を見積もる工数見積りの代表的手法であり、PMBOKにおけるコスト・スコープ管理や、要件定義段階でイメージを擦り合わせるプロトタイピングなどと関連しています。

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ