(57)【特許請求の範囲】
【請求項１】
各過去開発ソフトウェアのバグ密度の指標値および管理限界の上下限値をそれぞれ算出する第１の算出手段と、
前記算出されたそれぞれの指標値および管理限界の上下限値を、ソフトウェアの開発規模に応じたバグ密度を管理するためのＵ管理図データに描画して記憶する記憶手段と、
前記過去開発ソフトウェアの開発内容と新規開発ソフトウェアの開発内容の差から前記新規開発ソフトウェア用の開発規模を算出する第２の算出手段と、
前記記憶手段からＵ管理図データを読み出して、前記新規開発ソフトウェア用の開発規模に対応する指標値および管理限界の上下限値を算出する第３の算出手段と、
を有することを特徴とするソフトウェア品質基準計算装置。
【請求項２】
前記第２の算出手段は、
前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の比を前記過去開発ソフトウェアの開発規模に積算することにより、前記新規開発ソフトウェア用の開発規模を算出することを特徴とする請求項１に記載のソフトウェア品質基準計算装置。
【請求項３】
コンピュータにより、
各過去開発ソフトウェアのバグ密度の指標値および管理限界の上下限値をそれぞれ算出する第１の算出ステップと、
前記算出されたそれぞれの指標値および管理限界の上下限値を、ソフトウェアの開発規模に応じたバグ密度を管理するためのＵ管理図データに描画して記憶手段に記憶する記憶ステップと、
前記過去開発ソフトウェアの開発内容と新規開発ソフトウェアの開発内容の差から前記新規開発ソフトウェア用の開発規模を算出する第２の算出ステップと、
前記記憶手段からＵ管理図データを読み出して、前記新規開発ソフトウェア用の開発規模に対応する指標値および管理限界の上下限値を算出する第３の算出ステップと、
を有することを特徴とするソフトウェア品質基準計算方法。
【請求項４】
前記第２の算出ステップにおいて、
前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の比を前記過去開発ソフトウェアの開発規模に積算することにより、前記新規開発ソフトウェア用の開発規模を算出することを特徴とする請求項３に記載のソフトウェア品質基準計算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの品質基準を計算する技術に関する。
【背景技術】
【０００２】
開発したソフトウェアの品質を分析する場合、開発規模やステップ数に対して発生したバグの密度が用いられる。そして、バグ密度の指標値を設定し、その指標値の上方と下方に管理限界をそれぞれ設け、その範囲内か範囲外かにより品質の良し悪しが判断される。
【０００３】
このような指標値および管理限界は、過去の実績や担当者の経験により感覚的に設定されることが多い。例えば、特許文献１では過去開発の実績から設定する方法を開示し、特許文献２では設計書の難易度から設定する方法を開示している。また、図４に示すようなＵ管理図を用いた管理方法も考えられる。Ｕ管理図とは、一般的にはサンプルサイズが変動する場合に単位時間当りの発生数を評価する計数値管理図である。ソフトウェア管理の場合、バグ密度の平均値や指標値に対して管理限界から外れる確率が約０．３％（＝係数ｋ）であるという考え方で作成される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２２５２２７号公報
【特許文献２】特開２０１２−１７３８２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、新たな開発内容は過去の開発内容と異なるため、過去開発の実績のみに基づいて新規開発用の指標値および管理限界を設定することは適切ではない。また、設計書の難易度を考慮する場合、開発規模が小さい際には難易度が概ね低くなり、それにより指標値が低く設定されるが、管理限界を考慮していないため、１件のバグによるバグ密度の変動幅が大きくなってしまう。更に、Ｕ管理図を用いる場合、開発規模のみが考慮されているため、単純な開発内容が複数ある場合にはバグを検出することが難しい。
【０００６】
本発明は、上記事情を鑑みてなされたものであり、ソフトウェア管理におけるバグ密度の指標値および管理限界を適正化することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、請求項１に記載のソフトウェア品質基準計算装置は、各過去開発ソフトウェアのバグ密度の指標値および管理限界の上下限値をそれぞれ算出する第１の算出手段と、前記算出されたそれぞれの指標値および管理限界の上下限値を、ソフトウェアの開発規模に応じたバグ密度を管理するためのＵ管理図データに描画して記憶する記憶手段と、前記過去開発ソフトウェアの開発内容と新規開発ソフトウェアの開発内容の差から前記新規開発ソフトウェア用の開発規模を算出する第２の算出手段と、前記記憶手段からＵ管理図データを読み出して、前記新規開発ソフトウェア用の開発規模に対応する指標値および管理限界の上下限値を算出する第３の算出手段と、を有することを要旨とする。
【０００８】
請求項２に記載のソフトウェア品質基準計算装置は、請求項１に記載のソフトウェア品質基準計算装置において、前記第２の算出手段は、前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の比を前記過去開発ソフトウェアの開発規模に積算することにより、前記新規開発ソフトウェア用の開発規模を算出することを要旨とする。
【０００９】
請求項３に記載のソフトウェア品質基準計算方法は、コンピュータにより、各過去開発ソフトウェアのバグ密度の指標値および管理限界の上下限値をそれぞれ算出する第１の算出ステップと、前記算出されたそれぞれの指標値および管理限界の上下限値を、ソフトウェアの開発規模に応じたバグ密度を管理するためのＵ管理図データに描画して記憶手段に記憶する記憶ステップと、前記過去開発ソフトウェアの開発内容と新規開発ソフトウェアの開発内容の差から前記新規開発ソフトウェア用の開発規模を算出する第２の算出ステップと、前記記憶手段からＵ管理図データを読み出して、前記新規開発ソフトウェア用の開発規模に対応する指標値および管理限界の上下限値を算出する第３の算出ステップと、を有することを要旨とする。
【００１０】
請求項４に記載のソフトウェア品質基準計算方法は、請求項３に記載のソフトウェア品質基準計算方法において、前記第２の算出ステップでは、前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の比を前記過去開発ソフトウェアの開発規模に積算することにより、前記新規開発ソフトウェア用の開発規模を算出することを要旨とする。
【発明の効果】
【００１１】
本発明によれば、ソフトウェア管理におけるバグ密度の指標値および管理限界を適正化することができる。
【図面の簡単な説明】
【００１２】
【図１】品質基準計算装置の機能ブロック構成を示す図である。
【図２】品質基準計算装置の処理フローを示す図である。
【図３】基礎Ｕ管理図の例を示す図である。
【図４】Ｕ管理図の例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施する一実施の形態について図面を用いて説明する。
【００１４】
図１は、ソフトウェア開発で用いる品質基準計算装置１の機能ブロック構成を示す図である。この品質基準計算装置１は、過去開発の実績，開発規模，開発難易度を総合的に考慮して新規開発ソフトウェア用の指標値および管理限界を計算する。なお、本実施例においてソフトウェアとは、コンピュータの動作に関するプログラムをいう。
【００１５】
本実施例において、品質基準計算装置１は、過去開発データ記憶部１１と、新規開発データ記憶部１２と、基礎Ｕ管理図生成部１３と、過去開発難易度算出部１４と、新規開発難易度算出部１５と、補正後開発規模算出部１６と、指標値・管理限界算出部１７と、を備えて構成される。
【００１６】
過去開発データ記憶部１１は、過去に開発された各ソフトウェアの分析実績データおよびプログラム関連データを記憶しておく機能部である。本実施例では、過去の開発時に発生したバグ数、過去の開発規模、過去に開発したソフトウェアの機能ブロック数、過去に開発したソフトウェアにおける他開発機能ブロック部とのインタフェース数を記憶する。
【００１７】
新規開発データ記憶部１２は、新規に開発されたソフトウェアのプログラム関連データを記憶しておく機能部である。本実施例では、新規の開発規模、新規に開発したソフトウェアの機能ブロック数、新規に開発したソフトウェアにおける他開発機能ブロック部とのインタフェース数を記憶する。
【００１８】
基礎Ｕ管理図生成部１３は、過去に開発された各ソフトウェアの開発規模およびバグ数を用いてバグ密度の指標値および管理限界の上下限値をそれぞれ算出し、Ｕ管理図に描画して基礎Ｕ管理図としてメモリに記憶する機能部である。なお、Ｕ管理図とは、ソフトウェアの開発規模に応じたバグ密度を管理するための管理図である。
【００１９】
過去開発難易度算出部１４は、過去に開発されたソフトウェアの開発規模と機能ブロック数とインタフェース数から、過去の開発難易度を算出する機能部である。
【００２０】
新規開発難易度算出部１５は、新規に開発されたソフトウェアの開発規模と機能ブロック数とインタフェース数から、新規開発ソフトウェアの開発難易度を算出する機能部である。
【００２１】
補正後開発規模算出部１６は、過去に開発されたソフトウェアの開発難易度と新規に開発されたソフトウェアの開発難易度の差から、新規開発ソフトウェア用の補正後の開発規模を算出する機能部である。ここで補正後と表現している理由は、新規開発ソフトウェア用の開発規模は新規開発データ記憶部１２に既存しており、当該既存の開発規模を補正前として位置付けているからである。
【００２２】
指標値・管理限界算出部１７は、上記メモリから基礎Ｕ管理図を読み出して、上記補正後の開発規模に対応する指標値および管理限界の上下限値を新規開発ソフトウェア用として算出する機能部である。
【００２３】
次に、本実施の形態に係る品質基準計算装置１の動作について説明する。図２は、品質基準計算装置１の処理フローを示す図である。
【００２４】
最初に、ステップＳ１において、品質基準計算装置１は、開発社，ＯＳ，プログラム種別，利用されたＡＰＩおよび関数等に基づき、複数の過去開発ソフトウェアの中から新規開発ソフトウェアに類似するものを選定する。
【００２５】
次に、ステップＳ２において、基礎Ｕ管理図生成部１３が、過去開発データ記憶部１１から、選定された各過去開発ソフトウェアｉの開発規模ｎｉとバグ数ｃｉを取得し、過去開発の実績に基づく基礎Ｕ管理図を生成する。具体的には、式（１）から基礎指標値ｕ（ｕの上に“−”）を算出し、式（２）から基礎管理限界ｕｌ（ｕの上に“−”）を算出する。そして、横軸を開発規模とし縦軸をバグ密度とするＵ管理図上にプロットすることにより、図４に示したような基礎Ｕ管理図を生成する。
【００２６】
【数１】
0006055428.tif 000002
【００２７】
【数２】
0006055428.tif 000003
ｋは、上限・下限の幅を決定するための係数であり、開発内容に応じて任意に設定する。また、過去の開発規模ｎとは、例えば設計桁数である。なお、Ｕ管理図，指標値，管理限界の定義等については、日本工業規格のJIS Z9020-1：2011(ISO 7870-1：2007)（http://kikakurui.com/z9/Z9020-1-2011-01.html）、同規格のJIS Z9021 : 1998（http://kikakurui.com/z9/Z9021-1998-01.html）に詳しい。
【００２８】
次に、ステップＳ３において、過去開発難易度算出部１４は、過去開発データ記憶部１１から、選定された各過去開発ソフトウェアｉにおける過去の開発規模ｎｉと機能ブロック数ＦＢｉと他開発機能ブロック部とのインタフェース数ＩＦｉとを取得し、以下の式（３）を用いて過去の開発難易度Ｄを算出する。
【００２９】
【数３】
0006055428.tif 000004
なお、過去開発ソフトウェアｉが複数の場合には、各過去開発難易度Ｄｉの平均値を過去開発難易度Ｄとする。
【００３０】
次に、ステップＳ４において、新規開発難易度算出部１５は、新規開発データ記憶部１２から、新規開発ソフトウェアの開発規模ｎ’と機能ブロック数ＦＢ’と他開発機能ブロック部とのインタフェース数ＩＦ’とを取得し、以下の式（４）を用いて新規開発ソフトウェアの開発難易度Ｄ’を算出する。
【００３１】
【数４】
0006055428.tif 000005
次に、ステップＳ５において、補正後開発規模算出部１６は、以下の式（５）を用いて新規開発ソフトウェア用の補正後の開発規模ｎ’’を算出する。具体的には、新規開発ソフトウェア用の開発難易度Ｄ’を過去の開発難易度Ｄで除した値を過去の開発規模ｎに積算した値を補正後の開発規模ｎ’’とする。
【００３２】
【数５】
0006055428.tif 000006
なお、式（５）で用いる過去の開発規模ｎは、基礎Ｕ管理図を生成する際に用いた複数の中から任意に選択したものでもよいし、複数の平均値を用いてもよい。
【００３３】
最後に、ステップＳ６において、指標値・管理限界算出部１７は、ステップＳ２の基礎Ｕ管理図を参照し、図３に示すように、補正後の開発規模ｎ’’に対応する基礎指標値および基礎管理限界の上下限値を新規開発ソフトウェア用の指標値および管理限界の上下限値として決定する。
【００３４】
なお、本実施例では、ソフトウェアの開発難易度を用いた場合を例に説明したが、結果的には補正後の開発規模が得られれば新規開発ソフトウェア用の指標値等が求まるため、開発難易度に代えて過去や新規の各ソフトウェア開発に係る共通事項（開発内容）を用いてもよい。
【００３５】
また、本発明では、過去開発ソフトウェアと新規開発ソフトウェアの相違から補正後の開発規模を求めているため、比を計算するのに代えて差分を計算してもよい。
【００３６】
以上より、本実施の形態によれば、各過去開発ソフトウェアのバグ密度の基礎指標値および基礎管理限界の上下限値をそれぞれ算出して基礎Ｕ管理図に描画し、過去開発ソフトウェアの開発難易度と新規開発ソフトウェアの開発難易度の比から補正後の開発規模を算出し、先の基礎Ｕ管理図から当該補正後の開発規模に対応する基礎指標値および基礎管理限界の上下限値を新規開発ソフトウェア用の指標値および管理限界の上下限値として算出するので、新規開発ソフトウェアの難易度に応じた指標値および管理限界を求めることができる。
【００３７】
最後に、本実施の形態で説明した品質基準計算装置１は、メモリやＣＰＵを備えたコンピュータにより実現できる。また、品質基準計算装置１の各動作をプログラムとして構築し、コンピュータにインストールして実行させることや、通信ネットワークを介して流通させることも可能である。
【符号の説明】
【００３８】
１…品質基準計算装置（ソフトウェア品質基準計算装置）
１１…過去開発データ記憶部
１２…新規開発データ記憶部
１３…基礎Ｕ管理図生成部（第１の算出手段，記憶手段）
１４…過去開発難易度算出部
１５…新規開発難易度算出部
１６…補正規模算出部（第２の算出手段）
１７…指標値・管理限界算出部（第３の算出手段）
Ｓ１〜Ｓ６…ステップ
【図１】
0006055428.tif 000007
【図２】
0006055428.tif 000008
【図３】
0006055428.tif 000009
【図４】
0006055428.tif 000010