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