JP2988911B1 - プログラム自動生成装置 - Google Patents

プログラム自動生成装置

Info

Publication number
JP2988911B1
JP2988911B1 JP10188327A JP18832798A JP2988911B1 JP 2988911 B1 JP2988911 B1 JP 2988911B1 JP 10188327 A JP10188327 A JP 10188327A JP 18832798 A JP18832798 A JP 18832798A JP 2988911 B1 JP2988911 B1 JP 2988911B1
Authority
JP
Japan
Prior art keywords
layout
screen
information
group
program
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
JP10188327A
Other languages
English (en)
Other versions
JP2000020295A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10188327A priority Critical patent/JP2988911B1/ja
Application granted granted Critical
Publication of JP2988911B1 publication Critical patent/JP2988911B1/ja
Publication of JP2000020295A publication Critical patent/JP2000020295A/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

【要約】 【課題】 画面プログラムの効率的な生成、及び当該画
面アプリケーションを構成する画面表示以外のロジック
並びに文書を自動生成する。 【解決手段】 レイアウトグループ生成部14は、指定
された複数のデータ項目によりレイアウトグループを生
成し、また、各レイアウトグループの属性情報を定義す
る。グループ内レイアウト定義部15は、各データ項目
のレイアウトグループ内におけるレイアウトを定義す
る。レイアウト生成部4は、画面上にレイアウトグルー
プを配置することで画面レイアウトを決定する。プログ
ラム生成部5は、決定された画面レイアウトに関する情
報、配置されたレイアウトグループ及びそれを構成する
データ項目の属性情報等を参照することで画面プログラ
ムを生成する。また、通信処理を伴う場合、ロジックフ
ァイル10に登録されている関数、関数の引数等を画面
から設定させる後、通信ロジックを自動生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラム自動生
成技術に関し、特に画面からの入出力を伴う業務アプリ
ケーションの効率的な開発環境の提供に関する。
【0002】
【従来の技術】従来から様々な種類の業務アプリケーシ
ョンが開発されているが、近年のGUI(Graphi
cal User Interface)環境やネット
ワーク環境の発展に伴い、業務を単に遂行するための機
能だけで留まらず操作性のよい画面や他のシステムとの
送受信機能をも容易に実現できるようになってきてい
る。
【0003】一般に、業務アプリケーションの開発は、
使用するプログラミング言語の仕様に従ってプログラミ
ングを行うことにより、ソースプログラムを生成した
後、コンパイルを行い実行イメージファイルを作成して
いる。入出力画面を設計する際には、開発者が画面ビル
ダと呼ばれるツールなどを利用して、仕様書を見ながら
GUI部品のレイアウトを設計している。また、通信処
理を伴う画面プログラムを開発する場合には、通信仕様
書をみながら業務アプリケーションの中にプログラミン
グ言語の仕様に従ってコーディングを書き加えている。
更に、説明書や仕様書の作成フェーズは、プログラムコ
ーディング、デバッグフェーズとは別個に独立して行っ
ている。
【0004】また、アプリケーション開発後においても
計算機のオペレーティングシステム(OS)や業務用シ
ステムで使用しているミドルウェアのバージョンアップ
などでプログラムに手直しが必要になった場合には、不
具合個所をソースプログラム上で目視点検して修正を行
っている。
【0005】ところで、近年では、画面からの入出力を
伴う業務アプリケーションを開発する際、特にウィンド
ウ画面のGUIを作成するためにGUIビルダというG
UIを構築するための支援ツール(GUIプログラム開
発環境)が提供されている。このツールには通常ライブ
ラリなども付随しており、プログラムが容易にかつ効率
的に構築できるようになっている。現在の主流は対話型
のビルダであり、対話型で自由に部品を配置できること
が大きな特徴になっている。
【0006】
【発明が解決しようとする課題】しかしながら、実際に
業務プログラムの開発を推進する過程では、この対話型
ビルダの生産性は、必ずしもよいとはいえなかった。な
ぜならば、業務プログラムの開発は、システムエンジニ
ア(SE)等が作成した仕様書をもとにGUIビルダに
よって画面と対話しながら作成していくが、開発者が仕
様書の項目名称を参照しながらGUIコントロール部品
を逐次配置していくのは面倒であり、かなりの時間を要
していたからである。また、ラベル部品と入力部品の高
さや位置をそれぞれに、更には画面全体におけるレイア
ウトを調整しながら配置するのもかなりの時間を要す
る。これらの画面作成時間を短縮することは、昨今のP
Cサーバを利用したプログラム開発では重要になってき
ている。
【0007】また、画面プログラムは、サーバ側のプロ
グラムと通信をして実行する形態がクライアントサーバ
システムでは一般化しており、画面のレイアウトのあ
と、通信処理や画面の入力処理、エラー処理などを記述
する必要がある。これらの処理も画面ビルダの提供する
言語仕様やライブラリの仕様に基づいて逐次定義して実
行できるレベルまで生成する必要がある。一般的には、
通信処理やエラー処理もSEが定義した仕様書があり、
これに基づいてコーディングをしている。これらの開発
に要する時間も決して少なくなく、仕様書の作成内容を
簡単に転記するだけで信頼される通信ロジックやエラー
処理が生成できることが望まれている。
【0008】また、基幹業務プログラムのシステム開発
では、生産性の高いプログラム開発を実現するために、
仕様書定義とプログラミングがほぼ並行して行えるよう
な上位レベルのプログラム定義階層が必要であり、ま
た、その上位レベルのプログラム定義より実際のプログ
ラムがソースプログラムとして生成されるような位置づ
けの開発環境が要求されている。
【0009】更に、近年では、OSや業務を実行するた
めのミドルウェアなどのバージョンアップが最近頻繁に
行われるようになってきている。ミドルウェアがバージ
ョンアップすると、それまで正常に動作していたプログ
ラムが動作しなくなるケースも珍しくない。これは、ミ
ドルウェアが上位互換の場合には動作が保証されるが、
上位互換がないと動作が保証されない場合があるからで
ある。このような場合でも、もう一度設計情報に基づき
新しいミドルウェアに対応したソースプログラムを自動
的に生成できるような機能が望まれている。
【0010】なお、このような開発環境を改善して効率
性を向上させるプログラム自動生成技術に関する先行技
術として、特開平8−44546号公報に記載された
「グラフィカルユーザインターフェースを備えたコンピ
ュータシステム」や特開平5−204628号公報に記
載された「画面プログラム作成装置」などがある。
【0011】前者には、画面設計を表示用部品の一覧か
ら選択と配置により行い、その属性値を設定し画面間の
連携を定義した上、表示系プログラムの設計を行う方法
が開示されている。しかし、この方法では、画面が自動
生成されないため、開発者が部品を配置する必要があ
り、手間がかかる。また属性値の変更などのたびに画面
配置をやり直す必要がある。
【0012】また、後者には、画面上の項目の定義を
し、その項目にユニークな識別子を与え、識別子のプロ
グラム上での実行順序を定義し、項目情報と識別子実行
順序を参照してプログラムを生成する方法が開示されて
いる。しかし、この方法は、GUI部品を対象としてお
らず、従来の汎用コンピュータなどの端末エミュレータ
で動作するプログラムの画面自動生成しか対応できな
い。近年のコンピュータシステムのオープン化の中では
GUI部品の自動配置と、サーバ側プログラムとの通信
による連携は必要であり、これについての対応が不十分
である。このように、両者ともプログラム自動生成とし
ては不十分である。
【0013】本発明は以上のような問題を解決するため
になされたものであり、その目的は、画面プログラムの
効率的な生成を可能とし、更にその開発過程で同じ画面
アプリケーションを構成する通信ロジック、エラー処理
ロジック等の他のプログラム並びに仕様書等の文書を自
動生成することでプログラム開発における生産性の向上
を図ることのできるプログラム自動生成装置を提供する
ことにある。
【0014】
【課題を解決するための手段】以上のような目的を達成
するために、発明に係るプログラム自動生成装置は、
開発対象となるアプリケーションが使用するデータベー
スに定義されている全データ項目に関する項目情報を画
面設計のために指定されうる設計情報として保持・管理
する情報管理手段と、設定画面に表示した前記情報管理
手段が保持しているデータ項目の中から選択されたデー
タ項目をグループ化することで画面上のレイアウト単位
となるレイアウトグループを生成するとともに、設定画
面からの入力設定事項に基づき当該レイアウトグループ
の画面表示形態に関する属性情報を定義するレイアウト
グループ生成手段と、設定画面からの入力設定事項に基
づき各レイアウトグループを構成するデータ項目が画面
表示される際の当該レイアウトグループ内におけるレイ
アウト及び当該各データ項目の画面表示形態に関する属
性情報を定義するレイアウトグループ内レイアウト定義
手段と、前記レイアウトグループ生成手段及び前記レイ
アウトグループ内レイアウト定義手段により定義された
各定義情報に基づいて、入力指定された1乃至複数のレ
イアウトグループを画面上に配置するとともに当該各レ
イアウトグループを構成する各データ項目を配置される
当該各レイアウトグループ内に配置することによって
面レイアウトの構成を自動的に行うレイアウト生成手段
と、前記レイアウト生成手段により決定された画面レイ
アウトを構成するレイアウトグループに関する情報に従
い画面表示を実行する画面プログラムを生成するプログ
ラム生成手段とを有するものである。
【0015】
【0016】また、前記データベースに定義されていな
いデータ項目を定義するデータ項目定義手段を有するも
のである。
【0017】また、前記情報管理手段は、予め設定され
ているロジック情報を設計情報として読み込むロジック
情報読込部を有し、前記プログラム生成手段は、画面を
構成するデータ項目とロジック情報を関連付けることに
よって当該データ項目が画面上において選択されたとき
のアプリケーションとしての振る舞いを定義するロジッ
ク生成部を有するものである。
【0018】更に、前記プログラム生成手段は、画面プ
ログラムにおいて通信処理が実行されうる場合にその画
面プログラムが使用するレイアウトグループを構成する
データ項目に関する設計情報に基づき通信項目の定義を
行う通信項目定義部を有し、前記ロジック生成部は、定
義した通信項目に基づき当該画面プログラムにおける通
信処理を実行するための通信ロジックを自動生成するも
のである。
【0019】また、前記レイアウト生成手段により決定
された画面レイアウトを構成するレイアウトグループに
関する情報及び当該レイアウトグループを構成する各デ
ータ項目に関する設計情報に従い前記アプリケーション
に関する文書を自動生成する文書自動生成手段を有する
ものである。
【0020】また、前記情報管理手段は、保持している
設計情報や属性情報などの全情報をファイルによって保
持・管理するものである。
【0021】
【発明の実施の形態】以下、図面に基づいて、本発明の
好適な実施の形態について説明する。
【0022】実施の形態1.図1は、本発明に係るプロ
グラム自動生成装置の一実施の形態を示した機能ブロッ
ク構成図である。本実施の形態におけるプログラム自動
生成装置は、開発対象となるアプリケーションが使用す
るデータベースの項目情報の入力、外付けロジックの入
力を行い、ユーザインターフェースを介して指定された
データベースを構成するデータ項目のレイアウトグルー
ピングを行い、各データ項目に対して各種属性を設定
し、画面レイアウトを自動生成し、また、通信などのプ
ログラムロジックを自動生成し、説明書や仕様書の自動
生成を行うものである。
【0023】本実施の形態におけるプログラム自動生成
装置は、情報管理部1、レイアウトグループ情報定義部
2、データ項目定義部3、レイアウト生成部4、プログ
ラム生成部5、文書生成部6及びユーザインタフェース
制御部7により構成される。情報管理部1は、項目情報
ファイル8に定義されている全データ項目に関する各項
目情報を項目情報読込部9によって読み込み、画面設計
のために指定されうる設計情報として保持・管理する。
また、ロジック情報をロジックファイル10から読み込
むロジック情報読込部11を有しており、そのロジック
情報も設計情報として保持・管理する。なお、読み込む
ロジック情報は、ロジックファイル10に登録されてい
る全データである必要はなく、登録されているロジック
(関数)を識別できる情報だけでよい。実際には、項目
情報ファイル8の内容、ロジックファイル10の内容あ
るいは情報ファイル12の内容をメモリ(図示せず)に
各種情報構造体として定義し管理している。更に、保持
・管理した設計情報を情報ファイル12で保存し、必要
に応じて入出力を行う情報入出力部13を有している。
【0024】レイアウトグループ情報定義部2は、情報
管理部1が保持しているデータ項目を一覧表示し、その
中から指定された複数のデータ項目によりレイアウトグ
ループを生成するとともに、指定された属性に基づきレ
イアウトグループの画面表示形態に関する属性情報を定
義するレイアウトグループ生成部14と、各レイアウト
グループを構成するデータ項目が画面表示される際の当
該レイアウトグループ内におけるレイアウトを定義する
グループ内レイアウト定義部15とを有している。デー
タ項目定義部3は、開発対象となるアプリケーションが
使用するデータベースに定義されていないデータ項目を
定義する。レイアウト生成部4は、指定された1乃至複
数のレイアウトグループを、当該レイアウトグループの
属性情報に基づき画面上に配置することで画面レイアウ
トの構成を自動的に行う。プログラム生成部5は、レイ
アウト生成部4により決定された画面レイアウトを構成
するレイアウトグループに関する情報、具体的には情報
管理部1が保持・管理している項目情報、ロジック情報
等各種情報による構造体を参照して画面表示を実行する
画面プログラム19を生成する。特に、画面プログラム
19において通信処理が実行されうる場合にその画面プ
ログラム19の生成に利用されたレイアウトグループを
構成するデータ項目に関する設計情報に基づき通信項目
の定義を行う通信項目定義部17と、画面を構成するデ
ータ項目とロジック情報を関連付けることによって当該
データ項目が画面上において選択されたときのアプリケ
ーションとしての振る舞いを定義するロジック生成部1
8とを有している。ロジック生成部18は、生成するロ
ジックが通信を行うためのものである場合には、通信項
目定義部17が定義した通信項目に基づき通信ロジック
を自動生成する。例えば、データ項目が画面上において
ボタンとして表示されている場合に、そのボタンが選択
されたときに起動され実行されるアプリケーションとし
ての振る舞いを定義する。文書生成部6は、画面の生成
に利用されたレイアウトグループに関する情報及び当該
レイアウトグループを構成する各データ項目に関する設
計情報に従い当該画面に関連する文書(仕様書,説明書
等)20を自動生成する。ユーザインタフェース制御部
7は、GUIスタイルの画面からユーザにより全体機能
を操作させる。つまり、前述した各種情報や定義などの
指定は、GUIスタイルの画面から行われる。機能的に
は、上記各構成要素に含まれるが、Window画面を
通じてユーザとの入出力を行うためソフトウェアの構造
にあわせて別途図示することにした。
【0025】図2は、項目情報ファイル8のデータ構成
例を示した図である。項目情報ファイル8は、リレーシ
ョナルデータベース上で扱うテーブル及び各テーブルに
含まれている各データ項目を定義したファイルである。
本実施の形態では、基本的には項目情報ファイル8に定
義したデータ項目によりクライアントサーバ型の画面プ
ログラムを生成することになる。項目情報ファイル8
は、データベースのテーブル毎に生成され、名称が付け
られて管理されている。項目情報ファイル8には、ファ
イル名(テーブル名)等を含む当該項目情報ファイルに
関するファイル情報と、当該テーブルを構成する各項目
の名称、構造種別(他の項目情報との関係)、データタ
イプ等を含む項目情報とが予め設定されている。なお、
この他のファイルは、使用されるとき若しくは生成され
る処理の説明のときに併せて説明する。
【0026】まず、最初に本実施の形態により生成され
る画面の例、その画面を表示する画面プログラム並びに
レイアウトグループに関する基本的な考え方を示すこと
で本実施の形態の概要について説明する。
【0027】図3は、本実施の形態により生成される簡
単な画面の一例を示した図である。画面の土台を築くた
めの台紙21の上にラベル22とテキスト部品23とを
対にして配置する。この例では、テキスト部品23の内
容“001”が商品コードであることを示す。この画面の
“照会”用のボタン24が押下されることにより通信処
理が起動され、この通信処理によってサーバ側のプログ
ラムと連携してサーバ側にあるデータ(商品名)を取得
し、対応するテキスト部品25に商品名を表示する。つ
まり、本実施の形態では、ボタンとして表示されたデー
タ項目に通信ロジックを予め割り付けておき、そのボタ
ンが選択されることによってその通信ロジックが実行さ
れるように画面プログラムを生成しておく。本実施の形
態では、例示したように通信処理を伴う画面プログラム
を開発する際に好適な装置を提供するものである。
【0028】図4及び図5は、図3に示した画面のソー
スプログラムであり、画面の定義と通信の関数が記述さ
れている。画面の定義部分は、項目情報ファイル8に定
義されたデータ項目に関する設計情報により生成され、
位置情報、部品情報などが記述されている。通信に関す
るロジック部分は、ロジックファイル10に定義された
ロジック情報に基づき生成される。この情報は対象とす
る言語処理系に依存するものである。
【0029】次に、本実施の形態の画面生成に使用され
るレイアウトグループについて説明する。
【0030】レイアウトグループは、複数のデータ項目
を集団として扱うための枠組みであり、一覧表示された
中から指定されたデータ項目により構成される。図6
は、本実施の形態において定義されたレイアウトグルー
プのデータ構成の例を示した図であるが、図6において
レイアウトグループ“G1”に含まれることになったデ
ータ項目は、上から順番にレイアウトの対象となる。図
6の場合には、“項目1”、“項目2”、“項目3”の
順にレイアウトされる。それぞれのデータ項目には、
型、コントロール種別、ラベル位置、キャプション(見
出し)などのレイアウトに関連する属性情報が設定され
ることになる。「型」ではその型に入るデータをすべて
表示するだけのコントロールの幅が算出される。また、
「コントロール種別」ではコントロールの形を表す。
「ラベル位置」はデータ項目をコントロール化したとき
に、見出しをつけるかどうかを指定するものである。
「キャプション」は見出しの内容を文字列で指定する。
本実施の形態では、このようなレイアウトグループを複
数生成し、ある画面を生成する際に1乃至複数のレイア
ウトグループを指定させることで画面のレイアウトの構
成を自動化する。
【0031】図7は、レイアウトグループをレイアウト
するときの各データ項目の配置について説明するための
図である。データ項目は、見出しのための文字列を持
ち、この場合には見出しと入力エリアなどのように展開
される。図6において、見出しのための表示部品である
ラベル26は、上、左、無しの3つの表示方法がある。
入力部品27は、データ項目の値を入力するためのフィ
ールドである。入力部品27の種別は属性設定で選択可
能である。マージン28は、見出しと入力部品間の余白
領域である。マージン29は、ラベル26間の部品間の
余白である。レイアウトグループが3つのデータ項目で
構成されている場合、調整なしの場合には図7(a)の
ような表示となる。横揃えの場合には、図7(b)のよ
うに横に連結される。また縦揃えの場合には図7(c)
のようにデータ項目が1つずつ縦に配置される。縦揃え
の場合には、特に見出しの位置で揃えたりする機能が有
効であり、入力エリアの配置される位置を揃える機能を
備える。
【0032】図8は、複数のレイアウトグループの配置
の仕方について説明するための図である。レイアウトグ
ループは、画面の最大幅30及び最大高31の範囲内に
配置される。レイアウトグループ自体もデータ項目を表
示する矩形と同様にグループの大きさが計算され、レイ
アウトグループの矩形自体を縦揃え、横揃えすることで
画面全体が構成可されることになる。複数のレイアウト
グループの横揃えでは、各グループの横幅とグループ間
マージンを合計し、それが画面全体の最大幅を超えてい
たら折り返し、その下段に配置するようにしている。
【0033】本実施の形態において特徴的なことは、複
数のデータ項目をまとめてグループ化してレイアウトを
行うようにしたことである。すなわち、画面(プログラ
ム)を生成する過程において、従来ではGUIビルダと
対話式にデータ項目個々に指定したところを、本実施の
形態では複数のデータ項目を含むグループ単位に画面上
にレイアウトするようにした。最初にデータ項目をグル
ープ化する際にはデータ項目を個々に指定しなくてはな
らないが、いったんグループ化さえしてしまえば、それ
以降はグループ化した複数のデータ項目をまとめて扱う
ことができる。すなわち、レイアウトグループさえ指定
すればデータ項目を個々に指定する必要はなく、結果的
に画面を表示するプログラムを効率的に生成することが
できる。また、アプリケーション開発後のミドルウェア
などのバージョンアップにより当該アプリケーションが
動作しなくなった場合でも、そのバージョンで動作する
アプリケーションを効率よく生成することができる。
【0034】次に、本実施の形態における処理の流れの
概要について図9に示したフローチャートを用いて説明
する。
【0035】クライアントサーバ型のアプリケーション
において画面を表示する画面プログラムを生成する場
合、データベースの項目情報を読み込むことで、サーバ
側で使用するデータがわかる(ステップ1)。ただ、例
示した照会用ボタンなどは、データ項目としてデータベ
ースに含まれていないので、これをデータ項目として新
規に定義する(ステップ2)。全データ項目が定義され
たら、これらのデータ項目から画面を設計するためのレ
イアウトグループを生成する(ステップ3)。レイアウ
トグループは、レイアウトをする単位でデータ項目を集
めたもので、レイアウトグループを定義することによ
り、データ項目に対して様々な属性を設定することがで
きる(ステップ4)。属性は、例えば図6のようなもの
がある。次に、後述するレイアウト設計画面を表示し、
各データ項目のレイアウトグループ内におけるレイアウ
トを計算により求める。ユーザは、このようなレイアウ
トダイアログを指定してレイアウトする方法とは別に、
レイアウトグループの表からマウスで項目をドラッグし
て、かつ特殊なキーを操作しながらダイナミックにレイ
アウトを矩形で変更しながら形式を認識してレイアウト
する方法によってもレイアウトすることができる。そし
て、設定したレイアウトグループ及び各属性情報に基づ
き画面上にレイアウトグループを配置することで画面全
体のレイアウトの構成をする(ステップ5)。レイアウ
トされた情報は、処理言語に依存した画面プログラムと
して図5に示したような形式で自動生成される。
【0036】以下、本実施の形態における上記各処理の
詳細について説明する。
【0037】ステップ1において、項目情報読込部9
は、項目情報ファイル8に定義されている全データ項目
に関する項目情報を読み込み、画面設計のために指定さ
れうる設計情報としてメモリに保持・管理する。この保
持した情報は、レイアウトグループ情報定義部2等他の
構成要素から利用される。
【0038】一方、ステップ2は、項目情報ファイル8
に含まれていないデータ項目を画面生成の際に使用した
い場合、あるいは、そのデータ項目が画面上に表示され
選択されたときのアプリケーションとしての振る舞いを
定義したい場合に任意に実行される処理である。この処
理は、データ項目定義部3によって実行されるが、この
処理の詳細については追って説明することにする。
【0039】次に、本実施の形態において特徴的なレイ
アウトグループの生成(ステップ3)及びその属性の設
定(ステップ4)についてまとめて説明する。
【0040】図10は、レイアウトグループを新規に生
成するためのダイアログ画面の例を示した図である。こ
の画面において、フィールド34は、レイアウトグルー
プの名前を入力するためのエリアであり、レイアウトグ
ループに対して一意の名前をつける。リスト部品35に
は、レイアウトグループに固める項目一覧を表示する。
カテゴリ36は、レイアウトグループの根幹を成すもの
である。カテゴリ36にはヘッダ、明細、ボタン、フッ
タなどがあり、レイアウトをする上での属性を指定する
ことができる。例えば、ヘッダであれば、画面の上部、
明細であれば、画面の中央付近、フッタであれば画面の
下部といった配置がカテゴリの指定により容易に行うこ
とができる。チェックボックス37には、レイアウトグ
ループをフレームといわれる枠で囲むかどうか指定す
る。キャプション38には、レイアウトグループ全体に
見出しをつけるかどうか指定する。見出しが必要な場合
には入力フィールド39に入力を行う。入力フィールド
40〜43は明細の場合に指定する。入力フィールド4
0にはコントロールの種類で明細コントロールとしては
表形式の部品とリストボックス、リストビューといった
複数の項目を1つのGUIコントロールで分割して表現
できるGUI部品を選択することができる。入力フィー
ルド41は表示行数であり、明細として何行表示できる
か最大値を指定する。入力フィールド42は固定型の表
示であり、グリッド型のGUIコントロールの場合に
は、グレーの見出しエリアを表示するかどうかを指定す
る。入力フィールド43はソートであり、リスト系のG
UIコントロールが選択されたときにデータ内容のソー
ト指定ができる。レイアウトグループ生成部14は、ユ
ーザインタフェース制御部7を通じて上記入力設定事項
が設定され、追加ボタン44が選択されると、レイアウ
トグループを新たに生成するとともに、その入力設定事
項をレイアウトグループの属性情報として定義する。こ
の新規に生成されたレイアウトグループに関する情報
は、情報管理部1へ送られ、保持・管理される。
【0041】図11は、定義したレイアウトグループに
含まれるデータ項目及びその属性情報を定義するための
画面例を示した図である。項目一覧エリア45には、情
報管理部1から読み出したデータ項目の名称一覧が型、
長さ、部品名称などとともに表示される。このデータ項
目は、項目情報ファイル8及びロジックファイル10で
定義されたものである。スクロールバー横のセパレータ
をマウスで移動させることでそれらの情報をすべて表示
することが可能である。また、エリア46は、定義され
ているレイアウトグループの一覧が表示され、ここでデ
ータ項目のグルーピングを行いレイアウトグループのメ
ンバー構成をする。これは、新規生成したレイアウトグ
ループに含ませることになるデータ項目を項目一覧エリ
ア45に一覧表示されている中から複数選択して当該レ
イアウトグループに登録するようにユーザに操作させ
る。データ項目を選択してレイアウトグループに登録す
ると、続いて当該データ項目の属性を指定することが可
能となる。図12に各データ項目に対して設定する属性
のリストを示した。このような属性を設定することでレ
イアウトグループ内における画面レイアウトの自動作成
が可能となり、また、プログラムロジックに関連するプ
ロパティが設定でき、更にこのプロパティに従いプログ
ラムロジックの一部の自動生成が可能となる。
【0042】図13は、レイアウトグループを設定した
後に使用するレイアウトダイアログ画面の例を示した図
であり、この画面から設定した内容によってレイアウト
グループ内におけるレイアウトを自動生成することがで
きるようになる。リストボックス47には、生成された
レイアウトグループが表示されるエリアであり、この中
からレイアウトの設定を行いたいレイアウトグループを
指定する。複数指定することもできる。レイアウト表示
倍率のエリア48には、拡大縮小表示を指定する。チェ
ックボックス49では、フォーム全体をいつでも表示す
るか、また、指定したレイアウトグループだけを表示す
るかを切り替える。チェックボックス50では、領域5
5に示されるレイアウトグループ名称を表示するかどう
かを切り替える。ラジオボタン51は、位置揃えの選択
を行うものであり、「無」は位置を特別そろえず、基本
となるマージンと原点が参照されレイアウトされる。
「左」は左端をレイアウトの上からみてきたときに揃え
るもので、一般的によく使用される機能である。「右」
は右端の位置を最大幅のGUIコントロールに揃えるも
ので、主にボタンなどで使用される。ラジオボタン52
ではグループの配置を指定し、レイアウトグループ自体
を縦に配置するか、横に配置するかを指定する。ラジオ
ボタン53はデータ項目の配置であり、レイアウトグル
ープの内部でデータ項目を縦に配置するか、横に配置す
るかを指定する。ラジオボタン54は部品間のマージン
を指定するもので、マージンを大きくとる、小さくす
る、なくすことの3段階で指定することができる。レイ
アウトボタン53は、押下されることにより、リストボ
ックス47で選択されたレイアウトグループの内容を表
示することができる。「戻す」ボタン54はやり直しを
行うためのボタンである。領域57はグループ名称を表
示するための領域である。領域58はレイアウトを行う
ための領域である。この画面を通じてレイアウトグルー
プ内における各データ項目のレイアウトは、定義される
が、この処理はグループ内レイアウト定義部15によっ
て行われる。
【0043】図14は、上記とは別の方法でレイアウト
グループ内における各データ項目のレイアウトを行う方
法を示したもので、入力装置としてのマウスを用いてレ
イアウトを行うやり方の例を示した図である。例えば、
図11で示したレイアウトグループをマウスでドラッグ
して表示させることにより、レイアウトの柔軟性を高め
る機能を説明するものである。図11においてレイアウ
トグループをマウス選択し、レイアウトビューにドラッ
グするとデフォルトの設定で矩形が表示される。この状
態でSHIFTキーなどの特殊キーを同時に押下するこ
とにより、表示されている矩形59を例えば縦揃えか
ら、横揃えにすることが可能である。マウスのドラッグ
を終了すると、矩形59は具現化され、実際のGUI部
品として表示される。このとき、位置の計算はマウスド
ラッグを中止した座標をもとに再計算され、外郭は矩形
表示のまま、画面上に収まる。例えば、図14に示した
ように縦揃えされている状態においてSHIFTキーな
どの特殊キーを同時に押下したときに、図15に示した
ように矩形は横揃えの表示に変更される。
【0044】以上のようにして、画面表示されるデータ
項目は、レイアウトグループ単位にまとめられ、また、
レイアウトグループ及び各レイアウトグループを構成す
るデータ項目の各属性情報が定義される。すなわち、レ
イアウトグループ情報定義部2が行う上記処理により画
面の生成を効率的に行うための基礎となるデータが生成
されたことになり、次に説明するレイアウト処理により
利用されることになる。ここで生成、定義された情報
は、情報管理部1へ送られ、保持・管理される。なお、
ここで生成した各種情報は、同じ画面から更に変更を加
えることができる。
【0045】次に、図9に示したステップ5における画
面全体のレイアウト処理について図16に示したフロー
チャートを用いて説明する。
【0046】レイアウト処理は、レイアウト生成部4に
より次の手順で行われる。まず、ステップ6において、
全てのデータ項目について、各データ項目に割りつけら
れたコントロールの幅及び高さを算出して保管する。ス
テップ7において、各データ項目の項目情報及び上記処
理により定義した各データ項目の属性情報などを参照し
て、レイアウトグループ内において各データ項目の配置
を行う。これをレイアウトグループ毎に行う。最後に、
ステップ8においてレイアウトグループの属性情報を参
照してレイアウトグループ全体を調整しながら全体の画
面レイアウトを行う。この各処理の詳細を更に図17以
降のフローチャートを用いて説明する。
【0047】図17は、上記コントロール幅等の算出処
理(ステップ6)の詳細を示したフローチャートであ
る。まず、ステップ9ではレイアウト対象のレイアウト
グループに含まれる各データ項目の項目情報を取得す
る。ステップ10において、コントロール種別をチェッ
クし、コントロールの外形を決める。具体的には、矩形
の線の太さ、線の有無、コンボボックスなどのマージ
ン、コンボボックスなどのボタン部分のマージンなどを
コントロール種別に応じ設定する。次に、ステップ11
において、データ項目の型、長さをチェックする。型で
はINT型などでは32ビットの場合10文字程度も数
字が文字列として入力可能と判断する。これに符号部を
いれることにより、全体の文字数などを決定する。ま
た、CHAR型の場合には、長さを考慮し、入力できる
文字の長さを得る。次に、ステップ12において、指定
されているフォントに応じて幅と高さを算出する。フォ
ントが可変ピッチか固定ピッチかを考慮して幅を注意深
く算出する。固定ピッチのフォントの場合にはどの文字
でも問題がないが、可変ピッチのフォントだと“I”と
いう文字と“M”という文字では文字幅が異なるため、
ここでは可変ピッチの場合には、幅が最大の文字を選択
して計算を行う。また、属性の中に表示桁数の指定があ
ればそれも考慮する。次に、ステップ13において、デ
ータ項目にキャプションがあるかどうかチェックする。
もし、キャプションがあればコントロール種別からチェ
ックし、キャプションの分の幅、高さの計算を行う。キ
ャプションがなければステップ14において、未処理の
データ項目があるかどうかをチェックし、あればステッ
プ9に戻る。なければ終了する。
【0048】図18は、上記グループ内レイアウト処理
(ステップ7)の詳細を示したフローチャートである。
ステップ15において配置を行うための座標変数XとY
に起点となる値を代入し、初期化する。通常10,10
などの値が入ることにより、左辺上を原点としたレイア
ウトを行う。次に、ステップ16において、対象レイア
ウトグループからデータ項目の項目情報を1つ取り出
す。ステップ17でキャプションを持つデータ項目かど
うかチェックする。キャプションを持つ場合、それを先
にレイアウトする必要がある。キャプションがある場合
には、ステップ18からステップ20でレイアウトす
る。すなわち、キャプションの配置として上記X,Yを
代入して(ステップ18)、Xにキャプションの幅にX
の既定マージンの値を加えたものを次のコントロールを
配置するためのX座標とする(ステップ19)。同様に
Y座標も決定する(ステップ20)。続いて、ステップ
21からステップ23で項目コントロール自体の座標を
決定する。すなわち、コントロールのX座標、Y座標に
新たに求めた上記X,Yの値を代入した後(ステップ2
1)、X座標にデータ項目のコントロールの幅+既定X
マージンの値を代入する(ステップ22)。同様にY座
標も決定する(ステップ23)。続いて、ステップ24
で縦揃えか横揃えかを判定する。縦配置の場合には、X
座標を起点座標Xに戻し(ステップ25)、Y座標には
Y座標にYマージンを加えたものを代入する(ステップ
26)。横配置の場合には、X座標にXマージンを加え
たものを代入する(ステップ27)。以上の処理を未処
理のデータ項目がなくなるまで繰り返し行う(ステップ
28)。
【0049】次に、各レイアウトグループを画面上に配
置する全体レイアウト処理(ステップ8)についてであ
るが、各レイアウトグループを配置することによって画
面全体のレイアウト処理を行う場合、1つのレイアウト
グループを1つの矩形と認識すれば、この図18に示し
たフローチャートの処理手順と同様のアルゴリズムで各
レイアウトグループのレイアウト配置を行うことができ
る。よって、ステップ8の詳細な説明は省略する。
【0050】画面全体のレイアウトが決定すると、プロ
グラム生成部5は、画面上に配置した各部品の座標や大
きさに関する情報、画面の生成に使用したレイアウトグ
ループに関する属性情報や各レイアウトグループを構成
する各データ項目の項目情報、属性情報等の設計情報を
参照し、必要な情報を予め用意している所定フォーマッ
トの型に当てはめ展開していくことによって、図4に示
したような画面プログラムを自動的に生成することがで
きる。
【0051】以上のように、本実施の形態においては、
画面を構成するデータ項目をグループ化し、このグルー
プ単位に画面上に配置していくようにした。従来と比較
すると、レイアウトグループを生成する処理が加わるた
め一見すると処理の負荷が増大したようにも考えられる
が、いったんレイアウトグループを生成さえしてしまえ
ば、その後は生成したレイアウトグループを指定しなが
ら画面を生成していくのでデータ項目を個々に画面上に
配置する必要はなくなり、結果的に画面レイアウトの構
成を効率的に行うことができる。また、上記説明から明
らかなように操作するうえで特別高度な知識を必要とせ
ずに画面プログラムを生成することができる。
【0052】ところで、前述した本実施の形態の概要に
おいて、本実施の形態は、表示画面上のボタン操作によ
り起動された通信処理によってサーバ側にあるデータ
(商品名)を取得して表示するような通信処理を伴う画
面プログラムを開発する際に好適な装置を提供するもの
であるということを図3を用いて説明した。ここでは、
その通信処理を行う通信ロジックを自動生成するとう本
実施の形態の特徴的な処理について説明する。
【0053】図3を例にとると、画面上の“照会”用の
ボタンは、開発対象のアプリケーションが使用するデー
タ項目に含まれていないため、まず、このボタンのため
のデータ項目を新たに定義し、通信を行う通信ロジック
を完成させ、かつこのデータ項目が選択されたことによ
り通信ロジックが起動されるようにしなければならな
い。図19は、このための設定を行う画面であり、ま
ず、この図19に示した通信におけるトランザクション
設定の画面とその働きについて説明する。ここでの通信
項目の定義は、通信項目定義部17により行われる。
【0054】クライアントサーバ型のプログラムとプロ
グラムの間の通信では、データの流れを明確に定義する
必要がある。これは、通信量の算出や仕様検討などの場
合に有効で、システム全体の見積もりを行うときにもト
ランザクションの量の把握は欠かせない。また、トラン
ザクションを設定することにより、画面の部品項目を自
動的に通信し、サーバ側プログラムから送られてくるデ
ータを自動的に画面に表示することなどもできる。図1
9において、フィールド66はレイアウトグループを表
示するものであり、ここで選択されたレイアウトグルー
プに含まれているデータ項目は、項目一覧エリア67に
一覧表示される。フィールド68は、項目一覧エリア6
7においてマウスクリックされたデータ項目の部品名称
を表示する領域である。フィールド69,70には、そ
れぞれサーバ側のプログラム名及びサーバ側プログラム
の中の機能に番号を割り当てたものを指定する。本実施
の形態において生成する通信ロジックは、ここに指定し
た通信プログラムと通信を行うことになる。ここでの通
信処理は、リモートプロシージャコールのような要求リ
クエストに対してサーバ側プログラム内で処理を行い、
その結果を返すというものを想定している。エリア71
は、通信における要求に対する項目を指定するものであ
り、要求が起こるときに設定した項目がサーバ側プログ
ラムにデータとして通信される。またエリア72は応答
側であり、要求側のエリア71と同一のインターフェー
スになっており、応答結果としてのデータがサーバプロ
グラムから通信され、どの項目と対応するかを指定す
る。設定ボタン73の押下によりこのダイアログでの設
定を行う。
【0055】図20は、ロジックファイル10のデータ
構成例を示した図である。ロジックファイル10は、開
発者によって予め生成されている。ロジックファイル1
0には、ロジックファイルの形式を示すバージョン“Ve
rsion”、対応するロジックファイルの機能を総称する
名前を指定する処理区分の名称“Division”、処理区分
の内容を説明する内容を記述する欄“DivInformation”
が順に設けられており、この欄以降で処理区分に含まれ
ている各機能を個別に定義する。すなわち、機能を表す
タイトル名“Title”、実際の処理言語上の名前である
関数名“ProcedureName”、関数の説明欄“Informatio
n”、関数がサブルーチンか関数かの種別を指定する関
数タイプ“ProcedureMode”、関数で指定する持つ引数
の数“ParamNum”、引数の数に応じて設けられるパラメ
ータであって各引数の型、説明、データなどを指定する
パラメータ“Param[n]”(図20では20の引数で例
示)、定義された内容をインラインで展開するかどうか
を示すフラグ“Inline”、実際の処理言語上のプログラ
ムを記述する欄“Code”をそれぞれ指定する。このよう
に、開発者は、利用する通信ロジックのコード自体をロ
ジックファイル10に予め登録しておく。なお、本実施
の形態では、対象処理言語は簡単のためBASICとする。
【0056】次に、図21を用いてロジックの設定画面
を説明する。この画面を使用したロジックの生成は、ロ
ジック生成部18により行われる。
【0057】項目一覧エリア74には、情報管理部1か
ら読み出した項目情報ファイル8及びロジックファイル
10で定義されたデータ項目の名称一覧が型、長さ、部
品名称などとともに表示される。前述した図11の項目
一覧エリア45と同じものである。この中からロジック
を設定するデータ項目を選択することになる。イベント
一覧を表示する部品75には、項目のGUIコントロー
ルに対応したイベントが表示される。そのイベントに対
してロジックビュー76でロジックを設定する。ロジッ
クビュー76は、基本的にラインエディタのような操作
感になっており、1行が1つの文になる。ロジックビュ
ーの列は3つの内容すなわち処理区分77、関数名78
及び関数の引数79をそれぞれ入力する領域に分かれて
いる。処理区分77は、ロジックファイル10に対応し
た処理内容を表示するものである。関数名78には、処
理区分77に指定した処理区分に応じて処理区分に含ま
れている関数名が表示される。関数の引数79には、ロ
ジックファイル10の仕様に応じて最大20個までの引
数が入力できる。関数の最大引数より多くは入力できな
いようにロックされる。この画面のロジックビュー76
に1行ずつ処理区分と関数を選択していくことで対応す
るロジックを作成していくことになる。
【0058】つまり、システムが予め持っている若しく
はロジックファイル10に登録されている関数群の中か
ら利用する関数及びその関数に設定する引数をこの画面
から設定することになり、ロジック生成部18は、ここ
で設定した内容を関数群に組み込むなどして通信ロジッ
クを完成させることになる。
【0059】例えば、通信用処理区分では、関数として
通信処理を用意しており、引数は5つである。第1引数
は必須入力チェックでTrueは通信項目の内容のチェ
ックを行い、Falseはチェックしない。第2引数は
マウスポインタでTrueは通信中は砂時計にし、Fa
lseは何もしない。第3引数はフォーム処理でTru
eは通信中の入力を不可とし、Falseは何もしな
い。第4引数はサーバ側プログラム名称、第5引数はサ
ーバ側のオペレーションコードを記述する。この1行の
関数で、通信処理を行い、サーバ側へ図19で定義した
トランザクション内容に従いデータを送信し、サーバプ
ログラムで処理が行われた後のデータを受信データと
し、トランザクション設計の受信で指定された項目にデ
ータ設定する。このときデータの内容があるかどうかの
必須チェックや、通信中にマウスを使えないように砂時
計マークにするなどの処理も選択可能とする。
【0060】図22は、サーバとの通信を画面から行う
処理の概要を説明するための図である。この通信処理で
は、クライアントからサーバへの電文送信を上りと表現
し、図19に示した画面を利用したトランザクション設
計で設定されたデータ項目に対応する配列を生成する。
この配列にGUI部品項目から内容を取得し、それを上
りトランザクション用バッファにセットする。つまり、
要求側のエリア71に指定したデータ項目の分の上りト
ランザクション用バッファが生成され、そこに画面から
入力された値などが設定されることになる。このあと、
通信関数を呼び出すことにより、通信処理に依存しない
処理ロジックが可能となる。通信関数へは、このバッフ
ァのポインタのみを渡すため、実際の通信処理がTCP
/IPによる通信なのか、ローカルの通信か、モデムを
使用した通信か隠蔽することが可能となる。実際の通信
処理のロジックは、ロジックファイル10に定義してお
くようにしてあるので、その通信ロジックを入れ替える
ことも容易にできる。下りトランザクションも同様に通
信関数からのデータは、下りトランザクション用バッフ
ァに格納されて返されることになるが、この下りトラン
ザクション用バッファは、応答側のエリア72に指定さ
れたデータ項目の分が用意されることになる。その返さ
れたデータをGUI部品に設定するようなロジックを生
成することで画面プログラムから通信処理を容易に行う
ことができる。
【0061】続いて、ロジック生成処理について図23
に示したフローチャートを用いて説明する。
【0062】ステップ29においてレイアウトグループ
の中からデータ項目を取得する。次に、ステップ30に
おいてロジック設定があるかどうかチェックする。ロジ
ック設定の有無は、図19に示した画面から設定されて
いる。ロジック設定がなければ、ステップ29に戻り、
次のデータ項目を取得する。ロジック設定がされていれ
ば、ステップ31でロジック情報を取得する。次に、ス
テップ32において組み込み処理かどうかをチェックす
る。組み込み処理は、通信やメッセージボックスの表示
など予めシステムが決めている処理である。もし、組み
込み処理でなければステップ33においてロジックファ
イル10から外付け関数ロジックを展開することでロジ
ックを生成する。もし、組み込み処理であれば、ステッ
プ34において組み込み処理を行う。この処理の詳細は
後述する。ステップ35において、また当該データ項目
に対するロジック情報があれば、ステップ31に戻り生
成を継続する。ロジック情報がなければ、ステップ36
において未処理のデータ項目があるか否かをチェック
し、なければ終了し、まだ残っていればステップ29に
戻る。
【0063】図24は、図23の中のステップ34の組
み込み処理についてのフローチャートである。ここで
は、特に通信ロジックの生成処理について説明する。
【0064】ステップ37においてトランザクション通
信定義情報を取得する。この情報の中には、図19の要
求側及び応答側のエリア71,72で指定された上りト
ランザクションのデータ項目、下りトランザクションの
データ項目が設定されている。ステップ38において、
まず上りデータ項目のマッチング処理を行い、サーバへ
送信するデータを上りトランザクション用バッファに設
定する処理を生成する。次に、ステップ39において通
信関数を呼び出す処理を生成する。そして、ステップ4
0においてトランザクション情報の下りトランザクショ
ンから下りデータ項目のマッチングを行い、サーバから
送られてくるデータが入る下りトランザクション用バッ
ファから当該データを画面上にセットするための代入文
を生成する。
【0065】以上のように、本実施の形態によれば、用
意した画面(図19,図21)から必要な情報を設定す
るだけで画面から選択されることにより実行される通信
ロジックを自動生成することができる。クライアントサ
ーバシステムでは、クライアント側において表示された
画面上での操作によりサーバからのデータ取得などの通
信処理を伴う場合が容易に想定しうるが、本実施の形態
では、このような通信処理を行うためのロジックをレイ
アウトに関する情報、すなわちレイアウトグループ及び
データ項目の各属性情報等を参照することで容易に生成
することができる。なお、本実施の形態では通信ロジッ
クを生成する処理を例にして説明したが、エラー処理等
通信を伴わない他の処理にも適用することができる。
【0066】図25は、本実施の形態における情報管理
部1が保持・管理している各種情報の関係を示した概念
図である。情報管理部1は、図示しないメモリで各種情
報構造体として定義し管理しているということは前述し
たとおりであるが、図25に示したようなツリー構造で
各種情報を保持している。図25において、CWItemTbl
は項目情報テーブルであり、この中にCWItemというデー
タ項目を表すオブジェクトがメモリー上に展開される。
また、1つの画面の情報はCWFormTblという情報テーブ
ルがあり、この中にCWFormというフォーム固有の情報を
用意し、その中にCWGroupTblとCWLogicTblを準備し、グ
ループ情報とロジック情報を管理する。CWGroupTblでは
CWGroupを管理し、1つのレイアウトグループを管理す
る。このCWGroupではグループ内の項目情報を複数管理
する。次にCWLogicTblではロジック定義ごとにCWLogic
オブジェクトを作成し、その中にロジックビューで定義
したロジックを行ごとに管理するためのCWLogicLineオ
ブジェクトを持つ。また、トランザクション情報はCWTr
nTblで管理し、オブジェクトコード毎にCWReqTblを管理
する。CWReqTblはCWReqで構成されており、1つのリク
エストコードがCWReqになる。CWReqの中はCWTrnで構成
され上り、下りのデータ項目CWItemがCWItemTblで管理
される。また、ロジックファイルはCWCwzTblで管理され
る。CWFuncTblで処理区分ごとの関数がCWFuncとして、
またその引数がCWArgとして管理される。
【0067】図26及び図27は、情報ファイル11の
データ構成例を示した図である。情報ファイル11は、
前述したように情報管理部5が管理する全ての項目情
報、ロジック情報を定義したファイルで項目情報ファイ
ル8及びロジックファイル10に基づき生成される。こ
れらの情報をファイルで保持することでアプリケーショ
ン開発後においても設計情報として利用をすることがで
きる。また、設計情報のボリュームによっても補助的な
記憶媒体として利用することができる。
【0068】ところで、上記説明では、レイアウトグル
ープ及び各データ項目の属性情報等に基づき通信ロジッ
クを自動生成することができることについて説明した
が、説明書や仕様書などの文書も上記属性情報等に基づ
き自動生成することができる。これは、例えば、説明書
概要、仕様書概要を入力するウィンドウを設け、そこか
ら内容を入力し、図25に示した構造で保持することに
より、あるきまった形式で説明書や仕様書を生成するこ
とが可能となる。つまり、画面プログラムの生成に関す
る情報とある決まった形式とが1対1に対応するので、
従来の手書きで別々に記述するものとは異なり、生成さ
れた画面プログラムの内容で忠実にドキュメントが生成
される。
【0069】なお、図28から図39までは、図25で
使用しているオブジェクト構造について表にして内容を
示したものである。
【0070】
【発明の効果】本発明によれば、画面上に配置するデー
タ項目によりレイアウトグループを生成し、そのレイア
ウトグループ単位に画面上に配置していくことで画面を
生成するようにしたので、画面レイアウトの構成を効率
的に行うことができる。また、画面に配置されるレイア
ウトグループの属性情報及び各レイアウトグループを構
成する各データ項目の属性情報の定義ができるように
し、この定義情報などに基づき画面プログラムを自動生
成するようにしたので、開発者は、特に高度な知識など
はなくても画面プログラムを生成することができる。こ
れにより、画面設計を効率化し、プログラム開発の生産
性を向上させることができる。
【0071】また、開発対象となるアプリケーションが
使用しないデータ項目を設定できるようにしたので、所
望する画面を生成することができる。
【0072】また、データ項目にロジックを割り付ける
ことができるので、例えば、画面上のデータ項目が選択
されたときに通信処理を実行させるなど画面表示以外の
ロジックを画面上から実行させることができる。特に、
例えばクライアントサーバシステムなどでは、クライア
ント側において表示された画面上での操作により通信処
理を伴う場合が少なくないが、このクライアント及びサ
ーバで動作するプログラム間の通信メカニズムや通信の
実現方法についてはいくつかの方法があり、また、様々
な通信形態についてロジックを生成する必要がある。本
発明では、レイアウトグループ及びデータ項目の各属性
情報等を参照することによってこの通信処理の実現方法
をトランザクションの形式でまとめ、異なる通信メカニ
ズムをプログラムレベルで隠し、単一の通信関数として
呼び出すことができるようにしたので、異なる通信メカ
ニズムの通信ロジックを容易に生成することができる。
【0073】また、画面プログラムの生成に関しては、
仕様書の作成や説明書の作成は欠くことのできない作業
であるが、本発明では、定義された属性情報等を参照す
ることによって画面プログラムを生成すると同時に仕様
書や説明書など必要な文書を簡単に作成することがで
き、アプリケーション開発全体の生産性を向上させるこ
とができる。
【0074】また、情報管理手段が内部で保持している
属性情報等を含む情報をファイルに保持するようにした
ので、アプリケーション開発後に当該ファイルを参照す
ることでOSやミドルウェア等がバージョンアップされ
てもその属性情報等に基づき新たなバージョンに対応し
たアプリケーションを容易に生成することができる。
【図面の簡単な説明】
【図1】 本発明に係るプログラム自動生成装置の一実
施の形態を示した機能ブロック構成図である。
【図2】 本実施の形態における項目情報ファイルのデ
ータ構成例を示した図である。
【図3】 本実施の形態により生成される画面例を示し
た図である。
【図4】 本実施の形態により生成されるソースプログ
ラムの内容例を示した図である。
【図5】 本実施の形態により生成されるソースプログ
ラムの内容例を示した図である。
【図6】 本実施の形態において定義されたレイアウト
グループのデータ構成の例を示した図である。
【図7】 本実施の形態において生成されたレイアウト
グループをレイアウトするときの各データ項目の配置に
ついて説明するための図である。
【図8】 本実施の形態において複数のレイアウトグル
ープの配置の仕方について説明するための図である。
【図9】 本実施の形態における処理の流れの概要を示
したフローチャートである。
【図10】 本実施の形態においてレイアウトグループ
を新規に生成するためのダイアログ画面の例を示した図
である。
【図11】 本実施の形態において定義したレイアウト
グループに含まれるデータ項目及びその属性情報を定義
するための画面例を示した図である。
【図12】 本実施の形態においてレイアウトグループ
を生成する際に各データ項目に対して設定する属性を示
した図である。
【図13】 本実施の形態におけるレイアウトダイアロ
グ画面の例を示した図である。
【図14】 本実施の形態においてマウスを用いてレイ
アウトを行う方法を説明するための図である。
【図15】 本実施の形態においてマウスを用いてレイ
アウトを行う方法を説明するための図である。
【図16】 図9に示した画面全体のレイアウト処理を
示したフローチャートである。
【図17】 図16に示したコントロール幅等の算出処
理の詳細を示したフローチャートである。
【図18】 図16に示したグループ内レイアウト処理
の詳細を示したフローチャートである。
【図19】 本実施の形態において通信におけるトラン
ザクション設定の画面とその働きについて説明するため
の画面例を示した図である。
【図20】 本実施の形態におけるロジックファイルの
データ構成例を示した図である。
【図21】 本実施の形態におけるロジックの設定のた
めの画面例を示した図である。
【図22】 本実施の形態においてサーバとの通信を画
面から行う処理の概要を説明するための図である。
【図23】 本実施の形態におけるロジック生成処理を
示したフローチャートである。
【図24】 図23に示した組み込み処理の詳細を示し
たフローチャートである。
【図25】 本実施の形態における情報管理部のメモリ
管理の状態をツリー構造で示した図である。
【図26】 本実施の形態における情報ファイルのデー
タ構成例を示した図である。
【図27】 本実施の形態における情報ファイルのデー
タ構成例を示した図である。
【図28】 本実施の形態における情報管理部が管理し
ている項目オブジェクト構造の内容を示した図である。
【図29】 本実施の形態における情報管理部が管理し
ているグループ項目情報オブジェクト構造の内容を示し
た図である。
【図30】 本実施の形態における情報管理部が管理し
ているフォームオブジェクト構造の内容を示した図であ
る。
【図31】 本実施の形態における情報管理部が管理し
ているグループ情報オブジェクト構造の内容を示した図
である。
【図32】 本実施の形態における情報管理部が管理し
ているロジックオブジェクト構造の内容を示した図であ
る。
【図33】 本実施の形態における情報管理部が管理し
ているロジック行オブジェクト構造の内容を示した図で
ある。
【図34】 本実施の形態における情報管理部が管理し
ているリクエストコード管理テーブルオブジェクト構造
の内容を示した図である。
【図35】 本実施の形態における情報管理部が管理し
ているリクエスト情報オブジェクト構造の内容を示した
図である。
【図36】 本実施の形態における情報管理部が管理し
ているトランザクション情報オブジェクト構造の内容を
示した図である。
【図37】 本実施の形態における情報管理部が管理し
ているロジックファイル情報オブジェクト構造の内容を
示した図である。
【図38】 本実施の形態における情報管理部が管理し
ているロジックファイル引数情報オブジェクト構造の内
容を示した図である。
【図39】 本実施の形態における情報管理部が管理し
ているロジックファイル関数情報オブジェクト構造の内
容を示した図である。
【符号の説明】
1 情報管理部、2 レイアウトグループ情報定義部、
3 データ項目定義部、4 レイアウト生成部、5 プ
ログラム生成部、6 文書生成部、7 ユーザインタフ
ェース制御部、8 項目情報ファイル、9 項目情報読
込部、10 ロジックファイル、11 ロジック情報読
込部、12 情報ファイル、13 情報入出力部、14
レイアウトグループ生成部、15 グループ内レイア
ウト定義部、17 通信項目定義部、18 ロジック生
成部、19 画面プログラム、20 文書。
フロントページの続き (56)参考文献 特開 平9−179729(JP,A) 特開 平7−281880(JP,A) 特開 平7−49758(JP,A) 特開 平10−254689(JP,A) 特開 平4−245374(JP,A) 特開 平5−313872(JP,A) 特開 平10−198557(JP,A) 特開 平10−111898(JP,A) 特開 平9−282152(JP,A) 特開 平10−91412(JP,A) 杉山 他,”プロトタイピング型情報 活用系システム開発環境 HOLON /VPのGUIビルダ「プレゼンテーシ ョンデザイナ」”,NEC技報, (1994),Vol.47,No.6 A.Pizano,A.Izawa, Y.Shirota,”An auto matic screen layou t generator for in teractive database applications”,Pro c.Second Intl.Con f.on Information a nd Knowledge Manag ement,(1993),pp.344−355 A.Pizano,A.Izawa, Y.Shirota,”An auto matic screen layou t generator for da tabase application s”,Proc.First Int l.Conf.on Informat ion and Knowledge Management,(1992),p p.239−247 小山、菅野,「ビジネスアプリケーシ ョン ソフトウエア開発環境”HYPE R PRODUCE”」三菱電機技報, (1995),Vol.69,No.9,p p.68−72 白田、飯沢,”データベーススキーマ 情報からのGUI自動生成”,電子情報 通信学会論文誌 D−▲I▼,平成9年 1月,Vol.J80−D−▲I▼,N o.1.pp.71−80 (58)調査した分野(Int.Cl.6,DB名) G06F 9/06 - 9/46

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 開発対象となるアプリケーションが使用
    するデータベースに定義されている全データ項目に関す
    る項目情報を画面設計のために指定されうる設計情報と
    して保持・管理する情報管理手段と、設定画面に表示した 前記情報管理手段が保持しているデ
    ータ項目の中から選択されたデータ項目をグループ化す
    ることで画面上のレイアウト単位となるレイアウトグル
    ープを生成するとともに、設定画面からの入力設定事項
    に基づき当該レイアウトグループの画面表示形態に関す
    る属性情報を定義するレイアウトグループ生成手段と、 設定画面からの入力設定事項に基づき各レイアウトグル
    ープを構成するデータ項目が画面表示される際の当該レ
    イアウトグループ内におけるレイアウト及び当該各デー
    タ項目の画面表示形態に関する属性情報を定義するレイ
    アウトグループ内レイアウト定義手段と、 前記レイアウトグループ生成手段及び前記レイアウトグ
    ループ内レイアウト定義手段により定義された各定義情
    報に基づいて、入力指定された1乃至複数のレイアウト
    グループを画面上に配置するとともに当該各レイアウト
    グループを構成する各データ項目を配置される当該各レ
    イアウトグループ内に配置することによって 画面レイア
    ウトの構成を自動的に行うレイアウト生成手段と、 前記レイアウト生成手段により決定された画面レイアウ
    トを構成するレイアウトグループに関する情報に従い画
    面表示を実行する画面プログラムを生成するプログラム
    生成手段と、 を有することを特徴とするプログラム自動生成装置。
  2. 【請求項2】 前記データベースに定義されていないデ
    ータ項目を定義するデータ項目定義手段を有することを
    特徴とする請求項1記載のプログラム自動生成装置。
  3. 【請求項3】 前記情報管理手段は、予め設定されてい
    るロジック情報を設計情報として読み込むロジック情報
    読込部を有し、 前記プログラム生成手段は、画面を構成するデータ項目
    とロジック情報を関連付けることによって当該データ項
    目が画面上において選択されたときのアプリケーション
    としての振る舞いを定義するロジック生成部を有するこ
    とを特徴とする請求項1記載のプログラム自動生成装
    置。
  4. 【請求項4】 前記プログラム生成手段は、画面プログ
    ラムにおいて通信処理が実行されうる場合にその画面プ
    ログラムが使用するレイアウトグループを構成するデー
    タ項目に関する設計情報に基づき通信項目の定義を行う
    通信項目定義部を有し、 前記ロジック生成部は、定義した通信項目に基づき当該
    画面プログラムにおける通信処理を実行するための通信
    ロジックを自動生成することを特徴とする請求項記載
    のプログラム自動生成装置。
  5. 【請求項5】 前記レイアウト生成手段により決定され
    た画面レイアウトを構成するレイアウトグループに関す
    る情報及び当該レイアウトグループを構成する各データ
    項目に関する設計情報に従い前記アプリケーションに関
    する文書を自動生成する文書自動生成手段を有すること
    を特徴とする請求項1記載のプログラム自動生成装置。
  6. 【請求項6】 前記情報管理手段は、保持している設計
    情報や属性情報などの全情報をファイルによって保持・
    管理することを特徴とする請求項1記載のプログラム自
    動生成装置。
