JP2011154575A - プログラム自動生成装置 - Google Patents

プログラム自動生成装置 Download PDF

Info

Publication number
JP2011154575A
JP2011154575A JP2010016118A JP2010016118A JP2011154575A JP 2011154575 A JP2011154575 A JP 2011154575A JP 2010016118 A JP2010016118 A JP 2010016118A JP 2010016118 A JP2010016118 A JP 2010016118A JP 2011154575 A JP2011154575 A JP 2011154575A
Authority
JP
Japan
Prior art keywords
information
program
screen
item
database
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
Application number
JP2010016118A
Other languages
English (en)
Inventor
Fumiaki Morinaga
文秋 森永
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.)
AIREX Inc
Original Assignee
AIREX Inc
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 AIREX Inc filed Critical AIREX Inc
Priority to JP2010016118A priority Critical patent/JP2011154575A/ja
Publication of JP2011154575A publication Critical patent/JP2011154575A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】 通常のシステム開発では、設計工程に時間がかかり、プログラムの開発期間が短縮され、更に検査工程も短縮される傾向にある。これらは、品質と納期・開発費用に多大なる影響を与えていた。本発明では、プログラムの開発期間が短縮されても、品質・納期・開発費用に影響を与えないようプログラムの開発期間を著しく短縮し、標準化を容易に可能とする業務アプリケーションのプログラム自動生成装置を提供する。
【解決手段】 業務アプリケーションの基本画面プログラムの入力項目名に規定に従った名前を付与し、実行画面のボタンと画面レイアウトからプログラムを自動生成する手段と、基本画面プログラムから単体検査仕様書を自動生成する手段と、設計仕様書の定義内容から定型形画面を表示させる手段と、設計仕様書の定義内容からリストボックスを表示させる手段とを有するプログラム自動生成装置である。
【選択図】 図1

Description

