(57)【特許請求の範囲】
【請求項１】
ソフトウェアに混入している欠陥の数を予測する欠陥数予測装置であり、
ソフトウェアを品質によって分類した品質グループ毎に、ソフトウェアに関する情報であるソフトウェア情報からそのソフトウェアに混入している欠陥の予測数を計算する予測ロジックを記憶する予測ロジック記憶部と、
前記予測ロジック記憶部が記憶した各品質グループの予測ロジックを用いて、対象のソフトウェアについてのソフトウェア情報から、前記対象のソフトウェアが各品質グループに属する場合に混入している欠陥の予測数を計算する予測ロジック計算部と、
前記対象のソフトウェアについてのソフトウェア情報から、前記対象のソフトウェアが各品質グループに属する確率を計算する確率計算部と、
前記各品質グループについて、前記確率計算部が計算した前記対象のソフトウェアがその品質グループに属する確率を、前記予測ロジック計算部が計算した前記対象のソフトウェアがその品質グループに属する場合に混入している欠陥の予測数に乗じて、重み付き予測数を計算し、計算した重み付き予測数を合計して、前記対象のソフトウェアに混入している欠陥の予測数を計算する混入予測数計算部と
を備えることを特徴とする欠陥数予測装置。
【請求項２】
前記予測ロジック記憶部は、ソフトウェアの開発を行う開発チームとソフトウェアとの条件毎に、予測ロジックを記憶し、
前記予測ロジック計算部は、前記対象のソフトウェアの開発を行う開発チームと前記対象のソフトウェアとが該当する条件についての予測ロジックを用いて、前記対象のソフトウェアが各品質グループに属する場合に混入している欠陥の予測数を計算し、
前記混入予測数計算部は、重み付き予測数を合計して、前記条件において前記対象のソフトウェアに混入している欠陥の予測数を計算する
ことを特徴とする請求項１に記載の欠陥数予測装置。
【請求項３】
前記予測ロジック記憶部は、ソフトウェアの開発工程毎に、予測ロジックを記憶し、
前記予測ロジック計算部は、対象の開発工程についての予測ロジックを用いて、前記対象のソフトウェアが各品質グループに属する場合に混入している欠陥の予測数を計算し、
前記混入予測数計算部は、重み付き予測数を合計して、前記対象の開発工程において前記対象のソフトウェアに混入している欠陥の予測数を計算する
ことを特徴とする請求項１又は２に記載の欠陥数予測装置。
【請求項４】
前記欠陥数予測装置は、さらに、
前記混入予測数計算部が計算した予測数から、前記対象の開発工程において発見された欠陥の数を減じて、前記対象の開発工程において残っている欠陥の予測数である残予測数を計算する残予測数計算部と、
ソフトウェアの開発工程毎に、残予測数の閾値を記憶する閾値記憶部と、
前記残予測数計算部が計算した前記対象の開発工程における残予測数が、前記閾値記憶部が記憶した前記対象の開発工程における閾値以上であるか否かを判定する残予測数判定部と
を備えることを特徴とする請求項３に記載の欠陥数予測装置。
【請求項５】
前記欠陥数予測装置は、さらに、
残予測数が閾値以上であると前記残予測数判定部が判定した場合に、前記残予測数から前記対象の開発工程における残作業数を計算する残作業数計算部
を備えることを特徴とする請求項４に記載の欠陥数予測装置。
【請求項６】
前記欠陥数予測装置は、さらに、
既存のソフトウェアを品質によって分類した品質グループ毎に、前記既存のソフトウェアについてのソフトウェア情報であって、その品質グループに属する既存ソフトウェアについてのソフトウェア情報と、その品質グループに属する既存ソフトウェアに混入していた欠陥の数とに基づき、予測ロジックを生成する予測ロジック生成部
を備え、
前記予測ロジック記憶部は、前記予測ロジック生成部が生成した予測ロジックを記憶する
ことを特徴とする請求項１から５までのいずれか１項に記載の欠陥数予測装置。
【請求項７】
ソフトウェアを品質によって分類した品質グループ毎に、ソフトウェアに関する情報であるソフトウェア情報からそのソフトウェアに混入している欠陥の予測数を計算する予測ロジックを記憶した記憶装置を用い、ソフトウェアに混入している欠陥の数を予測する欠陥数予測プログラムであり、
前記記憶装置に記憶された各品質グループの予測ロジックを用いて、対象のソフトウェアについてのソフトウェア情報から、前記対象のソフトウェアが各品質グループに属する場合に混入している欠陥の予測数を計算する予測ロジック計算処理と、
対象のソフトウェアについてのソフトウェア情報から、前記対象のソフトウェアが各品質グループに属する確率を計算する確率計算処理と、
前記各品質グループについて、前記確率計算処理で計算した前記対象のソフトウェアがその品質グループに属する確率を、前記予測ロジック計算処理で計算した前記対象のソフトウェアがその品質グループに属する場合に混入している欠陥の予測数に乗じて、重み付き予測数を計算し、計算した重み付き予測数を合計して、前記対象のソフトウェアに混入している欠陥の予測数を計算する混入予測数計算処理と
をコンピュータに実行させることを特徴とする欠陥数予測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ソフトウェアに混入した欠陥の数を予測する技術に関する。
【背景技術】
【０００２】
ソフトウェア開発は、外部設計や内部設計等の設計フェーズ、製作フェーズ、単体試験や結合試験等の試験フェーズ等、複数のフェーズに分けられる。ソフトウェア開発においては、設計フェーズ、製作フェーズにおいて、欠陥が混入する。混入した欠陥は、各フェーズにおいて実施されるレビューや、試験フェーズにおいて、除去される。除去されず、残ってしまった欠陥は、出荷後に不具合を起こす原因となる。
したがって、できる限り、混入した欠陥を出荷前に除去する必要がある。
【０００３】
また、前のフェーズで混入した欠陥が原因となって、後のフェーズで多くの欠陥が混入する場合がある。そのため、次のフェーズに進む前に、できるだけ欠陥を除去しておくことが望ましい。
【０００４】
混入している欠陥の数が分かれば、各フェーズにおいて実施されるレビューで除去すべき欠陥の数や、試験フェーズで除去すべき欠陥の数の目安が分かる。
従来は、開発規模を基準とした、混入している欠陥の数の大まかな予測値を用いて、レビューで除去すべき欠陥の数や、試験フェーズで除去すべき欠陥の数の目安を定めていた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２４２８１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、混入する欠陥の数は、開発規模のみによって定まるものではなく、開発するソフトウェアの属性や開発チームの能力等によって大きく異なるものである。そのため、従来用いていた予測値では、現実との相違が大きい場合があり、正しく機能していなかった。
この発明は、ソフトウェアに混入している欠陥の数を過去の実績値を元に的確に予測することを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る欠陥数予測装置は、
ソフトウェアに混入している欠陥の数を予測する欠陥数予測装置であり、
ソフトウェアを品質によって分類した品質グループ毎に、ソフトウェアに関する情報であるソフトウェア情報からそのソフトウェアに混入している欠陥の予測数を計算する予測ロジックを記憶する予測ロジック記憶部と、
前記予測ロジック記憶部が記憶した各品質グループの予測ロジックを用いて、対象のソフトウェアについてのソフトウェア情報から、前記対象のソフトウェアが各品質グループに属する場合に混入している欠陥の予測数を計算する予測ロジック計算部と、
前記対象のソフトウェアについてのソフトウェア情報から、前記対象のソフトウェアが各品質グループに属する確率を計算する確率計算部と、
前記各品質グループについて、前記確率計算部が計算した前記対象のソフトウェアがその品質グループに属する確率を、前記予測ロジック計算部が計算した前記対象のソフトウェアがその品質グループに属する場合に混入している欠陥の予測数に乗じて、重み付き予測数を計算し、計算した重み付き予測数を合計して、前記対象のソフトウェアに混入している欠陥の予測数を計算する混入予測数計算部と
を備えることを特徴とする。
【０００８】
前記予測ロジック記憶部は、ソフトウェアの開発を行う開発チームとソフトウェアとの条件毎に、予測ロジックを記憶し、
前記予測ロジック計算部は、前記対象のソフトウェアの開発を行う開発チームと前記対象のソフトウェアとが該当する条件についての予測ロジックを用いて、前記対象のソフトウェアが各品質グループに属する場合に混入している欠陥の予測数を計算し、
前記混入予測数計算部は、重み付き予測数を合計して、前記条件において前記対象のソフトウェアに混入している欠陥の予測数を計算する
ことを特徴とする。
【０００９】
前記予測ロジック記憶部は、ソフトウェアの開発工程毎に、予測ロジックを記憶し、
前記予測ロジック計算部は、対象の開発工程についての予測ロジックを用いて、前記対象のソフトウェアが各品質グループに属する場合に混入している欠陥の予測数を計算し、
前記混入予測数計算部は、重み付き予測数を合計して、前記対象の開発工程において前記対象のソフトウェアに混入している欠陥の予測数を計算する
ことを特徴とする。
【００１０】
前記欠陥数予測装置は、さらに、
前記混入予測数計算部が計算した予測数から、前記対象の開発工程において発見された欠陥の数を減じて、前記対象の開発工程において残っている欠陥の予測数である残予測数を計算する残予測数計算部と、
ソフトウェアの開発工程毎に、残予測数の閾値を記憶する閾値記憶部と、
前記残予測数計算部が計算した前記対象の開発工程における残予測数が、前記閾値記憶部が記憶した前記対象の開発工程における閾値以上であるか否かを判定する残予測数判定部と
を備えることを特徴とする。
【００１１】
前記欠陥数予測装置は、さらに、
残予測数が閾値以上であると前記残予測数判定部が判定した場合に、前記残予測数から前記対象の開発工程における残作業数を計算する残作業数計算部
を備えることを特徴とする。
【００１２】
前記欠陥数予測装置は、さらに、
既存のソフトウェアを品質によって分類した品質グループ毎に、前記既存のソフトウェアについてのソフトウェア情報であって、その品質グループに属する既存ソフトウェアについてのソフトウェア情報と、その品質グループに属する既存ソフトウェアに混入していた欠陥の数とに基づき、予測ロジックを生成する予測ロジック生成部
を備え、
前記予測ロジック記憶部は、前記予測ロジック生成部が生成した予測ロジックを記憶する
ことを特徴とする。
【００１３】
この発明に係る欠陥数予測プログラムは、
ソフトウェアを品質によって分類した品質グループ毎に、ソフトウェアに関する情報であるソフトウェア情報からそのソフトウェアに混入している欠陥の予測数を計算する予測ロジックを記憶した記憶装置を用い、ソフトウェアに混入している欠陥の数を予測する欠陥数予測プログラムであり、
前記記憶装置に記憶された各品質グループの予測ロジックを用いて、対象のソフトウェアについてのソフトウェア情報から、前記対象のソフトウェアが各品質グループに属する場合に混入している欠陥の予測数を計算する予測ロジック計算処理と、
対象のソフトウェアについてのソフトウェア情報から、前記対象のソフトウェアが各品質グループに属する確率を計算する確率計算処理と、
前記各品質グループについて、前記確率計算処理で計算した前記対象のソフトウェアがその品質グループに属する確率を、前記予測ロジック計算処理で計算した前記対象のソフトウェアがその品質グループに属する場合に混入している欠陥の予測数に乗じて、重み付き予測数を計算し、計算した重み付き予測数を合計して、前記対象のソフトウェアに混入している欠陥の予測数を計算する混入予測数計算処理と
をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１４】
この発明に係る欠陥数予測装置は、ソフトウェアを品質によって分類した品質グループ毎の予測ロジックと、対象のソフトウェアが各品質グループに属する確率とから、混入している欠陥の数を予測する。これにより、対象のソフトウェアに混入している欠陥の数を的確に予測することが可能である。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１に係る欠陥数予測装置１０の構成図。
【図２】予測ロジックの分類の説明図。
【図３】事前準備の処理を示すフローチャート。
【図４】欠陥数予測の処理のフローチャート。
【図５】予測式の入力となるソフトウェア情報の説明図。
【図６】実施の形態２に係る欠陥数予測装置１０の構成図。
【図７】品質判定の処理のフローチャート。
【図８】実施の形態３に係る欠陥数予測装置１０の構成図。
【図９】残作業数予測の処理のフローチャート。
【図１０】外部設計書及び内部設計書における欠陥混入と除去とを示す図。
【図１１】設計工程から出荷後における欠陥混入と除去とを示す図。
【図１２】品質によるグループ分けをしなかった場合に、予測ロジックで計算した欠陥の予測数と欠陥の実績とを示す図。
【図１３】品質が良いグループに対して、予測ロジックで計算した欠陥の予測数と欠陥の実績とを示す図。
【図１４】品質が悪いグループに対して、予測ロジックで計算した欠陥の予測数と欠陥の実績とを示す図。
【図１５】品質によるグループ分けをしなかった場合に、予測ロジックで計算した欠陥の予測数と欠陥の実績とを示す図。
【図１６】品質が良いグループに対して、予測ロジックで計算した欠陥の予測数と欠陥の実績とを示す図。
【図１７】品質が悪いグループに対して、予測ロジックで計算した欠陥の予測数と欠陥の実績とを示す図。
【図１８】対象の開発工程を内部設計工程とした場合に欠陥数予測装置１０により得られる情報を示す図。
【図１９】上記実施の形態に示した欠陥数予測装置１０のハードウェア構成の例を示す図。
【発明を実施するための形態】
【００１６】
実施の形態１．
図１は、実施の形態１に係る欠陥数予測装置１０の構成図である。
欠陥数予測装置１０は、予測ロジック生成部１１と、予測ロジック記憶部１２と、確率計算部１３と、予測ロジック計算部１４と、混入予測数計算部１５とを備える。
【００１７】
欠陥数予測装置１０の処理は、事前準備と、欠陥数予測との２つに分けられる。
事前準備に関するのが、予測ロジック生成部１１と、予測ロジック記憶部１２とである。事前準備では、予測ロジック生成部１１が、ソフトウェアの品質によって分類した品質グループ毎に予測ロジックを生成する。そして、予測ロジック記憶部１２が、予測ロジック生成部１１が生成した予測ロジックを記憶する。
欠陥数予測に関するのが、確率計算部１３と、予測ロジック計算部１４と、混入予測数計算部１５とである。欠陥数予測では、確率計算部１３が、対象のソフトウェアが各品質グループに属する確率を計算する。また、予測ロジック計算部１４が、予測ロジック記憶部１２が記憶した各予測ロジックを用いて、対象のソフトウェアが各品質グループに属する場合に混入している欠陥の予測数を計算する。そして、混入予測数計算部１５が、品質グループ毎に、予測ロジック計算部１４が計算した予測数に、確率計算部１３が計算した確率を乗じて、重み付きの予測数を計算し、計算した重み付き予測数を合計して、対象のソフトウェアに混入している欠陥の予測数を計算する。
【００１８】
事前準備について説明する。
事前準備では、既存ソフトウェアについてのソフトウェア情報と、既存ソフトウェアに混入していた欠陥の数とに基づき、予測ロジックが生成される。
ソフトウェア情報とは、ソフトウェアに関する情報である。例えば、設計工程であれば、設計書の頁数、レビュー時間、誤り指摘数等である。また、試験設計工程であれば、試験項目数、レビュー時間、誤り指摘数等である。また、製作工程であれば、開発量、コードレビュー時間、誤り指摘数等である。試験工程であれば、試験対象量、試験項目数、誤り指摘数等である。
既存ソフトウェアに混入していた欠陥の数は、出荷後に発生した不具合から特定された欠陥の数である。混入した開発フェーズ毎に分類して集計する。
【００１９】
図２は、予測ロジックの分類の説明図である。
既存のソフトウェアを品質によって分類した品質グループ毎、ソフトウェアの開発を行う開発チームとソフトウェアとの条件毎、ソフトウェアの開発工程毎に、予測ロジックが生成される。
【００２０】
ここでは、品質によって分類した品質グループを、品質が良いグループと、品質が悪いグループとの２つの品質グループとしている。
ソフトウェアの開発を行う開発チームの条件とは、開発を行う開発チームの構成員の経験年数や、構成人数等であり、ソフトウェアの条件とは、画面系のソフトウェアであるか、制御系のソフトウェアであるか、通信系のソフトウェアであるか等のソフトウェアの対象や、開発に用いる言語等である。ここでは、これらの条件を、開発チーム１，２，３のどの開発チームで開発されたかとしている。
ここでは、ソフトウェアの開発工程を、外部設計工程、内部設計工程、製作工程、単体試験工程、結合試験工程としている。
【００２１】
図３は、事前準備の処理を示すフローチャートである。
（Ｓ１１：分類処理）
予測ロジック生成部１１は、既存のソフトウェアについてのソフトウェア情報と、混入していた欠陥の数との情報の入力を受け付ける。そして、予測ロジック生成部１１は、受け付けた情報を、品質グループ毎、条件毎、開発工程毎に分類する。なお、品質グループ毎、条件毎、開発工程毎に分類された各組について、受け付けた情報は回帰分析が可能な程度の件数必要である。
【００２２】
なお、品質によって分類する方法としては、例えば、１ＫＬ（キロライン）当たりの出荷後の不具合の件数が閾値ｎ件未満のソフトウェアを品質の良いグループとし、閾値ｎ件以上のソフトウェアを品質の悪いグループとする。条件毎、開発工程毎に分類するのは、その条件に合致するソフトウェアであるか否か、その開発工程の情報であるか否かを見ればよい。
【００２３】
（Ｓ１２：予測ロジック生成処理）
予測ロジック生成部１１は、品質グループ毎、条件毎、開発工程毎の各組について、予測ロジックを生成する。ここでは、予測ロジック生成部１１は、回帰分析を用いて、各組についてソフトウェア情報から欠陥の数を予測する予測式を生成する。
【００２４】
回帰分析の予測式は、線形の予測式であれば、一般的に以下の式で表される。
（予測式）目的変数＝Ａ×説明変数１＋Ｂ×説明変数２＋Ｃ×説明変数３＋・・・＋Ｄ
ここで、Ａ，Ｂ，Ｃは回帰係数であり、Ｄは定数である。
【００２５】
そこで、例えば、予測式は、工程毎に以下のようなものが考えられる。そして、回帰分析により、各予測式における回帰係数や定数を決定することができ、予測式を完成させることができる。
外部設計工程又は内部設計工程の場合
（１）混入欠陥の予測数＝Ａ×誤り指摘数＋Ｄ
（２）混入欠陥の予測数＝Ｂ×開発量（設計書の頁数等）＋Ｃ×設計書レビュー時間＋Ｅ
製作工程の場合
（３）混入欠陥の予測数＝Ａ×誤り指摘数＋Ｄ
（４）混入欠陥の予測数＝Ｂ×開発量（プログラムの行数等）＋Ｃ×コードレビュー時間＋Ｅ
単体試験工程又は結合試験工程の場合
（５）混入欠陥の予測数＝Ａ×誤り指摘数＋Ｄ
（６）混入欠陥の予測数＝Ｂ×試験対象量＋Ｃ×試験項目数＋Ｅ
なお、（１）〜（６）の予測式において、Ａ，Ｂ，Ｃは回帰係数であり、Ｄ，Ｅは定数である。また、（１）〜（６）の予測式は一例であり、他にも様々な予測式が考えられる。
【００２６】
また、混入欠陥の予測数は、外部設計工程又は内部設計工程又は製作工程であれば、設計書やコードが作成された時点において混入している欠陥の予測数である。つまり、設計書レビューやコードレビューによって欠陥が除去される前の段階における欠陥の予測数である。また、混入欠陥の予測数は、単体試験工程又は結合試験工程であれば、試験開始前の時点において混入している欠陥の予測数である。つまり、試験によって欠陥が除去される前の段階における欠陥の予測数である。
【００２７】
予測ロジック生成部１１は、品質グループ毎、条件毎、開発工程毎の各組について、多数の予測式から、最も予測精度が高いものを選択する。予測精度が高いものとは、回帰分析での寄与率が大きく、標準誤差が小さいものである。但し、２つ以上の変数間での相関が強い場合は、予測式が不安定になるので除外する。
【００２８】
（Ｓ１３：予測ロジック記憶処理）
予測ロジック記憶部１２は、Ｓ１２で生成された、各組についての予測式を、予測ロジックとして記憶する。
【００２９】
欠陥数予測について説明する。
欠陥数予測では、事前準備で生成された予測ロジックを用いて、対象のソフトウェアに混入している欠陥の予測数が計算される。
【００３０】
図４は、欠陥数予測の処理のフローチャートである。
（Ｓ２１：確率計算処理）
確率計算部１３は、対象のソフトウェアについてのソフトウェア情報の入力を受け付ける。そして、確率計算部１３は、受け付けた情報に基づき、対象のソフトウェアが各品質グループに属する確率を計算する。ここで受け付けるソフトウェア情報は、対象の開発工程までに得られる情報である。したがって、開発工程が進むほど、受け付けるソフトウェア情報も多くなる。
【００３１】
ここでは、確率計算部１３は、一般的な判別分析手法を用いて、対象のソフトウェアが品質が良いグループに属する確率と、品質が悪いグループに属する確率とを計算する。一例としてマハラノビス距離を用いた計算を次に示す。
具体的には、確率計算部１３は、受け付けた情報のうちの少なくとも一部を変数として、各品質グループの中心（平均値）からのマハラノビス距離を計算する。例えば、３変数の場合のマハラノビス距離Ｄ２は、数１で定義される。
【数１】
0005793228.tif 000002
ここで、ｘ＾，ｙ＾，ｚ＾は、品質グループの平均値である。また、Ｓｘ２は、ｘの分散であり、Ｓｙ２は、ｙの分散であり、Ｓｚ２は、ｚの分散である。また、Ｓｘｙは、ｘとｙの共分散であり、Ｓｘｚは、ｘとｚの共分散であり、Ｓｙｚは、ｙとｚの共分散である。
【００３２】
一般に、マハラノビス距離Ｄ２は、カイ二乗分布に従うことが知られている。そこで、確率計算部１３は、対象のソフトウェアが品質が良いグループに属する確率Ｒａと、品質が悪いグループに属する確率Ｒｂとを次の式で計算する。
Ｒａ＝Ｆ（Ｄａ２,ｋ）／（Ｆ（Ｄａ２,ｋ）＋（Ｆ（Ｄｂ２,ｋ））
Ｒｂ＝Ｆ（Ｄｂ２,ｋ）／（Ｆ（Ｄａ２,ｋ）＋（Ｆ（Ｄｂ２,ｋ））
なお、Ｒａ＋Ｒｂ＝１である。
Ｄａ２は、品質が良いグループの中心からのマハラノビス距離である。
Ｄｂ２は、品質が悪いグループの中心からのマハラノビス距離である。
ｋは、自由度であり、利用する変数の個数に等しい。
Ｆ（Ｄａ２,ｋ）は、品質が良いグループの中心からのマハラノビス距離Ｄａ２についてのカイ二乗分布における右側確率であり、Ｆ（Ｄｂ２,ｋ）は、品質が悪いグループの中心からのマハラノビス距離Ｄｂ２についてのカイ二乗分布における右側確率である。カイ二乗分布における右側確率とは、カイ二乗分布において、指定された点よりも右側になる確率である。
【００３３】
品質が良いグループの中心からのマハラノビス距離Ｄａ２と品質が悪いグループの中心からのマハラノビス距離Ｄｂ２との関係が、Ｄａ２＜Ｄｂ２であれば品質が良いグループに属しており、Ｄａ２＞Ｄｂ２であれば品質が悪いグループに属しているとする。事前準備で予測ロジックの生成に使用した既存ソフトウェアに対して、マハラノビス距離に基づき、品質の良いグループと品質の悪いグループとのどちらに属しているかを判定する。そして、判定した結果が、上述した出荷後の不具合の件数が閾値ｎ件未満か否かにより既存ソフトウェアの品質を判定した結果と不一致になる割合を誤判別率とする。誤判別率は、判別分析手法の判別精度を表す。一般的に品質が良いグループと品質が悪いグループの統計的な分布の重なりが多いと誤判別率が大きくなる。誤判別率は、利用する変数の個数によっても変化する。このため確率計算部１３は、開発フェーズで利用可能なソフトウェア情報の中から誤判別率が最も小さくなるソフトウェア情報の組合せを変数として選択して品質グループに属する確率を計算する。
【００３４】
（Ｓ２２：予測ロジック計算処理）
予測ロジック計算部１４は、予測ロジック記憶部１２に記憶された、対応する条件、及び、対応する開発工程についての予測ロジックであって、各品質グループについての予測ロジックを用い、対象のソフトウェアが各品質グループに属する場合に混入している欠陥の予測数を計算する。
例えば、対象のソフトウェアが開発チーム１で開発されており、現在内部設計工程である場合、開発チーム１でかつ内部設計工程についての、品質が良いグループの予測ロジック（図２の予測式１−２）と、品質が悪いグループの予測ロジック（図２の予測式４−２）とが用いられる。そして、内部設計工程において、対象のソフトウェアが品質が良いグループに属する場合に混入している欠陥の予測数Ｙａと、品質が悪いグループに属する場合に混入している欠陥の予測数Ｙｂとが計算される。
【００３５】
（Ｓ２３：混入予測数計算処理）
混入予測数計算部１５は、各品質グループについて、Ｓ２１で計算されたその品質グループに属する確率を、Ｓ２２で計算された対象のソフトウェアがその品質グループに属する場合に混入している欠陥の予測数に乗じて、重み付きの予測数を計算する。そして、混入予測数計算部１５は、計算した重み付きの予測数を合計して、対象のソフトウェアに混入している欠陥の予測数を計算する。
上述した、対象のソフトウェアが開発チーム１で開発されており、現在内部設計工程である場合、内部設計工程における混入欠陥数Ｘは、Ｘ＝Ｒａ×Ｙａ＋Ｒｂ×Ｙｂによって計算される。
【００３６】
以上のように、実施の形態１に係る欠陥数予測装置１０では、品質グループ毎、開発の条件毎、開発工程毎に、過去の実績から回帰分析等により予測ロジックが生成される。そして、生成された予測ロジックと、対象のソフトウェアが各品質グループに属する確率とを用いて、対象のソフトウェアに混入している欠陥の予測数を計算する。これにより、各開発工程において混入している欠陥の数を的確に予測することが可能である。
【００３７】
また、各品質グループに属する確率を計算する際、誤判別率が小さくなるソフトウェア情報の組合せを変数として採用するため、各品質グループに属する確率の精度が高い。そのため、各開発工程において混入している欠陥の数を的確に予測することが可能である。
【００３８】
なお、上記説明では、既存ソフトウェアに対してマハラノビス距離を用いて判定した結果が、出荷後の不具合の件数が閾値ｎ件未満か否かにより既存ソフトウェアの品質を判定した結果と不一致になる確率を誤判別率とした。つまり、「誤判別率＝不一致件数／既存ソフトウェアの全件数」であった。
しかし、品質の良いグループと品質の悪いグループとのそれぞれについて誤判別率を計算し、各グループの誤判別率が出来る限り小さくなるようなソフトウェア情報の組合せを変数として選択して用いるようにしてもよい。この場合、既存ソフトウェアのうち出荷後の不具合の件数に基づき品質が良いと判定された既存ソフトウェアを既存ソフトウェアＡとし、品質が悪いと判定された既存ソフトウェアを既存ソフトウェアＢとする。すると、「品質が良いグループの誤判別率＝既存ソフトウェアＡのうちマハラノビス距離により品質が悪いと判定された件数／既存ソフトウェアＡの件数」である。また、「品質が悪いグループの誤判別率＝既存ソフトウェアＢのうちマハラノビス距離により品質が良いと判定された件数／既存ソフトウェアＢの件数」である。
【００３９】
また、上記説明では、各開発工程についての予測式が、その開発工程で得られるソフトウェア情報のみを入力とする例を挙げた。しかし、図５（ａ）に示すように、その開発工程までに得られるソフトウェア情報であれば、他の開発工程で得られるソフトウェア情報であっても入力としてよい。これにより、より高い精度で欠陥の予測数を計算することが可能になる。つまり、製作工程における混入欠陥の予測数を計算する場合、製作工程で得られるソフトウェア情報だけでなく、外部設計工程や内部設計工程で得られるソフトウェア情報も用いてもよい。
【００４０】
また、後の開発工程に進んだ後に、改めて前の開発工程で混入していた欠陥の予測数を計算しなおしてもよい。この場合、図５（ｂ）に示すように、後の開発工程で得られるソフトウェア情報も入力としてよい。これにより、より高い精度で欠陥の予測数を計算することが可能になる。つまり、単体試験工程の後に、製作工程における混入欠陥の予測数を計算する場合、外部設計工程や内部設計工程や製作工程で得られるソフトウェア情報だけでなく、単体試験工程で得られるソフトウェア情報も用いてもよい。
【００４１】
実施の形態２．
実施の形態２では、混入している欠陥の予測数に基づき、次の開発工程へ進めるか否かの品質判定を行う方法について説明する。
実施の形態２では、実施の形態１と同じ部分については説明を省略し、実施の形態１と異なる部分について説明する。
【００４２】
図６は、実施の形態２に係る欠陥数予測装置１０の構成図である。
実施の形態２に係る欠陥数予測装置１０は、図１に示す実施の形態１に係る欠陥数予測装置１０が備える機能に加え、残予測数計算部１６と、閾値記憶部１７と、残予測数判定部１８とを備える。
【００４３】
欠陥数予測装置１０の処理は、事前準備と、欠陥数予測と、品質判定との３つに分けられる。事前準備と欠陥数予測とは、実施の形態１と同じであるため、説明を省略する。
品質判定に関するのが、残予測数計算部１６と、閾値記憶部１７と、残予測数判定部１８とである。品質判定では、残予測数計算部１６が、混入予測数計算部１５が計算した欠陥の予測数から、対象の開発工程で発見された欠陥の数を減じて、対象の開発工程において残っている欠陥の予測数である残予測数を計算する。閾値記憶部１７は、開発工程毎に、品質判定における閾値を記憶する。そして、残予測数判定部１８は、残予測数計算部１６が計算した残予測数が、閾値記憶部１７が記憶した閾値以上であるか否かを判定する。
【００４４】
図７は、品質判定の処理のフローチャートである。
（Ｓ３１：残予測数計算処理）
残予測数計算部１６は、欠陥数予測において計算された、対象の開発工程における欠陥の予測数から、対象の開発工程で発見された欠陥の数を減じて、残予測数を計算する。
対象の開発工程で発見された欠陥の数とは、例えば、外部設計工程又は内部設計工程であれば、設計書のレビューにより発見された欠陥の数である。また、製作工程であれば、コードレビューによって発見された欠陥の数である。また、単体試験工程又は結合試験工程であれば、試験によって発見された欠陥の数である。
【００４５】
（Ｓ３２：残予測数判定処理）
残予測数判定部１８は、Ｓ３１で計算された残予測数が、閾値記憶部１７が対象の開発工程について記憶した閾値以上であるか否かを判定する。
残予測数が閾値以上である場合、残っている欠陥の数が多く、次の開発工程へ進む前に品質を改善する必要があると判断される。一方、残予測数が閾値未満である場合、残っている欠陥の数が少なく、次の開発工程へ進んでよいと判断される。
【００４６】
なお、閾値記憶部１７は、条件毎に閾値を記憶していてもよい。そして、対応する条件についての閾値を用いてもよい。また、閾値記憶部１７は、品質グループ毎に閾値を記憶していてもよい。
【００４７】
以上のように、実施の形態２に係る欠陥数予測装置１０では、欠陥の残予測数に基づき、次の開発工程に進んでよいか否かを判定する。これにより、欠陥が多い状態で開発工程を進めることにより、後の開発工程で多くの欠陥が混入することを防止できる。その結果、品質の低下や、手戻りによる開発の遅れを防止できる。
【００４８】
実施の形態３．
実施の形態３では、次の開発工程へ進む前に品質を改善する必要があると品質判定で判断された場合における残作業数の計算方法について説明する。
実施の形態３では、実施の形態２と同じ部分については説明を省略し、実施の形態２と異なる部分を説明する。
【００４９】
図８は、実施の形態３に係る欠陥数予測装置１０の構成図である。
実施の形態３に係る欠陥数予測装置１０は、図６に示す実施の形態２に係る欠陥数予測装置１０が備える機能に加え、残作業数計算部１９を備える。
【００５０】
欠陥数予測装置１０の処理は、事前準備と、欠陥数予測と、品質判定と、残作業数予測との４つに分けられる。事前準備と欠陥数予測と品質判定とは、実施の形態２と同じであるため、説明を省略する。
残作業数予測に関するのが、残作業数計算部１９である。残作業数予測では、残作業数計算部１９が、残予測数計算部１６が計算した残予測数に基づき、追加で行う必要があるレビューの時間や、追加で行う必要がある試験の項目数を計算する。
【００５１】
図９は、残作業数予測の処理のフローチャートである。
（Ｓ４１：検出効率計算処理）
残作業数計算部１９は、対象のソフトウェアのソフトウェア情報に基づき、欠陥の検出効率を計算する。
具体的には、残作業数計算部１９は、対象の開発工程が外部設計工程又は内部設計工程又は製作工程であれば、その開発工程で発見された欠陥の数を、その開発工程におけるレビュー時間で除して、欠陥の検出効率として計算する。また、残作業数計算部１９は、対象の開発工程が単体試験工程又は結合試験工程であれば、その開発工程で発見された欠陥の数を、その開発工程における試験項目数で除して、欠陥の検出効率として計算する。
【００５２】
（Ｓ４２：残作業予測処理）
残作業数計算部１９は、Ｓ３１で計算された残予測数を、Ｓ４１で計算された欠陥検出効率で除して、残作業数を計算する。
残作業数は、対象の開発工程が外部設計工程又は内部設計工程又は製作工程であれば、追加レビュー時間である。また、残作業数は、対象の開発工程が単体試験工程又は結合試験工程であれば、追加試験項目数である。
【００５３】
以上のように、実施の形態３に係る欠陥数予測装置１０では、欠陥の残予測数に基づき、追加レビュー時間や追加試験項目数を計算する。これにより、追加で行う作業の目安が分かるので、正確なスケジュールを立てることが可能になる。
【００５４】
実施の形態４．
以上の実施の形態では、対象のソフトウェアの開発が対象の開発工程にある場合に、その開発工程において混入している欠陥の数を予測することを想定していた。つまり、現在の開発工程が外部設計工程であれば、外部設計工程において混入している欠陥の数を予測し、現在の開発工程が製作工程であれば、製作工程において混入している欠陥の数を予測することを想定していた。そのため、予測式の入力となるソフトウェア情報は、対象の開発工程で得られる情報であった。
しかし、現在の状態のまま開発工程を進めた場合に、その後の開発工程においてどの程度の欠陥が混入するかを知りたい場合もある。実施の形態４では、現在の開発工程だけでなく、将来の開発工程における欠陥の数も予測する方法について説明する。
実施の形態４では、実施の形態３と同じ部分については説明を省略し、実施の形態３と異なる部分を説明する。
【００５５】
実施の形態４に係る欠陥数予測装置１０は、図８に示す実施の形態３に係る欠陥数予測装置１０と同じ構成である。
【００５６】
欠陥数予測装置１０の処理は、事前準備と、欠陥数予測と、品質判定と、残作業数予測との４つに分けられる。品質判定と残作業数予測とは、実施の形態３と同じであるため、説明を省略する。
【００５７】
事前準備について説明する。
事前準備の処理の流れは、図３に示す通りである。そこで、図３に基づき事前準備の処理を説明する。
【００５８】
Ｓ１１の処理は、上記実施の形態で説明した通りであるため、説明を省略する。
【００５９】
（Ｓ１２：予測ロジック生成処理）
予測ロジック生成部１１は、品質グループ毎、条件毎、開発工程毎の各組について、予測ロジックを生成する。この際、予測ロジック生成部１１は、その組の開発工程において混入している欠陥の数を予測する予測ロジックだけでなく、その組の開発工程よりも後の開発工程において混入する欠陥の数を予測する予測ロジックも生成する。
【００６０】
例えば、その組の開発工程が外部設計工程であれば、外部設計工程で混入している欠陥の数を予測する予測ロジックだけでなく、内部設計工程と、製作工程と、単体テスト工程と、結合テスト工程とで混入しているであろう欠陥の数を予測する予測ロジックを生成する。この際、予測ロジックの入力として用いるのは、その組の開発工程までで得られたソフトウェア情報だけである。つまり、この例では、外部設計工程までに得られたソフトウェア情報だけである。
【００６１】
Ｓ１３の処理は、上記実施の形態で説明した通りであるため、説明を省略する。
【００６２】
欠陥数予測について説明する。
欠陥数予測の処理の流れは、図４に示す通りである。そこで、図４に基づき欠陥数予測の処理を説明する。
【００６３】
Ｓ２１の処理は、上記実施の形態で説明した通りであるため、説明を省略する。
【００６４】
（Ｓ２２：予測ロジック計算処理）
予測ロジック計算部１４は、予測ロジック記憶部１２に記憶された、対応する条件、及び、対応する開発工程についての予測ロジックであって、各品質グループについての予測ロジックを用い、対象のソフトウェアが各品質グループに属する場合に混入している欠陥の予測数を計算する。この際、予測ロジック計算部１４は、対応する開発工程で混入している欠陥の数を予測する予測ロジックを用いて、対応する開発工程で混入している欠陥の予測数を計算するだけでなく、対応する開発工程よりも後の開発工程において混入する欠陥の数を予測する予測ロジックを用いて、後の開発工程において混入するであろう欠陥の予測数も計算する。
【００６５】
例えば、予測ロジック計算部１４は、対象の開発工程が外部設計工程であれば、外部設計工程だけでなく、内部設計工程と、製作工程と、単体テスト工程と、結合テスト工程とに関しても、欠陥の予測数を計算する。
【００６６】
（Ｓ２３：混入予測数計算処理）
混入予測数計算部１５は、開発工程毎に、各品質グループについて、Ｓ２１で計算されたその品質グループに属する確率を、Ｓ２２で計算された対象のソフトウェアがその品質グループに属する場合に混入している欠陥の予測数に乗じて、重み付きの予測数を計算する。そして、混入予測数計算部１５は、開発工程毎に、計算した重み付きの予測数を合計して、対象のソフトウェアに混入している欠陥の予測数を計算する。
【００６７】
例えば、混入予測数計算部１５は、対象の開発工程が外部設計工程であれば、外部設計工程と、内部設計工程と、製作工程と、単体テスト工程と、結合テスト工程との各開発工程について、重み付きの予測数を計算する。そして、混入予測数計算部１５は、各開発工程について、重み付きの予測数を合計して、欠陥の予測数を計算する。
【００６８】
以上のように、実施の形態４に係る欠陥数予測装置１０では、現在の開発工程だけでなく、その後の開発工程において混入する欠陥の予測数も計算する。これにより、より適切な対処方法を事前に検討することが可能となる。
【００６９】
なお、上記説明では、品質判定は実施の形態３と同じであるとした。しかし、品質判定において、現在の開発工程で混入している欠陥の予測数だけでなく、その後の開発工程で混入しているであろう欠陥の予測数も考慮して、次の開発工程へ進めるか否かの判定をしてもよい。
例えば、現在の開発工程での残予測数が閾値未満であり、かつ、その後の各開発工程についての予測数が閾値未満である場合に、次の開発工程へ進めるとしてもよい。
【００７０】
また、上記説明では、現在の開発工程以降の全ての開発工程についての予測数を計算するとした。しかし、後の開発工程に関しては、一部の開発工程についてのみ予測数を計算してもよい。例えば、現在の開発工程と、その次の開発工程についての予測数のみ予測数を計算してもよい。
【００７１】
実施の形態５．
実施の形態５では、上記実施の形態で説明した欠陥数予測装置１０を過去のソフトウェア開発の事例に適用した場合に得られた結果について説明する。
【００７２】
図１０は、外部設計書及び内部設計書における欠陥混入と除去とを示す図である。
図１０では、ある開発チームにおける過去のソフトウェア開発の実績データと、そのソフトウェア開発に対して欠陥数予測装置１０により計算した欠陥の予測数及び残予測数とを示す。横軸が開発工程を示し、縦軸が頁数当たりの欠陥の件数を示している。
（１）の値が、外部設計工程で混入している欠陥の数を示す。（２）の値が、外部設計工程が完了した時点において残っている欠陥の数を示す。（３）の値が、内部設計工程までに混入している欠陥の数を示す。（４）の値が、内部設計工程が完了した時点において残っている欠陥の数を示す。
なお、（３）の値から（２）の値を減じた値が、内部設計工程で新たに混入した欠陥の数を表している。
【００７３】
図１１は、設計工程から出荷後における欠陥混入と除去とを示す図である。
図１１では、ある開発チームにおける過去のソフトウェア開発の実績データと、そのソフトウェア開発に対して欠陥数予測装置１０により計算した欠陥の予測数及び残予測数とを示す。横軸が開発工程を示し、縦軸がＫＬ（キロライン）当たりの欠陥の件数を示している。
（１）の値が、外部設計工程で混入している欠陥の数を示す。（２）の値が、外部設計工程が完了した時点において残っている欠陥の数を示す。（３）の値が、内部設計工程までに混入している欠陥の数を示す。（４）の値が、内部設計工程が完了した時点において残っている欠陥の数を示す。（５）の値が、製作工程において混入している欠陥の数を示す。（６）の値が、単体試験工程を開始する時点において残っている欠陥の数を示す。（７）の値が、結合試験工程を開始する時点において残っている欠陥の数を示す。（８）の値が、出荷時点において残っている（出荷後に発見された）欠陥の数を示す。
【００７４】
図１０及び図１１に示すように、品質が良いグループと品質が悪いグループとでは、各開発工程における欠陥の混入や除去の数に差異がある。
また、図１０及び図１１に示すように、欠陥の実績に対して、欠陥数予測装置１０による予測値が全体の実績値に非常に近い値を示している。
【００７５】
図１２から図１４は、内部設計工程における、予測ロジックで計算した欠陥の予測数と欠陥の実績とを示す図である。図１２では、品質によるグループ分けをしなかった場合の予測数と実績を示している。図１３では、品質が良いグループに対する予測数と実績を示している。図１４では、品質が悪いグループに対する予測数と実績を示している。
図１２から図１４では、混入している欠陥の数の予測数＝Ａ×誤り指摘数＋Ｂとしている。ここで、Ａは回帰係数であり、Ｂは定数である。
図１２から図１４に示すように、品質によるグループ分けをしなかった場合と、品質が悪いグループとでは、誤差の標準偏差はそれぞれ、約６．０８と約６．３２であり、ほとんど差異がなかった。これに対して、品質の良いグループでは、誤差の標準偏差は約１．０９であり、他と比べて非常に高い精度であった。そのため、品質によるグループ分けを行った場合、品質によるグループ分けをしない場合よりも精度よく欠陥の予測数を計算できる。
【００７６】
図１５から図１７は、製作工程における、予測ロジックで計算した欠陥の予測数と欠陥の実績とを示す図である。図１５では、品質によるグループ分けをしなかった場合の予測数と実績を示している。図１６では、品質が良いグループに対する予測数と実績を示している。図１７では、品質が悪いグループに対する予測数と実績を示している。
図１５から図１７に示すように、品質によるグループ分けをしなかった場合には、誤差の標準偏差は、約４．８３であった。これに対して、品質の良いグループと品質の悪いグループとでは、誤差の標準偏差は、約０．８２と約０．７９とであった。そのため、品質によるグループ分けを行った場合、品質によるグループ分けをしない場合よりも精度よく欠陥の予測数を計算できる。
【００７７】
図１８は、対象の開発工程を内部設計工程とした場合に欠陥数予測装置１０により得られる情報を示す図である。
ソフトウェア毎に、混入している誤りの予測数等が得られる。
回帰モデル１の内部設計混入誤り予測の欄は、予測ロジック計算部１４が計算した内部設計工程で混入している欠陥の予測数を示す。このうち、予測１は品質が良いグループの場合における予測数を示し、予測２は品質が悪いグループの場合の予測数を示す。期待値は予測１と予測２との値に重み付して加算した値を示す。
内部設計の残存誤りの欄は、残予測数計算部１６が計算する残予測数を示す。このうち、予測１は品質が良いグループの場合における残予測数を示し、予測２は品質が悪いグループの場合の残予測数を示し、期待値は予測１と予測２との値に重み付して加算した値を示す。また、期待値が閾値以上である場合には、その欄にハッチングが付され、残存している欠陥数が多いことが警告される。また、検出不足の欄は、期待値が閾値以上である場合に計算された、残作業（ここでは、追加レビュー時間）を示す。
【００７８】
回帰モデル２の製作混入誤り予測の欄は、対象の開発工程が内部設計工程の場合に予測ロジック計算部１４が計算した、製作工程で混入しているであろう欠陥の予測数を示す。このうち、予測１は品質が良いグループの場合における予測数を示し、予測２は品質が悪いグループの場合の予測数を示す。
製作の混入誤りの欄は、回帰モデル２の製作混入誤り予測の予測１と予測２とに重み付して加算した値を示す。
【００７９】
品質の判別の欄は、ソフトウェアの品質が良いか悪いかに関する情報を示す。このうち、Ａの確率の欄は、品質が良い確率を示す。判定の欄は、品質が良いグループ（Ａ）に属するか、品質が悪いグループ（Ｂ）に属するかを示す。
【００８０】
なお、以上の説明では、品質が良いグループと品質が悪いグループとの各グループについて予測ロジックを生成し、各予測ロジックで計算した予測数に各グループに属する確率を掛けて和をとることにより、予測数を計算した。
しかし、予測ロジックを生成するためには、各グループに属する既存ソフトウェアの情報がある程度必要である。そのため、ある条件の組については、品質が悪いグループの予測ロジックを生成できないというような場合もあり得る。このような場合には、例えば、品質が良いグループに属する確率が所定値（例えば８０％）以上であれば、品質が良いグループの予測ロジックを用いて予測数を計算し、他の場合には、品質によるグループ分けをしない場合の予測ロジックを用いて予測数を計算するとしてもよい。
【００８１】
また、各グループの予測ロジックが生成できる場合であっても、例えば、品質が良いグループに属する確率が所定値（例えば８０％）以上であれば、品質が良いグループの予測ロジックを用いて予測数を計算し、品質が悪いグループに属する確率が所定値（例えば８０％）以上であれば、品質が悪いグループの予測ロジックを用いて予測数を計算し、他の場合には、品質によるグループ分けをしない場合の予測ロジックを用いて予測数を計算するとしてもよい。
【００８２】
図１９は、上記実施の形態に示した欠陥数予測装置１０のハードウェア構成の例を示す図である。
欠陥数予測装置１０は、コンピュータである。欠陥数予測装置１０の各要素をプログラムで実現することができる。
欠陥数予測装置１０のハードウェア構成としては、バスに、演算装置９０１、外部記憶装置９０２、主記憶装置９０３、通信装置９０４、入出力装置９０５が接続されている。
【００８３】
演算装置９０１は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等である。外部記憶装置９０２は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ、ハードディスク装置等である。主記憶装置９０３は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等である。通信装置９０４は、例えば通信ボード等である。入出力装置９０５は、例えばマウス、キーボード、ディスプレイ装置等である。
【００８４】
プログラムは、通常は外部記憶装置９０２に記憶されており、主記憶装置９０３にロードされた状態で、順次演算装置９０１に読み込まれ、実行される。
プログラムは、予測ロジック生成部１１、確率計算部１３、予測ロジック計算部１４、混入予測数計算部１５、残予測数計算部１６、残予測数判定部１８、残作業数計算部１９として説明している機能を実現するプログラムである。
更に、外部記憶装置９０２にはオペレーティングシステム（ＯＳ）も記憶されており、ＯＳの少なくとも一部が主記憶装置９０３にロードされ、演算装置９０１はＯＳを実行しながら、上記プログラムを実行する。
また、上記実施の形態の説明において、予測ロジック記憶部１２、閾値記憶部１７が記憶すると説明した情報や、予測ロジック生成部１１、確率計算部１３、予測ロジック計算部１４、混入予測数計算部１５、残予測数計算部１６、残予測数判定部１８、残作業数計算部１９が生成する、計算する、判定する等と説明した情報等が主記憶装置９０３にファイルとして記憶されている。
【００８５】
なお、図１９の構成は、あくまでも欠陥数予測装置１０のハードウェア構成の一例を示すものであり、欠陥数予測装置１０のハードウェア構成は図１９に記載の構成に限らず、他の構成であってもよい。
【符号の説明】
【００８６】
１０  欠陥数予測装置、１１  予測ロジック生成部、１２  予測ロジック記憶部、１３  確率計算部、１４  予測ロジック計算部、１５  混入予測数計算部、１６  残予測数計算部、１７  閾値記憶部、１８  残予測数判定部、１９  残作業数計算部。
【要約】
【課題】ソフトウェアに混入している欠陥の数を的確に予測することを目的とする。
【解決手段】欠陥数予測装置１０は、ソフトウェアを品質によって分類した品質グループ毎に、ソフトウェアに関する情報であるソフトウェア情報からそのソフトウェアに混入している欠陥の予測数を計算する予測ロジックを用いて、対象ソフトウェアについてのソフトウェア情報から、対象のソフトウェアが各品質グループに属する場合に混入している欠陥の予測数を計算する。欠陥数予測装置１０は、計算した予測数に、対象のソフトウェアが各品質グループに属する確率を乗じて重み付して、重み付した予測数を合計して、混入している欠陥の予測数とする。
【選択図】図１【図１】
0005793228.tif 000003
【図２】
0005793228.tif 000004
【図３】
0005793228.tif 000005
【図４】
0005793228.tif 000006
【図５】
0005793228.tif 000007
【図６】
0005793228.tif 000008
【図７】
0005793228.tif 000009
【図８】
0005793228.tif 000010
【図９】
0005793228.tif 000011
【図１０】
0005793228.tif 000012
【図１１】
0005793228.tif 000013
【図１２】
0005793228.tif 000014
【図１３】
0005793228.tif 000015
【図１４】
0005793228.tif 000016
【図１５】
0005793228.tif 000017
【図１６】
0005793228.tif 000018
【図１７】
0005793228.tif 000019
【図１８】
0005793228.tif 000020
【図１９】
0005793228.tif 000021