(57)【特許請求の範囲】
【請求項１】
開発すべき計算機システムが担う各業務の量に関する第１の情報、前記各業務と前記計算機システム中で実行される各処理との関連に関する第２の情報、前記各処理と前記計算機システムを構成している各モジュールとの関連に関する第３の情報、および、前記各処理に関わる前記各モジュールごとの処理時間に関する第４の情報を入力するステップと、
前記第１ないし第４の情報を用いて前記計算機システムの性能を予測し第１の予測結果を得るステップと、
前記計算機システムの前記第１の予測結果を用いて所定の評価関数により評価を行い第１の評価関数値を得るステップと、
前記各処理のひとつと前記各モジュールのひとつとの組合せにおいて前記第４の情報を微小変化させた条件による前記第１ないし前記第４の情報を用いて、前記組合せの異なる複数について前記計算機システムの性能を予測し第２の予測結果をそれぞれ得るステップと、
前記計算機システムの前記第２の予測結果を用いて前記所定の評価関数により評価を行い第２の評価関数値をそれぞれ得るステップと、
前記第１の評価関数値、前記第２の評価関数値、および、前記第４の情報を微小変化させた前記条件から、前記各処理の前記ひとつと前記各モジュールの前記ひとつとの前記複数の組合せにおいて前記第１の評価関数値への感度をそれぞれ求めるステップと、
前記感度の大きさの順に、前記各処理の前記ひとつと前記各モジュールの前記ひとつとの前記複数の組合せを並べ替えるステップと
をコンピュータに実行させるための計算機システムの開発プログラム。
【請求項２】
前記各処理に関わる前記各モジュールごとの改良容易度に関する情報を第５の情報として入力するステップと、
前記感度と前記第５の情報とを用いて、前記各処理の前記ひとつと前記各モジュールの前記ひとつとの前記複数の組合せについて総合値をそれぞれ求めるステップと、
前記総合値の大きさの順に、前記各処理の前記ひとつと前記各モジュールの前記ひとつとの前記複数の組合せを並べ替えるステップと
をさらにコンピュータに実行させるための請求項１記載の計算機システムの開発プログラム。
【請求項３】
前記各処理に関わる前記各モジュールごとの改良容易度に関する情報を第５の情報として、前記各処理に関わる前記各モジュールごとの短縮可能時間に関する情報を第６の情報としてそれぞれ入力するステップと、
前記感度と前記第５および第６の情報とを用いて、前記各処理の前記ひとつと前記各モジュールの前記ひとつとの前記複数の組合せについて総合値をそれぞれ求めるステップと、
前記総合値の大きさの順に、前記各処理の前記ひとつと前記各モジュールの前記ひとつとの前記複数の組合せを並べ替えるステップと
をさらにコンピュータに実行させるための請求項１記載の計算機システムの開発プログラム。
【請求項４】
前記総合値の大きいものから、対応する前記各処理と前記各モジュールの組合せに応じた前記短縮可能時間を前記第４の情報に反映させて前記計算機システムの性能を予測し第３の予測結果をそれぞれ得るステップと、
前記計算機システムの前記第３の予測結果を用いて前記所定の評価関数により評価を行い第３の評価関数値をそれぞれ得るステップと、
前記第３の評価関数値が所定の値に達したか否か判断するステップと
をさらにコンピュータに実行させるための請求項３記載の計算機システムの開発プログラム。
【請求項５】
前記各処理に関わる前記各モジュールごとの短縮可能時間に関する情報を複数の改良策ごとに第５の情報として、前記複数の改良策それぞれの改良容易度に関する情報を第６の情報としてそれぞれ入力するステップと、
前記感度と前記第５および第６の情報とを用いて、前記改良策それぞれについて総合評価値を求めるステップと、
前記総合評価値の大きさの順に、前記改良策を並べ替えるステップと
をさらにコンピュータに実行させるための請求項１記載の計算機システムの開発プログラム。
【請求項６】
前記総合評価値の大きいものから、対応する前記改良策に応じた前記短縮可能時間を前記第４の情報に反映させて前記計算機システムの性能を予測し第３の予測結果をそれぞれ得るステップと、
前記計算機システムの前記第３の予測結果を用いて前記所定の評価関数により評価を行い第３の評価関数値を得るステップと、
前記各処理のひとつと前記各モジュールのひとつとの組合せにおいて前記第４の情報を微小変化させた条件による前記第１ないし前記第４の情報を用いて、前記組合せの異なる複数について前記計算機システムの性能を予測し第４の予測結果をそれぞれ得るステップと、
前記計算機システムの前記第４の予測結果を用いて前記所定の評価関数により評価を行い第４の評価関数値をそれぞれ得るステップと、
前記第３の評価関数値、前記第４の評価関数値、および、前記第４の情報を微小変化させた前記条件から、前記各処理の前記ひとつと前記各モジュールの前記ひとつとの前記複数の組合せにおいて前記第３の評価関数値への感度を第２の感度としてそれぞれ求めるステップと、
前記第２の感度と前記第５および第６の情報とを用いて、前記改良策それぞれについて第２の総合評価値を求めるステップと、
前記第２の総合関数値が所定の値に達したか否か判断するステップと
をさらにコンピュータに実行させるための請求項５記載の計算機システムの開発プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機によるシステムを開発するためのプログラムに係り、特に、複数のプログラムモジュールを備える計算機システムの開発プログラムに関する。
【背景技術】
【０００２】
インターネットシステム、イントラネットシステムなどの計算機システムを開発する場合、その設計段階におけるプログラムモジュール（以下、単に「モジュール」という場合がある。）ごとの性能目標値の設定は、例えば次のようになされている。すなわち、各モジュールに設定されている性能から計算機システム（以下、単に「システム」という場合がある。）としての性能を予測し、その予測結果がシステム目標を満たしていない場合に、各モジュールの性能目標値の見直しを行う。ここで、どのモジュールを見直すかは、設計者の経験や勘に頼って、改良しやすいもの、改良方法を思い付いたものが選択される。したがって、システム全体の性能改善に結び付く効率的な改良作業が行われていない場合が多い。
【０００３】
また、開発された各モジュールを単体テストで計測し得られた各モジュールの実際の性能を用いシステムとしての性能を予測する場合も同様のことが発生する。すなわち、各モジュールの実際の性能からシステムとしての性能を予測し、その予測結果がシステム目標を満たしていない場合に、各モジュールの改良を行う。ここで、どのモジュールを改良するかは開発者の経験や勘に頼って、改良しやすいもの、改良方法を思い付いたものが選択される。したがって、システム全体の性能改善に結び付く効率的な改良作業が行われていない場合が多い。
【０００４】
このように従来の技術では、インターネットシステム、イントラネットシステムなどの計算機システムの開発において、システムとしての性能予測結果が目標を満たしていない場合に、設計時ではどのモジュールの性能目標値を見直すか、単体開発後ではどのモジュールの性能を改良するかが、開発者の経験や勘に任されている。そのため効率的なシステム性能の改善が見込めない場合が頻出する。
【０００５】
下記特許文献１に開示される「計算機システムの性能予測プログラムおよび設計支援システム」では、一連のリクエストとそのタイミングから構成されるシナリオと、リクエストとそのリクエストによって起動するプログラムモジュール(部品ブロック)との関連と、プログラムモジュール(部品ブロック)の処理時間とリソース利用量とをもとに、システム運用時のシナリオ発生件数からレスポンスタイム、リソース利用率を予測する方法が示されている。
【０００６】
しかし、この開示内容では、システムの性能予測の結果、システム性能が目標値を満たしていない場合に、どのプログラムモジュール(部品ブロック)を改良すべきなのかを示してはいない。
【特許文献１】特開２００４−２７２５８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、計算機システムの開発プログラムにおいて、システム性能により大きく影響するプログラムモジュールを選択支援または決定することにより、開発すべきシステムの効率的な性能改善に資することが可能な、計算機システムの開発プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明に係る計算機システムの開発プログラムは、開発すべき計算機システムが担う各業務の量に関する第１の情報、前記各業務と前記計算機システム中で実行される各処理との関連に関する第２の情報、前記各処理と前記計算機システムを構成している各モジュールとの関連に関する第３の情報、および、前記各処理に関わる前記各モジュールごとの処理時間に関する第４の情報を入力するステップと、前記第１ないし第４の情報を用いて前記計算機システムの性能を予測し第１の予測結果を得るステップと、前記計算機システムの前記第１の予測結果を用いて所定の評価関数により評価を行い第１の評価関数値を得るステップと、前記各処理のひとつと前記各モジュールのひとつとの組合せにおいて前記第４の情報を微小変化させた条件による前記第１ないし前記第４の情報を用いて、前記組合せの異なる複数について前記計算機システムの性能を予測し第２の予測結果をそれぞれ得るステップと、前記計算機システムの前記第２の予測結果を用いて前記所定の評価関数により評価を行い第２の評価関数値をそれぞれ得るステップと、前記第１の評価関数値、前記第２の評価関数値、および、前記第４の情報を微小変化させた前記条件から、前記各処理の前記ひとつと前記各モジュールの前記ひとつとの前記複数の組合せにおいて前記第１の評価関数値への感度をそれぞれ求めるステップと、前記感度の大きさの順に、前記各処理の前記ひとつと前記各モジュールの前記ひとつとの前記複数の組合せを並べ替えるステップとをコンピュータに実行させる。
【００１０】
すなわち、この開発プログラムでは、システム性能を予測し、この予測結果を用いて所定の評価関数により評価関数値を求め、さらに、評価関数値への感度を各処理のひとつと各モジュールのひとつとの複数の組合せについて求める。したがって、ユーザはシステムの性能に大きく影響するモジュールを知ることができる。これにより、そのモジュールの目標性能を修正する、あるいはそのモジュールを実際に改良することによってシステムの効率的な性能改善に資することができる。
【発明の効果】
【００１１】
本発明によれば、計算機システムの開発プログラムにおいて、システム性能により大きく影響するプログラムモジュールを選択支援してまたは決定して、開発すべきシステムの効率的な性能改善に資することが可能な開発プログラムが提供される。
【発明を実施するための最良の形態】
【００１２】
本発明の実施態様として、前記各処理に関わる前記各モジュールごとの改良容易度に関する情報を第５の情報として入力するステップと、前記感度と前記第５の情報とを用いて、前記各処理の前記ひとつと前記各モジュールの前記ひとつとの前記複数の組合せについて総合値をそれぞれ求めるステップと、前記総合値の大きさの順に、前記各処理の前記ひとつと前記各モジュールの前記ひとつとの前記複数の組合せを並べ替えるステップとをさらに実行させる、としてもよい。これによれば、ユーザはシステムの性能に大きく影響するモジュールを、改良の容易度を加味した上で知ることができる。
【００１３】
また、実施態様として、前記各処理に関わる前記各モジュールごとの改良容易度に関する情報を第５の情報として、前記各処理に関わる前記各モジュールごとの短縮可能時間に関する情報を第６の情報としてそれぞれ入力するステップと、前記感度と前記第５および第６の情報とを用いて、前記各処理の前記ひとつと前記各モジュールの前記ひとつとの前記複数の組合せについて総合値をそれぞれ求めるステップと、前記総合値の大きさの順に、前記各処理の前記ひとつと前記各モジュールの前記ひとつとの前記複数の組合せを並べ替えるステップとをさらに実行させる、としてもよい。これによれば、ユーザはシステムの性能に大きく影響するモジュールを、改良の容易度および短縮可能時間を加味した上で知ることができる。
【００１４】
ここで、前記総合値の大きいものから、対応する前記各処理と前記各モジュールの組合せに応じた前記短縮可能時間を前記第４の情報に反映させて前記計算機システムの性能を予測し第３の予測結果をそれぞれ得るステップと、前記計算機システムの前記第３の予測結果を用いて前記所定の評価関数により評価を行い第３の評価関数値をそれぞれ得るステップと、前記第３の評価関数値が所定の値に達したか否か判断するステップとをさらに実行させる、としてもよい。これによれば、どこまで短縮可能時間を実際に適用すれば開発すべきシステムとして目標が達せられるかまで自動的に提示できる。
【００１５】
また、実施態様として、前記各処理に関わる前記各モジュールごとの短縮可能時間に関する情報を複数の改良策ごとに第５の情報として、前記複数の改良策それぞれの改良容易度に関する情報を第６の情報としてそれぞれ入力するステップと、前記感度と前記第５および第６の情報とを用いて、前記改良策それぞれについて総合評価値を求めるステップと、前記総合評価値の大きさの順に、前記改良策を並べ替えるステップとをさらに実行させる、としてもよい。これによれば、総合評価値の大きい順に改良策をユーザに提示することにより、ユーザはシステムの性能に大きく影響する改良策を知ることができる。
【００１６】
ここで、前記総合評価値の大きいものから、対応する前記改良策に応じた前記短縮可能時間を前記第４の情報に反映させて前記計算機システムの性能を予測し第３の予測結果をそれぞれ得るステップと、前記計算機システムの前記第３の予測結果を用いて前記所定の評価関数により評価を行い第３の評価関数値を得るステップと、前記各処理のひとつと前記各モジュールのひとつとの組合せにおいて前記第４の情報を微小変化させた条件による前記第１ないし前記第４の情報を用いて、前記組合せの異なる複数について前記計算機システムの性能を予測し第４の予測結果をそれぞれ得るステップと、前記計算機システムの前記第４の予測結果を用いて前記所定の評価関数により評価を行い第４の評価関数値をそれぞれ得るステップと、前記第３の評価関数値、前記第４の評価関数値、および、前記第４の情報を微小変化させた前記条件から、前記各処理の前記ひとつと前記各モジュールの前記ひとつとの前記複数の組合せにおいて前記第３の評価関数値への感度を第２の感度としてそれぞれ求めるステップと、前記第２の感度と前記第５および第６の情報とを用いて、前記改良策それぞれについて第２の総合評価値を求めるステップと、前記第２の総合関数値が所定の値に達したか否か判断するステップとをさらに実行させる、としてもよい。これによれば、総合評価値の大きい順に各改良策をユーザに表示し、さらに、どの改良策までを累積的に適用すれば目標達成になるかが示される。
【００１７】
また、実施態様として、前記所定の評価関数が、前記計算機システムが利用するリソースの利用率の上限値を指標として、該上限値を超えるリソース利用率の推移の前記リソースすべてについての総和である、とすることができる。
【００１８】
また、実施態様として、前記所定の評価関数が、前記計算機システムが利用するリソースの利用率の上限値を指標として、該上限値を超えるリソース利用率の最大値の前記リソースすべてについての総和である、とすることができる。
【００１９】
また、実施態様として、前記所定の評価関数が、前記計算機システムが利用するリソースの利用率の上限値を指標として、該上限値を超えるリソース利用率となる時間の前記リソースすべてについての総和である、とすることができる。
【００２０】
また、実施態様として、前記所定の評価関数が、前記計算機システムが利用するリソースのレスポンス時間の上限値を指標として、該上限値を超えるレスポンス時間の推移の前記リソースすべてについての総和である、とすることができる。
【００２１】
また、実施態様として、前記所定の評価関数が、前記計算機システムが利用するリソースのレスポンス時間の上限値を指標として、該上限値を超えるレスポンス時間の最大値の前記リソースすべてについての総和である、とすることができる。
【００２２】
また、実施態様として、前記所定の評価関数が、前記計算機システムが利用するリソースのレスポンス時間の上限値を指標として、該上限値を超えるレスポンス時間となる時間の前記リソースすべてについての総和である、とすることができる。
【００２３】
さらに、実施態様として、前記所定の評価関数が、上記記載の評価関数のいずれか２つ以上を組み合わせたものである、とすることもできる。
【００２４】
（第１の実施の形態）
以上を踏まえ、以下では本発明の実施形態を図面を参照しながら説明する。図１は、本発明の一実施形態に係る、計算機システムの開発方法を実行するためのシステム（ツール）の構成を示すブロック図である。図１に示すように、このシステム（ツール）は、入力部１０１、感度解析部１０２、性能予測部１０３、表示部１０４を有する。これらの構成により、感度計算を行い、開発すべきシステムの性能により大きく影響するモジュールの決定支援をユーザに提供するツールとしてこのシステムは機能する。
【００２５】
入力部１１は、業務量情報、各関連情報、モジュール性能情報を外部から取得し、これを感度解析部１２に渡す機能を有する。より具体的には、例えば、キーボードやマウスなどの入力機器とその制御プログラム、ハードディスクなどの各種記録メディア用のドライブ装置とその制御プログラムや、各種のネットワークとのインタフェース装置とその制御プログラムなどで構成することができる。
【００２６】
業務とは、開発すべきシステムが担う仕事を名目分けしたものを言い、業務量情報とは、例えば、その各業務の量を時間方向で示した情報である。各関連情報とは、各業務と開発すべきシステム（以下、「開発すべきシステム」は単に「システム」ともいう。ただし「システム（ツール）」と記載されるものとは異なる。）中で実行される各処理ｐとの関連に関する情報、各処理ｐとシステムを構成する各モジュールｍとの関連に関する情報（例えば関連あり／なしの情報）、および各モジュールｍとシステムのハードウエアである各リソースとの関連に関する情報である。モジュール性能情報とは、処理ｐが実行される時に関連するモジュールｍでかかる処理時間の情報、あるいは処理ｐが実行される時に関連するモジュールｍが利用するリソースの利用時間の情報である。
【００２７】
感度解析部１２は、入力部１１から渡された業務量情報、各関連情報、モジュール性能情報と、性能予測部１２から渡されたシステムの性能予測結果とから、所定の評価関数に基づいて評価関数値Ｅを求め、さらに、処理ｐ、モジュールｍをパラメータにして評価関数値Ｅへの感度を求めて、その結果を感度の高いｍ，ｐの組合せの順にソートする。性能予測部１３は、業務量情報、各関連情報、モジュール性能情報を感度解析部１２から取得し、これによりシステム性能を予測する。システム性能の予測結果は感度解析部１２に渡される。表示部１４は、感度解析部１２が求めた感度解析結果を表示する。その際、感度解析結果における感度の高いｍ，ｐの組合せの順で表示がなされる。
【００２８】
なお、感度解析部１２、性能予測部１３は、より具体的には、例えば、マイクロプロセッサやメモリなどのハードウエアとこのハードウエア上で機能するＯＳやアプリケーションプログラムなどのソフトウエアとにより構成することができる。表示部１４は、例えば、液晶表示装置などの表示装置とその制御プログラムとで構成することができる。
【００２９】
図１に示したシステム（ツール）の動作を、以下、図２、図３に示す流れ図をも参照して説明する。図２、図３は、図１に示したシステム（ツール）の動作フローを示す流れ図である。まず、入力部１１により業務量情報、各関連情報、モジュール性能情報を入力する（ステップ２０１）。入力で取得された各情報は感度解析部１２に渡され、さらにそこから性能予測部１３に送られる。ステップ２０２からステップ２１８まではループ処理（ループ１）になる。
【００３０】
性能予測部１３では、渡された各情報を用いてシミュレーションを行いシステム性能を予測する（ステップ２０３）。予測結果は感度解析部１２に送られる。感度解析部１２では、送られた予測結果を用いて所定の評価関数により評価関数値Ｅを求める（ステップ２０４）。そして、評価関数値Ｅがあらかじめ与えられた目標を達しているか判断を行い（ステップ２０５）、達していればループ１を抜けて、システム性能の予測結果を表示し（ステップ２１９）終了する。
【００３１】
評価関数値Ｅが目標を達していない場合は（ステップ２０５のＮ）、感度計算の処理に移行する。すなわち、ループ２（ステップ２０６からステップ２１４）で処理ｐ（ｐは各処理に付与された処理番号）をループ変数とし、ループ３（ステップ２０７からステップ２３１）でモジュールｍ（ｍは各モジュールに付与されたモジュール番号）をループ変数として処理を行い、ｐ，ｍの組合せで評価関数値Ｅへの感度を計算する。
【００３２】
より具体的には、処理ｐに関連するモジュールｍの処理時間を微小量Δｘ増加させ（ステップ２０８：感度解析部１２で）、その条件下で再びシミュレーションを行いシステム性能を予測する（ステップ２０９：性能予測部１３で）。予測結果は、感度解析部１２に送られる。感度解析部１２では、この予測結果からステップ２０４と同様にして評価関数値を計算する（ステップ２１０）。この評価関数値をＥｍ，ｐとする。さらに感度解析部１２は、感度Ｓｍ，ｐを（Ｅｍ，ｐ−Ｅ）／Δｘとして求める（ステップ２１１）。感度Ｓｍ，ｐが求められたら上記微小量Δｘをもとに戻し（ステップ２１２）、同様にしてループ２、ループ３を繰り返すことですべてのｍ，ｐの組合せについて感度を求める。
【００３３】
すべてのｍ，ｐの組合せで感度Ｓｍ，ｐが求められたら、その大きさの順にソートする（ステップ２１５：感度解析部１２で）。そして、感度Ｓｍ，ｐの大きさの順に表示部１４で表示がなされる（ステップ２１６）。したがってユーザは、この表示を見てどのモジュールｍの性能を見直すことが、システムとしての性能改善に寄与が大きいかを合理的に判断することができる。
【００３４】
ユーザの判断がなされると、これに従いそのモジュールについて性能情報を修正入力する（ステップ２１７：入力部１１で）。以下、ステップ２０２に戻ってループ１内の処理を繰り返す。モジュールの性能情報の修正入力は、設計段階であればモジュールごとの目標性能の見直しであるが、モジュールの単体テスト後であれば実際の改良後におけるモジュール性能の入力の場合もあり得る。ループ１を抜けると、ループ１処理の最後のステップ２０３で得られたシステムの予測結果が表示される（ステップ２１９）。
【００３５】
以上のように、本実施形態によれば、感度Ｓｍ，ｐの大きい順にモジュールｍ、処理ｐの組合せをユーザに表示することにより、ユーザはシステムの性能に大きく影響するモジュールｍを知ることができる。これにより、そのモジュールｍの目標性能を修正する、あるいはそのモジュールｍを実際に改良することによってシステムの効率的な性能改善に資することができる。
【００３６】
（第２の実施の形態）
次に、本発明の別の実施形態に係る、計算機システムの開発方法について図４、図５、図６を参照して説明する。図４は、本発明の別の実施形態に係る、計算機システムの開発方法を実行するためのシステム（ツール）の構成を示すブロック図である。図５、図６は、図４に示したシステム（ツール）の動作フローを示す流れ図である。図４、図５、図６において、既出の図に示した構成要素またはステップと同一のものには同一符号を付し、その説明を省略する。
【００３７】
この実施形態は、モジュールの改良し易さを数値に表した改良容易度を導入し、感度と改良容易度とを組み合わせて評価結果をユーザに提示するものである。
【００３８】
図４に示すように、このシステム（ツール）には改良容易度入力部１５が付加される。改良容易度入力部１５は、改良容易度情報を外部から取得し、これを感度解析部１２に渡す機能を有する。改良容易度とは、モジュールｍ、処理ｐの組合せを改良する場合の容易度を数値化したものであり、改良に要する時間、コスト、技術力などを考慮して決定されている。例えば０以上１以下の値で表される（１に近いほど容易）。改良容易度入力部１５は、より具体的には、入力部１１と同様にキーボードやマウスなどの入力機器とその制御プログラム、ハードディスクなどの各種記録メディア用のドライブ装置とその制御プログラムや、各種のネットワークとのインタフェース装置とその制御プログラムなどで構成することができる。
【００３９】
感度解析部１２は、図１に示した実施形態と同様に感度を計算し、ソートするときに、感度と改良容易度との積の順にこれを行う。以下、より具体的に、図４に示したシステム（ツール）の動作を図５、図６に示す流れ図をも参照して説明する。
【００４０】
ステップ２０１は図２（第１の実施形態）と同じである。次に、改良容易度入力部１５により改良容易度情報ｅｍ，ｐを入力する（ステップ４０１）。ステップ２０３〜ステップ２０４は図２と同じである。さらにステップ２０５、ステップ２１９、ステップ２０６〜２１４も図２と同じである。
【００４１】
次に、入力されている改良容易度ｅｍ，ｐと得られた感度Ｓｍ，ｐとの積を総合値ｅｍ，ｐ・Ｓｍ，ｐとしこの大きさの順にソートする（ステップ４１５：感度解析部１２で）。そして、総合値ｅｍ，ｐ・Ｓｍ，ｐの順に表示部１４で表示がなされる（ステップ４１６）。したがってユーザは、この表示を見てどのモジュールｍの性能を見直すことが、システムとしての性能改善に寄与が大きいかを改良の容易度を加味した上で合理的に判断することができる。ユーザの判断がなされたあとのステップ２１７については図２と同じである。
【００４２】
以上のように、本実施形態によれば、総合値ｅｍ，ｐ・Ｓｍ，ｐの大きい順にモジュールｍ、処理ｐの組合せをユーザに表示することにより、ユーザはシステムの性能に大きく影響するモジュールｍを、改良の容易度を加味した上で知ることができる。これにより、そのモジュールｍの目標性能を修正する、あるいはそのモジュールｍを実際に改良することによってシステムの効率的な性能改善に資することができる。
【００４３】
（第３の実施の形態）
次に、本発明のさらに別の実施形態に係る、計算機システムの開発方法について図７、図８、図９を参照して説明する。図７は、本発明のさらに別の実施形態に係る、計算機システムの開発方法を実行するためのシステム（ツール）の構成を示すブロック図である。図８、図９は、図７に示したシステム（ツール）の動作フローを示す流れ図である。図７、図８、図９において、既出の図に示した構成要素またはステップと同一のものには同一符号を付し、その説明を省略する。
【００４４】
この実施形態は、上記の実施形態に加えてさらに、モジュールの各処理についての短縮可能時間の情報を入力することを可能とし、感度と改良容易度とこの短縮可能時間とを組み合わせた評価結果をユーザに提示するものである。
【００４５】
図７に示すように、このシステム（ツール）には短縮可能時間入力部１６が付加される。短縮可能時間入力部１６は、短縮可能時間の情報を外部から取得し、これを感度解析部１２に渡す機能を有する。短縮可能時間情報とは、モジュールｍかつ処理ｐにおける処理時間の短縮可能量である。短縮可能時間入力部１６は、より具体的には、入力部１１や改良容易度入力部１５と同様にキーボードやマウスなどの入力機器とその制御プログラム、ハードディスクなどの各種記録メディア用のドライブ装置とその制御プログラムや、各種のネットワークとのインタフェース装置とその制御プログラムなどで構成することができる。
【００４６】
感度解析部１２は、図１に示した実施形態と同様に感度を計算し、ソートするときに、感度と改良容易度と短縮可能時間の３者の積の順にこれを行う。以下、より具体的に、図７に示したシステム（ツール）の動作を図８、図９に示す流れ図をも参照して説明する。
【００４７】
ステップ２０１は図２（第１の実施形態）と同じであり、ステップ４０１は図５（第２の実施形態）と同じである。次に、短縮可能時間入力部１６により短縮可能時間ｄｘｍ，ｐを入力する（ステップ６０１）。ステップ２０３〜ステップ２０４は図２と同じである。さらにステップ２０５、ステップ２１９、ステップ２０６〜２１４も図２と同じである。
【００４８】
次に、入力されている改良容易度ｅｍ，ｐおよび短縮可能時間ｄｘｍ，ｐと、得られた感度Ｓｍ，ｐとの積を総合値ｄｘｍ，ｐ・ｅｍ，ｐ・Ｓｍ，ｐとしこの大きさの順にソートする（ステップ６１５：感度解析部１２で）。そして、総合値ｄｘｍ，ｐ・ｅｍ，ｐ・Ｓｍ，ｐの順に表示部１４で表示がなされる（ステップ６１６）。したがってユーザは、この表示を見てどのモジュールｍの性能を見直すことが、システムとしての性能改善に寄与が大きいかを改良の容易度および短縮可能時間を加味した上で合理的に判断することができる。ユーザの判断がなされたあとのステップ２１７については図２と同じである。
【００４９】
以上のように、本実施形態によれば、総合値ｄｘｍ，ｐ・ｅｍ，ｐ・Ｓｍ，ｐの大きい順にモジュールｍ、処理ｐの組合せをユーザに表示することにより、ユーザはシステムの性能に大きく影響するモジュールｍを、改良の容易度および短縮可能時間を加味した上で知ることができる。これにより、そのモジュールｍの目標性能を修正する、あるいはそのモジュールｍを実際に改良することによってシステムの効率的な性能改善に資することができる。
【００５０】
（第４の実施の形態）
次に、本発明のさらに別の実施形態に係る、計算機システムの開発方法について図１０、図１１、図１２を参照して説明する。図１０は、本発明のさらに別の実施形態に係る、計算機システムの開発方法を実行するためのシステム（ツール）の構成を示すブロック図である。図１１、図１２は、図１０に示したシステム（ツール）の動作フローを示す流れ図である。図１０、図１１、図１２において、既出の図に示した構成要素またはステップと同一のものには同一符号を付し、その説明を省略する。
【００５１】
この実施形態は、上記の実施形態と同じように総合値ｄｘｍ，ｐ・ｅｍ，ｐ・Ｓｍ，ｐの大きさ順のソートを行い、さらに、そのソート結果に基づいてｄｘｍ，ｐを累積的に適用し、評価関数値がゼロ（＝目標達成）になるようなｍ，ｐの必要な複数の組合せをユーザに提示するものである。
【００５２】
図１０に示す感度解析部１２Ａは、図７に示した感度解析部１２と同じ機能を有し、さらに、総合値ｄｘｍ，ｐ・ｅｍ，ｐ・Ｓｍ，ｐのソート結果に基づいてモジュール性能情報にｄｘｍ，ｐを順に累積的に適用する。これにより、結果的に、評価関数値がゼロ（＝目標達成）になるようなｍ，ｐの必要な複数の組合せを求める機能を有する。以下、より具体的に、図１０に示したシステム（ツール）の動作を、図１１、図１２に示す流れ図をも参照して説明する。
【００５３】
ステップ２０１は図２（第１の実施形態）と同じであり、ステップ４０１は図５（第２の実施形態）と同じ、ステップ６０１は図８（第３の実施形態）と同じである。ステップ２０３、ステップ２０４は図２と同じである。さらにステップ２０５、ステップ２１９、ステップ２０６〜２１４も図２と同じである。ステップ６１５は図８と同じである。
【００５４】
ステップ６１５で総合値ｄｘｍ，ｐ・ｅｍ，ｐ・Ｓｍ，ｐのソート結果が得られたら、ソート番号ｋを１（すなわち総合値が一番大きいものに相当）として（ステップ８１７）、ステップ８１８〜ステップ８２３のループ処理（ループ３）に移行する。このループ３は、評価関数値Ｅが正値（＝目標未達）かつｋがＰ（処理ｐの数）×Ｍ（モジュールｍの数）以下である間行う。
【００５５】
まず、ソート番号ｋに相当の短縮可能時間ｄｘｍ，ｐをモジュール性能情報に反映させる（ステップ８１９）。そしてこの条件下でシミュレーションを行いシステム性能を予測する（ステップ８２０）。さらにこの予測結果から評価関数値Ｅｋを計算する（ステップ８２１）。ステップ８２０、ステップ８２１のやり方自体は、ステップ２０３、ステップ２０４（ともに図２）と同様である。評価関数値Ｅｋがループ３を続ける条件であれば次のソート番号ｋ＋１について同様に処理する（ステップ８２２）。
【００５６】
ループ３を抜けると、総合値ｄｘｍ，ｐ・ｅｍ，ｐ・Ｓｍ，ｐの順に表示がなされるが（ステップ８２４：表示部１４で）、このとき各ソート番号ｋに基づいて評価関数値Ｅｋが付記される（同ステップ）。この評価関数値Ｅｋは典型的にはゼロ（＝目標達成）になるまで付記されることになる（または、最後のソート番号まで評価関数値Ｅｋがゼロ（＝目標達成）にならなければ最後のソート番号まで付記される。）。したがって、ユーザはこの表示を見て、どのｍ，ｐの組合せまで短縮可能時間ｄｘｍ，ｐをモジュール性能情報に反映させれば、目標達成になるかを知ることができる。
【００５７】
なお、ｄｘｍ，ｐについてのモジュールの性能情報の修正入力は、設計段階であればモジュールごとの目標性能の見直しであるが、モジュールの単体テスト後であれば実際の改良後におけるモジュール性能の入力の場合もあり得る。
【００５８】
以上のように、本実施形態によれば、総合値ｄｘｍ，ｐ・ｅｍ，ｐ・Ｓｍ，ｐの大きい順にモジュールｍ、処理ｐの組合せをユーザに表示し、さらに、どのｍ，ｐの組合せまでｄｘｍ，ｐをモジュール性能情報に反映させれば、目標達成になるかが示される。すなわち、どこまでｄｘｍ，ｐを適用すれば開発すべきシステムとして目標が達せられるかまで自動的に提示する。これにより、そのモジュールｍの目標性能を修正する、あるいはそのモジュールｍを実際に改良することによってシステムの効率的な性能改善に資することができる。
【００５９】
（第５の実施の形態）
次に、本発明のさらに別の実施形態に係る、計算機システムの開発方法について図１３、図１４、図１５を参照して説明する。図１３は、本発明のさらに別の実施形態に係る、計算機システムの開発方法を実行するためのシステム（ツール）の構成を示すブロック図である。図１４、図１５は、図１３に示したシステム（ツール）の動作フローを示す流れ図である。図１３、図１４、図１５において、既出の図に示した構成要素またはステップと同一のものには同一符号を付し、その説明を省略する。
【００６０】
この実施形態は、複数の改良策を用意し、改良策ごとにその容易度および短縮可能時間ｄｘｍ，ｐが与えられる場合に対応するものである。改良策ごとの容易度の導入に伴い、図５中に示したようなｐ，ｍに関する改良容易度ｅｍ，ｐは使用しない。
【００６１】
改良容易度入力部１５Ｂは、改良策ごとの容易度（例えば数値が大でより容易）を外部から取得し、これを感度解析部１２Ｂに渡す機能を有する。改良容易度入力部１５Ｂは、より具体的には、入力部１１や改良容易度入力部１５と同様にキーボードやマウスなどの入力機器とその制御プログラム、ハードディスクなどの各種記録メディア用のドライブ装置とその制御プログラムや、各種のネットワークとのインタフェース装置とその制御プログラムなどで構成することができる。
【００６２】
短縮可能時間入力部１６Ｂは、改良策ごとの短縮可能時間の情報を外部から取得し、これを感度解析部１２Ｂに渡す機能を有する。短縮可能時間情報とは、すでに説明したように、モジュールｍかつ処理ｐにおける処理時間の短縮可能量である。これが各改良策ごとに取得される。短縮可能時間入力部１６Ｂは、より具体的には、入力部１１や短縮可能時間入力部１６と同様にキーボードやマウスなどの入力機器とその制御プログラム、ハードディスクなどの各種記録メディア用のドライブ装置とその制御プログラムや、各種のネットワークとのインタフェース装置とその制御プログラムなどで構成することができる。
【００６３】
感度解析部１２Ｂは、図１に示した感度解析部１２と同じ機能を有し、さらに、総合評価値Ｖｋ＝ｅｋΣｍΣｐｄｘｋｍ，ｐ・Ｓｍ，ｐを計算し、かつこの大きさの順にソートする機能を有する。ここで、ｅｋは改良策ｋの改良容易度、ｄｘｋｍ，ｐは改良策ｋの短縮可能時間情報である。以下、より具体的に、図１３に示したシステム（ツール）の動作を図１４、図１５に示す流れ図をも参照して説明する。
【００６４】
ステップ２０１は、図２（第１の実施形態）と同じである。次に、改良容易度入力部１５Ｂにより解消策ごとの容易度ｅｋの情報を入力する（ステップ１００２）。さらに、短縮可能時間入力部１６Ｂにより改良策ごとの短縮可能時間ｄｘｋｍ，ｐを入力する（ステップ１００３）。次のステップ１００４〜ステップ１０２１はループ処理（ループ１）になる。このループ１の回数はある改良策が適用されるごとに増加する。
【００６５】
ループ１内のステップ２０３〜ステップ２０５、ステップ２０６〜ステップ２１４の処理についてはすでに説明した各実施形態の同符号ステップと同じである。次に、未反映の各改良策について総合評価値Ｖｋ＝ｅｋΣｍΣｐｄｘｋｍ，ｐ・Ｓｍ，ｐを計算する（ステップ１０１７）。例えば最初のループ１処理では、すべての改良策が未反映なので、ｋの数だけ総合評価値Ｖｋが算出される。そして総合評価値Ｖｋの大きさの順に各改良策ｋのソートを行い（ステップ１０１８）、さらにそのソート結果を表示する（ステップ１０１９）。
【００６６】
ユーザはこのソート結果に基づき最良の改良策の適用を決定することができる。したがって、次にその適用する改良策に従って、モジュール性能情報を修正入力する（ステップ１０２０）。そしてループ１を繰り返す。
【００６７】
この実施形態によれば、総合評価値Ｖｋの大きい順に改良策をユーザに提示することにより、ユーザはシステムの性能に大きく影響する改良策を知ることができる。これに基づき改良策を選択することができる。さらに選択された改良策に従って、モジュール性能情報を修正し、システム性能を予測することを繰り返すことにより、システムの性能改善を効率的に行うことができる。
【００６８】
（第６の実施の形態）
次に、本発明のさらに別の実施形態に係る、計算機システムの開発方法について図１６、図１７、図１８を参照して説明する。図１６は、本発明のさらに別の実施形態に係る、計算機システムの開発方法を実行するためのシステム（ツール）の構成を示すブロック図である。図１７、図１８は、図１６に示したシステム（ツール）の動作フローを示す流れ図である。図１６、図１７、図１８において、既出の図に示した構成要素またはステップと同一のものには同一符号を付し、その説明を省略する。
【００６９】
この実施形態は、複数の改良策を用意し、改良策ごとにその容易度およびｄｘｍ，ｐが与えられる場合に対応するものである点で上記第５の実施形態と同じである。さらにこの実施形態では、総合評価値Ｖｋのソート結果に基づて総合評価値Ｖｋがゼロ（＝目標達成）になるのに必要な改良策の適用数をユーザに提示することができる。
【００７０】
図１６に示す感度解析部１２Ｃは、図１３に示した感度解析部１２Ｂと同じ機能を有し、さらに、総合評価値Ｖｋのソート結果に基づいて各改良策を累積的に順に適用し、結果的に、総合評価値Ｖｋがゼロ（＝目標達成）になるのに必要な改良策を求める機能を有する。以下、より具体的に、図１６に示したシステム（ツール）の動作を図１７、図１８に示す流れ図をも参照して説明する。
【００７１】
ステップ２０１、ステップ１００２、ステップ１００３、ステップ２０３〜ステップ２１４については上記の第５の実施形態と同じである。次に、各改良策ｋについて総合評価値Ｖｋ＝ｅｋΣｍΣｐｄｘｋｍ，ｐ・Ｓｍ，ｐを計算し（ステップ１２１６）、さらにその総合評価値Ｖｋの順にソートする（ステップ１２１７）。これらのステップ１２１６、ステップ１２１７については、図１４におけるステップ１０１７、ステップ１０１８とほぼ同じである。
【００７２】
ステップ１２１７で総合評価値Ｖｋの大きさ順の改良策ソート結果が得られたら、ソート番号ｌを１（すなわち総合評価値Ｖｋが一番大きいものに相当）として（ステップ１２１８）、ステップ１２１９〜ステップ１２２４のループ処理（ループ３）に移行する。このループ３は、総合評価値Ｖｌが正値（＝目標未達）かつｌが改良策の数Ｋ以下である間行う。
【００７３】
まず、ソート番号ｌに相当の改良策ｌのｄｘｌｍ，ｐに従ってモジュール性能情報を修正する（ステップ１２２０）。そしてこの条件下でシミュレーションを行いシステム性能を予測する（ステップ１２２１）。さらにこの予測結果からステップ２０４〜ステップ２１４（ステップ２０５を除く）と同様な処理を行い、これにより改良後の総合評価値Ｖｌ＝ｅｌΣｍΣｐｄｘｌｍ，ｐ・Ｓｍ，ｐを計算する（ステップステップ１２２２）。そして改良後の評価関数値Ｅｌがループ３を続ける条件であれば次のソート番号ｌ＋１について同様に処理する（ステップ１２２３、１２２４）。
【００７４】
ループ３を抜けると、総合評価値Ｖｋ＝ｅｋΣｍΣｐｄｘｋｍ，ｐ・Ｓｍ，ｐの順に表示がなされるが（ステップ１２２５：表示部１４で）、このとき改良後の総合評価値Ｖｋが付記される（同ステップ）。この改良後の総合評価値Ｖｋは典型的にはゼロ（＝目標達成）になるまで付記されることになる（または、最後のソート番号まで改良後の総合評価値Ｖｋがゼロ（＝目標達成）にならなければ最後のソート番号まで付記される。）。したがって、ユーザはこの表示を見て、どこまでの改良策を累積的に適用すれば目標達成になるかを知ることができる。
【００７５】
以上のように、本実施形態によれば、総合評価値Ｖｋ＝ｅｋΣｍΣｐｄｘｋｍ，ｐ・Ｓｍ，ｐの大きい順に各改良策をユーザに表示し、さらに、どの改良策までを累積的に適用すれば目標達成になるかが示される。これにより、システムの効率的な性能改善に資することができる。
【実施例】
【００７６】
（実施例１）
次に、上記各実施形態を、実施例を挙げてより具体的に説明する。開発すべきシステムとしてチケット予約販売システムを取り挙げる。まず、実施例１は、上記の第１の実施形態に対応する実施例である。
【００７７】
図１９は、このチケット予約販売システムにおける業務量情報の一例を表で示す図である。ここで「業務」は、１）チケット予約、２）予約キャンセル、３）チケット販売、４）集計の４業務である。業務量情報は、２４時間を１５分間隔に分割し、各１５分間に発生する各業務の量を表した情報である。図２０は、図１９に示した業務量情報をグラフで示す図である。これらの業務量については、例えば過去のデータをもとに想定される量が設定されている。
【００７８】
図２１は、開発すべき計算機システムの構成の一例を示すブロック図である。ハードウェア構成として、ウェブサーバマシン２４、アプリケーションサーバマシン（以下、「アプリサーバマシン」という）２５、データベースサーバマシン（以下、「ＤＢサーバマシン」ともいう）２６を有する。ウェブサーバマシン２４には、インターネット２３を介して会員（クライアント２１）からのアクセスに対応するウェブサーバＡと、専用回線を介して窓口（クライアント２２）からのアクセスに対応するウェブサーバＢとが実装されている。
【００７９】
アプリサーバマシン２５、データベースサーバマシン２６は会員、窓口共通に利用される。ウェブサーバマシン２４上には、ウェブサーバＡ用のウェブサーバモジュールＡとウェブサーバＢ用のウェブサーバモジュールＢとが実装されている。アプリサーバマシン２５上にはアプリサーバモジュール２５１、データベースサーバマシン２６上にはデータベースサーバモジュール２６１が、それぞれ実装されている。また、ウェブサーバマシン２４とアプリサーバマシン２５との間のネットワークをネットワークＡとし、その通信モジュールを通信モジュールネットＡとする。またアプリサーバマシン２５とデータベースサーバマシン２６との間のネットワークをネットワークＢとし、その通信モジュールを通信モジュールネットＢとする。
【００８０】
この実施例における関連情報は、業務定義表、モジュール定義表、およびリソース定義表からなる。図２２は、これらの各関連情報のうち業務定義情報の一例を表で示す図である。業務定義表は、各業務と各処理ｐとの関連を表す表である。この表において「１」の表示が関連のあることを示している。例えば、チケット予約業務は、インターネット２３を介して会員が操作する業務であり「ログイン」、「予約選択」、「条件指定」、「予約」、「ログアウト」の一連の処理が行われるので、それらの欄が１になっている。
【００８１】
図２３は、各関連情報のうちモジュール定義情報の一例を表で示す図である。モジュール定義表は、モジュールｍと標準リソース間との関連を示す表である。本実施例ではマシン、あるいはネットワークを１つのリソースとして説明する。表の各要素は０か１の値を有し、要素が１であると関連があることを意味する。モジュールｍについて、そのモジュールｍが実装されているサーバマシンの欄が１、あるいは通信モジュールの場合には、その通信モジュールが利用するネットワークの欄が１になる。
【００８２】
図２４は、各関連情報のうちリソース定義情報の一例を表で示す図である。リソース定義表は、リソースと標準リソースとの関連を示す表である。各リソースに対する各標準リソースの性能比を要素に持つ。
【００８３】
この実施例におけるモジュール性能情報は、処理定義表で表される。図２５は、モジュール性能情報の一例を表で示す図であり、処理定義表である。この処理定義表は、基準のマシン、あるいは基準のネットワークを利用した場合の、処理ｐが実行される時に関連プログラムモジュールｍでかかる処理時間（ミリ秒ｍｓ単位）を要素に持つ。
【００８４】
次に、本実施例におけるシステム性能の予測について説明する。本実施例では性能予測モデルに、その一例としてリソース利用量積上げモデルを利用する。リソース利用量積上げモデルとは、ある時間内に要求があった処理ｐについて、その処理ｐが利用するリソースの処理時間を処理の数だけ加算するモデルである。このモデルではレスポンスタイムが計算されないので、ここではシステム性能の指標としてリソース利用率の上限値が設定されているとして説明する。
【００８５】
リソース利用量積上げモデルのリソース利用率の計算は、上述の業務量情報の表（図１９）、業務定義表（図２２）、モジュール定義表（図２３）、リソース定義表（図２４）処理定義表（図２５）の各表の要素部分を行列と見なすと、これらの行列の乗算によって計算することができる。すなわち、業務量情報の表の要素部分を業務量行列［ＴＭ］、業務定義表の要素部分を業務定義行列［ＴＤ］、処理定義表の要素部分を処理定義行列［ＰＤ］、モジュール定義表の要素部分をモジュール定義行列［ＭＤ］、リソース定義表の要素部分をリソース定義行列［ＲＤ］とすると、１５分間隔のリソース利用率を表すリソース利用率行列［Ｒ］は、
［Ｒ］＝［ＲＤ］［ＭＤ］［ＰＤ］［ＴＤ］［ＴＭ］／９０００
として計算できる（［Ｒ］要素の単位は％である。）。式中の／９０００は各要素を９０００で除算することを意味する。
【００８６】
図２６は、このようにして求めた、システム性能の予測結果の一例であるリソース利用率を表で示す図である。この表の各要素は、各リソースの各時刻における利用率を示す。図２７は、図２６に示したリソース利用率をグラフで示す図である。横軸が時刻で２４時間を示し、縦軸がリソース利用率を示している。１０時直後にデータベースサーバマシンの利用率が１０１％（大きく過負荷）に達していることが分かる。
【００８７】
次に、本実施例における評価関数について説明する。本実施例の評価関数は、システム性能の指標として設定されているリソース利用率上限値を超える部分のリソース利用率の推移を総和したものとする。図２８はこのような評価関数を説明するための模式図である。各曲線はリソースごとのリソース利用率の時間変化を表しており、リソース利用率上限値（破線）以上の斜線部の面積が評価関数値Ｅになる。すなわち、
【数１】
0004843379.tif 000002
となる。
【００８８】
ここで、Ｒｒ，ｔは、時刻１５（ｔ−１）から１５ｔまでのリソースｒの平均利用率を表し、Ｒハットはシステム性能の指標として設定されているリソース利用率上限値（本実施例では４０％）である。また、Σ（ｔ＝１からＴまで）は、０時から２４時までの各時刻の総和を表し、Ｔは２４時を表す９６になる。さらにΣ（ｒについて）は、各リソースの総和を表す。以上においてこの実施例で実際に評価関数値Ｅを計算すると、６４．４６９３になる。
【００８９】
なお、他の評価関数として、システム性能の指標として設定されているリソース利用率上限値を超える部分のリソース利用率量の最大値（リソースについては総和）と定義することができる。この場合の評価関数は以下のようになる。すなわち、
【数２】
0004843379.tif 000003
となる。
【００９０】
また、さらに別の評価関数として、システム性能の指標として設定されているリソース利用率上限値を超える部分の時間の総和（リソースについても総和）と定義することができる。この場合の評価関数は以下のようになる。すなわち、
【数３】
0004843379.tif 000004
となる。さらに加えて、以上とは異なるさらに別の評価関数として、以上の評価関数を組み合わせたものとすることもできる。
【００９１】
次に、この実施例において実際に図２、図３に示した処理を行って感度Ｓｍ，ｐの大きさの順にソートを行った結果を説明する。図２９、図３０がその結果であり、これは、システム性能により大きく影響するプログラムモジュールの選択支援のため表示された表の一例を示す図（感度の順の表示）になる。
【００９２】
図２９、図３０に示す表を得る手順は、図２、図３における説明でほぼ尽くされているが、念のため再度説明する。処理ｐが実行される時の関連モジュールｍでかかる処理時間は処理定義表（処理定義行列［ＰＤ］）に書かれているので、処理定義行列［ＰＤ］の各要素の処理時間について微小量増加させ、その時のリソース利用率を計算すればこの条件下でシステム性能を予測したことになる。
【００９３】
すなわち、処理定義行列［ＰＤ］のｍ行ｐ列の要素をΔｔ大きくした行列を［ＰＤ］ｍ，ｐと表す。このときのリソース利用率を表すリソース利用率行列［Ｒ］ｍ，ｐは、
［Ｒ］ｍ，ｐ＝［ＲＤ］［ＭＤ］［ＰＤ］ｍ，ｐ［ＴＤ］［ＴＭ］／９０００
として計算できる。このシステム性能の予測結果を用い、リソース利用率行列［Ｒ］ｍ，ｐの各要素をＲｍ，ｐｒ，ｔとし、評価関数値Ｅｍ，ｐは、
【数４】
0004843379.tif 000005
で計算できる。さらに感度Ｓｍ，ｐは、
Ｓｍ，ｐ＝（Ｅｍ，ｐ−Ｅ）／Δｔ
で計算できる。なお本実施例ではΔｔ＝０．１ｍｓである。
【００９４】
以上の計算を［ＰＤ］の全要素について行う。これにより求められた感度Ｓｍ，ｐそれぞれの大きさの順位にｍ，ｐの組合せで表示を行うと図２９、図３０に示すようになる。この図２９、図３０に示す表には処理ｐ、モジュールｍ、評価値Ｅｍ，ｐ、感度Ｓｍ，ｐ、処理時間（処理定義表より）が並ぶ。
【００９５】
図２９、図３０において、上位にはデータベースサーバモジュール（図２１で符号２６１）が並ぶ。これは図２７からリソース利用率が４０％を越えているのはデータベースサーバマシンであり、データベースサーバマシンに関連しているモジュールがデータベースサーバモジュールであるためである。その他のモジュールについてはすべて感度が０であり、その他のモジュールを改良しても、リソース利用率が４０％を越えている部分は改善されないことが分かる。同じデータベースサーバモジュールで処理ｐにより感度が異なるのは、それらの処理ｐの発生頻度が異なるためである。
【００９６】
ユーザはこの表の順位を参考に、どのモジュールｍの性能を見直すことが、システムとしての性能改善に寄与が大きいかを合理的に判断することができる。これにより、そのモジュールｍの目標性能を修正する、あるいはそのモジュールｍを実際に改良することによってシステムの効率的な性能改善に資することができる。
【００９７】
（実施例２）
次に、実施例２として上記の第２の実施形態に対応する例を説明する。開発すべきシステムなどについての説明は上記実施例と同じである。図３１は、改良容易度情報の一例を表（改良容易度行列）で示す図である。図３２、図３３は、システム性能により大きく影響するプログラムモジュールの選択支援のため表示された表の一例を示す図（感度と容易度との積の順の表示）であり、この実施例におけるソート結果の表示である。
【００９８】
ここで改良容易度行列は、各処理ｐと各モジュールｍとの組合せに応じて、改良の容易さを０以上１以下で表した行列である。図２９、図３０に示す表を得る手順は、図５、図６における説明でほぼ尽くされている。この手順を踏むことで、図３２、図３３に示すように、感度Ｓｍ，ｐと改良容易度ｅｍ，ｐとの積である総合値ｅｍ，ｐ・Ｓｍ，ｐの順にソートがなされる。
【００９９】
この表には、処理ｐ、モジュールｍ、評価値Ｅｍ，ｐ、感度Ｓｍ，ｐ、容易度ｅｍ，ｐ、総合値ｅｍ，ｐ・Ｓｍ，ｐ、処理時間が並ぶ。表の上位には、やはりデータベースサーバモジュール（図２１で符号２６１）に関する項目が並ぶ。これは上記の実施例１の理由と同様に、リソース利用率が４０％を越えているのはデータベースサーバマシンだけであり（図２７より）、データベースサーバマシンに関連しているモジュールがデータベースサーバモジュールであるためである。その他のモジュールについてはすべて感度が０であり、これらのモジュールを改良しても、リソース利用率が４０％を越えている部分は改善されないことが分かる。この実施例２では、感度と改良容易度の総合で評価した結果、改良容易度が１．０であった「条件指定」処理のデータベースサーバモジュールの総合値が最大になっている。
【０１００】
ユーザはこの表の順位を参考に、どのモジュールｍの性能を見直すことが、システムとしての性能改善に寄与が大きいかを合理的に判断することができる。これにより、そのモジュールｍの目標性能を修正する、あるいはそのモジュールｍを実際に改良することによってシステムの効率的な性能改善に資することができる。
【０１０１】
（実施例３）
次に、実施例３として上記の第３の実施形態に対応する例を説明する。開発すべきシステムなどについての説明は上記各実施例と同じである。図３４は、短縮可能時間情報の一例を表で示す図である。図３５、図３６は、システム性能により大きく影響するプログラムモジュールの選択支援のため表示された表の一例を示す図（感度と容易度と短縮可能時間との積の順の表示）であり、この実施例におけるソート結果の表示である。
【０１０２】
ここで短縮可能時間情報は、各処理ｐと各モジュールｍとの組合せに応じて、短縮可能は時間量を示したものである。図３５、図３６に示す表を得る手順は、図８、図９における説明でほぼ尽くされている。この手順を踏むことで、図３５、図３６に示すように、感度Ｓｍ，ｐと改良容易度ｅｍ，ｐと短縮可能時間ｄｘｍ，ｐとの３者の積である総合値ｅｍ，ｐ・Ｓｍ，ｐ・ｄｘｍ，ｐの順にソートがなされる。
【０１０３】
この表には処理ｐ、モジュールｍ、評価値Ｅｍ，ｐ、感度Ｓｍ，ｐ、容易度ｅｍ，ｐ、短縮可能時間ｄｘｍ，ｐ、総合値ｅｍ，ｐ・Ｓｍ，ｐ・ｄｘｍ，ｐ、処理時間が並ぶ。表の上位にはデータベースサーバモジュールに関する項目が並ぶ。これは実施例１、実施例２の理由と同様に、リソース利用率が４０％を越えているのはデータベースサーバマシンだけであり（図２７より）、データベースサーバマシンに関連しているモジュールがデータベースサーバモジュールであるためである。その他のモジュールについてはすべて感度が０であり、これらのモジュールを改良しても、リソース利用率が４０％を越えている部分は改善されないことが分かる。この実施例３では、感度と改良容易度と短縮可能時間との３者の積である総合値で評価した結果、改良容易度が１、短縮可能時間が５４０ｍｓの「条件指定」処理のデータベースサーバモジュールにおいて総合値が最大になっている。
【０１０４】
ユーザはこの表の順位を参考に、どのモジュールｍの性能を見直すことが、システムとしての性能改善に寄与が大きいかを合理的に判断することができる。これにより、そのモジュールｍの目標性能を修正する、あるいはそのモジュールｍを実際に改良することによってシステムの効率的な性能改善に資することができる。
【０１０５】
（実施例４）
次に、実施例４として前述の第４の実施形態に対応する例を説明する。開発すべきシステムなどについての説明は上記各実施例と同じである。図３７、図３８は、システム性能により大きく影響するプログラムモジュールの選択支援または決定のため表示された表の一例を示す図（感度と容易度と短縮可能時間との積の順に表示し、改良後の積も追加表示）であり、この実施例におけるソート結果の表示である。
【０１０６】
図３７、図３８に示す表を得る手順は、図１１、図１２における説明でほぼ尽くされている。この手順を踏むことで、図３７、図３８に示すように、感度Ｓｍ，ｐと改良容易度ｅｍ，ｐと短縮可能時間ｄｘｍ，ｐとの３者の積である総合値ｅｍ，ｐ・Ｓｍ，ｐ・ｄｘｍ，ｐの順にソートがなされ、かつそのソート結果に基づいてｄｘｍ，ｐが累積的に適用され、評価関数値がゼロ（＝目標達成）になるのに必要なｍ，ｐの組合せがユーザに提示される。
【０１０７】
この結果の表には、処理ｐ、モジュールｍ、評価値Ｅｍ，ｐ、感度Ｓｍ，ｐ、容易度ｅｍ，ｐ、短縮量ｄｘｍ，ｐ、総合値ｅｍ，ｐ・Ｓｍ，ｐ・ｄｘｍ，ｐ、処理時間、見込時間、改良後時間、改良後総合値が並ぶ。このうち処理ｐ、モジュールｍ、評価値Ｅｍ，ｐ、感度Ｓｍ，ｐ、容易度ｅｍ，ｐ、短縮量ｄｘｍ，ｐ、総合値ｅｍ，ｐ・Ｓｍ，ｐ・ｄｘｍ，ｐ、処理時間については、上記の実施例３の場合と同様である。
【０１０８】
見込時間は、ｄｘｍ，ｐを適用した後の処理時間の見込値を表す。改良後時間は、改良後総合値が０（＝目標達成）になるまでｄｘｍ，ｐを適用した後の処理時間を表す。改良後総合値は、そのｍ，ｐの組合せまで累積的にｄｘｍ，ｐを適用した場合の総合値ｅｍ，ｐ・Ｓｍ，ｐ・ｄｘｍ，ｐの計算結果を示す。この実施例４では、図３７に示すように、上位８個のモジュールｍと処理ｐとの組合せまでｄｘｍ，ｐを適用することにより、改良後総合値が０（＝目標達成）になることが分かる。したがって、これら８個のモジュールｍと処理ｐとの組合せについてそのモジュールｍの目標性能を修正する、あるいはそのモジュールｍを実際に改良すれば、開発すべきシステムとして目標が達せられる。
【０１０９】
このように、この実施例４では、ユーザにシステムの性能に大きく影響するモジュールｍと処理ｐとの組合せを提示するだけでなく、これより進んで、どこまでｄｘｍ，ｐを適用すれば開発すべきシステムとして目標が達せられるかまで自動的に提示する。
【０１１０】
（実施例５）
次に、実施例５として前述の第５の実施形態に対応する例を説明する。開発すべきシステムなどについての説明は上記各実施例と同じである。図３９は、改良策ごとの改良容易度情報の一例を表で示す図である。図４０は、図３９中の改良策１における短縮可能時間情報の一例を表で示す図である。図示していないが、図４０に相当する短縮可能時間は、各改良策について与えられている。図４１は、改良策ごとに求めた総合評価値の一例を表で示す図である。
【０１１１】
図４１に示す表を得る手順は、図１４、図１５における説明でほぼ尽くされている。この手順を踏むことで、図４１に示すように、総合評価値が各改良策ごとに得られる。図４１の結果は、図１４で言えば、ステップ１０１７、ステップ１０１８の処理であって最初のループ１の処理で得られた結果に相当する。図４１に示すように総合評価値の順に応じてソートがなされている（図４１ではたまたま図３９に示す改良策の順と同一である。）。このあと、任意に適用する改良策を選択してこれを適用した情報により、さらにループ１を続けることができる（図１４に示す通り）。
【０１１２】
このように、ユーザは図４１に示す順位を参考に、システムの性能に大きく影響する改良策を知ることができる。これに基づき改良策を選択することができる。選択された改良策に従って、モジュール性能情報を修正し、システム性能を予測することを繰り返すことにより、システムの性能改善を効率的に行うことができる。
【０１１３】
（実施例６）
次に、実施例６として前述の第６の実施形態に対応する例を説明する。開発すべきシステムなどについての説明は上記各実施例と同じである。図４２は、改良策を適用して求めた総合評価値の一例を表で示す図である。図４３は、図４２において改良後評価値がゼロ（＝目標達成）となる場合に相当するモジュール性能情報（＝処理時間情報）の一例を表で示す図である。
【０１１４】
図４２に示す表を得る手順は、図１７、図１８における説明でほぼ尽くされている。この手順を踏むことで、図４２における「総合評価値」についてはステップ１２１７で得られる。さらに、ステップ１２１８〜ステップ１２２５の処理により図４２における「改良後総合評価値」が得られる。図４２に示すように、この実施例６では改良策１〜改良策３までの累積的に適用すれば改良後総合表価値が０（＝目標達成）となる。そして改良策１〜改良策３の短縮可能時間を累積的に処理定義表（図２５）に適用することで図４３に示すような「改良後の処理時間」となる。
【０１１５】
このように、この実施例６の場合、上位３つの改良策によって評価値が０（＝目標達成）になることが分かり、この３つの改良策に従って、モジュール性能目標を再設定する、あるいは改良すればよいことを示している。すなわち、この実施例６では、ユーザにシステムの性能に大きく影響する改良策をその影響の大きさ順に提示するだけでなく、これより進んで、どこまでの改良策を累積的に適用すれば開発すべきシステムとして目標が達せられるかまで自動的に提示することができる。
【０１１６】
なお、本実施例６では、複数の改良策によりモジュール処理時間を短縮する場合に、各改良策の短縮可能時間の合計値を減算している。しかしながら、改良策によっては、例えば改良策１を実施した後で改良策２を実施しても、改良策２の短縮可能時間は実現しない場合も考えられる。よって、短縮処理時間を時間で設定するのではなく、処理時間に対する割合で設定する方法も考えられる。また、改良策による短縮時間を設定するのではなく、改良策ごとに短縮後の処理時間を設定しておき、複数の改良が実施された場合に、その複数の改良のうち、短縮後の処理時間の最短の処理時間が選ばれるように設定することもできる。
【０１１７】
（他の実施例）
以上の各実施例では、リソース利用量の積上げモデルを用いてリソース利用率の予測を行ったが、性能予測部１３（図１等）の性能予測モデルに、待ち行列ネットワークやダイナミックシミュレータや、特開２００４−２７２５８２号公報に開示の「計算機システムの性能予測プログラムおよび設計支援システム」における部品ブロックモデルを利用した場合でも同様に感度を計算することができる。
【０１１８】
また、システム性能の指標として、これをリソース利用率の上限値として説明したが、レスポンスタイムを設定する場合やリソース利用率とレスポンスタイムの両方をシステム性能の指標とした場合としても、感度を計算することができる。また、上記実施例では計算機を単位リソースにして説明したが、計算機のＣＰＵ、ハードディスク、メモリをリソースとして、処理によりモジュールが計算する時のＣＰＵ利用量、ディスクアクセス時間、メモリアクセス時間などをリソース利用時間として設定することもできる。
【図面の簡単な説明】
【０１１９】
【図１】本発明の一実施形態に係る、計算機システムの開発方法を実行するためのシステム（ツール）の構成を示すブロック図。
【図２】図１に示したシステム（ツール）の動作フローを示す流れ図。
【図３】図２の続図であって、図１に示したシステム（ツール）の動作フローを示す流れ図。
【図４】本発明の別の実施形態に係る、計算機システムの開発方法を実行するためのシステム（ツール）の構成を示すブロック図。
【図５】図４に示したシステム（ツール）の動作フローを示す流れ図。
【図６】図５の続図であって、図４に示したシステム（ツール）の動作フローを示す流れ図。
【図７】本発明のさらに別の実施形態に係る、計算機システムの開発方法を実行するためのシステム（ツール）の構成を示すブロック図。
【図８】図７に示したシステム（ツール）の動作フローを示す流れ図。
【図９】図８の続図であって、図７に示したシステム（ツール）の動作フローを示す流れ図。
【図１０】本発明のさらに別の実施形態に係る、計算機システムの開発方法を実行するためのシステム（ツール）の構成を示すブロック図。
【図１１】図１０に示したシステム（ツール）の動作フローを示す流れ図。
【図１２】図１１の続図であって、図１０に示したシステム（ツール）の動作フローを示す流れ図。
【図１３】本発明のさらに別の実施形態に係る、計算機システムの開発方法を実行するためのシステム（ツール）の構成を示すブロック図。
【図１４】図１３に示したシステム（ツール）の動作フローを示す流れ図。
【図１５】図１４の続図であって、図１３に示したシステム（ツール）の動作フローを示す流れ図。
【図１６】本発明のさらに別の実施形態に係る、計算機システムの開発方法を実行するためのシステム（ツール）の構成を示すブロック図。
【図１７】図１６に示したシステム（ツール）の動作フローを示す流れ図。
【図１８】図１７の続図であって、図１３に示したシステム（ツール）の動作フローを示す流れ図。
【図１９】業務量情報の一例を表で示す図。
【図２０】図１９に示した業務量情報をグラフで示す図。
【図２１】開発すべき計算機システムの構成の一例を示すブロック図。
【図２２】各関連情報のうち業務定義情報の一例を表で示す図。
【図２３】各関連情報のうちモジュール定義情報の一例を表で示す図。
【図２４】各関連情報のうちリソース定義情報の一例を表で示す図。
【図２５】モジュール性能情報の一例を表で示す図。
【図２６】システム性能の予測結果の一例であるリソース利用率を表で示す図。
【図２７】図２６に示したリソース利用率をグラフで示す図。
【図２８】評価関数の一例を模式的に示す説明図。
【図２９】システム性能により大きく影響するプログラムモジュールの選択支援のため表示された表の一例を示す図（感度の順の表示）。
【図３０】図２９の続図であって、システム性能により大きく影響するプログラムモジュールの選択支援のため表示された表の一例を示す図（感度の順の表示）。
【図３１】改良容易度情報の一例を表で示す図。
【図３２】システム性能により大きく影響するプログラムモジュールの選択支援のため表示された表の一例を示す図（感度と容易度との積の順の表示）。
【図３３】図３２の続図であって、システム性能により大きく影響するプログラムモジュールの選択支援のため表示された表の一例を示す図（感度と容易度との積の順の表示）。
【図３４】短縮可能時間情報の一例を表で示す図。
【図３５】システム性能により大きく影響するプログラムモジュールの選択支援のため表示された表の一例を示す図（感度と容易度と短縮可能時間との積の順の表示）。
【図３６】図３５の続図であって、システム性能により大きく影響するプログラムモジュールの選択支援のため表示された表の一例を示す図（感度と容易度と短縮可能時間との積の順の表示）。
【図３７】システム性能により大きく影響するプログラムモジュールの選択支援または決定のため表示された表の一例を示す図（感度と容易度と短縮可能時間との積の順に表示し、改良後の積も追加表示）。
【図３８】図３７の続図であって、システム性能により大きく影響するプログラムモジュールの選択支援または決定のため表示された表の一例を示す図（感度と容易度と短縮可能時間との積の順に表示し、改良後の積も付加表示）。
【図３９】改良策ごとの改良容易度情報の一例を表で示す図。
【図４０】図３９中の改良策１における短縮可能時間情報の一例を表で示す図。
【図４１】改良策ごとに求めた総合評価値の一例を表で示す図。
【図４２】改良策を適用して求めた総合評価値の一例を表で示す図。
【図４３】図４２において改良後評価値がゼロ（＝目標達成）となる場合に相当するモジュール性能情報（＝処理時間情報）の一例を表で示す図。
【符号の説明】
【０１２０】
１１…入力部、１２，１２Ａ，１２Ｂ，１２Ｃ…感度解析部、１３…性能予測部、１４…表示部、１５，１５Ｂ…改良容易度入力部、１６，１６Ｂ…短縮可能時間入力部、２１…クライアント（会員用）、２２…クライアント（窓口用）、２３…インターネット、２４…ウェブサーバマシン、２５…アプリケーションサーバマシン、２６…データサーバマシン、２７…ネットワークＡ、２８…ネットワークＢ、２５１…アプリサーバモジュール、２６１…データベースサーバモジュール。
【図１】
0004843379.tif 000006
【図２】
0004843379.tif 000007
【図３】
0004843379.tif 000008
【図４】
0004843379.tif 000009
【図５】
0004843379.tif 000010
【図６】
0004843379.tif 000011
【図７】
0004843379.tif 000012
【図８】
0004843379.tif 000013
【図９】
0004843379.tif 000014
【図１０】
0004843379.tif 000015
【図１１】
0004843379.tif 000016
【図１２】
0004843379.tif 000017
【図１３】
0004843379.tif 000018
【図１４】
0004843379.tif 000019
【図１５】
0004843379.tif 000020
【図１６】
0004843379.tif 000021
【図１７】
0004843379.tif 000022
【図１８】
0004843379.tif 000023
【図１９】
0004843379.tif 000024
【図２０】
0004843379.tif 000025
【図２１】
0004843379.tif 000026
【図２２】
0004843379.tif 000027
【図２３】
0004843379.tif 000028
【図２４】
0004843379.tif 000029
【図２５】
0004843379.tif 000030
【図２６】
0004843379.tif 000031
【図２７】
0004843379.tif 000032
【図２８】
0004843379.tif 000033
【図２９】
0004843379.tif 000034
【図３０】
0004843379.tif 000035
【図３１】
0004843379.tif 000036
【図３２】
0004843379.tif 000037
【図３３】
0004843379.tif 000038
【図３４】
0004843379.tif 000039
【図３５】
0004843379.tif 000040
【図３６】
0004843379.tif 000041
【図３７】
0004843379.tif 000042
【図３８】
0004843379.tif 000043
【図３９】
0004843379.tif 000044
【図４０】
0004843379.tif 000045
【図４１】
0004843379.tif 000046
【図４２】
0004843379.tif 000047
【図４３】
0004843379.tif 000048