問44
頻出度★★★
要件定義後の外部設計, 内部設計, プログラミング, 結合テスト, システムテストを行う開発プロジェクトにおいて, 生産性を規模÷工数で表すものとする。プログラミングの生産性を1とした場合の内部設計と結合テストの生産性は2, 外部設計とシステムテストの生産性は4である。外部設計に1人月を要するとき, プロジェクト全体の工数は何人月必要か。
この問題の解説と、これまでの解答の記録です。
要件定義後の外部設計, 内部設計, プログラミング, 結合テスト, システムテストを行う開発プロジェクトにおいて, 生産性を規模÷工数で表すものとする。プログラミングの生産性を1とした場合の内部設計と結合テストの生産性は2, 外部設計とシステムテストの生産性は4である。外部設計に1人月を要するとき, プロジェクト全体の工数は何人月必要か。
5は規模を誤って2と置いた場合の合計(0.5+1+2+1+0.5=5)などに相当する。外部設計が1人月で生産性4という条件から規模=4を正しく導けておらず、全工程の工数が過小になっている。
7は外部設計1+内部設計2+プログラミング4=7のように、結合テスト(2人月)とシステムテスト(1人月)の工数を数え落とした場合の値。全5工程を合算しておらず誤り。
正解 生産性=規模÷工数の関係なので、工数=規模÷生産性で求める。開発規模はどの工程でも共通の値である。基準となる外部設計は生産性4で工数1人月を要するから、規模=生産性×工数=4×1=4となる。各工程の工数は、外部設計=4÷4=1人月、内部設計=4÷2=2人月、プログラミング=4÷1=4人月、結合テスト=4÷2=2人月、システムテスト=4÷4=1人月。合計は1+2+4+2+1=10人月となり、正解はウ。
13は生産性の数値をそのまま各工程の工数とみなし4+2+1+2+4=13とした誤り。生産性が高い工程ほど工数は小さくなる(反比例)という関係を取り違えている。