JP3741450B2 - 項目部品エレメントの実行方法および実行装置 - Google Patents

項目部品エレメントの実行方法および実行装置 Download PDF

Info

Publication number
JP3741450B2
JP3741450B2 JP14023293A JP14023293A JP3741450B2 JP 3741450 B2 JP3741450 B2 JP 3741450B2 JP 14023293 A JP14023293 A JP 14023293A JP 14023293 A JP14023293 A JP 14023293A JP 3741450 B2 JP3741450 B2 JP 3741450B2
Authority
JP
Japan
Prior art keywords
item
data
event
identifier
execution
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 - Fee Related
Application number
JP14023293A
Other languages
English (en)
Other versions
JPH06348498A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP14023293A priority Critical patent/JP3741450B2/ja
Priority to US08/253,860 priority patent/US6035343A/en
Publication of JPH06348498A publication Critical patent/JPH06348498A/ja
Application granted granted Critical
Publication of JP3741450B2 publication Critical patent/JP3741450B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、ソフトウェア部品から構成される主に事務処理分野のソフトウェアの実行を可能にする項目部品エレメントの実行方法および実行装置に関する。
企業活動には、大量の事務処理が伴うものである。事務処理の多くは、コンピュータのハードウェアと事務処理支援ソフトウェアを組み合わせることで自動的に実施することができる。しかし、ソフトウェアの開発作業に多くの人手を要することに加えて、事務処理の変化に対応するためのソフトウェアの機能変更作業にも多くの人手を要している。
【0002】
そこで、ソフトウェアの開発作業および機能変更作業の省力化の策として、再利用性の高いソフトウェア部品から構成され、かつ、主に事務処理分野によくあるタイプの機能変更に少数のソフトウェア部品の交換によって対応できるソフトウェアが要求されている。
【0003】
【従来の技術】
上記のような再利用性の高いソフトウェア部品から構成されたソフトウェアを実行する従来の技術としては、主として次の3種のものが知られている。
1)サブルーチン実行装置
ソフトウェアに呼び出し元ルーチンとサブルーチンという階層関係を持ち込むことによって、呼び出し元ルーチンおよびサブルーチンを一種のソフトウェア部品として切り出す技術が従来から知られている。
【0004】
そして、通常のコンピュータはサブルーチンを実行して呼び出し元に復帰するための制御機構を既に持っている。この制御機構は、複数の呼び出し元ルーチンから呼び出されるサブルーチンに関する「呼び出しおよび呼び出し元への復帰」の実行の流れを制御するものであり、部品化ソフトウエアを実行する主な要素である。なお、COBOL言語のPERFORM文によるセクションの実行と同等なソフトウェア部品の実行はサブルーチンの実行の一種だとみなすことができる。
2)オブジェクトの実行装置
ソフトウェアをオブジェクトという内部処理を隠蔽した単位に分解し、あるオフジェクトから別の適当なオブジェクトにメッセージを送り、メッセージを受けたオブジェクトは規定された処理を実行するという「処理実施の枠組み」を連ねて所望の処理を行わせる技術が従来から知られている。
【0005】
そして、オブジェクトは一種のソフトウェア部品だと見なすことができる。オブジェクトにメッセージを送る仕組みおよびメッセージを受けて所望の処理を実行する装置は既存の技術によって例えば、コンピュータのハードウェアとソフトウェアによって実現されている。
3)イベント駆動ルーチンの実行装置
特定のイベントの発生を契機として、それに相応しい処理を行うイベント駆動ルーチンを実行する技術が従来から知られている。
【0006】
そして、イベント駆動ルーチンは一種のソフトウェア部品だとみなすことができる。あるイベントの発生を契機としてそれを処理するイベント駆動ルーチンを実行する装置は既存の技術によってコンピュータのハードウェアとソフトウェアによって実現されている。
上記した「イベント駆動ルーチンの実行装置」に相当する技術は種々のものが提案されており、以下に従来の技術について説明する。
i)従来例1
図22は上記した従来のイベント駆動ルーチンを実行する実行装置の一例を示す図であり、同図は、画面という出力装置とキーボードという入力装置とを用いてデータの入出力を行う実行装置の一例を示している。
【0007】
同図において、101は例えばキーボート等の入力装置、102はディスプレイ等の出力装置、102aは出力装置の画面の一例、102bはファンクション・キー、103はイベント駆動ルーチンの動作を決定する動作ルーチン決定装置、103aは上記イベントを識別するイベント識別子とそのイベントの発生によって駆動されるイベント駆動ルーチンのアドレスを記憶したイベント表であり、動作ルーチン決定装置103はイベントが発生したとき、上記イベント表103aを参照して駆動すべきイベント駆動ルーチンを決定する。
【0008】
また、104はイベント駆動ルーチンを実行する処理装置、105はイベント駆動ルーチン105a−1,105a−2,…、その他のルーチン105bを格納した記憶装置である。
図23はイベント表103aの一例を示す図であり、イベント表103aには同図に示すように、イベントを識別するためのイベント識別子とそのイベントが発生したときに駆動されるイベント駆動ルーチンの記憶装置105上のアドレスが記憶されている。
【0009】
図22において、入力装置101、出力装置102は、例えば、102aに示す表示画面において、所定のデータ項目Aの位置へのカーソルの移動(以下、これを「そのデータ項目へのフォーカスイン」という)あるいはファンクションキー102bの操作等が行われたとき、イベント発生を動作ルーチン決定装置103に通知する。
【0010】
イベントの発生が通知されると、動作ルーチン決定装置103はイベント表103aを参照し、発生したイベントに対応するイベント駆動ルーチン105a−1,105a−2,…、のアドレスを読み出し、処理装置104に対して発生したイベントに対応したイベント駆動ルーチンの実行を指示する。処理装置104は上記指示を受けると、記憶装置105に格納されたイベント駆動ルーチンを実行する。
【0011】
例えば、表示画面102aにおいて、データ項目Aへのフォーカスインによるイベントが発生すると、動作ルーチン決定装置103はイベント表を参照して、そのイベントに対応するイベント駆動ルーチンのアドレスを読み出し、処理装置104に実行を指示し、例えばデータ項目Aへどのようなデータを入力すべきかを示す入力促進メッセージ等を画面102aに出力する。
【0012】
ところで、上記のような実行装置において、代表的なイベントに対するイベント駆動ルーチンの処理としては次のものがある。
a)データ項目のフォーカスイン
上記したように、画面102a上の入力ポイントを示すカーソルがあるデータ項目に移動されたというイベントをとらえて、「そのデータ項目へのフォーカスイン」というイベントに対応するイベント駆動ルーチンを実行する。このイベント駆動ルーチンで行われる代表的な処理は、上記したようにそのデータ項目にどのようなデータを入力すべきかを示す入力促進メッセージを画面上に出力することである。
b)入力候補一覧表示
入力候補一覧表示という機能に対応するファンクションキーが押下されたというイベントをとらえて「入力候補一覧表示」というイベントに対応するイベント駆動ルーチンを実行する。
【0013】
このイベント駆動ルーチンで行われる代表的な処理は、画面上の入力ポイントを示すカーソルが位置するデータ項目を探し出して、画面上にそのデータ項目に入力可能なデータの候補一覧を出力することである。なお、このような処置をしておくと、この後、操作者はキーボードから一文字ずつデータ入力をするのではなく、入力候補の中のデータを選ぶという簡易な入力操作を可能にするという効果がある。
c)データ項目へのデータ入力完了
あるデータ項目にデータが入力されたというイベントをとらえて、「そのデータ項目へのデータ入力完了」というイベントに対応するイベント駆動ルーチンを実行する。
【0014】
このイベント駆動ルーチンで行われる代表的な処理は、▲1▼入力されたデータの形式の妥当性をチェックすること、および必要なら他のデータ項目の内容との矛盾の有無のチェックを含めて入力されたデータの内容の妥当性をチェックすること、▲2▼このデータが入力されたことでその値が算出可能になったデータ項目に算出データを設定すること、▲3▼このデータが入力されたことで表示可能となったデータ項目の内容を画面上に出力すること、等である。
【0015】
上記a)〜c)の例において、a)とc)のイベントは特定の一つのデータ項目に関係付けられているが、b)のイベントは、ファンクションキーが押下されたいうイベントのみ関係付けられ、特定の一つのデータ項目に関係付けられていない。そして、a)のイベント駆動ルーチンは、特定の一つのデータ項目だけに強い関連性を持つ処理を行うものであるが、b)とc)のイベント駆動ルーチンは、複数のデータ項目に強い関連性を持つ処理を行う場合がある。ただし、c)のイベント駆動ルーチンは、それが処理すべき内容が単純であれば、特定の一つのデータ項目だけに強い関連性を持つものである場合がある。
【0016】
なお、上記b)を改良して、特定の一つのデータ項目と関係付けられたイベントにすることは、下記のb’)で説明するように既存技術として行われている。
b’)特定のデータ項目の入力候補一覧表示
画面上の入力ポイントを示すカーソルがある特定のデータ項目に位置付けられている状態で入力候補一覧表示という機能に対応するファンクションキーが押下されたというイベントをとらえて、「特定のデータ項目の入力候補一覧表示」というイベントに対応するイベント駆動ルーチンを実行する。このイベント駆動ルーチンで行われる代表的な処理は、その特定のデータ項目に入力可能なデータの候補一覧を画面上に出力することである。上記ようにすると、b’)のイベント駆動ルーチンは、特定のデータ項目だけに強い関連性をもつ処理を行うものとなる。
【0017】
以上を総合すると、例えば、a)とb’)のイベント駆動ルーチン、およびc)のイベント駆動ルーチンの中で、その処理内容が単純で特定の一つのデータ項目だけに強い関連性をもつ処理を行うイベント駆動ルーチンなどは、データ項目に対応するソフトウェア部品だとみなすことができる。
ii) 従来例2
画面入力出力制御を行うプログラムを複数の部品に分割して、項目単位の画面入出力制御を行う技術としては、例えば、特開平4−238534号公報に示される項目単位型画面入出力制御方式が提案されている。
【0018】
上記従来技術は、画面入力出力制御を行うプログラムを画面の遷移順序を決定する画面制御部品と、画面に表示される各データ項目の処理順序を決定する項目制御部品と、そのデータ項目の編集処理を行う項目処理部品に分割することにより、ソフトウェアの部品化を容易にし、ソフトウェアの生産性の向上、操作性の向上を図ったものである。
iii)従来例3
一つの項目ごとに対応する項目部品と、複数の項目部品に対応する項目群部品とからソフトウェアを構成する方法が知られている。
【0019】
【発明が解決しようとする課題】
ところで、上記した従来の技術においては、次のような問題点があった。
1)部品の多くは再利用性が低い。
特定の応用分野では、従来の技術によってその大半が再利用可能性の高い部品から構成されるようなソフトウェアを実行することができる。
【0020】
しかし、次に示す主に事務処理分野のソフトウェアにおいては、従来の技術により、その一部の部品は再利用性の高い部品から構成することができるが、残りの大部分の部品は再利用性の低い部品から構成されがちであり、全体として再利用性が上がりにくいという問題があった。
▲1▼ データエンリトなどを行うソフトウェア
入力装置から入力されたデータを基にして、データファイルなどの記憶装置の中にデータを追加したり、データファイルなどの記憶装置の中のデータを更新または削除するソフトウェア。
▲2▼ 集計情報を作成するソフトウェア
データファイルなどの記憶装置の中のデータを集計することで得られたデータをデータファイルなどの記憶装置の中に格納するソフトウェア。
▲3▼ 帳票出力を行うソフトウェア
データファイルなどの記憶装置の中のデータを特定の形式の帳票として出力するソフトウェア。
【0021】
ところで、前記したi)従来例1に示した「イベント駆動ルーチンの実行装置」の場合には、a)とb’)のイベント駆動ルーチンは再利用性が高い部品ということができる。
しかし、c)のイベント駆動ルーチンについては、処理内容が単純なある範囲に限定すれば、それなりに再利用性もつといえるが、主に事務処理分野の実用的なソフトウェアに適用すると処理内容が複雑となり、複数の項目と関連性をもつものも多くなるため、必ずしも再利用性が高いとはいいがたい。
【0022】
また、前記したii) 従来例2においては、単純な項目部品については、かなり再利用性が高いものもあると考えられるが、それ以外の部品については、複数の項目と関連性をもつものが多いため、必ずしも再利用性が高いとはいいがたい。
さらに、前記したiii)従来例3についても、複数の項目と関連性をもつ部品については再利用性が高いとはいいがたい。
2)機能変更要求とソフトウェア部品との対応関係が希薄。
【0023】
特定の応用分野においては、従来の技術によって、その分野によくあるタイプの機能変更要求と対応付け易い部品から構成されるソフトウェアを実行することができる。したがって、機能変更要求の多くはそれに対応する少数のソフトウェア部品を交換することで対応することができる。
しかしながら、前記1)の▲1▼ないし▲3▼に示した事務処理分野においては、ソフトウェアを、その分野によくあるタイプの機能変更と強い関連性を持つソフトウェア部品から構成しにくく、少数のソフトウェア部品の交換では機能変更要求に対応しにくいという問題点があった。
【0024】
例えば、前記したi)従来例1においては、c)のイベント駆動ルーチンのように、複数のデータ項目に強い関連性を持つ処理を行うイベント駆動ルーチンが存在するため、ある一つのデータ項目に関する機能変更を行う場合であっても、多くのイベント駆動ルーチンが関係することとなりがちであり、それらの多くの交換が必要となってくる。
【0025】
また、前述したii) 従来例2においても、ある一つのデータ項目に関する機能変更を行うと、一つの項目部品だけでなく、多くの項目制御部品などに関連性をもつ場合があり、多くの部品の交換が必要となってくる。
更に、前述したiii)従来例3においては、ある一つのデータ項目に関する機能変更を行う場合に、多くの項目部品の交換が必要になりがちである。
【0026】
本発明は上記した従来技術の問題点を考慮してなされたものであって、本発明の第1の目的は、再利用性の高いソフトウェア部品によってソフトウェアを構成することにより、主に事務処理分野において、ソフトウェアの開発作業の生産性を構造的に向上させるとともに、少数のソフトウェア部品の交換によって機能変更要求の大半に対応できる項目部品エレメントの実行方法および実行装置を提供することである。
【0027】
本発明の第2の目的は、運用パラメータを設定することにより、データ更新方法、データの入出力、ヒューマン・コンピュータ・インタフェース(以下HCIと略記する)、サーバクライアント構成を採用するかスタンドアロン構成を採用するかなどをユーザの希望するものに設定することができる項目部品エレメントの実行方法および実行装置を提供することである。
【0028】
本発明の第3の目的は、ソフトウェア部品の作成および修正を容易に行うことができる項目部品エレメントの実行方法および実行装置を提供することである。
【0029】
【課題を解決するための手段】
図1は本発明の原理ブロック図である。
同図において、1はイベント発生の通知を行う入出力装置、2はイベント発生の通知もしくは項目部品エレメントの実行完了の通知を受けて項目部品エレメントの実行を指示する手段、2aは入出力装置1との間の入力制御方法を設定する運用パラメータ、2bは配列データのような添字付きデータ項目と添字なしデータ項目相互間を変換する変換機構であり、上記項目部品エレメントの実行を指示する手段2は、データ項目に対応する処理である項目部品エレメントのアドレスをイベント識別子に対応付けて格納したイベント表と、データ項目に対応する処理である項目部品エレメントを、実行完了した項目部品エレメント識別子に対応付けて格納した追加イベント表を備えている。
3は項目部品エレメントの実行を指示する手段2からの実行の指示を受けて記憶装置4に格納された項目部品エレメント4bを実行する手段、4は記憶装置であり、記憶装置4はディスク等の不揮発性記憶装置、または主記憶装置等の一時的な記憶装置、またはこれらの両方から構成される。
【0030】
また、4aは項目部品エレメントをまとめた項目部品、4bはデータ項目に対応する処理である項目部品エレメント、4cは項目部品エレメント4bから呼び出される機能部品、4dはデータ項目間の関係をチェックする関係チェック部品、4eは記憶装置に格納されたデータの更新方法を設定する運用パラメータ、5は項目部品の手本となる手本ファイルである。
【0031】
上記課題を解決するため、本発明の請求項1の発明は、イベントが発生し、このいべんとに対応したイベント識別子が通知されたとき、このイベント識別子の通知に基づき、データ項目に対応する処理である項目部品エレメントのアドレスをイベント識別子に対応付けて格納したイベント表を参照して、上記イベント識別子に対応する項目部品エレメントを実行し、上記項目部品エレメントの実行が完了し、実行完了した項目部品エレメント識別子が通知されたとき、この通知に基づき、実行完了した項目部品エレメント識別子に対応付けて、データ項目に対応する処理である次に実行される項目部品エレメントのアドレスを格納した追加イベント表を参照して、追加イベント表に存在する上記実行完了した項目部品エレメント識別子に対応する項目部品エレメントを実行するようにしたものである。
【0032】
本発明の請求項2の発明は、データ項目に対応する処理である項目部品エレメントのアドレスをイベント識別子に対応付けて格納したイベント表と、実行完了した項目部品エレメント識別子に対応付けて、データ項目に対応する処理である次に実行される項目部品エレメントのアドレスを格納した追加イベント表と、イベントが発生し、このイベントに対応したイベント識別子が通知されたとき、この発生したイベントのイベント識別子の通知に基づき、前記イベント表を参照して、通知されたイベント識別子に対応する項目部品エレメントを実行する手段と、上記項目部品エレメントの実行が完了し、実行完了した項目部品エレメント識別子が通知されたとき、この通知に基づき、前記追加イベント表を参照し、追加イベント表に、上記実行完了した項目部品エレメント識別子が存在するとき、上記実行完了した項目部品エレメント識別子に対応した次に実行される項目部品エレメントを実行する手段とを設けたものである。
【0033】
本発明の請求項3の発明は、請求項2の発明において、入出力制御に関する運用パラメータ2aを設定する手段を設け、該運用パラメータ2aの設定に応じて入出力制御を行うように構成したものである。
【0034】
本発明の請求項4の発明は、請求項2または請求項3の発明において、データ項目の型名に対応したデータ項目の型を定義した型ファイルを設け、前記項目部品エレメント4bには、該項目部品エレメント4bで使用するデータ項目を宣言するデータ宣言部を設け、項目部品エレメントを実行する際、前記型ファイルの定義に基づき、各項目部品エレメントのデータ宣言部に指定されているデータ型を変換するように構成したものである。
本発明の請求項5の発明は、請求項2,3または請求項4の発明において、添字付きデータ項目と添字なしデータ項目を相互に変換する変換機構2bを設け、項目部品エレメント4bを実行する際、前記変換機構2bにより添字付きデータ項目を添字なしデータ項目に変換し、項目部品エレメントは、該添え字なしデータ項目を用いて処理を行うように構成したものである。
【0035】
本発明の請求項6の発明は、請求項2,3,4または請求項5の発明において、項目部品エレメント4bを、同じ項目に対応する複数の項目部品エレメント4bをまとめた項目部品に定義し、前記項目部品には、該項目部品に含まれる複数の項目部品エレメントにより使用される、決まりきった手続を記述した機能部品を格納し、前記項目部品で使用される機能部品そのものまたはその宣言、及び、項目部品または該機能部品が使用するデータ項目の宣言のうち、重複する機能部品または宣言が重複しないように、重複するものを一つにまとめて記憶装置4aに格納するように構成したものである。
本発明の請求項7の発明は、請求項2,3,4,5または請求項6の発明において、データ項目間の関係チェック機能を持つ関係チェック部品4dを設け、各項目部品エレメントが関係チェック部品4dを呼び出すことにより、データ項目間の関係をチェックするように構成したものである。
【0036】
本発明の請求項8の発明は、請求項2,3,4,5,6または請求項7の発明において、前記項目部品と、共通に使用できる項目部品のひな型である手本ファイルをロードし、前記手本ファイルに基づいて、項目部品を自動的に生成するように構成したものである。
本発明の請求項9の発明は、請求項8の発明において、前記項目部品が省略されたとき、前記共通に使用できる項目部品のひな型である手本ファイルをもとに項目部品を自動的に生成するように構成したものである。
【0037】
【作用】
主に事務処理分野のソフトウェアに関する機能変更要求の多くは、データ項目との関連性が強い。更に、主に事務処理分野のソフトウェアの中で使われるデータ項目そのものは再利用性が高い。したがって、データ項目と強い関連性をもつソフトウェア部品の実行装置を作ることによって、少数のソフトウェア部品の交換によって機能変更要求の大半に対応できるとともに、その大半を再利用可能性の高い部品から構成することができる。なお、データ項目とは、論理的に意味のあるデータの最小単位である。主に事務処理分野のソフトウェアは、記憶装置をデータ項目という単位に分割して使用するものであり、また、キーボードや画面表示装置や帳票印刷装置などの入出力装置との間のデータのやりとりをデータ項目という単位で行うものである。なお、データ項目は項目とかフィールドなどと呼ばれることもある。
【0038】
先ず、データ項目と強い関連性を付けるための前準備として、イベント駆動ルーチンという種類のソフトウェア部品を拡張して、単なるイベントの発生だけを契機として実行するだけでなく、記憶装置に格納されたデータの間に特定の条件が成立することを契機として実行する「拡張イベント駆動ルーチン」という形態とする。このようにすることで、ソフトウェアの大半は拡張イベント駆動ルーチンという種類のソフトウェア部品から構成することができるようになる。
【0039】
ここで、拡張イベント駆動ルーチンの多くは、一つまたは複数のデータ項目と強い関連性をもつので、拡張イベント駆動ルーチンという種類のソフトウェア部品から、さらにその一部または全部を切り出してそれぞれ一つのデータ項目に強い関連性をもつようにしたルーチンまたはこれと等価なルーチンを「項目部品エレメント」として幾つも切り出し、切り出せなかった残りの部分をできるだけ少なくなるようにする。
【0040】
このようにすると、ソフトウェアの大半は、項目部品エレメントから構成され、各項目部品エレメントは特定の一つのデータ項目だけに強い関連性をもつようにすることができる。データ項目は、主に事務処理分野においては再利用性が高いので、項目部品エレメントそのものの再利用性も高いものになる。
なお、ある一つのデータ項目に強い関連性をもつ項目部品エレメントを集めたものを、そのデータ項目に関する項目部品と呼ぶことにするが、項目部品という単位でソフトウェアを管理すると、データ項目と部品とが一対一の対応関係となり、機能変更への対応作業の生産性を向上させることができる。
【0041】
そして、上記項目部品エレメントを実行するために、イベント駆動ルーチンという種類のソフトウェア部品の実行装置を改良して、イベントの発生という契機、または、記憶装置に格納されたデータの間に特定の条件が成立したことを契機として、単に一つのイベント駆動ルーチンを実行するだけでなく、関係する全ての項目部品エレメントを実行するようにする。
【0042】
さらに、あるデータ項目に格納されているデータまたはそのデータ項目の状態データが変更されることによって、他のデータ項目に関係する項目部品エレメントを実行する必要があるので、このために項目部品エレメントの実行完了時に必要な条件判定を行い、必要とする全ての項目部品エレメントを実行する機構を追加する。このようにすることで、項目部品エレメントという種類のソフトウェア部品の実行装置を構築することができる。
【0043】
本発明は上記原理に基づき、項目部品エレメントの実行装置を構成したものであり、本発明の請求項1の発明においては、上記のようにイベントが発生し、このイベントに対応したイベント識別子が通知されたとき、このイベント識別子の通知に基づき、データ項目に対応する処理である項目部品エレメントのアドレスをイベント識別子に対応付けて格納したイベント表を参照して、上記イベント識別子に対応する項目部品エレメントを実行し、上記項目部品エレメントの実行が完了し、実行完了した項目部品エレメント識別子が通知されたとき、この通知に基づき、実行完了した項目部品エレメント識別子に対応付けて、データ項目に対応する処理である次に実行される項目部品エレメントのアドレスを格納した追加イベント表を参照して、追加イベント表に存在する上記実行完了した項目部品エレメント識別子に対応する項目部品エレメントを実行するようにしたので、再利用性の高いソフトウェア部品を組み合わせるだけで、所望の処理の殆どを実現することができ、主に事務処理分野において、ソフトウェアの開発作業の生産性を構造的に向上させるとともに、少数のソフトウェア部品の交換によって機能変更要求の大半に対応することが可能となる。
【0044】
本発明の請求項2の発明においては、データ項目に対応する処理である項目部品エレメントのアドレスをイベント識別子に対応付けて格納したイベント表と、実行完了した項目部品エレメント識別子に対応付けて、データ項目に対応する処理である次に実行される項目部品エレメントのアドレスを格納した追加イベント表と、イベントが発生し、このイベントに対応したイベント識別子が通知されたとき、この発生したイベントのイベント識別子の通知に基づき、前記イベント表を参照して、通知されたイベント識別子に対応する項目部品エレメントを実行する手段と、上記項目部品エレメントの実行が完了し、実行完了した項目部品エレメント識別子が通知されたとき、この通知に基づき、前記追加イベント表を参照し、追加イベント表に、上記実行完了した項目部品エレメント識別子が存在するとき、該実行完了した項目部品エレメント識別子に対応した次に実行される項目部品エレメントを実行する手段とを設けたので、請求項1の発明と同様、再利用性の高いソフトウェア部品を組み合わせるだけで、所望の処理の殆どを実現することができ、主に事務処理分野において、ソフトウェアの開発作業の生産性を構造的に向上させるとともに、少数のソフトウェア部品の交換によって機能変更要求の大半に対応することが可能となる。
【0045】
本発明の請求項3の発明においては、請求項2の発明において、入出力制御に関する運用パラメータ2aを設定する手段を設け、該運用パラメータ2aの設定に応じて入出力制御を行うようにしたので、システムの適用範囲を広げることができるとともに、項目部品エレメント4bの再利用性を向上させることができる。
【0046】
本発明の請求項4の発明においては、請求項2または請求項3の発明において、データ項目の型名に対応したデータ項目の型を定義した型ファイルを設け、前記項目部品エレメント4bには、該項目部品エレメント4bで使用するデータ項目を宣言するデータ宣言部を設け、項目部品エレメントを実行する際、前記型ファイルの定義に基づき、各項目部品エレメントのデータ宣言部に指定されているデータ型を変換するようにしたので、型の内容を変更する場合に型の定義をしなおすだけで済み、項目部品あるいは項目部品エレメントで使用するデータ項目の型の宣言をしなおす必要がなくなり、項目部品エレメントの修正を容易に行うことが可能となる。
【0047】
本発明の請求項5の発明においては、請求項2,3または請求項4の発明において、添字付きデータ項目と添字なしデータ項目を相互に変換する変換機構2bを設け、項目部品エレメント4bを実行する際、前記変換機構2bにより添字付きデータ項目を添字なしデータ項目に変換し、項目部品エレメントは、該添え字なしデータ項目を用いて処理を行うようにしたので、項目部品エレメント4bにはカレント明細行に対する手続きを記述するだけでよく、項目部品エレメントの再利用性を向上させることができる。
本発明の請求項6の発明においては、請求項2,3,4または請求項5の発明において、項目部品エレメント4bを、同じ項目に対応する複数の項目部品エレメント4bをまとめた項目部品に定義し、前記項目部品には、該項目部品に含まれる複数の項目部品エレメントにより使用される、決まりきった手続を記述した機能部品を格納し、前記項目部品で使用される機能部品そのものまたはその宣言、及び、項目部品または該機能部品が使用するデータ項目の宣言のうち、重複する機能部品または宣言が重複しないように、重複するものを一つにまとめて記憶装置4aに格納するようにしたので、項目部品間で宣言が重複することを避けることができる。
【0048】
本発明の請求項7の発明においては、請求項2,3,4,5または請求項6の発明において、データ項目間の関係チェック機能を持つ関係チェック部品4dを設け、各項目部品エレメントが関係チェック部品4dを呼び出すことにより、データ項目間の関係をチェックするようしたので、各項目部品エレメントのそれぞれに関係チェック処理部を設ける必要がなく、項目部品エレメントの構成を簡単化することができる。
本発明の請求項8の発明においては、請求項2,3,4,5,6または請求項7の発明において、前記項目部品と、共通に使用できる項目部品のひな型である手本ファイルをロードし、前記手本ファイルに基づいて、項目部品を自動的に生成するようにしたので、項目部品をその都度作成する必要がなく、項目部品を容易に作成することが可能となる。
【0049】
本発明の請求項9の発明においては、請求項8の発明において、前記項目部品が省略されたとき、前記共通に使用できる項目部品のひな型である手本ファイルをもとに項目部品を自動的に生成するようにしたので、必ずしも全ての項目部品を作成しなくてもよいようにできる。
【0050】
【実施例】
図2は本発明の第1の実施例のシステム構成を示す図であり、21はキーボート等の入力装置、22はディスプレイ画面等の出力装置、23は入力装置21あるいは出力装置22からのイベント発生の通知を受けて発生したイベントに対応した項目部品エレメントの実行の指示を行う動作ルーチン決定装置である。
【0051】
動作ルーチン決定装置23において、23aはイベント表であり、イベント表23aには、図3に示すように、イベントの識別子とイベントに対応した複数の項目部品エレメントのアドレスが記憶されている。
23bは追加イベント表であり、追加イベント表には、図4に示すように、実行完了した項目部品エレメントの識別子とその識別子に対応した複数の項目部品エレメントのアドレスが記憶されており、イベント表23aを参照して項目部品エレメントの実行を完了したのちに追加イベント表23bが参照され、次の実行される項目部品エレメントのアドレスが得られ実行される。
【0052】
23cはスタックであり、スタック23cは動作ルーチン決定装置23が項目部品エレメントの実行順序を決定する際に、項目部品エレメントのアドレスを一時的に格納する。
23dは添字付きデータ項目と添字なしデータ項目との変換機構、23eは添字付きデータ項目格納部である。
【0053】
添字付きデータ項目格納部23eは、入力装置21等から転送された添字付きの配列データとして扱うべき繰り返しのあるデータ項目を格納する。そして、添字付きデータを上記変換機構23dにより添字なしデータに変換し、記憶装置25の一時記憶装置25dに設けられた添字なしデータ項目格納部251に転送する。項目部品エレメント25a−1,25a−2,…,は上記添字なしデータ項目格納部251に格納された添字なしデータを用いて処理を行い、実行完了時にその実行結果を動作ルーチン決定装置23に転送する。転送された添字なしデータは上記変換機構23dにより添字付きデータに変換され、添字付きデータ項目格納部23eに格納され、出力装置22等に転送される。
【0054】
このようにすることにより、項目部品エレメント25a−1,25a−2,…は、添字なしのデータのみを扱えばよいこととなり、配列データを扱う専用の項目部品エレメントを設ける必要がなくなる。
24は処理装置であり、処理装置24は動作ルーチン決定装置23により実行が指示された項目部品エレメントの実行を行い、その実行が完了すると動作ルーチン決定装置に実行完了の通知を行う。
【0055】
25はディスク等の不揮発性記憶装置、処理装置の主記憶装置などから構成される記憶装置であり、記憶装置25には項目部品エレメント25a−1,25a−2,…、その他のルーチン25b、および必要に応じて処理に用いるデータを記憶したデータファイル25cが格納される。また、主記憶装置等の一時記憶装置25dには添字なしデータ項目格納部251が設けられており、上記した添字なしデータが格納される。なお、上記、記憶装置25は不揮発性、揮発性を問わず、任意の記憶装置を用いることができる。
【0056】
項目部品エレメント25a−1,25a−2,…,は前記したように、一つのデータ項目に強い関連性をもつようにしたルーチンまたはこれと等価なルーチンであり、イベントの発生という契機、または、記憶装置に格納されたデータの間に特定の条件が成立したことを契機として、関係する全ての項目部品エレメントが実行される。
【0057】
その他のルーチン25bは特定項目に関連性を持たないルーチンであり、画面システムにおいては画面全体についての処理を行うルーチン、帳票システムにおいては帳票全体についての処理を行うルーチン、データベースまたはデータファイルシステムにおいては表(テーブルまたはレコード)全体についての処理を行うルーチン等から構成される。
【0058】
項目部品エレメント25a−1,25a−2,…のイベント種別としては、例えば、次のものを選定することができる。
1)画面項目部品のイベント種別
・表開設 OPEN-TABLE
・初期化 INIT
・プロンプト(フォーカスイン) PROMPT
・ヘルプ表示 HELP
・選択リスト(入力候補一覧表示) SLIST
・関連情報表示 INFORMATION
・マスタ保守 MASTER
・入力チェック(データ入力完了、フォーカスアウト)CHECK
・派生処理 DERIVED
・タイマ割込 TIMER-INT
・表閉鎖 CLOSE-TABLE
2)帳票項目部品のイベント種別
・表開設 OPEN-TABLE
・横計算 CALC-DE
・報告書頭書き REPORT-HEAD
・ページ頭書き PAGE-HEAD
・制御頭書き CB-HEAD
・縦計算明細 PRINT-DE
・制御脚書き CB-FOOT
・ページ脚書き PAGE-FOOT
・報告書脚書き REPORT-FOOT
・表閉鎖 CLOSE-TABLE
3)表項目部品のイベント種別
・表項目初期化 DBINIT
・表項目設定 DBSET
・表項目削除 DBDEL
図5は項目部品エレメントをまとめた項目部品の一般的な構成を示す図である。同図においてAは項目名、Bはデータ宣言部であり、データ宣言部でその項目部品で使用するデータ項目の宣言をする。
【0059】
C1,C2は項目部品エレメントであり、項目部品エレメントは基本的には、「イベント種別」と「その処理内容」からなり、前記した「項目名」と「イベント種別」は項目部品エレメントを特定する「イベント識別子」として用いられる。
また、「派生元項目名」は、前記した追加イベント表に記憶されている項目部品エレメントのように、ある項目部品エレメントの実行の完了の通知を受けて実行される項目部品エレメントにおいて、その実行の契機となる項目部品エレメントの項目名(派生元項目名)を記述する部分であり、項目部品エレメントによってはこの部分は存在しない。
【0060】
上記のような「派生元項目名」(一つまたは複数個指定できる)を指定した項目部品エレメントは、派生元の項目の項目部品エレメントがその値を変化させた場合に、その項目部品エレメントの実行完了を契機として実行される。
なお、前記したようにイベント表23a、追加イベント表23bには上記項目部品エレメントのアドレスが記録され、イベントの発生の通知により上記項目部品エレメントが実行される。
【0061】
D1,D2は機能部品であり、機能部品は項目部品エレメントにおいて良く使われる決まりきった手続き、例えば「日付の計算」とか「利子の計算」などの手続きを記述した部分であり、必要に応じて付加され項目部品エレメントからサブルーチンのように呼び出され使用される。
図6は項目部品の中に必要に応じて設けられる関係チェック部品(同図におけるを「PERFORM 関−チェツク年月日」の部分)の使われ方の一例を示す図であり、同図の(a)は年項目部品の中に設けられた関係チェック部品、(b)は月項目部品の中に設けられた関係チェック部品、(c)は日項目部品の中に設けられた関係チェック部品を示している。
【0062】
例えば、年月日間の整合性をチェックするなど、項目間の関係チェックを行う何行かのプログラムからなる関係チェックルーチンは同図に示すように複数の項目部品に出現する。そこで、その内容を一か所に書いておき、ぞれぞれ必要とする所で実行させることによりチェック内容の不一致は発生しないし、全体の行数も少なくてすむ。このような部品を機能部品の一種として扱う。
【0063】
図6において、「CHECK SECTION 」は、例えば、フォーカスアウト時(カーソルが画面上の当該データ項目の位置から移動したとき)等に入力データのチェック等を行う項目部品エレメントであり、同図は、上記項目部品エレメント「CHECK SECTION 」の中に関係チェック部品「PERFORM 関−チェツク年月日」を設けた例を示しており、最後の行の「#COPYCOMMON CHECKYMD」の「CHECKYMD」は取り込むべき関係チェック部品の部品名を示している。
【0064】
図7は上記した機能部品等を含む項目部品の一例を示す図であり、同図において、Aは項目名記述部、Bはデータ項目の宣言部、C1,C2は項目部品エレメントを示している。
同図の項目部品エレメントC1,C2における「INIT SECTION」および「CHECK SECTION 」はイベント種別であり、「INIT SECTION」は画面の開始時に実行される項目部品エレメントであることを示し、ここでは初期値の設定を行うのが普通である。また、「CHECK SECTION 」は上記したようにフォーカスアウト時に実行される項目部品エレメントであることを示し、ここでは入力データのチェック等を行う。
【0065】
同図に例においては、項目部品エレメントC1,C2内に利子計算を行う機能部品の呼び出し「PERFORM 利子計算」と、利用者資格についての関係チェックを行う機能部品の呼び出し「PERFORM 関−利用者資格−操作」を設けている。
図8ないし図10は本実施例の動作ルーチン決定装置23における処理を示すフローチャートであり、図8はイベント発生の通知がなされた場合の処理、図9および図10は項目部品エレメントの実行完了の通知がなされた場合の処理を示している。
【0066】
次に、図8ないし図10のフローチャートを参照して本実施例の動作を説明する。
入力装置21もしくは出力装置22でイベントが発生しイベント識別子が通知されると、動作ルーチン決定装置23は、図8のステップS1において通知されたイベント識別子がイベント表23aの中に存在するかどうかを調べ、存在しない場合には処理を終了する。また、存在する場合には、ステップS2において、通知されたイベント識別子が複数の項目部品エレメントのアドレスに対応するかどうか調べ、複数に対応しない場合には、ステップS4に行く。
【0067】
複数に対応する場合には、ステップS3において、先頭の項目部品エレメントアドレスを除いた残りの項目部品エレメントアドレスを一つずつスタック23cに入れ込む。
ついで、ステップS4において、通知されたイベント識別子に対応する先頭の項目部品エレメントアドレスを指定して、処理装置24に項目部品エレメントの実行の指示を行う。
【0068】
処理装置24は動作ルーチン決定装置23により指示された項目部品エレメントを記憶装置25の指定されたアドレスより読み出して処理を実行し、実行が完了すると、動作ルーチン決定装置23に項目部品エレメントの実行完了の通知を行う。
動作ルーチン決定装置23は、処理装置24より項目部品エレメントの実行完了の通知を受け、「実行完了した項目部品エレメント識別子」が通知されると、図9のステップS5において、通知された「実行完了した項目部品エレメント識別子」が追加イベント表23bに存在するかどうかを調べ、存在する場合には、図10のステップS8に行く。また、存在しない場合には、ステップS6において、スタック23cが空き状態かどうか調べ、スタック23cが空き状態の場合には処理を終了する。また、空き状態でない場合には、ステップS7に行き、スタック23cから項目部品エレメントアドレスを一つ取り出して上記と同様に処理装置24に対して項目部品エレメントアドレスを指定して、処理装置24に項目部品エレメントの実行の指示を行う。
【0069】
ステップS5において、実行完了した項目部品エレメントアドレスが存在すると判断された場合には、図10のステップS8に行き、通知された「実行完了した項目部品エレメント識別子」が複数の項目部品エレメントアドレスに対応するかどうか調べ、複数に対応しない場合には、ステップS10に行く。複数に対応する場合には、ステップS9において、先頭の項目部品エレメントアドレスを一つずつスタック23cに入れ込む。ついで、ステップS10において、通知された「実行完了した項目部品エレメント識別子」に対応する先頭の項目部品エレメントアドレスを指定して処理装置24に対して項目部品エレメントの実行の指示を行い、処理終了する。
【0070】
処理装置24は上記指示を受けると、記憶装置25の指定されたアドレスより項目部品エレメントを読み出し、その処理を実行する。
なお、上記実施例においては、説明を簡単にするため、項目部品エレメントの実行の順序を決定する方式として、デプスファーストを採用した場合を示した。実際には、ロジックが少し複雑になるが、ウィドゥスファースト方式を採用する方が実用的である。
【0071】
例えば、P〜Vの7個の項目部品エレメントが存在し、図11に示す追加イベント表が存在する場合、デプスファースト方式を採用した場合の動作順序は例えば下記▲1▼のようになり、また、ウィドゥスファースト方式を採用した場合には例えば下記の▲2▼のようになる。
▲1▼ 項目部品エレメントPの実行完了:項目部品エレメントQ→S→T→R→U→(S)→V
▲2▼ 項目部品エレメントPの実行完了:項目部品エレメントQ→R→T→U→V→S
図12ないし図14は上記システムを商品単価と数量より売上金額を計算する場合に適用した実施例を示す図であり、同図により、本実施例について説明する。
【0072】
図12はディスプレイ画面上に表示された売上画面を示す図であり、同図に示すように、画面には、顧客コード、商品コード欄、商品名欄、単価、数量、金額欄等が表示されている。
同図の画面は、顧客コード、顧客名、日付からなるヘッド部分と、商品コード、商品名、単価、数量、金額からなるボディ部分と合計金額からなるテール部分の三つの部分に分けられ、ボディ部分は明細行が繰り返す形をしている。
【0073】
上記のような繰り返しのあるデータ項目は、通常、次に示すように添字を付けた配列データ項目として扱うのが普通である。
商品コード〔明細ポインタ〕,商品名〔明細ポインタ〕,・・・
しかし、項目部品エレメントにおいて、上記データを配列データとして扱うと、そのデータ項目を扱う項目部品エレメントは配列を扱えるものに専用にしなければならないことになる。例えば、ヘッド部分にあるデータ項目をボディ部分に移動する場合には添字を付加する修正が必要になってくるからである。
【0074】
上記のような修正を不要にするため、前記したように、動作ルーチン決定装置23は添字付きデータ項目格納部23eに格納された添字付きデータを添字付きデータ項目−添字なしデータ項目変換機構23dにより変換して、記憶装置25の一時記憶装置25dに設けられた添字なしデータ項目格納部251に転送する。項目部品エレメント25a−1,25a−2,…,にはカレント行に対する手続きが記述されており、項目部品エレメント25a−1,25a−2,…,は添字なしデータ項目格納部251に格納された添字なしデータ項目について処理を行う。
【0075】
図13は本実施例における項目部品の一例を示す図であり、本実施例において、項目部品は、例えば、顧客コード部品、顧客名部品、日付部品、商品コード部品、商品名部品、単価部品、数量部品、金額部品、合計金額部品から構成されている。
次に、本実施例における項目部品エレメントが次のA〜Eで構成されており、また、追加イベント表が図14に示す構成である場合に、本実施例を図2に示す装置で実行した場合の動作を説明する。
A:データ入力完了イベントに対応する商品コード部品の項目部品エレメント
B:Aの実行完了で動作する商品名部品の項目部品エレメント
C:Aの実行完了で動作する単価部品の項目部品エレメント
D:Cの実行完了で動作する金額部品の項目部品エレメント
E:Dの実行完了で動作する合計金額部品の項目部品エレメント
図12の画面において、商品コードの入力が完了すると、入力装置21より 動作ルーチン決定装置23に商品コードの入力完了というイベント発生の通知が行われ、動作ルーチン決定装置23はイベント表23aを参照して、Aの項目部品エレメントアドレスを求め、処理装置24に対してその項目部品エレメントの実行を指示する。
【0076】
処理装置24は上記指示をうけると、Aの項目部品エレメントの実行を行う。すなわち、入力データをチェックするため、この値をキーにしてデータファイル25cの商品コードマスタファイルまたは商品コードマスタ・データベースを読み込んで、その商品コードの情報を得る。
上記項目部品エレメントの実行が完了すると、処理装置24は動作ルーチン決定装置23に実行完了の通知を行う。動作ルーチン決定装置23が上記通知を受けると、追加イベント表23b(図14)を参照して、Aの項目部品エレメントの実行完了識別子に対応したBの項目部品エレメント、Cの項目部品エレメントアドレスを得る。そして、Cの項目部品エレメントアドレスをスタック23cに入れ込むとともに、Bの項目部品エレメントの実行を処理装置24に指示する。
【0077】
処理装置24は上記実行の指示を受けると、Bの項目部品エレメントの実行を行う。すなわち、Aの項目部品エレメントを実行したことによって得た商品名を図12に示す画面に表示し、動作ルーチン決定装置23にBの項目部品エレメントの実行が完了したことを通知する。
動作ルーチン決定装置23が上記通知を受けると、スタック23cよりCの項目部品エレメントアドレスを取り出して、Cの項目部品エレメントの実行を処理装置24に指示する。処理装置24は上記実行の指示を受けると、Cの項目部品エレメントの実行を行う。すなわち、Aの項目部品エレメントを実行したことによって得た単価を図12に示す画面に表示し、動作ルーチン決定装置23にCの項目部品エレメントの実行が完了したことを通知する。
【0078】
動作ルーチン決定装置23が上記通知を受けると、追加イベント表23bを参照して、Cの項目部品エレメントの実行完了識別子に対応したDの項目部品エレメントアドレスを得て、その実行を処理装置24に指示する。
処理装置24は上記実行の指示を受けると、Dの項目部品エレメントの実行を行う。すなわち、数量が入力済であるか否か調べ、入力済の場合には、数量×単価を金額として図12に示す画面に表示する。そして、動作ルーチン決定装置23にDの項目部品エレメントの実行が完了したことを通知する。
【0079】
動作ルーチン決定装置23が上記通知を受けると、追加イベント表23bを参照して、Dの項目部品エレメントの実行完了識別子に対応したEの項目部品エレメントアドレスを得て、その実行を処理装置24に指示する。
処理装置24は上記実行の指示を受けると、Eの項目部品エレメントの実行を行う。すなわち、算出された金額を合計して、合計金額を図12に示す画面に表示する。
【0080】
図15は本発明の第2の実施例を示す図であり、本実施例は、第1の実施例の動作ルーチン決定装置23に入出力制御機構23fを設け、ここで人間と機械の間の情報交換方式(HCI:ヒューマン・コンピュータ・インタフェース、LOOK&FEEL)を、項目部品に影響を与えることなく制御できるようにしたものであり、その他の構成は図2に示した第1の実施例と同様であり、同一のものには同一の符号が付されている。
【0081】
動作ルーチン決定装置23において、入出力制御機構23fは、運用パラメータを設定する手段23gに設定された運用パラメータに応じて、例えば、画面に全てのデータ項目が入力されたときに画面上のデータ項目の処理を一括して行うか、画面上にデータ項目が入力される毎にデータ項目の処理を逐次行うか等のデータの入力と画面処理の制御、1画面におさまりきらない情報を表示する場合にスクローリングするかページングするかの制御等を、項目部品に影響を与えることなく制御する。
【0082】
本実施例においては、上記のように、入出力制御機構23fを設け、運用パラメータの選定に応じて、ここで、入出力の制御を行うようにしたので、項目部品に影響を与えることなくユーザの好みに合ったインタフェースを得ることができる。
また、上記運用パラメータを選定することにより、上記第1、第2の実施例に示したような、画面への入出力だけでなく、磁気テープ、FD等との入出力を制御することができる。
【0083】
図16は本発明の第3の実施例を示す図であり、同図は上記したように運用パラメータ23gの設定により入出力制御機構23fが、磁気テープ、キーボードあるいはFD等の入力装置21’と磁気テープ、プリンタ、FD装置等の出力装置22’を制御する実施例を示している。
本実施例においては、運用パラメータを設定する手段が動作ルーチン決定装置23と記憶装置25に設けられており、動作ルーチン決定装置23の運用パラメータAは入出力制御機構23fの入出力制御を設定し、また記憶装置25に設けられた運用パラメータBはデータファイル25cの更新方式を設定する。また、運用パラメータBについても、運用パラメータAと同様、その値を設定することにより、動作ルーチン決定装置23あるいは項目部品エレメント25a−1,25a−2,…,の動作とは独立にデータファイル25cの更新方式またはサーバクライアント構成を採用するかスタンドアロン構成を採用するか等を設定することができる。
【0084】
一般に、データファイルの更新方式としては、全サマリ・ファイルを更新してから次のデータを受け付けるリアルタイム更新方式、トランザクション・ファイルだけを更新して次のデータを受け付けサマリ・ファイルは並列的に更新するコンカレント更新方式、トランザクション・ファイルだけを更新して次のデータを受け付けサマリ・ファイルの更新は後刻バッチ処理するバッチ更新方式があるが、運用パラメータBを設定することにより、上記のようなデータファイル25cの更新方式を設定することができる。
【0085】
本実施例の動作は、前記した図2に示した実施例と同様であり、入力装置21’あるいは出力装置22’の磁気テープ、キーボード、FD装置等からイベント発生の通知を受けると、動作ルーチン決定装置23はイベント表23aを参照して項目部品エレメント25a−1,25a−2,…,のアドレスを読み出し、その実行を処理装置24に指示する。上記指示を受けると処理装置24は実行を指示された項目部品エレメントを実行し、例えば、運用パラメータBに設定された更新方式により、データファイル25cを更新する。処理装置24が実行を完了すると、動作ルーチン決定装置23に項目部品エレメント実行完了の通知を行う。上記通知を受けると動作ルーチン決定装置23は追加イベント表23bを参照して次に実行する項目部品エレメントのアドレスを求め、上記と同様に処理装置24にその実行を指示する。
【0086】
図17は本発明の第4の実施例を示す図であり、本実施例は図2に示した第1の実施例における動作ルーチン決定装置23が行っていた機能を処理装置33で実行させるようにしたものである。
同図において、31は入力装置、32は出力装置、33は処理装置、34は記憶装置であり、記憶装置34には、項目部品エレメント34a、その他のルーチン34d、データファイル34eに加え、イベント表34b、追加イベント表34cおよび処理装置33に第1、第2、第3の実施例における動作ルーチン決定装置の機能を代行させるための動作ルーチン決定処理プログラムが格納され、さらに、第2、第3の実施例に示したように、入力制御方式およびファイルの更新方式を設定する運用パラメータ34gを格納する格納部および次に実行する項目部品エレメントアドレスを入れ込むスタックが設けられている。
【0087】
本実施例の動作は第1ないし第3の実施例と同様であり、画面あるいは磁気テープ、FD装置等から構成される入力装置31、出力装置32からイベントの発生が処理装置33に通知されると、処理装置33はイベント表34bを参照して、イベント識別子に対応した項目部品エレメントアドレスを求め、そのアドレスに格納された項目部品エレメント34aを実行する。また、上記イベント識別子に対応した項目部品エレメントアドレスが複数ある場合には、実行する項目部品エレメント以外の項目部品エレメントアドレスをスタック34hに入れ込む。
【0088】
そして、項目部品エレメントの実行が完了すると、追加イベント表34cを参照して、次に実行する項目部品エレメントアドレスを求め、その項目部品エレメントを実行する。以下同様にして、順次項目部品エレメントを実行して所望の処理を行う。
図18は本発明の第5の実施例を示す図であり、本実施例はローダ35により、項目部品エレメント36a、その他のルーチン36b等をロードするようにした実施例を示している。
【0089】
同図において、35は機械語に翻訳されている項目部品エレメント36a等を処理装置33の記憶装置34にロードするローダ、36a,36bはそれぞれローダ35を介して記憶装置34にロードされる項目部品エレメントおよびその他のルーチン、36cは項目部品エレメント36aおよびその他のルーチン36bとともにローダ35を介してロードされる各種定義体であり、各種定義体36cには、画面を介して入出力を行う画面制御システムの場合には、その画面上のデータ項目、データ項目を表示する位置等が定義され、帳票を処理する帳票システムの場合には、帳票の構造が定義され、さらに、データベース・システムの場合には、データベースにおける表(テーブル)構造が定義されている。
【0090】
36dは手本ファイルであり、手本ファイル36dは手本として用意された共通に使用できる項目部品のひな型である。すなわち、項目部品を数多く開発すると、非常に似通った項目部品が存在することに気が付く。その違いを詳しく調べてみると、データ項目名だけが異なるだけであったり、データ項目名とファイル名などの一部の名称がことなるだけで他は同じである場合が多い。手本ファイル36dは上記のような共通に使用できる項目部品のひな型であり、ロード時、手本ファイル36dと、図19に示すようなデータ項目名、ファイル名などの文字列の置き換えを指示する項目部品とを入力し、ローダ35で必要とする項目部品を生成する。
【0091】
本実施例のその他の構成は図17に示した第4の実施例と同様であり、同一のものには同一の符号が付されている。
図18において、ローダ35より項目部品エレメント36a(もしくは項目部品エレメント36aをまとめた項目部品)、その他のルーチン36b、各種定義体36c、手本ファイル36dを入力すると、ローダ35は項目部品エレメント36a、その他のルーチン36bを記憶装置34の所定のアドレスに格納するとともに、項目部品エレメント36aに記録された「イベント識別子」もしくは「実行完了した項目部品エレメント識別子」と上記項目部品エレメントの格納アドレスに基づき、記憶装置34上のイベント表34bおよび追加イベント表34cを生成する。
【0092】
その際、各項目部品で使用する機能部品そのものまたはその宣言、および、項目部品または機能部品が使用するデータ項目の宣言の内重複する機能部品そのものまたは宣言を一つにまとめる。
すなわち、各項目部品には、その項目部品で使用する機能部品そのものや、その宣言や、その項目部品または機能部品が使用するデータ項目の宣言を含めるようにすることが望ましい。このようにしないと、いくつかの項目部品から構成されるアプリケーション・プログラムが使用する機能部品やデータ項目を手作業で収集して別途宣言する必要が生ずる。しかしこのように各項目部品ごとに機能部品やデータ項目を宣言すると、項目部品間で宣言の重複が生じてしまうという問題が生ずる。そこで上記のように、ローダ35が項目部品を読み込む際に、重複する宣言を一つにまとめる。
【0093】
また、手本ファイル36dから項目部品を作成する場合には、ローダ35は手本ファイル36dと図19に示す項目部品とから、データ項目名、ファイル名などが置き換えられた項目部品を生成し、前記した項目部品エレメント36aと同様に、記憶装置34の所定のアドレスに格納するとともに、イベント表34bおよび追加イベント表34cを生成する。
【0094】
上記のようにして記憶装置34に項目部品エレメント34a、イベント表34b等がロードされると、処理装置33は前記した第4の実施例と同様に、入力装置31,出力装置32からの入力装置31、出力装置32からのイベントの発生の通知に応じて項目部品エレメント34a、その他のルーチンを実行する。
また、上記実施例においては、手本ファイル36dと手本ファイルのデータ項目名等の置き換えを指示する項目部品をローダ35に入力し、項目部品エレメント34aを生成し記憶装置34にロードする実施例を示したが、手本ファイル34iを予め記憶装置34に格納しておき、ユーザが項目部品の入力の省略をしたときは、ロード時に各種定義体に存在するにもかかわらずそれに対応する項目部品エレメントが存在しないことから項目部品エレメントが省略されたことを判断して、自動的に項目部品エレメント34aを生成させることもできる。
【0095】
この場合には、図18に示すように、予め手本ファイル34iを記憶装置34に格納しておく。そして、ローダ35に各種定義体36cが入力されたとき、ローダ35は各種定義体36cで定義されているデータ項目を参照して、手本ファイル34iのデータ項目を置き換えて自動的に項目部品エレメント34aを生成し、記憶装置34にロードする。
【0096】
上記のようにすることにより、図19に示すデータ項目名などの値の置き換えを指示する項目部品を入力することなく、項目部品エレメント34aを生成することができる。
図20は本発明の第6の実施例を示す図であり、本実施例はソース・プログラム形式で記述された項目部品エレメント等をコンパイラ37によりコンパイルして目的プログラム38を得て、目的プログラム38をローダ35により記憶装置34にロードするとともに、データ項目の型の定義を行う型ファイル36eをコンパイラ37に入力してデータ型を指定する実施例を示している。
【0097】
同図において、型ファイル36eはデータ項目の型名に対応したデータ項目の型(数値項目か文字項目かの属性や長さなど)を定義するファイルである。
項目部品エレメントもしくは項目部品で使用するデータ項目の型は、直接的に型の宣言をするのではなく、間接的に型の名で指定し、別途、それぞれの型がどのような内容となるかを定義しておくことにより、型の内容を変更する場合に、型の定義だけを指定し直すことで、それぞれの項目部品もしくは項目部品エレメントで使用するデータ項目の型の宣言をしなおす必要がなくなる。
【0098】
このために、上記型ファイル36eを設け、データ項目の型名に対応したデータ項目の型を定義しておく。
例えば、図21の(a)に示すように、項目部品もしくは項目部品エレメントでデータの型を宣言する場合に、「得意先名称」、「優待得意先名称」、「休眠得意先名称」の型を「得意先名称型」として宣言しておき、型ファイル36eにより、別途、「得意先名称型」を「長さ20の文字」と定義しておく。そして、上記データ型制御機構により「得意先名称型」を「長さ20の文字」として扱うようにする。
【0099】
図21(b)は上記のようにデータ型を指定しない場合における項目部品もしくは項目部品エレメントにおけるデータ項目の宣言を示す図であり、この場合には、同図に示すように各項目部品もしくは項目部品エレメントでデータ項目の宣言をする必要があり、文字の長さ等を変更する場合に変更する箇所が多くなる。
同様に、例えば、型ファイル36eにおいて電話番号型として、「電話番号型長さ8の数値」として定義しておき、項目部品エレメントのデータ項目の宣言部において、「電話番号 電話番号型」と宣言しておけば、電話番号を8桁の市内番号から10桁の市外番号に変更する場合に、上記型ファイル36eの定義を「電話番号型 長さ10の数値」と変えるだけで、各項目部品のデータ宣言部を変更することなく、データ項目の型を変えることができる。
【0100】
図20において、コンパイラ37にソースプログラム形式で記述された項目部品エレメント36a、その他のルーチン36b、型ファイル36eが入力されると、コンパイラ37はこれらをコンパイルして、目的プログラムを生成する。その際、項目部品エレメント36aがロードされるアドレスとそのイベント識別子に基づきイベント表と追加イベント表を生成するとともに、型ファイル36eに定義されたデータ項目の型に基づき、各項目部品もしくは項目部品エレメントのデータ宣言部に間接的に指定されているデータ項目の型を直接的なデータ項目型に変換する。また、第5の実施例の場合と同様、各項目部品で使用する機能部品の宣言、および、項目部品または機能部品が使用するデータ項目の宣言の内重複する宣言を一つにまとめる。
【0101】
上記のようにして生成された目的プログラム38はローダ35により記憶装置34にロードされ、処理装置33は前記した第4の実施例と同様に、入力装置31,出力装置32からのイベントの発生の通知に応じて項目部品エレメント34a、その他のルーチンを実行する。
なお、上記実施例においては、型ファイル36eを入力してデータ項目の型を定義する実施例について説明したが、本実施例においても、第5の実施例において示したように、手本ファイルをコンパイラ37に入力して項目部品を生成したり、また、記憶装置34に予め手本ファイルを格納しておき、項目部品を自動的に生成することもできる。
【0102】
また、同様に、第5の実施例において、第6の実施例と同様、データ項目の型を定義する型ファイルをローダに入力して、データ型の定義された項目部品を生成することもできる。
【0103】
【発明の効果】
以上説明したように、本発明においては、特定イベントの発生もしくは特定の条件が成立したことを契機として実行されるイベント駆動ルーチンから一つのデータ項目に強い関連性を持つ処理部分を項目部品エレメントとして切り出して、上記項目部品エレメントを組み合わせてソフトウェアを構成し、イベントの発生が通知されたとき、もしくは、項目部品エレメントの実行により特定の条件が成立したことを契機として、項目部品エレメントを実行するようにしたので、再利用性の高いソフトウェア部品を組み合わせるだけで、所望の処理の殆どを実現することができ、主に事務処理分野において、ソフトウェアの開発作業の生産性を構造的に向上させることができる。
【0104】
また、少数のソフトウェア部品の交換によって機能変更要求の大半に対応することができ、主に事務処理分野において機能変更作業の生産性を向上させることができる。例えば、事務処理分野のソフトウェアによくあるタイプの機能変更作業の93例について調査したところ、通常のCOBOLにより記述されたソフトウェアに比べて、本発明においては、変更作業の生産性については9例は約5倍、25例は約3倍、34例は約1.5倍の生産性の向上が見込まれるという結果を得ることができた。
【0105】
さらに、項目部品エレメントにおけるデータ項目の型をデータ項目の型を示す名前で指定できるようにしたり、データ項目間の関係チェック機能を持つ関係チェック部品を設けたり、また、項目部品の手本を基に新たな項目部品を生成する等の手段を用いることにより、ソフトウェアの作成、修正作業を一層容易にすることができる。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明の第1の実施例を示す図である。
【図3】本発明の実施例におけるイベント表を示す図である。
【図4】本発明の実施例における追加イベント表を示す図である。
【図5】本発明の実施例における項目部品の一般的な構成を示す図である。
【図6】本発明の実施例における関係チェック部品の使われ方の一例を示す図である。
【図7】機能部品、関係チェック部品等を含む項目部品の一例を示す図である。
【図8】動作ルーチン決定装置における処理を示すフローチャートである。
【図9】動作ルーチン決定装置における処理を示すフローチャート(続き)である。
【図10】動作ルーチン決定装置における処理を示すフローチャート(続き)である。
【図11】追加イベント表の一例を示す図である。
【図12】ディスプレイ画面上に表示された売上画面を示す図である。
【図13】図12の売上画面における項目部品の一例を示す図である。
【図14】図12の売上画面における追加イベント表を示す図である。
【図15】本発明の第2の実施例を示す図である。
【図16】本発明の第3の実施例を示す図である。
【図17】本発明の第4の実施例を示す図である。
【図18】本発明の第5の実施例を示す図である。
【図19】本発明の第5の実施例における項目部品の一例を示す図である。
【図20】本発明の第6の実施例を示す図である。
【図21】本発明の第6の実施例においてデータ項目の型の宣言を示す図である。
【図22】従来例を示す図である。
【図23】従来例におけるイベント表を示す図である。
【符号の説明】
1 入出力装置
2 項目部品エレメントの実行を指示する手段
2a,4e,23g,34g 運用パラメータ
2b,23d データ項目変換機構
3 項目部品エレメントを実行する手段
4,25,34 記憶装置
4a 項目部品
4b,25a−1,25a−2,34a,36a 項目部品エレメント
4c 機能部品
4d 関係チェック部品
5,34i,36d 手本ファイル
21,21’,31 入力装置
22,22’,32 出力装置
23 動作ルーチン決定装置
23a,34b イベント表
23b,34c 追加イベント表
23c,34h スタック
23e 添字付きデータ項目格納部
23f 入出力制御機構
24,33 処理装置
25b,36b,34d その他のルーチン
25c,34e データファイル
25d 一時記憶装置
251 添字なしデータ項目格納部
34f 動作ルーチン決定処理プログラム
35 ローダ
36c 各種定義体
37 コンパイラ
38 目的プログラム
36e 型ファイル

