平成21年 春期 プロジェクトマネージャ 午前II 問1

次のシステム開発において、コードインスペクションを行うことによって期待できる効果(削減できる時間)は何時間か。
ここで、NCSSはソースコードの注釈を除いた文の個数とする。
また、バグ発見率=発見したバグ数÷すべてのバグ数 とする。

  • システムの規模:6,000NCSS
  • システムに存在するバグの推定値:1,000NCSS当たり5件
  • バグ発見率:コードインスペクションを行った場合、バグ発見率は90%であり、残りのバグは単体テスト意向で発見される。
    コードインスペクションを行わなかった場合、すべてのバグは単体テスト意向で発見される。
  • コードインスペクションに要する時間:1,000NCSS当たり4時間
  • コードインスペクションでバグが発見された場合の1件当たりの修復時間:1時間
  • 単体テスト意向でバグが発見された場合のバグ1件当たりの修復時間:5時間
 ア  66  イ  84  ウ  99  エ  108


答え イ


解説
システムに存在するバグの数は1,000NCSS当たり5件で、システム規模が6,000NCSSなので
 6,000NCSS×5件/1,000NCSS=30件
30件のバグが単体テスト以降で発見された場合の修復時間は、1件のバグの修復時間が5時間なので
 30件×5時間/件=150時間 …(1)
6,000NCSSのシステムのコードインスペクションに要する時間は
 6,000NCSS×4時間/1,000NCSS=24時間 …(2)
コードインスペクションを行いバグの90%がコードインスペクションで検出され修復に要する時間
 30件×90%×1時間/件=27時間 …(3)
コードインスペクションで発見されなかったバグが単体テスト以降で発見され修復に要する時間
 30件×10%×5時間/件=15時間 …(4)
コードインスペクションを行わなかったときのバグの修復時間は(1)=150時間
コードインスペクションを行ったときのバグの修復時間は(2)+(3)+(4)=24+27+15=66時間 …(5)
したがって、削減できた時間は
 (1)-(5)=150-66=84時間
(イ)になる。


キーワード
・コードインスペクション

キーワードの解説
  • コードインスペクション(code inspection)
    プログラミング工程で見過ごされた誤り(バグ)を検出し修正するためにソースコードを机上でチェックすることです。(コードレビュー)
    コードインスペクションを行うツールもあります。

もっと、「コードインスペクション」について調べてみよう。

戻る 一覧へ 次へ