(57)【要約】【課題】ソフトウェア開発における品質指標の測定値から、作業者の作業能力以外の要因による変動を取り除き、作業者の作業能力を要因による真値を客観的に推定する。【解決手段】本システムは、品質指標の測定値を受け取る品質指標値取得部１０と、作業者の作業能力以外の要因である誤差変動を特徴づけるパラメタである誤差変動パラメタを過去の品質指標測定値から統計学的に推定し計算する誤差変動パラメタ推定計算部２０と、作業者の作業能力の要因による真値を特徴づけるパラメタである事後分布パラメタをこれまでに蓄積された品質指標測定値の情報と誤差変動の情報をベイズ分析の手法に適用して客観的に求める事後分布パラメタ計算部３０と、品質指標管理者がインタフェース部を通じて指定した条件で統計的決定理論に基づき真値の推定値を決定する統計的決定部４０とを備える。また、記憶部７は、測定値、求められた各パラメタ、推定値を記憶する。【選択図】図１
2011141674.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア開発において測定されたソフトウェアの品質指標測定値からソフトウェア開発作業者の作業能力以外の要因で生じる変動を取り除き、ソフトウェア開発作業者の作業能力を示す真値を推定するソフトウェア品質指標値管理システムであって、
ソフトウェア開発作業者の操作により端末から送信されるソフトウェアの品質指標測定値を、時系列で取得する品質指標測定値取得部と、
本システム適用以前に取得された複数の品質指標測定値、及び、本システム適用以後に取得された品質指標測定値を、測定回毎に又は時系列に記録する品質指標測定値記録部と、
取得される品質指標測定値は、ソフトウェア開発作業者の作業能力を示す真値と、ソフトウェア開発作業者の作業能力以外の要因である回答特性が原因で生じる誤差変動の和からなるものと仮定し、及び、該誤差変動は正規分布であると仮定し、前記品質指標測定値記録部に記録された本システム適用以前に取得された複数の品質指標測定値に一様乱数を乗じ、この標本平均と標本分散を誤差変動の平均の推定値と分散の推定値とする誤差変動パラメタ推定計算部と、
求められた誤差変動の平均の推定値と分散の推定値を記録する誤差変動パラメタ推定値記録部と、
第１測定回のベイズ推定における真値の事前分布のパラメータであるハイパーパラメータのひとつである平均を、本システム適用以前に取得された複数の品質指標測定値から、前記誤差変動パラメタ推定計算部で求められた誤差変動の平均の推定値をそれぞれ引いた各値の標本平均とし、該ハイパーパラメータの他のひとつである分散を、前記誤差変動パラメタ推定計算部で求められた誤差変動の分散の推定値とし、求められた誤差変動の平均の推定値及び分散の推定値と、該ハイパーパラメータの平均及び分散と、本システム適用以後に取得された品質指標測定値とに基づき、第１測定回での、ベイズ分析における真値の事後分布の平均及び分散を求める事後分布パラメタ計算部と、
前記事後分布パラメタ計算部により求められた真値の事後分布の平均及び分散を記録する事後分布パラメタ記録部と、
複数の測定回の後、求められた事後分布の平均に基づき品質指標測定値の真値の推定値を求める決定部と、
決定された真値の推定値を記録する推定値記録部と
を備え、
前記誤差変動パラメタ推定計算部は、
第ｎ−１測定回（ｎは２からｍの整数、ｍは２以上の整数）までの品質指標測定値の誤差変動の標本平均を第ｎ測定回の誤差変動の平均の推定値とし、本システム適用以前に取得された品質指標測定値の誤差変動の偏差２乗和と、第ｎ−１測定回までの品質指標測定値の誤差変動の偏差２乗和とを加算して、第ｎ測定回の誤差変動の分散の推定値とし、
前記事後分布パラメタ計算部は、第ｎ−１測定回における真値の事後分布の平均及び分散を第ｎ測定回のベイズ推定における真値の事前分布の平均及び分散とし、求められた第ｎ測定回の誤差変動の平均の推定値及び分散の推定値と、該事前分布の平均及び分散と、第ｎ測定回の品質指標測定値とに基づき、第ｎ測定回のベイズ分析における真値の事後分布の平均及び分散を求め、
前記決定部は、第ｍ測定回で求められた事後分布の平均に基づき品質指標測定値の真値の推定値を求め、前記推定値記録部に記録する前記ソフトウェア品質指標値管理システム。
【請求項２】
前記品質指標測定値取得部は、ソフトウェア開発作業者及び品質指標種別毎に品質指標測定値を取得して、ソフトウェア開発作業者及び品質指標種別毎に前記品質指標測定値記録部に記録し、
前記誤差変動パラメタ推定計算部と前記事後分布パラメタ計算部とは、ソフトウェア開発作業者及び品質指標種別毎に、品質指標測定値の真値を推定し前記推定値記録部に記録する請求項１に記載のソフトウェア品質指標管理システム。
【請求項３】
前記事後分布パラメタ計算部は、ベイズ分析における真値の事後分布の平均を次式で求める請求項１又は２に記載のソフトウェア品質指標管理システム。
【数１】
2011141674.tif 000026
ここで、ｎ、ｎ−１：測定回、θｉ，ｊ（ｎ）：真値の事後分布の平均、ｘｉ，ｊ（ｎ）：品質指標測定値、μｉ，ｊ＾（ｎ）：誤差変動の平均の推定値、σ２ｉ，ｊ＾（ｎ）：誤差変動の分散の推定値、τ２（ｎ）：真値の事後分布の分散、ｉ：作業者の識別子、ｊ：品質指標の識別子
【請求項４】
前記事後分布パラメタ計算部は、ベイズ分析における真値の事後分布の分散を次式で求める請求項１乃至３のいずれかに記載のソフトウェア品質指標管理システム。
【数２】
2011141674.tif 000027
ここで、ｎ、ｎ−１：測定回、τ２（ｎ）：真値の事後分布の分散、σ２ｉ，ｊ＾（ｎ）：誤差変動の分散の推定値、ｉ：測定者の識別子、ｊ：品質指標の識別子
【請求項５】
前記決定部は、予め定められた損失関数の期待損失最小化を成すように推定値を決める統計的決定理論に基づき、品質指標測定値の真値の推定値を決定する請求項１乃至４のいずれかに記載のソフトウェア品質指標管理システム。
【請求項６】
前記決定部は、品質指標管理者の端末から、損失関数を識別する識別子と、該損失関数に応じたパラメータとを入力し、該損失関数に応じて、入力されたパラメータと求められた事後分布の平均に基づき品質指標測定値の真値の推定値を決定する請求項１乃至４のいずれかに記載のソフトウェア品質指標管理システム。
【請求項７】
前記事後分布パラメタ計算部における事後分布の平均及び分散の計算に際し、前の測定回の事後分布パラメタ計算部で得られた真値の分布を現測定回の事前分布としてベイズの定理に代入することでこれまで記録してきた品質指標測定値の情報を反映させ、真値の事後分布が正規分布となり、その分散の形状から真値の分布の分散が前記事後分布パラメタ計算部による処理を繰り返すたびに減少し、真値の推定値の精度が向上する請求項１乃至６のいずれかに記載のソフトウェア品質指標管理システム。
【請求項８】
前記統計的決定部は、本品質指標値管理システムを用いてソフトウェアの品質管理を行う担当者の端末から、真値の分布のバラつきを示すパラメタである分散に対する閾値を入力し、計算された事後分布の分散が入力された閾値以下であれば信頼に足る推定値であることを示す情報を前記担当者の端末に送信し、閾値以上となった場合は信頼性を担保できるものではないことを示す情報を、前記担当者の端末に送信する請求項１乃至７のいずれかに記載のソフトウェア品質指標値管理システム。
【請求項９】
ソフトウェア開発において測定されたソフトウェアの品質指標測定値からソフトウェア開発作業者の作業能力以外の要因で生じる変動を取り除き、ソフトウェア開発作業者の作業能力を示す真値を推定するソフトウェア品質指標値管理システムを用いてソフトウェア品質指標値の真値を推定する推定方法であって、
処理部が、ソフトウェア開発作業者の操作により端末から送信されるソフトウェアの品質指標測定値を、時系列で取得するステップと、
処理部が、本システム適用以後に取得された品質指標測定値を、測定回毎に又は時系列に品質指標測定値記録部に記録するステップと、
処理部が、取得される品質指標測定値は、ソフトウェア開発作業者の作業能力を示す真値と、ソフトウェア開発作業者の作業能力以外の要因である回答特性が原因で生じる誤差変動の和からなるものと仮定し、及び、該誤差変動は正規分布であると仮定し、品質指標測定値記録部に予め記録された本システム適用以前に取得された複数の品質指標測定値に一様乱数を乗じ、この標本平均と標本分散を誤差変動の平均の推定値と分散の推定値とするステップと、
処理部が、求められた誤差変動の平均の推定値と分散の推定値を誤差変動パラメタ推定値記録部に記録するステップと、
処理部が、第１測定回のベイズ推定における真値の事前分布のパラメータであるハイパーパラメータのひとつである平均を、本システム適用以前に取得された複数の品質指標測定値から、求められた誤差変動の平均の推定値をそれぞれ引いた各値の標本平均とし、該ハイパーパラメータの他のひとつである分散を、求められた誤差変動の分散の推定値とし、求められた誤差変動の平均の推定値及び分散の推定値と、該ハイパーパラメータの平均及び分散と、本システム適用以後に取得された品質指標測定値とに基づき、第１測定回での、ベイズ分析における真値の事後分布の平均及び分散を求めるステップと、
求められた真値の事後分布の平均及び分散を事後分布パラメタ記録部に記録するステップと、
処理部が、第ｎ−１測定回（ｎは２からｍの整数、ｍは２以上の整数）までの品質指標測定値の誤差変動の標本平均を第ｎ測定回の誤差変動の平均の推定値とし、本システム適用以前に取得された品質指標測定値の誤差変動の偏差２乗和と、第ｎ−１測定回までの品質指標測定値の誤差変動の偏差２乗和とを加算して、第ｎ測定回の誤差変動の分散の推定値とするステップと、
処理部が、第ｎ−１測定回における真値の事後分布の平均及び分散を第ｎ測定回のベイズ推定における真値の事前分布の平均及び分散とし、求められた第ｎ測定回の誤差変動の平均の推定値及び分散の推定値と、該事前分布の平均及び分散と、第ｎ測定回の品質指標測定値とに基づき、第ｎ測定回のベイズ分析における真値の事後分布の平均及び分散を求めるステップと、
処理部が、第ｍ測定回で求められた事後分布の平均に基づき品質指標測定値の真値の推定値を求めるステップと、
処理部が、決定された真値の推定値を推定値記録部に記録するステップと
を含む前記推定方法。
【請求項１０】
ソフトウェア開発において測定されたソフトウェアの品質指標測定値からソフトウェア開発作業者の作業能力以外の要因で生じる変動を取り除き、ソフトウェア開発作業者の作業能力を示す真値を推定する推定プログラムであって、
処理部が、ソフトウェア開発作業者の操作により端末から送信されるソフトウェアの品質指標測定値を、時系列で取得するステップと、
処理部が、本プログラム実行以後に取得された品質指標測定値を、測定回毎に又は時系列に品質指標測定値記録部に記録するステップと、
処理部が、取得される品質指標測定値は、ソフトウェア開発作業者の作業能力を示す真値と、ソフトウェア開発作業者の作業能力以外の要因である回答特性が原因で生じる誤差変動の和からなるものと仮定し、及び、該誤差変動は正規分布であると仮定し、品質指標測定値記録部に予め記録された本プログラム実行以前に取得された複数の品質指標測定値に一様乱数を乗じ、この標本平均と標本分散を誤差変動の平均の推定値と分散の推定値とするステップと、
処理部が、求められた誤差変動の平均の推定値と分散の推定値を誤差変動パラメタ推定値記録部に記録するステップと、
処理部が、第１測定回のベイズ推定における真値の事前分布のパラメータであるハイパーパラメータのひとつである平均を、本システム適用以前に取得された複数の品質指標測定値から、求められた誤差変動の平均の推定値をそれぞれ引いた各値の標本平均とし、該ハイパーパラメータの他のひとつである分散を、求められた誤差変動の分散の推定値とし、求められた誤差変動の平均の推定値及び分散の推定値と、該ハイパーパラメータの平均及び分散と、本システム適用以後に取得された品質指標測定値とに基づき、第１測定回での、ベイズ分析における真値の事後分布の平均及び分散を求めるステップと、
求められた真値の事後分布の平均及び分散を事後分布パラメタ記録部に記録するステップと、
処理部が、第ｎ−１測定回（ｎは２からｍの整数、ｍは２以上の整数）までの品質指標測定値の誤差変動の標本平均を第ｎ測定回の誤差変動の平均の推定値とし、本システム適用以前に取得された品質指標測定値の誤差変動の偏差２乗和と、第ｎ−１測定回までの品質指標測定値の誤差変動の偏差２乗和とを加算して、第ｎ測定回の誤差変動の分散の推定値とするステップと、
処理部が、第ｎ−１測定回における真値の事後分布の平均及び分散を第ｎ測定回のベイズ推定における真値の事前分布の平均及び分散とし、求められた第ｎ測定回の誤差変動の平均の推定値及び分散の推定値と、該事前分布の平均及び分散と、第ｎ測定回の品質指標測定値とに基づき、第ｎ測定回のベイズ分析における真値の事後分布の平均及び分散を求めるステップと、
処理部が、第ｍ測定回で求められた事後分布の平均に基づき品質指標測定値の真値の推定値を求めるステップと、
処理部が、決定された真値の推定値を推定値記録部に記録するステップと
をコンピュータに実行させるための推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア品質指標値管理システム、ソフトウェア品質指標値の真値を推定する推定方法及び推定プログラムに係り、特に、ソフトウェア開発のプロジェクトマネジメントで用いられるソフトウェアの品質指標値について、ソフトウェア開発作業者の作業の結果得られた品質指標の測定値データから、作業者の作業能力を要因とする真の品質指標値を推定及びその推定の信頼性も明示するシステム、方法及びプログラムに関する。
【背景技術】
【０００２】
ソフトウェアの規模（ソースコード規模）が膨大なものになり、従来の工業製品における品質管理と同様にソフトウェア開発の分野でも品質を表わす指標の研究がなされ、その指標は確立されつつある。例として非特許文献１に記載されているものを挙げると、ソフトウェア指標の作成にかかった工数に対するレビューの工数の割合、単位ソースコード規模に対するテスト実施工数、コーディングルールの逸脱数、設計書を作成する工程におけるレビュー指摘数である。ソフトウェア開発のプロジェクトマネジメントではこの指標を測定することでソフトウェアの品質管理と制御を行う。
しかしながら、工業製品が品質管理において製品のばらつきを抑えるため品質指標の測定値を統計学的に解析して品質向上を図っているのに対して、ソフトウェア開発製品においては同様の取り組みがなされていない。ソフトウェアでは工程と作業が決まっていても、作業者の裁量に負うところがおおきく、品質の把握、向上の取り組みとして品質指標の測定を行ってもそれが信頼できる値であるかどうか確かではない。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】独立行政法人  情報処理推進機構  ソフトウェア・エンジニアリングセンター編、「組込みソフトウェア開発向け品質作り込みガイド」
【非特許文献２】繁枡算男著、「ベイズ統計入門」
【非特許文献３】豊田秀樹著・編、「マルコフ連鎖モンテカルロ法」
【非特許文献４】松原望著、「入門ベイズ統計」
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ソフトウェアの品質を知るために仕様書の検討・作成・レビュー、設計書の検討・作成・レビュー、コーディング及びそのレビュー、テスト仕様及び項目の検討・作成・レビュー・実施、不具合の摘出、不具合の修正など開発工程のそれぞれで計測される品質指標値には、作業者の作業能力の要因による変動の他に、作業者の作業能力以外の要因による変動が含まれる。これは工業製品においては工程における作業が機械化されておりその工程における品質指標には物理的要素と偶然の要素のみが影響するのに対して、ソフトウェア開発では工程がすべて人間のかかわる作業であり、作業内容をこと細かく指定してもその理解と実施が千差万別であるためである。その一例として、品質指標の定義を厳密に行い測定方法の説明を十分にしても作業者によって解釈を異にとることが挙げられる。ある設計書を作成する工程におけるレビュー指摘数やコーディングルールの逸脱数はその具体例である。
この変動の為、ソフトウェア開発プロジェクトで品質指標値の目標値を立て、ソフトウェアの品質を管理しようとしても、計測された品質指標値がソフトウェアの正しい品質を表わしておらず、ソフトウェアの品質を正確に把握できない事態が発生する。そのため本来ならば品質を保証する必要十分な施策をとるべきである状態にもかかわらず、それが計測された品質指標値から読み取れない事態が発生する。
この事態を防ぐために、従来のソフトウェア開発プロジェクトでは品質指標の定義を厳密にしたり定義の項目を増やしたりして、作業者による作業の認識のばらつきをなくすといった方法が採られている。然しながら、このような方法は感覚的でなものであり、また定義の規定者による主観的な要素が大きく反映されてしまう。よって品質指標が正しくソフトウェアの品質を表わすようになることを保証するものではない。加えて、その効果が定量的に図れず、従ってその方法が妥当であるかどうかの判断ができない。
本発明は、以上の点に鑑み、作業者が過去に報告した品質指標値からその作業者の系統的な特性を確率論に基づき捉えるモデルを構築し、ベイズ分析による手法を援用して作業者の系統的な特性の情報を取り込み本来の品質指標値の推定値を得て品質管理者に報告するソフトウェア品質指標値管理システム、ソフトウェア品質指標値の真値を推定する推定方法及び推定プログラムを提供することを目的とする。また、本発明は、これにより、品質管理者はソフトウェアの品質を正しく認識でき、ソフトウェア開発プロジェクトを遅滞なく完遂するために必要な品質保証施策を行えるようにすることを目的のひとつとする。
【課題を解決するための手段】
【０００５】
本発明にかかるソフトウェア品質指標値管理システムは、ネットワークに接続されたソフトウェア開発作業者端末から報告されるソフトウェア品質指標の測定値を、作業者・品質指標種別毎に時系列で取得する品質指標測定値取得部と、本発明適用以前に測定された既存の品質指標測定値及び、本発明適用以後取得した品質指標測定値について、作業者・品質指標種別・測定回（時系列）毎に測定値を記録し保持する品質指標測定値記録部と、品質指標種別毎に、作業者の作業能力を示す値を真値、作業者の作業能力以外の要因を回答特性、回答特性が原因で生じる変動を誤差変動とし、測定された品質指標値は真値と誤差変動の和からなるものとし、誤差変動について正規分布を仮定し、本発明適用以前に記録されている既存の品質指標測定値についてある測定値のどこまでが真値でありどこまでが誤差変動かわからないものとし、統計的無差別原理から、本発明適用以前に記録されている既存の品質指標測定値を品質指標測定部から取得し、それらに作業者・品質指標種別毎に（０，１）の一様乱数の生成結果を乗じ、得られる標本平均と標本分散が、作業者・品質指標種別毎の誤差変動のパラメタである平均と分散を推定値であるものとして計算する誤差変動パラメタ推定計算部と、誤差変動パラメタ推定計算部で求めた作業者・品質指標種別毎の誤差変動の平均の推定値と分散の推定値を、作業者・品質指標種別・測定回（時系列）毎に記録し保持する誤差変動パラメタ推定値記録部と、（１）測定された品質指標値は真値と誤差変動の和からなること、（２）誤差変動が正規分布に従うこと、（３）誤差変動のパラメタである平均と分散を未知のままにせず、既存の品質指標測定値から統計学的に妥当な推定値を計算し、既知のものとして扱うこと、（４）ベイズの定理における事前分布について、真値の分布を正規分布とし、ハイパーパラメタ（ベイズの定理を利用して初めて推定を行う際に規定する事前分布のパラメタ）である平均と分散について、平均を既存の品質指標測定値の標本平均から前述の誤差変動パラメタ推定計算部で計算した誤差変動の平均の推定値を引いたもの、分散を誤差変動の分散の推定値とすることから、現測定回における推定の事後分布も正規分布になることを利用して、作業者・品質指標種別の誤差変動の平均の推定値、分散の推定値、及び前回の推定において事後分布パラメタ計算部で得られた作業者・品質指標種別の真値の分布のパラメタである平均と分散から、現測定回の真値の分布のパラメタである平均と分散を計算する事後分布パラメタ計算部と、事後分布パラメタ計算部で求めた、作業者・品質指標種別毎の真値の分布のパラメタである平均と分散を、作業者・品質指標種別・測定回（時系列）毎に記録し保持する事後分布パラメタ記録部と、事後分布パラメタから、損失関数の期待損失最小化を成すように推定値を決める統計的決定理論に基づき、ソフトウェア品質指標値を用いてソフトウェアの品質を管理するソフトウェア品質管理者が、作業者・品質指標種別・測定回毎に複数の損失関数の候補から損失関数を選択し、損失関数のパラメタを決定し、真値の推定値を決定する統計的決定部と、統計的決定部で得られた作業者・品質指標種別毎の真値の推定値を、作業者・品質指標種別・測定回（時系列）毎に記録し保存する推定値記録部と、作業者が品質指標の測定値を入力するための画面と、品質指標管理者が品質指標の真値の推定に当たり使用する統計的決定理論に於ける損失関数とそのパラメタ、そして推定値の信頼性の限界を示す分散の閾値を入力する画面と、品質指標管理者が品質指標の真値の推定値とその信頼性を閲覧できる画面とを提供するインタフェース部を備える。
初めて真値の推定値を得る場合（第１測定回）、作業者・品質指標種別の誤差変動に関する情報が全くない状態である。そのため、前記の品質指標測定値記録部に記録されている、本発明適用以前に測定された品質指標値の内、どこまでが真値でどこまでが誤差変動であるかわからない。したがって、何らかの妥当な推定を行う必要がある。そこで統計学における無差別原理に基づき、測定値にどれだけの割合が誤差変動であるかは全て同様に確からしいものとして、（０，１）の一様分布に従う乱数をその割合とみなし、各品質指標測定値における誤差変動を計算する。
【０００６】
誤差変動のパラメタである平均と分散について、前記統計学的無差別原理に基づく誤差変動から、作業者・品質指標種別の標本平均と標本分散を、それぞれ平均と分散の推定値とする。
真値を推定するためにベイズの定理を用いた推定を行うが、初めて推定を行う場合事前分布が明らかでない。したがって妥当な事前分布の設定が必要である。事前分布の形状を正規分布とし、ハイパーパラメタである平均は、尤もらしい値として本発明適用以前に測定された品質指標値から無差別原理に基づき求めた誤差変動を引いたものを本発明適用以前に測定された品質指標値の真値と見なし、その標本平均とする。もう一つのハイパーパラメタである分散は、誤差変動と同等にばらつくと見なして無差別原理に基づき求めた誤差変動の分散とする。
本発明にかかるソフトウェア品質指標値管理システムは、前記誤差変動パラメタ推定計算部において、作業者・品質指標種別毎に、ある測定回で報告された品質指標測定値から、その測定回の前記事後分布パラメタ計算部で計算された対象の作業者・品質指標種別の真値の分布のパラメタである平均を引いたものを、その測定回（第ｎ測定回、ｎは２からｍの整数、ｍは２以上の整数）における作業者・品質指標種別の誤差変動とみなし、本発明適用以後測定を開始した時点から現測定時点の前の測定回（第ｎ−１測定回）までの作業者・品質指標種別毎の測定値を前記品質指標測定記録部から取得し、その標本平均を現測定時点での作業者・品質指標種別毎の誤差変動の平均の推定値として計算し、前記誤差変動パラメタ推定計算部において、本発明適用以前に測定され記録されていた作業者・品質指標種別毎の品質指標測定値の偏差２乗和と、ある測定回で報告された作業者・品質指標種別毎の品質指標測定値から、その測定回の前記事後分布パラメタ計算部で計算された、対象の作業者・品質指標種別の真値の分布のパラメタである平均を引き、さらに現測定時点での対象の作業者・品質指標種別の誤差変動の平均の推定値を引いたものの２乗和を、現測定時点の前の測定回まで足し合わせ、その測定回までの測定数と本発明適用以前に測定され記録されていた対象の作業者・品質指標種別の測定数の和で割ったものを、現測定時点での対象の作業者・品質指標種別の誤差変動の分散の推定値とし計算し、前記事後分布パラメタ計算部において、（１）測定された品質指標値は真値と誤差変動の和からなること、（２）誤差変動が正規分布に従うこと、（３）誤差変動のパラメタである平均と分散を未知のままにせず、既存の品質指標測定値から統計学的に妥当な推定値を計算し、既知のものとして扱うこと、（４）前の測定回の事後分布パラメタ計算部において得られた真値の事後分布を事前分布としてベイズの定理に代入することから、現測定回における推定の事後分布も正規分布になることを利用して、作業者・品質指標種別の誤差変動の平均の推定値、分散の推定値、及び前回の推定における事後分布パラメタ計算部で得られた作業者・品質指標種別の真値の分布のパラメタである平均と分散から、現測定回の真値の分布のパラメタである平均と分散を計算する。
【０００７】
従来の頻度論に基づく統計的推測では推定したいパラメタは未知であるものの固定で存在するものとするが、ベイズの定理を利用した統計分析であるベイズ分析の分野では、そのようなパラメタは観測できないため固定のものとしては扱わず、確率分布を導入して確率変数とみなす。そのため、真値は確率分布に従う確率変数として扱っている。
本発明を適用後２回目の測定からは、前記事後分布パラメタ計算部においてベイズの定理を利用することにより作業者・品質指標種別の回答特性の情報を推定パラメタ計算に反映することができる。ある測定回での推定パラメタ計算において、ベイズの定理の事前分布に、その前の測定回で得られた真値の分布をあてはめることを情報の更新と呼び、更新の結果得られる事後分布がその測定回での真値の分布となる。したがって、事後分布は事前分布の情報を織り込んでおり、事後分のパラメタである真値の平均と分散は、その前の測定回における真値の情報を反映したものになっている。この更新は測定の度に行われるので、結果としてある測定回における真値の平均と分散は、それ以前の全測定回における真値の平均と分散の情報が反映される。以上に示されるベイズの定理における情報の更新により、真値の推定に主観的要素を排除し、作業者・品質指標種別の真値の客観的な推定値を得ることが可能となる。
ベイズの定理を利用したベイズ分析においては、事後分布が解析的に導出できない場合、未知のパラメタを推定する際に非特許文献３にあるようにマルコフ連鎖モンテカルロ法という乱数生成を利用した方式を用いる必要があるが、未知のパラメタの推定に必要な乱数生成数が極めて多いため、多大な計算量を必要とする。品質指標測定値には誤差変動の平均と分散、それに真値という３つの未知のパラメタが存在するが、前記誤差変動パラメタ推定計算部において、誤差変動の平均と分散を作業者・品質指標種別に既に測定されている測定値から推定し既知とすることで、ベイズの定理における事後分布である真値の分布を解析的に導出し、さらに誤差変動が正規分布であることから真値の分布も正規分布となり、真値の分布の平均と分散を単一の式で表すことができる。作業者・品質指標種別のある測定回における真値の分布の平均を求めるには、測定値と、前記誤差変動パラメタ推定計算部で計算した誤差変動の平均の推定値と分散の推定値と、前の測定回において前記事後分布パラメタ計算部で計算した真値の分布の平均と分散を式に代入して計算するだけでよく、作業者・品質指標種別のある測定回における真値の分布の分散を求めるには、前記誤差変動パラメタ推定計算部で計算した誤差変動の分散の推定値と、前回の測定において前記事後分布パラメタ計算部で計算した真値の分布の分散を式に代入して計算するだけなので、マルコフ連鎖モンテカルロ法を用いる場合と比べ、計算量と殆ど必要とせず、真値の推定値を得ることができる。
また、真値の分布のパラメタである分散の式の形状から、測定回が進み事後分布パラメタ計算部における推定処理を繰り返すたびに真値の分布の分散が減少するため、測定と推定を繰り返すたびに真値の推定値の精度が向上することを保証できる。
前記統計的決定部において、損失関数として非対称絶対損失を選択し、品質指標値管理者システムを用いてソフトウェアの品質管理を行う担当者が、品質指標の種別毎に過大な推定値に対するペナルティー係数と過少な推定値に対するペナルティー係数を指定することで、担当者の推定に対する選好を反映する。
【０００８】
経験豊富な品質管理担当者や、特定の技術領域の専門家である品質管理担当者としては、推定値を得るにあたり、ある品質指標種別に関しては経験上過大に推定するべきでないという判断を下したり、また別の品質指標種別に関しては経験上過少に推定すべきではないという判断を下したい場合がある。経験上過大に推定するべきでない場合は損失関数として非対称絶対損失を選択して過大な推定値に対するペナルティー係数を大きく設定し、経験上過少に推定すべきではない場合は損失関数として非対称絶対損失を選択して過少な推定値に対するペナルティー係数を小さく設定することで、経験豊富な品質管理担当者や、特定の技術領域の専門家である品質管理担当者の経験を推定に組み込むことができる。
前記統計的決定部において、品質指標値管理者システムを用いてソフトウェアの品質管理を行う担当者が、真値の分布のバラつきを示すパラメタである分散に対して閾値を設け、計算された分散が閾値内に収まっていれば信頼に足る推定値であるとして決定された推定値を採用する。
真値の推定値を得た場合でも、分布の分散が大きい場合推定値の信頼性に欠ける。前述のとおり、品質指標値の測定と推定を繰り返すたびに真値の分散が減少し、推定値の精度が上がるが、品質管理を行う担当者が推定値の精度の許容度として分散の閾値を指定することで、推定値の分散が閾値を上回る場合は推定値を採用せず、品質指標値の測定と推定を繰り返すうちに推定値の分散が閾値内に収まった段階から推定値を採用することで、所定の精度が確保された真値の推定値を得ることができる。
【０００９】
本発明の第１の解決手段によると、
ソフトウェア開発において測定されたソフトウェアの品質指標測定値からソフトウェア開発作業者の作業能力以外の要因で生じる変動を取り除き、ソフトウェア開発作業者の作業能力を示す真値を推定するソフトウェア品質指標値管理システムであって、
ソフトウェア開発作業者の操作により端末から送信されるソフトウェアの品質指標測定値を、時系列で取得する品質指標測定値取得部と、
本システム適用以前に取得された複数の品質指標測定値、及び、本システム適用以後に取得された品質指標測定値を、測定回毎に又は時系列に記録する品質指標測定値記録部と、
取得される品質指標測定値は、ソフトウェア開発作業者の作業能力を示す真値と、ソフトウェア開発作業者の作業能力以外の要因である回答特性が原因で生じる誤差変動の和からなるものと仮定し、及び、該誤差変動は正規分布であると仮定し、前記品質指標測定値記録部に記録された本システム適用以前に取得された複数の品質指標測定値に一様乱数を乗じ、この標本平均と標本分散を誤差変動の平均の推定値と分散の推定値とする（数１５、数１６）誤差変動パラメタ推定計算部と、
求められた誤差変動の平均の推定値と分散の推定値を記録する誤差変動パラメタ推定値記録部と、
第１測定回のベイズ推定における真値の事前分布のパラメータであるハイパーパラメータのひとつである平均を、本システム適用以前に取得された複数の品質指標測定値から、前記誤差変動パラメタ推定計算部で求められた誤差変動の平均の推定値をそれぞれ引いた各値の標本平均とし（数２０）、該ハイパーパラメータの他のひとつである分散を、前記誤差変動パラメタ推定計算部で求められた誤差変動の分散の推定値とし（数２１）、求められた誤差変動の平均の推定値及び分散の推定値と、該ハイパーパラメータの平均及び分散と、本システム適用以後に取得された品質指標測定値とに基づき、第１測定回での、ベイズ分析における真値の事後分布の平均及び分散を求める事後分布パラメタ計算部と、
前記事後分布パラメタ計算部により求められた真値の事後分布の平均及び分散を記録する事後分布パラメタ記録部と、
複数の測定回の後、求められた事後分布の平均に基づき品質指標測定値の真値の推定値を求める決定部と、
決定された真値の推定値を記録する推定値記録部と
を備え、
前記誤差変動パラメタ推定計算部は、
第ｎ−１測定回（ｎは２からｍの整数、ｍは２以上の整数）までの品質指標測定値の誤差変動の標本平均を第ｎ測定回の誤差変動の平均の推定値とし（数１８）、本システム適用以前に取得された品質指標測定値の誤差変動の偏差２乗和と、第ｎ−１測定回までの品質指標測定値の誤差変動の偏差２乗和とを加算して、第ｎ測定回の誤差変動の分散の推定値とし（数１９）、
前記事後分布パラメタ計算部は、第ｎ−１測定回における真値の事後分布の平均及び分散を第ｎ測定回のベイズ推定における真値の事前分布の平均及び分散とし、求められた第ｎ測定回の誤差変動の平均の推定値及び分散の推定値と、該事前分布の平均及び分散と、第ｎ測定回の品質指標測定値とに基づき、第ｎ測定回のベイズ分析における真値の事後分布の平均及び分散を求め（数２２、数２３）、
前記決定部は、第ｍ測定回で求められた事後分布の平均に基づき品質指標測定値の真値の推定値を求め、前記推定値記録部に記録する前記ソフトウェア品質指標値管理システムが提供される。
【００１０】
本発明の第２の解決手段によると、
ソフトウェア開発において測定されたソフトウェアの品質指標測定値からソフトウェア開発作業者の作業能力以外の要因で生じる変動を取り除き、ソフトウェア開発作業者の作業能力を示す真値を推定するソフトウェア品質指標値管理システムを用いてソフトウェア品質指標値の真値を推定する推定方法であって、
処理部が、ソフトウェア開発作業者の操作により端末から送信されるソフトウェアの品質指標測定値を、時系列で取得するステップと、
処理部が、本システム適用以後に取得された品質指標測定値を、測定回毎に又は時系列に品質指標測定値記録部に記録するステップと、
処理部が、取得される品質指標測定値は、ソフトウェア開発作業者の作業能力を示す真値と、ソフトウェア開発作業者の作業能力以外の要因である回答特性が原因で生じる誤差変動の和からなるものと仮定し、及び、該誤差変動は正規分布であると仮定し、品質指標測定値記録部に予め記録された本システム適用以前に取得された複数の品質指標測定値に一様乱数を乗じ、この標本平均と標本分散を誤差変動の平均の推定値と分散の推定値とするステップと、
処理部が、求められた誤差変動の平均の推定値と分散の推定値を誤差変動パラメタ推定値記録部に記録するステップと、
処理部が、第１測定回のベイズ推定における真値の事前分布のパラメータであるハイパーパラメータのひとつである平均を、本システム適用以前に取得された複数の品質指標測定値から、求められた誤差変動の平均の推定値をそれぞれ引いた各値の標本平均とし、該ハイパーパラメータの他のひとつである分散を、求められた誤差変動の分散の推定値とし、求められた誤差変動の平均の推定値及び分散の推定値と、該ハイパーパラメータの平均及び分散と、本システム適用以後に取得された品質指標測定値とに基づき、第１測定回での、ベイズ分析における真値の事後分布の平均及び分散を求めるステップと、
求められた真値の事後分布の平均及び分散を事後分布パラメタ記録部に記録するステップと、
処理部が、第ｎ−１測定回（ｎは２からｍの整数、ｍは２以上の整数）までの品質指標測定値の誤差変動の標本平均を第ｎ測定回の誤差変動の平均の推定値とし、本システム適用以前に取得された品質指標測定値の誤差変動の偏差２乗和と、第ｎ−１測定回までの品質指標測定値の誤差変動の偏差２乗和とを加算して、第ｎ測定回の誤差変動の分散の推定値とするステップと、
処理部が、第ｎ−１測定回における真値の事後分布の平均及び分散を第ｎ測定回のベイズ推定における真値の事前分布の平均及び分散とし、求められた第ｎ測定回の誤差変動の平均の推定値及び分散の推定値と、該事前分布の平均及び分散と、第ｎ測定回の品質指標測定値とに基づき、第ｎ測定回のベイズ分析における真値の事後分布の平均及び分散を求めるステップと、
処理部が、第ｍ測定回で求められた事後分布の平均に基づき品質指標測定値の真値の推定値を求めるステップと、
処理部が、決定された真値の推定値を推定値記録部に記録するステップと
を含む前記推定方法、及び、上記各ステップをコンピュータに実行させるための推定プログラムが提供される。
【発明の効果】
【００１１】
実際に測定される品質指標値をそのままソフトウェアの品質指標として取り扱うと、ソフトウェアの品質を過大乃至過小評価することになる。本発明により、主観的な推定を避け、測定値から回答特性による変動を除き、所定の信頼性が確保された客観的な真値の推定値を得ることができ、正しくソフトウェアの品質を評価できる。その結果、ソフトウェアの開発プロジェクトで保証しなければならない品質を確保する為に必要十分な施策を見極められ、コストと時間の面で効率的にプロジェクトを完遂できる。
また、本発明によると、作業者の真の作業能力の推定を行える。これにより作業者の力量を把握でき、その後のソフトウェア開発プロジェクトの計画段階で適切なリソース割り当てが行える。
【図面の簡単な説明】
【００１２】
【図１】本発明のシステム構成図である。
【図２】品質指標の真値を推定する方法及び真値の分布を示す図である。
【図３】品質指標の真値の推定法を説明するフローチャートである。
【図４】品質指標の測定値を取得し記録する処理を行う機能ブロック図である。
【図５】品質指標の測定値を取得し記録する処理を行うインタフェースである。
【図６】品質指標の測定値を取得し記録する処理を行うためのデータ構造である。
【図７】誤差変動のパラメタの推定値を計算し記録する処理を行う機能ブロック図である。
【図８】誤差変動のパラメタの推定値を計算し記録する処理を行うフローチャートである。
【図９】誤差変動のパラメタの推定値を計算し記録する処理を行うためのデータ構造である。
【図１０】本発明における品質指標の推定を初めて行う際に、誤差変動のパラメタの推定値を計算する処理を示すフローチャートである。
【図１１】誤差変動のパラメタの推定値を計算する処理を示すフローチャートである。
【図１２】品質指標の真値の事後分布のパラメタを計算する処理を行う機能ブロック図である。
【図１３】品質指標の真値の事後分布のパラメタを計算する処理を行うフローチャートである。
【図１４】本発明における品質指標の推定を初めて行う際に、品質指標の真値の事後分布のパラメタを計算する処理を示すフローチャートである。
【図１５】品質指標の真値の事後分布のパラメタを計算する処理を示すフローチャートである。
【図１６】統計的決定理論に基づく品質指標の真値の決定処理及び推定値の信頼性のチェックを行う機能ブロック図である。
【図１７】統計的決定理論に基づく品質指標の真値の決定処理及び推定値の信頼性のチェックを行うインタフェースである。
【図１８】統計的決定理論に基づく品質指標の真値の決定処理及び推定値の信頼性のチェックを行うためのフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照しこの発明を実施するための形態について説明する。
図１は本発明の一実施形態のシステム構成図である。本形態のソフトウェア品質指標値管理システムは、ソフトウェア開発作業者の作業者端末１と、ソフトウェアの品質管理者の端末２と、ソフトウェア開発作業者が作業端末を通じて送信する品質指標測定値を集計する品質指標値集計サーバ３と、作業者端末１と品質管理者端末２と品質指標値集計サーバ３を接続するネットワーク４を備える。品質指標値集計サーバ３はネットワークを介して作業者端末１と品質管理者端末２との情報のやり取りと変換を行うインタフェース部５と、処理部（ＣＰＵ）６と、記憶部（二次記憶）７と、これらを結ぶデータバス８を有する。処理部（ＣＰＵ）６は品質指標値取得部１０、誤差変動パラメタ推定計算部２０、事後分布パラメタ計算部３０、統計的決定部４０を備える。本実施の形態における品質指標値集計サーバ３での各処理は、処理部６により実行される。記憶部（二次記憶）７は品質指標値測定記録部１１０、推定値記録部１２０、誤差変動パラメタ推定値記録部２１０、事後分布パラメタ記録部２２０を備える。本実施の形態において品質指標値集計サーバ３に記憶される情報は、処理部７に記憶される。
統計学ではある値の推定値を表わすのに通常その値の上部をハットで修飾するが、本文中及び図中では修飾することができない。従って、以後図中及び本文中で推定値を表現する際には、便宜上、記号の横に上付き文字の小文字のハットを付与する。
品質指標とは、ソフトウェアの品質を表わすとされる指標であり、品質指標計測値とは、ソフトウェア開発に携わる作業者が、ある作業の結果得られた品質指標の値である。例えばソフトウェアの設計書のレビューという作業において、不具合であると指摘を受けた件数が、設計書レビュー指摘件数という品質指標となり、レビューをやってみて実際に受けた件数が測定値となる。また、測定回については、例えば本発明を適用したシステムを使用し始めてから既にソフトウェアの設計書のレビューを６回行っており、次いでソフトウェアの設計書のレビューを行い設計書レビュー指摘件数を数えた場合、それは設計書レビュー指摘件数という品質指標の７回目の計測値ということになる。
【００１４】
本実施の形態では、品質指標種別毎に、作業者の作業能力を示す値を真値、作業者の作業能力以外の要因を回答特性、回答特性が原因で生じる変動を誤差変動とし、測定された品質指標値は真値と誤差変動の和からなるものとし、誤差変動について正規分布を仮定する。ここで作業者ｉによる品質指標種別ｊのｎ回目の測定値を
【数１】
2011141674.tif 000003
で表す。数１の第１項θが作業者による品質指標種別の作業能力を表わす値である真値を表わし、第２項εが作業者による品質指標種別の誤差変動を表わす。数１において作業者ｉによる品質指標種別ｊのｎ回目の測定時における誤差変動εｉ，ｊ（ｎ）は
【数２】
2011141674.tif 000004
で示すように、平均μｉ，ｊ（ｎ）、分散σ２ｉ，ｊ（ｎ）の正規分布に従う確率変数とする。よって、作業者ｉによる品質指標種別ｊのｎ回目の測定値ｘｉ，ｊ（ｎ）は、
【数３】
2011141674.tif 000005
であらわされるように、平均θｉ，ｊ（ｎ）＋μｉ，ｊ（ｎ）、分散σ２ｉ，ｊ（ｎ）の正規分布に従う確率変数になる。
【００１５】
本実施の形態では、真値の推定にはベイズ分析を用いている。ソフトウェア開発の諸作業について、作業者毎に特性がでるものであり、その為作業の結果として測定された品質指標測定値は作業者・品質指標種別に異なる傾向を示す。既存の統計学的方法や数理科学的方法を適用する場合、その背後にそれぞれ傾向を示すための妥当なモデルを構築し、検証を行わなければならないが、既存の統計学的方法では測定数が足りないと信頼性のある推定結果が得られなかったり、モデル自体が複雑である場合推定そのものができない場合がある。これに対してベイズ分析による統計学的推定は、真値の推定に対して主観的な要素を排除し、作業者・品質指標種別の測定値そのものの情報を客観的に真値の推定に反映させることができるため、課題である推定に対する主観的な要素の排除が達成できる。
数３で示すように、品質指標測定値には真値θｉ，ｊ（ｎ）、誤差変動の平均μｉ，ｊ（ｎ）、誤差変動の分散σ２ｉ，ｊ（ｎ）が含まれるため、これをそのままベイズ分析するとする。従来の頻度論に基づく統計的推測では推定したいパラメタは未知であるものの固定で存在するものとするが、ベイズの定理を利用した統計的分析であるベイズ分析の分野では、これは観測できないため固定のものとしては扱わず、確率分布を導入して確率変数とみなす。そのため、真値θｉ，ｊ（ｎ）を確率変数θｉ，ｊ、誤差変動の平均μｉ，ｊ（ｎ）を確率変数μｉ，ｊ、誤差変動の分散σ２ｉ，ｊ（ｎ）を確率変数σ２ｉ，ｊとし、３次元の確率変数（θｉ，ｊ、μｉ，ｊ、σ２ｉ，ｊ）で表すと、ベイズの定理による事後分布は
【数４】
2011141674.tif 000006
となる。左辺は作業者ｉによる品質指標種別ｊのｎ回目の測定値ｘｉ，ｊ（ｎ）が観測された場合の確率変数（θｉ，ｊ、μｉ，ｊ、σ２ｉ，ｊ）の確率密度関数を表わす。分子の第１項が事前分布、すなわち確率変数（θｉ，ｊ、μｉ，ｊ、σ２ｉ，ｊ）の確率密度関数となる。分子の第２項が尤度、すなわち（θｉ，ｊ、μｉ，ｊ、σ２ｉ，ｊ）が既知の場合に品質指標値ｘｉ，ｊ（ｎ）が観測される尤もらしさの度合いを示す関数である。ベイズ分析では、事前分布に前の回のベイズ分析による推定で求めた事後分布を代入する。これはベイズ更新と呼ばれ、更新を繰り返すことで過去測定された品質指標値の情報を分布に取り込むことができる。この更新では前回観測された品質指標値ｘｉ，ｊ（ｎ−１）の情報を事後分布に反映させることができる。これを
【数５】
2011141674.tif 000007
とすると、数４は
【数６】
2011141674.tif 000008
となる。分母は分子をθｉ，ｊ、μｉ，ｊ、σ２ｉ，ｊの取り得る全区間での積分を示す。したがって、分母は定数となる。真値θｉ，ｊの事後分布は、数６をμｉ，ｊとσ２ｉ，ｊの取り得る区間で積分することで得られる。数６の分母は定数となっているので分子に対して積分することになる。これで作業者ｉによる品質指標種別ｊの品質指標値に含まれる真値の分布が得られたことになるが、一般的に数６は解析的に解けない。すなわち確率分布の数式として明示的に定式化ができない。定式化ができずとも、真値の分布は数６で示されているため、推定値として数６の平均や別な統計量、例えば中位値やモードや７５パーセンタイル点などをもって推定値とすることはできる。しかしながら、一般的に統計量の計算は確率密度関数の期待値計算を行わなければならない。正規分布やポアソン分布などよく知られた関数は、その統計量が明示的に定式化され示されているため計算は容易だが、数６のように一般的な形では統計量は明示的に示せない。そのため、非特許文献３にあるように、乱数を用いたシミュレーションを行い近似値を計算せざるを得ない。数６は確率密度関数であるため、非特許文献３にあるマルコフ連鎖モンテカルロ法を用いて平均値など統計量を求めるのは可能である。しかしながらこの方法は（１）乱数を大量に発生させる必要があること、（２）どれだけ乱数を発生させたら十分な信頼性を確保できるかが不明であること、（３）場合によっては計算が収束しないことがあり、計算量の面と信頼性の面からみて欠点もある。（１）については、数６で示される確率密度関数からの乱数として扱ってよい状態、即ちマルコフ連鎖が定常状態に至ったとみなす（バーンイン）までの乱数は使われないことから採用する数以外にバーンインまでの数も含めると膨大な擬似乱数を発生する必要がある。また、擬似乱数を発生させすぎると擬似乱数が一巡してしまい同じパターンの擬似乱数が繰り返されてしまう可能性がある。
【００１６】
そこで、本実施の形態では、数１の３つの未知のパラメタである、真値θｉ，ｊ（ｎ）、誤差変動の平均μｉ，ｊ（ｎ）、誤差変動の分散σ２ｉ，ｊ（ｎ）のうち、μｉ，ｊ（ｎ）とσ２ｉ，ｊ（ｎ）を妥当な方法で推定し既知のものとし、未知のパラメタを１つにすることで、シミュレーションによる近似値計算を行わずに真値θｉ，ｊ（ｎ）、誤差変動の平均μｉ，ｊ（ｎ）を明示的な形で計算する。これにより計算の為のマシンリソースをさほど必要とせず、低いスペックのマシンでも本形態を実施することができる。μｉ，ｊ（ｎ）とσ２ｉ，ｊ（ｎ）の推定値は、既に測定されている品質指標値の標本平均と標本分散としている。推定値として標本平均と標本分散をとるのは統計学的に妥当である。
数３で示したように、作業者ｉによる品質指標種別ｊのｎ回目の測定時における品質指標値ｘｉ，ｊ（ｎ）は平均θｉ，ｊ（ｎ）＋μｉ，ｊ＾（ｎ）、分散σ２ｉ，ｊ＾（ｎ）の正規分布に従う確率変数となる。μｉ，ｊ＾（ｎ）とσ２ｉ，ｊ＾（ｎ）は前述のとおり妥当な方法で推定し既知のものとなったため、真値のみが未知の確率変数θｉ，ｊとなり、
【数７】
2011141674.tif 000009
で示されるようにｘｉ，ｊ（ｎ）は平均θｉ，ｊ＋μｉ，ｊ＾（ｎ）、分散σ２ｉ，ｊ＾（ｎ）の正規分布に従う。すなわちパラメータの一つであるθｉ，ｊが確率変数である正規分布に従う。これにより数６は
【数８】
2011141674.tif 000010
であらわされる。Ｃは分母を積分した結果で定数である。
【００１７】
ベイズ分析では、θｉ，ｊの事前分布に前の回のベイズ分析による推定で求めた事後分布を代入する、つまりベイズ更新で過去測定された品質指標値の情報を分布に取り込むが、初めてベイズ分析を行う際にはベイズ更新ができない。そのため何らかのθｉ，ｊの事前分布を仮定する必要がある。本形態では事前分布の形状は一般的な正規分布とし、既存の品質指標測定値から統計学的な無差別原理に基づき既存の品質指標測定値の誤差変動の標本平均と標本分散を求めた後、これを利用してハイパーパラメタ（初めてベイズ分析を行う際の事前分布のパラメタ）である平均θｉ，ｊ（０）、分散τ２ｉ，ｊ（０）を設定する。数７に示したように、一番最初にベイズ分析を行う場合、ｘｉ，ｊ（１）はθｉ，ｊ＋μｉ，ｊ＾（１）、分散σ２ｉ，ｊ＾（１）の正規分布に従い、θｉ，ｊの事前分布は平均θｉ，ｊ（０）、分散τ２ｉ，ｊ（０）の正規分布となる。よってθｉ，ｊの事後分布は数８の指数部をθｉ，ｊについて平方完成し、確率密度関数の性質から
【数９】
2011141674.tif 000011
となり、正規分布となる。実際、非特許文献４にあるように、尤度が正規分布であり事前分布も正規分布であるため、事後分布も正規分布となる。これは、正規分布が尤度の自然な共役事前分布であるためである。この１回目のベイズ分析による推定の事後分布が、ベイズ更新により次の回のベイズ分析による事前分布となるため、θｉ，ｊの事後分布は常に正規分布となる。この真値であるθｉ，ｊの事後分布である平均と分散は、指数部をθｉ，ｊについて平方完成し、確率密度関数の性質を用いて数８を変形すると
【数１０】
2011141674.tif 000012
となることから、事後分布が正規分布であり、作業者ｉによる品質指標種別ｊのｎ回目の測定時における品質指標値の真値の平均θｉ，ｊ（ｎ）及び分散τ２ｉ，ｊ（ｎ）は数１０にあるように明示的に定式化される。これにより、値を代入して計算するだけで品質指標値の真値の分布のパラメタを得ることができる。これを用いて統計的決定理論に基づき真値の推定値を決定する。
数１０にある分散τ２ｉ，ｊ（ｎ）の形状から、ベイズ分析による推定を繰り返すたびに分散は減少する。これは
【数１１】
2011141674.tif 000013
であることから明らかである。よって、品質指標の測定を重ね、ベイズ分析による推定を繰り返すことで真値の事後分布のバラつきが小さくなり、精度のよい推定値を得ることができる。
【００１８】
図２に、ベイズ分析におけるベイズ更新と真値の事後分布のばらつきが小さくなる様子を示す。事後分布は正規分布であるため、平均を中心にして±標準偏差の区間の値を確率変数が取り得る確率は約６８％となる。一番最初にベイズ分析による推定を行う際には事前分布が規定されていないため、前述したように本推定法適用以前に記録された品質指標値から誤差変動の平均と分散の推定値を計算し、事前分布のハイパーパラメタである真値の平均と分散を計算し、事後分布を得る。前述のとおり事後分布も正規分布となるため、実際は正規分布の形状を規定するパラメタである真値の事後分布の平均と分散を数９の式から計算するのみである。次回の推定からはベイズ更新を行うため、１回目の推定で得られた真値の事後分布の平均と分散を、２回目の推定における真値の事前分布の平均と分散として用いる。真値の推定自体は別に統計的決定理論をもって決定する。このように、ｎ回目の推定ではｎ−１回目の推定で得られた真値の事後分布の平均と分散を、ｎ回目の真値の事前分布の平均と分散とし、数１０の式から計算をする。数１１で示したように、真値の事後分布の分散が減少していくため、図２の真値の事後分布の形状が狭まってゆく。すなわち、真値の推定値の精度が上がることを示している。
図３は、品質指標値集計サーバ３がソフトウェア開発作業者から品質指標の測定値を取得してから真値を推定し決定するまでの処理のフローチャートである。
先ず図３のステップＳ１０にある、品質指標値取得の詳細を示す。品質指標値の取得は作業者端末１、インタフェース部５、品質指標測定値取得部１０、及び品質指標測定値記録部１１０の連携により行われる。
【００１９】
図４に示されるインタフェース部５は作業者端末１に対して、品質指標測定値を入力するための画面を提供する。図５に示されるこの画面は、例えば、作業者名の入力領域、品質指標名をプルダウン形式で選択するリスト、品質指標測定値を入力する入力領域、及び情報の送信ボタンを含む。作業者は作業者端末１にて品質指標値集計サーバ３にＷｅｂブラウザでアクセスし、インタフェース部５が提供する画面から作業者名を入力し、品質指標名を選択し、品質指標測定値を入力し、情報の送信ボタンを押下する。インタフェース部５は作業者端末１からの入力を受け取り、品質指標測定値取得部１０に出力し、品質指標測定値の取得処理を行うよう制御シグナルを送信する。
品質指標測定値取得部１０はインタフェース部５から制御シグナルを受信し、作業者名、品質指標名及び品質指標測定値を受け取る。その後、作業者名及び品質指標名からハッシュ値を計算して作業者名及び品質指標名を数字に変換するためのハッシュリストから対応する作業者の数字と品質指標種別の数字を取得する。その後、作業者の数字、品質指標種別の数字、及び品質指標測定値を品質指標測定値記録部１１０に出力し、記録するようシグナルを送り、品質指標測定記録部１１０からの処理終了の応答シグナルを待つ。
品質指標測定値記録部１１０は品質指標測定値取得部１０から作業者を識別する数字、品質指標種別を識別する数字及び品質指標測定値を受け取り図６に示されるデータ構造体に品質指標の測定値を記録する。品質指標測定値記録部１１０は、本推定法を適用する以前に測定され記録されていたデータ１１０１と、適用以後に測定され記録されたデータ１１０２と２つに分かれている。これらはそれぞれ図６が示すように３次元のデータ構造体１１１１及び１１１２に記録される。品質指標測定値記録部１１０は作業者・品質指標種別毎にカウンタを有しており、合わせて１つのカウンタ用二次元配列を有している。品質指標測定値取得部１０から作業者を識別する数字、品質指標種別を識別する数字及び品質指標測定値を受け取ると、測定回カウント用二次元配列から対応する作業者・品質指標種別のカウンタを１つカウントアップしこれを測定回とし、作業者・品質指標種別・測定回の３次元のデータ構造体１１１２に品質指標測定値を記録する。本推定法を適用する以前に測定され記録されていたデータを
【数１２】
2011141674.tif 000014
と表し、適用以後に測定され記録されたデータを
【数１３】
2011141674.tif 000015
と表す。その後、品質指標測定値記録部１１０は品質指標の測定値の記録が終わったことを示す応答シグナルを品質指標測定値取得部１０へ送信し、測定回を出力する。
【００２０】
品質指標測定値取得部１０は品質指標測定値記録部１１０から応答シグナルを受信し測定回を受け取る。その後誤差変動パラメタ推定計算部２０に対して誤差変動パラメタ推定の計算を行うよう制御シグナルを送信し、作業者を識別する数字、品質指標種別を識別する数字、及び測定回を出力する。以上がステップＳ１０の処理内容の詳細である。
例えばＮａｍｅ＿ｉという作業者がＮａｍｅ＿ｊという品質指標値名の品質指標について測定し測定値を報告する際、品質指標値集計サーバ３にＷｅｂブラウザでアクセスし表示されるフォームの内、作業者名の入力領域にＮａｍｅ＿ｉを選択、品質指標名のプルダウンメニューからＮａｍｅ＿ｊを選択、品質指標測定値の入力領域に測定値ｘを入力して情報の送信ボタンを押す。インタフェース部５はこれら３つの情報を受け取り、品質指標測定値取得部１０に出力する。品質指標測定値取得部１０はインタフェース部５からそれら３つの情報を受け取り、作業者名Ｎａｍｅ＿ｉと品質指標名Ｎａｍｅ＿ｊに対してハッシュ値を計算してハッシュリストから対応する作業者の数字ｉと品質指標種別の数字ｊを取得する。これら作業者ｉ、品質指標種別ｊ、測定値ｘを品質指標測定値記録部１１０に出力する。品質指標測定値記録部はこれら３つの情報を受け取り、作業者ｉと品質指標種別ｊを測定回カウント用二次元配列に入力して作業者ｉが品質指標種別ｊについて測定した測定回数ｎ−１を得る。これを１つカウントアップしｎとして、測定回カウント用二次元配列に記録し、作業者ｉ・品質指標種別ｊ・測定回ｎを３次元データ構造体１１１２に品質指標測定値ｘを記録する。
【００２１】
次に図３のステップＳ２０にある、誤差変動のパラメタである平均μの推定値μ＾及び分散σ２の推定値σ２＾の計算の詳細を示す。推定値の計算は図７に示される誤差変動パラメタ推定計算部２０、品質指標測定値記録部１１０、誤差変動パラメタ推定値記録部２１０、及び事後分布パラメタ記録部２２０の連携により行われる。
本実施の形態を初めて適用して真値の推定を行う場合、適用以前に測定し記録された品質指標値ＲＤから推定値μ＾及びσ２＾の計算を図８のステップＳ２１で行う。図６にステップＳ２１の詳細フローを示す。本実施の形態を適用以前の測定値についてはどこまでが真値でどこまでが誤差変動であるか、全く情報がない状態である。何らかの妥当な推定が必要だが、そこで統計学の無差別原理に基づき測定値に占める誤差変動の割合は全て同様に確からしいものとし、その割合として（０，１）の一様分布に従う乱数を用いる。
誤差変動パラメタ推定計算部２０は、品質指標測定値取得部１０から制御シグナルを受信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、及び測定回ｎを受け取る。その後、品質指標測定値記録部１１０に対して品質指標測定値を送信するよう制御シグナルを送信し作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、及び測定回ｎを出力し応答シグナルを待つ。
品質指標測定値記録部１１０は、誤差変動パラメタ推定計算部２０からの制御シグナルを受信し作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、及び測定回ｎを受け取る。その後本実施の形態による推定法を適用以前の作業者ｉ・品質指標種別ｊの測定値全体の集合であるＲＤｉ，ｊをデータ構造体１１０１から取得し測定値集合ＲＤｉ，ｊを誤差変動パラメタ推定計算部２０に出力して応答シグナルを送信する。
誤差変動パラメタ推定計算部２０は品質指標測定値記録部１１０から応答シグナルを受信し測定値集合ＲＤｉ，ｊを受け取る。この処理が図１０のステップＳ２１１に当たる。次いで（０，１）の一様分布に従う乱数を測定値集合ＲＤｉ，ｊの個数分、すなわち｜ＲＤｉ，ｊ｜個生成する。これを
【数１４】
2011141674.tif 000016
とあらわし、一様乱数集合ＲｎＤｉ，ｊと呼ぶ。この処理が図１０のステップＳ２１２に当たる。測定値集合ＲＤｉ，ｊのそれぞれの測定値に対して一様乱数集合ＲｎＤ  ｉ，ｊの要素を掛け合わせて得られたものを、誤差変動とみなし、これらの標本平均を作業者ｉ・品質指標種別ｊにおける誤差変動の平均μｉ，ｊ（１）の推定値μｉ，ｊ＾（１）とする。計算式は
【数１５】
2011141674.tif 000017
となる。この計算処理がステップＳ２１３に当たる。誤差変動の分散の推定値についても同様で、これらの標本分散を作業者ｉ・品質指標種別ｊにおける誤差変動の分散σ２ｉ，ｊ（１）の推定値σ２ｉ，ｊ＾（１）とする。計算式は
【数１６】
2011141674.tif 000018
となる。この計算処理が図１０のステップＳ２１４に当たる。誤差変動パラメタ推定計算部２０は誤差変動パラメタ推定値記録部２１０へ誤差変動パラメタを記録するよう制御シグナルを送信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、誤差変動の平均の推定値μｉ，ｊ＾（１）、誤差変動の分散の推定値σ２ｉ，ｊ＾（１）、測定回ｎ（この場合は１）の４つの情報を出力し、応答シグナルを待つ。
【００２２】
誤差変動パラメタ推定値記録部２１０は誤差変動パラメタ推定計算部２０から制御シグナルを受信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、誤差変動の平均の推定値μｉ，ｊ＾（１）、誤差変動の分散の推定値σ２ｉ，ｊ＾（１）を受け取る。その後、図９に示される３次元のデータ構造体２１１１に記録する。誤差変動パラメタ推定値記録部２１０は作業者・品質指標種別毎にカウンタを有しており、合わせて１つのカウンタ用二次元配列を有している。測定回カウント用二次元配列から対応する作業者・品質指標種別のカウンタを１つカウントアップしこれを測定回とし、対応する作業者・品質指標種別・測定回の３次元のデータ構造体２１１１に誤差変動の平均の推定値μｉ，ｊ＾（ｎ）と誤差変動の分散の推定値σ２ｉ，ｊ＾（ｎ）を記録する。この処理が図８のステップＳ２３にあたる。なお、本実施の形態を初めて適用して真値の推定を行う場合、つまり前述のステップＳ２１の後にステップＳ２３を実行する場合はｎ＝１すなわちμｉ，ｊ＾（１）、σ２ｉ，ｊ＾（１）を記録することになる。その後、誤差変動パラメタ推定計算部２０に対して応答シグナルを送信する。
誤差変動パラメタ推定計算部２０は推定値記録部２１０から応答シグナルを受信し、事後分布パラメタ計算部３０へ真値の事後分布のパラメタ計算を行うよう制御シグナルを送信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、測定回ｎ（この場合は１）を出力する。以上が本実施の形態を初めて適用して真値の推定を行う場合のステップＳ２０の詳細内容である。
本実施の形態を適用して真値の推定を１回でも行った後は、既に各測定回毎に推定されている真値の分布のパラメタである平均が得られている。これと本実施の形態による真値の推定を適用する以前以後に関わらず、測定され記録されてきた作業者・品質指標種別毎の全ての測定値を用いて、誤差変動のパラメタである平均と分散の推定値を計算する。この場合図８のステップＳ２２を実行する。
測定回がｎ回目として、ステップＳ２２において誤差変動パラメタである作業者ｉ・品質指標種別ｊの誤差変動の平均μｉ，ｊ（ｎ）と分散σ２ｉ，ｊ（ｎ）の推定値μｉ，ｊ＾（ｎ）とσ２ｉ，ｊ＾（ｎ）を次のようにして求める。まず、作業者ｉ・品質指標種別ｊの誤差変動の平均μｉ，ｊ（ｎ）の推定値μｉ，ｊ＾（ｎ）は前回（ｎ−１）までの測定値の誤差変動の標本平均とする。前回までの測定及び推定で得られた真値の推定値集合
【数１７】
2011141674.tif 000019
で表すとすると、
【数１８】
2011141674.tif 000020
で求められる。数１８において、ｘｉ，ｊ（ｋ）−θｉ，ｊ（ｋ）が、作業者ｉ・品質指標種別ｊがｋ回目に測定した品質指標値の誤差変動を表わしている。
次に、作業者ｉ・品質指標種別ｊの誤差変動の分散σ２ｉ，ｊ（ｎ）の推定値σ２ｉ，ｊ＾（ｎ）は前回（ｎ−１）までの測定値の誤差変動の偏差２乗和と、本実施の形態による推定法適用以前の作業者ｉ・品質指標種別ｊの測定値集合ＲＤｉ，ｊの偏差２乗和に関する標本分散とする。これは
【数１９】
2011141674.tif 000021
で求められる。数１９においてｙｉ，ｊ（ｋ）×ｒｉ，ｊ（ｋ）−μｉ，ｊ＾（１）が本実施の形態による推定法適用以前に作業者ｉ・品質指標種別ｊがｋ回目に測定した品質指標値の誤差変動の偏差を示しており、ｘｉ，ｊ（ｌ）−θｉ，ｊ（ｌ）−μｉ，ｊ＾（ｎ）が本実施の形態による推定法適用以後作業者ｉ・品質指標種別ｊがｌ回目に測定した品質指標値の誤差変動の偏差を示している。
【００２３】
まず誤差変動パラメタ推定計算部２０は、品質指標測定値取得部１０から制御シグナルを受信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、及び測定回ｎを受け取る。その後、品質指標測定値記録部１１０に対して本実施の形態による推定法を適用後の品質指標測定値と適用以前の品質指標測定値の個数との２つの情報を送るよう制御シグナルを送信し作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、及び測定回ｎを出力する。また、誤差変動パラメタ推定値記録部２１０に対して初めて本実施の形態による推定法を適用した際に計算した誤差変動の分散の推定値を送信するよう制御シグナルを送信し、作業者を識別する数字ｉ及び品質指標種別を識別する数字ｊを出力する。また、事後分布パラメタ記録部２２０に対してこれまで計算された真値の事後分布の平均の集合を送るよう制御シグナルを送信し作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、及び測定回ｎを出力し、それぞれからの応答シグナルを待つ。
品質指標測定値記録部１１０は、誤差変動パラメタ推定計算部２０からの制御シグナルを受信し作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、及び測定回ｎを受け取る。その後、本実施の形態による推定法適用以前の作業者ｉ・品質指標種別ｊの測定値集合の個数｜ＲＤｉ，ｊ｜をデータ構造体１１１１から取得し、本実施の形態による推定法適用後の作業者ｉ・品質指標種別ｊの測定値集合Ｄｉ，ｊをデータ構造体１１１２から取得し、誤差変動パラメタ推定計算部２０へ応答シグナルを送信し、測定値の個数｜ＲＤｉ，ｊ｜と測定値集合Ｄｉ，ｊを出力する。
【００２４】
誤差変動パラメタ推定値記録部２１０は、誤差変動パラメタ推定計算部２０からの制御シグナルを受信し作業者を識別する数字ｉと品質指標種別を識別する数字ｊを受け取る。データ構造体２１１１から本実施の形態による推定法を適用した際に計算した誤差変動の分散の推定値であるσ２ｉ，ｊ＾（１）を取得し、誤差変動パラメタ推定計算部２０を応答シグナルを送信し、誤差変動の分散の推定値σ２ｉ，ｊ＾（１）を出力する。
事後分布パラメタ記録部２２０は作業者・品質指標種別毎にカウンタを有しており、合わせて１つのカウンタ用二次元配列を有している。図９示される、作業者・品質指標種別・測定回の３次元のデータ構造体２２１１に真値の平均θｉ，ｊ（ｎ）と分散τ２ｉ，ｊ（ｎ）を記録する。誤差変動パラメタ推定計算部２０からの制御シグナルを受信し作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、及び測定回ｎを受け取ったのち、この３次元のデータ構造体２２１１から前回（ｎ−１）までに得られた作業者ｉ・品質指標種別ｊにおける真値の推定値集合ＥＤｉ，ｊを取得し、誤差変動パラメタ推定計算部２０へ応答シグナルを送信し、真値の推定値集合ＥＤｉ，ｊを出力する。
誤差変動パラメタ推定計算部２０は品質指標測定値記録部１１０から応答シグナルを受信し測定値の個数｜ＲＤｉ，ｊ｜と測定値集合Ｄｉ，ｊを受け取る。これが図１０のステップＳ２２１に当たる。また、誤差変動パラメタ推定値記録部２１０から応答シグナルを受信し誤差変動の分散の推定値σ２ｉ，ｊ＾（１）を受け取る。これが図１０のステップＳ２２２に当たる。さらに、事後分布パラメタ記録部２２０から応答シグナルを受信し真値の推定値集合ＥＤｉ，ｊを受け取る。これが図１０のステップＳ２２３に当たる。これらの情報から数１８に従い作業者ｉ・品質指標種別ｊの誤差変動の平均μｉ，ｊ（ｎ）の推定値μｉ，ｊ＾（ｎ）を計算する。これが図１１のステップＳ２２４に当たる。続いて数１９に従い作業者ｉ・品質指標種別ｊの誤差変動の分散σ２ｉ，ｊ（ｎ）の推定値σ２ｉ，ｊ＾（ｎ）を計算する。これが図１１のステップＳ２２５に当たる。最後に誤差変動パラメタ推定値記録部２１０に対して誤差変動のパラメタを記録するよう制御シグナルを送信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、測定回ｎ、作業者ｉ・品質指標種別ｊの誤差変動の平均の推定値μｉ，ｊ＾（ｎ）と分散の推定値σ２ｉ，ｊ＾（ｎ）を出力し、応答シグナルを待つ。
【００２５】
誤差変動パラメタ推定値記録部２１０は誤差変動パラメタ推定計算部２０から制御信号を受信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、測定回ｎ、作業者ｉ・品質指標種別ｊの誤差変動の平均の推定値μｉ，ｊ＾（ｎ）と分散の推定値σ２ｉ，ｊ＾（ｎ）を受け取り、前述のステップＳ２３に従いμｉ，ｊ＾（ｎ）とσ２ｉ，ｊ＾（ｎ）をデータ構造体２１１１に記録し、その後に誤差変動パラメタ推定計算部２０へ応答シグナルを送信する。
誤差変動パラメタ推定計算部２０は誤差変動パラメタ推定値記録部２１０からの応答シグナルを受信した後、事後分布パラメタ計算部３０に対して真値の事後分布のパラメタである平均と分散を計算するよう制御シグナルを送信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、測定回ｎを出力する。以上がステップＳ２０の処理内容の詳細である。
次に図３のステップＳ３０にある、真値の分布の平均θ及び分散τ２の計算を行う事後分布パラメタ計算処理の詳細を示す。パラメタの計算は図１２に示される事後分布パラメタ計算部３０、品質指標測定値記録部１１０、誤差変動パラメタ推定値記録部２１０、及び事後分布パラメタ記録部２２０の連携により行われる。
本実施の形態を初めて適用して真値の推定を行う場合、適用以前に測定し記録された品質指標値及び統計的無差別原理から真値の事前分布のハイパーパラメタである平均θ（０）及び分散τ２（０）の計算を図１３のステップＳ３１で行う。
事後分布パラメタ計算部３０は、誤差変動パラメタ推定計算部２０からの制御シグナルを受信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、測定回ｎを受け取る。
測定回ｎが１、つまり本実施の形態による初めての推定の場合は、真値の事前分布のハイパーパラメタである平均θ（０）及び分散τ２（０）を求めるため、品質指標測定値記録部１１０に対して本実施の形態による推定法を適用する以前に記録されていた品質指標測定値を送るよう制御シグナルを送信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊを出力し、また誤差変動パラメタ推定値記録部２１０に対して本実施の形態を適用後初めて計算した誤差変動の平均の推定値と分散の推定値を送るように制御シグナルを送信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊを出力し、それぞれの応答シグナルを待つ。
【００２６】
品質指標測定値記録部１１０は、事後分布パラメタ計算部３０から制御シグナルを受信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊを受け取る。次に本実施の形態による推定法を適用以前の作業者ｉ・品質指標種別ｊの測定値全体の集合であるＲＤｉ，ｊをデータ１１０１から取得し、事後分布パラメタ計算部へ応答シグナルを送信し測定値集合ＲＤｉ，ｊを出力する。
誤差変動パラメタ推定値記録部２１０は、事後分布パラメタ計算部３０から制御シグナルを受信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊを受け取る。次に本実施の形態を適用後初回の作業者ｉ・品質指標種別ｊの誤差変動の平均の推定値μｉ，ｊ＾（１）と分散の推定値σ２ｉ，ｊ＾（１）をデータ構造体２１１１から取得し、事後分布パラメタ計算部３０へ応答シグナルを送信し、誤差変動の平均の推定値μｉ，ｊ＾（１）と分散の推定値σ２ｉ，ｊ＾（１）を出力する。
事後分布パラメタ計算部３０は品質指標測定値記録部１１０から応答シグナルを受信し、測定値集合ＲＤｉ，ｊを受け取る。この処理が図１４のステップＳ３１１に当たる。また、誤差変動パラメタ推定値記録部２１０から応答シグナルを受信し、誤差変動の平均の推定値μｉ，ｊ＾（１）と分散の推定値σ２ｉ，ｊ＾（１）を受け取る。この処理が図１４のステップＳ３１２に当たる。初回のベイズ推定における真値の事前分布のパラメタであるハイパーパラメタの内、平均θｉ，ｊ（０）は、本実施の形態を適用以前の真値の推定値の標本平均とする。これは数２０で計算される。
【数２０】
2011141674.tif 000022
ｙｉ，ｊ（ｋ）が本実施の形態を適用以前にｋ回目に測定された品質指標測定値であり、ここから誤差変動の平均の推定値μｉ，ｊ＾（１）を引いたものを本実施の形態を適用以前にｋ回目に測定された品質指標測定値の真値の推定値とみなしている。この処理が図１４のステップＳ３１３に当たる。初回のベイズ推定における真値の事前分布のパラメタであるハイパーパラメタの内、分散τ２（０）は、本実施の形態を適用以前のばらつきは誤差変動と同等とみなし、数２１で示すようにσ２ｉ，ｊ＾（１）をそのまま当てる。
【数２１】
2011141674.tif 000023
この処理が図１４のステップＳ３１４に当たる。最後に事後分布パラメタ記録部２２０に対してハイパーパラメタを記録するよう制御シグナルを送信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、ハイパーパラメタである真値の事前分布の平均θｉ，ｊ（０）及び分散τ２（０）を出力し、応答シグナルを待つ。
【００２７】
事後分布パラメタ記録部２２０は事後分布パラメタ計算部３０から制御シグナルを受信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、ハイパーパラメタである真値の事前分布の平均θｉ，ｊ（０）及び分散τ２（０）を受け取り、データ構造体２２１１に記録する。この処理が図１４のステップＳ３１５に当たる。
以後は初回の推定如何に関わらず、数１０に示したベイズの定理の結果得られた真値の事後分布の平均と分散を計算する。これは図１５のステップＳ３２で行う。
事後分布パラメタ計算部３０は品質指標測定値記録部１１０に対し、品質指標の測定値を送るよう制御シグナルを送信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、測定回ｎを出力し、また誤差変動パラメタ推定値記録部２１０に対して誤差変動の平均と分散の推定値を送るよう制御シグナルを送信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、測定回ｎを出力、また事後分布パラメタ記録部２２０に対して前回の推定で得られた真値の事後分布のパラメタである平均と分散を送るよう制御シグナルを送信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、測定回ｎを出力してそれぞれの応答シグナルを待つ。
品質指標測定値記録部１１０は、事後分布パラメタ計算部３０から制御シグナルを受信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、測定回ｎを受け取り、作業者ｉ・品質指標種別ｊのｎ回目の測定値をデータ構造体１１１２から取得し、事後分布パラメタ計算部３０に対して応答シグナルを送信し、作業者ｉ・品質指標種別ｊのｎ回目の測定値ｘｉ，ｊ（ｎ）を出力する。
誤差変動パラメタ推定値記録部２１０は、事後分布パラメタ計算部３０から制御シグナルを受信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、測定回ｎを受け取り、作業者ｉ・品質指標種別ｊのｎ回目の測定値における誤差変動の平均の推定値μｉ，ｊ＾（ｎ）と分散の推定値σ２ｉ，ｊ＾（ｎ）をデータ構造体２１１１から取得し、事後分布パラメタ計算部３０に対して応答シグナルを送信し、誤差変動の平均の推定値μｉ，ｊ＾（ｎ）と分散の推定値σ２ｉ，ｊ＾（ｎ）を出力する。
【００２８】
事後分布パラメタ記録部２２０は、事後分布パラメタ計算部３０から制御シグナルを受信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、測定回ｎを受け取り、前回の推定において計算した作業者ｉ・品質指標種別ｊのｎ−１回目の測定値における真値の事後分布の平均θｉ，ｊ（ｎ−１）と分散τ２（ｎ−１）をデータ構造体２２１１から取得する。初回の推定の場合は代わりにハイパーパラメタを取得する必要があるが、測定回の時系列のインデックスｎが一つずれているため、データ構造体２２１１からの取得は初回以後の推定における取得と同様に行い、事後分布パラメタ計算部３０に対して応答シグナルを送信し、真値の事後分布の平均θｉ，ｊ（ｎ−１）と分散τ２（ｎ−１）を出力する。
事後分布パラメタ計算部３０は品質指標測定値記録部１１０から応答シグナルを受信し、作業者ｉ・品質指標種別ｊのｎ回目の測定値ｘｉ，ｊ（ｎ）を受け取る。この処理が図１５のステップＳ３２１に当たる。また、誤差変動パラメタ推定値記録部２１０から応答シグナルを受信し、誤差変動の平均の推定値μｉ，ｊ＾（ｎ）と分散の推定値σ２ｉ，ｊ＾（ｎ）を受け取る。この処理が図１５のステップＳ３２２に当たる。さらに、事後分布パラメタ記録部２２０から応答シグナルを受信し、真値の事後分布の平均θｉ，ｊ（ｎ−１）と分散τ２（ｎ−１）を受け取る。この処理が図１５のステップＳ３２３に当たる。次に真値の事後分布の平均θｉ，ｊ（ｎ）を数２２に従い計算する。
【数２２】
2011141674.tif 000024
ここで、ｎ、ｎ−１：測定回、θｉ，ｊ（ｎ）：真値の事後分布の平均、ｘｉ，ｊ（ｎ）：品質指標測定値、μｉ，ｊ＾（ｎ）：誤差変動の平均の推定値、σ２ｉ，ｊ＾（ｎ）：誤差変動の分散の推定値、τ２（ｎ）：真値の事後分布の分散、ｉ：作業者の識別子、ｊ：品質指標の識別子である。
これは数１０においてベイズ分析の結果得られた真値の事後分布の平均に当たる。この処理が図１５のステップＳ３２４に当たる。次いで真値の事後分布の分散τ２（ｎ）を数２３に従い計算する。
【数２３】
2011141674.tif 000025
ここで、ｎ、ｎ−１：測定回、τ２（ｎ）：真値の事後分布の分散、σ２ｉ，ｊ＾（ｎ）：誤差変動の分散の推定値、ｉ：測定者の識別子、ｊ：品質指標の識別子である。
これも平均同様数１０においてベイズ分析の結果得られた真値の事後分布の分散に当たる。この処理が図１５のステップＳ３２５に当たる。最後に事後分布パラメタ記録部２２０に対して真値の事後分布のパラメタである平均と分散を記録するよう制御シグナルを送信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、測定回ｎ、真値の事後分布の平均θｉ，ｊ（ｎ）、真値の事後分布の分散τ２（ｎ）を出力し、応答シグナルを待つ。
事後分布パラメタ記録部２２０は事後分布パラメタ計算部３０から制御シグナルを受信し、作業者を識別する数字ｉ、品質指標種別を識別する数字ｊ、測定回ｎ、真値の事後分布の平均θｉ，ｊ（ｎ）、真値の事後分布の分散τ２（ｎ）を受け取り、データ構造体２２１１に記録し、事後分布パラメタ計算部３０へ応答シグナルを送信する。この処理が図１３のステップＳ３３に当たる。
【００２９】
事後分布パラメタ計算部３０は事後分布パラメタ記録部２２０から応答シグナルを受信し処理を終了する。以上が図３のステップＳ３０にある、真値の分布の平均θ及び分散τ２の計算を行う事後分布パラメタ計算処理の詳細となる。
最後に図３のステップＳ４０にある、統計的決定理論に基づく品質指標値の推定値の決定の詳細を示す。推定値の決定は、品質管理者端末２、インタフェース部５、統計的決定部４０、事後分布パラメタ記録部２２０、推定値記録部１２０の連携により行われる。
図１６に示されるインタフェース部５は品質管理者端末２に対して、適宜のタイミングで統計的決定理論に基づき決定された品質指標の真値を表示するための画面を提供する。図１７に示すようにこの画面は推定値を取得するために必要な情報を入力する領域と、真値の決定値に関する情報を表示する領域に分かれている。推定値を取得するために必要な情報を入力する領域は、例えば、作業者名の入力領域、品質指標名をプルダウン形式で選択するリスト、測定回を入力する入力領域、損失関数をプルダウン形式で選択するリスト、損失関数のパラメタを入力する領域、分散の閾値を入力する領域、及び情報の送信ボタンを含む。非特許文献４にあるとおり、統計的決定とは未知の値について、その値とその値の推定値との乖離を損失とみなし、その乖離の定量的指標を損失関数で表し、未知の値の事後分布に関して損失関数を用いて乖離の期待値を導出し、それが最小になるように推定値を決定するという決定方式である。つまり、未知の値とその推定値の間の乖離を損失関数で測り、事後分布による平均で見てそれが最小になるように推定値を決定するものである。損失関数としては、例えば、一般的な２乗誤差損失、絶対誤差損失、０−１型損失、それに非対称絶対損失という４つの損失関数からプルダウン形式で損失関数を選択することができる。この内、非対称絶対損失のみパラメタを持つため、損失関数として非対称絶対損失を選択した場合には損失関数のパラメタを入力する領域をアクティブにし、入力が可能な状態にする。損失関数のパラメタは２つあり、１つは未知の値に比べて推定値が小さい場合にかかる係数で、過小評価に対するペナルティーとして未知の値との間の乖離に乗じて損失とするものであり、もう一つは未知の値に比べて推定値が大きい場合にかかる係数で、過大評価に対するペナルティーとして未知の値との間の乖離に乗じて損失とするものである。分散の閾値は、例えば、品質管理担当者が推定値の信頼性を確認するために指定するもので、真値の事後分布の分散がこの閾値以上であれば、推定値のバラつきが大きく信頼に欠けるとみなし、その旨が品質管理担当者にわかるようにするものである。
【００３０】
推定値に関する情報を表示する領域は、統計的決定理論に基づき決定された品質指標の真値を表示する領域と、真値の事後分布の平均を表示する領域と、真値の事後分布の分散を表示する領域と、真値の事後分布の分散が指定された分散の閾値を超えているかどうかを表わす領域を含む。真値の事後分布の分散が分散の閾値内に収まっている場合は例えば緑のランプのアイコンが点灯し、分散の閾値を超えている場合は例えば赤のランプのアイコンが点灯する。品質管理者は、品質管理者端末２にて品質指標値集計サーバ３にＷｅｂブラウザでアクセスし、インタフェース部５が提供する画面から作業者名、品質指標名を選択し、測定回を入力し、損失関数を選択し、損失関数として非対称絶対損失を選んだ場合は損失関数のパラメタを入力し、分散の閾値を入力し、情報の送信ボタンを押下する。インタフェーズ部５は品質管理者端末２からの情報を受け取り、統計的決定部４０に出力する。例えば作業者名をＮａｍｅ＿ｉ、品質指標名Ｎａｍｅ＿ｊ、測定回をｎ、選択した損失関数をｆ、損失関数のパラメタの内、未知の値に比べて推定値が小さい場合にかかる係数をｋ０、未知の値に比べて推定値が大きい場合にかかる係数をｋ１、分散の閾値をγとする。
【００３１】
統計的決定部４０は、インタフェース部５から作業名Ｎａｍｅ＿ｉ、品質指標名Ｎａｍｅ＿ｊ、測定回ｎ、損失関数の種別ｆ、損失関数として非対称絶対損失を選んだ場合は損失関数のパラメタｋ０及びｊ１、それに分散の閾値γを受け取る。その後、作業者名及び品質指標名からハッシュ値を計算して作業者名及び品質指標名を数字に変換するためのハッシュリストから対応する作業者の数字と品質指標種別の数字を取得する。ここで作業名Ｎａｍｅ＿ｉに対する数字をｉ、品質指標名Ｎａｍｅ＿ｊに対する数字をｊとすると、作業者の数字ｉ、品質指標種別の数字ｊ、測定回ｎを事後分布パラメタ記録部２２０へ出力する。
事後分布パラメタ記録部２２０は統計的決定部４０から作業者の数字ｉ、品質指標種別の数字ｊ、測定回ｎを受け取り、データ構造体２２１１から真値の事後分布の平均θｉ，ｊ（ｎ）と分散をτｉ，ｊ２（ｎ）を取得し、統計的決定部４０へ出力する。
統計的決定部４０は、事後分布パラメタ記録部２２０から真値の事後分布の平均θｉ，ｊ（ｎ）と分散をτｉ，ｊ２（ｎ）を受け取る。これが図１８のステップＳ４１に当たる。次に、インタフェース部５から受け取った損失関数ｆを用いて統計的決定理論に基づき真値の推定値を決定する。損失関数ｆが２乗誤差損失、絶対誤差損失、０−１型損失で場合、真値の推定値は真値の事後分布の平均θｉ，ｊ（ｎ）となる。本来、損失関数ｆが２乗誤差損失は真値の事後分布の平均、絶対誤差損失の場合は真値の事後分布の中位値（メディアン）、０−１型損失の場合は真値の事後分布の最頻値（モード）だが、真値の事後分布が正規分布となること、正規分布の平均、中位値、最頻値は同じ為、実質損失関数としてこれら３つを選んだ場合、どの場合でも真値の事後分布の平均θｉ，ｊ（ｎ）が真値の推定値ｘｉ，ｊ（ｎ）として決定される。これが図１８のステップＳ４２に当たる。損失関数ｆが非対称絶対損失の場合、真値の推定値の（ｋ１／（ｋ１＋ｋ０））×１００パーセンタイル点が真値の推定値ｘｉ，ｊ（ｎ）として決定される。品質管理者が自身の専門分野の知識と経験から、ある品質指標について推定値に関して過大に見積もることを避ける場合はｋ０よりｋ１を大きく設定することで、真値の推定値は平均より小さく決定される。逆に過小に見積もることを避ける場合にはｋ０よりｋ１を小さく設定することで、真値の推定値は平均より大きく決定される。このように、真値の推定値の決定に関して品質管理者の知識及び経験を反映できる。これが図１８のステップＳ４３に当たる。
【００３２】
次に決定された真値の推定値ｘｉ，ｊ（ｎ）、作業者の数字ｉ、品質指標種別の数字ｊ、測定回ｎを推定値記録部１２０に出力する。これが図１８のステップＳ４４に当たる。最後に、インタフェース部５から受け取っていた分散の閾値γと真値の事後分布の分散τｉ，ｊ２（ｎ）を比較し、前者の方が大きければ、品質管理者が指定した真値の推定値に対する信頼性があるものとし、その情報をインタフェース部５に通知する。これが図１８のステップＳ４５に当たる。そうでなければ、信頼性は現段階の推定ではまだ確保できていないものとし、その情報ををインタフェース部５に通知する。これが図１８のステップＳ４６に当たる。これに加えて真値の事後分布の平均θｉ，ｊ（ｎ）と分散τｉ，ｊ２（ｎ）と、ステップＳ４２またはＳ４３で決定された真値の推定値ｘｉ，ｊ（ｎ）とをインタフェース部５に出力する。
インタフェース部５は統計的決定部４０から真値の事後分布の平均θｉ，ｊ（ｎ）と分散τｉ，ｊ２（ｎ）、ステップＳ４２またはＳ４３で決定された真値の推定値ｘｉ，ｊ（ｎ）、品質管理者が指定した真値の推定値に対する信頼性が確保されているかどうかの情報を受け取り、推定値に関する情報を表示する領域に表示する。品質管理者が指定した真値の推定値に対する信頼性が確保されていなかった場合、赤のランプのアイコンを点灯させ、品質管理者に注意を促す。そうでなければ緑のランプのアイコンを点灯させ、品質管理者が指定した真値の推定値に対する信頼性が確保されていることを示す。
本発明の推定方法は、その各手順をコンピュータに実行させるための推定プログラム、推定プログラムを記録したコンピュータ読み取り可能な記録媒体、そのプログラムを含みコンピュータの内部メモリーにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
【産業上の利用可能性】
【００３３】
本発明は、例えば、ソフトウェア開発のプロジェクトマネジメントで用いられるソフトウェアの品質指標値を推定するシステム等に利用可能である。
【符号の説明】
【００３４】
１  作業者端末
２  品質管理者端末
３  品質指標値集計サーバ
４  ネットワーク
５  インタフェース部
６  処理部（ＣＰＵ）
７  記憶部（二次記憶）
８  データバス
１０  品質指標測定値取得部
２０  誤差変動パラメタ推定計算部
３０  事後分布パラメタ計算部
４０  統計的決定部
１１０  品質指標測定値記録部
１２０  推定値記録部
２１０  誤差変動パラメタ推定値記録部
２２０  事後分布パラメタ記録部
【図１】
2011141674.tif 000028
【図２】
2011141674.tif 000029
【図３】
2011141674.tif 000030
【図４】
2011141674.tif 000031
【図５】
2011141674.tif 000032
【図６】
2011141674.tif 000033
【図７】
2011141674.tif 000034
【図８】
2011141674.tif 000035
【図９】
2011141674.tif 000036
【図１０】
2011141674.tif 000037
【図１１】
2011141674.tif 000038
【図１２】
2011141674.tif 000039
【図１３】
2011141674.tif 000040
【図１４】
2011141674.tif 000041
【図１５】
2011141674.tif 000042
【図１６】
2011141674.tif 000043
【図１７】
2011141674.tif 000044
【図１８】
2011141674.tif 000045