説明

GUIカスタマイズ方法、システム及びプログラム

【課題】アプリケーションソフトウェアのGUIを、作業の内容や、使用者の作業スキルレベルに基づいてカスタマイズする。
【解決手段】プロセッサ102は、メモリ103中の各種プログラムを実行する。すなわち、使用者のスキルレベルを作業結果の品質や作業時間に基づいて判定する処理部113と、使用者のGUI操作履歴に基づいてGUIの使用状況を抽出する処理部115と、使用者を作業の内容やスキルレベルに応じて複数のカテゴリに分類するカテゴリ分類部129、分類したカテゴリ毎に使用者群を使用状況に基づいてクラスタリングする処理部116、クラスタリング方法によって分割したクラスタ毎に、使用状況に基づいてGUIのカスタマイズを行う処理部119を実行し、GUIカスタマイズ対象の使用者をクラスタのひとつに分類し、そのクラスタに対して設定されたGUIカスタマイズ方法を適用することにより、使用者のGUIをカスタマイズする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム上で稼動するアプリケーションソフトウェアのグラフィカルユーザインタフェース(GUI:Graphical User Interface)技術に関し、特に、作業の状況や使用者のスキルレベルに応じて、GUIをカスタマイズする技術に関する。
【背景技術】
【0002】
近年の計算機の高性能化に伴い、計算機上で稼動するアプリケーションソフトウェアもより高機能、かつ複雑な処理を行えるようになっている。特に、アプリケーションソフトウェアをインタラクティブに操作することによって所望の処理を実現する作業では、GUIを用いた操作が主流になっている。GUIは、画面表示されたメニューやアイコン等の画像オブジェクトをマウス等で直接操作する直感的なユーザインタフェースである。GUIを用いれば、そのアプリケーションソフトウェアに不慣れなユーザでも、GUIオブジェクトの位置や形状、他のアプリケーションソフトウェアとの類似性等に基づいて、ある程度操作方法を予測することができる。
【0003】
しかし、そのアプリケーションソフトウェアの機能に特有の操作やコマンドを、効率よく実行するためには、経験や教育に基づいた操作方法の学習が必要である。特に、複雑な操作が必要なアプリケーションソフトウェアや、専門的な知識を要求する作業を行うアプリケーションソフトウェアでは、操作方法の習得に時間がかかる。
【0004】
例えば、半導体集積回路や建築、機械設計等で用いるCAD(Computer Aided Design)ツールは、極めて専門的な分野の作業を対象とするアプリケーションソフトウェアである。CADは、様々な設計対象や目標条件設定に対応するために、機能が豊富で操作項目も多岐にわたる。このように複雑な処理を実行可能なアプリケーションソフトウェアの操作を行うためには、対象分野に対する広範な知識や、操作ノウハウの蓄積が求められ、初級者には操作習熟のハードルが高い。
【0005】
一方で、作業対象や目標条件を限定して作業を行う場合、必ずしもアプリケーションソフトウェアの全ての機能を使用しない場合がある。このような状況では、その作業におけるスキルレベルの低い使用者は、操作時に使用すべき機能の選択に迷ったり、誤って目的以外の機能を呼び出したりすることにより、作業効率が低下するという問題があった。また、例えば、スキルレベルの低い使用者は、マウスを用いたオブジェクト選択による機能呼び出しを主に行い、スキルレベルの高い使用者は、バインドキーを用いた機能呼び出しを主に行う等、操作方法が使用者によって異なる場合があった。
【0006】
アプリケーションソフトウェアを用いた作業の目的が、所望の品質を持つ作業結果を得ることであるとすると、所望の品質にできるだけ短い時間で到達するためには、使用者の作業スキルレベルに応じて、アプリケーションソフトウェアの操作を効率よく行う手段を提供することが有効である。
【0007】
これに対し、例えば特許文献1や2には、ユーザのアプリケーションソフトウェア操作への習熟度を、キー打鍵速度やマウス操作速度、機能選択頻度等の操作の状況を分析することによって判定し、これに基づいて習熟度ごとに予め定めたGUIを提示する方法が開示されている。
【0008】
また、特許文献3には、ユーザの操作の特徴を機能選択頻度や迷い等から判定し、これに基づいてGUIをカスタマイズする方法が開示されている。
【0009】
特許文献4には、ユーザが既存アプリケーションソフトウェアに対し行ったGUIカスタマイズの傾向をルール化し、当該ユーザが新規アプリケーションソフトウェアを使用する際に、ルールを用いてGUIをカスタマイズする方法が開示されている。
【0010】
対象とするアプリケーションソフトウェアを用いて作業を行った場合の、使用者の作業スキルレベルを判定する方法としては、例えば特許文献5に、設計ツールを用いたLSI設計におけるユーザの設計技術を、テスト用設計課題に対する解答を評価基準(ゲート数、タイミング違反、タイミング収束性、動作周波数、消費電力、解答時間)に基づいて評価することによって判定する方法が開示されている。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開03−177854号公報
【特許文献2】特開平11−39127号公報
【特許文献3】特開2008−97466号公報
【特許文献4】特開平8−292864号公報
【特許文献5】特開2004−110333号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
特許文献1および2に記載の方法は、使用者によるGUI操作状況を予め設定したアプリケーションソフトウェア操作の習熟度と対応づけているが、アプリケーションソフトウェア操作の習熟度とアプリケーションソフトウェアを用いた作業の効率(作業の品質と作業にかかった時間)を関係付ける方法が開示されていないという問題があった(第1の課題)。
【0013】
また、いずれも判定した習熟度毎に予め定めておいたカスタマイズ設定を用いてカスタマイズするものであり、使用者のGUIオブジェクト毎の操作状況に対応してカスタマイズ設定を決定する方法が開示されていないため、習熟度に応じて各GUIオブジェクトをきめ細かくカスタマイズすることができないという問題があった(第2の課題)。
【0014】
特許文献3および4は、いずれもユーザ本人による操作傾向や、カスタマイズ傾向に基づいてカスタマイズを行うため、カスタマイズ設定を客観的な基準に基づいて決定することができないという問題があった(第3の課題)。
【0015】
上記の従来技術は、いずれも使用者によるGUI操作の状況に基づいてGUIのカスタマイズを行うものであり、アプリケーションソフトウェアを用いた作業の内容や、使用者の作業スキルレベルに基づいてGUIをカスタマイズするものではなかった。
【0016】
特許文献5記載の方法は、使用者の作業スキルレベルを、テスト問題の設計結果(設計回路、レイアウト等)の品質(検証結果)や作業時間に基づいて決定するが、その結果をツールの操作性向上に反映することを想定していないため、複数の評価基準を用いてスキルレベルを定量化する方法が開示されていないという問題があった(第4の課題)。
【0017】
本発明の目的は、これらの課題を解決することのできる情報処理システムのGUIカスタマイズ方法、システム及びプログラムを提供することにある。
【課題を解決するための手段】
【0018】
上記の目的を達成するため、本発明においては、GUIを持つソフトウェアを実行する処理部を備えた情報処理システムのGUIのカスタマイズを行うため、処理部が、ソフトウェアの操作履歴から使用者の使用状況を抽出し、ソフトウェアの複数の使用者を使用状況の類似度に基づいてクラスタリングし、クラスタリングの結果に基づき複数の使用者を分割した複数のクラスタ各々を代表する使用状況に基づきソフトウェアのGUIを変更し、特定の使用者の使用状況と、クラスタ各々を代表する使用状況とを比較することにより、特定の使用者を複数のクラスタのいずれかに分類し、特定の使用者が分類されたクラスタのGUIに基づき、特定の使用者のソフトウェアのGUIをカスタマイズするGUIカスタマイズ方法、情報処理システム、及びプログラムを構成する。
【0019】
また、上記の目的を達成するため、本発明においては、GUIを持つソフトウェアを実行する処理部を備えた情報処理システムのGUIのカスタマイズを行うため、処理部は、ソフトウェアの複数の使用者を、ソフトウェアを用いた作業を作業対象の属性により分類した複数の作業分類毎に、当該ソフトウェアを用いて作業を実行した際の使用者のスキルレベルに基づき複数のカテゴリに分割し、分割された複数のカテゴリ各々に対して、ソフトウェアのGUIを調整し、調整されたGUIに基づき、複数のカテゴリ各々に分類される使用者のGUIをカスタマイズするGUIカスタマイズ方法、情報処理システム、及びプログラムを構成する。
【0020】
すなわち、本発明の好適な形態においては、第1、および第4の課題を解決するために、アプリケーションソフトウェアを用いた作業の効率を、作業の内容に応じて、作業結果の品質(性能値)と作業の目標値(制約条件)との比較、および所要時間(作業に必要とされた時間)により計算し、これに基づいて判定した使用者のスキルレベルに応じてGUIをカスタマイズする。
【0021】
また、第2の課題を解決するために、使用者のスキルレベル毎に、アプリケーションソフトウェアを使用する複数の使用者群の使用状況(どの使用者がどのGUIオブジェクトをどのように使用したか)を抽出し、使用状況からGUIの各オブジェクトのカスタマイズ設定を決定する。
【0022】
さらに、第3の課題を解決するために、対象使用者のGUIカスタマイズ設定を、当該使用者よりスキルレベルの高い使用者群の使用状況に基づいて決定する。
【0023】
より具体的な実施形態においては、使用者のスキルレベルを、作業結果の品質や作業時間に基づいて判定する方法を設けた。アプリケーションソフトウェアの使用者群を作業の内容やスキルレベルに応じて複数のカテゴリに分類する方法を設けた。使用者のGUI操作履歴を収集し、これに基づいて操作傾向を分析してGUIの使用状況を抽出する方法を設けた。対象アプリケーションソフトウェアの使用者群を、分類したカテゴリ毎に、使用状況に基づいてクラスタリングする方法を設けた。上記クラスタリング方法に基づいてクラスタリングしたクラスタ毎に、使用状況に基づいてGUIのカスタマイズ方法を設定する方法を設けた。GUIカスタマイズ対象の使用者を、使用状況の類似度に基づいて、上記クラスタリング方法に基づいてクラスタリングしたクラスタのひとつに分類し、そのクラスタに対して設定されたGUIカスタマイズ方法を適用することにより、使用者のGUIをカスタマイズする方法を設けた。
【発明の効果】
【0024】
本発明のGUIカスタマイズ方法により、計算機等の情報処理装置上で稼動するアプリケーションソフトウェアのGUIを、使用者の作業スキルレベルに応じて最適にカスタマイズすることによって、アプリケーションソフトウェアを用いた作業の効率を向上させることが可能になる。
【0025】
また、本発明は、使用者によるアプリケーションソフトウェアを用いた作業結果、作業時間、および使用者によるアプリケーションソフトウェアのGUI操作履歴を用いてGUIをカスタマイズするものであり、アプリケーションソフトウェアの内部情報を必要としない。またアプリケーションソフトウェアの改造が必須ではない。したがって、本発明の方法は、複数のアプリケーションソフトウェアへの適用や、アプリケーションソフトウェアがバージョンアップ等により変更された場合においても適用が容易である。
【図面の簡単な説明】
【0026】
【図1】第1の実施例に係るシステム構成の一例を示す情報処理装置のブロック図である。
【図2】第1の実施例に係る、GUIカスタマイズプログラムの処理の流れを示した図である。
【図3】第1の実施例に係る、作業内容の分類例を示す図である。
【図4】第1の実施例に係る、使用者の作業スキルレベル判定処理部の一構成を示す図である。
【図5】第1の実施例に係る、性能検証結果の一例を示す図である。
【図6】第1の実施例に係る、回路作成ツールを用いて回路設計を行う際の作業条件の一例を示す図である。
【図7】第1の実施例に係る、スキルレベルの判定条件の一例を示す図である。
【図8】第1の実施例に係る、スキルレベルを判定する処理のフローを示す図である。
【図9】第1の実施例に係る、アプリケーションソフトウェアのGUI画面の一例を示す図である。
【図10】第1の実施例に係る、GUI使用状況抽出処理部の構成を表す図である。
【図11】第1の実施例に係る、使用者i、作業分類jにおける使用状況の一例を示す図である。
【図12】第1の実施例に係る、使用状況の別の例を示す図である。
【図13】第1の実施例に係る、使用者カテゴリ分類部の処理を説明する図である。
【図14】第1の実施例に係る、使用者クラスタリング処理部の処理を説明する図である。
【図15】第1の実施例に係る、クラスタリング部における処理を説明する図である。
【図16】第1の実施例に係る、類似度判定処理部の処理を説明する図である。
【図17】第1の実施例に係る、GUIカスタマイズ方法設定部の処理を説明する図である。
【図18】第1の実施例に係る、クラスタiに属する使用者群の使用状況のリストを示す図である。
【図19】第1の実施例に係る、クラスタiの使用状況を計算した結果を示す図である。
【図20】第1の実施例に係る、GUIのカスタマイズ方法を設定した例を示す図である。
【図21】第1の実施例に係る、GUIカスタマイズ処理部の処理を説明する図である。
【図22】第1の実施例に係る、情報処理装置でGUIを表示、制御する処理を説明する図である。
【図23】第1の実施例に係る、アプリケーションソフトウェアのGUIをカスタマイズする方法を示した図である。
【図24】第1の実施例に係る、GUIカスタマイズ部の構成を示す図である。
【図25】第1の実施例に係る、サーバ−クライアント型情報処理装置におけるGUIカスタマイズ方法の例を示す図である。
【図26】第1の実施例に係る、サーバ−クライアント型情報処理装置におけるGUIカスタマイズ方法の別の例を示す図である。
【発明を実施するための形態】
【0027】
以下、本発明を実施するために好適な形態の例について、図面を参照しながら説明する。以下の説明において、「スキルレベル」とは、作業結果の品質(性能値)および所要時間(作業に必要とされた時間)に基づき判定される使用者・作業者のレベルを言う。なお、情報処理装置で実行される各種のプログラムあるいはその機能を、処理、手段、あるいは処理部と称する場合がある。例えば、「スキルレベル判定プログラム」を「スキルレベル判定処理」、「スキルレベル判定手段」、あるいは「スキルレベル判定処理部」と呼ぶ場合があるので留意されたい。
【実施例1】
【0028】
図1は、第1の実施例に係る、計算機等の情報処理装置で実施するためのシステム構成の例を表す図である。
【0029】
図1の101は、EWS(Engineering Workstation)や、PC(Personal Computer)、サーバ装置等の計算機システムを表している。101は、少なくとも種々の演算を実行する処理部としてのプロセッサ102、計算機を制御するソフトウェアであるオペレーティングシステム(Operating System)や、GUIの制御を行うウインドウシステム(Window System)、アプリケーションソフトウェア等の各種ソフトウェアの実行イメージ、データ等を格納するメモリ103、ソフトウェアのファイルやデータ等を格納するハードディスク等の記憶装置104、ユーザインタフェースとして表示装置105、キーボード106、マウス107等を接続して制御する入出力制御部(I/O:Input/Output)108を有し、これらの間の通信はバス109を介して行われる。メモリ103と記憶装置104は、計算機システムの記憶部を構成する。
【0030】
なお、オペレーティングシステムやアプリケーション等のソフトウェアやデータは、通常は、計算機システムの電源を遮断しても記憶した内容を保持することが可能な記憶装置104にファイルとして格納し、計算機システムが動作する際にメモリ103に読み込むことにより実行される。本実施例においてもこれらの動作は通常の計算機システムと同様であるが、本実施例の説明には用いないため図示していない。また、計算機システム101は、上記EWS、PC、サーバ装置等の計算機システムの通常動作に必要なその他のハードウェア、ソフトウェアを備えているものとするが、本実施例の説明には用いないため図示していない。
【0031】
メモリ103には、少なくとも本実施例のGUIカスタマイズ方法の適用対象であるアプリケーションソフトウェア110、アプリケーションソフトウェアを用いて使用者が作業した結果を検証する手段の例である検証ソフトウェア111、本実施例のGUIカスタマイズを実行するGUIカスタマイズプログラム112の実行イメージが格納される。また、オペレーティングシステム131や、ウインドウシステム132も格納される。
【0032】
GUIカスタマイズプログラム112には、アプリケーションソフトウェア110の使用者の作業スキルレベルを判定するスキルレベル判定処理部113、作業時間を測定する作業時間測定部114、アプリケーションソフトウェアのGUI使用状況を抽出するGUI使用状況抽出処理部115、使用者を複数のカテゴリに分類する使用者カテゴリ分類部129、使用者を使用状況に基づいてクラスタリングする使用者クラスタリング処理部116、アプリケーションソフトウェア110のGUIカスタマイズ方法を設定するGUIカスタマイズ方法設定部117、GUIカスタマイズの対象となる使用者と、使用者クラスタのGUI使用状況の類似度を判定する類似度判定処理部118、GUIカスタマイズを実行するGUIカスタマイズ処理部119が含まれる。
【0033】
また、記憶装置104には、少なくともアプリケーションソフトウェア110を用いた作業の結果120、作業結果を検証ソフトウェアで検証した結果121、作業の性能目標や制約等の作業条件122、検証結果121からアプリケーションソフトウェア使用者のスキルレベル判定を行う際の判定条件123、判定条件123に基づいて判定した使用者のスキルレベル124、アプリケーションソフトウェア110を用いた作業にかかった作業時間125、使用者の分類結果である使用者カテゴリ130、使用者のGUI使用状況126、使用者のクラスタリング結果である使用者クラスタ127、GUIカスタマイズ方法128が格納され、それぞれはGUIカスタマイズプログラム112の動作に応じて生成、更新、メモリへの読み込みが行われる。
【0034】
プロセッサ102は、少なくとも中央演算処理部(CPU:Central Processing Unit)を有し、メモリ103にアクセスしてオペレーションシステム等の制御ソフトウェアを介してアプリケーションソフトウェア110や検証ソフトウェア111、GUIカスタマイズプログラム112を実行し、ソフトウェアの命令に従って、I/O制御部108を介して画像や文字のディスプレイモニタ等の表示装置105への表示、および使用者がキーボード106やマウス107等の入力デバイスを用いて入力した情報の取得を行う。
【0035】
図2は、図1のGUIカスタマイズプログラム112の処理の流れを示した図である。110は、本実施例のGUIカスタマイズ方法を適用する対象のアプリケーションソフトウェアを表している。本ソフトウェアを、GUIを介してインタラクティブに操作することにより、ある使用者iがある作業分類jの作業を行った結果として、作業結果201を出力する。ここで、作業分類とは、アプリケーションソフトウェアを用いた全ての作業を、その作業の対象や作業内容の種類等の作業対象の属性に基づいて分類したものである。
【0036】
検証ソフトウェア111は、作業結果201の性能を検証するための手段として用いられるものであり、作業結果201に対し品質や性能を検証し、検証結果202を出力する。図1の作業結果120、検証結果121は、本アプリケーションソフトウェアを使用する他の使用者の作業結果、および検証結果のうち、本実施例で使用する分のデータを集めたものに相当する。
【0037】
スキルレベル判定処理部113は、使用者i、作業分類jにおける検証結果202、作業時間測定部114が、アプリケーションソフトウェア110の起動や作業結果の出力を監視することによって測定した作業時間、作業する上での目標値や制約条件として設定した作業条件204、およびスキルレベル判定条件205を用いて、使用者i、作業分類jのスキルレベルを判定する。この処理を、本実施例を実施する上で使用する全ての使用者、作業分類分について行い、スキルレベル124を求める。
【0038】
GUI使用状況抽出処理部115は、使用者がアプリケーションソフトウェア110のGUIを操作した状況を、アプリケーションソフトウェア110のGUI情報を監視することによって取得し、これを分析することによって使用状況を抽出する。206は、使用者i、作業分類jについてGUI使用状況を抽出した結果である。使用状況についても、本実施例を実施する上で使用する全ての使用者、作業分類分について抽出し、使用状況126を求める。
【0039】
使用者カテゴリ分類部129は、全使用者、全作業分類分のスキルレベル124に基づいて、各作業分類の作業を実施した使用者群を複数のカテゴリに分類する。図2では、説明のため、作業分類jに対する分類を行った結果についてのみを、使用者カテゴリ210として示した。実際には、すべての作業分類を対象に処理を行う。図2の使用者カテゴリ210には、作業分類jの作業を行った使用者群を、スキルレベルに基づいて分類したカテゴリと、各カテゴリに属する使用者群のリストが格納される。言い換えるなら、使用者を分類する各カテゴリは、作業対象の属性による複数の作業分類と、作業分類各々における複数のスキルレベルに基づき決定されると言うことができる。
【0040】
使用者クラスタリング処理部116は、使用者カテゴリ210の各カテゴリに属する使用者群を、使用状況126に格納されている各使用者の使用状況の類似度に基づいてクラスタリングする。図2では、説明のために、作業分類jについてクラスタリングを行った結果をクラスタ207として図示しているが、実際のクラスタリング処理はすべての作業分類について実施する。
【0041】
GUIカスタマイズ方法設定部117は、クラスタリング結果207の各クラスタについて、そのクラスタを代表する使用状況を求め、これを記憶装置104のGUIカスタマイズ方法128に、各カテゴリに対応したGUIカスタマイズ方法208として設定する。後で説明するように、GUIカスタマイズ処理部119は、使用者iが作業分類jの作業を行う際のGUIカスタマイズ方法211を決定し、これに基づいてGUIをカスタマイズするものとする。なお、本説明では図示の便宜上、同じインデクスi、jを用いたが、実際の処理ではクラスタリング対象として用いた使用者と異なる新たな使用者をGUIカスタマイズの対象としても良い。その場合は、新たな使用者が属する作業分類の使用者カテゴリを対象に、使用者クラスタリング処理以降の処理を行う。
【0042】
類似度判定処理部118は、使用者i、作業分類jの使用状況と、クラスタリング結果207の各クラスタの代表点との類似度を判定し、これに基づいて使用者iがどのクラスタに属するかを決定し、類似クラスタ209とする。この時、GUIカスタマイズ対象の使用者と類似度判定対象のクラスタは、異なるカテゴリに属するという制約条件をつけることも可能である。その場合は、例えば、使用者のスキルレベルより少なくとも1段階上位のスキルレベルを有するカテゴリなど、使用者よりスキルレベルの高いカテゴリを選択する等、GUIカスタマイズ対象の使用者と類似度判定対象のクラスタが属するカテゴリの対応付けの規則を設定する。
【0043】
GUIカスタマイズ処理部119は、類似クラスタ209におけるGUIカスタマイズ方法を211から選択し、これに基づいてGUIカスタマイズ処理、すなわち、GUIを調整、変更、設定、生成するなどの処理を実行し、その結果を出力する。
【0044】
図3に、アプリケーションソフトウェアを用いて作業を行う際の、作業内容の分類の一例を示す。図3の分類301は、アプリケーションソフトウェアとして、LSI設計作業を行うための設計ツールを想定した場合の分類例である。分類301では、各作業分類は、作業対象、回路規模(ゲート)、作業内容、設計ポリシによって分類される。
【0045】
例えば、設計ツールの場合の作業対象は、アナログLSI、ディジタルLSI等といった設計するLSIの種別とする。また、具体的な設計は、回路の大きさを表す回路規模や、回路作成やレイアウト作成等、どのような作業を行うかに基づく作業内容、面積優先、消費電力優先等、設計を行う上で重視する設計ポリシ等に基づいて分類し、アプリケーションソフトウェアの使用者がどの作業分類の作業を行っているかに基づいて、使用者を分類する。
【0046】
なお作業を分類する際に、各作業区分に分類された使用者数が少ない場合等を考慮し、細分する度合いを調整してもよい。また、作業を細分化せず全体を1分類として本実施例を適用することも可能である。
【0047】
図4に、図1、図2の使用者の作業スキルレベル判定処理部113の構成の詳細を示す。図4は、図3に示したある作業分類の作業jを、使用者iが、アプリケーションソフトウェアを使用して実施した場合のスキルレベル判定処理の構成である。
【0048】
図4において、110は、本実施例のGUIカスタマイズ方法を適用する対象のアプリケーションソフトウェア(アプリソフト)を表しており、使用者が、本ソフトウェアを、GUIを介してインタラクティブに操作することによって作業を行った結果として、使用者i、作業分類jの作業結果201を出力する。また、検証ソフトウェア111は、作業結果201の性能を検証するための手段として用いられるものであり、作業結果201に対し品質や性能を検証し、検証結果202を出力する。
【0049】
例えば、LSI設計作業の場合、回路作成ツールや、レイアウト作成ツール等がアプリケーションソフトに相当する。また、回路シミュレーションツールや、物理検証ツールが検証ソフトウェアに相当する。アプリケーションソフトウェアが回路作成ツールである場合は、作業結果201は、作成した回路の接続関係や回路部品の定数等を記述したネットリストとなる。検証ソフトウェア111は、作業結果201を検証し、回路シミュレーションや物理検証機能によって、回路の性能を見積もり、これらを検証結果202として出力する。
【0050】
図5にその検証結果の一例を示す。検証結果501は、その検証項目としては、作成した回路の消費電力(p)や、面積(a)、ファンアウト数(f)、配線長(l)、遅延時間(d)等がある。検証結果501では、各項目の検証結果の値をそれぞれ、Vp[mW]、Va[mm2]、Vf[個]、Vl[mm]、Vd[ps]としている。この他、例えば作成する回路の目的に応じて動作周波数や、ゲイン、過渡応答特性等、様々な検証項目があるが、ここでは説明が煩雑になるため割愛する。検証ソフトウェアの実行は、人手によるインタラクティブな操作に基づいて行うか、検証パラメータを指定してバッチ処理として行う。
【0051】
図4の作業時間測定部114は、アプリケーションソフトウェア使用者が、アプリケーションソフトウェアを使用して作業を行うのに費やした作業時間(t)204を測定する。作業時間の測定方法としては、例えば、アプリケーションソフトウェアが起動した時間を作業開始時間、作業結果がファイルとして出力された時間を作業終了時間とし、その時間差を計算する。アプリケーションソフトウェアの起動時間は、計算機のオペレーションシステムに用意されているプロセス監視機能等を用いて検知することができる。また、作業結果が出力された時間は、オペレーションシステムに用意されているファイルの生成や更新、アクセスを監視する機能を用いて検知することができる。なお、作業終了時間は、例えば検証ソフトウェアが作業結果ファイルにアクセスした時間としても良い。また、作業時間のうち、アプリケーションソフトウェアのCPU占有率が一定以下の時間をアイドル時間として除外する等により、作業時間測定の精度を高めることができる。
【0052】
図4のスキルレベル判定処理部113は、検証ソフト111の検証結果202、作業条件203、および作業時間204に基づいて検証結果評価部401において検証結果を評価する。
【0053】
図6に、回路作成ツールを用いて回路設計を行う場合の作業条件203の一例を601として示す。例えば、作業条件601において、図5で例示した検証項目のそれぞれに対し、目標値、あるいは制約条件として性能値の許容範囲が決められる。図6の作業条件601では、消費電力(p)、面積(a)、配線長(l)、遅延時間(d)がそれぞれCp[mW]、Ca[mm2]、Cl[mm]、Cd[ps]未満、また、ファンアウト数(f)がCf[個]より多い、といった条件が設定されている。
【0054】
図4において、検証結果評価部401は、性能の評価関数f(p,a,f,l,d,...,t)に基づいて、検証結果の性能値、作業条件、作業時間から性能PF=f(・)を計算する。評価関数f(・)は、例えば以下の数式1で表現される。

