Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3383457B2 - Extraction method of user interface design support information - Google Patents
[go: Go Back, main page]

JP3383457B2 - Extraction method of user interface design support information - Google Patents

Extraction method of user interface design support information

Info

Publication number
JP3383457B2
JP3383457B2 JP05246095A JP5246095A JP3383457B2 JP 3383457 B2 JP3383457 B2 JP 3383457B2 JP 05246095 A JP05246095 A JP 05246095A JP 5246095 A JP5246095 A JP 5246095A JP 3383457 B2 JP3383457 B2 JP 3383457B2
Authority
JP
Japan
Prior art keywords
class
screen
information
user interface
list
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
JP05246095A
Other languages
Japanese (ja)
Other versions
JPH08249165A (en
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP05246095A priority Critical patent/JP3383457B2/en
Publication of JPH08249165A publication Critical patent/JPH08249165A/en
Application granted granted Critical
Publication of JP3383457B2 publication Critical patent/JP3383457B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】本発明は、ユーザ・インタフェー
ス設計支援情報の抽出方法に関し、特に、オブジェクト
指向システムの開発を行う際のユーザ・インタフェース
設計支援情報の抽出方法に適用して有効な技術に関する
ものである。 【0002】 【従来の技術】オブジェクト指向システム開発における
ユーザ・インタフェース設計では、一般に、ユーザの要
求仕様により外部仕様を定義し、その外部仕様に基づい
て設計を進める。 【0003】ここで確定された外部仕様には、システム
の画面設計も含まれており、その設計された画面で動作
するシステムを開発することとなる。 【0004】また、オブジェクト指向システム開発によ
るユーザ・インタフェース設計では、オブジェクト指向
の利点である再利用性を再大限に活かすために、既存資
産(クラスライブラリ)の利用を検討する。 【0005】そのため、確定した外部仕様と、既存資産
との整合性をとりながら開発を進める必要がある。 【0006】実際には、事前に確定した外部仕様では、
既に設計されたオブジェクトを十分に活用することがで
きない場合が生じ、従来では、「ブラウザ(構造に基づ
いてソースコードを探索することが可能なツール)」等
を使用して、各オブジェクト毎のクラス定義やメソッド
の定義を調べ、手作業で外部仕様との整合性を取ってい
た。 【0007】このようなものとして、例えば、Micr
osoft(マイクロソフト)社のVisual C+
+(ビジュアル・シープラスプラス)のクラスライブラ
リユーザーズガイドに記載されているClassWiz
ard(クラスウィザード)というツールが挙げられ、
これは、画面等のインタフェースで受け取るメッセージ
をメッセージハンドラと呼ばれるプログラムに対応づけ
ることが可能であり、ユーザはメッセージハンドラを手
作業で作成することにより、インタフェースの設計を行
うことができる。 【0008】 【発明が解決しようとする課題】本発明者は、上記従来
技術を検討した結果、以下の問題点を見いだした。 【0009】上記従来技術を用いたユーザ・インタフェ
ース設計では、「ブラウザ」により各オブジェクト毎の
クラス定義やメソッドの定義を調べ、手作業により定義
情報を整理し、画面等のインタフェースとの整合性をと
っていたが、外部仕様は、システムが扱う業務について
の十分な分析がされずに決定されることが多い。 【0010】このため、ユーザ・インタフェースの検証
を行う際には、「ブラウザ」の検索機能を使用して、参
照する必要のあるクラス定義とメソッドの定義をいちい
ち検索する必要が生じ、時間がかかるという問題点があ
った。 【0011】さらに、検索したクラス定義やメソッドの
定義情報の整理も手作業で行うため、本来検索されてい
るはずのクラス定義やメソッドの定義を見逃すことも多
く、あらかじめ設計された業務領域のオブジェクトの分
析、設計結果を余すことなく利用することができない場
合が生じるという問題点があった。 【0012】このため、業務の分析結果により精練され
たモデルをインタフェースに反映した質の良い画面設計
は、ユーザのスキルに委ねられていた。 【0013】本発明の目的は、ユーザ・インタフェース
設計にかかる時間を短縮することが可能な技術を提供す
ることにある。 【0014】本発明の他の目的は、ユーザ・インタフェ
ース設計において、あらかじめ設計された業務領域のオ
ブジェクトの正確な分析を行うことが可能な技術を提供
することにある。 【0015】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述及び添付図面によって明らか
になるであろう。 【0016】 【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
下記のとおりである。 【0017】オブジェクト指向システムの開発における
ユーザ・インタフェースの設計を支援する情報を前記シ
ステムから抽出するユーザ・インタフェース設計支援情
報の抽出方法において、前記システムが利用するクラス
ライブラリのソースファイルの内容から、前記クラスラ
イブラリにおけるオブジェクトのクラス定義情報、メソ
ッド実装情報、画面を構成する部品、及びユーザの入力
によって生じるイベントハンドラを記述した画面定義
報を抽出し、その抽出されたメソッドによるクラスの操
作を分類し、画面によるクラスの操作パターンを認識
し、画面とクラスの対応関係を導き出したユーザ・イン
タフェース設計支援情報を抽出して出力するものであ
。 【0018】 【作用】上述した手段によれば、オブジェクト指向シス
テムの開発におけるユーザ・インタフェースの設計を支
援する情報を前記システムから抽出するユーザ・インタ
フェース設計支援情報の抽出方法において、前記システ
ムが利用するクラスライブラリのソースファイルの内容
から、前記クラスライブラリにおけるオブジェクトのク
ラス定義情報、メソッド実装情報、画面を構成する部
品、及びユーザの入力によって生じるイベントハンドラ
を記述した画面定義情報を抽出し、その抽出されたメソ
ッドによるクラスの操作を分類し、画面によるクラスの
操作パターンを認識し、画面とクラスの対応関係を導き
出したユーザ・インタフェース設計支援情報を抽出して
出力することにより、その出力を参照するだけで、前記
クラスライブラリにおけるオブジェクトのクラス定義と
メソッドの定義を逐次検索していく必要がなくなるの
で、ユーザ・インタフェース設計にかかる時間を短縮す
ることができる。 【0019】また、その出力を参照するだけで、あらか
じめ設計された業務領域のオブジェクトの分析、設計結
果を余すことなく利用することができ、正確な分析を行
うことが可能となる。 【0020】以下、本発明について、実施例とともに説
明する。 【0021】なお、実施例を説明するための全図におい
て、同一機能を有するものは同一符号を付け、その繰り
返しの説明は省略する。 【0022】 【実施例】図1は、本発明の一実施例であるユーザ・イ
ンタフェース設計支援情報の抽出方法を説明するための
フローチャートである。 【0023】本実施例のユーザ・インタフェース設計支
援情報の抽出方法は、図1に示すように、ヘッダファイ
ル300、実装ファイル400、イベントハンドラ実装
ファイル1300、画面定義ファイル700、クラス分
類定義ファイル1200を参照して、クラス情報抽出処
理(ステップ101)、メソッド情報抽出処理(ステッ
プ102)、イベントハンドラ情報抽出処理(ステップ
103)、画面クラス対応処理(ステップ104)、特
性抽出処理(ステップ105)の各処理を順次行うもの
である。 【0024】図2は、本実施例のユーザ・インタフェー
ス設計支援方法を実現するシステムのハードウェア構成
を示すブロック図である。 【0025】本実施例を実現するシステムは、図2に示
すように、プログラムに基づく逐次処理能力を持ち、図
1に示した各処理を実行するCPU201と、プログラ
ムデータを格納することができるメモリ202と、キー
ボードおよびマウスなどのポインティングデバイスと、
結果を出力することのできるディスプレイ等を備えた入
出力装置203とから構成され、本実施例のユーザ・イ
ンタフェース設計の適用対象となるオブジェクト指向シ
ステムを記述しているヘッダファイル300と実装ファ
イル400とイベントハンドラ実装ファイル1300お
よび画面定義ファイル700、およびクラスの分類を定
義したクラス分類定義ファイル1200を格納した記憶
装置204を備えている。 【0026】次に、上述した本実施例のユーザ・インタ
フェース設計の適用対象のシステムとして、具体的に、
図書館のデータベースシステムを取り挙げ、それを以下
に説明する。 【0027】図書館データベースシステムは、図書館業
務において、図書、利用者、貸し出しについての情報を
管理するシステムである。 【0028】その図書館業務についての分析の結果であ
るオブジェクトモデルの例をオブジェクト図として図3
に示す。 【0029】なお、図3におけるオブジェク図は、
「オブジェクト指向方法論OMT」(J・ランボー他、羽
生田栄一監訳、トッパン)に記載されている記法に基づ
いて記述されている。 【0030】図3に示すオブジェクト図は、オブジェク
ト指向モデルに基づいて対象業務をモデル化したもので
あり、この図をもとにオブジェクト指向システムが構成
される。 【0031】図3に示す2乃至3つの部分に分かれた長
方形は、クラスを示している。クラスとは共通な性質を
持つオブジェクトを抽象化して共通の性質を記述したも
のである。 【0032】図3に示した例では、Library(図
書館)クラス1001、Human(人)クラス100
2、LibraryUser(利用者)クラス100
3、Book(本)クラス1004、LibraryB
ook(図書)クラス1005、RentalLog
(貸出記録)クラス1006の6つのクラスから構成さ
れている。 【0033】そして、各クラスの最上位の部分には、ク
ラス名が記述され、2番目の部分には、各クラスのオブ
ジェクトが内部に保持する属性が1行毎に複数記述され
る。その属性は、変数として実装される。 【0034】3番目の部分には、各クラスの属性を操作
するメソッドが一行毎に複数記述される。 【0035】なお、図3においては、単純に属性を参照
するメソッドおよび属性に値を設定するメソッドは、省
略している。 【0036】図3における名前づけ基準は、クラス名の
先頭を大文字ではじめ、属性名やメソッド名の先頭は小
文字としている。 【0037】また、単語の区切りを明確化するために後
に続く単語の先頭を大文字にしている。この規則に乗っ
取り、例えば、属性name1041の値を単純に参照
するメソッドは、getName、値を設定するメソッ
ドは、setNameとなる。 【0038】また、汎化関係1031、1032は、三
角形の底辺側に接続されるクラスが、反対側の頂点に接
続するクラスの属性とメソッドを継承することを示す。
このとき、前者のクラスをサブクラス、後者のクラスを
スーパークラスと呼ぶ。 【0039】また、全体部分関係1033は、菱形に接
するクラスが反対側に接するクラスを所有するという意
味を持つ。他の関連1034〜1036は、オブジェク
ト同志が対応することを示し、黒丸は複数対応すること
を示し、黒丸がなければただ一つのオブジェクトが対応
することを示す。 【0040】この図3では、LibraryUser
(利用者)クラス1003は、LibraryBook
(図書)クラス1005とrent(貸出)1036と
いう1対多の関係を持つ。 【0041】次に、図1で説明した各処理を図面を用い
て詳細に説明する。 【0042】初めに、上述した図書館データベースシス
テムのクラス情報を抽出するクラス情報抽出処理(ステ
ップ101)について説明する。 【0043】図1に示したクラス情報抽出処理(ステッ
プ101)は、ヘッダファイル300から、クラス情報
500を抽出し、クラス情報テーブル500aを生成す
る処理である。 【0044】図4に、LibraryUserクラス1
003のヘッダファイル300を示す。 【0045】図4において、ステップ301は、Lib
raryUserクラス1003の宣言およびHuma
nクラス1002がスーパークラスであることを示して
いる。 【0046】ステップ302は、属性userCode
313の宣言である。 【0047】ステップ303は、メソッドrentBo
ok314の宣言である。 【0048】ここで、図4に示した上記情報は、コンパ
イラ技術により機械的に抽出して図5に示すようなクラ
ス情報テーブル500aを作成する。 【0049】このコンパイラ技術は、計算機科学/ソフ
トウエア技術講座7 コンパイラの理論と実現(疋田輝
男、石畑清著 共立出版)のP31から示されている構
文解析の技術によるものである。 【0050】図5は、図4に示したヘッダファイル30
0により抽出したクラス情報500を格納したクラス情
報テーブル500aである。 【0051】図5に示すクラス情報テーブル500a
は、クラス名501、スーパークラス名502、属性リ
スト503、メソッドリスト504の項目からなり、L
ibraryクラス1001、Humanクラス100
2、LibraryUserクラス1003、Book
クラス1004、LibraryBookクラス100
5、RentalLogクラス1006の情報が記述さ
れている。 【0052】ここで、図4に示したヘッダファイル30
0の場合、LibraryUserクラス1003は、
スーパークラスとしてHumanクラス1002を持
ち、属性としてuserCode、numOfBook
sを持ち、メソッドとして、rentBook、ret
urnBook、getNumOfBooksを持つこ
とがわかるため、図5に示すように、クラス情報テーブ
ル500aにリストアップされる。 【0053】次に、図1に示したメソッド情報抽出処理
(ステップ102)について説明する。 【0054】図1に示したメソッド情報抽出処理(ステ
ップ102)は、実装ファイル400から、メソッド情
報600を抽出し、そのメソッド情報テーブル600a
を生成する処理である。 【0055】図6は、LibraryUserクラス1
003のメソッドrentBook314についての実
装ファイル400を示した図である。 【0056】図6において、ステップ401は、引き数
theBook411の宣言であり、引き数theBo
ok411は、LibraryBookクラス1005
のオブジェクトであることが示されている。 【0057】また、ステップ402は、引き数であるt
heBookオブジェクト411へメッセージrent
412を送信することを示す。 【0058】ステップ403は、代入式であり、属性n
umOfBooks413が左辺に記述されていること
から、値の設定を行うことを示しており、また、右辺に
も記述されていることから値の参照を行うことを示す。 【0059】ステップ404は、LibraryBoo
kクラス1005のrentメソッド412に引き数が
ないことを示している。 【0060】ステップ405は、RentalLogク
ラス1006のオブジェクトが予約語new415によ
り、theRentalLogオブジェクト414とし
て生成されることを示している。 【0061】ここで、図6に示した情報は、上述したコ
ンパイラ技術により機械的に抽出され、図7に示すメソ
ッド情報テーブル600aを作成する。 【0062】図7は、上述した実装ファイル400から
抽出したLibrary(図書館)クラス1001のメ
ソッド情報600を格納したメソッド情報テーブル60
0aであり、ここでは、それぞれLibraryUse
rクラス、Libraryクラス、LibraryBo
okクラスのメソッド情報を示している。 【0063】図7では、メソッド名601に対し、その
メソッドのなかで生成されるオブジェクトのクラスが、
生成クラスリスト602に、消滅するオブジェクトのク
ラスが、消滅クラスリスト603に記述されている。 【0064】変更属性リスト604は、対応するメソッ
ドの処理において値を設定される属性のリストが格納さ
れる。 【0065】参照属性リスト605は対応するメソッド
の処理において値を読みだされる属性のリストが格納さ
れる。 【0066】送信メッセージリスト606は、対応する
メソッドの処理のなかでメッセージとして渡されるオブ
ジェクトのクラスとメソッド名の組のリストが格納され
る。 【0067】そして、図6に示す実装ファイル400の
ステップ401〜ステップ403から、Library
Userクラス1003のrentBook611は、
変更属性リスト604及び参照属性リスト605にnu
mofBook、送信メッセージリストにLibrar
yBook、Rentがそれぞれメソッド情報として格
納されている。 【0068】次に、図1に示したイベントハンドラ情報
抽出処理(ステップ103)について説明する。 【0069】図1に示すイベントハンドラ情報抽出処理
103は、イベントハンドラ実装ファイル1300か
ら、イベントハンドラ情報800を抽出し、そのイベン
トハンドラ情報テーブル800aを生成する処理であ
る。 【0070】以下、イベントハンドラ実装ファイル13
00の例として、図書館データベースシステムの貸し出
し画面におけるイベントを取り挙げ、説明する。 【0071】図8は、本実施例の図書館データベースシ
ステムの1画面である貸出画面1100を示す図であ
る。 【0072】図8に示すように、貸出画面1100は、
図書コードフィールド1111、タイトルフィールド1
112、著者フィールド1113、出版社フィールド1
114、図書検索ボタン1115、利用者コードフィー
ルド1121、利用者名フィールド1122、利用者検
索ボタン1123、貸出日フィールド1131、返却予
定日フィールド1132、貸出ボタン1141、取消ボ
タン1142から構成される。 【0073】これはシステムの利用者が、図書コードフ
ィールド1111に図書コードを入力し、図書検索ボタ
ン1115をマウス等のポインテイングデバイスでクリ
ックすることにより、タイトルフィールド1112、著
者フィールド1113、出版社フィールド1114に対
応する図書の情報を表示して確認し、また、利用者コー
ドフィールド1121に予め与えられた利用者コードを
入力して、利用者検索ボタン1123をクリックするこ
とにより、利用者名フィールドに利用者名を表示させて
確認するものである。 【0074】貸出日フィールド1131には、システム
が内部に保持している時計により、その時の月日を表示
する。返却予定日フィールド1132には、システムに
設定されている貸出期間をもとに計算した返却予定日が
表示される。 【0075】その後、利用者は貸出ボタン1141をク
リックすることにより、指定した図書の貸出を受けるこ
とができる。また、貸出をしたくないときは、取消ボタ
ン1142をクリックすることにより、貸出をうけるの
を中止することができる。 【0076】図9は、図8に示す貸出画面1100につ
いての画面情報を示した画面定義ファイル700であ
る。 【0077】この図9の例では、画面部品1111、1
115、1121、1123、1141、1142が記
述されている。イベント’EV_UPDATE’710
は、フィールドに文字列が入力されたときに生じるイベ
ントであり、イベント’EV_BUTTONDOWN’
711は、その画面部品に対しクリックされた時に生じ
るイベントである。 【0078】図10は、図9に示した貸し出し画面re
ntScene1100の全イベントハンドラ721〜
726の中のmh_bookQuery724について
の実装ファイル1800である。 【0079】図10において、ステップ1801は、イ
ベントハンドラmh_bookQuery724に引き
数がないことを示している。 【0080】また、ステップ1802は、rentSc
ene(貸し出し画面)1100の図書コードフィール
ド1111に入力された図書コードをメッセージget
Code1812により参照し、code1811に代
入することを示している。 【0081】ステップ1803は、Libraryクラ
ス1001のインスタンスmyLibrary1814
に入力された図書コードcode1811を引き数とし
てメッセージqueryBook618を送信し、該当
する図書を参照する。 【0082】さらに、その検索結果をtheBook1
813に代入することを示している。 【0083】ステップ1804は、検索結果であるth
eBook1813に対してメッセージgetTitl
e1816を送信し、その図書のタイトルを参照する。 【0084】さらに、showTitle1815によ
り、rentScene1100のタイトルフィールド
1112にタイトルを表示することを示している。 【0085】ここで、図10に示した情報は、上述した
コンパイラ技術により機械的に抽出され、図11に示す
イベントハンドラ情報テーブル800aを作成する。 【0086】図11は、本発明の実施例が適用する図書
館データベースシステムの1画面である貸し出し画面r
entScene1100に対するイベントハンドラ情
報800を格納したイベントハンドラ情報テーブル80
0aである。 【0087】イベントハンドラ名801に対し、そのイ
ベントハンドラのなかで生成されるオブジェクトのクラ
スが、生成クラスリスト802に、消滅するオブジェク
トのクラスが、消滅クラスリスト803に記述されてい
る。 【0088】送信メッセージリスト804は、対応する
イベントハンドラの処理の中でメッセージとして渡され
るオブジェクトのクラスとメソッド名の組のリストが格
納される。 【0089】図11には、貸し出し画面rentSce
ne1100に対するイベントハンドラ721〜726
のイベントハンドラ情報が格納されている。 【0090】ここで、例えば、図10に示すイベントハ
ンドラ実装ファイル1800に示すイベントハンドラm
h_bookQuery724は、生成及び消滅クラス
リストは何もなく、送信メッセージリストには、Lib
rary(図書コード)をqueryBookに送信す
ると格納される。 【0091】このようにして、イベントハンドラ情報テ
ーブルを作成していく。 【0092】そして、このイベントハンドラmh_bo
okQuery724は、図8における図書検索ボタン
1115がクリックされると、図9によりイベント’E
V_BUTTONDOWN’711が発生して、それに
対応するイベントハンドラ’mh_bookQuer
y’724が実行される。 【0093】さらに、図11により、イベントハンド
ラ’mh_bookQuery’724では、そのイベ
ントハンドラ内でオブジェクトの生成・消滅は行われ
ず、Libraryクラス1001に対してメッセージ
queryBook613を送ることになる。 【0094】次に、図1に示した画面クラス対応処理
(ステップ104)について説明する。 【0095】図1に示す画面クラス対応処理103は、
クラス情報500とメソッド情報600とイベントハン
ドラ情報800と画面定義ファイル700を入力とし
て、画面クラス対応情報900を抽出し、画面クラス対
応情報テーブル900aを生成する処理である。 【0096】図12は、その画面クラス対応情報テーブ
ル900aを示す。 【0097】画面クラス対応情報テーブル900aは、
画面名901に対し、生成されるオブジェクトのクラス
を集めた生成クラスリスト902、消滅させるオブジェ
クトのクラスを集めた消滅クラスリスト903、属性の
値を変更させられるオブジェクトのクラスを集めた変更
クラスリスト904、属性の値を参照するオブジェクト
のクラスを集めた参照クラスリスト905が対応づけら
れたテーブルで表現される。 【0098】図13に、画面クラス対応処理(ステップ
104)を実現するフローチャートを示す。 【0099】ここで、ステップ1501〜ステップ15
09のループにより、すべての画面に対して、ステップ
1502〜ステップ1508を繰り返す。 【0100】また、ステップ1502〜ステップ150
8のループにより、画面上のすべてのイベントハンドラ
に対して、ステップ1503〜ステップ1507を繰り
返す。 【0101】ステップ1503では、イベントハンドラ
の生成クラスを画面クラス対応情報に追加する。 【0102】ステップ1504は、イベントハンドラの
消滅クラスを画面クラス対応情報に追加する。 【0103】さらに、ステップ1505〜ステップ15
07のループにより、イベントハンドラのすべての送信
メッセージに対してステップ1506を繰り返す。 【0104】ステップ1506は、メッセージ評価処理
であり、図14にその処理を実現するフローチャートを
示す。 【0105】図14において、ステップ1601は、メ
ッセージ評価処理のパラメータの準備作業を行う。具体
的には、画面名、クラス名、メソッド名を受け取る。 【0106】ステップ1602は、対象となるクラスの
メソッドがすでに処理済みであるかどうかを判定し、処
理済みでない場合にはステップ1603に進む。処理済
みである場合には再帰処理から抜け出し、メッセージ評
価処理を終了する。 【0107】ステップ1603は、対象となるクラスに
該当するメソッドが有るかどうか調べ、なかった場合
は、ステップ1604に進む。該当するメソッドが存在
した場合には、ステップ1606に進み、ステップ16
07により、そのメソッドがそのクラスの属性を変更し
ているかどうか変更属性を調べる。 【0108】もし、変更属性が存在していた場合には、
ステップ1614を実行して、そのクラスを変更クラス
として追加する。 【0109】その後、ステップ1608により、そのメ
ソッドがそのクラスの属性を参照しているかどうか参照
属性を調べる。もし、参照属性が存在していた場合に
は、ステップ1615を実行して、そのクラスを変更ク
ラスとして追加する。その後、ステップ1609によ
り、生成クラスを対応する画面クラスの画面クラス対応
情報に追加し、ステップ1610により、消滅クラスを
対応する画面クラスの画面クラス対応情報に追加し、ス
テップ1611〜ステップ1613のループにより、す
べての送信メッセージについてメッセージ評価処理(ス
テップ1612)を再帰的に行う。 【0110】ステップ1604では、スーパークラスの
有無を調べ、その結果、スーパークラスが存在していた
場合には、そのスーパークラスに対して、メッセージ評
価処理を行う。 【0111】スーパークラスが存在しない場合には、該
当するメソッドが存在しないこととなり、エラーとして
ユーザに報告する。 【0112】次に、図12に示された画面名rents
cene(貸し出し画面)914を例に取り上げ、その
画面クラス対応処理について、具体的に説明する。 【0113】まず、図9に示した貸し出し画面の画面定
義ファイルのmh_doRent721を図11に示し
たイベントハンドラ情報テーブル800aを調べると、
送信メッセージリストにLibraryクラス1001
のrentBook617がリストアップされている。 【0114】このrentBook617について、図
7に示したメソッド情報テーブル600aを調べると、
変更属性リスト及び参照属性リストにnumofBoo
ks、送信メッセージリストにLibraryBook
クラス1005のrent620がそれぞれリストアッ
プされている。 【0115】そして、LibraryBookクラス1
005のrent620には、生成クラスリストにRe
ntalLog1006がリストアップされている。 【0116】これらから、図12に示した貸し出し画面
914の画面クラス対応情報テーブル900aには、図
7のメソッド情報テーブル600aのrent620に
リストアップされているRentalLog1006が
生成クラスリストにリストアップされ、変更・参照クラ
スリストには、numofBookを属性に持つLib
raryUser1003がそれぞれリストアップされ
る。 【0117】次に、図1に示した特性抽出処理(ステッ
プ105)について説明する。 【0118】図1に示す特性抽出処理は、画面クラス対
応情報900とクラス分類定義情報1200を入力とし
て、設計した画面の評価を行い画面特性情報1900を
作成し、その情報を表示するものである。 【0119】図15は、画面に対するクラスの特性を決
める条件を記述したクラス分類定義情報テーブル120
0である。 【0120】図15に示すクラス分類定義情報テーブル
1200は、クラス分類1201〜1205について、
画面との関係1211〜1214の有無を表現してい
る。 【0121】図15において、「必須」と記述されてい
るものは、その画面のなかで、対応する行為が行われる
ことを示し、「無し」と記述されている項目は、該当す
る処理がその画面のなかで、行われないことを意味して
いる。 【0122】また、空欄は、その関係の有無が、クラス
の特性に影響しないことを示している。 【0123】図15において、例えば、編集可能120
1は、ある画面ではそのクラスを生成・消滅するという
関係があることを示している。さらに、変更・参照によ
らず、そのクラスの特性を限定できることを示してい
る。 【0124】図16は、設計画面の評価結果である画面
特性情報1900である。画面特性情報1900は、画
面名1901とその画面に対するクラスの特性を評価し
た結果を編集クラス1911、生成クラス1912、消
滅クラス1913、変更クラス1914、参照クラス1
915に分けて格納する。 【0125】例えば、図16では、画面名’rentS
cene’に対する各クラスの特性として、生成クラス
には’RentalLog’、編集クラス、消滅クラ
ス、変更クラスには該当するクラスが存在せず、参照ク
ラスには’LibraryBook’、’Boo
k’、’LibraryUser’、’Human’が
該当することを示している。 【0126】図17に、特性抽出処理を実現するフロー
チャートを示す。 【0127】図17において、ステップ1701〜ステ
ップ1707のループにより、すべての画面に対してス
テップ1702〜ステップ1706を繰り返す。ステッ
プ1702〜ステップ1706のループにより、対象と
なる画面の画面クラス対応情報に記述されているすべて
のクラスに対して、ステップ1703〜ステップ170
5を繰り返す。 【0128】ステップ1703は、該当するクラスに対
して、すべてのクラス分類定義情報1200について、
ステップ1704を繰り返す。 【0129】ステップ1704は、対象となるクラス
が、個々のクラス分類定義についての条件が成り立つか
どうか調べ、成り立つ場合には、ステップ1703〜ス
テップ1705で構成するループを抜けてステップ17
08に進む。成立しない場合には、ステップ1705へ
進む。 【0130】ステップ1708は、成立したクラス分類
に対応する分類に該当クラスを追加し、ステップ170
9へ進む。 【0131】ステップ1709は、画面特性情報190
0を表示し、特性抽出処理を終了する。 【0132】図18に、その画面特性情報1900の表
示例1500を示す。 【0133】図18では、画面名フィールド1301に
画面名である’rentScene’が表示され、生成
クラスリストフィールド1312には、’Rental
Log’が表示され、変更クラスリストフィールド13
14には、’LibraryUser’が表示され、参
照クラスリストフィールド1315には、’Libra
ryBook’、’Book’、’LibraryUs
er’、’Human’がそれぞれ表示されている。 【0134】編集クラスリストフィールド1311、消
滅クラスリストフィールド1313、変更クラスリスト
フィールド1314には、該当するクラスが存在しない
ため、何も表示されていない。 【0135】これらの情報により、設計した貸し出し画
面(rentScene)が、貸し出し記録(Rent
alLog)のみを作成し、使用者の変更ができ、その
他のオブジェクトについては、参照のみを行うことが明
確になる。 【0136】これにより、設計した画面の検討を支援
し、より、オブジェクトモデルと画面インタフェースと
の整合性が明確に維持できる。 【0137】結果表示においては、図19に示すように
クラス特性情報を表示することも可能である。 【0138】図19は、クラス特性情報の表示例140
0を示している。図19では、クラス名フィールドにク
ラス名である’RentalLog’が表示され、生成
画面リストフィールド1411には’rentScen
e’が表示され、消滅画面リストフィールド1412に
は’logScene’が表示され、変更画面リストフ
ィールド1413には’backScene’が表示さ
れ、参照画面リストフィールド1414には’logS
cene’が表示される。クラスの特性の表示は、画面
クラス対応情報900をベースに出力している。 【0139】したがって、上述したように、オブジェク
ト指向システムの開発におけるユーザ・インタフェース
の設計を支援する情報を前記システムから抽出するユー
ザ・インタフェース設計支援情報の抽出方法において、
前記既存クラスライブラリのソースファイルの内容から
既存クラスライブラリにおけるオブジェクトのクラス定
義情報、メソッド実装情報、画面を構成する部品、及び
ユーザの入力によって生じるイベントハンドラ情報を抽
出し、その抽出された各情報を基に各画面ごとに発生す
るイベントに対応するメソッドを抽出し、その抽出され
たメソッドによるクラスの操作を分類し、画面によるク
ラスの操作パターンを認識し、画面とクラスの対応関係
を導き出したユーザ・インタフェース設計支援情報を抽
出して出力することにより、その出力を参照するだけ
で、既存クラスライブラリにおける参照の必要があるク
ラス定義とメソッドの定義を逐次検索していく必要がな
くなるので、ユーザ・インタフェース設計にかかる時間
を短縮することが可能となる。 【0140】また、その出力を参照するだけで、あらか
じめ設計された業務領域のオブジェクトの分析、設計結
果を余すことなく利用することができ、正確な分析を行
うことが可能となる。 【0141】以上、本発明者によってなされた発明を、
前記実施例に基づき具体的に説明したが、本発明は、前
記実施例に限定されるものではなく、その要旨を逸脱し
ない範囲において種々変更可能であることは勿論であ
る。 【0142】 【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば、下
記のとおりである。 【0143】その出力を参照するだけで、前記クラスラ
イブラリにおけるオブジェクトのクラス定義とメソッド
の定義を逐次検索していく必要がなくなるので、ユーザ
・インタフェース設計にかかる時間を短縮することが
きる。 【0144】また、その出力を参照するだけで、あらか
じめ設計された業務領域のオブジェクトの分析、設計結
果を余すことなく利用することができ、正確な分析を行
うことが可能となる。
DETAILED DESCRIPTION OF THE INVENTION [0001] BACKGROUND OF THE INVENTION The present invention relates to a user interface
The method of extracting design support information
User Interface for Developing Oriented Systems
Effective technology applied to design support information extraction method
Things. [0002] 2. Description of the Related Art Object-oriented system development
In user interface design, generally,
External specifications are defined based on the required specifications, and based on the external specifications.
To advance the design. [0003] The external specifications determined here include the system
Screen design is also included and works on the designed screen
System to be developed. In addition, object-oriented system development
In user interface design, object-oriented
In order to maximize the reusability, which is the advantage of
Consider using production (class library). [0005] Therefore, the determined external specifications and existing assets
It is necessary to proceed with development while maintaining consistency with [0006] Actually, in the external specification determined in advance,
You can make full use of already designed objects.
In some cases, browsers (based on structure)
Tool that allows you to search the source code
Class definitions and methods for each object using
Check the definition and manually match with external specifications.
Was. As such, for example, Micr
Visual C + from Microsoft (Microsoft)
+ (Visual Sea Plus Plus) class library
ClassWiz described in Reuser's Guide
ard (Class Wizard)
This is the message received on the screen or other interface
To a program called a message handler
The user can handle the message handler.
Designing the interface by creating it manually
I can. [0008] SUMMARY OF THE INVENTION The present inventor has proposed a
As a result of studying the technology, the following problems were found. A user interface using the above-mentioned prior art
In the source design, the “browser” uses
Examine class and method definitions and define manually
Organize information and ensure consistency with screens and other interfaces
However, the external specifications are related to the tasks handled by the system.
Is often determined without sufficient analysis. For this reason, verification of the user interface
When performing a search, use the search function of the "browser"
Class definitions and method definitions that need to be checked
Search is required and it takes time.
Was. Further, the class definition and the method
Since the sorting of definition information is also done manually,
Often overlook the class and method definitions
Of objects in the business area designed in advance
Analysis and design results cannot be fully utilized
There is a problem that a combination occurs. [0012] For this reason, scouring is performed based on the results of business analysis.
Screen design that reflects the model on the interface
Was left to the skills of the user. An object of the present invention is to provide a user interface
Providing technology that can reduce the time required for design
It is to be. Another object of the present invention is to provide a user interface.
When designing a business area,
Provide technology that enables accurate analysis of objects
Is to do. The above and other objects and novel features of the present invention
Features are apparent from the description of this specification and the accompanying drawings.
Will be. [0016] SUMMARY OF THE INVENTION The present invention is disclosed in the present application.
A brief description of typical inventions will be given below.
It is as follows. In the development of an object-oriented system
Information that supports the design of the user interface
User interface design support information extracted from stem
The method of extracting informationUsed by the systemclass
From the contents of the library source fileAnd saidClasla
Object class definition information in library
Mounting information, components that make up the screen, and user input
Event handler generated byScreen definition that describesEmotion
Extract information, ThatManipulating a class with extracted methods
Classify works and recognize class operation patterns on the screen
User-in that derived the correspondence between screens and classes
Extract and output interface design support informationThing
To. [0018] According to the above-mentioned means, an object-oriented system is provided.
Supports user interface design in system development
User interface for extracting information to assist from the system
In the method for extracting face design support information,System
Used byContents of class library source file
FromAnd saidObject library in class library
Class definition information, method implementation information, and screen components
Event handler generated by the product and user input
Screen definition that describesExtract information, ThatExtracted meso
Classify the class operations by
Recognize operation patterns and guide the correspondence between screens and classes
Extracting user interface design support information
By outputting, just referring to the output,Said
Object in the class libraryClass definition and
Eliminates the need to search for method definitions
Reduces the time required for user interface design
Canit can. Also, simply by referring to the output,
Analysis and design of objects in the business area
It can be used without loss and provides accurate analysis.
It becomes possible. Hereinafter, the present invention will be described together with examples.
I will tell. Incidentally, in all the drawings for explaining the embodiments, FIG.
Those having the same function are given the same reference numerals,
The description of the return is omitted. [0022] FIG. 1 is a diagram showing a user interface according to an embodiment of the present invention.
To explain how to extract interface design support information.
It is a flowchart. The user interface design support of this embodiment
As shown in FIG. 1, the method of extracting the support information is as follows.
File 300, implementation file 400, event handler implementation
File 1300, screen definition file 700, class
Referring to the class definition file 1200, the class information extraction process is performed.
Processing (step 101), method information extraction processing (step 101).
102), event handler information extraction processing (step
103), screen class corresponding processing (step 104),
To sequentially perform each process of the sex extraction process (step 105)
It is. FIG. 2 shows the user interface of the present embodiment.
Hardware configuration of the system that implements the software design support method
FIG. A system for realizing this embodiment is shown in FIG.
As shown, it has a sequential processing capability based on
1. The CPU 201 that executes each process shown in FIG.
Memory 202 capable of storing program data and a key
Pointing devices such as boards and mice;
An input equipped with a display capable of outputting the results
And an output device 203.
Object-oriented systems to which interface design is applied
Header file 300 that describes the
File 400 and event handler implementation file 1300
And screen definition file 700, and class classification
Storing the defined class classification definition file 1200
An apparatus 204 is provided. Next, the user interface of the above-described embodiment will be described.
As a system to which the face design is applied, specifically,
Picked up the database system of the library, and
Will be described. Library database system is a library business
Information about books, users, and lending
It is a system to manage. The result of the analysis of the library business
Figure 3 shows an example of an object model
Shown in The object shown in FIG.GThe figure shows
"Object-Oriented Methodology OMT" (J. Rambo et al., Wings
Based on the notation written in Eiichi Ikuta, Toppan)
It is described. The object diagram shown in FIG.
Is a model of the target business based on
Yes, an object-oriented system is constructed based on this diagram
Is done. The length divided into two or three parts shown in FIG.
Squares indicate classes. Classes have common properties
Objects that have common properties
It is. In the example shown in FIG.
(Shokan) Class 1001, Human Class 100
2. LibraryUser (user) class 100
3, Book (book) class 1004, LibraryB
book class 1005, RentalLog
(Lending record) Consists of six classes, class 1006
Have been. The top part of each class contains
The class name is described, and the second part is the object of each class.
Multiple attributes that the object holds internally are described for each line.
You. The attributes are implemented as variables. In the third part, the attributes of each class are manipulated.
Multiple methods are described for each line. In FIG. 3, simply refer to the attribute.
Methods to set values for attributes and attributes
Abbreviated. The naming standard in FIG.
Start with an uppercase letter and start the attribute or method name with a small letter.
Characters. In order to clarify the word break,
Is capitalized. Ride this rule
Take, for example, simply refer to the value of the attribute name 1041
Methods to get, getName, method to set the value
Is setName. The generalization relations 1031 and 1032 are
The class connected to the bottom side of the polygon is connected to the opposite vertex
Indicates that the attributes and methods of the following class are to be inherited.
At this time, the former class is a subclass, and the latter class is
Call it a superclass. The whole partial relationship 1033 is tangent to the rhombus.
Class that owns the class on the other side
Has a taste. Other associations 1034 to 1036
Indicates that the competitors correspond, and the black circles indicate that they correspond
Indicates that if there is no black circle, only one object corresponds
To do so. In FIG. 3, the LibraryUser
(User) Class 1003 is a LibraryBook
(Books) Class 1005 and rent (loan) 1036
It has a one-to-many relationship. Next, each process described with reference to FIG.
This will be described in detail. First, the library database system described above is used.
Class information extraction processing (step
Step 101) will be described. The class information extraction process shown in FIG.
Class 101), from the header file 300, class information
500 and generate a class information table 500a
This is the process to be performed. FIG. 4 shows a library user class 1
003 shows a header file 300. In FIG. 4, step 301 is a process in which
declaration of the raryUser class 1003 and Huma
Show that n class 1002 is a super class
I have. In step 302, the attribute userCode
313 declaration. Step 303 is a method rentBo
Ok314 declaration. Here, the information shown in FIG.
It is extracted mechanically by Ira technology and
Create the information table 500a. This compiler technology is used in computer science / software.
Software Technology Lecture 7 Theory and Realization of Compiler (Hikita Teru
Man, Kiyoshi Ishihata, Kyoritsu Shuppan Publishing) P31
This is due to the technique of sentence analysis. FIG. 5 shows the header file 30 shown in FIG.
Class information storing the class information 500 extracted by 0
It is a report table 500a. The class information table 500a shown in FIG.
Is the class name 501, super class name 502, attribute
List 503 and the items of the method list 504.
ibrary class 1001, Human class 100
2, LibraryUser class 1003, Book
Class 1004, LibraryBook Class 100
5. Information of the RentalLog class 1006 is described.
Have been. Here, the header file 30 shown in FIG.
If 0, the LibraryUser class 1003
Has Human Class 1002 as a super class
Also, userCode and numOfBook as attributes
s, and methods: rentBook, ret
have arnBook, getNumOfBooks
As shown in FIG. 5, the class information table
File 500a. Next, the method information extraction processing shown in FIG.
(Step 102) will be described. The method information extraction process (step
102) is a method information from the implementation file 400.
Report 600, and its method information table 600a.
This is the process of generating. FIG. 6 shows a library user class 1
003 method RentBook314
FIG. 3 is a diagram showing an installation file 400. In FIG. 6, step 401 is an argument
is the declaration of theBook411, and the argument theBook
ok411 is a LibraryBook class 1005
Object. In step 402, the argument t
message to the heBook object 411
412 is transmitted. Step 403 is an assignment expression, and the attribute n
umOfBooks413 is described on the left side
Indicates that the value is to be set.
Indicates that the value is to be referenced. Step 404 is a LibraryBook
The argument is included in the rent method 412 of the k class 1005.
It is not shown. Step 405 is the process of RentalLog
The object of the lath 1006 is based on the reserved word new415.
And theRentalLog object 414
Is generated. Here, the information shown in FIG.
It is extracted mechanically by the empirical technique and the meso
And creates a read information table 600a. FIG. 7 shows an example of the above-described mounting file 400.
Extracted library 1001 class
Method information table 60 storing sod information 600
0a, and here, each
r class, Library class, LibraryBo
It shows method information of the ok class. In FIG. 7, the method name 601 is
The class of the object created in the method is
In the generated class list 602, the
Lass is described in the disappearance class list 603. The change attribute list 604 stores the corresponding method.
Contains a list of attributes whose values are set in the processing of the
It is. The reference attribute list 605 has the corresponding method
List of attributes whose values are read in the process of
It is. The transmission message list 606 has a corresponding
Object passed as a message in method processing
A list of pairs of object classes and method names is stored.
You. Then, in the mounting file 400 shown in FIG.
From step 401 to step 403, the library
RentBook611 of User class 1003 is
Nu is added to the change attribute list 604 and the reference attribute list 605.
mofBook, Librar in outgoing message list
yBook and Rent are each stored as method information.
Has been delivered. Next, the event handler information shown in FIG.
The extraction process (step 103) will be described. Event handler information extraction processing shown in FIG.
103 is the event handler implementation file 1300
Then, the event handler information 800 is extracted, and the event
Processing for generating the handler information table 800a.
You. Hereinafter, the event handler implementation file 13
As an example of 00, lend a library database system
The events on the screen will be described. FIG. 8 shows the library database system of this embodiment.
FIG. 10 is a diagram showing a lending screen 1100 which is one screen of the stem.
You. As shown in FIG. 8, the lending screen 1100 displays
Book code field 1111 and title field 1
112, author field 1113, publisher field 1
114, book search button 1115, user code fee
Field 1121, user name field 1122, user search
Search button 1123, rental date field 1131, return expected
Fixed date field 1132, loan button 1141, cancel button
It comprises a tongue 1142. This is because the user of the system can read the book code file.
Enter the book code in the field 1111 and press the book search button.
Button 1115 with a pointing device such as a mouse.
The title field 1112,
Field 1113 and publisher field 1114
Display and confirm the information of the corresponding book, and
User code given in advance to the
Enter and click the user search button 1123
To display the user name in the user name field
To confirm. The rental date field 1131 includes a system
Displays the current month and day by the clock held inside
I do. In the expected return date field 1132, the system
The expected return date calculated based on the set lending period is
Is displayed. Thereafter, the user clicks the lend button 1141.
To borrow the specified book
Can be. Also, if you do not want to lend,
You can get a loan by clicking on
Can be stopped. FIG. 9 shows the lending screen 1100 shown in FIG.
Screen definition file 700 showing the screen information of
You. In the example of FIG. 9, the screen components 1111, 1
115, 1211, 1123, 1141, and 1142 are described.
Has been described. Event 'EV_UPDATE' 710
Is the event that occurs when a string is entered in the field.
Event “EV_BUTTONDOWN”
711 occurs when the screen part is clicked
Event. FIG. 10 shows the rental screen re shown in FIG.
All event handlers 721 to ntScene 1100
About mh_bookQuery 724 in 726
Is an implementation file 1800. In FIG. 10, step 1801 is a step
Pull to vent handler mh_bookQuery724
Indicates that there is no number. Further, step 1802 is executed by rentSc
book code field of ene (lending screen) 1100
Enter the book code entered in
Referenced by Code 1812, substitute for Code 1811
To enter. Step 1803 is a library
Instance myLibrary1814
The book code code1811 entered in
Sends the message queryBook618 to
Refer to the book you want to use. Further, the search results are stored in theBook1.
813. Step 1804 is the search result th.
Message getTitl for eBook1813
e1816 is transmitted, and the title of the book is referred to. Further, according to showTitle1815,
RentScene1100 title field
1112 indicates that a title is to be displayed. Here, the information shown in FIG.
It is extracted mechanically by the compiler technology and shown in FIG.
Create the event handler information table 800a. FIG. 11 shows a book to which the embodiment of the present invention is applied.
Rental screen r which is one screen of the library database system
Event handler information for entScene1100
Event handler information table 80 storing information 800
0a. The event handler name 801,
The object class created in the event handler
Is displayed in the generated class list 802.
Class is described in the disappearance class list 803.
You. The transmission message list 804 corresponds to
Passed as a message in the event handler process
List of pairs of object classes and method names
Will be delivered. FIG. 11 shows a rental screen rentSce.
event handlers 721 to 726 for ne1100
Event handler information is stored. Here, for example, the event C shown in FIG.
Event handler m shown in the handler implementation file 1800
h_bookQuery 724 is a creation and death class
There is no list and the sent message list contains Lib
Send rary (book code) to queryBook
Is stored. In this way, the event handler information
Make a table. The event handler mh_bo
okQuery 724 is a book search button in FIG.
When 1115 is clicked, the event 'E is displayed according to FIG.
V_BUTTONDOWN '711 is generated and
Corresponding event handler 'mh_bookQuer
y'724 is executed. Further, as shown in FIG.
In 'mh_bookQuery' 724, the event
Object is created / deleted in the event handler
Message to Library class 1001
queryBook 613 will be sent. Next, the screen class corresponding processing shown in FIG.
(Step 104) will be described. The screen class correspondence processing 103 shown in FIG.
Class information 500, method information 600, and event handling
Dora information 800 and screen definition file 700
To extract the screen class correspondence information 900
This is a process for generating the response information table 900a. FIG. 12 shows the screen class correspondence information table.
9A illustrates a file 900a. The screen class correspondence information table 900a is
Class of object to be generated for screen name 901
Class list 902 that collects objects, objects to be extinguished
Class list 903 that collects the classes of
A collection of classes of objects whose values can be changed
Class list 904, object referring to attribute value
The reference class list 905 that collects the classes of
It is represented by a set table. FIG. 13 shows a screen class correspondence process (step
104) is a flowchart for realizing step 104). Here, steps 1501 to 15
Step 09 for all screens by loop of 09
Steps 1502 to 1508 are repeated. Steps 1502 to 150
All event handlers on the screen by loop of 8
Steps 1503 to 1507 are repeated for
return. In step 1503, the event handler
Is added to the screen class correspondence information. Step 1504 is for the event handler.
Add the extinction class to the screen class correspondence information. Steps 1505 to 15
All the event handlers are sent by the loop of 07
Step 1506 is repeated for the message. Step 1506 is a message evaluation process.
FIG. 14 is a flowchart for realizing the processing.
Show. In FIG. 14, step 1601 is a
Prepare parameters for message evaluation processing. Concrete
Specifically, it receives the screen name, class name, and method name. In step 1602, the target class
Determines whether the method has already been processed
If not, the process proceeds to step 1603. Processed
Exits from the recursive process if it is
The price processing ends. In step 1603, the target class
Check if there is a corresponding method, if not
Goes to step 1604. Corresponding method exists
If so, the process proceeds to Step 1606, and Step 16
07 causes the method to change the attributes of the class.
Check the change attribute to see if If a change attribute exists,
Perform step 1614 to change the class
Add as Thereafter, at step 1608, the message
See if the sod references an attribute of that class
Examine attributes. If the reference attribute exists
Executes step 1615 and changes the class.
Add as a lath. Then, according to step 1609,
Screen class of the screen class corresponding to the generated class
Information, and in step 1610, the disappearance class
Add to the screen class correspondence information of the corresponding screen class and
By the loop of steps 1611 to 1613,
Message evaluation processing (scan) for all outgoing messages
Step 1612) is performed recursively. In step 1604, the super class
Check for presence, and as a result, a superclass exists
Message to the superclass
Value processing. If the super class does not exist, the
The corresponding method does not exist, and as an error
Report to user. Next, the screen name "rents" shown in FIG.
Taking cine (rental screen) 914 as an example,
The screen class correspondence processing will be specifically described. First, the screen setting of the rental screen shown in FIG.
The definition file mh_doRent721 is shown in FIG.
When the event handler information table 800a is checked,
Library class 1001 in outgoing message list
The rentBook 617 is listed. [0114] As for this rendBook 617,
When examining the method information table 600a shown in FIG.
NumofBoo in change attribute list and reference attribute list
ks, LibraryBook to send message list
The list 1006 rent 620 is listed
Have been Then, LibraryBook class 1
005 ren 620, Re is added to the generated class list.
ntalLog 1006 is listed. From these, the lending screen shown in FIG.
The screen class correspondence information table 900a of FIG.
7 in the method information table 600a
The listed RentalLog 1006 is
Listed in the generated class list,
In the list, Lib with numofBook as an attribute
Each raryUser1003 is listed.
You. Next, the characteristic extraction process shown in FIG.
Step 105) will be described. The characteristic extraction processing shown in FIG.
Response information 900 and class classification definition information 1200
Then, the designed screen is evaluated and the screen characteristic information 1900 is obtained.
Create and display the information. FIG. 15 shows the class characteristics for the screen.
Class definition information table 120 describing the conditions
0. Class classification definition information table shown in FIG.
1200 is for class classifications 1201 to 1205,
It expresses the presence or absence of the relationship 1211 to 1214 with the screen.
You. In FIG. 15, "essential" is described.
The corresponding action is performed on the screen
Items that are described as `` None ''
Means that no processing is performed in the screen
I have. In the blank, the presence or absence of the relationship is indicated by the class.
It does not affect the characteristics of. Referring to FIG. 15, for example,
1 means that the class is generated and disappears on a certain screen
Indicates a relationship. In addition, changes and references
Does not indicate that the characteristics of the class can be limited.
You. FIG. 16 shows a screen as an evaluation result of the design screen.
This is characteristic information 1900. The screen characteristic information 1900
Evaluate the class name for the screen name 1901 and its screen
The result of the edit class 1911, generation class 1912,
Destruction class 1913, Change class 1914, Reference class 1
915 is stored separately. For example, in FIG. 16, the screen name 'rentS
As a characteristic of each class with respect to “cene ′,
Contains 'RentalLog', editing class,
Class does not exist in the class
Lass has' LibraryBook ',' Boo
k ',' LibraryUser ', and' Human '
Indicates that this is the case. FIG. 17 is a flowchart for realizing the characteristic extraction processing.
The chart is shown. In FIG. 17, steps 1701 to
The loop of step 1707 causes all screens to be
Steps 1702 to 1706 are repeated. Step
By the loop from step 1702 to step 1706,
Everything described in the screen class correspondence information of the screen
Steps 1703 to 170
Repeat step 5. In step 1703, the corresponding class
Then, for all class classification definition information 1200,
Step 1704 is repeated. Step 1704 is for the target class.
Does the condition for each classification definition hold?
Investigate whether it is possible, and if
Step 17 through the loop composed of step 1705
Proceed to 08. If not, go to step 1705
move on. The step 1708 is for the established class classification.
The corresponding class is added to the classification corresponding to
Go to 9. In step 1709, the screen characteristic information 190
0 is displayed, and the characteristic extraction processing ends. FIG. 18 shows a table of the screen characteristic information 1900.
Illustrative Example 1500 is shown. In FIG. 18, the screen name field 1301 contains
The screen name 'rentScene' is displayed and generated
In the class list field 1312, 'Rental
Log ′ is displayed, and the change class list field 13 is displayed.
14, “LibraryUser” is displayed.
In the reference class list field 1315, 'Libra
ryBook ',' Book ',' LibraryUs
er 'and' Human 'are displayed. The edit class list field 1311 is turned off.
Deletion class list field 1313, Change class list
No corresponding class exists in the field 1314
Therefore, nothing is displayed. Based on these information, the designed rental image
The side (rentScene) is the rental record (Rent
alLog) only, and the user can be changed.
It is clear that other objects can only be referenced.
Be sure. [0136] This supports the examination of the designed screen.
And more, with object model and screen interface
Can be clearly maintained. In the result display, as shown in FIG.
It is also possible to display class characteristic information. FIG. 19 shows a display example 140 of class characteristic information.
0 is shown. In FIG. 19, click on the class name field.
"RentalLog" which is the name of the class is displayed and generated
The screen list field 1411 contains 'rentScen'
e 'is displayed, and the disappeared screen list field 1412 is displayed.
Displays 'logScene' and changes screen list
'BackScene' is displayed in field 1413
In the reference screen list field 1414, 'logS
Cene 'is displayed. Display of class characteristics is displayed on the screen
It is output based on the class correspondence information 900. Therefore, as described above, the object
User interface in the development of security oriented systems
A user who extracts information that supports the design of
In the method of extracting the interface design support information,
From the contents of the source file of the existing class library
Class definition of object in existing class library
Information, method implementation information, screen components, and
Extract event handler information generated by user input
Output, and generate for each screen based on the extracted information.
Extract the method corresponding to the event
Class operations by the methods
Recognizes the operation pattern of the class and the correspondence between the screen and the class
User interface design support information
By outputting and outputting, just refer to the output
That need to be referenced in the existing class library
It is not necessary to search for class definitions and method definitions sequentially.
Time for user interface design
Can be shortened. Also, simply by referring to the output,
Analysis and design of objects in the business area
It can be used without loss and provides accurate analysis.
It becomes possible. As described above, the invention made by the present inventors is described below.
Although specifically described based on the above embodiment, the present invention
The present invention is not limited to the above-described embodiment, but may deviate from the gist thereof.
Of course, various changes can be made within the
You. [0142] The present invention is a representative of the inventions disclosed in the present application.
To briefly explain the effects that can be achieved by using
It is as described. Just by referring to the output,The clasla
Object in the libraryClass definitions and methods
It is not necessary to search the definition of
・ Reducing the time required for interface designso
Wear. Also, simply by referring to the output,
Analysis and design of objects in the business area
It can be used without loss and provides accurate analysis.
It becomes possible.

