基本情報技術者 2009年 秋期 午前(科目A) 問53
問題文
入力、出力などを基に複雑さを加味してシステム規模を見積もる方法であり、開発工数の見積りにも使われるものはどれか。
選択肢
ア:COCOMO
イ:標準タスク法
ウ:ファンクションポイント法(正解)
エ:プットナム(Putnum)モデル
🔒 解説は解答すると表示されます
ファンクションポイント法【午前解説】
正解の理由
選択肢ウのファンクションポイント法は、入力や出力、問合せ、内部データ群、外部インタフェースといった機能要素の個数と複雑度を基にシステムの規模を定量化します。算出した未調整機能点(UFP)に環境要因(VAF: Value Adjustment Factor)を掛けて最終的な機能点(FP)を得るため、「入力、出力などを基に複雑さを加味してシステム規模を見積もる」性質に一致します。得られたFPは履歴生産性(FP/人月)や言語別のFP→LOC換算係数を用いて開発工数や工数見積りに利用できます。
解法ステップ
- 問題文のキーワード(「入力」「出力」「複雑さを加味」「システム規模」)に注目する。
- 機能指向の見積り手法を思い浮かべる(入力・出力・問合せ・ファイル等を数える手法)。
- 選択肢を比較して、機能要素を基準にする手法(ファンクションポイント)が該当することを確認する。
- 他選択肢(LOCベースやタスク分解など)と照合して除外する。
選択肢別の誤答解説
-
ア: COCOMO
COCOMOは主にソース行数(KLOC)や規模指標、コストドライバによるパラメトリックモデルです。機能(入力/出力)を直接数える手法ではないため本問の条件とは一致しません(COCOMO IIではFPをKLOCに換算して利用する運用もあるが、本質はLOC系モデルです)。 -
イ: 標準タスク法
標準タスク法は作業を標準化したタスクごとの工数見積りや積算方式で、機能数(入力/出力)を基に集計する方法ではありません。プロジェクトの作業分解と標準時間適用が中心です。 -
ウ: ファンクションポイント法(正解)
入力(EI)、出力(EO)、問合せ(EQ)、内部論理ファイル(ILF)、外部インタフェースファイル(EIF)といった機能分類に重み付けと調整因子(VAF)を適用してFP値を算出します。算出したFPは経験値で工数に換算可能で、設問の条件に合致します。 -
エ: プットナム (Putnam) モデル
Putnam(SLIM)はRayleigh曲線に基づく人員配分とSLOC(ソース行数)などの大きさを用いるパラメトリックモデルで、入力/出力の個数ベースではありません。
よくある誤解
-
ファンクションポイントは「そのまま工数」ではない
FPは規模指標であり、実際の工数にするには組織固有の生産性(FP/人月)や言語ごとのFP→LOC換算係数を用いる必要があります。校正なしに直接人月に置き換えると誤差が大きくなります。 -
UFPと調整後FPを混同する
UFP(未調整機能点)とVAFを掛けた調整後のFPは別物です。両者を使い分けて考えることが重要です。 -
FPは自動で正確に出ると思い込む
カウントルールや複雑度判定には主観が介在します。複数人でレビューしてルールを揃えないと一貫性が取れません。
補足コラム
基本式:
- UFP = Σ(機能タイプごとの件数 × 重み)
- VAF = 0.65 + 0.01 × Σ(14の一般システム特性の評価値)
- FP = UFP × VAF
簡単なPython例(VAF計算とFP算出)。コメントの数値はコードの計算結果と一致しています。
def function_point(ufp, sum_factors):
# sum_factors: 14項目の評価値合計(通常 0〜70程度)
vaf = 0.65 + 0.01 * sum_factors
return ufp * vaf
print(function_point(120, 10)) # 約90.0 (VAF=0.75 → FP=120*0.75=90.0)
print(function_point(120, 45)) # 約132.0 (VAF=1.10 → FP=120*1.10=132.0)
FPを工数に変換する例(モデル化の一例):
- 組織の生産性が 6 FP/人月 の場合、FP=90 → 工数 ≈ 90/6 = 15 人月
生産性は開発手法やチーム熟練度で大きく変わるため、過去プロジェクトからの実績値で校正することが肝要です。
FAQ
Q1: FPはどの段階で使うのが有効ですか?
A1: 要件定義〜基本設計段階で有効です。ソース行数が確定していない早期段階でも機能ベースで規模評価ができ、早期見積りに適します。
A1: 要件定義〜基本設計段階で有効です。ソース行数が確定していない早期段階でも機能ベースで規模評価ができ、早期見積りに適します。
Q2: FPとLOC(SLOC)はどちらが良い?
A2: 用途によります。早期見積りや要件比較にはFP、低レベルの詳細見積りや実装時の生産性評価にはLOCが有用です。両者を相互に換算して使うこともありますが、換算係数の妥当性を確認してください。
A2: 用途によります。早期見積りや要件比較にはFP、低レベルの詳細見積りや実装時の生産性評価にはLOCが有用です。両者を相互に換算して使うこともありますが、換算係数の妥当性を確認してください。
Q3: VAFの14項目とは何ですか?
A3: 性能要求、配布性、再利用性、運用性などの一般的なシステム特性14項目で、それぞれ0〜5などで評価し合計します。合計がFPに与える調整を表現します。
A3: 性能要求、配布性、再利用性、運用性などの一般的なシステム特性14項目で、それぞれ0〜5などで評価し合計します。合計がFPに与える調整を表現します。
関連キーワード: ファンクションポイント、UFP、VAF、ILF、EO、見積もり、FP→工数変換、見積精度

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

