JP6744484B2 - システム開発支援装置および方法 - Google Patents

システム開発支援装置および方法 Download PDF

Info

Publication number
JP6744484B2
JP6744484B2 JP2019512078A JP2019512078A JP6744484B2 JP 6744484 B2 JP6744484 B2 JP 6744484B2 JP 2019512078 A JP2019512078 A JP 2019512078A JP 2019512078 A JP2019512078 A JP 2019512078A JP 6744484 B2 JP6744484 B2 JP 6744484B2
Authority
JP
Japan
Prior art keywords
parameter
item
value
measurement
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019512078A
Other languages
English (en)
Other versions
JPWO2018189801A1 (ja
Inventor
雄二郎 市川
雄二郎 市川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2018189801A1 publication Critical patent/JPWO2018189801A1/ja
Application granted granted Critical
Publication of JP6744484B2 publication Critical patent/JP6744484B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、概して、システム開発の支援のためのコンピュータ技術に関する。
一般に、計算機システム(以降、システム)の開発では、パラメータ設計が必要とされる。パラメータ設計に関して、特許文献1の技術が知られている。
特許第5967091号
一般に、システム開発者(例えば、システム開発を行う企業)は、開発依頼元(例えばエンドユーザにサービスを提供する企業)からシステム要件(例えばRFP(Request For Proposal)を受け、システム提供フェーズを経て、システムを開発依頼元に提供する。システム提供フェーズは、(P1)システム要件把握、(P2)パラメータ設計、(P3)環境構築、および(P4)運用設定を含む。システムの規模によるが、典型的には、システム要件は多数あり、(P1)では、各システム要件および仕様の把握が行われ、(P2)では、把握された各システム要件について、当該システム要件を満たすためのパラメータ設計が行われる。
「システム要件」とは、開発依頼者が決める事項であり、システムの機能要件または非機能要件、典型的には非機能要件、入力データ規模である。「非機能要件」とは、定義される要件のうち、機能面以外の要件でありさえすればよく、例えば、システムが提供する可用性、性能、拡張性等でよい。「非機能要件」の定義は、複数の私企業が所属する所定の機関により発行されたガイドラインに従う定義でもよいし、開発依頼者によって決定された定義でもよい。以下、「システム要件」は、要件項目と、要件項目に設定される要件値との組を意味する。
一方、「パラメータ」とは、システム要件に応じた事項としてシステム開発者が決める事項、例えば、入力データ規模に応じたデータ流量およびメモリ割当量である。典型的には、1つのシステム要件に対して必要なパラメータは複数存在する。以下、「パラメータ」は、パラメータ項目と、パラメータ項目に設定されるパラメータ値(引数)との組を意味する。
通常、少なくとも「(P2)パラメータ設計」は、人手(典型的にはSE)により行われ、数か月を要する。
近年のシステム開発では、システム開発者は、システム提供フェーズを適用規模などに基づいて複数設けることで、開発依頼者に対し迅速な価値創出と投資効果の最適化を提供している。具体的には、例えば、システム開発者は、暫定的なシステム要件を受け、システム提供フェーズを経てシステムを提供し、そのシステムの検証結果を基に開発依頼者において見つけられた新たなシステム要件(追加、変更または削除されたシステム要件)を受けて、再度システム提供フェーズを経てシステムを提供する。新たなシステム要件を受けることと、システム提供フェーズを経てシステムを提供することが、1回以上繰り返される。
つまり、この様な開発では、システム開発者にとって、1つのシステム開発において、システム要件が動的に変化する。システム要件が変化した場合、システム開発者は、システムの正常動作を保証するために、パラメータ再設計、すなわち、新たなシステム要件に応じたパラメータの設計が必要となる。パラメータ再設計においても、システム要件に影響するパラメータ項目の特定、各パラメータ項目についてのパラメータ値の決定、および、テストの実施が必要である。
開発依頼者にとっては、新たなシステム要件を提供したら迅速にシステム(変更後のシステム)の提供を受けてそのシステムを検証できることが望ましい。
そこで、特許文献1の技術を利用して、パラメータ設計を効率化することが考えられる。
しかし、特許文献1の技術では、システム要件に影響するパラメータを特定することはできるが、パラメータ間の影響関係を知ることはできない。
例えば、或るシステム内に、ログ情報を受信しその内容を分析する分析ソフトウェアがあり、そのパラメータとして、ログ流量、キュー長などに影響するメモリ割当量、および分散処理のための並列度(同じ分析処理を行うコア、スレッド、インスタンスなどの数)があると想定する。ログ流量の増加に対し処理性能が据え置きの場合、必要なメモリ量は増加する。この場合、ログ流量とメモリ割当量の間には影響関係があることになる。
上記状況では、結局システム開発者に対して、影響関係のあるパラメータ項目の特定、および、そのようなパラメータ項目間でのパラメータ値の調整といった手間が発生する。
また、システム開発では、システムを構成する全てのモジュール(ハードウェアまたはソフトウェア)が、システム開発者自身により設計されたモジュールとは限らない。システム開発者は、一部のモジュールについては他社提供のモジュールを使用することもある。他社提供のモジュールは、通常、システム開発者にとってはブラックボックスである。システムの一部のモジュールがブラックボックスであると、パラメータ設計、特に、影響関係のあるパラメータ項目の特定、および、そのようなパラメータ項目間でのパラメータ値の調整は、一層困難である。
システム開発支援装置は、開発対象の計算機システムについての1以上のシステム要件の各々と、1以上のパラメータと、1以上のメトリックとの関連付けを基に、相関関係にあるパラメータ項目と計測項目との集合を特定する。システム開発支援装置は、その集合に基づく情報を表示する。
相関のある計測項目が同一である2以上のパラメータ項目を、影響関係のあるパラメータ項目であると特定することができる。このため、或るパラメータ値を変更した場合にそのパラメータ値の変更の影響を受けるパラメータ項目を容易に特定することができる。
実施形態1に係るシステム開発支援装置の構成の例を示す図である。 実施形態1に係る支援サーバ内のプログラム構成の例を示す図である。 相関計測項目集合テーブルの生成の流れの例を示す図である。 パラメータ定義テーブルの構成の例を示す図である。 計測項目定義テーブルの構成の例を示す図である。 設定実績テーブルの構成の例を示す図である。 計測実績テーブルの構成の例を示す図である。 相関計測項目集合テーブルの構成の例を示す図である。 相関計測項目決定の処理フローチャートの例を示す図である。 影響推測結果提示の処理フローチャートの例を示す図である。 実施形態1に係るユーザインタフェースの例を示す図である。 実施形態2に係る計測実績蓄積の処理フローチャートの例を示す図である。 実施形態3に係る更新通知の処理フローチャートの例を示す図である。 実施形態4に係る支援サーバ内のプログラム構成の例を示す図である。 推奨値情報の生成の処理フローチャートの例を示す図である。 回帰分析実装テーブルの構成の例を示す図である。 回帰ステップテーブルの構成の例を示す図である。 回帰ステップ生成の処理フローチャートの例を示す図である。 実施形態4に係る推奨値情報決定の処理フローチャートの例を示す図である。 実施形態5に係る推奨値情報決定の処理フローチャートの例を示す図である。 実施形態5に係るユーザインタフェースの例を示す図である。
以下、本発明の幾つかの実施の形態を図面に基づいて説明する。
以下の説明では、「インタフェース部」は、1以上のインタフェースデバイスである。1以上のインタフェースデバイスは、1以上の同種のインタフェースデバイス(例えば1以上のNIC(Network Interface Card))であってもよいし2以上の異種のインタフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
また、以下の説明では、「記憶部」は、1以上のメモリである。少なくとも1つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。記憶部は、更に、少なくとも1つの不揮発記憶デバイス(例えばHDD(Hard Disk Drive)またはSSD(Solid State Drive)といった補助記憶デバイス)でもよい。記憶部は、主に、プロセッサ部による処理の際に使用される。
また、以下の説明では、「プロセッサ部」は、1以上のプロセッサである。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサである。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
また、以下の説明では、「xxxテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部または一部が1つのテーブルであってもよい。
また、以下の説明では、「システム開発支援装置」は、一以上の計算機で構成されてよい。具体的には、例えば、計算機が表示デバイスを有していて計算機が自分の表示デバイスに情報を表示する場合、当該計算機がシステム開発支援装置でよい。また、例えば、第一計算機(例えばサーバ)が表示用情報を遠隔の第二計算機(表示用計算機(例えばクライアント))に送信し表示用計算機がその情報を表示する場合(第一計算機が第二計算機に情報を表示する場合)、第一計算機と第二計算機とのうちの少なくとも第一計算機がシステム開発支援装置でよい。システム開発支援装置は、インタフェース部、記憶部およびそれらに接続されたプロセッサ部を有してよい。インタフェース部は、ユーザインタフェース部と、通信インタフェース部とのうちの少なくとも1つでよい。ユーザインタフェース部は、1以上のI/Oデバイス(例えば入力デバイス(例えばキーボードおよびポインティングデバイス)と出力デバイス(例えば表示デバイス))と第二計算機とのうちの少なくとも1つのI/Oデバイスでよい。通信インタフェース部は、1以上の通信インタフェースデバイスでよい。システム開発支援装置における計算機が「表示用情報を表示する」ことは、計算機が有する表示デバイスに表示用情報を表示することであってもよいし、計算機が表示用計算機に表示用情報を送信することであってもよい(後者の場合は表示用計算機によって表示用情報が表示される)。
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ部によって実行されることで、定められた処理を、適宜に記憶部およびインタフェース部のうちの少なくとも1つを用いながら行うため、処理の主語が、プロセッサ部(或いは、プロセッサ部を有する計算機又は計算機システム)とされてもよい。プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。また、プログラムが実行されることによって実現される処理のうちの少なくとも一部が、ハードウェア回路(例えばASIC(Application Specific Integrated Circuit)又はFPGA(Field-Programmable Gate Array))によって実現されてもよい。
また、以下の説明では、「パラメータ設計」は、パラメータの特性及び設定を含む。「パラメータ設定」は、特定されたパラメータ項目とそれのパラメータ値とを設定することである。
実施形態1
図1は、実施形態1に係るシステム開発支援装置の構成を示す。
システム開発支援装置50は、支援クライアント100と支援サーバ110とを含む。支援クライアント100と支援サーバ110は、いずれも、計算機であり、ネットワーク30を介して接続される。
図1にて、支援クライアント100は、SE(システムエンジニア)が、業務システム140(以下、「業務システムA」と言うこともある)の構築や設定変更といったシステム開発を行うために使用される。支援クライアント100は、NW I/F(ネットワークインタフェース)102、メモリ101及びそれらに接続されたプロセッサ51を有する。メモリ101は、作業自動化プログラム103やクライアントプログラム104といったプログラムを記憶する。プロセッサ51は、それらのプログラムを実行する。支援クライアント100は、本実施形態では物理的な計算機であるが、仮想的な計算機でもよい。また、本実施形態において、「SE」は、少なくともパラメータ設定を行う者であり、システム開発者(例えば企業のような組織)から開発を指示された者であってもよいし、システム開発者(個人)であってもよい。作業自動化プログラム103は、SEによる作業操作をプログラムが代替して行う場合に利用するプログラムである。作業操作のプログラムによる代替を必要としない場合は、作業自動化プログラム103をメモリ101が有する必要はない。クライアントプログラム104は、Webページやウィンドウアプリケーションなど、SEが作業操作を行うためのユーザインタフェース(UI)や、作業自動化プログラム103が作業操作を行うためのコマンドラインインタフェース(CLI)またはアプリケーションプログラムインタフェース(API)を提供するプログラムである。以降、作業操作を行うためのUI/CLI/APIの総称を、「作業インタフェース」と呼ぶことができる。クライアントプログラム104は、必要に応じて、作業インタフェースに必要な情報を、インタフェース提供プログラム111から取得する。例えば、クライアントプログラム104がWebブラウザの場合、クライアントプログラム104は、作業インタフェース提供のためのWebページデータ(HTMLやJavaScript(登録商標)など)をインタフェース提供プログラム111から取得する。支援クライアント100は、NW−I/F102を通じてネットワーク30に接続され、クライアントプログラム104への操作要求に基づいて、操作要求を実施するために、ネットワーク30上の他の計算機およびプログラムと通信する。
支援サーバ110は、NW I/F116、メモリ114及びそれらに接続されたプロセッサ52を有する。NW I/F116は、インタフェース部の一例である。メモリ114は、記憶部の一例である。プロセッサ52は、プロセッサ部の一例である。メモリ114は、インタフェース提供プログラム111と、情報提示プログラム112と、制御プログラム113といったプログラムを記憶する。プロセッサ52は、それらのプログラムを実行する。本実施形態では、支援サーバ110は、物理的な計算機であるが、仮想的な計算機でもよい。インタフェース提供プログラム111は、クライアントプログラム104に対し、パラメータ設定のための作業ユーザインタフェースを提供するプログラムである。情報提示プログラム112は、インタフェース提供プログラム111に対し、パラメータ設定をガイドするための支援情報を提供するためのプログラムである。情報提示プログラム112は、支援情報を生成する生成プログラム120と、インタフェース提供プログラム111が提供する作業インタフェースに支援情報をフィードバックするフィードバックプログラム121とを有する。「作業インタフェースに支援情報をフィードバックする」とは、例えば、作業インタフェースがWebページの場合、Webページ内に、支援情報の少なくとも一部(例えばガイドするための文言)などを追加することである。制御プログラム113は、情報提示プログラム112の動作に必要な情報を、管理計算機130から収集するためのプログラムである。支援サーバ110は、NW−I/F116を通じてネットワーク30に接続され、メモリ114内のプログラムの動作内容に基づいて、動作を実施するために、ネットワーク30上の他の計算機およびプログラムと通信する。
業務システムAは、ある業務(例えば、データ分析業務)を実施するためのシステムである。業務システムAは、開発対象の計算機システムの一例である。業務システムAは、1以上の計算機141を少なくとも有する。計算機141は、NW I/F118、メモリ142およびプロセッサ53を有し、メモリ142に読み込まれた業務プログラム143を動作させるための物理または仮想的な計算機である。業務プログラムは、プロセッサ53により実行される。計算機141は、NW−I/F118を通じてネットワーク30に接続され、業務プログラム143の動作内容に基づいて、動作を実施するために、ネットワーク30上の他の計算機およびプログラムと通信する。本実施形態では、業務システムAは、システム開発者により提供されたシステムの一例である、業務システムAのような、システム開発者により提供されたシステムが複数存在してもよい。
管理計算機130は、NW I/F119、メモリ131およびプロセッサ54を有し、業務システムAを管理するために、メモリ131に読み込まれた計測プログラム132を動作させるための物理または仮想的な計算機である。計測プログラム132は、NW−I/F119を通じて、業務システムAの状態、性能、構成に関する情報の計測や制御を行い、制御プログラム113の要求に応答して、それら情報を支援サーバ110に送信する。
図2は、支援サーバ110が有するメモリ114内のプログラムの構成を示す。
インタフェース提供プログラム111、情報提示プログラム112、および制御プログラム113は、他のプログラムに対するAPI(REST−APIや関数など)を有する。生成プログラム120は、情報集合である第一情報群200と、処理集合である第一処理群210とを管理する。
第一情報群200は、業務システム毎に固有の情報を有するよう設計される。例えば、第一情報群200の保持をデータベースで行う場合、個別のデータベーススキーマ、テーブル、または業務システムを識別するIDのカラムなどが用意される。本実施形態では、業務システム毎にデータベーススキーマが用意され、以下、第一情報群200における図示の要素は、業務システムA用のものとする。第一情報群200は、パラメータ定義テーブル201、計測項目定義テーブル202、設定実績テーブル204、相関計測項目集合テーブル205、および、計測実績テーブル206といったテーブルを有する。
本実施形態では、第一処理群210は、相関計測項目決定211、および、影響推測結果提示212を有する(なお、図示の計測実績蓄積213は、後述の実施形態2で使用され、図示の更新通知214は、実施形態3で使用される)。
通信150、通信155および通信156は、APIコールや関数呼出を指す。例えば、APIがREST−APIの場合、当該APIに対しては、HTTPメソッド(必要に応じてJSONやXMLなどでデータを付与)が送信される。通信150は、インタフェース提供プログラム111が第一情報群200に必要な情報を情報提示プログラム112に送信することである。通信151は、生成した情報(第一情報群200内の情報)を生成プログラム120がフィードバックプログラム121に送信することである。通信152は、受信した情報をフィードバックプログラム121がインタフェース提供プログラム111に送信することである。通信153は、インタフェース提供プログラム111が設定作業内容に基づいて制御プログラム113に設定指示を送信することである。通信154は、制御プログラム113の動作に必要な通信である。通信155は、管理計算機130が業務システムAを管理するための相互通信である。この「管理」とは、例えば、業務システムAの構成や状態などに関する、情報取得や変更である。
図3は、本実施形態に係る生成プログラム120およびフィードバックプログラム121の処理フローチャートを示す。
本実施形態では、生成プログラム120は、相関計測項目集合テーブル205と、影響推測結果の情報とを生成する。S310〜313が相関計測項目集合テーブル205の生成である。S320〜324が影響推測結果の生成である。両者の生成は独立して実施される。
S310〜313について、生成プログラム120は、第一要求元301からの要求に基づいて動作する。第一要求元301は、インタフェース提供プログラム111、または制御プログラム113である。第一要求元301は、指定されたパラメータ項目に相関する計測項目の検出を生成プログラム120に対し指示する(S310)。生成プログラム120は、指定されたパラメータ項目に関して相関計測項目決定211を作動させる(S311)。生成プログラム120は、S311で生成した相関計測項目集合の情報を相関計測項目集合テーブル205に登録する(S312)。第一要求元301は、指定されたパラメータ項目に相関する計測項目の検出の完了を受信する(S313)。
S320〜324について、生成プログラム120は、第二要求元300からの要求に基づいて動作する。第二要求元300は、インタフェース提供プログラム111である。第二要求元300は、指定されたパラメータ項目のパラメータ値の変更の影響を受ける他のパラメータ項目の要求を、生成プログラム120に対し送信する(S320)。生成プログラム120は、指定されたパラメータ項目に関して、影響推測結果提示212を作動させる(S321)。生成プログラム120は、影響推測結果の情報を、フィードバックプログラム121に送信する(S322)。フィードバックプログラム121は、影響推測結果の情報を第二要求元300に送信する(S323)。
図4は、パラメータ定義テーブル201の構成を示す。
パラメータ定義テーブル201は、業務システムAに関して予め用意されたテーブルである。パラメータ定義テーブル201は、業務システムAの要件項目とパラメータ項目との関係を示す情報を有する。具体的には、例えば、パラメータ定義テーブル201は、業務システムAのシステム要件毎にレコードを有する。各レコードは、要件項目ID400、要件項目名401、パラメータ項目ID402およびパラメータ項目名403といった情報を保持する。
要件項目ID400は、要件項目を識別するための識別子である。要件項目名401は、要件項目の内容を示す文字列である。なお、上述したように、「システム要件」は、要件項目と要件値とを含む。「システム要件」は、典型的には非機能要件である。
パラメータ項目ID402は、パラメータ項目を識別するための識別子である。パラメータ項目名403は、パラメータの内容を示す文字列である。例えば業務システムAが分析システムの場合、パラメータ項目名403の値としては、データの受信効率を示す“データ最大流量”、分析システムが持つキュー長などに影響する“メモリ割当量”、分析処理の並列度の最大値である“最大並列度”がある。
図4の例によれば、システム要件項目“応答時間”に応じたパラメータ項目は“データ最大流量”、“メモリ割当量”および“最大並列度”の3つであることがわかる。
図5は、計測項目定義テーブル202の構成を示す。
計測項目定義テーブル202は、業務システムAについて計測される値の項目に関する情報を有する。「計測項目」と「計測値」との組を「メトリック」と呼ぶことができる。計測項目定義テーブル202は、計測項目毎にレコードを有する。各レコードは、計測項目ID500、計測項目名501、計測値取得方法502および閾値503といった情報を保持する。
計測項目ID500は、計測項目を識別するための識別子である。計測項目名501は、計測項目の内容を示す文字列である。計測値取得方法502は、業務システムAに関する当該計測項目について計測された値を、制御プログラム113を通じて管理計算機130から取得するための取得方法を示す。ここで言う「取得方法」とは、例えば、制御プログラム113のAPI名称である。閾値503とは、パラメータ項目と計測項目との相関有無を判断するための値である。具体的には、例えば、閾値503以上であれば、相関がある、閾値503未満であれば、相関が無い。なお、本実施形態では、相関値の最小値は“0”であり最大値は“1”である。
図6は、設定実績テーブル204の構成を示す。
設定実績テーブル204は、インタフェース提供プログラム111を通じて入力された設定(例えば、業務システムAのパラメータ項目毎の設定値(パラメータ値))と、その設定値に対するシステム要件(例えば、要件項目“応答時間”と要件値“3秒”とのうちの少なくとも要件項目)とを関連付けて保持する。つまり、設定実績テーブル204は、システム要件とそのシステム要件に対して設定されたパラメータ値との実績である設定実績を示す情報を保持する。設定実績テーブル204は、設定実績(1つのシステム要件と1以上のパラメータとの組)毎にレコードを有する。各レコードは、設定実績ID600、パラメータ実績601および要件実績602といった情報を保持する。
設定実績ID600は、設定実績を識別するための識別子である。
パラメータ実績601は、設定実績のうちのパラメータの設定に関する情報である。パラメータ項目ID610とパラメータ値611を持つ。パラメータ項目ID610は、パラメータ項目ID402と関連付く。パラメータ値611は、当該パラメータ項目について設定されたパラメータ値である。
要件実績602は、設定実績のうちのシステム要件に関する情報である。要件実績602は、要件項目ID620と要件値621を持つ。要件項目ID620は、要件項目ID400と関連付く。要件値621は、要件項目に関する要件値である。
図7は、計測実績テーブル206の構成を示す。
計測実績テーブル206は、設定実績と計測実績との関係を示す情報を保持する。計測実績テーブル206は、設定実績毎にレコードを有する。各レコードは、設定実績ID700および計測実績701といった情報を保持する。
設定実績ID700は、設定実績ID600と関連付く。計測実績701は、計測実績毎にレコードを有する。各レコードは、計測項目ID710と計測値711を持つ。計測項目ID710は、計測項目ID500と関連付く。計測値711は、当該計測項目についての計測値である。
図6の設定実績テーブル204および図7の計測実績テーブル206は、過去に開発および提供された計算機システム(例えば業務システムAと同種のシステム(例えば分析システム))に関する実績と、業務システムAに関する実績とのうちの少なくとも1つでよい。
図8は、相関計測項目集合テーブル205の構成を示す。
相関計測項目集合テーブル205は、パラメータ項目と計測項目との相関関係を示す情報を保持する。相関計測項目集合テーブル205は、パラメータ項目毎にレコードを有する。各レコードは、パラメータ項目ID800および計測項目ID801といった情報を保持する。
パラメータ項目ID800は、パラメータ項目ID402と関連付く。計測項目ID801は、計測項目ID500と関連付く。
相関計測項目集合テーブル205が保持する情報は、相関計測項目決定211を通じて登録または更新される。図8の例によれば、パラメータ項目“データ最大流量”(図4および図8参照)は、計測項目“CPU平均使用率”および“メモリ最大使用量”(図5および図8参照)の各々と相関があることがわかる。
図9は、相関計測項目決定211の処理フローチャートを示す。
相関計測項目決定211は、まず出力情報のリストを初期化する(S900)。
相関計測項目決定211は、設定実績テーブル204から設定実績ID600のリストを取得し、パラメータ定義テーブル201からパラメータ項目ID402のリストを取得し、計測項目定義テーブル202から計測項目ID500のリストを取得する(S901)。
相関計測項目決定211は、未確認のパラメータ項目ID402を1つ選択する(S902)。ここで選択されたパラメータ項目ID402を、図9の説明において「選択パラメータ項目ID402」と言う。
相関計測項目決定211は、未確認の計測項目ID500を1つ選択する(S903)。ここで選択された計測項目ID500を、図9の説明において「選択計測項目500」と言う。
相関計測項目決定211は、選択パラメータ項目ID402と選択計測項目ID500との間の相関値を相関モデルに基づいて算出する(S904)。「相関値を相関モデルに基づいて算出」とは、相関モデルとしてピアソンの積率相関係数の数式を用いる場合、添字iをi番目の設定実績ID600とすると、Xiが選択パラメータ項目ID402(610)およびi番目の設定実績ID600に関するパラメータ値611、Yiが選択計測項目ID500(710)およびi番目の設定実績ID600に関する計測値711となる。つまり、S904において、選択パラメータ項目ID402と選択計測項目ID500との間の相関値の算出には、1以上の設定実績が考慮される。S904の例によれば、下記の可能性が高いと考えられる。
(P)選択パラメータ項目IDと選択計測項目IDの両方が、同一設定実績ID600に関連付けられている場合、選択パラメータ項目IDと選択計測項目IDとの相関値は比較的高い。
(Q)選択パラメータ項目IDと選択計測項目IDの両方が、同一設定実績ID600に関連付けられていない場合、選択パラメータ項目IDと選択計測項目IDとの相関値は比較的低い。
(R)選択パラメータ項目IDと選択計測項目IDの一方のIDが、設定実績ID600に関連付けられていて、他方のIDが、当該設定実績ID600に関連付けられていない場合、選択パラメータ項目IDと選択計測項目IDとの相関値は、(P)のケースと相関値と(Q)のケースの相関値の間である。
相関計測項目決定211は、選択計測項目ID500に対応する閾値503を、計測項目定義テーブル202から取得する(S905)。
相関計測項目決定211は、S904で算出した相関値と、S905で取得した閾値とを比較する(S906)。
相関値が閾値以上の場合(S907:Y)、相関計測項目決定211は、選択パラメータ項目ID402および選択計測項目ID500を出力情報のリストに登録する(S908)。
相関値が閾値未満の場合(S907:N)、または、S908の後、相関計測項目決定211は、S901で取得された計測項目ID500を全て確認したか否かを判断する(S909)。S909の判断結果が偽の場合(S909:N)、相関計測項目決定211は、S903を行う。
S909の判断結果が真の場合(S909:Y)、相関計測項目決定211は、S901で取得されたパラメータ項目ID402を全て確認したか否かを判断する(S910)。S910の判断結果が偽の場合(S910:N)、相関計測項目決定211は、S902を行う。
S910の判断結果が真の場合(S910:Y)、相関計測項目決定211は、出力情報のリストを相関計測項目集合テーブル205に出力する(S911)。
図9に拠れば、相関計測項目決定211は、1以上の設定実績に関連付いたパラメータとメトリックを基に(例えば、選択パラメータ項目IDと選択計測項目IDとが同一の設定実績に関連付けられているか否か、選択パラメータ項目IDについて当該設定実績に関連付いたパラメータ値、および、選択計測項目IDについて当該設定実績に関連付いた計測値を基に)相関関係にあるパラメータ項目と計測項目との集合である相関計測項目集合を生成する。図9に拠れば、各パラメータ項目IDについて、当該パラメータ項目IDと相関関係がある(相関値が閾値以上である)計測項目IDとして見つかった計測項目IDが、当該パラメータ項目に関連付けられる。
図10は、影響推測結果提示212の処理フローチャートを示す。
影響推測結果提示212は、1つ以上のパラメータ項目ID402を入力として動作する。1つ以上のパラメータ項目ID402は、相関計測項目集合テーブル205における全パラメータ項目IDでもよいし、パラメータ設計の際のユーザインタフェース(例えばGUI(Graphical User Interface))から選択されたパラメータ項目のIDでもよい。
影響推測結果提示212は、影響推測結果のリストを初期化する(S1000)。影響推測結果提示212は、入力のパラメータ項目ID402から、未確認の入力パラメータ項目ID402を1つ選択する(S1001)。ここで選択されたパラメータ項目ID402を、図10の説明において「選択パラメータ項目ID402」と言う。
影響推測結果提示212は、選択パラメータ項目ID402に対応する計測項目ID801のリストを、相関計測項目集合テーブル205から取得する(S1002)。
影響推測結果提示212は、取得した計測項目ID801のリストから、未確認の計測項目ID801を1つ選択する(S1003)。ここで選択された計測項目ID801を、図10の説明において「選択計測項目ID801」と言う。
影響推測結果提示212は、選択計測項目ID801に対応する非選択パラメータ項目ID402のリストを、相関計測項目集合テーブル205から取得する(S1004)。「非選択パラメータ項目ID402のリスト」とは、選択パラメータ項目ID402以外のパラメータ項目ID402のリストである。
影響推測結果提示212は、選択パラメータ項目ID402と、非選択パラメータ項目ID402のリストとを影響推測結果として登録する(S1005)。
影響推測結果提示212は、S1002で取得された計測項目ID801を全て確認したか否かを判断する(S1006)。S1006の判断結果が偽の場合(S1006:N)、影響推測結果提示212は、S1003を行う。
S1006の判断結果が真の場合(S1006:Y)、影響推測結果提示212は、入力のパラメータ項目ID402を全て確認したか否か判断する(S1007)。S1007の判断結果が偽の場合(S1007:N)、影響推測結果提示212は、S1001を行う。
S1007の判断結果が真の場合(S1007:Y)、影響推測結果提示212は、影響推測結果を呼び出し元に送信する(S1008)。
影響推測結果提示212により、関連付けられている計測項目が共通する2以上のパラメータ項目が、相関のある2以上のパラメータ項目である影響項目集合として推測される。
図11は、パラメータ設定作業のユーザインタフェースのイメージを示す。
図11では、ユーザインタフェース1100がWebブラウザを通じて提供されるとして説明する。ユーザインタフェース1100は、GUIであり、業務システムAのパラメータ一覧を表示する部位1110を有する。部位1110は、パラメータ項目名を表示する部位1111と、パラメータ項目毎のパラメータ設定フォーム1114(例えばスライダ)を提供する部位1112と、パラメータ設定作業のガイド情報を表示する部位1113と、部位1113に入力された設定値を業務システムAに適用させるための部位1116と、部位1112に入力された設定値を業務システムAに反映せずユーザインタフェース1100を閉じる部位1115とを有する。
部位1111で表示される情報は、パラメータ定義テーブル201のパラメータ項目名403などが示す情報である。パラメータ設定フォーム1114には、テキストボックス、ドロップダウンリスト、インジケータなどを利用し、現在の設定値がフォーム上に反映される。部位1113で表示される情報は、影響推測結果提示212が生成する影響推測結果および固定文言などである。
図11では、ユーザインタフェースを開いた際に、部位1111に表示されている或るパラメータ項目に関する影響推測結果を、部位1113に表示される。しかし、ユーザインタフェース1100を開いた際ではなく、部位1111からパラメータ項目が1つ選択(例えばクリック)された際に当該選択されたパラメータ項目を含んだ影響項目集合内の他のパラメータ項目に関する影響推測結果(部位1113)が表示されもよい。また、各パラメータ項目(各パラメータ設定フォーム1114)について、パラメータ値の最小値および最大値は、システム要件に関係無く予め決められた値でよい。また、2以上のシステム要件に共通するパラメータ項目のパラメータ値の最小値および最大値については、その2以上のシステム要件を基に決められてもよい。
各設定実績について、当該設定実績がシステム要件を満たすことを確認する方法として、当該設定実績について1以上の計測実績を確認することが考えられる。結果として、同一の計測項目が、異なる複数の設定実績に関連していることが考えられる。本実施形態に拠れば、この点に着目し、同一の計測項目と相関関係にある異なる複数のパラメータ項目が特定され(図8に示した相関計測項目集合テーブル205が構築され)、そのような複数のパラメータ項目が、影響関係のあるパラメータ項目として推測され表示される。これにより、SEは、業務システムAに関して、パラメータ項目間の関係(例えば、或るパラメータ値を変更する場合に調整すべきパラメータ値に対応したパラメータ項目)を特定することが可能となる。具体的には、例えば、下記のうちの少なくとも1つが期待できる。
・SEは、そのSEの経験または知識から、システム要件に直接的に影響するパラメータ項目を特定することはできても、そのシステム要件に間接的に影響するパラメータ項目を特定することは困難である。しかし、本実施形態に拠れば、同一の計測項目と相関関係にある複数のパラメータ項目が特定され表示される。SEは、システム要件に間接的に影響し得るパラメータ項目も容易に特定できる。
・業務システムAが、複数のモジュール(例えばSW)を含むとする。複数のモジュールのうちの一部のモジュールが、システム開発者以外の者から提供されたモジュールであると、当該モジュールはブラックボックスである。ブラックボックスとしてのモジュールに関してまでSEがパラメータ項目やパラメータ項目間の関係を把握することは難しい。しかし、本実施形態に拠れば、そのようなブラックボックスとしてのモジュールを含む複数のモジュールを有する業務システムについて、同一の計測項目と相関関係にある複数のパラメータ項目が特定され表示される。このため、SEは、業務システムAが有するモジュールの詳細(例えば、関連するパラメータ項目)を知らなくても、パラメータ項目間の関係を容易に特定できる。
実施形態2
実施形態2では、計測時刻(計測値が取得された時刻)と共に新たな計測項目の計測値が管理計算機130に蓄積され、新たな計測項目の計測値が管理計算機130から取得され計測実績テーブル206に蓄積される。以下、実施形態2を詳細に説明する。その際、実施形態1との相違点を主に説明し、実施形態1との共通点については説明を省略または簡略する。
本実施形態では、第一処理群210が更に計測実績蓄積213を有する(図2参照)。
図12は、計測実績蓄積213の処理フローチャートを示す。
計測実績蓄積213は、サブプログラムとして計測値取得方法実行インスタンス(図示せず)を備える。サブプログラムは、例えば、スレッド、プロセス、コンテナなどであり、計測実績蓄積213の実行中に一時的に生成され、処理終了と共に消滅する。本実施形態では、計測値取得方法実行インスタンスが並列処理のために用意される。計測実績蓄積213は、1つの設定実績ID600を入力として動作する。
計測実績蓄積213は、計測項目定義テーブル202から、計測項目ID500のリストを取得する(S1200)。
計測実績蓄積213は、時刻範囲情報と計測値取得の並列度に関する値情報とを読み込む(S1201)。「時刻範囲情報」が示す時刻範囲は、前回実行時刻(計測実績蓄積213の処理フローの前回の実行時の時刻)から今回実行時刻まででよい。時刻は、OS(Operating System)などから取得可能である。「計測値取得の並列度に関する値情報」は、例えば、計測実績蓄積213の定数情報、外部定義ファイル、追加の動作パラメータなどを通じて、S1200の実行前に定義される。
計測実績蓄積213は、S1200で取得した計測項目ID500のリストから、未確認の計測項目IDを、並列度に関する値の分だけ選択する(S1202)。
計測実績蓄積213は、S1201で読み込んだ並列度の値情報に従って、計測値取得方法実行インスタンス(以下、実行インスタンス)1220を作成し、各実行インスタンス1220に入力情報を渡して動作を開始させる。実行インスタンス1220の「入力情報」とは、S1201で読み込んだ時刻範囲情報と、S1202で選択した計測項目ID500の内1つと、計測実績蓄積の入力である設定実績ID600である。実行インスタンス1220は、入力の計測項目ID500に対応した計測値取得方法502を、計測項目定義テーブル202から取得する(S1221)。実行インスタンス1220は、入力の時刻範囲情報に基づいて、S1221で取得した計測値取得方法502を実行し、時刻範囲内の計測時刻に取得された計測値を取得し、平均値などの統計処理を通じて最終的な計測値情報を決定する(S1222)。実行インスタンス1220は、S1222で決定した計測値情報と、入力の設定実績ID600および計測項目500を、計測実績テーブル206に登録する(S1223)。計測実績蓄積213は、S1203で動作を開始させた実行インスタンス1220の終了を待つ(S1204)。
計測実績蓄積213は、S1203で動作を開始させた実行インスタンス1220が全て終了したか否かを判断する(S1205)。S1205の判断結果が偽の場合(S1204:N)、計測実績蓄積213は、S1204を行う。
S1205の判断結果が真の場合(S1205:Y)、計測実績蓄積213は、S1200で取得した計測項目ID500を全て確認したか否かを判断する(S1206)。S1206の判断結果が偽の場合(S1206:N)、計測実績蓄積213は、S1202を行う。S1206の判断結果が真の場合(S1206:Y)、処理が終了する。
本実施形態に拠れば、支援サーバ110が、時刻範囲毎に、計測実績を取得し蓄積することができる。
実施形態3
実施形態3では、新たな計測項目の計測値からインタフェース提供プログラム111にフィードバックした情報が最新化される。以下、実施形態3を詳細に説明する。その際、実施形態1または2との相違点を主に説明し、実施形態1または2との共通点については説明を省略または簡略する。
本実施形態では、第一処理群210が更に更新通知214を有する(図2参照)。
図13は、更新通知214の処理フローチャートである。
更新通知214は、新しい設定実績ID600の登録を検知する(S1300)。ここで言う「登録を検知」とは、例えば、設定実績ID600を1つ記憶し、定期的に設定実績テーブル204の最新の設定実績ID600を取得し、記憶した設定実績ID600と取得した最新の設定実績ID600とを比較し、異なれば新しい設定実績ID600が登録されたと判断することである。
更新通知214は、第一要求元301のS310〜313を開始させる(S1301)。
更新通知214は、相関計測項目集合テーブル205の変更の有無を確認する(S1302)。更新通知214は、変更があると判断した場合(S1303:Y)、S1304を行う。更新通知214は、変更が無いと判断した場合(S1303:N)、S1300を行う(S1303)。
S1303:Yの場合、更新通知214は、影響推測結果の更新を、フィードバックプログラム121へ通知する(S1304)。フィードバックプログラム121は、更新通知の情報を、第二要求元300に送信する(S1305)。第二要求元300は、更新通知の情報をユーザインタフェースに表示させる(S1306)。
設定実績および計測実績が増えると、パラメータ項目と計測項目間の相関値が変わり、結果として、或るパラメータ項目と相関する計測項目が増えるまたは減ることがある。つまり、相関計測項目集合テーブル205が更新され得る。本実施形態に拠れば、相関計測項目集合テーブル205が更新された場合、更新後の相関計測項目集合テーブル205に基づく影響推測結果が表示される。
実施形態4
実施形態4では、SEが或るパラメータ値を入力した際に、支援サーバ110が、当該パラメータ値と影響関係のある別のパラメータ値を、目標のシステム要件および回帰分析に基づいて決定し、推奨値としてユーザインタフェースに表示する。以下、実施形態4を詳細に説明する。その際、実施形態1〜3との相違点を主に説明し、実施形態1〜3との共通点については説明を省略または簡略する。
図14は、実施形態4に係る支援サーバ110が有するメモリ114内のプログラムの構成を示す。
メモリ114は、新たに、第二情報群1400と、第二処理群1410と、回帰分析プログラム1420とを記憶する。なお、第二情報群1400と第一情報群200とが一体となった情報群が採用されてもよい。また、第二処理群1410と第一処理群210とが一体となった処理群が採用されてもよい。
第二情報群1400は、業務システム毎に固有の情報を有する。図示の第二情報群1400は、業務システムA140の情報として説明する。第二情報群1400は、システム要件テーブル1401と、回帰分析実装テーブル1402と、回帰ステップテーブル1403と、推奨値情報1404と、パラメータ値仕様テーブル1405と、区間絞込みフラグ1416とを有する。
システム要件テーブル1401は、要件項目名401毎の要件値を保持する。なお、システム要件テーブル1401は、実施例1〜3のいずれにも用意されてもよい。システム要件テーブル1401は、無くてもよい。例えば、システム要件テーブル1401における要件値に代えて、設定実績テーブル204における要件値621(図6参照)が使用されてもよい。
パラメータ値仕様テーブル1405は、パラメータ項目名403毎にパラメータ値の最大値および最小値を保持する。なお、パラメータ値仕様テーブル1405は、実施形態1〜3のいずれにも用意されてもよい(例えば、図11に表示の最小値および最大値(パラメータ項目毎の最小値および最大値)は、パラメータ値仕様テーブル1405が示す値でよい)。
区間絞込みフラグ1416は、図20の処理フローチャートの分岐情報として用いる2値フラグ情報である。
第二処理群1410は、回帰ステップ生成1411と、推奨値情報決定1412とを有する。
図15は、本実施形態に係る生成プログラム120およびフィードバックプログラム121の処理フローチャートを示す。
図3との差分は、S1500およびS1501の追加と、S322に代えてS1502の採用である。生成プログラム120は、回帰ステップ生成1411を作動させる(S1500)。生成プログラム120は、推奨値情報を生成するために、推奨値情報決定1412を作動させる(S1501)。生成プログラム120は、影響推測結果および推奨値情報をフィードバックプログラム121に送信する(ステップ1502)。
図16は、回帰分析実装テーブル1402の構成を示す。
回帰分析実装テーブル1402は、回帰分析プログラム1420のAPIにアクセスするための情報を保持する。回帰分析実装テーブル1402は、API−ID1600、種別1601およびPath1602といった情報を保持する。
API−ID1600は、回帰分析プログラム1420のAPIを識別するための識別子である。本実施形態では、回帰分析プログラム1420は、自身が公開するAPIのパラメータ情報を外部に送信するための第一APIと、回帰分析処理を実施するための第二APIと、実行した回帰分析の回帰係数を取得するための第三API220とを備える。本実施形態では、目的変数1710の値と説明変数(X)1711の値とを基に説明変数(Y)1712の値が回帰分析を用いて算出される。
種別1601は、第一〜第三APIを判別するための識別子である。本実施形態では、“PRMS”は、パラメータ情報を送信する第一APIを意味する。“REG”は、回帰分析処理を実施する第二APIを意味する。種別1601の値として、別の識別子が用いられてもよい。
Path1602は、回帰分析プログラム1420のAPIへのアクセス情報(URLなど)を示す。
図17は、回帰ステップテーブル1403の構成を示す。
回帰ステップテーブル1403は、回帰ステップ生成1221により生成され、推奨値情報決定1412により、順に実行される。回帰ステップテーブル1403は、回帰ステップ毎にレコードを有する。各レコードは、ステップ#1700、API−ID1701およびパラメータマップ1702といった情報を保持する。
ステップ#1700は、回帰ステップが実行される順番を示す番号である。API−ID1701は、API−ID1600と関連付く。
パラメータマップ1702は、API−ID1701が示す回帰分析プログラム1420のAPIのパラメータ情報と、要件項目ID400、パラメータ項目ID402、および計測項目ID500との関連情報である。パラメータマップ1702は、目的変数1710と、説明変数(X)1711と、説明変数(Y)1712とを持つ。目的変数1710は、回帰分析処理の目的変数と関連付く要件項目ID400である。説明変数(X)1711は、回帰分析処理の説明変数と関連付くパラメータ項目ID402である。説明変数(Y)1712は、回帰分析処理の別の説明変数と関連付く計測項目ID500である。
図18は、回帰ステップ生成1221の処理フローチャートを示す。
回帰ステップ生成1221は、インタフェース提供プログラム111を通じて入力された変更後パラメータとシステム要件を入力として動作する。変更後パラメータとは、SEにより変更されたパラメータ値(例えばユーザインタフェース1100経由で変更されたパラメータ値)を含んだパラメータである。図18及び図19の説明において、入力された変更後パラメータを「入力パラメータ」と言い、入力されたシステム要件を「入力システム要件」と言う。
回帰ステップ生成1221は、回帰分析実装テーブル1402から、1つのAPI−ID1600を選択し(図18の説明において「選択API−ID1600」と言う)、当該API−ID1600に関する全ての種別1601およびPath1602を回帰分析実装テーブル1402から取得する(S1800)。
回帰ステップ生成1221は、S1800で取得した情報の内、種別1601“PRMS”に対応したPath1602を用いて、回帰分析プログラム1420のAPIにアクセスし、同一のAPI−ID1600の種別1601“REG”に対応したPath1602が示すAPIのパラメータ情報を取得する(S1801)。
回帰ステップ生成1221は、S1801で取得したパラメータ情報を基に特定される説明変数(X)(パラメータ側の説明変数)に、入力パラメータ内のパラメータ項目IDをマップする(S1802)。
回帰ステップ生成1221は、マップしたパラメータ項目IDに対応する計測項目ID801を、相関計測項目集合テーブル205から取得する(S1803)。
回帰ステップ生成1221は、S1803で取得した計測項目ID801の内、未確認の計測項目IDを1つ選択し(図18の説明において「選択計測項目ID801」と言う)、説明変数(Y)(計測項目側の説明変数)に、選択計測項目ID801をマップする(ステップ1804)。
回帰ステップ生成1221は、目的変数に、入力システム要件内の要件項目ID620をマップする(ステップ1805)。
回帰ステップ生成1221は、S1802、S1804およびS1805でマップした情報(すなわち、目的変数、説明変数(X)および説明変数(Y)にそれぞれIDが関連付けられた回帰ステップ)と、選択API−ID1600と、ステップ#1700(回帰ステップの順番)とを、回帰ステップテーブル1403に登録する(S1806)。
回帰ステップ生成1221は、S1803で取得した計測項目IDを全て確認したか否かを判断する(S1807)。S1807の判断結果が偽の場合(S1807:N)、回帰ステップ生成1221は、ステップ1804を行う。
S1807の判断結果が真の場合(S1807:Y)、処理が終了する。
図19は、推奨値情報決定1412の処理フローチャートを示す。
推奨値情報決定1412は、回帰ステップテーブル1403から、未確認かつ最もステップ#1700が小さいレコードを選択する(S1900)。
推奨値情報決定1412は、S1900で選択したレコードのAPI−ID1701を用いて、回帰分析実装テーブル1402から、種別1601“REG”のPath1602を取得する(S1901)。
推奨値情報決定1412は、S1901で取得したPath1602と、S1900で選択したレコードにおけるパラメータマップ1702とを用いて、回帰分析プログラム1420のAPIにアクセスする(S1902)。これにより、回帰分析プログラム1420は、目的変数に、当該目的変数にマップされている要件項目IDに対応した要件値(入力システム要件内の要件値)を入力し、説明変数(X)に、当該説明変数(X)にマップされているパラメータ項目IDに対応したパラメータ値(入力パラメータ内のパラメータ値(つまり変更後のパラメータ値))を入力する。
推奨値情報決定1412は、回帰分析プログラム1420より算出された値(説明変数(Y)の値)を受信する(S1903)。
推奨値情報決定1412は、説明変数(Y)にマップされている計測項目IDについて、S1903で受信した値(説明変数(Y)の値)を、推奨値情報として出力する(S1904)。「推奨値情報として出力する」とは、説明変数(Y)にマップされている計測項目ID801に対応したパラメータ項目ID800を、S1903で受信した値に置き換えて、フィードバックプログラム121に送信することである。例えば、説明変数(Y)にマップされた計測項目IDが“MTR2”(“メモリ最大使用量”)であり、説明変数(X)にマップされたパラメータ項目IDが“PRM2”(メモリ割当量)であり、説明変数(Y)の値として、αギガバイトが算出された場合、パラメータ項目ID“PRM2”(“メモリ割当量”)の推奨値としてαギガバイトが出力されることになる。つまり、期待される計測値がパラメータ値の推奨値として出力されることになる。
推奨値情報決定1412は、回帰ステップテーブル1403から全ての回帰ステップを選択しかた否かを判断する(S1905)。S1905の判断結果が偽の場合(S1905:N)、推奨値情報決定1412は、ステップ1900を行う。
S1905の判断結果が真の場合(S1905:Y)、処理が終了する。
本実施形態に拠れば、ユーザインタフェース1100の部位1112に、パラメータ項目について、推奨値が表示される。これにより、SEは、或るパラメータ値を変更した場合に、当該パラメータ値と影響関係にあるパラメータ項目について設定するのが好ましいパラメータ値を容易に知ることができる。図11を例に取れば、具体的には、例えば、下記の通りである。
・SEが、パラメータ項目“ログ流量”のパラメータ値を、例えばパラメータ設定フォーム1114を操作して、変更する。
・システム要件の要件値が、目的変数に入力され、変更後のパラメータ値が、説明変数(X)に入力され、説明変数(Y)の値が算出される。
・算出された説明変数(Y)の値が、その説明変数(Y)にマップされた計測項目IDと相関のあるパラメータ項目“分析用メモリの割当量”についての推奨値として表示される。
実施形態5
実施形態5では、パラメータ項目について推奨とされる値区間が、ユーザインタフェースに表示される。以下、実施形態5を詳細に説明する。その際、実施形態1〜4との相違点を主に説明し、実施形態1〜4との共通点については説明を省略または簡略する。
図20は、実施形態5に係る推奨値情報決定1412の処理フローチャートを示す。
図19との差分は、S1906以降の追加である。推奨値情報決定1412は、区間絞込みフラグ1406の値を参照する(S1906)。推奨値情報決定1412は、区間絞込みフラグ1406が偽の場合(S1907:N)、S1904を行う。つまり、推奨値は、実施形態4のように、値区間といった幅が無く表示される。
推奨値情報決定1412は、区間絞込みフラグ1406が真の場合(S1907:Y)、目標値の符号を確認する(S1908)。推奨値情報決定1412は、目標値の符号が負か否かを判断する(S1909)。「目標値」とは、システム要件の評価基準を判断するための値である。「評価基準」とは、要件値が低い(少ない)又は高い(多い)方がより望ましいなどであり、数学の不等号などに相当する。本実施例では、目標値は、要件値が低い方が望ましいことを意味する負の値(例えば-1)と、要件値は高い方が望ましいことを意味する正の値(例えば+1)のいずれかである。しかし、目標値は、列挙型や真偽値、文字列データなどで表現されてもよい。
S1909の判断結果が偽の場合(S1909:N)、推奨値情報決定1412は、現在のAPI−ID1701に対応した種別1601が“RC”のPath1602が示すAPI(回帰分析プログラム1420のAPI)にアクセスし、説明変数(X)の回帰係数を確認する(S1910)。推奨値情報決定1412は、S1910で確認した回帰係数の符号が正か否かを判断する(S1911)。S1911の判断結果が真の場合(S1911:Y)、推奨値情報決定1412は、説明変数(X)にマップされたパラメータ項目と相関のあるパラメータ項目のパラメータ値の上限値を、パラメータ値仕様テーブル1405を基に特定する(S1912)。S1911の判断結果が偽の場合(S1911:N)、推奨値情報決定1412は、説明変数(X)にマップされたパラメータ項目と相関のあるパラメータ項目のパラメータ値の下限値を、パラメータ値仕様テーブル1405を基に特定する(S1913)。なお、目的変数、説明変数X及びYの3次元空間の場合、X値の決定時(例えば、図21で1つの設定フォーム(1114など)が操作された時)、目的変数とYの2次元グラフは線形(Yの回帰係数が正なら傾きは負、Yの回帰係数が負なら傾きは正)となる。
一方、S1909の判断結果が真の場合(S1909:Y)、推奨値情報決定1412は、S1910と同じ内容の処理を実施する(S1914)。S1914で確認した回帰係数の符号が正の場合(S1915:Y)、S1912と同じ内容の処理が実施される(S1916)を、S1914で確認した回帰係数の符号が正でない場合(S1915:N)、S1913と同じ内容の処理が実施される(S1917)。
推奨値情報決定1412は、S1912、S1913、S1916、またはS1917で参照した値と、S1903で受信した説明変数(Y)の値とに挟まれた区間を、推奨値情報として出力する(S1917)。なお、S1912、1913、1916、S1917の対象とする説明変数は、S1910及びS1914で確認した回帰係数に付随する説明変数と同じである。
図21は、本実施形態に係るユーザインタフェースのイメージを示す。
図11との差分は、表示2115と、追加情報2116の追加である。表示2115は、S1917で特定された値区間を示すオブジェクト(例えば矩形のオブジェクト)であり、当該オブジェクトは、説明変数(Y)にマップされた計測項目IDと相関のあるパラメータ項目に対応したパラメータ設定フォーム1114上に配置される。また、追加情報2116は、S1917で特定された値区間を示すメッセージである。
本実施形態に拠れば、推奨とされる値区間が算出され表示される。これにより、SEは、計算資源(例えばCPU使用率)に余裕を確保したいのような目的に応じた値を、推奨とされる値区間から選択できる。
また、本実施形態に拠れば、区間絞込みフラグ1406を真とするか否かで、推奨値として、パラメータ値が仕様上とり得る値範囲のうちの一部を値区間として表示するか、あるいは、当該値範囲のうちの1点を表示するかを、切り替えることができる。これにより、SEにとっての利便性が高くなり、故に、パラメータ設計の効率が高まることが期待できる。なお、推奨値が値区間として表示されるか1点として表示されるかは、パラメータ項目毎に切り替え可能であってもよい。例えば、情報提示プログラム112が、或るパラメータ項目について1つの推奨値を表示した後に値区間表示の要求を受け、当該推奨値を含む値区間(例えば、当該推奨値が最小値または最大値である値区間)を算出して表示してよい。
以上、幾つかの実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。
例えば、情報提示プログラム112は、相関計測項目集合テーブル205を表示し、影響推測結果提示212を行わないでもよい。この場合、SEが、相関計測項目集合テーブル205が示す相関計測項目集合を見て、計測項目が共通する2以上のパラメータ項目を特定してもよい。
また、例えば、少なくとも1つのパラメータ項目について、当該パラメータ項目と相関のある計測項目は、当該パラメータ項目と当該計測項目間の相関値が、当該計測項目に関連付けられている閾値以上であることに代えて又は加えて、下記のうちの少なくとも1つが採用されてよい。
・当該パラメータ項目に関連付けられている閾値以上である計測項目。
・当該パラメータ項目と設定実績を共通にする全計測項目のうち相関値が上位X%に属する計測項目。
また、上述の説明に拠れば、設定実績はシステム要件毎に存在するので、設定実績がシステム要件と同義であると言うこともできる。
50…システム開発支援装置

Claims (7)

  1. (A)開発対象の計算機システムについての1以上のシステム要件の各々と、1以上のパラメータと、1以上のメトリックとの関連付けを基に、相関関係にあるパラメータ項目と計測項目との集合を特定し、
    (B)前記集合に基づく情報を表示し、
    (B)は、下記(b1)および(b2)であり、
    (b1)第一パラメータ項目と相関のある1以上の計測項目の少なくとも1つと相関のある第二パラメータ項目を特定し、
    (b2)前記第二パラメータ項目に関する情報を表示する、
    前記第一パラメータ項目は、変更後のパラメータ値に対応したパラメータ項目であり、
    (b2)は、下記(b21)および(b22)である、
    (b21)前記第一パラメータ項目に対応した前記変更後のパラメータ値、前記1以上の計測項目、および、前記第一パラメータ項目と前記変更後のパラメータ値とを含んだパラメータが関連付けられているシステム要件である対象システム要件に基づく回帰分析を実行することにより、前記第二パラメータ項目に対応したパラメータ値に関する推奨値情報を生成する、
    (b22)前記第二パラメータ項目に関する情報として、前記推奨値情報を表示する
    ンピュータプログラム。
  2. 前記回帰分析の実行は、それぞれ目的変数、第一説明変数および第二説明変数を含んだ1以上の回帰ステップの各々について第二説明変数の値を算出することであり、
    各回帰ステップについて、
    前記目的変数には、前記対象システム要件の要件項目が関連付けられ、
    前記第一説明変数には、前記第一パラメータ項目が関連付けられ、
    前記第二説明変数には、前記1以上の計算項目のうちのいずれかが関連付けられ、
    前記回帰分析の実行において、前記各回帰ステップについて、
    前記目的変数に関連付けられている要件項目に対応した要件値が前記目的変数に入力され、
    前記第一説明変数に関連付けられている前記第一パラメータ項目に対応した前記変更後のパラメータ値が前記第一説明変数に入力され、
    前記推奨値情報は、前記1以上の回帰ステップのうちの少なくとも1つにおける前記第二説明変数について算出された値に基づいている、
    請求項記載のコンピュータプログラム。
  3. 前記推奨値情報は、パラメータ値として取り得る推奨の値区間を示す情報である、
    請求項記載のコンピュータプログラム。
  4. 前記回帰分析の実行は、それぞれ目的変数、第一説明変数および第二説明変数を含んだ1以上の回帰ステップの各々について第二説明変数の値を算出することであり、
    各回帰ステップについて、
    前記目的変数には、前記対象システム要件の要件項目が関連付けられ、
    前記第一説明変数には、前記第一パラメータ項目が関連付けられ、
    前記第二説明変数には、前記1以上の計算項目のうちのいずれかが関連付けられ、
    前記回帰分析の実行において、前記各回帰ステップについて、
    前記目的変数に関連付けられている要件項目に対応した要件値が前記目的変数に入力され、
    前記第一説明変数に関連付けられている前記第一パラメータ項目に対応した前記変更後のパラメータ値が前記第一説明変数に入力され、
    前記値区間は、目標値が負の値であるか否か、および、前記第一説明変数の回帰係数が正の値であるか否かに基づく、
    請求項記載のコンピュータプログラム。
  5. (A)開発対象の計算機システムについての1以上のシステム要件の各々と、1以上のパラメータと、1以上のメトリックとの関連付けを基に、相関関係にあるパラメータ項目と計測項目との集合を特定し、
    (B)前記集合に基づく情報を表示し、
    (A)は、パラメータ項目と計測項目との組毎に、下記(a1)および(a2)である、
    (a1)下記(a11)乃至(a13)に基づき、当該パラメータ項目と当該計測項目間の相関値を算出する、
    (a11)当該パラメータ項目が関連付けられているシステム要件と当該計測項目が関連付けられているシステム要件が同一か否か、
    (a12)当該パラメータ項目を含んだパラメータ内のパラメータ値、および、
    (a13)当該計測項目を含んだメトリック内の計測項目、
    (a2)前記算出された相関値を基に、当該パラメータ項目と当該計測項目間に相関があるか否かを決定する
    ンピュータプログラム。
  6. 1以上のインタフェースデバイスであるインタフェース部と、
    1以上のメモリである記憶部と、
    前記インタフェース部および前記記憶部に接続された1以上のプロセッサであるプロセッサ部と
    を有し、
    前記記憶部は、開発対象の計算機システムについての1以上のシステム要件の各々について、当該システム要件に関連付けられた1以上のパラメータと1以上のメトリックとを記憶し、
    各システム要件は、要件項目および要件値を含み、
    各パラメータは、パラメータ項目およびパラメータ値を含み、
    各メトリックは、計測項目および計測値を含み、
    前記プロセッサ部は、
    (A)パラメータ、メトリックおよびシステム要件間の関連付けを基に、相関関係にあるパラメータ項目と計測項目との集合を特定し、
    (B)前記集合に基づく情報を表示し、
    (B)は、下記(b1)および(b2)であり、
    (b1)第一パラメータ項目と相関のある1以上の計測項目の少なくとも1つと相関のある第二パラメータ項目を特定し、
    (b2)前記第二パラメータ項目に関する情報を表示する、
    前記第一パラメータ項目は、変更後のパラメータ値に対応したパラメータ項目であり、
    (b2)は、下記(b21)および(b22)である、
    (b21)前記第一パラメータ項目に対応した前記変更後のパラメータ値、前記1以上の計測項目、および、前記第一パラメータ項目と前記変更後のパラメータ値とを含んだパラメータが関連付けられているシステム要件である対象システム要件に基づく回帰分析を実行することにより、前記第二パラメータ項目に対応したパラメータ値に関する推奨値情報を生成する、
    (b22)前記第二パラメータ項目に関する情報として、前記推奨値情報を表示する、
    システム開発支援装置。
  7. 1以上のインタフェースデバイスであるインタフェース部と、1以上のメモリである記憶部と、前記インタフェース部および前記記憶部に接続された1以上のプロセッサであるプロセッサ部とを有するシステム開発支援装置によるシステム開発支援方法であって、
    前記システム開発支援装置は、(A)開発対象の計算機システムについての1以上のシステム要件の各々と、1以上のパラメータと、1以上のメトリックとの関連付けを基に、相関関係にあるパラメータ項目と計測項目との集合を特定し、
    (B)前記集合に基づく情報を表示し、
    (B)は、下記(b1)および(b2)であり、
    (b1)第一パラメータ項目と相関のある1以上の計測項目の少なくとも1つと相関のある第二パラメータ項目を特定し、
    (b2)前記第二パラメータ項目に関する情報を表示する、
    前記第一パラメータ項目は、変更後のパラメータ値に対応したパラメータ項目であり、
    (b2)は、下記(b21)および(b22)である、
    (b21)前記第一パラメータ項目に対応した前記変更後のパラメータ値、前記1以上の計測項目、および、前記第一パラメータ項目と前記変更後のパラメータ値とを含んだパラメータが関連付けられているシステム要件である対象システム要件に基づく回帰分析を実行することにより、前記第二パラメータ項目に対応したパラメータ値に関する推奨値情報を生成する、
    (b22)前記第二パラメータ項目に関する情報として、前記推奨値情報を表示する、
    システム開発支援方法。
JP2019512078A 2017-04-11 2017-04-11 システム開発支援装置および方法 Active JP6744484B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/014773 WO2018189801A1 (ja) 2017-04-11 2017-04-11 システム開発支援装置および方法

Publications (2)

Publication Number Publication Date
JPWO2018189801A1 JPWO2018189801A1 (ja) 2019-06-27
JP6744484B2 true JP6744484B2 (ja) 2020-08-19

Family

ID=63792474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019512078A Active JP6744484B2 (ja) 2017-04-11 2017-04-11 システム開発支援装置および方法

Country Status (2)

Country Link
JP (1) JP6744484B2 (ja)
WO (1) WO2018189801A1 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015141218A1 (ja) * 2014-03-18 2015-09-24 日本電気株式会社 情報処理装置、解析方法、及び、プログラム記録媒体
JP2015191397A (ja) * 2014-03-28 2015-11-02 日本電気株式会社 設計パラメータ探索装置、設計パラメータ探索方法、及びプログラム
WO2016143064A1 (ja) * 2015-03-10 2016-09-15 株式会社日立製作所 パラメータ設定値設計支援方法及びシステム

Also Published As

Publication number Publication date
WO2018189801A1 (ja) 2018-10-18
JPWO2018189801A1 (ja) 2019-06-27

Similar Documents

Publication Publication Date Title
CN109241141B (zh) 深度学习的训练数据处理方法和装置
US10067848B2 (en) Methods and systems for benchmarking web browser performance
US9405662B2 (en) Process for displaying test coverage data during code reviews
CN105893259B (zh) 代码检测系统、方法及装置
US10834216B2 (en) Configuration of content site user interaction monitoring in data networks
US11537392B2 (en) Dynamic review of software updates after pull requests
JP6299599B2 (ja) 情報システム構築支援装置、情報システム構築支援方法および情報システム構築支援プログラム
JP6094593B2 (ja) 情報システム構築装置、情報システム構築方法および情報システム構築プログラム
CN108074033A (zh) 指标数据的处理方法、系统、电子设备和存储介质
US20160162539A1 (en) Computer executable method of generating analysis data and apparatus performing the same and storage medium for the same
JP2023029604A (ja) 特許情報処理装置、特許情報処理方法、およびプログラム
Gómez-Martínez et al. Performance assessment of an architecture with adaptative interfaces for people with special needs
JP6744484B2 (ja) システム開発支援装置および方法
US20140359575A1 (en) Adaptive contextual graphical representation of development entities
JP6437226B2 (ja) 情報処理システム、プログラム情報生成方法、プログラム情報生成プログラム、および、プログラム情報表示システム
US10116512B2 (en) Service discovery and/or effort estimation in networked computing environments
US11782948B2 (en) Processing cartesian columns in analytics applications
US9767000B1 (en) Selecting appropriate subsets of software tests
US20220405159A1 (en) In-app failure intelligent data collection and analysis
Vashishtha et al. Moving text analysis tools to the cloud
Renker et al. Questionnaire for user habits of compute clusters (QUHCC)
Berón et al. WSDLUD: a metric to measure the understanding degree of WSDL descriptions
Anggono et al. Standardized precipitation index web application mapping shiny model
Kiäs et al. Quality Evaluation for Big Data
JPWO2014208005A1 (ja) 非機能評価支援装置、システム、方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200730

R150 Certificate of patent or registration of utility model

Ref document number: 6744484

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150