ファンクションポイント法は何を数えて規模を求めるか
基本情報技術者試験 令和元年度秋期 午前 問53 / プロジェクトマネジメント › プロジェクトのコスト
過去問にチャレンジ
ソフトウェア開発の見積方法の一つであるファンクションポイント法の説明として,適切なものはどれか。
- ア
開発規模が分かっていることを前提として,工数と工期を見積もる方法である。ビジネス分野に限らず,全分野に適用可能である。
- イ
過去に経験した類似のソフトウェアについてのデータを基にして,ソフトウェアの相違点を調べ,同じ部分については過去のデータを使い,異なった部分は経験に基づいて,規模と工数を見積もる方法である。
- ウ
ソフトウェアの機能を入出力データ数やファイル数などによって定量的に計測し,複雑さによる調整を行って,ソフトウェア規模を見積もる方法である。
- エ
単位作業項目に適用する作業量の基準値を決めておき,作業項目を単位作業項目まで分解し,基準値を適用して算出した作業量の積算で全体の作業量を見積もる方法である。
会話形式の解説
講師見積方法を見分けるには、最初に何が分かっていて、最後に何を求めるかに注目します。
受験者どの説明も見積りの話なので、規模と作業量を混同していました。
講師ファンクションポイント法が求めるのは、ソフトウェアの規模です。利用者から見た機能を、入出力データやファイルなどを基に数え、複雑さを反映します。
受験者機能を数えて複雑さで調整する説明が、正解のウですね。
講師そのとおりです。では、開発規模が既に分かっていて、そこから工数と工期を求める説明はどうでしょうか。
受験者規模を求めるところから始める方法ではありません。出発点が違いますね。
講師そうです。過去の類似ソフトウェアを基に、共通点と相違点から推定する説明は、類推見積りに当たります。
受験者過去のデータを手掛かりにするので、機能を数える手順とは違います。
講師残る作業項目を細かく分ける説明は、各項目に基準値を当てて作業量を積み上げます。何を見積もっていますか。
受験者作業量です。機能を数えてソフトウェア規模を求めているわけではありません。
講師その区別が大切です。機能を数えて規模を求めるのか、分かっている規模から工数を求めるのかを確かめると、紛らわしい説明も整理できます。
まとめ
ファンクションポイント法は、入出力データやファイルなどを基に機能を数え、複雑さを反映してソフトウェア規模を見積もります。したがって正解はウです。既知の規模から工数を求める説明、過去の類似案件を基にする類推見積り、作業量を積み上げる説明とは区別します。
解答・解説
正解はウです
この問題のテーマ
ファンクションポイント法が、ソフトウェアの何を数えて規模を見積もる方法かを問う問題です。
解き方の考え方
各選択肢が最初に何を把握し、何を見積もるかに注目します。ファンクションポイント法では、利用者から見た機能を入出力やファイルなどを基に数え、複雑さを反映して規模を求めます。この流れに合う記述を選びます。
選択肢ごとの解説
- ×ア 開発規模が分かっていることを前提として,工数と工期を見積もる方法である。ビジネス分野に限らず,全分野に適用可能である。アの説明は、開発規模が既に分かっている状態から工数や工期を求めるものです。ファンクションポイント法では機能を計測して規模そのものを見積もるため、出発点と求める対象が異なります。
- ×イ 過去に経験した類似のソフトウェアについてのデータを基にして,ソフトウェアの相違点を調べ,同じ部分については過去のデータを使い,異なった部分は経験に基づいて,規模と工数を見積もる方法である。イの説明は、過去の類似ソフトウェアを手掛かりに、共通点と相違点から規模や工数を推定する類推見積りです。機能を数えて規模を求める手順を述べていないため、該当しません。
- ○ウ ソフトウェアの機能を入出力データ数やファイル数などによって定量的に計測し,複雑さによる調整を行って,ソフトウェア規模を見積もる方法である。ウの説明は、入出力データやファイルなどから機能を定量的に捉えています。その計測に複雑さを反映してソフトウェア規模を求めるので、ファンクションポイント法に当たります。
- ×エ 単位作業項目に適用する作業量の基準値を決めておき,作業項目を単位作業項目まで分解し,基準値を適用して算出した作業量の積算で全体の作業量を見積もる方法である。エの説明では、作業を単位作業項目まで分け、各項目に基準値を当てて作業量を積み上げます。見積もっているのは作業量であり、ソフトウェアの機能規模ではありません。
POINT
- 見積方法を見分けるときは、最初に分かっているものと、最後に求めるものを確認します。
- 過去の類似案件を基にする説明は、類推見積りに当たります。
- 作業ごとの量を積み上げる説明は、機能を数える説明とは区別します。