Claims (9)

  1. イベントが発生し、このイベントに対応したイベント識別子が通知されたとき、このイベント識別子の通知に基づき、データ項目に対応する処理である項目部品エレメントのアドレスをイベント識別子に対応付けて格納したイベント表を参照して、上記イベント識別子に対応する項目部品エレメントを実行し、
    上記項目部品エレメントの実行が完了し、実行完了した項目部品エレメント識別子が通知されたとき、この通知に基づき、実行完了した項目部品エレメント識別子に対応付けて、データ項目に対応する処理である次に実行される項目部品エレメントのアドレスを格納した追加イベント表を参照して、追加イベント表に存在する上記実行完了した項目部品エレメント識別子に対応する項目部品エレメントを実行する
    ことを特徴とする項目部品エレメントの実行方法。
  2. データ項目に対応する処理である項目部品エレメントのアドレスをイベント識別子に対応付けて格納したイベント表と、
    実行完了した項目部品エレメント識別子に対応付けて、データ項目に対応する処理である次に実行される項目部品エレメントのアドレスを格納した追加イベント表と、
    イベントが発生し、このイベントに対応したイベント識別子が通知されたとき、この発生したイベントのイベント識別子の通知に基づき、前記イベント表を参照して、通知されたイベント識別子に対応する項目部品エレメントを実行する手段と、
    上記項目部品エレメントの実行が完了し、実行完了した項目部品エレメント識別子が通知されたとき、この通知に基づき、前記追加イベント表を参照し、追加イベント表に、上記実行完了した項目部品エレメント識別子が存在するとき、該実行完了した項目部品エレメント識別子に対応した次に実行される項目部品エレメントを実行する手段とを備えた
    ことを特徴とする項目部品エレメントの実行装置。
  3. 入出力制御に関する運用パラメータを設定する手段を備え、 前記運用パラメータの設定に応じて入出力制御を行う
    ことを特徴とする請求項2の項目部品エレメントの実行装置。
  4. データ項目の型名に対応したデータ項目の型を定義した型ファイルを備え、
    前記項目部品エレメントには、該項目部品エレメントで使用するデータ項目を宣言するデータ宣言部が設けられており、
    項目部品エレメントを実行する際、前記型ファイルの定義に基づき、各項目部品エレメントのデータ宣言部に指定されているデータ型を変換する
    ことを特徴とする請求項2または請求項3の項目部品エレメントの実行装置。
  5. 添字付きデータ項目と添字なしデータ項目を相互に変換する変換機構を備え、
    項目部品エレメントを実行する際、前記変換機構により添字付きデータ項目を添字なしデータ項目に変換し、項目部品エレメントは、該添え字なしデータ項目を用いて処理を行う
    ことを特徴とする請求項2,3または請求項4の項目部品エレメントの実行装置。
  6. 項目部品エレメントは、同じ項目に対応する複数の項目部品エレメントをまとめた項目部品に定義されており、
    前記項目部品には、該項目部品に含まれる複数の項目部品エレメントにより使用される、決まりきった手続を記述した機能部品が格納され、
    前記項目部品で使用される機能部品そのものまたはその宣言、及び、項目部品または該機能部品が使用するデータ項目の宣言のうち、重複する機能部品または宣言が重複しないように、重複するものを一つにまとめて記憶装置に格納する
    ことを特徴とする請求項2,3,4または請求項5の項目部品エレメントの実行装置。
  7. データ項目間の関係チェック機能を持つ関係チェック部品を設け、
    各項目部品エレメントが該関係チェック部品を呼び出すことにより、データ項目間の関係をチェックする
    ことを特徴とする請求項2,3,4,5または請求項6の項目部品エレメントの実行装置。
  8. 前記項目部品と、共通に使用できる項目部品のひな型である手本ファイルをロードし、
    前記手本ファイルに基づいて、項目部品を自動的に生成する
    ことを特徴とする請求項2,3,4,5,6または請求項7の項目部品エレメントの実行装置。
  9. 前記項目部品が省略されたとき、前記共通に使用できる項目部品のひな型である手本ファイルをもとに項目部品を自動的に生成することを特徴とする請求項8の項目部品エレメントの実行装置。