f(p,a,f,l,d,...,t) = (αp×(Cp-Vp)/Cp
+αa×(Ca-Va)/Ca
+αf×Vf/Cf+αl×(Cl-Vl)/Cl
+αd×(Cd-Vd)/Cd+...)×T/t ・・・・(数式1)

ここで、αは設計ポリシに基づいた各検証項目の優先度に応じて調整するものとする。また、Tは対象とする作業分類における標準的な作業時間として設定する。
【0055】
図4のスキルレベル判定部402は、検証結果評価部401において評価された作業結果の性能を、予め定めた判定条件205に基づいて判定し、使用者iが作業分類jの作業を行った場合のスキルレベル(SL)403を判定する。なお、作業結果201、検証結果202、作業条件203、作業時間204、判定条件205、スキルレベル403は、それぞれ使用者i、作業分類jにおける結果であり、図1の作業結果120、検証結果121、作業条件122、作業時間125、判定条件123、スキルレベル124のサブセットである。
【0056】
図7にスキルレベルの判定条件の一例701を示す。使用者のスキルレベル(SL)は、作業結果の性能PFの値によって決定する。例えば、PFが閾値Th2より大きく、Th3以下であった場合、その作業を行ったアプリケーションソフトウェア使用者のスキルレベルは3と判定される。
【0057】
図8に、図4の構成に基づいて上記で説明した、スキルレベルを判定する処理のフローを示す。まず、スキルレベル判定処理部113が動作を開始すると、801において、図3に基づいた作業分類リスト802から作業分類jを指定する。また、アプリケーションソフトウェアの使用者として予め登録しておいた使用者のリストから使用者iを指定する。次に、805においてアプリケーションソフトウェアの動作を監視し、使用者iがアプリケーションソフトウェアを使用して作業分類jの作業を行った際(806)に、図4の作業時間測定部114の説明で述べた方法を用いて使用者iの作業時間を測定する。測定した作業時間204は、作業分類、使用者毎にファイル等の形態で記憶装置に格納する。
【0058】
使用者iが作業を行っているかどうかは、例えば使用者iがアプリケーションソフトを使用する際に入力したIDで特定する。また、作業分類jの作業を行っているかは、使用者iが予め申告しておくか、作業開始時に作業分類番号を入力する手段を設けることによって特定することができる。あるいは、アプリケーションソフトウェア上で設定されたパラメータを用いて判定しても良い。808においては、806で使用者が作業を行った結果201に基づいて、807で使用者等が検証ソフトウェアを用いて使用者i、作業分類jの作業結果を検証することによって得た検証結果202、および作業条件203、作業時間204から評価関数f(・)の値を計算し、作業結果の性能を評価する。809では、評価した性能を判定条件205に基づいて判定することによりスキルレベル403を決定し、記憶装置に格納する。
【0059】
801〜809のフローを、GUIカスタマイズ処理に用いる全ての登録使用者、登録作業分類に対して実行し、対象アプリケーションソフトウェアを使用する全使用者群のスキルレベルを判定する。
【0060】
図9は、本実施例の適用対象となるアプリケーションソフトウェアのGUI画面の一例を示す図である。
【0061】
図9の例では、アプリケーションソフトウェアのGUI画面は、計算機のGUI環境であるウインドウシステムの中の1つのウインドウとして、計算機に接続された表示装置であるディスプレイに表示される。901は、アプリケーションソフトウェアのGUI画面として表示されたウインドウである。901の中には、アプリケーションソフトウェアのタイトルを表示するエリア902、GUIオブジェクトであるメニューを表示するエリア903、ボタンを表示するエリア904、例えば画像や文字等を表示、編集するためのフィールド905がある。メニューやボタン等のGUIオブジェクトには、通常、アプリケーションソフトウェアを操作するためのコマンド等が割り当てられている。使用者は、マウス等のポインティングデバイスを操作してカーソル906を移動させ、メニューやボタンを選択することによってアプリケーションソフトウェアのコマンドを実行する。
【0062】
図9の例では、Editメニュー907を開き、その中のProperties項目に対し、さらに階層的に用意されているサブメニュー908を開いて、Objects項目を選択した状態を示している。GUIの操作方法としては、マウス等のポインティングデバイスを用いてカーソルを移動させ、GUIオブジェクトを選択する方法の他に、各GUIオブジェクトに直接特定のキーを割り当て、キーボードからそのキーを入力することによってGUIオブジェクトを選択する方法もある。
【0063】
例えば、アプリケーションソフトウェアとしてLSI設計ツールを想定した場合、RF回路設計等のアナログ回路設計を対象とする作業分類では,周波数特性や、ノイズ特性、利得(損失)、パワー、遅延時間等の機能要件や、消費電力やチップ面積等の実装条件を満足し、またプロセスのバラツキや、配線容量や配線抵抗等の寄生素子の影響を考慮して目標値や制約条件等の作業条件を設定し、設計を行うことが必要である。作業条件を満たす回路を設計するためには、回路素子の定数のみでなく種々の物理特性をパラメータとして設定する必要がある。LSI設計ツールには、通常、これらのパラメータを設定するための機能を割り当てるため、メニュー項目やボタン、テキスト入力ボックス等、多数のGUIオブジェクトが用意されている。設定項目は多岐にわたるが、実際には、設計ポリシや考慮すべき目標値の設定によっては、設定するパラメータの多くをデフォルト値のまま使用しても問題ない場合がある。しかし、使用者のスキルレベルによっては、多数のGUIオブジェクトから、実際に設定すべき項目を見つけ出して選択するのは難しい。このような場合に、設定すべき項目が対応づけられたGUIオブジェクトを強調し、設定する必要がないGUIオブジェクトを非表示にするか、選択不可にする等のカスタマイズを行うことにより、使用者の迷いや、選択間違いを減らし、GUI操作を効率化することが可能になる。
【0064】
図10は、アプリケーションソフトウェア使用者のGUI使用状況を抽出する、図2のGUI使用状況抽出処理部115の構成を表す図である。GUI使用状況抽出処理部115は、使用者iが作業分類jの作業を行うために、本実施例の適用対象であるアプリケーションソフトウェア110のGUIを操作した履歴を、GUI操作履歴収集部1001で収集する。GUI操作履歴は、GUIオブジェクトの表示や、入力デバイスを制御するGUI情報監視機能を用いて、アプリケーションソフトウェアが発行したGUIオブジェクト表示命令や、GUIオブジェクトに対してマウスやキーボード等の入力デバイスが選択等の操作を行った情報を、アプリケーションソフトウェアが取得するための操作命令を監視し、その内容を検出することによって収集する。GUI情報監視機能は、代表的なウインドウシステムでは予め開発用に用意されている。
【0065】
GUI操作履歴収集部1001は、マウス操作検知部1002、キー入力検知部1003、およびオブジェクト選択検知部1004で構成され、各々が検知した情報を履歴として収集する。マウス操作検知部1002は、使用者がGUIオブジェクト上へのマウスカーソルの移動や、オブジェクトの選択(シングルクリック)、オブジェクトの実行(ダブルクリック)等の操作を検知する。キー入力検知部1003は、使用者がキーボードを用いて入力したキーの情報を検知する。オブジェクト選択検知部1004は、GUIオブジェクトがマウスやキー入力によって選択、あるいは実行されたことを検知する。
【0066】
操作傾向分析部1005は、GUI操作履歴収集部1001によって収集されたGUI操作履歴に基づいて、使用者が、GUIオブジェクトに対応付けられたアプリケーションの機能を、どのような操作によって実行したか等のGUI操作の傾向を分析し、これに基づいて使用者i、作業分類jの使用状況1006を出力する。1006は、図1における使用者使用状況126のサブセットである。
【0067】
図11の1101は、図10の使用者i、作業分類jにおける機能毎の使用状況1006の例である。ここでは、作業を行った時間の中で、GUIオブジェクトに対応付けられたアプリケーションソフトウェアの機能を実行するために、使用者がオブジェクトを選択した方法として、メニューやボタンを、マウスを用いて選択した頻度、キーボードを用いたキー入力によって選択した頻度を計測し、使用状況としている。
【0068】
図12の1201は、使用状況1006の別の例である。図12では、作業全体を通したマウスクリック数、キーストローク数、マウスカーソル軌跡長を計測し、これを使用状況としている。
【0069】
図13は、図2の使用者カテゴリ分類部129の処理を説明する図である。使用者カテゴリ分類部129は、作業分類jに属する全使用者を、スキルレベルのランク(1、2、...i、...)をカテゴリとして、各使用者のスキルレベル1301に基づいて例えばカテゴリ1としてスキルレベル1の使用者群、カテゴリ2としてスキルレベル2の使用者群、...カテゴリiとしてスキルレベルiの使用者群、...のようにそれぞれのカテゴリに区分し、カテゴリ毎に使用者のリスト1302〜1304を作成して作業分類jの使用者カテゴリ210とする。図13では、作業分類jの作業を例に説明したが、実際には上記の処理を全ての作業分類について実行する。
【0070】
カテゴリ区分の方法としては、上記で説明した方法以外に、例えば、同一スキルレベルであっても使用者の属性(所属、作業従事経験等)、使用端末のハードウェア制約が異なる等の条件により、さらにカテゴリを分割することも可能である。逆に、作業分類jに属する使用者群を区分せず、全ての使用者群を単一カテゴリと置くことも可能である。その場合は、スキルレベルによらず、作業分類に応じてGUIをカスタマイズすることになる。
【0071】
図14は、図2の使用者クラスタリング処理部116の処理を説明する図である。ここでも、作業分類jを例に処理の流れを説明するが、実際の処理は全ての作業分類に対して実行する。図の例では、使用者状況分類部1401は、使用者カテゴリ分類部129によって分類された作業分類jの使用者カテゴリ210と、作業分類jに属する使用者の使用状況1402から、使用者の使用状況を各カテゴリに分類する。作業分類jの作業を行った全使用者1〜nの使用状況データ1402は、使用者カテゴリ210のカテゴリ毎の使用者リストに基づいて、複数のカテゴリ1403,1404,1405...に分類される(作業分類jのカテゴリ毎の使用状況1406)。なお、使用状況データ1402は、図1における使用者使用状況126のサブセットである。この例では、カテゴリ1に属する使用者を3、17、カテゴリ2に属する使用者を5,23、...、カテゴリiのカテゴリに属する使用者を8、51、...などとしたが、これは説明をわかりやすくするための仮想的な例である。
【0072】
クラスタリング部1407は、作業分類jのカテゴリ毎の使用状況1406のそれぞれのカテゴリに対し、使用者をその使用状況の類似度に基づいたクラスタリングによって、複数のクラスタ1408、1409、1410、...に分類する(作業分類jのカテゴリ毎のクラスタ1411)。
【0073】
図15は、図14のクラスタリング部1407における処理を説明する図である。図は、カテゴリiの使用状況を対象にクラスタリングを行った例である。クラスタリング部では、例えば、使用者kの使用状況を特徴ベクトルVkとして次の数式2で表す。

