最終更新日:2026年7月31日
fe fe-technology software quality-management
まず結論
プログラムの修正費用の期待値は、全体の不良数から修正対象だけを段階的に絞り込み、最後に1件当たりの費用を掛けて求めます。
基本情報技術者試験では、次の流れに分けると計算しやすくなります。
プログラム規模 × 潜在不良率
→ 総不良数
総不良数 × 発見率
→ 発見される不良数
発見数 × 修正対象の割合
→ 修正する不良数
修正対象数 × 1件当たり修正費用
→ 修正費用の期待値
大切なのは、問題文に出てくる数値を全部使うことではありません。
「実際に修正する対象はどれか」を確認してから計算します。
直感的な説明
このタイプの問題は、箱の中から対象を順番に絞り込むイメージです。
例えば、プログラム全体に80件の不良が潜んでいるとします。
潜在する不良 80件
そのうち、初年度に見つかるのが20%なら、対象は16件になります。
80件 × 20% = 16件
さらに、その16件のうち影響度大が20%なら、修正対象は3.2件です。
16件 × 20% = 3.2件
影響度大の不良1件当たりの修正費用が200万円なら、期待される修正費用は次のようになります。
3.2件 × 200万円
= 640万円
途中で3.2件という小数が出ても問題ありません。
期待値は、同じ条件を何度も繰り返したときの平均的な見込みを表すためです。
定義・仕組み
期待値とは
期待値は、起こり得る結果を、その発生確率で重み付けした平均的な値です。
今回のような修正費用の問題では、次の2つを掛け合わせます。
発生すると見込まれる件数
×
1件当たりの費用
不良が実際に3.2件発生するという意味ではありません。
多数の同じようなプロジェクトを考えたとき、平均して3.2件分の修正費用が必要になるという意味です。
kステップとは
kステップのkは、1,000を表します。
1kステップ = 1,000ステップ
ただし、問題文でプログラム規模と不良率の両方がkステップ単位で示されている場合、単位を変換せずにそのまま掛けられます。
2,000kステップ
× 0.04件 / kステップ
= 80件
kステップが分子と分母で打ち消され、単位は件になります。
単位を付けて考える
計算式に単位を付けると、掛ける数値を間違えにくくなります。
2,000 kステップ
× 0.04件 / kステップ
= 80件
次に、割合を掛けても単位は件のままです。
80件 × 0.2 = 16件
16件 × 0.2 = 3.2件
最後に、1件当たりの費用を掛けます。
3.2件 × 200万円 / 件
= 640万円
このテーマは、基本情報技術者試験のソフトウェア品質やプロジェクト管理に関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験から確認できます。
科目Aでどう出る?
科目Aでは、プログラム規模、不良率、発見率、重大度別割合、修正費用などが与えられ、費用の期待値を選ぶ問題として出題されます。
基本の計算手順
次の条件を例に考えます。
プログラム規模:2,000kステップ
潜在不良率:0.04件 / kステップ
年間発見率:20%
影響度大の割合:20%
影響度大の修正費用:200万円 / 件
修正するのは影響度大だけ
1. 総不良数
2,000 × 0.04
= 80件
2. 初年度に発見される不良数
80 × 0.2
= 16件
3. 影響度大の不良数
16 × 0.2
= 3.2件
4. 修正費用の期待値
3.2 × 200万円
= 640万円
したがって、修正費用の期待値は640万円です。
一つの式にまとめる
慣れたら、次のように一つの式にまとめることもできます。
2,000 × 0.04 × 0.2 × 0.2 × 200万円
= 640万円
ただし、最初から一行にすると、どの割合を掛けたか分からなくなりやすいです。
試験では、次のように途中の対象を書きながら進める方が安全です。
総不良数 80件
発見される数 16件
影響度大 3.2件
修正費用 640万円
問題文の数値を全部使わない
例えば、影響度小について次の条件が書かれている場合があります。
影響度小:80%
修正費用:50万円 / 件
しかし、問題文に「修正するのは影響度大だけ」と書かれていれば、影響度小の条件は使いません。
問題文に数値がある
≠
必ず計算に使う
まず、修正対象を確認することが重要です。
どんな場面で使う?
修正費用の期待値は、ソフトウェア保守や品質管理の費用を見積もる場面で使います。
例えば、次のような判断に役立ちます。
- 初年度の保守予算を見積もる
- 品質改善に掛ける費用と修正費用を比較する
- 重大な不良を優先して修正する
- テスト強化による費用削減効果を検討する
期待値は、実際の費用を必ず正確に予言するものではありません。
実際のプロジェクトでは、不良の偏りや修正難易度によって費用が変わります。
それでも、複数の案件を計画したり、予算を比較したりするときの目安になります。
よくある誤解・混同
割合を足してしまう
発見率20%と影響度大20%を、40%として扱ってはいけません。
影響度大20%は、発見された不良の中の20%です。
80件 × 0.2 × 0.2
= 3.2件
全体から見ると、次の割合です。
0.2 × 0.2 = 0.04
つまり、総不良数の4%が初年度に発見される影響度大の不良です。
途中の小数を整数に丸める
期待値では、途中で3.2件のような小数が出ることがあります。
これを3件へ丸めると、期待値が変わってしまいます。
3.2件 × 200万円 = 640万円
3件 × 200万円 = 600万円
問題文に丸めの指示がなければ、途中では丸めません。
発見率を掛け忘れる
潜在している不良が、初年度にすべて見つかるとは限りません。
潜在不良数
≠
初年度の修正対象数
年間発見率が指定されている場合は、必ず掛けます。
影響度小の費用も加える
修正対象が影響度大だけなら、影響度小の費用は使いません。
修正対象を確認
↓
必要な割合と費用だけ使う
kステップをもう一度1,000倍する
プログラム規模が2,000kステップ、不良率が0.04件/kステップなら、そのまま掛けられます。
2,000 × 0.04 = 80件
両方の単位が対応しているため、さらに1,000倍する必要はありません。
まとめ(試験直前用)
- 修正費用の期待値は、対象を段階的に絞って求める
- プログラム規模 × 不良率で総不良数を求める
- 総不良数 × 発見率で発見される不良数を求める
- 発見数 × 対象割合で修正対象数を求める
- 修正対象数 × 1件当たり費用で修正費用を求める
- 複数の割合は足さずに順番に掛ける
- 問題文に出た数値をすべて使うとは限らない
- 期待値では途中の小数を勝手に丸めない
kステップ同士で単位が対応していれば、そのまま掛ける
規模 × 不良率
→ 総不良数
× 発見率
→ 発見数
× 修正対象割合
→ 修正対象数
× 1件当たり費用
→ 修正費用の期待値