JP2005078588A - 開発工数見積装置、開発工数見積方法、コンピュータプログラム及び記録媒体 - Google Patents

開発工数見積装置、開発工数見積方法、コンピュータプログラム及び記録媒体 Download PDF

Info

Publication number
JP2005078588A
JP2005078588A JP2003311590A JP2003311590A JP2005078588A JP 2005078588 A JP2005078588 A JP 2005078588A JP 2003311590 A JP2003311590 A JP 2003311590A JP 2003311590 A JP2003311590 A JP 2003311590A JP 2005078588 A JP2005078588 A JP 2005078588A
Authority
JP
Japan
Prior art keywords
development
hour
development man
normal use
man
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
JP2003311590A
Other languages
English (en)
Inventor
Kazutoshi Shimanaka
一俊 島中
Junji Koga
順二 古賀
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.)
NTT Comware Corp
Original Assignee
NTT Comware 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 NTT Comware Corp filed Critical NTT Comware Corp
Priority to JP2003311590A priority Critical patent/JP2005078588A/ja
Publication of JP2005078588A publication Critical patent/JP2005078588A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】 コードを用いない開発に使え、FP法等の知識が不要で、しかも正確に開発工数を見積もることのできる開発工数見積装置を提供する。
【解決手段】 開発工数見積装置1のユースケース情報入力促進部11は、入力された各概念クラスの数の総和を求め、該総和と、入力されたノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める。さらに、開発工数見積装置1の工数算出部13は、近似式記憶部14から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる。さらに工数算出部13は、近似式記憶部14から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた試験項目数とを用いて、開発工数を見積もる。
【選択図】図1

Description