Vk = (CF1k,AF1k,CF2k,AF2k,CF3k,AF3k,…) ・・・・(数式2)
CFlk:使用者kの機能Fl(l=1,2,...)における使用頻度
AFlk:使用者kの機能Fl(l=1,2,...)の選択方法
(メニュー:1、ボタン:2、キー:3)

全使用者の特徴ベクトルを対象に、例えばk-means法等のクラスタリング手法を用いて、使用者の使用状況の類似度に基づき、各使用者をクラスタリングする。ただし、ベクトルの次元が大きい場合は、主成分分析等の分析手法や、使用頻度の高い機能や選択方法のみをベクトル要素として選択する等により次元数を縮退してもよい。図15の例では、クラスタリング処理によって使用者群を6つのクラスタに分類している。
【0074】
なお、図14、および図15では、各カテゴリの使用者を使用状況の類似度に基づいてクラスタリングし、使用者を複数のクラスタに区分した例を示したが、クラスタ数を1とする、すなわち実質クラスタリングを行わない場合も考えられる。これは、そのカテゴリに属する使用者数が少ない場合や、そのカテゴリに属する全ての使用者の使用状況が類似している等の条件を満たす場合等である。この場合は、クラスタ数=1として以下の処理を実行することが可能である。
【0075】
図16は、図2の類似度判定処理部118の処理を説明する図である。類似度判定処理部118は、GUIカスタマイズ対象の使用者xの使用状況1601と、選択したカテゴリのクラスタ1602に対し、使用状況を表す特徴ベクトルの類似度判定を行うことによって、使用者xが選択したカテゴリのどのクラスタに属するかを判定する。
【0076】
図16の例では、作業分類jの作業において、使用者xのスキルレベルSL=2に対し、スキルレベルSL=3のカテゴリを選択し、類似度判定を行い、使用者xが属するクラスタとしてクラスタ5が選択されたことを示している。類似度判定の方法としては、例えば、各クラスタ毎の代表ベクトルと、使用者xの特徴ベクトルの距離を計算し、距離が最も近い代表ベクトルが属するクラスタを使用者xの使用状況に最も近い使用状況のクラスタとする。代表ベクトルには、各クラスタに属する要素の平均ベクトルや、重心に最も近い要素のベクトル等を用いる。
【0077】
使用者xのスキルレベルSL=2に対し、スキルレベルSL=3のカテゴリを選択することにより、使用状況の近いGUI操作を行うより高いスキルレベルの使用者のGUI操作を踏襲することが可能になり、その結果、使用者xの操作効率、およびスキルレベルが向上する効果が期待できる。
【0078】
この他、類似度判定方法として、類似度が最も高いクラスタ以外のクラスタを選択することも可能である。これにより、これまで使用者xが行っていたGUI操作の傾向とは異なるGUIが選択され、使用者xに新たなGUI操作方法を習得させる効果が期待できる。この場合は、同じスキルレベルのカテゴリを選択してもよい。
【0079】
上記処理によって選択したクラスタに基づいてGUIをカスタマイズした後、一定回数作業を実施した後、スキルレベル判定を行い、GUIカスタマイズの効果が現れていない場合は、クラスタ選択方法や類似度判定方法を変更することも可能である。また、スキルレベルが上がった場合には、さらに1段階上のスキルレベルのカテゴリを対象に類似度判定を行い、新たなGUIカスタマイズを行う等、定期的に上記の処理を行ってGUIカスタマイズ方法を変更することにより、使用者のスキルアップに応じてより高度なGUIカスタマイズを行うことが可能になる。スキルレベル判定のタイミングは、作業が完了した時点でも良いが、作業途中の版の段階の検証結果を評価し、作業結果の性能向上曲線の形状をスキルレベル判定に用いることで判定精度を向上することも可能である。
【0080】
図17は、図2のGUIカスタマイズ方法設定部117の処理を説明する図である。GUIカスタマイズ方法設定部117は、使用者群のクラスタ毎のGUI使用状況に基づいてGUIのカスタマイズ方法を設定する。図17の例では、図13で例示した作業分類jにおけるクラスタiおける使用状況1306に対し、使用状況からGUIカスタマイズ方法1701を設定している。
【0081】
図18は、図17におけるクラスタiに属する使用者群の使用状況の内容である。使用者毎にGUIオブジェクトに対応付けられた機能と、作業時間の間にGUIオブジェクトを選択した手段、およびその頻度が集計されている。図18の例では、1801が使用者8の使用状況、1802が使用者51の使用状況を表している。
【0082】
図19の1901は、図18の使用状況のリストから、クラスタiの使用状況を計算した結果である。各機能に対し、クラスタiに属する使用者群の平均選択頻度、選択手段としてマウス操作を行った比率、キー操作を行った比率を計算している。
【0083】
図20の2001は、図19のクラスタiの使用状況に基づいて、GUIのカスタマイズ方法を設定した例を示す。図19の平均頻度に基づいて、例えば平均頻度が0.3未満の場合は、そのオブジェクトを隠蔽する、20.0未満の場合は通常表示する、20.0以上の場合は強調表示する等のルールに基づいて、各GUIオブジェクトのカスタマイズ方法を設定する。
【0084】
隠蔽方法としては、例えば非表示にする、グレイアウトする、選択不可にする等を行う。強調方法としては、例えば文字を太字にする、点滅する、サイズを大きくする、表示位置を上位にする等を行う。
【0085】
また、マウス操作の比率が高い機能については、マウスカーソルを誘導して選択しやすくする、逆に比率が低い機能は選択しにくくする等を行う。また、キー操作の比率が高い機能については、対応付けられたキーの情報をヒントとして、吹き出し表示する等を行う。
【0086】
なお、上記の例では、カスタマイズ方法を使用状況に基づいて自動的に設定する方法を示したが、各カテゴリ、各クラスタ毎に、使用状況や使用者の属性、使用端末のハードウェア制約等に基づいて、カスタマイズ方法をヒューリスティックに決定することも可能である。
【0087】
図21は、図1、図2のGUIカスタマイズ処理部119の処理を説明する図である。GUIカスタマイズ方法選択部2101は、図16で説明した類似度判定処理部118によって対応付けられた、GUIカスタマイズ適用対象の使用者が属するカテゴリ、およびクラスタに基づいて、GUIカスタマイズ方法2102から該当するクラスタのGUIカスタマイズ方法2103を選択する。
【0088】
GUIカスタマイズ部2104は、選択したGUIカスタマイズ方法2103を、アプリケーションソフトウェア110のGUIに適用し、GUIをカスタマイズする。なお、GUIカスタマイズ方法をアプリケーションソフトウェアのGUIに適用する方法については、図24のGUIカスタマイズ適用部として詳細に説明するためここでは図示説明しない。
【0089】
次に、本実施例において、計算機等の情報処理システムでGUIを表示、制御する処理を図22〜図24に従い説明する。
【0090】
一般に、GUI環境を有する計算機では、オペレーティングシステムの上にGUIの表示、操作を制御するウインドウシステムを持ち、GUIを有するアプリケーションソフトウェアは、ウインドウシステム上のウインドウとして表示装置のモニタに表示される。使用者は、モニタを見ながら、マウスを用いてカーソルの制御やオブジェクトの選択、実行等、また、キーボードを用いてアプリケーションソフトウェアのGUIオブジェクトを操作する。
【0091】
図22において、GUI環境を有する計算機システムのアプリケーションソフトウェア(アプリソフト)110は、目的作業を行うためのアプリケーション機能2201と、GUIの制御を行うGUI制御部2202を有する。GUI制御部2202は、アプリケーション機能に使用者がインタラクティブにアクセスするために、模式的に示した経路2209を通じて、ウインドウシステム132の画面への描画や、使用者のGUI操作情報の取得を行う。
【0092】
アプリケーションの描画要求や、GUI操作情報は、ウインドウシステム132との間で描画命令や操作命令をやりとりすることによって実行される。GUI制御部2202が生成する描画命令や操作命令は、ウインドウシステム132に用意されているGUIライブラリ2203を、アプリケーションソフトウェア110から呼び出すことによってウインドウシステム132に伝えられる。ウインドウシステム132は、表示部2204を介してモニタ2205にアプリケーションソフトウェアの描画情報を表示する。また、操作部2206を介してキーボード2207やマウス2208を用いて入力された操作情報をアプリケーションソフトウェアに伝える。
【0093】
図23は、図22のような構成の計算機システムにおいて、本実施例に係る、アプリケーションソフトウェア(アプリソフト)110のGUIをカスタマイズする方法を模式的に示した図である。図23において、アプリケーションソフトウェア110がGUIライブラリ2203を呼び出した際に、オペレーティングシステム上のプログラムである、上述したGUIカスタマイズ部2104を含むGUIカスタマイズ適用部2301がそれを検知し、ウインドウシステム132の代わりに呼び出されたGUIライブラリを取得し、GUIカスタマイズ方法2103に基づいてカスタマイズした後、カスタマイズ後のGUIライブラリ情報をウインドウシステム132に伝える。
【0094】
ウインドウシステム132は、カスタマイズされた描画情報をモニタ2205に表示する。また、キーボード2207やマウス2206の操作情報を、ウインドウシステム132が取得し、アプリケーションソフトウェア110に伝える前に、GUIカスタマイズ適用部2301がその情報を取得し、GUIカスタマイズ方法2103に基づいてカスタマイズした後、アプリケーションソフトウェアに伝える。なお、GUIオブジェクトの表示や、入力デバイスを制御する描画命令や操作命令の呼び出しは、GUIライブラリ2203の呼び出しを監視する機能を用いて検出することによって収集する。GUIライブラリ2203の呼び出しを監視する機能は、代表的なウインドウシステムでは予め開発用に用意されている。なお、アプリケーションソフトウェア110を直接改造することが可能な場合は、アプリケーションソフトウェア110のGUI制御部2202の中に、GUIカスタマイズ適用部2301の機能を実装しても良い。
【0095】
図24は、図23に示したGUIカスタマイズ適用部2301の一構成例を示す図である。アプリケーションソフトウェア(アプリソフト)110がGUIライブラリを呼び出すことによって発行した描画命令は、描画命令検出部2401において取得され、GUIカスタマイズ適用部2301に含まれるGUIカスタマイズ部2104に送られる。GUIカスタマイズ部2104は、GUIカスタマイズ方法2103に基づいて、検出された描画命令が、カスタマイズ対象の描画命令であるかを判定し、カスタマイズ対象の描画命令であった場合に、描画命令改変部2402においてカスタマイズする。描画命令通知部2403は、カスタマイズした描画命令を基にGUIライブラリ呼び出しを行ってウインドウシステム132に伝える。
【0096】
ウインドウシステム132が取得した使用者の操作情報は、操作命令検出部2404において取得され、GUIカスタマイズ部2104に送られる。GUIカスタマイズ部2104は、GUIカスタマイズ方法2103に基づいて、検出された操作命令が、カスタマイズ対象の操作命令であるかを判定し、カスタマイズ対象の操作命令であった場合に、操作命令改変部2405においてカスタマイズする。操作命令通知部2406は、カスタマイズした操作命令をアプリケーションソフトウェアに伝える。
【0097】
以上、第1の実施例に係る情報処理システムとして説明してきた、図1、および図22〜24に係るシステムは、アプリケーションソフトウェア、ウインドウシステム、GUIカスタマイズプログラムがいずれも同一の情報処理装置上に存在し、その情報処理装置に表示装置やキーボード、マウス等の入力装置が接続されている場合の例である。
【実施例2】
【0098】
情報処理システムの構成としては、サーバ上にアプリケーションを搭載し、クライアント端末側からアプリケーションソフトウェアを起動してクライアント端末の表示装置にアプリケーションソフトウェアの画面情報を表示し、クライアント端末に接続されたキーボードやマウス等のユーザインタフェース装置を用いてアプリケーションソフトウェアを操作する、サーバ−クライアント型構成の実行形態もある。この場合、サーバとクライアント端末の間は、通信ネットワークで接続し、描画情報や操作情報等のデータ通信を行う。このような実施形態では、アプリケーションソフトウェアを各使用者の端末にインストールする必要がないため、サーバ側でアプリケーションの管理を行うことが可能である。また、サーバ機能を外部のデータセンタ等に設置し、使用者がクライアント端末からデータセンタにアクセスしてアプリケーションを使用するASP(Application Service Provider)やSaaS(Software as a Service)と呼ばれるサービス形態もある。このような情報処理システム形態においても、本発明を適用することが可能である。
【0099】
図25を用い、第2の実施例として、サーバクライアント型の情報処理システムの場合のGUIカスタマイズ方法の実施例を説明する。図25の情報処理システムでは、アプリケーションソフトウェア(アプリソフト)110、GUIカスタマイズ方法2103、およびGUIカスタマイズ適用部2301をサーバ2501側に搭載し、カスタマイズ後の描画情報をクライアント端末2502のウインドウシステム132に通信ネットワーク2503を介して送信する。また、クライアント端末2502上のマウス2208やキーボード2207の操作情報をサーバに送信し、サーバ側でカスタマイズしてアプリケーションに通知する。
【0100】
また、図26に示すように、実施例2を変形した情報処理システムとして、クライアント端末2602側にGUIカスタマイズ方法2103、およびGUIカスタマイズ適用部2301を搭載し、クライアント端末側でカスタマイズ処理を行っても良い。この場合は、サーバ2601側から描画情報をクライアント端末に通信ネットワーク2603を介して送信し、クライアント端末側でカスタマイズを行う。また、クライアント端末側でカスタマイズした操作情報をサーバ2601に送信し、アプリケーションソフトウェアに通知する。さらに、クライアント端末側からサーバ側にカスタマイズ前のマウス操作やキー操作等の操作情報を送信し、サーバ側に搭載したGUI使用状況抽出処理部115において、クライアント端末から送られてきた操作情報を収集して使用者の使用状況を抽出する。また、使用状況が変化した場合や、使用者の作業が変わった等により作業分類が変化した等により、GUIカスタマイズ方法が更新された場合は、サーバ側からクライアント端末側に更新されたGUIカスタマイズ方法を送信する。
【0101】
以上、説明した種々の実施例の方法を用いることにより、アプリケーションソフトウェアのGUIを、使用者の状況やスキルレベルに応じてカスタマイズすることが可能となる。なお、上述の説明では、アプリケーションソフトウェアを用いた作業結果の検証手段として、検証ソフトウェアを例として用いたが、例えば、作業結果をエキスパートの使用者が評価する方法や、作業結果をインタネット等に公開し、照会数や人気投票等によって評価することも可能である。特にアプリケーションソフトウェアがビデオやオーディオ、画像等の編集ソフト等、作業結果の品質が芸術性等定量的に検証することが難しい尺度で判断されるものである場合は、このようなネットワークを介した人手による評価結果を検証結果とすることができる。
【産業上の利用可能性】
【0102】
本発明は、計算機等の情報処理システム上で稼動するアプリケーションソフトウェアのGUI技術に関し、特に、作業の状況や使用者のスキルレベルに応じて、GUIをカスタマイズする技術として有用である。
【符号の説明】
【0103】
101…計算機システム
102…プロセッサ
103…メモリ
104…記憶装置
105…表示装置
106…キーボード
107…マウス
108…I/O制御部
109…バス
110…アプリケーションソフトウェア
111…検証ソフトウェア
112…GUIカスタマイズプログラム
113…スキルレベル判定処理部
114…作業時間測定部
115…GUI使用状況抽出処理部
116…使用者クラスタリング処理部
117…GUIカスタマイズ方法設定部
118…類似度判定処理部
119…GUIカスタマイズ処理部
120…作業結果
121…検証結果
122…作業条件
123…判定条件
124…スキルレベル
125…作業時間
126…使用者使用状況
127…使用者クラスタ
128…GUIカスタマイズ方法
129…使用者カテゴリ分類部
401…検証結果評価部
402…スキルレベル判定部
1001…GUI操作履歴収集部
1002…マウス操作検知部
1003…キー入力検知部
1004…オブジェクト選択検知部
1005…操作傾向分析部
1401…使用状況分類部
1407…クラスタリング部
2101…GUIカスタマイズ方法選択部
2104…GUIカスタマイズ部
2301…GUIカスタマイズ適用部
2401…描画命令検出部
2402…描画命令改変部
2403…描画命令通知部
2404…操作命令検出部
2405…操作命令改変部
2406…操作命令通知部。

