(57)【要約】【課題】判定規則が数多く変更となっても信頼性の高いプログラムを生成することが可能なプログラム生成装置およびプログラム生成方法、並びにプログラム生成プログラムを提供する。【解決手段】表示画面に対応させた表示画面名と、この表示画面が表示されているときに発生するイベントに対応させたイベント名と、このイベントが発生したときの状態に対応して遷移する表示画面名とが少なくとも定義されたプログラム情報を作成することが可能なプログラム情報編集手段２１と、イベントが発生したときに、イベント処理手段外部プログラムへ移行させ、業務規則処理手段での判定規則に基づいて判定した結果である返却値をイベントが発生したときの状態として、この返却値に応じて遷移先の表示画面名に対応する表示画面を表示する生成プログラムを、プログラム情報Ｊ１に基づいて生成するプログラム生成手段２２とを備えた。【選択図】図２
2009037477.tif 000002
【特許請求の範囲】
【請求項１】
表示画面に対応させた表示画面名と、前記表示画面が表示されているときに発生するイベントに対応させたイベント名と、前記イベントが発生したときの状態に対応して遷移する表示画面名とが少なくとも定義されたプログラム情報を作成することが可能な編集手段と、
前記イベントが発生したときに、外部プログラムへ移行させ、前記外部プログラムでの判定規則に基づいて判定した結果である返却値を前記イベントが発生したときの状態として、この返却値に応じて遷移先の表示画面名に対応する表示画面を表示するプログラムを、前記プログラム情報に基づいて生成する生成手段とを備えたプログラム生成装置。
【請求項２】
前記生成手段は、前記遷移先の表示画面名に対応する表示画面を表示するときに、外部プログラムへ移行させ、前記外部プログラムでの表示規則に基づいて指示された表示内容に基づいて表示するプログラムを生成する請求項１記載のプログラム生成装置。
【請求項３】
前記編集手段は、表示画面に対応させた表示画面名に、当該表示画面において発生するイベント名と、遷移先となる表示画面名とを関連付けた表形式のテーブル図を、前記プログラム情報として表示する機能を備えた請求項１または２記載のプログラム生成装置。
【請求項４】
前記編集手段は、前記表示画面名を付与したそれぞれのボックス図形を、前記イベント名を付与した状態遷移を示す線で接続した状態遷移図を前記プログラム情報として表示する機能を備えた請求項１から３のいずれかの項に記載のプログラム生成装置。
【請求項５】
前記編集手段は、前記テーブル図から前記状態遷移図へ、前記状態遷移図から前記テーブル図へそれぞれ変換可能な機能を備えた請求項４記載のプログラム生成装置。
【請求項６】
プログラムの各種の定義するプログラム情報を作成する編集手段と、前記プログラム情報に基づいてプログラムを生成する生成手段とを備えたプログラム生成装置のプログラム生成方法であって、
前記編集手段により、表示画面に対応させた表示画面名と、前記表示画面が表示されているときに発生するイベントに対応させたイベント名と、前記イベントが発生したときの状態に対応して遷移する表示画面名とが少なくとも定義されたプログラム情報を作成する段階と、
前記生成手段により、前記イベントが発生したときに、外部プログラムへ移行させ、前記外部プログラムでの判定規則に基づいて判定した結果である返却値を前記イベントが発生したときの状態として、遷移先の表示画面名に対応する表示画面を表示するプログラムを、前記プログラム情報に基づいて生成する段階とを含むプログラム生成装置のプログラム生成方法。
【請求項７】
コンピュータを、
表示画面に対応させた表示画面名と、前記表示画面が表示されているときに発生するイベントに対応させたイベント名と、前記イベントが発生したときの状態に対応して遷移する表示画面名とが少なくとも定義されたプログラム情報を作成することが可能な編集手段、
および前記イベントが発生したときに、外部プログラムへ移行させ、前記外部プログラムでの判定規則に基づいて判定した結果である返却値を前記イベントが発生したときの状態として、遷移先の表示画面名に対応する表示画面を表示するプログラムを、前記プログラム情報に基づいて生成する生成手段として機能させるためのプログラム生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作仕様を入力するとプログラムを自動的に生成することができるプログラム生成装置およびその生成方法、並びにプログラム生成プログラムに関する。
【背景技術】
【０００２】
動作仕様を入力すると自動的にプログラムが生成されるプログラム生成装置が知られている。
【０００３】
例えば、特許文献１には、対話形式でユーザからの通信サービス動作仕様の入力を受け付ける仕様入力手段と、入力された通信サービス動作仕様を通信サービスソフトウエア（ソースプログラム）に変換する仕様変換手段と、入力及び変換時パラメータチェックや状態遷移情報に基づき、状態遷移検証等、サービス仕様の検証を行う仕様検証手段とを備えたプログラム自動生成装置が記載されている。
【０００４】
また、特許文献２には、フロー図に含まれる入出力線およびボックス等の基本的なプレートの中から、ユーザが選択したプレートを表示すると共に、イベント処理プログラムを作成するためのイベントボックスが選択されると、仮想イベント待ちボックスおよびリターン端子を含んだイベントフロー図初期ボックス群を自動的に表示させるフロー図作成モジュールと、作成されたフロー図を解析してソースコードに変換することによりソースプログラムに変換するが、仮想イベント待ちボックスが含まれている場合、イベント定義モジュールを読み出してソースプログラムに組み入れるフロー図解析変換モジュールとを備えたソースプログラム作成支援システムが記載されている。
【０００５】
【特許文献１】特開２００４−７８４４８号公報
【特許文献２】特開２００６−３２３８２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、プログラムは各種の条件を判定して状態の遷移を決定している。例えば、入力された値が正しいか否かを検査して、正しければ次の表示画面へ遷移したり、正しくなければ再入力を促したり、また、発生したイベントの種類を判定して、イベントの種類に応じて遷移する表示画面を決定することもある。
【０００７】
しかし、条件の判定規則が変われば、その判定規則に係る箇所のプログラムも作りなおさなければならない。特許文献１に記載のプログラム自動生成装置では、通信サービス動作仕様が変更になれば、仕様入力手段より変更となった動作仕様に関連するそれぞれの箇所を修正して、仕様変換手段によりソースプログラムを生成することになる。
【０００８】
また、特許文献２に記載のソースプログラム作成支援システムでは、同じ判定規則で判定しているフロー図のそれぞれを変更することになる。
【０００９】
つまり、判定規則が変われば、再度プログラムを生成し直す必要があるだけでなく、同じ判定規則によって判定しているプログラムのそれぞれの箇所を変更する必要がある。従って、同じ判定規則により判定しているプログラムの箇所が増えれば増えるほど、修正箇所が多くなり、不具合が発生する確率が高くなる。そうなると生成したプログラムの誤動作の原因となったり、動作が不安定となる原因となったりして、信頼性の低いプログラムを生成することになってしまう。
【００１０】
そこで本発明は、判定規則が数多く変更となっても信頼性の高いプログラムを生成することが可能なプログラム生成装置およびプログラム生成方法、並びにプログラム生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のプログラム生成装置は、表示画面に対応させた表示画面名と、前記表示画面が表示されているときに発生するイベントに対応させたイベント名と、前記イベントが発生したときの状態に対応して遷移する表示画面名とが少なくとも定義されたプログラム情報を作成することが可能な編集手段と、前記イベントが発生したときに、外部プログラムへ移行させ、前記外部プログラムでの判定規則に基づいて判定した結果である返却値を前記イベントが発生したときの状態として、この返却値に応じて遷移先の表示画面名に対応する表示画面を表示するプログラムを、前記プログラム情報に基づいて生成する生成手段とを備えたことを特徴とする。
【００１２】
本発明のプログラム生成装置のプログラム生成方法は、プログラムの各種の定義するプログラム情報を作成する編集手段と、前記プログラム情報に基づいてプログラムを生成する生成手段とを備えたプログラム生成装置の生成方法であって、前記編集手段により、表示画面に対応させた表示画面名と、前記表示画面が表示されているときに発生するイベントに対応させたイベント名と、前記イベントが発生したときの状態に対応して遷移する表示画面名とが少なくとも定義されたプログラム情報を作成する段階と、前記生成手段により、前記イベントが発生したときに、外部プログラムへ移行させ、前記外部プログラムでの判定規則に基づいて判定した結果である返却値を前記イベントが発生したときの状態として、遷移先の表示画面名に対応する表示画面を表示するプログラムを、前記プログラム情報に基づいて生成する段階とを含むことを特徴とする。
【００１３】
また、本発明のプログラム生成プログラムは、コンピュータを、表示画面に対応させた表示画面名と、前記表示画面が表示されているときに発生するイベントに対応させたイベント名と、前記イベントが発生したときの状態に対応して遷移する表示画面名とが少なくとも定義されたプログラム情報を作成することが可能な編集手段、および前記イベントが発生したときに、外部プログラムへ移行させ、前記外部プログラムでの判定規則に基づいて判定した結果である返却値を前記イベントが発生したときの状態として、遷移先の表示画面名に対応する表示画面を表示するプログラムを、前記プログラム情報に基づいて生成する生成手段として機能させることを特徴とする。
【００１４】
本発明は、まず編集手段によりプログラム情報を、作成・編集する。プログラム情報には、少なくとも、表示画面に対応させた表示画面名と、この表示画面が表示されているときに発生するイベントに対応させたイベント名と、イベントが発生したときの状態に対応して遷移する表示画面名とが定義されている。そして、生成手段が、プログラム情報に基づいて、イベントが発生したときに、外部プログラムへ移行させ、外部プログラムでの判定規則に基づいて判定した結果である返却値をイベントが発生したときの状態として、遷移先の表示画面名に対応する表示画面を表示するプログラムを生成する。従って、判定規則に変更が生じても、外部プログラムを修正すればよく、生成されたプログラムには影響がない。つまり、生成されたプログラムが、様々な表示画面における処理の判定として、共通した判定規則を参照するような構成であっても、生成したプログラムを、再度、生成し直す必要がない。
【００１５】
前記生成手段は、前記遷移先の表示画面名に対応する表示画面を表示するときに、外部プログラムへ移行させ、前記外部プログラムでの表示規則に基づいて指示された表示内容に基づいて表示するプログラムを生成するのが望ましい。
生成手段が生成するプログラムが、遷移先の表示画面名に対応する表示画面を表示するときに、外部プログラムでの表示規則に基づいて指示された表示内容に基づいて表示することで、表示内容に変更があっても、外部プログラム側を変更すればよく、生成したプログラムを変更する必要がない。
【００１６】
前記編集手段は、表示画面に対応させた表示画面名に、当該表示画面において発生するイベント名と、遷移先となる表示画面名とを関連付けた表形式のテーブル図を、前記プログラム情報として表示する機能を備えるのが望ましい。プログラム情報が表形式のテーブル図で表示されることにより、関連付けられているそれぞれの情報の様子が一目で把握することができる。
また、前記編集手段は、前記表示画面名を付与したそれぞれのボックス図形を、前記イベント名を付与した状態遷移を示す線で接続した状態遷移図を前記プログラム情報として表示する機能を備えるのが望ましい。編集手段がこのような状態遷移図を表示することで、表示画面がどのように遷移していくかが一目で把握することができる。
前記編集手段は、前記テーブル図から前記状態遷移図へ、前記状態遷移図から前記テーブル図へそれぞれ変換可能な機能を備えるのが望ましい。状態遷移図と表形式のテーブル図とを表示させながらプログラム情報を作成、編集することができるので、不具合の発生をより低減することができる。
【発明の効果】
【００１７】
本発明は、生成されたプログラムが、様々な表示画面における処理の判定として、共通した判定規則を参照するような構成であっても、生成したプログラムを、再度、生成し直す必要がないので、信頼性の高いプログラムを生成することが可能である。
【発明を実施するための最良の形態】
【００１８】
本発明の実施の形態に係るプログラム生成システムを図面に基づいて説明する。図１は、本発明の実施の形態に係るプログラム生成システムの構成を示す図である。図２は、図１に示すプログラム生成システムのサーバの構成を示す図である。なお、本実施の形態では、プログラム生成システムにより開発するプログラムとして名刺管理ソフトを例に説明する。
【００１９】
図１に示すように、プログラム生成システム１０は、サーバ２０とクライアント３０とが、ネットワークＷを介して通信可能に接続されている。ネットワークＷは、インターネットでもよいし、イントラネットでもよい。
【００２０】
プログラム生成システム１０は、サーバ２０やクライアント３０を使用する開発者が、それぞれがサーバ２０上で動作するプログラム生成プログラムを使用してプログラムの開発を行うものである。
【００２１】
サーバ２０は、プログラム生成プログラムを動作させることで、プログラム生成装置として機能するものである。クライアント３０は、ブラウザを操作することでサーバ２０と通信する通信端末として機能するものである。
【００２２】
図２に示すように、プログラム生成装置として機能するコンピュータであるサーバ２０は、プログラム情報編集手段２１と、プログラム生成手段２２と、生成規則編集手段２３と、ログイン処理手段２４とを備えている。
【００２３】
プログラム情報編集手段２１は、プログラム情報Ｊ１を作成、編集する機能を備えている。開発者がサーバ２０にて作業を行う場合には、サーバ２０上で動作させたブラウザからのアクセスに応じてプログラム情報編集手段２１がウェブページとして提供する編集画面に基づいて開発を行う。また、開発者がクライアント３０にて作業を行う場合には、クライアント３０上で動作させたブラウザからサーバ２０をアクセスし、このアクセスをサーバ２０の図示しない通信手段が受信し、アクセスに応じた編集画面をプログラム情報編集手段２１が提供することで、ブラウザに表示された編集画面に基づいて開発を行う。
【００２４】
プログラム生成手段２２は、プログラム情報編集手段２１からの指示によりプログラム情報Ｊ１と生成規則情報Ｊ２とに基づいて生成プログラムＰを生成する機能を備えている。生成規則編集手段２３は、生成規則情報Ｊ２を作成、編集する機能を備えている。
【００２５】
ログイン処理手段２４は、このプログラム生成プログラムを使用できる開発者を制限するもので、開発者情報Ｊ３に基づいて判断される。この開発者情報Ｊ３は、プログラム情報編集手段２１により新規作成、追加、削除、内容変更等を行うことが可能である。
【００２６】
開発者は、サーバ２０に接続された表示手段２５と入力手段２６とにより操作を行う。表示手段２５は、ＬＣＤやＣＲＴとすることができる。入力手段２６は、キーボードと、マウスなどのポインティングデバイスとすることができる。
【００２７】
プログラム情報Ｊ１は、名刺管理ソフトの、プログラム名称情報、用語情報、フォーム情報などの動作仕様が定義されたファイルである。生成規則情報Ｊ２は、プログラム生成手段２２がプログラム情報Ｊ１に基づいて生成プログラムＰを生成するときに、生成される言語や、生成する際の規則などが生成規則として定義されたファイルである。開発者情報Ｊ３は、このプログラム生成プログラムを使用可能な開発者が登録されたファイルである。生成プログラムＰは、プログラム生成手段２２がプログラム情報Ｊ１に基づいて生成する名刺管理ソフトプログラムである。
【００２８】
プログラム情報Ｊ１と、生成規則情報Ｊ２と、開発者情報Ｊ３と、生成プログラムＰとは、図示しない記憶手段に格納されている。記憶手段としては、ハードディスクドライブ装置を使用することができる。
【００２９】
以上のように構成された本発明の実施の形態に係るプログラム生成システム１０の動作および使用状態を、図３から図１２に基づいて説明する。
図３は、ログイン画面の一例を示す図である。図４は、アプリケーション一覧画面の一例を示す図である。図５は、アプリケーション編集画面の一例を示す図である。図６は、用語一覧画面の一例を示す図である。図７は、用語編集画面の一例を示す図である。図８は、フォーム一覧画面の一例を示す図である。図９は、エンティティ編集画面の一例を示す図である。図１０は、フォーム一覧の一例を示す図である。図１１は、フォーム編集画面の一例を示す図である。図１２は、状態遷移図の一例を示す図である。
なお、図３から図１１においては、表示画面が異なっていても同機能を有するものは同符号を付している。例えば、異なる表示画面にそれぞれ表示されたボタンであっても、そのボタンを押下することで、遷移する先の表示画面が同じ表示画面となれば同じ符号としている。
【００３０】
開発者は、サーバ２０上で動作するブラウザからプログラム生成プログラムを示すアドレスを指定して、プログラム生成プログラムを実行させると、ログイン処理手段２４により図３に示すログイン画面Ｇ１が提供されることでブラウザに表示される。このログイン画面Ｇ１には、ログインＩＤを入力するＩＤ入力欄Ｒ１とパスワードを入力するパスワード入力欄Ｒ２と、「ログイン」ボタンＢ１が表示されている。開発者は、割り当てられたログインＩＤとパスワードをそれぞれのＩＤ入力欄Ｒ１とパスワード入力欄Ｒ２とに入力し、「ログイン」ボタンＢ１を押下する。
【００３１】
「ログイン」ボタンＢ１を押下すると、ログイン処理手段２４が、開発者情報Ｊ３を参照してログイン可能か否かを判定し、ログイン可能であれば、プログラム情報編集手段２１により、プログラム情報Ｊ１から、アプリケーション名称情報が読み出され、図４に示すアプリケーション一覧画面Ｇ２が表示される。
【００３２】
プログラム情報編集手段２１による表示画面では、表示画面全体の概要を示す表題領域Ａ１が上部に、ボタン群が表示されたボタン表示領域Ａ２が左側に、そして編集画面となる編集領域Ａ３とが中央部に表示される。以下、この表題領域Ａ１、ボタン表示領域Ａ２、および編集領域Ａ３については、どの表示画面でも同様に区画されて表示されている。
【００３３】
このアプリケーション一覧画面Ｇ２では、表題領域Ａ１に「アプリケーション一覧」と表示されることで、このプログラム生成プログラムにより開発されているプログラムの一覧が表示されていることを示している。ボタン表示領域Ａ２には、「新規アプリケーション」ボタンＢ２と、「用語辞書」ボタンＢ３と、「ユーザ管理」ボタンＢ４とが表示されている。また、編集領域Ａ３には、名刺管理ソフトを指す「アプリケーションの名称（英字）」および「アプリケーションの名称（漢字）」と、「説明」などのアプリケーション情報と、この名刺管理ソフトの編集を指示する「編集」ボタンＢ５とがアプリケーションリストＬ１として表示されている。
【００３４】
開発者が、新たなアプリケーションを開発する場合には、「新規アプリケーション」ボタンＢ２を押下する。また、開発者が、詳細には後述する用語情報の編集を行いたい場合には、「用語辞書」ボタンＢ３を押下し、開発者の管理を行いたい場合には「ユーザ管理」ボタンＢ４を押下する。
【００３５】
この「ユーザ管理」ボタンＢ４を押下して表示されるユーザ管理画面（図示せず）は、開発者の追加、削除、開発者の属性などのそれぞれの開発者情報Ｊ３を編集することができる。
【００３６】
図４に示されるアプリケーション一覧画面Ｇ２では、アプリケーション名称が「名刺管理」と称された名刺管理ソフトが、既に登録され表示されているが、開発者が名刺管理ソフトを新規に開発するときには、新たに登録する必要がある。この場合には、まず、「新規アプリケーション」ボタンＢ２を押下する。
【００３７】
「新規アプリケーション」ボタンＢ２を押下することで、図５に示すアプリケーション編集画面Ｇ３が表示される。アプリケーション編集画面Ｇ３では、ボタン表示領域Ａ２に、アプリケーション一覧画面Ｇ２に戻る「アプリケーション一覧」ボタンＢ６と、新規の状態では選択不可なグレイアウト状態の「自動生成」ボタンＢ７と、アプリケーションの削除を行う「アプリケーション削除」ボタンＢ８と、「フォーム一覧」ボタンＢ９と、「エンティティ一覧」ボタンＢ１０とが表示されている。
編集領域Ａ３には、アプリケーション名称を英字で入力する英字名称入力欄Ｒ３と、漢字で入力する漢字名称入力欄Ｒ４と、アプリケーションの概略を入力する説明入力欄Ｒ５と、入力した内容を登録するための「確認」ボタンＢ１１とが表示されている。また、編集領域Ａ３には、このアプリケーションを開発可能な属性を有する開発者の一覧を示す開発者一覧が表示されている。
【００３８】
開発者は、アプリケーション編集画面Ｇ３の英字名称入力欄Ｒ３に「NameCard」，漢字名称入力欄Ｒ４に「名刺管理」，説明入力欄Ｒ５に「名刺管理アプリケーション」をそれぞれに入力して「確認」ボタンＢ１１を押下する。「確認」ボタンＢ１１が押下されることで、プログラム情報編集手段２１は、開発者に登録内容を再度確認させるために、アプリケーション登録確認画面（図示せず）を表示する。開発者が、この登録確認画面において、「登録」ボタンを押下すれば「NameCard」および「名刺管理」が名刺管理ソフトのプログラム名称情報としてプログラム情報Ｊ１に登録される。また、開発者が、このアプリケーション登録確認画面にて「編集」ボタンを押下することで、アプリケーション編集画面Ｇ３に戻って再度プログラム名称情報を編集することができる。
【００３９】
新規アプリケーションの名称等の登録が完了すると、図２に示すアプリケーション一覧画面Ｇ２に戻り、次に、名刺管理ソフトにて使用される用語の定義を行う。
【００４０】
図４において、「用語辞書」ボタンＢ３を押下することで、プログラム情報編集手段２１により、プログラムを開発する上で使用されている言葉を定義した用語を示す用語情報がプログラム情報Ｊ１から読み出され、図６に示す用語一覧画面Ｇ４が表示される。
【００４１】
用語一覧画面Ｇ４では、ボタン表示領域Ａ２に「アプリケーション一覧」ボタンＢ６と、「新規用語」ボタンＢ１２と、「用語統一化」ボタンＢ１３とが表示されている。「用語統一化」ボタンＢ１３は、登録された用語のうち、複数の開発者によってそれぞれ同じ意味だが異なる名称で登録された用語を統一する際に押下されるボタンである。
編集領域Ａ３には、用語を検索するための用語入力欄Ｒ６と、入力された用語の検索開始を指示する「検索」ボタンＢ１４とが表示されている。また、用語入力欄Ｒ６の下には、分類を選択する分類選択入力欄Ｒ７と、「絞込」ボタンＢ１５とが表示されている。また、編集領域Ａ３には、現在登録されている用語の全部が用語リストＬ２として表示されている。
【００４２】
用語リストＬ２には、「分類」、「用語名称（漢字）」、「用語名称（英字）」、「型」、「ＤＢ型」、「説明」などの用語情報と、この用語を編集する「編集」ボタンＢ１６とが含まれている。本実施の形態では、名刺管理ソフトで使用される用語として、「氏名」、「性別」、「電子メール」が定義されている。これらは、型としては文字列を示す「string」が定義されている。
【００４３】
用語一覧画面Ｇ４において、用語リストＬ２にて定義された用語の数が多くて、開発者が編集したい用語を見つけにくい場合には、用語入力欄Ｒ６に編集したい用語を入力し、「検索」ボタンＢ１４を押下することで、容易に見つけ出すことができる。編集したい用語の分類がわかっている場合には、分類選択入力欄Ｒ７に分類を入力したり、プルダウンで分類を選択したりして、「絞込」ボタンＢ１５を押下することで、入力または選択された分類に属する用語のみが表示されるので、分類単位で用語を表示させることができる。
【００４４】
また、用語一覧画面Ｇ４において、新たに用語を追加したい場合には、「新規用語」ボタンＢ１２を押下する。また、用語を編集したい場合には、該当する用語に対応した「編集」ボタンＢ１６を押下する。「新規用語」ボタンＢ１２や「編集」ボタンＢ１６を押下することで、図７に示される用語編集画面Ｇ５が表示される。
【００４５】
図７に示される用語編集画面Ｇ５では、ボタン表示領域Ａ２に、用語一覧画面Ｇ４に戻る「用語一覧」ボタンＢ１７と、「用語統一化」ボタンＢ１３と、用語を削除する際に用いられる「用語削除」ボタンＢ１８とが表示されている。
編集領域Ａ３には、編集対象となる用語に対する、分類入力欄Ｒ８、漢字用語名称入力欄Ｒ９、英字用語名称入力欄Ｒ１０、型入力欄Ｒ１１、ＤＢ型入力欄Ｒ１２、説明入力欄Ｒ１３と、「確認」ボタンＢ１９とが表示されている。
【００４６】
用語編集画面Ｇ５は、「新規用語」ボタンＢ１２を押下することで表示された場合には、各入力欄は空白状態である。また、「編集」ボタンＢ１６を押下することで表示された場合には、「編集」ボタンＢ１６に対応する用語の内容が各入力欄に入った状態で表示される。開発者は、空白で表示された各入力欄に新たな値を入力したり、各入力欄に表示された内容に対して修正を加えたりする。そして、入力に問題がない場合には、「確認」ボタンＢ１９を押下する。
【００４７】
「確認」ボタンＢ１９が押下されると、プログラム情報編集手段２１は、登録される用語情報を表示して開発者に確認を求める用語登録確認画面（図示せず）を表示する。開発者が、この用語登録確認画面において「登録」ボタンを押下すれば、新規に入力した用語情報、または編集した用語情報がプログラム情報Ｊ１に登録される。また、開発者が、この用語登録確認画面にて「編集」ボタンを押下することで用語編集画面Ｇ５に戻って再度編集することができる。
【００４８】
図５に示すアプリケーション編集画面Ｇ３において、「エンティティ一覧」ボタンＢ１０が押下されると、プログラム情報編集手段２１によりプログラム情報Ｊ１からエンティティ情報が読み出され、図８に示すエンティティ一覧画面Ｇ６が表示される。
【００４９】
エンティティ一覧画面Ｇ６では、ボタン表示領域Ａ２に「アプリケーション一覧」ボタンＢ６と、「アプリケーション編集」ボタンＢ２０と、「新規エンティティ」ボタンＢ２１とが表示されている。
【００５０】
編集領域Ａ３には、この名刺管理ソフトで使用されるエンティティがエンティティリストＬ３として表示される。このエンティティリストＬ３には、エンティティとして登録されている名称を示す「エンティティ名称（英字）」および「エンティティ名称（漢字）」と、その名称の内容を示す「説明」などのエンティティ情報と、このエンティティ情報を編集する「編集」ボタンＢ２２とが含まれている。
【００５１】
エンティティとは、データの集合体であるテーブルのことで、名刺管理ソフトでは「名刺」（namecard）がエンティティとして定義されている。
開発者が、新規にエンティティを登録したい場合には「新規エンティティ」ボタンＢ２１を押下する。また、エンティティ一覧画面Ｇ６では、登録されているエンティティが一つであるが、複数あるときには、編集したいエンティティに対応する「編集」ボタンＢ２２を押下することで、図９に示すエンティティ編集画面Ｇ７が表示される。
【００５２】
エンティティ編集画面Ｇ７では、ボタン表示領域Ａ２に「アプリケーション一覧」ボタンＢ６と、「アプリケーション編集」ボタンＢ２０と、「エンティティ一覧」画面Ｇ６へ戻る「エンティティ一覧」ボタンＢ２３と、このエンティティをコピーし、別の名称で保存する「別名で複製」ボタンＢ２４と、表示されているエンティティを削除する「エンティティ削除」ボタンＢ２５とが表示されている。
【００５３】
編集領域Ａ３には、まず、上段に編集対象となるエンティティである「名刺」を明示したエンティティ名称編集欄Ｒ１４が表示されている。エンティティ名称編集欄Ｒ１４の下には、システム属性一覧リストＬ４が表示されている。このシステム属性一覧リストＬ４は、システム（名刺管理ソフト）が使用する用語として、「ＩＤ」と、「作成時刻」と、「作成者」と、「削除区分」とが定義されていることを示している。このシステム属性一覧リストＬ４の下には、アプリケーション属性一覧リストＬ５が表示されている。
【００５４】
アプリケーション属性一覧リストＬ５は、エンティティとして登録された「名刺」を構成する用語を示すもので、「名刺」は「用語名称」として「氏名」と「電子メールアドレス」とで構成されている。つまり、エンティティ「名刺」は、「氏名」に「電子メールアドレス」を対応づけた名刺情報のテーブルであることがわかる。アプリケーション属性一覧リストＬ５から用語を削除したい場合には、対応する「削除」ボタンＢ２６を押下することで、エンティティ「名刺」の構成から削除される。また、新たに用語を追加したい場合には、「用語追加」ボタンＢ２７を押下すると、図７に示す用語編集画面Ｇ５へ遷移することで用語の追加が可能となる。
【００５５】
アプリケーション属性一覧リストＬ５の下に位置するファインダ一覧リストＬ６には、エンティティ「名刺」を検索する検索式が定義されている。本実施の形態では、エンティティ「名刺」は、「ＩＤ」を参照して検索されることが定義されている。
【００５６】
図５に示すアプリケーション編集画面Ｇ３において、「フォーム一覧」ボタンＢ９が押下されると、プログラム情報編集手段２１により、プログラム情報Ｊ１からフォーム情報が読み出され、図１０に示すフォーム一覧画面Ｇ８が表示される。
【００５７】
フォーム一覧画面Ｇ８では、ボタン表示領域Ａ２に「アプリケーション一覧」ボタンＢ６と、「アプリケーション編集」ボタンＢ２０と、「新規フォーム」ボタンＢ２８とが表示されている。
【００５８】
編集領域Ａ３には、この名刺管理ソフトで表示されるそれぞれの表示画面名が、表示画面リストＬ７として表示されている。この表示画面リストＬ７には、名刺管理ソフトの処理の単位をプロセスとして、プロセスごとの名前である「プロセス名称」と、このプロセスが、ある業務処理を行うために用いる表示画面の名称（表示画面名）である「フォーム名称」と、動作の概略を示す「説明」などの表示画面情報と、この表示画面情報を編集する「編集」ボタンＢ２９とが含まれている。
【００５９】
この表示画面リストＬ７によると、名刺管理ソフトでは「ログイン」、「名刺一覧」、「名刺編集」の３つのプロセスを備えており、プロセス「ログイン」は「ログイン」画面、プロセス「名刺一覧」は「名刺一覧」画面をフォームとして表示することがわかる。また、プロセス「名刺編集」は「名刺編集」画面と、「名刺確認」画面と、「名刺登録完了」画面とを、同様にフォームとして表示することがわかる。
【００６０】
開発者が、新たなフォームを追加したい場合には、「新規フォーム」ボタンＢ２８を押下する。また、開発者が、フォームの編集を行いたい場合には、「編集」ボタンＢ２９を押下する。開発者が、例えば、「名刺編集」に対応する「編集」ボタンＢ２９を押下すると、図１１に示すフォーム編集画面Ｇ９が表示される。
【００６１】
フォーム編集画面Ｇ９では、ボタン表示領域Ａ２に、「アプリケーション一覧」ボタンＢ６と、「アプリケーション編集」ボタンＢ２０と、フォーム一覧画面Ｇ８に戻る「フォーム一覧」ボタンＢ９と、このフォームを削除する「フォーム削除」ボタンＢ３０と、このフォームをコピーし、別の名称で保存する「別名複製」ボタンＢ３１とが表示されている。
【００６２】
編集領域Ａ３には、フォーム情報が読み出され、表形式のテーブル図として表示されている。編集領域Ａ３は、まず、上段に編集対象となるプロセスである「名刺一覧」を明示したプロセス名称編集欄Ｒ１５が表示されている。なお、プロセス名称編集欄Ｒ１５においては、「セッション開始フォーム」と称されたチェックボックスがあるが、このチェックボックスは、この表示画面が生成プログラムＰのトップページとなることを示している。従って、プロセス「名刺一覧」の表示画面「名刺一覧」ではチェックされず、表示画面「ログイン」においてチェックされることになる。
【００６３】
プロセス名称編集欄Ｒ１５の下には、この表示画面で使用される用語や用語の集合名を定義するフォーム項目リストＬ８が表示されている。本実施の形態では、フォーム項目リストＬ８で複合型を示す「composite」として「名刺一覧表」が定義されているので、フォーム項目リストＬ８の下に、名刺一覧表リストＬ９にて、「項目名称」として「氏名」と「電子メールアドレス」とが、「型」として「string」が定義されている。
【００６４】
用語の集合名を定義しない場合には、フォーム項目リストＬ８に「項目名称」および「型」として「string」などを定義すれば、名刺一覧表リストＬ９などは表示されない。
【００６５】
反対に、名刺一覧表リストＬ９の「氏名」の「型」として「composite 」を定義することで、「氏名」リストを表示させ、「氏名」リスト内で、「項目名称」として「姓名」と「名前」とをそれぞれ定義することも可能である。
【００６６】
また、名刺一覧表リストＬ９の下には、イベントの発生に応じた処理を定義するオペレーション項目リストＬ１０と、イベント（アクション）名を定義すると共にイベントが発生したときの状態に対応して遷移する表示画面名が定義されたアクション一覧リストＬ１１とが表示されている。
【００６７】
オペレーション項目リストＬ１０は、「名刺一覧」では使用されないため、何も表示されていない。オペレーション項目リストＬ１０は、例えば、図１０に示すフォーム一覧画面Ｇ８に示される名刺情報を登録する「名刺確認」画面においては、登録を指示するボタンが押下されたことを契機に、エンティティで定義された「名刺」を登録するなどを定義することができる。また、登録を指示するボタンが押下されたことを契機に、登録した電子メールアドレスに登録されたことを示す電子メールを送信することを定義することができる。
【００６８】
アクション一覧リストＬ１１には、この「名刺一覧」にて発生するイベント名（「アクション項目）として、「新規名刺」と、「名刺編集」とが定義されている。また、アクション一覧リストＬ１１では、イベント「新規名刺」が発生して返却値（戻値）が＜new＞であったときには、表示画面名「名刺編集」へ移行するように定義されている。また、イベント「名刺編集」が発生して返却値（戻値）が＜edit＞であったときには、表示画面名「名刺編集」へ移行するように定義されている。
【００６９】
このように、フォーム編集画面Ｇ９では、プロセス名称編集欄Ｒ１５において定義される表示画面名と、アクション一覧リストＬ１１により定義されるイベント名、および表示画面名とが表形式のテーブル図として表示されている。従って、表示画面名と、表示画面が表示されているときに発生するイベントに対応させたイベント名と、イベントが発生したときの状態に対応して遷移する表示画面名とが、表形式のテーブル図として表示されていることで、関連付けられているそれぞれの情報の様子を一目で把握することができる。
【００７０】
次に、図１１に示されるフォーム編集画面Ｇ９において、表形式にしたテーブル図にて作成・編集されるフォーム情報は、プログラム情報編集手段２１により、状態遷移図を入力することで定義することも可能である。
【００７１】
ここで、プログラム情報編集手段２１により作成・編集される状態遷移図について図１２に基づいて説明する。図１２では、フォーム編集画面Ｇ９にて入力されるフォーム情報を、状態遷移図Ｓとして入力した一例を示している。
【００７２】
本実施の形態に係る状態遷移図Ｓは、点線で示される矩形枠で示されるプロセスに、プロセス名称が付与されている。また、状態遷移図Ｓは、楕円のボックス図で示される表示画面（フォーム）に、表示画面名が付与されている。このボックス図は、１つの表示画面を示しており、それぞれが、状態遷移を示す線で接続されている。この状態遷移を示す線には、イベント名と、返却値名とが付与されている。
【００７３】
例えば、プロセス「名刺編集」では、表示画面「名刺編集」Ｄ１と、表示画面「名刺確認」Ｄ２と、表示画面「名刺登録完了」Ｄ３とがある。この名刺編集においては、表示画面「名刺編集」Ｄ１においてイベント「確認」が発生すると、外部プログラムからの返却値＜success＞により表示画面「名刺確認」Ｄ２へ遷移することが示されている。そして、表示画面「名刺確認」Ｄ２では、イベント「登録」が発生すると、外部プログラムからの返却値＜success＞により表示画面「名刺登録完了」Ｄ３へ遷移することが示されている。また、表示画面「名刺確認」Ｄ２で、イベント「修正」が発生すると、外部プログラムからの返却値＜reedit＞により表示画面「名刺編集」Ｄ１へ戻ることが示されている。
【００７４】
この状態遷移図Ｓは、矩形枠や楕円のボックス図をマウスによりメニューバーからドラッグアンドドロップにより作図エリアに展開して、キーボードにより状態名や表示画面名、およびイベント名（アクション名）などを入力することで作図することができる。
【００７５】
このようにフォーム情報を状態遷移図Ｓとして表示することで、表示画面がどのように遷移していくかが一目で把握することができる。
【００７６】
プログラム情報編集手段２１により作図され表示された状態遷移図Ｓは、プログラム情報編集手段２１に変換を指示すると、図１１に示すフォーム編集画面Ｇ９の表形式のテーブル図に変換されて表示される。また、フォーム編集画面Ｇ９の表形式のテーブル図から状態遷移図Ｓへ変換することも可能である。プログラム情報編集手段２１は、状態遷移図Ｓと表形式のテーブル図とをそれぞれ表示させながらプログラム情報を作成、編集することができるので、不具合の発生をより低減することができる。
【００７７】
このようにして、名刺管理ソフトの、プログラム名称情報と、用語情報と、フォーム情報とが定義され、プログラム情報Ｊ１として記憶手段に格納される。そして、名刺管理ソフトを生成するときには、図５に示すアプリケーション編集画面Ｇ３に表示されている「自動生成」ボタンＢ７を押下する。「自動生成」ボタンＢ７が押下されると、プログラム情報編集手段２１からプログラム生成手段２２へプログラムの生成が通知される。プログラム生成手段２２は、プログラム情報Ｊ１を元に、生成規則情報Ｊ２の生成規則に沿った名刺管理ソフトとなる生成プログラムＰを生成する。
【００７８】
ここで、生成プログラムＰとして生成された名刺管理ソフトについて、図１３から図１８に基づいて説明する。図１３は、本発明の実施の形態に係る名刺管理装置を示す図である。図１４は、名刺ログイン画面の一例を示す図である。図１５は、名刺一覧画面の一例を示す図である。図１６は、名刺編集画面の一例を示す図である。図１７は、名刺確認画面の一例を示す図である。図１８は、名刺登録完了の一例を示す図である。
【００７９】
図１３に示すように、コンピュータ４０は、名刺管理ソフトおよび外部プログラムを動作させることで、名刺管理装置として機能するものである。コンピュータ４０は、図１に示すサーバ２０やクライアント３０でもよいし、他のコンピュータでもよい。
名刺管理装置として機能するコンピュータ４０は、名刺管理ソフトを動作させることで機能する名刺管理手段４１と、外部プログラムを動作させることで機能するイベント処理手段４２および業務規則処理手段４３と、ＣＲＴやＬＣＤなどの表示手段４４と、キーボードおよびマウスなどの入力手段４５とを備えている。
【００８０】
名刺管理手段４１は、ログインを制御するログイン処理手段４１ａと、名刺の一覧表を表示する名刺一覧処理手段４１ｂと、名刺の情報が編集できる名刺編集処理手段４１ｃと、編集した情報の確認画面を表示する名刺確認処理手段４１ｄと、登録が終了した旨の画面を表示する名刺登録完了処理手段４１ｅとを備えている。
【００８１】
コンピュータ４０上で動作させることで、イベント処理手段４２および業務規則処理手段４３として機能する外部プログラムは、予めコンピュータ４０にインストールされたプログラムである。イベント処理手段４２は、イベントが発生するとイベントの内容に応じた処理を行う機能を備えている。業務規則処理手段４３は、判定規則に基づいて判定し、判定結果に基づいた返却値をイベント処理手段４２へ通知したり、表示規則に基づいて画面内容をイベント処理手段４２へ通知したりする機能を備えている。
【００８２】
次に、この名刺管理ソフトの動作と使用状態について、図面に基づいて説明する。
使用者は、コンピュータ４０上で動作するブラウザから名刺管理ソフトを示すアドレスを指定して実行すると、ログイン処理手段４１ａによりトップページである図１４に示す名刺ログイン画面Ｇ１０が提供されることでブラウザに表示される。この名刺ログイン画面Ｇ１０は、図１０に示す表示画面リストＬ７の「ログイン」と、図１２に示す状態遷移図Ｓの表示画面「ログイン」Ｄ４に対応する。
【００８３】
使用者は、ログイン処理手段４１ａにより提供された名刺ログイン画面Ｇ１０に表示されたログイン名入力欄Ｒ１６と、パスワード入力欄Ｒ１７とに、入力手段４５を操作して、使用者のログイン名とパスワードとを入力し、「ログイン」ボタンＢ３２を押下する。
【００８４】
「ログイン」ボタンＢ３２が押下されたことで、イベント「ログイン」の発生を示す通知が、使用者のログイン名とパスワードとを引数として、イベント処理手段４２に送信される。イベント処理手段４２では、このイベント「ログイン」の通知を、業務規則処理手段４３へ送信する。
【００８５】
業務規則処理手段４３では、図示しない記憶手段に格納された使用者情報に、ログイン名とパスワードとが登録されているか否かを判定規則として判定する。業務規則処理手段４３は、ログインが可能であれば返却値として＜login＞を、ログインが不可であれば返却値として＜fail＞を、イベント処理手段４２を介して返す。
【００８６】
ログイン処理手段４１ａは、返却値を、イベントが発生したときの状態として返却値に応じて状態遷移する。例えば、返却値が＜login＞であればログインの許可を示すので、プロセス「名刺一覧」へ状態遷移し、返却値が＜fail＞であれば不許可なので、名刺ログイン画面Ｇ１０を表示する。その際、返却値が＜fail＞であれば再度、イベント処理手段４２を介して業務規則処理手段４３へ不許可の表示通知を送信する。
【００８７】
業務規則処理手段４３は、不許可の表示通知を受信すると、例えば、「ログイン名またはパスワードが違います。」などのメッセージの表示が表示規則として定義されていれば、このメッセージを表示する旨の指示を、イベント処理手段４２を介してログイン処理手段に４１ａに送信する。従って、このメッセージを変更する場合には、業務規則処理手段４３として機能する外部プログラムの表示規則を変更することで、容易に表示画面の内容を変更することができる。従って、変更箇所を容易に把握できるので、不具合が発生しにくい。
【００８８】
一方、ログインが許可された場合には、名刺一覧処理手段４１ｂにより、図１５に示す名刺一覧画面Ｇ１１が表示される。この名刺一覧画面Ｇ１１は、図１０に示す表示画面リストＬ７の「名刺一覧」と、図１２に示す状態遷移図Ｓの表示画面「名刺一覧」Ｄ５に対応する。
【００８９】
この名刺一覧画面Ｇ１１には、タイトル「名刺一覧」の下に、「新規名刺」の文字にリンクが付与された「新規名刺」リンクＬＫ１と、「氏名」に「電子メールアドレス」を対応付けた名刺一覧リストＬ１２とが表示されている。なお、名刺一覧リストＬ１２の「電子メールアドレス」の文字を、リンクが付与されたアドレスリンクＬＫ２としている。この名刺一覧リストＬ１２は、エンティティ編集画面Ｇ７（図９参照）により「名刺」として定義したエンティティに基づいて表示されている。
【００９０】
この名刺一覧画面Ｇ１１を表示するときには、名刺一覧処理手段４１ｂが業務規則処理手段４３に「名刺一覧」を表示する通知を送信することで、業務規則処理手段４３が予め定義された表示規則に沿って「新規名刺」リンクＬＫ１や、アドレスリンクＬＫ２をボタン表示とせずにリンクとすることを名刺一覧処理手段４１ｂに指示している。
【００９１】
使用者は、マウスで「新規名刺」リンクＬＫ１を押下すると、名刺一覧処理手段４１ｂは、アクション一覧リストＬ１１（図１１参照）で定義されたイベント「新規名刺」の発生を示す通知をイベント処理手段４２を介して業務規則処理手段４３へ送信する。業務規則処理手段４３では、新規に名刺情報を登録する画面へ遷移することを意味する＜new＞を返却値としてイベント処理手段４２を介して返す。ここでは、特に判定する条件なしに＜new＞を返信している。
【００９２】
例えば、ログインする際に、ログイン名およびパスワードが使用者情報に登録されているか否かだけを判定するのではなく、ログイン名に応じて使用者にランク付けをすることがある。そうした場合に、「新規名刺」リンクＬＫ１の押下というイベント「新規名刺」に対して、業務規則処理手段４３がランクに応じた判定規則に基づいて新規の登録を許可または不許可を決定するようにしてもよい。
【００９３】
使用者が「氏名」または「電子メールアドレス」のいずれか一方または両方の内容の変更を行いたい場合には、該当するアドレスリンクＬＫ２を押下する。このアドレスリンクＬＫ２の押下により、アクション一覧リストＬ１１（図１１参照）で定義されたイベント「名刺編集」の発生を示す通知がイベント処理手段４２に通知される。イベント処理手段４２からイベント「名刺編集」が通知された業務規則処理手段４３は、名刺情報を編集する画面へ遷移することを意味する＜edit＞を返却値としてイベント処理手段４２を介して返す。ここでは、特に判定する条件なしに＜edit＞を返信している。
【００９４】
この場合においても、業務規則処理手段４３が使用者のランクに応じた判定規則に基づいて新規の登録を許可または不許可を決定するようにしてもよい。つまり、イベント「新規名刺」およびイベント「名刺編集」について、現在は判定しないことが判定規則であったものを、使用者のランクによって制限を加えるように名刺管理ソフトの判定規則（仕様）の変更があった場合には、外部プログラムである業務規則処理手段４３の判定規則を変更するだけで対応することができる。また、この変更は、イベント「新規名刺」およびイベント「名刺編集」についての判定規則が同じであれば１ヵ所とすることができる。従って、生成プログラムＰである名刺管理ソフトを変更する必要がなく、変更する箇所を、名刺管理ソフト側で個々に判定する場合に比べ、全体として少ない変更箇所ですむ。
【００９５】
業務規則処理手段４３から返却値＜new＞または＜edit＞が通知されたことで、プロセス「名刺編集」の「名刺編集」に状態遷移し、名刺編集処理手段４１ｃにより、図１６に示す名刺編集画面Ｇ１２が表示される。
【００９６】
この名刺編集画面Ｇ１２は、図１０に示す表示画面リストＬ７の「名刺編集」と、図１２に示す状態遷移図Ｓの表示画面「名刺編集」Ｄ１に対応する。
名刺編集画面Ｇ１２には、タイトル「名刺情報編集」の下に、氏名を入力する氏名入力欄Ｒ１８と、電子メールアドレスを入力する電子メールアドレス入力欄Ｒ１９とが表示されている。また、名刺編集画面Ｇ１２には、入力した内容で問題ないことを示す「確認」ボタンＢ３３と、名刺一覧画面Ｇ１１へ状態遷移する「名刺一覧」ボタンＢ３４とが表示されている。
【００９７】
この名刺編集画面Ｇ１２においては、業務規則処理手段４３からの返却値が＜new＞であれば、氏名入力欄Ｒ１８および電子メールアドレス入力欄Ｒ１９が空白として表示され、返却値が＜edit＞であれば押下したアドレスリンクＬＫ２に対応する「氏名」と「電子メールアドレス」が編集対象として表示される。
【００９８】
新規の登録を取りやめる場合や、編集をキャンセルする場合には、「名刺一覧」ボタンＢ３４を押下することで、イベント「名刺一覧」の発生を示す通知が業務規則処理手段４３に送信される。イベント処理手段４２からイベント「名刺一覧」が通知された業務規則処理手段４３は、図１５に示す名刺一覧画面Ｇ１１へ遷移することを意味する＜list＞を返却値としてイベント処理手段４２を介して返す。ここでは、特に判定する条件なしに＜list＞を返信している。
【００９９】
新規の入力や編集が完了した場合には、「確認」ボタンＢ３３を押下することで、イベント「確認」の発生を示す通知が業務規則処理手段４３に送信され、登録を確認する画面を表示することを示す＜success＞を返却値としてイベント処理手段４２を介して返す。
業務規則処理手段４３から返却値＜success＞が通知されたことで、プロセス「名刺編集」の「名刺確認」に状態遷移し、名刺編集処理手段４１ｃにより、図１７に示す名刺確認画面Ｇ１３が表示される。
【０１００】
この名刺確認画面Ｇ１３は、図１０に示す表示画面リストＬ７の「名刺確認」と、図１２に示す状態遷移図Ｓの表示画面「名刺確認」Ｄ２に対応する。
名刺確認画面Ｇ１３では、タイトル「登録内容の確認」の下に、確認を求める氏名と電子メールアドレスとが表示されている。また、名刺確認画面Ｇ１３には、登録内容が誤っているため修正を指示する「修正」ボタンＢ３５と、登録を指示する「登録」ボタンＢ３６とが表示されている。
【０１０１】
修正を指示する場合には、「修正」ボタンＢ３５を押下することで、イベント「修正」の発生を示す通知が業務規則処理手段４３に送信される。イベント処理手段４２からイベント「修正」が通知された業務規則処理手段４３は、図１６に示す名刺編集画面Ｇ１２へ遷移することを意味する＜reedit＞を返却値としてイベント処理手段４２を介して返す。
【０１０２】
また、登録を指示する場合には、「登録」ボタンＢ３６を押下することで、イベント「登録」の発生を示す通知がイベント処理手段４２を介して業務規則処理手段４３に送信される。イベント処理手段４２からイベント「登録」が通知された業務規則処理手段４３は、図１８に示す名刺登録完了画面Ｇ１４へ遷移することを意味する＜success＞を返却値としてイベント処理手段４２を介して返す。また、イベント「登録」が通知されたイベント処理手段４２は、登録対象の「名前」と「電子メールアドレス」とをエンティティで定義された「名刺」に登録する。また、図１１に示すフォーム編集画面Ｇ９にて、フォーム「名刺確認」のオペレーション項目として、登録した電子メールアドレス宛に登録した旨の電子メールを送信することが定義されていれば、イベント処理手段４２は、電子メールの送信処理を行う。
【０１０３】
業務規則処理手段４３から返却値＜success＞が通知されたことで、プロセス「名刺編集」の「名刺登録完了」に状態遷移し、名刺編集処理手段４１ｃにより、図１８に示す名刺登録完了Ｇ１４が表示される。
【０１０４】
この名刺登録画面Ｇ１４は、図１０に示す表示画面リストＬ７の「名刺登録完了」と、図１２に示す状態遷移図Ｓの表示画面「名刺登録完了」Ｄ３に対応する。
名刺登録完了Ｇ１４には、タイトル「名刺登録完了」の下に、登録した氏名と電子メールアドレスとが表示されている。また、名刺登録完了Ｇ１４には、図１５に示す名刺一覧画面Ｇ１１へ戻る「名刺一覧」ボタンＢ３４が表示されている。
【０１０５】
使用者は、登録が完了したことを、この表示画面が表示されることで確認した後、「名刺一覧」ボタンＢ３４を押下することで、名刺一覧画面Ｇ１１へ戻ることができる。
なお、本実施の形態では、状態遷移するイベントをボタン押下などの操作を契機として発生するものであったが、例えば、図１１に示すフォーム編集画面Ｇ９のアクション一覧リストＬ１１において無操作状態が一定時間以上継続すると、タイマからの通知をイベントとして業務規則処理手段４３により判定して、どの状態からも図１４に示す名刺ログイン画面Ｇ１０へ遷移するようにしてもよい。
【０１０６】
このように、本発明に係るプログラム生成装置として機能するサーバ２０は、イベントが発生したときに、外部プログラムである業務規則処理手段４３へ移行させ、この業務規則処理手段４３での判定規則に基づいて判定した結果である返却値をイベントが発生したときの状態として、返却値に応じて遷移先の表示画面名に対応する表示画面を表示する生成プログラムＰを生成することで、判定規則に変更が生じても、生成したプログラムを、再度、生成し直す必要がないので、信頼性の高いプログラムを生成することが可能である。
【０１０７】
本実施の形態では、生成プログラムＰとして名刺情報を管理する名刺管理ソフトを例に説明したが、当然、他のアプリケーションでも生成することが可能である。特に、動作仕様である判定規則や表示規則が頻繁に変更となるようなアプリケーションを生成する際には好適である。例えば、携帯電話の料金計算では、割引体系が多岐に渡り複雑で、変更も頻繁に行われる。このような場合に、料金を算出する基本的なフォームを料金計算ソフトとしてプログラム情報に定義して生成プログラムＰとして料金計算ソフトを生成しておき、割引体系を判定規則として業務規則処理手段４３として規定しておくことで、料金体系に変更があっても料金計算ソフトは変更する必要がなく、業務規則処理手段４３内のみの変更で対応できる。従って、本発明は、保守性に優れているので、生成するプログラムを変更する際に短期間でプログラムの開発が行えるため、納期の遵守が容易であり、変更のためのコストを抑制することができ、更に、変更点が容易に判別できるので修正ミスなどの不具合の発生を抑止することができる。
【産業上の利用可能性】
【０１０８】
本発明は、あらゆるアプリケーションの自動生成する技術に適用することが可能である。特に、インターネットやイントラネットを経由して複数の開発者がそれぞれ分担して開発する場合に最適である。
【図面の簡単な説明】
【０１０９】
【図１】本発明の実施の形態に係るプログラム生成システムの構成を示す図である。
【図２】図１に示すプログラム生成システムのサーバの構成を示す図である。
【図３】ログイン画面の一例を示す図である。
【図４】アプリケーション一覧画面の一例を示す図である。
【図５】アプリケーション編集画面の一例を示す図である。
【図６】用語一覧画面の一例を示す図である。
【図７】用語編集画面の一例を示す図である。
【図８】フォーム一覧画面の一例を示す図である。
【図９】エンティティ編集画面の一例を示す図である。
【図１０】フォーム一覧の一例を示す図である。
【図１１】フォーム編集画面の一例を示す図である。
【図１２】状態遷移図の一例を示す図である。
【図１３】本発明の実施の形態に係る名刺管理装置を示す図である。
【図１４】名刺ログイン画面の一例を示す図である。
【図１５】名刺一覧画面の一例を示す図である。
【図１６】名刺編集画面の一例を示す図である。
【図１７】名刺確認画面の一例を示す図である。
【図１８】名刺登録完了の一例を示す図である。
【符号の説明】
【０１１０】
１０  プログラム生成システム
２０  サーバ                          ２１  プログラム情報編集手段
２２  プログラム生成手段              ２３  生成規則編集手段
２４  ログイン処理手段                ２５  表示手段
２６  入力手段                        Ｊ１  プログラム情報
Ｊ２  生成規則情報                    Ｊ３  開発者情報
３０  クライアント                    Ｗ  ネットワーク
４０  コンピュータ                    ４１  名刺管理手段
４１ａ  ログイン処理手段              ４１ｂ  名刺一覧処理手段
４１ｃ  名刺編集処理手段              ４１ｄ  名刺確認処理手段
４１ｅ  名刺登録完了処理手段          ４２  イベント処理手段
４３  業務規則処理手段                ４４  表示手段
４５  入力手段
Ｇ１  ログイン画面                    Ｇ２  アプリケーション一覧画面
Ｇ３  アプリケーション編集画面        Ｇ４  用語一覧画面
Ｇ５  用語編集画面                    Ｇ６  エンティティ一覧画面
Ｇ７  エンティティ編集画面            Ｇ８  フォーム一覧画面
Ｇ９  フォーム編集画面                Ｇ１０  名刺ログイン画面
Ｇ１１  名刺一覧画面                  Ｇ１２  名刺編集画面
Ｇ１３  名刺確認画面
Ｂ１  「ログイン」ボタン              Ｂ２  「新規アプリケーション」ボタン
Ｂ３  「用語辞書」ボタン              Ｂ４  「ユーザ管理」ボタン
Ｂ５  「編集」ボタン                  Ｂ６  「アプリケーション一覧」ボタン
Ｂ７  「自動生成」ボタン              Ｂ８  「アプリケーション削除」ボタン
Ｂ９  「フォーム一覧」ボタン          Ｂ１０  「エンティティ一覧」ボタン
Ｂ１１  「確認」ボタン                Ｂ１２  「新規用語」ボタン
Ｂ１３  「用語統一化」ボタン          Ｂ１４  「検索」ボタン
Ｂ１５  「絞込」ボタン                Ｂ１６  「編集」ボタン
Ｂ１７  「用語一覧」ボタン            Ｂ１８  「用語削除」ボタン
Ｂ１９  「確認」ボタン                Ｂ２０  「アプリケーション編集」ボタン
Ｂ２１  「新規エンティティ」ボタン    Ｂ２２  「編集」ボタン
Ｂ２３  「エンティティ一覧」ボタン    Ｂ２４  「別名で複製」ボタン
Ｂ２５  「エンティティ削除」ボタン    Ｂ２６  「削除」ボタン
Ｂ２７  「用語追加」ボタン            Ｂ２８  「新規フォーム」ボタン
Ｂ２９  「編集」ボタン                Ｂ３０  「フォーム削除」ボタン
Ｂ３１  「別名複製」ボタン            Ｂ３２  「ログイン」ボタン
Ｂ３３  「確認」ボタン                Ｂ３４  「名刺一覧」ボタン
Ｂ３５  「修正」ボタン                Ｂ３６  「登録」ボタン
Ｌ１  アプリケーションリスト          Ｌ２  用語リスト
Ｌ３  エンティティリスト              Ｌ４  システム属性一覧リスト
Ｌ５  アプリケーション属性一覧リスト  Ｌ６  ファインダ一覧リスト
Ｌ７  表示画面リスト                  Ｌ８  フォーム項目リスト
Ｌ９  名刺一覧表リスト                Ｌ１０  オペレーション項目リスト
Ｌ１１  アクション一覧リスト          Ｌ１２  名刺一覧リスト
ＬＫ１  「新規名刺」リンク            ＬＫ２  アドレスリンク
Ｒ１  ＩＤ入力欄                      Ｒ２  パスワード入力欄
Ｒ３  英字名称入力欄                  Ｒ４  漢字名称入力欄
Ｒ５  説明入力欄                      Ｒ６  用語入力欄
Ｒ７  分類選択入力欄                  Ｒ８  分類入力欄
Ｒ９  漢字用語名称入力欄              Ｒ１０  英字用語名称入力欄
Ｒ１１  型入力欄                      Ｒ１２  ＤＢ型入力欄
Ｒ１３  説明入力欄                    Ｒ１４  エンティティ名称編集欄
Ｒ１５  プロセス名称編集欄            Ｒ１６  ログイン名入力欄
Ｒ１７  パスワード入力欄              Ｒ１８  氏名入力欄
Ｒ１９  電子メールアドレス入力欄
Ｄ１  「名刺編集」                    Ｄ２  「名刺確認」
Ｄ３  「名刺登録完了」                Ｄ４  「ログイン」
【図１】
2009037477.tif 000003
【図２】
2009037477.tif 000004
【図３】
2009037477.tif 000005
【図４】
2009037477.tif 000006
【図５】
2009037477.tif 000007
【図６】
2009037477.tif 000008
【図７】
2009037477.tif 000009
【図８】
2009037477.tif 000010
【図９】
2009037477.tif 000011
【図１０】
2009037477.tif 000012
【図１１】
2009037477.tif 000013
【図１２】
2009037477.tif 000014
【図１３】
2009037477.tif 000015
【図１４】
2009037477.tif 000016
【図１５】
2009037477.tif 000017
【図１６】
2009037477.tif 000018
【図１７】
2009037477.tif 000019
【図１８】
2009037477.tif 000020