(57)【特許請求の範囲】
【請求項１】
ソフトウェア開発において、既存のソフトウェアを改造開発するにあたり、改造作業を行う事前にソフトウェア改造による総工数を算出するソフトウェア改造見積り方法であって、ユーザから端末を通して入力されたソフトウェアの改造の内容を示す複数の数値データから構成される見積り要素を認識及び送信するとともに、算出された前記総工数を受信して出力する入出力手段と、ソフトウェアの改造見積りに必要なデータを記録して蓄積するデータベースと、前記入出力手段から入力された情報及び前記データベースに格納された情報を利用してソフトウェアの改造による改造規模の見積りを計算して記録し前記入出力手段に送信する改造見積り算出手段を備えたコンピュータとから構成されるソフトウェア改造見積りシステムを利用したソフトウェア改造見積り方法において、
前記改造見積り算出手段は、
前記入出力手段から前記見積り要素を取得すると、当該見積り要素に基づいて、改造による実際の改造規模を数値化したものである改造正味規模の度数分布を示す表である改造規模分布表を作成するとともに、当該改造規模分布表を分析し、改造開発における各開発単位に存在する改造箇所の分布数をそれぞれ導き出して当該改造規模分布表中にあてはめ、当該改造規模分布表を前記データベースに記録する改造規模分布表作成手順と、
前記改造規模分布表に基づき、改造による変動を数値化して導き出し、これらの変動を示す表を見積り表として作成し、前記データベースに記録する見積り表生成手順と、
前記分布数及び前記改造正味規模を前記改造規模分布表から取得するとともに、第１のパラメータを前記データベースから抽出し、それらの数値をもとに各開発単位における改造により発生する生産物量である開発規模をそれぞれ算出して前記見積り表に記録する開発規模算出手順と、
前記開発規模の前記見積り表への記録が終わると、前記データベースから第２のパラメータを抽出し、それらの数値をもとに各開発単位における改造により発生する生産性をそれぞれ算出し前記データベースに記録する生産性算出手順と、
算出された前記生産性を前記生産性算出手順又は前記データベースより取得するとともに、当該生産性に対応する前記開発規模を前記見積り表から抽出し、それらの数値をもとに各開発単位における工数をそれぞれ算出して前記見積り表に記録した後、記録された全ての工数を前記見積り表より抽出して総工数を算出し、当該総工数を前記入出力手段及び前記データベースに送信する総工数算出手順と、
を順次実行する、ことを特徴とするソフトウェア改造見積り方法。
【請求項２】
前記改造規模分布表は、
改造対象の範囲を任意の数に分割し番号付けした改造対象範囲を横軸とし、
改造母体の規模及び、改造部の規模及び、改造箇所数並びに、前記改造母体における前記分布数の割合を示すものである改造分散度を縦軸とし、
前記改造規模分布表作成手順にて、前記見積り要素に基づき当該表に数値を当てはめることにより生成する、
ことを特徴とする請求項１に記載のソフトウェア改造見積り方法。
【請求項３】
前記分布数は、
前記改造母体を任意の数に区切りブロック化したものについて、当該ブロックにおける前記改造正味規模を、前記改造規模分布表に照合し前記改造対象範囲及び前記改造分散度並びに改造母体に対する熟練度を任意の値に設定したものである改造母体錬度に当てはまる個数にて決定される、
ことを特徴とする請求項２に記載のソフトウェア改造見積り方法。
【請求項４】
前記開発規模は、
当該開発規模をＶｉｊｋ、前記改造正味規模をｑｉ、前記分布数をｆｉｊｋ、前記データベースに格納されたソフトウェア開発を行うにおいて生産物量に対しての影響の度合いを示す環境変数をα及びソフトウェア改造開発を行うのみにおいて生産物量に対しての影響の度合いを示す環境変数をα´としたとき、
Ｖｉｊｋ＝（ｑｉ×ｆｉｊｋ）×（１＋α＋α´）からなる数式にて算出される、
ことを特徴とする請求項１に記載のソフトウェア改造見積り方法。
【請求項５】
前記生産性は、
当該生産性をＰｉｊｋ、前記見積り要素に含まれるソフトウェア開発の標準として任意に設定された生産性をＰＢ、前記データベースに格納された改造母体についての熟練度合いが前記生産性に与える影響の度合いをＫｉｊｋ、前記データベースに格納されたソフトウェア開発を行うにおいて前記生産性に対しての影響の度合いを示す環境変数をβ、ソフトウェア改造開発を行うのみにおいて前記生産性に対しての影響の度合いを示す環境変数をβ´としたとき、
Ｐｉｊｋ＝ＰＢ×（１＋Ｋｉｊｋ）×（１＋β＋β´）からなる数式にて算出される、
ことを特徴とする請求項１に記載のソフトウェア改造見積り方法。
【請求項６】
前記見積り表は、
改造対象の範囲を任意の数に分割し番号付けした改造対象範囲を横軸とし、
改造母体の規模及び、改造部の規模及び、改造箇所数並びに前記改造母体における前記分布数の割合を示すものである改造分散度を縦軸とし、
当該縦軸には、当該改造分散度のそれぞれの前記ブロックにおいて、前記開発規模及び前記データベースに格納された改造母体についての熟練度合いが前記生産性に与える影響の度合い並びに当該開発規模と前記生産性の乗算により求められる工数とを要素として含む、
ことを特徴とする請求項３に記載のソフトウェア改造見積り方法。
【請求項７】
前記総工数は、
当該総工数をＨ、前記改造対象範囲の番号をｉ、前記改造分散度の番号をｊ、前記改造母体錬度の値をｋとしたとき、
Ｈ＝ΣｉΣｊΣｋ（Ｖｉｊｋ×Ｐｉｊｋ）からなる数式にて算出される、
ことを特徴とする請求項６に記載のソフトウェア改造見積り方法。
【請求項８】
ソフトウェア開発において、既存のソフトウェアを改造開発するにあたり、改造作業を行う事前にソフトウェア改造による総工数を算出するソフトウェア改造見積りシステムにおいて、ユーザから端末を通して入力されたソフトウェアの改造の内容を示す複数の数値データから構成される見積り要素を認識及び送信するとともに、算出された前記総工数を受信して出力する入出力手段と、ソフトウェアの改造見積りに必要なデータを記録して蓄積するデータベースと、前記入出力手段から入力された情報及び前記データベースに格納された情報を利用してソフトウェアの改造による改造規模の見積りを計算して記録し前記入出力手段に送信する改造見積り算出手段を備えたコンピュータとから構成されるソフトウェア改造見積りシステムであって、
前記改造見積り算出手段は、
前記入出力手段から前記見積り要素を取得すると、当該見積り要素に基づいて、改造による実際の改造規模を数値化したものである改造正味規模の度数分布を示す表である改造規模分布表を作成するとともに、当該改造規模分布表を分析し、改造開発における各開発単位に存在する改造箇所の分布数をそれぞれ導き出して当該改造規模分布表中にあてはめ、当該改造規模分布表を前記データベースに記録する改造規模分布表生成部と、
前記改造規模分布表に基づき、改造による変動を数値化して導き出し、これらの変動を示す表を見積り表として作成するとともに、当該見積り表を前記データベースに記録する見積り表生成手段とを有し、
前記見積り表生成手段は、
前記分布数及び前記改造正味規模を前記改造規模分布表から取得するとともに、第１のパラメータを前記データベースから抽出し、それらの数値をもとに各開発単位における改造により発生する生産物量である開発規模をそれぞれ算出して前記見積り表に記録する開発規模算出部と、
前記開発規模の前記見積り表への記録が終わると、前記データベースから第２のパラメータを抽出し、それらの数値をもとに各開発単位における改造により発生する生産性をそれぞれ算出し前記データベースに記録する生産性算出部と、
算出された前記生産性を前記生産性算出部又は前記データベースより取得するとともに、当該生産性に対応する前記開発規模を前記見積り表から抽出し、それらの数値をもとに各開発単位における工数をそれぞれ算出して前記見積り表に記録した後、記録された全ての工数を前記見積り表より抽出して総工数を算出し、当該総工数を前記入出力手段及び前記データベースに送信する総工数算出部と、
を備えた、ことを特徴とするソフトウェア改造見積りシステム。
【請求項９】
前記改造規模分布表は、
改造対象の範囲を任意の数に分割し番号付けした改造対象範囲を横軸とし、
改造母体の規模及び、改造部の規模及び、改造箇所数並びに、前記改造母体における前記分布数の割合を示すものである改造分散度を縦軸とし、
前記改造規模分布表生成部にて、前記見積り要素に基づき当該表に数値を当てはめることにより生成する、
ことを特徴とする請求項８に記載のソフトウェア改造見積りシステム。
【請求項１０】
前記分布数は、
前記改造母体を任意の数に区切りブロック化したものについて、当該ブロックにおける前記改造正味規模を、前記改造規模分布表に照合し前記改造対象範囲及び前記改造分散度並びに改造母体に対する熟練度を任意の値に設定したものである改造母体錬度に当てはまる個数にて決定される、
ことを特徴とする請求項９に記載のソフトウェア改造見積りシステム。
【請求項１１】
前記見積り表生成部は、
当該開発規模をＶｉｊｋ、前記改造正味規模をｑｉ、前記分布数をｆｉｊｋ、前記データベースに格納されたソフトウェア開発を行うにおいて生産物量に対しての影響の度合いを示す環境変数をα及びソフトウェア改造開発を行うのみにおいて生産物量に対しての影響度合いを示す環境変数をα´としたとき、
Ｖｉｊｋ＝（ｑｉ×ｆｉｊｋ）×（１＋α＋α´）からなる数式にて前記開発規模を算出する開発規模算出部を有する、
ことを特徴とする請求項８に記載のソフトウェア改造見積りシステム。
【請求項１２】
前記見積り表生成部は、
当該生産性をＰｉｊｋ、前記見積り要素群に含まれるソフトウェア開発の標準として任意に設定された生産性をＰＢ、前記データベースに格納された改造母体についての熟練度合いが前記生産性に与える影響の度合いをＫｉｊｋ、前記データベースに格納されたソフトウェア開発を行うにおいて前記生産性に対しての影響の度合いを示す環境変数をβ、ソフトウェア改造開発を行うのみにおいて生産性に対しての影響の度合いを示す環境変数をβ´としたとき、
Ｐｉｊｋ＝ＰＢ×（１＋Ｋｉｊｋ）×（１＋β＋β´）からなる数式にて前記生産性を算出する生産性算出部を有する、
ことを特徴とする請求項８又は１１に記載のソフトウェア改造見積りシステム。
【請求項１３】
前記見積り表は、
改造対象の範囲を任意の数に分割し番号付けした改造対象範囲を横軸とし、
改造母体の規模及び、改造部の規模及び、改造箇所数並びに前記改造母体における前記分布数の割合を示すものである改造分散度を縦軸とし、
当該縦軸には、当該改造分散度のそれぞれの前記ブロックにおいて、前記開発規模及び前記データベースに格納された改造母体についての熟練度合いが前記生産性に与える影響の度合い並びに当該開発規模と前記生産性の乗算により求められる工数とを要素として含む、
ことを特徴とする請求項１０に記載のソフトウェア改造見積りシステム。
【請求項１４】
前記見積り表生成部は、
前記総工数をＨ、前記改造対象範囲の番号をｉ、前記改造分散度の番号をｊ、前記改造母体錬度の番号をｋとしたとき、
Ｈ＝ΣｉΣｊΣｋ（Ｖｉｊｋ×Ｐｉｊｋ）からなる数式にて前記総工数を算出する総工数算出部を有する、
ことを特徴とする請求項１３に記載のソフトウェア改造見積りシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、既存のソフトウェアにおいて、当該ソフトウェアを改造することにより発生する総工数を見積もるためのソフトウェア改造見積り方法及びソフトウェア改造見積りシステムに関する。
【背景技術】
【０００２】
既存のソフトウェアに仕様の変更を加える場合や、新たな機能を追加する場合に、既存のソフトウェアを改造することにより、新しいソフトウェアを構築するよりも、総工数、コストの面で大幅な削減が可能であることから、ソフトウェアの機能の変更を行うには、既存のソフトウェアを改造する手段をとるのが一般的である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、既存のソフトウェアの一部又は複数箇所に変更を加える改造型開発では、実際に追加又は削除する規模が同じであっても、当該ソフトウェアに対する事前調査や作業範囲、作業環境、ソフトウェア全体における改造部分のバラつきに応じて手間やコストが変動する。【０００４】
つまり、改造型のソフトウェア開発においては、改造に伴い、関連する周辺機能をどこまで巻き込むかによって、テストの規模も左右されることとなり、その生産性が改造量と比例するものではないため、容易に改造による総工数の見積りを算出することは困難である。【０００５】
ここにおいて、本発明の解決すべき主要な目的は、次のとおりである。【０００６】
即ち、本発明の第１の目的は、既存のソフトウェアを改造する作業事前に、改造開発計画を組み立てることが可能であるソフトウェア改造見積り方法及びソフトウェア改造見積りシステムを提供することにある。【０００７】
本発明の第２の目的は、既存のソフトウェアを改造するにあたり、作業範囲、改造部分のバラつき度合い、改造母体ソフトウェアの経験年数を考慮して改造による総工数を見積もることを可能とするソフトウェア改造見積り方法及びソフトウェア改造見積りシステムを提供することにある。【０００８】
本発明の第３の目的は、既存のソフトウェアを改造するに当たり、改造内容に度重なる変更が生じても、その都度的確な改造変更の見積りを可能とするソフトウェア改造見積り方法及びソフトウェア見積りシステムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明システムは、上記課題の解決に当たり、既存のソフトウェアの改造に関する情報を入出力するための入出力手段と、入出力手段から受け取った情報に基づき、改造要件を分析し、改造における生産性の変動を数値的に算出する改造見積り算出手段と、前記分析に必要なデータや、分析結果を保持するためのデータベースとを具備する、ソフトウェア改造見積り手段を講じる特徴を有する。【００１０】
また、本発明方法は、本システム利用者による入出力手段からのデータ入力にて受信した情報に基づき、改造による改造規模の分布を示す改造規模分布表を生成し、改造分布を数値化した改造分布数を導き出すと共に、受信した情報と改造分布数から見積り表を作成することにより、改造における総工数を導き出すソフトウェア改造見積り方法を講じる特徴を有する。【００１１】
さらに具体的詳細に述べると、当該課題の解決では、本発明が次に列挙する上位概念から下位概念にかかる新規な特徴的構成手段又は手法を採用することにより、前記目的を達成するよう為される。【００１２】
即ち、本発明方法の第１の特徴は、ソフトウェア開発において、既存のソフトウェアを改造開発するにあたり、改造作業を行う事前にソフトウェア改造による総工数を算出するソフトウェア改造見積り方法であって、ユーザから端末を通して入力されたソフトウェアの改造の内容を示す複数の数値データから構成される見積り要素を認識及び送信するとともに、算出された前記総工数を受信して出力する入出力手段と、ソフトウェアの改造見積りに必要なデータを記録して蓄積するデータベースと、前記入出力手段から入力された情報及び前記データベースに格納された情報を利用してソフトウェアの改造による改造規模の見積りを計算して記録し前記入出力手段に送信する改造見積り算出手段を備えたコンピュータとから構成されるソフトウェア改造見積りシステムを利用したソフトウェア改造見積り方法において、前記改造見積り算出手段は、前記入出力手段から前記見積り要素を取得すると、当該見積り要素に基づいて、改造による実際の改造規模を数値化したものである改造正味規模の度数分布を示す表である改造規模分布表を作成するとともに、当該改造規模分布表を分析し、改造開発における各開発単位に存在する改造箇所の分布数をそれぞれ導き出して当該改造規模分布表中にあてはめ、当該改造規模分布表を前記データベースに記録する改造規模分布表作成手順と、前記改造規模分布表に基づき、改造による変動を数値化して導き出し、これらの変動を示す表を見積り表として作成し、前記データベースに記録する見積り表生成手順と、前記分布数及び前記改造正味規模を前記改造規模分布表から取得するとともに、第１のパラメータを前記データベースから抽出し、それらの数値をもとに各開発単位における改造により発生する生産物量である開発規模をそれぞれ算出して前記見積り表に記録する開発規模算出手順と、前記開発規模の前記見積り表への記録が終わると、前記データベースから第２のパラメータを抽出し、それらの数値をもとに各開発単位における改造により発生する生産性をそれぞれ算出し前記データベースに記録する生産性算出手順と、算出された前記生産性を前記生産性算出手順又は前記データベースより取得するとともに、当該生産性に対応する前記開発規模を前記見積り表から抽出し、それらの数値をもとに各開発単位における工数をそれぞれ算出して前記見積り表に記録した後、記録された全ての工数を前記見積り表より抽出して総工数を算出し、当該総工数を前記入出力手段及び前記データベースに送信する総工数算出手順と、を順次実行する、ソフトウェア改造見積り方法の構成採用にある。
【００１３】
本発明方法の第２の特徴は、本発明方法の第１の特徴における前記改造規模分布表が、改造対象の範囲を任意の数に分割し番号付けした改造対象範囲を横軸とし、改造母体の規模及び、改造部の規模及び、改造箇所数並びに、前記改造母体における前記分布数の割合を示すものである改造分散度を縦軸とし、前記改造規模分布表作成手順にて、前記見積り要素に基づき当該表に数値を当てはめることにより生成してなるソフトウェア改造見積り方法の構成採用にある。
【００１４】
本発明方法の第３の特徴は、本発明方法の第２の特徴における前記分布数が、前記改造母体を任意の数に区切りブロック化したものについて、当該ブロックにおける前記改造正味規模を、前記改造規模分布表に照合し前記改造対象範囲及び前記改造分散度並びに改造母体に対する熟練度を任意の値に設定したものである改造母体錬度に当てはまる個数にて決定されるソフトウェア改造見積り方法の構成採用にある。
【００１５】
本発明方法の第４の特徴は、本発明方法の第１の特徴における前記開発規模が、当該開発規模をＶｉｊｋ、前記改造正味規模をｑｉ、前記分布数をｆｉｊｋ、前記データベースに格納されたソフトウェア開発を行うにおいて生産物量に対しての影響の度合いを示す環境変数をα及びソフトウェア改造開発を行うのみにおいて生産物量に対しての影響の度合いを示す環境変数をα´としたとき、Ｖｉｊｋ＝（ｑｉ×ｆｉｊｋ）×（１＋α＋α´）からなる数式にて算出されるソフトウェア改造見積り方法の構成採用にある。
【００１６】
本発明方法の第５の特徴は、本発明方法の第１の特徴における前記生産性が、当該生産性をＰｉｊｋ、前記見積り要素に含まれるソフトウェア開発の標準として任意に設定された生産性をＰＢ、前記データベースに格納された改造母体についての熟練度合いが前記生産性に与える影響の度合いをＫｉｊｋ、前記データベースに格納されたソフトウェア開発を行うにおいて前記生産性に対しての影響の度合いを示す環境変数をβ、ソフトウェア改造開発を行うのみにおいて前記生産性に対しての影響の度合いを示す環境変数をβ´としたとき、Ｐｉｊｋ＝ＰＢ×（１＋Ｋｉｊｋ）×（１＋β＋β´）からなる数式にて算出されるソフトウェア改造見積り方法の構成採用にある。
【００１７】
本発明方法の第６の特徴は、本発明方法の第３の特徴における前記見積り表が、改造対象の範囲を任意の数に分割し番号付けした改造対象範囲を横軸とし、改造母体の規模及び、改造部の規模及び、改造箇所数並びに前記改造母体における前記分布数の割合を示すものである改造分散度を縦軸とし、当該縦軸には、当該改造分散度のそれぞれの前記ブロックにおいて、前記開発規模及び前記データベースに格納された改造母体についての熟練度合いが前記生産性に与える影響の度合い並びに当該開発規模と前記生産性の乗算により求められる工数とを要素として含んでなるソフトウェア改造見積り方法の構成採用にある。
【００１８】
本発明方法の第７の特徴は、本発明方法の第６の特徴における前記総工数が、当該総工数をＨ、前記改造対象範囲の番号をｉ、前記改造分散度の番号をｊ、前記改造母体錬度の値をｋとしたとき、Ｈ＝ΣｉΣｊΣｋ（Ｖｉｊｋ×Ｐｉｊｋ）からなる数式にて算出されるソフトウェア改造見積り方法の構成採用にある。
【００１９】
本発明システムの第１の特徴は、ソフトウェア開発において、既存のソフトウェアを改造開発するにあたり、改造作業を行う事前にソフトウェア改造による総工数を算出するソフトウェア改造見積りシステムにおいて、ユーザから端末を通して入力されたソフトウェアの改造の内容を示す複数の数値データから構成される見積り要素を認識及び送信するとともに、算出された前記総工数を受信して出力する入出力手段と、ソフトウェアの改造見積りに必要なデータを記録して蓄積するデータベースと、前記入出力手段から入力された情報及び前記データベースに格納された情報を利用してソフトウェアの改造による改造規模の見積りを計算して記録し前記入出力手段に送信する改造見積り算出手段を備えたコンピュータとから構成されるソフトウェア改造見積りシステムであって、前記改造見積り算出手段は、前記入出力手段から前記見積り要素を取得すると、当該見積り要素に基づいて、改造による実際の改造規模を数値化したものである改造正味規模の度数分布を示す表である改造規模分布表を作成するとともに、当該改造規模分布表を分析し、改造開発における各開発単位に存在する改造箇所の分布数をそれぞれ導き出して当該改造規模分布表中にあてはめ、当該改造規模分布表を前記データベースに記録する改造規模分布表生成部と、前記改造規模分布表に基づき、改造による変動を数値化して導き出し、これらの変動を示す表を見積り表として作成するとともに、当該見積り表を前記データベースに記録する見積り表生成手段とを有し、前記見積り表生成手段は、前記分布数及び前記改造正味規模を前記改造規模分布表から取得するとともに、第１のパラメータを前記データベースから抽出し、それらの数値をもとに各開発単位における改造により発生する生産物量である開発規模をそれぞれ算出して前記見積り表に記録する開発規模算出部と、前記開発規模の前記見積り表への記録が終わると、前記データベースから第２のパラメータを抽出し、それらの数値をもとに各開発単位における改造により発生する生産性をそれぞれ算出し前記データベースに記録する生産性算出部と、算出された前記生産性を前記生産性算出部又は前記データベースより取得するとともに、当該生産性に対応する前記開発規模を前記見積り表から抽出し、それらの数値をもとに各開発単位における工数をそれぞれ算出して前記見積り表に記録した後、記録された全ての工数を前記見積り表より抽出して総工数を算出し、当該総工数を前記入出力手段及び前記データベースに送信する総工数算出部と、を備えた、ソフトウェア改造見積りシステムの構成採用にある。
【００２０】
本発明システムの第２の特徴は、本発明システムの第１の特徴における前記改造規模分布表が、改造対象の範囲を任意の数に分割し番号付けした改造対象範囲を横軸とし、改造母体の規模及び、改造部の規模及び、改造箇所数並びに、前記改造母体における前記分布数の割合を示すものである改造分散度を縦軸とし、前記改造規模分布表生成部にて、前記見積り要素に基づき当該表に数値を当てはめることにより生成してなるソフトウェア改造見積りシステムの構成採用にある。
【００２１】
本発明システムの第２の特徴は、本発明システムの第１の特徴における前記改造規模分布表が、改造対象の範囲を任意の数に分割し番号付けした改造対象範囲を横軸とし、改造母体の規模及び、改造部の規模及び、改造箇所数並びに、前記改造母体における前記分布数の割合を示すものである改造分散度を縦軸とし、前記改造規模分布表作成手順にて、前記見積り要素に基づき当該表に数値を当てはめることにより生成するソフトウェア改造見積り方法の構成採用にある。
【００２２】
本発明システムの第３の特徴は、本発明システムの第２の特徴における前記分布数が、前記改造母体を任意の数に区切りブロック化したものについて、当該ブロックにおける前記改造正味規模を、前記改造規模分布表に照合し前記改造対象範囲及び前記改造分散度並びに改造母体に対する熟練度を任意の値に設定したものである改造母体錬度に当てはまる個数にて決定されるソフトウェア改造見積りシステムの構成採用にある。。
【００２３】
本発明システムの第４の特徴は、本発明システムの第１の特徴における前記見積り表生成部が、当該開発規模をＶｉｊｋ、前記改造正味規模をｑｉ、前記分布数をｆｉｊｋ、前記データベースに格納されたソフトウェア開発を行うにおいて生産物量に対しての影響の度合いを示す環境変数をα及びソフトウェア改造開発を行うのみにおいて生産物量に対しての影響度合いを示す環境変数をα´としたとき、Ｖｉｊｋ＝（ｑｉ×ｆｉｊｋ）×（１＋α＋α´）からなる数式にて前記開発規模を算出する開発規模算出部を有するソフトウェア改造見積りシステムの構成採用にある。
【００２４】
本発明システムの第６の特徴は、本発明システムの第３の特徴における前記見積り表が、改造対象の範囲を任意の数に分割し番号付けした改造対象範囲を横軸とし、改造母体の規模及び、改造部の規模及び、改造箇所数並びに前記改造母体における前記分布数の割合を示すものである改造分散度を縦軸とし、当該縦軸には、当該改造分散度のそれぞれの前記ブロックにおいて、前記開発規模及び前記データベースに格納された改造母体についての熟練度合いが前記生産性に与える影響の度合い並びに当該開発規模と前記生産性の乗算により求められる工数とを要素として含んでなるソフトウェア改造見積りシステムの構成採用にある。
【００２５】
本発明システムの第６の特徴は、本発明システムの第１、第４又は第５のいずれか１つの特徴における前記見積り表が、改造対象の範囲を任意の数に分割し番号付けした改造対象範囲を横軸とし、改造母体の規模及び、改造部の規模及び、改造箇所数並びに前記改造母体における前記分布数の割合を示すものである改造分散度を縦軸とし、当該縦軸には、当該改造分散度のそれぞれの前記ブロックにおいて、前記開発規模及び前記影響度並びに当該開発規模と前記生産性の乗算により求められる工数とを要素として含むソフトウェア改造見積りシステムの構成採用にある。
【発明の効果】
【００２６】
本発明システムの第７の特徴は、本発明システムの第６の特徴における前記見積り表生成部が、前記総工数をＨ、前記改造対象範囲の番号をｉ、前記改造分散度の番号をｊ、前記改造母体錬度の番号をｋとしたとき、Ｈ＝ΣｉΣｊΣｋ（Ｖｉｊｋ×Ｐｉｊｋ）からなる数式にて前記総工数を算出する総工数算出部を有するソフトウェア改造見積りシステムの構成採用にある。
【００２７】
さらに、改造による周辺機能の巻き込みについても見積りができるため、改造部位や改造量に比例しない部位についてまでも見積もることが可能となる。
【図面の簡単な説明】
【００２８】
【図１】本発明に係るソフトウェア改造見積りシステムのシステム構成図である。
【図２】本発明に係る改造分布数を導き出すための改造規模分布表の一例を示す図である。
【図３】本発明に係る総工数を導き出すための見積り表Ｇ２の一例を示す図である。
【符号の説明】
【００２９】
１…入出力手段
１１…データ入力部
１２・・・データ出力部
２・・・改造見積り算出手段
２１・・・改造規模分布表生成部
２１ａ・・・改造分布数決定部
２２・・・見積り表生成部
２２ａ・・・開発規模算出部
２２ｂ・・・生産性算出部
２２ｃ・・・総工数算出部
３・・・データベース
３１・・・定義表格納部
３２・・・定義値格納部
ｓ・・・見積り要素
ＶＢ・・・改造母体規模
ＰＢ・・・ベースライン生産性
ＫＢ・・・改造母体経験年数
ｑ、ｑｉ・・・改造正味規模
ｆ・・・改造分散箇所数
ｉ・・・改造密度番号
ｊ・・・改造分散度番号
ｋ・・・改造母体錬度番号
ｚ・・・改造対象規模
ＫＳ・・・改造正味量
ｆｉｊｋ・・・改造分布数
Ｋｉｊｋ・・・改造錬度影響度
Ｖｉｊｋ・・・開発規模
Ｐｉｊｋ・・・生産性
Ｈｉｊｋ・・・工数
Ｈ・・・総工数
Ｇ１・・・改造規模分布表
Ｇ２・・・見積り表
α・・・一般生産物量環境変数
α´・・・改造生産物量環境変数
β・・・一般生産性環境変数
β´・・・改造生産性環境変数
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施の形態につき、添付図面を参照しつつ、システム例及び実施形態例を説明する。       【００３１】
（システム例）
図１は、本システム例に係る仕様変更見積りシステムの機能構成図である。【００３２】
同図に示すように、本システム例に係るソフトウェア改造見積りシステムは、本システム利用者が既存のソフトウェアの改造を行うに際し、改造見積りのための必要情報である見積り要素を入出力するための入出力手段１と、入出力手段１から受け取った情報を元に、改造要件を分析し、改造した場合の生産性の変動を数値的に算出する改造見積り算出手段２及び、改造見積り算出手段２における分析に必要なデータや、分析結果を保持するためのデータベース３とを備えることにより構成される。
【００３３】
ここにおいて、入出力手段１及び改造見積り算出手段２並びにデータベース３は、パーソナルコンピュータ等の端末内部に全て具備されるように構成してもよいが、入出力手段１及び改造見積り算出手段２又はデータベース３をそれぞれ別の端末に搭載し、インターネット回線や専用回線等で相互通信可能に接続するなどしてもよい。【００３４】
本発明システムにおける構成要素の入出力手段１は、既存のソフトウェアを改造する場合における改造要件を示す見積り要素ｓを改造見積り算出手段２へ送信する機能を持つとともに、改造見積り算出手段２にて総工数が算出された後、送信される生産性の変化を受信する機能と、必要情報の入力を行うデータ入力部１１や当該結果を表示するデータ出力部１２を備えることを条件とし、これらの条件を備える装置であるパーソナルコンピュータや、ＰＤＡ等の端末装置等を利用することとする。なお、見積り要素ｓに含まれるデータの詳細内容は後述するものとする。【００３５】
また、改造見積り算出手段２は、入出力手段１から送信された見積り要素ｓを受信し、そのデータを元に改造要件の分析を行い、改造による総工数を数値にて算出するための計算機能部であり、後述する改造見積り算出手段２内の各計算機能部における計算機能を備えるシステムを利用することとする。【００３６】
さらに、データベース３は、改造見積り算出手段２の各計算機能部にて行われる分析の結果や、分析に基づく数値データを保持するデータベースであって、改造見積り算出手段２からのデータを受信した後格納するとともに、改造見積り算出手段２の要求に応じてデータを改造見積り算出手段２に送信する機能を持つ。これについても、詳細な機能内容は後述する。【００３７】
次に、本発明システムの入出力手段１から改造見積り算出手段２に送信される見積り要素ｓ及び、改造見積り算出手段２における詳細な計算機能部及びデータベース３に保持されるデータについてその概念を説明する。【００３８】
利用者が入出力手段１に入力する見積り要素ｓは、改造母体となる既存システム情報と、改造要件にて構成される。見積り要素ｓに含まれるデータは、既存のシステム情報として、改造母体の規模ＶＢ及び、改造母体の経験年数ＫＢ並びにベースライン生産性ＰＢであり、改造要件としては、改造正味規模ｑ及び改造分散箇所数ｆである。【００３９】
次に、改造見積り算出手段２に含まれる計算機能部の説明をする。図１に示すように、改造見積り算出手段２は、改造分布数決定部２１ａを有する改造規模分布表生成部２１及び、開発規模算出部２２ａ、生産性算出部２２ｂ並びに総工数算出部２２ｃを有する見積り表生成部２２から構成される。以下に、それぞれの計算機能部における概念を説明する。【００４０】
改造規模分布表生成部２１は、見積り要素ｓに基づいて、改造密度番号ｉ及び改造分散度番号ｊ並びに改造母体錬度番号ｋの関係性を示すマトリックス表である改造規模分布表Ｇ１を生成する機能部である。【００４１】
さらに、改造規模分布表生成部２１内の改造分布数決定部２１ａは、改造規模分布表Ｇ１が生成される過程において決定される改造密度番号ｉ、改造分散度番号ｊ、改造母体錬度番号ｋを元に、改造分布数ｆｉｊｋを決定する機能部であり、見積り要素ｓを用いて改造規模分布表Ｇ１が出来上がったことを契機に、それぞれの範囲に存在する個数（度数）を改造分布数ｆｉｊｋとして決定したのち、これらの値を改造規模分布表Ｇ１中に反映させる機能を持つ。【００４２】
生成された改造規模分布表Ｇ１は、データベース３の定義表格納部３１に保持させることとし、改造途中に再度見直しが必要となる場合等は、当該表を利用するとよい。なお、図２は改造規模分布表Ｇ１の具体例であり、表の詳細な内容は後述の実施例にて説明することとする。【００４３】
見積り表生成部２２は、改造規模分布表Ｇ１に基づき、改造による変動を数値化して導き出すとともに、これらの変動を見積り表Ｇ２として生成する機能部であり、見積り表Ｇ２の作成に必要なデータの算出部として、開発の規模を示す開発規模Ｖｉｊｋを算出する開発規模算出部２２ａ、生産性Ｐｉｊｋを算出する生産性算出部２２ｂ、改造による総工数Ｈを算出する総工数算出部２２ｃを有する。【００４４】
開発規模算出部２２ａは、改造正味規模ｑｉ、改造分布数ｆｉｊｋ及び一般生産物量環境変数α及び改造生産物量環境変数α´から開発規模Ｖｉｊｋを算出する機能部であり、開発規模Ｖｉｊｋは数式１を利用して導き出される。
【数１】
0005818439.tif 000002
【００４５】
ここにおける一般生産物量環境変数α及び改造生産物量環境変数α´は開発環境の違いや、品質要求の多寡による生産物量の変動を吸収する第１のパラメータとして用いられる数値であり、新規開発又は改造開発どちらにも共通している環境変数を一般生産物量環境変数αとし、改造開発特有の環境変数を改造生産物量環境変数α´として設定することとする。
【００４６】
一般生産物量環境変数α及び改造生産物量環境変数α´は、見積り要素ｓとして利用者が入力時に値を入力することも可能であるが、データベース３の定義値格納部３２にデータを保持させ、開発規模算出部２２ａが計算段階でデータベース３より値を抽出することにしてもよい。【００４７】
生産性算出部２２ｂは、新規開発を行う場合の生産性を示すベースライン生産性ＰＢと、改造開発生産性を補正する係数である改造錬度影響度Ｋｉｊｋと、一般生産性環境変数β及び改造生産性環境変数β´とから生産性Ｐｉｊｋを算出する機能部であり、その値は数式２を利用して導き出される。
【数２】
0005818439.tif 000003
【００４８】
一般生産性環境変数β及び改造生産性環境変数β´は、開発環境の違いや、品質要求の多寡による生産性の変動を吸収する第２のパラメータとして用いられる数値であり、新規開発又は改造開発どちらにも共通している環境変数を一般環境変数βとし、改造開発特有の環境変数を改造生産物量環境変数β´として設定することとする。
【００４９】
さらに、改造錬度影響度Ｋｉｊｋは、改造開発の生産性を補正する係数であって、その値は予め固定値として定義値格納部３２に保持させ、生産性の算出に必要になる時に逐次呼び出すこととする。【００５０】
一般生産性環境変数β及び改造生産性環境変数β´は、一般生産物量環境変数α及び改造生産物量環境変数α´と同様に、見積り要素ｓとして利用者が入力時に値を入力することも可能であるが、定義値格納部３２にデータを保持させ、生産性算出部２２ｂが計算段階で定義値格納部３２より値を抽出してもよい。【００５１】
総工数算出部２２ｃは、導き出された開発規模Ｖｉｊｋと生産性Ｐｉｊｋから総工数Ｈを算出する機能部であり、数式３を利用して工数Ｈｉｊｋが導き出されるとともに、数式４を用いて、開発改造による総工数Ｈを導き出す。
【数３】
0005818439.tif 000004
【数４】
0005818439.tif 000005
【００５２】
見積り表生成部２２は、見積り表Ｇ２を作成し、開発規模Ｖｉｊｋ及び生産性Ｐｉｊｋ並びに総工数Ｈが表作成において必要になると、それぞれの算出部に計算処理を要求し、値を導き出すことにより、見積り表Ｇ２を完成させる。【００５３】
生成された見積り表Ｇ２は、定義表格納部３１に保持させることとし、改造途中に再度見直しをする際、当該表を利用することとする。なお、図３に見積り表Ｇ２の具体例を示しているが、詳細な内容は以下の実施例にて説明することとする。【００５４】
以上が、仕様変更見積り算出手段２における各計算手段の構成内容である。【００５５】
（実施形態例）
次に、図１のシステム構成図及び図２、図３の表を用いて、上記システムを利用した場合の本願発明の実施形態例を説明する。なお、本実施形態例においては、説明の明確化を目的として具体的数値を例として利用するが、本数値は限定されるものではなく、改造開発の状況に応じてその数値は適宜変更可能とする。【００５６】
まず、利用者は、入出力手段１におけるキーボード等のデータ入力部１１から見積り要素ｓとして、改造母体規模ＶＢ及び改造母体経験年数ＫＢ並びに、改造開発における改造正味規模ｑ及び改造分散箇所数ｆを入力する。【００５７】
利用者により、入力決定された見積り要素ｓは、改造見積り算出手段２の改造規模分布表生成部２１に送信される。【００５８】
改造規模分布表生成部２１は、改造母体規模ＶＢの既存ソースコードの行数を１０ＫＳ単位ごとに区切りブロックを設定する。【００５９】
次に、改造規模分布表生成部２１は、見積り要素ｓに基づいて、改造規模分布表Ｇ１を作成する。【００６０】
改造規模分布表Ｇ１の内容について説明すると、本実施例では改造対象の範囲を示す番号として１〜１９の改造対象範囲番号ｉ（以下、改造密度番号ｉという）を横軸に設定する。
【００６１】
さらに、範囲ごとの改造量を設定するため、見積り要素ｓに含まれる改造母体規模ＶＢ及び改造正味規模ｑを分析し、改造母体規模ＶＢを各範囲に改造対象規模ｚに１０ＫＳごと分割し、改造正味規模ｑを各範囲ごとに改造正味規模ｑｉとして設定し表に記入する。【００６２】
ここで、値の固定を改造対象規模ｚではなく、改造正味規模ｑｉとし、改造正味規模ｑｉを１ＫＳに固定した場合には、改造対象規模ｚは、改造正味規模ｑｉに応じて値が変動する。【００６３】
改造密度番号ｉと改造対象規模ｚ、改造正味規模ｑｉが決定したならば、見積り要素ｓの改造分散箇所数ｆに基づき、範囲ごとの改造正味規模ｑｉを何箇所に分割して追加するかを示すものとして、表の縦軸に改造分散度番号ｊを設定する。【００６４】
また、改造分散度番号ｊには、予め固定値として設定された改造対象の１単位ごとの規模及び、改造追加の１単位ごとの規模並びに、見積り要素ｓに基づく改造分散箇所数ｆを表中にあてはめておく。【００６５】
以上の設定により改造規模分布表Ｇ１を生成すると、改造規模分布表生成部２１は、改造分布数決定部２１ａに各ブロックごとの要素を分析し改造分布数ｆｉｊｋを決定するよう要求を出す。【００６６】
改造分布数決定部２１ａは、まず、改造正味規模ｑを用いて、分析するブロックにおいての改造正味量（ＫＳ）を導き出し、改造規模分布表Ｇ１中から、改造密度番号ｉを決定する。【００６７】
次に、分析するブロックにおける追加部分の分散箇所である改造分散度番号ｊを、改造分散箇所数ｆを用いて決定する。なお、本実施例では、１０箇所に追加する場合は改造分散度番号ｊ＝１と設定し、５箇所の場合は改造分散度番号ｊ＝２、２箇所の場合は改造分散度番号ｊ＝３、１箇所のみの場合には改造分散度番号ｊ＝４と設定する。【００６８】
さらに、分析するブロックにおける改造母体に対する経験値である改造母体錬度番号ｋを、改造母体の経験年数ＫＢを用いて決定する。なお、本実施例では、１年以下をｋ＝１、１年超〜３年以下をｋ＝２、３年超をｋ＝３として設定する。
【００６９】
改造分布数決定部２１ａは、改造密度番号ｉ、改造分散度番号ｊ、改造母体錬度番号ｋが決定されると、改造規模分布表Ｇ１に当てはまる個数を導き出し、各ブロックごとに以上の手順を繰り返してカウントした値を改造分布数ｆｉｊｋとして決定する。【００７０】
次に、図３の見積り表Ｇ２の例を用いて、見積り表生成部２２の処理内容を説明する。まず、見積り表生成部２２は、改造による総工数を算出するために、改造分布数決定部２１ａにて導き出された値を元に見積り表Ｇ２を作成する。【００７１】
見積り表Ｇ２は、改造規模分布表Ｇ１と同様に、横軸として、改造密度番号ｉを１〜１９の範囲で設定し、さらに縦軸として、改造分散度番号ｊを４範囲に分けて設定する。【００７２】
また、改造開発による生産性を補正する係数である改造錬度影響度Ｋｉｊｋとして、予め定義値格納部３２に保持された値を導き出し、改造分散度番号ｊにおける各範囲に設定しておく。【００７３】
次に、見積り表生成部２２は、開発規模算出部２２ａに対し、開発規模Ｖｉｊｋを算出するよう要求する。【００７４】
開発規模算出部２２ａは、定義表格納部３１に保持された改造規模分布表Ｇ１から改造正味規模ｑｉと改造分布数ｆｉｊｋの値を受取るとともに、定義値格納部３２に保持される一般生産物量環境関数α及び改造生産物量環境変数α´を取り出して、数式１を用いて、改造密度番号ｉ及び改造分散度番号ｊ及び改造母体錬度番号ｋの値ごとの開発規模Ｖｉｊｋを繰り返し算出し、その値を見積り表Ｇ２に追加記入していく。【００７５】
図３に記載された例で１年錬度の改造規模である開発規模Ｖｉ１１を求めるにおいて、定義値格納部３２に保持される一般生産物量環境関数α及び改造生産物量環境変数α´がそれぞれ０．１０、０．０５の場合には、まず、改造規模分布表Ｇ１から改造密度番号ｉ及び改造分散度番号ｊがそれぞれ１のときの改造正味規模ｑｉと、１年錬度分布数ｆｉｊｋを導き出す。このときの改造正味規模ｑｉが１．０（ＫＳ）、１年錬度分布数ｆｉｊｋが１．０であるため、数式１にこれらの値を当てはめ計算すると、開発規模Ｖｉ１１が１．１５（ＫＳ）として求められる。【００７６】
計算が終わると、見積り表Ｇ２の改造密度番号ｉ及び改造分散度番号ｊがそれぞれ１に該当し、さらに改造分散度番号ｊが１の場合の開発規模Ｖｉ１１の位置に求めた値Ｖｉ１１＝１．１５（ＫＳ）を当てはめる。【００７７】
以上のようにして、改造密度ｉが１〜１９、改造分散度ｊが１〜４、母体錬度ｋが１〜３の場合における開発規模Ｖｉｊｋを計算し、見積り表Ｇ２に記入していく。【００７８】
開発規模算出部２２ａにより開発規模Ｖｉｊｋの見積り表Ｇ２への記入が終わると、見積り表生成部２２は、生産性算出部２２ｂに対し、生産性Ｐｉｊｋを算出するよう要求する。【００７９】
生産性算出部２２ｂは、見積り要素ｓに含まれるベースライン生産性ＰＢと、定義値格納部３２に保持される一般生産性環境関数β及び改造生産性環境変数β´並びに改造錬度影響度Ｋｉｊｋを取り出して、数式２を用いて改造密度番号ｉ及び改造分散度番号ｊ及び改造母体錬度番号ｋの値ごとの生産性Ｐｉｊｋを算出する。【００８０】
なお、改造錬度影響度Ｋｉｊｋは生産性Ｐｉｊｋを算出する度に定義値格納部３２から受け取ってもよいが、改造見積り算出手段２２が見積り表Ｇ２を生成する際に、改造錬度影響度Ｋｉｊｋの値をすべて記入してもよい。【００８１】
総工数算出部２２ｃは、生産性Ｐｉｊｋが算出されると、生産性Ｐｉｊｋを生産性算出部２２ｂから受け取り、生産性Ｐｉｊｋの改造密度番号ｉ及び改造分散度番号ｊ及び改造経験度改造母体錬度番号ｋの値に対応した開発規模Ｖｉｊｋを見積り表Ｇ２から導き出し、数式３を用いて工数Ｈｉｊｋを算出し、見積り表Ｇ２に記入する。【００８２】
総工数算出部２２ｃは見積り表Ｇ２に記入された全ての工数Ｈｉｊｋから、数式４を用いて総工数Ｈを算出するとともに、総工数Ｈを入出力手段１及び定義値格納部３２へ送信する。【００８３】
値を受け取った入出力手段１の出力手段１２は、入出力手段１が備えたモニタ等の表示装置に算出結果を表示することにより、利用者はソフトウェアの改造における総工数Ｈの見積りを目視により確認することが可能となる。【００８４】
また、定義値格納部３２へは、総工数Ｈに限らず、各機能部の計算結果を全て格納することを可能とし、過去に要求があり１度計算済みである見積りについては、計算せずにデータのみを抽出するため、見積り要素ｓとしてデータ抽出要求を送信することにより、改造見積り算出手段２はデータ抽出要求が必要とするデータを定義値格納部３２より導き出し、各算出部２２ａ〜２２ｃを通さずに出力手段１２へ送信することを可能とする。【００８５】
以上、本発明の実施の形態につき、その仕様変更見積りシステムの一形態例を挙げて説明したが、本発明は、必ずしも上述した手段にのみ限定されるものではなく、前述した効果を有する範囲内において、適宜、変更実施することが可能なものである。
【図１】
0005818439.tif 000006
【図２】
0005818439.tif 000007
【図３】
0005818439.tif 000008