本発明は、プログラムを自動生成する技術に関し、定型化された業務アプリケーションの他に、複雑なロジックを含む業務アプリケーションにも対応した開発環境の提供に関する。
従来の技術では、複数の定義書を設定してからプログラムを自動生成していた(例えば、特許文献1参照)。この方式では定義書が複雑になる上、定型化された業務アプリケーションにしか対応できず、システム開発の多様化に伴ったプログラムを自動生成するメリットが薄れていた。
近年では、業務アプリケーションを構築するためのフレームワークにASP.NET(登録商標)を利用するケースもあるが、この開発ツールでは、まず、データベースアクセスを司るデータ検索文を作成してから入出力インターフェース画面プログラム(以下、実行画面プログラムと称す)を自動生成している。
更に、パラメータ操作画面上で実行画面プログラムの画面レイアウトの変更や入力チェック等を定義してから、複数のプログラミング言語から択一して、プログラムを自動生成している。
このような開発ツールでは、データベースの構成(表、列名)が決定しないとプログラムの開発を開始できず、顧客が画面を確認できるのはプログラム開発後となり、仕様変更が多発する原因ともなっている。
また、業務アプリケーションの開発では、基本画面プログラム(基本画面プログラムは単独で起動できるが、実行画面プログラムはアプリケーションサーバがないと起動できない)を作成し、次に、データベースとのアクセスを行うデータ検索文や登録・更新・削除を行なうデータ操作文を作成しておき、予め準備された共通処理テンプレートを利用して、プログラムを自動生成する方法もしばしばみられる。
これらの開発ツールによって、画面遷移処理や入力チェック等の共通部分に関してはコードの再利用性を高めることが出来るようになったが、一部のソースコードを自動生成する機能を有しているだけのものが殆どであった。
また、これらの開発ツールでは、業務アプリケーションの入出力インターフェース画面の編集、データベースアクセスを司るデータ検索文の作成、業務アプリケーションのプログラミングを行う工程等があり、それぞれの編集画面に切り替えて開発する必要があり、余計な手間がかかっていた。
特開2004−265278号公報
しかしながら、システムの開発工程を通して、これらの開発ツールを用いてもなお、システムの開発コストを低減することや納期を著しく短縮するには至っていない。なぜなら、実際の業務システムでは定型化された業務形態は少なく、上述の特許文献1によるメリットは薄い上に、その他の開発ツールでは業務ロジックの雛形を自動生成するものの、最終的にはプログラマによる業務ロジックのコーディングが必要不可欠である。
また、これらの開発ツールおよび基盤となるフレームワーク(多くの再利用可能なコードをフレームワークにまとめることによって、開発者の手間を省き、新たなアプリケーションのために標準的なコードを改めて書かなくて済むようにする)を十分理解した上で、個々の業務ロジックを実装するためには、その環境に熟達した開発者であることが求められる。すなわち、このような開発者を確保できなければ逆に生産性を低下させ、大幅な費用増に陥ったり、納期を確保できなくなる等の困難な状況を招いている。
このようなプログラム自動生成技術に関する先行技術として、上述の特許文献1に記載されたプログラム自動生成装置やASP.NET(登録商標)等がある。
前者は、データ項目情報を規定した設定ファイル、業務処理パターンを規定した設定ファイル、表示レイアウトを規定した設定ファイル等を定義後にプログラムを自動生成しており、定型化された業務形態を主としているため、複雑な画面レイアウトに対応出来ない上、定義ファイルの設定に時間が掛かる等のデメリットが発生している。
また、後者は、業務アプリケーションの開発において、データベースへのアクセスを行なうデータ検索文を作成後に実行画面プログラムや画面レイアウトを自動生成し、パラメータ操作による画面レイアウトの変更および、入力チェック項目の設定等を行う。その後、プログラムを自動生成している。このような開発ツールでは、データベースのテーブルレイアウトが決まらないと実行画面プログラムを生成できないことや、業務ロジックの雛形を生成しているだけなので、プログラマがコーディングを行なう機会が多いために標準化が容易でない等の他、前述したような問題点を抱えている。
本発明の一態様によるプログラム自動生成装置は、
開発対象となる業務アプリケーションの入力項目名に、入力項目チェック機能とデータベースの列名を有する基本画面プログラムと、
実行画面プログラムと実行プログラムを生成するための情報として、前記基本画面プログラムのレイアウト情報と項目情報を保持及び管理する画面情報読込部と、
保持された前記レイアウト情報と前記項目情報に、データベースから取得した値を表示するためのプログラムを追加して、前記実行画面プログラムを生成する画面ロジック生成部と、
保持された前記項目情報の中の入力項目名を、入力項目チェック情報と、データ項目情報とに分割する項目情報変換部と、
前記項目情報変換部で分割された前記入力項目チェック情報によって、チェックロジックを生成し、前記データ項目情報によって、入力項目チェック処理を除くロジックを生成するロジック生成部と、
データベースから取得した値及び前記実行画面プログラムの入力項目の値を保持及び管理する情報格納部と、
前記項目情報変換部で分割された前記データ項目情報と、保持された前記項目情報の表示項目とで、データベースのデータ検索文、データ操作文を生成するデータベースアクセス部と、
前記基本画面プログラムに関連付けされた共通処理のロジック情報を保持したロジック情報管理部から前記ロジック情報を読み込み保持及び管理するロジック読込部とを備え、
前記ロジック情報管理部の前記ロジック情報に従った処理を実行することにより、画面表示を行う前記実行画面プログラムとデータベースのデータ検索文、データ操作文を含めた前記実行プログラムを自動生成する。
本発明によれば、利用者が基本画面プログラム言語で画面を作成して、規定に従った項目名を追加するだけで、全ての業務アプリケーションに対応したプログラムを容易且つ迅速に構築することができる。
また、最大100%を自動生成するので、全てのプログラムでロジックが統一されることにより標準化が容易となり、品質向上に貢献できると共に、プログラム開発言語の初心者でもその他の開発言語を経験者していれば、簡単に開発が可能になる。
また、プログラムを自動生成した後にコーディングを追加した場合でも、再度、プログラムを自動生成しても先に追加されたコーディングに影響を与えないような構造になっている。
また、定型形画面プログラムは、設計仕様書に必要な項目名と、データベースからデータを取得するためのデータ検索文を定義するのみで、簡単に画面を表示させることが出来るので、プログラミングの必要もなく品質向上、工数削減に最大限のメリットを発揮している。
また、設計仕様書にデータベースからデータを取得するためのデータ検索文を定義することにより、リストボックスを簡単に表示させることが出来、選択画面と同様のメリットがある。
これらの施策により、本発明のプログラム自動生成装置は、従来の技術と比較し、7割の工数を削減した実績(営業情報管理システム)を持っている。
尚、本発明では、基本画面プログラム言語で画面を作成してからプログラムを自動生成しているので、システム開発を依頼した顧客に基本画面を確認して貰ってからシステム詳細設計を開始出来る。このことは、プログラム完成後に顧客に画面を確認して貰うシステム開発形態と比べ、仕様変更が少ないというメリットがある。
また、基本画面プログラム言語で画面を作成して、項目名を追加後に単体検査仕様書を自動生成できる。この自動生成された仕様書に不足している部分を補正するだけで、簡単に単体検査仕様書を完成させることができ、更なる生産性の向上に寄与している。
本発明によるプログラム自動生成装置の一実施の形態を示した機能ブロック構成図である。 本発明によるプログラム自動生成装置の基本画面プログラムの項目名の規定例を示す図である。 本発明によるプログラム自動生成装置の基本画面プログラムの項目名の規定一覧表を示す図である。 本発明によるプログラム自動生成装置で、基本画面プログラムから実行画面プログラムを自動生成した一実施例である。 本発明によるプログラム自動生成装置で自動生成されるデータベースのデータ検索文と登録・更新・削除を行なうデータ操作文を説明するための実行画面プログラムの一表示例を示す画面レイアウト図である。 本発明によるプログラム自動生成装置の定型形実行画面プログラムを生成するための定義書の一例を示す図である。 図6の定義書により自動生成された定型形実行画面の一実施例を示した画面レイアウト図である。 本発明によるプログラム自動生成装置の実行部品プログラムを生成するための定義書の一例を示す図である。 図8の定義書により自動生成された実行部品プログラムで表示されるリストボックスの一実施例を示した画面レイアウト図である。 本発明によるプログラム自動生成装置を使ったシステム開発事例を示す図である。
以下、本発明の実施の形態について図面を参照して説明する。
図1は、本発明に係るプログラム自動生成装置40の一実施の形態を示した機能ブロック構成図である。本実施の形態におけるプログラム自動生成装置40は、開発対象となるアプリケーションが使用する入力項目チェック情報とデータベースの列名を持った入力項目名の入力を基本画面プログラム6にて行い、この基本画面プログラム6から全ての画面情報を読込み、実行画面プログラム9に必要なロジックを組み込むことで、実行画面プログラム9を生成する。
また、プログラム自動生成装置40は、上記で読込まれた画面情報から業務アプリケーションプログラムの共通処理を保持し、ロジック情報管理部2によって制御されるアプリケーションのロジック生成部12と情報格納部11を用いて、上記で読込まれた画面情報の入力項目を画面レイアウトでグルーピング(図5のヘッダ部51、明細部52)を行い、データベースの情報を読書きするデータ検索文とデータ操作文を生成して、実行プログラム15を自動生成し、上記で読み込まれた画面情報と画面項目定義書16から単体検査仕様書19を自動生成する。
また、画面定義書20から画面項目情報と、データベースの情報を取得するためのデータ検索文を読込み、その読込んだ情報を画面情報データベースファイル24に格納しておき、これらのファイル情報から定型形実行画面プログラム26を自動生成する。
また、検索文定義書27から定義情報を読込み、その読込んだ情報を部品情報データベースファイル31に格納しておき、これらのファイル情報からリストボックスを表示させるための実行部品プログラム33の自動生成を行うものである。
本実施の形態におけるプログラム自動生成装置40は、プログラム生成部1、ロジック情報管理部2、文書生成部3、画面情報生成部4、部品情報生成部5により構成される。なお、本実施の形態の場合、基本画面プログラムは、例えばHTML画面プログラムなどであり、実行画面プログラムは、例えばJSP(登録商標)画面プログラムなどであり、実行プログラムは、例えばJava(登録商標)プログラムなどである。
プログラム生成部1の画面情報読込部7は、入力項目チェック機能とデータベースの列名を持った入力項目名を有する基本画面プログラム6にコーディングされているレイアウト情報と項目情報を読み込み、実行画面プログラム9と実行プログラム15の生成情報として保持・管理する。
画面ロジック生成部8は、保持された生成情報に、データベースから取得した値を表示するためのプログラムを追加して、実行画面プログラム9を自動生成する。
項目情報変換部10は、保持された生成情報の入力項目情報の入力項目名を実行画面プログラム9の入力値チェックのための入力項目チェック情報D1〜D4(図2)と、データベースを構成するデータ項目情報D6(図2)とに分割する。この分割された前者の入力項目チェック情報によってチェックロジックを生成し、後者のデータ項目情報によって、入力項目チェック処理とは異なるロジックを生成するロジック生成部12を有している。
情報格納部11は、保持された生成情報の項目情報で生成されており、データベースから取得した値や実行画面プログラム9の入力項目の値を保持・管理するのに用いられる。
また、データベースアクセス部13は、分割された入力項目名の後者のデータ項目情報と前記生成情報の表示項目によって、データベースから値を取得するためのデータ検索文や、データベースに値を書き込んだり、更新、削除したりするデータ操作文を生成する。
また、時間の取得、処理ログ、エラーログ、入力項目チェック、データベースとのアクセス、基本画面プログラム6に関連付けされた共通処理等のロジック情報を保持したロジック情報管理部2からロジック情報を読み込んで保持・管理するロジック読込部14を有しており、そのロジック情報は、項目情報変換部10、情報格納部11、ロジック生成部12、データベースアクセス部13を制御するための制御情報として用いられる。
また、ロジック生成部12には、例えば、入力項目情報が実行画面プログラム9においてボタンとして表示されている場合に、そのボタンが選択されたときに起動され実行されるアプリケーションとしての振る舞いを生成するとともに、時間の取得、処理ログ、エラーログ、データベースとのアクセス等の共通処理ロジックも生成する。
これら画面情報読込部7、項目情報変換部10、情報格納部11、ロジック生成部12、データベースアクセス部13、ロジック読込部14によって、実行プログラムが自動生成される。
文書生成部3は、画面項目定義書16の画面項目情報を項目情報読込部17によって読み込み定義情報を保持・管理する。
また、プログラム生成部1の画面情報読込部7によって保持・管理された基本画面プログラム6の画面項目情報を取得して、画面情報検査部18によって先に保持していた定義情報の画面項目とを比較検査し、検査した両方の項目情報が全て合致していれば前記画面項目情報によって単体検査仕様書19を生成する。
この単体検査仕様書を作成する際には、例えば、図7の例で画面項目情報のラベル名が受注番号で、入力項目名に「P010nnSBT__ORDER_NO」と定義した場合は、「受注番号の文字列長は、10桁であり、受注番号が空白の場合は、エラーメッセージが表示され、受注番号が1バイト文字以外はエラーメッセージが表示されること」というように生成される。
画面情報生成部4は、画面定義書20に定義してある定型形画面プログラム26の項目情報を項目情報読込部21によって読み込み、項目情報として保持・管理する。また、画面定義書20に定義してあるデータベースのデータ検索文を出力情報読込部22によって読み込み、データ検索情報として保持・管理する。
これらの保持・管理された項目情報とデータ検索情報は、画面情報入力部23によって画面情報データベースファイル24に書き込まれる。
画面情報データベースファイル24に書き込まれた項目情報とデータ検索情報は、画面情報出力部25によって読み込まれ保持・管理される。この保持された前者の項目情報は、定型形実行画面プログラム26のレイアウト表示に使われ、後者のデータ検索情報のデータ検索文によって、データベースからデータを読み込んで定型形実行画面プログラム26によって表示される一覧表に値を表示させる。この様にして画面情報生成部4は、新たにプログラムを生成することなく定型形実行画面プログラム26を自動生成できる。
部品情報生成部5は、検索文定義書27に定義してある実行部品プログラム33で表示される画面への表示条件を、表示情報読込部28によって読み込み、表示情報として保持・管理する。また、検索文定義書27に定義してあるデータベース情報を読込むためのデータ検索文を出力情報読込部29によって読み込み、データ検索情報として保持・管理する。
これらの保持・管理された表示情報とデータ検索情報は、部品情報入力部30によって部品情報データベースファイル31に書き込まれる。
部品情報データベースファイル31に書き込まれた表示情報とデータ検索情報は、部品情報出力部32によって読み込まれ保持・管理される。この保持された前者の表示情報は、実行部品プログラム33によって表示されるリストボックスの一覧表の1行目に空白を挿入するか否かに使われる。また、後者のデータ検索情報のデータ検索文によってデータベースからデータを読み込んで、実行部品プログラム33によって表示されるリストボックスの一覧表に値を表示させる。
この様にして部品情報生成部5は、新たにプログラムを生成することなく実行部品プログラム33を自動生成できる。
図2は、図1の基本画面プログラム6の入力項目情報の名前の付与に関する規定の一例を示した図である。図3に本規定の一覧表を掲載する。
制限部D1は、属性部D4が文字列型、数値型のとき「P」、「M」が設定される。属性部D4が文字列型、数値型以外のときは「P」固定となる。
文字列長部D2は、数値で表される。例えば、属性部D4が文字列型で制限部D1が「M」のとき、文字列長部D2に「010」が指定された場合は、実行画面プログラム9から入力された値の文字列長が10桁を超えることにより、入力項目エラーが表示されるように図1のプログラム生成部1で生成される。
また、必須区分部D3は、小文字の「nn」または、「no」が指定される。例えば、「nn」が指定された場合は入力必須項目になり、「no」が指定された場合は空白も可となる。
属性部D4は、それぞれ、3文字のアルファベットで入力項目の属性チェックが行えるようになっている。
例えば、入力項目名のD1〜D4を「P010nnSBT」と定義した場合は、実行画面から入力した文字列が、文字列長10桁でなければエラーで、空白であればエラーで、1バイト文字でなければエラーとなる。
前記属性部D4が「DAT」の場合は、図1の画面ロジック生成部8によって、実行画面プログラム9を生成するときに、実行画面プログラム9からカレンダーが呼び出されるように自動生成される。また、列名部D6はデータベースの列名を大文字で指定する。
本規定による入力項目チェック処理は、図1のロジック生成部12によって実行プログラム15に生成され、予め準備された標準部品で項目チェックを行ってからエラーメッセージを表示するか否かを決定している。よって、図3に規定した入力項目名によるチェック形式以外のチェック内容が必要な場合でもチェック部品を標準部品に追加するだけでよく、本発明の自動生成装置をカスタマイズする必要がないという特徴がある。
図4は、本発明に係るプログラム自動生成装置40の一実施例を示した図であり、図2の入力項目名規定を使って、図1の基本画面プログラム6から実行画面プログラム9を自動生成した一例を示した図である。
本発明では、基本画面プログラム例D7から図1のプログラム生成部1によって実行画面プログラム例D8が自動生成される。基本画面プログラム例D7は、入力項目情報をコーディングしている例であり、name部D9とvalue部D10が必要となるが、value部D10は、コーディングしなくてもよい。value部D10がコーディングされていなくても、図1の画面ロジック生成部8で、実行画面プログラム例D8のvalue部D12を自動生成するようになっている。前記name部D9が、図2で規定された規約を使って画面の入力項目情報の名前付与を行った例である。
実行画面プログラム例D8は、基本画面プログラム例D7から自動生成された例であり、name部D11は、基本画面プログラム例D7のname部D9をそのままスライドしてきている。
また、value部D12は、図1の画面ロジック生成部8のname部D9から自動生成した一例であり、図1の実行プログラム15と関連付けを行うために図2で説明した入力項目情報の名前のD1〜D5までを削除している。
例えば、name部D9は、「P010nnSBT_ORDER_NO」となっているが、value部D12は、「data.getORDER_NO()」となっている。この「ORDER_NO」は、図2の列名部D6にあたり、この「ORDER_NO」の前に書かれているdata.get文字列と最後にコーディングされている「()」は、図1の実行プログラム15のプログラムと関連付けを行なうためのものである。
また、value部D12には「<%= %>」が存在するが、この符号の中に書かれた文字列は、実行プログラム9と関連付けするためのプログラム言語であり、図1の実行プログラム15内では、value部D12の様に図2の列名部D6を中心に自動生成される。このことが、本発明の最大の特徴の一つであり、図2の名前の付与規定に従うことで、実行画面プログラム9の入力項目チェックと、データベースから値を取得するためのデータ検索文やデータベースに登録されているデータを編集するためのデータ操作文までを自動生成できるようになった理由の一つである。
図5は、本発明に係るプログラム自動生成装置40で自動生成されるデータベースのデータ検索文と登録、更新、削除を行なうデータ操作文の生成方法を詳細に説明するための一実施例を示す実行画面図である。
検索ボタン56は、データベースに検索条件を渡して、条件に合致した値を取得し、その値を実行画面に表示するためのものである。
クリアボタン57は実行画面に表示した入力項目情報(検索条件部54、明細入力部55)を全てクリアするためのものである。
新規登録ボタン58は、実行画面に入力された値をデータベースに登録するためのものである。
変更ボタン59は、検索ボタン56によってデータベースから取得した値を実行画面に表示した後、実行画面の表示内容を変更してから変更ボタン59を押下して、データベースに更新するための条件を渡して、条件に合致した登録データを更新するためのものである。
削除ボタン60は、変更ボタン59と同様に検索ボタン56によってデータベースから取得した値を実行画面に表示した後、削除ボタン60を押下してデータベースに削除するための条件を渡して、条件に合致した登録データを削除するためのものである。
これらのボタンによって図1のプログラム生成部1で、データベースのデータ検索文とデータ操作文が自動生成される。
まず、検索ボタン56によってデータベースのデータ検索文を自動生成する方法を説明する。
図1のデータベースアクセス部13では、画面情報読込部7から項目情報変換部10、ロジック生成部12を介して送出されてきた基本画面プログラム6の検索ボタン56が存在することを確認し、検索ボタン56が存在していたら、ヘッダ部51の検索条件部54の入力項目(ここでは担当者CD、以下同様)をデータベースから値を取得するときの検索条件に設定する。
また、データベースから取得した値を表示するためのデータベース列名には、明細部52の明細入力部55に存在する入力項目名の列名を使う。明細部52に表示項目が存在する場合には、これもデータベースから取得した値を表示するためのデータベース列名に加える。
この様に画面のヘッダ部51と明細部52を使い分けることでデータベースのデータ検索文が自動生成される。
この時、ロジック生成部12は、ヘッダ部51に表示されている検索条件部54の入力項目をデータベースの検索条件にして、検索条件に合致したデータが存在するか否かをチェックして、合致したデータが存在しなければ、エラーメッセージを表示し、合致したデータが存在していたら実行画面にデータベースのデータを表示する仕組みを持たせたロジックも自動生成する。
次に、図1のロジック生成部12は、画面情報読込部7から項目情報変換部10を介して送出されてきた基本画面プログラム6のクリアボタン57が存在することを確認し、クリアボタン57が存在していたら、画面に表示されている入力項目値をすべて削除するロジックを自動生成する。
また、図1のデータベースアクセス部13では、画面情報読込部7から項目情報変換部10、ロジック生成部12を介して送出されてきた基本画面プログラム6の新規登録ボタン58が存在することを確認し、新規登録ボタン58が存在していたら、ヘッダ部51と明細部52の入力項目全てをデータベースに登録するための列名に設定してデータ操作文を生成する。
この時、ロジック生成部12は、ヘッダ部51に表示されている検索条件部54の入力項目をデータベースの検索条件にして、検索条件に合致したデータが存在するか否かをチェックする。既にデータが存在していたらエラーメッセージを表示し、データが存在していなければデータを新規登録する仕組みを持たせたロジックを自動生成する。
また、図1のデータベースアクセス部13では、画面情報読込部7から項目情報変換部10、ロジック生成部12を介して送出されてきた基本画面プログラム6の変更ボタン59が存在することを確認し、変更ボタン59が存在していたら、ヘッダ部51の検索条件部54の入力項目をデータベースの値を更新するための検索条件に設定し、明細部52の明細入力部55をデータベースの更新データに設定する。
この時、ロジック生成部12は、検索条件部54の入力項目をデータベースの検索条件にして、排他制御(同時に同じデータを更新しようとした場合は、後から更新しようとした方をエラーとする)を行なう仕組みを持たせたロジックを自動生成する。
また、図1のデータベースアクセス部13では、画面情報読込部7から項目情報変換部10、ロジック生成部12を介して送出されてきた基本画面プログラム6の削除ボタン60が存在することを確認し、削除ボタン60が存在していたら、ヘッダ部51の検索条件部54の入力項目をデータベースの値を削除するための検索条件に設定する。削除ボタンを押したときのデータ操作文はこれだけである。
この時、ロジック生成部12は、検索条件部54の入力項目をデータベースの検索条件にして、排他制御(同時に同じデータを削除しようとした場合は、後から削除しようとした方をエラーとする)を行なう仕組みを持たせたロジックを自動生成する。
図6は、本発明に係るプログラム自動生成装置40の機能の一つである図1の定型形実行画面プログラム26を生成するための画面定義書20の一例を示す図である。また、図1の画面情報データベースファイル24は、データベースにする必要はなく、テキストファイル等を使っても全く問題はない。
列名部61のCOMMON_NO63は、定型形実行画面プログラム26の識別番号を表しており、この実施例では、データ部62のエリア64に「103」が設定されている。
列名部61のSQL65は、データベースからデータを取得するためのデータ検索文を定義するための項目名であり、この実施例では、データ部62のエリア66にデータ検索文が設定されている。
また、この画面定義書20から図1の画面情報データベースファイル24にエリア66のデータ検索文を登録するときに、図1の画面情報入力部23によってデータ検索文の構文チェックが行われ、不具合が存在する場合には、エラー内容を表示するようになっている。
列名部61のTITLE_NAME67は、定型形実行画面プログラム26で表示される画面に主題名を表示させるための文字列を定義するためのものであり、この実施例では、データ部62のエリア68に「受注番号選択」が定義されており、この値がプログラム自動生成時に図1の画面情報データベースファイル24に登録される。定型形実行画面への表示場所は、図7のエリア84参照。
列名部61のKEY_LABEL_NAME_A69は、定型形実行画面プログラム26で表示される画面の検索条件の最初(画面レイアウトの左端)のラベル名を表示させるための文字列を定義するためのものであり、この実施例では、データ部62のエリア70に「受注番号」が定義されており、この値がプログラム自動生成時に図1の画面情報データベースファイル24に登録される。定型形実行画面プログラム26で表示される画面への表示場所は、図7のエリア85参照。
列名部61のKEY_LABEL_NAME_B71は、定型形実行画面プログラム26で表示される画面の検索条件の二番目のラベル名を表示させるための文字列を定義するためのものであり、この実施例では、データ部62のエリア72は空白にしている。これは、二番目の検索条件は、定型形実行画面プログラム26で表示される画面には表示しないことを意味している。
列名部61のHEAD_NAME_A73は、定型形実行画面プログラム26で表示される画面の明細一覧表(図7の明細部83のラベル名86参照)のタイトル部に表示させるラベル名を定義するためのものであり、この実施例では、データ部62のエリア74は「受注番号」となっている。
列名部61のHEAD_NAME_B75は、定型形実行画面プログラム26で表示される画面の明細一覧表(図7の明細部83のラベル名87参照)のタイトル部に表示させるラベル名を定義するためのものであり、この実施例では、データ部62のエリア76は「製品名」となっている。
列名部61のHEAD_NAME_C77は、定型形実行画面プログラム26で表示される画面の明細一覧表(図7の明細部83のラベル名88参照)のタイトル部に表示させるラベル名を定義するためのものであり、この実施例では、データ部62のエリア78は「出荷先名」となっている。HEAD_NAME_A〜Cは、それぞれ明細一覧表のタイトル部の左端から順に表示される。
図7は、図6で定義した画面定義書20に基づいて図1の定型形実行画面プログラム26により画面を表示した時の一例を示す。
ヘッダタイトル部81のエリア84は、図6のデータ部62のエリア68から値「受注番号選択」を取得して表示している例を示す。
ヘッダ条件部82のラベル名85は、図6のデータ部62のエリア70から値「受注番号」を取得して表示している例を示す。
ヘッダ条件部82のエリア92は、入力項目であり、図6のデータ部62に定義されているエリア66のデータ検索文の検索条件D16の「?」に設定される。このようにすることにより、エリア92に入力された値によってデータベースに検索条件を渡してデータを取得することが可能となる。
明細部83の一覧表のタイトル部のラベル名86は、図6のデータ部62のエリア74から値「受注番号」を取得して表示している例を示す。明細部83の一覧表のタイトル部のラベル名87は、図6のデータ部62のエリア76から値「製品名」を取得して表示している例を示す。
明細部83の一覧表のタイトル部のラベル名88は、図6のデータ部62のエリア78から値「出荷先名」を取得して表示している例を示す。明細部83の一覧表のデータ表示部のデータ89は、図6のデータ部62に定義されているエリア66のデータ検索文の列名D13で取得した値を表示している例を示す。
明細部83の一覧表のデータ表示部のデータ90は、図6のデータ部62に定義されているエリア66データ検索文の列名D14で取得した値を表示している例を示す。明細部83の一覧表のデータ表示部のデータ91は、図6のデータ部62に定義されているエリア66データ検索文の列名D15で取得した値を表示している例を示す。
本実施例では、明細部83の一覧表の列数は3列となっているが、実用上1〜10列まで設定できるようになっている。
また、図6の画面定義書20では、データ部62のエリア74、エリア76、エリア78のように3箇所とも定義されているが、エリア78に定義されている「出荷先名」を空白にしたら図7の明細部83に表示されている一覧表の3列目の出荷先名88とデータ91が削除されて2列表示となる。そのとき、画面の幅も2列表示に合せて狭くなるように生成される。
また、図6の実施例には定義されていないが、一覧表の各列幅を指定して図7の明細部83に配置されている一覧表の列幅を変更することもできる。
図8は、本発明に係るプログラム自動生成装置40の機能の一つである図1の実行部品プログラム33によってリストボックス109(図9)を表示させるための検索文定義書27の一例を示す図である。また、図1の部品情報データベースファイル31は、データベースにする必要はなく、テキストファイル等を使っても全く問題はない。
列名部101のMENU_NO103は、図1の実行部品プログラム33の識別番号を表しており、この実施例では、データ部102のエリア104に「003」が設定されている。
列名部101のSQL105は、データベースからデータを取得するためのデータ検索文を定義するための項目名であり、この実施例では、データ部102のエリア106にデータ検索文が設定されている。
また、前記検索文定義書27から図1の部品情報データベースファイル31にエリア106のデータ検索文を登録するときに、図1の部品情報入力部30によってエリア106のデータ検索文の構文チェックが行われ、不具合が存在する場合には、エラー内容を表示するようになっている。
列名部101のADD_SPACE107は、実行部品プログラム33によって図9の一覧表111を表示するときに、一覧表の1行目に空白を挿入するか否かの設定をするためのものであり、この実施例では、データ部102のエリア108に「ON」が設定されている。これは、一覧表の1行目に空白を挿入するということであり、データ部102のエリア108を空白にすると、エリア110が削除されて一覧表111の1行目から値を表示するということになる。
図9は、図8で定義した検索文定義書27によって図1の実行部品プログラム33からリストボックスを表示した一例を示す。
リストボックス109上をマウスでクリックするとエリア110とエリア111の一覧表が表示されるものである。
図8の例を用いるとデータ部102のエリア108が「ON」になっており、このように定義すると図9のエリア110のように1行目が空白になる。
リストボックス109の一覧表111のデータは、図8のデータ部102のエリア106に定義されているデータ検索文の列名D17によって、データベースから取得した値である。リストボックスの一覧表111に空白が必要なケースは、新規登録時に空白が存在しないと気づかないうちにリストボックスの一行目がデータベースに登録されてしまう危険性があるからである。初期値として空白になっていれば、本人が意識して選択しない限り、値がデータベースに登録されることはない。
開発期間を比較するために、ASP.NET(登録商標)と本発明のプログラム自動生成装置40によって、営業情報管理システム(図10)を開発した。システム規模としては、登録系が5本、検索系が5本であり、合計10本を前記ASP.NET(登録商標)は、190時間で開発を完了し、本発明のプログラム自動生成装置40は、56時間で開発を完了した。これらの開発期間を比較した結果、本発明のプログラム自動生成装置40によって開発期間を7割削減できた。
図10によると、登録ブロックの担当登録121、技術者登録122、企業登録123、案件登録124、商談登録125は、個人情報、会社情報を実行画面から入力してデータベースファイル126〜130にそれぞれ登録・管理するためのもので、検索ブロックの応募者一覧131、技術者検索132、企業検索133、案件検索134、商談検索135は、データベースファイル126〜130に登録されている情報を確認する為の実行画面である。なお、図中a及びbでは、ファイルアップロード及びファイルダウンロードが行われ、図中c及びdでは、ファイルダウンロードが行われる。
インターネットを利用した業務アプリケーション(受注管理、生産管理、購買管理、工程管理、在庫管理等)のシステム開発に利用でき、製造と検査に関して、納期短縮・コスト削減・品質向上が見込めるので利用価値大である。
1 プログラム生成部
2 ロジック情報管理部
3 文書生成部
4 画面情報生成部
5 部品情報生成部
6 基本画面プログラム
7 画面情報読込部
8 画面ロジック生成部
9 実行画面プログラム
10 項目情報変換部
11 情報格納部
12 ロジック生成部
13 データベースアクセス部
14 ロジック読込部
15 実行プログラム
16 画面項目定義書
17 項目情報読込部
18 画面情報検査部
19 単体検査仕様書
20 画面定義書
21 項目情報読込部
22 出力情報読込部
23 画面情報入力部
24 画面情報データベースファイル
25 画面情報出力部
26 定型形実行画面プログラム
27 検索文定義書
28 表示情報読込部
29 出力情報読込部
30 部品情報入力部
31 部品情報データベースファイル
32 部品情報出力部
33 実行部品プログラム