本発明は、コードを用いない開発に使え、FP法等の知識が不要で、しかも正確に開発工数を見積もることのできる開発工数見積装置に関するものである。
ソフトウェア開発における開発工数は、ソフトウェアのコード量から見積もるのが一般的である。コード量が用いられるのは、コード量を見積もるのが簡単で開発工数との相関が大きいからである。
開発工数をコード量以外で見積もる手法としては、FP(ファンクションポイント)法が良く知られている。この手法はソフトウェアを、ユーザが認識できる論理ファイルとトランザクションの組合せとしてモデル化し計測しようとするものである。FP法では、システム中の論理ファイルとトランザクションを識別し、各々に複雑さを考慮したポイント付けを行い、総計する方法が取られる。このためソースコードがないソフトウェアの規模でも開発工数を見積れる。
また、FP法と良く似た概念としてユースケースポイントがある。ユースケースモデルは、オブジェクト指向開発手法の要求定義ドキュメントとして既に定着している。ユースケースとは、システムが果たすべき機能をユーザレベルで記述したドキュメントで、システムの外部仕様を表現している。ユースケースポイントとは、ユースケースを大きさでレーティングしてポイント化し、システム特性を考慮して増減したポイントを、直接開発工数と関連付けて見積もり根拠としている。
ソフトウェア開発における開発工数を見積もる技術として、特許文献1には、開発要件から見積もりを行う技術が記載されている。また、特許文献2には、入力条件がユースケースという技術が記載されている。また、特許文献3には、過去のデータからシステム特性を考慮した近似式を作成し、見積もりを行う技術が記載されている。
一方、非特許文献1には、FP法の技術が記載されている。
特開平07−191839号公報 特開2001−117763号公報 特開2000−339147号公報 児玉公信著、「実践 ファンクションポイント法」、第1版、日本能率協会マネージメントセンター、1999.7.15
上述したように、ソフトウェアの開発工数は、(1)コード量から見積もる、(2)FP法で見積もる、(3)ユースケースから見積もる、という3つの方法で見積もることができる。
しかしながら、(1)ソフトウェアにおいてコード量を見極めるには熟練が必要であり、その人の感覚によってもコード量が変ってくる。しかも、昨今では根本的にソースコードを書かないタイプの開発も増え、ソフトウェアコード自体がないことがある。
一方、(2)機能量を測定するFP法は、ソースコードを書かないタイプの開発に有用であるが、正確な計測結果を得るためには計測ルールを学び、正しく計測を行う必要がある。かかる煩雑さがあるからFP法が採用されることは少なく、採用されたとしても十分なデータ量を得るまでに至らず、それを用いても妥当な結果が得られない。
一方、(3)ユースケースから見積もる場合においてユースケースの抽出は、FPのように見積もりのための特別な作業ではないので計測に特別な作業を必要としないが、ユースケースという概念自体が曖昧で、その粒度は、FPの様に厳密に規定されたものではない。このため、人の解釈により開発工数が異なってくる。したがって、ユースケースから正確な開発工数を見積もることができない。
そこで本発明は、上記の従来の課題に鑑みてなされたものであり、その目的とするところは、コードを用いない開発に使え、FP法等の知識が不要で、しかも正確に開発工数を見積もることのできる開発工数見積装置を提供することにある。
上記従来の課題を解決するために、請求項1の本発明は、開発システムと該開発システムを利用するユーザとの間に発生する相互作用を示すユースケースにノーマルユースケースが1以上含まれかつ各ノーマルユースケースに該ノーマルユースケースで保守される論理ファイルである概念クラスが1以上含まれるときの当該各ノーマルユースケースごとの概念クラスの数の総和と当該ノーマルユースケースの数とを乗ずる乗算の乗算結果を概念クラス粒度ユースケース数として用いることによりこれから開発される開発システムの開発工数を見積もる開発工数見積装置であって、開発システムにおける概念クラス粒度ユースケース数に対する試験項目数を近似する試験項目数見積近似式と、開発システムにおける試験項目数に対する開発工数を近似する開発工数見積近似式とが記憶される近似式記憶手段と、前記各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力手段と、入力された前記各概念クラスの数の総和を求め、該総和と、入力された前記ノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出手段と、前記近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積手段と、前記近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた前記試験項目数とを用いて、開発工数を見積もる開発工数見積手段とを備えることを特徴とする開発工数見積装置をもって解決手段とする。
この請求項1の本発明によれば、試験項目数見積近似式と、開発工数見積近似式とが記憶される近似式記憶手段と、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力手段と、入力された各概念クラスの数の総和を求め、該総和と、入力されたノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出手段と、近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積手段と、近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた試験項目数とを用いて、開発工数を見積もる開発工数見積手段とを備えるので、コードを用いない開発に使え、FP法等の知識が不要で、しかも正確に開発工数を見積もることができる。
また、請求項2の本発明は、前記近似式記憶手段は、開発システムの特性を示すシステム特性値ごとに前記開発工数見積近似式が記憶されるものであり、前記入力手段は、システム特性値をユースケースごとに入力するように促すとともに、入力されたシステム特性値を前記開発工数見積手段に与え、前記開発工数見積手段は、前記近似式記憶手段から、与えられたシステム特性値に対応する開発工数見積近似式を読み出すことを特徴とする請求項1記載の開発工数見積装置をもって解決手段とする。
この請求項2の本発明によれば、近似式記憶手段は、開発システムの特性を示すシステム特性値ごとに開発工数見積近似式が記憶されるものであり、入力手段は、システム特性値をユースケースごとに入力するように促すとともに、入力されたシステム特性値を開発工数見積手段に与え、開発工数見積手段は、近似式記憶手段から、与えられたシステム特性値に対応する開発工数見積近似式を読み出すので、開発システムの特性に応じた開発工数を見積もることができる。
また、請求項3の本発明は、システム特性値が開発システムの複数の特性のそれぞれを示す値からなることを特徴とする請求項2記載の開発工数見積装置をもって解決手段とする。
この請求項3の本発明によれば、システム特性値が開発システムの複数の特性のそれぞれを示す値からなるので、当該複数の特性を有する開発システムの開発工数を見積もることができる。
また、請求項4の本発明は、開発システムと該開発システムを利用するユーザとの間に発生する相互作用を示すユースケースにノーマルユースケースが1以上含まれかつ各ノーマルユースケースに該ノーマルユースケースで保守される論理ファイルである概念クラスが1以上含まれるときの当該各ノーマルユースケースごとの概念クラスの数の総和と当該ノーマルユースケースの数とを乗ずる乗算の乗算結果を概念クラス粒度ユースケース数として用いることにより開発システムの開発工数を見積もる開発工数見積装置に、開発システムにおける概念クラス粒度ユースケース数に対する試験項目数を近似する試験項目数見積近似式と、開発システムにおける試験項目数に対する開発工数を近似する開発工数見積近似式とが記憶される近似式記憶手段が設けられているときの開発工数見積方法であって、前記開発工数見積装置が、前記各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで、当該開発工数見積装置に、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力段階と、前記開発工数見積装置が、入力された前記各概念クラスの数の総和を求め、該総和と、入力された前記ノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出段階と、前記開発工数見積装置が、前記近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積段階と、前記開発工数見積装置が、前記近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた前記試験項目数とを用いて、開発工数を見積もる開発工数見積段階とを備えることを特徴とする開発工数見積方法をもって解決手段とする。
この請求項4の本発明によれば、請求項1の本発明の場合と同様の効果を奏する。
また、請求項5の本発明は、開発システムと該開発システムを利用するユーザとの間に発生する相互作用を示すユースケースにノーマルユースケースが1以上含まれかつ各ノーマルユースケースに該ノーマルユースケースで保守される論理ファイルである概念クラスが1以上含まれるときの当該各ノーマルユースケースごとの概念クラスの数の総和と当該ノーマルユースケースの数とを乗ずる乗算の乗算結果を概念クラス粒度ユースケース数として用いることにより開発システムの開発工数を見積もる開発工数見積装置としてコンピュータを機能させるコンピュータプログラムであって、開発システムにおける概念クラス粒度ユースケース数に対する試験項目数を近似する試験項目数見積近似式と、開発システムにおける試験項目数に対する開発工数を近似する開発工数見積近似式とが記憶される近似式記憶手段と、前記各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力手段と、入力された前記各概念クラスの数の総和を求め、該総和と、入力された前記ノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出手段と、前記近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積手段と、前記近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた前記試験項目数とを用いて、開発工数を見積もる開発工数見積手段とを前記開発工数見積装置が備えるようにコンピュータを機能させることを特徴とするコンピュータプログラムをもって解決手段とする。
この請求項5の本発明によれば、コンピュータプログラムにより請求項1や請求項4の場合と同様の効果を得ることができる。
また、請求項6の本発明は、請求項5記載のコンピュータプログラムが格納された記録媒体をもって解決手段とする。
この請求項6の本発明によれば、コンピュータプログラムが格納された記録媒体により請求項1や請求項4の場合と同様の効果を得ることができる。
本発明によれば、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力され、入力された各概念クラスの数の総和を求め、該総和と、入力されたノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求め、近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた概念クラス粒度ユースケース数とを用いて、試験項目数を見積もり、開発工数見積装置が、近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた試験項目数とを用いて、開発工数を見積もるので、コードを用いない開発に使え、FP法等の知識が不要で、しかも正確に開発工数を見積もることができる。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明を適用した開発工数見積装置1の構成を示す図である。
開発工数見積装置1は、これから開発されるコンピュータシステム(開発システムという)開発工数を見積もるコンピュータである。開発工数見積装置1は、開発工数見積装置1のオペレータである、例えばプロジェクト管理者との間で情報の入出力を行うユースケース情報入力促進部11と、ユースケース情報入力促進部11に入力された情報(入力情報)が記憶される入力情報記憶部12と、開発工数を見積もる工数算出部13と、開発工数を算出する上で用いられる近似式が記憶された近似式記憶部14とを備えるコンピュータである。なお、ユースケース情報入力促進部11は、図示しない入力装置(キーボードやマウスなど)で情報を入力され、また図示しない表示装置への文字表示等により情報入力を促すことや開発工数の出力を行う。
さて、開発工数見積装置1は、開発工数を見積もるものだが開発工数を直接求めるのではく、試験項目数を先ず見積もり、試験項目数から開発工数を見積もるるようにしている。
ここで、試験項目数から開発工数を見積もるようにした理由を説明する。
一般的に開発工数は、開発規模(SLOC:1995年に国際規格となったソフトウェアライフサイクルプロセス(ISO/IEC12207))から見積もられるが、開発規模に代わる見積もり基準として試験項目数を採用するところとなり、その採用にあたり、過去の開発管理データを分析し、実際に試験項目数と開発工数の間に相関があるか否かを調査した。
図2は、プロジェクトの開発工数を目的変数として説明変数に結合試験数、総合試験数、開発規模を選択して回帰分析を行った結果を示す図である。
まず、表中の寄与率とは調査対象データと回帰直線との当てはまり度合いを示しており、大きい値であるほど良く当てはまることを示す。次に、回帰式とは、結合試験と開発工数の回帰分析の結果得られた回帰直線の傾きと切片を示している。最後に、データ数とは、調査対象のプロジェクト数である。なお、分析は利用した開発言語毎にプロジェクトをまとめてグループ化して分析を行った。
寄与率データ中の網掛けは、3種類の説明変数のうちで開発工数との回帰分析結果の寄与率が最大のものを示している。図2の結果から、結合試験数(ITで示す)は、全体では開発規模に及ばないものの、開発言語のグループを個別に見ると開発規模よりも開発工数との高い相関を持つことが分かる。しかも、ソースを直接記述しないタイプの開発を行うGUI(Graphical User Interface)系の開発言語であるVBやVC++における相関が非常に高い特徴を持つことが分かる。
以上の結果から、試験項目数は、開発規模と同等かそれ以上の見積もり根拠として十分機能することが期待できる。そして、開発工数と試験項目数、開発工数と開発規模との回帰分析結果を比較すると、前者の方が後者より寄与率が高いことが分かった。つまり、システムの特性を特定すると開発規模から見積もるよりも高い精度で見積もりができる可能性があることが判明した。
図3は、近似式記憶部14に記憶された開発工数見積近似式142の求め方を説明するための散布図である。
試験項目数見積近似式142は、y=ux+w(u:傾き,w:切片)で与えられる一次式である。開発工数見積近似式142を求めるには、過去に開発された、種類と開発言語とが同一の開発システムについて、試験項目数Kに対する開発工数Iの分布を示す散布図を作成し、該図上で当該分布を近似する一次式を試験項目数見積近似式141として求めればよい。
そして、このような作業を、開発システムの種類と開発言語の組ごとに行い、当該方法で求められた各開発工数見積近似式142を近似式記憶部14に記憶させればよい。
図4は、近似式記憶部14における開発工数見積近似式142の記憶形態を示す図である。
近似式記憶部14には、開発工数を見積もるための開発工数見積近似式142が複数のシステム特性値102のそれぞれに対応づけて記憶されている。
システム特性値102は、開発システムの特性を示すものであり、詳しくは開発システムの種類を示す値と、開発システムを開発する際に用いられる開発言語を示す値とを組み合わせたものである。
つまり、各開発工数見積近似式142は、該開発工数見積近似式142を求める上で上記の散布図が作られた開発システムの種類と開発言語の組に対応するものである。
システム特性値102の構成によれば、1つのシステム特性値102で特定の開発システムの種類と開発言語の両方を同時に示すことができる。したがって、1つのシステム特性値102から、特定の開発システムの種類と開発言語についての開発工数見積近似式142を読み出すことができる。
図5は、近似式記憶部14に記憶された試験項目数見積近似式141の求め方を説明するための散布図である。
近似式記憶部14には、試験項目数を見積もるための試験項目数見積近似式141が記憶されている。試験項目数見積近似式141はy=sx+t(s:傾き,t:切片)で与えられる一次式である。試験項目数見積近似式141を求めるには、過去に開発された多数の開発システムについての概念クラス粒度ユースケース数P(後述する)に対する試験項目数Kの分布を示す散布図を作成し、該図上で当該分布を近似する一次式を試験項目数見積近似式141として求めればよい。
ところで、本実施の形態においては、ユースケースの粒度を合わせ、正確に試験項目を見積もるためにシステムの機能量の計測方法を規定しているFP(ファンクションポイント)法の概念が適用される。FP法の定義の中でトランザクションファンクションの主目的の一つがシステム内部の論理ファイルの保守であると規定している点に注目したのである。システム内部の論理ファイルとは、オブジェクト指向開発においては分析クラスを構成する概念である。この分析クラスの存在を意識することによって粒度の異なるユースケースをFP法が実現している程度に是正できると考られる。上記、概念クラス粒度ユースケース数とは、FP法における保守対象である論理ファイルの数であるユースケース数である。
次に、本実施の形態の動作を説明する。
図6は、本実施の形態におけるユースケースとノーマルユースケースと概念クラスの関係を示す図である。左側に示すように、例えば、プロジェクト管理者は、これから開発する開発システムには2つのユースケース、つまりユースケース名101Aのユースケースとユースケース名101Bのユースケースとが含まれ、各ユースケースには2つづつの概念クラス(ユースケースに関連して保守される論理ファイルでエンティティともいう)が含まれていると記載されたシステム仕様書等を用意する。ユースケースは、例えば、「勤務表の管理をする」や「開発工数見積のシステム設計をする」というような文字列である。なお、ユースケース数と概念クラス数については便宜的に実際の数よりも少なくしている。
一方、図7に示すように、概念クラスは、ユースケースが「伝送装置を制御する」である場合には、無線装置、該無線装置に属する固定無線装置及び衛星無線装置、当該固定無線装置の伝送方式であるディジタル方式及びアナログ方式の各要素が概念クラスである。以降、ユースケースごとに扱われる後述のデータをAとBで区別する。なお、右側の図については後述する。
図8は、開発工数見積装置1の動作を示すシーケンス図である。
ユースケース情報入力促進部11は、プロジェクト管理者に対して、「開発システム名を入力してください」等と表示することにより入力を促し、これによりプロジェクト管理者が入力した開発システム名100を保持する(ステップS1)。
次に、ユースケース情報入力促進部11は、プロジェクト管理者に対して、「ユースケース名を入力してください」等と表示することにより入力を促し、これによりプロジェクト管理者が入力したユースケース名101A及び101Bを保持する(ステップS3)。
次に、ユースケース情報入力促進部11は、プロジェクト管理者に対して、「ノーマルユースケース数をユースケースごとに入力してください」と表示することにより入力を促し、これによりプロジェクト管理者がユースケース名101Aと101Bのそれぞれのユースケースについて入力したノーマルユースケース数nA及びnBを保持する(ステップS5)。説明簡略化のため、ノーマルユースケース数nA、nBをともに「2」とする。
ところで、ユースケースは、開発システムと該開発システムを利用するユーザの間に発生する相互作用を示すものである。しかし、現状システムやユーザの定義は、厳密に規定されたものではない。これは、ユースケースの考案者であるIvar Jacobsonが論文中でユースケースの数はシステムの規模によらず数十程度までが適当であると記述していることからも明らかである。つまり、ユースケースの粒度はシステムが大きいほど大きくなる可能性を示唆している。このため、ユースケースは。その粒度が識別する人の解釈によって変化してしまう課題を持っている。例えば、サブコントラクタの立場でプロジェクトに参加し自分の分担範囲のサブシステムを境界とする場合とシステム全体を境界とする場合では、ユースケースの粒度が変ることは容易に予想できる。
この様にシステム間やユースケース自身の間で、その粒度にバラツキが存在すると、見積もりの根拠のための共通単位としてユースケースを用いるのは困難である。したがって、ユースケースの特性を保ちつつバラツキを抑えることが必要である。
そこで、開発工数見積装置1では、プロジェクト管理者に、ユースケースよりも粒度の細かいノーマルユースケースの数の入力を促すことにより、かかる課題を解決している。
さて、ノーマルユースケース数nA、nBをともに「2」とすると、図6の右側に示すように、ユースケース名101Aと101Bのそれぞれのユースケースに2つのノーマルユースケースが含まれることになる。ユースケースが「勤務表の管理をする」の場合には、ノーマルユースケースとして、例えば「勤務表に登録する」と「勤務表を参照する」が含まれるのである。また多い場合には、「勤務表を更新する」、「勤務表を削除する」等も含まれる。以降、各ユースケースについてのノーマルユースケースごとに扱われるデータ(後述する)をαとβで区別することにする。なお、概念クラス数については後述する。
次に、ユースケース情報入力促進部11は、プロジェクト管理者に対して、「ノーマルユースケースごとに概念クラス数を入力してください」等と表示することにより入力を促し、これによりプロジェクト管理者からノーマルユースケースごとに概念クラス数mが入力される(ステップS7)。各概念クラス数mを、上記した区別方法により、概念クラス数mAα、mAβ、mBα、mBβと表す。なお、mAαとmBαはともにαを含む表記であるが関連性は必ずしも必要でない。mAβとmBβについても同様である。
さて、概念クラス数mAα及びmAβはそれぞれ、図5に示すように、ユースケース名101Aのユースケースに含まれる概念クラスの数と同数、つまり「2」でよい。概念クラス数mBα及びmBβも同様に「2」でよい。すなわち、各ユースケースが2つのノーマルユースケースに分割されたので、ノーマルユースケースに含まれる概念クラスの総和はユースケースに含まれる概念クラスの総和の2倍になっている。なお、ユースケース情報入力促進部11は、概念クラス数mAα、mAβ、mBα、mBβを保持する。
次に、ユースケース情報入力促進部11は、プロジェクト管理者に対して、「ユースケースごとにシステム特性値を入力してください」等と表示することにより入力を促し、これによりプロジェクト管理者が入力したシステム特性値102A及び102Bを保持する(ステップS9)。
これらデータの入力が終わり、ユースケース情報入力促進部11は、プロジェクト管理者から開発工数の見積もりの要求が入力されると、保持した開発システム名100、ユースケース名101A及び101B、システム特性値102A及び102B、ノーマルユースケース数nA及びnB、概念クラス数mAα、mAβ、mBα及びmBβを入力情報記憶部12に記憶させる(ステップS11)。
次に、ユースケース情報入力促進部11は、ユースケースごとの概念クラス粒度ユースケース数PA、PBを次の式(1)及び(2)により算出する(ステップS13)。
[数1]
PA=nA × (mAα + mAβ) … (1)
PB=nB × (mBα + mBβ) … (2)
具体的には、PA=2×(2+2)=8、PB=2×(2+2)=8である。
つまり、概念クラス粒度ユースケース数はユースケース毎に求められる。そして、概念クラス粒度ユースケース数は、概念クラス数の総和にノーマルユースケース数を乗じたものである。
次に、ユースケース情報入力促進部11は、概念クラス粒度ユースケース数PAとシステム特性値102Aの組、並びに概念クラス粒度ユースケース数PBとシステム特性値102Bの組を工数算出部13に与えて、開発工数の見積もりを要求する(ステップS15)。
ところで、本実施の形態においては、ユースケース数やノーマルユースケース数そのものではなく、概念クラス粒度ユースケース数Pを算出してから、この概念クラス粒度ユースケース数Pに基づいて開発工数を算出する。
これは、図9に示すように、過去の開発のデータを用いて、ノーマルユースケース数と試験項目数との相関係数と、概念クラス粒度ユースケース数Pと試験項目数との相関係数とを算出したところ、後者の方が数値が高かったからである。なお、これは前述したFP法の概念を証明している。
したがって、本実施の形態では、概念クラス粒度ユースケース数を用いることにしている。
さて、工数算出部13は、ユースケースごとに以下の処理を行う。ここでは、ユースケース名101Aのユースケースについて説明する。
[試験項目数の算出]
工数算出部13は、先ず、ユースケース名101Aのユースケースについての試験項目数KAを見積もる。具体的には、近似式記憶部14から試験項目数見積近似式を読み出す(ステップS17)。そして、その試験項目数見積近似式に概念クラス粒度ユースケース数PAを適用して試験項目数KAを算出する(ステップS19)。すなわち、試験項目数KAを見積もる。
試験項目数見積近似式は、前述のようにsx+t(s:傾き,t:切片)で与えられる一次式であり、xに概念クラス粒度ユースケース数PA「8」を代入すれば試験項目数KAが得られる。
[開発工数の算出]
次に、工数算出部13は、近似式記憶部14からシステム特性値102Aに対応する開発工数見積近似式を読み出す(ステップS21)。例えばシステム特性値102Aが、通信系の開発システムを開発言語「JAVA(登録商標)」で開発することを示すシステム特性値であれば、通信系の開発システムを開発言語「JAVA(登録商標)」で開発するときの開発工数見積近似式が一意に求まる。
工数算出部13は、その開発工数見積近似式に、先ほど求めた試験項目数KAを適用して開発工数IAを算出する(ステップS23)。すなわち、開発工数IAを見積もる。
試験項目数見積近似式はux+w(u:傾き,w:切片)で与えられる一次式であり、xに試験項目数KAを代入すれば開発工数IAが得られる。
同様にして、工数算出部13は、概念クラス粒度ユースケース数PB及びシステム特性値102Bを元に、試験項目数見積近似式並びに、システム特性値102Bに対応する開発工数見積近似式を用いて開発工数IBを求め、該開発工数IBを開発工数IAとともにユースケース情報入力促進部11に与える(ステップS25)。
そして、最後にユースケース情報入力促進部11は、入力情報記憶部12に記憶された開発システム名100を読み出し、与えられた開発工数IA及びIBとともに表示装置に表示させる(ステップS27)。その際に開発工数IA及びIBの総和を表示させても勿論よい。
また、ユースケース情報入力促進部11に試験項目数Kが直接入力されたときには該試験項目数Kから上記方法で開発工数Iを求めればよい。
以上説明したように、開発工数見積装置1は、開発システムと該開発システムを利用するユーザとの間に発生する相互作用を示すユースケースにノーマルユースケースが1以上含まれかつ各ノーマルユースケースに該ノーマルユースケースで保守される論理ファイルである概念クラスが1以上含まれるときの当該各ノーマルユースケースごとの概念クラスの数の総和と当該ノーマルユースケースの数とを乗ずる乗算の乗算結果を概念クラス粒度ユースケース数として用いることによりこれから開発される開発システムの開発工数を見積もる開発工数見積装置である。
開発工数見積装置1は、開発システムにおける概念クラス粒度ユースケース数に対する試験項目数を近似する試験項目数見積近似式と、開発システムにおける試験項目数に対する開発工数を近似する開発工数見積近似式とが記憶される近似式記憶手段である近似式記憶部14と、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力手段であるユースケース情報入力促進部11を備え、ユースケース情報入力促進部11は、入力された各概念クラスの数の総和を求め、該総和と、入力された前記ノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出手段としても機能する。さらに、開発工数見積装置1は、近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積手段である工数算出部13を備え、該工数算出部13は、近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた試験項目数とを用いて、開発工数を見積もる開発工数見積手段としても機能する。
また、開発工数見積装置1の実行する処理は、本発明の開発工数見積方法に相当し、開発工数見積装置1が、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで、当該開発工数見積装置に、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力段階であるステップS5及び7と、開発工数見積装置1が、入力された各概念クラスの数の総和を求め、該総和と、入力されたノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出段階であるステップS13と、開発工数見積装置1が、近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積段階を構成するステップS17及び19と、開発工数見積装置1が、近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた試験項目数とを用いて、開発工数を見積もる開発工数見積段階を構成するステップS21及び23を備える。
したがって、開発工数見積装置1により、所期の目的、つまりコードを用いない開発に使え、FP法等の知識が不要で、しかも正確に開発工数を見積もることが可能となる。
また、近似式記憶手段は、図4に示すように、開発システムの特性を示すシステム特性値ごとに開発工数見積近似式が記憶されるものであり、入力手段は、ステップS9の前段階で、システム特性値をユースケースごとに入力するように促すとともに、入力されたシステム特性値を開発工数見積手段に与え、開発工数見積手段は、近似式記憶手段から、与えられたシステム特性値に対応する開発工数見積近似式を読み出すので、開発システムの特性に応じた開発工数を見積もることができる。
また、システム特性値が開発システムの複数の特性のそれぞれを示す値からなるので、当該複数の特性を有する開発システムの開発工数を見積もることができる。
なお、汎用的なコンピュータを開発工数見積装置1として機能させるコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に格納したり、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
本発明を適用した開発工数見積装置1の構成を示す図である。 プロジェクトの開発工数を目的変数として説明変数に結合試験数、総合試験数、開発規模を選択して回帰分析を行った結果を示す図である。 近似式記憶部14に記憶された開発工数見積近似式142の求め方を説明するための散布図である。 近似式記憶部14における開発工数見積近似式142の記憶形態を示す図である。 近似式記憶部14に記憶された試験項目数見積近似式141の求め方を説明するための散布図である。 本実施の形態におけるユースケースとノーマルユースケースと概念クラスの関係を示す図である。 ユースケースと概念クラスとの関係を示す図である。 開発工数見積装置1の動作を示すシーケンス図である。 ノーマルユースケース数及び概念クラス粒度ユースケース数のそれぞれと試験項目数との相関係数を示す図である。
符号の説明
1 開発工数見積装置
11 ユースケース情報入力促進部
12 入力情報記憶部
13 工数算出部
14 近似式記憶部
141 試験項目数見積近似式
142 開発工数見積近似式
100 開発システム名
101A,101B 、ユースケース名
mAα,mAβ,mBα,mBβ…概念クラス数
nA,nB…ノーマルユースケース数
PA,PB 概念クラス粒度ユースケース数
KA,KB 試験項目数
IA,IB 開発工数

