JPH09204301A - プログラム生成システム - Google Patents
プログラム生成システムInfo
- Publication number
- JPH09204301A JPH09204301A JP8012949A JP1294996A JPH09204301A JP H09204301 A JPH09204301 A JP H09204301A JP 8012949 A JP8012949 A JP 8012949A JP 1294996 A JP1294996 A JP 1294996A JP H09204301 A JPH09204301 A JP H09204301A
- Authority
- JP
- Japan
- Prior art keywords
- program
- definition
- program generation
- generation system
- parts
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 プログラム生成システムに関し、従来より効
率的な工程管理で高品質のソフトウェア製品を容易に生
産できるようにする。 【解決手段】 一元管理されている多数種類の定義情報
と部品に基づいて記述されたプログラム仕様書を解析
し、これらの定義情報と部品とを標準的な論理構造を持
つパターン中に展開することで所望のソースプログラム
を自動生成するプログラム生成システムに新たなプログ
ラム生成部を設ける。プログラム生成部は、プログラム
間で共用される複数のデータ項目に関係するルールが定
義された多数種類のルール定義部品と各種定義情報とを
あらかじめ個別に対応付ける関連情報に基づき、プログ
ラム仕様書中の記述により補完されたルール定義部品を
パターン中に展開して所望のソースプログラムを自動生
成する。
率的な工程管理で高品質のソフトウェア製品を容易に生
産できるようにする。 【解決手段】 一元管理されている多数種類の定義情報
と部品に基づいて記述されたプログラム仕様書を解析
し、これらの定義情報と部品とを標準的な論理構造を持
つパターン中に展開することで所望のソースプログラム
を自動生成するプログラム生成システムに新たなプログ
ラム生成部を設ける。プログラム生成部は、プログラム
間で共用される複数のデータ項目に関係するルールが定
義された多数種類のルール定義部品と各種定義情報とを
あらかじめ個別に対応付ける関連情報に基づき、プログ
ラム仕様書中の記述により補完されたルール定義部品を
パターン中に展開して所望のソースプログラムを自動生
成する。
Description
【0001】
【発明の属する技術分野】本発明はプログラム生成シス
テムに係り、特に、従来より効率的な工程管理で高品質
のソフトウェア製品を容易に生産するためのプログラム
生成システムに関する。
テムに係り、特に、従来より効率的な工程管理で高品質
のソフトウェア製品を容易に生産するためのプログラム
生成システムに関する。
【0002】
【従来の技術】従来より、ソフトウェア開発の作業工程
を自動化および効率化するため、与えられた部品(サブ
ルーチン群),パターン(プログラムの骨組み),定義
仕様書(ファイル,レコード,データベース,画面・帳
票などの項目や属性を定義した仕様書)およびデータ項
目辞書などの定義情報に基づいて記述されたプログラム
仕様書からソースプログラムの半完成品を自動的に生成
する「プログラム合成」が行われている(日立製作所編
「ソフトウェアエンジニアリングワークベンチ/SEW
B3 COBOL プログラム合成/使用の手引/資料
番号3000-7-465-20 」2〜6頁,18〜31頁)。
を自動化および効率化するため、与えられた部品(サブ
ルーチン群),パターン(プログラムの骨組み),定義
仕様書(ファイル,レコード,データベース,画面・帳
票などの項目や属性を定義した仕様書)およびデータ項
目辞書などの定義情報に基づいて記述されたプログラム
仕様書からソースプログラムの半完成品を自動的に生成
する「プログラム合成」が行われている(日立製作所編
「ソフトウェアエンジニアリングワークベンチ/SEW
B3 COBOL プログラム合成/使用の手引/資料
番号3000-7-465-20 」2〜6頁,18〜31頁)。
【0003】図4は、プログラム生成システムの一般的
な構成の一例を示す図である。同図中、部品11,パタ
ーン12,定義仕様書13,データ項目辞書15を事前
に作成し、準備しておく。ソースプログラムを作成する
場合、最初に作業者は、多くの種類の部品11,パター
ン12,定義仕様書13から所望の処理を実現させるた
めに最適なものを選択し、これをプログラム仕様書14
中に記述する。次にプログラム生成部16は、プログラ
ム仕様書14中で指定されている部品11,パターン1
2,定義仕様書13に基づいて、ソースプログラム17
の半完成品を自動生成する。このとき、定義仕様書13
中で使用されているデータ項目についてデータ項目辞書
15中に何らかの定義が記述されていれば、該当する定
義を用いてソースプログラム17への展開を行う。最後
に作業者は、上述した部品11,パターン12,定義仕
様書13,データ項目辞書15から自動生成できなかっ
た部分を手作業のコーディングにより作成し、これをユ
ーザ追加コーディングとしてソースプログラム17中に
補足して完成品とする。プログラム生成システムでは、
上述した作業および処理の流れにしたがって目的とする
ソースプログラムの生成が行われる。
な構成の一例を示す図である。同図中、部品11,パタ
ーン12,定義仕様書13,データ項目辞書15を事前
に作成し、準備しておく。ソースプログラムを作成する
場合、最初に作業者は、多くの種類の部品11,パター
ン12,定義仕様書13から所望の処理を実現させるた
めに最適なものを選択し、これをプログラム仕様書14
中に記述する。次にプログラム生成部16は、プログラ
ム仕様書14中で指定されている部品11,パターン1
2,定義仕様書13に基づいて、ソースプログラム17
の半完成品を自動生成する。このとき、定義仕様書13
中で使用されているデータ項目についてデータ項目辞書
15中に何らかの定義が記述されていれば、該当する定
義を用いてソースプログラム17への展開を行う。最後
に作業者は、上述した部品11,パターン12,定義仕
様書13,データ項目辞書15から自動生成できなかっ
た部分を手作業のコーディングにより作成し、これをユ
ーザ追加コーディングとしてソースプログラム17中に
補足して完成品とする。プログラム生成システムでは、
上述した作業および処理の流れにしたがって目的とする
ソースプログラムの生成が行われる。
【0004】上述したプログラム生成システムにおける
データ項目辞書15は、旧来のシステムで常にユーザ追
加コーディングによる補足を要した入力項目チェック処
理と項目編集処理とを、プログラム生成部16がソース
プログラム17中に自動的に展開できるようにするため
のものである。
データ項目辞書15は、旧来のシステムで常にユーザ追
加コーディングによる補足を要した入力項目チェック処
理と項目編集処理とを、プログラム生成部16がソース
プログラム17中に自動的に展開できるようにするため
のものである。
【0005】入力項目チェック処理では、外部から与え
られた入力項目の値が正当なものである否かを判定す
る。例えば、プログラム中で「人数」や「個数」として
用いる値を外部から入力させる場合、入力項目の値が自
然数でない負数値や小数点以下を含む整数値であればエ
ラー処理に分岐させる必要がある。そこで、このような
入力項目チェック処理の具体的な分岐条件および分岐先
については、あらかじめデータ項目辞書15中に登録
し、個々の作業者には、定義仕様書13中に入力項目チ
ェック処理を展開させたいデータ項目の名称のみを記述
させる。プログラム生成部16は、定義仕様書13中の
データ項目について、データ項目辞書15を参照して該
当する入力項目チェック処理のコーディングをソースプ
ログラム17中に展開する。
られた入力項目の値が正当なものである否かを判定す
る。例えば、プログラム中で「人数」や「個数」として
用いる値を外部から入力させる場合、入力項目の値が自
然数でない負数値や小数点以下を含む整数値であればエ
ラー処理に分岐させる必要がある。そこで、このような
入力項目チェック処理の具体的な分岐条件および分岐先
については、あらかじめデータ項目辞書15中に登録
し、個々の作業者には、定義仕様書13中に入力項目チ
ェック処理を展開させたいデータ項目の名称のみを記述
させる。プログラム生成部16は、定義仕様書13中の
データ項目について、データ項目辞書15を参照して該
当する入力項目チェック処理のコーディングをソースプ
ログラム17中に展開する。
【0006】項目編集処理では、与えられたデータ項目
に基づいて新たなデータ項目を生成する。例えば、面積
を数量的に表す単位として一般的に『m2』が用いられる
が、面積を把握しようとする対象が土地の場合には例外
的に『坪』単位で表現されることも少なくなく、『坪』
単位で与えられた土地面積の数値をあらかじめ『m2』単
位の数値に変換しておかなければならないことも多い。
そこで、上記と同様に項目編集処理の具体的な内容をあ
らかじめデータ項目辞書15中に登録し、個々の作業者
には、定義仕様書13中に項目編集処理を展開させたい
データ項目の名称のみを記述させる。プログラム生成部
16は、定義仕様書13中のデータ項目について、デー
タ項目辞書15を参照して該当する項目編集処理のコー
ディングをソースプログラム17中に展開する。
に基づいて新たなデータ項目を生成する。例えば、面積
を数量的に表す単位として一般的に『m2』が用いられる
が、面積を把握しようとする対象が土地の場合には例外
的に『坪』単位で表現されることも少なくなく、『坪』
単位で与えられた土地面積の数値をあらかじめ『m2』単
位の数値に変換しておかなければならないことも多い。
そこで、上記と同様に項目編集処理の具体的な内容をあ
らかじめデータ項目辞書15中に登録し、個々の作業者
には、定義仕様書13中に項目編集処理を展開させたい
データ項目の名称のみを記述させる。プログラム生成部
16は、定義仕様書13中のデータ項目について、デー
タ項目辞書15を参照して該当する項目編集処理のコー
ディングをソースプログラム17中に展開する。
【0007】
【発明が解決しようとする課題】これまでのプログラム
生成システムで用いられてきたデータ項目辞書15は、
単一のデータ項目ごとのルールのみが登録されることを
想定した構造とされている。すなわち、上述した例のよ
うにひとつのデータ項目値と一定の数値との比較判定の
みの入力項目チェック処理については登録できるが、あ
るデータ項目値と別のデータ項目との比較判定を要する
入力項目チェック処理については必ずしも登録できると
は限らない。例えば、入力項目として、ある社員の「配
属年月日」および「入社年月日」を外部から入力させる
場合、「配属年月日」より「入社年月日」が後であれば
エラー処理に分岐させる必要がある。しかしながら、複
数のデータ項目に関係するルールであった場合、従来の
システムではデータ項目辞書15中にこのような登録を
行うことはできない。同様に、ひとつのデータ項目値か
ら単に別の値を求めるような項目編集処理については登
録できるが、第1のデータ項目値と第2のデータ項目か
ら第3のデータ項目を求めるような処理については必ず
しも登録できるとは限らない。例えば、「売上数量」お
よび「単価」を乗算して「売上金額」を算出する処理
は、従来のシステムにおけるデータ項目辞書15中に定
義登録することができない。
生成システムで用いられてきたデータ項目辞書15は、
単一のデータ項目ごとのルールのみが登録されることを
想定した構造とされている。すなわち、上述した例のよ
うにひとつのデータ項目値と一定の数値との比較判定の
みの入力項目チェック処理については登録できるが、あ
るデータ項目値と別のデータ項目との比較判定を要する
入力項目チェック処理については必ずしも登録できると
は限らない。例えば、入力項目として、ある社員の「配
属年月日」および「入社年月日」を外部から入力させる
場合、「配属年月日」より「入社年月日」が後であれば
エラー処理に分岐させる必要がある。しかしながら、複
数のデータ項目に関係するルールであった場合、従来の
システムではデータ項目辞書15中にこのような登録を
行うことはできない。同様に、ひとつのデータ項目値か
ら単に別の値を求めるような項目編集処理については登
録できるが、第1のデータ項目値と第2のデータ項目か
ら第3のデータ項目を求めるような処理については必ず
しも登録できるとは限らない。例えば、「売上数量」お
よび「単価」を乗算して「売上金額」を算出する処理
は、従来のシステムにおけるデータ項目辞書15中に定
義登録することができない。
【0008】したがって、複数種類のデータ項目に関わ
るルールについてプログラム生成部16による自動生成
を適用できず、旧来のシステムと同様に、常に作業者が
不完全なソースプログラム17に対してユーザ追加コー
ディングで補足を行わなければならないという問題点が
あった。そして、このようなユーザ追加コーディングの
品質は個々の作業者の熟練度などに左右されやすく、ユ
ーザ追加コーディングを含む複数のソースプログラム1
7の品質がすべて一定水準に達するように工程管理を行
うことが困難であるという問題点があった。また、仕様
変更や不良修正などに伴って複数種類のデータ項目に関
わるルールを改変する必要が生じると、対象となるすべ
てのソースプログラムを特定した後にそれぞれユーザ追
加コーディングの改訂を行わなければならず、このよう
な工程管理を効率的に行うことが困難であるという問題
点があった。
るルールについてプログラム生成部16による自動生成
を適用できず、旧来のシステムと同様に、常に作業者が
不完全なソースプログラム17に対してユーザ追加コー
ディングで補足を行わなければならないという問題点が
あった。そして、このようなユーザ追加コーディングの
品質は個々の作業者の熟練度などに左右されやすく、ユ
ーザ追加コーディングを含む複数のソースプログラム1
7の品質がすべて一定水準に達するように工程管理を行
うことが困難であるという問題点があった。また、仕様
変更や不良修正などに伴って複数種類のデータ項目に関
わるルールを改変する必要が生じると、対象となるすべ
てのソースプログラムを特定した後にそれぞれユーザ追
加コーディングの改訂を行わなければならず、このよう
な工程管理を効率的に行うことが困難であるという問題
点があった。
【0009】したがって本発明の目的は、上記の問題点
を解決して、従来より効率的な工程管理で高品質のソフ
トウェア製品を容易に生産することが可能なプログラム
生成システムを提供することにある。
を解決して、従来より効率的な工程管理で高品質のソフ
トウェア製品を容易に生産することが可能なプログラム
生成システムを提供することにある。
【0010】
【課題を解決するための手段】上記の目的を達成するた
め、本発明のプログラム生成システムは、一元管理され
ている多数種類の部品,パターン,定義仕様書およびデ
ータ項目辞書などの各種定義情報に基づいて記述された
プログラム仕様書を解析し、前記定義仕様書で指定され
た入出力に関する定義,データ項目に関する定義,およ
びプログラム遷移条件と、前記部品とを標準的な論理構
造を持つ前記パターン中に展開することによって所望の
ソースプログラムを自動生成するプログラム生成システ
ムにおいて、複数のデータ項目に関係するルールが定義
された多数種類のルール定義部品と前記各種定義情報と
をあらかじめ個別に対応付ける所定の関連情報に基づ
き、前記プログラム仕様書中の記述により補完された前
記ルール定義部品を前記パターン中に展開して所望のソ
ースプログラムを自動生成するプログラム生成部を具備
する構成としたものである。
め、本発明のプログラム生成システムは、一元管理され
ている多数種類の部品,パターン,定義仕様書およびデ
ータ項目辞書などの各種定義情報に基づいて記述された
プログラム仕様書を解析し、前記定義仕様書で指定され
た入出力に関する定義,データ項目に関する定義,およ
びプログラム遷移条件と、前記部品とを標準的な論理構
造を持つ前記パターン中に展開することによって所望の
ソースプログラムを自動生成するプログラム生成システ
ムにおいて、複数のデータ項目に関係するルールが定義
された多数種類のルール定義部品と前記各種定義情報と
をあらかじめ個別に対応付ける所定の関連情報に基づ
き、前記プログラム仕様書中の記述により補完された前
記ルール定義部品を前記パターン中に展開して所望のソ
ースプログラムを自動生成するプログラム生成部を具備
する構成としたものである。
【0011】このため、複数種類のデータ項目に関わる
ルールをあらかじめルール定義部品として定義しておく
ことにより、ユーザ追加コーディングで補足すべき部分
を従来にくらべて大幅に減少させて、作業工程の多くを
プログラム仕様書の記述作業のみに限定できる。したが
って、目的とするソースプログラムのほとんどをプログ
ラム生成部によって自動生成可能となり、各々のソース
プログラムの品質がすべて一定水準に達するような工程
管理を容易に実現させることができる。
ルールをあらかじめルール定義部品として定義しておく
ことにより、ユーザ追加コーディングで補足すべき部分
を従来にくらべて大幅に減少させて、作業工程の多くを
プログラム仕様書の記述作業のみに限定できる。したが
って、目的とするソースプログラムのほとんどをプログ
ラム生成部によって自動生成可能となり、各々のソース
プログラムの品質がすべて一定水準に達するような工程
管理を容易に実現させることができる。
【0012】また、上記構成に加えてさらに、すべての
前記関連情報をまとめて一元的に登録管理するためのリ
ポジトリを設け、前記プログラム生成部は、前記プログ
ラム仕様書中に記述されている具体的な定義情報の各々
について、その定義情報に対応する特定のルール定義部
品を前記リポジトリの検索により求めるようにしたもの
である。したがって、仕様変更や不良修正などに伴って
複数種類のデータ項目に関わるルールを改変する必要が
生じた場合には、リポジトリで登録管理されている該当
する関連情報を参照した後、そのルール定義部品を利用
するプログラム仕様書のみを対象として、プログラム生
成部によるソースプログラムの自動生成を再度行うこと
により、従来より効率的に工程管理を行うことができ
る。
前記関連情報をまとめて一元的に登録管理するためのリ
ポジトリを設け、前記プログラム生成部は、前記プログ
ラム仕様書中に記述されている具体的な定義情報の各々
について、その定義情報に対応する特定のルール定義部
品を前記リポジトリの検索により求めるようにしたもの
である。したがって、仕様変更や不良修正などに伴って
複数種類のデータ項目に関わるルールを改変する必要が
生じた場合には、リポジトリで登録管理されている該当
する関連情報を参照した後、そのルール定義部品を利用
するプログラム仕様書のみを対象として、プログラム生
成部によるソースプログラムの自動生成を再度行うこと
により、従来より効率的に工程管理を行うことができ
る。
【0013】そして、上記構成に加えてさらに、前記プ
ログラム生成部は、あらかじめ仮名称で表現された前記
定義情報中のデータ項目の各々を前記プログラム仕様書
中に記述されている指定名称に置き換えた後、所望のソ
ースプログラムを自動生成するようにしたものである。
これによってソフトウェア製品の設計と工程管理の自由
度を向上させ、さらに容易かつ効率的に上述した工程管
理を行うことができる。
ログラム生成部は、あらかじめ仮名称で表現された前記
定義情報中のデータ項目の各々を前記プログラム仕様書
中に記述されている指定名称に置き換えた後、所望のソ
ースプログラムを自動生成するようにしたものである。
これによってソフトウェア製品の設計と工程管理の自由
度を向上させ、さらに容易かつ効率的に上述した工程管
理を行うことができる。
【0014】以上のように、本発明のプログラム生成シ
ステムにおいては、従来より効率的な工程管理で高品質
のソフトウェア製品を容易に生産することができる。
ステムにおいては、従来より効率的な工程管理で高品質
のソフトウェア製品を容易に生産することができる。
【0015】
【発明の実施の形態】以下、本発明のプログラム生成シ
ステムの実施の一形態を図面を用いて詳細に説明する。
ステムの実施の一形態を図面を用いて詳細に説明する。
【0016】図1は、本発明のプログラム生成システム
の実施の一形態例の概略的な構成を示す図である。同図
中、図4と同一構成部分については同一符号を付し、そ
の説明を省略する。また、21は個別に生成されたプロ
グラム相互間で共用される複数種類のデータ項目に関わ
るルールをそれぞれ表すルール定義部品、22は後述す
る関連情報の定義を行う関連定義部、23は関連情報や
ルール定義部品を一元的に登録管理するためのリポジト
リ、23aはリポジトリに直接管理される関連情報、2
4はプログラム仕様書に記述されたルール定義部品から
生成されたソースプログラムの一部である。以下、図1
のシステムでプログラムの自動生成を行う場合について
簡略に説明する。
の実施の一形態例の概略的な構成を示す図である。同図
中、図4と同一構成部分については同一符号を付し、そ
の説明を省略する。また、21は個別に生成されたプロ
グラム相互間で共用される複数種類のデータ項目に関わ
るルールをそれぞれ表すルール定義部品、22は後述す
る関連情報の定義を行う関連定義部、23は関連情報や
ルール定義部品を一元的に登録管理するためのリポジト
リ、23aはリポジトリに直接管理される関連情報、2
4はプログラム仕様書に記述されたルール定義部品から
生成されたソースプログラムの一部である。以下、図1
のシステムでプログラムの自動生成を行う場合について
簡略に説明する。
【0017】最初に、個別に生成されたプログラム相互
間で共用される可能性のある各種のデータ項目を仮名称
で表現するとともに、その仮名称を用いて複数のデータ
項目間のルールを定義した多数種類のルール定義部品2
1をあらかじめ準備しておく。そして、関連定義部22
により、ルール定義部品21と定義仕様書13とを関連
付ける関連情報23aを定義し、これをリポジトリ23
に格納する。作業者は、従来より与えられている一般部
品11,パターン12,定義仕様書13をプログラム仕
様書14aに記述する。プログラム生成部16は、与え
られたプログラム仕様書14a中に記述されている一般
部品11,パターン12および定義仕様書13中のデー
タ項目についてデータ項目辞書15に登録されている処
理を読み出す。次に、定義仕様書13の名称に基づいて
リポジトリ23中の関連情報23aを検索し、関連付け
られているルール定義部品21を読み出してソースプロ
グラム17aの自動生成を行う。このとき、目的とする
プログラムに見合った十分な種類のルール定義部品21
と関連情報23aがあらかじめ準備されていれば、これ
らを活用して作業者が適切にプログラム仕様書14aを
記述することでソースプログラム17aの完成度が大幅
に向上し、自動生成後のユーザ追加コーディングを作業
者が手作業で作成および補足する必要性が少なくなる。
間で共用される可能性のある各種のデータ項目を仮名称
で表現するとともに、その仮名称を用いて複数のデータ
項目間のルールを定義した多数種類のルール定義部品2
1をあらかじめ準備しておく。そして、関連定義部22
により、ルール定義部品21と定義仕様書13とを関連
付ける関連情報23aを定義し、これをリポジトリ23
に格納する。作業者は、従来より与えられている一般部
品11,パターン12,定義仕様書13をプログラム仕
様書14aに記述する。プログラム生成部16は、与え
られたプログラム仕様書14a中に記述されている一般
部品11,パターン12および定義仕様書13中のデー
タ項目についてデータ項目辞書15に登録されている処
理を読み出す。次に、定義仕様書13の名称に基づいて
リポジトリ23中の関連情報23aを検索し、関連付け
られているルール定義部品21を読み出してソースプロ
グラム17aの自動生成を行う。このとき、目的とする
プログラムに見合った十分な種類のルール定義部品21
と関連情報23aがあらかじめ準備されていれば、これ
らを活用して作業者が適切にプログラム仕様書14aを
記述することでソースプログラム17aの完成度が大幅
に向上し、自動生成後のユーザ追加コーディングを作業
者が手作業で作成および補足する必要性が少なくなる。
【0018】図2は、図1のシステム中のプログラム生
成部による処理を具体的に説明するための図である。同
図中、図1と同一構成部分については同一符号を付し、
その説明を省略する。ソフトウェア製品の開発を担当す
る作業者は、例えば、定義仕様書のひとつとして仮入出
力仕様書の指定“A:?ニュウリョクファイル”と、その
仮入出力仕様書に関連するルール定義部品の展開位置の
指定“PARTS01 A”とを、パターン12中に記述する。
仮入出力仕様書は、パターン12中に該当する入出力仕
様書名を直接記述する代わりに記述する仮名称であり、
後から作成されるプログラム仕様書14a中で実際の入
出力仕様書との対応付けを行うことによってパターン1
2の再利用性を高めるためのものである。また、個別に
生成されたプログラム相互間で共用される可能性のある
データ項目について、それぞれのデータ項目間における
ルールを定義したルール定義部品21を多数種類準備し
ておく。ルール定義部品についても、このようなデータ
項目を仮名称で記述することによって、再利用性の向上
を図る。仮名称については “@PREFIX#[仮入出力仕様書名] [共用されるデータ項目名] @SUFFIX#[仮入出力仕様書名]” のように記述する。このほか、関連情報23aでは、各
種の定義仕様書とルール定義部品との対応付けを行って
おく。
成部による処理を具体的に説明するための図である。同
図中、図1と同一構成部分については同一符号を付し、
その説明を省略する。ソフトウェア製品の開発を担当す
る作業者は、例えば、定義仕様書のひとつとして仮入出
力仕様書の指定“A:?ニュウリョクファイル”と、その
仮入出力仕様書に関連するルール定義部品の展開位置の
指定“PARTS01 A”とを、パターン12中に記述する。
仮入出力仕様書は、パターン12中に該当する入出力仕
様書名を直接記述する代わりに記述する仮名称であり、
後から作成されるプログラム仕様書14a中で実際の入
出力仕様書との対応付けを行うことによってパターン1
2の再利用性を高めるためのものである。また、個別に
生成されたプログラム相互間で共用される可能性のある
データ項目について、それぞれのデータ項目間における
ルールを定義したルール定義部品21を多数種類準備し
ておく。ルール定義部品についても、このようなデータ
項目を仮名称で記述することによって、再利用性の向上
を図る。仮名称については “@PREFIX#[仮入出力仕様書名] [共用されるデータ項目名] @SUFFIX#[仮入出力仕様書名]” のように記述する。このほか、関連情報23aでは、各
種の定義仕様書とルール定義部品との対応付けを行って
おく。
【0019】プログラム生成部16は、パターン12,
プログラム仕様書14a,ルール定義部品1,関連情報
23aなどに基づいてソースプログラム17aの展開を
行う際、‘@PREFIX#[仮入出力仕様書名]’および‘@SUF
FIX#[仮入出力仕様書名]’をプログラム仕様書14a中
で指定された接頭辞および接尾辞に置き換えて、補完さ
れたルール定義部品を生成する。図2の例では、プログ
ラム仕様書14a中の記述で仮入出力仕様書名“?ニュ
ウリョクファイル”に実際の入出力仕様書名である“定
義仕様書A”と接頭辞“P1”および接尾辞“S1”が対応
付けられているので、 “@PREFIX#ADATAX@SUFFIX#A”→“P1-DATAX-S1” “@PREFIX#ADATAY@SUFFIX#A”→“P1-DATAY-S1” のように補完されたルール定義部品1が、パターン12
中の指定された展開位置“PARTS01 A”に展開される。
プログラム仕様書14a,ルール定義部品1,関連情報
23aなどに基づいてソースプログラム17aの展開を
行う際、‘@PREFIX#[仮入出力仕様書名]’および‘@SUF
FIX#[仮入出力仕様書名]’をプログラム仕様書14a中
で指定された接頭辞および接尾辞に置き換えて、補完さ
れたルール定義部品を生成する。図2の例では、プログ
ラム仕様書14a中の記述で仮入出力仕様書名“?ニュ
ウリョクファイル”に実際の入出力仕様書名である“定
義仕様書A”と接頭辞“P1”および接尾辞“S1”が対応
付けられているので、 “@PREFIX#ADATAX@SUFFIX#A”→“P1-DATAX-S1” “@PREFIX#ADATAY@SUFFIX#A”→“P1-DATAY-S1” のように補完されたルール定義部品1が、パターン12
中の指定された展開位置“PARTS01 A”に展開される。
【0020】図3は、図1のシステム中のリポジトリの
細部構成の一例を示す図である。同図中、それぞれ個別
に生成されたプログラム17a相互間で共用される可能
性のあるデータ項目間のルールを定義した各種のルール
定義部品21および定義仕様書13を対応付ける関連情
報23a1と、それぞれのプログラム17aおよび定義仕
様書13を対応付ける関連情報23a2は、図1に示した
リポジトリ23で一元的に登録管理する。このため、い
ずれかのルールを変更するために修正すべきルール定義
部品を特定すれば、ルール変更の影響を受ける定義仕様
書とプログラムとをすべて特定できる。すなわち図3の
例では、修正すべきルール定義部品1を特定すると、そ
の影響を受ける定義仕様書Aが特定され、さらにその影
響を受けるプログラムP1およびプログラムP2が特定
される。したがって、ルールの変更に伴ってルール定義
部品の改訂を行った場合、関連情報によって対応付けら
れているプログラム仕様書のみを対象として、プログラ
ム生成部によるソースプログラムの自動生成を再度行う
ことで、ルール変更の結果をほぼ自動的にプログラムに
反映させることができる。
細部構成の一例を示す図である。同図中、それぞれ個別
に生成されたプログラム17a相互間で共用される可能
性のあるデータ項目間のルールを定義した各種のルール
定義部品21および定義仕様書13を対応付ける関連情
報23a1と、それぞれのプログラム17aおよび定義仕
様書13を対応付ける関連情報23a2は、図1に示した
リポジトリ23で一元的に登録管理する。このため、い
ずれかのルールを変更するために修正すべきルール定義
部品を特定すれば、ルール変更の影響を受ける定義仕様
書とプログラムとをすべて特定できる。すなわち図3の
例では、修正すべきルール定義部品1を特定すると、そ
の影響を受ける定義仕様書Aが特定され、さらにその影
響を受けるプログラムP1およびプログラムP2が特定
される。したがって、ルールの変更に伴ってルール定義
部品の改訂を行った場合、関連情報によって対応付けら
れているプログラム仕様書のみを対象として、プログラ
ム生成部によるソースプログラムの自動生成を再度行う
ことで、ルール変更の結果をほぼ自動的にプログラムに
反映させることができる。
【0021】
【発明の効果】以上詳しく説明したように、本発明のプ
ログラム生成システムによれば、目的とするソースプロ
グラムのほとんどをプログラム生成部によって自動生成
可能となり、各々のソースプログラムの品質がすべて一
定水準に達するような工程管理を容易に実現させること
ができるという効果が得られる。また、仕様変更や不良
修正などがあっても、関連するプログラム仕様書につい
てのみプログラム生成部によるソースプログラムの自動
生成を再度行えば十分なので、従来より効率的に工程管
理を行うことができるという効果が得られる。したがっ
て、従来より効率的な工程管理で高品質のソフトウェア
製品を容易に生産することができるという効果が得られ
る。
ログラム生成システムによれば、目的とするソースプロ
グラムのほとんどをプログラム生成部によって自動生成
可能となり、各々のソースプログラムの品質がすべて一
定水準に達するような工程管理を容易に実現させること
ができるという効果が得られる。また、仕様変更や不良
修正などがあっても、関連するプログラム仕様書につい
てのみプログラム生成部によるソースプログラムの自動
生成を再度行えば十分なので、従来より効率的に工程管
理を行うことができるという効果が得られる。したがっ
て、従来より効率的な工程管理で高品質のソフトウェア
製品を容易に生産することができるという効果が得られ
る。
【図1】本発明のプログラム生成システムの実施の一形
態例の概略的な構成を示す図である。
態例の概略的な構成を示す図である。
【図2】図1のシステム中のプログラム生成部による処
理を具体的に説明するための図である。
理を具体的に説明するための図である。
【図3】図1のシステム中のリポジトリの細部構成の一
例を示す図である。
例を示す図である。
【図4】プログラム生成システムの一般的な構成の一例
を示す図である。
を示す図である。
11 部品(一般部品) 12 パターン 13 定義仕様書 14,14a プログラム仕様書 15 データ項目辞書 16 プログラム生成部 17,17a ソースプログラム 21 ルール定義部品 22 関連定義部 23 リポジトリ 23a,23a1,23a2 関連情報
Claims (3)
- 【請求項1】 一元管理されている多数種類の部品,パ
ターン,定義仕様書およびデータ項目辞書などの各種定
義情報に基づいて記述されたプログラム仕様書を解析
し、前記定義仕様書で指定された入出力に関する定義,
データ項目に関する定義,およびプログラム遷移条件
と、前記部品とを標準的な論理構造を持つ前記パターン
中に展開することによって所望のソースプログラムを自
動生成するプログラム生成システムにおいて、 複数のデータ項目に関係するルールが定義された多数種
類のルール定義部品と前記各種定義情報とをあらかじめ
個別に対応付ける所定の関連情報に基づき、前記プログ
ラム仕様書中の記述により補完された前記ルール定義部
品を前記パターン中に展開して所望のソースプログラム
を自動生成するプログラム生成部を具備する構成とした
ことを特徴とするプログラム生成システム。 - 【請求項2】 すべての前記関連情報をまとめて一元的
に登録管理するためのリポジトリを設け、 前記プログラム生成部は、前記プログラム仕様書中に記
述されている具体的な定義情報の各々について、その定
義情報に対応する特定のルール定義部品を前記リポジト
リの検索により求めることを特徴とする請求項1記載の
プログラム生成システム。 - 【請求項3】 前記プログラム生成部は、あらかじめ仮
名称で表現された前記定義情報中のデータ項目の各々を
前記プログラム仕様書中に記述されている指定名称に置
き換えた後、所望のソースプログラムを自動生成するこ
とを特徴とする請求項1または2記載のプログラム生成
システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8012949A JPH09204301A (ja) | 1996-01-29 | 1996-01-29 | プログラム生成システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8012949A JPH09204301A (ja) | 1996-01-29 | 1996-01-29 | プログラム生成システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09204301A true JPH09204301A (ja) | 1997-08-05 |
Family
ID=11819539
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8012949A Pending JPH09204301A (ja) | 1996-01-29 | 1996-01-29 | プログラム生成システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09204301A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20010109629A (ko) * | 2000-05-31 | 2001-12-12 | 이선아 | 계층적인 소프트웨어 품질 모형을 이용한 소프트웨어품질관리 방법 |
| JP2005078650A (ja) * | 2003-09-02 | 2005-03-24 | Microsoft Corp | ソフトウェアのコンポーネント化 |
| JP2008117095A (ja) * | 2006-11-02 | 2008-05-22 | Hitachi Ltd | ソフトウエア開発方法 |
-
1996
- 1996-01-29 JP JP8012949A patent/JPH09204301A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20010109629A (ko) * | 2000-05-31 | 2001-12-12 | 이선아 | 계층적인 소프트웨어 품질 모형을 이용한 소프트웨어품질관리 방법 |
| JP2005078650A (ja) * | 2003-09-02 | 2005-03-24 | Microsoft Corp | ソフトウェアのコンポーネント化 |
| JP2008117095A (ja) * | 2006-11-02 | 2008-05-22 | Hitachi Ltd | ソフトウエア開発方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6377956B1 (en) | Automatically configuring product manual by binding document objects in logical structure to proper versions of component documents in a document database | |
| US8577927B2 (en) | Producing a virtual database from data sources exhibiting heterogeneous schemas | |
| CN110543303B (zh) | 一种可视化业务平台 | |
| CN113010154B (zh) | 基于动态加载的二级数据管理界面可视化开发配置方法 | |
| US8732567B1 (en) | System and method for automating document generation | |
| JP2000148814A (ja) | 構成部品データ管理システム及び構成部品データ管理プログラムを格納したコンピュータ読み取り可能な記憶媒体 | |
| US5303147A (en) | Computer aided planning method and system | |
| JPH05257661A (ja) | ソフトウェア生産方式 | |
| CN113159618A (zh) | 一种技术视角分离的规则引擎设计方法和装置 | |
| CN111367893A (zh) | 数据库版本迭代的方法及装置 | |
| JP3186117B2 (ja) | データ中心型ソフトウエア部品によるプログラム自動生成システム | |
| JP2000202746A (ja) | 製品部品表編集方法及びその装置 | |
| JPH09204301A (ja) | プログラム生成システム | |
| CN114168121A (zh) | 一种基于代码工厂模式开发软件系统、终端和存储介质 | |
| CN101388034A (zh) | 用于处理数据库的设备和方法 | |
| JPH0546608A (ja) | 文書処理装置 | |
| JPH06214768A (ja) | プログラム部品作成方法及びプログラム自動生成方法 | |
| JPH0667871A (ja) | プログラム自動更新方式 | |
| JPH04172529A (ja) | データ中心型ソフトウエア部品によるプログラム自動生成方式 | |
| JPH06110733A (ja) | プログラムのテストケース生成装置 | |
| JP2722358B2 (ja) | プログラム作成支援システム | |
| JP3245635B2 (ja) | ソフトウェア生産物の標準化方法及び解析方法 | |
| JP3345522B2 (ja) | データ項目部品を利用するプログラム開発支援装置 | |
| JP3050467B2 (ja) | データ項目辞書生成方法 | |
| JP2004110102A (ja) | プロジェクト管理方法および工程定義装置 |