JP6190335B2 - ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法 - Google Patents

ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法 Download PDF

Info

Publication number
JP6190335B2
JP6190335B2 JP2014157381A JP2014157381A JP6190335B2 JP 6190335 B2 JP6190335 B2 JP 6190335B2 JP 2014157381 A JP2014157381 A JP 2014157381A JP 2014157381 A JP2014157381 A JP 2014157381A JP 6190335 B2 JP6190335 B2 JP 6190335B2
Authority
JP
Japan
Prior art keywords
development
software
newly developed
developed software
scale
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.)
Active
Application number
JP2014157381A
Other languages
English (en)
Other versions
JP2016035615A (ja
Inventor
小澤 孝
孝 小澤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014157381A priority Critical patent/JP6190335B2/ja
Publication of JP2016035615A publication Critical patent/JP2016035615A/ja
Application granted granted Critical
Publication of JP6190335B2 publication Critical patent/JP6190335B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、ソフトウェアの品質基準を計算する技術に関する。
開発したソフトウェアの品質を分析する場合、開発規模やステップ数に対するバグ数であるバグ密度が一般的に用いられる。バグ密度の指標値を設定し、その指標値の上方と下方に管理限界をそれぞれ設け、バグ密度がその範囲内か範囲外かにより品質の良し悪しを判断する。
このような指標値および管理限界は、過去の実績や担当者の経験により感覚的に設定されることが多い。例えば、特許文献1では過去開発の実績から設定する方法を開示し、特許文献2では設計書の難易度から設定する方法を開示している。また、U管理図を用いた管理方法も考えられる。U管理図とは、一般的にはサンプルサイズが変動する場合に単位時間当りの発生数を評価する計数値管理図である。ソフトウェア管理の場合、バグ密度の平均値や指標値に対して管理限界から外れる確率が約0.3%(=係数k)であるという考え方で作成する。
特開2013−225227号公報 特開2012−173829号公報
しかしながら、新たな開発内容は過去の開発内容と異なるため、過去開発の実績のみに基づいて新規開発用の指標値および管理限界を設定することは適切ではない。また、ソフトウェア開発の難易度を考慮する場合、開発規模が小さい際には難易度が概ね低くなり、それにより指標値が低く設定されるが、管理限界を考慮していないため、1件のバグによるバグ密度の変動幅が大きくなってしまう。更に、U管理図を用いる場合、開発規模のみが考慮されているため、単純な開発内容が複数ある場合にはバグを検出することが難しい。
さらに、ソフトウェア開発の難易度は、開発規模だけでなく、ソフトウェア複雑性、品質、生産性、工数、開発期間、担当者スキル等が互いに複雑に関連する。ソフトウェア開発時の見積り方法としては、「類推法」「積み上げ法」「パラメトリックス法」の3つの方法が一般的である。ソフトウェア開発の難易度に関する要素を考慮する方法として、パラメトリックス法をベースにソフトウェアの規模をFP(Function Point)試算法で見積もるSLIM(Software Life Cycle Management)がある。しかしながら、SLIMでは、ソフトウェア開発に影響の高い担当者スキルに関する考慮が抜けてしまっている。
本発明は、上記事情を鑑みてなされたものであり、ソフトウェア管理におけるバグ密度の指標値および管理限界を適正化することを目的とする。
第1の本発明に係るソフトウェア品質基準計算装置は、新規開発ソフトウェアと当該新規開発ソフトウェアに類似した過去開発ソフトウェアのそれぞれについて、開発者のスキルと開発者に割り当てた業務に必要なスキルとのマッチング結果から開発スキルレベルを算出し、開発対象ソフトウェアの機能総量に対する工数、開発期間、および前記開発スキルレベルの比で開発難易度を表した式を用いて開発難易度を算出する開発難易度算出手段と、前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の差に基づいて前記新規開発ソフトウェアの開発規模を補正する補正手段と、過去開発ソフトウェアのバグ数と開発規模から算出した開発規模に対するバグ数であるバグ密度の指標値および管理限界の上下限値を用いて、前記新規開発ソフトウェアの補正後の開発規模に対応するバグ密度の指標値および管理限界の上下限値を算出する指標値・管理限界算出手段と、を有することを特徴とする。
上記ソフトウェア品質基準計算装置において、前記補正手段は、前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の比を前記新規開発ソフトウェアの開発規模に積算することにより、前記新規開発ソフトウェアの開発規模を補正することを特徴とする。
第2の本発明に係るソフトウェア品質基準計算方法は、コンピュータによって実行されるソフトウェア品質基準計算方法であって、各過去開発ソフトウェアのバグ数と開発規模から開発規模に対するバグ数であるバグ密度の指標値および管理限界の上下限値をそれぞれ算出するステップと、新規開発ソフトウェアと当該新規開発ソフトウェアに類似した過去開発ソフトウェアそれぞれについて、各開発者のスキルと各開発者に割り当てた業務に必要なスキルとのマッチング結果から開発スキルレベルを算出し、開発対象ソフトウェアの機能総量に対する工数、開発期間、および前記開発スキルレベルの比で開発難易度を表した式を用いて開発難易度を算出するステップと、前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の差に基づいて前記新規開発ソフトウェアの開発規模を補正するステップと、過去開発ソフトウェアのバグ数と開発規模から算出した開発規模に対するバグ数であるバグ密度の指標値および管理限界の上下限値を用いて、前記新規開発ソフトウェアの補正後の開発規模に対応するバグ密度の指標値および管理限界の上下限値を算出するステップと、を有することを特徴とする。
上記ソフトウェア品質基準計算方法において、前記新規開発ソフトウェアの開発規模を補正するステップは、前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の比を前記新規開発ソフトウェアの開発規模に積算することにより、前記新規開発ソフトウェアの開発規模を補正することを特徴とする。
本発明によれば、ソフトウェア管理におけるバグ密度の指標値および管理限界を適正化することができる。
品質基準計算装置の機能ブロック構成を示す図である。 品質基準計算装置の処理フローを示す図である。 基礎U管理図の例を示す図である。 技術者のスキルレベルの定義の例を示す図である。 技術者のスキルレベルと割り当て状況に応じた開発者スキル値を示す図である。
以下、本発明を実施する一実施の形態について図面を用いて説明する。
図1は、ソフトウェア開発で用いる品質基準計算装置1の機能ブロック構成を示す図である。この品質基準計算装置1は、開発者のスキルレベルを含む、過去開発内容と新規開発内容を考慮して新規開発ソフトウェア用の指標値および管理限界を計算する。なお、本実施例においてソフトウェアとは、コンピュータの動作に関するプログラムをいう。
本実施例において、品質基準計算装置1は、過去開発データ記憶部11と、新規開発データ記憶部12と、基礎U管理図生成部13と、過去開発難易度算出部14と、新規開発難易度算出部15と、補正後開発規模算出部16と、指標値・管理限界算出部17と、を備える。品質基準計算装置1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは品質基準計算装置1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。
過去開発データ記憶部11は、過去に開発された各ソフトウェアの分析実績データおよびプログラム関連データを記憶しておく機能部である。本実施例では、過去の開発時に発生したバグ数、過去の開発規模、過去にソフトウェアを開発したときの工数(人月)、開発時間(月)、機能総量(FP)、およびソフトウェア開発者のスキルを記憶する。工数、開発時間、機能総量は、既存のSLIMを用いるときに利用するものと同様である。ソフトウェア開発者のスキルについては後述する。
新規開発データ記憶部12は、新規に開発されたソフトウェアのプログラム関連データを記憶しておく機能部である。本実施例では、新規の開発規模、新規にソフトウェアを開発したときの工数、開発時間、機能総量、およびソフトウェア開発者のスキルを記憶する。
基礎U管理図生成部13は、過去に開発された各ソフトウェアの開発規模およびバグ数を用いてバグ密度の指標値および管理限界の上下限値をそれぞれ算出し、U管理図に描画して基礎U管理図としてメモリに記憶する機能部である。なお、U管理図とは、ソフトウェアの開発規模に応じたバグ密度を管理するための管理図である。
過去開発難易度算出部14は、過去にソフトウェアを開発したときの工数、開発時間、機能総量、およびソフトウェア開発者のスキルから、過去の開発難易度を算出する機能部である。
新規開発難易度算出部15は、新規にソフトウェアを開発したときの工数、開発時間、機能総量、およびソフトウェア開発者のスキルから、新規開発ソフトウェアの開発難易度を算出する機能部である。
補正後開発規模算出部16は、過去に開発されたソフトウェアの開発難易度と新規に開発されたソフトウェアの開発難易度の差から、新規開発ソフトウェア用の補正後の開発規模を算出する機能部である。ここで補正後と表現している理由は、新規開発ソフトウェア用の開発規模は新規開発データ記憶部12に保存しており、既存の開発規模を補正前として位置付けているからである。
指標値・管理限界算出部17は、上記メモリから基礎U管理図を読み出して、上記補正後の開発規模に対応する指標値および管理限界の上下限値を新規開発ソフトウェア用として算出する機能部である。
次に、本実施の形態に係る品質基準計算装置1の動作について説明する。図2は、品質基準計算装置1の処理フローを示す図である。
最初に、ステップS1において、開発社,OS,プログラム種別,利用されたAPIおよび関数等に基づき、複数の過去開発ソフトウェアの中から新規開発ソフトウェアに類似するものを選定する。
続いて、ステップS2において、基礎U管理図生成部13は、過去開発データ記憶部11から、各過去開発ソフトウェアiの開発規模nとバグ数cを取得し、過去開発の実績に基づく基礎U管理図を生成する。具体的には、式(1)から基礎指標値u(uの上に“−”)を算出し、式(2)から基礎管理限界u(uの上に“−”)を算出する。そして、横軸を開発規模とし縦軸をバグ密度とするU管理図上にプロットすることにより基礎U管理図を生成する。
Figure 0006190335
Figure 0006190335
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)に詳しい。
続いて、ステップS3において、過去開発難易度算出部14は、過去開発データ記憶部11から、新規開発ソフトウェアに類似した過去開発ソフトウェアの工数、開発時間、機能総数、およびソフトウェア開発者のスキルを取得し、以下の式(3)を用いて過去開発ソフトウェアの開発難易度を算出する。βは定数である。
Figure 0006190335
なお、過去開発ソフトウェアが複数の場合には、各過去開発ソフトウェアの開発難易度の平均値を過去開発ソフトウェアの開発難易度とする。
続いて、ステップS4において、新規開発難易度算出部15は、新規開発データ記憶部12から、新規開発ソフトウェアの工数、開発時間、機能総数、およびソフトウェア開発者のスキルを取得し、上記の式(3)を用いて新規開発ソフトウェアの開発難易度を算出する。
続いて、ステップS5において、補正後開発規模算出部16は、以下の式(4)を用いて新規開発ソフトウェア用の補正後の開発規模を算出する。具体的には、新規開発ソフトウェア用の開発難易度を過去開発ソフトウェアの開発難易度で除した値を新規開発ソフトウェアの開発規模に積算した値を補正後の開発規模とする。
Figure 0006190335
また、比を計算するのに代えて差分を計算してもよい。
最後に、ステップS6において、指標値・管理限界算出部17は、ステップS2の基礎U管理図を参照し、図3に示すように、補正後の開発規模に対応する基礎指標値および基礎管理限界の上下限値を新規開発ソフトウェア用の指標値および管理限界の上下限値として決定する。
次に、開発スキルレベルの指標化について説明する。
本実施の形態では、過去開発ソフトウェア及び新規開発ソフトウェアの開発難易度を算出する際に、技術者のスキルレベルを指標化した開発スキルレベルを用いる。
まず、開発スキルレベルの指標化に際して、ソフトウェア開発における技術者のスキルレベルを定義しておく。図4に、技術者のスキルレベルの定義の例を示す。スキルレベルの定義には、例えば、独立行政法人情報処理推進機構のソフトウェア・エンジニアリング・センターのスキル基準を用いることができる。
定義したスキルレベルを用いて技術者のスキルレベルとその技術者に割り当てた担当業務に必要なスキルレベルを特定し、技術者のスキルレベルと割り当てた担当業務に必要なスキルレベルのマッチング結果から担当者単位で開発スキル値を算出し、各担当者ごとに算出した開発スキル値の平均を求めて開発スキルレベルとする。具体的には、技術者のスキルレベルをx、担当業務に必要なスキルレベルをyとすると、次式(5)により、開発スキルレベルSを算出する。
Figure 0006190335
ここで、T1,T2は定数である。例えば、T1=1.0、T2=10とすると、技術者のスキルレベルと割り当て状況に応じた開発者スキル値は図5に示すようになる。
以上より、本実施の形態によれば、各過去開発ソフトウェアのバグ密度の基礎指標値および基礎管理限界の上下限値をそれぞれ算出して基礎U管理図に描画し、過去開発ソフトウェアの開発難易度と新規開発ソフトウェアの開発難易度の比から補正後の開発規模を算出し、先の基礎U管理図から当該補正後の開発規模に対応する基礎指標値および基礎管理限界の上下限値を新規開発ソフトウェア用の指標値および管理限界の上下限値として算出することにより、新規開発ソフトウェアの難易度に応じた指標値および管理限界を求めることができる。
本実施の形態によれば、過去開発ソフトウェア及び新規開発ソフトウェアの開発難易度を求めるときに、開発者のスキルと開発者に割り当てた業務に必要なスキルとのマッチング結果から開発スキルレベルを算出し、工数、開発期間、機能総量、および開発スキルレベルから開発難易度を算出することにより、ソフトウェア開発に影響の高い開発者スキルを考慮してソフトウェアの開発難易度が算出されるので、より精度よく指標値および管理限界を求めることができる。
1…品質基準計算装置
11…過去開発データ記憶部
12…新規開発データ記憶部
13…基礎U管理図生成部
14…過去開発難易度算出部
15…新規開発難易度算出部
16…補正規模算出部
17…指標値・管理限界算出部

