Nothing Special   »   [go: up one dir, main page]

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

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

Info

Publication number
JPH04172529A
JPH04172529A JP29969790A JP29969790A JPH04172529A JP H04172529 A JPH04172529 A JP H04172529A JP 29969790 A JP29969790 A JP 29969790A JP 29969790 A JP29969790 A JP 29969790A JP H04172529 A JPH04172529 A JP H04172529A
Authority
JP
Japan
Prior art keywords
program
software
data
input
data item
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
JP29969790A
Other languages
English (en)
Inventor
Yosuke Morioka
森岡 洋介
Osamu Ono
大野 治
Naoki Hashimoto
直樹 橋本
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 JP29969790A priority Critical patent/JPH04172529A/ja
Publication of JPH04172529A publication Critical patent/JPH04172529A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ソフトウェアの生産性向上に係り。
特に既存ソフトウェアを部品化し、これらの部品からプ
ログラムを自動生成することにより新規ソフトウェア開
発を効率化するのに好適なソフトウェア開発支援方法に
関する。
〔従来の技術〕
ソフトウェア生産性を向上するための有力な方法のとひ
つに既存のソフトウェアを再利用して新規ソフトウェア
を開発する方法がある。
この既存のソフトウェアを再利用して新規ソフトウェア
を開発する場合、業務システムレベルや、プログラムレ
ベルで再利用を行い、プログラマが既存ソフトウェアの
仕様書やソースコードを解析し、変更を行うのが一般的
である。
しかし、同種業務のソフトウェアにおいてもその要求仕
様は利用者によってまちまちであり、上記のような再利
用の方法では、仕様書やソースコードからだけでは変更
箇所を特定することが難しい、ひとつのソフトウェアに
対し複数利用者の要求仕様の相違に伴う変更が加わって
いくためソフトウェア保守性が劣化するなどの欠点があ
った。
このような欠点のために、同種業務のソフトウェアの開
発においてさえ、既存ソフトウェアの再利用を断念し、
全く新規にソフトウェアを開発することが多く、生産性
向上を妨げていた。
この問題を解決するひとつの方法として、ソフトウェア
をその機能に着目して細分化することにより部品化して
おき、この部品とプログラムとの対応づけを定義するこ
とにより新たなプログラムを自動生成する方法がある。
この方法によりソフトウェアを小規模な部品群に分割し
、新規ソフトウェアを開発する際に、既存ソフトウェア
を部品レベルで再利用することが可能となり、ソフトウ
ェアの適用業務の違いや、要求仕様の違し1に対して部
品の取捨選択、修正、追加により対応することができる
ようになった。
なおこの種の技術として関連するものには、例えば第3
0回(昭和60年後期)情報処理全国大会講演論文集(
I) p459〜460 rEAGLEl:おけるプロ
グラム部品合成実現方式j等がある。
〔発明が解決しようとする課題〕
前記の従来技術はソフトウェアを部品化し、それを合成
することによりプログラムを自動生成するものであり、
ソフトウェアの生産性向上、信頼性向上のために有力な
技術である。
しかし、前記の従来技術ではソフトウェアの部品化を機
能の細分化によって行っているため部品化を行う際に、
どのような観点で機能を細分化するか、どのレベルまで
を一つの部品にするかなどについて明確な基準を設ける
ことが難しく、部品の設計者によりソフトウェアの分割
方法がまちまちであった。
また、目的の業務プログラムと部品との対応づけをプロ
グラム1本1本について、設計者あるいはプログラマが
定義しなければならないため、生産性向上および信頼性
向上が十分に図れなかった。
本発明の第1の目的は、ソフトウェアの部品化゛にあた
って設計者の個性や適用業務の特質に依存しない一定の
基準を設け、さらに部品をこの基準に合致した形式で管
理する方法を確立することにより、ソフトウェアの部品
をIll!4!I化し、既存ソフトウェアの再利用を容
易にし、ひいてはソフトウェアの生産性向上および信頼
性向上を図ることにある。
本発明の第2の目的は、業務プログラムと部品との対応
づけを設計者あるいはプログラマが定義することなしに
目的の業務プログラムを自動生成することを可能とし、
ひいてはソフトウェアの生産性向上および信頼性向上を
図ることにある。
〔課題を解決するための手段〕
上記の第1の目的を達成するため1本発明のデータ中心
型ソフトウェア部品によるプログラム自動生成方式では
、ソフトウェア部品をデータ項目単位に、さらに各デー
タ項目に対する処理を予めいくつかの種類に分けて定義
しておきこれをディクショナリとよぶ専用の構造を持つ
ファイルに格納して管理することを特徴とする。
また、データ項目単位の処理に含まれない1画面、帳票
、ファイル等の処理プログラムの制御部分を、その制御
構造の特質に着目していくつかの種類に分け、業務個別
処理をそれ自身に持たない標準パターンとして部品化す
ることを特徴とする。
上記の第2の目的を達成するため、本発明のデータ中心
型ソフトウェア部品によるプログラム自動生成方式では
、生成対象の業務プログラムと上記のデータ項目単位の
部品との対応を定義することなく、該プログラムの入出
力媒体中に存在するデータ項目の名称を基に、使用すべ
き部品を選択しこれを標準パターンと合成することによ
り該プログラムを自動生成することを特徴とする。
〔作用〕
第1の目的を達成するため1本発明はソフトウェア部品
をデータ項目単位に定義することに定め、その部品の中
にデータ項目に対する処理をいくつかの種類に分けて定
義する。またプログラム制御部分を標準パターンとして
部品化し、データ項目単位の部品と完全に分離する。こ
のことにより、ソフトウェアの部品の標準化が可能とな
り、既存ソフトウェアの再利用を容易にでき、ひいては
ソフトウェアの生産性向上および信頼性向上を図ること
ができる。
第2の目的を達成するため、本発明は生成対象の業務プ
ログラムとデータ項目単位の部品との対応づけをプログ
ラム自動生成ツールで行うようにする。このことにより
、設計者あるいはプログラマがこ・れらの対応を定義す
ること必要がなくなり、ソフトウェアの生産性向上およ
び信頼性向上を図ることができる。
〔実施例〕
以下、本発明の実施例を図を用いて詳細に説明する。
第1図は本発明の実施例を実現するためのシステムの機
能構成図であり、第2図は本発明を実現する計算機の機
器構成であり、第3図はディクショナリの定義例であり
、第4図はプログラム生成の処理手順を示すフローチャ
ニドである。
まず、第1図および第2図を用いて実施例におけるディ
クショナリ作惑手順およびプログラム生成手順について
説明する。
本実施例では入力装置205および表示装M2O4を用
いて、ディクショナリ専用エディタ102によりデータ
項目単位の部品を外部記憶装置206上のディクショナ
リに登録したり、修正したりする。
ここでデータ項目とは氏名、生年月日などといった業務
上意味を持つ最小単位のデータを指す。プログラム生成
ツール107は、同じく外部記憶装置206上にあるプ
ログラム仕様書ライブラリ104゜データ仕様書ライブ
ラリ105.標準パターンライブラリ106およびディ
クショナリ101を入力し、生成対象プログラムを生成
して外部記憶装置206上のソースライブラリ108に
出力する。
尚、ここでプログラム仕様書ライブラリ104は各プロ
グラムで使用する標準パターン名および入呂カフアイル
名、画面名、帳票名を定義しているライブラリであり、
データ仕様書ライブラリ105は各ファイル、画面、帳
票に関する定義情報を格納しているライブラリである。
。 つづいて第3図にもとづき本実施例においてソフトウェ
ア部品をデータ項目単位に管理するディクショナリ10
1の構造について説明する。
ディクショナリ101中にはデータ項目名称に関する定
義、チェック条件、入力編集、出力編集の定義を格納す
る。ここでチェック条件、入力編集、および出力編集に
ついて説明する6第5図はデータ項目「年月日」に対す
るチェック条件、入力編集、出力編集を示したものであ
る。
入力帳票502や入力画面503からの入力データ「H
2O1,05,03J N501)に対しデータの形式
が正しいかまた実際に存在する年月日であるかなどをチ
ェックする。このチェックの際にエラーでない条件を定
義するのがチェック条件である。
チェックを行ったデータはデータベース506やファイ
ル507に格納する。本例では和暦で入力された年月日
を西暦に変換して格納を行っているが、このように外部
からの入力データ501をデータベース506やファイ
ル507に格納する形式508に変換する処理が入力編
集である。
つぎに出力編集はデータベース506やファイル507
のデータを出力帳票510や出力画面511に出力する
形式512に変換する処理のことである。
本例では格納形式508の「年月日」を西暦から和暦に
変換し、更に元号を日本語に編集している。
再び第3図に戻って、本例ではデータ項目「年月日Jに
対する定義および「在庫量」に対する定義を示している
。301は「年月日」の記号項目名がrNENGAPI
Jであることを示畝303はデータの形式が英数字6桁
であることを定義し、304は「年月日」をチェックす
る際にはサブルーチンrPROGAJ を呼びだすこと
を示し、305は入力編集時、にはサブルーチンrPR
OGBJを呼びだすことを示し、同様に306は出力編
集時にrPROGcJを呼びだすことを定義している。
これを第5図と比較するとステップ504で行う「年月
日」の形式チェックおよび実在日チェックをrPROG
AJの呼出しにより行い、ステップ505で行う和暦か
ら西暦の格納形式への変換をrPROGBJの呼出しに
より行い、ステップ509で行う西暦から和暦への変換
や日本語変換をrPROGcJの呼出しにより行うこと
を定義している。
もう一方の「在庫量」の定義では307は「在庫量」の
記号項目名がrZAIKOJであることを示し、309
は在庫量のデータ形式が数字10桁であることを示して
いる。310でrNUMERICJと記述しているのは
入力データが数字であることがチェック条件であること
を示している。
312は入力データを1000倍した結果をデータベー
ス506またはファイル507に格納することを定義し
ている。また、313は「在庫量」をデータベース50
6またはファイル507から出力帳票や出力画面に表示
する際には1000で割った結果を出力することを定義
している。
第4図はプログラム生成ツールにおけるプログラム生成
処理手順を示したものである。
生成ツールはまず生成対象の業務プログラムで使用する
標準パターンを標準パターンライブラリ106から入力
する(ステップ401) 。
尚、プログラム生成時にどの標準パターンを使用するか
はプログラム仕様書であらかじめ定義しておく。
第6図に標準パターンの例を示す0本例はファイルのチ
ェックを行う処理の標準パターンでありこのパターンは
入力ファイルを読み込んで入力ファイル上のデータのチ
ェックを行い、エラーのないデータを呂カフアイルに書
き出す処理を行うプログラムを生成する場合に使用する
。第6図の601が標準パターンであり、入出カフアイ
ルのオープン処理、クローズ処理および入力ファイルが
終わるまで入力ファイルの読み込みと出力ファイルの書
き出しを繰り返すなどファイルのチェックを行うプログ
ラムに共通した制御部分のみからなるプログラムスケル
トンである。
そしてチェック処理602や入力編集処理603がプロ
グラム個別の業務処理であり5これらは標準パターンに
は含まず、プログラム生成ツールがディクショナリ10
1を用いて生成する部分である。
入出力部品展開(ステップ402)では該プログラムの
プログラム仕様書で定義した入出カフアイルの名称をも
とにデータ仕様書ライブラリ105からの該ファイルの
定義情報入力を行い、該プログラムの入出力宣言部分の
ソースコードを生成し。
これとステップ401で入力した標準パターンとを合成
する。
第7図に標準パターン701に対する入出力部品の展開
方法を示す、プログラム生成ツールはプログラム仕様書
705で定義したファイル仕様名をもとにファイル仕様
書706を読み込み−またファイル仕様書706中のレ
コード仕様名をもとにレコード仕様書707を読み込み
、これらの情報から該プログラムの入出力環境定義70
2.ファイル記述703およびデータ記述704を生成
し、これと標準パターン701とを合成する。
帳票印刷処理展開(ステップ404)は、該プログラム
がバッチ帳票を出力する標準パターンを使用している場
合に行い、該プログラムのプログラム仕様書で定義した
出力帳票の名称をもとにデータ仕様書ライブラリ105
から該当する帳票定義情報を取り出し、これから帳票編
集用作業領域および帳票畠力手続きを生成し、ステップ
401で入力した標準パターンと合成する。
第8図は標準パターン801に対する帳票印刷処理展開
(ステップ404)について図示したものである。プロ
グラム生成ツールはプログラム仕様書808で定義した
帳票仕様書809を読み込み、これらの定義内容から該
帳票に関する入出力環境定義802.ファイル記述項8
03およびデータ記述項804を生成し、また帳票編集
用作業領域805〜806およびプログラム実行時に使
用するカウンタなどの作業領域807を生成し、これと
標準パターン801とを合成する。
チェック・編集処理展開(ステップ405)において、
ディクショナリ101に登録したデータ項目単位の部品
を入力し、該データ項目に対する処理を生成して、これ
と標準パターンとを合成する。この時該プログラムにど
の部品のどの処理を、標準パターンのどこに展開するか
は、第9図に示すようにして行う。第9図で9Ofは1
11!4!パターンである。また902はチェック処理
、903は入力編集処理である。プログラム仕様書90
4で定義している入キカファイルのファイル仕様書90
5〜906を参照し、さらにこの中のレコード仕様名も
とにレコード仕様書907〜908を参照する。レコー
ド仕様書上にあるデータ項目が該プログラムで処理する
データ項目である1本例ではrZAIKOJ(在庫量)
が入力ファイルに存在するためデータ項目「在庫量」に
対応する部品をディクショナリ101から読み込んでこ
れと標準パターンとを合成する。一方本例では該プログ
ラムで使用する標準パターンは「CHECKOol」と
いう第5図の場合と同じ標準パターンを使用している0
本パターンではチェック処理rERR−CHECK−P
ROCJ902および入力編集処理rINPUT−DA
TA−E D I T−PROCJ 903を持ってい
る。これよりプログラム生成ツールは「在庫量」の部品
で定義したチェック条件310からチェック処理を、入
力編集312から入力編集処理を生成する。
さらにデータ項目に対する処理を展開する際には本例で
示すようにプログラム仕様書904で定義した接頭語を
それぞれのファイル上の項目名に付加する。第9図では
データ項目rZAIKOJ(在庫量)に対し入力ファイ
ル上の記号項目名はrIN−ZAIKOJ出カフアイル
上の記号項目名はrDATA−ZA工KO」とプログラ
ム生成時に決定している。このことによりデータ項目「
在庫量」に対する部品をそれが格納されるファイルから
独立させている。
第4図に示すソースプログラム出力406では、以上の
処理により生成できた目的の業務プログラムをソースラ
イブラリに出力する。
尚1本実施例ではバッチ処理のプログラムの例を挙げて
説明したがオンライン処理のプログラムについても同様
に生成が可能である。
〔発明の効果〕
本発明は1以上に説明した処理手順を有するので、以下
に記載するような効果を有する。
ソフトウェア部品をデータ項目単位に定義することに定
め、その部品の中にデータ項目に対する処理をいくつか
の種類に分けて定義し、これらを格納するディクショナ
リを開発したこと、またプログラム制御部分を標準パタ
ーンとして部品化し、データ項目単位の部品と完全に分
離したことにより、ソフトウェアの部品の標準化が可能
となり、既存ソフトウェアの再利用を容易にでき、ひい
てはソフトウェアの生産性向上および信頼性向上を図る
ことができる。
また、生成対象の業務プログラムとデータ項目単位の部
品との対応づけをプログラム生成ツールが行うようにし
たため、設計者あるいはプログラマがこれらの対応を定
義すること8栗がなくなったことによりソフトウェアの
生産性向上および信頼性向上を図ることができる。
【図面の簡単な説明】
第1図は本発明の実施例を示すシステムの機能構成図、
第2図は本発明を実現するハードウェア構成図、第3図
はディクショナリの定義例を示す図、第4図はプログラ
ム生成の処理手順を示すフローチャート、第5図はディ
クショナリ中のデータ項目に対するチェック条件、入力
編集および出力編集処理の例を説明する図、第6図は標
準パターンの例を示す図、第7図は入出力部品の展開方
法を示す図、第8図は帳票印刷処理の展開方法を示す図
、第9図は標準パターンに対してデータ項目部品の展開
方法を示す図である。 101・・−ディクショナリ、 104・・・プログラム仕様書ライブラリ、105・・
・データ仕様書ライブラリ。 106・・・標準パターンライブラリ。 107・・・プログラム生成ツール。 108・・・ソースライブラリ、601・・・標準パタ
ーン、602・・・チェック処理、603・・・入力編
集処理、70−1・・・標準パターン、702・・・入
出力環境定義、703・・・ファイル記述項、704・
・・データ記述項、705・・・プログラム仕様書57
06・・・ファイル仕様書、707・・・レコード仕様
書、 801・・・標準パターン、802・・・入出力
環境定義、 803・ファイル記述項、804・・・デ
ータ記述項、 808・・・プログラム仕様書、809・・・帳票仕様
書、901・・・標準パターン、  902・・・チェ
ック処理、903・・・入力編集処理、 904・・・プログラム仕様書、905・・ファイル仕
様書、906・・・ファイル仕様書、907・・・レコ
ード仕様書、908・・・レコード仕様書。 纂 I Z 嶌 2 図゛ 集 3 図 10/ 0I 嵩+図 第 5 図 嶌 6 図

