(57)【要約】【課題】  コードを用いない開発に使え、ＦＰ法等の知識が不要で、しかも正確に開発工数を見積もることのできる開発工数見積装置を提供する。【解決手段】  開発工数見積装置１のユースケース情報入力促進部１１は、入力された各概念クラスの数の総和を求め、該総和と、入力されたノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める。さらに、開発工数見積装置１の工数算出部１３は、近似式記憶部１４から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる。さらに工数算出部１３は、近似式記憶部１４から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた試験項目数とを用いて、開発工数を見積もる。【選択図】図１
2005078588.tif 000002
【特許請求の範囲】
【請求項１】
開発システムと該開発システムを利用するユーザとの間に発生する相互作用を示すユースケースにノーマルユースケースが１以上含まれかつ各ノーマルユースケースに該ノーマルユースケースで保守される論理ファイルである概念クラスが１以上含まれるときの当該各ノーマルユースケースごとの概念クラスの数の総和と当該ノーマルユースケースの数とを乗ずる乗算の乗算結果を概念クラス粒度ユースケース数として用いることによりこれから開発される開発システムの開発工数を見積もる開発工数見積装置であって、
開発システムにおける概念クラス粒度ユースケース数に対する試験項目数を近似する試験項目数見積近似式と、開発システムにおける試験項目数に対する開発工数を近似する開発工数見積近似式とが記憶される近似式記憶手段と、
前記各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力手段と、
入力された前記各概念クラスの数の総和を求め、該総和と、入力された前記ノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出手段と、
前記近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積手段と、
前記近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた前記試験項目数とを用いて、開発工数を見積もる開発工数見積手段と
を備えることを特徴とする開発工数見積装置。
【請求項２】
前記近似式記憶手段は、開発システムの特性を示すシステム特性値ごとに前記開発工数見積近似式が記憶されるものであり、前記入力手段は、システム特性値をユースケースごとに入力するように促すとともに、入力されたシステム特性値を前記開発工数見積手段に与え、前記開発工数見積手段は、前記近似式記憶手段から、与えられたシステム特性値に対応する開発工数見積近似式を読み出すことを特徴とする請求項１記載の開発工数見積装置。
【請求項３】
システム特性値が開発システムの複数の特性のそれぞれを示す値からなることを特徴とする請求項２記載の開発工数見積装置。
【請求項４】
開発システムと該開発システムを利用するユーザとの間に発生する相互作用を示すユースケースにノーマルユースケースが１以上含まれかつ各ノーマルユースケースに該ノーマルユースケースで保守される論理ファイルである概念クラスが１以上含まれるときの当該各ノーマルユースケースごとの概念クラスの数の総和と当該ノーマルユースケースの数とを乗ずる乗算の乗算結果を概念クラス粒度ユースケース数として用いることにより開発システムの開発工数を見積もる開発工数見積装置に、開発システムにおける概念クラス粒度ユースケース数に対する試験項目数を近似する試験項目数見積近似式と、開発システムにおける試験項目数に対する開発工数を近似する開発工数見積近似式とが記憶される近似式記憶手段が設けられているときの開発工数見積方法であって、
前記開発工数見積装置が、前記各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで、当該開発工数見積装置に、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力段階と、
前記開発工数見積装置が、入力された前記各概念クラスの数の総和を求め、該総和と、入力された前記ノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出段階と、
前記開発工数見積装置が、前記近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積段階と、
前記開発工数見積装置が、前記近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた前記試験項目数とを用いて、開発工数を見積もる開発工数見積段階と
を備えることを特徴とする開発工数見積方法。
【請求項５】
開発システムと該開発システムを利用するユーザとの間に発生する相互作用を示すユースケースにノーマルユースケースが１以上含まれかつ各ノーマルユースケースに該ノーマルユースケースで保守される論理ファイルである概念クラスが１以上含まれるときの当該各ノーマルユースケースごとの概念クラスの数の総和と当該ノーマルユースケースの数とを乗ずる乗算の乗算結果を概念クラス粒度ユースケース数として用いることにより開発システムの開発工数を見積もる開発工数見積装置としてコンピュータを機能させるコンピュータプログラムであって、
開発システムにおける概念クラス粒度ユースケース数に対する試験項目数を近似する試験項目数見積近似式と、開発システムにおける試験項目数に対する開発工数を近似する開発工数見積近似式とが記憶される近似式記憶手段と、
前記各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力手段と、
入力された前記各概念クラスの数の総和を求め、該総和と、入力された前記ノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出手段と、
前記近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積手段と、
前記近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた前記試験項目数とを用いて、開発工数を見積もる開発工数見積手段と
を前記開発工数見積装置が備えるようにコンピュータを機能させることを特徴とするコンピュータプログラム。
【請求項６】
請求項５記載のコンピュータプログラムが格納された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コードを用いない開発に使え、ＦＰ法等の知識が不要で、しかも正確に開発工数を見積もることのできる開発工数見積装置に関するものである。
【背景技術】
【０００２】
ソフトウェア開発における開発工数は、ソフトウェアのコード量から見積もるのが一般的である。コード量が用いられるのは、コード量を見積もるのが簡単で開発工数との相関が大きいからである。
【０００３】
開発工数をコード量以外で見積もる手法としては、ＦＰ（ファンクションポイント）法が良く知られている。この手法はソフトウェアを、ユーザが認識できる論理ファイルとトランザクションの組合せとしてモデル化し計測しようとするものである。ＦＰ法では、システム中の論理ファイルとトランザクションを識別し、各々に複雑さを考慮したポイント付けを行い、総計する方法が取られる。このためソースコードがないソフトウェアの規模でも開発工数を見積れる。
【０００４】
また、ＦＰ法と良く似た概念としてユースケースポイントがある。ユースケースモデルは、オブジェクト指向開発手法の要求定義ドキュメントとして既に定着している。ユースケースとは、システムが果たすべき機能をユーザレベルで記述したドキュメントで、システムの外部仕様を表現している。ユースケースポイントとは、ユースケースを大きさでレーティングしてポイント化し、システム特性を考慮して増減したポイントを、直接開発工数と関連付けて見積もり根拠としている。
【０００５】
ソフトウェア開発における開発工数を見積もる技術として、特許文献１には、開発要件から見積もりを行う技術が記載されている。また、特許文献２には、入力条件がユースケースという技術が記載されている。また、特許文献３には、過去のデータからシステム特性を考慮した近似式を作成し、見積もりを行う技術が記載されている。
【０００６】
一方、非特許文献１には、ＦＰ法の技術が記載されている。
【特許文献１】特開平０７−１９１８３９号公報
【特許文献２】特開２００１−１１７７６３号公報
【特許文献３】特開２０００−３３９１４７号公報
【非特許文献１】児玉公信著、「実践  ファンクションポイント法」、第１版、日本能率協会マネージメントセンター、１９９９.７.１５
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したように、ソフトウェアの開発工数は、（１）コード量から見積もる、（２）ＦＰ法で見積もる、（３）ユースケースから見積もる、という３つの方法で見積もることができる。
【０００８】
しかしながら、（１）ソフトウェアにおいてコード量を見極めるには熟練が必要であり、その人の感覚によってもコード量が変ってくる。しかも、昨今では根本的にソースコードを書かないタイプの開発も増え、ソフトウェアコード自体がないことがある。
【０００９】
一方、（２）機能量を測定するＦＰ法は、ソースコードを書かないタイプの開発に有用であるが、正確な計測結果を得るためには計測ルールを学び、正しく計測を行う必要がある。かかる煩雑さがあるからＦＰ法が採用されることは少なく、採用されたとしても十分なデータ量を得るまでに至らず、それを用いても妥当な結果が得られない。
【００１０】
一方、（３）ユースケースから見積もる場合においてユースケースの抽出は、ＦＰのように見積もりのための特別な作業ではないので計測に特別な作業を必要としないが、ユースケースという概念自体が曖昧で、その粒度は、ＦＰの様に厳密に規定されたものではない。このため、人の解釈により開発工数が異なってくる。したがって、ユースケースから正確な開発工数を見積もることができない。
【００１１】
そこで本発明は、上記の従来の課題に鑑みてなされたものであり、その目的とするところは、コードを用いない開発に使え、ＦＰ法等の知識が不要で、しかも正確に開発工数を見積もることのできる開発工数見積装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記従来の課題を解決するために、請求項１の本発明は、開発システムと該開発システムを利用するユーザとの間に発生する相互作用を示すユースケースにノーマルユースケースが１以上含まれかつ各ノーマルユースケースに該ノーマルユースケースで保守される論理ファイルである概念クラスが１以上含まれるときの当該各ノーマルユースケースごとの概念クラスの数の総和と当該ノーマルユースケースの数とを乗ずる乗算の乗算結果を概念クラス粒度ユースケース数として用いることによりこれから開発される開発システムの開発工数を見積もる開発工数見積装置であって、開発システムにおける概念クラス粒度ユースケース数に対する試験項目数を近似する試験項目数見積近似式と、開発システムにおける試験項目数に対する開発工数を近似する開発工数見積近似式とが記憶される近似式記憶手段と、前記各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力手段と、入力された前記各概念クラスの数の総和を求め、該総和と、入力された前記ノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出手段と、前記近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積手段と、前記近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた前記試験項目数とを用いて、開発工数を見積もる開発工数見積手段とを備えることを特徴とする開発工数見積装置をもって解決手段とする。
【００１３】
この請求項１の本発明によれば、試験項目数見積近似式と、開発工数見積近似式とが記憶される近似式記憶手段と、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力手段と、入力された各概念クラスの数の総和を求め、該総和と、入力されたノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出手段と、近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積手段と、近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた試験項目数とを用いて、開発工数を見積もる開発工数見積手段とを備えるので、コードを用いない開発に使え、ＦＰ法等の知識が不要で、しかも正確に開発工数を見積もることができる。
【００１４】
また、請求項２の本発明は、前記近似式記憶手段は、開発システムの特性を示すシステム特性値ごとに前記開発工数見積近似式が記憶されるものであり、前記入力手段は、システム特性値をユースケースごとに入力するように促すとともに、入力されたシステム特性値を前記開発工数見積手段に与え、前記開発工数見積手段は、前記近似式記憶手段から、与えられたシステム特性値に対応する開発工数見積近似式を読み出すことを特徴とする請求項１記載の開発工数見積装置をもって解決手段とする。
【００１５】
この請求項２の本発明によれば、近似式記憶手段は、開発システムの特性を示すシステム特性値ごとに開発工数見積近似式が記憶されるものであり、入力手段は、システム特性値をユースケースごとに入力するように促すとともに、入力されたシステム特性値を開発工数見積手段に与え、開発工数見積手段は、近似式記憶手段から、与えられたシステム特性値に対応する開発工数見積近似式を読み出すので、開発システムの特性に応じた開発工数を見積もることができる。
【００１６】
また、請求項３の本発明は、システム特性値が開発システムの複数の特性のそれぞれを示す値からなることを特徴とする請求項２記載の開発工数見積装置をもって解決手段とする。
【００１７】
この請求項３の本発明によれば、システム特性値が開発システムの複数の特性のそれぞれを示す値からなるので、当該複数の特性を有する開発システムの開発工数を見積もることができる。
【００１８】
また、請求項４の本発明は、開発システムと該開発システムを利用するユーザとの間に発生する相互作用を示すユースケースにノーマルユースケースが１以上含まれかつ各ノーマルユースケースに該ノーマルユースケースで保守される論理ファイルである概念クラスが１以上含まれるときの当該各ノーマルユースケースごとの概念クラスの数の総和と当該ノーマルユースケースの数とを乗ずる乗算の乗算結果を概念クラス粒度ユースケース数として用いることにより開発システムの開発工数を見積もる開発工数見積装置に、開発システムにおける概念クラス粒度ユースケース数に対する試験項目数を近似する試験項目数見積近似式と、開発システムにおける試験項目数に対する開発工数を近似する開発工数見積近似式とが記憶される近似式記憶手段が設けられているときの開発工数見積方法であって、前記開発工数見積装置が、前記各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで、当該開発工数見積装置に、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力段階と、前記開発工数見積装置が、入力された前記各概念クラスの数の総和を求め、該総和と、入力された前記ノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出段階と、前記開発工数見積装置が、前記近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積段階と、前記開発工数見積装置が、前記近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた前記試験項目数とを用いて、開発工数を見積もる開発工数見積段階とを備えることを特徴とする開発工数見積方法をもって解決手段とする。
【００１９】
この請求項４の本発明によれば、請求項１の本発明の場合と同様の効果を奏する。
【００２０】
また、請求項５の本発明は、開発システムと該開発システムを利用するユーザとの間に発生する相互作用を示すユースケースにノーマルユースケースが１以上含まれかつ各ノーマルユースケースに該ノーマルユースケースで保守される論理ファイルである概念クラスが１以上含まれるときの当該各ノーマルユースケースごとの概念クラスの数の総和と当該ノーマルユースケースの数とを乗ずる乗算の乗算結果を概念クラス粒度ユースケース数として用いることにより開発システムの開発工数を見積もる開発工数見積装置としてコンピュータを機能させるコンピュータプログラムであって、開発システムにおける概念クラス粒度ユースケース数に対する試験項目数を近似する試験項目数見積近似式と、開発システムにおける試験項目数に対する開発工数を近似する開発工数見積近似式とが記憶される近似式記憶手段と、前記各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力手段と、入力された前記各概念クラスの数の総和を求め、該総和と、入力された前記ノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出手段と、前記近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積手段と、前記近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた前記試験項目数とを用いて、開発工数を見積もる開発工数見積手段とを前記開発工数見積装置が備えるようにコンピュータを機能させることを特徴とするコンピュータプログラムをもって解決手段とする。
【００２１】
この請求項５の本発明によれば、コンピュータプログラムにより請求項１や請求項４の場合と同様の効果を得ることができる。
【００２２】
また、請求項６の本発明は、請求項５記載のコンピュータプログラムが格納された記録媒体をもって解決手段とする。
【００２３】
この請求項６の本発明によれば、コンピュータプログラムが格納された記録媒体により請求項１や請求項４の場合と同様の効果を得ることができる。
【発明の効果】
【００２４】
本発明によれば、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力され、入力された各概念クラスの数の総和を求め、該総和と、入力されたノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求め、近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた概念クラス粒度ユースケース数とを用いて、試験項目数を見積もり、開発工数見積装置が、近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた試験項目数とを用いて、開発工数を見積もるので、コードを用いない開発に使え、ＦＰ法等の知識が不要で、しかも正確に開発工数を見積もることができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態を図面を参照して説明する。
【００２６】
図１は、本発明を適用した開発工数見積装置１の構成を示す図である。
【００２７】
開発工数見積装置１は、これから開発されるコンピュータシステム（開発システムという）開発工数を見積もるコンピュータである。開発工数見積装置１は、開発工数見積装置１のオペレータである、例えばプロジェクト管理者との間で情報の入出力を行うユースケース情報入力促進部１１と、ユースケース情報入力促進部１１に入力された情報（入力情報）が記憶される入力情報記憶部１２と、開発工数を見積もる工数算出部１３と、開発工数を算出する上で用いられる近似式が記憶された近似式記憶部１４とを備えるコンピュータである。なお、ユースケース情報入力促進部１１は、図示しない入力装置（キーボードやマウスなど）で情報を入力され、また図示しない表示装置への文字表示等により情報入力を促すことや開発工数の出力を行う。
【００２８】
さて、開発工数見積装置１は、開発工数を見積もるものだが開発工数を直接求めるのではく、試験項目数を先ず見積もり、試験項目数から開発工数を見積もるるようにしている。
【００２９】
ここで、試験項目数から開発工数を見積もるようにした理由を説明する。
【００３０】
一般的に開発工数は、開発規模（ＳＬＯＣ：１９９５年に国際規格となったソフトウェアライフサイクルプロセス（ＩＳＯ／ＩＥＣ１２２０７））から見積もられるが、開発規模に代わる見積もり基準として試験項目数を採用するところとなり、その採用にあたり、過去の開発管理データを分析し、実際に試験項目数と開発工数の間に相関があるか否かを調査した。
【００３１】
図２は、プロジェクトの開発工数を目的変数として説明変数に結合試験数、総合試験数、開発規模を選択して回帰分析を行った結果を示す図である。
【００３２】
まず、表中の寄与率とは調査対象データと回帰直線との当てはまり度合いを示しており、大きい値であるほど良く当てはまることを示す。次に、回帰式とは、結合試験と開発工数の回帰分析の結果得られた回帰直線の傾きと切片を示している。最後に、データ数とは、調査対象のプロジェクト数である。なお、分析は利用した開発言語毎にプロジェクトをまとめてグループ化して分析を行った。
【００３３】
寄与率データ中の網掛けは、３種類の説明変数のうちで開発工数との回帰分析結果の寄与率が最大のものを示している。図２の結果から、結合試験数（ＩＴで示す）は、全体では開発規模に及ばないものの、開発言語のグループを個別に見ると開発規模よりも開発工数との高い相関を持つことが分かる。しかも、ソースを直接記述しないタイプの開発を行うＧＵＩ（Graphical User Interface)系の開発言語であるＶＢやＶＣ＋＋における相関が非常に高い特徴を持つことが分かる。
【００３４】
以上の結果から、試験項目数は、開発規模と同等かそれ以上の見積もり根拠として十分機能することが期待できる。そして、開発工数と試験項目数、開発工数と開発規模との回帰分析結果を比較すると、前者の方が後者より寄与率が高いことが分かった。つまり、システムの特性を特定すると開発規模から見積もるよりも高い精度で見積もりができる可能性があることが判明した。
【００３５】
図３は、近似式記憶部１４に記憶された開発工数見積近似式１４２の求め方を説明するための散布図である。
【００３６】
試験項目数見積近似式１４２は、ｙ＝ｕｘ＋ｗ（ｕ：傾き，ｗ：切片）で与えられる一次式である。開発工数見積近似式１４２を求めるには、過去に開発された、種類と開発言語とが同一の開発システムについて、試験項目数Ｋに対する開発工数Ｉの分布を示す散布図を作成し、該図上で当該分布を近似する一次式を試験項目数見積近似式１４１として求めればよい。
【００３７】
そして、このような作業を、開発システムの種類と開発言語の組ごとに行い、当該方法で求められた各開発工数見積近似式１４２を近似式記憶部１４に記憶させればよい。
【００３８】
図４は、近似式記憶部１４における開発工数見積近似式１４２の記憶形態を示す図である。
【００３９】
近似式記憶部１４には、開発工数を見積もるための開発工数見積近似式１４２が複数のシステム特性値１０２のそれぞれに対応づけて記憶されている。
【００４０】
システム特性値１０２は、開発システムの特性を示すものであり、詳しくは開発システムの種類を示す値と、開発システムを開発する際に用いられる開発言語を示す値とを組み合わせたものである。
【００４１】
つまり、各開発工数見積近似式１４２は、該開発工数見積近似式１４２を求める上で上記の散布図が作られた開発システムの種類と開発言語の組に対応するものである。
【００４２】
システム特性値１０２の構成によれば、１つのシステム特性値１０２で特定の開発システムの種類と開発言語の両方を同時に示すことができる。したがって、１つのシステム特性値１０２から、特定の開発システムの種類と開発言語についての開発工数見積近似式１４２を読み出すことができる。
【００４３】
図５は、近似式記憶部１４に記憶された試験項目数見積近似式１４１の求め方を説明するための散布図である。
【００４４】
近似式記憶部１４には、試験項目数を見積もるための試験項目数見積近似式１４１が記憶されている。試験項目数見積近似式１４１はｙ＝ｓｘ＋ｔ（ｓ：傾き，ｔ：切片）で与えられる一次式である。試験項目数見積近似式１４１を求めるには、過去に開発された多数の開発システムについての概念クラス粒度ユースケース数Ｐ（後述する）に対する試験項目数Ｋの分布を示す散布図を作成し、該図上で当該分布を近似する一次式を試験項目数見積近似式１４１として求めればよい。
【００４５】
ところで、本実施の形態においては、ユースケースの粒度を合わせ、正確に試験項目を見積もるためにシステムの機能量の計測方法を規定しているＦＰ（ファンクションポイント）法の概念が適用される。ＦＰ法の定義の中でトランザクションファンクションの主目的の一つがシステム内部の論理ファイルの保守であると規定している点に注目したのである。システム内部の論理ファイルとは、オブジェクト指向開発においては分析クラスを構成する概念である。この分析クラスの存在を意識することによって粒度の異なるユースケースをＦＰ法が実現している程度に是正できると考られる。上記、概念クラス粒度ユースケース数とは、ＦＰ法における保守対象である論理ファイルの数であるユースケース数である。
【００４６】
次に、本実施の形態の動作を説明する。
【００４７】
図６は、本実施の形態におけるユースケースとノーマルユースケースと概念クラスの関係を示す図である。左側に示すように、例えば、プロジェクト管理者は、これから開発する開発システムには２つのユースケース、つまりユースケース名１０１Ａのユースケースとユースケース名１０１Ｂのユースケースとが含まれ、各ユースケースには２つづつの概念クラス（ユースケースに関連して保守される論理ファイルでエンティティともいう）が含まれていると記載されたシステム仕様書等を用意する。ユースケースは、例えば、「勤務表の管理をする」や「開発工数見積のシステム設計をする」というような文字列である。なお、ユースケース数と概念クラス数については便宜的に実際の数よりも少なくしている。
【００４８】
一方、図７に示すように、概念クラスは、ユースケースが「伝送装置を制御する」である場合には、無線装置、該無線装置に属する固定無線装置及び衛星無線装置、当該固定無線装置の伝送方式であるディジタル方式及びアナログ方式の各要素が概念クラスである。以降、ユースケースごとに扱われる後述のデータをＡとＢで区別する。なお、右側の図については後述する。
【００４９】
図８は、開発工数見積装置１の動作を示すシーケンス図である。
【００５０】
ユースケース情報入力促進部１１は、プロジェクト管理者に対して、「開発システム名を入力してください」等と表示することにより入力を促し、これによりプロジェクト管理者が入力した開発システム名１００を保持する（ステップＳ１）。
【００５１】
次に、ユースケース情報入力促進部１１は、プロジェクト管理者に対して、「ユースケース名を入力してください」等と表示することにより入力を促し、これによりプロジェクト管理者が入力したユースケース名１０１Ａ及び１０１Ｂを保持する（ステップＳ３）。
【００５２】
次に、ユースケース情報入力促進部１１は、プロジェクト管理者に対して、「ノーマルユースケース数をユースケースごとに入力してください」と表示することにより入力を促し、これによりプロジェクト管理者がユースケース名１０１Ａと１０１Ｂのそれぞれのユースケースについて入力したノーマルユースケース数ｎＡ及びｎＢを保持する（ステップＳ５）。説明簡略化のため、ノーマルユースケース数ｎＡ、ｎＢをともに「２」とする。
【００５３】
ところで、ユースケースは、開発システムと該開発システムを利用するユーザの間に発生する相互作用を示すものである。しかし、現状システムやユーザの定義は、厳密に規定されたものではない。これは、ユースケースの考案者であるIvar Jacobsonが論文中でユースケースの数はシステムの規模によらず数十程度までが適当であると記述していることからも明らかである。つまり、ユースケースの粒度はシステムが大きいほど大きくなる可能性を示唆している。このため、ユースケースは。その粒度が識別する人の解釈によって変化してしまう課題を持っている。例えば、サブコントラクタの立場でプロジェクトに参加し自分の分担範囲のサブシステムを境界とする場合とシステム全体を境界とする場合では、ユースケースの粒度が変ることは容易に予想できる。
【００５４】
この様にシステム間やユースケース自身の間で、その粒度にバラツキが存在すると、見積もりの根拠のための共通単位としてユースケースを用いるのは困難である。したがって、ユースケースの特性を保ちつつバラツキを抑えることが必要である。
【００５５】
そこで、開発工数見積装置１では、プロジェクト管理者に、ユースケースよりも粒度の細かいノーマルユースケースの数の入力を促すことにより、かかる課題を解決している。
【００５６】
さて、ノーマルユースケース数ｎＡ、ｎＢをともに「２」とすると、図６の右側に示すように、ユースケース名１０１Ａと１０１Ｂのそれぞれのユースケースに２つのノーマルユースケースが含まれることになる。ユースケースが「勤務表の管理をする」の場合には、ノーマルユースケースとして、例えば「勤務表に登録する」と「勤務表を参照する」が含まれるのである。また多い場合には、「勤務表を更新する」、「勤務表を削除する」等も含まれる。以降、各ユースケースについてのノーマルユースケースごとに扱われるデータ（後述する）をαとβで区別することにする。なお、概念クラス数については後述する。
【００５７】
次に、ユースケース情報入力促進部１１は、プロジェクト管理者に対して、「ノーマルユースケースごとに概念クラス数を入力してください」等と表示することにより入力を促し、これによりプロジェクト管理者からノーマルユースケースごとに概念クラス数ｍが入力される（ステップＳ７）。各概念クラス数ｍを、上記した区別方法により、概念クラス数ｍＡα、ｍＡβ、ｍＢα、ｍＢβと表す。なお、ｍＡαとｍＢαはともにαを含む表記であるが関連性は必ずしも必要でない。ｍＡβとｍＢβについても同様である。
【００５８】
さて、概念クラス数ｍＡα及びｍＡβはそれぞれ、図５に示すように、ユースケース名１０１Ａのユースケースに含まれる概念クラスの数と同数、つまり「２」でよい。概念クラス数ｍＢα及びｍＢβも同様に「２」でよい。すなわち、各ユースケースが２つのノーマルユースケースに分割されたので、ノーマルユースケースに含まれる概念クラスの総和はユースケースに含まれる概念クラスの総和の２倍になっている。なお、ユースケース情報入力促進部１１は、概念クラス数ｍＡα、ｍＡβ、ｍＢα、ｍＢβを保持する。
【００５９】
次に、ユースケース情報入力促進部１１は、プロジェクト管理者に対して、「ユースケースごとにシステム特性値を入力してください」等と表示することにより入力を促し、これによりプロジェクト管理者が入力したシステム特性値１０２Ａ及び１０２Ｂを保持する（ステップＳ９）。
【００６０】
これらデータの入力が終わり、ユースケース情報入力促進部１１は、プロジェクト管理者から開発工数の見積もりの要求が入力されると、保持した開発システム名１００、ユースケース名１０１Ａ及び１０１Ｂ、システム特性値１０２Ａ及び１０２Ｂ、ノーマルユースケース数ｎＡ及びｎＢ、概念クラス数ｍＡα、ｍＡβ、ｍＢα及びｍＢβを入力情報記憶部１２に記憶させる（ステップＳ１１）。
【００６１】
次に、ユースケース情報入力促進部１１は、ユースケースごとの概念クラス粒度ユースケース数ＰＡ、ＰＢを次の式（１）及び（２）により算出する（ステップＳ１３）。
【００６２】
［数１］
ＰＡ＝ｎＡ  ×  （ｍＡα  ＋  ｍＡβ）            …  （１）
ＰＢ＝ｎＢ  ×  （ｍＢα  ＋  ｍＢβ）            …  （２）
具体的には、ＰＡ＝２×（２＋２）＝８、ＰＢ＝２×（２＋２）＝８である。
【００６３】
つまり、概念クラス粒度ユースケース数はユースケース毎に求められる。そして、概念クラス粒度ユースケース数は、概念クラス数の総和にノーマルユースケース数を乗じたものである。
【００６４】
次に、ユースケース情報入力促進部１１は、概念クラス粒度ユースケース数ＰＡとシステム特性値１０２Ａの組、並びに概念クラス粒度ユースケース数ＰＢとシステム特性値１０２Ｂの組を工数算出部１３に与えて、開発工数の見積もりを要求する（ステップＳ１５）。
【００６５】
ところで、本実施の形態においては、ユースケース数やノーマルユースケース数そのものではなく、概念クラス粒度ユースケース数Ｐを算出してから、この概念クラス粒度ユースケース数Ｐに基づいて開発工数を算出する。
【００６６】
これは、図９に示すように、過去の開発のデータを用いて、ノーマルユースケース数と試験項目数との相関係数と、概念クラス粒度ユースケース数Ｐと試験項目数との相関係数とを算出したところ、後者の方が数値が高かったからである。なお、これは前述したＦＰ法の概念を証明している。
【００６７】
したがって、本実施の形態では、概念クラス粒度ユースケース数を用いることにしている。
【００６８】
さて、工数算出部１３は、ユースケースごとに以下の処理を行う。ここでは、ユースケース名１０１Ａのユースケースについて説明する。
【００６９】
[試験項目数の算出]
工数算出部１３は、先ず、ユースケース名１０１Ａのユースケースについての試験項目数ＫＡを見積もる。具体的には、近似式記憶部１４から試験項目数見積近似式を読み出す（ステップＳ１７）。そして、その試験項目数見積近似式に概念クラス粒度ユースケース数ＰＡを適用して試験項目数ＫＡを算出する（ステップＳ１９）。すなわち、試験項目数ＫＡを見積もる。
【００７０】
試験項目数見積近似式は、前述のようにｓｘ＋ｔ（ｓ：傾き，ｔ：切片）で与えられる一次式であり、ｘに概念クラス粒度ユースケース数ＰＡ「８」を代入すれば試験項目数ＫＡが得られる。
【００７１】
[開発工数の算出]
次に、工数算出部１３は、近似式記憶部１４からシステム特性値１０２Ａに対応する開発工数見積近似式を読み出す（ステップＳ２１）。例えばシステム特性値１０２Ａが、通信系の開発システムを開発言語「ＪＡＶＡ（登録商標）」で開発することを示すシステム特性値であれば、通信系の開発システムを開発言語「ＪＡＶＡ（登録商標）」で開発するときの開発工数見積近似式が一意に求まる。
【００７２】
工数算出部１３は、その開発工数見積近似式に、先ほど求めた試験項目数ＫＡを適用して開発工数ＩＡを算出する（ステップＳ２３）。すなわち、開発工数ＩＡを見積もる。
【００７３】
試験項目数見積近似式はｕｘ＋ｗ（ｕ：傾き，ｗ：切片）で与えられる一次式であり、ｘに試験項目数ＫＡを代入すれば開発工数ＩＡが得られる。
【００７４】
同様にして、工数算出部１３は、概念クラス粒度ユースケース数ＰＢ及びシステム特性値１０２Ｂを元に、試験項目数見積近似式並びに、システム特性値１０２Ｂに対応する開発工数見積近似式を用いて開発工数ＩＢを求め、該開発工数ＩＢを開発工数ＩＡとともにユースケース情報入力促進部１１に与える（ステップＳ２５）。
【００７５】
そして、最後にユースケース情報入力促進部１１は、入力情報記憶部１２に記憶された開発システム名１００を読み出し、与えられた開発工数ＩＡ及びＩＢとともに表示装置に表示させる（ステップＳ２７）。その際に開発工数ＩＡ及びＩＢの総和を表示させても勿論よい。
【００７６】
また、ユースケース情報入力促進部１１に試験項目数Ｋが直接入力されたときには該試験項目数Ｋから上記方法で開発工数Ｉを求めればよい。
【００７７】
以上説明したように、開発工数見積装置１は、開発システムと該開発システムを利用するユーザとの間に発生する相互作用を示すユースケースにノーマルユースケースが１以上含まれかつ各ノーマルユースケースに該ノーマルユースケースで保守される論理ファイルである概念クラスが１以上含まれるときの当該各ノーマルユースケースごとの概念クラスの数の総和と当該ノーマルユースケースの数とを乗ずる乗算の乗算結果を概念クラス粒度ユースケース数として用いることによりこれから開発される開発システムの開発工数を見積もる開発工数見積装置である。
【００７８】
開発工数見積装置１は、開発システムにおける概念クラス粒度ユースケース数に対する試験項目数を近似する試験項目数見積近似式と、開発システムにおける試験項目数に対する開発工数を近似する開発工数見積近似式とが記憶される近似式記憶手段である近似式記憶部１４と、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力手段であるユースケース情報入力促進部１１を備え、ユースケース情報入力促進部１１は、入力された各概念クラスの数の総和を求め、該総和と、入力された前記ノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出手段としても機能する。さらに、開発工数見積装置１は、近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積手段である工数算出部１３を備え、該工数算出部１３は、近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた試験項目数とを用いて、開発工数を見積もる開発工数見積手段としても機能する。
【００７９】
また、開発工数見積装置１の実行する処理は、本発明の開発工数見積方法に相当し、開発工数見積装置１が、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とを入力するように促すことで、当該開発工数見積装置に、各ノーマルユースケースごとの概念クラスの数とノーマルユースケースの数とが入力される入力段階であるステップＳ５及び７と、開発工数見積装置１が、入力された各概念クラスの数の総和を求め、該総和と、入力されたノーマルユースケースの数とを乗じ、乗算の乗算結果を概念クラス粒度ユースケース数として求める概念クラス粒度ユースケース数算出段階であるステップＳ１３と、開発工数見積装置１が、近似式記憶手段から試験項目数見積近似式を読み出し、該試験項目数見積近似式と、求められた前記概念クラス粒度ユースケース数とを用いて、試験項目数を見積もる試験項目数見積段階を構成するステップＳ１７及び１９と、開発工数見積装置１が、近似式記憶手段から開発工数見積近似式を読み出し、該開発工数見積近似式と、求められた試験項目数とを用いて、開発工数を見積もる開発工数見積段階を構成するステップＳ２１及び２３を備える。
【００８０】
したがって、開発工数見積装置１により、所期の目的、つまりコードを用いない開発に使え、ＦＰ法等の知識が不要で、しかも正確に開発工数を見積もることが可能となる。
【００８１】
また、近似式記憶手段は、図４に示すように、開発システムの特性を示すシステム特性値ごとに開発工数見積近似式が記憶されるものであり、入力手段は、ステップＳ９の前段階で、システム特性値をユースケースごとに入力するように促すとともに、入力されたシステム特性値を開発工数見積手段に与え、開発工数見積手段は、近似式記憶手段から、与えられたシステム特性値に対応する開発工数見積近似式を読み出すので、開発システムの特性に応じた開発工数を見積もることができる。
【００８２】
また、システム特性値が開発システムの複数の特性のそれぞれを示す値からなるので、当該複数の特性を有する開発システムの開発工数を見積もることができる。
【００８３】
なお、汎用的なコンピュータを開発工数見積装置１として機能させるコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に格納したり、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
【図面の簡単な説明】
【００８４】
【図１】本発明を適用した開発工数見積装置１の構成を示す図である。
【図２】プロジェクトの開発工数を目的変数として説明変数に結合試験数、総合試験数、開発規模を選択して回帰分析を行った結果を示す図である。
【図３】近似式記憶部１４に記憶された開発工数見積近似式１４２の求め方を説明するための散布図である。
【図４】近似式記憶部１４における開発工数見積近似式１４２の記憶形態を示す図である。
【図５】近似式記憶部１４に記憶された試験項目数見積近似式１４１の求め方を説明するための散布図である。
【図６】本実施の形態におけるユースケースとノーマルユースケースと概念クラスの関係を示す図である。
【図７】ユースケースと概念クラスとの関係を示す図である。
【図８】開発工数見積装置１の動作を示すシーケンス図である。
【図９】ノーマルユースケース数及び概念クラス粒度ユースケース数のそれぞれと試験項目数との相関係数を示す図である。
【符号の説明】
【００８５】
１    開発工数見積装置
１１  ユースケース情報入力促進部
１２  入力情報記憶部
１３  工数算出部
１４  近似式記憶部
１４１  試験項目数見積近似式
１４２  開発工数見積近似式
１００  開発システム名
１０１Ａ，１０１Ｂ  、ユースケース名
ｍＡα，ｍＡβ，ｍＢα，ｍＢβ…概念クラス数   
ｎＡ，ｎＢ…ノーマルユースケース数
ＰＡ，ＰＢ  概念クラス粒度ユースケース数
ＫＡ，ＫＢ  試験項目数
ＩＡ，ＩＢ  開発工数
【図１】
2005078588.tif 000003
【図２】
2005078588.tif 000004
【図３】
2005078588.tif 000005
【図４】
2005078588.tif 000006
【図５】
2005078588.tif 000007
【図６】
2005078588.tif 000008
【図７】
2005078588.tif 000009
【図８】
2005078588.tif 000010
【図９】
2005078588.tif 000011