(57)【要約】【課題】  業務色の強いソフトウェア部品を修正して再利用するコスト計算にファンクションポイント法を利用可能とし、属人的でない客観的な正確性の高い定量的な見積方法に置換可能な修正コスト見積もりシステムを提供する。【解決手段】  ステップＳ１にて、設計モデル補正装置は新規開発設計モデルと再利用設計モデルと再利用コストパラメータとを読込み、ステップＳ２にて、新規開発設計モデルから入出力データ項目を１つ取り出し、再利用設計モデルに同じ入出力データ項目が存在するかをチェックする。設計モデル補正装置は存在しなければ、ステップＳ５にて新規開発機能の入出力数を１とし、存在すれば、再利用レベルをチェックし、ステップＳ４にて再利用コストパラメータとの積を補正後の新規開発機能の入出力数とする。設計モデル補正装置は、ステップＳ８にて計算した入出力数の合計値を補正済み新規開発設計モデルに保存する。【選択図】      図２                                                  
2005266987.tif 000002
【特許請求の範囲】
【請求項１】
既存システムを再利用して、業務分野が類似している新規システムを開発する際の修正コストの見積もりを行う修正コスト見積もりシステムであって、
ファンクションポイント法による規模見積もり計算に用いる入出力が記載された設計書に対してその変更箇所に予め設定した値を付加情報として付加して前記既存システムの再利用を行う時の修正コストを見積もる手段を有することを特徴とする修正コスト見積もりシステム。
【請求項２】
既存システムを再利用して、業務分野が類似している新規システムを開発する際の修正コストの見積もりを行う修正コスト見積もりシステムであって、
ファンクションポイントの算出に必要な入出力が記載された新規開発設計モデルを保持する第１の保持手段と、再設計モデルの入出力のデータ項目毎に再利用する時のコストが記載された再利用設計モデルを保持する第２の保持手段と、再利用する時のコストと再利用コスト比率との関係が定義された再利用コストパラメータを保持する第３の保持手段と、前記新規開発設計モデルと前記再利用設計モデルと前記再利用コストパラメータとを入力して補正した補正済み新規開発設計モデルを計算する設計モデル補正装置とを有することを特徴とする修正コスト見積もりシステム。
【請求項３】
前記設計モデル補正装置は、前記既存システムを変更して再利用する際に前記データ項目毎に変更箇所か否かをチェックし、変更箇所と判定されたデータ項目の再利用レベルをチェックし、当該再利用レベルと前記再利用コストパラメータとの積を補正後の新規開発機能の入出力数とすることを特徴とする請求項２記載の修正コスト見積もりシステム。
【請求項４】
前記再利用設計モデルは、設計モデルの入出力のデータ項目毎に再利用する時のコストがソフトウェアの静的構造の変更の有無と前記ソフトウェアの動的構造の変更の有無とこれら以外の変更の有無との３段階で記載されたことを特徴とする請求項２または請求項３記載の修正コスト見積もりシステム。
【請求項５】
前記ソフトウェアの静的構造の変更が、データ分析設計で用いるエンティティ−リレーション図及びオブジェクト指向分析設計で用いるクラス図の関連の変更と当該関連の変更を引き起こすものの変更であり、
前記ソフトウェアの動的構造の変更が、シーケンス図のメッセージの送受信関係の変更であることを特徴とする請求項４記載の修正コスト見積もりシステム。
【請求項６】
既存システムを再利用して、業務分野が類似している新規システムを開発する際の修正コストの見積もりを行う修正コスト見積もり方法であって、
ファンクションポイント法による規模見積もり計算に用いる入出力が記載された設計書に対してその変更箇所に予め設定した値を付加情報として付加して前記既存システムの再利用を行う時の修正コストを見積もることを特徴とする修正コスト見積もり方法。
【請求項７】
既存システムを再利用して、業務分野が類似している新規システムを開発する際の修正コストの見積もりを行う修正コスト見積もり方法であって、前記新規システムの補正済み新規開発設計モデルを計算する設計モデル補正装置側に、ファンクションポイントの算出に必要な入出力が記載された新規開発設計モデルと再設計モデルの入出力のデータ項目毎に再利用する時のコストが記載された再利用設計モデルと再利用する時のコストと再利用コスト比率との関係が定義された再利用コストパラメータとを読み込むステップと、その読み込んだ前記新規開発設計モデルと前記再利用設計モデルと前記再利用コストパラメータとを入力して補正した補正済み新規開発設計モデルを計算するステップとを有することを特徴とする修正コスト見積もり方法。
【請求項８】
前記設計モデル補正装置側に、前記既存システムを変更して再利用する際に前記データ項目毎に変更箇所か否かをチェックするステップと、変更箇所と判定されたデータ項目の再利用レベルをチェックして当該再利用レベルと前記再利用コストパラメータとの積を補正後の新規開発機能の入出力数とするステップとを含むことを特徴とする請求項７記載の修正コスト見積もり方法。
【請求項９】
前記再利用設計モデルは、設計モデルの入出力のデータ項目毎に再利用する時のコストがソフトウェアの静的構造の変更の有無と前記ソフトウェアの動的構造の変更の有無とこれら以外の変更の有無との３段階で記載されたことを特徴とする請求項７または請求項８記載の修正コスト見積もり方法。
【請求項１０】
前記ソフトウェアの静的構造の変更が、データ分析設計で用いるエンティティ−リレーション図及びオブジェクト指向分析設計で用いるクラス図の関連の変更と当該関連の変更を引き起こすものの変更であり、
前記ソフトウェアの動的構造の変更が、シーケンス図のメッセージの送受信関係の変更であることを特徴とする請求項９記載の修正コスト見積もり方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は修正コスト見積もりシステム及びそれに用いる修正コスト見積もり方法に関し、特にソフトウェア再利用における修正コスト見積もり方法に関する。
【背景技術】
【０００２】
ソフトウェアの開発規模を見積もる手法の１つにファンクションポイント法がある。このファンクションポイント法においては、従来、ソフトウェア開発の規模見積りで行われてきた属人的な技量によるものではなく、客観的に見積もるための方法である。
【０００３】
また、ファンクションポイント法は、開発するアプリケーションの入出力の数を基に機能の量を求め、この数値とソフトウェア開発組織が蓄積してきた一機能当たりの開発生産性と開発コストとを掛け合わせることによって、開発規模と開発コストとを見積もる方法である（例えば、特許文献１〜３参照）。
【０００４】
【特許文献１】特開２００２−０４１２８８号公報
【特許文献２】特開平８−００６７７７号公報
【特許文献３】特開２００２−２２２０８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のファンクションポイント法では、開発対象全体の機能量を新規に一から見積もる方法であり、既に存在するソフトウェアを再利用し、それに機能を追加、削除、修正するような場合の見積もり方法として使うには適切ではない。
【０００６】
仮に、機能追加や削除、修正を行う際の規模見積もりにファンクションポイント法を使用したとしても、ソフトウェアの部品を再利用する際のコストが新規開発よりも下回ることを前提としなければならない。
【０００７】
業務色の無い粒度の小さいソフトウェア部品、例えば、画面を構成するボタンや入力テキストフィールド等のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部品や、データベースにアクセスする部品は修正無しに使うことが多く、再利用のコストが小さい。
【０００８】
一方、業務色のある粒度の大きいソフトウェア部品、例えば、在庫管理、発注管理、顧客管理等は、同一ドメインの業務であっても各ユーザ独自の部分が存在し、細かな部分で異なるため、通常、修正無しに再利用することはあり得ない。また、修正の内容によっては、新規開発コストを上回る場合もある。
【０００９】
そこで、業務色のある粒度の大きいソフトウェア部品を再利用する場合には、修正して再利用するコストと新規開発コストとを比較する必要がある。再利用のための修正コストは、ソフトウェア部品の内部構造に変更を与えるか否かに大きく依存するが、通常、内部構造はブラックボックスになっていることが多く、簡単に判断することができない。
【００１０】
また、内部構造が公開されていたとしても、ソフトウェア部品の修正が、内部構造に変更を与えるかを判断するには、熟練した技術者であっても数日の時間を要している。熟練技術者に十分な見積り時間が与えられず、経験と勘に頼った見積りになることも多い。
【００１１】
すなわち、客観的に見積もりを行うためのファンクションポイント法は、業務色の強いソフトウェア部品を修正して再利用するような場合、属人的な技量に頼らざるを得ないという問題がある。
【００１２】
そこで、本発明の目的は上記の問題点を解消し、業務色の強いソフトウェア部品を修正して再利用するコスト計算にファンクションポイント法が利用可能になり、属人的でない客観的な正確性の高い定量的な見積方法に置換することができる修正コスト見積もりシステム及びそれに用いる修正コスト見積もり方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明による修正コスト見積もりシステムは、既存システムを再利用して、業務分野が類似している新規システムを開発する際の修正コストの見積もりを行う修正コスト見積もりシステムであって、
ファンクションポイント法による規模見積もり計算に用いる入出力が記載された設計書に対してその変更箇所に予め設定した値を付加情報として付加して前記既存システムの再利用を行う時の修正コストを見積もる手段を備えている。
【００１４】
本発明による他の修正コスト見積もりシステムは、  既存システムを再利用して、業務分野が類似している新規システムを開発する際の修正コストの見積もりを行う修正コスト見積もりシステムであって、
ファンクションポイントの算出に必要な入出力が記載された新規開発設計モデルを保持する第１の保持手段と、再設計モデルの入出力のデータ項目毎に再利用する時のコストが記載された再利用設計モデルを保持する第２の保持手段と、再利用する時のコストと再利用コスト比率との関係が定義された再利用コストパラメータを保持する第３の保持手段と、前記新規開発設計モデルと前記再利用設計モデルと前記再利用コストパラメータとを入力して補正した補正済み新規開発設計モデルを計算する設計モデル補正装置とを備えている。
【００１５】
本発明による修正コスト見積もり方法は、既存システムを再利用して、業務分野が類似している新規システムを開発する際の修正コストの見積もりを行う修正コスト見積もり方法であって、
ファンクションポイント法による規模見積もり計算に用いる入出力が記載された設計書に対してその変更箇所に予め設定した値を付加情報として付加して前記既存システムの再利用を行う時の修正コストを見積もっている。
【００１６】
本発明による他の修正コスト見積もり方法は、既存システムを再利用して、業務分野が類似している新規システムを開発する際の修正コストの見積もりを行う修正コスト見積もり方法であって、前記新規システムの補正済み新規開発設計モデルを計算する設計モデル補正装置側に、ファンクションポイントの算出に必要な入出力が記載された新規開発設計モデルと再設計モデルの入出力のデータ項目毎に再利用する時のコストが記載された再利用設計モデルと再利用する時のコストと再利用コスト比率との関係が定義された再利用コストパラメータとを読み込むステップと、その読み込んだ前記新規開発設計モデルと前記再利用設計モデルと前記再利用コストパラメータとを入力して補正した補正済み新規開発設計モデルを計算するステップとを備えている。
【００１７】
すなわち、本発明の修正コスト見積もりシステムは、既存システムを再利用して、業務分野が類似している新規システムを開発する場合に、属人的であった従来の修正コスト見積もり方法とは異なり、客観的に見積もるための方法である。
【００１８】
本発明の修正コスト見積もりシステムでは、ファンクションポイント法による規模見積もり計算に用いる画面やファイル等の入出力が記載された設計書に対して、その変更箇所に予め設定した値を付加情報として付加することで、既存システムの再利用を行う時の修正コストを見積もるものである。
【００１９】
一般に、既存のソフトウェア（既存システム）に対して機能を追加、修正、削除する際のコストとしては、（１）ソフトウェアの静的構造の変更が必要か否か、（２）ソフトウェアの動的構造の変更が必要か否か、（３）左記以外、の３つの視点で分類される。１つ目が一番コストが高く、順にコストが小さくなる。
【００２０】
１つ目のソフトウェアの静的構造とは、例えば、データ分析設計で用いるＥ−Ｒ（エンティティ−リレーション）図や、オブジェクト指向分析設計で用いるクラス図で表現される構造のことを指す。
【００２１】
静的構造の変更とは、Ｅ−Ｒ図やクラス図の関連の変更と、及び関連の変更を引き起こすものの変更のことである。Ｅ−Ｒ図において関連の変更を引き起こすものとしては識別キーや外部キーであり、クラス図においては識別子のことである。
【００２２】
静的構造の変更は画面、ビジネスロジック、データベースの全てに影響を及ぼすため、変更コストは一番大きい。例えば、あるエンティティに対して、識別キーの追加や削除、外部キーの追加や削除、及びそれに伴う関連の追加や削除が１つ目の変更に相当する。
【００２３】
２つ目のソフトウェアの動的構造とは、オブジェクト指向分析設計で用いるシーケンス図で表現されるオブジェクト間メッセージの送受信関係のことを指す。動的構造の変更とは、シーケンス図のメッセージの送受信関係の変更である。オブジェクト間メッセージの送受信関係は、クラスのメソッド設計で定義されることから、ビジネスロジックに影響を及ぼす変更である。
【００２４】
例えば、オブジェクトＡとオブジェクトＢとがあり、オブジェクトＡからオブジェクトＢにメッセージが送信されているとする。オブジェクトＢの機能改造のため、Ｂクラスを継承したサブクラスＢ’を新規に追加し、オブジェクトＡからサブクラスＢ’にメッセージを送信するような変更である。
【００２５】
３つ目は、上記の１つ目のコストと２つ目のコストとに該当しないもので、例えば、画面の見栄えの修正や、クラスのメソッドに閉じた修正のような変更で、他のビジネスロジックやデータベースに影響を与えない閉じたものである。Ｅ−Ｒ図で定義するエンティティの従属項目の変更が、ビジネスロジックの変更に影響しない場合には、３つ目の分類として考える。
【００２６】
上記の付加情報は、上述した３つの分類を、ファンクションポイント法の機能量の計算に用いる画面やファイル等の入出力設計書の記載されているデータ項目それぞれに対して設定する。そして、上述した（１）、（２）、（３）のコストそれぞれに対して、大、中、小の値を予め設定しておく。
【００２７】
ソフトウェアを変更して再利用する際には、データ項目毎に変更箇所か否かをチェックする。変更箇所の付加情報の値及び新規開発の場合の比率は、業種や業務によって異なるため、それらの値や比率は外部に格納されたパラメータによって変更可能である。
【００２８】
これによって、本発明の修正コスト見積もりシステムでは、業務色の強いソフトウェア部品を修正して再利用するコスト計算に、ファンクションポイント法が利用可能になり、属人的でない客観的な正確性の高い定量的な見積方法に置換することが可能となる。
【００２９】
また、本発明の修正コスト見積もりシステムでは、業務色の強いソフトウェア部品を修正して再利用するコストと、新規開発コストとの比較を容易に行うことが可能となるため、ソフトウェア部品を再利用するか否かの判断を客観的に行うことが可能となる。
【発明の効果】
【００３０】
本発明は、以下に述べるような構成及び動作とすることで、業務色の強いソフトウェア部品を修正して再利用するコスト計算にファンクションポイント法が利用可能になり、属人的でない客観的な正確性の高い定量的な見積方法に置換することができるという効果が得られる。
【発明を実施するための最良の形態】
【００３１】
次に、本発明の実施例について図面を参照して説明する。図１は本発明の一実施例による修正コスト見積もりシステムの構成を示すブロック図である。図１において、本発明の一実施例による修正コスト見積もりシステムは新規開発設計モデル保持部１と、再利用設計モデル保持部２と、再利用コストパラメータ保持部３と、設計モデル補正装置４と、補正済み新規開発設計モデル保持部５と、ファンクションポイント計算装置６と、機能量保持部７とから構成されている。
【００３２】
新規開発設計モデル保持部１はファンクションポイントの算出に必要な入出力が記載された設計書である新規開発設計モデルを保持している。再利用設計モデル保持部２には設計モデルの入出力のデータ項目毎に再利用する時のコストの程度が３段階で記載された再利用設計モデルが保持されている。再利用コストパラメータ保持部３には再利用する時のコストの程度と、再利用コスト比率との関係が定義された再利用コストパラメータが保持されている。
【００３３】
設計モデル補正装置４はこれら新規開発設計モデルと再利用設計モデルと再利用コストパラメータとを入力として、補正した設計モデルを計算する。補正済み新規開発設計モデル保持部５は設計モデル補正装置４の出力である補正済み新規開発設計モデルを保持する。
【００３４】
図２は本発明の一実施例による修正コスト見積もりシステムの動作を示すフローチャートである。これら図１及び図２を参照して本発明の一実施例による修正コスト見積もりシステムの動作について説明する。
【００３５】
修正コスト見積もりシステムの動作が開始されると、設計モデル補正装置４は新規開発設計モデル保持部１と再利用設計モデル保持部２と再利用コストパラメータ保持部３とからそれぞれの保持内容を読込む（図２ステップＳ１）。
【００３６】
設計モデル補正装置４は新規開発設計モデルから入出力データ項目を１つ取り出し、再利用設計モデルに同じ入出力データ項目が存在するかをチェックする（図２ステップＳ２）。
【００３７】
設計モデル補正装置４は上記のチェックにおいて同じ入出力データ項目が存在しないと判断すると（図２ステップＳ３）、新規開発機能の入出力数を１とする（図２ステップＳ５）。
【００３８】
設計モデル補正装置４は上記のチェックにおいて同じ入出力データ項目が存在すると判断すると（図２ステップＳ３）、再利用レベルをチェックし、その再利用レベルと再利用コストパラメータとの積を補正後の新規開発機能の入出力数とする（図２ステップＳ４）。
【００３９】
設計モデル補正装置４は新規開発設計モデル１から全ての入出力データ項目を取り出したかをチェックする（図２ステップＳ６）。設計モデル補正装置４は入出力データ項目を全て取り出していなければ（図２ステップＳ７）、上記のステップＳ１の処理に戻る。また、設計モデル補正装置４は入出力データ項目を全て取り出していれば（図２ステップＳ７）、計算した入出力数の合計値を補正済み新規開発設計モデルとして補正済み新規開発設計モデル保持部５に保存する（図２ステップＳ８）。
【００４０】
補正済み新規開発設計モデル保持部５に補正済み新規開発設計モデルを保存した後に動作するファンクションポイント計算装置６は、既知の方法であるファンクションポイント法を実装した装置であるため、その動作説明を省略する。
【００４１】
本実施例による修正コスト見積もりシステムでは、ファンクションポイント法による規模見積もり計算に用いる画面やファイル等の入出力が記載された設計書に対して、設計書の変更箇所に予め設定した値を付加情報として付加することで、既存システムの再利用を行う時の修正コストを見積もるものである。
【００４２】
一般に、既存のソフトウェア（既存システム）に対して機能を追加、修正、削除する際のコストとしては、（１）ソフトウェアの静的構造の変更が必要か否か、（２）ソフトウェアの動的構造の変更が必要か否か、（３）左記以外、の３つの視点で分類される。１つ目が一番コストが高く、順にコストが小さくなる。
【００４３】
１つ目のソフトウェアの静的構造とは、例えば、データ分析設計で用いるＥ−Ｒ（エンティティ−リレーション）図や、オブジェクト指向分析設計で用いるクラス図で表現される構造のことを指す。
【００４４】
ソフトウェアの静的構造の変更とは、Ｅ−Ｒ図やクラス図の関連の変更と、及び関連の変更を引き起こすものの変更のことである。Ｅ−Ｒ図において関連の変更を引き起こすものとしては識別キーや外部キーであり、クラス図においては識別子のことである。
【００４５】
ソフトウェアの静的構造の変更は画面、ビジネスロジック、データベースの全てに影響を及ぼすため、変更コストは一番大きい。例えば、あるエンティティに対して、識別キーの追加や削除、外部キーの追加や削除、及びそれに伴う関連の追加や削除が１つ目の変更に相当する。
【００４６】
２つ目のソフトウェアの動的構造とは、オブジェクト指向分析設計で用いるシーケンス図で表現されるオブジェクト間メッセージの送受信関係のことを指す。動的構造の変更とは、シーケンス図のメッセージの送受信関係の変更である。オブジェクト間メッセージの送受信関係は、クラスのメソッド設計で定義されることから、ビジネスロジックに影響を及ぼす変更である。
【００４７】
例えば、オブジェクトＡとオブジェクトＢとがあり、オブジェクトＡからオブジェクトＢにメッセージが送信されているとする。オブジェクトＢの機能改造のため、Ｂクラスを継承したサブクラスＢ’を新規に追加し、オブジェクトＡからサブクラスＢ’にメッセージを送信するような変更である。
【００４８】
３つ目は、上記の１つ目のコストと２つ目のコストとに該当しないもので、例えば、画面の見栄えの修正や、クラスのメソッドに閉じた修正のような変更で、他のビジネスロジックやデータベースに影響を与えない閉じたものである。Ｅ−Ｒ図で定義するエンティティの従属項目の変更が、ビジネスロジックの変更に影響しない場合には、３つ目の分類として考える。
【００４９】
付加情報は、上述した３つの分類を、ファンクションポイント法の機能量の計算に用いる画面やファイル等の入出力設計書の記載されているデータ項目それぞれに対して設定する。そして、上述した（１）、（２）、（３）のコストそれぞれに対して、大、中、小の値を予め設定しておく。
【００５０】
ソフトウェアを変更して再利用する際には、データ項目毎に変更箇所か否かをチェックする。変更箇所の付加情報の値及び新規開発の場合の比率は、業種や業務によって異なるため、それらの値や比率は外部に格納されたパラメータによって変更可能である。
【００５１】
このように、本実施例では、業務色の強いソフトウェア部品を修正して再利用するコスト計算に、ファンクションポイント法が利用可能になり、属人的でない客観的な正確性の高い定量的な見積方法に置換することができる。
【００５２】
また、本実施例では、業務色の強いソフトウェア部品を修正して再利用するコストと、新規開発コストとの比較を容易に行うことができるため、ソフトウェア部品を再利用するか否かの判断を客観的に行うことができる。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施例による修正コスト見積もりシステムの構成を示すブロック図である。
【図２】本発明の一実施例による修正コスト見積もりシステムの動作を示すフローチャートである。
【符号の説明】
【００５４】
１  新規開発設計モデル
２  再利用設計モデル
３  再利用コストパラメータ
４  設計モデル補正装置
５  補正済み新規開発設計
６ファンクションポイント計算装置
７  機能量
【図１】
2005266987.tif 000003
【図２】
2005266987.tif 000004