平成21年度 春期 午前Ⅱ 問1
プロジェクトの品質
コードインスペクションの問題
次のシステム開発において,コードインスペクションを行うことによって期待できる効果(削減できる時間)は何時間か。ここで,NCSSはソースコードの注釈を除いた文の個数とする。また,バグ発見率=発見したバグ数÷すべてのバグ数とする。
- システムの規模:6,000NCSS
- システムに存在するバグ数の推定値:1,000NCSS当たり5件
- バグ発見率:コードインスペクションを行った場合,バグ発見率は90%であり,残りのバグは単体テスト以降で発見される。コードインスペクションを行わなかった場合,すべてのバグは単体テスト以降で発見される。
- コードインスペクションに要する時間:1,000NCSS当たり4時間
- コードインスペクションでバグが発見された場合のバグ1件当たりの修復時間:1時間
- 単体テスト以降でバグが発見された場合のバグ1件当たりの修復時間:5時間
- ア66
- イ84
- ウ99
- エ108
答えと解説を見る
✓ これが正解イ84
解説
行わない場合150時間と行う場合66時間の差で、84時間を削減できます。
削減できる時間は、コードインスペクションを行わない場合の総時間から、行う場合の総時間を引いて求めます。バグ数は6,000NCSS÷1,000×5件=30件です。行わない場合は30件すべてを単体テスト以降で直すので、30×5=150時間です。行う場合は、インスペクションそのものに6×4=24時間、見つかる27件(30×0.9)の修復に27×1=27時間、見逃した3件の修復に3×5=15時間かかり、合計66時間です。差は150−66=84時間となり、正解の値と一致します。インスペクションに要する時間も費用の側に入れ、二つの場合の総時間を並べて比べるのが見分け方です。
ほかの選択肢はなぜ違うのか
- ア66:66時間は、コードインスペクションを行った場合にかかる時間の合計(実施24時間+早期の修復27時間+見逃し3件の修復15時間)そのものです。問われているのは削減できる時間なので、行わない場合の150時間との差を取る必要があります。
- ウ99:150時間から実施の24時間と早期の修復27時間だけを引くと99時間になります。インスペクションで見逃した3件を単体テスト以降で直す15時間を差し引き忘れた値で、行った場合の負担を小さく見積もっています。
- エ108:早期に見つかる27件について、修復時間が5時間から1時間へ縮む分(27×4)だけを数えると108時間になります。インスペクションの実施に要する24時間を差し引いておらず、効果を大きく見すぎています。
この問題の用語
- ソースコード人が読み書きできる形で書かれた、プログラムそのものです。コンパイラなどで、コンピュータが実行できる形に変換して使います。
- テスト決めたとおりに動くかを、実際に動かして確かめる作業のこと。何を確かめるかによって移行テスト、システムテストなどと呼び分けます。
出典:平成21年度 春期 プロジェクトマネージャ試験 午前Ⅱ 問1
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問17:バグトラッキングシステムの説明(ソースコード)
- 令和5年度 秋期 午前Ⅱ 問25:ファジングに関する問題(ソースコード)
- 令和5年度 秋期 午前Ⅱ 問17:著作権に関する問題(ソースコード)
- 令和2年度 10月 午前Ⅱ 問25:ファジングに関する問題(ソースコード)
- 令和2年度 10月 午前Ⅱ 問12:保守性の評価指標になるもの(ソースコード)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)