JP2010108055A - プログラム生成用プログラム及びプログラム生成装置 - Google Patents

プログラム生成用プログラム及びプログラム生成装置 Download PDF

Info

Publication number
JP2010108055A
JP2010108055A JP2008276833A JP2008276833A JP2010108055A JP 2010108055 A JP2010108055 A JP 2010108055A JP 2008276833 A JP2008276833 A JP 2008276833A JP 2008276833 A JP2008276833 A JP 2008276833A JP 2010108055 A JP2010108055 A JP 2010108055A
Authority
JP
Japan
Prior art keywords
program
data
definition information
structure definition
stored
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.)
Granted
Application number
JP2008276833A
Other languages
English (en)
Other versions
JP5023038B2 (ja
Inventor
Toshiaki Mogi
俊明 茂木
Mayumi Ueno
真由美 上野
Daisuke Imamura
大輔 今村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2008276833A priority Critical patent/JP5023038B2/ja
Publication of JP2010108055A publication Critical patent/JP2010108055A/ja
Application granted granted Critical
Publication of JP5023038B2 publication Critical patent/JP5023038B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】プログラムを自動生成する際に、当該生成されるプログラムの利用者の入力を補助するための入力補助プログラムを生成することを可能とする。
【解決手段】テーブル情報取得部32は、テーブルに保持されるデータの種類を含むテーブル情報を、前記データベースに格納されている当該テーブルから取得する。データ項目仕様生成部33は、テーブル情報取得部32によって取得されたテーブル情報に基づいて、当該テーブル情報に含まれるデータの種類及びテーブルに保持されるデータの範囲を含むテーブル構造定義情報を生成し、テーブル構造定義情報格納部22に格納する。入力チェックルール生成部35は、テーブル構造定義情報に含まれるデータの範囲を、当該テーブル構造定義情報に含まれるデータの種類に対応付けられているテンプレートに当てはめることによって入力補助プログラムを生成する。
【選択図】 図2

Description

本発明は、データベースに対して処理を行うためのプログラムを自動的に生成するプログラム生成用プログラム及びこのプログラムが動作するプログラム生成装置に関する。
近年、例えばデータベースに対するデータの生成、読み取り、更新または削除等の処理を行うためのプログラム(アプリケーション)を自動生成する装置(以下、プログラム生成装置と表記)が開発されている。
上記したようにプログラムを自動生成する技術として、例えばデータベースに接続し、既存のテーブル情報を利用してプログラムを生成することができる技術が知られている。
例えばデータベース操作を行うアプリケーション開発において、データベースアクセス部分のプログラムを作成の自動化に関する技術(以下、第1の先行技術と表記)が開示されている(例えば、特許文献1を参照)。この第1の先行技術によれば、データベース操作の種類である新規(生成)・更新・削除・読み取りの各機能毎に条件を付与し、総合的にデータを処理することが可能となる。この第1の先行技術においては、データベースファイルを読み込み、データベースにアクセスするプログラムが自動生成される。
また、例えば指定情報に基づいてプログラムのソースコードを生成する技術(以下、第2の先行技術と表記)が開示されている(例えば、特許文献2を参照)。この第2の先行技術によれば、アプリケーションプログラムの開発者に対しては、プルダウンリストを桁毎に分割する、分割しないを自動判別し、長い選択リストを作らずに短い選択リストから数値を選択入力できる機能が提供されている。そして、プルダウンリストから目的の数値を容易に選択入力可能なプログラムを、プルダウンリスト長や画面状況を考慮せず、簡便な定義情報のみで生成することができる仕組みも提供されている。また、アプリケーションプログラムの使用者に対しては、プルダウンリストを桁毎に分割する、分割しないが自動判別され、短い選択リストから目的の数値を容易に選択する仕組みを提供することが可能となる機能が提供されている。つまり、この第2の先行技術によれば、プログラムを自動生成する際に、生成されたプログラムの利用者(使用者)がプルダウンリストから目的として数値を容易に選択できるような入力画面(を表示するためのプログラム)を生成することができる。
特開平11−53391号公報 特開2008−52386号公報
しかしながら、上記したプログラム生成装置では、例えば動作するプログラムを生成するためには詳細な物理仕様の入力が必要である。また、物理仕様の入力がない場合は一部のプログラムしか自動生成することができない。
また、例えば生成されたプログラムの利用者が入力画面からデータを入力する際に、当該入力されるデータがテーブルの定義に起因する制約条件を満たすか否かのチェックや、既存のデータに基づいて入力補助等を行うためには、そのためのプログラムを別に作成して処理を追加する必要がある。
更に、データベースのテーブル構造の定義により、各項目への入力可能なデータの範囲または値には制約が生じるが、プログラム(アプリケーション)の運用上の制約はデータベースのテーブル構造定義による制約だけでは不十分である。このため、入力補助を行うプログラムを別途作成して処理を追加する必要がある。
上記したように第1の先行技術においては、データベース操作の種類である新規・更新・削除・読み取りの各機能毎に条件を付与し総合的にデータを処理することが可能となる。しかしながら、第1の先行技術においては、各機能(新規・更新・削除・読み取り)のいずれの処理を生成するかは予め指定する必要がある。また、第1の先行技術においては、生成されたプログラムの利用者による入力データの条件も関数毎に指定する必要がある。このように関数毎に指定する必要があると、「入力データの条件を変える」などの保守の際に、変更する関数にそれぞれ変更を加える必要があるため、保守性が悪くなるという弊害も出てくる。
また、上記したように第2の先行技術においては、生成されたプログラムの利用者がプルダウンリストから目的として数値を容易に選択できる入力画面を生成することができる。つまり、第2の先行技術においては、上記した入力補助を行うことが可能である。しかしながら、第2の先行技術では、プルダウンリストの項目の数値間隔のような利用者の入力補助(支援)処理生成のための条件は予め指定しておく必要がある。
そこで、本発明の目的は、プログラムを自動生成する際に、当該生成されるプログラムの利用者の入力を補助するための入力補助プログラムを生成することが可能なプログラム生成用プログラム及びプログラム生成装置を提供することにある。
本発明の1つの態様によれば、データベースに格納されているデータを保持するテーブルに対して処理を行うためのプログラムを利用する利用者のデータ入力を補助するための入力補助プログラムの生成に用いられるテンプレートを当該テーブルに保持されるデータの種類に対応付けて予め格納するテンプレート格納手段とテーブル構造定義情報格納手段とを有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとから構成されるプログラム生成装置において、前記コンピュータによって実行されるプログラム生成用プログラムであって、前記コンピュータに、前記データベースに格納されているテーブルの構造を示すテーブル情報であって、当該テーブルに保持されるデータの種類を含むテーブル情報を前記データベースに格納されている当該テーブルから取得するステップと、前記取得されたテーブル情報によって示されるテーブルの構造に基づいて、当該テーブル情報に含まれるデータの種類及び当該テーブルに保持されるデータの範囲を含むテーブル構造定義情報を生成するステップと、前記生成されたテーブル構造定義情報を前記テーブル構造定義情報格納手段に格納するステップと、前記テーブル構造定義情報格納手段に格納されたテーブル構造定義情報に含まれるデータの範囲を、当該テーブル構造定義情報に含まれるデータの種類に対応付けて前記テンプレート格納手段に格納されているテンプレートに当てはめることによって前記入力補助プログラムを生成するステップとを実行させるためのプログラム生成用プログラムが提供される。
本発明によれば、プログラムを自動生成する際に、当該生成されるプログラムの利用者の入力を補助するための入力補助プログラムを生成することを可能とする。
以下、図面を参照して、本発明の各実施形態について説明する。
[第1の実施形態]
まず、図1及び図2を参照して、本発明の第1の実施形態について説明する。図1は、本実施形態に係るプログラム生成装置のハードウェア構成を示すブロック図である。図1に示すように、コンピュータ10は、例えばハードディスクドライブ(HDD:Hard Disk Drive)のような外部記憶装置20と接続されている。この外部記憶装置20は、コンピュータ10によって実行されるプログラム21を格納する。コンピュータ10及び外部記憶装置20は、プログラム生成装置30を構成する。
図2は、図1に示すプログラム生成装置30の主として機能構成を示すブロック図である。プログラム生成装置30は、例えば各種データを保持するテーブルを例えばスキーマ名毎に格納するデータベース40と接続されている。
図2に示すように、プログラム生成装置30は、全体制御部31、テーブル情報取得部32、データ項目仕様生成部33、プログラム生成部34及び入力チェックルール生成部35を含む。本実施形態において、これらの各部31乃至35は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム(プログラム生成用プログラム)21を実行することにより実現されるものとする。このプログラム21は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム21が例えばネットワークを介してコンピュータ10にダウンロードされても構わない。
また、プログラム生成装置30は、テーブル構造定義情報格納部22及び入力チェックルールテンプレート格納部23を有する。本実施形態において、テーブル構造定義情報格納部22及び入力チェックルールテンプレート格納部23は、例えば外部記憶装置20に格納される。
全体制御部31は、例えばプログラム生成装置30のユーザ(以下、管理者と表記)の操作に応じて、データベース接続情報を入力する。このデータベース接続情報は、例えばURI(Uniform Resource Identifier)を含む。
全体制御部31は、テーブル情報取得部32に作用し、管理者の操作(指示)に応じてデータベース40からテーブル情報を取得するように指示する。また、全体制御部31は、プログラム生成部34に作用し、管理者の操作に応じてデータベース40に対して一連のCRUD処理(生成・読み取り・更新・削除)を行うためのプログラム(以下、本体プログラムと表記)を生成するように指示する。
テーブル情報取得部32は、全体制御部31からの指示に応じて、データベース40に格納されているテーブルのテーブル名を取得する。この取得されたテーブル名は、例えば管理者に対して表示される。
また、テーブル情報取得部32は、管理者によって指定(選択)されたテーブルの構造を示すテーブル情報を、データベース40に格納されている当該テーブルから取得する。このテーブル情報には、例えばテーブル名、テーブルに保持されるデータの種類(型)及び当該データの制約等が含まれる。この型には、例えばVARCHAR2型(文字データ)、NUMBER型(数値データ)またはTIMESTAMP型(日付データ)等が含まれる。また、データの制約には、例えばデータの文字数または桁数等が含まれる。
データ項目仕様生成部33は、テーブル情報取得部32によって取得されたテーブル情報によって示されるテーブルの構造に基づいて、当該テーブルに保持されるデータの範囲を含むテーブル構造定義情報を生成する。このテーブル構造定義情報は、テーブル情報取得部32によって取得されたテーブル情報に、当該テーブル情報によって示されるテーブルの構造において当該テーブルに保持されるデータの範囲が追加されたものである。このデータの範囲は、テーブル情報取得部32によって取得されたテーブル情報に含まれるテーブルに保持されるデータの制約等に基づいて定められる。
データ項目仕様生成部33は、生成されたテーブル構造定義情報をテーブル構造定義情報格納部22に格納する。
プログラム生成部34は、全体制御部31の指示に応じて、上記した本体プログラムを生成する処理を実行する。プログラム生成部34は、テーブル構造定義情報格納部22に格納されたテーブル構造定義情報に基づいて本体プログラムを生成する。この本体プログラムは、例えばWebアプリケーションのプログラムである。
このプログラム生成部34によって生成されたプログラム(本体プログラム)は、例えば当該プログラムを利用するユーザ(以下、利用者と表記)の端末等において用いられる(実行される)。
入力チェックルールテンプレート格納部23には、プログラム生成部34によって生成される本体プログラムを利用する利用者のデータ入力を補助するためのプログラム(以下、入力補助プログラムと表記)の生成に用いられるテンプレートが予め格納される。このテンプレートは、例えばXML(eXtensible Markup Language)形式で、データベース40に格納されているテーブルに保持されるデータの種類(つまり、型)毎に対応付けて入力チェックルールテンプレート格納部23に格納されている。
入力チェックルール生成部35は、テーブル構造定義情報格納部22に格納されたテーブル構造定義情報に含まれるデータの範囲を、入力チェックルールテンプレート格納部23に格納されているテンプレートに当てはめることによって入力補助プログラムを生成する。入力チェックルール生成部35は、テーブル構造定義情報格納部22に格納されたテーブル構造定義情報に含まれるデータの範囲外のデータ入力がされた場合に、当該データ入力をエラーとする処理と行うための入力チェックルール(入力補助ルール)のプログラム(以下、入力チェックルールプログラムと表記)を入力補助プログラムとして生成する。
プログラム生成装置30は、上記したプログラム生成部34によって生成された本体プログラム及び入力チェックルール生成部35によって生成された入力チェックルールプログラム(入力補助プログラム)のセットを利用者に提供する。入力チェックルールプログラムは、例えば利用者によって用いられる端末等において本体プログラムに組み込まれる。これにより、利用者は、入力チェック機能が含まれるプログラムを利用することができる。
図3は、図2に示すテーブル情報取得部32によって取得されるテーブル情報のデータ構造の一例を示す。
図3に示すように、テーブル情報には、テーブル名、カラム名、型、カラム属性及び当該カラム属性の値(カラム属性値)が対応付けて含まれている。カラム属性及びカラム属性値は、テーブルに保持されるデータの制約(例えば桁数等)を示す。
図3に示す例では、テーブル情報には、テーブル名「emp」に対応付けてカラム名「empNo」、「salary」及び「hiredate」が含まれている。また、テーブル情報には、カラム名「empNo」に対応付けて型「VARCHAR2(文字データ型)」が含まれている。更に、テーブル情報には、カラム名「salary」に対応付けて型「NUMBER(数値データ型)」、カラム名「hiredate」に対応付けて型「TIMESTAMP(日付データ型)」が含まれている。
テーブル情報には、型「VARCHAR2」に対応付けてカラム属性「桁(文字数)」及びカラム属性値「x=200」が含まれている。これによれば、カラム名が「empNo」であり、型が「VARCHAR2」であるカラムのデータは、桁が「200(以下)」の文字データであることが示されている。
テーブル情報には、型「NUMBER」に対応付けてカラム属性「桁」及びカラム属性値「y=5」が含まれている。同様に、テーブル情報には、型「NUMBER」に対応付けてカラム属性「位取」及びカラム属性値「z=0」が含まれている。これによれば、カラム名が「salary」であり、型が「NUMBER」であるカラムのデータは、桁が「5(以下)」で、位取が「0」の数値データであることが示されている。
図4は、図2に示すテーブル構造定義情報格納部22に格納されるテーブル構造定義情報のデータ構造の一例を示す。図4に示すテーブル構造定義情報は、上記した図3に示すテーブル情報によって示されるテーブルの構造に基づいてデータ項目仕様生成部33によって生成されたテーブル構造定義情報であるものとする。
図4に示すように、テーブル構造定義情報には、上記した図3に示すテーブル情報と比較して、型「VARCHAR2」に対応付けてカラム属性「最小文字長」及び「最大文字長」が追加されている。テーブル構造定義情報には、カラム属性「最小文字長」に対応付けてカラム属性値「0」が追加されている。また、テーブル構造定義情報には、カラム属性「最大文字長」に対応付けてカラム属性値「200」が追加されている。この「最小文字長」に対応付けられている「0」から「最大文字長」に対応付けられている「200」までが、カラム名が「empNo」であり、型が「VARCHAR2(文字データ型)」であるカラムにおけるデータの範囲(文字数)である。
このカラム属性「最小文字長」及びカラム属性値「0」、カラム属性「最大文字長」及びカラム属性値「200」は、型「VARCHAR2」に対応付けて図3に示すテーブル情報に含まれるカラム属性「桁」及びカラム属性値「x=200」に基づいて定められる。
また、テーブル構造定義情報には、上記した図3に示すテーブル情報と比較して、型「」に対応付けてカラム属性「最小値」及び「最大値」が追加されている。テーブル構造定義情報には、カラム属性「最小値」に対応付けてカラム属性値「−99999」が追加されている。また、テーブル構造定義情報には、カラム属性「最大値」に対応付けてカラム属性値「99999」が追加されている。この「最小値」に対応付けられている「−99999」から「最大値」に対応付けられている「99999」が、カラム名が「salary」であり、型が「NUMBER(数値データ型)」であるカラムにおけるデータの範囲(数値の範囲)である。
このカラム属性「最小値」及びカラム属性値「−99999」、カラム属性「最大値」及びカラム属性値「99999」は、型「NUMBER」に対応付けて図3に示すテーブル情報に含まれるカラム属性「桁」及びカラム属性値「y=5」とカラム属性「位取」及びカラム属性値「z=0」とに基づいて定められる。
このように、図3に示すテーブル情報によって示されるテーブルの構造(ここでは、カラム属性「桁」及びカラム属性値「x=200」、カラム属性「桁」及びカラム属性値「y=5」、カラム属性「位取」及びカラム属性値「z=0」)に基づいて定められた、カラム属性「最小文字長」及び当該カラム属性に対応付けられたカラム属性値「0」、カラム属性「最大文字長」及び当該カラム属性に対応付けられたカラム属性値「200」、カラム属性「最小値」及び当該カラム属性に対応付けられたカラム属性値「−99999」、カラム属性「最大値」及び当該カラム属性に対応付けられたカラム属性値「99999」が当該テーブル情報に追加されることによって、図4に示すテーブル構造定義情報が生成される。
次に、本実施形態に係るプログラム生成装置30の処理手順について説明する。プログラム生成装置30の処理は、テーブル構造定義情報を生成する処理と本体プログラム及び入力補助プログラムを生成する処理(以下、単にプログラムを生成する処理と表記)とに分けられる。以下、これらの各処理について説明する。
まず、図5のフローチャートを参照して、本実施形態に係るプログラム生成装置30におけるテーブル構造定義情報を生成する処理の処理手順について説明する。
テーブル構造定義情報を生成する処理が実行される際には、データベース40に対してアクセスするための最小限の初期情報を指定させるための画面(入力画面)がプログラム生成装置30の管理者に対して表示される。この画面は、プログラム生成装置30に備えられている表示部(図示せず)を介して表示される。以下、管理者に対して表示される画面については同様である。
管理者は、この画面を介して例えばURIを含むデータベース接続情報を指定することができる。つまり、管理者は、例えばURIを指定することによって、データベース40を指定することができる。データベース接続情報が指定されると、管理者は、画面上に表示された例えば「テーブル構造定義情報の生成」または「テーブル情報を取得」メニューを選択(押下)することにより、テーブル構造定義情報の生成を指示する。
プログラム生成装置30に含まれる全体制御部31は、上記したような管理者の操作に応じて、データベース接続情報を入力する(ステップS1)。全体制御部31は、管理者からのテーブル構造定義情報の生成の指示に応じて、データ項目仕様生成部33を起動する。このとき、全体制御部31は、入力されたデータベース接続情報をデータ項目仕様生成部33に渡す。
データ項目仕様生成部33は、全体制御部31から渡されたデータベース40に対するデータベース接続情報を検証する(ステップS2)。データ項目仕様生成部33は、データベース接続情報(URI)が正しいか否かを検証する。データ項目仕様生成部33は、検証の結果、データベース接続情報が正しい場合には、テーブル情報取得部32を起動する。このとき、データ項目仕様生成部33は、データベース接続情報をテーブル情報取得部32に渡す。
なお、検証の結果、データベース接続情報が正しくない場合には、その旨が管理者に対して返される(表示される)。
次に、データ情報取得部32は、データ項目仕様生成部33から渡されたデータベース接続情報をもとに、データベース40に接続する。
データ情報取得部32は、予め設定(初期設定)されているスキーマ名(デフォルトのスキーマ名)を取得する(ステップS3)。データ情報取得部32は、データベース40からデフォルトのスキーマ名を取得する。
データ情報取得部32は、取得されたスキーマ名に対応するテーブルのテーブル名をデータベース40から取得する(ステップS4)。
データ情報取得部32によって取得されたスキーマ名及びテーブル名は、管理者に対して表示される(ステップS5)。
ここで、図6は、データ情報取得部32によって取得されたスキーマ名及びテーブル名が表示される画面(以下、テーブル選択画面と表記)の一例を示す。
図6に示すテーブル選択画面100には、スキーマ名表示欄101、テーブル名表示欄102、選択テーブル名表示欄103、インポートボタン104及びキャンセルボタン105が設けられている。
スキーマ名表示欄101には、データ情報取得部32によって取得されたスキーマ名(ここでは、デフォルトのスキーマ名)が表示される。図6に示す例では、スキーマ名表示欄101には、デフォルトのスキーマ名として「SCOTT」が表示されている。なお、管理者は、例えばプログラム生成装置30を操作することによって、スキーマ名表示欄101に表示されているスキーマ名を変更することができる。
テーブル名表示欄102には、データ情報取得部32によって取得されたテーブル名(スキーマ名表示欄101に表示されているスキーマ名に対応するテーブル名)が表示される。図6に示す例では、テーブル名表示欄102には、テーブル名として「ACCOUNT」、「APPCLASS」、「APPINSTANCE」及び「APPLOG」等の複数のテーブル名が表示されている。
管理者は、プログラム生成装置30を操作することによって、テーブル名表示欄102に表示されている複数のテーブル名の中からテーブル情報を取得するテーブル(名)を選択することができる。つまり、管理者は、テーブル構造定義情報の生成の対象となるテーブルを指定することができる。
この場合、管理者は、テーブル名表示欄102に表示されているテーブル名を選択テーブル名表示欄103に移動させ、インポートボタン104を押下(指定)することでテーブルを選択することができる。
なお、例えばテーブル名表示欄102に表示されているテーブル名を選択テーブル名表示欄103に移動させた後、当該テーブルの選択をキャンセルしたい場合には、キャンセルボタン105を押下することで、当該テーブルの選択をキャンセルすることができる。
再び、図5のフローチャートに戻ると、テーブル情報取得部32によって取得されたスキーマ名及びテーブル名が表示された後、上記したような管理者の操作によってデフォルトのスキーマ名(スキーマ名表示欄101に表示されているスキーマ名)が変更されたか否かが判定される(ステップS6)。
スキーマ名が変更されたと判定された場合(ステップS6のYES)、ステップS4に戻って処理が繰り返される。つまり、スキーマ名が変更された場合には、テーブル情報取得部32は、変更後のスキーマ名に対応するテーブルのテーブル名をデータベース40から取得する。この後、変更後のスキーマ名及びテーブル情報取得部32によって取得されたテーブル名(変更後のスキーマ名に対応するテーブル名)が図6に示すようなテーブル選択画面100において表示される。この場合、このテーブル選択画面100において、上記したように管理者によってテーブル名が選択される。
一方、スキーマ名が変更されていないと判定された場合(ステップS6のNO)、テーブル情報取得部32は、管理者によって選択(指定)されたテーブルの構造を示すテーブル情報を、データベース40に格納されている当該テーブルから取得する(ステップS7)。テーブル情報取得部32は、取得されたテーブル情報をデータ項目仕様生成部33に渡す。テーブル情報がデータ項目仕様生成部33に渡されると、テーブル情報取得部32の処理は終了される。
次に、データ項目仕様生成部33は、テーブル情報取得部32から渡されたテーブル情報に基づいて、テーブル情報によって示されるテーブルの構造において当該テーブルに保持されるデータ(当該テーブルにおけるカラムのデータ)の範囲を追加することによりテーブル構造定義情報を生成する(ステップS8)。具体的には、データ項目仕様生成部33は、上記した図3に示すテーブル情報に基づいて、上記した図4に示すテーブル構造定義情報を生成する。
データ項目仕様生成部33は、生成されたテーブル構造定義情報をテーブル構造定義情報格納部22に書き込む(ステップS9)。このテーブル構造定義情報は、例えばスプレッドシートに保持される。テーブル構造定義情報がテーブル構造定義情報格納部22に書き込まれると、データ項目仕様生成部33の処理は終了される。
データ項目仕様生成部33の処理が終了されると、テーブル構造定義情報を生成する処理が終了した旨の画面(終了画面)がユーザに対して表示される(ステップS10)。
次に、図7のフローチャートを参照して、本実施形態に係るプログラム生成装置30におけるプログラムを生成する処理の処理手順について説明する。本実施形態においては、入力補助プログラムとして、例えば利用者のデータ入力をチェックする入力チェックルール(プログラム)が生成される。
プログラムを生成する処理が実行される際には、当該処理を指示するための画面が管理者に対して表示される。管理者は、プログラム生成装置30を操作することによって、この画面を介してプログラムを生成する処理をプログラム生成装置30に対して指示する。具体的には、管理者は、画面上に表示された例えば「(プログラムの)生成開始」メニューを選択(押下)することにより、当該プログラムの生成を指示する。
プログラム生成装置30に含まれる全体制御部31は、上記したような管理者の操作に応じてプログラムの生成が指示された場合、プログラム生成部34を起動する。
プログラム生成部34が起動されると、当該プログラム生成部34は、全体制御部31を介してテーブル構造定義情報格納部22に格納されているテーブル構造定義情報を読み込む(ステップS11)。
プログラム生成部34は、読み込まれたテーブル構造定義情報に基づいて、データベース40(に格納されているテーブル)に対して一連のCRUD処理(生成・読み取り・更新・削除)を行うためのプログラム(つまり、本体プログラム)を生成する(ステップS12)。
次に、プログラム生成部34は、入力チェックルール生成部35を起動する。このとき、プログラム生成部34は、読み込まれたテーブル構造定義情報を入力チェックルール生成部35に渡す。
入力チェックルール生成部35は、プログラム生成部34から渡されたテーブル構造定義情報に基づいて、入力チェックルールテンプレート格納部23から適切なテンプレートを読み込む(ステップS13)。入力チェックルール生成部35は、プログラム生成部34から渡されたテーブル構造定義情報に含まれる型(文字データ、数値データまたは日付データ等のデータの種類)に対応付けて入力チェックルールテンプレート格納部23に格納されているテンプレートを読み込む。
入力チェックルール生成部35は、プログラム生成部34から渡されたテーブル構造定義情報及び読み込まれたテンプレートに基づいて、入力チェックルール(プログラム)を生成する(ステップS14)。入力チェックルール生成部35は、プログラム生成部34から渡されたテーブル構造定義情報においてカラム名及び型に対応付けられているデータの範囲を、読み取られた当該型に対応するテンプレートに当てはめることによって入力チェックルールプログラムを生成する。
上記した図4に示すテーブル構造定義情報に含まれる例えばカラム名「empNo」の入力チェックルールプログラムにおいては、最小文字長は、当該テーブル構造定義情報における「empNo」の「最小文字長」に対応付けられている「0」である。また、最大文字長は、図4に示すテーブル構造定義情報における「empNo」の「最大文字長」に対応付けられている「200」となる。つまり、この入力チェックルールプログラムによれば、最小文字長「0」から最大文字長「200」の範囲以外の文字長のデータが入力された場合には、当該入力がエラーであることをチェックすることができる。
なお、上記した入力チェックルール生成部35によって生成される入力チェックルールプログラムは、入力チェックルールファイルに基づいて、入力チェックを行う。この入力チェックルールファイルは、ここでは例えばXMLファイルとしている。
ここで、図8は、入力チェックルール生成部35によって生成された入力チェックルールプログラムで使用される設定ファイルの一例(定義例)について説明する。図8は、上記した図4に示すテーブル構造定義情報に基づいて生成された入力チェックルールプログラムで使用される設定ファイルを示す。
図8に示す例では、2行目の<form id = …>、27行目の</form>で囲まれた部分が1つの入力チェックルールの定義を示す。
図8に示す例の4行目の<item key = …>、6行目の</item>で囲まれた部分がテーブルに存在するカラム(カラム名「empNo」)の設定項目となる。以下、<item key = …>〜</item>で囲まれた部分が各項目(カラム名「salary」及び「hiredate」)の入力チェックルールの定義となる。
例えば5行目の<ank-length max = “x” min=”0” erro-message=”ank-length-char”/>の”ank-length”は、半角文字換算の文字長による入力チェックの例であり、この場合の属性、max及びminは、半角文字換算による文字長の最大値(最大文字長)及び最小値(最小文字長)を示す。
図8に示す例では、5行目に示す通り、max=x(実際はデータベース40から取得された桁、例えば200が入力される)、min=0となっている。つまり、例えばカラム名「empNo」の部分の入力チェックルールは、入力チェックルールテンプレート格納部23において当該カラム名の型「VARCHAR2」に対応付けられているテンプレートに、当該カラム名「empNo」の最小文字列「0」及び最大文字列「x(=200)」を当てはめることによって生成される。他のカラム名(例えば「salary」)等についても同様である。
再び図7に戻ると、上記したように入力チェックルールプログラムが生成されると、入力チェックルール生成部35は、当該入力チェックルールプログラムをプログラム生成部34に返す。入力チェックルールプログラムがプログラム生成部34に返されると、入力チェックルール生成部35の処理は終了される。
入力チェックルール生成部35の処理が終了されると、プログラムを生成する処理が終了した旨の画面(終了画面)がユーザに対して表示される(ステップS15)。
上記したように、プログラム生成装置30は、ステップS12において生成された本体プログラム及びステップS14において生成された入力チェックルールプログラムのセットを例えば利用者に提供する。入力チェックルールプログラムは、利用者によって用いられる端末等において本体プログラムに組み込まれる。これにより、例えば本体プログラムの入力項目に対する利用者のデータ入力が入力チェックルールの要件(上記した設定ファイルに定義されたデータの範囲)を満たさない場合には、例えば入力チェックエラー画面が当該利用者に対して表示される。
ここで、図9は、入力チェックエラー画面の一例を示す。図9に示す入力チェックエラー画面200には、利用者のデータ入力が入力チェックルールの要件を満たしていない旨が表示される。図9に示す例では、「SALARY(カラム名)は整数部5桁以内の数値(データの範囲)です。先頭に+または−をつけることができます。」が表示されている。利用者は、この入力チェックエラー画面200を参照することによって適切なデータ入力を行うことが可能となる。
上記したように本実施形態においては、プログラム生成装置30の管理者によって指定(選択)されたテーブルのテーブル情報を取得し、当該テーブル情報から生成されたテーブル構造定義情報がテーブル構造定義情報格納部22に格納される。また、本実施形態においては、データベース40に対して一連のCRUD処理を行うためのプログラム(本体プログラム)がテーブル構造定義情報格納部22に格納されたテーブル構造定義情報に基づいて生成される際に、当該テーブル構造定義情報及び入力チェックルールテンプレート格納部23に格納されているテンプレートに基づいて、当該本体プログラムにおける入力項目に対するデータ入力をチェックするための入力チェックルールプログラム(入力補助プログラム)が生成される。
これにより、本実施形態においては、本体プログラムがアクセスするデータベース40に格納されるテーブルの構造により生じる入力データの制約に基づいて利用者のデータ入力に対する入力チェックルールプログラムを自動的に生成することが可能となる。つまり、本実施形態においては、本体プログラムを自動生成する際に、当該生成される本体プログラムの利用者の入力を補助するための入力補助プログラム(入力チェックルールプログラム)を生成することができるため、アプリケーションの生産効率を向上させることができる。
[第2の実施形態]
次に、図10を参照して、本発明の第2の実施形態について説明する。図10は、本実施形態に係るプログラム生成装置の主として機能構成を示すブロック図である。なお、前述した図2と同様の部分には同一参照符号を付してその詳しい説明を省略する。ここでは、図2と異なる部分について主に述べる。
また、本実施形態に係るプログラム生成装置のハードウェア構成は、前述した第1の実施形態と同様であるため、適宜、図1を用いて説明する。
図10に示すプログラム生成装置300は、テーブル情報取得部301、データ解析部302、データ項目仕様生成部303及び画面選択肢生成部304を含む。本実施形態において、これらの各部301乃至304は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム21を実行することにより実現されるものとする。
なお、データベース40に格納されているテーブルには、例えば当該テーブルに対して入力されたデータが保持(格納)されている。
テーブル情報取得部301は、前述した第1の実施形態におけるテーブル情報取得部32の機能に加えて、管理者によって指定されたテーブルに保持(格納)されているデータ(テーブル格納データ)を、データベース40に格納されている当該テーブルから取得する。
データ解析部302は、テーブル情報取得部301によって取得されたデータを解析する。
データ項目仕様生成部303は、テーブル情報取得部301によって取得されたテーブル情報によって示されるテーブルの構造に加えて、更に、データ解析部302による解析結果に基づいて、テーブル構造定義情報を生成する。このデータ解析部302による解析結果には、例えばテーブル情報取得部301によって取得されたデータ(テーブルに保持されているデータ)の分布または間隔等(の情報)が含まれる。つまり、データ項目仕様生成部303によって生成されるテーブル構造定義情報には、テーブルに保持されているデータの分布及び間隔等(解析結果)が含まれる。このデータ項目仕様生成部303によって生成されるテーブル構造定義情報の詳細については後述する。
画面選択肢生成部304は、テーブル構造定義情報格納部22に格納されたテーブル構造定義情報に基づいて、プログラム生成部34によって生成される本体プログラムを利用する利用者のデータ入力を補助するためのプログラム(入力補助プログラム)を生成する。画面選択肢生成部304は、本体プログラムにおける利用者のデータ入力の際に、当該利用者にデータを選択入力させる画面(画面選択肢)を表示させるためのプログラム(以下、画面選択肢表示プログラムと表記)を入力補助プログラムとして生成する。
つまり、本実施形態に係るプログラム生成装置300においては、入力補助プログラムとして、前述した第1の実施形態における入力チェックルールプログラム(第1の入力補助プログラム)及び上記した画面選択肢表示プログラム(第2の入力補助プログラム)の2つのプログラムが生成される。
図11は、図10に示すテーブル構造定義情報格納部22に格納されるテーブル構造定義情報のデータ構造の一例を示す。図11に示すテーブル構造定義情報は、上記したようにテーブルに保持(格納)されているデータ(テーブル格納データ)の解析結果(データの分布または間隔)に基づいて生成されている点が、前述した図4に示すテーブル構造定義情報とは異なる。ここでは、図4に示すテーブル構造定義情報と異なる点について主に述べる。
図11に示すテーブル構造定義情報には、カラム名「empNo」、型「VARCHAR2」及びカラム属性「最小文字長」に対応付けてカラム属性値「3」が対応付けて含まれている。つまり、前述した図4に示すテーブル構造定義情報においては「0」であった最小文字長が「3」になっている。上記したデータの解析結果において、カラム名が「empNo」であり、型が「VARCHAR2」であるカラムのデータの分布における最小文字長が「3」である場合には、図11に示すように最小文字長として「3」がテーブル構造定義情報に含まれる。
図11に示すテーブル構造定義情報には、カラム名「empNo」、型「VARCHAR2」及びカラム属性「最大文字長」に対応付けてカラム属性値「180」が対応付けて含まれている。つまり、前述した図4に示すテーブル構造定義情報においては「200」であった最小文字長が「180」になっている。上記したデータの解析結果において、カラム名が「empNo」であり、型が「VARCHAR2」であるカラムのデータの分布における最大文字長が「180」である場合には、図11に示すように最大文字長として「180」がテーブル構造定義情報に含まれる。
図11に示すテーブル構造定義情報には、カラム名「salary」、型「NUMBER」及びカラム属性「最小値」に対応付けてカラム属性値「0」が対応付けて含まれている。つまり、前述した図4に示すテーブル構造定義情報においては「−99999」であった最小値が「0」になっている。上記したデータの解析結果において、カラム名が「salary」であり、型が「NUMBER」であるカラムのデータの分布における最小値が「0」である場合には、図11に示すように最小値として「0」がテーブル構造定義情報に含まれる。
図11に示すテーブル構造定義情報には、カラム名「salary」、型「NUMBER」及びカラム属性「最大値」に対応付けてカラム属性値「6000」が対応付けて含まれている。つまり、前述した図4に示すテーブル構造定義情報においては「99999」であった最小文字長が「6000」になっている。上記したデータの解析結果において、カラム名が「salary」であり、型が「NUMBER」であるカラムのデータの分布における最大値が「6000」である場合には、図11に示すように最大値として「6000」がテーブル構造定義情報に含まれる。
また、図11に示すテーブル構造定義情報には、カラム名「hiredate」、型「TIMESTAMP」及びカラム属性「分間隔」に対応付けてカラム属性値「10」が対応付けて含まれている。上記したデータの解析結果において、カラム名が「hiredate」であり、型が「TIMESTAMP」であるカラムのデータ(日付データ)の分間隔が「10」である場合には、図11に示すように分間隔として「10」がテーブル構造定義情報に含まれる。
次に、本実施形態に係るプログラム生成装置300の処理手順について説明する。前述した第1の実施形態と同様に、プログラム生成装置300の処理は、テーブル構造定義情報を生成する処理とプログラムを生成する処理とに分けられる。以下、これらの各処理について説明する。
図12のフローチャートを参照して、本実施形態に係るプログラム生成装置300におけるテーブル構造定義情報を生成する処理の処理手順について説明する。
テーブル構造定義情報を生成する処理が実行される際には、前述した第1の実施形態と同様に、データベース40に対してアクセスするための最小限の初期情報を指定させるための画面がプログラム生成装置300の管理者に対して表示される。
管理者は、この画面を介して例えばURIを含むデータベース接続情報を指定することができる。つまり、管理者は、例えばURIを指定することによって、データベース40を指定することができる。データベース接続情報が指定されると、管理者は、画面上に表示された例えば「テーブル構造定義情報の生成」または「テーブル情報を取得」メニューを選択(押下)することにより、テーブル構造定義情報の生成を指示する。
上記したように管理者によってテーブル構造定義情報の生成が指示されると、前述した図5に示すステップS1〜ステップS6の処理に相当するステップS21〜ステップS26の処理が実行される。
ステップS26においてスキーマ名が変更されたと判定された場合、ステップS24に戻って処理が繰り返される。
一方、ステップS26においてスキーマ名が変更されていないと判定された場合、テーブル情報取得部301は、管理者によって選択(指定)されたテーブルの構造を示すテーブル情報及び当該テーブルに保持(格納)されているデータ(テーブル格納データ)を、データベース40に格納されている当該テーブルから取得する。テーブル情報取得部301は、取得されたテーブル情報及びデータをデータ項目仕様生成部303に渡す。テーブル情報及びデータがデータ項目仕様生成部303に渡されると、テーブル情報取得部301の処理は終了される。
次に、データ項目仕様生成部303は、データ解析部302を起動する。このとき、データ項目仕様生成部303は、テーブル情報取得部301から渡されたデータをデータ解析部302に渡す。
データ解析部302は、データ項目仕様生成部303から渡されたデータを解析する(ステップS28)。データ解析部302は、データ項目仕様生成部303から渡されたデータの分布または間隔等を含む解析結果をデータ項目仕様生成部303に渡す(出力する)。解析結果がデータ項目仕様生成部303に渡されると、データ解析部302の処理は終了される。
データ項目仕様生成部303は、テーブル情報取得部301から渡されたテーブル情報及びデータ解析部302から渡された解析結果に基づいて、テーブル構造定義情報を生成する(ステップS30)。データ項目仕様生成部303は、上記した図11に示すようにテーブル情報によって示されるテーブルの構造において当該テーブルに保持されるデータ(当該テーブルにおけるカラムのデータ)の範囲(最小文字列、最大文字列等)に、解析結果に含まれるデータの分布が反映されたテーブル構造定義情報を生成する。また、データ項目仕様生成部303は、解析結果に含まれるデータの分間隔を含むテーブル構造定義情報を生成する。
上記したステップS30の処理が実行されると、前述した図5に示すステップS9及びステップS10の処理に相当するステップS30及びステップS31の処理が実行される。
次に、図13のフローチャートを参照して、本実施形態に係るプログラム生成装置300におけるプログラムを生成する処理の処理手順について説明する。本実施形態においては、利用者のデータ入力をチェックする入力チェックルールプログラム(第1の入力補助プログラム)及び利用者のデータ入力の際に画面選択肢を表示するための画面選択肢表示プログラム(第2の入力補助プログラム)が入力補助プログラムとして生成される。
プログラムを生成する処理が実行される際には、前述した第1の実施形態と同様に、当該処理を指示するための画面が管理者に対して表示される。管理者は、プログラム生成装置300を操作することによって、この画面を介してプログラムを生成する処理をプログラム生成装置300に対して指示する。具体的には、管理者は、画面上に表示された例えば「(プログラムの)生成開始」メニューを選択(押下)することにより、当該プログラムの生成を指示する。
上記したようにプログラムの生成が指示された場合、前述した図7に示すステップS11〜ステップS14の処理に相当するステップS41〜ステップS44の処理が実行される。つまり、ステップS42においてプログラム生成部34によって本体プログラムが生成される。
また、ステップS44において入力チェックルール生成部35によって入力チェックルールプログラム(第1の入力補助プログラム)が生成される。このとき、入力チェックルール生成部35は、テーブル構造定義情報が上記した図11に示すデータ構造である場合、例えばカラム名が「empNo」であるカラムのデータ範囲が最小文字長「3」から最大文字長「180」までとなるような入力チェックルールプログラムを生成する。つまり、入力チェックルール生成部35は、上記した解析結果に含まれるデータの分布が反映された入力チェックルールプログラムを生成する。なお、この入力チェックルールプログラムにおいては、前述した第1の実施形態と同様に、データの範囲を最小文字列「0」から最大文字列「200」としても構わない。カラム名「empNo」以外(例えば、カラム名「salary」)についても同様である。
なお、プログラム生成部34は、ステップS44の処理が実行されると、画面選択肢生成部304を起動する。このとき、プログラム生成部34は、読み込まれたテーブル構造定義情報を画面選択肢生成部304に渡す。
画面選択肢生成部304は、プログラム生成部34から渡されたテーブル構造定義情報に含まれる解析結果に基づいて、画面選択肢表示プログラムを生成する(ステップS45)。画面選択肢生成部304は、テーブル構造定義情報に含まれるカラム属性及び当該カラム属性に対応付けられているカラム属性値に基づいて画面選択肢表示プログラムを生成する。具体的には、画面選択肢生成部304は、テーブル構造定義情報に含まれる分間隔(図11に示すデータ構造定義情報においては、カラム属性「分間隔」に対応付けられているカラム属性値「10」)に基づいて画面選択肢表示プログラムを生成する。
画面選択肢生成部304は、生成された画面選択肢表示プログラムをプログラム生成部34に返す。画面選択肢表示プログラムがプログラム生成部34に返されると、画面選択肢生成部304の処理は終了される。
画面選択肢生成部304の処理が終了されると、プログラムを生成する処理が終了した旨の画面(終了画面)がユーザに対して表示される(ステップS46)。
プログラム生成装置300は、ステップS42において生成された本体プログラム、ステップS44において生成された入力チェックルールプログラム及びステップS45において生成された画面選択肢表示プログラムのセットを例えば利用者に提供する。画面選択肢表示プログラムは、入力チェックルールプログラムと同様に、利用者によって用いられる端末等において本体プログラムに組み込まれる。これにより、例えば本体プログラムの入力項目に対する利用者のデータ入力の際に、当該データを選択入力させるための画面(画面選択肢)が当該利用者に対して表示される。
ここで、図14は、画面選択肢生成部304によって生成された画面選択肢表示プログラムが実行された場合に表示される画面選択肢の一例を示す。図14に示す画面選択肢400は、上記した図11に示すテーブル構造定義情報に基づいて生成された画面選択肢表示プログラムが実行されることによって表示される画面であるとする。
上記したように図11に示すテーブル構造定義情報に含まれるカラム名「hiredate」、型「TIMESTAMP」及びカラム属性「分間隔」に対応付けられているカラム属性値は、「10」である。この場合、利用者が「TIMESTAMP型」である日付(時間)データを入力項目として入力する際には、図14に示すように10分間隔のプルダウンメニュー(プルダウンリスト)が画面選択肢400として表示される。これにより、本体プログラムを利用する利用者が日付データを入力する際には、当該本体プログラムに組み込まれた画面選択肢表示プログラムにより表示された画面選択肢400において適切な時間を選択することにより容易に日付データを入力することが可能となる。
上記したように本実施形態においては、前述した第1の実施形態における入力チェックルールプログラムに加えて、データベース40に格納されているテーブルに保持されているデータ(テーブル格納データ)の解析結果が含まれたテーブル構造定義情報に基づいて、画面選択肢表示プログラムが入力補助プログラムとして生成される。
これにより、本実施形態においては、前述した第1の実施形態と比較して、データベース40に格納されているテーブルの構造だけでは取得できないデータの分布または間隔を実際にテーブルに保持されているデータを解析することによって取得し、当該解析結果に基づいて入力補助プログラム(画面選択肢表示プログラム)を自動的に生成することができる。このため、本実施形態においては、アプリケーションの生産効率を向上させることが可能となる。
なお、本願発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
本発明の第1の実施形態に係るプログラム生成装置のハードウェア構成を示すブロック図。 図1に示すプログラム生成装置30の主として機能構成を示すブロック図。 図2に示すテーブル情報取得部32によって取得されるテーブル情報のデータ構造の一例を示す図。 図2に示すテーブル構造定義情報格納部22に格納されるテーブル構造定義情報のデータ構造の一例を示す図。 本実施形態に係るプログラム生成装置30におけるテーブル構造定義情報を生成する処理の処理手順を示すフローチャート。 データ情報取得部32によって取得されたスキーマ名及びテーブル名が表示される画面の一例を示す図。 本実施形態に係るプログラム生成装置30におけるプログラムを生成する処理の処理手順を示すフローチャート。 入力チェックルール生成部35によって生成された入力チェックルールプログラムで使用される設定ファイルの一例について説明するための図。 入力チェックエラー画面の一例を示す図。 本発明の第2の実施形態に係るプログラム生成装置の主として機能構成を示すブロック図。 図10に示すテーブル構造定義情報格納部22に格納されるテーブル構造定義情報のデータ構造の一例を示す図。 本実施形態に係るプログラム生成装置300におけるテーブル構造定義情報を生成する処理の処理手順を示すフローチャート。 本実施形態に係るプログラム生成装置300におけるプログラムを生成する処理の処理手順を示すフローチャート。 画面選択肢生成部304によって生成された画面選択肢表示プログラムが実行された場合に表示される画面選択肢の位置例を示す図。
符号の説明
10…コンピュータ、20…外部記憶装置、22…テーブル構造定義情報格納部、23…入力チェックルールテンプレート格納部、30,300…プログラム生成装置、31…全体制御部、32,301…テーブル情報取得部、33,303…データ項目仕様生成部、34…プログラム生成部、35…入力チェックルール生成部、40…データベース、302…データ解析部、304…画面選択子生成部。

Claims (5)

  1. データベースに格納されているデータを保持するテーブルに対して処理を行うためのプログラムを利用する利用者のデータ入力を補助するための入力補助プログラムの生成に用いられるテンプレートを当該テーブルに保持されるデータの種類に対応付けて予め格納するテンプレート格納手段とテーブル構造定義情報格納手段とを有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとから構成されるプログラム生成装置において、前記コンピュータによって実行されるプログラム生成用プログラムであって、
    前記コンピュータに、
    前記データベースに格納されているテーブルの構造を示すテーブル情報であって、当該テーブルに保持されるデータの種類を含むテーブル情報を、前記データベースに格納されている当該テーブルから取得するステップと、
    前記取得されたテーブル情報によって示されるテーブルの構造に基づいて、当該テーブル情報に含まれるデータの種類及び当該テーブルに保持されるデータの範囲を含むテーブル構造定義情報を生成するステップと、
    前記生成されたテーブル構造定義情報を前記テーブル構造定義情報格納手段に格納するステップと、
    前記テーブル構造定義情報格納手段に格納されたテーブル構造定義情報に含まれるデータの範囲を、当該テーブル構造定義情報に含まれるデータの種類に対応付けて前記テンプレート格納手段に格納されているテンプレートに当てはめることによって前記入力補助プログラムを生成するステップと
    を実行させるためのプログラム生成用プログラム。
  2. 前記コンピュータに、前記テーブル構造定義情報格納手段に格納されたテーブル構造定義情報に基づいて、前記データベースに格納されているテーブルに対して処理を行うプログラムを生成するステップを更に実行させることを特徴とする請求項1記載のプログラム生成用プログラム。
  3. 前記生成された入力補助プログラムは、前記テンプレートに当てはめられた前記テーブル構造定義情報に含まれるデータの範囲外のデータ入力がされた場合に、当該データ入力をエラーとする処理を行うための入力チェックルールのプログラムであることを特徴とする請求項1記載のプログラム生成用プログラム。
  4. データベースに格納されているデータを保持するテーブルに対して処理を行うためのプログラムを利用する利用者のデータ入力を補助するための入力補助プログラムの生成に用いられるテンプレートを当該テーブルに保持されるデータの種類に対応付けて予め格納するテンプレート格納手段とテーブル構造定義情報格納手段とを有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとから構成されるプログラム生成装置において、前記コンピュータによって実行されるプログラム生成用プログラムであって、
    前記コンピュータに、
    前記データベースに格納されているテーブルの構造を示すテーブル情報であって、当該テーブルに保持されるデータの種類を含むテーブル情報及び当該テーブルに保持されているデータを、前記データベースに格納されている当該テーブルから取得するステップと、
    前記取得されたデータを解析するステップと、
    前記取得されたテーブル情報によって示されるテーブルの構造及び前記解析結果に基づいて、当該テーブル情報に含まれるデータの種類及び当該テーブルに保持されるデータの範囲及び前記解析結果を含むテーブル構造定義情報を生成するステップと、
    前記テーブル構造定義情報格納手段に格納されたテーブル構造定義情報に含まれるデータの範囲を、当該テーブル構造定義情報に含まれるデータの種類に対応付けて前記テンプレート格納手段に格納されているテンプレートに当てはめることによって第1の入力補助プログラムを生成するステップと、
    前記利用者のデータ入力の際に当該利用者にデータを選択入力させる画面を表示させるための第2の入力補助プログラムを、前記テーブル構造定義情報格納手段に格納されたテーブル構造定義情報に含まれる解析結果に基づいて生成するステップと
    を実行させるためのプログラム生成用プログラム。
  5. データを保持するテーブルを格納するデータベースと接続されているプログラム生成装置において、
    前記データベースに格納されているテーブルに対して処理を行うためのプログラムを利用する利用者のデータ入力を補助するための入力補助プログラムの生成に用いられるテンプレートを当該テーブルに保持されるデータの種類に対応付けて予め格納するテンプレート格納手段と、
    前記データベースに格納されているテーブルの構造を示すテーブル情報であって、当該テーブルに保持されるデータの種類を含むテーブル情報を、前記データベースに格納されている当該テーブルから取得するテーブル情報取得手段と、
    前記取得されたテーブル情報によって示されるテーブルの構造に基づいて、当該テーブル情報に含まれるデータの種類及び当該テーブルに保持されるデータの範囲を含むテーブル構造定義情報を生成するデータ項目仕様生成手段と、
    前記生成されたテーブル構造定義情報を格納するテーブル構造定義情報格納手段と、
    前記テーブル構造定義情報格納手段に格納されたテーブル構造定義情報に含まれるデータの範囲を、当該テーブル構造定義情報に含まれるデータの種類に対応付けて前記テンプレート格納手段に格納されているテンプレートに当てはめることによって前記入力補助プログラムを生成する入力チェックルール生成手段と
    を具備することを特徴とするプログラム生成装置。
JP2008276833A 2008-10-28 2008-10-28 プログラム生成用プログラム及びプログラム生成装置 Active JP5023038B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008276833A JP5023038B2 (ja) 2008-10-28 2008-10-28 プログラム生成用プログラム及びプログラム生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008276833A JP5023038B2 (ja) 2008-10-28 2008-10-28 プログラム生成用プログラム及びプログラム生成装置

Publications (2)

Publication Number Publication Date
JP2010108055A true JP2010108055A (ja) 2010-05-13
JP5023038B2 JP5023038B2 (ja) 2012-09-12

Family

ID=42297479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008276833A Active JP5023038B2 (ja) 2008-10-28 2008-10-28 プログラム生成用プログラム及びプログラム生成装置

Country Status (1)

Country Link
JP (1) JP5023038B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012038103A (ja) * 2010-08-06 2012-02-23 Toshiba Corp 設定情報入力支援プログラムおよび設定情報入力支援装置
WO2013008521A1 (ja) * 2011-07-13 2013-01-17 株式会社コナミデジタルエンタテインメント 表示管理装置,プログラムおよび表示管理方法
JP2013077218A (ja) * 2011-09-30 2013-04-25 Toshiba Corp 設定情報入力支援装置およびプログラム
JP2013238976A (ja) * 2012-05-14 2013-11-28 Nomura Research Institute Ltd ソースコード生成システム
US10885016B2 (en) 2016-09-06 2021-01-05 Kabushiki Kaisha Toshiba System, client device, server device, and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1153391A (ja) * 1997-08-08 1999-02-26 Mitsubishi Electric Corp データベースアクセス方法
JP2005055951A (ja) * 2003-08-04 2005-03-03 Canon Software Inc プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1153391A (ja) * 1997-08-08 1999-02-26 Mitsubishi Electric Corp データベースアクセス方法
JP2005055951A (ja) * 2003-08-04 2005-03-03 Canon Software Inc プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012038103A (ja) * 2010-08-06 2012-02-23 Toshiba Corp 設定情報入力支援プログラムおよび設定情報入力支援装置
WO2013008521A1 (ja) * 2011-07-13 2013-01-17 株式会社コナミデジタルエンタテインメント 表示管理装置,プログラムおよび表示管理方法
JP2013020549A (ja) * 2011-07-13 2013-01-31 Konami Digital Entertainment Co Ltd 表示管理装置およびプログラム
CN103314348A (zh) * 2011-07-13 2013-09-18 科乐美数码娱乐株式会社 显示管理设备、程序,以及显示管理方法
US9839848B2 (en) 2011-07-13 2017-12-12 Konami Digital Entertainment Co., Ltd. Display management apparatus, program, and display management method
JP2013077218A (ja) * 2011-09-30 2013-04-25 Toshiba Corp 設定情報入力支援装置およびプログラム
JP2013238976A (ja) * 2012-05-14 2013-11-28 Nomura Research Institute Ltd ソースコード生成システム
US10885016B2 (en) 2016-09-06 2021-01-05 Kabushiki Kaisha Toshiba System, client device, server device, and program

Also Published As

Publication number Publication date
JP5023038B2 (ja) 2012-09-12

Similar Documents

Publication Publication Date Title
US10866685B2 (en) System for providing dynamic linked panels in user interface
KR101688554B1 (ko) 데이터 객체의 관리 및 자동 링킹
US20130132471A1 (en) Application Development Support Device, Program and Storage Medium
KR101275871B1 (ko) SaaS 환경에서의 홈페이지 제작 시스템 및 방법, 그 방법을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체
US8136043B2 (en) GUI generation apparatus and method for generating GUI
US20140136958A1 (en) Relating to distributed access infrastructure for a database
JP5023038B2 (ja) プログラム生成用プログラム及びプログラム生成装置
da Silva et al. Model-driven gui generation and navigation for android bis apps
JP5267732B2 (ja) Webページの制御方法、計算機システム及びプログラム
JP4783235B2 (ja) Hmi開発支援装置、hmi開発支援方法およびプログラム
JP4386243B2 (ja) プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体
JP6304433B2 (ja) 情報処理装置、サーバ、その処理方法及びプログラム
JP2006163855A (ja) Webアプリケーション開発支援装置及び開発支援方法
JP3964259B2 (ja) プログラム生成装置、及びプログラム生成方法、並びにプログラム生成用プログラム
JP7105683B2 (ja) 電子計算機、方法及びプログラム
JP6265030B2 (ja) アプリケーション開発システム、開発装置のデータ処理方法、およびプログラム
JP4976783B2 (ja) プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体
JP2006331356A (ja) 業務処理プログラム、それを記録した記録媒体及び業務処理システム
JP2013238976A (ja) ソースコード生成システム
JP7322255B2 (ja) 電子計算機、方法及びプログラム
JP2014059699A (ja) デモアプリケーション生成システムおよびデモアプリケーション生成プログラム
JP4706001B2 (ja) 設計コンピュータプログラム
JP2007157037A (ja) データベースのアクセス環境構築方法、アクセス環境構築プログラム、およびアクセス環境構築装置
KR20130040167A (ko) SaaS 환경에서의 홈페이지 제작 시스템, 그 시스템의 기능을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체
Freeman et al. SportsStore: A Real Application

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110926

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5023038

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

Year of fee payment: 3

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350