ITパスポート 2009年 春期 問41
問題文
ファンクションポイント法に関する記述はどれか。
選択肢
ア:ソフトウェアのもつ機能の数を基に、その規模を見積もる手法(正解)
イ:プログラムの行数やファイルサイズなどを基に、ソフトウェアの規模を見積もる手法
ウ:見積担当者の経験から楽観値や悲観値を割り出してソフトウェアの規模を見積もる手法
エ:予想されるプログラム行数にエンジニアの能力や要求の信頼性などの補正係数を掛け合わせて開発工数や期間、要員や生産性を見積もる手法
🔒 解説は解答すると表示されます
ファンクションポイント法に関する記述はどれか【ITパスポート 解説】
正解の理由
正解は、ソフトウェアが「何をするか(機能)」の観点で数える方法を述べている選択肢、すなわち ア です。
ファンクションポイント(Function Point:ソフトウェアの機能規模を数量化する単位)は、ユーザーや外部から見える機能(例:入力画面、出力帳票、問い合わせ、内部データ、外部データ参照)を数え、それに重み付けや補正を行って規模を出します。コードの行数や担当者の主観的な見積もりではなく、「機能の数とその種類」を基にする点が特徴です。
ファンクションポイント(Function Point:ソフトウェアの機能規模を数量化する単位)は、ユーザーや外部から見える機能(例:入力画面、出力帳票、問い合わせ、内部データ、外部データ参照)を数え、それに重み付けや補正を行って規模を出します。コードの行数や担当者の主観的な見積もりではなく、「機能の数とその種類」を基にする点が特徴です。
解法ステップ
- 問題文でのキーワードを探す
- 「機能の数」「機能を基に」→ ファンクションポイントを連想
- 「行数」「ファイルサイズ」→ 行数ベース(LOC)やコード量に関する手法
- 「楽観値・悲観値」→ 3点見積もりや専門家の判断による手法
- 「補正係数を掛ける」かつ「予想される行数」→ COCOMOのようなコード量ベースの手法
- 各選択肢とキーワードを照合する
- 機能ベースならファンクションポイント(正解)と判断する
- 選択肢を排除して確定する
- 行数ベースや経験ベースの記述を除外して、機能数ベースを選ぶ
短く覚えるコツ:ファンクションポイントは「機能ベース」、LOC/行数系は「コードベース」、楽観/悲観は「経験・確率ベース」です。
選択肢別の誤答解説
- ア(正解)
ソフトウェアの「機能の数」を基に規模を見積もる方法。言語や実装方法に依存しないため、要件定義の早い段階でも使える利点があります。実際は「外部入力(EI)」「外部出力(EO)」「外部照会(EQ)」「内部論理ファイル(ILF)」「外部インタフェースファイル(EIF)」などの機能タイプを数え、複雑度に応じた重みを掛けて合計し、さらに補正因子を掛けて算出します。 - イ
プログラムの行数やファイルサイズを基にした見積もりです。プログラムの行数(LOC:Lines Of Code)を用いる手法は、実装後や詳細設計の後でしか推定がしにくく、言語ごとに生産性が違うため早期見積もりには向きません。ファンクションポイントとは根本的に異なります。 - ウ
見積担当者の経験から楽観値や悲観値を出す方法は、「三点見積もり」や「専門家評価」にあたります(例:PERT法やデルファイ法)。これは主観的・確率的手法であり、ファンクションポイントの定義とは違います。 - エ
「予想されるプログラム行数にエンジニアの能力や要求の信頼性などの補正係数を掛ける」方法は、COCOMO(Constructive Cost Model:構造化コスト見積もりモデル)などのコード量ベースのモデルに似ています。これもファンクションポイントとは別種の見積手法です。
よくある誤解
- 「ファンクションポイントは画面やボタンの数を数えるだけ」
→ 実際はユーザーから見える機能(入力・出力・照会・内部ファイル・外部インタフェース)を「機能タイプごと」に数え、複雑度で重み付けします。単純に画面数だけを数えるものではありません。 - 「ファンクションポイントはコード行数と同じで言語に依存する」
→ 逆にファンクションポイントは言語に依存しない設計・要件ベースの指標です。コード行数(LOC)は言語やコーディングスタイルで大きく変わります。 - 「早い段階で使えない」
→ 要件定義の段階でも使えます。実装前に機能の粒度を見て評価できるため、初期見積もりに向いています。
補足コラム
ファンクションポイントの計算の流れ(簡略版)
- 機能を5種類に分類して数える(EI, EO, EQ, ILF, EIF)
- EI(External Inputs:外部入力)=ユーザーが入力する処理(例:受注入力)
- EO(External Outputs:外部出力)=帳票や出力結果(例:請求書出力)
- EQ(External Inquiries:外部照会)=問い合わせ処理(例:検索と参照のみ)
- ILF(Internal Logical File:内部論理ファイル)=システム内で管理するデータ群
- EIF(External Interface File:外部インタフェースファイル)=他システムのデータ参照
- 各タイプごとに「単純・中程度・複雑」などで重みを付け、合計してUFP(Unadjusted Function Points)を求める。
- システム特性(例:処理性能、データ通信、再利用性など14項目)を評価してTDI(Total Degree of Influence)を算出し、VAF(Value Adjustment Factor)を求める。
- 一般的な式:
- 最終的なファンクションポイントは で算出されます。
例:UFP=50、TDI=20 の場合、、 となります。
このFP値から過去のプロジェクトの生産性(例:1FPあたりの工数)を使って工数や期間を見積もる運用が一般的です。
FAQ
Q1: ファンクションポイントはいつ使うと良いですか?
A1: 要件定義・基本設計の段階で使うのが適しています。実装前に機能規模を定量化できるため、早期の見積もりや比較に向きます。
A1: 要件定義・基本設計の段階で使うのが適しています。実装前に機能規模を定量化できるため、早期の見積もりや比較に向きます。
Q2: LOC(行数)と比べてなぜ優れているのですか?
A2: LOCは言語や実装方法に依存しますが、ファンクションポイントはユーザー観点の機能ベースで言語非依存です。したがって異なる技術間やプロジェクト間の比較がしやすい利点があります。
A2: LOCは言語や実装方法に依存しますが、ファンクションポイントはユーザー観点の機能ベースで言語非依存です。したがって異なる技術間やプロジェクト間の比較がしやすい利点があります。
Q3: ファンクションポイントの欠点は?
A3: カウント基準を統一しないとばらつきが出る、スコープが曖昧だと正確なカウントが難しい、慣れるまで分類や重み付けが手間、などがあります。
A3: カウント基準を統一しないとばらつきが出る、スコープが曖昧だと正確なカウントが難しい、慣れるまで分類や重み付けが手間、などがあります。
Q4: 小規模開発でも使えますか?
A4: 使えますが、相対的にカウントの手間が見合わない場合もあります。運用コストと得られる精度を天秤にかけて判断します。
A4: 使えますが、相対的にカウントの手間が見合わない場合もあります。運用コストと得られる精度を天秤にかけて判断します。
関連キーワード: ファンクションポイント、機能規模、UFP、VAF、TDI、EI EO EQ ILF EIF、LOC、行数見積もり、COCOMO、三点見積もり、工数見積もり、見積手法、ソフトウェア規模、要件見積もり

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