【図面の簡単な説明】 【図1】本発明の一実施例であるユーザ・インタフェー
ス設計支援情報の抽出方法を説明するためのフローチャ
ートである。 【図2】本実施例のユーザ・インタフェース設計支援方
法を実現するシステムのハードウェア構成を示すブロッ
ク図である。 【図3】本実施例における図書館業務についての分析の
結果であるオブジェクトモデルの例を示したオブジェク
ト図である。 【図4】本実施例のLibraryUserクラス10
03のヘッダファイル300を示す図である。 【図5】本実施例のクラス情報テーブル500aを示し
た図である。 【図6】本実施例のLibraryUserクラス10
03のメソッドrentBook314についての実装
ファイル400を示した図である。 【図7】本実施例のメソッド情報テーブル600aを示
した図である。 【図8】本実施例の図書館データベースシステムの1画
面である貸出画面1100を示す図である。 【図9】本実施例の画面定義ファイル700を示した図
である。 【図10】本実施例の実装ファイル1800を示した図
である。 【図11】本実施例のイベントハンドラ情報テーブル8
00aを示した図である。 【図12】本実施例の画面クラス対応情報テーブル90
0aを示した図である。 【図13】本実施例の画面クラス対応処理を実現するフ
ローチャートである。 【図14】本実施例のメッセージ評価処理を実現するフ
ローチャートである。 【図15】本実施例のクラス分類定義情報テーブル12
00を示した図である。 【図16】本実施例の画面特性情報1900を示した図
である。 【図17】本実施例の特性抽出処理を実現するフローチ
ャートである。 【図18】本実施例の画面特性情報1900の表示例1
500を示した図である 【図19】本実施例のクラス特性情報の表示例1400
を示した図である。 【符号の説明】 101…クラス情報抽出処理、102…メソッド情報抽
出処理、103…イベントハンドラ情報抽出処理、10
4…画面クラス対応処理、105…特性抽出処理、20
1…CPU、202…メモリ、203…入出力装置、2
04…記憶装置、300…ヘッダファイル、400…実
装ファイル、500…クラス情報、600…メソッド情
報、700…画面定義情報、800…イベントハンドラ
情報、900…画面クラス対応情報、1001…Lib
raryクラス、1002…Humanクラス、100
3…LibraryUserクラス、1004…Boo
kクラス、1005…LibraryBookクラス、
1006…RentalLogクラス、1100…図書
館データベースクラスの画面例、1200…クラス分類
定義情報、1300…イベントハンドラ実装ファイル、
1400…クラス特性表示例、1500…画面特性表示
例。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a flowchart illustrating a method for extracting user interface design support information according to an embodiment of the present invention. FIG. 2 is a block diagram illustrating a hardware configuration of a system that implements a user interface design support method according to the present embodiment. FIG. 3 is an object diagram showing an example of an object model which is a result of an analysis on library work in the embodiment. FIG. 4 is a LibraryUser class 10 of the embodiment.
FIG. 3 is a diagram showing a header file 300 of FIG. FIG. 5 is a diagram illustrating a class information table 500a according to the present embodiment. FIG. 6 is a LibraryUser class 10 of the embodiment.
FIG. 13 is a diagram showing an implementation file 400 for a method rentbook 314 of FIG. FIG. 7 is a diagram illustrating a method information table 600a according to the present embodiment. FIG. 8 is a diagram showing a lending screen 1100 which is one screen of the library database system of the present embodiment. FIG. 9 is a diagram illustrating a screen definition file 700 according to the present embodiment. FIG. 10 is a diagram illustrating an implementation file 1800 according to the present embodiment. FIG. 11 is an event handler information table 8 of the embodiment.
FIG. FIG. 12 is a screen class correspondence information table 90 of the embodiment.
FIG. FIG. 13 is a flowchart for realizing a screen class corresponding process according to the present embodiment. FIG. 14 is a flowchart for realizing a message evaluation process of the embodiment. FIG. 15 shows a class classification definition information table 12 according to the embodiment.
FIG. FIG. 16 is a diagram illustrating screen characteristic information 1900 according to the present embodiment. FIG. 17 is a flowchart for realizing a characteristic extraction process according to the present embodiment. FIG. 18 is a display example 1 of the screen characteristic information 1900 according to the present embodiment.
FIG. 19 is a diagram showing a display example 1400 of class characteristic information according to the present embodiment.
FIG. [Description of Signs] 101: Class information extraction processing, 102: Method information extraction processing, 103: Event handler information extraction processing, 10
4: Screen class correspondence processing, 105: characteristic extraction processing, 20
DESCRIPTION OF SYMBOLS 1 ... CPU, 202 ... Memory, 203 ... Input / output device, 2
04 storage device, 300 header file, 400 implementation file, 500 class information, 600 method information, 700 screen definition information, 800 event handler information, 900 screen class correspondence information, 1001 Lib
rary class, 1002 ... Human class, 100
3 ... LibraryUser class, 1004 ... Boo
k class, 1005 ... LibraryBook class,
1006: RentalLog class, 1100: Screen example of library database class, 1200: Classification definition information, 1300: Event handler implementation file,
1400: Class characteristic display example 1500: Screen characteristic display example

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−124197(JP,A) 特開 平4−181426(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/44 ────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-6-124197 (JP, A) JP-A-4-181426 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 9/44

Claims (1)

(57)【特許請求の範囲】 【請求項1】 オブジェクト指向システムの開発におけ
るユーザ・インタフェースの設計を支援する情報を前記
システムから抽出するユーザ・インタフェース設計支援
情報の抽出方法において、 前記システムが利用するクラスライブラリのソースファ
イルの内容から、前記クラスライブラリにおけるオブジ
ェクトのクラス定義情報、メソッド実装情報、画面を構
成する部品、及びユーザの入力によって生じるイベント
ハンドラを記述した画面定義情報を抽出し、その抽出さ
れたメソッドによるクラスの操作を分類し、画面による
クラスの操作パターンを認識し、画面とクラスの対応関
係を導き出したユーザ・インタフェース設計支援情報を
抽出して出力することを特徴とするユーザ・インタフェ
ース設計支援情報の抽出方法。
(57) [Claim 1] A method for extracting user interface design support information for extracting information for supporting the design of a user interface in the development of an object-oriented system from the system , wherein the system is used. from the contents of the source file of the class library that, class definition information of the object in the class library, method implementation information, parts constituting the screen, and extracts the screen definition information describing an event handler caused by the input of the user, As a Classifying the class operation by the extracted method, recognizing the class operation pattern by the screen, and extracting and outputting the user interface design support information that derives the correspondence between the screen and the class. Extraction of interface design support information Method.
JP05246095A 1995-03-13 1995-03-13 Extraction method of user interface design support information Expired - Fee Related JP3383457B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05246095A JP3383457B2 (en) 1995-03-13 1995-03-13 Extraction method of user interface design support information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05246095A JP3383457B2 (en) 1995-03-13 1995-03-13 Extraction method of user interface design support information

Publications (2)

Publication Number Publication Date
JPH08249165A JPH08249165A (en) 1996-09-27
JP3383457B2 true JP3383457B2 (en) 2003-03-04

Family

ID=12915338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05246095A Expired - Fee Related JP3383457B2 (en) 1995-03-13 1995-03-13 Extraction method of user interface design support information

Country Status (1)

Country Link
JP (1) JP3383457B2 (en)

Also Published As

Publication number Publication date
JPH08249165A (en) 1996-09-27

Similar Documents

Publication Publication Date Title
US6429880B2 (en) Method and apparatus for binding user interface objects to application objects
US10002203B2 (en) Service desk data transfer interface
US7174286B2 (en) Systems and methods for defining a simulated interactive web page
US7277875B2 (en) User selectable approach for generating modifiable rules
US7546590B2 (en) Dynamic conversion of object-oriented programs to tag-based procedural code
JP2004524610A (en) Data processing system and method
US6223180B1 (en) System and computer-implemented method for transforming existing host-based screen applications into components useful in developing integrated business-centric applications
US7613671B2 (en) Approach for re-using business rules
US20060090071A1 (en) Systems and methods for project management
JP3383457B2 (en) Extraction method of user interface design support information
Wang et al. Development of computer drawing cheating identification system using the nine-screen method
JP7372372B2 (en) Information processing device, information processing method, and information processing program
EP4502861A1 (en) Information processing device and information processing method
Castroianni et al. Development of a Workflow Design Tool for the Scarabaeus Project
Boudewijns et al. Design of an event handling
Boubetra SIM-TDBMS: The Simulation Temporal Data Base Management System
Sympson Graphic Interface for Attribute-Based Data Language Queries from a Personal Computer to the Multi-Lingual, Multi-Model, Multi-Backend Database System over an Ethernet Network
Wilson DRUGDOG 3: 0: US Navy Random Urinalysis software package
HOUSE EDUCATORS WIN DELAY OF INTERNET PRIVATIZATION
Campbell INTERFACE WITH SAS USING THIS .NET CLASS

Legal Events

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