(57)【要約】【課題】概念モデルを入力としてシステム移行に伴うコストを算出する。【解決手段】ソフトウェア設計のためのデータ構造を抽象化して表現した複数のクラス図によって構成される概念モデルを用いて、システム移行に伴うコストを算出するコスト算出プログラムは、コンピュータに、システム移行前の起点となる概念モデルと、システム移行後の評価対象の概念モデルとを入力する概念モデル入力機能と、前記起点となる概念モデルの部品の情報と、前記評価対象の概念モデルの部品の情報とを、所定の式に入力して、開発コスト及び運用コストを算出するコスト算出機能と、前記開発コスト及び運用コストを出力する出力機能とを実現させる。【選択図】図１
2018041262.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア設計のためのデータ構造を抽象化して表現した複数のクラス図によって構成される概念モデルを用いて、システム移行に伴うコストを算出するコスト算出プログラムであって、コンピュータに、
システム移行前の起点となる概念モデルと、システム移行後の評価対象の概念モデルとを入力する概念モデル入力機能と、
前記起点となる概念モデルの部品の情報と、前記評価対象の概念モデルの部品の情報とを、所定の式に入力して、開発コスト及び運用コストを算出するコスト算出機能と、
前記開発コスト及び運用コストを出力する出力機能と、
を実現させるコスト算出プログラム。
【請求項２】
前記起点となる概念モデルの部品種類毎の部品数、前記評価対象の概念モデルの部品種類毎の部品数、前記起点となる概念モデルから前記評価対象の概念モデルへの変更種類毎の変更数、及び、前記起点となる概念モデルと前記評価対象の概念モデルの冗長構造パターン種類毎の冗長構造の数を検出する概念モデル構造検出機能を更に実現させ、
前記コスト算出機能は、前記起点となる概念モデルの部品種類毎の部品数と前記評価対象の概念モデルの部品種類毎の部品数との差、及び前記起点となる概念モデルから前記評価対象の概念モデルへの変更種類毎の変更数を、所定の式に入力して、開発コストを算出し、前記起点となる概念モデルの部品種類毎の部品数、前記評価対象の概念モデルの部品種類毎の部品数、及び前記起点となる概念モデルと前記評価対象の概念モデルの冗長構造パターン種類毎の冗長構造の数を、所定の式に入力して、運用コストを算出する、請求項１に記載のコスト算出プログラム。
【請求項３】
前記概念モデル構造検出機能は、概念モデルに関して予め作成されたチェック項目に基づいて、前記概念モデルの表記エラー及び冗長構造を検出する、請求項２に記載のコスト算出プログラム。
【請求項４】
前記コスト算出機能は、起点となる概念モデルにおいてパッケージ製品の部品の情報を除外して運用コストを算出する、請求項１乃至３のうちいずれか１項に記載のコスト算出プログラム。
【請求項５】
前記出力機能は、システム開発のまとまり毎に前記開発コスト及び運用コストを出力する、請求項１乃至４のうちいずれか１項に記載のコスト算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム移行に伴うコストを算出するコスト算出プログラムに関する。
【背景技術】
【０００２】
オブジェクト指向プログラミングにおけるソースコードは、設計段階で設計された各クラス図に基づいてコーディングされる。そのため、現行システムから次期システムへの移行に伴い、クラスに変更があった場合には、プログラム各部への影響が生じることなり、特にソフトウェアが大規模化するにしたがって、プログラム各部への影響が大きくなる。そのため、精度の高い設計と共に、設計の早い段階でのコスト算出が行われることが重要となっている。
【０００３】
ソフトウェアの開発規模を算出する１つの手法として、ファンクションポイント法がある（非特許文献１参照）。ファンクションポイント法は、ソフトウェアの機能に着目し、その処理内容に応じてポイント（点数）を付けてソフトウェア全体に対する開発規模や工数を算出する手法である。ファンクションポイント法は、プログラミング前に必要な機能が抽出できた段階で開発規模を概算し、システム開発コストを算出することができる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】小川明子，渡辺浩史，"ファンクションポイント法実践−見積の可視化を目指して−"，SOFTECS, VOL.28, NO. 1，63-68ページ，2005年7月15日発行
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のファンクションポイント法は、ソフトウェアの機能に着目して開発規模や工数を算出するため、ある程度実装する機能等が明確にならなければシステム開発コストを算出することができない。すなわち、ファンクションポイント法では、設計段階の中でもある程度設計が作り込まれた段階でのコスト算出となるため、ソフトウェアの開発に要するコストがわからない段階で設計をある程度進めることとなり、開発要否等の判断によっては、手戻りが大きいという課題がある。
【０００６】
また、ファンクションポイント法は、コスト算出においてシステムの構造を考慮しないため、運用コストを見積もることができないという課題がある。
【０００７】
このような従来の課題を解決するため、本発明は、概念モデルを入力としてシステム移行に伴うコストを算出することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一形態に係るコスト算出プログラムは、
ソフトウェア設計のためのデータ構造を抽象化して表現した複数のクラス図によって構成される概念モデルを用いて、システム移行に伴うコストを算出するコスト算出プログラムであって、コンピュータに、
システム移行前の起点となる概念モデルと、システム移行後の評価対象の概念モデルとを入力する概念モデル入力機能と、
前記起点となる概念モデルの部品の情報と、前記評価対象の概念モデルの部品の情報とを、所定の式に入力して、開発コスト及び運用コストを算出するコスト算出機能と、
前記開発コスト及び運用コストを出力する出力機能と、
を実現させることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、概念モデルを入力としてシステム移行に伴うコストを算出することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例に係るコスト算出装置の機能ブロック図
【図２】概念モデルの定義を示す図
【図３】概念モデルの変更数を示す図
【図４】概念モデルの冗長構造を検出するためのリストを示す図
【図５】概念モデルの表記エラーを検出するためのリストを示す図
【図６】コスト算出部におけるコスト算出の概要を示す図
【図７】システムの費用項目を示す図
【図８】開発コスト及び運用コストの算出の概要を示す図
【図９】次期業務システム構築費の算出式を示す図
【図１０】次期システム運用保守費及び次期業務運用費の算出式を示す図
【図１１】既存システムに対してパッケージ製品を導入する場合の概念モデルの概要を示す図
【図１２】既存業務システムのＡｓＩｓ概念モデルの例を示す図
【図１３】図１２の概念モデルを変換したＴｏＢｅ概念モデルの例を示す図
【図１４】クラスを追加したときの部品集計表を示す図
【図１５】部品種類毎のコスト換算係数を示す図
【図１６】変更種類毎のコスト換算係数を示す図
【図１７】工程毎のコスト換算係数を示す図
【図１８】冗長構造パターン種類毎のコスト換算係数を示す図
【図１９】本発明の実施例に係るコスト算出装置のハードウェア構成例を示す図
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施例について説明する。
【００１２】
本発明の実施例では、ソフトウェア設計のためのデータ構造を抽象化して表現した複数のクラス図によって構成される概念モデルを用いて、システム移行に伴うコストを算出するコスト算出プログラムについて説明する。なお、コスト算出プログラムに関する説明の便宜上、プログラムの各機能をコンピュータ上に実現したコスト算出装置を例に挙げて説明する。
【００１３】
図１は、本発明の実施例に係るコスト算出装置１００の機能ブロック図である。コスト算出装置１００は、概念モデル入力部１０１と、概念モデル構造検出部１０３と、コスト算出部１０５と、出力部１０７とを有する。
【００１４】
概念モデル入力部１０１は、システム移行前の起点となる概念モデルと、システム移行後の評価対象の概念モデルとを入力する。以下の説明において、起点となる概念モデルを起点モデル又はＡｓＩｓ概念モデルと呼ぶ。また、評価対象の概念モデルを評価モデル又はＴｏＢｅ概念モデルと呼ぶ。概念モデルはソフトウェア設計のためのデータ構造を抽象化して表現した複数のクラス図によって構成され、例えば、オブジェクト指向分析のために用いられるＵＭＬ（Unified Modeling Language）に従って定義される。
【００１５】
図２は、概念モデルの定義を示す図である。図２に示す概念モデルの定義は、ＵＭＬによる定義である。概念モデルは、オブジェクトを表現するためのクラスと、オブジェクト間の関連と、クラスの継承と、対象となるモデルのまとまりを表すパッケージとで定義される。クラスには、名称、システム名、属性等の情報が含まれ、その性質（属性）も定義される。関連には、名称、多重度、関連端名称、誘導可能性、関連するクラス等の情報が含まれ、その性質も定義される。継承には、継承等の情報が含まれ、パッケージには名称等の情報が含まれる。概念モデルを表現するための個々の構成要素である情報及び性質を部品と呼び、これらの情報及び性質には必須の部品と任意選択の部品がある。
【００１６】
概念モデル構造検出部１０３は、起点モデル及び評価モデルの概念モデル構造を検出する。コストの算出のため、概念モデル構造検出部１０３は、起点モデルの部品種類毎の部品数、評価モデルの部品種類毎の部品数、起点モデルから評価モデルへの変更種類毎の変更数等を検出する。起点モデル及び評価モデルの部品数は、図２に示す部品種類毎に検出される。また、起点モデルから評価モデルへの変更数は、図３に示す変更種別毎に検出される。
【００１７】
図３は、概念モデルの変更数を示す図である。変更内容が評価モデルへの部品の追加である場合、起点モデルから評価モデルへの変更数は＋１となる。変更内容が部品の名称・内容変更である場合、起点モデルから評価モデルへの変更数は０となる。変更内容が評価モデルへの部品の削除である場合、起点モデルから評価モデルへの変更数は−１となる。変更内容が部品の統合である場合、起点モデルから評価モデルへの変更数は１−（起点モデルの統合前の部品数）となる。ただし、起点モデルの統合前の部品数は２以上の整数値である。変更内容が部品の分割である場合、起点モデルから評価モデルへの変更数は（評価モデルの分割後の部品数）−１となる。ただし、評価モデルの分割後の部品数は２以上の整数値である。変更内容がパッケージをまたぐ部品の移動である場合、起点モデルから評価モデルへの変更数は０となる。なお、分割・統合・移動が発生するのは、クラス単位又はパッケージ単位だけとし、関連のレベル、継承のレベル、クラス又はパッケージが持つ情報・性質のレベルでは分割・統合・移動は発生しない。
【００１８】
また、概念モデル構造検出部１０３は、起点モデルと評価モデルの冗長構造パターン毎の冗長構造の数を検出する。概念モデルの冗長構造は、概念モデルに関して予め作成されたチェック項目に基づいて冗長構造パターン種類（チェック項目種類）毎に検出される。更に、概念モデル構造検出部１０３は、概念モデルに関して予め作成されたチェック項目に基づいて、概念モデルの表記エラーを検出する。概念モデル構造検出部１０３において検出された冗長構造及び表記エラーは、出力部１０７においてハイライト表示されてもよく、画面中心に配置されて表示されてもよい。その結果、ユーザーの検索の手間が削減可能になる。
【００１９】
図４は、概念モデルの冗長構造を検出するためのリストを示す図である。図４は、概念モデルに記載されていると冗長な悪い表現であるという観点から定義しており、概念モデルを修正することで、より簡単な概念モデルに修正できる可能性が高い表現である。必要に応じて閾値との比較により、エラーが検出される。図４に示すチェック内容には、必ずしも冗長構造のエラーと判別できないものも含まれるが、エラーの可能性があるものとして検出される。冗長構造は運用コストに影響を与えると考えられることから、この冗長構造の数は、コスト算出部１０５におけるコスト算出要素の１つとなる。
【００２０】
図５は、概念モデルの表記エラーを検出するためのリストを示す図である。図５は、概念モデルに記載されていると悪い表現であるという観点から定義している。図５に示すチェック内容は、概念モデル上で表現されていれば必ず表記のエラーとして検出される。すなわち、このチェック内容に合致する表現はエラーとなるため、概念モデルの修正が必要となる。従って、表記エラーの数は、コスト算出部１０５におけるコスト算出要素とはならないが、表記エラーによる概念モデルの修正によって、コスト算出精度の向上が図られる。
【００２１】
コスト算出部１０５は、起点モデルの部品の情報と、評価モデルの部品の情報とを、所定の式に入力して、開発コスト及び運用コストを算出する。
【００２２】
図６は、コスト算出部１０５におけるコスト算出の概要を示す図である。コスト算出部１０５は、起点モデル及び評価モデルを取得し、その差分を把握してコストを算出する。例えば、コストは、起点モデルから評価モデルへの変更要素に適切な係数を乗算したものを、変更内容毎に集計し、更に、企画・計画、要件定義、設計・構築、テスト、移行・導入、プロジェクト支援等の工程毎に集計することにより算出される。なお、図６にはコスト算出の概要の一部が記載されており、詳細については以下に説明する。
【００２３】
図７は、システムの費用項目を示す図である。システム移行に伴うコストは、現行システム運用保守費、現行業務運用費、次期業務システム構築費、次期システム運用保守費、次期業務運用費に分類することができる。現行システム運用保守費、現行業務運用費は現状調査から集計することができる。次期業務運用費は、以下に説明する次期システム運用保守費と同列での試算は可能であるが、変動幅が大きいため、算出したとしても参考値レベルとする。
【００２４】
コスト算出部１０５は、起点モデル及び評価モデルの情報から、設計・構築コストを算出し、設計・構築コストに適切な係数（係数ａ〜係数ｅ）を乗算することにより企画・計画、要件定義、テスト、移行・導入、プロジェクト支援のコストをそれぞれ算出する。その結果、開発（Initial）コストである次期業務システム構築費を算出することができる。コスト算出部１０５は、起点モデル及び評価モデルの情報から、運用（Running）コストである次期システム運用保守費及び次期業務運用費を算出する。
【００２５】
図８は、開発コスト及び運用コストの算出の概要を示す図である。コスト算出部１０５は、起点モデルから評価モデルへの差分情報の中から、部品の変化を捉え、開発コストである次期業務システム構築費を算出する。例えば、クラスＣが増えてクラスＡ及びＢが変更された場合、クラスＣの増加、クラスＡ及びＢの変更、クラス間の関連の増加が差分情報の中から検出できる。その検出結果は、開発コストの算出の基礎となる。また、コスト算出部１０５は、起点モデルから評価モデルへの差分情報の中から、冗長構造の変化を捉え、運用コストである次期システム運用保守費及び次期業務運用費を算出する。例えば、クラスＡ及びＢがクラスＣに集約された場合、ばらばらに存在する情報が集約されたことが検出できる。この検出結果は保守性等の向上につながると考えられるため、運用コストの算出の基礎となる。
【００２６】
次に、図９を参照して、開発コストである次期業務システム構築費について詳細に説明する。
【００２７】
次期業務システム構築費は、以下のように、基準コストに工程毎の相対コストを乗算した和として定義でき、また、工程毎に基準コストとコスト換算係数を乗算した和として定義できる。
次期業務システム構築費＝基準コスト＋Σ工程相対コスト
＝Σ工程［基準コスト×工程毎のコスト換算係数］
ここで、工程とは、図７に示す企画・計画、要件定義、設計・構築、テスト、移行・導入、プロジェクト支援を示す。基準コストは、概念モデルの要素（部品）を評価して算出する特定の工程（設計・構築）のコストである。相対コストは、基準コストに係数（図７の係数ａ〜係数ｅ）を乗算して算出する特定の工程のコストである。ここでは、設計・構築のコストを基準コストとし、相対コストは「ソフトウェア開発データ白書」又は「ユーザー企業ソフトウェアメトリックス調査」等によって公開されている統計量を使用して、基準コストに係数を乗算して算出する。
【００２８】
本発明の実施例では、基準コストを以下のように展開する。
基準コスト＝起点モデルと評価モデルの差分情報×基準コストのコスト換算係数
＝起点モデルと評価モデルの部品種類毎の部品数の差×部品種類毎のコスト換算係数＋起点モデルと評価モデルの変更種類毎の変更数×変更種類毎のコスト換算係数
＝Σ部品種類［（｜評価モデルの部品数（部品種類毎）−起点モデルの部品数（部品種類毎）｜）×コスト換算係数（部品種類毎）］＋Σ変更種類［起点モデルと評価モデルの変更数（変更種類毎）×コスト換算係数（変更種類毎）］
ここで、部品種類は図２に示す部品の種類であり、部品種類毎のコスト換算係数は、図２に示す部品の種類毎に事前に設定される。変更種類は、図３に示す変更の種類であり、変更種類毎のコスト換算係数は、図３に示す変更の種類毎に事前に設定される。上記の式において、部品数の差は絶対値として求められている。この理由は、部品を増やしても減らしても次期業務システム構築費が増加すると考えられるためである。
【００２９】
このように、開発コストである次期業務システム構築費は、起点モデルの部品種類毎の部品数と評価モデルの部品種類毎の部品数との差、及び起点モデルから評価モデルへの変更種類毎の変更数を、所定の式に入力して算出できる。
【００３０】
次に、図１０を参照して、運用コストである次期システム運用保守費及び次期業務運用費について詳細に説明する。
【００３１】
次期システム運用保守費及び次期業務運用費は、以下のように、現行システム運用保守費及び現行業務運用費にコスト増減比率を乗算して得られる。
次期システム運用保守費＝現行システム運用保守費×コスト増減比率
次期業務運用費＝現行業務運用費×コスト増減比率
本発明の実施例では、コスト増減比率を以下のように展開する。以下の式は、冗長構造の増加によりコストが増加することを示しており、冗長構造が無い場合は、最低限のコストのみが掛かることを示している。
コスト増減比率＝［評価モデルの情報量×（１＋評価モデルの冗長構造数）］／［起点モデルの情報量×（１＋起点モデルの冗長構造数）］
ここで、冗長構造数とは、クラス図の構造に関して図４に示す冗長構造パターンに合致した数である。
【００３２】
評価（又は起点）モデルの情報量、評価（又は起点）モデルの冗長構造数は以下のように展開できる。
評価（又は起点）モデルの情報量＝評価（又は起点）モデルの部品種類毎の部品数×部品種類毎のコスト換算係数
＝Σ部品種類［評価（又は起点）モデルの部品数（部品種類毎）×コスト換算係数（部品種類毎）］
評価（又は起点）モデルの冗長構造数＝評価（又は起点）モデルの冗長構造パターン種類毎のパターン数×冗長構造パターン種類毎のコスト換算係数
＝Σ冗長構造パターン種類［評価（又は起点）モデルの冗長構造パターン数（冗長構造パターン種類毎）×コスト換算係数（冗長構造パターン種類毎）］
ここで、部品種類は図２に示す部品の種類であり、部品種類毎のコスト換算係数は、図２に示す部品の種類毎に事前に設定される。冗長構造パターン種類は、図４に示すチェック項目の種類であり、冗長構造パターン種類毎のコスト換算係数は、図４に示すチェック項目の種類毎に事前に設定される。
【００３３】
このように、運用コストである次期システム運用保守費及び次期業務運用費は、起点モデルの部品種類毎の部品数、評価モデルの部品種類毎の部品数、及び起点モデルと評価モデルの冗長構造パターン種類毎の冗長構造の数を、所定の式に入力して算出できる。
【００３４】
次に、既存システムに対してパッケージ製品を導入する場合の考え方について説明する。
【００３５】
図１１は、既存システムに対してパッケージ製品を導入する場合の概念モデルの概要を示す図である。この場合の起点モデルは、既存システムの概念モデルに、パッケージ製品の標準的に搭載されている機能の概念モデルを加えたものになる。評価モデルは、既存システムに対してパッケージ製品を導入した後の概念モデルである。評価モデルにおいては、既存システムの一部がパッケージ製品に置き換わり、既存システム及びパッケージ製品にカスタマイズが発生し、インタフェース等の追加が発生する。
【００３６】
開発コストである次期業務システム構築費は、図９と同様に以下のように算出できる。
次期業務システム構築費＝Σ工程［基準コスト×工程毎のコスト換算係数］
基準コスト＝Σ部品種類［（｜既存システム及びパッケージ製品の評価モデルの部品数（部品種類毎）−既存システム及びパッケージ製品の起点モデルの部品数（部品種類毎）｜）×コスト換算係数（部品種類毎）］＋Σ変更種類［既存システム及びパッケージ製品の起点モデルと評価モデルの変更数（変更種類毎）×コスト換算係数（変更種類毎）］
一方、運用コストである次期システム運用保守費及び次期業務運用費は、起点モデルと評価モデルの比率を算出し、現行システム運用保守費及び次期業務運用費にその比率を掛けて求めるため、パッケージ製品の情報量及び冗長構造を考慮する必要はない。すなわち、次期システム運用保守費及び次期業務運用費は以下のように算出できる。
次期システム運用保守費＝現行システム運用保守費×コスト増減比率
次期業務運用費＝現行業務運用費×コスト増減比率
コスト増減比率＝［既存システム及びパッケージ製品の評価モデルの情報量×（１＋既存システム及びパッケージ製品の評価モデルの冗長構造数）］／［既存システムの起点モデルの情報量×（１＋既存システムの起点モデルの冗長構造数）］
このように、概念モデルに含まれる部品が既存システムに属するかパッケージ製品に属するかを区別しておき、運用コストである次期システム運用保守費及び次期業務運用費は、起点となる概念モデルにおいてパッケージ製品の部品の情報を除外して算出する。
【００３７】
最後に、出力部１０７は、コスト算出部１０５において算出された開発コスト及び運用コストを出力する。システム開発が複数のまとまりに分割できる場合、出力部１０７は、システム開発のまとまり毎にコスト算出部１０５において算出された開発コスト及び運用コストを出力してもよい。これにより、改修の必要性の高いまとまりを把握することが可能になる。
【００３８】
＜コスト算出の具体例＞
既存業務システムを表す概念モデル（ＡｓＩｓ）に対して、業務システムの改修・統合により変換された概念モデル（ＴｏＢｅ）を作成し、クラスを追加したときのコスト算出を行う具体例について説明する。
【００３９】
図１２は、既存業務システムのＡｓＩｓ概念モデルの例を示す図である。既存業務システムは、外部契約を扱うシステムとグループ契約を扱うシステムとを有する。また、複数のシステムで共通して利用する情報を扱う基盤システムが存在する。
【００４０】
外部契約を扱うシステムとグループ契約を扱うシステムは、似た構造を持っている。従って、概念モデル構造検出部１０３は、図４に示すリストに基づいて冗長構造を検出することができる。検出された冗長構造は、クラスを集約することにより最適化される。また、概念モデル構造検出部１０３は、表記エラーが存在するか否かを図５に示すリストに基づいて検出することができる。表記エラーが存在する部品は修正が行われる。
【００４１】
図１３は、図１２の概念モデルを変換したＴｏＢｅ概念モデルの例を示す図である。図１２に示す外部契約を扱うシステムとグループ契約を扱うシステムは、複数の契約種別を扱うことができるように最適化されている。複数のシステムで共通して利用する情報を扱う基盤システムは、他システムでも利用されるため基本的な構造の変更は行わないが、複数の契約種別を扱うシステムとのインタフェースは改修する必要がある。図１２の概念モデルと比べて図１３の概念モデルは冗長構造が修正されて、部品数が少なくなり簡略化されていることが分かる。
【００４２】
更に、図１３の概念モデルに、以下のクラスを追加することを想定する。
・クラス：１
＜イベントクラス＞：１
＜主要概念＞：１
一般クラス：１
・主要属性：１
・補助属性：１
・関連：２
まず、クラス追加によるコスト算出の前提として、一定レベルのシステム規模への適用を想定して、起点モデル（ＡｓＩｓ）のクラス数は１００、関連数は２００とする。
【００４３】
図１４は、クラスを追加したときの部品集計表を示す図である。上記のクラスの追加により、部品種類毎に部品数の差異が求められる。また、変更種類毎に変更数が求められる。
【００４４】
また、部品種類毎のコスト換算係数を図１５に示し、変更種類毎のコスト換算係数を図１６に示す。コスト換算係数は、１つのクラス及び２つの関連の追加したときの開発を１つの開発単位として、この開発単位に関わる作業を経験値によって決定する。
【００４５】
部品種類毎の部品数の差に図１５の係数値を乗算したコストは９．５（人日）であり、変更種類毎の変更数に図１６の係数値を乗算したコストは３９．９（人日）である。その結果、基準コストである設計・構築のコストは、４９．４（人日）と算出できる。
【００４６】
図１７は、工程毎のコスト換算係数を示す図である。図１７に示す係数値は、「ソフトウェア開発データ白書」（参考資料１）又は「ユーザー企業ソフトウェアメトリックス調査」（参考資料２）により決定できる。
【００４７】
基準コストである設計・構築のコストに他の工程の係数を乗算することで、企画・計画のコストが４．９（人日）、要件定義のコストが７．９（人日）、テストのコストが２０．７（人日）、移行・導入のコストが７．９（人日）、プロジェクト支援のコストが６．９（人日）と算出でき、最終的な次期業務システム構築費が４．９（人月）と算出できる。
【００４８】
図１８は、冗長構造パターン種類毎のコスト換算係数を示す図である。この算出例では冗長構造パターンに合致するものはないと想定し、運用コスト算出のためのコスト増減比率＝９００．５（評価モデルの情報量）／８９１（起点モデルの情報量）＝１０１．１％と算出できる。
【００４９】
＜本発明の実施例の効果＞
従来のコスト算出法は、概念モデルをインプットとしたコスト算出ではないため、ある程度実装する機能が明確になるまでコストの算出はできなかった。また、ＡｓＩｓ概念モデルからＴｏＢｅ概念モデルへシステムを改良したときの開発コストの算出や運用コストの算出ができなかった。更に、開発コストの算出根拠が不明で、複数開発ベンダの見積りを比較できなかった。
【００５０】
本発明の実施例では、概念モデルを構成するクラス図、部品等を開発コストや運用コストに関連付けることにより、概念モデルからシステム移行に伴うコストを算出することが可能になる。本発明の実施例によれば、設計の早い段階でコストを算出できるため、開発要否等の判断の手戻り等を最小限とすることができ、品質の高いソフトウェア設計が可能となる。
【００５１】
本発明の実施例は、ＡｓＩｓに対し、ＴｏＢｅ要件に応じてスクラッチ開発を前提にＴｏＢｅ概念モデルを作成した場合のコスト算出に適用可能である。また、本発明の実施例は、ＡｓＩｓに対し、ＴｏＢｅ要件に応じてパッケージ開発を前提に、ＴｏＢｅ概念モデルを作成した場合のコスト算出にも適用可能である。すなわち、現行システムの一部にパッケージ製品を適用する場合、又はパッケージ製品をベースに現行システムに合わせてカスタマイズやアドオンを実施する場合のコスト計算に適用可能である。
【００５２】
また、本発明の実施例に係るコスト算出装置は、異なるＴｏＢｅ概念モデルをコストに基づいて比較して評価することもでき、本発明の実施例により作成されたＴｏＢｅ概念モデルを更に改善することも可能である。なお、必要に応じて元の概念モデルに戻すことも可能である。すなわち、コスト値を評価関数とするＴｏＢｅ概念モデルの比較及び最適化が可能である。
【００５３】
＜ハードウェア構成例＞
図１９に、本発明の実施例に係るコスト算出装置１００のハードウェア構成例を示す。コスト算出装置１００は、ＣＰＵ（Central Processing Unit）１５１等のプロセッサ、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等のメモリ装置１５２、ハードディスク等の記憶装置１５３等から構成されたコンピュータでもよい。例えば、コスト算出装置１００の機能及び処理は、記憶装置１５３又はメモリ装置１５２に格納されているデータやプログラムをＣＰＵ１５１が実行することによって実現される。また、コスト算出装置１００に必要な情報は、入出力インタフェース装置１５４から入力され、コスト算出装置１００において求められた結果は、入出力インタフェース装置１５４から出力されてもよい。
【００５４】
＜補足＞
説明の便宜上、本発明の実施例に係るコスト算出装置は機能的なブロック図を用いて説明しているが、本発明の実施例に係るコスト算出装置は、ハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。例えば、本発明の実施例は、コンピュータに対して本発明の実施例に係るコスト算出装置の機能を実現させるプログラム、コンピュータに対して本発明の実施例に係る方法の各手順を実行させるプログラム等により、実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。また、本発明の実施例に係る方法は、実施例に示す順序と異なる順序で実施されてもよい。
【００５５】
以上、概念モデルを入力としてシステム移行に伴うコストを算出するための手法について説明したが、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々の変更・応用が可能である。
【符号の説明】
【００５６】
１００  コスト算出装置
１０１  概念モデル入力部
１０３  概念モデル構造検出部
１０５  コスト算出部
１０７  出力部
１５１  ＣＰＵ
１５２  メモリ装置
１５３  記憶装置
１５４  入出力インタフェース装置
【図１】
2018041262.tif 000003
【図２】
2018041262.tif 000004
【図３】
2018041262.tif 000005
【図４】
2018041262.tif 000006
【図５】
2018041262.tif 000007
【図６】
2018041262.tif 000008
【図７】
2018041262.tif 000009
【図８】
2018041262.tif 000010
【図９】
2018041262.tif 000011
【図１０】
2018041262.tif 000012
【図１１】
2018041262.tif 000013
【図１２】
2018041262.tif 000014
【図１３】
2018041262.tif 000015
【図１４】
2018041262.tif 000016
【図１５】
2018041262.tif 000017
【図１６】
2018041262.tif 000018
【図１７】
2018041262.tif 000019
【図１８】
2018041262.tif 000020
【図１９】
2018041262.tif 000021