(57)【特許請求の範囲】
【請求項１】
完成されたプログラムのユーザーが前記プログラムを実施するときに前記プログラムによってアクセスされる実施用データベース（４００）、を記憶するための第１記憶部（２５１）と、
前記プログラムを作成する作成者が作成中の未完成プログラムを試験するときにアクセスされる、前記実施用データベースとは別の試験用データベース（３００）、を記憶するための第２記憶部（２５２）と、
前記未完成プログラムを試験しているときに前記作成者によって入力され前記試験用データベースに格納されたデータから、一部のデータを前記作成者に選択させ、選択されたデータをコピーして前記実施用データベースに格納する、第１データ複製処理部（２８１）と、
を備える、プログラム作成システム（１００）。
【請求項２】
前記実施用データベースに格納されているデータから、一部のデータを前記作成者に選択させ、選択されたデータをコピーして前記試験用データベースに格納する、第２データ複製処理部（２８２）、
をさらに備える、請求項１に記載のプログラム作成システム。
【請求項３】
前記プログラムの作成開始時に、前記実施用データベースと前記試験用データベースとを同時に生成する、データベース生成部（２６１）、
をさらに備える、請求項１又は２に記載のプログラム作成システム。
【請求項４】
前記試験用データベースは、データテーブルである試験用ファイル（３１０，３２０，・・・）を有し、
前記第１データ複製処理部は、前記試験用ファイルの中の一部のデータを前記作成者に選択させ、選択されたデータをコピーして前記実施用データベースに格納する、
請求項１から３のいずれかに記載のプログラム作成システム。
【請求項５】
前記実施用データベースは、データテーブルである実施用ファイル（４１０，４２０，・・・）を有し、
前記第２データ複製処理部は、前記実施用ファイルの中の一部のデータを前記作成者に選択させ、選択されたデータをコピーして前記試験用データベースに格納する、
請求項２に記載のプログラム作成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム作成システム、特に、データベースにアクセスするプログラムを作成するためのシステムに関する。
【背景技術】
【０００２】
近年、企業等における情報化が進み、例えば社内の各種データをデータベースに格納し、人事、経理、製品開発管理、品質管理、顧客管理、設備管理、文書管理など、多用な業務に活用することが行われている。例えば、特許文献１（特開２０１２−２１６０００号公報）には、電子文書共有システムが開示されている。この電子文章共有システムでは、エンドユーザー（社員）がデータベースに格納された電子文書の情報の検索を行うことができ、且つ、エンドユーザーに対して電子文書の各項目の閲覧や編集の操作に制限をかけることができ、検索結果を含むエンドユーザーのアクセス制限が可能である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上述のような電子文書共有システムに係るプログラムや、その他のデータベースを活用するためのプログラムは、通常、コンピュータであるサーバーのＣＰＵによって実行される。企業内の現実の各種データが格納されたデータベースを使うプログラムは、プログラム作成システムを用いて開発、作成されることが多い。そして、作成中のプログラムは、テスト環境において各種のテストを受ける。
【０００４】
このテスト環境において、現実の各種データが格納されたデータベース（以下、実施用データベースと言う。）を使うと、未完成のプログラムが予期せぬ処理を実行してしまい、不具合が生じることがある。例えば、現実の社員や顧客のメールアドレスを含む実施用データベースを使って作成中のプログラムをテストした場合、不要なメールが誤って配信されて社員や顧客に届いてしまう恐れがある。このため、プログラム作成システムでは、実施用データベースとは別に、試験用データベースを用意することが多い。この試験用データベースを使って、アプリケーション・ソフトウェア等のプログラムを作成する者は、例えば、操作画面における操作と試験用データベース内の各情報の入出力との関係を確認するテストを行う。
【０００５】
そして、最近では、作成中のプログラムをテストする過程において、実施用データベースには含まれていない新しいデータを、試験用データベースに入力、格納することが多くなっている。テスト環境において入力され試験用データベースに格納された新しいデータの中には、テストを終えて完成したプログラムを企業内の実際の環境において実行するときに、実施用データベースにも必要となるデータが存在する。
【０００６】
しかし、従来のプログラム作成システムでは、実施用データベースを用いる実際の環境と、試験用データベースを用いるテスト環境とを区別しており、テスト環境で入力した試験用データベース内のデータを実際の環境で流用する場合には、手作業が必要となっている。
【０００７】
本発明の課題は、試験用データベースに格納されたデータを容易に活用することができるプログラム作成システムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第１観点に係るプログラム作成システムは、実施用データベースを記憶するための第１記憶部と、その実施用データベースとは別の試験用データベースを記憶するための第２記憶部と、第１データ複製処理部とを備えている。実施用データベースは、完成されたプログラムをプログラムのユーザーが実施するときに、そのプログラムによってアクセスされるデータベースである。試験用データベースは、未完成プログラムを試験するときにアクセスされるデータベースである。未完成プログラムは、プログラムを作成する作成者が作成している途中のプログラムである。第１データ複製処理部は、試験用データベースに格納されたデータから、一部のデータを作成者に選択させ、選択されたデータをコピーして実施用データベースに格納する。試験用データベースに格納されたデータは、未完成プログラムを試験しているときに、プログラムの作成者によって入力されたデータである。
【０００９】
第１観点に係るプログラム作成システムでは、プログラムの作成中は、試験用データベースを使って未完成プログラムをテストし、完成されたプログラムが実施されるときには、実施用データベースが用いられる。そして、試験において入力され試験用データベースに格納されたデータの一部は、プログラムの作成者が選択することによって、コピーされて実施用データベースに格納される。この、作成者にデータの一部を選択させる処理と、選択されたデータを実施用データベースに格納する処理とは、第１データ複製処理部が行う。
【００１０】
ここでは、第１データ複製処理部を設け、上記の２つの処理を行わせる構成を採ったので、プログラムの作成者が試験用データベース内のデータの一部を選択するだけで、それが実施用データベースに反映される。このように、第１観点に係るプログラム作成システムでは、試験用データベースに格納されたデータを容易に活用することができる。
【００１１】
本発明の第２観点に係るプログラム作成システムは、第１観点に係るプログラム作成システムであって、第２データ複製処理部をさらに備えている。第２データ複製処理部は、実施用データベースに格納されているデータから、一部のデータを作成者に選択させ、選択されたデータをコピーして試験用データベースに格納する。
【００１２】
第２観点に係るプログラム作成システムでは、第１データ複製処理部に加え、第２データ複製処理部を備えるため、プログラムの作成者が試験用データベース内あるいは実施用データベース内のデータの一部を選択するだけで、それが他方のデータベースに反映される。すなわち、プログラムの作成者が試験用データベース内あるいは実施用データベース内のデータの一部を選択することで、試験用データベース・実施用データベースの間で相互にデータのコピーの処理が行われる。したがって、試験用データベースに格納されたデータの活用も、実施用データベースに格納されているデータの活用も、容易になる。
【００１３】
本発明の第３観点に係るプログラム作成システムは、第１観点又は第２観点に係るプログラム作成システムであって、データベース生成部をさらに備えている。データベース生成部は、プログラムの作成開始時に、実施用データベースと試験用データベースとを同時に生成する。
【００１４】
第３観点に係るプログラム作成システムでは、データベースを用いるプログラムの作成開始時に、完成されたプログラムがアクセスする実施用データベースも、未完成プログラムがアクセスする試験用データベースも生成される。このため、プログラムの作成者は、第１データ複製処理部の機能を使う前に自ら手動で実施用データベースを作ったり、作成開始時に実施用データベースを手動でコピーして試験用データベースを作ったりする煩雑な作業を行う必要がない。
【００１５】
本発明の第４観点に係るプログラム作成システムは、第１観点〜第３観点のいずれかに係るプログラム作成システムであって、試験用データベースは、データテーブルの試験用ファイルを有している。そして、第１データ複製処理部は、試験用ファイルの中の一部のデータを作成者に選択させ、選択されたデータをコピーして実施用データベースに格納する。
【００１６】
第４観点に係るプログラム作成システムでは、手動ではコピー等の作業が繁雑な試験用ファイルの中の一部のデータを、選択によって実施用データベースにコピー、格納することができる。
【００１７】
本発明の第５観点に係るプログラム作成システムは、第２観点に係るプログラム作成システムであって、実施用データベースは、データテーブルの実施用ファイルを有している。そして、第２データ複製処理部は、実施用ファイルの中の一部のデータを作成者に選択させ、選択されたデータをコピーして試験用データベースに格納する。
【００１８】
第５観点に係るプログラム作成システムでは、手動ではコピー等の作業が繁雑な実施用ファイルの中の一部のデータを、選択によって試験用データベースにコピー、格納することができる。
【発明の効果】
【００１９】
第１観点に係るプログラム作成システムによれば、プログラムの作成者が試験用データベース内のデータの一部を選択するだけで、それが実施用データベースに反映される。これにより、第１観点に係るプログラム作成システムでは、容易に試験用データベースに格納されたデータを活用することができる。
【００２０】
本発明の第２観点に係るプログラム作成システムによれば、プログラムの作成者が試験用データベース内あるいは実施用データベース内のデータの一部を選択することで、試験用データベース・実施用データベースの間で相互にデータのコピーの処理が行われる。したがって、試験用データベースに格納されたデータの活用も、実施用データベースに格納されているデータの活用も容易になる。
【００２１】
本発明の第３観点に係るプログラム作成システムによれば、プログラムの作成者は、自ら手動で実施用データベースを作ったり、実施用データベースを手動でコピーして試験用データベースを作ったりする煩雑な作業を行う必要がない。
【００２２】
本発明の第４観点に係るプログラム作成システムによれば、手動ではコピー等の作業が繁雑な試験用ファイルの中の一部のデータを、選択によって実施用データベースにコピー、格納することができる。
【００２３】
本発明の第５観点に係るプログラム作成システムによれば、手動ではコピー等の作業が繁雑な実施用ファイルの中の一部のデータを、選択によって試験用データベースにコピー、格納することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態に係るプログラム作成・実施システムのブロック図である。
【図２】サーバーの出力部が、クライアント端末の表示部に表示させる操作画面および履歴画面の一例である。
【図３】データテーブルの一例を示す図である。
【図４】プログラム作成・実施システムによるプログラム作成のフローを示す図である。
【発明を実施するための形態】
【００２５】
本発明の一実施形態に係るプログラム作成・実施システム１００について、図面を参照しながら説明する。なお、以下の説明は、本発明に係るプログラム作成システムの１つの例に過ぎず、本発明の要旨を変更しない範囲で適宜変更可能である。
【００２６】
（１）全体概要
本実施形態のプログラム作成・実施システム１００は、データベースに情報を登録し、登録された情報を活用するプログラム（アプリケーション・ソフトウェア）を作成するために用いられる。また、プログラム作成・実施システム１００は、作成されたプログラムを、作成中のテスト環境ではなく、実際の運用環境で実行させて実施状態にするためのシステムでもある。
【００２７】
本実施形態では、プログラム作成・実施システム１００により作成されるプログラムとして、顧客管理用のプログラムの作成を例にとって説明する。但し、上述のように、プログラム作成・実施システム１００により生成されるプログラムは、顧客管理用のプログラムに限定されるものではなく、社員管理や文書管理、製品開発案件の管理など、他の用途に用いられるプログラムであってもよい。プログラム作成・実施システム１００では、多種多様のプログラムの作成が可能である。
【００２８】
本実施形態のプログラム作成・実施システム１００は、プログラム作成者が、ノンプログラミング環境で、プログラムを作成することを可能とするシステムである。言い換えれば、プログラム作成・実施システム１００は、プログラム作成者が、コーディングを行うことなく、プログラムを作成することを可能とするシステムである。コーディングとは、プログラミング言語を用いて、コンピュータが処理可能な形式のプログラムを記述することをいう。プログラム作成・実施システム１００では、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の操作により、予め準備されたブログラム部品（プログラムパターン）を組み合わせて、ＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）等のプログラム言語で記述されたプログラムを生成する。例えば、プログラム作成・実施システム１００では、プログラム作成者は、プログラム作成用画面において、予め準備されたブログラム部品を、ドラッグ・アンド・ドロップ等のマウス操作で並べて配置することで、所望の処理を実行するプログラムを生成する。
【００２９】
なお、作成されるプログラムの言語は、ＳＱＬに限定されるものではない。また、ここでのノンプログラミング環境とは、プログラム作成者が全くコーディングを行わない環境に限定されるものではない。プログラム作成者は、プログラム作成・実施システム１００を用いてプログラムを生成する際に、コーディングにより少なくともプログラムの一部を作成してもよい。
【００３０】
図１は、プログラム作成・実施システム１００の物理的構成を示すブロック図である。プログラム作成・実施システム１００は、主にサーバー２００を有する。
【００３１】
サーバー２００は、ＣＰＵ２０１、出力部２１０、受付部２２０、入力部２３０、表示部２４０、揮発性メモリおよび不揮発性メモリを含む記憶部２５０、通信部（図示せず）などから構成されているコンピュータである。記憶部２５０に保存されているプログラム作成支援用のソフトウェアが実行されると、サーバー２００のＣＰＵ２０１は、プログラム作成機能を提供するための制御部となる。制御部となったＣＰＵ２０１は、プログラム作成支援部２６０、データ複製部２８０などの機能部として働く。
【００３２】
なお、サーバー２００は、プログラム作成支援用のソフトウェアではなく、記憶部２５０に保存されている他のプログラム（本実施形態のプログラム作成・実施システム１００により作成される顧客管理用のプログラムを含む）が実行された場合には、そのＣＰＵ２０１が他のプログラムによる処理を行うための各機能部として働く。これにより、上述のように、作成されたプログラムを実際の運用環境で実行させ実施状態にすることができる。例えば顧客管理用プログラムを実行させて実施状態にすれば、プログラム作成・実施システム１００は、顧客管理システムとしての機能を果たすことになる。
【００３３】
サーバー２００は、プログラムの開発、作成を行う者（以下、プログラム作成者と言う。）が用いるクライアント端末１０Ａ，１０Ｂ，１０Ｃと接続されている。プログラム作成者は、クライアント端末１０Ａ，１０Ｂ，１０Ｃから、ネットワーク５０を介してプログラム作成・実施システム１００を利用し、プログラムの作成を行う。なお、図１では、プログラム作成・実施システム１００が３台のクライアント端末１０Ａ，１０Ｂ，１０Ｃとネットワーク５０を介して接続されているが、クライアント端末の台数は例示に過ぎず、これに限定されるものではない。
【００３４】
なお、サーバー２００が上述のように顧客管理用プログラムを実行させて実施状態にすれば、クライアント端末１０Ａ，１０Ｂ，１０Ｃは、顧客管理システムとして機能するプログラム作成・実施システム１００を使うエンドユーザーが検索や入出力を行う端末として利用されることになる。
【００３５】
本実施形態では、ネットワーク５０は、インターネットである。ただし、ネットワーク５０は、インターネットに限定されるものではない。ネットワーク５０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や、イントラネット等であってもよい。
【００３６】
（２）詳細説明
（２−１）クライアント端末
プログラム作成時において、クライアント端末１０Ａ，１０Ｂ，１０Ｃは、サーバー２００からプログラム作成支援機能の提供を受けるコンピュータである。
【００３７】
クライアント端末１０Ａ，１０Ｂ，１０Ｃは、例えば、一般的なパーソナルコンピュータである。クライアント端末１０Ａ，１０Ｂ，１０Ｃは、例えば、図示しないＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ等の記憶部、通信部などを有する。また、クライアント端末１０Ａ，１０Ｂ，１０Ｃは、それぞれ、キーボード、マウス、タッチパネル等の入力部２０Ａ，２０Ｂ，２０Ｃを有する。さらに、クライアント端末１０Ａ，１０Ｂ，１０Ｃは、ディスプレイ等の表示部３０Ａ，３０Ｂ，３０Ｃを有する。記憶部のプログラムが読みだされ実行されると、クライアント端末１０Ａ，１０Ｂ，１０ＣのＣＰＵが各種処理を実行する。
【００３８】
なお、クライアント端末１０Ａ，１０Ｂ，１０Ｃは、全て同様に構成されている。このため、クライアント端末１０Ａについてのみ（クライアント端末１０Ａの入力部２０Ａおよび表示部３０Ａについてのみ）以下で説明し、他のクライアント端末１０Ｂ，１０Ｃについての説明は省略する。
【００３９】
（２−１−１）入力部
入力部２０Ａは、プログラム作成者やエンドユーザー（作成された顧客管理用のアプリケーションプログラムの利用者）が、後述する表示部３０Ａに表示される操作画面に対して操作を行う際に用いる入力装置である。
【００４０】
表示部３０Ａに表示される操作画面において入力部２０Ａから行われる操作は、後述するサーバー２００の試験用データベース３００のデータテーブル３１０−３５０の情報を変更するための所定操作を含む。また、入力部２０Ａから行われる操作は、後述する図４のステップＳ１１，Ｓ１６，Ｓ１７におけるプログラム作成者による回答入力や選択入力の操作を含む。
【００４１】
入力部２０Ａを用いた、表示部３０Ａに表示される操作画面における操作は、ネットワーク５０を介して、後述するサーバー２００の受付部２２０により受け付けられる。
【００４２】
（２−１−２）表示部
表示部３０Ａは、プログラム作成者やエンドユーザーに対して各種情報を提示するため、各種画面を表示する。
【００４３】
ここでは、プログラム作成者がプログラム作成・実施システム１００を用いて作成したプログラムのテストを行う際に表示部３０Ａに表示される表示内容について説明する。特に、ここでは、所定操作をその画面上で行うとサーバー２００の試験用データベース３００のデータテーブル３１０−３５０の情報が変更される操作画面において、所定操作を行った場合のプログラムの動作確認テストが実施される時に、表示部３０Ａに表示される表示内容について説明する。
【００４４】
動作確認テストの際、表示部３０Ａには、操作画面３２Ａ、第１履歴画面３４Ａ、第２履歴画面３６Ａが表示される（図２参照）。操作画面３２Ａ、第１履歴画面３４Ａ、第２履歴画面３６Ａは、表示部３０Ａに同時に表示させられる。操作画面３２Ａ、第１履歴画面３４Ａ、第２履歴画面３６Ａは、後述するサーバー２００の出力部２１０が表示部３０Ａに表示させる画面である。つまり、表示部３０Ａは、動作確認テストの際、操作画面３２Ａ、第１履歴画面３４Ａ、および第２履歴画面３６Ａを同時に表示するよう、サーバー２００の出力部２１０により表示内容が制御される。
【００４５】
以下、各画面３２Ａ、３４Ａ、３６Ａについて、図２を用いて説明する。
【００４６】
（２−１−２−１）操作画面
図２には、後述するサーバー２００の試験用データベース３００に存在する顧客マスタという名前のデータテーブルに新規情報を登録するための操作画面３２Ａ、が描画されている。操作画面３２Ａは、プログラムが完成した際には、完成したプログラムのエンドユーザーが実際に利用する画面である。
【００４７】
操作画面３２Ａは、データテーブルの情報に関する操作画面の一例である。操作画面３２Ａにおいて、表示されるテキストボックスに入力部２０Ａの一例であるキーボードから顧客ナンバー、顧客名、電話番号、担当者を入力し、表示される「保存」ボタンを入力部２０Ａの一例であるマウスによりクリックするという操作を行うことができる。操作画面３２Ａにおいてこのような所定操作が行われると、操作画面３２Ａのテキストボックスに入力された情報を顧客マスタという名前のデータテーブルに新たに登録する処理が行われるように、操作画面３２Ａは作成されている。具体的には、例えば、操作画面３２Ａにおいて情報の登録の操作が１回行われると、図３のような顧客マスタのデータテーブルにおいて、１行分の情報が新たに登録されるよう、操作画面３２Ａは作成されている。
【００４８】
なお、プログラム作成・実施システム１００を用いて作成される操作画面は、操作画面３２Ａに限定されるものではない。プログラム作成・実施システム１００を用いて作成される操作画面は、操作画面３２Ａに代えて、又は、操作画面３２Ａに加えて、データテーブルの情報の内容変更（更新）や、データテーブルからの情報の削除のために用いられる画面を含んでもよい。
【００４９】
例えば、データテーブルの情報の内容変更（更新）のための操作画面は、更新対象の情報を特定するために用いられる顧客ナンバーや、更新内容の入力に用いられるテキストボックスや、データテーブルの情報の更新処理を行わせるための「更新」ボタン等を表示する。例えば、データテーブルの情報の削除のための操作画面は、削除対象の情報を特定するために用いられる顧客ナンバーの入力に用いられるテキストボックスや、データテーブルの情報の削除処理を行わせるための「削除」ボタン等を表示する。
【００５０】
ただし、データテーブルの情報の内容変更（更新）や、情報の削除のための操作画面の構成は、ここで例示した画面構成に限定されるものではなく、適宜設計されればよい。
【００５１】
動作確認テストの際に、入力部２０Ａを用いて操作画面３２Ａにおいて所定操作が行われると、所定操作の内容は、ネットワーク５０を介して、後述するサーバー２００の受付部２２０により受け付けられる。後述するように、サーバー２００のコマンド生成部２６４は、受付部２２０が受け付けた所定操作に対応するコマンドを生成する。そして、サーバー２００の変更部２６６は、コマンド生成部２６４が生成したコマンドに応じて、試験用データベース３００のデータテーブルの情報を変更する。また、動作確認テストの際に、入力部２０Ａを介して操作画面３２Ａにおいて所定操作が行われると、データテーブルの変更履歴が第１履歴画面３４Ａおよび第２履歴画面３６Ａに表示させられる。
【００５２】
なお、動作確認テストの際、操作画面３２Ａにおいて操作を行うと発生するエラーであって、試験用データベース３００のデータテーブル３１０−３５０の情報の変更には関係しないエラーについては、プログラム作成者が、表示部３０Ａ上の操作画面３２Ａが表示されている領域を見ることで確認できる。例えば、操作画面３２Ａにおいて「保存」ボタンを押すと、操作画面３２Ａ以外の画面（例えば確認画面）がポップアップ表示されるようにプログラムが設計されている場合、プログラム作成者は、この画面が表示されないことを表示部３０Ａ上で確認できる。
【００５３】
（２−１−２−２）第１履歴画面
第１履歴画面３４Ａは、操作画面３２Ａにおける所定操作に応じたデータテーブルの変更履歴を示す履歴画面の一例である。
【００５４】
第１履歴画面３４Ａには、サーバー２００の試験用データベース３００が有するデータテーブル（データテーブル３１０−３５０）の名称の一覧が表示される。例えば、図２の第１履歴画面３４Ａは、試験用データベース３００が、「受注」、「受注明細」、「顧客マスタ」、「社員マスタ」、「製品マスタ」という名前のデータテーブルを有することを示している。
【００５５】
また、第１履歴画面３４Ａには、各データテーブルの名称と対応付けて（図２では名称の右に隣接して）、データテーブルの変更履歴としてメッセージＭ１が表示される。なお、図２の第１履歴画面３４Ａでは、「社員マスタ」および「製品マスタ」という名前のデータテーブルについては情報の変更が行われていない場合を仮定している（これらのデータテーブルの情報は、参照のみされることを仮定している）。そのため、「社員マスタ」および「製品マスタ」という文字の横にはメッセージＭ１は表示されていない。
【００５６】
メッセージＭ１は、メッセージＭ１が付されたデータテーブルにおいて直近に実行された情報の変更の要約を示している。メッセージＭ１は、データテーブルにおいて、情報の登録、情報の内容変更（更新）、および情報の削除のうち、いずれの情報の変更が直近に実行されたのかという情報を内容に含む。また、メッセージＭ１は、直近に変更された情報の件数の情報を内容に含む。例えば、図３のようなデータテーブルが存在する場合、メッセージＭ１は、このデータテーブルにおいて、何行分の情報が、登録、内容変更（更新）又は削除されたかという情報を内容に含む。
【００５７】
（２−１−２−３）第２履歴画面
第２履歴画面３６Ａは、操作画面３２Ａにおける所定操作に応じたデータテーブルの変更履歴を示す履歴画面の一例である。
【００５８】
また、第２履歴画面３６Ａは、データテーブルの変更履歴に加え、データテーブルの参照履歴も示す。第２履歴画面３６Ａに表示されるデータテーブルの参照履歴は、データテーブルの情報が、何らかの処理のためにサーバー２００のプログラム作成支援部２６０により参照された履歴を示す。データテーブルの情報の参照では、データテーブルの情報の変更は行われない。
【００５９】
第２履歴画面３６Ａには、例えば、操作画面３２Ａにおける所定操作に応じたデータテーブルの変更履歴、および、データテーブルの参照履歴が、直近の履歴がリストの先頭に表示されるように、時間順にリスト形式で表示される。つまり、第２履歴画面３６Ａでは、データテーブルの変更履歴は、データテーブル別ではなく、時間順に並べて表示される。また、第２履歴画面３６Ａでは、データテーブルの変更履歴と、データテーブルの参照履歴とは、別々に表示されるのではなく、変更履歴および参照履歴が、時間順に並べて表示される。なお、変更履歴および参照履歴が増え過ぎて、全てを同時に表示部３０Ａに表示できない場合には、画面をスクロールさせることで、全ての変更履歴および参照履歴が参照できるように第２履歴画面３６Ａは構成されている。
【００６０】
第２履歴画面３６Ａでは、データテーブルの変更履歴は、メッセージＭ２を用いて表示される。変更履歴を示すメッセージＭ２には、どのデータテーブルの情報が変更されたのか、どのような情報の変更（登録、内容変更（更新）、削除）が行われたのか、何件の情報が変更されたのかをメッセージの内容に含む。また、第２履歴画面３６Ａでは、データテーブルの参照履歴も、メッセージＭ２を用いて表示される。参照履歴を示すメッセージＭ２には、どのデータテーブルの情報が参照されたのか、何件の情報が参照されたのかをメッセージの内容に含む。
【００６１】
第２履歴画面３６Ａに表示されるデータテーブルの変更履歴および参照履歴のそれぞれは（第２履歴画面３６Ａにリスト形式で表示される変更履歴および参照履歴の各行は）、例えば入力部２０Ａのマウスによりクリックすることで指定可能に構成されている。入力部２０Ａを用いた、表示部３０Ａに表示される第２履歴画面３６Ａにおける履歴の指定操作は、ネットワーク５０を介して、後述するサーバー２００の受付部２２０により受け付けられる。受付部２２０が履歴の指定操作を受け付けると、表示部３０Ａには、後述するサーバー２００の出力部２１０により、入力部２０Ａにより指定された履歴について、データテーブルの情報の変更内容の詳細又はデータテーブルの情報の参照内容の詳細が表示部３０Ａに表示させられる。データテーブルの情報の変更内容の詳細とは、データテーブルの情報のうち、具体的にどのような内容の情報が登録／内容変更／削除されたのかを示すものである。データテーブルの情報の参照内容の詳細とは、データテーブルの情報のうち、具体的にどのような内容の情報が参照されたのかを示すものである。
【００６２】
（２−２）サーバー
サーバー２００は、プログラム作成者が使うクライアント端末１０Ａ，１０Ｂ，１０Ｃに対して、プログラム作成支援機能を提供するコンピュータである。
【００６３】
サーバー２００は、上述のように、ＣＰＵ２０１、出力部２１０、受付部２２０、キーボードやマウス等の入力部２３０、ディスプレイ等の表示部２４０、メモリやハードディスクから成る記憶部２５０、などから構成されているコンピュータである。
【００６４】
（２−２−１）出力部
出力部２１０は、プログラム作成者が、ネットワーク５０を介してサーバー２００と接続されているクライアント端末１０Ａ，１０Ｂ，１０Ｃにおいて、プログラム作成・実施システム１００を利用する際に、表示部３０Ａ，３０Ｂ，３０Ｃに各種画面を表示させる。つまり、出力部２１０は、サーバー２００と接続されているクライアント端末１０Ａ，１０Ｂ，１０Ｃの表示部３０Ａ，３０Ｂ，３０Ｃの表示内容を制御する表示制御部である。
【００６５】
出力部２１０は、クライアント端末１０Ａ，１０Ｂ，１０Ｃにおいて上述の動作確認テストが行われる際に、クライアント端末１０Ａ，１０Ｂ，１０Ｃの表示部３０Ａ，３０Ｂ，３０Ｃのそれぞれに、データテーブルの情報に関する操作画面（例えば、図２の操作画面３２Ａ）と、その操作画面における所定操作に応じたデータテーブルの変更履歴を示す履歴画面と、を同時に表示させる。また、出力部２１０は、後述する図４のステップＳ１１，Ｓ１６，Ｓ１７におけるプログラム作成者に対する問い合わせの画面やデータ選択の画面を、クライアント端末１０Ａ，１０Ｂ，１０Ｃの表示部３０Ａ，３０Ｂ，３０Ｃに表示させる。
【００６６】
（２−２−２）受付部
クライアント端末１０Ａ，１０Ｂ，１０Ｃのそれぞれにおいて入力部２０Ａ，２０Ｂ，２０Ｃを用いて行われる、表示部３０Ａ，３０Ｂ，３０Ｃに表示させられる試験用データベース３００のデータテーブル３１０−３５０の情報に関する操作画面における操作（所定操作を含む）を、受付部２２０はネットワーク５０を介して受け付ける。表示部３０Ａ，３０Ｂ，３０Ｃに表示させられる操作画面における所定操作には、データテーブル３１０−３５０の情報の変更（情報の登録、情報の内容変更（更新）、情報の削除）のための操作を含む。また、表示部３０Ａ，３０Ｂ，３０Ｃに表示させられる操作画面における操作には、データテーブル３１０−３５０の情報の参照のための操作も含む。なお、操作画面における操作により、いずれのデータテーブル３１０―３５０の、いずれの情報を変更／参照するかは、作成中のプログラムで定義されている。
【００６７】
受付部２２０は、複数のクライアント端末１０Ａ，１０Ｂ，１０Ｃの表示部３０Ａ，３０Ｂ，３０Ｃのそれぞれに表示させられる操作画面における所定操作を、表示部３０Ａ，３０Ｂ，３０Ｃ別に受け付ける。
【００６８】
受付部２２０は、データテーブル３１０−３５０の情報に関する操作画面における所定操作を受け付けると、所定操作に関する情報を、後述するプログラム作成支援部２６０のコマンド生成部２６４に送信する。所定操作に関する情報には、所定操作の内容（試験用データベース３００のデータテーブル３１０−３５０のいずれに対して、どのような情報の変更を行うか）に関する情報を含む。
【００６９】
また、受付部２２０は、後述する図４のステップＳ１１，Ｓ１６，Ｓ１７におけるプログラム作成者による回答操作や選択操作を受け付けると、その情報を後述するデータベース生成部２６１やデータ複製部２８０に伝える。
【００７０】
（２−２−３）記憶部
記憶部２５０は、ＣＰＵ２０１にプログラム作成支援処理やデータ複製処理を行わせるための、プログラム作成支援用のソフトウェアを記憶している。
【００７１】
また、記憶部２５０には、プログラム作成・実施システム１００を機能させるために必要な各種情報等が記憶されている。
【００７２】
さらに、記憶部２５０は、以下で説明する、実施用データベース４００を記憶するための第１記憶領域２５１と、その実施用データベース４００とは別の試験用データベース３００を記憶するための第２記憶領域２５２とを有している。
【００７３】
（２−２−３−１）データベース
実施用データベース４００および試験用データベース３００は、後述するデータベース生成部２６１によって生成され、記憶部２５０に記憶される。実施用データベース４００は、記憶部２５０の第１記憶領域２５１に記憶され、試験用データベース３００は、記憶部２５０の第２記憶領域２５２に記憶される。
【００７４】
試験用データベース３００は、作成中の未完成プログラムを試験するときに、その未完成プログラムによってアクセスされるデータベースである。試験用データベース３００は、プログラム作成・実施システム１００を用いてプログラムを作成する際に定義されることになるデータテーブル３１０，３２０，３３０，３４０，３５０を含む。なお、図２では、試験用データベース３００には、５つのデータテーブル３１０−３５０を含むが、データテーブルの数は例示された数量に限定されるものではない。
【００７５】
実施用データベース４００は、完成されたプログラムを実行し、プログラムが提供するサービス（例えば、顧客管理用プログラムであれば、検索機能も含む顧客管理サービス）をエンドユーザーが受ける際に、そのプログラムによってアクセスされるデータベースである。実施用データベース４００も、試験用データベース３００と同様に、データテーブル４１０，４２０・・・を含む。
【００７６】
（２−２−４）プログラム作成支援部
プログラム作成支援部２６０は、上記のプログラム作成支援用のソフトウェアが実行されると制御部として働くＣＰＵ２０１における１つの機能部であり、プログラム作成支援のための各種処理を行う。特に、ここでは、プログラム作成支援部２６０の実行する処理のうち、プログラム作成開始時においてデータベース作成を行うデータベース生成部２６１による処理と、動作確認テストに関連する各処理とを説明する。動作確認テストに関して、プログラム作成支援部２６０は、操作画面生成部２６２、コマンド生成部２６４、変更部２６６、および履歴画面生成部２６８として機能する。
【００７７】
（２−２−４−１）データベース生成部
データベース生成部２６１は、プログラムの作成開始時に、プログラム作成者が既存の他のプログラムが使っている既存の実施用データベースを利用（流用）するという選択をした場合に、既存の実施用データベースの一部又は全部をコピーして、新たに作成するプログラムのための試験用データベースを生成する。また、データベース生成部２６１は、プログラム作成者が既存の実施用データベースを利用するという選択を行わなかったときには、新しく試験用データベース３００と実施用データベース４００とを同時に生成し、サーバー２００の記憶部２５０に保存する（図１参照）。上述のように、実施用データベース４００は第１記憶領域２５１に記憶され、試験用データベース３００は第２記憶領域２５２に記憶される。同時に生成された時点において、試験用データベース３００と実施用データベース４００とは全く同じ内容のものである。
【００７８】
なお、後述するようにデータ複製部２８０を設けているため、プログラム作成・実施システム１００では、試験用データベース３００と実施用データベース４００との間で相互に部分的なデータコピーが可能となっている。
【００７９】
（２−２−４−２）操作画面生成部
操作画面生成部２６２は、動作確認テストの際に、出力部２１０が各クライアント端末１０Ａ，１０Ｂ，１０Ｃの表示部３０Ａ，３０Ｂ，３０Ｃに表示させる、データテーブルの情報に関する操作画面を生成する。
【００８０】
操作画面生成部２６２は、各クライアント端末１０Ａ，１０Ｂ，１０Ｃが動作確認テストを行おうとする操作画面に関し、プログラムの作成作業において作成されている操作画面のレイアウトを記憶部２５０から読み出して操作画面を生成する。また、操作画面生成部２６２は、各クライアント端末１０Ａ，１０Ｂ，１０Ｃの入力部２０Ａ，２０Ｂ，２０Ｃから、表示部３０Ａ，３０Ｂ，３０Ｃに表示される操作画面に対して各種操作（文字の入力等を含む）があった場合には、これを反映した操作画面を生成する。操作画面生成部２６２によりクライアント端末１０Ａ，１０Ｂ，１０Ｃのそれぞれについて生成された操作画面は、出力部２１０により、そのクライアント端末１０Ａ，１０Ｂ，１０Ｃの表示部３０Ａ，３０Ｂ，３０Ｃに出力させられる。
【００８１】
また、操作画面生成部２６２は、後述する図４のステップＳ１１，Ｓ１６，Ｓ１７において、プログラム作成者への問い合わせ画面や、コピーするデータの選択画面を生成する。
【００８２】
（２−２−４−３）コマンド生成部
上述したように、受付部２２０は、複数のクライアント端末１０Ａ，１０Ｂ，１０Ｃの表示部３０Ａ，３０Ｂ，３０Ｃのそれぞれに表示させられる操作画面のいずれかにおいて所定操作を受け付けると、コマンド生成部２６４に対し所定操作に関する情報を送信する。所定操作に関する情報には、その所定操作が行われたクライアント端末１０Ａ，１０Ｂ，１０Ｃを特定するための情報と、所定操作の内容（試験用データベース３００のデータテーブル３１０−３５０のいずれに対して、どのような情報の変更が行われるか）に関する情報を含む。例えば、受付部２２０からコマンド生成部２６４に対して送信されてくる情報は、クライアント端末１０Ａにおいて、顧客ナンバー「００００００３」、顧客名「有限会社ＣＣＣ」、電話番号「ＺＺ−ＺＺＺＺ−ＺＺＺＺ」、担当者「ＦＦＦ様」という情報を、データテーブルの１つ（顧客マスタという名称のデータテーブル、例えばデータテーブル３１０）に新たに登録するという内容の操作が行われたことを特定可能な情報である。
【００８３】
コマンド生成部２６４は、受付部２２０から所定操作に関する情報を受け付けると、その所定操作に対応するコマンドを生成する。例えば、コマンド生成部２６４が、データテーブル３１０に顧客ナンバー「００００００３」、顧客名「有限会社ＣＣＣ」、電話番号「ＺＺ−ＺＺＺＺ−ＺＺＺＺ」、担当者「ＦＦＦ様」という情報を新たに登録するという所定操作に関する情報を受け付けた場合には、データテーブル３１０に対してそのような処理を後述する変更部２６６に実行させるコマンドを生成する。
【００８４】
コマンド生成部２６４により生成されるコマンドには、データテーブル３１０−３５０のいずれかへの情報の登録、データテーブル３１０−３５０のいずれかの情報の内容変更（更新）、およびデータテーブル３１０−３５０からの情報の削除、を含む。
【００８５】
また、コマンド生成部２６４は、受付部２２０から所定操作に関する情報を受け付けると、所定操作が行われたクライアント端末１０Ａ，１０Ｂ，１０Ｃを特定するための情報と、上記のようにして作成したコマンドと、を履歴画面生成部２６８に送信する。
【００８６】
（２−２−４−４）変更部
変更部２６６は、コマンド生成部２６４から送信されてくるコマンドに応じて、変更を指示されたデータテーブル３１０−３５０の情報を変更する。上記のように、コマンドは、いずれかのクライアント端末１０Ａ，１０Ｂ，１０Ｃの表示部３０Ａ，３０Ｂ，３０Ｃに表示させられる操作画面における所定操作に応じて、コマンド生成部２６４により生成される。つまり、変更部２６６は、いずれかのクライアント端末１０Ａ，１０Ｂ，１０Ｃの表示部３０Ａ，３０Ｂ，３０Ｃに表示させられる操作画面における所定操作に応じて、変更を指示されたデータテーブル３１０−３５０の情報を変更する。
【００８７】
（２−２−４−５）履歴画面生成部
履歴画面生成部２６８は、動作確認テストの際に、出力部２１０が各クライアント端末１０Ａ，１０Ｂ，１０Ｃの表示部３０Ａ，３０Ｂ，３０Ｃに表示させる履歴画面を生成する。履歴画面は、各クライアント端末１０Ａ，１０Ｂ，１０Ｃの表示部３０Ａ，３０Ｂ，３０Ｃに表示させられる操作画面における所定操作に応じた、データテーブルの変更履歴を示す画面である。
【００８８】
ここでは、履歴画面生成部２６８が、クライアント端末１０Ａの表示部３０Ａに表示させるための履歴画面を生成する場合を例に説明する。ここでは、履歴画面生成部２６８は、図２のような、第１履歴画面３４Ａおよび第２履歴画面３６Ａを生成するものとする。
【００８９】
履歴画面生成部２６８は、データテーブル３１０−３５０の変更履歴として第１履歴画面３４Ａおよび第２履歴画面３６に表示させるための、メッセージＭ１およびメッセージＭ２を生成する。メッセージＭ１およびメッセージＭ２は、履歴画面生成部２６８の機能部である、メッセージ生成部２６８ａにより生成される。
【００９０】
クライアント端末１０Ａにおいて動作確認テストが実施される際、出力部２１０は、履歴画面生成部２６８により生成された第１履歴画面３４Ａおよび第２履歴画面３６Ａ（メッセージＭ１およびメッセージＭ２を含む）を、操作画面生成部２６２が生成する操作画面と同時に、クライアント端末１０Ａの表示部３０Ａに表示させる。
【００９１】
また、履歴画面生成部２６８は、受付部２２０が前述の指定操作を受け付けた場合に、クライアント端末１０Ａの表示部３０Ａに表示させる、データテーブル３１０−３５０の情報の変更内容又は参照内容の詳細を表示する画面を生成する。データテーブル３１０−３５０の情報の変更内容又は参照内容の詳細を表示する画面は、履歴画面生成部２６８の機能部である、詳細表示生成部２６８ｂにより生成される。
【００９２】
出力部２１０は、クライアント端末１０Ａにおいて動作確認テストが実施され、かつ受付部２２０が指定操作を受け付けた場合、詳細表示生成部２６８ｂが生成したデータテーブル３１０−３５０の情報の変更内容又は参照内容の詳細を表示する画面を、クライアント端末１０Ａの表示部３０Ａに表示させる。
【００９３】
（２−２−５）データ複製部
データ複製部２８０も、プログラム作成支援部２６０と同様に、上記のプログラム作成支援用のソフトウェアが実行されたときに制御部として働くＣＰＵ２０１における１つの機能部である。データ複製部２８０は、試験用データベース３００と実施用データベース４００との間で相互に部分的なデータコピーを行わせる処理を行う。データ複製部２８０は、第１複製処理部２８１と、第２複製処理部２８２とを有している。第１複製処理部２８１は、試験用データベース３００に格納されたデータから、一部のデータをプログラム作成者に選択させ、選択されたデータをコピーして実施用データベース４００に格納する。試験用データベース３００に格納されたデータとは、作成中の未完成プログラムを試験（動作確認テスト）しているときに、プログラム作成者によって入力されたデータである。
【００９４】
例えば、上述の動作確認テストの際に、操作画面３２Ａを見ながら入力された顧客ナンバー、顧客名、電話番号、担当者のデータが顧客マスタという名のデータテーブル３１０に登録されるが、その図３のような顧客マスタのデータテーブル３１０に登録された情報（データ）が、プログラム作成者によって入力されたデータである。
【００９５】
また、第１複製処理部２８１は、試験用データベース３００の各データテーブルの中の一部のデータをプログラム作成者に選択させ、選択されたデータをコピーして実施用データベース４００に格納することができる。例えば、上述の試験用データベース３００の顧客マスタのデータテーブル３１０に登録された顧客ナンバー、顧客名、電話番号、担当者のデータの中から、プログラム作成者が、実際の運用情報に基づいて入力した顧客ナンバーおよび顧客名のデータを選択し、架空の数字や名前を入力した電話番号および担当者のデータを選択しなかったとする。この場合には、第１複製処理部２８１が、試験用データベース３００の顧客マスタのデータテーブル３１０から顧客ナンバーおよび顧客名のデータだけを抽出してコピーし、それらのデータを実施用データベース４００の顧客マスタのデータテーブル４１０に格納する。
【００９６】
同様に、第２複製処理部２８２は、実施用データベース４００の各データテーブルの中の一部のデータをプログラム作成者に選択させ、選択されたデータをコピーして試験用データベース３００に格納することができる。
【００９７】
（３）プログラム作成・実施システムによるプログラム作成の処理の流れ
次に、図４を参照しながら、プログラム作成・実施システム１００を用いたプログラム作成の流れについて説明する。ここでは、プログラム作成者がクライアント端末１０Ａを使って作業していると仮定して説明を進める。
【００９８】
プログラム作成を開始すると、他のプログラムがアクセスしている既存の実施用データベースを利用（流用）するか否かを問う画面が、クライアント端末１０Ａの表示部３０Ａに現れる（ステップＳ１１）。ここでプログラム作成者がＹＥＳを入力すると、プログラム作成者が選択した既存の実施用データベースがコピーされ、それが試験用データベースになる（ステップＳ１２）。ここで、プログラム作成者は、既存の実施用データベースの全てのデータをコピーして試験用データベースを生成させることができる。また、プログラム作成者は、既存の実施用データベースの中の所定のデータテーブルをファイル単位で選択して、あるいは、所定のデータテーブル内のデータの一部だけを選択して、試験用データベースを生成させることもできる。
【００９９】
ステップＳ１１においてプログラム作成者がＮＯを入力すると、新しい実施用データベース４００および試験用データベース３００が生成される（ステップＳ１３）。図１に示す記憶部２５０の第１記憶領域２５１に実施用データベース４００が記憶され、第２記憶領域２５２に試験用データベース３００が記憶される。これらの実施用データベース４００および試験用データベース３００は、生成時点においては同じものである。
【０１００】
ステップＳ１２あるいはステップＳ１３の後、ステップＳ１４に移行し、プログラム作成者が、サーバー２００のプログラム作成支援部２６０の機能を用いてプログラム作成を行う。上述のように、プログラム作成・実施システム１００では、ＧＵＩの操作により、予め準備されたブログラム部品を組み合わせて、ＳＱＬ等のプログラム言語で記述されたプログラムを生成することができる。
【０１０１】
また、プログラム作成者は、ステップＳ１５で作成中の未完成プログラムの試験を行う。具体的には、上述の動作確認テストを行う。
【０１０２】
ステップＳ１６に移り、プログラム作成者が作成中のプログラムが完成したと判断し、それをクライアント端末１０Ａの入力部２０Ａから入力すると、次のステップＳ１７に移行する。
【０１０３】
ステップＳ１７では、完成したプログラムのリリースの前に、サーバー２００のデータ複製部２８０がプログラム作成者の意向を確認する。具体的には、データ複製部２８０は、プログラムの動作確認テストにおいて入力したデータ、すなわち試験用データベース３００の各データテーブルに格納されているデータの一部を実施用データベース４００にコピーするか否かを問う画面を、クライアント端末１０Ａの表示部３０Ａに表示させる。ここでプログラム作成者がＹＥＳを入力した場合、ステップＳ１８に移行し、データ複製部２８０の第１複製処理部２８１が、試験用データベース３００のデータの一部を実施用データベース４００にコピーして格納する。より詳細には、上述のように、第１複製処理部２８１は、試験用データベース３００の各データテーブルの中の一部のデータをプログラム作成者に選択させ、あるいは、試験用データベース３００のデータテーブルを選択させ、その選択されたデータをコピーして実施用データベース４００に格納する。
【０１０４】
これにより、完成したプログラムが実行されたときに、そのプログラムがアクセスする実施用データベース４００には既に動作確認テスト時に入力したデータが存在することになる。このため、完成プログラムが実行され実施状態に置かれた後の運用段階において、エンドユーザーが重複して同じデータを入力しなければならない、という不具合が解消される。
【０１０５】
（４）プログラム作成・実施システムの特徴
（４−１）
作成中のプログラムを試験するときにプログラムがアクセスするデータベースと、実際にプログラムを実行させてプログラムを実施状態に置いたときにプログラムがアクセスするデータベースとを共通化してしまうと、未完成のプログラムが試験時に予期せぬ処理を行って不具合が生じる。このことに鑑み、従来からプログラムのテスト環境と運用環境とを区別し、例えばテスト環境を提供するサーバーと運用環境を提供するサーバーとを分けていることが多い。そして、プログラム作成者は、テスト環境で使う試験用データベースと、運用環境で使う実施用データベースとの間でデータを合わせるために、従来は手作業でデータのコピーを行っている。この作業の負担は大きい。
【０１０６】
また、手作業のデータのコピーは、従来、運用環境で使っている実施用データベースの全体をバックアップし、そのバックアップのデータをテスト環境で復元するという方法で行っていることが多い。
【０１０７】
このため、従来は、テスト環境で入力、構築した試験用データベース内のデータを、容易には運用環境に反映させることはできなかった。
【０１０８】
このような従来の問題に鑑み、本実施形態に係るプログラム作成・実施システム１００では、データ複製部２８０を設けている。そして、試験（動作確認テスト）において入力され試験用データベース３００に格納されたデータの一部は、プログラム作成者が選択することによって、コピーされ実施用データベース４００に格納されるようになっている。データ複製部２８０の第１複製処理部２８１は、作成者にデータの一部を選択させる処理と、選択されたデータを実施用データベース４００に格納する処理とを行っている。
【０１０９】
このように、プログラム作成・実施システム１００では、プログラム作成者が試験用データベース３００内のデータの一部を選択するだけで、それが実施用データベース４００に反映される。したがって、プログラム作成・実施システム１００によれば、作成中のプログラムの試験時に入力され試験用データベース３００に格納されたデータを、容易に実施用データベース４００に反映させて活用することができる。
【０１１０】
（４−２）
また、本実施形態のプログラム作成・実施システム１００では、第１複製処理部２８１に加え、第２複製処理部２８２を備えるため、プログラム作成者が試験用データベース３００内あるいは実施用データベース４００内のデータの一部を選択するだけで、それが他方のデータベースに反映される。すなわち、プログラム作成者が試験用データベース３００内あるいは実施用データベース４００内のデータの一部を選択することで、試験用データベース３００・実施用データベース４００の間で相互にデータのコピーの処理が行われる。したがって、試験用データベース３００に格納されたデータの活用も、実施用データベース４００に格納されているデータの活用も、容易になっている。
【０１１１】
（４−３）
本実施形態のプログラム作成・実施システム１００では、プログラム作成者が望む場合、プログラムの作成開始時に、具体的には図４に示すステップＳ１３において、完成されたプログラムがアクセスする実施用データベース４００も、未完成プログラムがアクセスする試験用データベース３００も、同時に生成される。このため、プログラム作成者は、自ら手動で実施用データベースを作ったり、プログラムの作成開始時に実施用データベースを手動でコピーして試験用データベースを作ったりする煩雑な作業を行う必要がなくなっている。
【０１１２】
（４−４）
本実施形態のプログラム作成・実施システム１００では、データ複製部２８０の第１複製処理部２８１は、試験用データベース３００の各データテーブルの中の一部のデータをプログラム作成者に選択させ、選択されたデータをコピーして実施用データベース４００に格納することができる。また、第２複製処理部２８２は、実施用データベース４００の各データテーブルの中の一部のデータをプログラム作成者に選択させ、選択されたデータをコピーして試験用データベース３００に格納することができる。
【０１１３】
上述のように、従来、試験用データベースと実施用データベースとの間でデータを合わせるために、手作業でデータのコピーを行っているという実態が存在する。しかし、データベース全体をコピーすることは容易でも、データテーブルを選んで手作業でコピーすることは容易ではなかった。さらに、データテーブルの中の一部のデータだけを手作業で抽出し、それを他方のデータベースの同様のデータテーブル内に格納させることは、非常に困難でミスが生じやすい作業であった。
【０１１４】
これに対し、本実施形態のプログラム作成・実施システム１００では、例えば試験用データベース３００の顧客マスタのデータテーブル３１０に登録された情報から、顧客ナンバーおよび顧客名のデータだけを選択し、電話番号、担当者のデータは非選択として、前者だけを実施用データベース４００に反映させることも容易にできるようになっている。これにより、プログラム作成者の作業負担を大幅に減らすことが可能である。
【０１１５】
（４−５）
本発明は、テスト環境を提供するサーバーと運用環境を提供するサーバーとを分けたプログラム作成・実施システムに適用することも可能であるが、本実施形態のプログラム作成・実施システム１００では、１つのサーバー２００に内蔵あるいは外付けされる記憶部２５０に、実施用データベース４００および試験用データベース３００を置いている。このため、プログラムの開発作成、テスト、リリースといった一連の作業を１つのサーバー２００で行うことが可能となっている。
【０１１６】
（４−６）
本実施形態のプログラム作成・実施システム１００では、完成プログラムのリリースの前に、サーバー２００のデータ複製部２８０がプログラム作成者の意向を確認する（図４のステップＳ１７参照）。具体的には、プログラムの動作確認テストにおいて入力したデータ、すなわち試験用データベース３００の各データテーブルに格納されているデータの一部を実施用データベース４００にコピーするか否かを、プログラム作成者に問う。
【０１１７】
このように構成しているため、本実施形態のプログラム作成・実施システム１００では、プログラムをリリースする前にはエンドユーザーに見せてはいけない、近い将来入社してくる新入社員の個人情報などを、エンドユーザーと切り離された試験用データベース３００のみに蓄積することも可能である。そして、新入社員の入社後に、試験用データベース３００の当該データを実施用データベース４００にコピーさせることができる。
【０１１８】
もちろん、試験用データベース３００と実施用データベース４００とを１つのデータベースに統合することも不可能ではないが、その場合には、各データに、４月まではエンドユーザーに見えず４月以降はエンドユーザーに見えるようにするためのフラグ設定などが必要となり、データ容量が増えたりデータ入力の煩雑さが増したりするデメリットが生じてしまう。
【符号の説明】
【０１１９】
１００    プログラム作成・実施システム（プログラム作成システム）
２５０    記憶部
２５１    第１記憶領域（第１記憶部）
２５２    第２記憶領域（第２記憶部）
２６１    データベース生成部
２８０    データ複製部
２８１    第１複製処理部（第１データ複製処理部）
２８２    第２複製処理部（第２データ複製処理部）
３００    試験用データベース
３１０，３２０，・・・    データテーブル（試験用ファイル）
４００    実施用データベース
４１０，４２０，・・・    データテーブル（実施用ファイル）
【先行技術文献】
【特許文献】
【０１２０】
【特許文献１】特開２０１２−２１６０００号公報
【図１】
0006662153.tif 000002
【図２】
0006662153.tif 000003
【図３】
0006662153.tif 000004
【図４】
0006662153.tif 000005