(57)【要約】【課題】コンピュータシステムにおいて、設計情報と拡張可能な用語集から、外部インタフェースと入出力処理を司るプログラムを生成するプログラム生成システムを提供する。【解決手段】プログラム生成手段１４０は、設計情報記憶手段１２０から設計情報と参照する業務用語を取得し、業務用語記憶手段１１０を参照して、業務用語に対応する識別子、もしくは拡張情報を取得し、その２種類の情報を、テンプレート記憶手段に保持したテンプレートに埋め込むことによりプログラムを生成し、プログラム記憶手段１５０を記憶する。パラメータ抽出手段１６０は、テンプレート記憶手段１３０から、識別子を使用するか、拡張情報を使用するか、さらにどの拡張情報を使用するかを記述するパラメータ情報を抽出する。識別子取得手段１７０は、業務用語記憶手段１１０から識別子を取得する。拡張情報取得手段１８０は、業務用語記憶手段１１０から拡張情報を取得する。【選択図】図２
2005228235.tif 000002
【特許請求の範囲】
【請求項１】
設計情報と用語集から外部インタフェースと入出力処理を司るプログラムを生成するプログラム生成システムであって、
業務用語とその定義、識別子、拡張情報を記憶し、プログラム生成手段からの要求に応じ情報を返却する業務用語記憶手段と、
設計情報と、設計情報が参照する業務用語を記憶し、プログラム生成手段からの要求に応じ情報を返却する設計情報記憶手段と、
プログラムのテンプレートを記憶し、プログラム生成手段からの要求に応じ情報を返却するテンプレート記憶手段と、
設計情報記憶手段から、設計情報と、設計情報が参照する業務用語を取得し、業務用語を業務用語記憶手段を参照して、業務用語に対応する識別子、もしくは拡張情報を取得し、その２種類の情報を、テンプレート記憶手段に保持したテンプレートに埋め込むことによりプログラムを生成するプログラム生成手段と、
プログラム生成手段が生成したプログラムを記憶するプログラム記憶手段と、
テンプレート記憶手段から、識別子を使用するか、拡張情報を使用するか、拡張情報を使用する場合はどの拡張情報を使用するかを記述するパラメータ情報を抽出するパラメータ抽出手段と、
テンプレートのパラメータ情報に基づき、業務用語記憶手段から識別子を取得する識別子取得手段と、
テンプレートのパラメータ情報に基づき、業務用語記憶手段から拡張情報を取得する拡張情報取得手段とを備え、
プログラム生成はテンプレートを使用し、テンプレートのパラメータ情報で識別子を使用するか、拡張情報を使用するか、拡張情報を使用する場合はどの拡張情報を使用するかを記述することを特徴とするプログラム生成システム。
【請求項２】
設計情報と用語集から外部インタフェースと入出力処理を司るプログラムを生成するプログラム生成システムであって、
開発者の操作により業務用語の追加・削除・更新を行い、業務用語記憶手段に記憶させると共に、差分記憶手段に用語の差分を格納する業務用語編集手段と、
開発者の操作により、設計情報の一種であるエンティティの追加・削除・更新を行い、エンティティ記憶手段に記憶させると共に、差分記憶手段にエンティティの差分を格納するエンティティ編集手段と、
開発者の操作により、設計情報の一種である業務ルールの追加・削除・更新を行い、業務ルール記憶手段に記憶させると共に、差分記憶手段に業務ルールの差分を格納する業務ルール編集手段と、
開発者の操作により、設計情報の一種であるアクティビティの追加・削除・更新を行い、アクティビティ記憶手段に記憶させると共に、差分記憶手段にアクティビティの差分を格納するアクティビティ編集手段と、
業務用語編集手段から業務用語を受け取ると共に、ＤＢ定義生成手段、処理生成手段、画面生成手段の要求に応じ業務用語と識別子、拡張情報を出力する業務用語記憶手段と、
エンティティ編集手段からエンティティを受け取ると共に、ＤＢ定義生成手段、処理生成手段、画面生成手段の要求に応じエンティティを出力するエンティティ記憶手段と、
業務ルール編集手段から業務ルールを受け取ると共に、ＤＢ定義生成手段、処理生成手段、画面生成手段の要求に応じ業務ルールを出力する業務ルール記憶手段と、
アクティビティ編集手段からアクティビティを受け取ると共に、処理生成手段、画面生成手段の要求に応じ業務用語と識別子、拡張情報を出力するアクティビティ記憶手段と、
各編集手段の編集結果によって設計情報になされた変更の差分を記憶し、ＤＢ定義生成手段、処理生成手段、画面生成手段の要求に応じ差分情報を出力する差分記憶手段と、
テンプレート記憶手段から取得したＤＢ定義パラメータ情報に基づき、業務用語記憶手段から取得した業務用語情報と、エンティティ記憶手段、業務ルール記憶手段から取得した各設計情報を元に、ＤＢ表プログラムを生成し、ＤＢ表プログラム記憶手段に格納するＤＢ定義生成手段と、
テンプレート記憶手段から取得した処理パラメータ情報に基づき、業務用語記憶手段から取得した業務用語情報と、エンティティ記憶手段、業務ルール記憶手段、アクティビティ記憶手段から取得した各設計情報を元に、処理プログラムを生成し、処理プログラム記憶手段に格納する処理生成手段と、
テンプレート記憶手段から取得した画面パラメータ情報に基づき、業務用語記憶手段から取得した業務用語情報と、エンティティ記憶手段、業務ルール記憶手段、アクティビティ記憶手段から取得した各設計情報を元に、画面プログラムを生成し、画面プログラム記憶手段に格納する画面生成手段と、
プログラムのテンプレートを記憶し、ＤＢ定義生成手段、処理生成手段、画面生成手段からの要求に応じ情報を返却するテンプレート記憶手段と、
ＤＢ定義生成手段が生成したプログラムを記憶するＤＢ表プログラム記憶手段と、
処理生成手段が生成したプログラムを記憶する処理プログラム記憶手段と、
画面生成手段が生成したプログラムを記憶する画面プログラム記憶手段と、
テンプレート記憶手段から、識別子を使用するか、拡張情報を使用するか、拡張情報を使用する場合はどの拡張情報を使用するかを記述するパラメータ情報を抽出するパラメータ抽出手段と、
テンプレートのパラメータ情報に基づき、差分記憶手段から識別子を取得する識別子取得手段と、
テンプレートのパラメータ情報に基づき、差分記憶手段から拡張情報を取得する拡張情報取得手段とを備え、
各記憶手段について編集前後の差分を差分記憶手段に保持し、その情報をプログラム生成時に利用するように構成されていることを特徴とするプログラム生成システム。
【請求項３】
設計情報と用語集から外部インタフェースと入出力処理を司るプログラムを生成するプログラム生成方法であって、
プログラムを生成する際に、テンプレート記憶手段からテンプレートの要素を読み込んで、テンプレートの要素種別に応じて次に実行するステップを判断し、
要素種別が転記の場合、要素をプログラム記憶手段に転記し、
要素種別が置換の場合、要素に対応する設計情報を設計情報記憶手段から取得し、指定された設計情報と要素種別に合致するプログラム情報を業務用語記憶手段から取得して、取得したプログラム情報をプログラム記憶手段に転記し、
要素種別がループの場合、要素に対応する設計情報の集合を設計情報記憶手段から取得し、設計情報の集合から１つ設計情報を取り出して、指定された設計情報と要素型に合致するプログラム情報を業務用語記憶手段から取得し、取得したプログラム情報をプログラム記憶手段に転記することを特徴とするプログラム生成方法。
【請求項４】
プログラムを生成する際に、設計情報から業務用語を１つ取り出して、業務用語が変換されるべき要素型が識別子かどうかを判定し、
識別子の場合は、業務用語に対応する識別子を用語集から取り出して、設計情報の業務用語を識別子で置換し、
識別子ではない場合は、業務用語に対応する拡張情報の集合を業務用語記憶手段から取り出して、拡張情報を集合から１つ取り出し、拡張情報種別が要素型と合致しているかどうか判定し、合致している場合は業務用語に対応する拡張情報を取り出し、合致していない場合は最後の拡張情報かどうか判定して、最後の拡張情報だった場合は、要素型と一致する拡張情報がなかったためエラーとすることを特徴とする請求項３記載のプログラム生成方法。
【請求項５】
設計情報と用語集から外部インタフェースと入出力処理を司るプログラムを生成するプログラム生成プログラムであって、
プログラムを生成する際に、テンプレート記憶手段からテンプレートの要素を読み込んで、テンプレートの要素種別に応じて次に実行するステップを判断する手順と、
要素種別が転記の場合、要素をプログラム記憶手段に転記する手順と、
要素種別が置換の場合、要素に対応する設計情報を設計情報記憶手段から取得し、指定された設計情報と要素種別に合致するプログラム情報を業務用語記憶手段から取得して、取得したプログラム情報をプログラム記憶手段に転記する手順と、
要素種別がループの場合、要素に対応する設計情報の集合を設計情報記憶手段から取得し、設計情報の集合から１つ設計情報を取り出して、指定された設計情報と要素型に合致するプログラム情報を業務用語記憶手段から取得し、取得したプログラム情報をプログラム記憶手段に転記する手順とをコンピュータに実行させることを特徴とするプログラム生成プログラム。
【請求項６】
プログラムを生成する際に、設計情報から業務用語を１つ取り出して、業務用語が変換されるべき要素型が識別子かどうかを判定する手順と、
識別子の場合は、業務用語に対応する識別子を用語集から取り出して、設計情報の業務用語を識別子で置換する手順と、
識別子ではない場合は、業務用語に対応する拡張情報の集合を業務用語記憶手段から取り出して、拡張情報を集合から１つ取り出し、拡張情報種別が要素型と合致しているかどうか判定し、合致している場合は業務用語に対応する拡張情報を取り出し、合致していない場合は最後の拡張情報かどうか判定して、最後の拡張情報だった場合は、要素型と一致する拡張情報がなかったためエラーとする手順とをコンピュータに実行させることを特徴とする請求項５記載のプログラム生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムにおいて、設計情報と拡張可能な用語集から外部インタフェースと入出力処理を司るプログラムを生成するプログラム生成システムに関する。
【背景技術】
【０００２】
従来の画面自動生成システムは、入力装置、処理装置（データ入出力設計情報格納部と、データ入出力設計情報読込部、画面定義部、画面定義情報格納部を含む）、出力装置とから構成されている（例えば、特許文献１参照）。
【０００３】
また、従来のプログラム生成装置は、図８に示すように、入力装置、使用ライブラリ、機能ライブラリ、用語辞書部、形式的仕様記述言語処理部、プログラムライブラリから構成されている（例えば、特許文献２参照）。
【０００４】
このような構成を有する従来のシステムはつぎのように動作する。形式的仕様記述言語処理部５は、共通仕様記述に宣言された機能型に対応する機能メンバ４１を機能ライブラリ４の中から検索する（ステップＳ１０２）。次に、形式的仕様記述言語処理部５は、機能メンバを固有仕様記述に宣言されたデータ型及び／又は制約条件に適応する様に書き替えを行って（ステップＳ１０３）、実行可能形式に変換する（ステップＳ１０４）。このようにして生成された全てのプログラム６１は、プログラムライブラリ６に格納される（ステップＳ１０５）。
【０００５】
この構成においては、用語辞書は、用語とその定義を保持するのみであり、プログラム中における様々な型、すなわち、識別子、パッケージ名、ファイル名、ディレクトリ名、サービス名、ＵＲＬなどの命名や統一については効果を有しない。
【特許文献１】特開２０００−０２９６７７号公報  （図１）
【特許文献２】特開平１０−３１５８６号公報  （図１，図２）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の開発では、１つのデータに関連する情報が多数の場所に分散していた。例えば、データ項目名称は、データベース設計書、画面設計書、プログラムの引数や変数宣言、通信電文設計にそれぞれ分散して設計されていた。また、同じデータ項目名称が、データベーススキーマ、画面プログラム、処理プログラム、通信プログラムなどに分散して実装されていた。
【０００７】
チェックロジックもデータベースのスキーマ定義、画面のデータ送信時のチェックプログラム、バックエンドの処理プログラム、電文送信時チェック、電文受信時チェックにそれぞれ分散していた。
【０００８】
分散により以下の問題があった：
・開発効率が悪化する。
・不整合が発生しやすい。
・仕様変更の際の効率が悪く、誤りが発生しやすい。
・プログラムの規模が増え実行効率が悪化する。
【０００９】
これを解決するため、用語集やルール一覧を作成する方法があったが、以下の問題があった：
・用語集を用いてプログラムを開発するのは人間であり、漏れや不整合がある。
・用語が改訂された場合の対応が難しい。
・用語が実装で使われる局面により異なる文字列にする必要があるが、全局面に関してあらかじめ定義しておくことは用語定義に時間がかかり非効率。
・業務ルールはあいまいな表現で記述される場合があり実装が困難なものがある。
・業務ルール内に登場する用語と用語集内の用語が一致しない場合がある。
【００１０】
これを解決するため用語集情報や設計情報からプログラムを自動生成する方法があるが、以下の問題があった：
・自動生成の元となった設計情報と生成されたプログラムの対応を取ることが難しい。
・自動生成の前に設計情報を完成させておかねばならず段階的開発が難しい。
【００１１】
そこで本発明は、コンピュータシステムにおいて、用語定義、データ定義、チェックロジック、処理フローなどの設計情報と、拡張可能な用語集から、画面やＷｅｂサービス、ＥＤＩ電文などの外部インタフェースと入出力処理を司るプログラムを生成するプログラム生成システム及び方法とそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
図１は、従来の手法と本願発明の手法とを比較した図である。本発明では、用語集を作成する。その用語集に拡張情報を設け、必ず必要な識別子情報と拡張情報を分離する。設計情報から用語集を参照し、プログラム生成時に用語の変換を行う。プログラム生成はテンプレートを使用し、テンプレートのパラメータ情報で識別子を使用するか、拡張情報を使用するか、拡張情報を使用する場合はどの拡張情報を使用するかを記述する。
【００１３】
用語定義にプログラム中で使用される識別子を含めると共に、データ定義、チェックロジック、処理フローなどの設計情報から用語を参照するため、一貫性が保たれる。
【００１４】
また、１つの用語をテンプレートのパラメータ情報に応じて複数の異なる用語に変換することができる。
【発明の効果】
【００１５】
本発明による第１の効果は、開発効率が向上できることにある。その理由は、従来複数箇所で繰り返し定義されていた同一の情報を、用語集として１箇所で定義したためである。
【００１６】
第２の効果は、不整合が発生しないことにある。その理由は、従来複数箇所で定義されていた情報を１箇所で定義したためである。
【００１７】
第３の効果は、仕様変更の際に、用語の不整合が原因の誤りが発生しないことにある。その理由は、従来複数箇所で定義されていた情報を１箇所で定義したため、仕様変更時にも１箇所だけ変更すればよいためである。
【００１８】
第４の効果は、プログラムの規模が減少することにある。その理由は、従来複数箇所で定義されていた同一の情報を、１箇所で定義したため、従来は複数のプログラムで実装されていた機能を１箇所で実装できるようになるためである。
【００１９】
第５の効果は、拡張情報を持てるため、複雑な命令規則への対応が可能となることにある。さらに拡張情報は、網羅的に存在する必要がないため、用語集の領域を節約できる。
【００２０】
第６の効果は、自動生成の元となった設計情報と生成されたプログラムの対応が取りやすいことにある。その理由は、生成後の識別子が拡張情報との一致で逆変換できる可能性が高まるためである。
【発明を実施するための最良の形態】
【００２１】
次に、本発明の最良の形態について図面を参照して説明する。
【実施例１】
【００２２】
図２は、本発明の第１実施例の構成を示す。プログラム制御により動作するコンピュータ１００は、業務用語記憶手段１１０と、設計情報記憶手段１２０と、テンプレート記憶手段１３０と、プログラム生成手段１４０と、プログラム記憶手段１５０と、パラメータ抽出手段１６０と、識別子取得手段１７０と、拡張情報取得手段１８０とを含む。これらの手段はそれぞれ概略つぎのように動作する。
【００２３】
業務用語記憶手段１１０は、業務用語とその定義、識別子、拡張情報を記憶し、プログラム生成手段１４０からの要求に応じ情報を返却する。設計情報記憶手段１２０は、設計情報と、設計情報が参照する業務用語を記憶し、プログラム生成手段１４０からの要求に応じ情報を返却する。テンプレート記憶手段１３０は、プログラムのテンプレートを記憶し、プログラム生成手段１４０からの要求に応じ情報を返却する。
【００２４】
プログラム生成手段１４０は、設計情報記憶手段１２０から、設計情報と、設計情報が参照する業務用語を取得し、業務用語を業務用語記憶手段１１０を参照して、業務用語に対応する識別子、もしくは拡張情報を取得し、その２種類の情報を、テンプレート記憶手段に保持したテンプレートに埋め込むことによりプログラムを生成する。プログラム記憶手段１５０は、プログラム生成手段１４０が生成したプログラムを記憶する。
【００２５】
パラメータ抽出手段１６０は、テンプレート記憶手段１３０から、識別子を使用するか、拡張情報を使用するか、拡張情報を使用する場合はどの拡張情報を使用するかを記述するパラメータ情報を抽出する。識別子取得手段１７０は、テンプレートのパラメータ情報に基づき、業務用語記憶手段１１０から識別子を取得する。拡張情報取得手段１８０は、テンプレートのパラメータ情報に基づき、業務用語記憶手段１１０から拡張情報を取得する。
【００２６】
次に、図３のフローチャートを参照して、本発明の第１実施例の動作について詳細に説明する。まず、プログラム生成手段１４０は、テンプレート記憶手段１３０からテンプレートの要素を読み込む（ステップＡ１）。
【００２７】
テンプレートの要素は、図４に示すように、転記、置換、またはループの３種類に分類される。テンプレートの要素種別に応じて次に実行するステップを判断する（ステップＡ２）。要素種別が転記の場合、要素をプログラム記憶手段１５０に転記する（ステップＡ３）。
【００２８】
次に、その要素が最後の要素かどうか判定する（ステップＡ１２）。最後の要素でない場合はステップＡ１に戻って処理を続ける。最後の要素なら、処理を終了する。
【００２９】
要素種別が置換の場合、要素に対応する設計情報を設計情報記憶手段１２０から取得する（ステップＡ４）。次に、指定された設計情報と要素種別に合致するプログラム情報を業務用語記憶手段１１０から取得する（ステップＡ５）。さらに、取得したプログラム情報をプログラム記憶手段１５０に転記する（ステップＡ６）。そして、ステップＡ１２の処理を行う。以後前記と同じ。
【００３０】
要素種別がループの場合、要素に対応する設計情報の集合を設計情報記憶手段１２０から取得する（ステップＡ７）。次に、設計情報の集合から１つ設計情報を取り出す（ステップＡ８）。さらに、指定された設計情報と要素型に合致するプログラム情報を業務用語記憶手段１１０から取得する（ステップＡ９）。そして、取得したプログラム情報をプログラム記憶手段１５０に転記する（ステップＡ１０）。引き続き、その設計情報が集合の最後の情報かどうか判定する（ステップＡ１１）。最後の情報でない場合はステップＡ８に戻って処理を続ける。最後の情報の場合はステップＡ１２の処理を行う。以後前記と同じ。
【００３１】
ここで、図５に示す業務用語記憶手段の構成要素について説明する。各用語には、用語定義にプログラム中で使用される識別子を含める。用語の定義と識別子以外の情報は、拡張情報として、必ず必要な識別子情報と拡張情報を分離する。拡張情報は、テンプレート内で現れる場所に依存した情報である。各用語に対応する拡張情報の集合を、リスト形式で実現した例を示す。
【００３２】
次に、図６のフローチャートを参照して、上記ステップＡ５とステップＡ９に記載されている「指定された設計情報と要素型に合致するプログラム情報を業務用語記憶手段１１０から取得する」動作について詳細に説明する。
【００３３】
まず、プログラム生成手段１４０は、設計情報から業務用語を１つ取り出す（ステップＢ１）。次に、業務用語が変換されるべき要素型が識別子かどうかを判定する（ステップＢ２）。
【００３４】
識別子の場合は、業務用語に対応する識別子を用語集から取り出す（ステップＢ３）。そして、設計情報の業務用語を識別子で置換する（ステップＢ４）。設計情報内に用語が他にあるかどうか判定し、ある場合はステップＢ１に戻って処理を継続する。ない場合は処理を終了する（ステップＢ５）。
【００３５】
識別子ではない場合は、業務用語に対応する拡張情報の集合を業務用語記憶手段１１０から取り出す（ステップＢ６）。次に、拡張情報を集合から１つ取り出す（ステップＢ７）。拡張情報種別が要素型と合致しているかどうか判定する（ステップＢ８）。合致している場合は業務用語に対応する拡張情報を取り出す（ステップＢ９）。この後、ステップＢ４及びＢ５の処理を行う。以降前記と同じ。合致していない場合は最後の拡張情報かどうか判定する（ステップＢ１０）。最後の拡張情報だった場合は、要素型と一致する拡張情報がなかったためエラーとする（ステップＢ１１）。最後でなかった場合はステップＢ７に戻って処理を継続する。以降前記と同じ。
【００３６】
次に、本発明の第１実施例の効果について説明する。第１実施例では、設計情報が用語を参照し、プログラム生成時にその参照を利用するように構成されているため、不整合が発生しないようにできる。
【００３７】
また、本発明の第１実施例では、さらに、用語の定義と識別子以外の情報は拡張情報として別に管理されているため、用語定義のデータ量を減少させ、開発効率を向上できる。
【実施例２】
【００３８】
次に、本発明の第２実施例の構成について図面を参照して詳細に説明する。
【００３９】
図７は、本発明の第２実施例の構成を示す。プログラム制御により動作するコンピュータ２００は、業務用語編集手段２１０と、エンティティ編集手段２２０と、業務ルール編集手段２３０と、アクティビティ編集手段２４０と、業務用語記憶手段２５０と、エンティティ記憶手段２６０と、業務ルール記憶手段２７０と、アクティビティ記憶手段２８０と、差分記憶手段２９０と、ＤＢ定義生成手段３００と、処理生成手段３１０と、画面生成手段３２０と、テンプレート記憶手段３３０と、ＤＢ表プログラム記憶手段３４０と、処理プログラム記憶手段３５０と、画面プログラム記憶手段３６０とを含む。これらの手段はそれぞれ概略つぎのように動作する。
【００４０】
業務用語編集手段２１０は、開発者の操作により業務用語の追加・削除・更新を行い、業務用語記憶手段２５０に記憶させると共に、差分記憶手段２９０に用語の差分を格納する。
【００４１】
エンティティ編集手段２２０は、開発者の操作により、設計情報の一種であるエンティティの追加・削除・更新を行い、エンティティ記憶手段２６０に記憶させると共に、差分記憶手段２９０にエンティティの差分を格納する。業務ルール編集手段２３０は、開発者の操作により、設計情報の一種である業務ルールの追加・削除・更新を行い、業務ルール記憶手段２７０に記憶させると共に、差分記憶手段２９０に業務ルールの差分を格納する。アクティビティ編集手段２４０は、開発者の操作により、設計情報の一種であるアクティビティの追加・削除・更新を行い、アクティビティ記憶手段２８０に記憶させると共に、差分記憶手段２９０にアクティビティの差分を格納する。
【００４２】
業務用語記憶手段２５０は、業務用語編集手段２１０から業務用語を受け取ると共に、ＤＢ定義生成手段３００、処理生成手段３１０、画面生成手段３２０の要求に応じ業務用語と識別子、拡張情報を出力する。
【００４３】
エンティティ記憶手段２６０は、エンティティ編集手段２２０からエンティティを受け取ると共に、ＤＢ定義生成手段３００、処理生成手段３１０、画面生成手段３２０の要求に応じエンティティを出力する。業務ルール記憶手段２７０は、業務ルール編集手段２３０から業務ルールを受け取ると共に、ＤＢ定義生成手段３００、処理生成手段３１０、画面生成手段３２０の要求に応じ業務ルールを出力する。
【００４４】
アクティビティ記憶手段２８０は、アクティビティ編集手段２４０からアクティビティを受け取ると共に、処理生成手段３１０、画面生成手段３２０の要求に応じ業務用語と識別子、拡張情報を出力する。このとき、アクティビティはＤＢ定義とは関係しないため、ＤＢ定義生成手段３００とアクティビティ記憶手段２８０との関係はない。
【００４５】
差分記憶手段２９０は、各編集手段２１０、２２０、２３０、２４０の編集結果によって設計情報になされた変更の差分を記憶し、ＤＢ定義生成手段３００、処理生成手段３１０、画面生成手段３２０の要求に応じ差分情報を出力する。
【００４６】
ＤＢ定義生成手段３００は、テンプレート記憶手段３３０から取得したＤＢ定義パラメータ情報に基づき、業務用語記憶手段２５０から取得した業務用語情報と、エンティティ記憶手段２６０、業務ルール記憶手段２７０から取得した各設計情報を元に、ＤＢ表プログラムを生成し、ＤＢ表プログラム記憶手段３４０に格納する。
【００４７】
処理生成手段３１０は、テンプレート記憶手段３３０から取得した処理パラメータ情報に基づき、業務用語記憶手段２５０から取得した業務用語情報と、エンティティ記憶手段２６０、業務ルール記憶手段２７０、アクティビティ記憶手段２８０から取得した各設計情報を元に、処理プログラムを生成し、処理プログラム記憶手段３５０に格納する。
【００４８】
画面生成手段３２０は、テンプレート記憶手段３３０から取得した画面パラメータ情報に基づき、業務用語記憶手段２５０から取得した業務用語情報と、エンティティ記憶手段２６０、業務ルール記憶手段２７０、アクティビティ記憶手段２８０から取得した各設計情報を元に、画面プログラムを生成し、画面プログラム記憶手段３６０に格納する。
【００４９】
テンプレート記憶手段３３０は、プログラムのテンプレートを記憶し、ＤＢ定義生成手段３００、処理生成手段３１０、画面生成手段３２０からの要求に応じ情報を返却する。ＤＢ表プログラム記憶手段３４０は、ＤＢ定義生成手段３００が生成したプログラムを記憶する。処理プログラム記憶手段３５０は、処理生成手段３１０が生成したプログラムを記憶する。画面プログラム記憶手段３６０は、画面生成手段３２０が生成したプログラムを記憶する。
【００５０】
パラメータ抽出手段３７０は、テンプレート記憶手段３３０から、識別子を使用するか、拡張情報を使用するか、拡張情報を使用する場合はどの拡張情報を使用するかを記述するパラメータ情報を抽出する。識別子取得手段３８０は、テンプレートのパラメータ情報に基づき、差分記憶手段２９０から識別子を取得する。拡張情報取得手段３９０は、テンプレートのパラメータ情報に基づき、差分記憶手段２９０から拡張情報を取得する。
【００５１】
次に、本発明の第２実施例の効果について説明する。第２実施例では、各記憶手段について編集手段が存在し、編集前後の差分を差分記憶手段２９０に保持し、その情報をプログラム生成時に利用するように構成されているため、自動生成時の差分を最小化することができる。
【００５２】
また、本発明の第２実施例では、さらに、プログラム生成時に、テンプレートを外部から読み込んで利用するように構成されているため、テンプレートの切替えにより、同一の設計情報について別のハードウェアやＯＳのコンピュータ上で実行させるためのプログラムを生成することができる。
【実施例３】
【００５３】
次に、本発明の第３実施例について説明する。本実施例は、第１および第２実施例のコンピュータの構成をプログラムにより実現する。当該プログラムは、コンピュータに読み込まれ、コンピュータの動作を制御する。コンピュータはプログラム生成プログラムの制御により、第１および第２の実施例の構成におけるコンピュータ１００および２００による処理と同一の処理を実行する。
【産業上の利用可能性】
【００５４】
本発明によれば、業務用語の整理が必要な、一定規模を超える業務プログラムの新規開発といった用途に適用できる。また、業務プログラムの仕様が随時変更される場合の保守開発の効率化といった用途にも適用可能である。
【図面の簡単な説明】
【００５５】
【図１】従来の手法と本願発明の手法とを比較した図である。
【図２】本発明の第１実施例の構成図である。
【図３】第１実施例の動作を説明するフローチャートである。
【図４】テンプレートの要素を示す説明図である。
【図５】業務用語記憶手段の構成要素についての説明図である。
【図６】プログラム情報を用語集から取得する動作のフローチャートである。
【図７】本発明の第２実施例の構成図である。
【図８】従来のプログラム生成装置の構成図である。
【符号の説明】
【００５６】
１００  コンピュータ
１１０  業務用語記憶手段
１２０  設計情報記憶手段
１３０  テンプレート記憶手段
１４０  プログラム生成手段
１５０  プログラム記憶手段
１６０  パラメータ抽出手段
１７０  識別子取得手段
１８０  拡張情報取得手段
【図１】
2005228235.tif 000003
【図２】
2005228235.tif 000004
【図３】
2005228235.tif 000005
【図４】
2005228235.tif 000006
【図５】
2005228235.tif 000007
【図６】
2005228235.tif 000008
【図７】
2005228235.tif 000009
【図８】
2005228235.tif 000010