(57)【要約】【課題】  従来から、ソフトウェアの信頼性を予測する方法及び装置が提案されているが、妥当性があり且つ容易に品質評価が行える装置や方法が求められている状況にある。【解決手段】  上記課題を解決するべく、ソフトウェア評価に関わる単位工数あたりの検出バグ数にかかるデータをデータベース２に格納し、この格納された前記バグ数にかかるデータからデータ分析部４でバグ曲線を作成すると共に、バグ曲線の理論値を算出し、さらにこのバグ曲線の理論値から前記単位工数あたりの理論バグ数を算出し、データベース２に格納された前記単位工数あたりの検出バグ数との差からばらつきを算出し、ソフトウェア評価に関わる全工数に亘って前記算出されたばらつきに基づき所定の評価値を算出するようにした。【選択図】  図１
2005267489.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア評価に関わる単位工数あたりの検出バグ数にかかるデータを格納する手段と、この格納手段に格納された前記検出バグ数にかかるデータからバグ曲線を作成する手段と、バグ曲線の理論値を算出する手段と、この理論値算出手段で算出された前記バグ曲線の理論値から前記単位工数あたりの理論バグ数を算出し前記格納手段に格納された前記単位工数あたりの検出バグ数との差からばらつきを算出する手段と、ソフトウェア評価に関わる全工数に亘って前記ばらつき算出手段で算出されたばらつきに基づき所定の評価値を算出する手段とを具備したことを特徴とするソフトウェア品質の測定装置。
【請求項２】
請求項１記載のソフトウェア品質の測定装置において、前記評価値算出手段はＺ値を用いて評価値を算出することを特徴とするソフトウェア品質の測定装置。
【請求項３】
ソフトウェア評価に関わる単位工数あたりの検出バグ数を記憶装置に記憶させるステップと、この記憶ステップで記憶された前記検出バグ数からバグ曲線を作成するステップと、バグ曲線の理論値を算出するステップと、この理論値算出ステップで算出された前記バグ曲線の理論値から前記単位工数あたりの理論バグ数を算出し前記記憶ステップで記憶された前記単位工数あたりの検出バグ数との差からばらつきを算出するステップと、ソフトウェア評価に関わる全工数に亘って前記ばらつき算出ステップで算出されたばらつきに基づき所定の評価値を算出するステップとを具備したことを特徴とするソフトウェア品質の測定方法。
【請求項４】
請求項３記載のソフトウェア品質の測定方法において、前記評価値算出ステップはＺ値を用いて評価値を算出することを特徴とするソフトウェア品質の測定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア品質の測定装置及び測定方法に関する。
【背景技術】
【０００２】
ソフトウェアの評価は様々な要因によりその成否が決定する。従来はソフトウェア開発から評価に至るまでの全ての工程を通してソフトウェア品質予測を行っているが、このような手法は導入に至るまでのコストが大きく、また開発要員にも工数増を要求するものであった。そこで、より簡単にソフトウェア品質を予測するための手法にかかる提案が種々なされている。例えば、特許文献１では日程に対するバグの検出状況を信頼性評価する評価装置が提案されている。また、特許文献２では、ソフトウェア信頼性成長モデルを用いてソフトウェアの信頼性を予測する方法及び装置が提案されている。
【０００３】
しかしながら、品質評価がより適切で且つ容易に行える装置や方法が求められている。
【特許文献１】特開平８−７６９９１号公報（第３頁乃至第４頁、図２）
【特許文献２】特開２０００−１２２８６０号公報（第５頁乃至第７頁、図１、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述したように、従来のソフトウェア品質の測定装置及び測定方法に対し、より適切で且つ容易な品質評価が行える装置や方法が求められている状況にある。
【０００５】
本発明はこのような点に鑑みてなされたもので、ソフトウェア品質の評価を容易に且つ適切に実行可能なソフトウェア品質の測定装置及び測定方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１にかかるソフトウェア品質の測定装置は、ソフトウェア評価に関わる単位工数あたりの検出バグ数にかかるデータを格納する手段と、この格納手段に格納された前記検出バグ数にかかるデータからバグ曲線を作成する手段と、バグ曲線の理論値を算出する手段と、この理論値算出手段で算出された前記バグ曲線の理論値から前記単位工数あたりの理論バグ数を算出し前記格納手段に格納された前記単位工数あたりの検出バグ数との差からばらつきを算出する手段と、ソフトウェア評価に関わる全工数に亘って前記ばらつき算出手段で算出されたばらつきに基づき所定の評価値を算出する手段とを具備したことを特徴とするものである。
【０００７】
また請求項２にかかるソフトウェア品質の測定装置は、請求項１記載のソフトウェア品質の測定装置において、前記評価値算出手段はＺ値を用いて評価値を算出することを特徴とするものである。
【０００８】
さらに請求項３にかかるソフトウェア品質の測定方法は、ソフトウェア評価に関わる単位工数あたりの検出バグ数を記憶装置に記憶させるステップと、この記憶ステップで記憶された前記検出バグ数からバグ曲線を作成するステップと、バグ曲線の理論値を算出するステップと、この理論値算出ステップで算出された前記バグ曲線の理論値から前記単位工数あたりの理論バグ数を算出し前記記憶ステップで記憶された前記単位工数あたりの検出バグ数との差からばらつきを算出するステップと、ソフトウェア評価に関わる全工数に亘
って前記ばらつき算出ステップで算出されたばらつきに基づき所定の評価値を算出するステップとを具備したことを特徴とするものである。
【０００９】
請求項４にかかるソフトウェア品質の測定方法は、請求項３記載のソフトウェア品質の測定方法において、前記評価値算出ステップはＺ値を用いて評価値を算出することを特徴とするものである。
【発明の効果】
【００１０】
本発明によれば、ソフトウェア品質の評価を容易に且つ適切に実行可能なソフトウェア品質の測定装置及び測定方法を提供することが出来る。
【発明を実施するための最良の形態】
【００１１】
以下、本発明になるソフトウェア品質の測定装置及び測定方法の実施の形態について、図面を参照して説明する。
【００１２】
図１は本発明になるソフトウェア品質の測定装置の一実施の形態を示すブロック図である。図中、１は入力部であり、検出したバグの件数データが入力される。２は入力部１に接続されたデータベースであり、検出したバグ件数データを記憶する記憶装置である。３はデータベース２に接続されたデータ集計部であって、データベース２に記憶されているバグ件数にかかるデータを集計し、データ集計部３に接続されたデータ分析部４に上記集計データを送るものである。データ分析部４は、データ集計部３から送られたバグ件数データに基づきソフトウェアの品質を評価するものである。５はデータ分析部４に接続された分析結果表示部であり、データ分析部４でのソフトウェア品質の評価結果を表示する等、結果表示を行うものである。
【００１３】
次に、図１の装置の動作について、図２のフローチャートも用いて説明する。図２は、ソフトウェア品質評価にかかる処理を説明するためのフローチャートである。本実施の形態においては、ソフトウェア品質をバグ曲線を使って数値化するので、評価工程以前の工程は議論する必要が無い。そこでソフトウェア品質評価の最初の動作はバグ検出（ステップＳ１）から始まる。バグ曲線が正しく収束するためにはソフトウェアの５〜１０ステップに１件程度の検査項目密度が必要である。ここでは１０万ステップのソフトウェアを２万件の検査項目で評価する場合を例として説明する。
【００１４】
ステップＳ１におけるバグ検出では全ての検査項目の検査が完了するまでバグ検出を行うため、ステップＳ２で検出が完了したか否かを判断し、完了していなければ（ステップＳ２でＮＯ）、再びステップＳ１に戻る。なお、検出されたバグデータはデータベース２（図１参照）に検出バグデータとして日付ごとに記録される（ステップＳ３）。
【００１５】
全ての検査が完了した場合には、ステップＳ２で評価が完了したと判断され（ステップＳ２でＹＥＳ）、次の２つのステップに並列的に進む。すなわち、一方では、データベース２に記憶されている検出バグデータを用いてバグ曲線を作成する（ステップＳ４）。このステップＳ４は、データ集計部３を介してデータベース２から得たバグデータに基づきデータ分析部４で実行される。上記バグ曲線の例を図３にて説明する。バグ曲線の横軸は単位工数であるが、図３の例では単位工数を１作業日としている。図中、１１がバグ曲線である（バグ件数の累積値を示している）。
【００１６】
次に単位工数ごとの検出数ａの算出を実行する（ステップＳ５）。単位工数を１作業日とすれば、ステップＳ３にてデータベース２に記憶された検出バグデータから日付毎のバグ検出数を求めれば良い。この例を図４に示す。ステップＳ５もデータ分析部４で実行される。
【００１７】
一方、ステップＳ４及びＳ５と平行してゴンペルツ曲線の作成を実行する（ステップＳ６）（及び後述するステップＳ７を実行する）。これらステップＳ６及びＳ７も分析部４で実行されるものである。
【００１８】
ここで、図３のバグ曲線１１から求めたゴンペルツ曲線を同じく図３の曲線１２で示す（累積値を示している）。ゴンペルツ曲線は以下の（１）式から求められる。なお、ゴンペルツ曲線を求める手法は、例えば上述した特許文献２にも述べられている。
【００１９】
【数１】
2005267489.tif 000003
上記（１）式において、Ｋはｔを∞とした場合の収束値であり、γ及びｔ０は定数である。γ及びｔ０は開発から評価に関わる全ての要因で決まる。γ、ｔ０が安定していれば、ソフトウェア品質は良好であると考えられる。しかしステップＳ４のバグ曲線作成で得られたバグ曲線は、通常ゴンペルツ曲線とは乖離がある。そこで、ゴンペルツ曲線から理論的な１日毎の検出バグ数を単位工数ごとの差分演算で算出する（ステップＳ７）。ここで、図３の曲線１２から求めた例を図５に示す。
【００２０】
ステップＳ５及びステップＳ７が終了した後、ステップＳ５で求めた数値（ａ）とステップＳ７で求めた数値（ｂ）との差（ａ）−（ｂ）を算出する（ステップＳ８）。この値は１日毎のバグ検出数の理論と実際の差となる。ステップＳ８の次には、単位工数ごとにばらつき分布図を作成する（ステップＳ９）。すなわち、ステップＳ９ではステップＳ８の結果を分布図にする。この分布図を図６に示す。この分布図から平均値、標準偏差を統計用ソフトウェアにより算出する（ステップＳ１０）。図６において平均値は２１、標準偏差は２２に示されている。
【００２１】
次に統計数値であるＺ値を算出するのであるが、この算出のためには、ＬＳＬ（図６の２３参照）及びＵＳＬ（同じく図６の２４を参照）を算出する必要がある（ステップＳ１１）。ＬＳＬは下限値であるが、単位工数ごとの差分算出（ステップＳ７）で得られた値（ｂ）の最大値に−０．５を乗じた値とする。ＵＳＬは上限値であるが、同じくステップＳ７で得られた単位工数ごとの差分値（ｂ）の最大値に０．５を乗じた値とする。この値には本質的な意味は無く、適切に選択して良い。ステップＳ１２で算出されたＬＳＬ及びＵＳＬは図示せぬメモリに記憶される（ステップＳ１２）。
【００２２】
最後にＺ値を算出する（ステップＳ１３）。Ｚ値は、以下の（２）式、（３）式にて求められる下側Ｚ値（ＺＬ）、上側Ｚ値（ＺＵ）から計算される。
【００２３】
ＺＬ＝（ＬＳＬ−Ｘ）／σＬ  ……（２）
ＺＵ＝（ＵＳＬ−Ｘ）／σＵ  ……（３）
なお、（２）式において、ＸはステップＳ１０で求められたばらつきの平均値であり、（３）式において、σは同じくステップＳ１０で求められたばらつきの標準偏差である。
【００２４】
Ｚ値は統計解析ソフトウェアを用いれば容易に計算できる。一例としてＺ表から計算する方法を述べる。まずＺＬから下側の規格外確率ＰＬを求め、ＺＵから上側の規格外確率
ＰＵを求める。ＰＬ＋ＰＵの確率値に対するＺ値が求めるＺ値である。
【００２５】
例として図３のバグ曲線１１からＺ値を計算してみると、図６に示すように、ばらつき分布図が求められるので、このＺ値は１．８となる。経験上、このように求めたＺ値によりソフトウェア品質は以下のようにレベル分けされる。
【００２６】
Ｚ値＜１．０  ……市場事故が発生する確率が高く、出荷可能な品質レベルにはない。
【００２７】
Ｚ値＝２．０  ……市場事故は少なく、出荷可能な品質レベルにある。
【００２８】
Ｚ値＞３．０  ……市場事故はほとんど無く、良好な品質である。
【００２９】
上記実施の形態によれば、バグ曲線の理論値からのばらつきを数値化することで、ソフトウェア品質を数値で表すことができる。従って、品質評価に不慣れな者であってもソフトウェア品質を容易に判断することが可能となる。
【００３０】
上記ステップＳ８乃至Ｓ１３は、データ分析部４にて実行されるものである。
【００３１】
なお、本発明は上記実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、本実施の形態に対して種々の変更や改良を加えることが可能であることは言うまでもない。
【図面の簡単な説明】
【００３２】
【図１】本発明になるソフトウェア品質の測定装置の一実施の形態を示すブロック図。
【図２】図１の測定装置の動作を説明するためのフローチャート。
【図３】図１の測定装置の動作を説明するための表示画面の例。
【図４】図２のフローチャートのステップを説明するための日別実測バグ検出数のグラフ。
【図５】図２のフローチャートのステップを説明するための日別理論バグ検出数のグラフ。
【図６】図２のフローチャートのステップを説明するためのばらつき分布を示す図。
【符号の説明】
【００３３】
１：  入力部
２：  データベース
３：  データ集計部
４：  データ分析部
５：  分析結果表示部
【図１】
2005267489.tif 000004
【図２】
2005267489.tif 000005
【図３】
2005267489.tif 000006
【図４】
2005267489.tif 000007
【図５】
2005267489.tif 000008
【図６】
2005267489.tif 000009