JP2012014496A - Gui解析装置、方法、及び、プログラム - Google Patents

Gui解析装置、方法、及び、プログラム Download PDF

Info

Publication number
JP2012014496A
JP2012014496A JP2010150898A JP2010150898A JP2012014496A JP 2012014496 A JP2012014496 A JP 2012014496A JP 2010150898 A JP2010150898 A JP 2010150898A JP 2010150898 A JP2010150898 A JP 2010150898A JP 2012014496 A JP2012014496 A JP 2012014496A
Authority
JP
Japan
Prior art keywords
similarity
component
operation component
gui
components
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
JP2010150898A
Other languages
English (en)
Other versions
JP5477201B2 (ja
Inventor
Sumitaka Okashiro
純孝 岡城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010150898A priority Critical patent/JP5477201B2/ja
Publication of JP2012014496A publication Critical patent/JP2012014496A/ja
Application granted granted Critical
Publication of JP5477201B2 publication Critical patent/JP5477201B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】複数のシステムのGUI間で類似する操作部品を対応付けることのできるGUI解析装置、方法、およびプログラムを提供する。
【解決手段】GUI解析装置10は、第1のシステムから取得した第1の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品と、第2のシステムから取得した第2の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品の組み合わせのうちで、最も高い操作部品類似度を持つ操作部品の組み合わせを特定し、最も高い前記操作部品類似度に基づき計算した評価値を、前記第1の操作部品と前記第2の操作部品の依存関係の類似度として出力する依存関係類似度計算手段50と、前記依存関係の類似度に基づき、前記第1のシステムの操作部品と前記第2のシステムの操作部品とを対応付けて、その対応結果を出力する部品対応判定手段60と、を備える。
【選択図】図2

Description

本発明は、GUI解析装置、方法、及び、プログラムに関する。
現在、ユーザはPC上でGUIを持った多種多様かつ多数のシステム(ワードプロセッサ、表計算ソフト等)を使用している。また、同じ機能や同じ目的を持つシステムも数多くある。さらに、各システムが個々のタイミングでバージョンアップしていく。このような場合に、システムによって画面上での操作部品(メニューやボタンなど)の配置が異なるため、ユーザはシステムの操作に混乱することがある。
このような課題を解決する関連技術の一例が特許文献1で提案されている。特許文献1に記載のGUI画面操作シーケンス検証装置は、部品情報テーブルと、最適操作履歴テーブルと、テスト操作履歴テーブルとを有する記憶手段と、評価対象プログラムが提示するGUI画面に含まれるGUI部品を抽出し、前記部品情報テーブルに保存する部品情報抽出手段と、前記GUI画面に対して、最適操作として行われる第一の操作を受けて、前記第一の操作を、前記部品情報テーブルに保存されているGUI部品の順序のデータ形式として、前記最適操作履歴テーブルに保存する最適操作履歴作成手段と、前記GUI画面に対して、テスト操作として行われる第二の操作を受けて、前記第二の操作を、前記部品情報テーブルに保存されているGUI部品の順序のデータ形式として、前記テスト操作履歴テーブルに保存する操作履歴記録手段と、前記最適操作履歴テーブルと、前記テスト操作履歴テーブルとを参照して、GUI部品間の移動を示す操作シーケンスに着目した評価結果を作成する評価結果作成手段と、前記評価結果を、所定の形式で表示する出力データを生成する評価結果表示手段とを具備する。
また、別の一例が特許文献2に記載されている。特許文献2に記載の装置は、GUIを有する複数のソフトウェアのGUI部品データを読み込み、この読み込んだGUI部品データを前記複数のソフトウェア間で比較してプロパティの値が共通しているGUI部品を検出し、この検出された前記GUI部品の前記複数のソフトウェア間での共通度を求めて出力するGUI設計支援装置であって、GUI部品のプロパティとは、GUI部品のラベル、GUI部品の縦もしくは横のサイズ、GUI部品の位置、GUI部品のアクセスキー、GUI部品のショートカットキー、メニュー階層のなかでのメニュー項目の位置、GUI部品のフォーカス設定のうちいずれかであることを特徴とする。
特開2009−134673 特許3555511号
しかし、上述の特許文献記載の装置では、複数のシステムのGUI間で類似する操作部品を対応付けられないという問題がある。
このため、本発明の目的は、上述した課題である複数のシステムのGUI間で類似する操作部品を対応付けることのできる装置、方法及びプログラムを提供することである。
かかる目的を達成するため、本発明の一形態は、GUI解析装置であって、第1のシステムから取得した階層的な関係を有する操作部品の1つであって画面表示されている第1の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品と、第2のシステムから取得した階層的な関係を有する操作部品の1つであって画面表示されている第2の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品の組み合わせのうちで、最も高い操作部品類似度を持つ操作部品の組み合わせを特定し、最も高い前記操作部品類似度に基づき計算した評価値を、前記第1の操作部品と前記第2の操作部品の依存関係の類似度として出力する依存関係類似度計算手段と、前記依存関係の類似度に基づき、前記第1のシステムの操作部品と前記第2のシステムの操作部品とを対応付けて、その対応結果を出力する部品対応判定手段と、を備える。
また、本発明によれば、第1のシステムから取得した階層的な関係を有する操作部品の1つであって画面表示されている第1の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品と、第2のシステムから取得した階層的な関係を有する操作部品の1つであって画面表示されている第2の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品の組み合わせのうちで、最も高い操作部品類似度を持つ操作部品の組み合わせを特定し、最も高い前記操作部品類似度に基づき計算した評価値を、前記第1の操作部品と前記第2の操作部品の依存関係の類似度として出力する依存関係類似度計算ステップと、前記依存関係の類似度に基づき、前記第1のシステムの操作部品と前記第2のシステムの操作部品とを対応付けて、その対応結果を出力する部品対応判定ステップと、をコンピュータに実行させるGUI解析プログラムが提供される。
また、本発明によれば、第1のシステムから取得した階層的な関係を有する操作部品の1つであって画面表示されている第1の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品と、第2のシステムから取得した階層的な関係を有する操作部品の1つであって画面表示されている第2の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品の組み合わせのうち、最も高い操作部品類似度を持つ操作部品の組み合わせを特定し、最も高い前記操作部品類似度に基づき計算した評価値を、前記第1の操作部品と前記第2の操作部品の依存関係の類似度として出力し、前記依存関係の類似度に基づき、前記第1のシステムの操作部品と前記第2のシステムの操作部品とを対応付けて、その対応結果を出力するGUI解析方法が提供される。
本発明によれば、複数のシステムのGUI間で類似する操作部品を対応付けることができるGUI解析装置、方法、及び、プログラムが提供される。
本発明の第1の実施形態の構成を示すブロック図である。 本発明の第1の実施形態のより具体的な構成を示すブロック図である 本発明の第1の実施形態の動作フロー図である。 木構造データの構造の類似度の計算方法の一例を示す図である。 木構造データの内容の類似度の計算方法の一例を示す図である。 第1のシステムのGUI表示画面の一例を示す図である。 第1のシステムのGUIでテキストが付与された操作部品の操作部品情報の具体例の一例を示す図である。 第1のシステムのGUIで画像が付与された操作部品の操作部品情報の具体例の一例を示す図である。 第1のシステムのGUIの操作部品の部品ツリーの具体例の一例を示す図である。 第1のシステムのGUIのバルーンヒントの一例を示す図である。 第1のシステムのGUIのファイルメニューの一例を示す図である。 第2のシステムのGUI表示画面の一例を示す図である。 第2のシステムのGUIでテキストが付与された操作部品の操作部品情報の具体例の一例を示す図である。 第2のシステムのGUIで画像が付与された操作部品の操作部品情報の具体例の一例を示す図である。 第2のシステムのGUIの操作部品の部品ツリーの具体例の一例を示す図である。 操作部品のラベル文字列の編集距離の計算の具体例の一例を示す図である。 第1のシステムのGUIの操作部品と第2のシステムのGUIの操作部品の対応付け結果の一例を示す図である。 本発明の第2の実施形態の構成を示すブロック図である。 本発明の第2の実施形態の動作フロー図である。 本発明の第3の実施形態の構成を示すブロック図である。 本発明の第3の実施形態の動作フロー図である。 第1のシステムの検索/置換メニュー内の検索メニューの選択の一例を示す図である。 対応操作部品表示部80が行う強調表示の一例を示す図である。 本発明の第4の実施形態の構成を示すブロック図である。 本発明の第4の実施形態の動作フロー図である。 第1のシステムのGUIおよび第2のシステムのGUIの一例を示す図である。 本発明の第5の実施形態の構成を示すブロック図である。 本発明の第6の実施形態の構成を示すブロック図である。
以下、本発明の実施の形態について、図面を用いて説明する。すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
なお、各実施形態の情報処理装置を構成する各部は、制御部、メモリ、メモリにロードされたプログラム、プログラムを格納するハードディスク等の記憶ユニット、ネットワーク接続用インターフェースなどからなり、ハードウェアとソフトウェアの任意の組合せによって実現される。そして特に断りのない限り、その実現方法、装置は限定されない。
また、各実施形態の説明において利用するブロック図は、ハードウェア単位の構成ではなく機能単位のブロックを示している。これらの機能ブロックはハードウェア、ソフトウェアの任意の組み合わせによって実現される。また、これらの図においては、各実施形態の構成部は物理的に結合した一つの装置により実現されるよう記載されている場合もあるが、その実現手段はこれに限定されない。すなわち、二つ以上の物理的に分離した装置を有線または無線で接続し、これら複数の装置により、各実施形態のシステムを実現してもよい。
<実施の形態1>
以下、発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1を参照すると、本発明の第1の実施の形態におけるGUI解析装置10は、操作部品検出部20と、部品マッチング部25とを備えている。具体的な構成として、図2に示すように、部品マッチング部25はテキスト類似度計算部30と、画像類似度計算部40と、依存関係類似度計算部50と、部品対応判定部60と、を備える。また、図1に示すように、GUI解析装置10を含む全体システムは、プログラム制御により動作する端末装置300と、マウスやキーボードなどの入力装置100と、表示画面を備えたディスプレイ装置などの出力装置200とから構成されていてもよい。
GUI解析装置10は、端末装置300に備えられていてもよい。例えば、GUI解析装置10は、端末装置300上で、後述する本実施の形態1におけるプログラムを実行することにより構築されている。また、各システム400は、GUI解析装置10の外部にあるシステムである。各システム400は、端末装置300上で別のプログラム(例えば、アプリケーションプログラム)を実行することによって構築されていてもよい。
また、図1に示すように、本実施の形態にかかるGUI解析装置10は、端末装置300を介して、入力装置100と出力装置200とに接続されている。ユーザは、入力装置100を用いて、端末装置300上で実行されるシステム400に対して操作を行うことができる。また、出力装置200は、端末装置300上で実行されるシステム400が出力する操作部品を表示する。
操作部品検出部20は、端末装置300上で動作し、出力装置200の表示画面に表示されている第1のシステムおよび第2のシステムの操作部品を特定する情報(以下、「操作部品情報」とする)を取得する。例えば、操作部品検出部20は、操作部品種別、ラベル文字列、ポップアップヒント文字列、アイコン画像、部品の依存関係、操作方法を少なくとも取得する。操作部品種別とは、「プッシュボタン」や「メニュー」、「リストボックス」など操作部品の種類である。ラベル文字列とは、ボタン内に表示される文字列など、操作部品に付与された表示文字列である。ポップアップヒント文字列は、操作部品上にマウスカーソルをマウスオーバーさせた際に、その操作部品を説明するためにポップアップ表示される文字列である。アイコン画像は、操作部品をツールバーなどに配置する際に付与された画像である。部品の依存関係とは、メニューの階層構造や、グループ化されたボタンなど部品のグループ構造などである。操作方法は、マウスによるシングルクリックやダブルクリック、左クリックや右クリック、ボタンの長押し、キーボードによる入力、キーボードの特定キーを押下しながらのクリック操作などマウスとキーボードを組み合わせた操作、タッチパネルでのフリック、ピンチイン、ピンチアウトなど、ユーザの部品に対する入力操作の方法などである。
テキスト類似度計算部30は、前記操作部品検出部20が取得した操作部品情報のうち、ラベル文字列やポップアップヒント文字列などのテキスト情報について、第1のシステムのGUI上の操作部品と第2のシステムのGUI上の操作部品との類似度を計算する。テキスト類似度計算部30は、具体的な類似度の計算には、例えば「編集距離」などの技術を用いればよい。
ここで、編集距離は、文字の挿入や削除、置換によって、ある文字列を別の文字列に変形するのに必要な手順の最小回数として与えられる。例えば、"kitten"を"sitting"に変形する場合には、(1)"k"を"s"に置換して"kitten"→"sitten"、(2)"e"を"i"に置換して"sitten"→"sittin"、(3)"g"を挿入して"sittin"→"sitting"、というように最低でも3回の手順が必要とされるので、編集距離は3となる。
画像類似度計算部40は、前記操作部品検出部20が取得した操作部品情報のうち、アイコンなどの画像情報について、第1のシステムのGUI上の、即ち、表示画面上に表示されている操作部品と第2のシステムのGUI上の操作部品との類似度を計算する。画像類似度計算部40は、具体的な類似度の計算には、色に関する特徴量抽出結果を用いる手法や、色と構図から特徴量を抽出した結果を用いる手法など、類似画像検索の分野での技術を用いればよい。
また、前記テキスト類似度計算部30および前記画像類似度計算部40は、各操作部品に対して複数の操作方法が実行可能な場合には、それら操作方法別に類似度を計算してもよい。例えば、テキスト類似度計算部30および前記画像類似度計算部40は、操作部品Aに対して、ユーザが、マウス左ボタンのダブルクリック、マウス右ボタンのシングルクリック、ドラッグ&ドロップなど複数の操作が可能ならば、その操作ごとに対応関係を判定して類似度を計算する。これにより、テキスト類似度計算部30および前記画像類似度計算部40は、同一部品かつ同一操作の部品について対応付けを行なった上で部品のテキスト類似度や画像類似度を計算することができる。したがって、GUI解析装置10は、GUI上の同一の部品であっても、その部品に対する操作方法が異なれば、異なる部品として扱うことができる。
依存関係類似度計算部50は、前記操作部品検出部20が取得した操作部品情報のうち、部品の依存関係に基づいて、第1のシステムのGUI上の操作部品と第2のシステムのGUI上の操作部品との類似度(依存関係の類似度)を計算する。依存関係類似度計算部50は、具体的な類似度の計算には、例えば階層構造を持つ操作部品の類似度であれば、木構造データの構造(木の形状)の類似度を計算する「木の編集距離」などの技術を用いればよい。
木の編集距離は、木を構成するノードの挿入や削除、置換によって、ある木を別の木に変形するのに必要な手順の最小回数として与えられる。例えば、図4に示す例では、(a)に示す木構造データT1から(b)に示す木構造データT2へ変形するために、(1)ノードCを削除、(2)ノードEを挿入、(3)ノードAをノードFで置換、というように、編集距離は3となる。
また、依存関係類似度計算部50は、階層構造を持つ操作部品の類似度計算の方法として、木を構成するノードとなる操作部品全体のテキスト類似度や画像類似度を用いることもできる。例えば、図5は、ラベル文字列が付与された2つの木構造を持つ操作部品の集合(以下、部品ツリー)T3とT4で、それぞれ同じラベル文字列を持つ2つのノードaaaの組み合わせについて、部品ツリーの類似度を計算例を示している。図5(a)は着目するノードの対応を示す図である。図5(b)は着目したノードの先祖および子孫のノードの対応を示す図である。このとき、依存関係類似度計算部50は、それぞれの部品ツリーで注目するノードの先祖のノード集合、および子孫のノード集合同士で最も高い類似度を持つノードの組み合わせを特定する。図5の例では、T3の先祖のノード集合は(bbb)、T4の先祖のノード集合は(bbc)となり、この場合は要素がそれぞれ1つずつしかないため、これら2つのノードの組み合わせが、先祖のノード集合同士で最も高い類似度を持つノードの組み合わせとなる。また、T3の子孫のノード集合は(ccc, ddd)、T4の子孫のノード集合は(xxx, cbc, yyy, zzz, ddddd)となる。この場合は、cccとcbc、dddとdddddの組み合わせが、子孫のノード集合同士で最も高い類似度を持つノードの組み合わせとなる。
以上の結果から、部品ツリーの類似度として特定したノードの組み合わせの編集距離の和を用いるとすると、T3とT4の類似度は、bbbとbbcの編集距離1、cccとcbcの編集距離1、dddとdddddの編集距離2の和4となる。このように、依存関係類似度計算部50は、テキスト類似度計算部30や画像類似度計算部40における計算結果が同一または非常に近い部品の組み合わせが複数存在する場合に、部品の階層構造に基づく操作部品の類似度を計算することができる。
なお、上記の例ではテキスト類似度計算部30や画像類似度計算部40が操作部品の類似度を計算し、それを基に同じラベル文字列を持つ2つのノードaaaの組み合わせについて、依存関係類似度計算部50が部品ツリーの類似度を計算する例を示したが、これに限られない。例えば、類似度計算部50は、木を構成するノードとなる操作部品全体のテキスト類似度や画像類似度を用いて、第一のシステムの操作部品と第二のシステムの操作部品との依存関係の類似度を全ての操作部品の組み合わせについて総当り的に計算しても良い。また、依存関係類似度計算部50は、先祖ノード集合や子孫ノード集合内での階層構造の深さを加味して類似度を計算しても良い。例えば上記の例では、図5のT3におけるノードdddとT4におけるdddddとは、基準となるノードaaaから見て階層が1つ異なる。このような場合には、編集距離としてさらに1を加えても良い。具体的には、上記の例ではdddとdddddの編集距離は2であるが、これに階層の深さの違いである1を加えて、編集距離を3としても良い。
依存関係類似度計算部50は、例えば、「設定」という同一のラベル文字列を付与された操作部品が複数存在した場合に、「書式」というラベル文字列を付与された親の部品を持つ部品と、「罫線」というラベル文字列を付与された親の部品を持つ部品を区別することができる。
また、依存関係類似度計算部50は、グループ構造を持つ操作部品の類似度計算の方法としては、前記の階層構造を持つ操作部品において、木を構成するノードとなる操作部品全体のテキスト類似度や画像類似度を用いる場合と同様に計算できる。このとき、比較対象となる2つの操作部品を含むそれぞれのグループに属する部品について、前記の部品ツリーでの先祖のノード集合、あるいは子孫のノード集合とみなせばよい。
部品対応判定部60は、前記テキスト類似度計算部30、画像類似度計算部40、および依存関係類似度計算部50それぞれの出力結果を統合して、最終的に第1のシステムのGUI上の操作部品と第2のシステムのGUI上の操作部品との対応関係を判定する。類似度計算結果の統合はさまざまな方法があるが、例えば、部品対応判定部60は、テキスト類似度Stext、画像類似度Simage、部品ツリーの構造の類似度Stree_struct、部品ツリーの内容の類似度Stree_contentの重み付け総和として、αStext + βSimage + γStree_struct + δStree_contentなどを用いればよい。なお、α、β、γ、δはそれぞれ各類似度に付与する重みである。
次に、図2及び図3のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
まず、操作部品検出部20は、出力装置200を監視し、ユーザが入力装置100を介した操作によって、第1のシステムと第2のシステムからそれぞれ出力装置200の表示画面に表示されている操作部品を検出し、各操作部品の部品情報を取得する(図3のステップA1)。
図6は第1のシステムの表示画面の例を示している。また、図7、図8、図9は、操作部品検出部20が第1のシステムから検出して取得する操作部品情報の例を示している。
図7は、テキスト情報に関する操作部品情報の例を示している。具体的には、図7は、ウインドウ名"X-Editor"を持つウインドウ上に配置され、部品種別が"メニュー"で、ラベル文字列"ファイル"、"編集"、"検索"などを持つ操作部品の情報が操作部品検出部20によって取得されている。
図8は、画像を付与された操作部品情報の例を示している。具体的には、図8は、ウインドウ名"X-Editor"を持つウインドウ上に配置され、ラベル文字列"新規作成"、"開く"、"検索"などを持つ操作部品の情報が取得されている例を示している。また、それぞれの操作部品についてポップアップヒントとして表示される文字列も操作部品検出部20によって取得されている。ポップアップヒントは、操作部品上にマウスカーソルをマウスオーバーさせた際に、その操作部品を説明するためにポップアップ表示される情報である。図10はその一例を示している。具体的には、図10の例は、図6に示したGUIの印刷アイコンボタンのポップアップヒントが表示されている様子を示している。
図9は、部品ツリーの例を示している。具体的には、図9では、ルートウィンドウとしてウインドウ名"X-Editor"を持つウインドウが示されており、また、ルートノードの子ノードとして"ファイル"、"編集"、"検索"などのメニューや、"新規作成"、"開く"、"検索"などのアイコンボタンが示されており、さらに、"ファイル"メニューの子ノードとして"新規作成"、"開く..."、"上書き保存"などのメニューが示されている。図9は、これら操作部品の木構造が、操作部品検出部20によって取得されている例を示している。この場合、図9は、図11に示すようにファイルメニューの下に"新規作成"、"開く..."、"上書き保存"などの操作部品があることを意味している。
また、図12は第2のシステムの表示画面の例を示している。第1のシステムと同様にして、操作部品検出手部20が第2のシステムのGUI上の操作部品を検出し、各操作部品の部品情報を取得する。第2のシステムのGUI上の操作部品情報の例を図13、図14、図15に示す。図13はテキスト情報に関する操作部品情報、図14は画像を付与された操作部品情報、図15は部品ツリーをそれぞれ示している。
次に、テキスト類似度計算部30が、前記操作部品検出部20が取得した第1のシステムの操作部品と第2のシステムの操作部品のテキスト情報の類似度を計算する(ステップA2)。より具体的には、テキスト類似度計算部30は、図7に示したテキスト情報と、図13に示したテキスト情報のすべての操作部品の組み合わせについて類似度を計算する。
具体的な類似度の計算の一例を以下に説明する。まず、テキスト類似度計算部30は、類似度の計算には例えば、上述の編集距離を用いる。しかし、編集距離は実際には非類似度(どれだけ類似していないかを示す値。値が大きくなるほど類似しないことを意味する)であるので、計算式には編集距離の逆数を用いる。また、図7および図13に示した例ではすべての操作部品についてラベル文字列が完全に一致する組み合わせがある。例えば、"ファイル"というラベル文字列についてはX_T1とY_T1、"編集"というラベル文字列についてはX_T2とY_T2などという組み合わせがあり、このような場合、編集距離は0となる。従って、テキストの類似度Stextの計算式は、編集距離をdとしたとき、Stext = 1 / (d+1)とする。このとき、完全に文字列が一致する場合に最大の類似度1をとる。
前記の計算式を用いると、図7と図13に示した例では、例えばX_T1とY_T1の類似度が1などと計算される。
また、"貼付け"と"ペースト"のように同義語がまったく類似しないものとして計算されてしまうのを防ぐために、テキスト類似度計算部30は、類似度の計算の前に辞書を用いて同義語を同じラベル文字列に変換してから類似度計算を行うようにしてもよい。
また、テキスト類似度計算部30は、例えば、"終了"と"終了する"のように同一の部分文字列が存在する場合には、一致する部分文字列の長さに応じて類似度を加点するようにしてもよい。また、この処理は編集距離の計算において、置換、挿入、削除の各手順に重みを与えるようにしても実現できる。
また、画像類似度計算部40が、前記操作部品検出部20が取得した第1のシステムの操作部品と第2のシステムの操作部品について付与された画像の類似度を計算する(ステップA3)。より具体的には、画像類似度計算部40は、図8に示した画像情報と、図14に示した画像情報のすべての操作部品の組み合わせについて類似度を計算する。
具体的な画像類似度の計算は、上述の様々な公知の計算方法を用いて可能であるから説明は省略する。なお、図8と図14の例では、操作部品に画像だけでなく、ラベル文字列あるいはポップアップヒント文字列が付与されているので、ステップA2と同様にテキスト文字列の類似度計算も行うことができる。
なお、テキストの類似度を計算するステップA2と、画像の類似度を計算するステップA3の順序は入れ替わっても、2つのステップを並行に処理してもよい。
次に、GUI解析装置10は、ステップA2のテキスト類似度あるいはステップA3の画像類似度の計算結果から、それぞれ一定以上の値を持つ操作部品の組み合わせを抽出する(ステップA4)。例えば、図7と図13のテキスト類似度については、しきい値を0.8とすると、(X_T1, Y_T1)など完全に一致するラベル文字列を持つ操作部品の組み合わせのみが抽出される。しかし、これらの例では、"設定..."というラベル文字列を持つ操作部品の組み合わせとして(X_T14, Y_T15)、(X_T14, Y_T16)、(X_T17, Y_T15)、(X_T17, Y_T16)が抽出され、重複して抽出される操作部品が存在する(これについては後述)。
図8と図14の画像類似度についても、同様にして、(X_I1, Y_I1)、(X_I2, Y_I2)、(X_I3, Y_I3)、(X_I4, Y_I4)などのように適切な組み合わせが抽出される。
次に、依存関係類似度計算部50が、ステップA4で抽出した操作部品の組み合わせのうち、1対1でない操作部品について依存関係類似度を計算する(ステップA5)。これまでの例では、(X_T14, Y_T15)、(X_T14, Y_T16)、(X_T17, Y_T15)、(X_T17, Y_T16)の組み合わせが操作部品が1対1でないものとして対象となる。
具体的な部品ツリー類似度の計算の一例を以下に説明する。まず、GUI解析装置10は、組み合わせ中の各操作部品の部品ツリーから、その操作部品と、その先祖および子孫からなる部分部品ツリーを抽出する。例えば、GUI解析装置10は、組み合わせ(X_T14, Y_T15)については、X-Editor - 編集[X_T2] - 設定...[X_T14]、およびY-Editor - 編集[Y_T2] - 設定...[Y_T15]を抽出する。同様に、組み合わせ(X_T14, Y_T16)については、X-Editor - 編集[X_T2] - 設定...[X_T14]、およびY-Editor - ウィンドウ[Y_T3] - 設定...[Y_T16]を抽出する(図16参照)。
次に、依存関係類似度計算部50は、抽出した部分部品ツリーの構造の類似度を計算する。上述の例では、(X_T14, Y_T15)、(X_T14, Y_T16)の組み合わせとも、図16に示すようにツリー構造は等しいので、木の編集距離はゼロとなる。従って、どちらの組み合わせともに、構造の類似度は1となる。
次に、依存関係類似度計算部50は、抽出した部分部品ツリーの内容の類似度を計算する。まず、依存関係類似度計算部50は、X_T14およびY_T15それぞれの先祖のノード集合、子孫のノード集合同士で最も高い類似度を持つノードの組み合わせを特定する。先祖のノードには、ルートノードとしてウインドウが含まれるが、今回の例ではそれぞれのシステムの画面が唯一のウインドウのみを表示するので、類似度計算は行わなくてもよい。システムの画面が複数のウインドウを表示する場合には、依存関係類似度計算部50は、例えばウインドウタイトル文字列の編集距離を用いるなどして類似度を求める。結果、X_T14の先祖ノード集合は{編集...[X_T2]}、Y_T15の先祖ノード集合は{編集...[Y_T2]}となり、これらのノードの組み合わせが、編集距離ゼロ、すなわち類似度1で、最も高い類似度を持つノードの組み合わせとなる。また、この例では、子孫ノードはX_T14、Y_T15のどちらも持たないので類似度計算は行わない。なお、このような場合には、子孫ノードは完全に一致するとみなして類似度を1としてもよい。以上の結果、部分部品ツリーの内容の類似度は、先祖ノードの類似度1+子孫ノードの類似度1=2となる。同様にX_T14およびY_T16の部品ツリーの内容の類似度を考えると、先祖ノードの組み合わせが"編集..."[X_T2]と"ウィンドウ"[Y_T3]となるので、先祖ノードの類似度は編集距離5、すなわち類似度1/6(≒0.1667)となる。子孫ノードの類似度は1であるので、部品ツリーの類似度は1+1/6≒1.1667となる。
以上の結果から、部分ツリーの類似度として、構造の類似度と内容の類似度の和をとるとすると、(X_T14, Y_T15)の組み合わせについては1+2=3、(X_T14, Y_T16)の組み合わせについては1+1.1667=2.1667となる。
最後に、部品対応判定部60は、前記の各ステップで計算した類似度を統合して操作部品の対応関係を判定する(ステップA6)。本実施の形態では、第1のシステムX-Editorの表示画面と第2のシステムY-Editorの表示画面に表示されている操作部品間で、まず、テキスト類似度の計算により"設定..."を除いて、ラベル文字列を持つ操作部品が1対1に対応付けられ、また、画像類似度計算により画像を付与された操作部品が1対1に対応付けられる。次に、部品対応判定部60は、テキスト類似度計算で1対1に対応付けられなかった"設定..."というラベル文字列を持つ操作部品間で、部品ツリー類似度の計算結果により対応付けを判定する。例えば、最も高い類似度を持つ組み合わせで対応付けを行うとすると、図16に示すX_T14とY_15の組み合わせが対応付けられる。同様にしてX_T17とY_T16の組み合わせが対応付けられる。以上の結果から、最終的に図17に示すように第1のシステムX-Editorと第2のシステムY-EditorのGUI上の操作部品が1対1に対応付けられる。
次に、本実施の形態の効果について説明する。本実施の形態では、GUI解析装置10が、操作部品に付与されたテキストや画像の類似度だけでなく、操作部品に対する操作方法や操作部品の依存関係の類似度を用いて対応関係を判定するように構成されている。そのため、GUI解析装置10は、複数のシステムのGUI間で類似する操作部品を対応付けることができる。また、GUI解析装置10は、見た目の類似度だけでなく、同一の操作を実行するための部品であるか否かという意味まで含めて操作部品の対応関係を判定することができる。このため、GUI解析装置10は複数のシステムのGUI間で同一の操作を実行する操作部品を対応付けることができる。
<実施の形態2>
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。
図18を参照すると、第2の実施の形態におけるGUI解析装置11は、図2に示したGUI解析装置10と異なる構成を備えている。すなわち、GUI解析装置11は、図2に示された操作部品検出部20に替えて、操作部品情報記憶部21を備えている。
なお、上記の相違点以外については、GUI解析装置11は、図2に示したGUI解析装置10と同様の構成を備えている。また、GUI解析装置11も、端末装置300上でプログラムを実行することによって構築されている。以下、実施の形態1との相違点を中心に説明する。
操作部品情報記憶部21は、前記の第1の実施の形態における操作部品検出部20の出力結果をあらかじめ記憶する。あるいは、図7ないし図9、図13ないし図15に示したような情報を人手で作成したものを記憶するようにしてもよい。
次に、図18及び図19のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
まず、操作部品情報記憶部21は第1のシステムのGUI上の操作部品情報および第2のシステムのGUI上の操作部品情報をあらかじめ記憶している(図19のステップB1)。このとき、操作部品情報は、図2に示した操作部品検出部20の出力結果を保存しておいたものを用いてもよいし、図7ないし図9、図13ないし図145の形式に準じたものを人手で作成したものを使用してもよい。
続くステップB2からステップB6までの各ステップは、図3に示したステップA2からステップA6までの各ステップとそれぞれ同様のステップであるので説明を省略する。なお、GUI解析装置11は、操作部品検出部20と操作部品情報記憶部21の両方を備えた構成であってもよい。この場合、操作部品検出部20が取得した端末装置300上で動作するシステム400のGUIの操作部品情報と、操作部品情報記憶部21が格納する操作部品情報検出部20の出力結果である操作部品情報(あるいは人手で作成した操作部品情報)とを用いて、部品対応判定部60が操作部品の対応付けを行うことにしてもよい。
本実施の形態では、GUI解析装置11が、あらかじめ用意しておいた操作部品情報を用いて異なるシステムのGUI間の操作部品を対応付けるように構成されている。そのため、GUI解析装置11は、解析対象のシステムを動作させることなく操作部品を対応付けることができる。
本実施の形態かかるGUI解析装置11は、端末装置300上で動作させることができないシステムであっても操作部品情報を人手で作成すれば、操作部品の対応付けを行うことができる。例えば、GUI解析装置11は、携帯電話など専用のハードウェア上で動作するようなシステムについても解析を行うことができる。
また、GUI解析装置11は、システムのマニュアルなどから操作部品情報を人手で作成すれば、端末装置300上でシステムを動作させることなく解析を行うことができる。
<実施の形態3>
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
図20を参照すると、本発明の第3の実施の形態におけるGUI解析装置12は、図2に示したGUI解析装置10と異なる構成を備えている。すなわち、GUI解析装置12は、図2に示された構成に加えて、操作検出部70と、対応操作部品表示部80を備えている。
なお、上記の相違点以外については、GUI解析装置12は、図2に示したGUI解析装置10と同様の構成を備えている。また、GUI解析装置12も、端末装置300上でプログラムを実行することによって構築されている。以下、実施の形態1との相違点を中心に説明する。
操作検出部70は、出力装置200の表示画面に表示されているシステム400の操作部品に対して、ユーザが入力装置100を介して行った操作入力を検出する。具体的には、操作検出部70は、ユーザが、例えば第1のシステムのGUI上の操作部品を選択した場合に、選択された操作部品を特定する情報を取得する。なお、操作部品の選択は、例えば、ユーザが入力装置100によって、マウスポインタを配置(マウスオーバー)したり、キーボードからフォーカスを与えたりすることによって行うことができる。
対応操作部品表示部80は、まず、前記操作検出部70で取得した操作部品情報を用いて、部品対応判定部60が出力する判定結果を参照する。次に、対応操作部品表示部80は、前記操作部品情報で特定される操作部品に対応する別システムの操作部品を特定する。そして、対応操作部品表示部80は出力装置200の表示画面に表示されている別システムのGUI上で、特定した操作部品を目立たせて表示させる。
次に、図20及び図21のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
まず、ユーザが入力装置100を介して、端末装置300上で第1のシステム400のGUI制御部と第2のシステム400のGUI制御部を起動し、出力装置200の表示画面に操作部品を表示する。ここで、第1のシステム400は、例えばユーザが既知のシステムであり、そのGUIも使い慣れていて操作部品の配置も十分に理解しているものとする。また、第2のシステム400は、例えば前記第1のシステムがバージョンアップしたシステム、あるいは前記第1のシステムと同じ種類だが異なるシステムとし、そのGUIはユーザが使い慣れておらず操作部品の配置も理解出来ていないものとする。
GUI解析装置12は、図3に示したステップA1からステップA6の各ステップとそれぞれ同様のステップであるステップC1からステップC6の処理を行い、第1のシステム400のGUI上の操作部品と第2のシステム400のGUI上の操作部品との対応付けを行う(図21のステップC1ないしC6)。ステップC1からステップC6までの各ステップは、図3に示したステップA1からステップA6までの各ステップとそれぞれ同様のステップであるので説明を省略する。
次に、ユーザが入力装置100を介して、出力装置200の表示画面に表示されている第1のシステム400のGUIの操作部品を選択する操作を行うと、操作検出部70が前記操作を検出する。(ステップC7のYES、およびステップC8)。なお、ユーザが操作を行っていないときは、表示画面の監視を継続する(ステップC7のNO)。
次に、対応操作部品表示部80は、部品対応判定部60が出力する判定結果を参照し、ステップC7で特定した第1のシステム400のGUI上の操作部品に対応する第2のシステム400のGUI上の操作部品を取得する(ステップC9)。例えば、第1のシステム400の表示画面を図6に示したX-Editorとし、第2のシステム400の表示画面を図12に示したY-Editorとして、ユーザがマウス操作によってX-Editorの「検索/置換」メニューの「検索...」にマウスオーバーしたとする(図22参照)。このとき、操作検出部70は選択されたX-Editorの「検索」メニューを検出する。対応操作部品表示部80は、図17に示した部品対応判定部60の判定結果を参照し、X-Editorの「検索」メニュー(図17のX-Editor→検索/置換→検索...、図7の部品ID X_T15)の操作部品に対応するY-Editorの「検索...」メニュー(図17のY-Editor→編集→検索...、図13の部品ID Y_T13)を取得する。
続いて、対応操作部品表示部80が、出力装置200の表示画面上で、ステップC9で特定した操作部品を強調表示する(ステップC10)。図23に、対応操作部品表示部80が行う強調表示の例を示す。図23は、出力装置200の表示画面にX-EditorとY-Editorが表示されている場面を表している。図23の例では、ユーザが、X-Editorの「検索/置換」メニューの「検索...」にマウスオーバーすると、Y-Editorの「編集」メニューの「検索...」が強調表示されている例を示している。
本実施の形態では、互いに対応付けられた異なるシステムのGUIの操作部品のうち、ユーザが一つのシステムのGUIの操作部品を選択すると、選択された操作部品に対応する別システムの操作部品を表示画面上で強調表示するようにGUI解析装置12は構成されている。そのため、ユーザは異なるシステム間で互いに対応する操作部品をひと目で把握することができる。
<実施の形態4>
次に、本発明の第4の実施の形態について図面を参照して詳細に説明する。
図24を参照すると、本発明の第4の実施の形態におけるGUI解析装置13は、図2に示したGUI解析装置10と異なる構成を備えている。すなわち、GUI解析装置13は、図2に示された構成に加えて、操作系列入力部71と、GUI評価部90を備えている。
なお、上記の相違点以外については、GUI解析装置13は、図2に示したGUI解析装置10と同様の構成を備えている。また、GUI解析装置13も、端末装置300上でプログラムを実行することによって構築されている。以下、実施の形態1との相違点を中心に説明する。
操作系列入力部71は、端末装置300上で動作しているシステム400の操作部品に対する一連の操作手順を指定する。例えば、操作手順の指定は「ボタンAをマウスでシングルクリックした後、次にボタンBをマウスでシングルクリックする」などである。操作系列入力部71は、ユーザが実際に入力装置100を介してシステム400の操作部品に対して操作を行い、その一連の操作を記録するようにしてもよいし、「マウスシングルクリック(ボタンA)→マウスシングルクリック(ボタンB)」のようにあらかじめ定めた形式に従ってテキストで記述するようにしてもよい。この場合は、1つの操作を、<ユーザの操作>+"("+<操作部品>+")"という文字列で指定し、さらに"→"で複数の操作の順序を表している。
GUI評価部90は、操作部品の操作性を評価する。評価の指標としては、さまざまなものが考えられるが、例えば、操作効率を挙げることができる。操作効率は、GUIに対して一連の操作を行った場合に、それら操作が完了するまでの操作時間で表すことができる。
GUI上で、マウスなどの入力装置100を用いて操作部品を選択する時間を予測するためのモデルとしてFittsの法則が知られている。Fittsの法則では、時間をtとすると、操作部品を選択する時間tはt = a + b*log2(A/W+1)として算出される。ただし、Aはマウスカーソルと対象となる操作部品との距離、Wは操作部品のサイズ、aとbは経験的定数である。
また、GUI上での操作手順を分割し、単位あたりの所要時間の和をとることによって、一連の操作の実行時間を予測するキーストロークレベルモデルもよく知られている。キーストロークレベルモデルでは、実行時間をTeとすると、Te = ΣTk + ΣTp + ΣTb + ΣTbb + ΣTh + ΣTm + ΣTrとして算出される。ただし、Tkはキー入力時間、Tpはマウスカーソルの移動に要する時間、Tbはマウスボタンをはなすのに要する時間、Tbbはマウスクリックに要する時間、Thはマウスからキーボードへ、あるいはキーボードからマウスへ手を移動するのに要する時間、Tmは次の操作を思考判断するために要する時間、Trはシステムの応答時間である。
次に、図24及び図25のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
まず、ユーザが入力装置100を介して、端末装置300上で第1のシステム400のGUIと第2のシステム400のGUIを起動し、出力装置200の表示画面に表示する。
次に、操作部品検出部22は、出力装置200の表示画面に表示されている第1のシステムのGUIと第2のシステムのGUIからそれぞれ操作部品を検出し、各操作部品の部品情報を取得する(図25のステップD1)。このとき、本発明の第4の実施の形態における操作部品検出部22は、第1の実施の形態において取得した図7、図8、あるいは図13、図14の情報に加えて、各操作部品の位置、サイズなどの情報も同時に取得する。例えば、操作部品検出部22は、位置情報として操作部品が配置されているウインドウにおける操作部品の中心座標、あるいは操作部品が配置されているウインドウにおける操作部品の左上および右下の座標を取得し、サイズは操作部品の面積を取得する。
次に、GUI解析装置13は、図3に示したステップA2からステップA6の各ステップとそれぞれ同様のステップであるステップD2からステップD6の処理を行い、第1のシステム400のGUI上の操作部品と第2のシステム400のGUI上の操作部品との対応付けを行う(図25のステップD2ないしD6)。ステップD2からステップD6までの各ステップは、図3に示したステップA2からステップA6までの各ステップとそれぞれ同様のステップであるので説明を省略する。
次に、ユーザは入力装置100を介して操作系列入力部71を用いて、第1のシステムの操作部品に対する一連の操作手順の指定を行う(ステップD7)。いま、例えば図26の(a)、(b)に示すように、第1のシステムの操作部品としてウインドウSystemA、第2のシステムの操作部品としてウインドウSystemBが出力装置200の表示画面上に表示されているとする。このとき、ユーザは、操作系列入力部71を用いて、「SystemAのButton1を押下した後、SystemAのButton2を押下する」という一連の操作を指定する。操作の指定は、実際にユーザがマウスを用いて、マウスカーソルをウインドウSystemAのボタンButton1上に移動させてマウスクリックした後、さらにマウスカーソルをウインドウSystemAのボタンButton2上に移動させてマウスクリックするようにしてもよいし、「マウスシングルクリック(SystemA:ButtonA)→マウスシングルクリック(SystemA:ButtonB)」のようにあらかじめ定めた形式に従ってテキストで記述するようにしてもよい。
次に、GUI評価部90は、ステップD7で指定した第1のシステムの操作部品に対する操作系列を用いて、前記部品対応判定部60の出力結果である操作部品の対応関係を参照し、指定した操作系列に対応する第2のシステムの操作部品に対する操作系列を取得する(ステップD8)。例えば、前記の例では、第1のシステムの操作系列内の2つのボタンButton1とButton2を用いて、部品対応判定部60の出力結果を参照すると、それぞれラベル文字列が一致する第2のシステムの操作部品Button1、Button2を取得する。その結果、第1のシステムの操作部品に対する操作系列「マウスシングルクリック(SystemA:ButtonA)→マウスシングルクリック(SystemA:ButtonB)」に対応する第2のシステムの操作部品に対する操作系列「マウスシングルクリック(SystemB:ButtonA)→マウスシングルクリック(SystemB:ButtonB)」を取得することができる。
次に、GUI評価部90は、ステップD8で取得した操作系列を各システムのGUI上で実行した場合の評価を算出する(ステップD9)。例えば、ユーザが操作効率を評価するために操作部品に対して一連の操作を行うとする。この一連の操作手順をキーストロークレベルモデルで表すと、(1)ユーザがマウスに手を置く(2)マウスカーソルをButton1に移動(3)Button1をマウスクリック(4)システムの応答(5)マウスカーソルをButton2に移動(6)Button2をマウスクリック(7)システムの応答となる。キーストロークレベルモデルではすべてのキー入力とクリックの前には心理的準備時間(M)を挿入することになっているので、その点を加味すると上記一連の操作手順は以下のようになる。すなわち、操作手順は(1)ユーザがマウスに手を置く(M)心理的準備時間(2)マウスカーソルをButton1に移動(M)心理的準備時間(3)Button1をマウスクリック(4)システムの応答(M)心理的準備時間(5)マウスカーソルをButton2に移動(M)心理的準備時間(6)Button2をマウスクリック(7)システムの応答となる。いま、マウスへの手の移動に要する時間Th=0.4秒とする。また、心理的準備時間Tm=1.35秒、マウスクリックに要する時間Tbb=0.2秒、システムの応答時間Tr=0.1秒とする。また、Fittsの法則から算出した第1のシステムのGUIのSystemAウインドウにおいてマウスカーソルを現在位置からButton1へ移動するのに要する時間Tp_A1=1.0秒、Button1からButton2へ移動するのに要する時間Tp_A2=0.3秒、第2のシステムのGUIのSystemBウインドウにおいてマウスカーソルを現在位置からButton1へ移動するのに要する時間Tp_B1=1.1秒、Button1からButton2へ移動するのに要する時間Tp_B2=0.7秒とする。この場合、第1のシステムのGUIにおいて操作系列を実行するのに要する時間は、Th + Tm + Tp_A1 + Tm + Tbb + Tr + Tm + Tp_A2 + Tm + Tbb + Tr= 0.4 + 1.35 + 1.0 + 1.35 + 0.2 + 0.1 + 1.35 + 0.3 + 1.35 + 0.2 + 0.1 = 7.7秒となる。また、同様に、第2のシステムのGUIにおいて操作系列を実行するのに要する時間はTh + Tm + Tp_B1 + Tm + Tbb + Tr + Tm + Tp_B2 + Tm + Tbb + Tr= 0.4 + 1.35 + 1.1 + 1.35 + 0.2 + 0.1 + 1.35 + 0.7 + 1.35 + 0.2 + 0.1 = 8.2秒となる。
従って、GUI評価部90は、ステップD7で指定した操作系列に関しては、第2のシステムのGUIに比べて第1のシステムのGUIのほうが操作効率が良いと評価でき、操作系列の予測実行時間は第1のシステムのGUIでは7.7秒、第2のシステムのGUIでは8.2秒と算出される。
また、GUI解析装置13は、図24に示した操作部品検出部22に替えて、操作部品情報記憶部21を備えた構成、あるいは操作部品検出部22と操作部品情報記憶部21の両方を備えた構成であってもよい。前者の構成の場合、前者の構成の場合、操作部品情報記憶部21が格納する、操作部品検出部22の出力結果である操作部品情報(あるいは人手で作成した操作部品情報)を用いて、部品対応判定部60が操作部品の対応付けを行ってもよい。そして、その結果を用いてGUI評価部90がGUIの評価を行ってもよい。後者の構成の場合、操作部品検出部22が取得した端末装置300上で動作するシステム400のGUIの操作部品情報と、操作部品情報記憶部21が格納する操作部品情報検出部22の出力結果である操作部品情報(あるいは人手で作成した操作部品情報)とを用いて、部品対応判定部60が操作部品の対応付けを行ってもよい。そして、その結果を用いてGUI評価部90がGUI評価を行ってもよい。
本実施の形態にかかるGUI解析装置13は、GUIの評価を行う際に、第1のシステムのGUIに対して操作系列を指定すると、第1のシステムのGUIの操作部品に対応する別システムのGUIの操作部品で操作系列を置き換えて、別システムのGUI上での評価を行うように構成されている。そのため、GUI解析装置13は、ある一つのシステムのGUIの評価を命令するだけで、自動的に他のシステムのGUIでの評価を算出することができる。
また、GUI解析装置13は、人手で作成した操作部品情報を用いることによって、現在稼働中のシステムをバージョンアップした設計段階の未完成なシステムのGUIについても、現在稼働中のシステムのGUIの操作部品を対応付けて、比較評価を行うことができる。
<実施の形態5>
次に、本発明の第5の実施の形態について図27を参照して説明する。
本発明の第5の実施の形態におけるGUI解析装置14は、図20に示された実施の形態3におけるGUI解析装置12の構成の対応操作部品表示部80に替えて、対応操作実行部81を備えている。
なお、上記の相違点以外については、GUI解析装置14は、図20に示した第3の実施の形態のGUI解析装置10と同様の構成を備えている。また、GUI解析装置14も、端末装置300上でプログラムを実行することによって構築されている。本実施の形態においても、実施の形態3と同様に、第1のシステム400はユーザが既知のシステムであり、そのGUIはユーザが使い慣れていて操作部品の配置も十分に理解しているものとする。また、第2のシステム400は、前記第1のシステムがバージョンアップしたシステム、あるいは前記第1のシステムと同じ種類だが異なるシステムとし、そのGUIはユーザが使い慣れておらず操作部品の配置が理解出来ていないものとする。
対応操作実行部81は、操作検出部70で取得した操作部品情報を用いて、部品対応判定部60が出力する判定結果を取得する。次に、対応操作実行部81は、前記操作部品情報で特定される操作部品に対応する別システムの操作部品を特定する。そして、対応操作実行部81は、出力装置200の表示画面に表示されている別システムのGUI上で、前記特定した操作部品に対し、第1のシステムのGUIの操作部品に対するユーザの操作(マウスによるシングルクリック、マウスによるダブルクリックなど)と同じ操作を、第1のシステムのGUIの操作部品と対応する第2のシステムのGUIの操作部品に対して行う。他の部分に関しては実施の形態3と同様であるから説明を省略する。
本実施の形態にかかるGUI解析装置14は、ユーザが互いに対応付けられた異なるシステムのGUIの操作部品のうち、一つのシステムのGUIの操作部品を操作すると、操作された操作部品に対応する別システムの操作部品に対して同様の操作を実行することができる。このようにすれば、ユーザは使い慣れた第1のシステムのGUIに対して操作を行うだけで、第2のシステムを操作することが可能となる。
<実施の形態6>
本発明の第6の実施の形態におけるGUI解析装置15は、依存関係類似度計算部50と、部品対応判定部60とを備える。その他については実施の形態1と概略同様であるから、説明を省略する。この構成により、第1のシステムから取得した階層的な関係を有する操作部品の1つであって画面表示されている第1の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品と、第2のシステムから取得した階層的な関係を有する操作部品の1つであって画面表示されている第2の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品の組み合わせのうちで、最も高い操作部品類似度を持つ操作部品の組み合わせを特定し、最も高い前記操作部品類似度に基づき計算した評価値を、前記第1の操作部品と前記第2の操作部品の依存関係の類似度として出力する依存関係類似度計算手段と、前記依存関係の類似度に基づき、前記第1のシステムの操作部品と前記第2のシステムの操作部品とを対応付けて、その対応結果を出力する部品対応判定手段と、を備えるGUI解析装置が提供される。
本実施の形態にかかるGUI解析装置15によれば、複数のシステムのGUI間で類似の操作部品を対応付けることができる。
(実施形態の他の表現)
上記実施形態の一部または全部は、以下の付記ようにも記載されうる(以下に限定されない)。
(付記)
依存関係類似度計算手段は、比較対象となる第1のシステムのGUIの操作部品を含む依存関係の一部分と、第2のシステムのGUIの操作部品を含む依存関係の一部分とを用いて操作部品の依存関係の類似度を計算するGUI解析装置。
第1のシステムのGUIと第2のシステムのGUIそれぞれの操作部品を特定する操作部品情報をあらかじめ記憶する操作部品情報記憶手段を、操作部品検出手段に替えて、あるいは、操作部品検出手段に加えて備え、部品対応判定手段は操作部品情報記憶手段に記憶された操作部品情報にもとづき前記第1のシステムのGUIの操作部品と前記第2のシステムのGUIの操作部品とを対応づけて出力するGUI解析装置。
(a)外部システムの一つである第1のシステムのGUIの操作部品と第2のシステムのGUIの操作部品との間で、それぞれの操作部品に付与された文字列の類似度を計算するステップと、(b)前記第1のシステムのGUIの操作部品と前記第2のシステムのGUIの操作部品との間で、それぞれの操作部品に付与された画像の類似度を計算するステップと、(c)前記第1のシステムのGUIの操作部品の依存関係と前記第2のシステムのGUIの操作部品の依存関係との類似度を計算するステップと、(d)前記(a)〜(c)のステップのそれぞれの出力結果を組み合わせて、操作部品間の総合的な類似度を計算し、前記第1のシステムのGUIの操作部品と前記第2のシステムのGUIの操作部品との対応関係を判定するステップと,を有するGUI解析方法。
(a)前記外部システムの一つである第1のシステムのGUIの操作部品と第2のシステムのGUIの操作部品との間で、それぞれの操作部品に付与された文字列の類似度を計算するステップと、(b)前記第1のシステムのGUIの操作部品と前記第2のシステムのGUIの操作部品との間で、それぞれの操作部品に付与された画像の類似度を計算するステップと、(c)前記第1のシステムのGUIの操作部品の依存関係と、前記第2のシステムのGUIの操作部品の依存関係の類似度を計算するステップと、(d)前記(a)〜(c)のステップのそれぞれの出力結果を組み合わせて、操作部品間の総合的な類似度を計算し、前記第1のシステムのGUIの操作部品と前記第2のシステムのGUIの操作部品との対応関係を判定するステップと、をコンピュータに実行させるプログラム。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
本発明によれば、既知のシステムのGUIを用いた未知のシステムのGUIの操作支援といった用途に適用できる。
また、動作可能な完成したシステムと設計段階の未完成なシステムの比較評価といった用途にも適用可能である。
10 第1の実施の形態におけるGUI解析装置
11 第2の実施の形態におけるGUI解析装置
12 第3の実施の形態におけるGUI解析装置
13 第4の実施の形態におけるGUI解析装置
14 第5の実施の形態におけるGUI解析装置
15 第6の実施の形態におけるGUI解析装置
20 第1の実施の形態における操作部品検出部
21 操作部品情報記憶部
22 第4の実施の形態における操作部品検出部
25 部品マッチング部
30 テキスト類似度計算部
40 画像類似度計算部
50 依存関係類似度計算部
60 部品対応判定部
70 操作検出部
71 操作系列入力部
80 対応操作部品表示部
81 対応操作実行部
90 GUI評価部
100 入力装置
200 出力装置
300 端末装置
400 システム

Claims (10)

  1. 第1のシステムから取得した階層的な関係を有する操作部品の1つであって画面表示されている第1の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品と、第2のシステムから取得した階層的な関係を有する操作部品の1つであって画面表示されている第2の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品の組み合わせのうちで、最も高い操作部品類似度を持つ操作部品の組み合わせを特定し、最も高い前記操作部品類似度に基づき計算した評価値を、前記第1の操作部品と前記第2の操作部品の依存関係の類似度として出力する依存関係類似度計算手段と、
    前記依存関係の類似度に基づき、前記第1のシステムの操作部品と前記第2のシステムの操作部品とを対応付けて、その対応結果を出力する部品対応判定手段と、
    を備えるGUI解析装置。
  2. 2つの操作部品の各々に付与された文字列の類似度を計算して当該2つの操作部品間の類似度として出力するテキスト類似度計算手段と、
    2つの操作部品の各々に付与された画像の類似度を計算して当該2つの操作部品間の類似度として出力する画像類似度計算手段と、
    をさらに備え、前記操作部品類似度は、前記文字列の類似度または前記画像の類似度の少なくとも一方に基づき計算され、
    前記部品対応判定手段は、前記操作部品類似度および前記依存関係の類似度を組み合わせて前記操作部品間の総合的な類似度を計算し、前記総合的な類似度に基づき前記第1のシステムの操作部品と前記第2のシステムの操作部品とを対応づけて対応関係の判定結果を出力する請求項1に記載のGUI解析装置。
  3. 前記テキスト類似度計算手段または前記画像類似度計算手段の少なくとも一方は、各操作部品に対して複数の操作方法が実行可能な場合には、それら操作方法別に、前記文字列の類似度、または、前記画像の類似度を計算して出力する請求項2に記載のGUI解析装置。
  4. 前記第1のシステムの操作部品に対する操作入力を検出する操作検出手段と、
    前記操作検出手段が検出する操作の対象となる前記第1のシステムの操作部品情報をもとに、前記部品対応判定手段が出力する部品の対応関係の判定結果を参照し、前記第1のシステムの操作部品に対応する前記第2のシステムの操作部品を特定し、特定した前記第2のシステムの操作部品を強調表示する対応操作部品表示手段と、
    をさらに備える請求項1ないし請求項3のいずれかに記載のGUI解析装置。
  5. 前記対応操作部品表示手段が特定した前記第2のシステムの操作部品に対して、前記第1のシステムの操作部品に対応する操作入力を実行する請求項4に記載のGUI解析装置。
  6. システムの操作部品に対する操作系列を入力する操作系列入力手段と、
    前記操作系列入力手段で入力した第1のシステムに対する操作系列が表す操作の対象となる一連の操作部品と、前記部品対応判定手段が出力する判定結果と、を参照して、前記第1のシステムに対する操作系列に対応する前記第2のシステムに対する操作系列を特定し出力するGUI評価手段と、
    をさらに備える請求項1ないし請求項3のいずれかに記載のGUI解析装置。
  7. 第1のシステムから取得した階層的な関係を有する操作部品の1つであって画面表示されている第1の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品と、第2のシステムから取得した階層的な関係を有する操作部品の1つであって画面表示されている第2の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品の組み合わせのうちで、最も高い操作部品類似度を持つ操作部品の組み合わせを特定し、最も高い前記操作部品類似度に基づき計算した評価値を、前記第1の操作部品と前記第2の操作部品の依存関係の類似度として出力する依存関係類似度計算ステップと、
    前記依存関係の類似度に基づき、前記第1のシステムの操作部品と前記第2のシステムの操作部品とを対応付けて、その対応結果を出力する部品対応判定ステップと、
    をコンピュータに実行させるGUI解析プログラム。
  8. 2つの操作部品に付与された文字列の類似度を計算して当該2つの操作部品間の類似度として出力するテキスト類似度計算ステップと、
    2つの操作部品に付与された画像の類似度を計算して当該2つの操作部品間の類似度として出力する画像類似度計算ステップと、
    前記操作部品類似度を、前記文字列の類似度または前記画像の類似度の少なくとも一方に基づき計算する前記依存関係類似度計算ステップと、
    前記操作部品類似度および前記依存関係の類似度を組み合わせて前記操作部品間の総合的な類似度を計算し、前記総合的な類似度に基づき前記第1のシステムの操作部品と前記第2のシステムの操作部品とを対応づけて対応関係の判定結果を出力する前記部品対応判定ステップと、
    を前記コンピュータに実行させる、請求項7に記載のGUI解析プログラム。
  9. 第1のシステムから取得した階層的な関係を有する操作部品の1つであって画面表示されている第1の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品と、第2のシステムから取得した階層的な関係を有する操作部品の1つであって画面表示されている第2の操作部品の上位(下位)の階層に位置する操作部品の集合に含まれる操作部品の組み合わせのうち、最も高い操作部品類似度を持つ操作部品の組み合わせを特定し、最も高い前記操作部品類似度に基づき計算した評価値を、前記第1の操作部品と前記第2の操作部品の依存関係の類似度として出力し、
    前記依存関係の類似度に基づき、前記第1のシステムの操作部品と前記第2のシステムの操作部品とを対応付けて、その対応結果を出力するGUI解析方法。
  10. 操作部品に付与された文字列の類似度を計算し、
    操作部品に付与された画像の類似度を計算し、
    前記操作部品類似度を、前記文字列の類似度または前記画像の類似度の少なくとも一方に基づき計算し、
    前記操作部品類似度および前記依存関係の類似度を組み合わせて前記操作部品間の総合的な類似度を計算し、前記総合的な類似度に基づき前記第1のシステムの操作部品と前記第2のシステムの操作部品とを対応づけて対応関係の判定結果を出力する、請求項9に記載のGUI解析方法。
JP2010150898A 2010-07-01 2010-07-01 Gui解析装置、方法、及び、プログラム Active JP5477201B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010150898A JP5477201B2 (ja) 2010-07-01 2010-07-01 Gui解析装置、方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010150898A JP5477201B2 (ja) 2010-07-01 2010-07-01 Gui解析装置、方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2012014496A true JP2012014496A (ja) 2012-01-19
JP5477201B2 JP5477201B2 (ja) 2014-04-23

Family

ID=45600833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010150898A Active JP5477201B2 (ja) 2010-07-01 2010-07-01 Gui解析装置、方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP5477201B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014160402A (ja) * 2013-02-20 2014-09-04 Nippon Telegr & Teleph Corp <Ntt> ユーザインタフェース制御方法、その装置およびプログラム
JP2015049661A (ja) * 2013-08-30 2015-03-16 Kddi株式会社 操作性評価尺度に基づくgui変換プログラム、装置及びgui変換方法
WO2015104865A1 (ja) * 2014-01-10 2015-07-16 三菱電機株式会社 ユーザインタフェース設計支援装置
WO2016013407A1 (ja) * 2014-07-22 2016-01-28 トヨタ自動車株式会社 ユーザインタフェース評価装置およびユーザインタフェース評価方法
JP2016045765A (ja) * 2014-08-25 2016-04-04 シャープ株式会社 電子機器、および、その制御方法
WO2022180705A1 (ja) * 2021-02-24 2022-09-01 日本電信電話株式会社 情報取得装置、情報取得方法及び情報取得プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207701A (ja) * 1996-11-22 1998-08-07 Toshiba Corp Gui画面作成装置及びプログラムを記録した記録媒体
JP2008146300A (ja) * 2006-12-08 2008-06-26 Nec Corp 情報処理装置、情報処理方法およびプログラム
JP2008287311A (ja) * 2007-05-15 2008-11-27 Hitachi Ltd コンテンツ部品検索方法及び装置
JP2009116393A (ja) * 2007-11-01 2009-05-28 Sky Kk ファイル管理システムおよびファイル管理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207701A (ja) * 1996-11-22 1998-08-07 Toshiba Corp Gui画面作成装置及びプログラムを記録した記録媒体
JP2008146300A (ja) * 2006-12-08 2008-06-26 Nec Corp 情報処理装置、情報処理方法およびプログラム
JP2008287311A (ja) * 2007-05-15 2008-11-27 Hitachi Ltd コンテンツ部品検索方法及び装置
JP2009116393A (ja) * 2007-11-01 2009-05-28 Sky Kk ファイル管理システムおよびファイル管理プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014160402A (ja) * 2013-02-20 2014-09-04 Nippon Telegr & Teleph Corp <Ntt> ユーザインタフェース制御方法、その装置およびプログラム
JP2015049661A (ja) * 2013-08-30 2015-03-16 Kddi株式会社 操作性評価尺度に基づくgui変換プログラム、装置及びgui変換方法
WO2015104865A1 (ja) * 2014-01-10 2015-07-16 三菱電機株式会社 ユーザインタフェース設計支援装置
WO2016013407A1 (ja) * 2014-07-22 2016-01-28 トヨタ自動車株式会社 ユーザインタフェース評価装置およびユーザインタフェース評価方法
JP2016045765A (ja) * 2014-08-25 2016-04-04 シャープ株式会社 電子機器、および、その制御方法
WO2022180705A1 (ja) * 2021-02-24 2022-09-01 日本電信電話株式会社 情報取得装置、情報取得方法及び情報取得プログラム

Also Published As

Publication number Publication date
JP5477201B2 (ja) 2014-04-23

Similar Documents

Publication Publication Date Title
US10120654B2 (en) Domain specific language design
CN107193739B (zh) 一种黑盒回归测试方法
US9703462B2 (en) Display-independent recognition of graphical user interface control
US8549421B2 (en) Apparatus and method for managing content
JP5477201B2 (ja) Gui解析装置、方法、及び、プログラム
US20120110459A1 (en) Automated adjustment of input configuration
US20170220238A1 (en) User interface for editing a value in place
US8838557B2 (en) Automated viewable selectable change history manipulation
US20130262968A1 (en) Apparatus and method for efficiently reviewing patent documents
US7793219B1 (en) Construction of multimedia compositions
US20100077333A1 (en) Method and apparatus for non-hierarchical input of file attributes
US9405558B2 (en) Display-independent computerized guidance
JP5962277B2 (ja) 文書関連付け装置及びプログラム
KR20050061534A (ko) 툴-팁 재생 시스템, 툴-팁 디스플레이 방법 및 머신 판독가능 저장 장치
US20090150779A1 (en) Method and apparatus for displaying help information
CN105229606A (zh) 基于内容的定向放置应用启动
US9721040B2 (en) Mechanism to input, search and create complex data strings within a single dialog
CN102067117B (zh) 显示和操作表的方法
CN112882623A (zh) 文本处理方法、装置、电子设备及存储介质
JP2013182410A (ja) 業務分析設計支援装置、業務分析設計支援方法、および業務分析設計支援プログラム
JP2016085512A (ja) 電子機器、方法及びプログラム
JP5344220B2 (ja) 測定装置および測定装置の操作方法
US9645798B1 (en) Using program code to generate help information, and using help information to generate program code
US10083106B2 (en) Computer aided bug reporting system for GUI applications
KR20090114386A (ko) 시스템 명세의 디스크립터 관리 방법, 장치 및 컴퓨터 판독 가능한 매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131218

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: 20140114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140127

R150 Certificate of patent or registration of utility model

Ref document number: 5477201

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150