JP2004252536A - プログラム開発支援装置 - Google Patents
プログラム開発支援装置 Download PDFInfo
- Publication number
- JP2004252536A JP2004252536A JP2003039362A JP2003039362A JP2004252536A JP 2004252536 A JP2004252536 A JP 2004252536A JP 2003039362 A JP2003039362 A JP 2003039362A JP 2003039362 A JP2003039362 A JP 2003039362A JP 2004252536 A JP2004252536 A JP 2004252536A
- Authority
- JP
- Japan
- Prior art keywords
- database
- program
- template
- input
- output interface
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】本発明は、データベースの利用技術に精通していないプログラム開発者であっても、データベースを利用するプログラムを簡単に開発できるようにする新たなプログラム開発支援装置の提供を目的とする。
【解決手段】データベースのデータ構造について記述する表データを取得する手段と、抽象化した名前を使って支援対象のプログラムがデータベースにアクセスする際に用いる入出力インタフェースについて記述する雛型と取得された表データとに基づいて、その入出力インタフェースを作成する手段と、抽象化した名前を使って上記入出力インタフェースが必要とするデータベースのデータ構造の定義情報について記述する雛型と取得された表データとに基づいて、その定義情報を作成する手段と、作成された定義情報及び入出力インタフェースをオブジェクトに変換する手段とを備えるように構成する。
【選択図】 図1
【解決手段】データベースのデータ構造について記述する表データを取得する手段と、抽象化した名前を使って支援対象のプログラムがデータベースにアクセスする際に用いる入出力インタフェースについて記述する雛型と取得された表データとに基づいて、その入出力インタフェースを作成する手段と、抽象化した名前を使って上記入出力インタフェースが必要とするデータベースのデータ構造の定義情報について記述する雛型と取得された表データとに基づいて、その定義情報を作成する手段と、作成された定義情報及び入出力インタフェースをオブジェクトに変換する手段とを備えるように構成する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、データベースを利用するプログラムの開発を支援するプログラム開発支援装置に関し、特に、データベースの利用技術に精通していないプログラム開発者であっても、データベースを利用するプログラムを簡単に開発できるようにするプログラム開発支援装置に関する。
【0002】
【従来の技術】
データベースを利用するアプリケーションプログラムを開発する場合には、そのデータベースのアクセス方法を理解していなければ、その開発を行うことができない。
【0003】
これから、従来では、データベースを利用するアプリケーションプログラムを開発する場合、アプリケーションプログラムの開発者は、そのデータベースのアクセス方法について知識がない場合には、その知識を得てからアプリケーションプログラムを開発するようにしていた。
【0004】
このようなことを背景にして、COBOL/SQL変更情報ファイルを用意して、COBOLのI/O命令ごとに、SQL命令及びデータベースのテーブル構造を変換してデータベースにアクセスすることを可能とする技術も用いられている(例えば、特許文献1参照)。
【0005】
【特許文献1】
特開平7−141237号公報
【0006】
【発明が解決しようとする課題】
しかしながら、従来技術のように、データベースを利用するアプリケーションプログラムを開発する場合にあって、データベースのアクセス法について知識がないときに、その知識を得てからアプリケーションプログラムを開発するようにしていると、アプリケーションプログラムの開発に時間を要することになるという問題がある。
【0007】
特に、COBOLを開発言語とする技術者は、最近広く用いられているオブジェクト指向データベースの技術を習得していないことが多いこともあって、データベースを利用するアプリケーションプログラムの開発に時間を要することが多い。
【0008】
本発明はかかる事情に鑑みてなされたものであって、データベースの利用技術に精通していないプログラム開発者であっても、データベースを利用するプログラムを簡単に開発できるようにする新たなプログラム開発支援装置の提供を目的とする。
【0009】
【課題を解決するための手段】
この目的を達成するために、本発明のプログラム開発支援装置は、データベースを利用するプログラムの開発を支援する処理を行うために、▲1▼データベースのデータ構造について記述する表データを取得する取得手段と、▲2▼抽象化した名前を使って支援対象のプログラムがデータベースにアクセスする際に用いる入出力インタフェースについて記述する雛型と、取得手段の取得した表データとに基づいて、その入出力インタフェースを作成する第1の作成手段と、▲3▼抽象化した名前を使ってその入出力インタフェースが必要とするデータベースのデータ構造の定義情報について記述する雛型と、取得手段の取得した表データとに基づいて、その定義情報を作成する第2の作成手段と、▲4▼作成された定義情報及び入出力インタフェースをオブジェクトに変換する変換手段とを備えるように構成する。
【0010】
ここで、取得手段に代えて、データベースを解析することで、データベースのデータ構造についての情報(取得手段の取得する表データに相当する情報)を入手する入手手段を備えることがあり、この入手手段を備えるときには、第1の作成手段は、上述の雛型とこの入手手段の入手した情報とに基づいて、支援対象のプログラムがデータベースにアクセスする際に用いる入出力インタフェースを作成し、第2の作成手段は、上述の雛型とこの入手手段の入手した情報とに基づいて、その入出力インタフェースが必要とするデータベースのデータ構造の定義情報を作成するように処理する。
【0011】
以上の各処理手段はコンピュータプログラムで実現できるものであり、このコンピュータプログラムは、半導体メモリなどの記録媒体に記録して提供したり、ネットワークを介して提供することができる。
【0012】
このように構成される本発明のプログラム開発支援装置では、取得手段がデータベースのデータ構造について記述する表データを取得すると、第1の作成手段は、抽象化した名前を使って支援対象のプログラムがデータベースにアクセスする際に用いる入出力インタフェースについて記述する雛型を入手して、その雛型と取得手段の取得した表データとに基づいて、その入出力インタフェースを作成する。
【0013】
一方、取得手段がデータベースのデータ構造について記述する表データを取得すると、第2の作成手段は、抽象化した名前を使ってその入出力インタフェースが必要とするデータベースのデータ構造の定義情報について記述する雛型を入手して、その雛型と取得手段の取得した表データとに基づいて、その定義情報を作成する。
【0014】
この定義情報及び入出力インタフェースの作成を受けて、変換手段は、作成された定義情報及び入出力インタフェースをオブジェクトに変換する。
【0015】
このようにして、本発明のプログラム開発支援装置では、プログラム開発者に対してデータベースのアクセス方法の知識を要求することなく、支援対象のプログラムがデータベースにアクセスする際に用いる入出力インタフェースと、その入出力インタフェースがデータベースにアクセスするときに必要となるデータベースのデータ構造の定義情報とを自動的に作成して、それをオブジェクトに変換するように処理することから、プログラム開発者は、データベースを利用するプログラムを作成する場合、そのプログラムの中に、ただ単にそのオブジェクトを呼び出す記述をコーディングすれば足りるようになる。
【0016】
これから、本発明によれば、データベースを利用するプログラムの開発者は、そのデータベースのアクセス方法を理解していなくても、そのデータベースを利用するプログラムを開発できるようになる。
【0017】
【発明の実施の形態】
以下、実施の形態に従って本発明を詳細に説明する。
【0018】
図1に、本発明を具備するプログラム開発支援装置1の一実施形態例を図示する。
【0019】
この図に示すように、本発明のプログラム開発支援装置1は、プログラム開発者の操作する端末2に接続されて、データベースを利用するアプリケーションプログラムの開発を支援する処理を行うものであって、Excelファイル10と、読出手段11と、アクセスインタフェースオブジェクト用雛型12と、アクセスインタフェースオブジェクト作成手段13と、データアクセスオブジェクト用雛型14と、データアクセスオブジェクト作成手段15と、コンパイル手段16とを備える。
【0020】
このExcelファイル10は、Excel(登録商標)を使ってプログラム開発者により作成されたデータベースのデータ構造について記述するワークシートを格納する。
【0021】
読出手段11は、Excelファイル10に格納されるワークシートを読み出すことで取得する。例えば、売上データと社員データという2つのデータベース(テーブル)が存在する場合には、それに合わせて2つのワークシートが作成されることになるので、その2つのワークシートを読み出すことで取得することになる。
【0022】
アクセスインタフェースオブジェクト用雛型12は、例えばCOBOL(その他の言語でもよく、また、開発対象の言語と一致する必要もない)で記述されて、抽象化した名前を使って、支援対象のアプリケーションプログラムがデータベースにアクセスする際に用いる入出力インタフェースについて記述する。
【0023】
アクセスインタフェースオブジェクト作成手段13は、アクセスインタフェースオブジェクト用雛型12と読出手段11の読み出したワークシートとを使って、支援対象のアプリケーションプログラムがデータベースにアクセスする際に用いる入出力インタフェースとなるアクセスインタフェースオブジェクト17のソースコードを作成する。
【0024】
データアクセスオブジェクト用雛型14は、例えばCOBOL(その他の言語でもよく、また、開発対象の言語と一致する必要もない)で記述されて、抽象化した名前を使って、アクセスインタフェースオブジェクト17がデータベースにアクセスするときに必要となるデータベースのデータ構造の定義情報について記述する。
【0025】
データアクセスオブジェクト作成手段15は、データアクセスオブジェクト用雛型14と読出手段11の読み出したワークシートとを使って、アクセスインタフェースオブジェクト17が必要とするデータベースのデータ構造の定義情報となるデータアクセスオブジェクト18のソースコードを作成する。
【0026】
コンパイル手段16は、アクセスインタフェースオブジェクト作成手段13の作成したソースコードをコンパイルすることでアクセスインタフェースオブジェクト17を作成するとともに、データアクセスオブジェクト作成手段15の作成したソースコードをコンパイルすることでデータアクセスオブジェクト18を作成する。
【0027】
図2に、Excelファイル10に格納されるワークシートの一例を図示する。
【0028】
この図に示すように、Excelにより作成されたワークシートは、例えば、FLRUMというマスタ物理名を持つテーブル(“売上データ”というマスタ日本語名を持つ)では、DTKBN/DTSIK/HASIK/URKKBN/UKEKBN/EIGCD/DENNOという7つの項目を持ち、それらの各項目毎に、型、長さ、キー項目となるのか否かの情報(フラグ*の有無)、コメントなどについて記述する。
【0029】
ここで、後述することから分かるように、テーブル名は生成されるクラスのテーブル名として使用され、項目名は生成されるクラスのプロパティ名として使用され、型名は生成されるプロパティの型として使用され、キーマーク(*)はキー用のプロパティの作成判別に使用され、コメントは生成されるプロパティのコメントとして使用されることになる。
【0030】
先ず最初に、データアクセスオブジェクト18の作成処理について説明する。
【0031】
図3に、データアクセスオブジェクト18の作成に用いられるデータアクセスオブジェクト用雛型14の一例を図示する。
【0032】
この図に示すように、データアクセスオブジェクト用雛型14は、クラス雛型(図3(a)に示すもの)と、プロパティ雛型(図3(b)に示すもの)とで構成されている。
【0033】
データベースにマッピングされるクラス(テーブルに対応付けられる)は、このクラス雛型をもとにして、Excelファイル10から読み出すワークシートの数分作成されることになるものであって、このクラス雛型に記述される“%テーブル名%”がワークシートに記述されるテーブル名に置換されることで作成されることになる。
【0034】
一方、データベースにマッピングされるプロパティ(項目に対応付けられる)は、このプロパティ雛型をもとにして、“DBカラム数(項目数)+キー数”の数分作成されることになるものであって、このプロパティ雛型に記述される“%カラムのコメント%”がワークシートに記述されるコメントに置換され、このプロパティ雛型に記述される“%カラム名%”がワークシートに記述される項目名に置換され、このプロパティ雛型に記述される“%カラム型%”がワークシートに記述される型に置換されることで作成されることになる。
【0035】
ここで、図3(b)では、キー項目用に用意されるプロパティ雛型を図示していることで「KEY 」という記述を持つものを示しているが、DBカラム用に用意されるプロパティ雛型として、この「KEY 」という記述に代えて、「COL 」という記述を持つものが用意されている。
【0036】
データアクセスオブジェクト作成手段15は、この“%・・・名%”の個所の置換処理を行うことで、アクセスインタフェースオブジェクト17が必要とするデータベースのデータ構造の定義情報となるデータアクセスオブジェクト18のソースコードを作成する処理を行うものであって、図2に示す「売上データ」というワークシートの例で説明するならば、この置換処理を行うことで、図4に示すようなデータアクセスオブジェクト18のソースコードを作成することになる。
【0037】
ここで、図4では、“%カラム型%”を“Int32”に置き換えている。また、“%カラム名%”を“DTKBN”というDBカラム名に置き換える場合と、“nDTKBN”というDBカラム名に置き換える場合とがあるが、これは外部で用いられる“DTKBN”と内部で用いられる“DTKBN”とを区別するためである。
【0038】
このようにして、データアクセスオブジェクト作成手段15が上述の置換処理を行うことでデータアクセスオブジェクト18のソースコードを作成すると、コンパイル手段16は、そのソースコードをコンパイルすることでデータアクセスオブジェクト18を作成することになる。
【0039】
次に、アクセスインタフェースオブジェクト17の作成処理について説明する。
【0040】
図5に、アクセスインタフェースオブジェクト17の作成に用いるアクセスインタフェースオブジェクト用雛型12の一例を図示する。
【0041】
アクセスインタフェースオブジェクト用雛型12は、データベースへのアクセス形態(Select,Delete,Update)に合わせて用意されており、この図に示すように、大きく分けて、宣言文の領域と、リンケージリストの記入域(データベースに引き渡すキー項目を羅列する領域)の領域と、引数リストの記入域(データベースから受け取るキー項目を羅列する領域)の領域と、インスタンス生成の領域と、実際のアクセス処理のプログラムについて記述する領域とで構成されている。
【0042】
アクセスインタフェースオブジェクト作成手段13は、このアクセスインタフェースオブジェクト用雛型12に記述される“%・・・名%”の個所を、ワークシートに記述される対応の値や端末2から入力されるユーザ指定値に置き換えることで、支援対象のアプリケーションプログラムがデータベースにアクセスする際に用いるアクセスインタフェースオブジェクト17のソースコードを作成する処理を行うものであって、図2に示す「売上データ」というワークシートの例で説明するならば、この置換処理を行うことで、図6に示すようなアクセスインタフェースオブジェクト17のソースコードを作成することになる。
【0043】
プログラム開発者はデータベースを利用するアプリケーションプログラムを開発する場合、例えば、図2に示す「売上データ」を検索(Select)するときに、リンケージリスト及び引数リストに“FLRUM”と記述することで、全項目についてその値を得たいと思う場合もあるし、リンケージリスト及び引数リストに特定の項目の羅列データを記述することで、それらの項目の値のみをその羅列順に得たいと思う場合もある。
【0044】
これから、アクセスインタフェースオブジェクト作成手段13は、様々なアクセス形態の要求に合わせてデータアクセスオブジェクト18のインスタンスを生成して、それらに対して上述の置換処理を実行することで、プログラム開発者の必要とするアクセスインタフェースオブジェクト17のソースコードを作成することになるが、そのとき、プログラム開発者から、その作成するアクセスインタフェースオブジェクト17のIDとなるユーザ指定値を受け取って、アクセスインタフェースオブジェクト17のソースプログラムに埋め込むように処理することになる。
【0045】
図6では、図5に示すアクセスインタフェースオブジェクト用雛型12に記述される“%MASTER ID%”を、“URI010”というユーザ指定値に置換した例を示している。
【0046】
このようにして、アクセスインタフェースオブジェクト作成手段13がアクセスインタフェースオブジェクト用雛型12を使ってアクセスインタフェースオブジェクト17のソースコードを作成すると、コンパイル手段16は、そのソースコードをコンパイルすることでアクセスインタフェースオブジェクト17を作成することになる。
【0047】
データアクセスオブジェクト18及びアクセスインタフェースオブジェクト17が作成されると、図7に示すように、情報処理装置100に展開されたデータベース200を利用するアプリケーションプログラム300は、アクセスインタフェースオブジェクト17のIDとなる上述のユーザ指定値を指定してアクセスインタフェースオブジェクト17を呼び出すだけで、データベース200にアクセスすることができるようになる。
【0048】
すなわち、プログラム開発者は、例えば、「売上データ」の全項目を検索するアクセスインタフェースオブジェクト17に対して“URI010”というIDを割り付けた場合にあって、「売上データ」の全項目を検索して処理を実行するアプリケーションプログラム300を開発する場合には、アプリケーションプログラム300に、この“URI010”を指定してアクセスインタフェースオブジェクト17を呼び出す記述をプログラミングするだけで、その検索を実現できるようになるのである。
【0049】
これから、本発明のプログラム開発支援装置1が用意されると、プログラム開発者は、データベース200のアクセス方法の知識がなくても、ただ単に、Excelを使ってデータベースのデータ構造について記述する図2に示すようなワークシートを作成するだけで、データベース200を利用するアプリケーションプログラム300を開発できるようになる。
【0050】
次に、図8ないし図12に示す処理フローに従って、本発明のプログラム開発支援装置1が実行する処理についてさらに詳細に説明する。
【0051】
本発明のプログラム開発支援装置1は、図4に示すようなデータアクセスオブジェクト18のソースコードを作成するために、図8の処理フローに示すように、先ず最初に、ステップ10で、処理対象のExcelファイル10を指定し、続くステップ11で、出力先のディレクトリを指定する。
【0052】
続いて、ステップ12で、指定したExcelファイル10をインスタンス化してワークブックを開くことで、そのExcelファイル10を使える状態にする。
【0053】
続いて、ステップ13で、指定したExcelファイル10に含まれるワークシートのコレクション(図2に示す項目の情報)を取得し、続くステップ14で、各ワークシートについて図9の処理フローによる処理を施す。
【0054】
本発明のプログラム開発支援装置1は、図9の処理フローに入ると、先ず最初に、ステップ20で、処理対象のワークシートを取得し、続くステップ21で、そのワークシートが処理対象条件を満たすのか否かを判断する。すなわち、予め指定した記述形式で記述されているのか否かを判断する。
【0055】
ステップ21で、処理対象のワークシートが処理対象条件を満たすことを判断するときには、ステップ22に進んで、処理対象のレンジ(項目の記述されている範囲)を取得し、続くステップ23で、そのレンジのデータ(項目の情報)を読み出す。
【0056】
続いて、ステップ24で、図10の処理フローを実行すべく、データアクセスオブジェクト18の作成処理を司る処理実装メソッドを呼び出す。
【0057】
このようにして呼び出されると、処理実装メソッドは、図10の処理フローに示すように、先ず最初に、ステップ30で、渡されたレンジのサイズを取得する。
【0058】
続いて、ステップ31で、図3(a)に示したデータアクセスオブジェクト用雛型14のクラス雛型を使って、ソースオブジェクトO(図4の上段に示すソースオブジェクト)を生成してクラス名を設定する。すなわち、クラス雛型に置換処理を施すことでソースオブジェクトOを生成して、クラス名を設定するのである。
【0059】
続いて、ステップ32で、図3(b)に示したデータアクセスオブジェクト用雛型14のプロパティ雛型を使って、クラスのプロパティを生成するソースオブジェクトP(図4の下段に示すソースオブジェクト)を生成する。すなわち、プロパティ雛型に置換処理を施すことでソースオブジェクトPを生成するのである。
【0060】
続いて、ステップ33で、ソースオブジェクトPのプロパティとなる「名称」に、ワークシートの1番目のセルの値(図2中に示す項目名の欄の値)を設定する。続いて、ステップ34で、ソースオブジェクトPのプロパティとなる「型名」に、ワークシートの17番目のセルの値(図2中に示す型の欄の値)を設定する。続いて、ステップ35で、ソースオブジェクトPのプロパティとなる「コメント」に、ワークシートの42番目のセルの値(図2中に示すコメントの欄の値)を設定する。
【0061】
続いて、ステップ36で、ワークシートの59番目のセルの値(図2中に示す*欄の値)にキー設定を示す“*”が記述されているのか否かを判断して、このキーの設定を判断するときには、ステップ37に進んで、ソースオブジェクトPのプロパティとなる「キー判別フラグ」にTRUEを設定する。一方、キーの設定を判断しないときには、このステップ37の処理を省略する。
【0062】
続いて、ステップ38で、ソースオブジェクトPをソースオブジェクトOに登録し、続くステップ39で、レンジの全行について処理を終了したのか否かを判断して、レンジの全行について処理を終了していないことを判断するときには、次の行について処理を行うべくステップ32に戻り、レンジの全行について処理を終了したことを判断するときには、処理を終了する。
【0063】
このようにして、本発明のプログラム開発支援装置1は、図8ないし図10の処理フローを実行することで、図4に示すようなデータアクセスオブジェクト18のソースコードを作成するのである。
【0064】
そして、本発明のプログラム開発支援装置1は、このようにして作成したデータアクセスオブジェクト18のソースコードをコンパイルすることでデータアクセスオブジェクト18を作成する。
【0065】
一方、本発明のプログラム開発支援装置1は、図6に示すようなアクセスインタフェースオブジェクト17のソースコードを作成するために、図11の処理フローに示すように、先ず最初に、ステップ40で、Select ロジックの雛型となるアクセスインタフェースオブジェクト用雛型12を読み込み、続くステップ41で、その雛型中の置換マークを置換するために、図12の処理フローを実行することで、その雛型置換処理を実行する。
【0066】
続いて、ステップ42で、Delete ロジックの雛型となるアクセスインタフェースオブジェクト用雛型12を読み込み、続くステップ43で、その雛型中の置換マークを置換するために、図12の処理フローを実行することで、その雛型置換処理を実行する。
【0067】
続いて、ステップ44で、Update ロジックの雛型となるアクセスインタフェースオブジェクト用雛型12を読み込み、続くステップ45で、その雛型中の置換マークを置換するために、図12の処理フローを実行することで、その雛型置換処理を実行する。
【0068】
続いて、ステップ46で、その置換した文字列(アクセスインタフェースオブジェクト17のソースコード)をファイルに出力して、処理を終了する。
【0069】
図12の処理フローについて説明するならば、本発明のプログラム開発支援装置1は、雛型置換処理に入ると、先ず最初に、ステップ50で、図10の処理フローを呼び出すことで、ワークシートに記述される情報を得る。
【0070】
続いて、ステップ51で、COBOLクラスオブジェクトからソース文字列を取得する。すなわち、図5に示すアクセスインタフェースオブジェクト用雛型12を取得するのである。
【0071】
続いて、ステップ52で、その取得したアクセスインタフェースオブジェクト用雛型12に対して、マスタ日本語名、マスタ物理名、ロジック内変数名、ユーザ指定値についての置換処理を実行する。続いて、ステップ53で、COBOLクラスオブジェクトからリンケージリスト、引数リストを取得して置換処理を実行する。
【0072】
そして、最後に、ステップ54で、呼び出し元へ結果を戻り値として返却する。
【0073】
このようにして、本発明のプログラム開発支援装置1は、図11及び図12の処理フローを実行することで、図6に示すようなアクセスインタフェースオブジェクト17のソースコードを作成するのである。
【0074】
そして、本発明のプログラム開発支援装置1は、このようにして作成したアクセスインタフェースオブジェクト17のソースコードをコンパイルすることでアクセスインタフェースオブジェクト17を作成する。
【0075】
以上に説明した実施形態例では、Excelを使ってデータベースのデータ構造について記述する図2に示すようなワークシートを作成することで、データアクセスオブジェクト18及びアクセスインタフェースオブジェクト17を作成するという方法を用いたが、データベースを解析することでも、図2に示すようなワークシートに記述される情報を入手することが可能であるので、データアクセスオブジェクト18及びアクセスインタフェースオブジェクト17を作成することができる。
【0076】
すなわち、図2に示すようなワークシートは、例えば、FLRUMというマスタ物理名を持つテーブルでは、DTKBN/DTSIK/HASIK/URKKBN/UKEKBN/EIGCD/DENNOという7つの項目を持ち、それらの各項目毎に、型、長さ、キー項目となるのか否かの情報、コメントなどについて記述しているが、これらの情報については、データベースを解析することでも入手可能である。
【0077】
これから、データベースを解析することで図2に示すようなワークシートに記述される情報を入手する解析手段を用意することでも、本発明のプログラム開発支援装置1は実現可能である。
【0078】
この解析手段を用意する場合には、アクセスインタフェースオブジェクト作成手段13は、アクセスインタフェースオブジェクト用雛型12とこの解析手段の解析により得られる情報とを使い、上述の置換処理を実行することで、支援対象のアプリケーションプログラムがデータベースにアクセスする際に用いる入出力インタフェースとなるアクセスインタフェースオブジェクト17のソースコードを作成することになる。
【0079】
そして、この解析手段を用意する場合には、データアクセスオブジェクト作成手段15は、データアクセスオブジェクト用雛型14とこの解析手段の解析により得られる情報とを使い、上述の置換処理を実行することで、アクセスインタフェースオブジェクト17が必要とするデータベースのデータ構造の定義情報となるデータアクセスオブジェクト18のソースコードを作成することになる。
【0080】
【発明の効果】
以上説明したように、本発明のプログラム開発支援装置では、プログラム開発者に対してデータベースのアクセス方法の知識を要求することなく、支援対象のプログラムがデータベースにアクセスする際に用いる入出力インタフェースと、その入出力インタフェースがデータベースにアクセスするときに必要となるデータベースのデータ構造の定義情報とを自動的に作成して、それをオブジェクトに変換するように処理することから、プログラム開発者は、データベースを利用するプログラムを作成する場合、そのプログラムの中に、ただ単にそのオブジェクトを呼び出す記述をコーディングすれば足りるようになる。
【0081】
これから、本発明によれば、データベースを利用するプログラムの開発者は、そのデータベースのアクセス方法を理解していなくても、そのデータベースを利用するプログラムを開発できるようになる。
【図面の簡単な説明】
【図1】本発明のプログラム開発支援装置の一実施形態例である。
【図2】ワークシートの一例を示す図である。
【図3】データアクセスオブジェクト用雛型の一例を示す図である。
【図4】データアクセスオブジェクトのソースコードの一例を示す図である。
【図5】アクセスインタフェースオブジェクト用雛型の一例を示す図である。
【図6】アクセスインタフェースオブジェクトのソースコードの一例を示す図である。
【図7】本発明により作成されたデータアクセスオブジェクト及びアクセスインタフェースオブジェクトの利用形態の説明図である。
【図8】本発明のプログラム開発支援装置の実行する処理フローの一例である。
【図9】本発明のプログラム開発支援装置の実行する処理フローの一例である。
【図10】本発明のプログラム開発支援装置の実行する処理フローの一例である。
【図11】本発明のプログラム開発支援装置の実行する処理フローの一例である。
【図12】本発明のプログラム開発支援装置の実行する処理フローの一例である。
【符号の説明】
1 プログラム開発支援装置
2 端末
10 Excelファイル
11 読出手段
12 アクセスインタフェースオブジェクト用雛型
13 アクセスインタフェースオブジェクト作成手段
14 データアクセスオブジェクト用雛型
15 データアクセスオブジェクト作成手段
16 コンパイル手段
17 アクセスインタフェースオブジェクト
18 データアクセスオブジェクト
【発明の属する技術分野】
本発明は、データベースを利用するプログラムの開発を支援するプログラム開発支援装置に関し、特に、データベースの利用技術に精通していないプログラム開発者であっても、データベースを利用するプログラムを簡単に開発できるようにするプログラム開発支援装置に関する。
【0002】
【従来の技術】
データベースを利用するアプリケーションプログラムを開発する場合には、そのデータベースのアクセス方法を理解していなければ、その開発を行うことができない。
【0003】
これから、従来では、データベースを利用するアプリケーションプログラムを開発する場合、アプリケーションプログラムの開発者は、そのデータベースのアクセス方法について知識がない場合には、その知識を得てからアプリケーションプログラムを開発するようにしていた。
【0004】
このようなことを背景にして、COBOL/SQL変更情報ファイルを用意して、COBOLのI/O命令ごとに、SQL命令及びデータベースのテーブル構造を変換してデータベースにアクセスすることを可能とする技術も用いられている(例えば、特許文献1参照)。
【0005】
【特許文献1】
特開平7−141237号公報
【0006】
【発明が解決しようとする課題】
しかしながら、従来技術のように、データベースを利用するアプリケーションプログラムを開発する場合にあって、データベースのアクセス法について知識がないときに、その知識を得てからアプリケーションプログラムを開発するようにしていると、アプリケーションプログラムの開発に時間を要することになるという問題がある。
【0007】
特に、COBOLを開発言語とする技術者は、最近広く用いられているオブジェクト指向データベースの技術を習得していないことが多いこともあって、データベースを利用するアプリケーションプログラムの開発に時間を要することが多い。
【0008】
本発明はかかる事情に鑑みてなされたものであって、データベースの利用技術に精通していないプログラム開発者であっても、データベースを利用するプログラムを簡単に開発できるようにする新たなプログラム開発支援装置の提供を目的とする。
【0009】
【課題を解決するための手段】
この目的を達成するために、本発明のプログラム開発支援装置は、データベースを利用するプログラムの開発を支援する処理を行うために、▲1▼データベースのデータ構造について記述する表データを取得する取得手段と、▲2▼抽象化した名前を使って支援対象のプログラムがデータベースにアクセスする際に用いる入出力インタフェースについて記述する雛型と、取得手段の取得した表データとに基づいて、その入出力インタフェースを作成する第1の作成手段と、▲3▼抽象化した名前を使ってその入出力インタフェースが必要とするデータベースのデータ構造の定義情報について記述する雛型と、取得手段の取得した表データとに基づいて、その定義情報を作成する第2の作成手段と、▲4▼作成された定義情報及び入出力インタフェースをオブジェクトに変換する変換手段とを備えるように構成する。
【0010】
ここで、取得手段に代えて、データベースを解析することで、データベースのデータ構造についての情報(取得手段の取得する表データに相当する情報)を入手する入手手段を備えることがあり、この入手手段を備えるときには、第1の作成手段は、上述の雛型とこの入手手段の入手した情報とに基づいて、支援対象のプログラムがデータベースにアクセスする際に用いる入出力インタフェースを作成し、第2の作成手段は、上述の雛型とこの入手手段の入手した情報とに基づいて、その入出力インタフェースが必要とするデータベースのデータ構造の定義情報を作成するように処理する。
【0011】
以上の各処理手段はコンピュータプログラムで実現できるものであり、このコンピュータプログラムは、半導体メモリなどの記録媒体に記録して提供したり、ネットワークを介して提供することができる。
【0012】
このように構成される本発明のプログラム開発支援装置では、取得手段がデータベースのデータ構造について記述する表データを取得すると、第1の作成手段は、抽象化した名前を使って支援対象のプログラムがデータベースにアクセスする際に用いる入出力インタフェースについて記述する雛型を入手して、その雛型と取得手段の取得した表データとに基づいて、その入出力インタフェースを作成する。
【0013】
一方、取得手段がデータベースのデータ構造について記述する表データを取得すると、第2の作成手段は、抽象化した名前を使ってその入出力インタフェースが必要とするデータベースのデータ構造の定義情報について記述する雛型を入手して、その雛型と取得手段の取得した表データとに基づいて、その定義情報を作成する。
【0014】
この定義情報及び入出力インタフェースの作成を受けて、変換手段は、作成された定義情報及び入出力インタフェースをオブジェクトに変換する。
【0015】
このようにして、本発明のプログラム開発支援装置では、プログラム開発者に対してデータベースのアクセス方法の知識を要求することなく、支援対象のプログラムがデータベースにアクセスする際に用いる入出力インタフェースと、その入出力インタフェースがデータベースにアクセスするときに必要となるデータベースのデータ構造の定義情報とを自動的に作成して、それをオブジェクトに変換するように処理することから、プログラム開発者は、データベースを利用するプログラムを作成する場合、そのプログラムの中に、ただ単にそのオブジェクトを呼び出す記述をコーディングすれば足りるようになる。
【0016】
これから、本発明によれば、データベースを利用するプログラムの開発者は、そのデータベースのアクセス方法を理解していなくても、そのデータベースを利用するプログラムを開発できるようになる。
【0017】
【発明の実施の形態】
以下、実施の形態に従って本発明を詳細に説明する。
【0018】
図1に、本発明を具備するプログラム開発支援装置1の一実施形態例を図示する。
【0019】
この図に示すように、本発明のプログラム開発支援装置1は、プログラム開発者の操作する端末2に接続されて、データベースを利用するアプリケーションプログラムの開発を支援する処理を行うものであって、Excelファイル10と、読出手段11と、アクセスインタフェースオブジェクト用雛型12と、アクセスインタフェースオブジェクト作成手段13と、データアクセスオブジェクト用雛型14と、データアクセスオブジェクト作成手段15と、コンパイル手段16とを備える。
【0020】
このExcelファイル10は、Excel(登録商標)を使ってプログラム開発者により作成されたデータベースのデータ構造について記述するワークシートを格納する。
【0021】
読出手段11は、Excelファイル10に格納されるワークシートを読み出すことで取得する。例えば、売上データと社員データという2つのデータベース(テーブル)が存在する場合には、それに合わせて2つのワークシートが作成されることになるので、その2つのワークシートを読み出すことで取得することになる。
【0022】
アクセスインタフェースオブジェクト用雛型12は、例えばCOBOL(その他の言語でもよく、また、開発対象の言語と一致する必要もない)で記述されて、抽象化した名前を使って、支援対象のアプリケーションプログラムがデータベースにアクセスする際に用いる入出力インタフェースについて記述する。
【0023】
アクセスインタフェースオブジェクト作成手段13は、アクセスインタフェースオブジェクト用雛型12と読出手段11の読み出したワークシートとを使って、支援対象のアプリケーションプログラムがデータベースにアクセスする際に用いる入出力インタフェースとなるアクセスインタフェースオブジェクト17のソースコードを作成する。
【0024】
データアクセスオブジェクト用雛型14は、例えばCOBOL(その他の言語でもよく、また、開発対象の言語と一致する必要もない)で記述されて、抽象化した名前を使って、アクセスインタフェースオブジェクト17がデータベースにアクセスするときに必要となるデータベースのデータ構造の定義情報について記述する。
【0025】
データアクセスオブジェクト作成手段15は、データアクセスオブジェクト用雛型14と読出手段11の読み出したワークシートとを使って、アクセスインタフェースオブジェクト17が必要とするデータベースのデータ構造の定義情報となるデータアクセスオブジェクト18のソースコードを作成する。
【0026】
コンパイル手段16は、アクセスインタフェースオブジェクト作成手段13の作成したソースコードをコンパイルすることでアクセスインタフェースオブジェクト17を作成するとともに、データアクセスオブジェクト作成手段15の作成したソースコードをコンパイルすることでデータアクセスオブジェクト18を作成する。
【0027】
図2に、Excelファイル10に格納されるワークシートの一例を図示する。
【0028】
この図に示すように、Excelにより作成されたワークシートは、例えば、FLRUMというマスタ物理名を持つテーブル(“売上データ”というマスタ日本語名を持つ)では、DTKBN/DTSIK/HASIK/URKKBN/UKEKBN/EIGCD/DENNOという7つの項目を持ち、それらの各項目毎に、型、長さ、キー項目となるのか否かの情報(フラグ*の有無)、コメントなどについて記述する。
【0029】
ここで、後述することから分かるように、テーブル名は生成されるクラスのテーブル名として使用され、項目名は生成されるクラスのプロパティ名として使用され、型名は生成されるプロパティの型として使用され、キーマーク(*)はキー用のプロパティの作成判別に使用され、コメントは生成されるプロパティのコメントとして使用されることになる。
【0030】
先ず最初に、データアクセスオブジェクト18の作成処理について説明する。
【0031】
図3に、データアクセスオブジェクト18の作成に用いられるデータアクセスオブジェクト用雛型14の一例を図示する。
【0032】
この図に示すように、データアクセスオブジェクト用雛型14は、クラス雛型(図3(a)に示すもの)と、プロパティ雛型(図3(b)に示すもの)とで構成されている。
【0033】
データベースにマッピングされるクラス(テーブルに対応付けられる)は、このクラス雛型をもとにして、Excelファイル10から読み出すワークシートの数分作成されることになるものであって、このクラス雛型に記述される“%テーブル名%”がワークシートに記述されるテーブル名に置換されることで作成されることになる。
【0034】
一方、データベースにマッピングされるプロパティ(項目に対応付けられる)は、このプロパティ雛型をもとにして、“DBカラム数(項目数)+キー数”の数分作成されることになるものであって、このプロパティ雛型に記述される“%カラムのコメント%”がワークシートに記述されるコメントに置換され、このプロパティ雛型に記述される“%カラム名%”がワークシートに記述される項目名に置換され、このプロパティ雛型に記述される“%カラム型%”がワークシートに記述される型に置換されることで作成されることになる。
【0035】
ここで、図3(b)では、キー項目用に用意されるプロパティ雛型を図示していることで「KEY 」という記述を持つものを示しているが、DBカラム用に用意されるプロパティ雛型として、この「KEY 」という記述に代えて、「COL 」という記述を持つものが用意されている。
【0036】
データアクセスオブジェクト作成手段15は、この“%・・・名%”の個所の置換処理を行うことで、アクセスインタフェースオブジェクト17が必要とするデータベースのデータ構造の定義情報となるデータアクセスオブジェクト18のソースコードを作成する処理を行うものであって、図2に示す「売上データ」というワークシートの例で説明するならば、この置換処理を行うことで、図4に示すようなデータアクセスオブジェクト18のソースコードを作成することになる。
【0037】
ここで、図4では、“%カラム型%”を“Int32”に置き換えている。また、“%カラム名%”を“DTKBN”というDBカラム名に置き換える場合と、“nDTKBN”というDBカラム名に置き換える場合とがあるが、これは外部で用いられる“DTKBN”と内部で用いられる“DTKBN”とを区別するためである。
【0038】
このようにして、データアクセスオブジェクト作成手段15が上述の置換処理を行うことでデータアクセスオブジェクト18のソースコードを作成すると、コンパイル手段16は、そのソースコードをコンパイルすることでデータアクセスオブジェクト18を作成することになる。
【0039】
次に、アクセスインタフェースオブジェクト17の作成処理について説明する。
【0040】
図5に、アクセスインタフェースオブジェクト17の作成に用いるアクセスインタフェースオブジェクト用雛型12の一例を図示する。
【0041】
アクセスインタフェースオブジェクト用雛型12は、データベースへのアクセス形態(Select,Delete,Update)に合わせて用意されており、この図に示すように、大きく分けて、宣言文の領域と、リンケージリストの記入域(データベースに引き渡すキー項目を羅列する領域)の領域と、引数リストの記入域(データベースから受け取るキー項目を羅列する領域)の領域と、インスタンス生成の領域と、実際のアクセス処理のプログラムについて記述する領域とで構成されている。
【0042】
アクセスインタフェースオブジェクト作成手段13は、このアクセスインタフェースオブジェクト用雛型12に記述される“%・・・名%”の個所を、ワークシートに記述される対応の値や端末2から入力されるユーザ指定値に置き換えることで、支援対象のアプリケーションプログラムがデータベースにアクセスする際に用いるアクセスインタフェースオブジェクト17のソースコードを作成する処理を行うものであって、図2に示す「売上データ」というワークシートの例で説明するならば、この置換処理を行うことで、図6に示すようなアクセスインタフェースオブジェクト17のソースコードを作成することになる。
【0043】
プログラム開発者はデータベースを利用するアプリケーションプログラムを開発する場合、例えば、図2に示す「売上データ」を検索(Select)するときに、リンケージリスト及び引数リストに“FLRUM”と記述することで、全項目についてその値を得たいと思う場合もあるし、リンケージリスト及び引数リストに特定の項目の羅列データを記述することで、それらの項目の値のみをその羅列順に得たいと思う場合もある。
【0044】
これから、アクセスインタフェースオブジェクト作成手段13は、様々なアクセス形態の要求に合わせてデータアクセスオブジェクト18のインスタンスを生成して、それらに対して上述の置換処理を実行することで、プログラム開発者の必要とするアクセスインタフェースオブジェクト17のソースコードを作成することになるが、そのとき、プログラム開発者から、その作成するアクセスインタフェースオブジェクト17のIDとなるユーザ指定値を受け取って、アクセスインタフェースオブジェクト17のソースプログラムに埋め込むように処理することになる。
【0045】
図6では、図5に示すアクセスインタフェースオブジェクト用雛型12に記述される“%MASTER ID%”を、“URI010”というユーザ指定値に置換した例を示している。
【0046】
このようにして、アクセスインタフェースオブジェクト作成手段13がアクセスインタフェースオブジェクト用雛型12を使ってアクセスインタフェースオブジェクト17のソースコードを作成すると、コンパイル手段16は、そのソースコードをコンパイルすることでアクセスインタフェースオブジェクト17を作成することになる。
【0047】
データアクセスオブジェクト18及びアクセスインタフェースオブジェクト17が作成されると、図7に示すように、情報処理装置100に展開されたデータベース200を利用するアプリケーションプログラム300は、アクセスインタフェースオブジェクト17のIDとなる上述のユーザ指定値を指定してアクセスインタフェースオブジェクト17を呼び出すだけで、データベース200にアクセスすることができるようになる。
【0048】
すなわち、プログラム開発者は、例えば、「売上データ」の全項目を検索するアクセスインタフェースオブジェクト17に対して“URI010”というIDを割り付けた場合にあって、「売上データ」の全項目を検索して処理を実行するアプリケーションプログラム300を開発する場合には、アプリケーションプログラム300に、この“URI010”を指定してアクセスインタフェースオブジェクト17を呼び出す記述をプログラミングするだけで、その検索を実現できるようになるのである。
【0049】
これから、本発明のプログラム開発支援装置1が用意されると、プログラム開発者は、データベース200のアクセス方法の知識がなくても、ただ単に、Excelを使ってデータベースのデータ構造について記述する図2に示すようなワークシートを作成するだけで、データベース200を利用するアプリケーションプログラム300を開発できるようになる。
【0050】
次に、図8ないし図12に示す処理フローに従って、本発明のプログラム開発支援装置1が実行する処理についてさらに詳細に説明する。
【0051】
本発明のプログラム開発支援装置1は、図4に示すようなデータアクセスオブジェクト18のソースコードを作成するために、図8の処理フローに示すように、先ず最初に、ステップ10で、処理対象のExcelファイル10を指定し、続くステップ11で、出力先のディレクトリを指定する。
【0052】
続いて、ステップ12で、指定したExcelファイル10をインスタンス化してワークブックを開くことで、そのExcelファイル10を使える状態にする。
【0053】
続いて、ステップ13で、指定したExcelファイル10に含まれるワークシートのコレクション(図2に示す項目の情報)を取得し、続くステップ14で、各ワークシートについて図9の処理フローによる処理を施す。
【0054】
本発明のプログラム開発支援装置1は、図9の処理フローに入ると、先ず最初に、ステップ20で、処理対象のワークシートを取得し、続くステップ21で、そのワークシートが処理対象条件を満たすのか否かを判断する。すなわち、予め指定した記述形式で記述されているのか否かを判断する。
【0055】
ステップ21で、処理対象のワークシートが処理対象条件を満たすことを判断するときには、ステップ22に進んで、処理対象のレンジ(項目の記述されている範囲)を取得し、続くステップ23で、そのレンジのデータ(項目の情報)を読み出す。
【0056】
続いて、ステップ24で、図10の処理フローを実行すべく、データアクセスオブジェクト18の作成処理を司る処理実装メソッドを呼び出す。
【0057】
このようにして呼び出されると、処理実装メソッドは、図10の処理フローに示すように、先ず最初に、ステップ30で、渡されたレンジのサイズを取得する。
【0058】
続いて、ステップ31で、図3(a)に示したデータアクセスオブジェクト用雛型14のクラス雛型を使って、ソースオブジェクトO(図4の上段に示すソースオブジェクト)を生成してクラス名を設定する。すなわち、クラス雛型に置換処理を施すことでソースオブジェクトOを生成して、クラス名を設定するのである。
【0059】
続いて、ステップ32で、図3(b)に示したデータアクセスオブジェクト用雛型14のプロパティ雛型を使って、クラスのプロパティを生成するソースオブジェクトP(図4の下段に示すソースオブジェクト)を生成する。すなわち、プロパティ雛型に置換処理を施すことでソースオブジェクトPを生成するのである。
【0060】
続いて、ステップ33で、ソースオブジェクトPのプロパティとなる「名称」に、ワークシートの1番目のセルの値(図2中に示す項目名の欄の値)を設定する。続いて、ステップ34で、ソースオブジェクトPのプロパティとなる「型名」に、ワークシートの17番目のセルの値(図2中に示す型の欄の値)を設定する。続いて、ステップ35で、ソースオブジェクトPのプロパティとなる「コメント」に、ワークシートの42番目のセルの値(図2中に示すコメントの欄の値)を設定する。
【0061】
続いて、ステップ36で、ワークシートの59番目のセルの値(図2中に示す*欄の値)にキー設定を示す“*”が記述されているのか否かを判断して、このキーの設定を判断するときには、ステップ37に進んで、ソースオブジェクトPのプロパティとなる「キー判別フラグ」にTRUEを設定する。一方、キーの設定を判断しないときには、このステップ37の処理を省略する。
【0062】
続いて、ステップ38で、ソースオブジェクトPをソースオブジェクトOに登録し、続くステップ39で、レンジの全行について処理を終了したのか否かを判断して、レンジの全行について処理を終了していないことを判断するときには、次の行について処理を行うべくステップ32に戻り、レンジの全行について処理を終了したことを判断するときには、処理を終了する。
【0063】
このようにして、本発明のプログラム開発支援装置1は、図8ないし図10の処理フローを実行することで、図4に示すようなデータアクセスオブジェクト18のソースコードを作成するのである。
【0064】
そして、本発明のプログラム開発支援装置1は、このようにして作成したデータアクセスオブジェクト18のソースコードをコンパイルすることでデータアクセスオブジェクト18を作成する。
【0065】
一方、本発明のプログラム開発支援装置1は、図6に示すようなアクセスインタフェースオブジェクト17のソースコードを作成するために、図11の処理フローに示すように、先ず最初に、ステップ40で、Select ロジックの雛型となるアクセスインタフェースオブジェクト用雛型12を読み込み、続くステップ41で、その雛型中の置換マークを置換するために、図12の処理フローを実行することで、その雛型置換処理を実行する。
【0066】
続いて、ステップ42で、Delete ロジックの雛型となるアクセスインタフェースオブジェクト用雛型12を読み込み、続くステップ43で、その雛型中の置換マークを置換するために、図12の処理フローを実行することで、その雛型置換処理を実行する。
【0067】
続いて、ステップ44で、Update ロジックの雛型となるアクセスインタフェースオブジェクト用雛型12を読み込み、続くステップ45で、その雛型中の置換マークを置換するために、図12の処理フローを実行することで、その雛型置換処理を実行する。
【0068】
続いて、ステップ46で、その置換した文字列(アクセスインタフェースオブジェクト17のソースコード)をファイルに出力して、処理を終了する。
【0069】
図12の処理フローについて説明するならば、本発明のプログラム開発支援装置1は、雛型置換処理に入ると、先ず最初に、ステップ50で、図10の処理フローを呼び出すことで、ワークシートに記述される情報を得る。
【0070】
続いて、ステップ51で、COBOLクラスオブジェクトからソース文字列を取得する。すなわち、図5に示すアクセスインタフェースオブジェクト用雛型12を取得するのである。
【0071】
続いて、ステップ52で、その取得したアクセスインタフェースオブジェクト用雛型12に対して、マスタ日本語名、マスタ物理名、ロジック内変数名、ユーザ指定値についての置換処理を実行する。続いて、ステップ53で、COBOLクラスオブジェクトからリンケージリスト、引数リストを取得して置換処理を実行する。
【0072】
そして、最後に、ステップ54で、呼び出し元へ結果を戻り値として返却する。
【0073】
このようにして、本発明のプログラム開発支援装置1は、図11及び図12の処理フローを実行することで、図6に示すようなアクセスインタフェースオブジェクト17のソースコードを作成するのである。
【0074】
そして、本発明のプログラム開発支援装置1は、このようにして作成したアクセスインタフェースオブジェクト17のソースコードをコンパイルすることでアクセスインタフェースオブジェクト17を作成する。
【0075】
以上に説明した実施形態例では、Excelを使ってデータベースのデータ構造について記述する図2に示すようなワークシートを作成することで、データアクセスオブジェクト18及びアクセスインタフェースオブジェクト17を作成するという方法を用いたが、データベースを解析することでも、図2に示すようなワークシートに記述される情報を入手することが可能であるので、データアクセスオブジェクト18及びアクセスインタフェースオブジェクト17を作成することができる。
【0076】
すなわち、図2に示すようなワークシートは、例えば、FLRUMというマスタ物理名を持つテーブルでは、DTKBN/DTSIK/HASIK/URKKBN/UKEKBN/EIGCD/DENNOという7つの項目を持ち、それらの各項目毎に、型、長さ、キー項目となるのか否かの情報、コメントなどについて記述しているが、これらの情報については、データベースを解析することでも入手可能である。
【0077】
これから、データベースを解析することで図2に示すようなワークシートに記述される情報を入手する解析手段を用意することでも、本発明のプログラム開発支援装置1は実現可能である。
【0078】
この解析手段を用意する場合には、アクセスインタフェースオブジェクト作成手段13は、アクセスインタフェースオブジェクト用雛型12とこの解析手段の解析により得られる情報とを使い、上述の置換処理を実行することで、支援対象のアプリケーションプログラムがデータベースにアクセスする際に用いる入出力インタフェースとなるアクセスインタフェースオブジェクト17のソースコードを作成することになる。
【0079】
そして、この解析手段を用意する場合には、データアクセスオブジェクト作成手段15は、データアクセスオブジェクト用雛型14とこの解析手段の解析により得られる情報とを使い、上述の置換処理を実行することで、アクセスインタフェースオブジェクト17が必要とするデータベースのデータ構造の定義情報となるデータアクセスオブジェクト18のソースコードを作成することになる。
【0080】
【発明の効果】
以上説明したように、本発明のプログラム開発支援装置では、プログラム開発者に対してデータベースのアクセス方法の知識を要求することなく、支援対象のプログラムがデータベースにアクセスする際に用いる入出力インタフェースと、その入出力インタフェースがデータベースにアクセスするときに必要となるデータベースのデータ構造の定義情報とを自動的に作成して、それをオブジェクトに変換するように処理することから、プログラム開発者は、データベースを利用するプログラムを作成する場合、そのプログラムの中に、ただ単にそのオブジェクトを呼び出す記述をコーディングすれば足りるようになる。
【0081】
これから、本発明によれば、データベースを利用するプログラムの開発者は、そのデータベースのアクセス方法を理解していなくても、そのデータベースを利用するプログラムを開発できるようになる。
【図面の簡単な説明】
【図1】本発明のプログラム開発支援装置の一実施形態例である。
【図2】ワークシートの一例を示す図である。
【図3】データアクセスオブジェクト用雛型の一例を示す図である。
【図4】データアクセスオブジェクトのソースコードの一例を示す図である。
【図5】アクセスインタフェースオブジェクト用雛型の一例を示す図である。
【図6】アクセスインタフェースオブジェクトのソースコードの一例を示す図である。
【図7】本発明により作成されたデータアクセスオブジェクト及びアクセスインタフェースオブジェクトの利用形態の説明図である。
【図8】本発明のプログラム開発支援装置の実行する処理フローの一例である。
【図9】本発明のプログラム開発支援装置の実行する処理フローの一例である。
【図10】本発明のプログラム開発支援装置の実行する処理フローの一例である。
【図11】本発明のプログラム開発支援装置の実行する処理フローの一例である。
【図12】本発明のプログラム開発支援装置の実行する処理フローの一例である。
【符号の説明】
1 プログラム開発支援装置
2 端末
10 Excelファイル
11 読出手段
12 アクセスインタフェースオブジェクト用雛型
13 アクセスインタフェースオブジェクト作成手段
14 データアクセスオブジェクト用雛型
15 データアクセスオブジェクト作成手段
16 コンパイル手段
17 アクセスインタフェースオブジェクト
18 データアクセスオブジェクト
Claims (2)
- データベースを利用するプログラムの開発を支援するプログラム開発支援装置であって、
データベースのデータ構造について記述する表データを取得する手段と、
抽象化した名前を使って支援対象のプログラムがデータベースにアクセスする際に用いる入出力インタフェースについて記述する雛型と、上記表データとに基づいて、その入出力インタフェースを作成する手段と、
抽象化した名前を使って上記入出力インタフェースが必要とするデータベースのデータ構造の定義情報について記述する雛型と、上記表データとに基づいて、その定義情報を作成する手段と、
上記作成された定義情報及び入出力インタフェースをオブジェクトに変換する手段とを備えることを、
特徴とするプログラム開発支援装置。 - データベースを利用するプログラムの開発を支援するプログラム開発支援装置であって、
データベースを解析することで、データベースのデータ構造についての情報を入手する手段と、
抽象化した名前を使って支援対象のプログラムがデータベースにアクセスする際に用いる入出力インタフェースについて記述する雛型と、上記入手結果の情報とに基づいて、その入出力インタフェースを作成する手段と、
抽象化した名前を使って上記入出力インタフェースが必要とするデータベースのデータ構造の定義情報について記述する雛型と、上記入手結果の情報とに基づいて、その定義情報を作成する手段と、
上記作成された定義情報及び入出力インタフェースをオブジェクトに変換する手段とを備えることを、
特徴とするプログラム開発支援装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003039362A JP2004252536A (ja) | 2003-02-18 | 2003-02-18 | プログラム開発支援装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003039362A JP2004252536A (ja) | 2003-02-18 | 2003-02-18 | プログラム開発支援装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004252536A true JP2004252536A (ja) | 2004-09-09 |
Family
ID=33023562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003039362A Pending JP2004252536A (ja) | 2003-02-18 | 2003-02-18 | プログラム開発支援装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004252536A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079803A (ja) * | 2008-09-29 | 2010-04-08 | Fujitsu Broad Solution & Consulting Inc | ソフトウェア開発支援プログラム、ソフトウェア開発支援装置およびソフトウェア開発支援方法 |
JP2020123206A (ja) * | 2019-01-31 | 2020-08-13 | キヤノンマーケティングジャパン株式会社 | プログラム、情報処理装置及び処理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05289919A (ja) * | 1992-04-08 | 1993-11-05 | Shikoku Nippon Denki Software Kk | データベースアクセスプログラム生成方式 |
JP2003022184A (ja) * | 2001-07-06 | 2003-01-24 | Ntt Docomo Kansai Inc | アプリケーションプログラム生成システム、データ処理装置、アプリケーションプログラム提供装置、コンピュータプログラム、及び記録媒体 |
-
2003
- 2003-02-18 JP JP2003039362A patent/JP2004252536A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05289919A (ja) * | 1992-04-08 | 1993-11-05 | Shikoku Nippon Denki Software Kk | データベースアクセスプログラム生成方式 |
JP2003022184A (ja) * | 2001-07-06 | 2003-01-24 | Ntt Docomo Kansai Inc | アプリケーションプログラム生成システム、データ処理装置、アプリケーションプログラム提供装置、コンピュータプログラム、及び記録媒体 |
Non-Patent Citations (1)
Title |
---|
高橋著: ""画面遷移やDBアクセスを隠ぺいし、業務ロジックの開発に集中する"", 日経オープンシステム, vol. 第107号, CSND200301481005, 15 February 2002 (2002-02-15), JP, pages 110 - 120, ISSN: 0000798702 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079803A (ja) * | 2008-09-29 | 2010-04-08 | Fujitsu Broad Solution & Consulting Inc | ソフトウェア開発支援プログラム、ソフトウェア開発支援装置およびソフトウェア開発支援方法 |
JP2020123206A (ja) * | 2019-01-31 | 2020-08-13 | キヤノンマーケティングジャパン株式会社 | プログラム、情報処理装置及び処理方法 |
JP7315817B2 (ja) | 2019-01-31 | 2023-07-27 | キヤノンマーケティングジャパン株式会社 | 情報処理装置及びその制御方法、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861728B (zh) | 用于传统程序语言向现代程序语言转换的方法及其*** | |
JP4264118B2 (ja) | ネットワーク上の異なる情報源から情報を構成する方法 | |
US7191397B2 (en) | XML server pages language | |
CN111708539A (zh) | 一种应用程序代码转换方法、装置、电子设备和存储介质 | |
KR100856806B1 (ko) | 수수료-기반 액세스의 제공 방법, 추상적 질의의 형성방법, 물리적 데이터의 수정 방법, 로직 프레임워크 제공방법, 컴퓨터 판독 가능 매체, 컴퓨터 및 수수료 정보의디스플레이 방법 | |
Ebert et al. | Gupro-generic understanding of programs an overview | |
US6219831B1 (en) | Device and method for converting computer programming languages | |
US20040199516A1 (en) | Source information adapter and method for use in generating a computer memory-resident hierarchical structure for original source information | |
KR20090009834A (ko) | 프로그래밍 언어에서 수식 트리의 깊은 임베딩을 위한 범용인터페이스를 제공하는 시스템, 컴퓨터 구현 방법 및 컴퓨터 구현 시스템 | |
CN106951231B (zh) | 一种计算机软件开发方法及装置 | |
CN109739512A (zh) | 一种解析型语言文本式分析转换方法 | |
CN113297251A (zh) | 多源数据检索方法、装置、设备及存储介质 | |
Gómez et al. | CRUDyLeaf: a DSL for generating spring boot REST APIs from entity CRUD operations | |
US20050216501A1 (en) | System and method of providing and utilizing an object schema to facilitate mapping between disparate domains | |
CN114528846A (zh) | 一种用于人工智能的概念网络及其生成方法 | |
US7657869B2 (en) | Integration of external tools into an existing design environment | |
WO2020248784A1 (zh) | 一种在计算机上实现母语编程的方法 | |
CN116955393A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
Wojszczyk et al. | The process of verifying the implementation of design patterns—used data models | |
JP2004252536A (ja) | プログラム開発支援装置 | |
CN107577476A (zh) | 一种基于模块划分的安卓***源码差异性分析方法、服务器及介质 | |
Andrzejak et al. | Agile construction of data science DSLs (tool demo) | |
Mou et al. | Visual orchestration and autonomous execution of distributed and heterogeneous computational biology pipelines | |
CN116756184B (zh) | 数据库实例处理方法、装置、设备、存储介质及程序产品 | |
US11210454B2 (en) | Method for preparing documents written in markup languages while implementing a user interface for dealing with data of an information system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040625 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061219 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070417 |