Claims (5)

  1. 開発対象となる業務アプリケーションの入力項目名に、入力項目チェック機能とデータベースの列名を有する基本画面プログラムと、
    実行画面プログラムと実行プログラムを生成するための情報として、前記基本画面プログラムのレイアウト情報と項目情報を保持及び管理する画面情報読込部と、
    保持された前記レイアウト情報と前記項目情報に、データベースから取得した値を表示するためのプログラムを追加して、前記実行画面プログラムを生成する画面ロジック生成部と、
    保持された前記項目情報の中の入力項目名を、入力項目チェック情報と、データ項目情報とに分割する項目情報変換部と、
    前記項目情報変換部で分割された前記入力項目チェック情報によって、チェックロジックを生成し、前記データ項目情報によって、入力項目チェック処理とは異なるロジックを生成するロジック生成部と、
    データベースから取得した値及び前記実行画面プログラムの入力項目の値を保持及び管理する情報格納部と、
    前記項目情報変換部で分割された前記データ項目情報と、保持された前記項目情報の表示項目とで、データベースのデータ検索文、データ操作文を生成するデータベースアクセス部と、
    前記基本画面プログラムに関連付けされた共通処理のロジック情報を保持したロジック情報管理部から前記ロジック情報を読み込み保持及び管理するロジック読込部とを備え、
    前記ロジック情報管理部の前記ロジック情報に従った処理を実行することにより、画面表示を行う前記実行画面プログラムとデータベースのデータ検索文、データ操作文を含めた前記実行プログラムを自動生成する
    ことを特徴とするプログラム自動生成装置。
  2. 前記画面ロジック生成部は、
    前記実行画面プログラムを自動生成するとき、入力項目名の属性部が日付を表す場合に、カレンダーを呼び出すプログラムを埋め込む
    ことを特徴とする請求項1に記載のプログラム自動生成装置。
  3. 前記画面情報読込部は、
    前記基本画面プログラムの画面項目情報を保持及び管理し、
    画面項目定義書の情報を保持及び管理する項目情報読込部と、
    保持された前記画面項目定義書の項目情報と、保持された前記基本画面プログラムの画面項目情報の項目名とを比較する画面情報検査部とをさらに備え、
    前記基本画面プログラムの前記画面項目情報の項目名から単体検査仕様書を生成する
    ことを特徴とする請求項1に記載のプログラム自動生成装置。
  4. 画面定義書に定義してある定型形実行画面プログラムの項目情報を保持及び管理する項目情報読込部と、
    前記画面定義書に定義してあるデータベースのデータ検索情報を保持及び管理する出力情報読込部と、
    保持及び管理された前記項目情報と前記データ検索情報を、画面情報データベースファイルに書き込む画面情報入力部と、
    前記画面情報データベースファイルに書き込まれた前記項目情報と前記データ検索情報を、読み込んで保持及び管理する画面情報出力部とをさらに備え、
    保持された前記項目情報と前記データ検索情報によって、定型形の一覧画面を表示する前記定型形実行画面プログラムを生成する
    ことを特徴とする請求項1に記載のプログラム自動生成装置。
  5. 検索文定義書に定義してある実行部品プログラムの表示条件を、保持及び管理する表示情報読込部と、
    前記検索文定義書に定義してあるデータベースのデータ検索情報を保持及び管理する出力情報読込部と、
    保持及び管理された前記表示情報と前記データ検索情報を、部品情報データベースファイルに書き込む部品情報入力部と、
    前記部品情報データベースファイルに書き込まれた前記表示情報と前記データ検索情報を、読み込んで保持及び管理する部品情報出力部とをさらに備え、
    保持された前記表示情報と前記データ検索情報によって、リストボックスを表示する実行部品プログラムを生成する
    ことを特徴とする請求項1に記載のプログラム自動生成装置。
