(57)【要約】【課題】アプリケーション開発ツールにおいて、ユーザが作成した定義情報と、予め用意されているサンプル定義情報とを用いて、ユーザが作成した定義情報を最低限動作する定義情報へ修正可能とする。【解決手段】ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置であって、ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段と、前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段と、前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段とを有する。【選択図】図５
2012215912.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置であって、
ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段と、
前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段と、
前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記サンプルコートには、当該サンプルコードを実行するために最低限必要な定義の集まりである一または複数の定義ポイントが含まれ、
前記判定手段は、前記定義ポイント毎に、前記ユーザ定義情報に修正可能な定義情報が含まれるかを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ユーザ定義情報および前記定義ポイントは、構造化言語の形式であることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記判定手段により修正不可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、前記サンプルコードに含まれるサンプルコードを当該ユーザ定義情報に追加する追加手段を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記修正手段により修正された修正内容および前記追加手段により追加された追加内容をユーザに識別可能に出力する出力手段を更に備えることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置における情報処理方法であって、
ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付ステップと、
前記受付ステップにより受け付けたユーザ定義情報と、前記受付ステップにより選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定ステップと、
前記判定ステップにより修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正ステップと
を有することを特徴とする情報処理方法。
【請求項７】
ユーザが操作する端末と、ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置とがネットワークを介して通信可能な情報処理システムであって、
ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段と、
前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段と、
前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段と
を有することを特徴とする情報処理システム。
【請求項８】
ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置において実行可能なプログラムであって、
ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段、
前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段、
前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段
として前記情報処理装置を機能させることを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムをコンピュータ読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムを自動生成する開発ツールを使用する際にユーザが作成するユーザ定義情報を修正する技術に関する。
【背景技術】
【０００２】
現在、プログラミングレスでＷｅｂアプリケーションを自動生成する業務用Ｗｅｂアプリケーション開発ツールがある。この開発ツールを使うと、Ｊａｖａ（登録商標）の知識にかかわらず、業務・設計ノウハウを活用して「基本設計情報」を定義するとＷｅｂアプリケーションを自動生成することができるというものである。
【０００３】
しかし、開発ツールが多機能化してくることにより、Ｗｅｂアプリケーションの開発者は、何か実現したい機能があってもどのように定義すればよいのか分からなくなってくるという問題がある。
【０００４】
例えば、「すぐに機能を自分のマシンで試したいけど、マニュアル・ガイドを見ている時間があまりない。」、「近い内容を見つけても、情報が断片的で動くものまで定義するのは難しい。」「自分で定義しようと思って、試行錯誤するが、エラーが出てしまって、そのエラー内容を見てもよくわからない。」、または、「エラーは出ていないが、なぜか自分の思うように動かない。」といった状況が起こりえる。
【０００５】
このような状況は、顧客から問い合わせを受けるサポートセンターにおいても起こりえる問題であり、バグなのか、仕様なのか判断する場合や、顧客のトラブルの再現性調査などＷＰアプリを作って検証するのは時間がかかることが多い。
【０００６】
そのため、直感的に機能や使用を理解するのが容易なサンプルコードやサンプル定義を利用して、開発者やサポートセンターのＳＥが必要な定義を作成したり修正したりしてくれると便利である。
【０００７】
特許文献１には、ユーザが作成したプログラムをテストして修正を行い、その修正の妥当性をチェックすることができるプログラム修正装置を提供する技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−２５０９１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に開示されている技術は、あくまでもプログラムの静的解析に関するものであり、プログラム動作そのものを変更するものではない。つまり、ソースコードのフォーマットや慣習に基づくコーディングスタイルの変更をするものにすぎない。
【００１０】
本発明は、上記課題を解決するものであり、アプリケーション開発ツールにおいて、ユーザが作成した定義情報と、予め用意されているサンプル定義情報とを用いて、ユーザが作成した定義情報を最低限動作する定義情報へ修正可能とすることを目的とする。
【００１１】
また、別の目的として、修正したユーザ定義情報の内容を識別可能に出力することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、ユーザ定義情報に基づいてプログラムを生成する開発ツールに入力されるユーザにより作成されたユーザ定義情報を修正する情報処理装置であって、ユーザにより作成されたユーザ定義情報と、当該ユーザ定義情報を修正するために用いられるサンプルコードの選択とを受け付ける受付手段と、前記受付手段により受け付けたユーザ定義情報と、前記受付手段により選択を受け付けたサンプルコードとを用いて、当該ユーザ定義情報のうち修正可能な定義情報が含まれるかを判定する判定手段と、前記判定手段により修正可能な定義情報が前記ユーザ定義情報に含まれると判定された場合、当該定義情報を動作可能に修正する修正手段とを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、アプリケーション開発ツールにおいて、ユーザが作成した定義情報と、予め用意されているサンプル定義情報とを用いて、ユーザが作成した定義情報を最低限動作する定義情報へ修正可能となる。これにより、プログラムの生成エラーとはならないが、動作しないユーザ定義情報を最低限動作するユーザ定義情報に修正することができるようになる。
【００１４】
また、修正されたユーザ定義情報の内容を識別可能に出力されるため、ユーザは、作成したユーザ定義情報のどの部分が修正されたのかを把握することができるようになる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態を示す情報処理システムを示す図である。
【図２】開発者端末１０と修正サーバ２０のハードウェア構成を示すブロック図である。
【図３】開発者端末１０をより詳細に示した図である。
【図４】修正サーバ２０をより詳細に示した図である。
【図５】修正サーバ２０におけるユーザ定義情報を修正する処理の流れを示すフローチャートである。
【図６】定義ポイントチェックの処理の詳細な流れを説明するフローチャートである。
【図７】サンプルの画面例である。
【図８】ユーザ定義情報に間違いがあった場合の画面例である。
【図９】定義ポイントチェックの処理の具体的な例を説明するフローチャートである。
【図１０】定義ポイントリストの例である。
【図１１】修正可能と判定された場合における定義修正内容の一例である。
【図１２】修正不可能と判定された場合における定義修正内容の一例である。
【発明を実施するための形態】
【００１６】
以下、図面を用いて詳細に説明する。
【００１７】
図１は、本発明の一実施形態を示す情報処理システムを示す図である。
【００１８】
開発者端末１０と修正サーバ（情報処理装置）２０とがネットワーク３０を介して通信可能に接続されている。
【００１９】
開発者端末１０は、プログラム（ＷＥＢアプリケーションなど）を開発する開発者が操作する端末であって、プログラムを自動生成する開発ツールがインストールされている。開発者は、ユーザ定義情報を作成し、開発ツールに読み込ませることにより、開発ツールがプログラムを自動生成する。
【００２０】
修正サーバ２０は、サンプル定義情報を複数管理し、開発者により作成されたユーザ定義情報と、選択されたサンプル定義情報を用いて、ユーザ定義情報を動作可能なユーザ定義情報に修正する。
【００２１】
次に、図２を参照して、図１に示した開発者端末１０と修正サーバ２０のハードウェア構成について説明する。
【００２２】
図２は、図１の開発者端末１０と修正サーバ２０のハードウェア構成を示すブロック図である。
【００２３】
図２において、２０１はＣＰＵ（中央演算処理装置）２０１であり、ＲＯＭ２０３或いは外部記憶装置１０４に記憶されている制御プログラムに基づいて、システムバスに接続されている各種デバイスとのアクセスを総括的に制御する構成となっている。
【００２４】
システムバスには、ＣＰＵ２０１の主メモリ、ワークエリア等として機能するＲＡＭ（ランダム・アクセス・メモリ）２０２が接続されている。ＲＯＭ２０３或いは外部記憶装置１０４には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Basic Input ／ OutputSystem）やオペレーティングシステム（以下、「ＯＳ」という。）プログラム、コンピュータ１０３が実行する処理を実現するために必要な各種プログラム等が記憶されている。
【００２５】
ＣＰＵ２０１は、処理の実行に際して必要な各種プログラム等をＲＡＭ２０２にロードして、当該プログラム等を実行することで図１に示した全体制御部１０５の機能及び各種動作を実現するものである。
【００２６】
外部記憶装置１０４は、上述した各種プログラムとして、図示しないブートプログラム、各種アプリケーションプログラム、フォントデータ、ユーザーファイル等を記憶する。
【００２７】
ＣＰＵ２０１は、例えば、ＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、表示装置１０２上でＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ２０１は、表示装置１０２上のマウスカーソル(不図示)等で指示されたコマンドに基づいて、登録された種々なウィンドウを開き、種々のデータ処理を実行する。
【００２８】
図３は、図１における開発者端末１０をより詳細に示した図である。
【００２９】
１０１はキーボード，ポインティングデバイス（マウス等）の入力装置である。１０２はＣＲＴディスプレイや液晶ディスプレイ等の表示装置である。１０４はハードディスクドライブ（ＨＤＤ）等の外部記憶装置である。
【００３０】
ユーザは入力装置１０１より、表示装置１０２に表示された画面を通じてコンピュータ１０３に対してプログラム自動生成命令を発行すると、コンピュータ１０３は、全体制御部１０５で自動生成処理を行う。以下、詳細に説明する。
【００３１】
まず、プログラム自動生成命令を受けた画面制御部１０６は、プログラム生成部１０７に処理を委譲する。プログラム生成部１０７は、予め作成されて外部記憶装置（ＨＤＤ）１０４に格納される画面プログラムテンプレート１１１を元に、予め入力されて外部記憶装置１０４に格納されるユーザ定義情報１１０を適用し、画面プログラム１１２を生成し、外部記憶装置１０４に格納する。
【００３２】
この後、ユーザが入力装置１０１より表示装置１０２に表示された画面を通じてコンピュータ１０３に対して画面雛形生成命令を発行すると、コンピュータ１０３は、全体制御部１０５で画面雛形生成処理を行う。以下、詳細に説明する。
【００３３】
まず、画面雛形生成命令を受けた画面制御部１０６は、画面雛形生成部１０８に処理を委譲する。画面雛形生成部１０８は、画面プログラム１１２を元に、そこから「画面レイアウト情報のみ」を抽出したレイアウト雛形ファイル１１３を出力し、外部記憶装置１０４に格納する。
【００３４】
この後、ユーザは、レイアウト雛形ファイル１１３を適宜カスタマイズし、レイアウトＨＴＭＬファイル１１４を作成し、外部記憶装置１０４に格納する。もしくは、予め用意したＨＴＭＬファイルを一定の書式にしたがい編集することで、それをレイアウトＨＴＭＬファイル１１４として外部記憶装置１０４に格納することもできる。
【００３５】
次に、ユーザが入力装置1０１より表示装置１０２に表示された画面を通じてコンピュータ１０３に対して画面マージ処理命令を発行すると、コンピュータ１０３は、全体制御部１０５で画面マージ処理を行う。以下、詳細に説明する。
【００３６】
まず、画面マージ処理命令を受けた画面制御部１０６は、画面マージ処理部１０９に処理を委譲する。画面マージ処理部１０９は、画面プログラム１１２にあるレイアウト以外の情報と、レイアウトＨＴＭＬファイル１１４にある画面レイアウト情報をマージして、レイアウト済画面プログラム１１５を出力し、外部記憶装置１０４に格納する。
【００３７】
図４は、図１における修正サーバ２０をより詳細に示した図である。
【００３８】
なお、修正サーバ２０は、サンプル単位に管理されているサンプルを実現するために必ず必要な定義ポイントのリストを備える。また、サンプル管理部は、ユーザが動きを確認できるサンプルをユーザが見える形で提供し、ユーザはサンプルコードを本装置に対して入力できるものとする。
【００３９】
修正サーバ２０は、開発者端末１０で開発者により作成されたが、動作しなかったユーザ定義情報を、ネットワーク３０を介して入力部２０２が受け取る。また、同時にサンプル提供部２０１により複数管理しているサンプル定義情報の選択を受け付ける（複数の選択が可能である。）。
【００４０】
そして、制御部２０４により処理が開始される。具体的には、生成処理部２０５がプログラムの生成処理を行い、定義エラーを検出した場合は、エラーコード管理部２０８が管理するエラーコードに対応した修正方法データ取得して定義データの修正を行う。この作業はエラーが消えるまで繰り返し実施する。その後、サンプルコードに対応した定義ポイントのリストを定義ポイント管理部２０６から取得し、リストに従いチェックを行う。定義ポイントリストには修正可能な属性と修正不可能な属性が定められている。修正不可能な定義ポイントがユーザ定義に不足していた場合は、サンプルのテンプレートをユーザ定義にコピーして終了する。修正可能な定義ポイントの場合は、修正部２０７がユーザ定義の内容を修正する。定義ポイント全てを修正した後、出力部２０３よりユーザに対して修正したユーザ定義および修正内容を通知する。
【００４１】
図５は、修正サーバ２０におけるユーザ定義情報を修正する処理の流れを示すフローチャートである。
【００４２】
まず、修正サーバ２０は、開発者端末１０からユーザ定義情報１１０（ユーザ定義データ）を受け取り、Ｓ５０１において、プログラム生成処理を実行する。
【００４３】
Ｓ５０２において、修正サーバ２０は、定義エラーを検出したかを判定する。Ｙｅｓの場合、Ｓ５０３へ進み、Ｎｏの場合、Ｓ５０９へ進む。
【００４４】
Ｓ５０３において、修正サーバ２０は、先頭の定義エラーコードを条件にエラー管理ＤＢから検索する。
【００４５】
Ｓ５０４において、修正サーバ２０は、検索がヒットしたかを判定する。Ｙｅｓの場合、Ｓ５０６へ進み、Ｎｏの場合、Ｓ５０５へ進む。
【００４６】
Ｓ５０５において、修正サーバ２０は、エラー管理ＤＢ管理者へ通知する。
【００４７】
Ｓ５０６において、修正サーバ２０は、エラーコードに対応した修正方法データ取得する。
【００４８】
Ｓ５０７において、修正サーバ２０は、ユーザ定義データを修正して、Ｓ５０２へ戻る。
【００４９】
この作業はエラーが消えるまで繰り返し実施する。なお、このユーザ定義データの修正は、サンプルコードを用いることなくなされる、従来から行われている修正作業である。
【００５０】
次に、本発明の実施の形態におけるサンプルコードを用いた修正処理の流れを以下に説明する。
【００５１】
ここでは、ユーザ定義コードと、ユーザにより選択されたサンプルコード(複数可能)を用いる。なお、サンプルコードは、修正サーバにおいて、視覚的に確認できる形で複数用意されており、ユーザはその中からサンプルコードを選択する。
【００５２】
Ｓ５０８〜Ｓ５２１まで処理が繰り返される。これは、入力されたサンプルコードの数だけループすることを示している。
【００５３】
Ｓ５０９において、修正サーバ２０は、サンプルコードに対応した定義ポイントリストを取得する。定義ポイントリストの具体例は後に説明する。
【００５４】
Ｓ５１０〜Ｓ５２０まで処理が繰り返される。これは、定義ポイントの数だけループすることを示している。
【００５５】
Ｓ５１１において、修正サーバ２０は、定義ポイントのチェックを行う。この処理の詳細は、図６を用いて説明する。
【００５６】
図６は、定義ポイントチェックの処理の詳細な流れを説明するフローチャートである。
【００５７】
Ｓ６０１において、修正サーバ２０は、定義ポイントチェック判定を行う。Ｙｅｓの場合、Ｓ６０２へ進み、Ｎｏの場合、Ｓ６０３へ進む。なお、Ｙｅｓとなるのは、すべての定義ポイントチェックがＯＫの場合である。Ｎｏは、いずれかの定義ポイントで問題がある場合に該当する。
【００５８】
Ｓ６０２において、修正サーバ２０は、定義ポイントチェックＯＫフラグを出力して、処理を終了する。
【００５９】
Ｓ６０３において、修正サーバ２０は、修正可能な定義であるかを判定する。Ｙｅｓの場合、Ｓ６０４へ進み、Ｎｏの場合、Ｓ６０７へ進む。ここでの判定は、定義ポイントごとに異なるものである。具体例を後に説明する。
【００６０】
Ｓ６０４において、修正サーバ２０は、修正可能判定フラグを出力する。
【００６１】
Ｓ６０５において、修正サーバ２０は、修正方法を記載した指示書を出力する。
【００６２】
Ｓ６０６において、修正サーバ２０は、定義ポイントチェックＮＧフラグを出力して、処理を終了する。
【００６３】
また、ｓＳ０７において、修正サーバ２０は、修正不可能判定フラグを出力して、処理を終了する。
【００６４】
Ｓ５１２において、修正サーバ２０は、チェック結果を出力する。チェック結果は、定義ポイント毎に「ＯＫ」か「ＮＧ」であったかが出力されるものである。
【００６５】
Ｓ５１３において、修正サーバ２０は、定義ポイントチェックがＮＧであるかを判定する。Ｙｅｓの場合、Ｓ５１４へ進み、Ｎｏの場合、Ｓ５２０へ進む。具体的には、図６のＳ６０６の処理における結果を用いる。
【００６６】
Ｓ５１４において、修正サーバ２０は、修正可能かを判定する。Ｙｅｓの場合、Ｓ５１７へ進み、Ｎｏの場合、Ｓ５１５へ進む。具体的には、図６のＳ６０４の処理における結果を用いる。
【００６７】
Ｓ５１５において、修正サーバ２０は、ユーザ定義を修正し、追加保存する。ここでは、ユーザにより定義がなされたユーザ定義情報をそのまま利用して、最小限必要な修正を行うものである。
【００６８】
Ｓ５１６において、修正サーバ２０は、追加・修正した定義内容を追加保存する。ここでは、ユーザに修正内容を通知するために内容が保存されるものである。
【００６９】
一方、Ｓ５１７において、修正サーバ２０は、サンプルコードからサンプル定義を取得する。
【００７０】
Ｓ５１８において、修正サーバ２０は、サンプル定義をユーザ定義に追加保存する。ここでは、ユーザにより定義がなされたユーザ定義情報を利用できない場合、サンプルコードの定義情報に置き換えて修正を行うものである。
【００７１】
Ｓ５１９において、修正サーバ２０は、追加したサンプル定義内容を追加保存する。ここでは、ユーザに修正内容を通知するために内容が保存されるものである。
【００７２】
ここで、Ｓ５１５〜Ｓ５１６とＳ５１７〜Ｓ５１９との処理の違いを改めて説明する。
【００７３】
Ｓ５１５〜Ｓ５１６は、Ｓ５１４において修正可能と判定されたものであるため、ユーザが作成したユーザ定義情報の内容を動作するように修正するものである。そのため、ユーザが定義した定義情報がなるべく生かされるという効果がある。
【００７４】
一方、Ｓ５１７〜Ｓ５１９は、Ｓ５１４において修正不可能と判定されたものであるため、サンプルコードからサンプル定義を取得して置き換える修正を行うものである。そのため、ユーザが定義した内容がそっくりそのまま置き替えられるデメリットはあるが、動作するユーザ定義情報に修正されることになるという効果がある。
【００７５】
最後に、Ｓ５２２において、修正サーバ２０は、修正ユーザ定義と修正内容データを、出力部を介して開発者端末１０は返信して処理を終了する。
【００７６】
次に、具体例を用いて説明する。
【００７７】
ユーザは、親子画面とメニューを表示する画面を出力するプログラムを自動生成するためにユーザ定義情報を作成するものとなる。そして、サンプルコードとして次の２つの組み合わせを選んだものとする。
【００７８】
Ｓ０１：  親子画面
Ｓ０２：  メニュー
ここで、Ｓ０１＋Ｓ０２のサンプルの画面例を図７に示す。開発者端末を操作するユーザは、このような画面からサンプルデータを選択する。なお、図７において、親子画面は、親画面７０１と子画面７０２の部分が、メニューは、メニュー７０３の部分が対応している。
【００７９】
また、この画面を構築するための定義ポイントリストは以下のとおりである。ここで、定義ポイントリストとは、サンプルコードを実行するために最低限必要な定義の集まりのことという。
Ｓ０１＿Ｐ０１：  （データモデル定義）  親子関係にあるデータモデルが存在すること
Ｓ０１＿Ｐ０２：  （データモデル定義）  子データモデルの親参照キーにキーグループ１を定義していること
Ｓ０１＿Ｐ０３：  （入出力定義）  対象データモデルに親ＤＭを定義していること
Ｓ０１＿Ｐ０４：  （入出力定義）  多重度が１のデータに親ＤＭ定義していること
Ｓ０１＿Ｐ０５：  （入出力定義）  グループコードが存在していること
Ｓ０１＿Ｐ０６：  （入出力定義）  グループコード以下に子ＤＭ定義していること
Ｓ０１＿Ｐ０７：  （入出力定義）  対象条件に条件式が存在していること
Ｓ０１＿Ｐ０８：  （アプリケーション定義）  所属入出力に親子画面に入出力定義していること
Ｓ０２＿Ｐ０１：  （入出力定義）  入出力タイプをＭＥＮＵに定義していること
Ｓ０２＿Ｐ０２：  （入出力定義）  メニュー画面にアクションを定義していること
Ｓ０２＿Ｐ０３：  （入出力定義）  詳細画面にロールメニューを定義
なお、定義ポイントリストは、ＸＭＬ形式など（構造化言語）で表現することができる。一例を図１０に示す。この例では、＜ｓａｍｐｌｅ＞タグの中にサンプルコード毎の定義ポイントが記載されている。より具体的には、＜ｃｈｅｃｋｌｉｓｔ＞タグの間に複数の定義ポイントが＜ｃｈｅｃｋｉｔｅｍ＞タグ内に定義される。
【００８０】
ここで、ユーザが作成したユーザ定義情報において、上記の定義ポイントに対して、Ｓ０１＿０２とＳ０２＿Ｐ０３が不足している場合、定義が不足しているだけなので、生成エラーとはならない。また、生成後、図８に示すような画面となる。
（１）明細データに別の受注明細まで出力されている（Ｍ００４とＭ００５は受注ＩＤ：Ｊ００２として登録したはずだった）。
（２）メニュー画面は作成したのに、左側にメニューが表示されていない。
【００８１】
ここで、（１）の原因は、本発明の実施の形態における開発ツールが、子データモデルの親参照キーにキーグループ１を定義しないと、どの子データモデルとしていたかを特定することができず。対象となる全ての子データモデルを出力することとなるからである。つまり、本来、Ｊ００１だけ出力したいところＪ００２も出力されることとなった。
【００８２】
また、（２）の原因は、本発明の実施の形態における開発ツールが、ロールメニューを定義することが前提となっているため、何も定義がされていない場合、メニューが非表示となる。ここで、例えば、管理者のロールの人には、Ａ，Ｂ，Ｃというメニューを、一般ユーザには、Ａというメニューを表示するといった定義をすることで、ロールに応じた左側のメニューが表示されるものである。
【００８３】
このようなユーザ定義をした場合、どのように修正処理がなされるかを、図９を用いて説明する。
【００８４】
図９は、図６の定義ポイントチェックの処理の具体的な例を説明するフローチャートである。図９において、図６の処理と同じ処理ステップについては、同じステップ番号を付与している。
【００８５】
この例では、Ｓ９０１において、修正サーバ２０は、Ｓ０１＿Ｐ０１において親子関係にあるデータモデルが存在するかを判定している。Ｙｅｓの場合、Ｓ９０２へ進み、Ｎｏの場合、Ｓ６０７へ進む。なお、親子関係のデータモデルが存在しない場合、修正不可能の判定がなされるのは、親と子の関係は、そもそもユーザの意思に従って決められる関係であるところ、この関係が分からなければ、そもそも修正することができないからである。
【００８６】
なお、図１０の例では、親子関係の定義が１００１においてなされているため、この判定は、Ｙｅｓとなる。
【００８７】
次に、Ｓ９０２〜Ｓ９０７は、修正することができる例である。
【００８８】
Ｓ９０１において、修正サーバ２０は、Ｓ０１＿Ｐ０２において子データモデルの親参照キーにキーグループ１を定義しているかを判定する。Ｙｅｓの場合、Ｓ９０３へ進み、Ｎｏの場合、Ｓ６０４へ進む。Ｎｏの場合、修正がなされることとなる。図１０の例では、１００２において、＜ｃｈｅｃｋ＞タグの中の＜ｖａｌｕｅ＞が「０」に設定されているため、この判定は、Ｎｏとなる。これは、タグの定義自体は正しくなされているため、このユーザ定義は、修正可能と判定されるのである。従って、修正方法としては、＜ｖａｌｕｅ＞が「１」に修正される。これにより（１）の原因が解消される。
【００８９】
以下、Ｓ９０３〜Ｓ９０７も同様に、それぞれの定義ポイント毎に＜ｃｈｅｃｋ＞タグの内容をチェックして、正しく定義がなされていない場合は、ユーザ定義を最低限動作可能に必要する処理を行う。
【００９０】
なお、図９のフローチャートは、親子画面のサンプルコードの例であり、メニューのサンプルコードは、別の処理がなされる。その処理において、（２）の原因が解消されることとなる。
【００９１】
次に、出力結果の例を、図１１と１２を用いて説明する。
【００９２】
まず、図１１は、Ｓ５１４において修正可能と判定された場合における定義修正内容の一例である。
【００９３】
修正内容は、サンプルコード毎に表示され、この例では、２つのサンプルコートについて、１１０１と１１０２において修正内容が記載されている。１１０１は、「親子画面」サンプルについて、１１０２は、「メニュー」サンプルについて記載されている。なお、複数修正がある場合は、サンプルコード毎に複数の修正結果が出力される。
【００９４】
この画面を見ることによりユーザは、どこの部分がどのように修正されたかを確認することができる。この画面では、「親子画面」サンプルについて、カテゴリ「データモデル定義」、定義コード「Ｐ＿ＣＨＩＬＤ」、項目コード「Ｐ＿ＪＩＤ」が「０」から「１」に修正されたことが分かる。また、１１０３に、修正後のユーザ定義情報の例を示す。
【００９５】
次に、図１２は、Ｓ５１４において修正不可能と判定された場合における定義修正内容の一例である。
【００９６】
同様に、修正内容は、サンプルコード毎に表示されるものであるが、この例では、「親子画面」サンプル１２０１に３つの追加（追加１、追加２、追加３）がなされたことが記載されている。また、１２０１に、修正後のユーザ定義情報の例を示す。
【００９７】
このようにユーザは、出力結果（図１１または１２）の内容を確認することで、どのような修正がなされたかを知ることができる。図１１の場合は、自分が作成したユーザ定義情報のうち、どの部分がどのように修正されたかを知ることができる。一方、図１２の場合は、自分が作成したユーザ定義は置き替えられるが、最低限動く定義に修正されたことを知ることができる。
【００９８】
以上説明した通り、本発明によれば、アプリケーション開発ツールにおいて、ユーザが作成した定義情報と、予め用意されているサンプル定義情報とを用いて、ユーザが作成した定義情報を最低限動作する定義情報へ修正可能となる。これにより、プログラムの生成エラーとはならないが、動作しないユーザ定義情報を最低限動作するユーザ定義情報に修正することができるようになる。
【００９９】
また、修正されたユーザ定義情報の内容を識別可能に出力されるため、ユーザは、作成したユーザ定義情報のどの部分が修正されたのかを把握することができるようになる。
【０１００】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１０１】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【０１０２】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１０３】
また、管理サーバ１０１が読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０５】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１０６】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１０７】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１０８】
１０  開発者端末
２０  修正サーバ
３０  ネットワーク
【図１】
2012215912.tif 000003
【図２】
2012215912.tif 000004
【図３】
2012215912.tif 000005
【図４】
2012215912.tif 000006
【図５】
2012215912.tif 000007
【図６】
2012215912.tif 000008
【図７】
2012215912.tif 000009
【図８】
2012215912.tif 000010
【図９】
2012215912.tif 000011
【図１０】
2012215912.tif 000012
【図１１】
2012215912.tif 000013
【図１２】
2012215912.tif 000014