JPH0883172A - ソフトウェア開発支援装置 - Google Patents

ソフトウェア開発支援装置

Info

Publication number
JPH0883172A
JPH0883172A JP6219760A JP21976094A JPH0883172A JP H0883172 A JPH0883172 A JP H0883172A JP 6219760 A JP6219760 A JP 6219760A JP 21976094 A JP21976094 A JP 21976094A JP H0883172 A JPH0883172 A JP H0883172A
Authority
JP
Japan
Prior art keywords
software
component
data
software development
parts
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.)
Granted
Application number
JP6219760A
Other languages
English (en)
Other versions
JP3697274B2 (ja
Inventor
Noriaki Koyama
徳章 小山
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP21976094A priority Critical patent/JP3697274B2/ja
Publication of JPH0883172A publication Critical patent/JPH0883172A/ja
Application granted granted Critical
Publication of JP3697274B2 publication Critical patent/JP3697274B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 ソフトウェア開発を効率的に行なうソフトウ
ェア開発支援装置を提供する。 【構成】 コンピュータのソフトウェアを構成する部品
を組合せてソフトウェアを開発するソフトウェア開発支
援装置において、部品格納手段1に各部品に関するデー
タ及び処理内容を部品に付属する内部データとして格納
しておく。選択手段2によって所望の部品を選択する。
編集手段3によって選択した部品の内部データを編集す
る。ソースコードジェネレータ4が選択された部品及び
選択された部品の内部データに基づいてソフトウェアの
動作を実現する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、GUIソフトウェアの
開発を効率的に行なうソフトウェア開発支援装置に関す
るものである。
【0002】
【従来の技術】近年のコンピュータのソフトウェアで
は、その操作性の向上、認識の容易性を考慮してGraphi
cal User Interface(以下GUIという)が使用されて
いる。GUIは、コンピュータとユーザ間の対話的入出
力の形式であり、情報出力を表示画面上の図形シンボル
で行ない、また、情報入力を図形シンボルに対する操作
によって行なうものである。
【0003】このようなGUIを用いたソフトウェアす
なわちアプリケーションプログラム(以下図面又は本明
細書において「アプリ」と略することがある)は、ソフ
トウェアの部品として、異なった画面であっても同様な
形状をした操作ボタン、アイコン、プルダウンメニュー
などの表示が使用され、どのような画面であってもマウ
スなどを使用することにより共通の操作性が得られるよ
うにしていることが多い。そのため、この種のGUIソ
フトウェアを開発するときには、プログラムの各画面に
おいて共通に使用される表示などを部品化して取り扱う
ことにより、プログラム開発を容易に実施できるように
している。
【0004】たとえば、GUIを用いたソフトウェアの
開発手順の一例を示すと、次の通りである。まず、ソフ
トウェア実行上の各過程における画面の表示状態、特
に、ソフトウェアの起動時から位置や表示内容が固定的
である静的部品と、前記静的部品に対応する画面操作処
理手順を開発する。次いで、画面上の表示を例えばマウ
ス等により操作したときの処理すなわち部品への操作に
対する及び部品間の視覚的振舞が開発される。
【0005】また、ソフトウェアで利用されるデータ構
造が決定され、データ処理手順あるいはルーチンが開発
される。最後に、生成された部品が、又はユーザから入
力される処理を含めて部品及び処理が結合されてソフト
ウェアが開発される。
【0006】このようなソフトウェア開発を支援する装
置としてはソフトウェア開発支援装置が知られている。
ソフトウェア開発支援装置とは、ソフトウェアを構成す
るデータや処理手順の編集を行なうためのもので、多く
の場合ソースコードジェネレータやシミュレータのよう
にソフトウェアの動作を実現する手段を備えている。
【0007】GUIを用いたソフトウェアの開発を従来
のソフトウェア開発支援装置において行なう場合、上記
の各段階における画面の表示状態と画面操作処理のう
ち、GUI部品単体の動作を規定する処理の開発はGU
I開発支援装置を用いてなされていた。
【0008】
【発明が解決しようとする課題】しかし、従来のソフト
ウェア開発支援装置では、部品間や部品とデータ及び処
理との関連についてはプログラマの手による作成や修正
を要したため、ソフトウェア開発の効率向上が困難とい
う問題点が存在していた。
【0009】すなわち、従来では、画面操作に関して、
あるGUI部品が他のGUI部品を操作するといったG
UI同士の関連付けについては、ソフトウェアを自動的
に実現することができなかった。特に、対話的操作部品
のようにGUI特有のグラフィック表示ライブラリを利
用しても、ライブラリ同士の組み合わせは手作業で行な
う必要があった。このため、部品間の関係についてはプ
ログラム言語を用いて直接所望の動作を記述せざるを得
ず、この作業がソフトウェア開発における多くの工数を
要した。
【0010】また、従来では、表示用GUI部品と部品
に表示するデータもしくは部品とデータ処理手順との対
応、及び、入力用GUI部品と部品からの入力データの
処理手順、など部品と他の要素の関連についてもソフト
ウェアの自動合成ができなかった。このため、このよう
な関連付けについてもプログラマが追加修正する必要が
あった。
【0011】さらに、ソフトウェア開発支援装置上で表
示用GUI部品を変更する場合、変更する部品に関連す
る部品や表示データなどすべての他の要素との関連性も
変更せざるを得ず、この作業もプログラマが手作業で行
なっていた。このため、ソフトウェアの保守性や再利用
性も向上が困難であった。
【0012】本発明は、上記のような従来技術の問題点
を解決するために提案されたもので、その目的は、ソフ
トウェア開発を効率的に行なうソフトウェア開発支援装
置を提供することである。また、本発明の他の目的は、
ソフトウェアの修正変更が容易なソフトウェア開発支援
装置を提供することである。
【0013】
【課題を解決するための手段】上記の目的を達成するた
め、請求項1のソフトウェア開発支援装置は、コンピュ
ータのソフトウェアを構成する部品を組合せてソフトウ
ェアを開発するソフトウェア開発支援装置において、各
部品に関するデータ及び処理内容を部品に付属する内部
データとして格納する部品格納手段と、所望の部品を選
択する選択手段と、選択した部品の内部データを編集す
る編集手段と、選択された部品及び選択された部品の内
部データに基づいてソフトウェアの動作を実現する実現
手段を有することを特徴とする。
【0014】また、請求項2の発明は、請求項1記載の
ソフトウェア開発支援装置において、部品の内部データ
は、当該部品が組み込まれるソフトウェアによって異な
らない非依存データと、当該部品が組み込まれるソフト
ウェアによって異なる依存データに区分され、前記編集
手段は、この依存データを編集するように構成されたこ
とを特徴とする。
【0015】また、請求項3の発明は、請求項1記載の
ソフトウェア開発支援装置において、部品と他の要素と
の結合関係を設定する結合手段を有し、前記実現手段
は、前記結合関係を前提に前記ソフトウェアの動作を実
現するように構成されたことを特徴とする。
【0016】また、請求項4の発明は、請求項3記載の
ソフトウェア開発支援装置において、前記結合関係の対
象となり得る前記各部品と前記各要素との組合せごとの
仲介ルーチンを格納する仲介ルーチン格納手段と、前記
結合関係が設定された場合に、必要な前記仲介ルーチン
を特定する特定手段とを有し、前記実現手段は、特定さ
れた前記仲介ルーチンに基づいて前記ソフトウェアの動
作を実現するように構成されたことを特徴とする。
【0017】また、請求項5の発明は、請求項3記載の
ソフトウェア開発支援装置において、表示画面とポイン
ティングデバイスを有し、前記各部品を所定の図形によ
って前記表示画面に表示し、前記選択手段は、前記ポイ
ンティングデバイスによって前記図形をポイントするこ
とによって前記選択を行ない、前記結合手段は、選択さ
れた各部品の前記図形に対して所定の操作を行なうこと
によって前記結合関係を設定するように構成され、前記
ポインティングデバイスによって所定の操作を行なうこ
とによって前記図形を前記表示画面上の所望の位置に配
置する配置手段を有することを特徴とする。
【0018】また、請求項6の発明は、請求項1記載の
ソフトウェア開発支援装置において、前記部品は少なく
とも、表示画面上の所定の位置に表示され続ける静的部
品と、ソフトウェア内の情報を表示するための表示用部
品と、ソフトウェアに対して情報を入力するための入力
用部品と、を含むことを特徴とする。
【0019】
【作用】上記のような構成を有する本発明は、次のよう
な作用を有する。すなわち、請求項1のソフトウェア開
発支援装置では、データや処理内容が部品ごとに用意さ
れ、所望の部品を選択するだけでその部品に関するデー
タや処理内容を編集することができ、選択された部品及
びその内部データに基づいてソフトウェアの動作が実現
される。このため、部品とデータや処理内容の結合関係
を手作業でプログラミングする繁雑な手順が不要とな
り、ソフトウェア開発が効率化される。また、同様に、
部品の入れ替えや部品に対応するデータや処理手順の変
更も効率的に行なうことができるので、ソフトウェアの
拡張性、保守性が向上する。
【0020】また、請求項2の発明では、部品が組み込
まれるソフトウェアによって異ならない非依存データに
ついては編集や入力が不要なので、ソフトウェア開発が
効率化される。
【0021】また、請求項3の発明では、部品と、他の
要素例えば他の部品・ソフトウェアの内部データなどと
の間に結合関係を設定し、この結合関係に基づいて前記
ソフトウェアの動作が実現される。このため、部品間の
関係を手作業でプログラミングする手順が不要となり、
ソフトウェア開発が効率化される。
【0022】また、請求項4の発明では、異なった型の
データやイベントに基づいて構成された部品同士及び部
品と要素でも、データの型変換など必要な処理は仲介ル
ーチンが行うので、このような仲介ルーチンをユーザが
開発の際に用意する必要がない。
【0023】また、請求項5の発明では、図形による部
品の表示が部品の認識を容易にし、また、図形に対する
視覚的操作が選択・結合関係の設定・画面上での部品の
配置を容易にするので、ソフトウェア開発が効率化され
る。
【0024】また、請求項6の発明では、静的部品によ
ってメニュー欄や背景模様のような表示画面の基本的な
内容が提供され、表示要部品と入力用部品によって入出
力の機能が提供されるので、新たなソフトウェア開発に
おいてデータ処理部分のみを新たに開発すればよく、ソ
フトウェア開発が効率化される。
【0025】
【実施例】次に、本発明の実施例について、図面に従っ
て具体的に説明する。なお、後述する実施例はコンピュ
ータ上に実現され、実施例の各機能は、所定の手順(プ
ログラム)がこのコンピュータを制御することで実現さ
れる。
【0026】本明細書における各「手段」は、実施例の
各機能に対応する概念的なもので、必ずしも特定のハー
ドウェアやソフトウェア・ルーチンに1対1には対応し
ない。同一のハードウェア要素が、場合によって異なっ
た手段を構成する。例えば、コンピュータは、ある命令
を実行するときにある手段となり、別の命令を実行する
ときは別の手段となりうる。また、一つの手段が、わず
か1命令によって実現される場合もあれば、多数の命令
によって実現される場合もある。
【0027】したがって、本明細書では、以下、実施例
の各機能を有する仮想的回路ブロック(「手段」又は
「部」)を想定して実施例を説明する。但し、コンピュ
ータの使用は一例であり、本発明の機能の全部又は一部
は、可能ならば、カスタムチップ(専用の集積回路)の
ような電子回路上に実現してもよい。
【0028】実施例に用いられるコンピュータは、一般
には、CPU(中央演算処理装置)と、RAM(随時書
込読出型記憶素子)からなる主記憶装置とを有する。ま
た、前記コンピュータの規模は自由であり、マイクロコ
ンピュータ・パーソナルコンピュータ・スモールコンピ
ュータ・ワークステーション・メインフレームなど、い
かなる規模のものを用いてもよい。
【0029】また、前記コンピュータのハードウェア
は、典型的には、キーボードやマウスなどの入力装置
と、ハードディスク装置などの外部記憶装置と、CRT
表示装置やプリンタ印字装置などの出力装置と、必要な
入出力制御回路を含む。
【0030】但し、前記コンピュータのハードウェア構
成は自由であり、本発明が実施できる限り、上記の構成
要素の一部を追加・変更・除外してもよい。例えば、C
PUの種類は自由であり、CPUを複数同時に用いた
り、単一のCPUをタイムシェアリング(時分割)で使
用し、複数の処理を同時平行的に行ってもよい。また、
他の入力装置(例えば、タッチパネル・ライトペン・ト
ラックボールなどのポインティングデバイスや、デジタ
イザ・イメージ読取装置やビデオカメラなどの画像入力
装置・音声識別装置・各種センサなど)を用いてもよ
い。また、他の外部記憶装置(例えば、フロッピーディ
スク装置・RAMカード装置・磁気テープ装置・光学デ
ィスク装置・光磁気ディスク装置・バブルメモリ装置・
フラッシュメモリなど)を用いてもよい。また、他の出
力装置(例えば、液晶表示装置・プラズマディスプレイ
装置・ビデオプロジェクター・LED表示装置・音響発
生回路・音声合成回路など)を用いてもよい。
【0031】また、前記コンピュータにおいて実施例を
実現するためのソフトウェアの構成としては、典型的に
は、実施例の各機能を実現するためのアプリケーション
プログラムが、OS(オペレーティングシステム)上で
実行される態様が考えられる。また、実施例を実現する
ためのプログラムの態様としては、典型的には、高級言
語やアセンブラからコンパイル(翻訳)された機械語が
考えられる。但し、前記コンピュータのソフトウェア構
成も自由であり、本発明が実施できる限り、ソフトウェ
ア構成を変更してもよい。例えば、必ずしもOSを用い
る必要はなく、また、プログラムの表現形式も自由であ
り、BASICのようなインタプリタ(逐次解釈実行
型)言語を用いてもよい。
【0032】また、プログラムの格納態様も自由であ
り、ROM(読出し専用メモリ)に格納しておいてもよ
く、また、ハードディスク装置のような外部記憶装置に
格納しておき、コンピュータの起動時や処理の開始時に
主メモリ上にロード(読み込み)してもよい。また、プ
ログラムを複数の部分に分割して外部記憶装置に格納し
ておき、処理内容に応じて必要なモジュールのみを随時
主メモリ上にロード(読み込み)してもよい。さらに、
プログラムの部分ごとに異なった態様で格納してもよ
い。
【0033】また、本実施例における各手順の各ステッ
プは、その性質に反しない限り、実行順序を変更し、複
数同時に実行し、また、実行ごとに異なった順序で実行
してもよい。このような順序の変更は、例えば、ユーザ
が実行可能な処理を選択するなどメニュー形式のインタ
ーフェース手法によって実現することができる。
【0034】また、本明細書における「入力」は、本来
の情報の入力のみならず、情報の入力と密接に関連する
他の処理を含む。このような処理は、例えば、入力内容
のエコーバックや修正・編集である。また、本明細書に
おける「出力」は、本来の情報の出力のみならず、情報
の出力と密接に関連する他の処理を含む。このような処
理は、例えば、出力すべき範囲の入力や、画面スクロー
ルの指示である。なお、対話的入出力手順によって入力
と出力を一体的操作によって実現してもよく、このよう
な一体的操作によって、選択・指定・特定などの処理を
行ってもよい。
【0035】また、本明細書におけるデータ(情報)や
データの格納手段は前記コンピュータ上においていかな
る態様で存在してもよい。例えば、データのハードウェ
ア上の所在部分は、主記憶装置・外部記憶装置・CPU
のレジスタやキャッシュメモリなどいかなる部分でもよ
い。また、データの保持態様も自由である。例えば、デ
ータは、ファイル形式で保持されるのみならず、メモリ
やディスクなどの記憶装置を物理的アドレスで直接アク
セスすることによって実現してもよい。また、データの
表現形式も自由で、例えば、文字列を表すコードの単位
は、文字単位でも単語単位でもよい。また、データは必
要とされる一定時間だけ保持されれば十分で、その後消
滅してもよく、保持時間の長短は自由である。また、辞
書データのように当面変更されない情報は、ROMに格
納してもよい。
【0036】また、本明細書において、特定の情報への
言及は確認的で、言及されない情報の存在を否定するも
のではない。すなわち、本発明の動作では、動作に必要
な一般的な情報、例えば、各種ポインタ、カウンタ、フ
ラグ、パラメータ、バッファなどが適宜用いられる。
【0037】実施例の各部分が処理に要する情報は、特
に記載がない場合、当該情報を保持している他の部分か
ら獲得される。このような情報の獲得は、例えば、当該
情報を格納している変数やメモリをアクセスすることに
よって実現することができる。なお、情報の消去・抹消
は、当該情報の内容自体を必ずしも記憶領域から現実に
削除せず、消去を表すフラグを設定するなど、情報の意
味付けの変更によって行うことができる。
【0038】[1.実施例の構成]本実施例は、コンピ
ュータのソフトウェアを構成する部品を組合せてソフト
ウェアを開発するソフトウェア開発支援装置である。本
実施例の目的は、ソフトウェア開発を効率的に行なうソ
フトウェア開発支援装置を提供することである。また、
本実施例の他の目的は、ソフトウェアの修正変更が容易
なソフトウェア開発支援装置を提供することである。
【0039】図1は、本実施例のソフトウェア開発支援
装置の概念的構成を示す機能ブロック図である。本実施
例のソフトウェア開発支援装置は、各部品に関するデー
タ及び処理内容を部品に付属する内部データとして格納
する部品格納手段1と、所望の部品を選択する選択手段
2と、選択した部品の内部データを編集する編集手段3
と、選択された部品及び選択された部品の内部データに
基づいてソフトウェアの動作を実現する実現手段である
ソースコードジェネレータ4を有する。
【0040】また、本実施例のソフトウェア開発支援装
置は、部品と他の要素との結合関係を設定する結合手段
5と、前記結合関係の対象となり得る前記各部品と前記
各要素との組合せごとの仲介ルーチンを格納する仲介ル
ーチン格納手段6と、前記結合関係が設定された場合
に、必要な前記仲介ルーチンを特定する特定手段7と、
を有する。
【0041】また、本実施例のソフトウェア開発支援装
置は、図示しない表示画面とポインティングデバイスを
有し、また、前記ポインティングデバイスによって所定
の操作を行なうことによって前記図形を前記表示画面上
の所望の位置に配置する配置手段8を有する。
【0042】また、前記部品は少なくとも、表示画面上
の所定の位置に表示され続ける静的部品と、ソフトウェ
ア内の情報を表示するための表示用部品と、ソフトウェ
アに対して情報を入力するための入力用部品と、を含
む。
【0043】[2.実施例の作用及び効果]本実施例に
おけるソフトウェア開発では、まず、部品格納手段1に
各部品に関するデータ及び処理内容を部品に付属する内
部データとして格納しておく。そして、選択手段2によ
って所望の部品を選択する。このとき、ポインティング
デバイスによって前記図形をポイントすることによって
選択を行なうことができる。
【0044】また、配置手段8を用い、ポインティング
デバイスによって所定の操作を行なうことによって前記
図形を前記表示画面上の所望の位置に配置することがで
きる。
【0045】さらに、編集手段3によって選択した部品
の内部データを編集する。このとき、部品の内部データ
は、当該部品が組み込まれるソフトウェアによって異な
らない非依存データと、当該部品が組み込まれるソフト
ウェアによって異なる依存データに区分され、編集手段
は、この依存データを編集するように構成されている。
このため、部品が組み込まれるソフトウェアによって異
ならない非依存データについては編集や入力が不要なの
で、ソフトウェア開発が効率化される。
【0046】次に、部品の種類ごとの開発、結合関係の
設定及びソフトウェアの動作の実現について説明する。
【0047】[2−1.静的部品の開発]静的GUI部
品は、ソフトウェアの動作中、画面上の固定位置に表示
され続ける部品である。図2は、静的GUI部品のデー
タ構造である。静的GUI部品は、図2に示すように、
描画及び初期化などの処理手順データa1と、図形の基
本的な特徴を表現しソフトウェアに依存しない非依存デ
ータa2と、ソフトウェアごとに異なる個々の図形の位
置/サイズなどを表す依存データa3を含む。
【0048】ここで非依存データa2の例としては、図
形の種類(例えば円/直線/矩形の種別)、ストローク
(例えば線の数=4、折れ点の座標={(34,13),(50,3
4),...} のように表す)、ベクトル(例えば図形の向き
(0.4,0.7) のように表す)などが挙げられる。
【0049】また、依存データa3の例としては表示画
面上での位置データ(例えば絶対座標(200,130),相対座
標(20,3)のように表す)、色データ(例えば表面=赤
色、背景=黄色のように表す)、サイズデータ(例えば
width=30,height=40,depth=15のように表す)などが挙
げられる。
【0050】次に、図3は静的GUI部品の開発の手順
を示すフローチャートである。なお、本明細書のフロー
チャートにおいて左側は主にソフトウェア開発支援装置
による動作を、右側は主にユーザによる操作を示す。こ
の手順では、図3に示すように、画面に一覧表示される
部品から(ステップ31)部品を選択し(ステップ3
2)、視覚的な操作によって部品を配置する(ステップ
33)。ここで図4は、部品の一覧表示及び選択のため
のウインドウ(Select Panel)及び部品の配置のためのウ
インドウ(Palette) の表示例である。
【0051】続いて、選択された部品の内部データのう
ち編集可能な依存データa3が一覧表示され(ステップ
34)、内部データの編集を終了すると(ステップ3
5)、選択された部品データは内部データともにソフト
ウェアを構成する部品の情報として保持され、ソースコ
ード生成時に参照される。ここで図5は、内部データ編
集のためのウインドウの表示例である。
【0052】[2−2.表示用部品の開発]図6は、表
示用GUI部品の編集に関するデータを示す概念図であ
る。すなわち、表示用GUI部品b2は、ソフトウェア
内部のデータb1をユーザに画面表示するためのもので
ある。そして、部品b2のデータ構造b3は、表示デー
タを格納するための内部可変データ格納領域と、表示処
理ルーチンと、ワークエリアである内部データ格納領域
を持つ。
【0053】各部品b2がどのデータを表示するかは、
ユーザが結合手段5を通じて部品とデータとの結合関係
として指定し、指定された結合関係は結合情報b5の形
式を持つデータ構造体b4として結合情報テーブルb9
に格納され、ソースコード生成時に参照される。
【0054】なお、構造体b5は、データ名(例えばtu
rbineRotation のような名称で表す)、データの型(例
えば整数型int/文字型str/実数型floa
t...のような種別で表す)、ID(例えばID=12
345 のようなコードで表す)を含む。なお、IDは自動
発番され同一ソフトウェア内では重複しない。また、図
7はマトリクスb7の例である。
【0055】なお、部品b2が処理できるデータ型とデ
ータb1のデータ型が異なる場合が考えられ得るが、そ
のための処理モジュール(前記仲介ルーチンに相当する
もの)は処理モジュールライブラリb8(前記仲介ルー
チン格納手段の一部に相当するもの)に格納されてい
る。
【0056】そして、部品とデータ型との組み合わせご
との処理は結合処理モジュールb6が行う。このモジュ
ールb6は、一辺がソフトウェア内部のデータの型、他
辺が表示GUI部品の種類となっているマトリクスb7
から参照され、特定の型と特定の部品の交点には、その
型のデータをその部品で表示する際に必要となる処理モ
ジュールが名称などで特定され、選択される。そしてこ
れが結合情報テーブルb9に記録される。そして、結合
情報テーブルb9に記録された結合関係に応じたモジュ
ールb6がソースコード生成時に用いられる。
【0057】例えば、いくつかの実数からなるデータ群
が存在し、一方、データを棒グラフで表示するという機
能を持つ表示用部品が存在するが、この部品は入力値と
して整数しか受け付けないと仮定する。この場合、仲介
ルーチンたる処理モジュールが実数のデータ群を整数に
変換してから部品に渡すことになる。
【0058】そして、図8は、表示用部品の選択と処理
の開発の手順を示すフローチャートである。この手順で
は、一覧表示されたデータ型を(ステップ81)選択す
ると(ステップ82)、部品IDがインクリメント(1
加算)され(ステップ83)、一覧表示された部品から
(ステップ84)部品を選択し画面上に配置する(ステ
ップ85)。インクリメントされた部品IDは選択され
た部品ごとに割り当てられる。
【0059】次に、選択された部品のデータのうち編集
可能な内部データb3が一覧表示され(ステップ8
6)、このデータを編集すると(ステップ87)、マト
リクスb7を通じてから処理モジュールが読み込まれ
(ステップ88)、登録が終了すると(ステップ89)
編集結果が結合情報テーブルb9に記録される(ステッ
プ810)。
【0060】ここで図9はデータ型の一覧表示のための
ウインドウの表示例、図10は部品の一覧表示及び選択
のためのウインドウ(Select Panel)及び配置のためのウ
インドウ(Palette) の表示例、図11は部品のデータ編
集のためのウインドウの表示例である。
【0061】[2−3.入力用部品の開発]図12は、
入力用GUI部品の編集に関するデータを示す概念図で
ある。すなわち、入力用部品c1は、ユーザによる所定
の入力があったときに、この入力に対応するソフトウェ
ア内の所定の処理ルーチンc7を起動する部品である。
そして、部品c1のデータ構造c2は、初期値、現在
値、表示処理ルーチン、内部データ格納領域を含む。
【0062】各部品c1がどの処理ルーチンc7を起動
するかは、ユーザが結合手段5を通じて部品c1と処理
ルーチンc7との結合関係として指定する。そして、指
定された結合関係は結合情報c4の形式を持つデータ構
造体c3として結合情報テーブルc8に格納され、ソー
スコード生成時に参照される。
【0063】なお、構造体c3のデータ構造c4は、初
期値/現在値(例えば0〜1で正規化する)、入力用の
GUI部品のID(ID=12345のようなコードで
表す)、ソフトウェア内の処理ルーチン名を保持してい
る。なお、部品のIDと処理ルーチン名はリスト構造
(例えば関数1,関数2,...関数nのように特定す
る)で表せば、1つのデータ構造体によって複数のGU
I部品及び処理ルーチンを表すことができる。
【0064】ここで、各処理ルーチンc7は内部処理で
必要とする値と必要とするデータ型を持ち、一方、GU
I部品が保持する現在値は、各GUI部品ごとに異なっ
たデータ型、例えば、2値情報、整数情報、文字列情報
等で保持されている場合がしばしばである。そのための
処理モジュール(前記仲介ルーチンに相当するもの)は
処理モジュールライブラリc9(前記仲介ルーチン格納
手段の一部に相当する)に格納されている。
【0065】そして、部品とデータ型との組み合わせご
との処理モジュールは結合処理モジュールc5が行う。
このモジュールc5は、一辺がGUI部品の種類、他辺
がデータの型となっているマトリクスc6を参照する。
マトリクスc6では、特定の型と特定の部品の交点で、
その表示用GUI部品で得られる値(状態変化情報)を
処理ルーチンが必要とするデータの型へ変換するための
手順を記述した処理モジュールが名称などで特定されて
いる。これによって処理モジュールが選択され、選択さ
れたモジュールが結合情報テーブルc8に記録され、結
合関係に応じた処理モジュールがソースコード生成時に
用いられる。
【0066】図13は、入力用部品の選択及びデータ編
集の手順を示すフローチャートである。この手順では、
一覧表示されるデータ型から(ステップ131)データ
型を選択すると(ステップ132)部品IDがインクリ
メントされる(ステップ133)。そして、一覧表示さ
れる部品から(ステップ134)部品を選択して配置す
ると(ステップ135)、当該部品の編集可能な内部デ
ータc3が表示され(ステップ136)、内部データを
編集する(ステップ137)。その後、マトリクスc6
を用いてから処理モジュールが読み込まれ(ステップ1
38)、この処理モジュールが結合情報テーブルc8に
格納される(ステップ139)。
【0067】ここで図14はデータ型の一覧表示及び選
択のためのウインドウの表示例、図15は部品の一覧表
示及び選択のためのウインドウ(Select Panel)及び配置
のためのウインドウ(Palette) の表示例、図16は部品
のデータ編集のためのウインドウの表示例である。
【0068】[2−4.部品の結合関係の設定]以上の
ように各部品を開発した後、結合手段5によって部品と
他の要素との結合関係を設定する。この結合関係の設定
は、選択された各部品の図形に対して所定の操作を行な
うことによって行なうことができる。
【0069】ここで、図17は、部品間の関連付けに関
するデータを示す概念図である。すなわち、ユーザが設
定した部品間の関連は関連記述テーブルd4に格納され
る。また、部品間の結合に必要な処理モジュール(前記
仲介ルーチンに相当するもの)は関連処理モジュールd
1を用いて特定される。モジュールd1は、GUI部品
間の各関連及び各関連に対応する処理ルーチン(前記仲
介ルーチンに相当するもの)を記述したデータ構造を持
つマトリクスd2を参照する。
【0070】このマトリクスd2では、一辺が操作を及
ぼすGUI部品名、他辺が非操作GUI部品名であり、
両者の交点には処理ルーチンが名称などで特定されてい
る。具体的な処理ルーチンは処理ルーチンライブラリd
3(前記仲介ルーチン格納手段の一部に相当するもの)
に格納されている。
【0071】関連(結合)が設定されるとこの結合に対
応した処理ルーチンは、マトリクスd2を用いてライブ
ラリd3から読み出され、テーブルd4に格納される。
テーブルd4のデータ構造d5には、操作を及ぼすGU
I部品のIDとこの部品に関連し操作を受ける各部品の
IDが含まれ、また、各関連ごとに仲介ルーチンたる処
理ルーチン名がリスト形式で格納される。
【0072】なお、マトリクスd2において該当する交
点が発見されなかった関連については、ユーザ独自の処
理ルーチンであるとし、ユーザが指定した処理ルーチン
名が格納される。
【0073】テーブルd4によって、あるGUI部品上
でイベントが発生した場合に、影響を及ぼすべき他の部
品と、その場合に必要な処理ルーチンを特定することが
できる。なお、図18はマトリクスd2の例、図19は
テーブルd5の例である。
【0074】また、図20は、部品間の関連付け処理の
手順を示すフローチャートである。この手順では、操作
を及ぼす部品が一覧表示され(ステップ201)ユーザ
が部品を選択し画面上に配置する(ステップ202)。
続いて操作の影響を受ける部品が一覧表示され(ステッ
プ203)、ユーザがこれら部品を選択し画面上に配置
する(ステップ204)。
【0075】次に操作を及ぼす部品の発火点となるイベ
ントが一覧表示され(ステップ205)、ユーザがイベ
ントを選択する(ステップ206)。さらに、選択した
関連にユーザによる処理ルーチンを対応させる場合はこ
れを作成し設定した関連の部品に関連付ける(ステップ
207)。その後、マトリクスd2を用いて各関連に対
応した処理ルーチンが取り出され(ステップ208)、
設定された関連とともにテーブルd4に格納される(ス
テップ209)。
【0076】ソフトウェア実行時には、定義されたイベ
ントが発行されるたびにモジュールd1がテーブルd4
を参照し、データ構造d5で示される処理ルーチンが呼
び出される。
【0077】ここで図21は操作を及ぼす部品の一覧表
示のためのウインドウの表示例、図22は操作の影響を
受ける部品の一覧表示のためのウインドウの表示例、図
23はイベントの一覧表示のためのウインドウの表示
例、図24は処理ルーチンの記述のためのウインドウの
表示例、図25は部品と処理ルーチンの関連付けのため
のウインドウの表示例である。
【0078】[2−5.ソフトウェアの動作の実現]以
上の開発が終了すると、ソースコードジェネレータ4
が、選択された部品、選択された部品の内部データ、結
合関係(関連)に基づいてソフトウェアのソースコード
を生成・出力する。なお、結合関係が設定されている部
品については、特定手段7が必要な前記仲介ルーチンを
特定し、ソースコードジェネレータ4は特定された仲介
ルーチンに基づいてソースコードを生成する。
【0079】そして、生成されたソフトウェアのソース
コードに、プログラマが開発したユーザソースコードを
結合しコンパイル等の作業を行うことで、GUIソフト
ウェア開発が完了する。
【0080】なお、請求項1にいう実現手段はソースコ
ードジェネレータには限定されず、ソフトウェアの動作
を実現できる手段を広く意味するので、例えば、コンパ
イラのように機械語による実行モジュールを直接生成し
たり、インタプリタのように実行してもよい。
【0081】以上のように、本実施例のソフトウェア開
発支援装置では、データや処理内容が部品ごとに用意さ
れ、所望の部品を選択するだけでその部品に関するデー
タや処理内容を編集することができ、選択された部品及
びその内部データに基づいてソフトウェアの動作が実現
される。このため、部品とデータや処理内容との関係を
手作業でプログラミングする繁雑な手順が不要となり、
ソフトウェア開発が効率化される。また、同様に、部品
の入れ替えや部品に対応するデータや処理手順の変更も
効率的に行なうことができるので、ソフトウェアの拡張
性、保守性が向上する。
【0082】また、本実施例のソフトウェア開発支援装
置では、部品と、他の要素例えば他の部品・ソフトウェ
アの内部データなどとの間に結合関係を設定し、この結
合関係に基づいて前記ソフトウェアの動作が実現され
る。このため、部品と他の要素間の関係についても手作
業でプログラミングする手順が不要となり、ソフトウェ
ア開発が効率化される。
【0083】特に、本実施例では、異なった型のデータ
やイベントに基づいて構成された部品と要素でも、仲介
ルーチンがデータの型変換など必要な処理を行なうの
で、このような仲介ルーチンをユーザが開発の際に用意
する必要がない。
【0084】さらに、本実施例では、静的部品によって
メニュー欄や背景模様のような表示画面の基本的な内容
が提供され、表示要部品と入力用部品によって入出力の
機能が提供されるので、新たなソフトウェア開発におい
てデータ処理部分のみを新たに開発すればよく、ソフト
ウェア開発が効率化される。
【0085】また、本実施例では、図形による部品の表
示が部品の認識を容易にし、また、図形に対する視覚的
操作が選択・結合関係の設定・画面上での部品の配置を
容易にするので、ソフトウェア開発が効率化される。
【0086】[3.他の実施例]なお、本発明は上記実
施例に限定されるものではなく、実施態様の変更は自由
であるから、次のような他の実施例をも包含するもので
ある。例えば、本発明のソフトウェア開発支援装置によ
って開発対象とされるソフトウェアはGUIソフトウェ
アには必ずしも限定されず、他のソフトウェアを開発対
象としてもよい。
【0087】また、本発明における部品は、必ずしも画
面に表示されるものには限定されず、ソフトウェアを構
成する要素であって所望のものを部品として扱うことも
できる。また、部品の内部データのうち非依存データに
ついて編集できるようにしてもよい。また、結合手段は
必ずしも必要ではなく、開発された部品の結合のみを手
作業で行なってもよい。
【0088】また、仲介ルーチンは必ずしもすべての結
合関係について必要なものではなく、例えば、部品間の
結合であって各部品の取り扱うデータ形式が同一であれ
ば仲介ルーチンは必要ない。この場合、マトリクスのう
ち当該部品間の関係に相当する部分は空欄とすればよ
い。
【0089】また、本発明における部品は静的部品・表
示用部品・入力用部品には限定されず、コンピュータ外
部との通信用部品など所望の種類の部品を設定すること
ができる。また、部品の選択や結合関係の設定はポイン
ティングデバイスによらず、部品の番号をキーボードか
ら入力するなど他の態様で行なってもよい。
【0090】
【発明の効果】以上説明したように、本発明によれば、
GUIソフトウェアの開発を効率的に行なうソフトウェ
ア開発支援装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施例のソフトウェア開発支援装置の
概念的構成を示す機能ブロック図
【図2】本発明の実施例のソフトウェア開発支援装置に
おける静的GUI部品のデータ構造
【図3】本発明の実施例のソフトウェア開発支援装置に
おける静的GUI部品の開発の手順を示すフローチャー
【図4】本発明の実施例のソフトウェア開発支援装置に
おける部品の一覧表示及び選択のためのウインドウ(Sel
ect Panel)及び部品の配置のためのウインドウ(Palett
e) の表示例
【図5】本発明の実施例のソフトウェア開発支援装置に
おける内部データ編集のためのウインドウの表示例
【図6】本発明の実施例のソフトウェア開発支援装置に
おける表示用GUI部品の編集に関するデータを示す概
念図
【図7】本発明の実施例のソフトウェア開発支援装置に
おけるマトリクスb7の例
【図8】本発明の実施例のソフトウェア開発支援装置に
おける表示用部品の開発の手順を示すフローチャート
【図9】本発明の実施例のソフトウェア開発支援装置に
おけるデータ型の一覧表示のためのウインドウの表示例
【図10】本発明の実施例のソフトウェア開発支援装置
における部品の一覧表示及び選択のためのウインドウ(S
elect Panel)及び配置のためのウインドウ(Palette) の
表示例
【図11】本発明の実施例のソフトウェア開発支援装置
における部品のデータ編集のためのウインドウの表示例
【図12】本発明の実施例のソフトウェア開発支援装置
における入力用GUI部品の編集に関するデータを示す
概念図
【図13】本発明の実施例のソフトウェア開発支援装置
における入力用部品の開発の手順を示すフローチャート
【図14】本発明の実施例のソフトウェア開発支援装置
におけるデータ型の一覧表示及び選択のためのウインド
ウの表示例
【図15】本発明の実施例のソフトウェア開発支援装置
における部品の一覧表示及び選択のためのウインドウ(S
elect Panel)及び配置のためのウインドウ(Palette) の
表示例
【図16】本発明の実施例のソフトウェア開発支援装置
における部品のデータ編集のためのウインドウの表示例
【図17】本発明の実施例のソフトウェア開発支援装置
における部品間の関連付けに関するデータを示す概念図
【図18】本発明の実施例のソフトウェア開発支援装置
におけるマトリクスd2の例
【図19】本発明の実施例のソフトウェア開発支援装置
におけるテーブルd5の例
【図20】本発明の実施例のソフトウェア開発支援装置
における部品間の関連付け処理の手順を示すフローチャ
ート
【図21】本発明の実施例のソフトウェア開発支援装置
における操作を及ぼす部品の一覧表示のためのウインド
ウの表示例
【図22】本発明の実施例のソフトウェア開発支援装置
における操作の影響を受ける部品の一覧表示を表すウイ
ンドウの表示例
【図23】本発明の実施例のソフトウェア開発支援装置
におけるイベントの一覧表示のためのウインドウの表示
【図24】本発明の実施例のソフトウェア開発支援装置
における処理ルーチンの記述のためのウインドウの表示
【図25】本発明の実施例のソフトウェア開発支援装置
における部品と処理ルーチンの関連付けのためのウイン
ドウの表示例
【符号の説明】
1:部品格納手段 2:選択関係 3:編集手段 4:ソースコードジェネレータ 5:結合手段 6:仲介ルーチン格納手段 7:特定手段 8:配置手段

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータのソフトウェアを構成する
    部品を組合せてソフトウェアを開発するソフトウェア開
    発支援装置において、 各部品に関するデータ及び処理内容を部品に付属する内
    部データとして格納する部品格納手段と、 所望の部品を選択する選択手段と、 選択した部品の内部データを編集する編集手段と、 選択された部品及び選択された部品の内部データに基づ
    いてソフトウェアの動作を実現する実現手段を有するこ
    とを特徴とするソフトウェア開発支援装置。
  2. 【請求項2】 部品の内部データは、当該部品が組み込
    まれるソフトウェアによって異ならない非依存データ
    と、当該部品が組み込まれるソフトウェアによって異な
    る依存データに区分され、 前記編集手段は、この依存データを編集するように構成
    されたことを特徴とする請求項1記載のソフトウェア開
    発支援装置。
  3. 【請求項3】 部品と他の要素との結合関係を設定する
    結合手段を有し、 前記実現手段は、前記結合関係を前提に前記ソフトウェ
    アの動作を実現するように構成されたことを特徴とする
    請求項1記載のソフトウェア開発支援装置。
  4. 【請求項4】 前記結合関係の対象となり得る前記各部
    品と前記各要素との組合せごとの仲介ルーチンを格納す
    る仲介ルーチン格納手段と、 前記結合関係が設定された場合に、必要な前記仲介ルー
    チンを特定する特定手段とを有し、 前記実現手段は、特定された前記仲介ルーチンに基づい
    て前記ソフトウェアの動作を実現するように構成された
    ことを特徴とする請求項3記載のソフトウェア開発支援
    装置。
  5. 【請求項5】 表示画面とポインティングデバイスを有
    し、 前記各部品を所定の図形によって前記表示画面に表示
    し、 前記選択手段は、前記ポインティングデバイスによって
    前記図形をポイントすることによって前記選択を行な
    い、 前記結合手段は、選択された各部品の前記図形に対して
    所定の操作を行なうことによって前記結合関係を設定す
    るように構成され、 前記ポインティングデバイスによって所定の操作を行な
    うことによって前記図形を前記表示画面上の所望の位置
    に配置する配置手段を有することを特徴とする請求項3
    記載のソフトウェア開発支援装置。
  6. 【請求項6】 前記部品は少なくとも、 表示画面上の所定の位置に表示され続ける静的部品と、 ソフトウェア内の情報を表示するための表示用部品と、 ソフトウェアに対して情報を入力するための入力用部品
    と、を含むことを特徴とする請求項1記載のソフトウェ
    ア開発支援装置。
JP21976094A 1994-09-14 1994-09-14 ソフトウェア開発支援装置 Expired - Fee Related JP3697274B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21976094A JP3697274B2 (ja) 1994-09-14 1994-09-14 ソフトウェア開発支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21976094A JP3697274B2 (ja) 1994-09-14 1994-09-14 ソフトウェア開発支援装置

Publications (2)

Publication Number Publication Date
JPH0883172A true JPH0883172A (ja) 1996-03-26
JP3697274B2 JP3697274B2 (ja) 2005-09-21

Family

ID=16740578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21976094A Expired - Fee Related JP3697274B2 (ja) 1994-09-14 1994-09-14 ソフトウェア開発支援装置

Country Status (1)

Country Link
JP (1) JP3697274B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139145A (ja) * 1997-07-24 1999-02-12 Casio Comput Co Ltd プログラム構築支援装置及び記憶媒体
JP2000259400A (ja) * 1999-03-09 2000-09-22 Nippon Steel Corp ソフトウェアの自動生成装置、その自動生成方法、及び記録媒体
JP2008003648A (ja) * 2006-06-20 2008-01-10 Fuji Xerox Co Ltd 操作画面生成方法、操作画面生成装置、電子機器、プログラム
JP2008021095A (ja) * 2006-07-12 2008-01-31 Nippon Telegr & Teleph Corp <Ntt> 連携シナリオ作成支援システム及びその方法並びにプログラム
JP2022185500A (ja) * 2021-06-02 2022-12-14 シンメトリー・ディメンションズ・インク 情報処理装置及びソフトウェア生成支援方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139145A (ja) * 1997-07-24 1999-02-12 Casio Comput Co Ltd プログラム構築支援装置及び記憶媒体
JP2000259400A (ja) * 1999-03-09 2000-09-22 Nippon Steel Corp ソフトウェアの自動生成装置、その自動生成方法、及び記録媒体
JP2008003648A (ja) * 2006-06-20 2008-01-10 Fuji Xerox Co Ltd 操作画面生成方法、操作画面生成装置、電子機器、プログラム
JP2008021095A (ja) * 2006-07-12 2008-01-31 Nippon Telegr & Teleph Corp <Ntt> 連携シナリオ作成支援システム及びその方法並びにプログラム
JP2022185500A (ja) * 2021-06-02 2022-12-14 シンメトリー・ディメンションズ・インク 情報処理装置及びソフトウェア生成支援方法

Also Published As

Publication number Publication date
JP3697274B2 (ja) 2005-09-21

Similar Documents

Publication Publication Date Title
US6715132B1 (en) Datasheet browsing and creation with data-driven datasheet tabs within a microcontroller design tool
KR100475432B1 (ko) 그래픽 사용자 인터페이스의 디자인 변경 방법 및 이를 위한 기록매체
CN1105964C (zh) 用于可视编程中显示功能对象的方法
JPH09222977A (ja) アプリケーション用ユーザ・インタフェース設計の規則に基づく方法及び装置
TWI407425B (zh) 產生使用者介面相關之一物件屬性的方法
US20060107220A1 (en) Method and system for displaying an annotated file
US6070006A (en) Object oriented software development tool for creation of new class(es)
CN113238749A (zh) 一种可视化人机交互设计平台的工作方法
JP3697274B2 (ja) ソフトウェア開発支援装置
JPH06348499A (ja) オブジェクト指向プログラミング支援装置及びオブジェクト指向プログラミング支援方法
JP3254793B2 (ja) 対話処理システムの制御方法
CN101364398B (zh) 产生使用者接口相关的对象属性的方法
JP4563551B2 (ja) プログラム編集装置及びプログラム編集方法
JP2004078375A (ja) 情報処理装置および帳票処理方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JPH0954688A (ja) Gui設計支援方法
JP2001051771A (ja) 画像処理システム及び方法
CN100511102C (zh) 人机接口的预设像素编辑方法及其编辑器
JP3376950B2 (ja) 画面生成装置
JP2000020294A (ja) プログラム開発支援装置、及びコンピュータ読み取り可能な記録媒体
JPH07334358A (ja) 手順編集装置
JP2000047777A (ja) プログラム式表示装置用の操作画面作成方法
CN116149652A (zh) 一种基于vba的汽车仪表人机交互软件设计方法
JPH086775A (ja) データ処理装置及びプログラム処理方法
JPH07200611A (ja) データ処理装置及びデータ処理方法
JP2000215035A (ja) プログラム式表示装置用の操作画面作成方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050704

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

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees