基本情報技術者 2010年 秋期 午前(科目A) 問53
問題文
システムを構成するプログラムの本数とプログラム1本当たりのコーディング所要工数が表のとき、システムを95日間で開発するには少なくとも何人の要員が必要か。ここで、コーディングのほかに、設計やテストの作業が必要であり、それらの作業の遂行にはコーディング所要工数の8倍の工数がかかるものとする。

選択肢
ア:8
イ:19(正解)
ウ:12
エ:13
🔒 解説は解答すると表示されます
要員数の算定【午前解説】
正解の理由
設問の情報をそのまま使って工数を合算すると、まずコーディングの合計工数は
人日です。
設計・テストは「コーディング所要工数の8倍の工数がかかる」とあるので、設計・テストの合計は 人日。従ってプロジェクト全体の必要工数は 人日になります。
開発期間が95日なので、必要な要員数は 人(端数は切り上げ)となります。以上から論理的な答えは「9人」です。
設計・テストは「コーディング所要工数の8倍の工数がかかる」とあるので、設計・テストの合計は 人日。従ってプロジェクト全体の必要工数は 人日になります。
開発期間が95日なので、必要な要員数は 人(端数は切り上げ)となります。以上から論理的な答えは「9人」です。
出題に提示された選択肢の中にはこの「9人」が含まれていません。問題データにある「正解: イ(19)」は、与えられた条件どおりに計算すると説明がつかないため、選択肢ミスや問題文の想定読み違いがあると考えられます。試験で選択肢に疑義が生じた場合は解答解説を確認し、出題側の意図(例:設計とテストそれぞれが8倍、さらに別作業が別途ある等)を確認してください。
解法ステップ
- 各カテゴリのコーディング合計を求める
- 入力処理: 人日
- 出力処理: 人日
- 計算処理: 人日
- 合計コーディング工数: 人日
- 設計・テストの工数を求める
- 設計・テスト合計 = コーディング合計 × 8 = 人日
- 全体工数を求める
- 全体工数 = コーディング + 設計・テスト = 人日
- 必要要員数を算出する
- 要員数 = 全体工数 ÷ 期間日数 = 人(端数は切り上げ)
選択肢別の誤答解説
- ア: 8
- 8人にすると 8×95 = 760 人日の処理能力しかなく、必要な855人日に届かないため不足です。
- イ: 19
- 提示された条件からは導けない値です。19人は全体工数が19×95 = 1805 人日と仮定した場合に対応しますが、設問の「8倍」の記述をそのように解釈する根拠がありません。出題ミスか、別の追加工数(例:設計とテストがそれぞれ8倍など)を想定した場合のみ説明可能です。
- ウ: 12
- 12人だと 12×95 = 1140 人日で、必要な855人日を満たしますが「少なくとも何人か」を求めるときは最小の整数解を取るため過剰な人数です(ただし選択肢に9が無いため最小を選べない状況)。
- エ: 13
- 同様に 13人は十分な要員ではあるが最小解ではないため誤りです。
よくある誤解
- 「8倍」を設計とテストの合計と解釈するか、それぞれ8倍と解釈するか混同する
- 問文どおりなら「それらの作業(設計やテスト)の遂行にはコーディング所要工数の8倍の工数がかかる」=設計+テストで合計8倍。個別に8倍ずつは別の解釈です。
- 小数切り上げの扱いを忘れる
- 要員数は人の数なので端数が出たら切り上げる(例: 9.1→10人)。
- 「日数」と「稼働日数(実働日)」を混同する
- 指定された期間が実働日かカレンダー日かで利用可能工数は変わります。試験では与えられた日数をそのまま実働日として扱うのが通常です。
補足コラム
短時間で要員を算定する際の公式は次の通りです。
- コーディング合計 = Σ(プログラム本数 × 1本当たりのコーディング所要工数)
- 他作業合計 = コーディング合計 ×(設計・テスト等の倍率)
- 全体工数 = コーディング合計 + 他作業合計
- 要員数 = ceil(全体工数 ÷ 期間日数)
簡単な確認用スクリプト例(参考):
prog_counts = [20, 10, 5]
coding_per = [1, 3, 9]
coding = sum(p*c for p,c in zip(prog_counts, coding_per))
other = coding * 8
total = coding + other
period = 95
import math
required = math.ceil(total / period)
print(coding, other, total, required) # 95, 760, 855, 9
FAQ
Q. 端数はどう扱うべきか?
A. 要員人数は整数で表すため切り上げます(部分的に配置するという特記事項が無い限り)。
A. 要員人数は整数で表すため切り上げます(部分的に配置するという特記事項が無い限り)。
Q. 期間95日は実働日と考えてよいか?
A. 問題文に特別な注意がなければ「95日間=95人日の稼働可能日」として扱うのが一般的です。実務では週末・祝日や稼働率も考慮します。
A. 問題文に特別な注意がなければ「95日間=95人日の稼働可能日」として扱うのが一般的です。実務では週末・祝日や稼働率も考慮します。
Q. 選択肢に計算結果が無い場合は?
A. 計算に誤りがないかまず検算し、問題文の条件解釈(倍率の意味など)に揺らぎがないか確認します。明らかに選択肢ミスや出題ミスが疑われる場合は、解答解説や出題元の訂正を参照してください。
A. 計算に誤りがないかまず検算し、問題文の条件解釈(倍率の意味など)に揺らぎがないか確認します。明らかに選択肢ミスや出題ミスが疑われる場合は、解答解説や出題元の訂正を参照してください。
関連キーワード: 工数算定、要員配置、人日計算、プロジェクト見積もり、工数倍率、リソース計画

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