JP14023293A 1993-06-11 1993-06-11 項目部品エレメントの実行方法および実行装置 Expired - Fee Related JP3741450B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP14023293A JP3741450B2 (ja) 1993-06-11 1993-06-11 項目部品エレメントの実行方法および実行装置
US08/253,860 US6035343A (en) 1993-06-11 1994-06-03 Method for executing software formed of software components and a system for executing such software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14023293A JP3741450B2 (ja) 1993-06-11 1993-06-11 項目部品エレメントの実行方法および実行装置

Publications (2)

Publication Number Publication Date
JPH06348498A JPH06348498A (ja) 1994-12-22
JP3741450B2 true JP3741450B2 (ja) 2006-02-01

Family

ID=15263986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14023293A Expired - Fee Related JP3741450B2 (ja) 1993-06-11 1993-06-11 項目部品エレメントの実行方法および実行装置

Country Status (1)

Country Link
JP (1) JP3741450B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532586B1 (en) * 1995-10-30 2003-03-11 Information System Development Institute Software producing method, processor, processing method and recording medium
NZ335460A (en) * 1996-10-30 2000-11-24 Inf System Development Inst Software producing method, processor, processing method and recording medium
JP2003228677A (ja) * 2002-02-05 2003-08-15 Dainippon Printing Co Ltd 商品カタログ用電子媒体の作成システム
JP2007242051A (ja) * 2007-05-21 2007-09-20 Nomura Research Institute Ltd ビジネスロジックプログラムを実装・実行するための装置
JP6727675B1 (ja) * 2019-09-05 2020-07-22 株式会社コマースロボティクス 情報処理システム、情報処理方法及び情報処理プログラム

