JPH08320785A - データメンテナンスツール自動生成方法 - Google Patents

データメンテナンスツール自動生成方法

Info

Publication number
JPH08320785A
JPH08320785A JP7127649A JP12764995A JPH08320785A JP H08320785 A JPH08320785 A JP H08320785A JP 7127649 A JP7127649 A JP 7127649A JP 12764995 A JP12764995 A JP 12764995A JP H08320785 A JPH08320785 A JP H08320785A
Authority
JP
Japan
Prior art keywords
data
record
user interface
program
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
JP7127649A
Other languages
English (en)
Inventor
雅之 ▲土▼方
Masayuki Hijikata
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP7127649A priority Critical patent/JPH08320785A/ja
Publication of JPH08320785A publication Critical patent/JPH08320785A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 信頼性が高く、データ型などを適当に変換し
て人間にわかりやすくした形で表示するデータメンテナ
ンスツール自動生成方法を提供することである。 【構成】 所定のプログラミング言語のデータ構造記述
部10の構造を解析し、該解析結果を翻訳し、その翻訳
結果とあらかじめ用意されたユーザインタフェイス部4
0とをコンパイル/リンクすることによって、前記プロ
グラミング言語の形式に従ったレコードをもつファイル
に対して参照、更新等を行うデータメンテナンスルール
を生成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラム言語を直接
コーディングしてプログラムを製造する分野において、
データ構造記述部にあるデータ構造及びデータ型を直接
解析するためのデータメンテナンスツール自動生成方法
に関し、特に、ウォーターフォールモデルに従ってプロ
グラムの設計・製造・検査を行ない、途中でソースリス
トのコーディングが介在するような形態で使用されるも
のに関する。
【0002】
【従来の技術】以下、特開平4−276835号公報
(以下、第1の従来技術と呼ぶ)及び特開平3−244
043号公報(以下第2の従来技術と呼ぶ)を参照して
従来技術を説明する。
【0003】第1の従来技術には、単体テストケース生
成において、ソースプログラムに依存しないブラックボ
ックステスト形式による方法を基に、プログラムの入出
力インタフェースパラメータのデータ型種別を2つの群
に分類したデータ型種別規定テーブルを備え、入力イン
タフェースのデータ定義文が入力されると、該テーブル
による分類に従って、一方の群に属するデータ定義文か
らは、パラメータのデータ値領域のすべてのデータ値の
組合せをテストケースとして生成し、他方の群に属する
データ定義文からは、パラメータのデータ値領域をさら
に入力インタフェースのデータ定義文の示す分割点によ
り分けられたデータ値領域の一部のデータ値のみをテス
トケースとして生成するようにしたプログラム単体テス
トデータ生成方法が提案されている。
【0004】第2の従来技術には、同一のデータ領域に
対して複数種類の項目定義を行っているソースプログラ
ムのデータ部の項目定義解析手段と、前記複数種類の項
目に対するテストデータの生成指示を行う第1の入力手
段と、前記テストデータの生成指示の情報を記憶する生
成指示記憶手段と、各項目定義ごとにテストデータの生
成順序と出力回数を指定する第2の入力手段と、テスト
データの生成順序と出力回数の情報を記憶する生成回数
情報記憶手段と、テストデータの生成を行うテストデー
タ生成手段とを備え、前記複数種類の項目定義に従った
テストデータがテストデータ出力ファイルに格納される
一連のテストデータを生成して構成されるテストデータ
生成装置が提案されている。
【0005】
【発明が解決しようとする課題】プログラム設計の上流
工程で、データ構造(レコードレイアウト)を設計し、
この定義を明確にドキュメントとして保管し、プログラ
ムの概要設計、詳細設計、製造が行なわれた後、単体検
証や結合・総合検証の段階に入って、検証用のテストデ
ータを作成したり、一部分を操作(データにパッチを当
てる等)するために、新たにプログラムを書くことがあ
った。また、データの構造が異なる毎に、別々にデータ
アクセスツールを作ることがあった。
【0006】すなわち、プログラム設計の上流工程で定
義されたデータ構造(レコードレイアウト)は、現実の
製造工程では製造中に改変が加えられるなどして、検証
時に実際のプログラムと食い違うことがあり、そのよう
なドキュメントをもとにして作成したツールは検証時に
混乱を招き、特に、ウォーターフォールモデルによる製
造工程でこの問題は顕著になるが、上記した第1及び第
2の従来技術ではこの問題を解消できない。
【0007】また、データ構造ごとにデータ操作プログ
ラムを作成するのでは、工数が掛かり、データ操作プロ
グラムの品質自体も問題となる。一方で、汎用性のある
データメンテナンスツールは、ファイル内容を、たとえ
ば16進数で表現するなど、人間にとって必ずしも見易
いものでは無い場合が多い。すなわち、非汎用な、その
プログラムに即したメンテナンスツールの必要性が高ま
っている。
【0008】本発明の課題は、精度の高いデータを手軽
に作り、製造段階、単体テスト段階での詳細なデータ作
成ができ、生産性の向上を図り、プログラムの更新に伴
いツールを即座に再自動生成し、保守性を向上させるよ
うにし、テスト対象となるプログラムデータ構造記述部
の情報を、利用者に公開するデータメンテナンスツール
を提供することである。
【0009】
【課題を解決するための手段】本発明によれば、所定の
プログラミング言語のデータ構造記述部の構造を解析
し、該解析結果を翻訳し、その翻訳結果とあらかじめ用
意されたユーザインターフェイス部とをコンパイル/リ
ンクすることによって、前記プログラミング言語の形式
に従ったレコードをもつファイルに対して参照、更新等
を行うデータメンテナンスルールを生成することを特徴
とするデータメンテナンスツール自動生成方法が得られ
る。
【0010】さらに、本発明によれば、前記翻訳結果
は、レコード領域内の所定の位置に適切な形式で格納す
るプログラムである入力部と、選択したレコード領域内
のデータ項目をデータ型に従って適切な形式で引き出す
ためのプログラムである出力部と、選択したレコード領
域内のデータ項目の名前、型、再定義等の属性情報テー
ブルである属性記述部の3つの規約で翻訳されたもので
あることを特徴とするデータメンテナンスツール自動生
成方法が得られる。
【0011】さらに、本発明によれば、前記ユーザイン
ターフェイス部は、レコード領域にあるデータを、前記
属性記述部の情報を利用して、前記出力部を用いて前面
上に表示するデータ一覧表示部と、前記データメンテナ
ンスツールの利用者が選択したデータ項目に対して行っ
た入力を、項目のデータ型に従ったチェックを行うと共
に、レコード領域に格納するデータ入力部と、指定した
実ファイルの実レコードと、レコード領域上のデータを
作用させるファイルアクセス部を具備して構成されてい
ることを特徴とするデータメンテナンスツール自動生成
方法が得られる。
【0012】
【作用】本発明によれば、データ(ファイル)への参照
・更新を行なうツールを、対象となっているプログラム
の記述言語中のデータ構造記述部を、直接利用して自動
生成することができる。尚、ドキュメント類よりもプロ
グラムのソースリストの方が、そのプログラムのデータ
としては信頼性が高い。特に検証対象となるプログラム
が存在しているということは、データ構造記述部は既に
存在しているということであり、そこから直接データメ
ンテナンスツールを得るということは、プログラムの製
造中からテストに至るまで、途中でデータ構造に対する
任意の仕様変更があったとしても、即座に最も信頼でき
るメンテナンスツールが得られることを意味する。
【0013】又、データ構造を直接解析するということ
は、データの構造や型について完全な情報を得ることが
可能である。この情報を利用可能なユーザインタフェー
スを用意しておくことで、各項目に対応するデータにつ
いて、人間にとって最も見易い形式でアクセス可能なよ
うにすることが出来る。例えば、1バイトの数値として
定義された項目を10進数で表示したり、この項目を変
更する場合、0未満256以上の数値や文字入力をその
場でエラーとして検出することが可能である。
【0014】
【実施例】本発明の一実施例について図1を参照して説
明する。ここでは、COBOL言語でのプログラム開発
に於ける本ツール自動生成方式について具体的な適応例
を説明する。この方式は、最も単純に表現すれば、デー
タ構造記述部(以下、レコードレイアウトと呼ぶ)10
を与えると、それに対応したファイルアクセスツール5
0が生成される方式ということになる。
【0015】図1において、入力となるレコードレイア
ウト10と、COBOL言語のソースから、データ構造
を知るための最低限の構文解析を行なうレコードレイア
ウト解析部20を備えている。レコードレイアウト解析
部20からの解析結果30を受け、所定の規約でその解
析結果を翻訳する。ここでは具体的に以下の3つの規約
に基づいた翻訳結果が得られる。
【0016】入力部31は、第1の規約として機能し、
入力されたデータを、データ型に従って、レコード領域
内の所定の位置に適切な形式で格納するプログラムであ
る。出力部32は、第2の規約として機能し、選択した
レコード領域内のデータ項目を、データ型に従って適切
な形式で引き出してくるプログラムである。属性記述部
33は、第3の規約として機能し、選択したレコード領
域内のデータ項目の名前、型、繰り返し、再定義などの
属性情報テーブルである。尚、入力部31及び出力部3
2のプログラムは、解析対象となっているプログラムと
同一である必要は全くない。但し、ここでは、次に説明
するユーザインタフェース部40の準備が容易で説明が
簡単なことから、やはりCOBOL言語にて出力される
ものとする。
【0017】ユーザインタフェース部40は、与えられ
た入力部31、出力部32、属性記述部33を利用し
て、レコードデータの参照・更新を行なう。このユーザ
インタフェース部40は、データ一覧表示部401、デ
ータ入力部411、及びファイルアクセス部420で構
成される。尚、どのような充実した機能をさらに付与す
るかは、場合により、また、本機構が成立した後も独立
に強化していくことが可能である。
【0018】データ一覧表示部401は、レコード領域
にあるデータを、属性記述部の情報を利用しながら、出
力部32を用いて適切な形式で画面上に表示していく機
構である。データ入力部411は、ツール利用者が選択
した項目に対して行った入力を、項目のデータ型に従っ
たチェックを実施した上で、レコード領域に格納する機
構である。ファイルアクセス部420は、レコードのリ
ード、ライト、デリート等のファイル/レコードに対す
るアクセス機能群であり、指定した実ファイルの実レコ
ードと、レコード領域上のデータを作用させる機構であ
る。具体的には、実レコードからレコード領域にデータ
を転記する読み込み421やその逆に書き込み422が
ある。キー検索423、レコード削除424など、その
言語系が提供するファイル/レコード操作の極力多くを
網羅しておくことが望ましい。予め用意されたユーザイ
ンタフェース部40と、レコードレイアウト解析部20
の解析結果である入力部31、出力部32、属性記述部
33を結合(リンク)することで、目標となるファイル
アクセスツール50が生成される。
【0019】ユーザインタフェース部40は予め1つ製
造しておく。その状態で、本機構は、レコードレイアウ
ト10を入力として、完全に自動的に、レコードレイア
ウトに対応するファイルアクセスツール50を出力とし
て得ることが可能である。ユーザインタフェース部40
に、ある一定のパターンをもって複数レコードのデータ
を作成するテストデータ自動合成機構や、必要なレコー
ドに対して対象言語が持つ以上の機能で参照を行なう検
索機構を加えることができる。例えば、順編成ファイル
の任意の項目についてキー検索を可能とする。又、テス
トデータ自動合成機構や検索機構の方式については様々
な方式が考えられる。
【0020】ダイナミックリンクの機構を持つ系上で
は、ユーザインタフェース部40は、ダイナミックリン
クによって結合することが望ましい。これは、ツールの
容量が小さくなること、及び、ユーザインタフェース部
40を、後から独立に強化していくことができるという
理由による。
【0021】COBOL言語の場合の属性記述部33に
ついて、補足説明する。これは、実際に本方法を用いて
系を構成する場合の具体的な注意点でもある。データ構
造の記述(レコードレイアウト10)を、実際の入出力
の単位となる項目の羅列にすることを、ここでは『展開
する』と呼ぶことにする。最も単純な展開の例は、繰り
返し項目が「項目Aの10回の繰り返し」で定義される
時に、これをA(1),A(2),…,A(10)とい
う独立の10個の項目として扱うことである。1000
もの繰り返しを含むようなレコードレイアウトの場合、
最初もしくは最後の数項目に着目したい場合がある。こ
のような展開数の制限に関して、次のような方法を取る
ことが可能である。
【0022】第1に、レコードレイアウトの解析結果3
0の中に、繰り返し構造を表現する記述を含める方法が
ある。この場合、ユーザインタフェース部40が、この
記述を解釈しながら、任意の繰り返し項目の指定を可能
にする機構を持つことになり、ユーザインタフェース部
40の作成が、やや大変になる。
【0023】第2に、レコードレイアウト解析部20
に、展開数の制限を与える方法がある。この場合にはレ
コードレイアウトの解析結果30を1次元的に出力する
ままで良く、ユーザインタフェース部40は、繰り返し
項目であることを意識することなく、各項目への入出力
を行なう機構を持てば良い。
【0024】レコードレイアウト解析部20と解析結果
30のフォーマットが同時に提供され、ユーザインタフ
ェース部40を提供される側が独自に設計して良い、と
いうような形態では、ユーザインタフェース部40の製
造負担を軽減する目的で、後者の方法が好ましい。以
下、レコードレイアウトの解析結果30が、このような
1次元的な項目の羅列である場合(ユーザインタフェー
ス部40が用意に構築可能であるモデル)を前提に説明
をする。
【0025】集団項目は、基本項目と異なり、データの
実体を表現しない。従って、繰り返し項目上で、集団項
目が何度も表現されるのは、ユーザインタフェース上好
ましくない場合がある。すなわち、1画面内に占める基
本項目の割合が少なく、実データに関する一覧性が減少
する。そこで、レコードレイアウト解析部20に、繰り
返し項目の初出の集団項目以外の出力を抑止するような
機構があると良い。
【0026】再定義(REDEFINE)に関しては、
レコードレイアウトの解析結果30に再定義の親子関係
を双方向のポインタで辿れるようにしておくのが良い。
何故なら、ある基本項目のデータを変更した場合、現在
表示されているデータのうち影響を受ける項目の再表示
を行なうのが良いユーザインタフェースだからである。
ポインタを辿ることで影響を受ける全ての項目を再表示
するのが良いが、表示が十分高速であると仮定できるシ
ステムでは、データの変更の際に現在の視野の情報全て
を再描画することで同様の効果を得ることができる。
【0027】事例として、COBOL言語のレコードレ
イアウト(DATA−DIVISIONに書かれる形
式)を解析、展開し、COBOL上位高生産性言語(I
DL−II)で記述された項目属性部、入力記述部、出
力記述部を出力し、X−WindowシステムのGUI
上にファイルハンドリングシステムと併せて予め作って
おいたユーザインタフェース部とリンクして、メンテナ
ンスツールを数十本生成し、利用されたという実績があ
る。この方式では、レコードレイアウトの解析結果30
を、やはりIDL−II言語で出力することにより、入
力となるレコードレイアウトをそのまま取り込み、レコ
ード領域とユーザインタフェース部の間の項目データの
やりとりを、COBOLの機構を直接利用する形で実現
した。このため、領域の再定義や繰り返し項目に関する
実領域との対応に関して新規にCOBOLをシミュレー
トする機構を作らないですみ、開発工数を少なくし、高
い信頼性を得ることができた。
【0028】
【発明の効果】本発明によれば、ユーザインタフェース
部40が独立しているため、レコードレイアウトの解析
結果30の様式を定めればレコードレイアウト解析部2
0と個別に開発が可能であり、また利用中であっても利
用者の要請に対して独立にユーザインタフェース部40
を高機能化することが可能である。
【0029】又、対象となるプログラムのソースの一部
を直接利用してツールを自動生成するため、ツール製造
過程でバグが混入することが無く、ツールの信頼度が高
い。
【0030】検査対象となるプログラムが存在していれ
ば、その部分であるデータ構造記述部もソースとして実
在することは確かで、それを利用するため、他のドキュ
メントを利用したり、新たなデータを起こす必要が全く
ない。つまり、検査対象のプログラムに完全に対応した
ツールを、極めて短工数(ほぼゼロ)で得ることが可能
である。
【0031】データ構造記述部にあるデータ構造・デー
タ型を直接解析するため、それらに従った自然なユーザ
インタフェースを構築することが可能。つまり、データ
の参照や更新に際して、人間が分かり易い形式を取れる
ため、データ検証や作成の精度が高い。すなわち、信頼
度の高い検証が可能である。
【図面の簡単な説明】
【図1】レコードレイアウトからファイルアクセスツー
ルが生成されるまでの流れを示した図である。
【符号の説明】
10 レコードレイアウト(データ構造記述部) 20 レコードレイアウト解析部 30 (レコードレイアウトの)解析結果 31 入力部 32 出力部 33 属性記述部 40 ユーザインタフェース部 401 データ一覧表示部 411 データ入力部 420 ファイルアクセス部 50 ファイルアクセスツール

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 所定のプログラミング言語のデータ構造
    記述部の構造を解析し、該解析結果を翻訳し、その翻訳
    結果とあらかじめ用意されたユーザインタフェイス部と
    をコンパイル/リンクすることによって、前記プログラ
    ミング言語の形式に従ったレコードをもつファイルに対
    して参照、更新等を行うデータメンテナンスルールを生
    成することを特徴とするデータメンテナンスツール自動
    生成方法。
  2. 【請求項2】 前記翻訳結果は、レコード領域内の所定
    の位置に適切な形式で格納するプログラムである入力部
    と、選択したレコード領域内のデータ項目をデータ型に
    従って適切な形式で引き出すためのプログラムである出
    力部と、選択したレコード領域内のデータ項目の名前、
    型、再定義等の属性情報テーブルである属性記述部の3
    つの規約で翻訳されたものであることを特徴とする請求
    項1記載のデータメンテナンスツール自動生成方法。
  3. 【請求項3】 前記ユーザインターフェイス部は、レコ
    ード領域にあるデータを、前記属性記述部の情報を利用
    して、前記出力部を用いて前面上に表示するデータ一覧
    表示部と、前記データメンテナンスツールの利用者が選
    択したデータ項目に対して行った入力を、項目のデータ
    型に従ったチェックを行うと共に、レコード領域に格納
    するデータ入力部と、指定した実ファイルの実レコード
    と、レコード領域上のデータを作用させるファイルアク
    セス部を具備して構成されていることを特徴とする請求
    項1記載のデータメンテナンスツール自動生成方法。