JP10188327A 1998-07-03 1998-07-03 プログラム自動生成装置 Expired - Fee Related JP2988911B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10188327A JP2988911B1 (ja) 1998-07-03 1998-07-03 プログラム自動生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10188327A JP2988911B1 (ja) 1998-07-03 1998-07-03 プログラム自動生成装置

Publications (2)

Publication Number Publication Date
JP2988911B1 true JP2988911B1 (ja) 1999-12-13
JP2000020295A JP2000020295A (ja) 2000-01-21

Family

ID=16221676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10188327A Expired - Fee Related JP2988911B1 (ja) 1998-07-03 1998-07-03 プログラム自動生成装置

Country Status (1)

Country Link
JP (1) JP2988911B1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4358414B2 (ja) * 2000-08-10 2009-11-04 株式会社エクサ アプリケーション構築方法及び実行方法並びにアプリケーション構築装置及びアプリケーション実行システム並びにアプリケーション構築方法を記録した記録媒体及びアプリケーション実行方法を記録した記録媒体
KR100558952B1 (ko) 2005-05-12 2006-03-10 김길웅 인터페이스 화면 설계 중심의 소프트웨어 생산 공정 자동화방법 및 이 방법을 프로그램화하여 수록한 컴퓨터로 읽을수 있는 기록매체
WO2009123028A1 (ja) * 2008-04-01 2009-10-08 京セラ株式会社 ユーザインタフェース生成装置
US8209355B2 (en) * 2008-07-28 2012-06-26 Microsoft Corporation Automatic user interface generation for entity interaction
JP5467482B1 (ja) * 2013-08-13 2014-04-09 株式会社ファルコン 画面自動生成装置、画面自動生成プログラムおよび画面自動生成方法
JP7492299B1 (ja) 2023-12-20 2024-05-29 ファクトマーケティング株式会社 フォーム生成システム、フォーム生成方法及びフォーム生成プログラム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A.Pizano,A.Izawa,Y.Shirota,"An automatic screen layout generator for database applications",Proc.First Intl.Conf.on Information and Knowledge Management,(1992),pp.239−247
A.Pizano,A.Izawa,Y.Shirota,"An automatic screen layout generator for interactive database applications",Proc.Second Intl.Conf.on Information and Knowledge Management,(1993),pp.344−355
小山、菅野,「ビジネスアプリケーション ソフトウエア開発環境"HYPER PRODUCE"」三菱電機技報,(1995),Vol.69,No.9,pp.68−72
杉山 他,"プロトタイピング型情報活用系システム開発環境 HOLON/VPのGUIビルダ「プレゼンテーションデザイナ」",NEC技報,(1994),Vol.47,No.6
白田、飯沢,"データベーススキーマ情報からのGUI自動生成",電子情報通信学会論文誌 D−▲I▼,平成9年1月,Vol.J80−D−▲I▼,No.1.pp.71−80

