基本情報技術者 2013年 春期 午後 問06
ソフトウェア開発の品質管理に関する次の記述を読んで、設問1,2に答えよ。
システム開発プロジェクトXでは、四つの機能で構成される新規ソフトウェアを4チーム(P〜Sチーム)が分担して開発している。このプロジェクトでは、内部設計工程及びプログラミング工程で品質を確保し、できるだけ単体テストを含むテスト工程に欠陥を持ち越さないよう、品質管理及び欠陥の摘出に努めている。
〔各工程での品質管理の説明〕
(1) 内部設計工程では、内部設計書の設計レビューを行う。設計レビューでは、設計担当者を含めたチーム内のメンバ3名以上によるチームレビューを行う。
(2) プログラミング工程では、ソースプログラムのコードレビューを行う。コードレビューには、セルフレビュー及びペアレビューがある。プログラミング担当者が単独で行うのがセルフレビューであり、プログラミング担当者ともう1名でペアを組んで行うのがペアレビューである。セルフレビューの終了後にペアレビューを行う。
(3) 各工程における品質管理指標の基準値及び許容範囲は、表1及び表2のとおりに設定している。基準値は、レビューの品質を判定する際の基準であり、各機能のソースプログラム規模1kステップ当たりのレビュー時間又は摘出欠陥数を設定している。許容範囲は合格の範囲を示している。これらの値は、プロジェクトメンバの過去の類似プロジェクトでの実績データを基に設定している。
なお、ソースプログラム規模は、内部設計工程では開始時点での見積りステップ数であり、プログラミング工程ではコーディング終了時点の実ステップ数である。


(4) 表2で示した値はプログラミング工程の全てのコードレビューが終了した時点での品質管理指標であり、コードレビューの内訳として、セルフレビューが終了した時点での摘出欠陥数の許容範囲は、基準値の0.4〜0.6倍である。
(5) 各工程では、品質管理指標の計画値と実績値との差を調べてレビューの品質を評価する。品質管理指標の実績値が全て許容範囲内ならば、その工程での品質は合格の水準に達しているとし、次の工程へ進む。実績値が許容範囲を外れている場合は、レビュー内容などを基に実績値の適切さをプロジェクトリーダが評価し、適切であると判定した場合には合格として次の工程へ進む。適切でないと判定した場合には不合格とみなし、品質確保への改善策を講じる。
設問1:
問題文を見る 内部設計工程での品質管理指標の計画値と実績値との差異分析に関する次の記述中のに入れる適切な答えを、解答群の中から選べ。
各チームが分担する総規模及び内部設計工程を終了した時点での品質管理指標の実績値は、表3のとおりである。
なお、表中の分担総規模は内部設計工程の開始時点に見積もったソースプログラムのステップ数であり、内部設計期間中にこの値は変わらない。

プロジェクトリーダは、設計レビュー時間及び摘出欠陥数の実績値がともに許容範囲内であるaチームの設計レビューを合格とした。残りのチームについては、実績値の適切さを評価して、設計レビュー時間及び摘出欠陥数がともに許容範囲を外れているbチームを不合格と判定した。
a, bに関する解答群
ア:P
イ:Q
ウ:R
エ:S
オ:PとQ
カ:PとR
キ:QとR
ク:QとS
模範解答
a:エ、b:ウ
解説
解答の導き方
求めるのは、設計レビュー時間と摘出欠陥数の実績値を、各チームの分担規模に合わせて比べたとき、どのチームが条件に当てはまるかです。
本文では、品質管理指標(品質を数値で確かめるための目安)を「1kステップ当たり」で設定すると説明されています。kは1,000を表すため、各チームの実績値を分担総規模で割り、1kステップ当たりの値に直してから比較します。総時間や欠陥数のまま比べると、担当する規模の違いが影響してしまうためです。
まず、表1の基準値と許容範囲から、合格範囲を求めます。
- 設計レビュー時間:~なので、~時間/kステップ
- 摘出欠陥数:~なので、~件/kステップ
次に、表3の実績値を分担総規模で割ります。
設計レビュー時間と摘出欠陥数の両方が許容範囲内なのは、Sチームです。したがって、aはSで、解答群ではエです。
一方、両方の実績値が許容範囲を外れているのはRチームです。PチームとQチームは、それぞれ一方の値が許容範囲内です。したがって、bはRで、解答群ではウです。
誤りやすいポイント
- チームごとの総時間や総欠陥数を、そのまま基準値と比べないようにします。基準値は1kステップ当たりなので、分担総規模で割ってから比べます。
- 「ともに許容範囲内」と「ともに許容範囲を外れている」を混同しないようにします。PとQは一方だけが範囲外で、両方が範囲外なのはRです。
- 許容範囲の端の値も範囲内です。Sチームの設計レビュー時間は下限の時間/kステップですが、合格範囲に含まれます。
FAQ
Q: Qチームは摘出欠陥数が許容範囲外なのに、なぜbではないのですか?
A: Qチームの摘出欠陥数は範囲外ですが、設計レビュー時間は時間/kステップで範囲内です。bの条件は、二つの実績値が「ともに」範囲外であることです。
A: Qチームの摘出欠陥数は範囲外ですが、設計レビュー時間は時間/kステップで範囲内です。bの条件は、二つの実績値が「ともに」範囲外であることです。
Q: 実績値を分担総規模で割るのはなぜですか?
A: チームごとに担当する規模が異なるからです。1kステップ当たりの値にそろえると、規模の違いに左右されずに比較できます。
A: チームごとに担当する規模が異なるからです。1kステップ当たりの値にそろえると、規模の違いに左右されずに比較できます。
Q: Sチームの設計レビュー時間は、下限と同じでも合格ですか?
A: 合格です。許容範囲は~時間/kステップなので、下限のも範囲内です。
A: 合格です。許容範囲は~時間/kステップなので、下限のも範囲内です。
関連キーワード: 品質管理指標、設計レビュー、基準値、許容範囲、欠陥密度
設問2:
問題文を見る あるチームのメンバであるYさんは、週ごとにコーディングしたソースプログラムのセルフレビューを、その週内で行っている。Yさんのプログラミング工程での作業開始から4週間の週ごとのセルフレビューの実績値は表4のとおりであった。Yさんが担当するプログラムの品質評価に関する次の記述中のに入れる適切な答えを、解答群の中から選べ。

