JP4976783B2 - プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体 - Google Patents

プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体 Download PDF

Info

Publication number
JP4976783B2
JP4976783B2 JP2006226079A JP2006226079A JP4976783B2 JP 4976783 B2 JP4976783 B2 JP 4976783B2 JP 2006226079 A JP2006226079 A JP 2006226079A JP 2006226079 A JP2006226079 A JP 2006226079A JP 4976783 B2 JP4976783 B2 JP 4976783B2
Authority
JP
Japan
Prior art keywords
screen
transition destination
input
item
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
JP2006226079A
Other languages
English (en)
Other versions
JP2008052387A (ja
JP2008052387A5 (ja
Inventor
智子 鈴木
勲 上田
Original Assignee
キヤノンソフトウェア株式会社
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 キヤノンソフトウェア株式会社 filed Critical キヤノンソフトウェア株式会社
Priority to JP2006226079A priority Critical patent/JP4976783B2/ja
Publication of JP2008052387A publication Critical patent/JP2008052387A/ja
Publication of JP2008052387A5 publication Critical patent/JP2008052387A5/ja
Application granted granted Critical
Publication of JP4976783B2 publication Critical patent/JP4976783B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、指定情報に基づいてプログラムのソースコードを生成するプログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体に関する。
ダイアログは、ユーザが該当する情報を簡便に選択できるので便利なGUI機能である。特許文献1には、ダイアログをプログラム生成要素の一つとするプログラム生成方法が提案されている。
特許文献1では、例えば、男女の性別についての選択ダイアログのように既に完成されたダイアログ、即ち、いくつかの定型のダイアログをプログラム部品として用意し、定義指定によりソースプログラムパターンに組み込む方法である。
特許文献2では、画面遷移プログラムの生成方法が提案されている。
特許第3227066号 特開平8−286899号公報
しかし、特許文献1の方法は、ダイアログそのものの構造や選択データを組み込むものではない。即ち、決められたダイアログのみしか生成できず、ダイアログを自由に定義することができないという問題点があった。
通常画面からダイアログを表示する状態は、一種の画面遷移とみなすことができる。
しかし、特許文献2の方法では、画面遷移であるダイアログを自由形式で作成することは可能であるが、その画面遷移の定義が非常に煩雑になってしまうという問題点があった。
また、特許文献2の方法では、画面上である部品がクリックされた際に他の部品の状態(選択,非選択,活性,不活性,独立)を遷移させるコードや、他の画面に遷移するコードを生成することは可能である。しかし、特許文献2の方法では、画面遷移時に遷移元画面から遷移先画面に対して値を受け渡しするコード等を自動生成することができない。
また、特許文献2の方法では、画面を自由に定義できるものの、遷移元画面から受け取ったパラメータに基づいて外部のデータテーブルを検索してダイナミックにダイアログの表示内容,表示レコード数等を変更するようなコードを自動生成することはできない。
結局、このようなコードに関しては、ユーザが手作業で作成する必要があり、非常に煩雑であるばかりでなく、高度なプログラムスキルを有するユーザでなければ行えないという問題点もあった。
従来の技術では、このような画面遷移プログラムを自動生成する技術は見当たらないが、実際このような画面遷移プログラムを自動生成しようとすると、遷移する画面間の関連が存在するので、遷移条件となる項目やクリックの定義、あるいは画面遷移時に抱え込むパラメータ指定、さらに、遷移先画面が主画面に重ならないように付随的な位置に表示させるための指定等の煩雑な指定操作が必要となると推定される。
このように、自由なダイアログを自動生成するには様々な問題点があり、従来の技術では実現できなかった。
本発明は、この問題を解決するためになされたものであり、発明の目的は、ダイアログ定義の簡便さを損なわずに、自由なダイアログを実現し、またダイアログとのパラメータの受け渡しを実現するプログラムを自動生成する仕組を提供することである。
本発明は、プログラムコードを生成するプログラム生成装置において、生成する第一の画面および第二の画面の画面項目情報であって、各画面に表示する項目を識別する項目識別情報、当該項目の種別についてユーザによる入力を受け付ける入力受付部またはユーザによる画面遷移の指示をするためのボタンを示す項目種別情報、当該ボタンの種別である項目について当該ボタンの押下指示によって遷移する遷移先画面を識別する遷移先画面情報、当該ボタンの種別である項目について遷移元画面から前記遷移先画面に受け渡す値が入力されている入力受付部の項目を示す受渡項目識別情報を含む画面項目情報を記憶する記憶手段と、前記記憶手段により記憶された画面項目情報を用いて、ユーザの指示によってクライアント端末で画面を表示させるための第一の画面の画面表示プログラムコードおよび第二の画面の画面表示プログラムコードを生成する生成手段とを備え、前記生成手段は、前記遷移先画面を識別する遷移先画面情報が設定されている前記第一の画面のボタンに対する、該ボタンの押下指示によって遷移先画面に受け渡される値が入力されている入力受付部の項目を示す前記受渡項目識別情報を用いて、当該受渡項目識別情報により特定される入力受付部に入力される値を、前記第一の画面から遷移する遷移先画面に受け渡す前記画面表示プログラムコードを生成する第一の定義情報受渡手段と、前記ユーザによる前記ボタンの押下指示によって画面遷移する遷移先画面を識別する遷移先画面情報に基づいて、前記第一の画面から遷移する遷移先画面である前記第二の画面に、前記第一の定義情報受渡手段で生成される前記画面表示プログラムコードにより受け渡される前記値を反映させて前記第二の画面の表示をする前記画面表示プログラムコードを生成する遷移先画面生成手段と、前記遷移先画面生成手段により生成される前記画面表示プログラムコードに基づいて表示される前記第一の画面の遷移先画面である第二の画面に含まれる、当該第二の画面からの遷移先画面情報が設定されているボタンの押下指示によって遷移先画に受け渡される値が入力されている入力受付部の項目を示す前記受渡項目識別情報を用いて、当該受渡項目識別情報により特定される入力受付部に入力される値を、前記第二の画面から遷移する遷移先画面に受け渡す前記画面表示プログラムコードを生成する第二の定義情報受渡手段とを備え、前記遷移先画面生成手段は、前記第一の画面の前記入力受付部に、前記第一の画面の遷移先画面である第二の画面に受け渡すための値が入力されている場合、当該値を用いることにより前記第二の画面でレコードを表示させるべく指定されている関連テーブルから検索される表示対象のレコードを該第二の画面の所定のフィールドに埋め込むことにより当該第二の画面を表示させ、一方、前記第一の画面の遷移先画面である第二の画面に受け渡すための値が入力されていない場合、前記第二の画面でレコードを表示させるべく指定されている関連テーブルの全てのレコードを当該第二の画面の所定のフィールドに埋め込むことにより当該第二の画面を表示させる前記画面表示プログラムコードを生成することを特徴とする。
プログラム自動生成環境において、入力補助機能として遷移元画面に付随する付随画面(ダイアログ)を自在に設計して自動生成できる。
例えば、関連しあった階層の入力項目があった場合に、各階層の入力項目数分ダイアログを開いて、入力項目を決定するのではなく、関連が見やすい表などの形態に項目を表示して、該当する項目グループを選択入力しやすいダイアログを生成できる。
また、ダイアログ表示データを、設計者が指定した項目に関する部分のみに絞って表示する機能と、表示する関連項目グループが多い場合には、ダイアログ画面に検索機能を付加して、多い項目を絞り込む補完機能を生成できる。
例えば、既にあるデータをダイアログに使用する場合に、ユーザにとって不用な項目を排除して必要な項目のみを表示し、一方、表示グループが多い場合には、ダイアログの検索により、有意な選択候補値を同一ダイアログ画面内に絞り込み、絞り込み一覧化の効果を維持しつつ、多量な表示にも有用さを発揮する機能を生成できる。
また、ダイアログから所望のグループが発見できた場合に、該当するグループを1回選択すれば、グループに含まれる項目群から必要な項目のみが入力値として一括セットされる機能を生成できる。即ち、1回の選択で複数項目を一度に選択する簡便さを享受できる。
従って、アプリケーション開発時の入力画面と入力補助であるダイアログ画面の生成において、入力項目間の階層関係、関連性のあるデータの表示形式をユーザフレンドリにしたプログラムを容易に生成することができる等の効果を奏する。
〔第1実施形態〕
本発明は、プログラム生成の効率化、開発物の管理のし易さを目的として構築されたアプリケーションプログラム自動生成システムにおいて、特に一覧表型(マトリクス型)ダイアログに関する自動生成の仕組を提供するものである。
まず、このアプリケーションプログラム自動生成システムの全体を、図1〜図4を参照して説明し、次いで、本発明に関わる部分を取り上げ、説明していく。
図1は、本発明に係るアプリケーションプログラム自動生成システムを適用可能なプログラム生成装置の一実施形態を示すブロック図である。
図1において、A101は入力装置であり、キーボードやマウス等のポインティングデバイス等に相当する。この入力装置A101は、業務仕様情報(生成する画面の定義(後述する図5に示す画面情報テーブル300),各画面の項目の定義(後述する図6に示す画面項目情報テーブル400),データ項目のデータベースへの配置とデータ項目間の関係、即ちあるデータがどのような条件のもとにどのようなデータから求められるかを示す情報(不図示)等)や、物理仕様情報(表示画面のプログラムコードを生成する際に用いる配置,色,表示の有無,サイズ等の条件情報等)の入力の選択等を行うためのものである。
A102は表示装置で、CRT,LCD等で構成される。この表示装置A102は、業務仕様情報,物理仕様情報の入力画面や、該入力画面から入力された業務仕様情報や物理仕様情報、生成されたプログラムコード等を表示可能である。
A104はハードディスク等の外部記憶装置である。この外部記憶装置A104は、入力装置A101から入力された業務仕様を記憶するための入出力テーブルA109や入力された物理仕様を記憶するための物理仕様テーブルA110、生成されたプログラムコード(JSPコード112,サーブレット(Servlet)コード113,Beanコード114)等を記憶するものである。
A103は処理装置で、図2に示すCPU101,ROM103,RAM102等から構成される。
図2は、図1に示したプログラム生成装置のハードウェア構成の一例を示すブロック図であり、図1と同一のものには同一の符号を付してある。
図2に示すように、図1に示したプログラム生成装置は、パーソナルコンピュータ等で実現可能である。
CPU101は、ROM103或いは外部記憶装置A104に記憶されている制御プログラムに基づいて、システムバスに接続されている各種デバイスとのアクセスを総括的に制御する構成となっている。
システムバスには、CPU101の主メモリ、ワークエリア等として機能するRAM02が接続されている。ROM03或いは外部メモリ104には、CPU01の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステム(以下、「OS」という。)プログラム、コンピュータA103が実行する処理を実現するために必要な各種プログラム等が記憶されている。
CPU01は、処理の実行に際して必要な各種プログラム等をRAM02にロードして、当該プログラム等を実行することで図1に示した全体制御部A108の機能及び各種動作を実現するものである。
外部メモリ104は、上述した各種プログラムとして、図示しないブートプログラム、各種アプリケーションプログラム、フォントデータ、ユーザーファイル等を記憶する。
CPU01は、例えば、RAM02内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、表示装置102上でWYSIWYGを可能としている。また、CPU01は、表示装置102上のマウスカーソル(不図示)等で指示されたコマンドに基づいて、登録された種々なウィンドウを開き、種々のデータ処理を実行する。
以下、図1の説明に戻る。
処理装置A103のCPU101は、ROM103,外部記憶装置A104又はその他の記録媒体に格納されるプログラムをRAM102上にロードして実行することにより、画面制御部A105,仕様解析部A106,コード生成部A107,全体制御部A108の機能を実現する。
画面制御部A105は、入力装置A101から業務仕様情報を入力するために表示装置A102の画面を制御する業務仕様記述部A116と、入力装置A101から物理仕様情報を入力するために表示装置A102の画面を制御する物理仕様記述部A117から構成される。
仕様解析部A106は、入力装置A101から入力された又は外部記憶装置A104から読み出された業務仕様情報,物理仕様情報に対して字句解析や文法解析を行う。
コード生成部A107は、仕様解析部A106により仕様解析された業務仕様情報,物理仕様情報に基づいてプログラムコード(JSPコードA112,サーブレット(Servlet)コードA113,BeanコードA114)を生成し、外部記憶装置A104に記憶させる。
なお、コード生成部A107は、外部記憶装置A104から読み出された業務仕様情報(入出力テーブルA109)に基づいて外部記憶装置A104上にデータベース(DB)A115を構築するように構成してもよい。
全体制御部A108は、画面制御部A105,仕様解析部A106,コード生成部A107等の各部の制御を行う。
図3は、図1に示したコード生成部A107によって生成されたサーブレットコードA113、JSPコードA112、およびBeanコードA114を利用したウェブアプリケーションシステムの全体構成であり、本プログラム生成装置から自動生成されたものの一例を示す模式図である。
コード生成部A107によって生成されたサーブレットコードA113、JSPコードA112、およびBeanコードA114は、図3に示すように、それぞれ実行可能な状態のサーブレットA207、JSP(A209)、およびBean(A208)として、サーバA204側のアプリケーションサーバA206上に配置される。
このWebアプリケーションシステムは、クライアントA201からウェブブラウザA202によって利用される。ウェブブラウザA202からJSP(A209)にアクセスすることにより、HTMLページを生成し、クライアントA201側に返送する。そして、ウェブブラウザA202上には、JSP(A209)から送信されるHTMLページA203が表示される。
また、WebブラウザA202からのリクエストは、HTTP経由でサーバA204側に送信される。サーバA204にはHTTPサーバA205とアプリケーションサーバA206があり、アプリケーションサーバA206にはサーブレットやJSPの実行環境が含まれている。
サーバA204側にリクエストが送信されると、リクエストに応じて該当するサーブレットA207が起動される。サーブレットA207は、対応するBean(A208)に処理を要求する。さらに、Bean(A208)はDBアクセスオブジェクトA210を利用してデータベースA211にアクセスし、業務に関する処理やデータ加工などを行い、その処理結果を保持する。DBアクセスオブジェクトA210は、業務を分析、設計した結果、作成されるクラスや、再利用可能な既存のクラスである。
次に、サーブレットA207からJSP(A209)にBean(A208)を渡し、JSP(A209)を呼び出す。JSP(A209)は、Bean(A208)で保持する処理結果を参照して、HTMLページを生成し、クライアントA201側に返送する。クライアントA201側に返送されたHTMLページは、WebブラウザA202上に表示される。
サーブレットA207は、WebブラウザA202からのリクエストの受け付け、Bean(A208)への処理要求、およびJSP(A209)の呼び出しという、それぞれの間をつなぎ、制御する役割を持つ。JSP(A209)はHTMLページを出力するための表示に関することを受け持ち、Bean(A208)はデータベースA211へのアクセス等の業務に関する処理を受け持つ。Bean(A208)やJSP(A209)を利用せず、サーブレットA207のみでWebブラウザA202からのリクエストを処理することは可能であるが、Bean(A208)やJSP(A209)を利用することでそれぞれの役割を明確に分離することで、機能分担を簡潔に把握することができる。なお、本実施形態では、コード生成部A107が生成するコードとして、JSPコード,Servletコード,Beanコードを例として挙げている。しかし、コード生成部A107が生成するコードは、JSPコード,Servletコード,Beanコードに限られるものではなく、どのようなプログラム言語のどのようなプログラムコードであってもよい。
以下、図4を参照して、本発明のプログラム生成装置における処理について説明する。
図4は、本発明のプログラム生成装置におけるにおける第1の制御処理手順の一例を示すフローチャートであり、図1に示した処理装置A103の全体制御部A108の動作に対応する。即ち、このフローチャートは図2に示したCPU101が外部記憶装置A104等に記憶されているプログラムをRAM102上で実行することにより実現される。なお、S101〜S107は各ステップを示す。
図1に示した処理装置A103は、コード生成する業務仕様(入出力テーブルA109)や物理仕様テーブルA110の入力を行う入力モードと、入力された業務仕様(入出力テーブルA109)や物理仕様テーブルA110からプログラムコードを生成する生成モードとを有する。
まず、全体制御部A108が起動されると、ステップS101において、全体制御部A108は、入力装置A101からオペレータの指示により選択されたモードが生成モードか入力モードかを判定する。そして、入力モードが選択されたと判定した場合には、全体制御部A108は、ステップS102に処理を進め、画面制御部A105を起動する。
起動された画面制御部A105は、ステップS103において、業務仕様記述部A116により業務仕様入力画面を表示させ、オペレータから、生成するウェブアプリケーションのアプリケーション名や業務仕様の一形態である入出力テーブルへの項目入力を受け付け、該入出力テーブルを外部記憶装置A104に格納する(図1に示した入出力テーブルA109)。なお、入出力テーブルA109については図5,図6を用いて後述する。
次に、画面制御部A105は、ステップS104において、物理仕様記述部A117を起動させる。起動された物理仕様記述部A117は物理仕様入力画面を表示させ、オペレータから、物理仕様の一形態である物理仕様テーブルへの入力と業務パターンの選択を受け付け、この物理仕様テーブルと業務パターンの選択情報を外部記憶装置A104にそれぞれ格納する(図1に示した物理仕様テーブルA110)。そして、処理を終了する。
一方、ステップS101において、入力装置A101からオペレータの指示により選択されたモードが生成モードであると判定した場合には、全体制御部A108は、ステップS105に処理を進める。
ステップS105では、全体制御部A108は、外部記憶装置A104に格納された入出力テーブルA109と物理仕様テーブルA110を読み出すとともに、仕様解析部A106を起動させて、読み出した入出力テーブルA109と物理仕様テーブルA110の字句解析,文法解析を行う。
次に、ステップS106において、全体制御部A108は、コード生成部A107を起動させて、仕様解析部A106で字句解析,文法解析が行われた入出力テーブルA109と物理仕様テーブルA110に基づいてコード生成処理及びデータベースの構築を行う。なお、コード生成処理の詳細については図7以降を用いて後述する。
そして、ステップS107において、全体制御部A108は、生成されたコードを、オペレータの指示により表示装置A102に表示し、かつ外部記憶装置A104に書き込む出力処理を行う。
以下、図5〜図9を参照して、アプリケーションプログラムの自動生成システムから本発明を実施するにおいて、必要となるリソースを抽出して説明する。
図5,図6は、図1に示した入出力テーブルA109内の情報の一例を示す模式図であり、画面,画面内の項目,画面遷移等を定義したものである。コード生成処理時には、プログラムとして成立させるために必要な条件等をこのテーブルを参照してプログラムに表現する。
図1に示した109は、図5に示す画面情報テーブル300,図6に示す画面項目情報テーブル400を含む。
図5の画面情報テーブル300には、画面そのものの定義情報が格納されている。
この画面情報テーブル300には、生成する画面の画面名301と、生成する画面が「通常」タイプなのか「ダイアログ」タイプなのかを指定する画面タイプ302と、その画面でデータを「表示」または「登録」するDBテーブルを指定する関連テーブル303と、画面を表示する際、その表示レコードを絞り込む条件(即ち、検索条件)を指定する表示条件304が格納されている。
なお、画面タイプ302の「通常」は、遷移元画面に付随しない非付随タイプの画面(即ち、ダイアログボックス以外の画面)を示し、画面タイプ302の「ダイアログ」は、遷移元画面に付随する付随タイプの画面(即ち、ダイアログボックス)を示す。また、画面タイプ302が「ダイアログ」と定義されている画面は、遷移元の画面から渡されるパラメータと表示条件304とに基づいて関連テーブル303で定義されたDBテーブルからデータを検索し、該検索したデータを表示する画面である。
図5に示した例では、レコード305により、「通常」タイプの画面である「入力画面」が定義されている。
また、レコード306により、「ダイアログ」タイプの画面である「ダイアログ画面」が定義されている。この「ダイアログ画面」は、画面表示の際に遷移元の画面から渡されるパラメータと表示条件304での定義された条件とに基づいて関連テーブル303で定義された「部課テーブル」を検索し、該検索したデータを表示する画面となる。
図6の画面項目情報テーブル400には、定義情報DBのテーブルに画面に配置される項目の情報が格納されている。
この画面項目情報テーブル400には、画面名401の他、画面に配置される項目の表示名である項目名402と、その項目がテキスト入力部品(入力フィールド)なのかボタン(通常のボタン,関連テーブルへデータを登録する登録ボタン,関連テーブルからデータを削除する削除ボタン等)なのかを設定する項目タイプ403と、その項目が明細形式で配置される「1」か、一覧形式(マトリクス形式)で配置される「2」かを設定する項目レベル404と、特に項目タイプがボタンの際に次に表示する画面を設定する次画面405と、同じく特に項目タイプがボタンの際に次画面に渡すパラメータとして項目名を設定する次画面パラメータ406が格納されている。
特に、図6の409に示すレコードで定義されるように、値を受け取る側の画面(入力画面)において「ダイアログ画面」を表示するボタン(選択ボタン)では、次画面パラメータ406に「ダイアログ画面」で設定してほしい項目の項目名(ここでは「部署名」,「課名」)を設定する。
また、図6の415に示すレコードで定義されるように、「ダイアログ画面」側の選択ボタンでも、次画面パラメータ406に設定する項目の項目名(「部署名」,「課名」)を設定する。
なお、レコード409と415の次画面パラメータは、互いに項目の順番を合わせる必要がある(ここでは「部署名」,「課名」の順となっている)。
また、値を受け取る側の画面(入力画面)においてダイアログ画面を表示するボタン(選択ボタン)の次画面パラメータ406には、もう1つ、「ダイアログ画面」に渡す項目(初期表示レコード検索用の項目)の意味もある。
また、図示していないが、図5の画面情報テーブル300と図6の画面項目情報テーブル400に別途他の画面定義を追加することにより、「入力画面」と「ダイアログ画面」の画面遷移だけでなく、「ダイアログ画面」から別のダイアログ画面へと画面遷移させることも簡単に定義できる。本実施形態は、複数の画面遷移を、階層をもって移動できる機能の一部を利用した例を示しているに過ぎず、この例により本発明が限定されるものではない。
以下、図5に示した画面情報テーブル300,図6に示した画面項目情報テーブル400を、該テーブルから実際に生成されるアプリケーションの画面例(図7,図8)を用いて詳細に説明する。
図7,図8は、図5に示した画面情報テーブル300,図6に示した画面項目情報テーブル400により定義(指定)され、コード生成部A107で生成構成される画面の一例を示す模式図である。なお、図7,図8では、同一のものには同一の符号を付してある。
図7,図8に示す入力画面501は、図の画面情報テーブル300の画面名301,図の画面項目情報テーブル400の画面名401のそれぞれが「入力画面」であるレコード(図5の305,図6の407〜411)に対応する。
また、ダイアログ画面502は、図の画面情報テーブル300の画面名301,図の画面項目情報テーブル400の画面名401のそれぞれが「ダイアログ画面」であるレコード(図5の306,図4の412〜417)に対応する。
また、入力画面501の入力フィールドである部署名505,課名506は、図6のレコード407,408に対応する。
さらに、入力画面501の選択ボタン507は、図6のレコード409に対応する。なお、図6のレコード409の次画面405で定義されているように、この選択ボタン507が押下(指示)された場合、ダイアログ画面502が表示される。また、この際、図6のレコード409の次画面パラメータ406で定義されているように、部署名505,課名506に設定されるパラメータ値が、ダイアログ画面502に渡される。さらに、図6のレコード415の次画面パラメータ406で定義された項目に設定されるパラメータ値がダイアログ画面502から入力画面501に戻されるパラメータともなる。
また、入力画面501の入力フィールドである社員名508は、図6のレコード410に対応する。
さらに、入力画面501の追加ボタン509は、図6のレコード411に対応する。この追加ボタン509が押下(指示)された場合、図6のレコード411の次画面405で定義されているように、画面は自画面(入力画面501)のままとなる。なお、この追加ボタン509は図6のレコード411に定義されるように「登録ボタン」であるので、入力画面501で設定されたデータ(部署名,課名,社員名)が図5のレコード305で定義されている「社員テーブル」に登録されることになる。
ダイアログ画面502は、図のレコード306で定義されるように、前の画面から渡されたパラメータ(「部署名」,「課名」)と表示条件304(部署名が同じ、または、課名が同じ)とに基づいて、部課テーブル504を検索して、検索結果を表示するものである。
図7に示した例では、パラメータの対象となる部署名505,課名506が空白となっているので、ダイアログ画面502では、部課テーブル504のレコード全件が検索され表示されている。
一方、図8に示した例では、パラメータの対象となる部署名505,課名506にパラメータに値が入力されてダイアログ画面502が表示された例を示してある。
図8に示すように、入力画面501で部署名505に「人事部」と入力された状態で選択ボタン507が押下されると、部署名505,課名506がパラメータとしてダイアログ画面502に渡され、ダイアログ画面502はこのパラメータ値を検索条件に部課テーブル504のレコードから部署名が「人事部」のデータが検索され(絞り込まれて)表示される。
なお、図示は無いが、部課テーブル504が大量である場合には、表示行を自動的に制限して、選択可能な量のみ表示する機能や、ダイアログ画面502に検索キーを入力して、表示を絞り込むこと等のプログラム機能を自動生成するように構成してもよい。
また、ダイアログ画面502の入力フィールドである部署検索510,課検索511は、図6のレコード412,413に対応する。
さらに、ダイアログ画面502の検索ボタン512は、図6のレコード414に対応する。なお、この検索ボタン512が押下(指示)された場合、図6のレコード414で定義されているように、部署検索510,課検索511の値を、次画面である自画面(ダイアログ画面502)に渡す。これにより、部署検索510,課検索511に設定された値に基づき、部課テーブル504が検索され、検索結果が部署名514,課名515に表示される。
なお、ダイアログ画面502の入力フィールドである部署名514,課名515,選択ボタン513は、図6のレコード41,41,41に対応するものであり、項目レベル404で「2」と定義されているように、一覧形式で配置表示される。
なお、一覧形式で配置されるいずれかの選択ボタン513が押下(指示)された場合、図6のレコード415の次画面405で定義されているように、入力画面501が表示される。また、この際、図6のレコード415の次画面パラメータ406で定義されているように、押下された選択ボタン513に対応する部署名514,課名515のパラメータ値が、入力画面501に渡される。
また、ユーザが、ダイアログ画面502の部署検索510,課検索511に検索に適切な値を入れて、検索ボタン512を押下すると、部署検索510,課検索511に入力された値は次画面(ダイアログ画面)へ渡されるパラメータなので、部署検索510,課検索511に入力した値をキーに部課テーブル504が検索され、検索結果が部署名514,課名515,選択ボタン513として一覧表示される。
そして、ユーザは、この検索結果から選択するレコードを見つけた場合、対応する選択ボタン513を押下する。すると、ダイアログ画面502が閉じられる。なお、入力画面501からダイアログ画面502へ渡す次画面パラメータ406(図6)は入力画面501の部署名505,課名506に設定されていたが、ダイアログ画面502から入力画面501に戻るときも、当該パラメータ格納項目に応答のパラメータが格納される。即ち、入力画面501の部署名505,課名506に対して、順に、ダイアログ画面502で選択された行の「部署名」,「課名」の値が設定される。
図7に示した例では、入力画面501で、ダイアログ画面502において「部署名」に「人事部」、「課名」に「採用課」のレコードが選択されたため、それぞれ、入力画面501の部署名505,課名506に「人事部」,「採用課」という値が設定されている。
なお、本実施形態では、部課テーブル504を例示しているが、入出力テーブルA109に他のデータテーブルを定義すれば、様々なダイアログを形成できることはいうまでもない。
以下、図9を参照して、図5,図6で定義(指定)されてコード生成部A107で生成構成されたアプリケーションの各画面におけるパラメータの受け渡し動作について説明する。
図9は、図5,図6で定義(指定)されてコード生成部A107で生成構成されたアプリケーションの各画面におけるパラメータの受け渡し動作を示す模式図である。
図5に示す画面情報テーブル300,図6に示す画面項目情報テーブル400により定義され、コード生成部A107で生成構成されたアプリケーションプログラムを起動すると、ダイアログを表示する側の画面(図7,図8の入力画面501)がまず表示される(601)。ここでダイアログ表示ボタン(図7,図8の選択ボタン507)が押下されると、アプリケーションプログラムは、ダイアログを開く処理を行う(602)。この際、図6で示した画面項目情報テーブル400で定義されたダイアログ画面502が表示され、ダイアログ画面502に次画面パラメータが渡される。
ダイアログ画面502側では、渡されたパラメータを、ダイアログ側の画面表示処理の表示条件に使用する(603)。即ち、ダイアログを表示するアプリケーションプログラムは、入力画面501から渡されたパラメータを検索キーとし、表示条件304で指定されている表示条件を検索条件として関連テーブル303についてデータ検索を行い、表示するレコードを絞り込む。この場合の関連テーブルは部課テーブルである。これらの実行手順が、ダイアログを表示するアプリケーションプログラムとして生成される。
なお、このダイアログ画面502で表示されているレコードを変更したい場合、ユーザは、検索条件(図7,図8の部署検索510,課検索511)を入力し、検索ボタン512を押下する。
するとアプリケーションプログラムは、自ダイアログ(ダイアログ画面502)の再表示を行う(604)。この際、ダイアログ画面502から自ダイアログ(ダイアログ画面502)にパラメータが渡される。そして、渡されたパラメータは、ダイアログ画面502の画面表示処理の表示条件に使用され、渡されたパラメータを使用してデータ検索が行われ、表示するレコードが絞り込まれる。
そして、ユーザは、ダイアログ画面502で該当するレコードを見つけた際には、そのレコードの選択ボタン513を押下する。すると、ダイアログ画面502は閉じられ、選択されたレコードの情報が元画面(入力画面501)に渡される(605)。
そして、入力画面501では、渡されたデータが部署名505,課名506に設定される。なお、このとき、ダイアログ画面502から渡されるパラメータの各項目への設定位置は、ダイアログ画面502へ渡したパラメータの項目順に対応する。即ち、入力画面501ではダイアログ画面502から渡されるパラメータを、ダイアログ画面502へ渡したパラメータの順に項目に設定していく。以上のように、パラメータの受け渡し動作が行われる。
以上の説明は、図6における次画面パラメータの定義に基づいているが、実施例ではたまたま入力画面501の次画面パラメータ格納項目名とダイアログ画面502の次画面パラメータ格納項目名が、それぞれ「部課名」、「課名」と同じであるので、わかりやすいが、一方の項目を異なるものにしてもよい。ただし、入力画面501の次画面パラメータ格納項目が受ける戻りパラメータは、パラメータの順、データの性格が同じでなければならない。
以下、図10〜図14を参照して、図1に示したコード生成部A107におけるコード生成処理について説明する。
図10は、本発明のプログラム生成装置におけるにおける第2の制御処理手順の一例を示すフローチャートであり、図1に示した処理装置A103のコード生成部A107のコード生成処理における本発明に関わる部分の処理に対応する。即ち、このフローチャートは図2に示したCPU101が外部記憶装置A104等に記憶されているプログラムをRAM102上で実行することにより実現される。なお、S901〜S902は各ステップを示す。
まず、ステップS901において、コード生成部A107は、外部記憶装置A104の入出力テーブルA109から画面情報テーブル300を読み込み、その情報から画面生成処理(画面定義の生成処理)を行う。なお、この画面生成処理の詳細は図11に示す。
まず、ステップS902において、コード生成部A107は、外部記憶装置A104の入出力テーブルA109から画面情報テーブル300と画面項目情報テーブル400を読み込み、その情報から画面項目生成処理(画面項目の生成処理、及び項目選択条件、画面遷移等の機能の組み込む処理)を行う。なお、この画面項目生成処理の詳細は図12に示す。
図11は、本発明のプログラム生成装置におけるにおける第3の制御処理手順の一例を示すフローチャートであり、図10のステップS901に示した画面生成処理に対応する。即ち、このフローチャートは図2に示したCPU101が外部記憶装置A104等に記憶されているプログラムをRAM102上で実行することにより実現される。なお、S1001〜S1008は各ステップを示す。
まず、ステップS1001において、コード生成部A107は、外部記憶装置A104の入出力テーブルA109から画面情報テーブル300のレコードを全件読み込み、S1002〜S1008に示すように、全ての画面情報レコードに対して、S1003〜S1007の処理を行う。
まず、ステップS1003において、コード生成部A107は、画面情報テーブル300のカレントレコードの画面タイプ302に対応する画面表示用のプログラムファイル(以下、画面表示プログラムファイル)の中間ファイルを外部記憶装置A104内に作成する。即ち、この画面表示プログラムファイルは、画面毎に作成される。なお、この画面表示プログラムファイルは、予めプログラム構造が定められた外部記憶装置A104に格納されているプログラムテンプレートの複製を作成することにより作成される。即ち、この時点でこの画面表示プログラムファイルはまだ雛型となっており、以降S1004〜S1007で画面固有の情報を埋め込む処理を行う。
ステップS1004において、コード生成部A107は、S1003で作成した画面表示プログラムファイルに、画面情報テーブル300のカレントレコードの画面名301を設定するコードを埋め込む。
次にステップS1005において、コード生成部A107は、同様にS1003で作成した画面表示プログラムファイルに、画面情報テーブル300のカレントレコードの画面タイプ302を設定するコードを埋め込む。以下、順次、画面表示する項目テーブルや、表示条件を設定し、該当コードを埋め込む手順に進むが、画面タイプが「ダイアログ」の場合には、このダイアログがオープンされた際にこの画面(ダイアログ)の表示処理を実現させるコードとして、「遷移元の画面から受け取ったパラメータと表示条件を検索条件として、このダイアログに関連するデータテーブルを検索し、検索結果を取得する」汎用的な処理コードも埋め込むものとする。この汎用的な処理コードは、予めプログラム構造が定めされたプログラム生成テンプレートであり、外部記憶装置A104内に格納されている。
次にステップS1006において、コード生成部A107は、S1003で作成した画面表示プログラムファイルに、画面情報テーブル300のカレントレコードの関連テーブル303をこの画面で表示するテーブルに設定するコードを埋め込む。画面タイプが「ダイアログ」の場合、上述した検索処理を行う汎用的な処理コード内に検索するデータテーブル名として、関連テーブル303で指定されたデータテーブル名を埋め込む。
最後にステップS1007において、コード生成部A107は、S1003で作成した画面表示プログラムファイルに、画面情報テーブル300のカレントレコードの表示条件303を設定するコードを埋め込む。画面タイプが「ダイアログ」の場合、上述した検索処理を行う汎用的な処理コード内に検索条件として、関連テーブル303で指定された表示条件を埋め込む。そして、次の画面情報レコードに処理を移行させる。
そして、コード生成部A107は、S1001で読み込んだ全ての画面情報レコードに対してS1003〜S1007の処理を終了したと判定した場合には、本フローチャートの処理を終了する。
図12は、本発明のプログラム生成装置におけるにおける第4の制御処理手順の一例を示すフローチャートであり、図10のステップS902に示した画面項目生成処理に対応する。即ち、このフローチャートは図2に示したCPU101が外部記憶装置A104等に記憶されているプログラムをRAM102上で実行することにより実現される。なお、S1101〜S1118は各ステップを示す。
まず、ステップS1101において、コード生成部A107は、外部記憶装置A104の入出力テーブルA109から画面情報テーブル300のレコードを全件読み込み、S1102〜S1118に示すように、全ての画面情報レコードに対して、S1103〜S1117の処理を行う。
まず、ステップS1103において、コード生成部A107は、外部記憶装置A104から画面項目情報テーブル400のレコードを全件読み込み、S1104〜S1117に示すように、全ての画面項目情報レコードに対して、S1105〜S1116の処理を行う。
まず、ステップS1105において、コード生成部A107は、図10のステップS901で生成されたカレントの画面情報レコードに対応する画面表示プログラムファイル(以下、カレントの画面表示プログラムファイル)に対して、カレントの画面項目情報レコードの項目名402を設定するコードを埋め込む。
次に、ステップS1106において、コード生成部A107は、カレントの画面項目情報レコードの項目タイプ403を参照して、カレントの項目が「ボタン」であるか否かを判定する。
ステップS1106で、カレントの項目が「ボタン」でないと判定した場合には、コード生成部A107は、ステップS1108において、カレントの画面表示プログラムファイルに対して入力フィールドを配置するコードを埋め込む。この際、カレントの項目の項目レベル404の値が「1」の場合は明細形式で、「2」の場合は一覧形式で(即ち、動的に変化する表示対象の全レコードが一覧表示(マトリクス形式で表示)されるように)配置するコードを埋め込む。即ち、一覧形式(マトリクス形式)の場合、関連データテーブルの検索結果に基づいてこの入力フィールドをマトリクス形式に配置させ、該マトリクス形式に配置されたこの入力フィールドに、前記検索結果の各レコード内の対応する項目の値をそれぞれセットするコードを埋め込む。例えば図7,図8の部署名514,課名515のように入力フィールドが配置されるようにコードを埋め込む。そして、ステップS1117に処理を進め、次の項目に処理を移行させる。
一方、ステップS1106で、カレントの項目が「ボタン」であると判定した場合には、コード生成部A107は、ステップS1107において、カレントの画面表示プログラムファイルに対してボタンを配置するコードを埋め込む。この際、カレントの項目の項目レベル404の値が「1」の場合は明細形式で、「2」の場合は一覧形式で(即ち、動的に変化する表示対象の全レコードに対応して一覧表示されるように)配置するコードを埋め込む。一覧形式の場合、例えば図7,図8の選択ボタン513のようにボタンが配置されるコードを埋め込む。そして、ステップS1109に処理を進める。
ステップS1109では、コード生成部A107は、カレントの画面項目情報レコードの次画面405及びカレントの画面情報レコードに基づいて、次画面が「ダイアログ」であるか否かを判定する。
ステップS1109で、次画面が「ダイアログ」であると判定した場合には、ステップS1110において、コード生成部A107は、ボタンが押下(指示)された際に実行される処理として、遷移先がダイアログである場合の処理コード(例えば図13の702)を、カレントの画面表示プログラムファイルに対して設定する(埋め込む)。さらに、この処理コードに対して、コード生成部A107は、カレントの画面項目情報レコードの次画面405の情報(次画面の画面名)を設定するコードを埋め込む。例えば、図13の704に示すコードを埋め込む。このコードにより、自画面からダイアログを開くことができるようになる。
さらに、ステップS1111において、コード生成部A107は、遷移先のダイアログの次画面パラメータとして、カレントの画面項目情報レコードの次画面パラメータ406の情報を、カレントの画面表示プログラムファイルに対して設定するコードを埋め込む。例えば、図13の701,703に示すコードを埋め込む。このコードにより、自画面からダイアログへパラメータを渡すこと(及び受け取ること)ができるようになる。本実施例では、701と703には同じ項目名をセットするので、次画面パラメータとしてダイアログ画面に渡すパラメータ格納項目は、ダイアログ画面から戻ってきたときのパラメータ格納項目にもなる。即ち、ステップS1110,S1111では、ダイアログタイプの画面への画面遷移を実現させるコードとして、「遷移先画面をダイアログとして呼び出すとともに画面遷移時の次画面パラメータとして指定された遷移元画面上の入力フィールドにセットされた値を遷移先画面に渡す」コードを生成する。そして、ステップS1117に処理を進め、次の項目に処理を移行させる。
また、ダイアログ画面から遷移元画面へ戻る処理は、後述するステップS1113,S1114において、「遷移先画面から戻された値を次画面パラメータとして指定された遷移元画面の入力フィールドにセットする」コードを生成する。このようにして、入力画面からダイアログ画面にパラメータと共に画面遷移し、また、応答用のパラメータを持って入力画面に戻ってくる処理を生成できる。
なお、図13は、図12のステップS1110,S1111の結果出力されるダイアログへ遷移するボタン部分の処理コードの断片の一例を示す図である。
一方、ステップS1109で、次画面が「ダイアログ」でないと判定した場合には、ステップS1112において、コード生成部A107は、カレントの画面情報レコードの画面タイプ302に基づいて、自画面が「ダイアログ」であるか否かを判定する。
ステップS1112で、自画面が「ダイアログ」であると判定した場合には、ステップS1113において、コード生成部A107は、遷移先がダイアログでなく且つ遷移元がダイアログである場合の処理コード(例えば、図14の803)を、カレントの画面表示プログラムファイルに対して設定する(埋め込む)。これが、ダイアログ画面(元は遷移先、今は遷移元)から入力画面(元は遷移元、今は遷移先)へ戻る処理を含む。このコードにより、自画面(ダイアログ)から通常画面へ遷移させることができるようになる。即ち、ステップS1113,S1114では、ダイアログから通常の画面への画面遷移を実現させるコードとして、「押下(指示)されたボタンに対応してマトリクス形式で配置された入力フィールド(押下されたボタンと同じ行(又は列)の入力フィールド)のうち次画面パラメータとして指定された入力フィールドの値を、遷移先画面へ渡す」コードを生成する。
さらに、ステップS1114において、コード生成部A107は、カレントの画面項目情報レコードの次画面パラメータ406の情報を、カレントの画面表示プログラムファイルに対して設定するコードを埋め込む。例えば、図13の801,802に示すコードを埋め込む。このコードにより、自画面(ダイアログ)から通常画面へパラメータを渡すことができるようになる。そして、ステップS1117に処理を進め、次の項目に処理を移行させる。
なお、図14は、図12のステップS1113,S1114の結果出力されるダイアログから元画面へ遷移するボタン部分の処理コードの断片の一例を示す図である。
一方、ステップS1112で、自画面が「ダイアログ」でないと判定した場合には、ステップS1115において、コード生成部A107は、遷移先及び遷移元が通常画面である場合の処理コード(不図示)を、カレントの画面表示プログラムファイルに対して設定する(埋め込む)。画面項目情報テーブル400のレコード411の場合(追加ボタン509の場合)もこれに相当する。なお、この追加ボタン509は「登録ボタン」であるため、このステップで、関連テーブルへの登録処理に対応するコードが埋め込まれる。この処理コードも、予め作成された部品として外部記憶装置A104内に格納されているものとする。そして、埋め込んだ処理コードに、カレントの画像情報レコード内の関連テーブル303の情報(ここでは「社員テーブル」)を埋め込むものとする。
さらに、ステップS1116において、コード生成部A107は、カレントの画面項目情報レコードの次画面パラメータ406の情報を、カレントの画面表示プログラムファイルに対して設定するコードを埋め込む。そして、次の項目に処理を移行させる。
そして、コード生成部A107は、ステップS1103で読み込んだ全ての画面項目情報レコードに対してS1105〜S1116の処理を終了したと判定した場合には、次の画面に処理を移行させる。
そして、コード生成部A107は、ステップS1101で読み込んだ全ての画面情報レコードに対してS1103〜S1117の処理を終了したと判定した場合には、ステップS1118に処理を進め、本フローチャートの処理を終了する。
以上示したように、本発明では、入力補助としての選択ダイアログを通常画面の定義と同様に自由に設計でき、これらを図5,図6に示したような簡便な指定情報により定義して、プログラムコードを自動生成することができる。
そして、一覧表形式(マトリクス形式)のようなユーザに見やすい画面を自在に設計できるので、関連項目を一覧表にして、選択ダイアログに適用でき、見やすく、かつ1回の選択で複数項目を一度に選択する簡便さを実現できる。
例えば、関連しあった階層の入力項目があった場合に、各階層の入力項目数分ダイアログを開いて、入力項目を決定するのではなく、関連が見やすい表などの形態に項目を表示するので、該当する項目グループを発見しやすいダイアログに設計できる。
さらに、ダイアログから所望のグループが発見できた場合に、該当するグループを1回選択すれば、グループに含まれる項目群から必要な項目のみが入力値として一括セットされる機能を設定できる効果を奏する。即ち、1回の選択で複数項目を一度に選択する簡便さを享受できる。
このように、アプリケーション開発時における、入力画面と入力補助であるダイアログ画面の生成において、入力項目間の階層関係、関連性のあるデータの表示形式をユーザフレンドリにするプログラムを楽に構築できる効果を奏する。
そのうえ、ダイアログ表示データは、おしきせのデータではなく、設計者が指定することにより、必要な項目を絞って表示できる。
また同様に、選択ダイアログの選択項目を外部のデータテーブル等から持ってくる場合、データが大量にある場合は、検索機能をダイアログ画面に適用でき、ほどよいデータ量に絞って表示できる。
よって、ダイアログ表示データを、設計者が指定した項目に関する部分のみに絞って表示する機能と、表示する関連項目グループが多い場合には、ダイアログ画面に検索機能を付加して、多い項目を絞り込む補完機能を設定できる。
例えば、既にあるデータをダイアログに使用する場合に、ユーザにとって不用な項目を排除し、必要な項目のみを表示するようにし、一方、表示グループが多い場合には、検索により、有意な選択候補値を同一ダイアログ画面内に絞り込むので、絞り込み一覧化の効果を維持しつつ、多量な表示にも有用さを発揮するダイアログ画面を構築することができる。
さらに、画面遷移に付随する面倒な定義を必要とせず、画面タイプを指定するといった簡便な定義のみで、ダイアログ形式の画面表示ができるプログラムを自動生成できる。
このように、プログラム自動生成環境において、ダイアログ本来の役割である入力補助機能として、表形式のようなユーザに見やすい表示形式を自在に設計でき、ダイアログ定義の簡便さを損なわずに、自由なダイアログ設計やダイアログ画面の遷移機能を享受できる。
上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
以下、図15に示すメモリマップを参照して本発明に係るプログラム生成装置で読み取り可能なデータ処理プログラムの構成について説明する。
図15は、本発明に係るプログラム生成装置で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図4,図10,図11,図12に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した実施形態およびその変形例のいずれか又は全てを組み合わせた構成も全て本発明に含まれるものである。
本発明に係るアプリケーションプログラム自動生成システムを適用可能なプログラム生成装置の一実施形態を示すブロック図である。 図1に示したプログラム生成装置のハードウェア構成の一例を示すブロック図である。 図1に示したコード生成部によって生成されたサーブレットコード、JSPコード、およびBeanコードを利用したウェブアプリケーションシステムの全体構成であり、本プログラム生成装置から自動生成されたものの一例を示す模式図である。 本発明のプログラム生成装置におけるにおける第1の制御処理手順の一例を示すフローチャートである。 図1に示した入出力テーブル内の情報の一例を示す模式図である。 図1に示した入出力テーブル内の情報の一例を示す模式図である。 図5に示した画面情報テーブル,図6に示した画面項目情報テーブルにより定義(指定)され、コード生成部で生成構成される画面の一例を示す模式図である。 図5に示した画面情報テーブル,図6に示した画面項目情報テーブルにより定義(指定)され、コード生成部で生成構成される画面の一例を示す模式図である。 図5,図6で定義(指定)されてコード生成部で生成構成されたアプリケーションの各画面におけるパラメータの受け渡し動作を示す模式図である。 本発明のプログラム生成装置におけるにおける第2の制御処理手順の一例を示すフローチャートである。 本発明のプログラム生成装置におけるにおける第3の制御処理手順の一例を示すフローチャートである。 本発明のプログラム生成装置におけるにおける第4の制御処理手順の一例を示すフローチャートである。 図12のステップS1110,S1111の結果出力されるダイアログへ遷移するボタン部分の処理コードの断片の一例を示す図である。 図12のステップS1113,S1114の結果出力されるダイアログから元画面へ遷移するボタン部分の処理コードの断片の一例を示す図である。 本発明に係るプログラム生成装置で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
符号の説明
A101 入力装置
A102 表示装置
A103 処理装置
A104 外部記憶装置
A105 画面制御部
A107 コード生成部
A108 全体制御部
A109 入出力テーブル
A112 JSPコード
A113 サーブレットコード
A114 Beanコード

Claims (8)

  1. プログラムコードを生成するプログラム生成装置において、
    生成する第一の画面および第二の画面の画面項目情報であって、各画面に表示する項目を識別する項目識別情報、当該項目の種別についてユーザによる入力を受け付ける入力受付部またはユーザによる画面遷移の指示をするためのボタンを示す項目種別情報、当該ボタンの種別である項目について当該ボタンの押下指示によって遷移する遷移先画面を識別する遷移先画面情報、当該ボタンの種別である項目について遷移元画面から前記遷移先画面に受け渡す値が入力されている入力受付部の項目を示す受渡項目識別情報を含む画面項目情報を記憶する記憶手段と、
    前記記憶手段により記憶された画面項目情報を用いて、ユーザの指示によってクライアント端末で画面を表示させるための第一の画面の画面表示プログラムコードおよび第二の画面の画面表示プログラムコードを生成する生成手段とを備え、
    前記生成手段は、
    前記遷移先画面を識別する遷移先画面情報が設定されている前記第一の画面のボタンに対する、該ボタンの押下指示によって遷移先画面に受け渡される値が入力されている入力受付部の項目を示す前記受渡項目識別情報を用いて、当該受渡項目識別情報により特定される入力受付部に入力される値を、前記第一の画面から遷移する遷移先画面に受け渡す前記画面表示プログラムコードを生成する第一の定義情報受渡手段と、
    前記ユーザによる前記ボタンの押下指示によって画面遷移する遷移先画面を識別する遷移先画面情報に基づいて、前記第一の画面から遷移する遷移先画面である前記第二の画面に、前記第一の定義情報受渡手段で生成される前記画面表示プログラムコードにより受け渡される前記値を反映させて前記第二の画面の表示をする前記画面表示プログラムコードを生成する遷移先画面生成手段と、
    前記遷移先画面生成手段により生成される前記画面表示プログラムコードに基づいて表示される前記第一の画面の遷移先画面である第二の画面に含まれる、当該第二の画面からの遷移先画面情報が設定されているボタンの押下指示によって遷移先画に受け渡される値が入力されている入力受付部の項目を示す前記受渡項目識別情報を用いて、当該受渡項目識別情報により特定される入力受付部に入力される値を、前記第二の画面から遷移する遷移先画面に受け渡す前記画面表示プログラムコードを生成する第二の定義情報受渡手段とを備え、
    前記遷移先画面生成手段は、前記第一の画面の前記入力受付部に、前記第一の画面の遷移先画面である第二の画面に受け渡すための値が入力されている場合、当該値を用いることにより前記第二の画面でレコードを表示させるべく指定されている関連テーブルから検索される表示対象のレコードを該第二の画面の所定のフィールドに埋め込むことにより当該第二の画面を表示させ、一方、前記第一の画面の遷移先画面である第二の画面に受け渡すための値が入力されていない場合、前記第二の画面でレコードを表示させるべく指定されている関連テーブルの全てのレコードを当該第二の画面の所定のフィールドに埋め込むことにより当該第二の画面を表示させる前記画面表示プログラムコードを生成することを特徴とするプログラム生成装置。
  2. 前記生成手段は、前記第一の定義情報受渡手段で生成される前記画面表示プログラムコードによって受け渡される前記第一の画面の前記受渡項目識別情報により特定される入力受付部に入力される値を前記第二の画面に受け渡す場合、前記入力受付部に入力される値に基づいて検索されるレコード一覧を予め定められた形式で当該遷移先画面の所定のフィールドに埋め込むことにより表示するプログラムコードを作成する検索結果一覧生成手段を更に備えることを特徴とする請求項1に記載のプログラム生成装置。
  3. 前記生成手段は、前記第一の画面のボタンに設定されている遷移先画面を識別する遷移先画面情報が前記第一の画面である場合、前記ボタンの押下指示によって前記遷移先画面である第一の画面に受け渡される値が入力されている入力受付部の項目を示す前記受渡項目識別情報を用いて、当該受渡項目識別情報により特定される入力受付部に入力される値を、前記遷移先画面である第一の画面に受け渡す前記画面表示プログラムコードを生成する第三の定義情報受渡手段を更に備えることを特徴とする請求項1または2に記載のプログラム生成装置。
  4. 前記第二の定義情報受渡手段は、前記検索結果一覧生成手段によって生成される前記プログラムコードによる前記検索結果一覧から、ユーザによる前記ボタンの押下指示によって特定される値を、前記第二の画面から遷移する遷移先画面に受け渡す前記画面表示プログラムコードを生成することを特徴とする請求項3に記載のプログラム生成装置。
  5. 前記遷移先画面生成手段は、前記第二の画面に表示する表示対象のレコード数を、一定の条件を用いることにより制限する前記画面表示プログラムコードを生成することを特徴とする請求項1乃至4のいずれか1項に記載のプログラム生成装置。
  6. プログラムコードを生成し、生成する第一の画面および第二の画面の画面項目情報であって、各画面に表示する項目を識別する項目識別情報、当該項目の種別についてユーザによる入力を受け付ける入力受付部またはユーザによる画面遷移の指示をするためのボタンを示す項目種別情報、当該ボタンの種別である項目について当該ボタンの押下指示によって遷移する遷移先画面を識別する遷移先画面情報、当該ボタンの種別である項目について遷移元画面から前記遷移先画面に受け渡す値が入力されている入力受付部の項目を示す受渡項目識別情報を含む画面項目情報を記憶する記憶手段を備えたプログラム生成装置におけるプログラム生成方法であって、
    前記プログラム生成装置の生成手段が、前記記憶手段により記憶された画面項目情報を用いて、ユーザの指示によってクライアント端末で画面を表示させるための第一の画面の画面表示プログラムコードおよび第二の画面の画面表示プログラムコードを生成する、生成ステップを有し、
    前記生成ステップは、前記遷移先画面を識別する遷移先画面情報が設定されている前記第一の画面のボタンに対する、該ボタンの押下指示によって遷移先画面に受け渡される値が入力されている入力受付部の項目を示す前記受渡項目識別情報を用いて、当該受渡項目識別情報により特定される入力受付部に入力される値を、前記第一の画面から遷移する遷移先画面に受け渡す前記画面表示プログラムコードを生成する第一の定義情報受渡ステップと、
    前記ユーザによる前記ボタンの押下指示によって画面遷移する遷移先画面を識別する遷移先画面情報に基づいて、前記第一の画面から遷移する遷移先画面である前記第二の画面に、前記第一の定義情報受渡ステップで生成される前記画面表示プログラムコードにより受け渡される前記値を反映させて前記第二の画面の表示をする前記画面表示プログラムコードを生成する遷移先画面生成ステップと、
    前記遷移先画面生成ステップで生成される前記画面表示プログラムコードに基づいて表示される前記第一の画面の遷移先画面である第二の画面に含まれる、当該第二の画面からの遷移先画面情報が設定されているボタンの押下指示によって遷移先画に受け渡される値が入力されている入力受付部の項目を示す前記受渡項目識別情報を用いて、当該受渡項目識別情報により特定される入力受付部に入力される値を、前記第二の画面から遷移する遷移先画面に受け渡す前記画面表示プログラムコードを生成する第二の定義情報受渡ステップとを備え、
    前記遷移先画面生成ステップは、前記第一の画面の前記入力受付部に、前記第一の画面の遷移先画面である第二の画面に受け渡すための値が入力されている場合、当該値を用いることにより前記第二の画面でレコードを表示させるべく指定されている関連テーブルから検索される表示対象のレコードを該第二の画面の所定のフィールドに埋め込むことにより当該第二の画面を表示させ、一方、前記第一の画面の遷移先画面である第二の画面に受け渡すための値が入力されていない場合、前記第二の画面でレコードを表示させるべく指定されている関連テーブルの全てのレコードを当該第二の画面の所定のフィールドに埋め込むことにより当該第二の画面を表示させる前記画面表示プログラムコードを生成することを特徴とするプログラム生成方法。
  7. プログラムコードを生成し、生成する第一の画面および第二の画面の画面項目情報であって、各画面に表示する項目を識別する項目識別情報、当該項目の種別についてユーザによる入力を受け付ける入力受付部またはユーザによる画面遷移の指示をするためのボタンを示す項目種別情報、当該ボタンの種別である項目について当該ボタンの押下指示によって遷移する遷移先画面を識別する遷移先画面情報、当該ボタンの種別である項目について遷移元画面から前記遷移先画面に受け渡す値が入力されている入力受付部の項目を示す受渡項目識別情報を含む画面項目情報を記憶する記憶手段を備えたプログラム生成装置において実行されるプログラムであって、
    前記プログラム生成装置を、
    前記記憶手段により記憶された画面項目情報を用いて、ユーザの指示によってクライアント端末で画面を表示させるための第一の画面の画面表示プログラムコードおよび第二の画面の画面表示プログラムコードを生成する生成手段として機能させ、
    前記生成手段を、更に、
    前記遷移先画面を識別する遷移先画面情報が設定されている前記第一の画面のボタンに対する、該ボタンの押下指示によって遷移先画面に受け渡される値が入力されている入力受付部の項目を示す前記受渡項目識別情報を用いて、当該受渡項目識別情報により特定される入力受付部に入力される値を、前記第一の画面から遷移する遷移先画面に受け渡す前記画面表示プログラムコードを生成する第一の定義情報受渡手段と、
    前記ユーザによる前記ボタンの押下指示によって画面遷移する遷移先画面を識別する遷移先画面情報に基づいて、前記第一の画面から遷移する遷移先画面である前記第二の画面に、前記第一の定義情報受渡手段で生成される前記画面表示プログラムコードにより受け渡される前記値を反映させて前記第二の画面の表示をする前記画面表示プログラムコードを生成する遷移先画面生成手段と、
    前記遷移先画面生成手段により生成される前記画面表示プログラムコードに基づいて表示される前記第一の画面の遷移先画面である第二の画面に含まれる、当該第二の画面からの遷移先画面情報が設定されているボタンの押下指示によって遷移先画に受け渡される値が入力されている入力受付部の項目を示す前記受渡項目識別情報を用いて、当該受渡項目識別情報により特定される入力受付部に入力される値を、前記第二の画面から遷移する遷移先画面に受け渡す前記画面表示プログラムコードを生成する第二の定義情報受渡手段として機能させ、
    前記遷移先画面生成手段は、前記第一の画面の前記入力受付部に、前記第一の画面の遷移先画面である第二の画面に受け渡すための値が入力されている場合、当該値を用いることにより前記第二の画面でレコードを表示させるべく指定されている関連テーブルから検索される表示対象のレコードを該第二の画面の所定のフィールドに埋め込むことにより当該第二の画面を表示させ、一方、前記第一の画面の遷移先画面である第二の画面に受け渡すための値が入力されていない場合、前記第二の画面でレコードを表示させるべく指定されている関連テーブルの全てのレコードを当該第二の画面の所定のフィールドに埋め込むことにより当該第二の画面を表示させる前記画面表示プログラムコードを生成することを特徴とするプログラム。
  8. 請求項7に記載のプログラムをコンピュータ読み取り可能に記録した記録媒体。
JP2006226079A 2006-08-23 2006-08-23 プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体 Active JP4976783B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006226079A JP4976783B2 (ja) 2006-08-23 2006-08-23 プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006226079A JP4976783B2 (ja) 2006-08-23 2006-08-23 プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体

Publications (3)

Publication Number Publication Date
JP2008052387A JP2008052387A (ja) 2008-03-06
JP2008052387A5 JP2008052387A5 (ja) 2009-05-21
JP4976783B2 true JP4976783B2 (ja) 2012-07-18

Family

ID=39236405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006226079A Active JP4976783B2 (ja) 2006-08-23 2006-08-23 プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP4976783B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6600953B2 (ja) * 2015-03-17 2019-11-06 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理装置の制御方法、情報処理システム、およびプログラム
JP6966710B2 (ja) * 2015-03-17 2021-11-17 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08286899A (ja) * 1995-04-18 1996-11-01 Hitachi Ltd 表示画面状態遷移表によるプログラム作成方法
JP2000029677A (ja) * 1998-07-15 2000-01-28 Hitachi Software Eng Co Ltd 画面構成自動生成装置
JP2000330774A (ja) * 1999-05-20 2000-11-30 Nec Corp 仕様書エディタ自動生成システム、仕様書エディタ自動生成方法および記憶媒体
JP4488701B2 (ja) * 2003-08-22 2010-06-23 キヤノンソフトウェア株式会社 プログラム生成装置およびプログラム生成方法およびプログラム

Also Published As

Publication number Publication date
JP2008052387A (ja) 2008-03-06

Similar Documents

Publication Publication Date Title
US8370750B2 (en) Technology for generating service program
JP4972254B2 (ja) リフレッシュ可能なWebクエリを作成するための統合された方法
KR101159390B1 (ko) 페이지 매겨진 콘텐트를 디스플레이하고 이와 대화하기위한 방법 및 시스템
US8745581B2 (en) Method and system for selectively copying portions of a document contents in a computing system (smart copy and paste
US8074167B2 (en) Cross domain presence of web user interface and logic
JP5697661B2 (ja) プラットフォームの拡張性フレームワーク
JP4893108B2 (ja) 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
KR101275871B1 (ko) SaaS 환경에서의 홈페이지 제작 시스템 및 방법, 그 방법을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체
US7296222B1 (en) Method and system for preparing and displaying page structures for web sites
WO2011098457A1 (en) Method and system for organizing information with a sharable user interface
CN107832052B (zh) 展示预览页面的方法、装置和存储介质以及电子设备
JP2011180796A (ja) コンテンツ共有システム
US20050223355A1 (en) Aiding a user in using a software application
JP4976783B2 (ja) プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体
JP4386243B2 (ja) プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体
JP4885651B2 (ja) 処理装置、処理装置における制御方法、プログラムおよび記録媒体
JP6423933B2 (ja) 情報処理装置、帳票管理システム、帳票管理サーバ、情報処理方法、及びそのプログラム
WO2021010008A1 (ja) コンピュータプログラム、記録装置、記録システム、解析装置及び記録方法
JP2004326626A (ja) 構造化文書ファイル管理装置および構造化文書ファイル管理方法
JP2005339580A (ja) 文書データ管理装置およびプログラム
JP2005190458A (ja) 機能付き電子ドキュメントの提供方法、そのプログラム、その装置及びシステム
JP2005078119A (ja) ソフトウェア開発支援装置およびソフトウェア開発支援方法およびプログラムおよび記録媒体
JP2016004428A (ja) 情報処理装置、データ処理装置、情報処理装置の制御方法、、データ処理装置のデータ処理方法、及びプログラム
JP2000227914A (ja) 文書編集装置
JP7421137B2 (ja) 情報処理装置、情報処理方法およびプログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080403

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090408

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120221

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: 20120321

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120413

R150 Certificate of patent or registration of utility model

Ref document number: 4976783

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350