Claims (6)

  1. 開発システムと該開発システムを利用するユーザとの間に発生する相互作用を示すユースケースにノーマルユースケースが1以上含まれかつ各ノーマルユースケースに該ノーマルユースケースで保守される論理ファイルである概念クラスが1以上含まれるときの当該各ノーマルユースケースごとの概念クラスの数の総和と当該ノーマルユースケースの数とを乗ずる乗算の乗算結果を概念クラス粒度ユースケース数として用いることによりこれから開発される開発システムの開発工数を見積もる開発工数見積装置であって、
    開発システムにおける概念クラス粒度ユースケース数に対する試験項目数を近似する試験項目数見積近似式と、開発システムにおける試験項目数に対する開発工数を近似する開発工数見積近似式とが記憶される近似式記憶手段と、
    前記各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力手段と、
    入力された前記各概念クラスの数の総和を求め、該総和と、入力された前記ノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出手段と、
    前記近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積手段と、
    前記近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた前記試験項目数とを用いて、開発工数を見積もる開発工数見積手段と
    を備えることを特徴とする開発工数見積装置。
  2. 前記近似式記憶手段は、開発システムの特性を示すシステム特性値ごとに前記開発工数見積近似式が記憶されるものであり、前記入力手段は、システム特性値をユースケースごとに入力するように促すとともに、入力されたシステム特性値を前記開発工数見積手段に与え、前記開発工数見積手段は、前記近似式記憶手段から、与えられたシステム特性値に対応する開発工数見積近似式を読み出すことを特徴とする請求項1記載の開発工数見積装置。
  3. システム特性値が開発システムの複数の特性のそれぞれを示す値からなることを特徴とする請求項2記載の開発工数見積装置。
  4. 開発システムと該開発システムを利用するユーザとの間に発生する相互作用を示すユースケースにノーマルユースケースが1以上含まれかつ各ノーマルユースケースに該ノーマルユースケースで保守される論理ファイルである概念クラスが1以上含まれるときの当該各ノーマルユースケースごとの概念クラスの数の総和と当該ノーマルユースケースの数とを乗ずる乗算の乗算結果を概念クラス粒度ユースケース数として用いることにより開発システムの開発工数を見積もる開発工数見積装置に、開発システムにおける概念クラス粒度ユースケース数に対する試験項目数を近似する試験項目数見積近似式と、開発システムにおける試験項目数に対する開発工数を近似する開発工数見積近似式とが記憶される近似式記憶手段が設けられているときの開発工数見積方法であって、
    前記開発工数見積装置が、前記各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで、当該開発工数見積装置に、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力段階と、
    前記開発工数見積装置が、入力された前記各概念クラスの数の総和を求め、該総和と、入力された前記ノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出段階と、
    前記開発工数見積装置が、前記近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積段階と、
    前記開発工数見積装置が、前記近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた前記試験項目数とを用いて、開発工数を見積もる開発工数見積段階と
    を備えることを特徴とする開発工数見積方法。
  5. 開発システムと該開発システムを利用するユーザとの間に発生する相互作用を示すユースケースにノーマルユースケースが1以上含まれかつ各ノーマルユースケースに該ノーマルユースケースで保守される論理ファイルである概念クラスが1以上含まれるときの当該各ノーマルユースケースごとの概念クラスの数の総和と当該ノーマルユースケースの数とを乗ずる乗算の乗算結果を概念クラス粒度ユースケース数として用いることにより開発システムの開発工数を見積もる開発工数見積装置としてコンピュータを機能させるコンピュータプログラムであって、
    開発システムにおける概念クラス粒度ユースケース数に対する試験項目数を近似する試験項目数見積近似式と、開発システムにおける試験項目数に対する開発工数を近似する開発工数見積近似式とが記憶される近似式記憶手段と、
    前記各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力手段と、
    入力された前記各概念クラスの数の総和を求め、該総和と、入力された前記ノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出手段と、
    前記近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積手段と、
    前記近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた前記試験項目数とを用いて、開発工数を見積もる開発工数見積手段と
    を前記開発工数見積装置が備えるようにコンピュータを機能させることを特徴とするコンピュータプログラム。
  6. 請求項5記載のコンピュータプログラムが格納された記録媒体。