まず、Yさんのセルフレビューでの摘出欠陥数の4週間の合計は、c。次に、週ごとの1kステップ当たりの摘出欠陥数を計算して、許容範囲による判定及び週ごとでの変化を評価した。週ごとの1kステップ当たりの摘出欠陥数は、d。
プロジェクトリーダは、セルフレビューの内容を評価した結果、セルフレビューを終了し、ペアレビューを実施するように指示した。
なお、セルフレビューでの許容範囲を外れた週に関して、ペアレビューで摘出すべき欠陥数の目標値は次のように求める。
(1) セルフレビューでの許容範囲を上回っていた週は、コードレビューでの許容範囲の上限を上回る最小の整数値から、セルフレビューでの摘出欠陥数の実績値を減じた値とする。ただし、セルフレビューでの摘出欠陥数の実績値はコードレビューでの許容範囲の上限を上回る最小の整数値を超えないものとする。
(2) セルフレビューでの許容範囲を下回っていた週は、コードレビューでの許容範囲の下限を上回る最小の整数値から、セルフレビューでの摘出欠陥数の実績値を減じた値とする。
したがって、セルフレビューでの許容範囲から外れていた週のソースプログラム群に対して、ペアレビューで摘出すべき欠陥数の目標値は、合計でe件である。
cに関する解答群
ア:許容範囲内にある
イ:許容範囲の下限に満たない
ウ:許容範囲の上限を超えている
dに関する解答群
ア:週が進むにつれて値が段々と上がっている
イ:週が進むにつれて値が段々と下がっている
ウ:週によって許容範囲を上回ったり下回ったりムラがある
エ:どの週も許容範囲を上回ることはないが下回る週がある
オ:どの週も許容範囲を下回ることはないが上回る週がある
eに関する解答群
ア:7
イ:8
ウ:9
エ:10
オ:11
模範解答
c:ア、d:ウ、e:エ
解説
解答の導き方
この問題では、レビュー(設計書やプログラムを確認して、誤りを見つける作業)で見つけた欠陥の数を、プログラムの規模に合わせて評価します。規模をそろえて比べるため、摘出欠陥数は「1kステップ当たり」で計算します。1kステップは1,000ステップです。
1. セルフレビューの許容範囲を確認します
本文では、プログラミング工程のコードレビュー全体の基準値を「6.0件/kステップ」とし、セルフレビューでの許容範囲を基準値の「0.4〜0.6倍」としています。
したがって、セルフレビューで許容される摘出欠陥数は、1kステップ当たり次の範囲です。
つまり、2.4〜3.6件/kステップが許容範囲です。
2. 4週間の合計を判定します
表4の摘出欠陥数を合計すると、次のとおりです。
レビュー規模の合計は9.0kステップなので、1kステップ当たりの摘出欠陥数は次のように計算できます。
これは許容範囲の2.4〜3.6件/kステップに入っています。そのため、4週間の合計は許容範囲内にあり、cはアです。
3. 週ごとの値を計算し、変化を確認します
各週の摘出欠陥数を、その週のレビュー規模で割ります。
第3週は許容範囲の上限である3.6を超え、第4週は下限である2.4を下回っています。週が進むにつれて単純に上がる、または下がるのではなく、週によって上回ったり下回ったりしています。したがって、dはウです。
4. 許容範囲を外れた週のペアレビュー目標を求めます
ペアレビュー(担当者ともう1名で行うレビュー)で補う欠陥数は、第3週と第4週について求めます。
コードレビュー全体の許容範囲は、基準値6.0件/kステップの0.9〜1.1倍です。
つまり、コードレビュー全体では、5.4〜6.6件/kステップが許容範囲です。
-
第3週は2.0kステップで、セルフレビューの摘出欠陥数は8件です。コードレビュー全体の許容範囲の上限は、件です。この上限を上回る最小の整数は14件なので、ペアレビューで摘出すべき数は次のとおりです。
-
第4週は1.0kステップで、セルフレビューの摘出欠陥数は2件です。コードレビュー全体の許容範囲の下限は5.4件です。この下限を上回る最小の整数は6件なので、ペアレビューで摘出すべき数は次のとおりです。
合計すると、ペアレビューで摘出すべき欠陥数の目標値は次のとおりです。
したがって、eはエです。
誤りやすいポイント
-
欠陥数だけで週ごとの実績を比べないこと
週ごとにレビューしたプログラムの規模が違います。欠陥数をそのまま比べず、レビュー規模で割って1kステップ当たりの値にします。 -
合計と週ごとの判定を混同しないこと
4週間の合計は許容範囲内ですが、第3週と第4週は範囲外です。合計で合格の範囲に入っていても、週ごとの値がすべて範囲内とは限りません。 -
許容範囲の境界を整数にするときに、単に四捨五入しないこと
第3週は上限13.2件を上回る最小の整数なので14件です。第4週は下限5.4件を上回る最小の整数なので6件です。 -
ペアレビューの目標値は、目標となる合計数からセルフレビューの実績を引くこと
目標値そのものをペアレビューで見つけるのではありません。セルフレビューで既に見つけた数を差し引きます。
FAQ
Q: 4週間の合計が許容範囲内なら、ペアレビューは不要ではありませんか?
A: 合計の判定と週ごとの判定は別です。この問題では、第3週と第4週がセルフレビューの許容範囲を外れているため、その週のプログラムを対象にペアレビューの目標値を計算します。
A: 合計の判定と週ごとの判定は別です。この問題では、第3週と第4週がセルフレビューの許容範囲を外れているため、その週のプログラムを対象にペアレビューの目標値を計算します。
Q: 第3週の上限13.2件を超える最小の整数が14件なのはなぜですか?
A: 13件は13.2件を超えていません。14件なら13.2件より大きいため、「上限を上回る最小の整数値」は14件です。
A: 13件は13.2件を超えていません。14件なら13.2件より大きいため、「上限を上回る最小の整数値」は14件です。
Q: 第4週では、なぜ下限の5.4件ではなく6件を使うのですか?
A: 指示は「下限を上回る最小の整数値」です。5件は5.4件より小さく、5.4件を上回る最小の整数は6件です。
A: 指示は「下限を上回る最小の整数値」です。5件は5.4件より小さく、5.4件を上回る最小の整数は6件です。
関連キーワード: 品質管理指標、コードレビュー、セルフレビュー、摘出欠陥数、許容範囲