JP7127649A 1995-05-26 1995-05-26 データメンテナンスツール自動生成方法 Pending JPH08320785A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7127649A JPH08320785A (ja) 1995-05-26 1995-05-26 データメンテナンスツール自動生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7127649A JPH08320785A (ja) 1995-05-26 1995-05-26 データメンテナンスツール自動生成方法

Publications (1)

Publication Number Publication Date
JPH08320785A true JPH08320785A (ja) 1996-12-03

Family

ID=14965321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7127649A Pending JPH08320785A (ja) 1995-05-26 1995-05-26 データメンテナンスツール自動生成方法

Country Status (1)

Country Link
JP (1) JPH08320785A (ja)

Similar Documents

Publication Publication Date Title
JP3027009B2 (ja) 設計取り込みシステム
US6282539B1 (en) Method and system for database publishing
AU4098700A (en) Circuit arrangement for measuring the resistances of a pressure-sensitive resistance mat
KR100284580B1 (ko) 웹 문서 자동 생성장치 및 그 방법
JP6827610B1 (ja) 開発支援装置、プログラム及び開発支援方法
Monk et al. Supporting design rationale for system evolution
JPH08320785A (ja) データメンテナンスツール自動生成方法
JP3516843B2 (ja) データベースアクセス方法
US20070136333A1 (en) Method of inspection and a user interface for a business measure modeling tool
CA2359079A1 (en) Program reproducing method and device, and medium on which a program for program reproduction recording
KR100656559B1 (ko) Bibd 방법론을 이용하는 프로그램 자동 개발 장치
JPH07146785A (ja) プログラム自動生成方法および装置
KR100346983B1 (ko) 무선 인터넷용 웹 에디터와 그 작동방법
JP2003108405A (ja) 試験仕様の作成支援装置及びプログラム
Emmerich Software process modelling with FUNSOFT nets
KR20140065389A (ko) 모듈의 구조 해석을 지원하는 장치 및 프로그램
JPH11154093A (ja) プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体
JPH0830448A (ja) プログラム仕様整合検査装置
Morris Data probe: A tool for EXPRESS-based Data
JP5581894B2 (ja) データ処理プログラム自動生成システム
Arnicans et al. Application generation for the simple database browser based on the ER diagram
JP2900504B2 (ja) 情報処理装置
KR100279754B1 (ko) 엄격한 구조적 분석 지원 시스템의 모형 정보 저장/삭제 시스템및 방법
JPS6379176A (ja) デイスプレイ上の設計画面より入力した設計仕様から部品を組合せてプログラムを自動生成する方法
CN120215897A (zh) 一种基于ansa二次开发的材料数据库开发方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19971014