JP2003311590A 2003-09-03 2003-09-03 開発工数見積装置、開発工数見積方法、コンピュータプログラム及び記録媒体 Pending JP2005078588A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003311590A JP2005078588A (ja) 2003-09-03 2003-09-03 開発工数見積装置、開発工数見積方法、コンピュータプログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003311590A JP2005078588A (ja) 2003-09-03 2003-09-03 開発工数見積装置、開発工数見積方法、コンピュータプログラム及び記録媒体

Publications (1)

Publication Number Publication Date
JP2005078588A true JP2005078588A (ja) 2005-03-24

Family

ID=34413122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003311590A Pending JP2005078588A (ja) 2003-09-03 2003-09-03 開発工数見積装置、開発工数見積方法、コンピュータプログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP2005078588A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008171362A (ja) * 2007-01-15 2008-07-24 Nomura Research Institute Ltd システム設計支援装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008171362A (ja) * 2007-01-15 2008-07-24 Nomura Research Institute Ltd システム設計支援装置

Similar Documents

Publication Publication Date Title
Schneidewind Body of knowledge for software quality measurement
US5729746A (en) Computerized interactive tool for developing a software product that provides convergent metrics for estimating the final size of the product throughout the development process using the life-cycle model
US7613589B2 (en) Measuring productivity and quality in model-based design
US20120016701A1 (en) Intelligent timesheet assistance
US20090055142A1 (en) Method and apparatus for estimating man-hours
US20140310619A1 (en) Signal capture controls in recalculation user interface
US10423416B2 (en) Automatic creation of macro-services
JP2019028871A (ja) プロジェクト管理支援装置、プロジェクト管理支援方法およびプログラム
CN111291936B (zh) 产品生命周期预估模型生成方法、装置及电子设备
Haoues et al. A rapid measurement procedure for sizing web and mobile applications based on COSMIC FSM method
JP2005078588A (ja) 開発工数見積装置、開発工数見積方法、コンピュータプログラム及び記録媒体
Trudel et al. Functional size measurement patterns: A proposed approach
Cockcroft Estimating CASE development size from outline specifications
US20060064671A1 (en) Creating and using a building block
KR20220006580A (ko) 방문 예측
JP2007164311A (ja) ソフトウェア開発工数見積装置、ソフトウェア開発工数見積方法及びソフトウェア開発工数見積プログラム
US20140136270A1 (en) Acquisition roadmapping tool
Henderson et al. A tool for evaluation of the software development process
Fillion et al. Concepts of solution and the finite element method: a philosophical take on variational crimes
KR20190091042A (ko) 소프트웨어 분석 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록 매체
JP2002222080A (ja) ソフトウエア見積りシステム
Ungan et al. A functional software measurement approach to bridge the gap between problem and solution domains
JP2749657B2 (ja) ソフトウェア品質シミュレータ装置
Ungan A functional software measurement approach bridging the gap between problem and solution domains
KR20220052457A (ko) 모델링을 이용한 선박의 케이블 길이 측정 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060627

A02 Decision of refusal

Effective date: 20061114

Free format text: JAPANESE INTERMEDIATE CODE: A02