【特許請求の範囲】
【請求項1】
グラフィカルユーザインタフェース(GUI)を持つソフトウェアを実行する処理部を備えた情報処理システムのGUIカスタマイズ方法であって、
前記処理部は、
前記ソフトウェアの操作履歴から使用者の使用状況を抽出し、
前記ソフトウェアの複数の前記使用者を、前記使用状況の類似度に基づいてクラスタリングし、
前記クラスタリングの結果に基づき複数の前記使用者を分割した複数のクラスタ各々を代表する使用状況に基づき、前記ソフトウェアのGUIを変更し、
特定の使用者の前記使用状況と、前記クラスタ各々を代表する使用状況とを比較することにより、前記特定の使用者を前記複数のクラスタのいずれかに分類し、
前記特定の使用者が分類された前記クラスタの前記GUIに基づき、前記特定の使用者の前記ソフトウェアのGUIを変更する、
ことを特徴とするGUIカスタマイズ方法。
【請求項2】
請求項1に記載のGUIカスタマイズ方法であって、
前記処理部は、
前記ソフトウェアの複数の前記使用者を、前記ソフトウェアを用いた作業の所定の条件に基づき複数のカテゴリに分割し、
分割された前記複数のカテゴリ各々において、前記複数の使用者の前記クラスタリングを実行する、
ことを特徴とするGUIカスタマイズ方法。
【請求項3】
請求項2に記載のGUIカスタマイズ方法であって、
前記処理部は、
前記所定の条件として、前記使用者が前記ソフトウェアを用いた結果の品質と所要時間で判定されるスキルレベルを用いる、
ことを特徴とするGUIカスタマイズ方法。
【請求項4】
請求項2に記載のGUIカスタマイズ方法であって、
前記処理部は、
前記ソフトウェアを用いた前記作業を、作業対象の属性により分類した複数の作業分類毎に、前記ソフトウェアの複数の前記使用者を、前記複数のカテゴリに分割する、
ことを特徴とするGUIカスタマイズ方法。
【請求項5】
請求項3に記載のGUIカスタマイズ方法であって、
前記処理部は、
前記使用者が前記ソフトウェアを用いた前記結果を検証し、
前記検証の結果を、作業目標値と比較することにより前記スキルレベルを判定し、判定された前記スキルレベルと特定の関係にあるスキルレベルを有する前記カテゴリに、前記使用者を対応付けする、
ことを特徴とするGUIカスタマイズ方法。
【請求項6】
請求項5に記載のGUIカスタマイズ方法であって、
前記処理部は、
前記特定の関係として、前記使用者の前記スキルレベルより少なくとも1段階上位のスキルレベルを有する前記カテゴリを対応付けする関係を用いる、
ことを特徴とするGUIカスタマイズ方法。
【請求項7】
GUIを持つソフトウェアを実行する処理部を備えた情報処理システムのGUIカスタマイズ方法であって、
前記処理部は、
前記ソフトウェアを用いた作業を、作業対象の属性により分類した複数の作業分類毎に、前記ソフトウェアの複数の使用者を、前記ソフトウェアを用いて前記作業を実行した際のスキルレベルに基づき、複数のカテゴリに分割し、
分割された前記複数のカテゴリ各々に対して、前記ソフトウェアの前記GUIを調整し、
調整された前記GUIに基づき、前記複数のカテゴリ各々に分類される前記使用者の前記GUIをカスタマイズする、
ことを特徴とするGUIカスタマイズ方法。
【請求項8】
GUIを持つソフトウェアを実行する処理部と記憶部とを備えた情報処理システムであって、
前記処理部は、
前記ソフトウェアの操作履歴から使用者の使用状況を抽出し、
前記ソフトウェアの複数の前記使用者を、前記使用状況の類似度に基づいてクラスタリングし、
前記クラスタリングの結果に基づき複数の前記使用者を分割した複数のクラスタ各々を代表する使用状況に基づき、前記ソフトウェアのGUIを調整して前記記憶部に記憶し、
特定の使用者の前記使用状況と、前記クラスタ各々を代表する使用状況とを比較することにより、前記特定の使用者を前記複数のクラスタのいずれかに分類し、
前記特定の使用者が分類された前記クラスタの前記GUIに基づき、前記特定の使用者の前記ソフトウェアのGUIを変更する、
ことを特徴とする情報処理システム。
【請求項9】
請求項8に記載の情報処理システムであって、
前記処理部は、
前記ソフトウェアの複数の前記使用者を、前記ソフトウェアを用いた作業の所定の条件に基づき複数のカテゴリに分割し、
分割された前記複数のカテゴリ各々において、前記複数の使用者の前記クラスタリングを実行する、
ことを特徴とする情報処理システム。
【請求項10】
請求項9に記載の情報処理システムであって、
前記処理部は、
前記所定の条件として、前記使用者が前記ソフトウェアを用いた結果の品質と所要時間で判定されるスキルレベルを用いる、
ことを特徴とする情報処理システム。
【請求項11】
請求項9に記載の情報処理システムであって、
前記処理部は、
前記ソフトウェアを用いた前記作業を、作業対象の属性により分類した複数の作業分類毎に、前記ソフトウェアの複数の前記使用者を、前記複数のカテゴリに分割する、
ことを特徴とする情報処理システム。
【請求項12】
請求項10に記載の情報処理システムであって、
前記処理部は、
前記使用者が前記ソフトウェアを用いた前記結果を検証し、
前記検証の結果を、作業目標値と比較することにより前記スキルレベルを判定し、判定された前記スキルレベルと特定の関係にあるスキルレベルを有する前記カテゴリに、前記使用者を対応付けする、
ことを特徴とする情報処理システム。
【請求項13】
請求項12に記載の情報処理システムであって、
前記処理部は、
前記特定の関係として、前記使用者の前記スキルレベルより少なくとも1段階上位のスキルレベルを有する前記カテゴリを対応付けする関係を用いる、
ことを特徴とする情報処理システム。
【請求項14】
請求項8に記載の情報処理システムであって、
前記情報処理システムは、ネットワークを介してクライアント端末に接続される、前記処理部と前記記憶部とを備えたサーバ装置を備え、
前記クライアント端末はウインドウシステムを有し、前記ネットワークを介して、前記特定の使用者のために変更された前記ソフトウェアのGUIに基づき、前記ウインドウシステムを制御する、
ことを特徴とする情報処理システム。
【請求項15】
GUIを持つソフトウェアを実行する処理部と記憶部とを備えた情報処理システムの前記処理部で実行されるプログラムであって、
前記処理部を、
前記ソフトウェアの操作履歴から使用者の使用状況を抽出し、
前記ソフトウェアの複数の前記使用者を、前記使用状況の類似度に基づいてクラスタリングし、
前記クラスタリングの結果に基づき複数の前記使用者を分割した複数のクラスタ各々を代表する使用状況に基づき、前記ソフトウェアのGUIを調整して前記記憶部に記憶し、
特定の使用者の前記使用状況と、前記クラスタ各々を代表する使用状況とを比較することにより、前記特定の使用者を前記複数のクラスタのいずれかに分類し、
前記特定の使用者が分類された前記クラスタの前記GUIに基づき、前記特定の使用者の前記ソフトウェアのGUIを変更するよう実行させる、
ことを特徴とするプログラム。
【請求項16】
請求項15に記載のプログラムであって、
前記処理部を、
前記ソフトウェアの複数の前記使用者を、前記ソフトウェアを用いた作業の所定の条件に基づき複数のカテゴリに分割し、
分割された前記複数のカテゴリ各々において、前記複数の使用者の前記クラスタリングを実行させる、
ことを特徴とするプログラム。
【請求項17】
請求項16に記載のプログラムであって、
前記処理部を、
前記所定の条件として、前記使用者が前記ソフトウェアを用いた結果の品質と所要時間で判定されるスキルレベルを用いるよう実行させる、
ことを特徴とするプログラム。
【請求項18】
請求項16に記載のプログラムであって、
前記処理部を、
前記ソフトウェアを用いた前記作業を、作業対象の属性により分類した複数の作業分類毎に、前記ソフトウェアの複数の前記使用者を、前記複数のカテゴリに分割するよう実行させる、
ことを特徴とするプログラム。
【請求項19】
請求項18に記載のプログラムであって、
前記処理部を、
前記使用者が前記ソフトウェアを用いた前記結果を検証し、
前記検証の結果を、作業目標値と比較することにより前記スキルレベルを判定し、判定された前記スキルレベルと特定の関係にあるスキルレベルを有する前記カテゴリに、前記使用者を対応付けするよう実行させる、
ことを特徴とするプログラム。
【請求項20】
請求項19に記載のプログラムであって、
前記処理部を、
前記特定の関係として、前記使用者の前記スキルレベルに対応する前記カテゴリとは異なる前記カテゴリを対応付けする関係を用いるよう実行させる、
ことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate