JP2011141674A - ソフトウェア品質指標値管理システム、ソフトウェア品質指標値の真値を推定する推定方法及び推定プログラム - Google Patents

ソフトウェア品質指標値管理システム、ソフトウェア品質指標値の真値を推定する推定方法及び推定プログラム Download PDF

Info

Publication number
JP2011141674A
JP2011141674A JP2010001373A JP2010001373A JP2011141674A JP 2011141674 A JP2011141674 A JP 2011141674A JP 2010001373 A JP2010001373 A JP 2010001373A JP 2010001373 A JP2010001373 A JP 2010001373A JP 2011141674 A JP2011141674 A JP 2011141674A
Authority
JP
Japan
Prior art keywords
value
quality index
variance
measurement
average
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010001373A
Other languages
English (en)
Inventor
Takashi Norimatsu
隆志 乗松
Makoto Nishikawa
真 西川
Takanori Yaginuma
孝紀 柳沼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010001373A priority Critical patent/JP2011141674A/ja
Publication of JP2011141674A publication Critical patent/JP2011141674A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】ソフトウェア開発における品質指標の測定値から、作業者の作業能力以外の要因による変動を取り除き、作業者の作業能力を要因による真値を客観的に推定する。
【解決手段】本システムは、品質指標の測定値を受け取る品質指標値取得部10と、作業者の作業能力以外の要因である誤差変動を特徴づけるパラメタである誤差変動パラメタを過去の品質指標測定値から統計学的に推定し計算する誤差変動パラメタ推定計算部20と、作業者の作業能力の要因による真値を特徴づけるパラメタである事後分布パラメタをこれまでに蓄積された品質指標測定値の情報と誤差変動の情報をベイズ分析の手法に適用して客観的に求める事後分布パラメタ計算部30と、品質指標管理者がインタフェース部を通じて指定した条件で統計的決定理論に基づき真値の推定値を決定する統計的決定部40とを備える。また、記憶部7は、測定値、求められた各パラメタ、推定値を記憶する。
【選択図】図1

Description

本発明は、ソフトウェア品質指標値管理システム、ソフトウェア品質指標値の真値を推定する推定方法及び推定プログラムに係り、特に、ソフトウェア開発のプロジェクトマネジメントで用いられるソフトウェアの品質指標値について、ソフトウェア開発作業者の作業の結果得られた品質指標の測定値データから、作業者の作業能力を要因とする真の品質指標値を推定及びその推定の信頼性も明示するシステム、方法及びプログラムに関する。
ソフトウェアの規模(ソースコード規模)が膨大なものになり、従来の工業製品における品質管理と同様にソフトウェア開発の分野でも品質を表わす指標の研究がなされ、その指標は確立されつつある。例として非特許文献1に記載されているものを挙げると、ソフトウェア指標の作成にかかった工数に対するレビューの工数の割合、単位ソースコード規模に対するテスト実施工数、コーディングルールの逸脱数、設計書を作成する工程におけるレビュー指摘数である。ソフトウェア開発のプロジェクトマネジメントではこの指標を測定することでソフトウェアの品質管理と制御を行う。
しかしながら、工業製品が品質管理において製品のばらつきを抑えるため品質指標の測定値を統計学的に解析して品質向上を図っているのに対して、ソフトウェア開発製品においては同様の取り組みがなされていない。ソフトウェアでは工程と作業が決まっていても、作業者の裁量に負うところがおおきく、品質の把握、向上の取り組みとして品質指標の測定を行ってもそれが信頼できる値であるかどうか確かではない。
独立行政法人 情報処理推進機構 ソフトウェア・エンジニアリングセンター編、「組込みソフトウェア開発向け品質作り込みガイド」 繁枡算男著、「ベイズ統計入門」 豊田秀樹著・編、「マルコフ連鎖モンテカルロ法」 松原望著、「入門ベイズ統計」
ソフトウェアの品質を知るために仕様書の検討・作成・レビュー、設計書の検討・作成・レビュー、コーディング及びそのレビュー、テスト仕様及び項目の検討・作成・レビュー・実施、不具合の摘出、不具合の修正など開発工程のそれぞれで計測される品質指標値には、作業者の作業能力の要因による変動の他に、作業者の作業能力以外の要因による変動が含まれる。これは工業製品においては工程における作業が機械化されておりその工程における品質指標には物理的要素と偶然の要素のみが影響するのに対して、ソフトウェア開発では工程がすべて人間のかかわる作業であり、作業内容をこと細かく指定してもその理解と実施が千差万別であるためである。その一例として、品質指標の定義を厳密に行い測定方法の説明を十分にしても作業者によって解釈を異にとることが挙げられる。ある設計書を作成する工程におけるレビュー指摘数やコーディングルールの逸脱数はその具体例である。
この変動の為、ソフトウェア開発プロジェクトで品質指標値の目標値を立て、ソフトウェアの品質を管理しようとしても、計測された品質指標値がソフトウェアの正しい品質を表わしておらず、ソフトウェアの品質を正確に把握できない事態が発生する。そのため本来ならば品質を保証する必要十分な施策をとるべきである状態にもかかわらず、それが計測された品質指標値から読み取れない事態が発生する。
この事態を防ぐために、従来のソフトウェア開発プロジェクトでは品質指標の定義を厳密にしたり定義の項目を増やしたりして、作業者による作業の認識のばらつきをなくすといった方法が採られている。然しながら、このような方法は感覚的でなものであり、また定義の規定者による主観的な要素が大きく反映されてしまう。よって品質指標が正しくソフトウェアの品質を表わすようになることを保証するものではない。加えて、その効果が定量的に図れず、従ってその方法が妥当であるかどうかの判断ができない。
本発明は、以上の点に鑑み、作業者が過去に報告した品質指標値からその作業者の系統的な特性を確率論に基づき捉えるモデルを構築し、ベイズ分析による手法を援用して作業者の系統的な特性の情報を取り込み本来の品質指標値の推定値を得て品質管理者に報告するソフトウェア品質指標値管理システム、ソフトウェア品質指標値の真値を推定する推定方法及び推定プログラムを提供することを目的とする。また、本発明は、これにより、品質管理者はソフトウェアの品質を正しく認識でき、ソフトウェア開発プロジェクトを遅滞なく完遂するために必要な品質保証施策を行えるようにすることを目的のひとつとする。
本発明にかかるソフトウェア品質指標値管理システムは、ネットワークに接続されたソフトウェア開発作業者端末から報告されるソフトウェア品質指標の測定値を、作業者・品質指標種別毎に時系列で取得する品質指標測定値取得部と、本発明適用以前に測定された既存の品質指標測定値及び、本発明適用以後取得した品質指標測定値について、作業者・品質指標種別・測定回(時系列)毎に測定値を記録し保持する品質指標測定値記録部と、品質指標種別毎に、作業者の作業能力を示す値を真値、作業者の作業能力以外の要因を回答特性、回答特性が原因で生じる変動を誤差変動とし、測定された品質指標値は真値と誤差変動の和からなるものとし、誤差変動について正規分布を仮定し、本発明適用以前に記録されている既存の品質指標測定値についてある測定値のどこまでが真値でありどこまでが誤差変動かわからないものとし、統計的無差別原理から、本発明適用以前に記録されている既存の品質指標測定値を品質指標測定部から取得し、それらに作業者・品質指標種別毎に(0,1)の一様乱数の生成結果を乗じ、得られる標本平均と標本分散が、作業者・品質指標種別毎の誤差変動のパラメタである平均と分散を推定値であるものとして計算する誤差変動パラメタ推定計算部と、誤差変動パラメタ推定計算部で求めた作業者・品質指標種別毎の誤差変動の平均の推定値と分散の推定値を、作業者・品質指標種別・測定回(時系列)毎に記録し保持する誤差変動パラメタ推定値記録部と、(1)測定された品質指標値は真値と誤差変動の和からなること、(2)誤差変動が正規分布に従うこと、(3)誤差変動のパラメタである平均と分散を未知のままにせず、既存の品質指標測定値から統計学的に妥当な推定値を計算し、既知のものとして扱うこと、(4)ベイズの定理における事前分布について、真値の分布を正規分布とし、ハイパーパラメタ(ベイズの定理を利用して初めて推定を行う際に規定する事前分布のパラメタ)である平均と分散について、平均を既存の品質指標測定値の標本平均から前述の誤差変動パラメタ推定計算部で計算した誤差変動の平均の推定値を引いたもの、分散を誤差変動の分散の推定値とすることから、現測定回における推定の事後分布も正規分布になることを利用して、作業者・品質指標種別の誤差変動の平均の推定値、分散の推定値、及び前回の推定において事後分布パラメタ計算部で得られた作業者・品質指標種別の真値の分布のパラメタである平均と分散から、現測定回の真値の分布のパラメタである平均と分散を計算する事後分布パラメタ計算部と、事後分布パラメタ計算部で求めた、作業者・品質指標種別毎の真値の分布のパラメタである平均と分散を、作業者・品質指標種別・測定回(時系列)毎に記録し保持する事後分布パラメタ記録部と、事後分布パラメタから、損失関数の期待損失最小化を成すように推定値を決める統計的決定理論に基づき、ソフトウェア品質指標値を用いてソフトウェアの品質を管理するソフトウェア品質管理者が、作業者・品質指標種別・測定回毎に複数の損失関数の候補から損失関数を選択し、損失関数のパラメタを決定し、真値の推定値を決定する統計的決定部と、統計的決定部で得られた作業者・品質指標種別毎の真値の推定値を、作業者・品質指標種別・測定回(時系列)毎に記録し保存する推定値記録部と、作業者が品質指標の測定値を入力するための画面と、品質指標管理者が品質指標の真値の推定に当たり使用する統計的決定理論に於ける損失関数とそのパラメタ、そして推定値の信頼性の限界を示す分散の閾値を入力する画面と、品質指標管理者が品質指標の真値の推定値とその信頼性を閲覧できる画面とを提供するインタフェース部を備える。
初めて真値の推定値を得る場合(第1測定回)、作業者・品質指標種別の誤差変動に関する情報が全くない状態である。そのため、前記の品質指標測定値記録部に記録されている、本発明適用以前に測定された品質指標値の内、どこまでが真値でどこまでが誤差変動であるかわからない。したがって、何らかの妥当な推定を行う必要がある。そこで統計学における無差別原理に基づき、測定値にどれだけの割合が誤差変動であるかは全て同様に確からしいものとして、(0,1)の一様分布に従う乱数をその割合とみなし、各品質指標測定値における誤差変動を計算する。
誤差変動のパラメタである平均と分散について、前記統計学的無差別原理に基づく誤差変動から、作業者・品質指標種別の標本平均と標本分散を、それぞれ平均と分散の推定値とする。
真値を推定するためにベイズの定理を用いた推定を行うが、初めて推定を行う場合事前分布が明らかでない。したがって妥当な事前分布の設定が必要である。事前分布の形状を正規分布とし、ハイパーパラメタである平均は、尤もらしい値として本発明適用以前に測定された品質指標値から無差別原理に基づき求めた誤差変動を引いたものを本発明適用以前に測定された品質指標値の真値と見なし、その標本平均とする。もう一つのハイパーパラメタである分散は、誤差変動と同等にばらつくと見なして無差別原理に基づき求めた誤差変動の分散とする。
本発明にかかるソフトウェア品質指標値管理システムは、前記誤差変動パラメタ推定計算部において、作業者・品質指標種別毎に、ある測定回で報告された品質指標測定値から、その測定回の前記事後分布パラメタ計算部で計算された対象の作業者・品質指標種別の真値の分布のパラメタである平均を引いたものを、その測定回(第n測定回、nは2からmの整数、mは2以上の整数)における作業者・品質指標種別の誤差変動とみなし、本発明適用以後測定を開始した時点から現測定時点の前の測定回(第n−1測定回)までの作業者・品質指標種別毎の測定値を前記品質指標測定記録部から取得し、その標本平均を現測定時点での作業者・品質指標種別毎の誤差変動の平均の推定値として計算し、前記誤差変動パラメタ推定計算部において、本発明適用以前に測定され記録されていた作業者・品質指標種別毎の品質指標測定値の偏差2乗和と、ある測定回で報告された作業者・品質指標種別毎の品質指標測定値から、その測定回の前記事後分布パラメタ計算部で計算された、対象の作業者・品質指標種別の真値の分布のパラメタである平均を引き、さらに現測定時点での対象の作業者・品質指標種別の誤差変動の平均の推定値を引いたものの2乗和を、現測定時点の前の測定回まで足し合わせ、その測定回までの測定数と本発明適用以前に測定され記録されていた対象の作業者・品質指標種別の測定数の和で割ったものを、現測定時点での対象の作業者・品質指標種別の誤差変動の分散の推定値とし計算し、前記事後分布パラメタ計算部において、(1)測定された品質指標値は真値と誤差変動の和からなること、(2)誤差変動が正規分布に従うこと、(3)誤差変動のパラメタである平均と分散を未知のままにせず、既存の品質指標測定値から統計学的に妥当な推定値を計算し、既知のものとして扱うこと、(4)前の測定回の事後分布パラメタ計算部において得られた真値の事後分布を事前分布としてベイズの定理に代入することから、現測定回における推定の事後分布も正規分布になることを利用して、作業者・品質指標種別の誤差変動の平均の推定値、分散の推定値、及び前回の推定における事後分布パラメタ計算部で得られた作業者・品質指標種別の真値の分布のパラメタである平均と分散から、現測定回の真値の分布のパラメタである平均と分散を計算する。
従来の頻度論に基づく統計的推測では推定したいパラメタは未知であるものの固定で存在するものとするが、ベイズの定理を利用した統計分析であるベイズ分析の分野では、そのようなパラメタは観測できないため固定のものとしては扱わず、確率分布を導入して確率変数とみなす。そのため、真値は確率分布に従う確率変数として扱っている。
本発明を適用後2回目の測定からは、前記事後分布パラメタ計算部においてベイズの定理を利用することにより作業者・品質指標種別の回答特性の情報を推定パラメタ計算に反映することができる。ある測定回での推定パラメタ計算において、ベイズの定理の事前分布に、その前の測定回で得られた真値の分布をあてはめることを情報の更新と呼び、更新の結果得られる事後分布がその測定回での真値の分布となる。したがって、事後分布は事前分布の情報を織り込んでおり、事後分のパラメタである真値の平均と分散は、その前の測定回における真値の情報を反映したものになっている。この更新は測定の度に行われるので、結果としてある測定回における真値の平均と分散は、それ以前の全測定回における真値の平均と分散の情報が反映される。以上に示されるベイズの定理における情報の更新により、真値の推定に主観的要素を排除し、作業者・品質指標種別の真値の客観的な推定値を得ることが可能となる。
ベイズの定理を利用したベイズ分析においては、事後分布が解析的に導出できない場合、未知のパラメタを推定する際に非特許文献3にあるようにマルコフ連鎖モンテカルロ法という乱数生成を利用した方式を用いる必要があるが、未知のパラメタの推定に必要な乱数生成数が極めて多いため、多大な計算量を必要とする。品質指標測定値には誤差変動の平均と分散、それに真値という3つの未知のパラメタが存在するが、前記誤差変動パラメタ推定計算部において、誤差変動の平均と分散を作業者・品質指標種別に既に測定されている測定値から推定し既知とすることで、ベイズの定理における事後分布である真値の分布を解析的に導出し、さらに誤差変動が正規分布であることから真値の分布も正規分布となり、真値の分布の平均と分散を単一の式で表すことができる。作業者・品質指標種別のある測定回における真値の分布の平均を求めるには、測定値と、前記誤差変動パラメタ推定計算部で計算した誤差変動の平均の推定値と分散の推定値と、前の測定回において前記事後分布パラメタ計算部で計算した真値の分布の平均と分散を式に代入して計算するだけでよく、作業者・品質指標種別のある測定回における真値の分布の分散を求めるには、前記誤差変動パラメタ推定計算部で計算した誤差変動の分散の推定値と、前回の測定において前記事後分布パラメタ計算部で計算した真値の分布の分散を式に代入して計算するだけなので、マルコフ連鎖モンテカルロ法を用いる場合と比べ、計算量と殆ど必要とせず、真値の推定値を得ることができる。
また、真値の分布のパラメタである分散の式の形状から、測定回が進み事後分布パラメタ計算部における推定処理を繰り返すたびに真値の分布の分散が減少するため、測定と推定を繰り返すたびに真値の推定値の精度が向上することを保証できる。
前記統計的決定部において、損失関数として非対称絶対損失を選択し、品質指標値管理者システムを用いてソフトウェアの品質管理を行う担当者が、品質指標の種別毎に過大な推定値に対するペナルティー係数と過少な推定値に対するペナルティー係数を指定することで、担当者の推定に対する選好を反映する。
経験豊富な品質管理担当者や、特定の技術領域の専門家である品質管理担当者としては、推定値を得るにあたり、ある品質指標種別に関しては経験上過大に推定するべきでないという判断を下したり、また別の品質指標種別に関しては経験上過少に推定すべきではないという判断を下したい場合がある。経験上過大に推定するべきでない場合は損失関数として非対称絶対損失を選択して過大な推定値に対するペナルティー係数を大きく設定し、経験上過少に推定すべきではない場合は損失関数として非対称絶対損失を選択して過少な推定値に対するペナルティー係数を小さく設定することで、経験豊富な品質管理担当者や、特定の技術領域の専門家である品質管理担当者の経験を推定に組み込むことができる。
前記統計的決定部において、品質指標値管理者システムを用いてソフトウェアの品質管理を行う担当者が、真値の分布のバラつきを示すパラメタである分散に対して閾値を設け、計算された分散が閾値内に収まっていれば信頼に足る推定値であるとして決定された推定値を採用する。
真値の推定値を得た場合でも、分布の分散が大きい場合推定値の信頼性に欠ける。前述のとおり、品質指標値の測定と推定を繰り返すたびに真値の分散が減少し、推定値の精度が上がるが、品質管理を行う担当者が推定値の精度の許容度として分散の閾値を指定することで、推定値の分散が閾値を上回る場合は推定値を採用せず、品質指標値の測定と推定を繰り返すうちに推定値の分散が閾値内に収まった段階から推定値を採用することで、所定の精度が確保された真値の推定値を得ることができる。
本発明の第1の解決手段によると、
ソフトウェア開発において測定されたソフトウェアの品質指標測定値からソフトウェア開発作業者の作業能力以外の要因で生じる変動を取り除き、ソフトウェア開発作業者の作業能力を示す真値を推定するソフトウェア品質指標値管理システムであって、
ソフトウェア開発作業者の操作により端末から送信されるソフトウェアの品質指標測定値を、時系列で取得する品質指標測定値取得部と、
本システム適用以前に取得された複数の品質指標測定値、及び、本システム適用以後に取得された品質指標測定値を、測定回毎に又は時系列に記録する品質指標測定値記録部と、
取得される品質指標測定値は、ソフトウェア開発作業者の作業能力を示す真値と、ソフトウェア開発作業者の作業能力以外の要因である回答特性が原因で生じる誤差変動の和からなるものと仮定し、及び、該誤差変動は正規分布であると仮定し、前記品質指標測定値記録部に記録された本システム適用以前に取得された複数の品質指標測定値に一様乱数を乗じ、この標本平均と標本分散を誤差変動の平均の推定値と分散の推定値とする(数15、数16)誤差変動パラメタ推定計算部と、
求められた誤差変動の平均の推定値と分散の推定値を記録する誤差変動パラメタ推定値記録部と、
第1測定回のベイズ推定における真値の事前分布のパラメータであるハイパーパラメータのひとつである平均を、本システム適用以前に取得された複数の品質指標測定値から、前記誤差変動パラメタ推定計算部で求められた誤差変動の平均の推定値をそれぞれ引いた各値の標本平均とし(数20)、該ハイパーパラメータの他のひとつである分散を、前記誤差変動パラメタ推定計算部で求められた誤差変動の分散の推定値とし(数21)、求められた誤差変動の平均の推定値及び分散の推定値と、該ハイパーパラメータの平均及び分散と、本システム適用以後に取得された品質指標測定値とに基づき、第1測定回での、ベイズ分析における真値の事後分布の平均及び分散を求める事後分布パラメタ計算部と、
前記事後分布パラメタ計算部により求められた真値の事後分布の平均及び分散を記録する事後分布パラメタ記録部と、
複数の測定回の後、求められた事後分布の平均に基づき品質指標測定値の真値の推定値を求める決定部と、
決定された真値の推定値を記録する推定値記録部と
を備え、
前記誤差変動パラメタ推定計算部は、
第n−1測定回(nは2からmの整数、mは2以上の整数)までの品質指標測定値の誤差変動の標本平均を第n測定回の誤差変動の平均の推定値とし(数18)、本システム適用以前に取得された品質指標測定値の誤差変動の偏差2乗和と、第n−1測定回までの品質指標測定値の誤差変動の偏差2乗和とを加算して、第n測定回の誤差変動の分散の推定値とし(数19)、
前記事後分布パラメタ計算部は、第n−1測定回における真値の事後分布の平均及び分散を第n測定回のベイズ推定における真値の事前分布の平均及び分散とし、求められた第n測定回の誤差変動の平均の推定値及び分散の推定値と、該事前分布の平均及び分散と、第n測定回の品質指標測定値とに基づき、第n測定回のベイズ分析における真値の事後分布の平均及び分散を求め(数22、数23)、
前記決定部は、第m測定回で求められた事後分布の平均に基づき品質指標測定値の真値の推定値を求め、前記推定値記録部に記録する前記ソフトウェア品質指標値管理システムが提供される。
本発明の第2の解決手段によると、
ソフトウェア開発において測定されたソフトウェアの品質指標測定値からソフトウェア開発作業者の作業能力以外の要因で生じる変動を取り除き、ソフトウェア開発作業者の作業能力を示す真値を推定するソフトウェア品質指標値管理システムを用いてソフトウェア品質指標値の真値を推定する推定方法であって、
処理部が、ソフトウェア開発作業者の操作により端末から送信されるソフトウェアの品質指標測定値を、時系列で取得するステップと、
処理部が、本システム適用以後に取得された品質指標測定値を、測定回毎に又は時系列に品質指標測定値記録部に記録するステップと、
処理部が、取得される品質指標測定値は、ソフトウェア開発作業者の作業能力を示す真値と、ソフトウェア開発作業者の作業能力以外の要因である回答特性が原因で生じる誤差変動の和からなるものと仮定し、及び、該誤差変動は正規分布であると仮定し、品質指標測定値記録部に予め記録された本システム適用以前に取得された複数の品質指標測定値に一様乱数を乗じ、この標本平均と標本分散を誤差変動の平均の推定値と分散の推定値とするステップと、
処理部が、求められた誤差変動の平均の推定値と分散の推定値を誤差変動パラメタ推定値記録部に記録するステップと、
処理部が、第1測定回のベイズ推定における真値の事前分布のパラメータであるハイパーパラメータのひとつである平均を、本システム適用以前に取得された複数の品質指標測定値から、求められた誤差変動の平均の推定値をそれぞれ引いた各値の標本平均とし、該ハイパーパラメータの他のひとつである分散を、求められた誤差変動の分散の推定値とし、求められた誤差変動の平均の推定値及び分散の推定値と、該ハイパーパラメータの平均及び分散と、本システム適用以後に取得された品質指標測定値とに基づき、第1測定回での、ベイズ分析における真値の事後分布の平均及び分散を求めるステップと、
求められた真値の事後分布の平均及び分散を事後分布パラメタ記録部に記録するステップと、
処理部が、第n−1測定回(nは2からmの整数、mは2以上の整数)までの品質指標測定値の誤差変動の標本平均を第n測定回の誤差変動の平均の推定値とし、本システム適用以前に取得された品質指標測定値の誤差変動の偏差2乗和と、第n−1測定回までの品質指標測定値の誤差変動の偏差2乗和とを加算して、第n測定回の誤差変動の分散の推定値とするステップと、
処理部が、第n−1測定回における真値の事後分布の平均及び分散を第n測定回のベイズ推定における真値の事前分布の平均及び分散とし、求められた第n測定回の誤差変動の平均の推定値及び分散の推定値と、該事前分布の平均及び分散と、第n測定回の品質指標測定値とに基づき、第n測定回のベイズ分析における真値の事後分布の平均及び分散を求めるステップと、
処理部が、第m測定回で求められた事後分布の平均に基づき品質指標測定値の真値の推定値を求めるステップと、
処理部が、決定された真値の推定値を推定値記録部に記録するステップと
を含む前記推定方法、及び、上記各ステップをコンピュータに実行させるための推定プログラムが提供される。
実際に測定される品質指標値をそのままソフトウェアの品質指標として取り扱うと、ソフトウェアの品質を過大乃至過小評価することになる。本発明により、主観的な推定を避け、測定値から回答特性による変動を除き、所定の信頼性が確保された客観的な真値の推定値を得ることができ、正しくソフトウェアの品質を評価できる。その結果、ソフトウェアの開発プロジェクトで保証しなければならない品質を確保する為に必要十分な施策を見極められ、コストと時間の面で効率的にプロジェクトを完遂できる。
また、本発明によると、作業者の真の作業能力の推定を行える。これにより作業者の力量を把握でき、その後のソフトウェア開発プロジェクトの計画段階で適切なリソース割り当てが行える。
本発明のシステム構成図である。 品質指標の真値を推定する方法及び真値の分布を示す図である。 品質指標の真値の推定法を説明するフローチャートである。 品質指標の測定値を取得し記録する処理を行う機能ブロック図である。 品質指標の測定値を取得し記録する処理を行うインタフェースである。 品質指標の測定値を取得し記録する処理を行うためのデータ構造である。 誤差変動のパラメタの推定値を計算し記録する処理を行う機能ブロック図である。 誤差変動のパラメタの推定値を計算し記録する処理を行うフローチャートである。 誤差変動のパラメタの推定値を計算し記録する処理を行うためのデータ構造である。 本発明における品質指標の推定を初めて行う際に、誤差変動のパラメタの推定値を計算する処理を示すフローチャートである。 誤差変動のパラメタの推定値を計算する処理を示すフローチャートである。 品質指標の真値の事後分布のパラメタを計算する処理を行う機能ブロック図である。 品質指標の真値の事後分布のパラメタを計算する処理を行うフローチャートである。 本発明における品質指標の推定を初めて行う際に、品質指標の真値の事後分布のパラメタを計算する処理を示すフローチャートである。 品質指標の真値の事後分布のパラメタを計算する処理を示すフローチャートである。 統計的決定理論に基づく品質指標の真値の決定処理及び推定値の信頼性のチェックを行う機能ブロック図である。 統計的決定理論に基づく品質指標の真値の決定処理及び推定値の信頼性のチェックを行うインタフェースである。 統計的決定理論に基づく品質指標の真値の決定処理及び推定値の信頼性のチェックを行うためのフローチャートである。
以下、図面を参照しこの発明を実施するための形態について説明する。
図1は本発明の一実施形態のシステム構成図である。本形態のソフトウェア品質指標値管理システムは、ソフトウェア開発作業者の作業者端末1と、ソフトウェアの品質管理者の端末2と、ソフトウェア開発作業者が作業端末を通じて送信する品質指標測定値を集計する品質指標値集計サーバ3と、作業者端末1と品質管理者端末2と品質指標値集計サーバ3を接続するネットワーク4を備える。品質指標値集計サーバ3はネットワークを介して作業者端末1と品質管理者端末2との情報のやり取りと変換を行うインタフェース部5と、処理部(CPU)6と、記憶部(二次記憶)7と、これらを結ぶデータバス8を有する。処理部(CPU)6は品質指標値取得部10、誤差変動パラメタ推定計算部20、事後分布パラメタ計算部30、統計的決定部40を備える。本実施の形態における品質指標値集計サーバ3での各処理は、処理部6により実行される。記憶部(二次記憶)7は品質指標値測定記録部110、推定値記録部120、誤差変動パラメタ推定値記録部210、事後分布パラメタ記録部220を備える。本実施の形態において品質指標値集計サーバ3に記憶される情報は、処理部7に記憶される。
統計学ではある値の推定値を表わすのに通常その値の上部をハットで修飾するが、本文中及び図中では修飾することができない。従って、以後図中及び本文中で推定値を表現する際には、便宜上、記号の横に上付き文字の小文字のハットを付与する。
品質指標とは、ソフトウェアの品質を表わすとされる指標であり、品質指標計測値とは、ソフトウェア開発に携わる作業者が、ある作業の結果得られた品質指標の値である。例えばソフトウェアの設計書のレビューという作業において、不具合であると指摘を受けた件数が、設計書レビュー指摘件数という品質指標となり、レビューをやってみて実際に受けた件数が測定値となる。また、測定回については、例えば本発明を適用したシステムを使用し始めてから既にソフトウェアの設計書のレビューを6回行っており、次いでソフトウェアの設計書のレビューを行い設計書レビュー指摘件数を数えた場合、それは設計書レビュー指摘件数という品質指標の7回目の計測値ということになる。
本実施の形態では、品質指標種別毎に、作業者の作業能力を示す値を真値、作業者の作業能力以外の要因を回答特性、回答特性が原因で生じる変動を誤差変動とし、測定された品質指標値は真値と誤差変動の和からなるものとし、誤差変動について正規分布を仮定する。ここで作業者iによる品質指標種別jのn回目の測定値を
Figure 2011141674

で表す。数1の第1項θが作業者による品質指標種別の作業能力を表わす値である真値を表わし、第2項εが作業者による品質指標種別の誤差変動を表わす。数1において作業者iによる品質指標種別jのn回目の測定時における誤差変動εi,j(n)は
Figure 2011141674
で示すように、平均μi,j(n)、分散σ i,j(n)の正規分布に従う確率変数とする。よって、作業者iによる品質指標種別jのn回目の測定値xi,j(n)は、
Figure 2011141674
であらわされるように、平均θi,j(n)+μi,j(n)、分散σ i,j(n)の正規分布に従う確率変数になる。
本実施の形態では、真値の推定にはベイズ分析を用いている。ソフトウェア開発の諸作業について、作業者毎に特性がでるものであり、その為作業の結果として測定された品質指標測定値は作業者・品質指標種別に異なる傾向を示す。既存の統計学的方法や数理科学的方法を適用する場合、その背後にそれぞれ傾向を示すための妥当なモデルを構築し、検証を行わなければならないが、既存の統計学的方法では測定数が足りないと信頼性のある推定結果が得られなかったり、モデル自体が複雑である場合推定そのものができない場合がある。これに対してベイズ分析による統計学的推定は、真値の推定に対して主観的な要素を排除し、作業者・品質指標種別の測定値そのものの情報を客観的に真値の推定に反映させることができるため、課題である推定に対する主観的な要素の排除が達成できる。
数3で示すように、品質指標測定値には真値θi,j(n)、誤差変動の平均μi,j(n)、誤差変動の分散σ i,j(n)が含まれるため、これをそのままベイズ分析するとする。従来の頻度論に基づく統計的推測では推定したいパラメタは未知であるものの固定で存在するものとするが、ベイズの定理を利用した統計的分析であるベイズ分析の分野では、これは観測できないため固定のものとしては扱わず、確率分布を導入して確率変数とみなす。そのため、真値θi,j(n)を確率変数θi,j、誤差変動の平均μi,j(n)を確率変数μi,j、誤差変動の分散σ i,j(n)を確率変数σ i,jとし、3次元の確率変数(θi,j、μi,j、σ i,j)で表すと、ベイズの定理による事後分布は
Figure 2011141674

となる。左辺は作業者iによる品質指標種別jのn回目の測定値xi,j(n)が観測された場合の確率変数(θi,j、μi,j、σ i,j)の確率密度関数を表わす。分子の第1項が事前分布、すなわち確率変数(θi,j、μi,j、σ i,j)の確率密度関数となる。分子の第2項が尤度、すなわち(θi,j、μi,j、σ i,j)が既知の場合に品質指標値xi,j(n)が観測される尤もらしさの度合いを示す関数である。ベイズ分析では、事前分布に前の回のベイズ分析による推定で求めた事後分布を代入する。これはベイズ更新と呼ばれ、更新を繰り返すことで過去測定された品質指標値の情報を分布に取り込むことができる。この更新では前回観測された品質指標値xi,j(n−1)の情報を事後分布に反映させることができる。これを
Figure 2011141674
とすると、数4は
Figure 2011141674

となる。分母は分子をθi,j、μi,j、σ i,jの取り得る全区間での積分を示す。したがって、分母は定数となる。真値θi,jの事後分布は、数6をμi,jとσ i,jの取り得る区間で積分することで得られる。数6の分母は定数となっているので分子に対して積分することになる。これで作業者iによる品質指標種別jの品質指標値に含まれる真値の分布が得られたことになるが、一般的に数6は解析的に解けない。すなわち確率分布の数式として明示的に定式化ができない。定式化ができずとも、真値の分布は数6で示されているため、推定値として数6の平均や別な統計量、例えば中位値やモードや75パーセンタイル点などをもって推定値とすることはできる。しかしながら、一般的に統計量の計算は確率密度関数の期待値計算を行わなければならない。正規分布やポアソン分布などよく知られた関数は、その統計量が明示的に定式化され示されているため計算は容易だが、数6のように一般的な形では統計量は明示的に示せない。そのため、非特許文献3にあるように、乱数を用いたシミュレーションを行い近似値を計算せざるを得ない。数6は確率密度関数であるため、非特許文献3にあるマルコフ連鎖モンテカルロ法を用いて平均値など統計量を求めるのは可能である。しかしながらこの方法は(1)乱数を大量に発生させる必要があること、(2)どれだけ乱数を発生させたら十分な信頼性を確保できるかが不明であること、(3)場合によっては計算が収束しないことがあり、計算量の面と信頼性の面からみて欠点もある。(1)については、数6で示される確率密度関数からの乱数として扱ってよい状態、即ちマルコフ連鎖が定常状態に至ったとみなす(バーンイン)までの乱数は使われないことから採用する数以外にバーンインまでの数も含めると膨大な擬似乱数を発生する必要がある。また、擬似乱数を発生させすぎると擬似乱数が一巡してしまい同じパターンの擬似乱数が繰り返されてしまう可能性がある。
そこで、本実施の形態では、数1の3つの未知のパラメタである、真値θi,j(n)、誤差変動の平均μi,j(n)、誤差変動の分散σ i,j(n)のうち、μi,j(n)とσ i,j(n)を妥当な方法で推定し既知のものとし、未知のパラメタを1つにすることで、シミュレーションによる近似値計算を行わずに真値θi,j(n)、誤差変動の平均μi,j(n)を明示的な形で計算する。これにより計算の為のマシンリソースをさほど必要とせず、低いスペックのマシンでも本形態を実施することができる。μi,j(n)とσ i,j(n)の推定値は、既に測定されている品質指標値の標本平均と標本分散としている。推定値として標本平均と標本分散をとるのは統計学的に妥当である。
数3で示したように、作業者iによる品質指標種別jのn回目の測定時における品質指標値xi,j(n)は平均θi,j(n)+μi,j (n)、分散σ i,j (n)の正規分布に従う確率変数となる。μi,j (n)とσ i,j (n)は前述のとおり妥当な方法で推定し既知のものとなったため、真値のみが未知の確率変数θi,jとなり、
Figure 2011141674
で示されるようにxi,j(n)は平均θi,j+μi,j (n)、分散σ i,j (n)の正規分布に従う。すなわちパラメータの一つであるθi,jが確率変数である正規分布に従う。これにより数6は
Figure 2011141674
であらわされる。Cは分母を積分した結果で定数である。
ベイズ分析では、θi,jの事前分布に前の回のベイズ分析による推定で求めた事後分布を代入する、つまりベイズ更新で過去測定された品質指標値の情報を分布に取り込むが、初めてベイズ分析を行う際にはベイズ更新ができない。そのため何らかのθi,jの事前分布を仮定する必要がある。本形態では事前分布の形状は一般的な正規分布とし、既存の品質指標測定値から統計学的な無差別原理に基づき既存の品質指標測定値の誤差変動の標本平均と標本分散を求めた後、これを利用してハイパーパラメタ(初めてベイズ分析を行う際の事前分布のパラメタ)である平均θi,j(0)、分散τ i,j(0)を設定する。数7に示したように、一番最初にベイズ分析を行う場合、xi,j(1)はθi,j+μi,j (1)、分散σ i,j (1)の正規分布に従い、θi,jの事前分布は平均θi,j(0)、分散τ i,j(0)の正規分布となる。よってθi,jの事後分布は数8の指数部をθi,jについて平方完成し、確率密度関数の性質から
Figure 2011141674
となり、正規分布となる。実際、非特許文献4にあるように、尤度が正規分布であり事前分布も正規分布であるため、事後分布も正規分布となる。これは、正規分布が尤度の自然な共役事前分布であるためである。この1回目のベイズ分析による推定の事後分布が、ベイズ更新により次の回のベイズ分析による事前分布となるため、θi,jの事後分布は常に正規分布となる。この真値であるθi,jの事後分布である平均と分散は、指数部をθi,jについて平方完成し、確率密度関数の性質を用いて数8を変形すると
Figure 2011141674
となることから、事後分布が正規分布であり、作業者iによる品質指標種別jのn回目の測定時における品質指標値の真値の平均θi,j(n)及び分散τ i,j(n)は数10にあるように明示的に定式化される。これにより、値を代入して計算するだけで品質指標値の真値の分布のパラメタを得ることができる。これを用いて統計的決定理論に基づき真値の推定値を決定する。
数10にある分散τ i,j(n)の形状から、ベイズ分析による推定を繰り返すたびに分散は減少する。これは
Figure 2011141674
であることから明らかである。よって、品質指標の測定を重ね、ベイズ分析による推定を繰り返すことで真値の事後分布のバラつきが小さくなり、精度のよい推定値を得ることができる。
図2に、ベイズ分析におけるベイズ更新と真値の事後分布のばらつきが小さくなる様子を示す。事後分布は正規分布であるため、平均を中心にして±標準偏差の区間の値を確率変数が取り得る確率は約68%となる。一番最初にベイズ分析による推定を行う際には事前分布が規定されていないため、前述したように本推定法適用以前に記録された品質指標値から誤差変動の平均と分散の推定値を計算し、事前分布のハイパーパラメタである真値の平均と分散を計算し、事後分布を得る。前述のとおり事後分布も正規分布となるため、実際は正規分布の形状を規定するパラメタである真値の事後分布の平均と分散を数9の式から計算するのみである。次回の推定からはベイズ更新を行うため、1回目の推定で得られた真値の事後分布の平均と分散を、2回目の推定における真値の事前分布の平均と分散として用いる。真値の推定自体は別に統計的決定理論をもって決定する。このように、n回目の推定ではn−1回目の推定で得られた真値の事後分布の平均と分散を、n回目の真値の事前分布の平均と分散とし、数10の式から計算をする。数11で示したように、真値の事後分布の分散が減少していくため、図2の真値の事後分布の形状が狭まってゆく。すなわち、真値の推定値の精度が上がることを示している。
図3は、品質指標値集計サーバ3がソフトウェア開発作業者から品質指標の測定値を取得してから真値を推定し決定するまでの処理のフローチャートである。
先ず図3のステップS10にある、品質指標値取得の詳細を示す。品質指標値の取得は作業者端末1、インタフェース部5、品質指標測定値取得部10、及び品質指標測定値記録部110の連携により行われる。
図4に示されるインタフェース部5は作業者端末1に対して、品質指標測定値を入力するための画面を提供する。図5に示されるこの画面は、例えば、作業者名の入力領域、品質指標名をプルダウン形式で選択するリスト、品質指標測定値を入力する入力領域、及び情報の送信ボタンを含む。作業者は作業者端末1にて品質指標値集計サーバ3にWebブラウザでアクセスし、インタフェース部5が提供する画面から作業者名を入力し、品質指標名を選択し、品質指標測定値を入力し、情報の送信ボタンを押下する。インタフェース部5は作業者端末1からの入力を受け取り、品質指標測定値取得部10に出力し、品質指標測定値の取得処理を行うよう制御シグナルを送信する。
品質指標測定値取得部10はインタフェース部5から制御シグナルを受信し、作業者名、品質指標名及び品質指標測定値を受け取る。その後、作業者名及び品質指標名からハッシュ値を計算して作業者名及び品質指標名を数字に変換するためのハッシュリストから対応する作業者の数字と品質指標種別の数字を取得する。その後、作業者の数字、品質指標種別の数字、及び品質指標測定値を品質指標測定値記録部110に出力し、記録するようシグナルを送り、品質指標測定記録部110からの処理終了の応答シグナルを待つ。
品質指標測定値記録部110は品質指標測定値取得部10から作業者を識別する数字、品質指標種別を識別する数字及び品質指標測定値を受け取り図6に示されるデータ構造体に品質指標の測定値を記録する。品質指標測定値記録部110は、本推定法を適用する以前に測定され記録されていたデータ1101と、適用以後に測定され記録されたデータ1102と2つに分かれている。これらはそれぞれ図6が示すように3次元のデータ構造体1111及び1112に記録される。品質指標測定値記録部110は作業者・品質指標種別毎にカウンタを有しており、合わせて1つのカウンタ用二次元配列を有している。品質指標測定値取得部10から作業者を識別する数字、品質指標種別を識別する数字及び品質指標測定値を受け取ると、測定回カウント用二次元配列から対応する作業者・品質指標種別のカウンタを1つカウントアップしこれを測定回とし、作業者・品質指標種別・測定回の3次元のデータ構造体1112に品質指標測定値を記録する。本推定法を適用する以前に測定され記録されていたデータを
Figure 2011141674
と表し、適用以後に測定され記録されたデータを
Figure 2011141674
と表す。その後、品質指標測定値記録部110は品質指標の測定値の記録が終わったことを示す応答シグナルを品質指標測定値取得部10へ送信し、測定回を出力する。
品質指標測定値取得部10は品質指標測定値記録部110から応答シグナルを受信し測定回を受け取る。その後誤差変動パラメタ推定計算部20に対して誤差変動パラメタ推定の計算を行うよう制御シグナルを送信し、作業者を識別する数字、品質指標種別を識別する数字、及び測定回を出力する。以上がステップS10の処理内容の詳細である。
例えばName_iという作業者がName_jという品質指標値名の品質指標について測定し測定値を報告する際、品質指標値集計サーバ3にWebブラウザでアクセスし表示されるフォームの内、作業者名の入力領域にName_iを選択、品質指標名のプルダウンメニューからName_jを選択、品質指標測定値の入力領域に測定値xを入力して情報の送信ボタンを押す。インタフェース部5はこれら3つの情報を受け取り、品質指標測定値取得部10に出力する。品質指標測定値取得部10はインタフェース部5からそれら3つの情報を受け取り、作業者名Name_iと品質指標名Name_jに対してハッシュ値を計算してハッシュリストから対応する作業者の数字iと品質指標種別の数字jを取得する。これら作業者i、品質指標種別j、測定値xを品質指標測定値記録部110に出力する。品質指標測定値記録部はこれら3つの情報を受け取り、作業者iと品質指標種別jを測定回カウント用二次元配列に入力して作業者iが品質指標種別jについて測定した測定回数n−1を得る。これを1つカウントアップしnとして、測定回カウント用二次元配列に記録し、作業者i・品質指標種別j・測定回nを3次元データ構造体1112に品質指標測定値xを記録する。
次に図3のステップS20にある、誤差変動のパラメタである平均μの推定値μ及び分散σの推定値σ2^の計算の詳細を示す。推定値の計算は図7に示される誤差変動パラメタ推定計算部20、品質指標測定値記録部110、誤差変動パラメタ推定値記録部210、及び事後分布パラメタ記録部220の連携により行われる。
本実施の形態を初めて適用して真値の推定を行う場合、適用以前に測定し記録された品質指標値RDから推定値μ及びσ2^の計算を図8のステップS21で行う。図6にステップS21の詳細フローを示す。本実施の形態を適用以前の測定値についてはどこまでが真値でどこまでが誤差変動であるか、全く情報がない状態である。何らかの妥当な推定が必要だが、そこで統計学の無差別原理に基づき測定値に占める誤差変動の割合は全て同様に確からしいものとし、その割合として(0,1)の一様分布に従う乱数を用いる。
誤差変動パラメタ推定計算部20は、品質指標測定値取得部10から制御シグナルを受信し、作業者を識別する数字i、品質指標種別を識別する数字j、及び測定回nを受け取る。その後、品質指標測定値記録部110に対して品質指標測定値を送信するよう制御シグナルを送信し作業者を識別する数字i、品質指標種別を識別する数字j、及び測定回nを出力し応答シグナルを待つ。
品質指標測定値記録部110は、誤差変動パラメタ推定計算部20からの制御シグナルを受信し作業者を識別する数字i、品質指標種別を識別する数字j、及び測定回nを受け取る。その後本実施の形態による推定法を適用以前の作業者i・品質指標種別jの測定値全体の集合であるRDi,jをデータ構造体1101から取得し測定値集合RDi,jを誤差変動パラメタ推定計算部20に出力して応答シグナルを送信する。
誤差変動パラメタ推定計算部20は品質指標測定値記録部110から応答シグナルを受信し測定値集合RDi,jを受け取る。この処理が図10のステップS211に当たる。次いで(0,1)の一様分布に従う乱数を測定値集合RDi,jの個数分、すなわち|RDi,j|個生成する。これを
Figure 2011141674
とあらわし、一様乱数集合RnDi,jと呼ぶ。この処理が図10のステップS212に当たる。測定値集合RDi,jのそれぞれの測定値に対して一様乱数集合RnD i,jの要素を掛け合わせて得られたものを、誤差変動とみなし、これらの標本平均を作業者i・品質指標種別jにおける誤差変動の平均μi,j(1)の推定値μi,j (1)とする。計算式は
Figure 2011141674
となる。この計算処理がステップS213に当たる。誤差変動の分散の推定値についても同様で、これらの標本分散を作業者i・品質指標種別jにおける誤差変動の分散σ i,j(1)の推定値σ i,j (1)とする。計算式は
Figure 2011141674
となる。この計算処理が図10のステップS214に当たる。誤差変動パラメタ推定計算部20は誤差変動パラメタ推定値記録部210へ誤差変動パラメタを記録するよう制御シグナルを送信し、作業者を識別する数字i、品質指標種別を識別する数字j、誤差変動の平均の推定値μi,j (1)、誤差変動の分散の推定値σ i,j (1)、測定回n(この場合は1)の4つの情報を出力し、応答シグナルを待つ。
誤差変動パラメタ推定値記録部210は誤差変動パラメタ推定計算部20から制御シグナルを受信し、作業者を識別する数字i、品質指標種別を識別する数字j、誤差変動の平均の推定値μi,j (1)、誤差変動の分散の推定値σ i,j (1)を受け取る。その後、図9に示される3次元のデータ構造体2111に記録する。誤差変動パラメタ推定値記録部210は作業者・品質指標種別毎にカウンタを有しており、合わせて1つのカウンタ用二次元配列を有している。測定回カウント用二次元配列から対応する作業者・品質指標種別のカウンタを1つカウントアップしこれを測定回とし、対応する作業者・品質指標種別・測定回の3次元のデータ構造体2111に誤差変動の平均の推定値μi,j (n)と誤差変動の分散の推定値σ i,j (n)を記録する。この処理が図8のステップS23にあたる。なお、本実施の形態を初めて適用して真値の推定を行う場合、つまり前述のステップS21の後にステップS23を実行する場合はn=1すなわちμi,j (1)、σ i,j (1)を記録することになる。その後、誤差変動パラメタ推定計算部20に対して応答シグナルを送信する。
誤差変動パラメタ推定計算部20は推定値記録部210から応答シグナルを受信し、事後分布パラメタ計算部30へ真値の事後分布のパラメタ計算を行うよう制御シグナルを送信し、作業者を識別する数字i、品質指標種別を識別する数字j、測定回n(この場合は1)を出力する。以上が本実施の形態を初めて適用して真値の推定を行う場合のステップS20の詳細内容である。
本実施の形態を適用して真値の推定を1回でも行った後は、既に各測定回毎に推定されている真値の分布のパラメタである平均が得られている。これと本実施の形態による真値の推定を適用する以前以後に関わらず、測定され記録されてきた作業者・品質指標種別毎の全ての測定値を用いて、誤差変動のパラメタである平均と分散の推定値を計算する。この場合図8のステップS22を実行する。
測定回がn回目として、ステップS22において誤差変動パラメタである作業者i・品質指標種別jの誤差変動の平均μi,j(n)と分散σ i,j(n)の推定値μi,j (n)とσ i,j (n)を次のようにして求める。まず、作業者i・品質指標種別jの誤差変動の平均μi,j(n)の推定値μi,j (n)は前回(n−1)までの測定値の誤差変動の標本平均とする。前回までの測定及び推定で得られた真値の推定値集合
Figure 2011141674
で表すとすると、
Figure 2011141674
で求められる。数18において、xi,j(k)−θi,j(k)が、作業者i・品質指標種別jがk回目に測定した品質指標値の誤差変動を表わしている。
次に、作業者i・品質指標種別jの誤差変動の分散σ i,j(n)の推定値σ i,j (n)は前回(n−1)までの測定値の誤差変動の偏差2乗和と、本実施の形態による推定法適用以前の作業者i・品質指標種別jの測定値集合RDi,jの偏差2乗和に関する標本分散とする。これは
Figure 2011141674
で求められる。数19においてyi,j(k)×ri,j(k)−μi,j (1)が本実施の形態による推定法適用以前に作業者i・品質指標種別jがk回目に測定した品質指標値の誤差変動の偏差を示しており、xi,j(l)−θi,j(l)−μi,j (n)が本実施の形態による推定法適用以後作業者i・品質指標種別jがl回目に測定した品質指標値の誤差変動の偏差を示している。
まず誤差変動パラメタ推定計算部20は、品質指標測定値取得部10から制御シグナルを受信し、作業者を識別する数字i、品質指標種別を識別する数字j、及び測定回nを受け取る。その後、品質指標測定値記録部110に対して本実施の形態による推定法を適用後の品質指標測定値と適用以前の品質指標測定値の個数との2つの情報を送るよう制御シグナルを送信し作業者を識別する数字i、品質指標種別を識別する数字j、及び測定回nを出力する。また、誤差変動パラメタ推定値記録部210に対して初めて本実施の形態による推定法を適用した際に計算した誤差変動の分散の推定値を送信するよう制御シグナルを送信し、作業者を識別する数字i及び品質指標種別を識別する数字jを出力する。また、事後分布パラメタ記録部220に対してこれまで計算された真値の事後分布の平均の集合を送るよう制御シグナルを送信し作業者を識別する数字i、品質指標種別を識別する数字j、及び測定回nを出力し、それぞれからの応答シグナルを待つ。
品質指標測定値記録部110は、誤差変動パラメタ推定計算部20からの制御シグナルを受信し作業者を識別する数字i、品質指標種別を識別する数字j、及び測定回nを受け取る。その後、本実施の形態による推定法適用以前の作業者i・品質指標種別jの測定値集合の個数|RDi,j|をデータ構造体1111から取得し、本実施の形態による推定法適用後の作業者i・品質指標種別jの測定値集合Di,jをデータ構造体1112から取得し、誤差変動パラメタ推定計算部20へ応答シグナルを送信し、測定値の個数|RDi,j|と測定値集合Di,jを出力する。
誤差変動パラメタ推定値記録部210は、誤差変動パラメタ推定計算部20からの制御シグナルを受信し作業者を識別する数字iと品質指標種別を識別する数字jを受け取る。データ構造体2111から本実施の形態による推定法を適用した際に計算した誤差変動の分散の推定値であるσ i,j (1)を取得し、誤差変動パラメタ推定計算部20を応答シグナルを送信し、誤差変動の分散の推定値σ i,j (1)を出力する。
事後分布パラメタ記録部220は作業者・品質指標種別毎にカウンタを有しており、合わせて1つのカウンタ用二次元配列を有している。図9示される、作業者・品質指標種別・測定回の3次元のデータ構造体2211に真値の平均θi,j(n)と分散τ i,j(n)を記録する。誤差変動パラメタ推定計算部20からの制御シグナルを受信し作業者を識別する数字i、品質指標種別を識別する数字j、及び測定回nを受け取ったのち、この3次元のデータ構造体2211から前回(n−1)までに得られた作業者i・品質指標種別jにおける真値の推定値集合EDi,jを取得し、誤差変動パラメタ推定計算部20へ応答シグナルを送信し、真値の推定値集合EDi,jを出力する。
誤差変動パラメタ推定計算部20は品質指標測定値記録部110から応答シグナルを受信し測定値の個数|RDi,j|と測定値集合Di,jを受け取る。これが図10のステップS221に当たる。また、誤差変動パラメタ推定値記録部210から応答シグナルを受信し誤差変動の分散の推定値σ i,j (1)を受け取る。これが図10のステップS222に当たる。さらに、事後分布パラメタ記録部220から応答シグナルを受信し真値の推定値集合EDi,jを受け取る。これが図10のステップS223に当たる。これらの情報から数18に従い作業者i・品質指標種別jの誤差変動の平均μi,j(n)の推定値μi,j (n)を計算する。これが図11のステップS224に当たる。続いて数19に従い作業者i・品質指標種別jの誤差変動の分散σ i,j(n)の推定値σ i,j (n)を計算する。これが図11のステップS225に当たる。最後に誤差変動パラメタ推定値記録部210に対して誤差変動のパラメタを記録するよう制御シグナルを送信し、作業者を識別する数字i、品質指標種別を識別する数字j、測定回n、作業者i・品質指標種別jの誤差変動の平均の推定値μi,j (n)と分散の推定値σ i,j (n)を出力し、応答シグナルを待つ。
誤差変動パラメタ推定値記録部210は誤差変動パラメタ推定計算部20から制御信号を受信し、作業者を識別する数字i、品質指標種別を識別する数字j、測定回n、作業者i・品質指標種別jの誤差変動の平均の推定値μi,j (n)と分散の推定値σ i,j (n)を受け取り、前述のステップS23に従いμi,j (n)とσ i,j (n)をデータ構造体2111に記録し、その後に誤差変動パラメタ推定計算部20へ応答シグナルを送信する。
誤差変動パラメタ推定計算部20は誤差変動パラメタ推定値記録部210からの応答シグナルを受信した後、事後分布パラメタ計算部30に対して真値の事後分布のパラメタである平均と分散を計算するよう制御シグナルを送信し、作業者を識別する数字i、品質指標種別を識別する数字j、測定回nを出力する。以上がステップS20の処理内容の詳細である。
次に図3のステップS30にある、真値の分布の平均θ及び分散τの計算を行う事後分布パラメタ計算処理の詳細を示す。パラメタの計算は図12に示される事後分布パラメタ計算部30、品質指標測定値記録部110、誤差変動パラメタ推定値記録部210、及び事後分布パラメタ記録部220の連携により行われる。
本実施の形態を初めて適用して真値の推定を行う場合、適用以前に測定し記録された品質指標値及び統計的無差別原理から真値の事前分布のハイパーパラメタである平均θ(0)及び分散τ(0)の計算を図13のステップS31で行う。
事後分布パラメタ計算部30は、誤差変動パラメタ推定計算部20からの制御シグナルを受信し、作業者を識別する数字i、品質指標種別を識別する数字j、測定回nを受け取る。
測定回nが1、つまり本実施の形態による初めての推定の場合は、真値の事前分布のハイパーパラメタである平均θ(0)及び分散τ(0)を求めるため、品質指標測定値記録部110に対して本実施の形態による推定法を適用する以前に記録されていた品質指標測定値を送るよう制御シグナルを送信し、作業者を識別する数字i、品質指標種別を識別する数字jを出力し、また誤差変動パラメタ推定値記録部210に対して本実施の形態を適用後初めて計算した誤差変動の平均の推定値と分散の推定値を送るように制御シグナルを送信し、作業者を識別する数字i、品質指標種別を識別する数字jを出力し、それぞれの応答シグナルを待つ。
品質指標測定値記録部110は、事後分布パラメタ計算部30から制御シグナルを受信し、作業者を識別する数字i、品質指標種別を識別する数字jを受け取る。次に本実施の形態による推定法を適用以前の作業者i・品質指標種別jの測定値全体の集合であるRDi,jをデータ1101から取得し、事後分布パラメタ計算部へ応答シグナルを送信し測定値集合RDi,jを出力する。
誤差変動パラメタ推定値記録部210は、事後分布パラメタ計算部30から制御シグナルを受信し、作業者を識別する数字i、品質指標種別を識別する数字jを受け取る。次に本実施の形態を適用後初回の作業者i・品質指標種別jの誤差変動の平均の推定値μi,j (1)と分散の推定値σ i,j (1)をデータ構造体2111から取得し、事後分布パラメタ計算部30へ応答シグナルを送信し、誤差変動の平均の推定値μi,j (1)と分散の推定値σ i,j (1)を出力する。
事後分布パラメタ計算部30は品質指標測定値記録部110から応答シグナルを受信し、測定値集合RDi,jを受け取る。この処理が図14のステップS311に当たる。また、誤差変動パラメタ推定値記録部210から応答シグナルを受信し、誤差変動の平均の推定値μi,j (1)と分散の推定値σ i,j (1)を受け取る。この処理が図14のステップS312に当たる。初回のベイズ推定における真値の事前分布のパラメタであるハイパーパラメタの内、平均θi,j(0)は、本実施の形態を適用以前の真値の推定値の標本平均とする。これは数20で計算される。
Figure 2011141674
i,j(k)が本実施の形態を適用以前にk回目に測定された品質指標測定値であり、ここから誤差変動の平均の推定値μi,j (1)を引いたものを本実施の形態を適用以前にk回目に測定された品質指標測定値の真値の推定値とみなしている。この処理が図14のステップS313に当たる。初回のベイズ推定における真値の事前分布のパラメタであるハイパーパラメタの内、分散τ(0)は、本実施の形態を適用以前のばらつきは誤差変動と同等とみなし、数21で示すようにσ i,j (1)をそのまま当てる。
Figure 2011141674
この処理が図14のステップS314に当たる。最後に事後分布パラメタ記録部220に対してハイパーパラメタを記録するよう制御シグナルを送信し、作業者を識別する数字i、品質指標種別を識別する数字j、ハイパーパラメタである真値の事前分布の平均θi,j(0)及び分散τ(0)を出力し、応答シグナルを待つ。
事後分布パラメタ記録部220は事後分布パラメタ計算部30から制御シグナルを受信し、作業者を識別する数字i、品質指標種別を識別する数字j、ハイパーパラメタである真値の事前分布の平均θi,j(0)及び分散τ(0)を受け取り、データ構造体2211に記録する。この処理が図14のステップS315に当たる。
以後は初回の推定如何に関わらず、数10に示したベイズの定理の結果得られた真値の事後分布の平均と分散を計算する。これは図15のステップS32で行う。
事後分布パラメタ計算部30は品質指標測定値記録部110に対し、品質指標の測定値を送るよう制御シグナルを送信し、作業者を識別する数字i、品質指標種別を識別する数字j、測定回nを出力し、また誤差変動パラメタ推定値記録部210に対して誤差変動の平均と分散の推定値を送るよう制御シグナルを送信し、作業者を識別する数字i、品質指標種別を識別する数字j、測定回nを出力、また事後分布パラメタ記録部220に対して前回の推定で得られた真値の事後分布のパラメタである平均と分散を送るよう制御シグナルを送信し、作業者を識別する数字i、品質指標種別を識別する数字j、測定回nを出力してそれぞれの応答シグナルを待つ。
品質指標測定値記録部110は、事後分布パラメタ計算部30から制御シグナルを受信し、作業者を識別する数字i、品質指標種別を識別する数字j、測定回nを受け取り、作業者i・品質指標種別jのn回目の測定値をデータ構造体1112から取得し、事後分布パラメタ計算部30に対して応答シグナルを送信し、作業者i・品質指標種別jのn回目の測定値xi,j(n)を出力する。
誤差変動パラメタ推定値記録部210は、事後分布パラメタ計算部30から制御シグナルを受信し、作業者を識別する数字i、品質指標種別を識別する数字j、測定回nを受け取り、作業者i・品質指標種別jのn回目の測定値における誤差変動の平均の推定値μi,j (n)と分散の推定値σ i,j (n)をデータ構造体2111から取得し、事後分布パラメタ計算部30に対して応答シグナルを送信し、誤差変動の平均の推定値μi,j (n)と分散の推定値σ i,j (n)を出力する。
事後分布パラメタ記録部220は、事後分布パラメタ計算部30から制御シグナルを受信し、作業者を識別する数字i、品質指標種別を識別する数字j、測定回nを受け取り、前回の推定において計算した作業者i・品質指標種別jのn−1回目の測定値における真値の事後分布の平均θi,j(n−1)と分散τ(n−1)をデータ構造体2211から取得する。初回の推定の場合は代わりにハイパーパラメタを取得する必要があるが、測定回の時系列のインデックスnが一つずれているため、データ構造体2211からの取得は初回以後の推定における取得と同様に行い、事後分布パラメタ計算部30に対して応答シグナルを送信し、真値の事後分布の平均θi,j(n−1)と分散τ(n−1)を出力する。
事後分布パラメタ計算部30は品質指標測定値記録部110から応答シグナルを受信し、作業者i・品質指標種別jのn回目の測定値xi,j(n)を受け取る。この処理が図15のステップS321に当たる。また、誤差変動パラメタ推定値記録部210から応答シグナルを受信し、誤差変動の平均の推定値μi,j (n)と分散の推定値σ i,j (n)を受け取る。この処理が図15のステップS322に当たる。さらに、事後分布パラメタ記録部220から応答シグナルを受信し、真値の事後分布の平均θi,j(n−1)と分散τ(n−1)を受け取る。この処理が図15のステップS323に当たる。次に真値の事後分布の平均θi,j(n)を数22に従い計算する。
Figure 2011141674
ここで、n、n−1:測定回、θi,j(n):真値の事後分布の平均、xi,j(n):品質指標測定値、μi,j (n):誤差変動の平均の推定値、σ i,j (n):誤差変動の分散の推定値、τ(n):真値の事後分布の分散、i:作業者の識別子、j:品質指標の識別子である。
これは数10においてベイズ分析の結果得られた真値の事後分布の平均に当たる。この処理が図15のステップS324に当たる。次いで真値の事後分布の分散τ(n)を数23に従い計算する。
Figure 2011141674
ここで、n、n−1:測定回、τ(n):真値の事後分布の分散、σ i,j (n):誤差変動の分散の推定値、i:測定者の識別子、j:品質指標の識別子である。
これも平均同様数10においてベイズ分析の結果得られた真値の事後分布の分散に当たる。この処理が図15のステップS325に当たる。最後に事後分布パラメタ記録部220に対して真値の事後分布のパラメタである平均と分散を記録するよう制御シグナルを送信し、作業者を識別する数字i、品質指標種別を識別する数字j、測定回n、真値の事後分布の平均θi,j(n)、真値の事後分布の分散τ(n)を出力し、応答シグナルを待つ。
事後分布パラメタ記録部220は事後分布パラメタ計算部30から制御シグナルを受信し、作業者を識別する数字i、品質指標種別を識別する数字j、測定回n、真値の事後分布の平均θi,j(n)、真値の事後分布の分散τ(n)を受け取り、データ構造体2211に記録し、事後分布パラメタ計算部30へ応答シグナルを送信する。この処理が図13のステップS33に当たる。
事後分布パラメタ計算部30は事後分布パラメタ記録部220から応答シグナルを受信し処理を終了する。以上が図3のステップS30にある、真値の分布の平均θ及び分散τの計算を行う事後分布パラメタ計算処理の詳細となる。
最後に図3のステップS40にある、統計的決定理論に基づく品質指標値の推定値の決定の詳細を示す。推定値の決定は、品質管理者端末2、インタフェース部5、統計的決定部40、事後分布パラメタ記録部220、推定値記録部120の連携により行われる。
図16に示されるインタフェース部5は品質管理者端末2に対して、適宜のタイミングで統計的決定理論に基づき決定された品質指標の真値を表示するための画面を提供する。図17に示すようにこの画面は推定値を取得するために必要な情報を入力する領域と、真値の決定値に関する情報を表示する領域に分かれている。推定値を取得するために必要な情報を入力する領域は、例えば、作業者名の入力領域、品質指標名をプルダウン形式で選択するリスト、測定回を入力する入力領域、損失関数をプルダウン形式で選択するリスト、損失関数のパラメタを入力する領域、分散の閾値を入力する領域、及び情報の送信ボタンを含む。非特許文献4にあるとおり、統計的決定とは未知の値について、その値とその値の推定値との乖離を損失とみなし、その乖離の定量的指標を損失関数で表し、未知の値の事後分布に関して損失関数を用いて乖離の期待値を導出し、それが最小になるように推定値を決定するという決定方式である。つまり、未知の値とその推定値の間の乖離を損失関数で測り、事後分布による平均で見てそれが最小になるように推定値を決定するものである。損失関数としては、例えば、一般的な2乗誤差損失、絶対誤差損失、0−1型損失、それに非対称絶対損失という4つの損失関数からプルダウン形式で損失関数を選択することができる。この内、非対称絶対損失のみパラメタを持つため、損失関数として非対称絶対損失を選択した場合には損失関数のパラメタを入力する領域をアクティブにし、入力が可能な状態にする。損失関数のパラメタは2つあり、1つは未知の値に比べて推定値が小さい場合にかかる係数で、過小評価に対するペナルティーとして未知の値との間の乖離に乗じて損失とするものであり、もう一つは未知の値に比べて推定値が大きい場合にかかる係数で、過大評価に対するペナルティーとして未知の値との間の乖離に乗じて損失とするものである。分散の閾値は、例えば、品質管理担当者が推定値の信頼性を確認するために指定するもので、真値の事後分布の分散がこの閾値以上であれば、推定値のバラつきが大きく信頼に欠けるとみなし、その旨が品質管理担当者にわかるようにするものである。
推定値に関する情報を表示する領域は、統計的決定理論に基づき決定された品質指標の真値を表示する領域と、真値の事後分布の平均を表示する領域と、真値の事後分布の分散を表示する領域と、真値の事後分布の分散が指定された分散の閾値を超えているかどうかを表わす領域を含む。真値の事後分布の分散が分散の閾値内に収まっている場合は例えば緑のランプのアイコンが点灯し、分散の閾値を超えている場合は例えば赤のランプのアイコンが点灯する。品質管理者は、品質管理者端末2にて品質指標値集計サーバ3にWebブラウザでアクセスし、インタフェース部5が提供する画面から作業者名、品質指標名を選択し、測定回を入力し、損失関数を選択し、損失関数として非対称絶対損失を選んだ場合は損失関数のパラメタを入力し、分散の閾値を入力し、情報の送信ボタンを押下する。インタフェーズ部5は品質管理者端末2からの情報を受け取り、統計的決定部40に出力する。例えば作業者名をName_i、品質指標名Name_j、測定回をn、選択した損失関数をf、損失関数のパラメタの内、未知の値に比べて推定値が小さい場合にかかる係数をk0、未知の値に比べて推定値が大きい場合にかかる係数をk1、分散の閾値をγとする。
統計的決定部40は、インタフェース部5から作業名Name_i、品質指標名Name_j、測定回n、損失関数の種別f、損失関数として非対称絶対損失を選んだ場合は損失関数のパラメタk0及びj1、それに分散の閾値γを受け取る。その後、作業者名及び品質指標名からハッシュ値を計算して作業者名及び品質指標名を数字に変換するためのハッシュリストから対応する作業者の数字と品質指標種別の数字を取得する。ここで作業名Name_iに対する数字をi、品質指標名Name_jに対する数字をjとすると、作業者の数字i、品質指標種別の数字j、測定回nを事後分布パラメタ記録部220へ出力する。
事後分布パラメタ記録部220は統計的決定部40から作業者の数字i、品質指標種別の数字j、測定回nを受け取り、データ構造体2211から真値の事後分布の平均θi,j(n)と分散をτi,j (n)を取得し、統計的決定部40へ出力する。
統計的決定部40は、事後分布パラメタ記録部220から真値の事後分布の平均θi,j(n)と分散をτi,j (n)を受け取る。これが図18のステップS41に当たる。次に、インタフェース部5から受け取った損失関数fを用いて統計的決定理論に基づき真値の推定値を決定する。損失関数fが2乗誤差損失、絶対誤差損失、0−1型損失で場合、真値の推定値は真値の事後分布の平均θi,j(n)となる。本来、損失関数fが2乗誤差損失は真値の事後分布の平均、絶対誤差損失の場合は真値の事後分布の中位値(メディアン)、0−1型損失の場合は真値の事後分布の最頻値(モード)だが、真値の事後分布が正規分布となること、正規分布の平均、中位値、最頻値は同じ為、実質損失関数としてこれら3つを選んだ場合、どの場合でも真値の事後分布の平均θi,j(n)が真値の推定値xi,j(n)として決定される。これが図18のステップS42に当たる。損失関数fが非対称絶対損失の場合、真値の推定値の(k1/(k1+k0))×100パーセンタイル点が真値の推定値xi,j(n)として決定される。品質管理者が自身の専門分野の知識と経験から、ある品質指標について推定値に関して過大に見積もることを避ける場合はk0よりk1を大きく設定することで、真値の推定値は平均より小さく決定される。逆に過小に見積もることを避ける場合にはk0よりk1を小さく設定することで、真値の推定値は平均より大きく決定される。このように、真値の推定値の決定に関して品質管理者の知識及び経験を反映できる。これが図18のステップS43に当たる。
次に決定された真値の推定値xi,j(n)、作業者の数字i、品質指標種別の数字j、測定回nを推定値記録部120に出力する。これが図18のステップS44に当たる。最後に、インタフェース部5から受け取っていた分散の閾値γと真値の事後分布の分散τi,j (n)を比較し、前者の方が大きければ、品質管理者が指定した真値の推定値に対する信頼性があるものとし、その情報をインタフェース部5に通知する。これが図18のステップS45に当たる。そうでなければ、信頼性は現段階の推定ではまだ確保できていないものとし、その情報ををインタフェース部5に通知する。これが図18のステップS46に当たる。これに加えて真値の事後分布の平均θi,j(n)と分散τi,j (n)と、ステップS42またはS43で決定された真値の推定値xi,j(n)とをインタフェース部5に出力する。
インタフェース部5は統計的決定部40から真値の事後分布の平均θi,j(n)と分散τi,j (n)、ステップS42またはS43で決定された真値の推定値xi,j(n)、品質管理者が指定した真値の推定値に対する信頼性が確保されているかどうかの情報を受け取り、推定値に関する情報を表示する領域に表示する。品質管理者が指定した真値の推定値に対する信頼性が確保されていなかった場合、赤のランプのアイコンを点灯させ、品質管理者に注意を促す。そうでなければ緑のランプのアイコンを点灯させ、品質管理者が指定した真値の推定値に対する信頼性が確保されていることを示す。
本発明の推定方法は、その各手順をコンピュータに実行させるための推定プログラム、推定プログラムを記録したコンピュータ読み取り可能な記録媒体、そのプログラムを含みコンピュータの内部メモリーにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
本発明は、例えば、ソフトウェア開発のプロジェクトマネジメントで用いられるソフトウェアの品質指標値を推定するシステム等に利用可能である。
1 作業者端末
2 品質管理者端末
3 品質指標値集計サーバ
4 ネットワーク
5 インタフェース部
6 処理部(CPU)
7 記憶部(二次記憶)
8 データバス
10 品質指標測定値取得部
20 誤差変動パラメタ推定計算部
30 事後分布パラメタ計算部
40 統計的決定部
110 品質指標測定値記録部
120 推定値記録部
210 誤差変動パラメタ推定値記録部
220 事後分布パラメタ記録部

Claims (10)

  1. ソフトウェア開発において測定されたソフトウェアの品質指標測定値からソフトウェア開発作業者の作業能力以外の要因で生じる変動を取り除き、ソフトウェア開発作業者の作業能力を示す真値を推定するソフトウェア品質指標値管理システムであって、
    ソフトウェア開発作業者の操作により端末から送信されるソフトウェアの品質指標測定値を、時系列で取得する品質指標測定値取得部と、
    本システム適用以前に取得された複数の品質指標測定値、及び、本システム適用以後に取得された品質指標測定値を、測定回毎に又は時系列に記録する品質指標測定値記録部と、
    取得される品質指標測定値は、ソフトウェア開発作業者の作業能力を示す真値と、ソフトウェア開発作業者の作業能力以外の要因である回答特性が原因で生じる誤差変動の和からなるものと仮定し、及び、該誤差変動は正規分布であると仮定し、前記品質指標測定値記録部に記録された本システム適用以前に取得された複数の品質指標測定値に一様乱数を乗じ、この標本平均と標本分散を誤差変動の平均の推定値と分散の推定値とする誤差変動パラメタ推定計算部と、
    求められた誤差変動の平均の推定値と分散の推定値を記録する誤差変動パラメタ推定値記録部と、
    第1測定回のベイズ推定における真値の事前分布のパラメータであるハイパーパラメータのひとつである平均を、本システム適用以前に取得された複数の品質指標測定値から、前記誤差変動パラメタ推定計算部で求められた誤差変動の平均の推定値をそれぞれ引いた各値の標本平均とし、該ハイパーパラメータの他のひとつである分散を、前記誤差変動パラメタ推定計算部で求められた誤差変動の分散の推定値とし、求められた誤差変動の平均の推定値及び分散の推定値と、該ハイパーパラメータの平均及び分散と、本システム適用以後に取得された品質指標測定値とに基づき、第1測定回での、ベイズ分析における真値の事後分布の平均及び分散を求める事後分布パラメタ計算部と、
    前記事後分布パラメタ計算部により求められた真値の事後分布の平均及び分散を記録する事後分布パラメタ記録部と、
    複数の測定回の後、求められた事後分布の平均に基づき品質指標測定値の真値の推定値を求める決定部と、
    決定された真値の推定値を記録する推定値記録部と
    を備え、
    前記誤差変動パラメタ推定計算部は、
    第n−1測定回(nは2からmの整数、mは2以上の整数)までの品質指標測定値の誤差変動の標本平均を第n測定回の誤差変動の平均の推定値とし、本システム適用以前に取得された品質指標測定値の誤差変動の偏差2乗和と、第n−1測定回までの品質指標測定値の誤差変動の偏差2乗和とを加算して、第n測定回の誤差変動の分散の推定値とし、
    前記事後分布パラメタ計算部は、第n−1測定回における真値の事後分布の平均及び分散を第n測定回のベイズ推定における真値の事前分布の平均及び分散とし、求められた第n測定回の誤差変動の平均の推定値及び分散の推定値と、該事前分布の平均及び分散と、第n測定回の品質指標測定値とに基づき、第n測定回のベイズ分析における真値の事後分布の平均及び分散を求め、
    前記決定部は、第m測定回で求められた事後分布の平均に基づき品質指標測定値の真値の推定値を求め、前記推定値記録部に記録する前記ソフトウェア品質指標値管理システム。
  2. 前記品質指標測定値取得部は、ソフトウェア開発作業者及び品質指標種別毎に品質指標測定値を取得して、ソフトウェア開発作業者及び品質指標種別毎に前記品質指標測定値記録部に記録し、
    前記誤差変動パラメタ推定計算部と前記事後分布パラメタ計算部とは、ソフトウェア開発作業者及び品質指標種別毎に、品質指標測定値の真値を推定し前記推定値記録部に記録する請求項1に記載のソフトウェア品質指標管理システム。
  3. 前記事後分布パラメタ計算部は、ベイズ分析における真値の事後分布の平均を次式で求める請求項1又は2に記載のソフトウェア品質指標管理システム。
    Figure 2011141674
    ここで、n、n−1:測定回、θi,j(n):真値の事後分布の平均、xi,j(n):品質指標測定値、μi,j (n):誤差変動の平均の推定値、σ i,j (n):誤差変動の分散の推定値、τ(n):真値の事後分布の分散、i:作業者の識別子、j:品質指標の識別子
  4. 前記事後分布パラメタ計算部は、ベイズ分析における真値の事後分布の分散を次式で求める請求項1乃至3のいずれかに記載のソフトウェア品質指標管理システム。
    Figure 2011141674
    ここで、n、n−1:測定回、τ(n):真値の事後分布の分散、σ i,j (n):誤差変動の分散の推定値、i:測定者の識別子、j:品質指標の識別子
  5. 前記決定部は、予め定められた損失関数の期待損失最小化を成すように推定値を決める統計的決定理論に基づき、品質指標測定値の真値の推定値を決定する請求項1乃至4のいずれかに記載のソフトウェア品質指標管理システム。
  6. 前記決定部は、品質指標管理者の端末から、損失関数を識別する識別子と、該損失関数に応じたパラメータとを入力し、該損失関数に応じて、入力されたパラメータと求められた事後分布の平均に基づき品質指標測定値の真値の推定値を決定する請求項1乃至4のいずれかに記載のソフトウェア品質指標管理システム。
  7. 前記事後分布パラメタ計算部における事後分布の平均及び分散の計算に際し、前の測定回の事後分布パラメタ計算部で得られた真値の分布を現測定回の事前分布としてベイズの定理に代入することでこれまで記録してきた品質指標測定値の情報を反映させ、真値の事後分布が正規分布となり、その分散の形状から真値の分布の分散が前記事後分布パラメタ計算部による処理を繰り返すたびに減少し、真値の推定値の精度が向上する請求項1乃至6のいずれかに記載のソフトウェア品質指標管理システム。
  8. 前記統計的決定部は、本品質指標値管理システムを用いてソフトウェアの品質管理を行う担当者の端末から、真値の分布のバラつきを示すパラメタである分散に対する閾値を入力し、計算された事後分布の分散が入力された閾値以下であれば信頼に足る推定値であることを示す情報を前記担当者の端末に送信し、閾値以上となった場合は信頼性を担保できるものではないことを示す情報を、前記担当者の端末に送信する請求項1乃至7のいずれかに記載のソフトウェア品質指標値管理システム。
  9. ソフトウェア開発において測定されたソフトウェアの品質指標測定値からソフトウェア開発作業者の作業能力以外の要因で生じる変動を取り除き、ソフトウェア開発作業者の作業能力を示す真値を推定するソフトウェア品質指標値管理システムを用いてソフトウェア品質指標値の真値を推定する推定方法であって、
    処理部が、ソフトウェア開発作業者の操作により端末から送信されるソフトウェアの品質指標測定値を、時系列で取得するステップと、
    処理部が、本システム適用以後に取得された品質指標測定値を、測定回毎に又は時系列に品質指標測定値記録部に記録するステップと、
    処理部が、取得される品質指標測定値は、ソフトウェア開発作業者の作業能力を示す真値と、ソフトウェア開発作業者の作業能力以外の要因である回答特性が原因で生じる誤差変動の和からなるものと仮定し、及び、該誤差変動は正規分布であると仮定し、品質指標測定値記録部に予め記録された本システム適用以前に取得された複数の品質指標測定値に一様乱数を乗じ、この標本平均と標本分散を誤差変動の平均の推定値と分散の推定値とするステップと、
    処理部が、求められた誤差変動の平均の推定値と分散の推定値を誤差変動パラメタ推定値記録部に記録するステップと、
    処理部が、第1測定回のベイズ推定における真値の事前分布のパラメータであるハイパーパラメータのひとつである平均を、本システム適用以前に取得された複数の品質指標測定値から、求められた誤差変動の平均の推定値をそれぞれ引いた各値の標本平均とし、該ハイパーパラメータの他のひとつである分散を、求められた誤差変動の分散の推定値とし、求められた誤差変動の平均の推定値及び分散の推定値と、該ハイパーパラメータの平均及び分散と、本システム適用以後に取得された品質指標測定値とに基づき、第1測定回での、ベイズ分析における真値の事後分布の平均及び分散を求めるステップと、
    求められた真値の事後分布の平均及び分散を事後分布パラメタ記録部に記録するステップと、
    処理部が、第n−1測定回(nは2からmの整数、mは2以上の整数)までの品質指標測定値の誤差変動の標本平均を第n測定回の誤差変動の平均の推定値とし、本システム適用以前に取得された品質指標測定値の誤差変動の偏差2乗和と、第n−1測定回までの品質指標測定値の誤差変動の偏差2乗和とを加算して、第n測定回の誤差変動の分散の推定値とするステップと、
    処理部が、第n−1測定回における真値の事後分布の平均及び分散を第n測定回のベイズ推定における真値の事前分布の平均及び分散とし、求められた第n測定回の誤差変動の平均の推定値及び分散の推定値と、該事前分布の平均及び分散と、第n測定回の品質指標測定値とに基づき、第n測定回のベイズ分析における真値の事後分布の平均及び分散を求めるステップと、
    処理部が、第m測定回で求められた事後分布の平均に基づき品質指標測定値の真値の推定値を求めるステップと、
    処理部が、決定された真値の推定値を推定値記録部に記録するステップと
    を含む前記推定方法。
  10. ソフトウェア開発において測定されたソフトウェアの品質指標測定値からソフトウェア開発作業者の作業能力以外の要因で生じる変動を取り除き、ソフトウェア開発作業者の作業能力を示す真値を推定する推定プログラムであって、
    処理部が、ソフトウェア開発作業者の操作により端末から送信されるソフトウェアの品質指標測定値を、時系列で取得するステップと、
    処理部が、本プログラム実行以後に取得された品質指標測定値を、測定回毎に又は時系列に品質指標測定値記録部に記録するステップと、
    処理部が、取得される品質指標測定値は、ソフトウェア開発作業者の作業能力を示す真値と、ソフトウェア開発作業者の作業能力以外の要因である回答特性が原因で生じる誤差変動の和からなるものと仮定し、及び、該誤差変動は正規分布であると仮定し、品質指標測定値記録部に予め記録された本プログラム実行以前に取得された複数の品質指標測定値に一様乱数を乗じ、この標本平均と標本分散を誤差変動の平均の推定値と分散の推定値とするステップと、
    処理部が、求められた誤差変動の平均の推定値と分散の推定値を誤差変動パラメタ推定値記録部に記録するステップと、
    処理部が、第1測定回のベイズ推定における真値の事前分布のパラメータであるハイパーパラメータのひとつである平均を、本システム適用以前に取得された複数の品質指標測定値から、求められた誤差変動の平均の推定値をそれぞれ引いた各値の標本平均とし、該ハイパーパラメータの他のひとつである分散を、求められた誤差変動の分散の推定値とし、求められた誤差変動の平均の推定値及び分散の推定値と、該ハイパーパラメータの平均及び分散と、本システム適用以後に取得された品質指標測定値とに基づき、第1測定回での、ベイズ分析における真値の事後分布の平均及び分散を求めるステップと、
    求められた真値の事後分布の平均及び分散を事後分布パラメタ記録部に記録するステップと、
    処理部が、第n−1測定回(nは2からmの整数、mは2以上の整数)までの品質指標測定値の誤差変動の標本平均を第n測定回の誤差変動の平均の推定値とし、本システム適用以前に取得された品質指標測定値の誤差変動の偏差2乗和と、第n−1測定回までの品質指標測定値の誤差変動の偏差2乗和とを加算して、第n測定回の誤差変動の分散の推定値とするステップと、
    処理部が、第n−1測定回における真値の事後分布の平均及び分散を第n測定回のベイズ推定における真値の事前分布の平均及び分散とし、求められた第n測定回の誤差変動の平均の推定値及び分散の推定値と、該事前分布の平均及び分散と、第n測定回の品質指標測定値とに基づき、第n測定回のベイズ分析における真値の事後分布の平均及び分散を求めるステップと、
    処理部が、第m測定回で求められた事後分布の平均に基づき品質指標測定値の真値の推定値を求めるステップと、
    処理部が、決定された真値の推定値を推定値記録部に記録するステップと
    をコンピュータに実行させるための推定プログラム。