Also Published As

Publication number Publication date
JP2000020295A (ja) 2000-01-21

Similar Documents

Publication Publication Date Title
US5301270A (en) Computer-assisted software engineering system for cooperative processing environments
US7039875B2 (en) Computer user interfaces that are generated as needed
CN114035773B (zh) 一种基于配置的低代码开发表单方法、系统及装置
Paulisch et al. EDGE: An extendible graph editor
EP1015969B1 (en) Method and system for database application software creation requiring minimal programming
Vanderdonckt et al. Flexible reverse engineering of web pages with vaquista
US5812847A (en) Rule-based method for designing user interfaces for applications
US20030204481A1 (en) Method and system for visually constructing XML schemas using an object-oriented model
JPH1091412A (ja) 表示部品選択装置及び表示部品選択方法
JP2008512794A (ja) オブジェクト処理グラフアプリケーション開発システム
Dwelly Functions and dynamic user interfaces
JP2008508643A (ja) マークアップ言語で記述された文書内にタグまたは属性を作成するための文書処理及び文書管理の手段と方法
CN111178023A (zh) 一种可视化自定义报表设计系统
US9817811B2 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
WO2006051958A1 (ja) 情報配信システム
CA2786385A1 (en) Pattern-based user interfaces
CN111414405A (zh) 数据获取方法、装置及电子设备
JP2988911B1 (ja) プログラム自動生成装置
CN101408843B (zh) 一种生成程序菜单的方法及其装置
Strelich The Software Life Cycle Support Environment (SLCSE): a computer based framework for developing software systems
WO2006051721A1 (ja) 文書処理装置及び文書処理方法
WO2006046667A1 (ja) 文書処理装置および文書処理方法
JP2001125855A (ja) 動的Webページ生成プログラム
EP0692112B1 (en) Dynamic browser system
JP3177235B2 (ja) データ出力装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees