特許第6055428号(P6055428)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧
特許6055428ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法
<>
  • 特許6055428-ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法 図000007
  • 特許6055428-ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法 図000008
  • 特許6055428-ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法 図000009
  • 特許6055428-ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6055428
(24)【登録日】2016年12月9日
(45)【発行日】2016年12月27日
(54)【発明の名称】ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法
(51)【国際特許分類】
   G06F 11/36 20060101AFI20161219BHJP
【FI】
   G06F9/06 620R
   G06F11/36 172
   G06F11/36 116
【請求項の数】4
【全頁数】8
(21)【出願番号】特願2014-19329(P2014-19329)
(22)【出願日】2014年2月4日
(65)【公開番号】特開2015-146156(P2015-146156A)
(43)【公開日】2015年8月13日
【審査請求日】2015年12月18日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100129230
【弁理士】
【氏名又は名称】工藤 理恵
(72)【発明者】
【氏名】小澤 孝
【審査官】 多胡 滋
(56)【参考文献】
【文献】 特開2005−275868(JP,A)
【文献】 特開2013−257821(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
各過去開発ソフトウェアのバグ密度の指標値および管理限界の上下限値をそれぞれ算出する第1の算出手段と、
前記算出されたそれぞれの指標値および管理限界の上下限値を、ソフトウェアの開発規模に応じたバグ密度を管理するためのU管理図データに描画して記憶する記憶手段と、
前記過去開発ソフトウェアの開発内容と新規開発ソフトウェアの開発内容の差から前記新規開発ソフトウェア用の開発規模を算出する第2の算出手段と、
前記記憶手段からU管理図データを読み出して、前記新規開発ソフトウェア用の開発規模に対応する指標値および管理限界の上下限値を算出する第3の算出手段と、
を有することを特徴とするソフトウェア品質基準計算装置。
【請求項2】
前記第2の算出手段は、
前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の比を前記過去開発ソフトウェアの開発規模に積算することにより、前記新規開発ソフトウェア用の開発規模を算出することを特徴とする請求項1に記載のソフトウェア品質基準計算装置。
【請求項3】
コンピュータにより、
各過去開発ソフトウェアのバグ密度の指標値および管理限界の上下限値をそれぞれ算出する第1の算出ステップと、
前記算出されたそれぞれの指標値および管理限界の上下限値を、ソフトウェアの開発規模に応じたバグ密度を管理するためのU管理図データに描画して記憶手段に記憶する記憶ステップと、
前記過去開発ソフトウェアの開発内容と新規開発ソフトウェアの開発内容の差から前記新規開発ソフトウェア用の開発規模を算出する第2の算出ステップと、
前記記憶手段からU管理図データを読み出して、前記新規開発ソフトウェア用の開発規模に対応する指標値および管理限界の上下限値を算出する第3の算出ステップと、
を有することを特徴とするソフトウェア品質基準計算方法。
【請求項4】
前記第2の算出ステップにおいて、
前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の比を前記過去開発ソフトウェアの開発規模に積算することにより、前記新規開発ソフトウェア用の開発規模を算出することを特徴とする請求項3に記載のソフトウェア品質基準計算方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェアの品質基準を計算する技術に関する。
【背景技術】
【0002】
開発したソフトウェアの品質を分析する場合、開発規模やステップ数に対して発生したバグの密度が用いられる。そして、バグ密度の指標値を設定し、その指標値の上方と下方に管理限界をそれぞれ設け、その範囲内か範囲外かにより品質の良し悪しが判断される。
【0003】
このような指標値および管理限界は、過去の実績や担当者の経験により感覚的に設定されることが多い。例えば、特許文献1では過去開発の実績から設定する方法を開示し、特許文献2では設計書の難易度から設定する方法を開示している。また、図4に示すようなU管理図を用いた管理方法も考えられる。U管理図とは、一般的にはサンプルサイズが変動する場合に単位時間当りの発生数を評価する計数値管理図である。ソフトウェア管理の場合、バグ密度の平均値や指標値に対して管理限界から外れる確率が約0.3%(=係数k)であるという考え方で作成される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2013−225227号公報
【特許文献2】特開2012−173829号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、新たな開発内容は過去の開発内容と異なるため、過去開発の実績のみに基づいて新規開発用の指標値および管理限界を設定することは適切ではない。また、設計書の難易度を考慮する場合、開発規模が小さい際には難易度が概ね低くなり、それにより指標値が低く設定されるが、管理限界を考慮していないため、1件のバグによるバグ密度の変動幅が大きくなってしまう。更に、U管理図を用いる場合、開発規模のみが考慮されているため、単純な開発内容が複数ある場合にはバグを検出することが難しい。
【0006】
本発明は、上記事情を鑑みてなされたものであり、ソフトウェア管理におけるバグ密度の指標値および管理限界を適正化することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、請求項1に記載のソフトウェア品質基準計算装置は、各過去開発ソフトウェアのバグ密度の指標値および管理限界の上下限値をそれぞれ算出する第1の算出手段と、前記算出されたそれぞれの指標値および管理限界の上下限値を、ソフトウェアの開発規模に応じたバグ密度を管理するためのU管理図データに描画して記憶する記憶手段と、前記過去開発ソフトウェアの開発内容と新規開発ソフトウェアの開発内容の差から前記新規開発ソフトウェア用の開発規模を算出する第2の算出手段と、前記記憶手段からU管理図データを読み出して、前記新規開発ソフトウェア用の開発規模に対応する指標値および管理限界の上下限値を算出する第3の算出手段と、を有することを要旨とする。
【0008】
請求項2に記載のソフトウェア品質基準計算装置は、請求項1に記載のソフトウェア品質基準計算装置において、前記第2の算出手段は、前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の比を前記過去開発ソフトウェアの開発規模に積算することにより、前記新規開発ソフトウェア用の開発規模を算出することを要旨とする。
【0009】
請求項3に記載のソフトウェア品質基準計算方法は、コンピュータにより、各過去開発ソフトウェアのバグ密度の指標値および管理限界の上下限値をそれぞれ算出する第1の算出ステップと、前記算出されたそれぞれの指標値および管理限界の上下限値を、ソフトウェアの開発規模に応じたバグ密度を管理するためのU管理図データに描画して記憶手段に記憶する記憶ステップと、前記過去開発ソフトウェアの開発内容と新規開発ソフトウェアの開発内容の差から前記新規開発ソフトウェア用の開発規模を算出する第2の算出ステップと、前記記憶手段からU管理図データを読み出して、前記新規開発ソフトウェア用の開発規模に対応する指標値および管理限界の上下限値を算出する第3の算出ステップと、を有することを要旨とする。
【0010】
請求項4に記載のソフトウェア品質基準計算方法は、請求項3に記載のソフトウェア品質基準計算方法において、前記第2の算出ステップでは、前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の比を前記過去開発ソフトウェアの開発規模に積算することにより、前記新規開発ソフトウェア用の開発規模を算出することを要旨とする。
【発明の効果】
【0011】
本発明によれば、ソフトウェア管理におけるバグ密度の指標値および管理限界を適正化することができる。
【図面の簡単な説明】
【0012】
図1】品質基準計算装置の機能ブロック構成を示す図である。
図2】品質基準計算装置の処理フローを示す図である。
図3】基礎U管理図の例を示す図である。
図4】U管理図の例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明を実施する一実施の形態について図面を用いて説明する。
【0014】
図1は、ソフトウェア開発で用いる品質基準計算装置1の機能ブロック構成を示す図である。この品質基準計算装置1は、過去開発の実績,開発規模,開発難易度を総合的に考慮して新規開発ソフトウェア用の指標値および管理限界を計算する。なお、本実施例においてソフトウェアとは、コンピュータの動作に関するプログラムをいう。
【0015】
本実施例において、品質基準計算装置1は、過去開発データ記憶部11と、新規開発データ記憶部12と、基礎U管理図生成部13と、過去開発難易度算出部14と、新規開発難易度算出部15と、補正後開発規模算出部16と、指標値・管理限界算出部17と、を備えて構成される。
【0016】
過去開発データ記憶部11は、過去に開発された各ソフトウェアの分析実績データおよびプログラム関連データを記憶しておく機能部である。本実施例では、過去の開発時に発生したバグ数、過去の開発規模、過去に開発したソフトウェアの機能ブロック数、過去に開発したソフトウェアにおける他開発機能ブロック部とのインタフェース数を記憶する。
【0017】
新規開発データ記憶部12は、新規に開発されたソフトウェアのプログラム関連データを記憶しておく機能部である。本実施例では、新規の開発規模、新規に開発したソフトウェアの機能ブロック数、新規に開発したソフトウェアにおける他開発機能ブロック部とのインタフェース数を記憶する。
【0018】
基礎U管理図生成部13は、過去に開発された各ソフトウェアの開発規模およびバグ数を用いてバグ密度の指標値および管理限界の上下限値をそれぞれ算出し、U管理図に描画して基礎U管理図としてメモリに記憶する機能部である。なお、U管理図とは、ソフトウェアの開発規模に応じたバグ密度を管理するための管理図である。
【0019】
過去開発難易度算出部14は、過去に開発されたソフトウェアの開発規模と機能ブロック数とインタフェース数から、過去の開発難易度を算出する機能部である。
【0020】
新規開発難易度算出部15は、新規に開発されたソフトウェアの開発規模と機能ブロック数とインタフェース数から、新規開発ソフトウェアの開発難易度を算出する機能部である。
【0021】
補正後開発規模算出部16は、過去に開発されたソフトウェアの開発難易度と新規に開発されたソフトウェアの開発難易度の差から、新規開発ソフトウェア用の補正後の開発規模を算出する機能部である。ここで補正後と表現している理由は、新規開発ソフトウェア用の開発規模は新規開発データ記憶部12に既存しており、当該既存の開発規模を補正前として位置付けているからである。
【0022】
指標値・管理限界算出部17は、上記メモリから基礎U管理図を読み出して、上記補正後の開発規模に対応する指標値および管理限界の上下限値を新規開発ソフトウェア用として算出する機能部である。
【0023】
次に、本実施の形態に係る品質基準計算装置1の動作について説明する。図2は、品質基準計算装置1の処理フローを示す図である。
【0024】
最初に、ステップS1において、品質基準計算装置1は、開発社,OS,プログラム種別,利用されたAPIおよび関数等に基づき、複数の過去開発ソフトウェアの中から新規開発ソフトウェアに類似するものを選定する。
【0025】
次に、ステップS2において、基礎U管理図生成部13が、過去開発データ記憶部11から、選定された各過去開発ソフトウェアiの開発規模nとバグ数cを取得し、過去開発の実績に基づく基礎U管理図を生成する。具体的には、式(1)から基礎指標値u(uの上に“−”)を算出し、式(2)から基礎管理限界u(uの上に“−”)を算出する。そして、横軸を開発規模とし縦軸をバグ密度とするU管理図上にプロットすることにより、図4に示したような基礎U管理図を生成する。
【0026】
【数1】
【0027】
【数2】
kは、上限・下限の幅を決定するための係数であり、開発内容に応じて任意に設定する。また、過去の開発規模nとは、例えば設計桁数である。なお、U管理図,指標値,管理限界の定義等については、日本工業規格の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)に詳しい。
【0028】
次に、ステップS3において、過去開発難易度算出部14は、過去開発データ記憶部11から、選定された各過去開発ソフトウェアiにおける過去の開発規模nと機能ブロック数FBと他開発機能ブロック部とのインタフェース数IFとを取得し、以下の式(3)を用いて過去の開発難易度Dを算出する。
【0029】
【数3】
なお、過去開発ソフトウェアiが複数の場合には、各過去開発難易度Dの平均値を過去開発難易度Dとする。
【0030】
次に、ステップS4において、新規開発難易度算出部15は、新規開発データ記憶部12から、新規開発ソフトウェアの開発規模n’と機能ブロック数FB’と他開発機能ブロック部とのインタフェース数IF’とを取得し、以下の式(4)を用いて新規開発ソフトウェアの開発難易度D’を算出する。
【0031】
【数4】
次に、ステップS5において、補正後開発規模算出部16は、以下の式(5)を用いて新規開発ソフトウェア用の補正後の開発規模n’’を算出する。具体的には、新規開発ソフトウェア用の開発難易度D’を過去の開発難易度Dで除した値を過去の開発規模nに積算した値を補正後の開発規模n’’とする。
【0032】
【数5】
なお、式(5)で用いる過去の開発規模nは、基礎U管理図を生成する際に用いた複数の中から任意に選択したものでもよいし、複数の平均値を用いてもよい。
【0033】
最後に、ステップS6において、指標値・管理限界算出部17は、ステップS2の基礎U管理図を参照し、図3に示すように、補正後の開発規模n’’に対応する基礎指標値および基礎管理限界の上下限値を新規開発ソフトウェア用の指標値および管理限界の上下限値として決定する。
【0034】
なお、本実施例では、ソフトウェアの開発難易度を用いた場合を例に説明したが、結果的には補正後の開発規模が得られれば新規開発ソフトウェア用の指標値等が求まるため、開発難易度に代えて過去や新規の各ソフトウェア開発に係る共通事項(開発内容)を用いてもよい。
【0035】
また、本発明では、過去開発ソフトウェアと新規開発ソフトウェアの相違から補正後の開発規模を求めているため、比を計算するのに代えて差分を計算してもよい。
【0036】
以上より、本実施の形態によれば、各過去開発ソフトウェアのバグ密度の基礎指標値および基礎管理限界の上下限値をそれぞれ算出して基礎U管理図に描画し、過去開発ソフトウェアの開発難易度と新規開発ソフトウェアの開発難易度の比から補正後の開発規模を算出し、先の基礎U管理図から当該補正後の開発規模に対応する基礎指標値および基礎管理限界の上下限値を新規開発ソフトウェア用の指標値および管理限界の上下限値として算出するので、新規開発ソフトウェアの難易度に応じた指標値および管理限界を求めることができる。
【0037】
最後に、本実施の形態で説明した品質基準計算装置1は、メモリやCPUを備えたコンピュータにより実現できる。また、品質基準計算装置1の各動作をプログラムとして構築し、コンピュータにインストールして実行させることや、通信ネットワークを介して流通させることも可能である。
【符号の説明】
【0038】
1…品質基準計算装置(ソフトウェア品質基準計算装置)
11…過去開発データ記憶部
12…新規開発データ記憶部
13…基礎U管理図生成部(第1の算出手段,記憶手段)
14…過去開発難易度算出部
15…新規開発難易度算出部
16…補正規模算出部(第2の算出手段)
17…指標値・管理限界算出部(第3の算出手段)
S1〜S6…ステップ
図1
図2
図3
図4