JP2010001373A 2010-01-06 2010-01-06 ソフトウェア品質指標値管理システム、ソフトウェア品質指標値の真値を推定する推定方法及び推定プログラム Pending JP2011141674A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010001373A JP2011141674A (ja) 2010-01-06 2010-01-06 ソフトウェア品質指標値管理システム、ソフトウェア品質指標値の真値を推定する推定方法及び推定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010001373A JP2011141674A (ja) 2010-01-06 2010-01-06 ソフトウェア品質指標値管理システム、ソフトウェア品質指標値の真値を推定する推定方法及び推定プログラム

Publications (1)

Publication Number Publication Date
JP2011141674A true JP2011141674A (ja) 2011-07-21

Family

ID=44457483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010001373A Pending JP2011141674A (ja) 2010-01-06 2010-01-06 ソフトウェア品質指標値管理システム、ソフトウェア品質指標値の真値を推定する推定方法及び推定プログラム

Country Status (1)

Country Link
JP (1) JP2011141674A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015002709A (ja) * 2013-06-21 2015-01-08 宏志 坂田 野生動物の個体群動態推定装置、野生動物の個体群動態推定プログラムおよび野生動物の個体群動態推定方法
KR20180065793A (ko) * 2016-12-08 2018-06-18 동국대학교 산학협력단 소프트웨어 품질 시각화 장치 및 방법
CN112633407A (zh) * 2020-12-31 2021-04-09 深圳云天励飞技术股份有限公司 分类模型的训练方法、装置、电子设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015002709A (ja) * 2013-06-21 2015-01-08 宏志 坂田 野生動物の個体群動態推定装置、野生動物の個体群動態推定プログラムおよび野生動物の個体群動態推定方法
KR20180065793A (ko) * 2016-12-08 2018-06-18 동국대학교 산학협력단 소프트웨어 품질 시각화 장치 및 방법
KR101940538B1 (ko) 2016-12-08 2019-01-21 동국대학교 산학협력단 소프트웨어 품질 시각화 장치 및 방법
CN112633407A (zh) * 2020-12-31 2021-04-09 深圳云天励飞技术股份有限公司 分类模型的训练方法、装置、电子设备及存储介质
CN112633407B (zh) * 2020-12-31 2023-10-13 深圳云天励飞技术股份有限公司 分类模型的训练方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
Sahu et al. Needs and importance of reliability prediction: An industrial perspective
Hoad et al. Automating warm-up length estimation
EP3438842B1 (en) Preprocessor and abnormality predictor diagnosis system
US7599819B2 (en) Method and system for generating a predictive analysis of the performance of peer reviews
JPH10510385A (ja) ソフトウエア品質のアーキテクチャに基づく分析のための方法およびシステム
WO2017157203A1 (zh) 一种分布式环境下监督学习算法的基准测试方法和装置
CN107766254B (zh) 一种基于层次分析的软件质量评估方法及系统
CN107992410B (zh) 软件质量监测方法、装置、计算机设备和存储介质
CN113010389A (zh) 一种训练方法、故障预测方法、相关装置及设备
KR101953558B1 (ko) 스마트 기기 결함 관리 장치 및 방법
Misra et al. Survey on agile metrics and their inter-relationship with other traditional development metrics
Yang Visual assessment of residual plots in multiple linear regression: A model-based simulation perspective
Wang An imperfect software debugging model considering irregular fluctuation of fault introduction rate
JP2011141674A (ja) ソフトウェア品質指標値管理システム、ソフトウェア品質指標値の真値を推定する推定方法及び推定プログラム
Chechile et al. Using logarithmic derivative functions for assessing the risky weighting function for binary gambles
Kraft et al. Dealing with inaccurate sensor data in the context of mobile crowdsensing and mhealth
CN112561333A (zh) 一种考核数据处理方法、装置、电子设备及存储介质
Thompson et al. Efficient empirical determination of maximum permissible error in coordinate metrology
Perkusich et al. Using survey and weighted functions to generate node probability tables for Bayesian networks
Liu et al. Change point software belief reliability growth model considering epistemic uncertainties
CN114239952A (zh) 一种关键性能指标的异常检测方法、装置、设备及介质
CN113962558A (zh) 一种基于生产数据管理的工业互联网平台评价方法及系统
CN112464164A (zh) 一种人因可靠性评估的方法、装置和信息处理设备
Manhas et al. Role of structural equation modelling in theory testing and development
CN111507639B (zh) 理财风险分析方法及装置