JP3186117B2 - データ中心型ソフトウエア部品によるプログラム自動生成システム - Google Patents

データ中心型ソフトウエア部品によるプログラム自動生成システム

Info

Publication number
JP3186117B2
JP3186117B2 JP27071391A JP27071391A JP3186117B2 JP 3186117 B2 JP3186117 B2 JP 3186117B2 JP 27071391 A JP27071391 A JP 27071391A JP 27071391 A JP27071391 A JP 27071391A JP 3186117 B2 JP3186117 B2 JP 3186117B2
Authority
JP
Japan
Prior art keywords
program
definition
data
software
output
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.)
Expired - Lifetime
Application number
JP27071391A
Other languages
English (en)
Other versions
JPH05108319A (ja
Inventor
洋介 森岡
治 大野
ちはる 西岡
直樹 橋本
保 中川
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP27071391A priority Critical patent/JP3186117B2/ja
Publication of JPH05108319A publication Critical patent/JPH05108319A/ja
Application granted granted Critical
Publication of JP3186117B2 publication Critical patent/JP3186117B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ソフトウエアの生産性
向上に係り、特に既存ソフトウエアを部品化し、これら
の部品からプログラム仕様書を自動的に生成し、またプ
ログラム仕様書からプログラムを自動生成することによ
り新規ソフトウエア開発を効率化するのに好適なソフト
ウエア開発支援方法に関する。
【0002】
【従来の技術】ソフトウエア生産性を向上するための有
力な方法のひとつに既存のソフトウエアを再利用して新
規ソフトウエアを開発する方法がある。この既存のソフ
トウエアを再利用して新規ソフトウエアを開発する場
合、業務システム作成の段階又はプログラム作成の段階
で再利用を行い、プログラマが既存ソフトウエアの仕様
を記述したドキュメントやソースプログラムを解析し、
修正を行うのが一般的である。
【0003】しかし、同種業務のソフトウエアにおいて
も、利用者によってその要求仕様はまちまちであり上記
のような再利用の方法では、ドキュメントやソースプロ
グラムからだけでは修正箇所を特定することが難しい、
ひとつのソフトウエアに対し複数利用者の要求仕様の相
違に伴う修正が加わっていくためソフトウエア保守性が
劣化するなどの欠点があった。
【0004】このような欠点のために、同種業務のソフ
トウエア開発においてさえ、既存ソフトウエアの再利用
を断念し、全く新規にソフトウエアを開発することが多
く、生産性向上を妨げていた。
【0005】この問題を解決するひとつの方法として、
ソフトウエアをその機能に着目して細分化することによ
り部品化しておき、これらの部品とプログラムとの対応
づけをそれぞれ定義することにより新たなプログラムを
自動生成する方法がある。この方法によりソフトウエア
を小規模な部品群に分割し、新規ソフトウエアを開発す
る際に、既存ソフトウエアを部品レベルで再利用するこ
とが可能となり、ソフトウエアの適用業務の違いや、要
求仕様の違いに対して部品の取捨選択、変更、追加によ
り対応することができるようになった。
【0006】なおこの種の技術として関連するものに
は、たとえば日立評論VOL.66(1984年3月発
行)のページ19〜24「システム開発支援ソフトウェ
ア”EAGLE”」などがある。
【0007】
【発明が解決しようとする課題】従来の方法において
は、以下のような課題がある。
【0008】従来技術における第1の課題は、ソフトウ
エアの部品化の手段そのものと、ソフトウエア部品設計
情報のプログラム仕様ドキュメントへの継承方法にあ
る。
【0009】前述のソフトウエアを部品化し、それを合
成することによりプログラムを自動生成する従来技術で
は、ソフトウエアの部品化を機能の細分化によって行っ
ているため部品化を行う際に、どのような観点で機能を
細分化するか、どのレベルまでをひとつの部品にするか
などについて明確な基準を設けることが難しく、部品の
設計者によりソフトウエアの分割方法がまちまちであっ
た。このためソフトウエア部品の標準化を徹底すること
が困難であった。
【0010】さらに、ソースプログラムを生成するため
には目的の業務プログラムと部品との対応づけをプログ
ラム1本1本について、設計者あるいはプログラマが定
義しなければならないため生産性向上および信頼性向上
が十分に図れなかった。
【0011】一方、ソフトウエア部品を作成するための
手段およびそれらからソースプログラムを生成する手段
はいくつか開発されたものの、プログラム仕様ドキュメ
ントの作成作業のほとんどがこれらソフトウエア部品の
作成作業とは独立した、人間の手作業によるものであっ
た。プログラム仕様ドキュメントをいわゆるワードプロ
セッサなど文書作成専用のコンピュータを用いて作成し
た電子文書として管理する方法があるが、これにしても
ドキュメントの清書や保管を支援できるようになった
が、プログラム設計作業そのものは電子文書作成作業を
含め依然としてプログラム設計者の手作業によってい
る。このようなプログラム仕様ドキュメントの作成方法
では、ソフトウエア部品の設計工程からプログラム設計
工程への設計情報の自動継承を実現することが不可能で
ある。このためプログラム仕様ドキュメント作成作業の
生産性向上は難しく、さらにソフトウエア部品およびそ
れから生成されるソースプログラムとプログラム仕様ド
キュメントとが一致しているという確認もプログラマの
手作業に委ねられるため、ソフトウエアの信頼性向上の
妨げともなってきた。
【0012】従来技術における第2の課題は、プログラ
ム仕様ドキュメントにあらかじめ用意したソフトウエア
部品とは異なる仕様を記述した場合に、プログラム仕様
ドキュメント通りのソースプログラムを生成する手段を
持たないことにある。
【0013】第1の課題で述べたように従来技術におい
ては、プログラム仕様ドキュメント作成作業のほとんど
を手作業によって行っており、このため生成対象のプロ
グラムが例外処理を含むなどなんらかの理由によって、
プログラム仕様ドキュメントにあらかじめ用意したソフ
トウエア部品と異なる仕様を記述したとしても、これを
ソースプログラム生成に反映させることは不可能であっ
た。従ってこのような場合、プログラマが生成されたソ
ースプログラムをプログラム仕様ドキュメントに合わせ
て修正を行う必要があるため、生産性向上および信頼性
向上が十分に図れなかった。
【0014】従来技術における第3の課題は、対象業務
プログラムの仕様に変更が生じた場合に、プログラム仕
様ドキュメントの修正を行っても、プログラム仕様ドキ
ュメントで記述された仕様にしたがってソフトウエア部
品を自動的に修正することができないことである。また
別のケースとして、ソフトウエア部品そのものが定義不
良などで仕様が誤っており、プログラム仕様ドキュメン
トに記述された仕様が本来の正しい仕様である場合にも
同様である。従ってこのような場合、プログラマが生成
されたソースプログラムをプログラム仕様ドキュメント
に合わせて修正し、さらにソフトウエア部品の修正も行
う必要があるため、ソフトウエア部品の信頼性向上の妨
げとなり、ひいてはソフトウエア部品再利用の妨げとも
なっていた。
【0015】従来技術における第4の課題は、このよう
なソフトウエアの部品化による開発を支援するソフトウ
エアの運用方法とその操作性にある。
【0016】これまで述べたようなソフトウエア開発を
支援するソフトウエア(このようなソフトウエアを以下
ソフトウエア開発支援ツール、あるいは単にツールと呼
ぶ)を使用するための操作は、当該ツールが組み込まれ
た装置を使ってのみ行うことができ、またそのツールを
使用する人は、必ずツールが定めた操作方法に従わなけ
ればなければならなかった。このため管理者は、ソフト
ウエア開発者の人数に対応した設備投資を行わなければ
ならず、一方ソフトウエア開発者の作業は、ツールが組
み込まれた装置の設置場所や運用時間帯などに制限さ
れ、かつツールが定めた固有の操作方法を修得する必要
があり、ひいてはソフトウエア生産性向上の妨げとなっ
てきた。
【0017】本発明の第1の目的は、ソフトウエアの部
品化にあたって設計者の個性や適用業務の特質に依存し
ない一定の基準を設け、さらに部品をこの基準に合致し
た形式で管理する方法を確立することにより、ソフトウ
エアの部品を標準化し、既存ソフトウエアの再利用を容
易にすることにある。
【0018】さらに、業務プログラムとソフトウエア部
品との対応づけを設計者あるいはプログラマが定義する
ことなしに、データ項目の名称を基に当該プログラムに
必要なソフトウエア部品を選択してプログラム仕様書を
自動生成し、このプログラム仕様書からソースプログラ
ムを自動生成することを可能とすることにより、ソフト
ウエア部品の設計情報をプログラム仕様書およびソース
プログラムに自動的に継承しソフトウエアの生産性およ
び信頼性を向上することにある。
【0019】本発明の第2の目的は、生成されたプログ
ラム仕様書に対し、変更、追加、削除などの修正を可能
とし、修正後のプログラム仕様書に記載された仕様があ
らかじめ用意したソフトウエア部品の仕様と異なる場合
にも、プログラム仕様書通りのソースプログラムを自動
生成することを可能とすることにより、ソフトウエアの
生産性および信頼性を向上することにある。
【0020】本発明の第3の目的は、上記の様にプログ
ラム仕様書の修正を可能とし、必要に応じて、修正後の
プログラム仕様書に記載された仕様に合わせてソフトウ
エア部品を自動的に修正することを可能とすることによ
り、プログラム仕様書とソフトウエア部品との整合性を
自動的に保ち、ソフトウエア部品の信頼性を向上し、ひ
いては再利用を容易にすることによってソフトウエアの
生産性をも向上させることにある。
【0021】本発明の第4の目的は、第2の目的で述べ
たプログラム仕様書に対する変更、追加、削除などの修
正操作を、当該ソフトウエア開発支援ツールが組み込ま
れた特定の装置以外のいわゆるパーソナルコンピュータ
やワークステーションで、汎用のいわゆる表計算用のソ
フトウエアや文書作成用のソフトウエアを使って行うこ
とを可能とすることにより、当該ソフトウエア開発支援
ツールを使用するための設備投資の低減を図るとともに
ソフトウエア開発者が特定の装置の運用条件に制限され
ないで、かつツール固有の操作方法を修得しなくてもす
でに慣れ親しんだ汎用のソフトウエアを用いてソフトウ
エア開発が行える作業環境を提供することを可能とし、
ひいてはソフトウエアの生産性を向上させることにあ
る。
【0022】
【課題を解決するための手段】第1の目的を達成するた
め、本発明では、ソフトウエアをデータ項目単位にそれ
ぞれのデータ項目に対する単独処理をいくつかの種類に
分けてソフトウエア部品として定義し、ディクショナリ
とよぶファイルに格納する手段と、複数のデータ項目間
の相互関係に基づいてデータの妥当性を判定する関連チ
ェック処理をソフトウエア部品として定義し、関連チェ
ック定義書とよぶファイルに格納する手段と、これらデ
ィクショナリおよび関連チェック定義書に格納されたソ
フトウエア部品をデータ項目名に基いて管理する手段を
もつことを特徴とする。
【0023】以下、上記のディクショナリおよび関連チ
ェック定義書に格納するソフトウエア部品をあわせてデ
ータ項目中心のソフトウエア部品と呼び、これらの部品
中に定義されている処理をデータ項目中心の処理と呼
ぶ。
【0024】さらに、上記データ項目中心のソフトウエ
ア部品を定義する手段の他に、ファイル、帳票の属性や
レイアウトなどの情報を定義し、データ定義書とよぶフ
ァイルに格納する手段と、プログラム単位に入出力媒体
の情報を定義し、プログラム定義書とよぶファイルに格
納する手段と、画面、帳票、ファイル等の処理プログラ
ムを制御構造の特質に着目していくつかの種類に分け、
業務個別処理をそれ自身に持たないプログラムスケルト
ン標準パターンとして部品化し、標準パターンライブラ
リとよぶファイルに格納する手段と、プログラムスケル
トン標準パターン部品に沿った標準機能説明部品を標準
機能説明ライブラリとよぶファイルに格納する手段をも
つことを特徴とする。
【0025】さらに、上記ディクショナリ、関連チェッ
ク定義書、データ定義書、プログラム定義書、および標
準機能説明ライブラリから、対象とする業務プログラム
の入出力媒体中のデータ項目をもとにソフトウエア部品
を選択し、いくつかの種類の仕様書から構成されるプロ
グラム仕様書を自動生成する手段と、プログラム仕様書
をもとに、プログラムスケルトン標準パターン部品と、
ディクショナリ中のソフトウエア部品および関連チェッ
ク定義書中のソフトウエア部品とを選択して合成するこ
とによりソースプログラムを自動生成する手段をもつこ
とを特徴とする。
【0026】第1の目的をさらに厳格な標準化基準のも
とで達成するための手段として、本発明では、ディクシ
ョナリにおけるデータ項目に対する単独処理をチェッ
ク、入力編集、出力編集の3種類に分ける手段をもつこ
とを特徴とする。
【0027】第2の目的を達成するため、本発明では、
生成されたプログラム仕様書に対する変更、追加、削除
などの修正を可能とする手段と、さらにここで修正され
たプログラム仕様書をもとに、ソースプログラムを自動
生成する手段をもつことを特徴とする。
【0028】第3の目的を達成するため、本発明では、
修正されたプログラム仕様書から自動的にディクショナ
リ、関連チェック定義書、データ定義書、およびプログ
ラム定義書に格納されたソフトウエア部品の定義内容を
修正する手段をもつことを特徴とする。
【0029】第4の目的を達成するため、本発明では、
生成されたプログラム仕様書に対して、プログラム仕様
書を生成した装置とは違う装置上で、汎用のソフトウエ
アを用いてプログラム仕様書の修正を行うことを可能と
する手段ををもつことを特徴とする。
【0030】
【作用】第1の目的を達成するため、本発明では、ソフ
トウエアをデータ項目単位にそれぞれのデータ項目に対
する単独処理をいくつかの種類に分けてソフトウエア部
品として定義し、また複数のデータ項目間の相互関係に
基づいてデータの妥当性を判定する関連チェック処理を
ソフトウエア部品として定義し、これらデータ中心のソ
フトウエア部品ををデータ項目名に基いて管理すること
とした。一方、これらデータ中心のソフトウエア部品に
含まれないソフトウエア部品について、ファイル、帳票
の属性やレイアウトなどを定義したソフトウエア部品、
プログラム単位の入出力媒体情報を定義したソフトウエ
ア部品、画面、帳票、ファイル等の処理プログラムを制
御構造の特質に着目していくつかの種類に分け、業務個
別処理をそれ自身に持たないプログラムスケルトン標準
パターンと呼ぶソフトウエア部品、プログラムスケルト
ン標準パターン部品に沿った標準機能説明部品と呼ぶソ
フトウエア部品とに分けて定義することとした。
【0031】以上により、ソフトウエアの部品化にあた
って、従来技術では設計者の個性や適用業務の特質によ
ってまちまちであった部品化に際してのソフトウエアの
分割方法について、データ項目を中心としてソフトウエ
アを分割するという一定の明確な基準を設けることがで
きる。さらにこれらソフトウエア部品をそれぞれ特定の
構造をもったファイルに格納することによりこの基準に
合致した形式で管理する方法を確立することができるた
め、ソフトウエアの部品を標準化し、既存ソフトウエア
の再利用を容易にすることが可能となり、ひいてはソフ
トウエアの生産性向上を図ることができ、従来技術の課
題を解決できる。
【0032】さらに、上記ディクショナリ、関連チェッ
ク定義書、データ定義書、プログラム定義書、および標
準機能説明ライブラリから、対象とする業務プログラム
の入出力媒体中のデータ項目をもとにソフトウエア部品
を選択し、いくつかの種類の仕様書から構成されるプロ
グラム仕様書を自動生成し、プログラム仕様書をもと
に、プログラムスケルトン標準パターン部品と、ディク
ショナリ中のソフトウエア部品および関連チェック定義
書中のソフトウエア部品とを選択して合成することによ
りソースプログラムを自動生成する方式とした。
【0033】したがって、従来の技術では設計者あるい
はプログラマが業務プログラム1本1本について定義し
なければならなかったプログラムとソフトウエア部品と
の対応づけを行うことなく、ソースプログラムを自動生
成することができ、また従来の技術ではほとんどが設計
者の手作業に頼っていたプログラム仕様書作成作業を自
動化し、かつソフトウエア部品の設計工程からプログラ
ム設計工程への設計情報の自動継承を実現することが可
能となる。このことにより、ソフトウエアの生産性およ
び信頼性を向上でき、従来技術の課題を解決できる。
【0034】第1の目的をさらに厳格な標準化基準のも
とで達成するための手段として、本発明では、ディクシ
ョナリにおけるデータ項目に対する単独処理をチェッ
ク、入力編集、出力編集の3種類に分けることにした。
このことによりディクショナリに格納するソフトウエア
部品の構造をさらに限定することが可能となり、ソフト
ウエア部品の生産性および信頼性が向上し、したがって
再利用も容易となる。
【0035】第2の目的を達成するため、本発明では、
生成されたプログラム仕様書に対する変更、追加、削除
などの修正を可能とし、さらにここで修正されたプログ
ラム仕様書をもとに、ソースプログラムを自動生成する
ことができる。
【0036】このことにより、生成対象のプログラムが
例外処理を含むなどなんらかの理由によって、プログラ
ム仕様書にあらかじめ用意したソフトウエア部品と異な
る仕様を記述したときにも、これをソースプログラム生
成に反映させることが可能となるため、従来技術のよう
にソフトウエア部品通りに生成されたソースプログラム
をプログラム仕様ドキュメントに合わせて修正する必要
がなくなり、ソフトウエアの生産性向上および信頼性向
上を図ることができ、従来技術の課題を解決できる。
【0037】第3の目的を達成するため、本発明では、
修正されたプログラム仕様書から自動的にディクショナ
リ、関連チェック定義書、データ定義書、およびプログ
ラム定義書に格納されたソフトウエア部品の定義内容を
修正することを可能とした。従来技術における第3の課
題で述べたケースのように、対象業務プログラムの仕様
に変更が発生するなどの理由によって、プログラム仕様
書を修正した場合にも、プログラム仕様書で記述された
仕様にあわせてソフトウエア部品に自動的に修正するこ
とができる。このためこのような場合、従来技術では手
作業で行っていたソフトウエア部品の修正作業を自動化
でき、ソフトウエア部品の信頼性向上とともにソフトウ
エアの生産性も向上し、従来技術の課題を解決できる。
【0038】第4の目的を達成するため、本発明では、
生成されたプログラム仕様書に対して、プログラム仕様
書を生成した装置とは違う装置上で、汎用のソフトウエ
アを用いてプログラム仕様書の修正を行うことを可能と
した。このことによりプログラム仕様書に対する変更、
追加、削除などの修正操作を、当該ソフトウエア開発支
援ツールが組み込まれた特定の装置以外のいわゆるパー
ソナルコンピュータやワークステーションで、汎用のい
わゆる表計算用のソフトウエアや文書作成用のソフトウ
エアを使って行うことが可能となる。したがって、当該
ソフトウエア開発支援ツールを使用するための設備投資
の低減を図るとともに、ソフトウエア開発者に対し、特
定の装置の運用条件に制限されないで、かつツール固有
の操作方法を修得しなくてもすでに慣れ親しんだ汎用の
ソフトウエアを用いてソフトウエア開発が行える作業環
境を提供することが可能となり、ひいてはソフトウエア
の生産性を向上させることができ、従来技術の課題を解
決できる。
【0039】
【実施例】以下、本発明の実施例を図を用いて詳細に説
明する。
【0040】まず、図1および図2を用いて本実施例を
実現するためのハードウエア構成と、本実施例が持つい
くつかの機能を実現するための手段を説明する。
【0041】図1は本発明を実現するためのシステムの
ハードウエア構成を示している。装置群A(108)
は、プログラム仕様書やソースプログラムの生成、生成
したプログラム仕様書の修正、および修正されたプログ
ラム仕様書からのプログラム仕様書の生成元情報である
ソフトウエア部品の更新(本実施例では逆生成と称して
いる)を行うための装置群である。また装置群B(11
8)は、プログラム仕様書の修正を装置群Aと異なる装
置群上で行う場合に使用する。装置群Bとしては、いわ
ゆるパーソナルコンピュータやワークステーションを用
いることが好ましいが、利用者の置かれた環境から最適
のものが選択される。また装置群Aにたいし、装置群B
を複数組み使用することも可能であるし、逆に装置群B
なしで本発明にかかる機能や操作をすべて装置群Aを使
って行うことも可能である。
【0042】まず、装置群A(108)について図1に
沿って説明する。装置群AはCPU(103)をその中
心的な装置として備えている。生成の実行を指令するた
めの入力を行ったり、生成されたプログラム仕様書を編
集する際のデータ入力を行うための入力装置(10
5)、生成されたプログラム仕様書のデータなどを表示
するための表示装置(104)、および生成されたプロ
グラム仕様書を出力するためのプリンタ(102)がC
PUにその入出力機器として接続され、またさらに装置
群Bを使用する場合には、生成されたプログラム仕様書
を装置群Bへ送信したり、あるいは装置群Bで編集され
たプログラム仕様書を受信したりするための通信装置
(107)がCPUに接続される。
【0043】CPUにはまた、プログラム仕様書生成時
に、その生成元となるソフトウエア部品および生成後の
プログラム仕様書やソースプログラムを格納するための
外部記憶装置(106)と、プログラム仕様書の生成や
編集を実行中にプログラムやデータを格納するためのメ
モリ(101)が接続される。外部記憶装置(106)
に格納されるデータには、図2に示すディクショナリ
(201)、関連チェック定義書(202)、データ定
義書(203)、プログラム定義書(204)、標準パ
ターンライブラリ(205)、標準機能説明ライブラリ
(206)、プログラム仕様書ライブラリ(210)、
ソースプログラムライブラリ(211)のファイルが含
まれている。装置群B(118)の各装置についても装
置群Aと同様である。ただし外部記憶装置(116)に
格納するデータはプログラム仕様書ライブラリ(21
0)のみとすることができる。
【0044】本実施例は、図2に示すプログラム仕様書
生成機能(207)、プログラム生成機能(209)、
プログラム仕様書編集機能(212)、ソフトウエア部
品逆生成機能(208)の4つの機能により実現され
る。
【0045】プログラム仕様書生成機能(207)は、
外部記憶装置(106)上にあるディクショナリ(20
1)、関連チェック定義書(202)、データ定義書
(203)、プログラム定義書(204)および標準機
能説明ライブラリ(206)を入力し、プログラム仕様
書を生成して、同じく外部記憶装置(106)上にある
プログラム仕様書ライブラリ(210)に格納したり、
あるいは生成したプログラム仕様書(213)をプリン
タ(102)へ出力する。
【0046】プログラム生成機能(209)は、外部記
憶装置(106)上にあるプログラム仕様書ライブラリ
(210)、データ定義書(203)および標準パター
ンライブラリ(205)を入力し、ソースプログラムを
生成して外部記憶装置(106)上のソースプログラム
ライブラリ(211)に格納する。
【0047】プログラム仕様書編集機能(212)は、
外部記憶装置(106)上にあるプログラム仕様書ライ
ブラリ(210)を入力し、入力装置(105)および
表示装置(104)を用いて、プログラム仕様書の追
加、変更、削除などの修正を行うエディタである。
【0048】プログラム仕様書編集機能(212)は装
置群B(118)上で使用することもできる。この場
合、装置群A(108)のプログラム仕様書ライブラリ
(210)を装置群Aの外部記憶装置(106)から装
置群Bの外部記憶装置(116)に転送し、装置群Bの
表示装置(114)や入力装置(115)を用いて、装
置群Bの外部記憶装置(116)上にあるプログラム仕
様書ライブラリ(210)の編集を行い、修正されたプ
ログラム仕様書を装置群B上のプリンタ(112)に出
力する。
【0049】さらに装置群Bで編集したプログラム仕様
書ライブラリ(210)を再び装置群Aの外部記憶装置
(106)上に転送し、装置群Aでプログラム生成機能
(209)や次に述べるソフトウエア部品逆生成機能
(208)を使用することができる。
【0050】以上の中でプログラム仕様書編集機能(2
12)を実現するためには専用のエディタを用いる他
に、既存の汎用ソフトウエア、例えばいわゆる表計算用
ソフトウエアや文書作成用ソフトウエアを用いて行うこ
とも従来技術によって実現でき、この場合においても本
発明の範囲とする。
【0051】ソフトウエア部品逆生成機能(208)
は、外部記憶装置(106)上にあるプログラム仕様書
ライブラリ(210)を入力し、必要に応じて、同じく
外部記憶装置(106)上にあるディクショナリ(20
1)、関連チェック定義書(202)、データ定義書
(203)およびプログラム定義書(204)の中に格
納されたソフトウエア部品を更新する。
【0052】本実施例において、プログラム仕様書(2
13)は、プログラム処理概要図(図18)、プログラ
ム機能説明図(図19)、チェック条件表(図20)、
関連チェック条件表(図21)、編集条件表(図22)
の5種類の仕様書より構成される。
【0053】なお、本実施例では以上5種類を事例とし
て説明するが、これ以外にもファイル仕様書、レコード
仕様書、帳票仕様書、画面仕様書、データベース仕様
書、サブルーチン接続仕様書、他装置上の資源やプロセ
スへのアクセス仕様書など該プログラムに関連するドキ
ュメントを従来の技術で出力でき、この場合においても
本発明の範囲とする。
【0054】本発明によるプログラム仕様書生成の具体
的な手順の説明に先立って、ディクショナリ(20
1)、関連チェック定義書(202)、データ定義書
(203)、プログラム定義書(204)、標準パター
ンライブラリ(205)、標準機能説明ライブラリ(2
06)および各ライブラリに格納される定義部品につい
て、詳細に説明する。
【0055】尚、図6は本発明の適用対象とする業務プ
ログラム例の概略図である。プログラム602はデータ
構造(605)を有する入力ファイル「KYFIL」
(601)を読み込み、データの妥当性のチェックを行
って、不当なデータはレイアウト607のフォーマット
を有する出力帳票「KYERR」(604)に、正常デ
ータはレイアウト606のフォーマットを有する出力帳
票「KYLST」(603)にそれぞれ編集して出力す
る。以後、このプログラム例を対象として本実施例の説
明を行う。
【0056】図7〜図11を用いて、ディクショナリ
(201)の説明を行う。ディクショナリとは、データ
項目単位に、各データ項目に関する単独処理のソフトウ
エア部品を定義し、格納したものである。ここで、デー
タ項目とは、氏名、生年月日などといった業務上意味を
持つ最小単位のデータを指す。単独処理とは、該データ
項目に対してのみ行う操作であり、それ自身以外のデー
タ項目に関与しない処理のことである。
【0057】ディクショナリのソフトウエア部品には、
データ項目定義部(701)、チェック処理定義部(7
06)、入力編集定義部(707)および出力編集定義
部(708)がある。ここで、チェック処理、入力編集
処理、出力編集処理を以下のように定義する。つまり、
入力帳票や入力画面からの入力に対し、データの形式お
よびデータの妥当性をチェックする処理がチェック処理
であり、入力されたデータを、データベースやファイル
に格納する形式に変換する処理が入力編集処理であり、
データベースやファイル上のデータを出力帳票や出力画
面に出力する形式に変換する処理が出力編集処理であ
る。
【0058】本例では、「SIMEI−NO」(図
7)、「SIMEI」(図8)、「NYUSYA−YM
D」(図9)、「SYOKUI−CD」(図10)、
「SIKYU−GK」(図11)というデータ項目に対
する定義例を示している。
【0059】データ項目定義部(701)には、データ
項目名、日本語名、形式および桁数からなる属性、およ
びデータ項目の用途や意味を明記するコメントを定義す
る。図7の例では、(702)はデータ項目名が「SI
MEI−NO」であり、(703)は日本語名は「氏名
番号」であり、(704)はデータの属性が数字の9桁
であることを定義し、(705)はデータ項目の意味を
定義している。
【0060】チェック処理定義部(706)には、デー
タが不当であると判断するための条件と、不当であるこ
とをユーザに知らせる際に用いるエラーコード、エラー
メッセージによって定義する。同じく図7の例では、
(709)は本データ項目に関する入力に対しサブルー
チン「SUB01」を呼び出すことによってチェックを
行うことを示すキーワードであり、(710)はエラー
であった時のエラーコードが「ER10」であり、(7
11)はエラーメッセージが「氏名番号が正しくありま
せん」であることを定義している。
【0061】入力編集定義部(707)について、図8
を用いて説明する。本例では、(707)に「SUB
(SUB02),SIMEI−NO」と記述することに
より、本データ項目に関する入力編集をサブルーチン
「SUB02」を呼び出すことにより行うことを定義し
ている。同様に出力編集定義部について、図9の例では
(708)に「DATE」と記述することにより、本デ
ータ項目に関する出力編集を行う際には出力形式を「Y
Y.MM.DD」(YY:年、MM:月、DD:日)に
変換して出力することを定義している。以上のように、
チェック条件や、入力編集、出力編集の編集方法の定義
には、「SUB」や「DATE」などのキーワードを用
いて記述する。キーワードとは、チェック条件の場合は
サブルーチン呼出しや、数字チェック、英数字チェッ
ク、範囲チェックなど、編集方法の場合は、サブルーチ
ン呼出しや、計算式、文字列連結編集などのいくつかの
一般的なソフトウエア部品を表す文字列と、その文法規
則のことである。
【0062】次に図12を用いて関連チェック定義書
(202)に格納される関連チェック定義部品の説明を
行う。関連チェック定義部品は、複数のデータ項目間の
関連チェック処理のソフトウエア部品を、デシジョンテ
ーブルの形式で定義したものである。
【0063】本例は、データ項目「SIKYU−GK」
「SYOKUI−CD」についての関連チェック定義部
品の例である。(801)は対象となるデータ項目名は
「SIKYU−GK」である事を定義しており、(80
2)は関連するデータ項目名が「SYOKUI−CD」
であることを定義している。尚、関連するデータ項目名
は、もちろん2つ以上あっても良い。(803)は、関
連チェックの条件定義部であり、(807)は関連チェ
ックのエラー処理定義部である。
【0064】条件定義部(803)には、データ項目名
(804)、条件(805)および関連マトリクス(8
06)を定義する。エラー処理定義部(807)には、
エラーコード(808)、エラーメッセージ(809)
および関連マトリクス(810)を定義する。
【0065】尚、条件(805)は、ディクショナリの
ソフトウエア部品と同様にキーワードを用いて記述す
る。本例は、「SIKYU−GKが80000より大で
なく、SYOKUI−CDが’A03’より大である場
合は、エラーコードはER50とし、エラーメッセージ
は’支給額が基準以下です’である」ことと、「SIK
YU−GKが80000より大であり、SYOKUI−
CDが’A03’より大でない場合は、エラーコードは
ER60とし、エラーメッセージは’支給額が基準を超
えています’である」ということを定義している。
【0066】次に、データ定義書(203)の説明を行
う。データ定義書は、ファイルや帳票の情報を定義した
帳票定義部品、ファイル定義部品およびレコード定義部
品を格納するものである。以下、これらの定義部品につ
いて説明する。
【0067】図13(a)を用いて、帳票定義部品につ
いて説明する。本例は、図6における「給与リスト」
(606)の帳票についての情報を定義したものであ
る。帳票定義部品には、帳票属性定義部(901)と、
帳票レイアウト定義部(907)がある。(902)は
帳票定義部品名が「KYLST」であり、(903)は
帳票名が「給与リスト」である事を定義し、(905)
はレコード長、(906)は1ページあたりの明細業の
印刷行数を定義している。帳票レイアウト定義部(90
7)には、帳票の上にデータ項目を打ち出すときの開始
行(908)、開始列(909)、明細行の反復数(9
10)、データ項目名(911)、属性(912)を定
義する。
【0068】図13(b)は同じく図6における「エラ
ーリスト」(607)に関する帳票定義部品であるが、
内容は図13(a)と同様なので説明は省略する。
【0069】図14を用いて、ファイル定義部品および
レコード定義部品の説明を行う。
【0070】本例は、図6のプログラム例における、
(601)のファイルおよびそのレコードフォーマット
(605)を定義したものである。(1002)はファ
イル定義部品名が「KYFIL」であり、(1003)
はファイル名が「給与ファイル」であり、(1004)
はプログラム内で使用するファイル記号名が「KYUY
O−FILE」であり、(1005)はこのファイルに
対するレコードフォーマットを定義したレコード定義部
品名が「KYREC」である事を定義し、またファイル
の属性としてレコード長(1006)、ブロック長(1
007)、レコード形式(1008)等を定義してい
る。
【0071】レコード定義部品には、レコード属性定義
部(1009)とレコードレイアウト定義部(101
2)があり、(1010)はレコード定義部品名が「K
YREC」であり、(1011)はレコード名が「給与
レコード」であることを定義する。レコードレイアウト
定義部には、レベル番号(1013)、データ項目名
(1014)、属性(1015)を定義する。
【0072】尚、本実施例ではバッチ処理のプログラム
を例としており、データ定義書として上記の3種類を使
用しているが、ファイルや帳票の他に画面やデータベー
スを使用するシステムにおいては画面定義部品、データ
ベース定義部品を、また、クライアント・サーバモデル
対応システムの場合においては、他装置上の資源やプロ
セスへのアクセス定義部品等が同様に定義でき、これに
ついても本発明に含まれる。
【0073】図16を用いて標準パターンライブラリ
(205)の説明を行う。
【0074】画面、帳票、ファイル等の処理プログラム
を制御構造に着目していくつかの種類に分け、業務個別
処理をそれ自身に含まないパターンとして部品化され
た、プログラムスケルトン標準パターン部品(以下、標
準パターンとよぶ)を格納したものである。本例は、フ
ァイルを読み込み、チェックを行って正常データとエラ
ーデータに別けて出力するタイプの標準パターンであ
る。(1201)は標準パターン名、(1202)は標
準パターン本体であるプログラムスケルトン部品であ
る。チェック処理部(1203)、関連チェック処理部
(1204)、編集処理部(1205)は業務個別の処
理でありこれらは標準パターンに含まず、プログラム生
成機能(209)がデータ項目中心のソフトウエア部品
を展開する部分である。
【0075】図17を用いて標準機能説明ライブラリ
(206)の説明を行う。標準機能説明ライブラリと
は、標準パターンに沿った標準機能説明部品を格納した
ものである。本例は、上記で説明した標準パターン「C
HK01」に対応した標準機能説明部品である。(13
01)は標準機能説明部品名、(1302)は機能説明
の処理部分の記述である。尚、標準機能説明部品と標準
パターンとは1対1対応がとれており、従って標準機能
説明部品名(1301)は、対応する標準パターン名と
同一名である。
【0076】図15を用いて、プログラム定義書(20
4)に格納されるプログラム定義部品の説明を行う。本
例は、図6のプログラム例における、(602)のプロ
グラム仕様を定義したものである。(1101)はプロ
グラム属性定義部であり、(1106)は入出力媒体定
義部である。(1102)はプログラム記号名が「PR
OG01」であり、(1103)プログラム日本語名が
「給与リスト作成」であり、(1104)はプログラム
で使用する標準パターン名が「CHK01」である事を
定義している。(1105)にはプログラム処理概要を
明記するコメントを定義する。
【0077】入出力媒体定義部(1106)には入出力
媒体に対応するファイル定義部品名および帳票定義部品
名を(1107)に、それぞれの入出力区分(以下、I
/O区分とよぶ)(1108)、使用区分(110
9)、論理装置名(1110)、プログラム内で使用す
るときにデータ項目に付加する接頭語(1111)定義
する。
【0078】ここで、使用区分(1109)とは、各標
準パターンにおいて、ある特別な用途で使用するファイ
ルであることを示す区分である。本例では、入出力媒体
「KYERR」の使用区分を「ERR」と定義してある
が、これは、標準パターン「CHK01」において、チ
ェック処理で編集されるエラーコードやエラーメッセー
ジの出力先である事を示している。
【0079】以下、プログラム仕様書生成の手順を、図
3のフローチャートを用いて詳細に説明する。初めに生
成対象の業務プログラム(以下該プログラムと略す)の
プログラム定義部品(図15に示す)を入力(ステップ
301)し、該業務プログラムで使用している標準パタ
ーン名(1104)、入出力媒体定義部品名(110
8)、使用区分(1109)を取得する。
【0080】次にプログラム処理概要図を展開し、出力
する(302)。
【0081】図18を用いてプログラム処理概要図の展
開方式を説明する。プログラム名(1401)、記号名
(1402)、標準パターン名(1403)、処理概要
(1412)はそれぞれプログラム定義部品(図15)
の(1103)(1102)(1104)(1105)
より取得したものを出力する。
【0082】入出力媒体(1404)の定義部品名(1
406)、I/O区分(1407)、使用区分(140
8)、論理装置名(1409)、接頭語(1410)
は、それぞれプログラム定義部品の入出力媒体定義部の
(1107)(1108)(1109)(1110)
(1111)より取得したものを出力する。入出力媒体
(1404)の日本語名(1405)は、入出力媒体の
定義部品名(1107)をもとにファイル定義部品およ
び帳票定義部品を参照し、ファイル名(1003)およ
び帳票名(903)を取得し、出力する。
【0083】本例では、プログラム定義部品に定義部品
名(1107)は「KYFIL」と定義してあるので、
この定義部品名もとにファイル定義部品(図14
(a))を参照し、ファイル名(1003)として「給
与ファイル」を取得して、日本語名(1405)に出力
する。(以後、このように定義部品名をもとに定義部品
を参照してファイルや帳票の日本語名を取得する処理を
日本語名取得とよぶ。同様にデータ項目についても、デ
ータ項目名をもとにディクショナリ(201)を参照し
てデータ項目の日本語名を取得することができ、これに
ついても日本語名取得とよぶ)さらに上記の情報をもと
に該プログラムの入出力関連を図面(1411)に示す
ように図式化して出力する。
【0084】次に図3に戻りプログラム定義部品より既
に取得した標準パターン名(1104)をもとに標準機
能説明部品を入力し(303)、プログラム機能説明図
を展開し出力する(304)。
【0085】図19を用いて、プログラム機能説明図の
展開方式を説明する。プログラム名(1501)、プロ
グラム記号名(1502)、標準パターン名(150
3)は、それぞれ前記と同様にプログラム定義部品の
(1103)(1102)(1104)より取得したも
のを出力する。入力媒体名(1504)および、出力媒
体名(1506)(1507)についても、前記と同様
に、プログラム定義部品の入出力媒体定義部(110
6)より、定義部品名(1107)を参照して、日本語
名を取得し、定義部品名および日本語名をそれぞれ出力
する。入出力媒体のうち、入力媒体であるか出力媒体で
あるかは、対応するI/O区分(1108)を参照すれ
ばよく、以下、入出力媒体のうちI/O区分が「I」で
あるものを入力媒体、「O」であるものを出力媒体とよ
ぶ。
【0086】機能説明図の処理(1505)の記述につ
いては、標準機能説明部品の処理の記述部(1302)
に、入出力媒体の日本語名取得したものを合成して出力
する。
【0087】次に、図3に戻りプログラム定義部品より
既に取得した標準パターン名をもとにチェック条件表、
関連チェック条件表の生成判定を行う(305)。例え
ば、本例で使用している標準パターン「CHK01」
は、入力ファイルを読み込み、その内容をチェックして
出力ファイルに書き出すようなパターンである。このよ
うな、入力データのチェック処理を含む標準パターンに
ついては、チェック条件表、関連チェック条件表を生成
出力する必要があると判定する。
【0088】チェック条件表、関連チェック条件表の生
成が必要と判定された場合、以下のようにチェック条件
表および関連チェック条件表を展開し出力する。
【0089】まず、図20を用いて、チェック条件表の
展開方法を説明する。
【0090】プログラム定義部品に定義された入力媒体
ごとに、入力媒体定義部品名をもとにファイル定義部品
およびレコード定義部品を入力し、さらに入力媒体で使
用されているすべてのデータ項目について、データ項目
ごとに、ディクショナリを参照しながら、チェック条件
表を展開していく(306)。
【0091】プログラム名(1603)、プログラム記
号名(1604)の出力方法については、前記プログラ
ム処理概要図と同様である。入力媒体の定義部品名(1
602)およびその日本語名(1601)には、プログ
ラム定義部品より取得した該入力媒体定義部品名と、そ
れをもとに日本語名取得したものとを出力する。出力媒
体の定義部品名(1606)およびその日本語名(16
05)には、チェック処理によって編集されるエラーコ
ードやエラーメッセージの出力先の出力媒体に関する情
報を出力する。このためプログラム定義部品に定義され
た出力媒体のうち、使用区分(1109)が「ERR」
であるものをエラーメッセージの出力先と判定し、その
出力媒体定義部品名と、それをもとに日本語名取得した
ものとを出力する。
【0092】入力項目の欄には、該データ項目名および
その日本語名(1607)をディクショナリ(201)
のソフトウエア部品(701)から、属性(1608)
を入力媒体の定義部品から取得して出力する。
【0093】チェック処理の欄には、ディクショナリ
(201)のチェック処理定義部(706)に定義され
ている内容をもとに、キーワード(1609)、チェッ
ク条件(1610)、エラーコード(1611)および
エラーメッセージ(1612)の欄に出力する。チェッ
ク条件欄については、ディクショナリのソフトウエア部
品には編集方法がキーワードによって記述されているの
で、キーワードが示す意味を日本語に変換して出力す
る。
【0094】本例においては、まず、プログラム定義部
品の入力媒体定義部品名(1107)が「KYFIL」
であるので、対応するファイル定義部品(図14
(a))を参照して、対応するレコード定義部品名(1
010)である「KYREC」を取得する。さらに、対
応するレコード定義部品(図14(b))を入力し、定
義されているデータ項目の順に入力項目欄、チェック処
理欄を展開し、出力して行く。
【0095】「KYREC」のレコードレイアウト定義
(1012)において、1番目に定義されているデータ
項目名(1014)は「SIMEI−NO」であるの
で、まず、対応するディクショナリ(201)のソフト
ウエア部品(図7)を参照し、データ項目の日本語名
(703)である「氏名番号」を取得する。次にディク
ショナリのチェック処理定義部(706)より、キーワ
ード(709)、エラーコード(710)、エラーメッ
セージ(711)を取得し出力する。キーワード(16
09)の「SUB(SUB01)」は、サブルーチン呼
び出しのソフトウエア部品を示すキーワードであり、S
UB01は呼び出されるサブルーチンのプログラム記号
名を表している。そこで、チェック条件欄(1610)
には、「サブルーチン(SUB01)を呼び出すことに
よりチェックする」と、キーワードの示す意味を日本語
に展開し出力する(以後、このようなキーワードの示す
意味を日本語に変換する処理を、キーワード日本語変換
とよぶ)。
【0096】以下レコードレイアウト定義(1012)
のデータ項目名(1014)に対し同じ手順を繰り返す
ことによってチェック条件表を生成する。次に、図3に
戻り関連チェック条件表を生成する(307)。プログ
ラム定義部品に定義された全ての入力媒体について、入
力媒体定義部品名をもとにファイル定義部品およびレコ
ード定義部品を入力し、さらに入力媒体で使用されてい
るすべてのデータ項目について、データ項目ごとに、関
連チェック条件表の生成判定を行う。
【0097】判定条件は、該データ項目に対する関連チ
ェック定義部品が存在すること、かつ、該データ項目に
対応する関連チェック定義部品に記載されている関連デ
ータ項目(802)の全てが、該プログラムで使用する
入力媒体に含まれている場合にのみ、該関連チェック定
義部品に対する関連チェック条件表を生成する。尚、入
力媒体が複数ある場合は、関連データ項目は入力媒体の
どれかに含まれていればよい。
【0098】本例では、入力媒体にあるデータ項目名
(1014)のうち、「SIKYU−GK」については
関連チェック定義部品が存在し(図12)、かつ、該関
連定義部品の関連データ項目名(802)に記載されて
いる「SYOKUI−CD」は該プログラムの入力媒体
に対するレコード定義部品(図14(b))に含まれて
いるので、入力チェック条件表の生成が必要と判定す
る。この際、関連データ項目の入力元となる入力媒体定
義部品名を取得しておく。
【0099】関連チェック定義部品が存在しない「SI
KYU−GK」以外のデータ項目については、関連チェ
ック条件表は生成しないことを判定する。
【0100】関連チェック条件表の生成が必要と判定さ
れた場合、該関連チェック定義部品およびディクショナ
リ(201)のソフトウエア部品を参照しながら、関連
チェック条件表を展開していく。
【0101】図21を用いて関連チェック条件表の展開
方法を説明する。プログラム名(1701)、プログラ
ム記号名(1702)の出力方法については、前記プロ
グラム処理概要図と同様である。入力媒体上の記号名
(1706)およびその日本語名(1705)について
は関連チェック定義部品のデータ項目名(804)より
取得したデータ項目名と、それをもとに日本語名取得し
たものとを出力する。条件(1707)、マトリクス
(1708)については、関連チェック定義部品の条件
(805)およびマトリックス(806)より取得し、
出力する。エラーコード(1711)、エラーメッセー
ジ(1712)、およびマトリクス(1713)につい
ては、関連チェック定義部品のエラーコード(80
8)、エラーメッセージ(809)およびマトリックス
(810)より取得し、出力する。
【0102】入力媒体の定義部品名(1704)および
その日本語名(1703)については、関連チェック生
成判定時に既に取得してある、該データ項目が含まれて
いる入力媒体の定義部品名と、それに日本語名取得を行
ったものとを出力する。
【0103】出力媒体の定義部品名(1710)および
その日本語名(1709)については、チェック条件表
におけるエラーコード、エラーメッセージ出力先と全く
同様にして出力する。
【0104】次に、図22を用いて、編集条件表の展開
方法を説明する。
【0105】プログラム定義部品に定義された出力媒体
と入力媒体との全ての組合せに対して、その組合せごと
に、該出力媒体定義部品名をもとにファイル定義部品、
レコード定義部品および帳票定義部品を入力し、さらに
出力媒体で使用されているすべてのデータ項目につい
て、データ項目ごとに、ディクショナリのソフトウエア
部品を参照しながら、編集条件表を展開していく(図3
のステップ308)。
【0106】プログラム名(1803)、プログラム記
号名(1804)の出力方法については、前記プログラ
ム処理概要図と同様である。出力媒体の定義部品名(1
802)およびその日本語名(1801)、入力媒体の
定義部品名(1806)およびその日本語名(180
5)には、プログラム定義部品より取得した該出力媒体
定義部品名、該入力媒体定義部品名と、それをもとに日
本語名取得したものとをそれぞれ出力する。
【0107】出力項目の欄については、出力項目名(1
807)はデータ項目名と、それをもとに日本語名取得
したものとを出力し、属性(1808)は、該データ項
目名に対し出力媒体上で定義されている属性(912)
を取得して出力する。入力項目欄の入力項目名(181
2)および属性(1813)については、出力項目を編
集する際の情報元となる入力媒体上のデータ項目につい
て、データ項目名とそれをもとにディクショナリのソフ
トウエア部品から日本語名(703)と属性(704)
を取得し、出力する。
【0108】編集の欄には、ディクショナリの入力編集
定義部(707)および、出力編集定義部(708)に
定義されている内容をもとに、キーワード欄(180
9)、編集方法欄(1810)、および編集区分欄(1
811)に出力する。編集方法欄(1810)について
は、ディクショナリのソフトウエア部品の編集方法がキ
ーワードによって記述されているので、キーワード日本
語変換を行い出力する。編集区分欄(1811)には、
編集方法がディクショナリのソフトウエア部品の入力編
集から展開されたものである場合は「入力編集」、出力
編集から展開されたものである場合は「出力編集」と出
力する。
【0109】ここで、データ項目に対するディクショナ
リのソフトウエア部品に定義された編集方法を、キーワ
ード欄(1809)および編集方法欄(1810)へ展
開する際の判定条件について説明する。
【0110】まず、入力編集の場合の展開判定条件を示
す。該プログラムに対する入力媒体が入力画面または、
入力帳票など、ユーザから入力される媒体であること、
または、該プログラム実行中に、入力媒体中のデータを
もとに該データ項目が新しく生成されること、つまり、
該データ項目が該プログラムの入力媒体には含まれない
が出力媒体には含まれることの2点であり、どちらか1
方を満たしていれば、入力編集を展開する。
【0111】出力編集の場合の展開判定条件を示す。該
プログラムの出力媒体が出力画面または、帳票などの媒
体であり、かつ、入力媒体と出力媒体の両方に該データ
項目が含まれる場合に、出力編集を展開する。
【0112】以下、本例における編集条件表の生成例を
詳細に示す。プログラム定義部品に定義された出力媒体
と入力媒体の組は出力帳票「KYLST」(603)と
入力ファイル「KYFIL」(601)、出力帳票「K
YERR」(604)と入力ファイル「KYFIL」
(601)であるので、まず、1組目の「KYLST」
と「KYFIL」に着目する。「KYLST」をもとに
帳票定義部品(図13(a))を入力し、そこで定義さ
れているデータ項目に着目する。
【0113】データ項目名(911)の1番目に定義さ
れているデータ項目は「SIMEI−NO」であるの
で、ディクショナリのソフトウエア部品(図7)からデ
ータ項目の日本語名「氏名番号」(703)を、帳票定
義部品から属性「X(4)」(912)を取得し出力す
る。「SIMEI−NO」は入力媒体に含まれるので、
入力編集は展開しない。次にディクショナリの出力編集
定義部を参照するが、何も定義されていない。これは出
力編集時はこの該データ項目について何の加工も施さず
に出力することを示す。そこでキーワードは空白とし、
編集方法欄(1810)には「そのまま転送する」と出
力する。
【0114】データ項目名(911)の2番目に定義さ
れているデータ項目は「SIMEI」であるので、同様
にディクショナリのソフトウエア部品(図8)からデー
タ項目の日本語名「氏名」を、帳票定義部品名から属性
「N(7)」(912)を取得し出力する。次に、ディ
クショナリの入力編集定義部(707)を参照し、編集
方法のキーワード「SUB(SUB02,SIMEI−
NO)」を取得する。これは、サブルーチン呼出しのソ
フトウエア部品を示すキーワードで、「SUB02」は
サブルーチン名を、「SIMEI−NO」は、そのサブ
ルーチンに引き渡す入力パラメータであることを示して
いる。従って、「SIMEI」に対する入力項目名(1
812)が「SIMEI−NO」であることが分かる。
【0115】「SIMEI」は該プログラムの入力媒体
である「KYFIL」には含まれていないので、入力編
集の場合の展開判定条件を満たしている。従って、キー
ワード「SUB」及び、キーワード日本語変換処理を行
ったものを編集の欄(1809、1810)に、入力項
目「SIMEI−NO」とその属性を入力項目欄(18
12、1813)にそれぞれ出力する。
【0116】尚、本例ではディクショナリの出力編集定
義部に何も定義されていないため、このように入力編集
のみを展開しているが、さらに出力編集定義部にも定義
されている場合には、入力編集および出力編集の両方を
この順番に展開して出力する。
【0117】データ項目名(911)の3番目に定義さ
れているデータ項目は「NYUSYA−YMD」である
ので、ディクショナリのソフトウエア部品(図9)から
「入社年月日」を、帳票定義部品名から属性「X
(8)」(912)を取得しそれぞれ出力項目欄(18
07、1808)に出力する。次に、ディクショナリの
出力編集定義部(708)を参照し、キーワード「DA
TE」を取得する。該出力媒体は帳票であるので、出力
編集の場合の展開判定条件を満たしている。そこで、キ
ーワード欄(1809)および編集方法欄(1810)
には、キーワードと、キーワード日本語変換を行った
「YY.MM.DDの形式に変換する」とを出力し、入
力項目欄(1812、1813)には自身と同名の「N
YUSYA−YMD」と、その属性をディクショナリの
ソフトウエア部品から取得してそれぞれ出力する。
【0118】データ項目名(911)の4番目に定義さ
れたデータ項目「SYOKUI−CD」については、
「SIMEI−NO」の場合と同様に展開する。
【0119】データ項目名(911)の5番目に定義さ
れたデータ項目「SIKYU−GK」については、
「SIMEI−NO」と同様にディクショナリの入力編
集定義部にも出力編集定義部にも定義情報がないが、帳
票定義部品より取得された属性が「Z,ZZZ,ZZ
9」(912)であり、これはゼロサプレスおよびカン
マ編集を行うものであるので、この場合は編集方法欄
(1810)に「Z,ZZZ,ZZ9の形式に編集す
る」と出力する。
【0120】以下、プログラム生成の手順を説明する。
【0121】プログラム生成の手順の説明に先立ち、図
23〜図26を用いてプログラム仕様書ライブラリ(2
10)上でのプログラム仕様書の格納形式について説明
する。
【0122】図23はプログラム仕様書ライブラリ(2
10)上のプログラム処理概要図の格納形式である。こ
の形式は、業務プログラムのプログラム名(190
1)、記号名(1902)、業務プログラムで使用する
標準パターン名(1903)、入出力媒体の日本語名
(1904)、定義部品名(1905)、I/O区分
(1906)、使用区分(1907)、論理装置名(1
908)、接頭語(1909)、プログラムの処理概要
(1910)の欄により構成される。これは図18にお
けるプログラム処理概要図の出力例と全く同じデータに
より構成される。
【0123】図24はプログラム仕様書ライブラリ(2
10)上のチェック条件表の格納形式である。この形式
は、入力媒体の定義部品名(2001)、出力媒体の定
義部品名(2002)、入力項目の日本語名(200
3)、記号名(2004)、属性(2005)、チェッ
ク処理のキーワード(2006)、チェック条件(20
07)、エラーコード(2008)、エラーメッセージ
(2009)の欄により構成される。これは図20にお
けるチェック条件表の出力例と全く同じデータにより構
成される。
【0124】図25はプログラム仕様書ライブラリ(2
10)上の関連チェック条件表の格納形式である。この
形式は入出力媒体の定義部品名(2101)、入力項目
の日本語名(2102)、記号名(2103)、チェッ
ク条件のキーワード(2104)、エラーコード(21
05)、エラーメッセージ(2106)、マトリクス
(2107)の欄により構成される。これは図21にお
ける関連チェック条件表の出力例と全く同じデータによ
り構成される。
【0125】図26はプログラム仕様書ライブラリ(2
10)上の編集条件表の格納形式である。この形式は入
力媒体の定義部品名(2201)、出力媒体の定義部品
名(2202)、出力項目の日本語名(2203)、記
号名(2204)、属性(2205)、編集方法のキー
ワード(2206)、編集方法(2207)、編集区分
(2208)、入力項目の日本語名(2209)、記号
名(2210)、属性(2211)の欄により構成され
る。これは図22における編集条件表の出力例と全く同
じデータにより構成される。
【0126】次にプログラム生成の手順をフローチャー
トに基づいて説明する。
【0127】図4はプログラム生成の手順を示すフロー
チャートであり、図27〜図29は、プログラム仕様書
(図23〜図26)および、データ定義書内の定義部品
(図13〜図14)をもととしたプログラム生成機能に
よるソースプログラムの展開例である。以下、この例を
用いてプログラム生成機能の具体的手順を説明する。
【0128】生成機能は、まず生成対象の業務プログラ
ムのプログラム処理概要図(1900)から使用する標
準パターン名「CHK01」(1903)を取得し、対
応する標準パターン(1202)を標準パターンライブ
ラリ(205)から入力する(ステップ401)。
【0129】入出力部品展開(402)では該プログラ
ムのプログラム処理概要図で定義した入出力媒体名をも
とにデータ定義書(203)から入出力媒体の定義部品
を入力し、該プログラムの入出力宣言部分のソースコー
ドを生成し、これをステップ401で入力した標準パタ
ーンに合成する。
【0130】図27を用いて入出力宣言部分の展開方法
を具体的に説明する。プログラム生成機能はプログラム
処理概要図(1900)に記載された入出力媒体定義部
品名(1905)より「KYFIL」、「KYLST」
等の定義部品名を取得し、これをもとに対応するファイ
ル定義部品(1001)および帳票定義部品(901、
907)を読み込み、これらの情報から該プログラムの
入出力環境定義(2302、2303)、ファイル記述
(2304、2306)およびデータ記述(2305、
2307)を生成し、これを標準パターン(1202)
に合成する。
【0131】帳票印刷処理展開(404)は、該プログ
ラムが帳票を出力する標準パターンを使用している場合
に行い、該プログラムのプログラム処理概要図に記載さ
れている出力媒体定義部品名をもとにデータ定義書(2
03)から該当する帳票定義部品を入力し、これから帳
票編集用作業領域および帳票出力手続きを生成しステッ
プ401で入力した標準パターンに合成する。
【0132】図27を用いて帳票印刷処理展開処理(4
04)について具体的に説明する。プログラム生成機能
はプログラム処理概要図(1900)に記載された帳票
定義部品名(1905)をもとに帳票定義部品(90
1、907)を読み込み、これらの定義内容から帳票に
関する帳票編集用作業領域(2309)およびプログラ
ム実行時に使用するカウンタなどの作業領域(230
8)を生成し、これを標準パターン(1202)に合成
する。
【0133】チェック、関連チェック、編集処理展開
(405)においては、プログラム仕様書のうちのチェ
ック条件表、関連チェック条件表、編集条件表に記載さ
れているキーワードをもとに、データ項目中心の処理を
生成して、これを標準パターンのチェック処理部(12
03)、関連チェック処理部(1204)、編集処理部
(1205)にそれぞれ展開する。
【0134】図29を用いて、ソースプログラム展開方
法について編集条件表からの展開を例にとり具体的に説
明する。まず該プログラムの編集条件表(2200)を
読み込み、この編集条件表にキーワード(2206)で
定義されている編集条件をもとに該データ項目に対する
処理を生成して、これを標準パターンの編集処理部(1
205)にそれぞれ展開する。その際、データ項目の編
集に必要な作業領域についても同時に生成する。例えば
編集条件表(2200)の第3行目のキーワード「DA
TE」(2206)の場合は、領域(2310)に示す
ように、日付を年、月、日に区切るための作業領域と編
集用の作業領域とを生成する。
【0135】さらにデータ項目に対する処理を展開する
際には本例で示すようにプログラム処理概要図(190
0)で定義した接頭語(1909)をそれぞれのファイ
ル上の項目名に付加する。例えばステートメント(23
14)に示すようにデータ項目「SIKYU−GK」に
対し入力項目には「IN−」を、出力項目には「OU
−」をそれぞれ付加し、入力ファイル上の記号項目名は
「IN−SIKYU−GK」(2315)、出力ファイ
ル上の記号項目名は「OU−SIKYU−GK」(23
16)とプログラム生成時に決定している。このことに
よりデータ項目中心のソフトウエア部品を、そのデータ
項目を扱うファイルなどの入出力媒体の定義部品から独
立させている。
【0136】なお図28は、標準パターン(1202)
中の未定義のファイル記号名をファイル定義部品のファ
イル記号名(1004)によって置き換えたものであ
る。
【0137】ソースプログラム出力(406)では、以
上の処理により生成できた目的の業務プログラムをソー
スプログラムライブラリ(211)に出力する。
【0138】尚、本実施例ではバッチ処理のプログラム
の例を挙げて説明したがデータベースへのアクセスを伴
う対話処理のプログラムや、他装置上の資源やプロセス
へのアクセスを行うプログラムについても同様にして生
成が可能である。
【0139】また、本実施例では、プログラム仕様書か
らソースプログラムを生成しているが、プログラム仕様
書を介さずにディクショナリ(201)、関連チェック
定義書(202)、データ定義書(203)、プログラ
ム定義書(204)、標準機能説明ライブラリ(20
6)を入力して直接ソースプログラムを生成することも
可能であり、この方法を用いる場合も本発明の範囲に含
まれる。この場合は、プログラム仕様書生成時と同じ要
領で、対象とする業務プログラムの入出力媒体中に存在
するデータ項目をもとにデータ項目中心のソフトウエア
部品の選択を行い、標準パターンに合成する。
【0140】最後に、本実施例におけるプログラム仕様
書編集機能(212)およびソフトウエア部品逆生成機
能(208)について、これらの機能の使用例を示しな
がら、合わせて説明する。これから紹介する使用例は、
図6に示したプログラム例に対し、プログラム仕様書編
集機能(212)を用いてプログラム仕様書修正を行
い、修正後のプログラム仕様書からソフトウエア部品逆
生成機能(208)を用いてソフトウエア部品を修正す
る例である。
【0141】まず各種プログラム仕様書の修正例につい
て紹介する。図24(a)は生成直後のチェック条件表
の例であり、図24(b)は、修正後のチェック条件表
の例である。図25(a)は生成直後の関連チェック条
件表の例であり、図25(b)は、修正後の関連チェッ
ク条件表の例である。図26(a)は生成直後の編集条
件表の例であり、図26(b)は、修正後の編集条件表
の例である。
【0142】ここで、編集条件表(図26)をとりあげ
てその修正内容を詳細に紹介する。図26(b)の第3
行(2222)では、キーワードを「DATE」から空
白に、それに伴い編集方法を「YY.MM.DDの形式
に…」から「そのまま転送する」に変更した(この操作
を修正1とする)。これは、データ項目「NYUSYA
−YMD」に対しては出力編集時にはデータに何の加工
も施さないことを意味する。また図26(b)では、図
26(a)における第4行(2212)を削除した(同
修正2とする)。これは、データ項目「SYOKUI−
CD」を出力媒体から削除することを意味する。図26
(b)の第4行(2223)では、出力項目「SIKY
U−GK」の属性を「Z,ZZZ,ZZ9」から「Z,
ZZ9」に変更した。さらにキーワードを空白から「C
OMP(SIKYU−GK/1000)」に、それに伴
い編集方法を「千円単位でZ,ZZ9の形式に編集す
る」とした(同修正3とする)。これは、「SIKYU
−GK」を出力する際には1000で割った値を出力す
るという出力編集処理を新たに定義するものである。
【0143】尚、プログラム仕様書ライブラリ(21
0)中のプログラム仕様書の修正については、プログラ
ム仕様書を図23〜図26に示す通り単純な表のイメー
ジで格納するため、専用エディタを用いることなしに、
汎用の表計算用ソフトウエアや文書作成用ソフトウエア
を用いて行うこともでき、 これも本発明の範囲に含ま
れる。さらに、プログラム仕様書を生成した装置群A
(108)とは別の装置である装置群B(118)上に
転送し、装置群B上で汎用の表計算用ソフトウエアや文
書作成用ソフトウエアを用いての編集を行うことも可能
であり、これも本発明の範囲に含まれる。
【0144】次に図5を用いてソフトウエア部品逆生成
の手順について説明する。本実施例で言う逆生成とは、
修正が加えられたプログラム仕様書をもとに、これの情
報元であるソフトウエア部品を書き換え、プログラム仕
様書の修正内容を反映させることを言う。
【0145】本実施例のソフトウエア部品逆生成機能
(208)では、プログラム処理処理概要図を入力し
(501)、プログラム定義書(204)を対象として
逆生成する(502)。次にチェック条件表を入力し
(503)、ディクショナリ(201)、データ定義書
(203)を対象として逆生成を行う(504)。次に
関連チェック条件表を入力し(505)、ディクショナ
リ(201)、関連チェック定義書(202)、データ
定義書(203)を対象として逆生成を行う(50
6)。次に編集条件表を入力し(507)、ディクショ
ナリ(201)、データ定義書(203)を対象として
逆生成を行う(508)。
【0146】次に、逆生成結果について説明する。図3
0〜図36には、前述の修正後のプログラム仕様書をも
とに逆生成を行った場合に、逆生成前と逆生成後とで定
義内容に変更があったもののみを示す。図30〜図34
は逆生成後のディクショナリのソフトウエア部品の例で
あり、逆生成前の定義例は図7〜図11である。図35
は逆生成後の関連チェック定義部品の例であり、逆生成
前の定義例は図12である。図36は逆生成後のデータ
定義書のうち、「KYLST」に対する帳票定義部品の
例であり、これの逆生成前の定義例は図13(a)であ
る。
【0147】前述の、修正済みの編集条件表(図26
(b))の例に基いて、逆生成の具体的手順を説明す
る。
【0148】修正1ではキーワード(2214)を空白
に変更している。この場合逆生成機能は、まず編集区分
(2215)を参照し、これが「出力編集」であるから
記号名(2210)を参照し入力項目「NYUSYA−
YMD」(2216)を得る。それに対応するディクシ
ョナリ(201)のソフトウエア部品が逆生成の対象と
なる。逆生成後のディクショナリのソフトウエア部品
(図32)の入力編集定義部(2401)に示すよう
に、キーワードを空白に変更している。
【0149】図26(b)では、修正2によりデータ項
目「SYOKUI−CD」(2212)を出力項目から
削除した。この場合、逆生成機能は、該プログラムの出
力媒体である帳票の帳票定義部品「KYLST」(図1
3(a))から「SYOKUI−CD」を削除する。逆
生成後の帳票定義部品(図36)において、その帳票レ
イアウト定義部(2601)に示す通り、データ項目
「SYOKUI−CD」が削除されている。
【0150】修正3では修正1と同様にキーワードを変
更している。この場合も編集区分は「出力編集」(22
20)であるから記号名「SIKYU−GK」(222
1)を取得し、それに対応するディクショナリのソフト
ウエア部品(図34)の出力編集定義部が逆生成の対象
となる。修正後のキーワード(2206)は「COMP
(SIKYU−GK/1000)」(2219)である
から、「SIKYU−GK」に対するディクショナリの
ソフトウエア部品の出力編集のキーワード(2402)
を更新する。
【0151】また修正3では、さらに記号名「SIKY
U−GK」(2217)の属性(2218)を変更して
いる。この場合、出力媒体である帳票の帳票定義部品
「KYLST」(図13(a))における該データ項目
の属性を変更する。逆生成後の帳票定義部品(図36)
の帳票レイアウト定義部の(2602)に示す通りに変
更内容が反映される。
【0152】このようにソフトウエア部品逆生成機能
(208)は、プログラム仕様書生成機能(209)の
手順とは逆の手順でプログラム仕様書ライブラリ(21
0)から、修正のあったソフトウエア部品を特定し、プ
ログラム仕様書ライブラリ(210)の内容をもとにソ
フトウエア部品を更新していく。プログラム処理概要
図、チェック条件表、関連チェック条件表をもととした
場合に関しても編集条件表と同様にソフトウエア部品の
逆生成を行うことができる。
【0153】
【発明の効果】本発明は、以上に説明した処理手順を有
するので、以下に記載するような効果を有する。
【0154】ソフトウエアをデータ項目単位にそれぞれ
のデータ項目に対する単独処理をいくつかの種類に分け
てソフトウエア部品として定義し、また複数のデータ項
目間の相互関係に基づいてデータの妥当性を判定する関
連チェック処理をソフトウエア部品として定義し、これ
らデータ中心のソフトウエア部品ををデータ項目名に基
いて管理することとした。一方、これらデータ中心のソ
フトウエア部品に含まれないソフトウエア部品につい
て、ファイル、帳票の属性やレイアウトなどを定義した
ソフトウエア部品、プログラム単位の入出力媒体情報を
定義したソフトウエア部品、画面、帳票、ファイル等の
処理プログラムを制御構造の特質に着目していくつかの
種類に分け、業務個別処理をそれ自身に持たないプログ
ラムスケルトン標準パターンと呼ぶソフトウエア部品、
プログラムスケルトン標準パターン部品に沿った標準機
能説明部品と呼ぶソフトウエア部品とに分けて定義する
こととした。
【0155】以上により、ソフトウエアの部品化にあた
って部品化に際してのソフトウエアの分割方法につい
て、データ項目を中心としてソフトウエアを分割するた
めの一定の明確な基準を設けることができ、さらにこれ
らソフトウエア部品をそれぞれ特定の構造をもったファ
イルに格納することによりこの基準に合致した形式で管
理する方法を確立することができるため、ソフトウエア
の部品を標準化し、既存ソフトウエアの再利用を容易に
することが可能となり、ひいてはソフトウエアの生産性
向上を図ることができる。
【0156】さらに、上記ディクショナリ、関連チェッ
ク定義書、データ定義書、プログラム定義書、および標
準機能説明ライブラリから、対象とする業務プログラム
の入出力媒体中のデータ項目をもとにソフトウエア部品
を選択し、いくつかの種類の仕様書から構成されるプロ
グラム仕様書を自動生成し、プログラム仕様書をもと
に、プログラムスケルトン標準パターン部品と、ディク
ショナリ中のソフトウエア部品および関連チェック定義
書中のソフトウエア部品とを選択して合成することによ
りソースプログラムを自動生成する方式とした。
【0157】したがって、設計者あるいはプログラマが
業務プログラムとソフトウエア部品との対応づけを行う
ことなくソースプログラムを自動生成することができ、
また、プログラム仕様書作成作業を自動化し、かつソフ
トウエア部品の設計工程からプログラム設計工程への設
計情報の自動継承を実現することが可能となる。このこ
とにより、ソフトウエアの生産性および信頼性を向上で
きる。
【0158】これに加え、上記のようなソフトウエアの
部品化をさらに厳格な標準化基準のもとで達成するため
に、本発明では、ディクショナリにおけるデータ項目に
対する単独処理をチェック、入力編集、出力編集の3種
類に分けることにした。このことによりディクショナリ
に格納するソフトウエア部品の構造をさらに限定するこ
とが可能となり、ソフトウエア部品の生産性および信頼
性が向上し、したがって再利用も容易となる。
【0159】また本発明では、生成されたプログラム仕
様書に対する変更、追加、削除などの修正を可能とし、
さらにここで修正されたプログラム仕様書をもとに、ソ
ースプログラムを自動生成することとした。
【0160】このことにより、生成対象のプログラムが
例外処理を含むなどなんらかの理由によって、プログラ
ム仕様書にあらかじめ用意したソフトウエア部品とは、
異なる仕様を記述したときにも、これをソースプログラ
ム生成に反映させることが可能となり、ソフトウエアの
生産性向上および信頼性向上を図ることができる。
【0161】また本発明では、修正されたプログラム仕
様書から自動的にディクショナリ、関連チェック定義
書、データ定義書、およびプログラム定義書に格納され
たソフトウエア部品の定義内容を修正することを可能と
した。このため、仕様変更などにともなうソフトウエア
部品の修正作業を自動化でき、ソフトウエア部品の信頼
性向上とともにソフトウエアの生産性も向上を図ること
ができる。
【0162】さらに本発明では、生成されたプログラム
仕様書に対して、プログラム仕様書を生成した装置とは
違う装置上で、汎用のソフトウエアを用いてプログラム
仕様書の修正を行うことを可能とした。このことによ
り、本発明におけるソフトウエア開発支援ツールを使用
するための設備投資の低減を図るとともに、ソフトウエ
ア開発者に対し、特定の装置の運用条件に制限されない
でで、かつツール固有の操作方法を修得しなくてもすで
に慣れ親しんだ汎用のソフトウエアを用いてソフトウエ
ア開発が行える作業環境を提供することが可能となり、
ひいてはソフトウエアの生産性を向上させることができ
る。
【図面の簡単な説明】
【図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】逆生成後におけるディクショナリの定義例を
示す図である。
【図34】逆生成後におけるディクショナリの定義例を
示す図である。
【図35】逆生成後における関連チェック定義部品の定
義例を示す図である。
【図36】逆生成後における帳票定義部品の定義例を示
す図である。
【符号の説明】
201…ディクショナリ、202…関連チェック定義
書、203…データ定義書、204…プログラム定義
書、205…標準パターンライブラリ、206…標準機
能説明ライブラリ、207…プログラム仕様書生成機
能、208…ソフトウエア部品逆生成機能、209…プ
ログラム生成機能、210…プログラム仕様書ライブラ
リ、211…ソースプログラムライブラリ、212…プ
ログラム仕様書編集機能、213…プログラム仕様書、
701…データ項目定義部、702…データ項目名、7
03…日本語名、704…属性、705…コメント、7
06…チェック処理定義部、707…入力編集定義部、
708…出力編集定義部、709…チェック条件、71
0…エラーコード、711…エラーメッセージ、802
…関連データ項目名、803…条件定義部、807…エ
ラー処理定義部、901…帳票属性定義部、902…帳
票定義部品名、903…帳票名、904…帳票記号名、
907…帳票レイアウト定義部、1001…ファイル属
性定義部、1002…ファイル定義部品名、1003…
ファイル名、1004…ファイル記号名、1005…レ
コード定義部品名、1009…レコード属性定義部、1
010…レコード定義部品名、1011…レコード名、
1012…レコードレイアウト定義部、1101…プロ
グラム属性定義部、1102…記号名、1103…プロ
グラム名、1104…標準パターン名、1105…処理
概要、1106…入出力媒体定義部、1107…定義部
品名、1108…入出力(I/O)区分、1109…使
用区分、1110…論理装置名、1111…接頭語、1
201…標準パターン名、1202…標準パターン、1
203…チェック処理部、1204…関連チェック処理
部、1205…編集処理部、1301…標準機能説明部
品名、1302…標準機能説明部品
───────────────────────────────────────────────────── フロントページの続き (72)発明者 西岡 ちはる 神奈川県川崎市幸区鹿島田890番地の12 株式会社日立製作所情報システム開発本 部内 (72)発明者 橋本 直樹 神奈川県川崎市幸区鹿島田890番地の12 株式会社日立製作所情報システム開発本 部内 (72)発明者 中川 保 神奈川県川崎市幸区鹿島田890番地の12 株式会社日立製作所情報システム開発本 部内 (56)参考文献 大野治,森岡洋介,降旗由香里,”E AGLE/Pディクショナリを用いたプ ログラムジェネレータの開発と適用効 果”,情報処理学会研究報告(91−SE −80),Vol.91,No.66,(1991 /7/19),pp.51−58 上野哲,”ソフトの生産形態を革新す るデータ中心アプローチ”,日経コンピ ュータ,No.223,(1990/4/9), pp.75−86 藤井隆晴,楢府担,今津幸雄,”アプ リケーション開発支援ツールとディクシ ョナリシステム”,FUJITSU,V ol.41,No.5(1990/9/10), pp.403−412 (58)調査した分野(Int.Cl.7,DB名) G06F 9/06

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】業務プログラムの入出力となるファイル、
    帳票、画面の属性およびレイアウトを定義して格納した
    データ定義書とよぶ第1のファイルと、プログラム単位
    に入出力媒体の情報を定義して格納したプログラム定義
    書とよぶ第2のファイルと、画面、帳票、ファイル等の
    処理プログラムを制御構造の特質に着目していくつかの
    種類に分け、業務個別処理をそれ自身に持たないプログ
    ラムスケルトン標準パターンとして部品化して格納した
    標準パターンライブラリとよぶ第3のファイルと、上記
    業務プログラムを生成するプログラム生成手段とを備え
    たプログラム自動生成システムにおいて、 データ項目単位に、それぞれのデータ項目に対する単独
    処理をソフトウエア部品として定義してディクショナリ
    とよぶ第4のファイルに格納する手段と、プログラムス
    ケルトン標準パターン部品に沿った標準機能説明部品を
    標準機能説明ライブラリとよぶ第5のファイルに格納す
    る手段と、 前記第1、第2第4および第5のファイルから、対象
    とする業務プログラムの入出力媒体中のデータ項目名を
    もとにソフトウエア部品を選択し、チェック条件表と編
    集条件表を含むプログラム仕様書を生成するプログラム
    仕様書生成手段とを有し、かつ前記プログラム生成手段
    は前記プログラム仕様書をもとに、上記第3のファイル
    中のプログラムスケルトン標準パターンと、前記ディク
    ショナリ中のソフトウエア部品を選択して合成すること
    によりソースプログラムを合成することを特徴とするデ
    ータ中心型ソフトウエア部品によるプログラム自動生成
    システム
  2. 【請求項2】上記ディクショナリは、各データ項目に対
    する単独処理を、入力されるデータのデータ形式および
    妥当性をチェックするチェック処理と、入力されるデー
    タをデータベースもしくはファイルに格納する形式に変
    換する入力編集処理と、データベースもしくはファイル
    上のデータを出力形式に変換する出力編集処理との3種
    類のソフトウエア部品として定義したものであることを
    特徴とする請求項1に記載のデータ中心型ソフトウエア
    部品によるプログラム自動生成システム
  3. 【請求項3】前記プログラム生成手段は、前記プログラ
    ム仕様書生成手段により生成されたプログラム仕様書に
    修正が加えられたとき、修正されたプログラム仕様書を
    もとにソースプログラムを生成することを特徴とする請
    求項1に記載のデータ中心型ソフトウエア部品によるプ
    ログラム自動生成システム
  4. 【請求項4】請求項1に記載のプログラム自動生成シス
    テムにおいて、前記プログラム仕様書生成手段により生
    成されたプログラム仕様書に修正が加えられたとき、修
    正されたプログラム仕様書をもとに前記ディクショナ
    リ、データ定義書、およびプログラム定義書に格納され
    たソフトウエア部品の定義内容を修正する手段を有する
    ことを特徴とするデータ中心型ソフトウエア部品による
    プログラム自動生成システム
  5. 【請求項5】前記ディクショナリ、前記データ定義書、
    前記プログラム定義書はそれぞれ表形式で格納されるこ
    とを特徴とする請求項1に記載のデータ中心型ソフトウ
    エア部品によるプログラム自動生成システム
JP27071391A 1991-10-18 1991-10-18 データ中心型ソフトウエア部品によるプログラム自動生成システム Expired - Lifetime JP3186117B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27071391A JP3186117B2 (ja) 1991-10-18 1991-10-18 データ中心型ソフトウエア部品によるプログラム自動生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27071391A JP3186117B2 (ja) 1991-10-18 1991-10-18 データ中心型ソフトウエア部品によるプログラム自動生成システム

Publications (2)

Publication Number Publication Date
JPH05108319A JPH05108319A (ja) 1993-04-30
JP3186117B2 true JP3186117B2 (ja) 2001-07-11

Family

ID=17489930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27071391A Expired - Lifetime JP3186117B2 (ja) 1991-10-18 1991-10-18 データ中心型ソフトウエア部品によるプログラム自動生成システム

Country Status (1)

Country Link
JP (1) JP3186117B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021044578A1 (ja) * 2019-09-05 2021-03-11 三菱電機株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2235924C (en) * 1995-10-30 2001-11-13 Fumio Negoro Software production method, processor and recording medium
US6532586B1 (en) * 1995-10-30 2003-03-11 Information System Development Institute Software producing method, processor, processing method and recording medium
JP3133343B2 (ja) * 1996-10-30 2001-02-05 株式会社アイエスデー研究所 ソフトウェアの生産方法、処理装置、処理方法及び記録媒体
JP3472454B2 (ja) * 1997-09-26 2003-12-02 富士通株式会社 業務プログラム作成支援装置及びプログラム記憶媒体
JP3339408B2 (ja) * 1998-04-13 2002-10-28 日本電気株式会社 データ変換装置およびデータ変換装置のデータ変換方法
KR100400360B1 (ko) * 2000-09-06 2003-10-04 삼성에스디에스 주식회사 프로그램 산출물 자동 생성 시스템 및 그 방법
JP2004334464A (ja) * 2003-05-07 2004-11-25 Business Brain Showa Ota Inc ユーザインタフェース対応プログラム生成装置、およびユーザインタフェース対応プログラム生成方法、並びにコンピュータ・プログラム
JP4530012B2 (ja) * 2007-09-18 2010-08-25 富士ゼロックス株式会社 画像処理装置及びプログラム
JP4625868B2 (ja) * 2009-02-06 2011-02-02 株式会社東芝 仕様管理装置及び仕様管理プログラム
JP5991079B2 (ja) * 2012-08-28 2016-09-14 沖電気工業株式会社 データチェック装置及びプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
上野哲,"ソフトの生産形態を革新するデータ中心アプローチ",日経コンピュータ,No.223,(1990/4/9),pp.75−86
大野治,森岡洋介,降旗由香里,"EAGLE/Pディクショナリを用いたプログラムジェネレータの開発と適用効果",情報処理学会研究報告(91−SE−80),Vol.91,No.66,(1991/7/19),pp.51−58
藤井隆晴,楢府担,今津幸雄,"アプリケーション開発支援ツールとディクショナリシステム",FUJITSU,Vol.41,No.5(1990/9/10),pp.403−412

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021044578A1 (ja) * 2019-09-05 2021-03-11 三菱電機株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Also Published As

Publication number Publication date
JPH05108319A (ja) 1993-04-30

Similar Documents

Publication Publication Date Title
US9886245B2 (en) Software development tool using a workflow pattern that describes software applications
US8387014B2 (en) Synchronization of concurrently modified interdependent semi-derived artifacts
US20190220504A1 (en) Method and system for editing text with a find and replace function leveraging derivations of the find and replace input
US5495567A (en) Automatic interface layout generator for database systems
US6243835B1 (en) Test specification generation system and storage medium storing a test specification generation program
Schürr Introduction to PROGRESS, an attribute graph grammar based specification language
JP2008506162A (ja) オブジェクト・プロセス・グラフ・システム
US6698010B1 (en) System, method and computer program product for automatic generation of data processing program
JP3186117B2 (ja) データ中心型ソフトウエア部品によるプログラム自動生成システム
JPH10254689A (ja) クライアント・サーバシステムのアプリケーション構成設計支援方式
JP3227066B2 (ja) プログラム部品を用いたプログラム生成方法
CN111367893A (zh) 数据库版本迭代的方法及装置
JP3577400B2 (ja) システム設計装置及びデータウエアハウス設計システム
US20050262485A1 (en) Duplicate merge avoidance in parallel development of interdependent semi-derived artifacts
US6333999B1 (en) Systematic enumerating of strings using patterns and rules
CN116755669A (zh) 一种基于dsl语言操作模型的低代码开发方法和工具
US9098263B2 (en) Database application assembly and preparation
US6032149A (en) Vehicle electrical schematic management system
JP3345522B2 (ja) データ項目部品を利用するプログラム開発支援装置
JPH04172529A (ja) データ中心型ソフトウエア部品によるプログラム自動生成方式
KR100656559B1 (ko) Bibd 방법론을 이용하는 프로그램 자동 개발 장치
JP3050467B2 (ja) データ項目辞書生成方法
JP3446472B2 (ja) オブジェクトモデル生成方法及びその装置
JPH01147621A (ja) プログラム自動生成方法
JP3069050B2 (ja) プログラム変換方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080511

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090511

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 11