JP2010016118A 2010-01-28 2010-01-28 プログラム自動生成装置 Pending JP2011154575A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010016118A JP2011154575A (ja) 2010-01-28 2010-01-28 プログラム自動生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010016118A JP2011154575A (ja) 2010-01-28 2010-01-28 プログラム自動生成装置

Publications (1)

Publication Number Publication Date
JP2011154575A true JP2011154575A (ja) 2011-08-11

Family

ID=44540476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010016118A Pending JP2011154575A (ja) 2010-01-28 2010-01-28 プログラム自動生成装置

Country Status (1)

Country Link
JP (1) JP2011154575A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016051079A (ja) * 2014-08-29 2016-04-11 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016051079A (ja) * 2014-08-29 2016-04-11 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法及びプログラム

Similar Documents

Publication Publication Date Title
JP5166519B2 (ja) ソフトウェア資産ベースのソリューションを開発する一貫した方法システムおよびコンピュータ・プログラム
CN103635897A (zh) 对运行页面进行动态更新
US20080040677A1 (en) HMI Development Support Apparatus, HMI Development Support Method and HMI Development Support Program
JP4724387B2 (ja) プログラム変換プログラム、プログラム変換装置およびプログラム変換方法
JP5467482B1 (ja) 画面自動生成装置、画面自動生成プログラムおよび画面自動生成方法
JP5619642B2 (ja) 業務アプリケーション構成装置
JP2007164503A (ja) システム生産方法、システム生産システム、システム生産プログラムおよびシステム生産に用いられる定義体情報のデータ構造
JP2012159998A5 (ja)
JP2011154575A (ja) プログラム自動生成装置
JP4929018B2 (ja) セルコンセプトを用いた設計方法、図面作成装置、プログラム、および記録媒体
JP6336922B2 (ja) 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置
JP2011204069A (ja) テスト方法およびテスト仕様書テストデータ自動生成装置
JP5504212B2 (ja) テストケース自動生成システム、テストケース自動生成方法、およびテストケース自動生成プログラム
JP4957043B2 (ja) 情報処理装置、プログラム及び業務アプリケーション導入方法
JP2012164177A (ja) プログラム自動生成システム
JP2001273125A (ja) ソースプログラム自動生成方法およびシステム、ならびにそのプログラム記録媒体
EP4261678A1 (en) Generation of a technical instruction
JP4706001B2 (ja) 設計コンピュータプログラム
JP3424558B2 (ja) オブジェクト管理方法
JP2007034806A (ja) 情報処理装置及びプログラム
JP2007034807A (ja) 情報処理装置及びプログラム
JP2007094453A (ja) プログラム開発支援システム、プログラム開発支援方法およびプログラム
JP2023057944A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2007034805A (ja) 情報処理装置及びプログラム
JP2013210865A (ja) 設計支援システム、設計支援方法およびプログラム