Also Published As

Publication number Publication date
JPH06348498A (ja) 1994-12-22

Similar Documents

Publication Publication Date Title
JP3302522B2 (ja) データベースシステムおよびその情報活用支援装置
US5195178A (en) Adaptive window system for dynamically modeling information systems
US5233513A (en) Business modeling, software engineering and prototyping method and apparatus
US5987472A (en) System and method for handling database cross references
US20030204637A1 (en) Method and apparatus for generating compilable application programs
JPH09212352A (ja) プログラム開発支援システム
JPH11296541A (ja) 構造化データ管理システム及び構造化データ管理プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH10143574A (ja) 業務遂行支援システム
US6035343A (en) Method for executing software formed of software components and a system for executing such software
JPH07302257A (ja) コンピュータ実装電子式性能支援システム及びその実装方法
US5781905A (en) Program generating method combining data item part with database manipulation part
US5625801A (en) Method and apparatus for producing standardized software specifications and software products
JP3741450B2 (ja) 項目部品エレメントの実行方法および実行装置
JP3704374B2 (ja) ドキュメント管理システム
US6453318B1 (en) Control apparatus of structured information and method of controlling the information
JP3299259B2 (ja) プログラムの構造図編集処理方式
JPH0778215A (ja) 業務プログラムの実行方法
JP2007026389A (ja) データ入力装置
JPH11327884A (ja) 既存システム処理情報を再構成し利用するシステム
JPH0588863A (ja) プログラム開発支援システム
JP2720768B2 (ja) プログラムカストマイズ装置
JP2619487B2 (ja) フアイル操作方式
JPH08278881A (ja) 対話処理システム構築支援装置
CN117687681A (zh) 一种低代码应用的版本管理方法及系统
JPH04294424A (ja) コンピュータシステムの対話的画面制御装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051108

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20081118

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20091118

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101118

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees