[0081] ファンクションポイント法

平成12年度秋期 (旧)第2情報処理技術者試験より
 ソフトウェア開発の工数を見積もる方法の一つであるファンクションポイント法の特徴として、適切なものはどれか。
開発すべき成果物と,それらの成果物を作成するための作業を洗い出し、それらの作業ごとに一定の基準で見積もるので、見積りの根拠がはっきりしている。
過去に類似システムがない場合は、適用が難しい。
プログラムステップ数算定の標準値や工数換算のための標準値を用いて、開発工数を比較的容易に計算できる。
ユーザから見える画面や帳票などを単位として見積もるので、ユーザにとって理解しやすい。

正解

解説

 見積手法のひとつであるファンクションポイント法に関する問題です。

 ファンクションポイント法はソフトウェアの機能要素を抽出し、その機能数および複雑さから、ファンクションポイント(すなわちソフトウェアの規模)を導き出す手法です。

 これまでソフトウェア規模の見積手法としては、LOC(Lines Of Code;プログラム行数)がよく利用されてきました。LOCは、プログラムの行数で計測するので見積は簡単ですが、当然ながらプログラムの書き方やアルゴリズムの実装方法によって大きく規模が変わってきます。

 新人プログラマが2,000行かかって記述したプログラムは、優秀なプログラマであれば1,000行で記述してしまうかもしれません。

 システム構成の潮流が、メインフレームからクライアントサーバシステム、3層システムと変遷してきた中で、LOCによる規模測定は困難になってきており、最近ではファンクションポイント法による規模見積が行なわれるようになってきています。

 ファンクションポイント法での規模見積方法は、下の説明を参考にしてください。

■ ファンクションポイント法での規模見積方法

(1) 機能・データのリストアップ

 見積対象のソフトウェアを、下図のように、EI(外部入力)、EO(外部出力)、EQ(外部照会)、ILF(内部論理ファイル)、EIF(外部インターフェースファイル)といった 5種類の機能、データへ分割します。



  • EI(外部入力):外部からのデータ入力を受付ける機能
  • EO(外部出力):外部でデータを出力する機能
  • EQ(外部入力):外部との入出力が一体となったデータ処理機能
  • ILF(内部論理ファイル):見積対象システムで管理するデータ
  • EIF(外部インターフェースファイル):外部システムが管理するデータのインターフェースとなるデータ
(2) 複雑さを考慮したポイント数の導出

 これらの機能、データの複雑さに応じて、ポイント数を計算します。機能の複雑さとは、その機能が扱う項目数、参照データ数であり、低・中・高にカテゴライズされます。EI、EO、EQでは、複雑さカテゴリ毎に規定のポイント数が決められています。
 ILF、EIFでは、項目数、レコード種類数から、低・中・高にカテゴライズされ、ポイント数が決定されます。
    [ EI ]
    ○○機能・・・項目数10、参照ファイル数1 → (複雑さ:低)ポイント数は 「3」
    ××機能・・・項目数20、参照ファイル数2 → (複雑さ:高)ポイント数は 「6」
     ・
     ・

    [ EO ]
     ・
     ・
(3) ファンクションポイントの決定

 機能、データについてポイント数を算定し、補正係数(システム特性や開発言語などによって決定される)をかけたものが、ファンクションポイントとなります。


 このようにファンクションポイントでは、要求された機能やデータに応じて規模が見積もることができるため、冒頭に述べたようなプログラマの経験や技術レベルに依存せず客観的な規模の指標を導出できるのが、最大の特徴と言えるでしょう。

 またユーザからみえる画面や帳票から機能数、複雑さを算定し、ファンクションポイントを計算するので、ユーザにとって理解し易い(納得できる)という側面もあります。

 したがって、エが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題