(57)【要約】【課題】  あらかじめ設定されたフローに従い新規の定義の設計は容易であるが、フローのあるノードにおいて、修正作業が発生した場合、修正した定義に依存関係のある定義を別のノードから見つけ出し、再修正をしたり確認作業をしたりすることは容易ではない。【解決手段】  本発明の代表的な一形態では、前記システム構築装置は、インターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリとを備え、前記システム構築データベースは、前記構築されるシステムの種類に対応するパターンに対応して定義された項目を含む項目定義情報と、前記項目に値を入力する工程及び前記工程の順序が、前記パターンに対応して定義された構築フロー定義情報とを格納する。【選択図】  図１５
2011100369.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段を備えたフロー生成支援装置におけるフロー生成支援方法において、
フロー名とノード情報とキー名と初期値設定定義と値一致情報と同値禁止情報とを定義一覧情報として対応付けて記憶手段に格納し、
設定項目定義の変更要求の入力応じて、前記キーについて初期値設定定義に他のキーが設定されている場合に前記他のキーについて定義一覧情報の値一致情報および同値禁止情報から前記検索し、該検索した定義一覧情報から検索したキーと前記他のキーとの関係が値一致情報もしくは同値禁止に格納されている場合には、前記他のキーと依存があることを判定することを特徴とするフロー生成支援方法。
【請求項２】
前記他のキーと値一致情報もしくは同値禁止に格納されている場合に、前記値一致情報もしくは同値禁止に格納されているキーを依存関係情報として格納することを特徴とする請求項１記載のフロー生成支援方法。
【請求項３】
前記他のキーに関するサイジングの隣に前記値一致情報もしくは同値禁止に格納されているキーを有するサイジングを近接に表示することを特徴とする請求項２記載のフロー生成支援方法。
【請求項４】
前記ノード情報には、環境パラメータ設計情報を含み処置設定意定義と同じ初期値設定のサイジングノードの近接に前記環境パラメータ情報と該環境パラメータ情報の初期値設定定義を表示することを特徴とする請求項２記載のフロー生成支援方法。
【請求項５】
記憶手段を備えたナビゲーション装置におけるナビゲーション方法において、
フロー名とノード情報とキー名と初期値設定定義と値一致情報と同値禁止情報とを定義一覧情報として対応付けて格納する記憶手段と、
設定項目定義の変更要求の入力応じて、前記キーについて初期値設定定義に他のキーが設定されている場合に前記他のキーについて定義一覧情報の値一致情報および同値禁止情報から前記検索し、該検索した定義一覧情報から検索したキーと前記他のキーとの関係が値一致情報もしくは同値禁止に格納されている場合には、前記他のキーと依存があることを判定する手段とを備えたことを特徴とするフロー生成支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムの構築を支援する技術に関する。
【背景技術】
【０００２】
システム構築者がシステムを構築する場合、システム構築対象のサーバに対して顧客からのシステム要件をもとに様々な定義を設定する。
【０００３】
新たにシステムを構築するための支援技術として、これら定義の設定順序および、整合性を確保する技術が開示されている。特に、特許文献１には、システム構築のために、画面上にフローとして設計する手順と入力欄を表示し、入力された定義に基づいて整合性をチェックしながらシステムの環境を設定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2006-72772号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された技術では、フローにあらかじめ設定された手順に従い各ノードにおいて定義の入力設計を新規に行うことは容易である。しかし、既に過去に設定済みのあるノードにて、定義の修正作業が発生した場合、修正した定義に依存関係のある他の定義を別のノードから見つけ出し、再修正をしたり確認作業をしたりすることは容易ではない。例えば、ある定義の値が別項目の定義の値の算出根拠になっている場合、その値を修正したのであれば、別の項目も確認もしくは再修正が必要となるケースは多い。ところが、そうした定義の再修正に対する例えばフローの動的変更など考慮はされてこなかった。
【０００６】
一方、上記支援システムでは、あらかじめ設定された特定のシステムを構築する場合のみ、設計情報をフローとして提供することで支援している。しかし、本来開発するシステムは顧客ニーズに応じて様々なパターンが存在し、システム開発者が持つノウハウをもとに既存のフローがカスタマイズされることが多い。その場合、フローの各ノードに設計する定義も変更になることが多く、定義間の依存関係も度々変更が生ずることが前提である。
【０００７】
本発明は、特に大規模なシステムを構築するために、必要な項目を効率的に設定できるように支援する技術のカスタマイズによる定義間の依存関係をカスタマイズ毎に動的に取得し、一度設計した定義の修正による定義間の依存関係を子フローとして動的に情報提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、記憶手段を備えたナビゲーション装置におけるナビゲーション方法において、
フロー名とノード情報とキー名と初期値設定定義と値一致情報と同値禁止情報をと定義一覧情報として対応付けて記憶手段に格納し、
設定項目定義の変更要求の入力応じて、前記キーについて初期値設定定義に他のキーが設定されている場合に前記他のキーについて定義一覧情報の値一致情報および同値禁止情報から前記検索し、該検索した定義一覧情報から検索したキーと前記他のキーとの関係が値一致情報もしくは同値禁止に格納されている場合には、前記他のキーと依存があることを判定することにより実現する。
【０００９】
さらに、本発明は、システム構築装置と、前記システム構築装置によってアクセスされるデータを格納するシステム構築データベースと、を備える計算機システムにおいて、システムの構築を支援するシステム構築支援方法であって、前記システム構築データベースは、前記構築されるシステムの種類に対応するパターンに対応して定義された項目を含む項目定義情報と、前記項目に値を入力する工程及び前記工程の順序が、前記パターンに対応して定義された構築フロー定義情報とを格納し、前記方法は、前記構築されるシステムのパターンの指定を受け付け、前記指定されたパターンに対応する項目定義情報を前記システム構築データベースから取得し、前記構築されるシステムに配置される構築対象サーバを指定し、前記指定されたパターンに対応する構築フローに基づいて、前記工程に対応する項目の値の入力を受け付け、前記システムを構築するために必要な項目の値が設定された後、前記構築対象サーバの環境を設定する構築スクリプト及びシステム定義情報を生成し、前記構築スクリプトを実行するためのエージェントを前記構築対象サーバに配布し、前記配布されたエージェントによって、前記システム定義情報に基づいて前記構築スクリプトを実行するように、前記構築対象サーバに指示する。
【００１０】
前記システム構築データベースに保存されているパターンを新規に開発、もしくは修正した場合においても、構築スクリプトおよびシステム定義情報を生成できる。また、フローの途中ノードにおいて、設定値を修正した場合、その依存関係のある定義のノードを子フローとして表示、提供できる。
【発明の効果】
【００１１】
予め設計されたフローにおいて、各ノードにて指示されたナビゲーションに従い、サーバに設計する定義値を入力していくシステム構築ナビゲーションシステムにおいて、一度設計を終了した定義値に関しては、後にその値を修正した場合でも、その値と関係する別の定義値がナビゲーションされている別ノードをそのノードの子フローとして新規に表示する。そのことにより、修正後にフロー順に全てのノードを確認する必要がなく、直接関係あるノードだけを確認すれば良い。また、フローは利用者によっていかようにもカスタマイズされることが前提であり、フローをカスタマイズした場合においても、各定義間の依存関係を多段的に把握することができる。そのため、カスタマイズされたフローにおいても、同じように定義値の修正を行うと依存関係のある定義値をナビゲートしているノードが子フローとして表示される。
【図面の簡単な説明】
【００１２】
【図１】本発明に関するシステム構築ナビゲーションシステムを示す構成図である。
【図２】システム構築ナビゲーションシステムを構成するシステム構築ナビゲーションサーバの構成図である。
【図３】システム構築ナビゲーションシステムを構成するシステム構築ナビゲーションデータベースサーバの構成図である。
【図４】システム構築ナビゲーションシステムを構成する構築対象サーバの構成図である。
【図５】利用者が利用者端末を使用して、自動子フロー生成を利用しない形態にてシステム構築ナビゲーションサーバを利用する場合の処理を示す説明図である。
【図６】システム構築ナビゲーションサーバの内部処理である入力値チェックにて行われる処理を示す説明図である。
【図７】システム構築ナビゲーションサーバの内部処理である出力値計算にて行われる処理を示す説明図である。
【図８】本発明の実施の形態の項目に値を入力する手順の概要を説明する図である。
【図９】本発明における開発者の新たなフローを開発する手順の概要を説明する図である。
【図１０】開発者がフローを開発する際に同時に定義する各ノードの設計項目に対する設定値の一例である。
【図１１】図９にて開発した設定項目定義から設定値間の依存関係を示す表（図１３）を作成するためのフローチャートである。
【図１２】図９にて開発者が開発した設定値の定義から、システム構築ナビゲーションサーバのシステム構築ナビゲーション処理部が図１１の手順にて自動的に認識する各設計項目の依存関係を表すイメージ図の一例である。
【図１３】図１２のイメージ図からシステム構築ナビゲーションデータベースサーバが保存する定義値依存関係表の一例である。
【図１４】図９にて開発者が定義した設定値から、システム構築ナビゲーションサーバのシステム構築ナビゲーション処理部が自動的に作成する各設計項目に関する一覧と、各設計項目が利用者によって既に設定終了したかを示す図の一例である。
【図１５】利用者が利用者端末を使用して、自動子フロー生成を利用する形態にてシステム構築ナビゲーションサーバを利用する場合の処理を示す説明図である。
【図１６】自動子フロー生成を利用する形態の場合のシステム構築ナビゲーションシステムにおける子フロー生成の手順を示す図である。
【図１７】利用者が利用端末を使用してみることができるＷｅｂシステムのサイジングフローチャートを示した図の一例である。
【図１８】図１７で示したフローチャートのうちサイジングノード２にて設定項目ＢＢＢを修正した際に表示される子ノードが出現することを説明した図である。
【図１９】図１７で示したフローチャートのうちサイジングノード２にて設定項目ＢＢＢを修正した後、さらに表示された子ノードのうちサイジングノード４を修正した際に新規に表示される孫ノードが出現することを説明した図である。
【図２０】図１７で示したフローチャートのうちサイジングノード２にて設定項目ＢＢＢを修正した後、さらに表示された子ノードのうちサイジングノード５を修正した際に新規に表示される孫ノードが出現することを説明した図である。
【発明を実施するための形態】
【００１３】
図１は、システム構築ナビゲーションシステムの構成図を示す。システム構築ナビゲーションシステムは、１台以上のシステム構築ナビゲーションサーバ１００と、１台以上の開発者端末７００と、１台以上の利用者端末（８０１、８０２）と、１つ以上のシステム（９００、９１０）と、がネットワーク１０００に接続されている。
【００１４】
システム構築ナビゲーションサーバは、システム構築ナビゲーションデータベースサーバ２００と接続されている。
【００１５】
構築対象となるシステム（９００、９１０）は、それぞれ１台以上のサーバ（９０１、９０２）で構成されている。
【００１６】
システムに属する各サーバは、ネットワーク１０００と接続されていて、システム構築ナビゲーションサーバ１００により、各種の設定がネットワーク越しに行われる。
【００１７】
システム構築ナビゲーションサーバ１００は、利用者端末８０１、８０２から入力されたシステム要件に基づいて、構築されるシステムの定義などを設定する。システム構築ナビゲーションサーバ１００の構成については、図２にて後述する。
【００１８】
システム構築ナビゲーションデータベースサーバ２００は、システム構築ナビゲーションサーバ１００によってシステムを構築するために必要な情報を格納する。システム構築ナビゲーションデータベースサーバ２００の詳細については、図３にて後述する。
【００１９】
利用者端末８０１、８０２は、システムを構築する利用者（例えば、システムエンジニア）が、システム要件などの設定項目を入力し、システム構築ナビゲーションサーバ１００に送信する。項目を設定するインターフェースには、例えば、汎用的なＷｅｂブラウザが利用される。汎用的なＷｅｂブラウザを利用することによって、専用のアプリケーションを必要とせずにシステムを構築可能とし、ネットワークに接続された任意の端末を利用者端末８０１、８０２とすることができる。
【００２０】
構築対象サーバ９００、９９０は、システムが構築される対象のサーバである。構築対象サーバ９００、９９０の詳細については、図４にて説明する。
【００２１】
利用者８０３、８０４は、利用者端末８０１、８０２を使用して、ネットワーク１０００経由でシステム構築ナビゲーションサーバにアクセスし、対象とするシステムの構築に必要な情報を入手することと、必要な情報からシステム構築に必要な設定を行う。また、システム構築ナビゲーションサーバへ、システムの各構築サーバ（９０１、９０２）や（９９１、９９２）の構築指示を命令することができる。
【００２２】
開発者７０１は、開発者端末７００を使用して、ネットワーク１０００経由でシステム構築ナビゲーションデータベースへアクセスして情報を追加する権限と、更新する権限と、を有する。
【００２３】
図２は、システム構築ナビゲーションサーバ１００の構成図を示す。システム構築ナビゲーションサーバ１００は、主記憶装置１１０と、ＣＰＵ１２０と、インターフェース１３０と、ディスクドライブ１４０と、によって構成され、バスを介して相互に接続している。主記憶装置１１０は、ＣＰＵ１２０によって実行されるプログラム実現されるシステム構築ナビゲーション処理部１１１及び当該システム構築ナビゲーション処理部１１１の実行に必要なデータを記憶する。
【００２４】
システム構築ナビゲーション処理部１１１は、パターン毎にプログラム部品を追加することによって機能を拡張することができる。例えば、業務ごとに異なる計算機能を有するプログラム部品を用意することによって、業務ごとにより適した定義を設定することが可能となる。利用者８０３，８０４による定義設定の、初期値計算に関する定義や、他定義との同値禁止や値一致の定義は、開発者７０１によって、システム構築ナビゲーションデータベースサーバ２００の設定項目情報５４０にて定義する。設定項目情報５４０の詳細は後述する。
【００２５】
また、システム構築ナビゲーション処理部１１１にＷｅｂサーバの機能を含むように構成することによって、前述したように、利用者端末８０１、８０２に専用アプリケーションを配布することなくシステムの構築が可能になる。なお、システム構築ナビゲーションサーバ１００に、別途、Ｗｅｂサーバを備えるようにしてもよい。
【００２６】
ＣＰＵ１２０は、主記憶装置１１０に記憶され、プログラムで実現されているシステム構築ナビゲーション処理部を実行し、各種処理を実行する。インターフェース１３０は、利用者端末８０１、８０２からの入力を受け付け、システム構築ナビゲーションデータベースサーバ２００及び構築対象サーバ９００、９１０にアクセスするためにネットワーク１０００に接続するインターフェースである。
【００２７】
図３は、システム構築ナビゲーションデータベースサーバ２００の構成を示す図である。
【００２８】
システム構築ナビゲーションデータベースサーバ２００は、主記憶装置２１０、ＣＰＵ２２０、インターフェース２３０及びディスクドライブ２４０を含む。主記憶装置２１０、ＣＰＵ２２０、インターフェース２３０及びディスクドライブ２４０は、バスを介して相互に接続される。
【００２９】
ディスクドライブ２４０には、システム構築ナビゲーションサーバ１００に提供するデータなどが格納される。格納されるデータについては後述する。
【００３０】
主記憶装置２１０は、ＣＰＵ２２０によって実行されるプログラムで実現されているデータベース処理部及び当該データベース処理部２１１の実行に必要なデータを記憶する。具体的には、システム構築ナビゲーションサーバ１００にデータを提供するためのデータベースマネジメントシステム２１１が記憶される。
【００３１】
ＣＰＵ２２０は、主記憶装置２１０に記憶されたデータベース処理部を実行し、各種処理を実行する。インターフェース２３０は、システム構築ナビゲーションサーバ１００及び構築対象サーバ９００、９１０にアクセスするために、ネットワーク１０００に接続するインターフェースである。
【００３２】
続いて、ディスクドライブ２４０に格納されるデータについて説明する。ディスクドライブ２４０には、構築データ３００、構築対象システム用ツール４００、パターン固有データ５００が格納される。
【００３３】
構築データ３００は、システムを構築するために必要なデータが格納される。
【００３４】
パターン固有データ５００は、過去に構築されたシステムによって得られたノウハウに基づいて作成された情報が格納される。パターン固有データ５００には、システム定義ファイル雛形５１０、構築スクリプト雛形５２０、構築フロー定義５３０及び設定項目定義情報５４０が含まれる。パターン固有データ５００は、構築されるシステムのパターンごとに定義される。パターン固有データは、開発者によって定義されたり、編集されたりする。
【００３５】
システム定義ファイル雛形５１０は、構築されるシステムの定義ファイルの雛形である。入力されたシステム要件などの構築データ３００に基づいて、システム定義ファイル４１０が作成される。
【００３６】
構築スクリプト雛形５２０は、構築対象サーバで実行されることによって、システムが構築されるスクリプトの雛形である。構築スクリプト４２０は、システム定義ファイルと同様に、入力されたシステム要件などの構築データ３００に基づいて作成される。
【００３７】
構築フロー定義５３０は、システムを構築するために設定される項目を入力する順序を含む構築フローが定義される。構築フローは、定義を設定する工程及び当該工程の順序によって構成される。ここで定義された構築フローは、システム構築ナビゲーションサーバによって表現され、利用者端末８０１、８０２によって表示される。利用者は、構築フローにしたがって定義を設定することによって効率よくシステムを構築することができる。
【００３８】
設定項目定義情報５４０は、構築フローで定義された設定する入力項目に対するチェック用の定義である。各入力項目に対して、初期値や他定義との依存関係を定義する。詳細は、図１０にて後述する。
【００３９】
構築対象システム用ツール４００は、構築対象サーバ９０１、９０２、９１１、９１２に配布されるシステム構築に必要な定義ファイルと構築用スクリプトを有する。
【００４０】
システム定義ファイル４１０は、入力されたシステム要件、当該システム要件に対応する構築データ３００及びシステム定義ファイル雛形５１０などに基づいて生成されたシステム定義ファイルである。
【００４１】
構築スクリプト４２０は、入力されたシステム要件、当該システム要件に対応する構築データ３００及び構築スクリプト雛形５２０などに基づいて生成された構築スクリプトである。
【００４２】
図４は、構築対象サーバ９０１の構成を示す図である。
【００４３】
構築対象サーバ９０１は、主記憶装置９１０、ＣＰＵ９２０、インターフェース９３０及びディスクドライブ９４０を含む。主記憶装置９１０、ＣＰＵ９２０、インターフェース９３０及びディスクドライブ９４０は、バスを介して相互に接続される。
【００４４】
ディスクドライブ９４０には、構築対象サーバ９０１の稼働に必要なシステム定義ファイル９４１及び構築スクリプト９４２などが格納される。
【００４５】
主記憶装置９１０は、ＣＰＵ９２０によって実行されるプログラムで実現されたシステム構築ナビゲーションエージェント９１１やパターン別論理処理部９１２及びその実行に必要なデータを記憶する。具体的には、システム構築ナビゲーションサーバ１００から配信されたシステム構築定義ファイル９４１と構築スクリプト９４２を管理するシステム構築ナビゲーションエージェント９１１が記憶される。
【００４６】
ＣＰＵ９２０は、主記憶装置９１０に記憶されたシステム構築ナビゲーションエージェント９１１やパターン別論理処理部９１２を実行し、各種処理を実行する。インターフェース９３０は、システム構築ナビゲーションサーバ１００にアクセスするために、ネットワーク１０００に接続するインターフェースである。
【００４７】
図５は、本発明の実施形態の構築対象サーバ９０１、９０２、９１１、９１２の環境を設定する手順を示すフローチャートである。本フローチャートは特に新規に構築対象サーバ９０１、９０２、９１１、９１２の環境を設定する場合に用いる。
【００４８】
構築対象サーバ９０１、９０２、９１１、９１２の環境を設定する手順は、環境を設定する利用者８０３が利用者端末８０１、８０２を用いてシステム構築ナビゲーションサーバ１００へネットワーク１０００を経由してアクセスし、システム構築ナビゲーション処理部１１１が利用者端末に表示するフローが示す手順に従って、画面に値を入力することで実施される。画面に入力された値は、同じくネットワーク１０００を経由してシステム構築ナビゲーションサーバへ送信される。フローは、ノード単位に遷移し、ノード単位に構築対象サーバに関する各種設計手順が示されているものとする。利用者端末に表示されるフローの例として図１５にて後ほど説明する。
【００４９】
利用者８０３は、まずシステム構築ナビゲーションデータベースサーバに保存されている各種システムのパターンの中から、どの種類のシステムを構築するか選択する（Ｓ３００１）。
【００５０】
フローの各ノードが示す手順には、項目に値を入力する処理と、入力された値をチェックする処理が含まれる（Ｓ３００２、Ｓ３００７）。入力値チェックの処理に関しては、後に図６を参照しながら説明する。
【００５１】
利用者８０３は、画面に表示されるノードのナビゲーションの指示に従い画面に対して構築対象サーバに必要な値を入力することで設定していくことをノードの数だけ繰り返していく（Ｓ３００５、Ｓ３００６）。
【００５２】
入力値チェックの返り値が想定されたものか否かの判定処理を入力値チェック処理の後には必ず行う（Ｓ３００３、Ｓ３００８）。判定処理がOKであれば、次の処理に進み、ＮＧであればエラー通知を行いもとのノードへ戻る（Ｓ３００４、Ｓ３００９）。
【００５３】
利用者８０３による各ノードにおける入力値に対しては、入力値チェック処理が行われるが、入力値はシステム構築ナビゲーションデータベースサーバ２００の構築データ３００に保存が必要な値と必要ではない値とが存在する。システム構築ナビゲーションデータベースサーバ２００に保存が必要な場合、入力値チェック処理の判定結果がＯＫの場合、保存される（Ｓ３０１０）。
【００５４】
ノードに表示される項目によっては、前の工程で入力された値に基づいて、後の工程で入力される値の推奨値（デフォルト値）を設定することがある。その場合、前の工程で入力された値を使用して計算処理が実施される（Ｓ３０１１）。推奨値は、あらかじめシステム構築ナビゲーションデータベースサーバ３００に登録されている場合と、入力された値と設定項目定義情報５４０に設定されている計算式に基づいて算出される場合がある。詳細は、後の図１０の初期値定義Ｔ２００６にて説明する。
【００５５】
設計するシステムのパターンに対するナビゲーションによる設計が全て終了した後、システム構築ナビゲーションサーバ１００は、システム定義ファイル雛形５１０及び構築スクリプト雛形５２０を元に、設定された情報に基づいて、システム定義ファイル４１０及び構築スクリプト４２０を含む構築対象システム用ツール４００を生成し、システム構築ナビゲーションデータベースサーバ２００に格納する（Ｓ３０１３）。
【００５６】
図６は、図５で示した入力値チェックに関するシステム構築ナビゲーションサーバ１００のシステム構築ナビゲーション処理部１１１が実施する内部処理のフローチャートである。
【００５７】
利用端末８０１、８０２に対し、利用者８０３、８０４が入力すると、ノードにて入力された値を入力値毎に値を取得する（Ｓ３１０１）。
【００５８】
システム構築ナビゲーション処理部１１１は、入力値毎にシステム構築ナビゲーションデータベースサーバのディスクドライブに保存されている対応するパターン固有データ５００のうち、設定項目定義情報５４０を取得する（Ｓ３１０２）。
【００５９】
設定項目定義情報５４０に定義されているテーブルのうち、入力された値に対応するチェック定義、値一致、同値禁止のカラムが定義されていない場合、その値に対する次の処理は実行されず、次の処理へ続く（Ｓ３１０３）。なお、チェック定義、値一致、同値禁止などの意味に関しては、後に図１０を使用しながら説明する。
【００６０】
確認項目（チェック定義、値一致、同値禁止）が定義されている場合、これらの確認項目の定義に従って、入力値をチェックする（Ｓ３１０４）。
【００６１】
入力値をチェックした後、入力値が確認項目の定義を満たす場合、次の値の確認処理を行うか、全ての入力値のチェックが終了していた場合は繰り返し処理を抜け出す（Ｓ３１０５）。もし、入力値が確認項目の定義を満たさない場合、警告ダイアログの出力を指示し、繰り返し処理を抜け出す（Ｓ３１０６）。
【００６２】
利用者がノードに入力した全ての入力値の確認を終了した後、もしくは警告ダイアログを出力した後に、そのチェック結果を返し、入力値チェック処理を終了する（Ｓ３１０７）。
【００６３】
図７は、図５で示した出力値計算に関するシステム構築ナビゲーションサーバ１００のシステム構築ナビゲーション処理部が実施する内部処理のフローチャートである。
【００６４】
利用者は、ノードに記載されたナビゲーションに従い値を設計し終わった後に次のノードへ遷移するが、システム構築ナビゲーション処理部１１１は、遷移先のノードに設計するべき値が存在するかの情報をパターン固有データ５００の中の構築フロー定義５３０から、把握することができる（Ｓ３２０１）。
【００６５】
システム構築ナビゲーション処理部１１１は、遷移先のノードで設定するべき値として画面に出力される値が存在する場合、出力される値の数だけ繰り返し処理を行う。繰り返し処理の内容を以下に示す。
【００６６】
まず、取得したパターン固有データ５００の設定項目定義情報５４０から初期値定義カラムＴ２００６が定義されているか否かを確認する（Ｓ３２０２）。
【００６７】
初期値定義カラムＴ２００６が定義されている場合、出力値の計算式を取得する（Ｓ３２０３）。出力値の計算式に必要な情報をシステム構築ナビゲーションサーバ２００の構築データ３００から取得する（Ｓ３２０４）。必要な情報と計算式をもとに、出力値を計算する（Ｓ３２０５）。遷移先のノードで表示する全ての設計値に対する出力値の計算を終了した後、その計算結果を返す（Ｓ３２０６）。
【００６８】
図８は、本発明の実施の形態の項目に値を入力する手順の概要を説明する図である。
【００６９】
本発明の実施の形態では、入力欄に値を設定し、次画面に遷移する際に入力欄に設定された値に基づいて、他の定義に値を設定することができる。例えば、図８に示すように、利用者が利用者端末８０１、８０２のブラウザに表示された入力欄ｉｎｐｕｔＡ及びｉｎｐｕｔＢに値を入力し、「ＡｃｔｉｏｎＢｕｔｔｏｎ」を操作することによって、次画面に遷移する。このとき、次画面では、入力された値（ｉｎｐｕｔＡ及びｉｎｐｕｔＢ）に基づいて、ＯｕｔｐｕｔＣが出力される。
【００７０】
ＯｕｔｐｕｔＣは、ｉｎｐｕｔＡ及びｉｎｐｕｔＢに基づいて検索される値であったり、ｉｎｐｕｔＡ及びｉｎｐｕｔＢを計算式に当てはめることによって算出する値であったりする。
【００７１】
入力された値に基づいて他の定義の値を出力する手順については、図７にて説明済みである。
【００７２】
図９は、開発者７０１が設計するシステムのパターンを新規に開発する、もしくは既存のパターンを修正する場合における作業のフローチャートを示す。システム構築ナビゲーション１００は、こうした開発者７０１によっていくつかの定義とナビゲーションを作成するだけでシステム構築ナビゲーション処理部９１１１が資料者に対し自動的にユーザビリティを提供できるような柔軟に新規開発、既存修正できるような機能を有する。
【００７３】
開発者７０１は、開発者端末７００に対しまず新たに追加、修正するフローを設定する（Ｓ３３０１）。新たに追加、修正するフローにおけるノードの数分だけ以下の処理を繰り返す。まず、ノード毎にナビゲーションを開発する（Ｓ３３０２）。これは通常のテキストデータもしくは画像データなどになる。  次に、同時にノードにて設定するべき設定値を設定項目として開発する（Ｓ３３０３）。最後にノードにて開発した設定値に対する定義を設定項目定義として開発する（Ｓ３３０４）。ここで定義する設定項目定義の詳細は、後に図１０を参照しながら説明する。
【００７４】
フロー内に定義されるノードの開発が終了した後、開発するシステムのパターンに関するシステム定義ファイル雛形（５１０）と構築スクリプト雛形（５２０）を開発する（Ｓ３３０５）。
【００７５】
関係するノードを全て開発し終えた後、フロー開発を継続するか否かの見直しを行い、必要があれば繰り返しに戻るが、フロー開発終了を判断した場合は、そのまま終了する（Ｓ３３０６）。フロー開発で設定したこれらの情報は、システム構築ナビゲーションデータベースサーバの構築フロー定義５３０および設定項目定義情報５４０にて保存される。
【００７６】
図１０は、図９で示した開発者７０１が開発する設定項目ごとの定義である。パターンＴ２００１は、開発者が定義したシステムのパターンの名前を示す。フロー名Ｔ２００２は、開発者が定義したシステムのパターンにおけるフローの名前を示す。ノードＴ２００３は、開発者が定義したフローにおける各ノード名を示す。キー名Ｔ２００４は、各ノードに設定される設定項目の名前を示す。
【００７７】
チェック定義Ｔ２００５は、各キー名で示された設定項目において、利用者が入力した際にシステム構築ナビゲーション処理部１１１が入力値チェック処理にてチェックするべき定義を示す。例えば入力値が文字列か数値かなどの入力型や、数値であればその範囲などが該当する。
【００７８】
初期値定義Ｔ２００６は、図５にて示した出力値計算（Ｓ３０１１）で使用する遷移先ノードで入力欄に表示する計算式を定義したものである。
【００７９】
値一致Ｔ２００７は、その値が定義された他の値と一致するように確認するように定義するものである。この欄に定義された値同士は互いに一致することを想定された入力値である。
【００８０】
同値禁止Ｔ２００８は、その値が定義された他の値と同じではないことを確認するように定義するものである。この欄に定義された値は互いに異なるものでなければならない。
【００８１】
Ｔ２００９は、初期値定義Ｔ２００９の一例である。キー名ＧＧＧと定義された値は、遷移先ノードの遷移時点で初期値としてキー名ＦＦＦに文字列％を末尾に追記して、表示するようにと定義されている。Ｔ２０１０は、値一致Ｔ２００７の一例である。”−”と定義された場合、その値が他の定義と一致するように指示されてはいないことを示す。
【００８２】
Ｔ２０１１は、同値禁止Ｔ２００８の一例である。キー名ＦＦＦは、キー名ＢＢＢとは同じ値を入力してはいけないことを示す。
【００８３】
図１１は、開発者が作成した設定項目定義を元に、システム構築ナビゲーション処理部１１１が各定義間の依存関係の有無と依存関係自体を抽出するフローチャートである。
【００８４】
最初に、開発者によって設定項目定義が開発済みか否かを確認する（Ｓ３４０１）。もし未だ開発済みでなければ、このフローチャートから抜け出す。
【００８５】
設定項目定義の開発が終了しているのであれば、設定項目定義に定義されたキーの数だけ以下の処理を繰り返す。
【００８６】
まず、設定項目定義の初期値定義に他キーを使用した計算式が定義されているか否かを確認する（Ｓ３４０２）。もし、存在するならば、その定義と、定義された他キーとの間には依存関係があることになる。存在しなければ、次の確認項目へ遷移する。
【００８７】
初期値定義に他キーを使用した計算式が定義されていた場合、他キーを親に、対象のキーは子に設定する（Ｓ３４０３）。これらの依存関係については図１２を参照しながら後ほど説明する。
【００８８】
設定項目定義から作成された設定値一覧情報（図１４参照）の依存関係有無にチェックを入れる（Ｓ３４０４）。次の確認項目は、設定項目定義の値一致、同値禁止に他キーが定義されているか否かを確認する（Ｓ３４０５）。もし定義されていなければ、そのまま次の繰り返し処理へ遷移する。定義されている場合は、以下の処理へ遷移する。値一致、同値禁止に定義されている他キーが存在する場合、両者のキーを強連結として定義する（Ｓ３４０６）。
【００８９】
最後に定義一覧情報の依存関係有無にチェックを入れる（Ｓ３４０７）。
【００９０】
図１２は、図１０の設定項目定義の例から、各キーの依存関係を示したイメージ図である。
【００９１】
図中の610、611、612、613、614、615、616はそれぞれ図１０の設定項目定義の例で定義されたキーの名前を示す。
【００９２】
集合600は、互いに依存関係のあるキーの集合を意味し、集合601は、依存関係の全くないキーの集合を示している。
【００９３】
矢印線620は矢印の元から先に向けて依存関係があることを示している。これは図１１の初期値定義に他キーの存在があるか否かの確認（Ｓ３４０２）にて「ＹｅＳ」だった場合にキーの親子関係を定義した際（Ｓ３４０３）に表示されるものである。
【００９４】
線621は、強連結として定義されるもので、図１１の値一致、同値禁止に他キーが定義されていた場合（Ｓ３４０６）に表示されるものである。
【００９５】
図１３は、図１１におけるフローチャート基づき、図１２のイメージ図をグラフ化したものである。グラフの横行および、縦列は設定項目定義に定義された全ての設定項目が設定されている（T２１０１、T２１０２）。
【００９６】
各行は、その設定項目が他の設定項目に影響を与えているか、言い換えれば、各列はその設定項目が他の設定項目に依存しているか、を示す。例えば、T２１０３は、設定項目DDDが設定項目BBBに影響を与え、設定項目BBBの設定に関しては、設定項目DDDに依存していると表されている。
【００９７】
一方、設定項目BBBと設定項目FFFは、設定するにあたってお互いに依存しあう、強連結の関係にある。そのような設定項目の場合、T２１０４、T２１０５のように両者の欄にチェックが記載される。
【００９８】
設定項目の中には、全く依存関係のない設定項目が存在する。そのような設定項目に対しては、T２１０５のように"−"にて示すようにする。
【００９９】
図１４は、システム構築ナビゲーション処理部が設定項目定義よりシステム構築ナビゲーションデータベースサーバ２００の構築データ３００の中に、設定値依存関係表３２０として持つテーブルの一例である。
【０１００】
T２２０１は、パターンの種別を示す。T２２０２は、フロー名を示す。T２２０３は、ノードの名前を示す。T２２０４は、設定項目名であるキー名を示す。T２２０５は、他の設定項目との依存関係の有無を示す。T２２０６は、利用者が利用者端末を用いて設定した値を示す。T２２０７は、利用者が利用者端末を用いて既に一度設計を済ませたか否かを示す。
【０１０１】
図１５は、本技術を適用後のシステム構築における利用者とシステム構築ナビゲーション処理部１１１の処理のフローチャートを示す。基本は、図５と同じであるが、設定項目の依存関係に着目して一度設計が終了した設定項目に対して、利用者が修正すると、修正した設定項目と依存関係のある設定項目がナビゲーションされているノードが子フローとして表示されるようになる。
【０１０２】
まず、利用者が画面によるナビゲーションに従って設定項目に対して値を設定すると、システム構築ナビゲーション処理部によるチェック後、システム構築ナビゲーションデータベースサーバに保存される（Ｓ３０１０）
既に設定済みの設定項目を修正した場合、システム構築ナビゲーションデータベースサーバに保存後、その設定項目について、他の設定項目と依存関係の有無を調べる（Ｓ３５０１）。
【０１０３】
もし依存関係があり、その設定項目も設計済みなのであれば、子フローの作成を実施する（Ｓ３５０２）。しかし、その設定項目が他の設定項目と依存関係がないのであれば、図５同様出力値計算を行い、次の画面へと遷移する（Ｓ３０１１、Ｓ３０１２）。
【０１０４】
子フロー作成後、次の処理として、子フローに遷移するか否かを利用者に判断させる（Ｓ３５０３）。もし、子フローに遷移しないのであれば、そのまま本フローの次のノードに遷移するために、次のノードの出力値計算を行う。
【０１０５】
もし子フローノードに遷移するのであれば、設定項目と依存関係のある子フローのノード数だけ、ノードに表示される値を確認していく（Ｓ３５０４）。
【０１０６】
図１６は子フローの作成を示す。
【０１０７】
まず、対象の設定項目に影響を与える設定項目の有無を依存関係表を用いて調べる（Ｓ３６０１）。
【０１０８】
もし、対象の設定項目に影響を与える設定項目が存在するのであれば、その設定項目が既に設定済みか否かを調べる（Ｓ３６０２）。
【０１０９】
もし、検索された設定項目が既に設定済みであるのであれば、検索された設定項目を設定するノードを対象の設定項目を設定するノードへ矢印を向けて新規に設定する（Ｓ３６０３）。
【０１１０】
続いて、対象の設定項目が影響を与える設定項目の存在有無を検索する（Ｓ３６０４）。
【０１１１】
もし、対象の設定項目が影響を与える設定項目が存在するのであれば、その設定項目が既に設定済みか否かを調査する（Ｓ３６０５）。
【０１１２】
もし、その設定項目が既に設定済みなのであれば、検索された設定項目をナビゲーションしているノードを対象の設定項目をナビゲーションしているノードから矢印を向けて新規に設定する（Ｓ３６０６）。
【０１１３】
最後に、対象の設定項目に値一致もしくは同値禁止として定義されている他の設定項目値の存在有無を検索する（Ｓ３６０７）。
【０１１４】
もし、値一致、同値禁止として定義されている他の設定項目値が存在するのであれば、その検索された設定項目が既に設定済みか否かを調査する（Ｓ３６０８）。
【０１１５】
もし、検索された設定項目が既に設定済みなのであれば、その設定項目をナビゲーションしているノードを対象の設定項目を設定するノードから線で結んで設定する（Ｓ３６０９）。
【０１１６】
これをそのノードに設定されている設定項目の数分だけ繰り返す。
【０１１７】
図１７は、利用者が利用者端末で見る、あるパターンのフローの１例である。
【０１１８】
このフローでは、Webシステムのサイジングフローを示しており、開始ノードからいくつか遷移したところでサイジングノード１（設定項目AAAのナビゲーションおよび設定）を行う（１１０１）。
【０１１９】
続いて、サイジングノード２（設定項目BBBのナビゲーションおよび設定）を行う（１１０２）。
【０１２０】
さらに、サイジングノード３（設定項目CCCのナビゲーションおよび設定）を行うことを想定している（１１０３）。
【０１２１】
利用者は、この例が示したフローを一通り設計済みで、あるときにサイジングノード２（設定項目BBB）の値を修正したと仮定する。
【０１２２】
図１８は、図１７のフローにおいて、サイジングノード２を修正した場合の利用者が見えるフローの形を示している。
【０１２３】
サイジングノード２を修正した場合、設定項目BBBへ影響を与えている設定項目DDDのナビゲーションと設定をさせているノード（サイジングノード４）から矢印で結ばれたノードが新規に出力されている（１１０４）。
【０１２４】
同様に、設定項目BBBと強連結関係のある設定項目FFFのナビゲーションと設定を行っているノード（サイジングノード５）をサイジングノード２と線で結んで連結したノードを新規に出力させている（１１０５）。
【０１２５】
こうして、サイジングノード２において、設定項目BBBを修正したときに、設定項目BBBと直接関連する設定項目がナビゲーションおよび設定させるノードを遷移できる形で表示することができる。
【０１２６】
図１９は、図１８において仮にサイジングノード４へ遷移した際に表示されるフローの形を示している。
【０１２７】
サイジングノード４へ遷移し、設定項目DDDを修正した場合、設定項目DDDが影響を与えているほかの設定項目EEEをナビゲーションおよび設定している環境定義設計ノード１を子フローとして新規に表示させている（１１０６）。
【０１２８】
図２０は、図１８において仮にサイジングノード５へ遷移した際に表示されるフローの形を示している。
【０１２９】
サイジングノード５へ遷移し、設定項目FFFを修正した場合、設定項目FFFが影響を与えているほかの設定項目GGGをナビゲーションおよび設定している環境定義設計ノード２を子フローとして新規に表示させている（１１０７）。
【符号の説明】
【０１３０】
１００    システム構築ナビゲーションサーバ
１１０    主記憶装置
１１１    システム構築ナビゲーション処理部
１２０    ＣＰＵ
１３０    インタフェース
１４０    ディスクドライブ
２００    システム構築ナビゲーションデータベースサーバ
２１０    主記憶装置
２１１    データベースマネジメントシステム
２２０    ＣＰＵ
２３０    インタフェース
２４０    ディスクドライブ
３００    構築データ
３１０    設定値
３２０    設定値依存関係表
４００    構築対象システム用ツール
４１０    システム定義ファイル
４２０    構築スクリプト
５００    パターン固有データ
５１０    システム定義ファイル雛形
５２０    構築スクリプト雛形
５３０    構築フロー定義
５４０    設定項目定義情報
７００    開発者端末
７０１    開発者
８０１    利用者端末＃１
８０２    利用者端末＃Ｎ
８０３    利用者
８０４    利用者
９００    システム＃Ａ
９０１    構築対象サーバ＃１
９０２    構築対象サーバ＃Ｌ
９１０    主記憶装置
９１１    システム構築ナビゲーションエージェント
９１２    パターン別論理システム
９２０    ＣＰＵ
９３０    インタフェース
９４０    ディスクドライブ
９４１    システム定義ファイル
９４２    構築スクリプト
９９０    システム＃Ｂ
９９１    構築対象サーバ＃１
９９２    構築対象サーバ＃Ｍ
【図１】
2011100369.tif 000003
【図２】
2011100369.tif 000004
【図３】
2011100369.tif 000005
【図４】
2011100369.tif 000006
【図５】
2011100369.tif 000007
【図６】
2011100369.tif 000008
【図７】
2011100369.tif 000009
【図８】
2011100369.tif 000010
【図９】
2011100369.tif 000011
【図１０】
2011100369.tif 000012
【図１１】
2011100369.tif 000013
【図１２】
2011100369.tif 000014
【図１３】
2011100369.tif 000015
【図１４】
2011100369.tif 000016
【図１５】
2011100369.tif 000017
【図１６】
2011100369.tif 000018
【図１７】
2011100369.tif 000019
【図１８】
2011100369.tif 000020
【図１９】
2011100369.tif 000021
【図２０】
2011100369.tif 000022