Claims (4)

  1. 新規開発ソフトウェアと当該新規開発ソフトウェアに類似した過去開発ソフトウェアのそれぞれについて、開発者のスキルと開発者に割り当てた業務に必要なスキルとのマッチング結果から開発スキルレベルを算出し、開発対象ソフトウェアの機能総量に対する工数、開発期間、および前記開発スキルレベルの比で開発難易度を表した式を用いて開発難易度を算出する開発難易度算出手段と、
    前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の差に基づいて前記新規開発ソフトウェアの開発規模を補正する補正手段と、
    過去開発ソフトウェアのバグ数と開発規模から算出した開発規模に対するバグ数であるバグ密度の指標値および管理限界の上下限値を用いて、前記新規開発ソフトウェアの補正後の開発規模に対応するバグ密度の指標値および管理限界の上下限値を算出する指標値・管理限界算出手段と、
    を有することを特徴とするソフトウェア品質基準計算装置。
  2. 前記補正手段は、前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の比を前記新規開発ソフトウェアの開発規模に積算することにより、前記新規開発ソフトウェアの開発規模を補正することを特徴とする請求項1に記載のソフトウェア品質基準計算装置。
  3. コンピュータによって実行されるソフトウェア品質基準計算方法であって、
    各過去開発ソフトウェアのバグ数と開発規模から開発規模に対するバグ数であるバグ密度の指標値および管理限界の上下限値をそれぞれ算出するステップと、
    新規開発ソフトウェアと当該新規開発ソフトウェアに類似した過去開発ソフトウェアそれぞれについて、各開発者のスキルと各開発者に割り当てた業務に必要なスキルとのマッチング結果から開発スキルレベルを算出し、開発対象ソフトウェアの機能総量に対する工数、開発期間、および前記開発スキルレベルの比で開発難易度を表した式を用いて開発難易度を算出するステップと、
    前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の差に基づいて前記新規開発ソフトウェアの開発規模を補正するステップと、
    過去開発ソフトウェアのバグ数と開発規模から算出した開発規模に対するバグ数であるバグ密度の指標値および管理限界の上下限値を用いて、前記新規開発ソフトウェアの補正後の開発規模に対応するバグ密度の指標値および管理限界の上下限値を算出するステップと、
    を有することを特徴とするソフトウェア品質基準計算方法。
  4. 前記新規開発ソフトウェアの開発規模を補正するステップは、前記過去開発ソフトウェアの開発難易度と前記新規開発ソフトウェアの開発難易度の比を前記新規開発ソフトウェアの開発規模に積算することにより、前記新規開発ソフトウェアの開発規模を補正することを特徴とする請求項3に記載のソフトウェア品質基準計算方法。