Claims (1)

  1. 【特許請求の範囲】 1、ソフトウェアをデータ項目単位にそれぞれのデータ
    項目に対する処理をいくつかの種類に分けて定義し、デ
    ィクショナリとよぶ専用の構造を持つファイルに格納す
    る手段と、画面、帳票、ファイル等を処理するプログラ
    ムを制御構造の特質に着目していくつかの種類に分け、
    業務個別処理をそれ自身に持たない標準パターンとして
    部品化する手段と、データ項目単位の部品を業務プログ
    ラムの入出力媒体中のデータ項目名をもとに選択し、こ
    れを前記標準パターンと合成することにより業務プログ
    ラムを自動生成する手段とを有することを特徴とするデ
    ータ中心型ソフトウェア部品によるプログラム自動生成
    方式。 2、請求項1のデータ中心型ソフトウェア部品によるプ
    ログラム自動生成方式において、前記データ項目に対す
    る処理をチェック、入力編集、出力編集の3種類に分け
    ることを特徴とするデータ中心型ソフトウェア部品によ
    るプログラム自動生成方式。
JP29969790A 1990-11-07 1990-11-07 データ中心型ソフトウエア部品によるプログラム自動生成方式 Pending JPH04172529A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29969790A JPH04172529A (ja) 1990-11-07 1990-11-07 データ中心型ソフトウエア部品によるプログラム自動生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29969790A JPH04172529A (ja) 1990-11-07 1990-11-07 データ中心型ソフトウエア部品によるプログラム自動生成方式

Publications (1)

Publication Number Publication Date
JPH04172529A true JPH04172529A (ja) 1992-06-19

Family

ID=17875876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29969790A Pending JPH04172529A (ja) 1990-11-07 1990-11-07 データ中心型ソフトウエア部品によるプログラム自動生成方式

Country Status (1)

Country Link
JP (1) JPH04172529A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0560619A2 (en) * 1992-03-13 1993-09-15 Hitachi, Ltd. Method and apparatus for designing computer programs for business
JPH07121358A (ja) * 1993-10-26 1995-05-12 Nec Corp プログラムカストマイズ装置
WO1996002033A1 (fr) * 1994-07-12 1996-01-25 Jr East Japan Information Systems Co., Ltd. Procede d'ecriture d'un programme pour une entreprise specifique
KR20000052992A (ko) * 1996-10-30 2000-08-25 네고로후미오 소프트웨어의 생산방법, 처리장치, 처리방법 및 기록매체

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0560619A2 (en) * 1992-03-13 1993-09-15 Hitachi, Ltd. Method and apparatus for designing computer programs for business
EP0560619A3 (ja) * 1992-03-13 1995-04-05 Hitachi Ltd
US5414847A (en) * 1992-03-13 1995-05-09 Hitachi, Ltd. Design method and apparatus of computer program for business processing
US5729747A (en) * 1992-03-13 1998-03-17 Hitachi, Ltd. Design method and apparatus of computer program for business processing
JPH07121358A (ja) * 1993-10-26 1995-05-12 Nec Corp プログラムカストマイズ装置
WO1996002033A1 (fr) * 1994-07-12 1996-01-25 Jr East Japan Information Systems Co., Ltd. Procede d'ecriture d'un programme pour une entreprise specifique
US5809304A (en) * 1994-07-12 1998-09-15 Jr East Japan Information Systems Co., Inc. Method of designing application-oriented program
KR20000052992A (ko) * 1996-10-30 2000-08-25 네고로후미오 소프트웨어의 생산방법, 처리장치, 처리방법 및 기록매체