JP2014157381A 2014-08-01 2014-08-01 ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法 Active JP6190335B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014157381A JP6190335B2 (ja) 2014-08-01 2014-08-01 ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014157381A JP6190335B2 (ja) 2014-08-01 2014-08-01 ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法

Publications (2)

Publication Number Publication Date
JP2016035615A JP2016035615A (ja) 2016-03-17
JP6190335B2 true JP6190335B2 (ja) 2017-08-30

Family

ID=55523447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014157381A Active JP6190335B2 (ja) 2014-08-01 2014-08-01 ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法

Country Status (1)

Country Link
JP (1) JP6190335B2 (ja)

Also Published As

Publication number Publication date
JP2016035615A (ja) 2016-03-17

Similar Documents

Publication Publication Date Title
JP5125307B2 (ja) 工数見積プログラム、該プログラムを記録した記録媒体、工数見積装置、および工数見積方法
KR102097953B1 (ko) 고장 리스크 지표 추정 장치 및 고장 리스크 지표 추정 방법
CN109376919B (zh) 一种煤矿综采工作面瓦斯涌出量的预测方法
JP5791121B2 (ja) コスト算出装置、コスト算出方法、及びプログラム
US9684872B2 (en) Method and apparatus for generating data in a missing segment of a time data sequence
US20150089481A1 (en) Methods, systems and computer-readable media for quantifying a bug detection efficiency of a bug prediction technique
JP5430702B2 (ja) 特異データ検出方法、特異データ検出プログラムおよび特異データ検出装置
EP3920072A1 (en) System for providing a simulation model, system for illustrating estimated fluid movements around a structure, methods therefore and a computer program product
JP6190335B2 (ja) ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法
JP2017062551A (ja) 品質基準算出装置及び品質基準算出方法
CN110705633B (zh) 目标物检测、目标物检测模型的建立方法及装置
JP6055428B2 (ja) ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法
JP2016143121A (ja) ソフトウェア品質基準計算装置及びソフトウェア品質基準計算方法
CN108038863B (zh) 图像分割方法及装置
JP6813827B2 (ja) 情報処理装置、情報処理システム、および情報処理プログラム
US20140288908A1 (en) Methods, systems and computer-readable media for determining a time-to failure of an asset
JP4926211B2 (ja) プロジェクト管理システム及びプロジェクト管理プログラム
JP3612428B2 (ja) ソフトウェア信頼性予測方法および装置と記録媒体
US20120072366A1 (en) Method, system and program product for independent software vendor (isv) solution evaluation
JP6267455B2 (ja) 工数見積装置、工数見積方法及びプログラム
CN113608689B (zh) 基于边缘计算的数据缓存方法及系统
US20180018145A1 (en) Aggregated multi-objective optimization
JP5582006B2 (ja) 開発支援プログラム、開発支援方法及び開発支援装置
US20170083843A1 (en) Risk evaluation in parallelizing projects
WO2023275971A1 (ja) 情報処理装置、情報処理方法及び非一時的なコンピュータ可読媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160916

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170719

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170804

R150 Certificate of patent or registration of utility model

Ref document number: 6190335

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150