Similar Documents

Publication Publication Date Title
JP3259928B2 (ja) 業務仕様ハンドリング装置
US5930806A (en) Method and system for data migration from network database to relational database
US5414847A (en) Design method and apparatus of computer program for business processing
CN110543303B (zh) 一种可视化业务平台
US6698010B1 (en) System, method and computer program product for automatic generation of data processing program
JP3186117B2 (ja) データ中心型ソフトウエア部品によるプログラム自動生成システム
JPH04172529A (ja) データ中心型ソフトウエア部品によるプログラム自動生成方式
US6032149A (en) Vehicle electrical schematic management system
JPH1097417A (ja) プログラム組立装置及び記憶媒体
US6453318B1 (en) Control apparatus of structured information and method of controlling the information
JPH06110733A (ja) プログラムのテストケース生成装置
JP3345522B2 (ja) データ項目部品を利用するプログラム開発支援装置
US8839097B2 (en) System and method for information encapsulation for providing multiple deliverable formats from one information source
JPH09204301A (ja) プログラム生成システム
JP3830579B2 (ja) 情報解析・編集システム
JP3050467B2 (ja) データ項目辞書生成方法
Harandi et al. Software design using reusable algorithm abstractions
JP2004110102A (ja) プロジェクト管理方法および工程定義装置
JPH03202920A (ja) ユーザ資産の互換性の判定方法
EP0726517A1 (en) A computer aided program generating system
JP2005043931A (ja) プログラム自動生成システム及びプログラム自動生成方法
Victorova et al. Metamodel-Driven Design of Microservice Architecture Applications
JPH03241440A (ja) ダンプ・レイアウト・ファイルの自動生成方式
JP3324831B2 (ja) Cad装置
CN118550635A (zh) 数据处理方法、装置、电子设备及存储介质