(57)【特許請求の範囲】
【請求項１】
ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）アプリケーションの作業ログを作業ログ可視化装置において可視化する作業ログ可視化方法であって、
作業ログ可視化装置は、ＧＵＩアプリケーションにおけるＧＵＩと該ＧＵＩに対する操作の遷移列からなる作業ログの集合を記憶した記憶手段を備え、
作業ログ可視化装置の表示制御手段が、
ユーザから入力された作業ログ及び前記記憶手段に記憶されている作業ログの集合を入力として、１以上の遷移グラフ構築モジュールを用いて、遷移グラフ及び該遷移グラフ中の前記入力された作業ログに係るパス（実パス）を含む遷移グラフ構造を生成するステップと、
ユーザから指定された遷移グラフ構築モジュールにより生成された遷移グラフを表示装置に表示させるステップと、
ユーザから指定された作業ログを入力として、ユーザから指定された作業ログ縮退モジュールを用いて、縮退された作業ログを生成して該縮退作業ログを表示装置に表示させるステップとを備えた
ことを特徴とする作業ログ可視化方法。
【請求項２】
さらに、作業ログ可視化装置の表示制御手段が、前記遷移グラフの表示中においてユーザから作業ログが指定された場合に、該作業ログに係る実パスを表示中の遷移グラフ上に表示させるステップを備えた
ことを特徴とする請求項１記載の作業ログ可視化方法。
【請求項３】
さらに、作業ログ可視化装置の表示制御手段が、前記遷移グラフの表示中において該遷移グラフ中のノード又はエッジが指定された場合に、該ノード又はエッジを含む作業ログを前記記憶手段から取得し、該作業ログ上における前記ノード又はエッジに係るＧＵＩ遷移を表示装置に表示させるステップを備えた
ことを特徴とする請求項１又は２記載の作業ログ可視化方法。
【請求項４】
さらに、作業ログ可視化装置の表示制御手段が、ユーザから指定された第１の遷移グラフ構築モジュールにより生成された第１の遷移グラフ及びユーザから指定された第２の遷移グラフ構築モジュールにより生成された第２の遷移グラフの表示中において、第１の遷移グラフ中のノード又はエッジが指定された場合に、該ノード又はエッジに対応する第２の遷移グラフ中のノード又はエッジを第２の遷移グラフ上において明示させるステップを備えた
ことを特徴とする請求項１乃至３何れか１項記載の作業ログ可視化方法。
【請求項５】
さらに、作業ログ可視化装置の表示制御手段が、ユーザから指定された作業ログ又は作業ログ縮退モジュールにより縮退された作業ログに対して、ユーザから指定されたＧＵＩ遷移の位置に基づき該作業ログを縮退し、縮退した作業ログを表示装置に表示させる
ことを特徴とする請求項１乃至４何れか１項記載の作業ログ可視化方法。
【請求項６】
ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）アプリケーションの作業ログを可視化する作業ログ可視化装置であって、
ＧＵＩアプリケーションにおけるＧＵＩと該ＧＵＩに対する操作の遷移列からなる作業ログの集合を記憶した記憶手段と、
ユーザから入力された作業ログ及び前記記憶手段に記憶されている作業ログの集合を入力として、１以上の遷移グラフ構築モジュールを用いて、遷移グラフ及び該遷移グラフ中の前記入力された作業ログに係るパス（実パス）を含む遷移グラフ構造を生成する遷移グラフ構造作成手段と、
ユーザから指定された作業ログを入力として、ユーザから指定された作業ログ縮退モジュールを用いて、縮退された作業ログを生成する縮退ログ生成手段と、
遷移グラフ構造生成手段により生成された遷移グラフであってユーザから指定された遷移グラフ構築モジュールにより生成された遷移グラフを表示装置に表示させるとともに、縮退ログ生成手段により生成された縮退作業ログを表示装置に表示させる表示制御手段とを備えた
ことを特徴とする作業ログ可視化装置。
【請求項７】
コンピュータを請求項６記載の各手段として機能させる
ことを特徴とする作業ログ可視化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィカルユーザインタフェースを具備したアプリケーションの作業ログを可視化する技術に関する。
【背景技術】
【０００２】
最近のアプリケーションの大部分はグラフィカルユーザインタフェース（以下「ＧＵＩ」と言う）を備えており、ＧＵＩは、多くのＧＵＩ要素（ウインドウ，ラベル，ボタン，テキストボックス等）で構成される。このようなアプリケーションに対してユーザは、表示されたＧＵＩを確認し、そのＧＵＩを構成するＧＵＩ要素を操作する。その操作によってＧＵＩは変化するため、再度その変化したＧＵＩを確認し、ＧＵＩ要素を操作するといった作業を繰り返すことになる。
【０００３】
このようなＧＵＩアプリケーションへのユーザ作業の効率化や、そのＧＵＩアプリケーションへのテストの効率化のためには、過去に実施した作業ログの可視化が有効であると考えられる。
【０００４】
例えば、企業が業務のために独自開発したＧＵＩアプリケーション上で、オペレータが紙の帳票を元にデータを投入する場合を考える。このとき単純に帳票に記載された情報をＧＵＩアプリケーションにそのまま入力するだけでなく、業務ルールにもとづきオペレータの判断で情報を変換し、変換したデータをＧＵＩアプリケーションに投入する場合などがある。また、帳票の内容に応じて、データを入力すべきＧＵＩ要素をオペレータが判断して投入しなければならない場合がある。このようなデータの投入時のオペレータの判断に関して、マニュアルなどに記載されていれば、それを参照すればよい。しかし、オペレータ判断に関する記載はマニュアル（特に操作マニュアル）には記載されておらず、オペレータの暗黙的なノウハウになっている場合もある。
【０００５】
このようなデータの投入作業においてオペレータがどのようにＧＵＩアプリケーションに対してデータを投入すべきか迷った時、従来は他の詳しいオペレータに聞いて投入方法を習得するというのが一般的であった。この方法は属人的であり、投入方法を知っているオペレータを探す手間が必要になる点や、その投入方法を知っているオペレータが休みの場合には、業務が滞ってしまうという問題がある。このとき、他のオペレータが実施した作業ログが記録・蓄積・共有されていて、実際にどのようにデータ投入したかを迅速に参照することができれば、オペレータ自身で投入時の判断をできるようになる。
【０００６】
また別の例として、ＧＵＩアプリケーションへのテストを考える。通常のテストでは、重複や漏れがないようにテストケース（あるいはテスト手順）をテスト実施前に設計・文書化し、テスト設計書に記載されたテストケースに沿ってテストを実施する。網羅的にテストケースを事前抽出できていれば問題はないが、多くの場合、テストケース抽出には漏れが発生する。テスタは、テスト実施中にＧＵＩアプリケーションの仕様に関する知識からテストケースの漏れに気が付くときがある。この場合、テスタはその場で思いついたテストケースをテスト設計書に追記することなく実施し、ＧＵＩアプリケーションの動作を確認する。このように、テスト実施時のソフトウェアの挙動を見てテストケースを動的に決定し、文書化せずそのテストケースを実施する手法を探索的テストと呼ぶ。探索的テストは、漏れに気が付いた時点でテストケースを柔軟に追加することができ、テスト設計書への文書化コスト（追加するテストケースがテスト設計書に記載済みかのチェックやテストケースの記載のコスト）も不要であるため、アプリケーションのバグ検出に有用な手法である。
【０００７】
複数人のテスタがそれぞれ探索テストを実施する場合の問題点の１つは効率性である。通常、大規模なＧＵＩアプリケーション開発のテストは、複数人のテスタが分担して実施する。それぞれのテスタが実施するテストケースが、テスタ間で共有されていないため、お互い冗長なテストを実施してしまうケースがある。先にも述べたが、探索的テストでは各テスタが、テスト実施中にそれぞれテストケースを考案し、それをそのまま実施する。よって探索的テストでテスタがテストケースの漏れだと思って実施しようとしているテストケースは、実は、他のテスタがテスト設計書記載のテストケースとして実施済みかもしれないし、あるいは探索的テストのテストケースとして実施済かもしれない。冗長なテストケースの実施を防止するためには、各テスタが実施したテストケースの情報を共有化する必要がある。すべてのテスタのテスト操作の作業ログが記録・蓄積・共有されていて、実際にテストした手順や投入したパラメータを迅速に参照することができれば、重複したテストケースの実施を防止することができ、探索的テストの効率を改善することができる。
以上のように蓄積されたＧＵＩアプリケーションへのユーザやテスタの作業のログの可視化は、業務やテストの効率化に非常に有効な手法である。
【０００８】
ＧＵＩアプリケーションに対する作業は、ＧＵＩ遷移の列として表現することができる。ＧＵＩ遷移とは遷移前のＧＵＩをｇ、操作をｅ、遷移後のＧＵＩをｇ’としたとき、組（ｇ，ｅ，ｇ’）で表現できる。またユーザの作業ログｗは、ユーザ操作の時系列順に発生したＧＵＩ遷移をｔ1，ｔ2，…，ｔnとすると、ｔ1ｔ2…ｔnで表現できる。作業ログｗが含むＧＵＩ遷移の数を｜ｗ｜で表現するとき、蓄積された作業ログの集合Ｗ＝｛ｗ1，ｗ2，…，ｗn｝に含まれるＧＵＩ遷移の総数は｜ｗ1｜＋｜ｗ2｜＋…＋｜ｗn｜となる。蓄積された作業ログを単純に人手で参照する場合、例えば、あるＧＵＩのもとで入力しているデータを知りたい場合、｜ｗ1｜＋｜ｗ2｜＋…＋｜ｗn｜個のＧＵＩ遷移を確認し、該当するＧＵＩ遷移を発見する必要がある。これは作業ログが大量に蓄積される場合に非常に負担の大きい作業になる。
【０００９】
蓄積された作業ログの集合の確認する作業を軽減するための技術として本発明では大きく２つの技術を取り上げる。１つ目の技術として、作業ログを縮退する技術がある。例えば図１のような作業ログ（ｇ0，ｅ1，ｇ1）（ｇ1，ｅ2，ｇ2）（ｇ2，ｅ3，ｇ3）（ｇ3，ｅ4，ｇ4）（ｇ4，ｅ5，ｇ5）を考える。ここで作業ログの縮退の具体的な手段として、操作前後のＧＵＩの構成するＧＵＩ要素自体が変化していない場合には、そのＧＵＩ遷移を省略するといった手段を与える。（ｇ0，ｅ1，ｇ1），（ｇ1，ｅ2，ｇ2），（ｇ2，ｅ3，ｇ3），（ｇ3，ｅ4，ｇ4）という各ＧＵＩ遷移では各操作ｅ1，ｅ2，ｅ3，ｅ4によってＧＵＩ要素であるテキストボックスの値の入力状態は変化するが、操作前後でＧＵＩを構成する各ＧＵＩ要素自体は変化していない。一方、（ｇ4，ｅ5，ｇ5）ではｇ4に存在するテキストボックスがｇ5には存在しない等、操作の前後でＧＵＩを構成するＧＵＩ要素が異なる。結果、この手段によって図２のような作業ログ（ｇ4，ｅ5，ｇ5）を得ることができる。このような作業ログを縮退・可視化する従来技術として、非特許文献１がある。テスタがテストする際の操作とその前後のＧＵＩをスクリーンショットとして記録することができる。
【００１０】
このような作業ログの縮退・可視化を実現する従来技術の問題点は、縮退する手段を自由に追加し、オペレータやテスタが確認したい観点に応じて、柔軟に縮退する手段を追加できない点である。縮退手段とは、観点を確認するために不要な情報を縮退・削除する作業であり、あらゆる観点に対する確認コストを減少させることが可能な縮退手段は存在しない。例えば、図１のＧＵＩ遷移（ｇ3，ｅ4，ｇ4）のように電話の入力値を０００から１１１へ変更するといった細かい操作手順を確認したい場合には、この作業ログのすべての遷移を確認する必要がある。しかし、登録ボタンを押下する直前のデータの入力状態とその結果を確認したいだけであれば、図２のように遷移（ｇ4，ｅ4，ｇ5）のみに自動で縮退することによって、確認する遷移を５から１に減らし確認の作業コストを減らすことが可能である。このように確認の観点に応じて適切な縮退手段は異なる。また確認観点はオペレータやテスタ、実施中の作業など依存するため、固定的な縮退手段を実現していても、確認作業コストを減らせる場合もあれば、確認作業コストが減らせない、あるいは、それら縮退手段では観点が確認できないといった不都合が発生する。
【００１１】
蓄積された作業ログの集合の確認する作業を軽減するための技術の２つ目として、作業ログのようなＧＵＩ遷移列の集合から遷移グラフを構築する技術が広く知られている。遷移グラフとはノードとノード間を結ぶ有向エッジで構成される。ＧＵＩ遷移列の集合から遷移グラフ表示を構築する場合、ＧＵＩがノードに対応し、ＧＵＩ遷移が該当するＧＵＩのノード間を結ぶエッジに対応する。
【００１２】
ＧＵＩ遷移列の集合から遷移グラフを構築する場合は、作業ログの集合の各遷移に含まれるＧＵＩと操作の等しさの判定基準が必要になる。例えば、図３のように作業ログｗ1＝（ｇ0，ｅ1，ｇ1）（ｇ1，ｅ2，ｇ2）とｗ2＝（ｇ3，ｅ3，ｇ4）（ｇ4，ｅ4，ｇ5）が蓄積されている場合を考える。ｇ0＝ｇ3，ｇ1≠ｇ4，ｇ2≠ｇ5というＧＵＩの等しさの判定基準と、ｅ1≠ｅ3，ｅ2≠ｅ4というＧＵＩ遷移の等しさの基準では図４のような遷移グラフが構築される。また、ｇ0＝ｇ3，ｇ1＝ｇ4，ｇ2≠ｇ5というＧＵＩの等しさの判定基準と、ｅ1≠ｅ3，ｅ2≠ｅ4というＧＵＩ遷移の等しさの基準では図５の遷移グラフが構築される。このように、作業ログの集合中に出現するＧＵＩや操作を縮退し遷移グラフとして表示することで、個々に作業ログを確認するよりも、確認コストを減らすことができる。
【００１３】
作業ログの集合からの遷移グラフ構築技術は、ＧＵＩや操作の等しさの判定基準によって、構築される遷移グラフのノード数やエッジ数は変化し、様々な遷移グラフ構築手段（判定基準）が提案されている。
【００１４】
例えば、非特許文献２では、Ｗｅｂアプリケーションに表示されるＤＯＭ（Ｄｏｍａｉｎ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）構造をＧＵＩとして取得し、そのＤＯＭ構造間の編集距離を求め、閾値以下であれば同じＧＵＩと見なすといった判定基準を与えることで、遷移グラフを構築している。また、非特許文献３では、ＧＵＩから構成するＧＵＩ要素とそのプロパティ値の組の集合を取得し、ＧＵＩの等しさの判定基準をＧＵＩから得られた集合の等しさで判定している。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】"Microsoft Test Manager を使用した探索的テストの実行", [online], [平成25年9月11日], インターネット<URL:http://msdn.microsoft.com/ja-jp/library/vstudio/hh191621.aspx>
【非特許文献２】A. Mesbah and A. Deursen, "Migrating Multi-page Web Applications  to Single-page AJAX Interfaces", In proc. of 11the European Conference on Software Maintenance and Reengineering (CSMR '07), IEEE, 2007, pp. 181-190
【非特許文献３】A. Memon, I. Banerjee, A. Nagarajan, "GUI Ripping: Reverse Engineering of Graphical User Interfaces for Testing", In Proc. of the 10th Working Conference on Reverse Engineering (WCRE'03), IEEE, 2003, pp. 260-269
【発明の概要】
【発明が解決しようとする課題】
【００１６】
このようなＧＵＩ遷移列の集合から遷移グラフの構築を実現する従来技術の問題点は、オペレータやテスタが確認したい観点に応じて、柔軟に構築手段を追加できない点である。構築手段とは、先の作業ログの縮退手段と同様に、観点を確認するために不要な情報を縮退・削除する作業であり、あらゆる観点に対する確認コストを減少させることが可能な構築手段は存在しない。
【００１７】
例えば、図４の場合、登録ラジオボタンを選択しているＧＵＩ（ｇ1）と変更ラジオボタンを選択しているＧＵＩ（ｇ4）が別ノードとして区別されているため、ｇ1から実行ボタンを押した場合には正常終了に遷移し、ｇ4から実行ボタンを押した場合にはエラーになることが確認できる。一方、図５の場合ｇ1とｇ4が同一のノードに縮退されてしまうため、グラフからは実行ボタンを押す前のＧＵＩがどのような状態のとき正常に終了し、エラーとなるのか判別できない。
【００１８】
このように確認の観点に応じて適切な構築手段は異なる。また確認の観点はオペレータやテスタ、実施中の作業などに依存するため、固定的な構築手段を実現していても、確認作業コストを減らせる場合もあれば、確認作業コストが減らせない、あるいは、それら構築手段ではそもそも観点の確認ができないといった不都合が発生する。
【００１９】
また、確認の観点に応じて適切な遷移グラフが異なるため、オペレータやテスタは、作業ログを参照する際に、複数の遷移グラフを表示し見比べながら確認することが想定される。その際、遷移グラフ上で着眼したエッジやノードと作業ログのＧＵＩ遷移やＧＵＩとの対応関係、あるいは別の遷移グラフのエッジやノードとの対応関係が確認できる必要がある。
【００２０】
例えば、図５のノードｇ1に着眼した場合、操作によってはノードｇ2が表現する正常終了のＧＵＩ、あるいはノードｇ5が表現する異常終了のＧＵＩへ遷移することがわかる。しかし、具体的にノードｇ1においてＧＵＩがどのような状態の時に正常終了し、異常終了するのか、このグラフだけでは読み取れない。この場合、図５のエッジｅ2やｅ4と対応する図３の作業ログ中のＧＵＩ遷移（ｇ1，ｅ2，ｇ2）や（ｇ4，ｅ4，ｇ5）を表示することが必要である。さらに図５の遷移グラフでノードｇ1に着眼しているとき、より詳細に分析するために図４の遷移グラフを表示させたとする。しかし、図４の遷移グラフを表示させただけでは、図５で着眼していたノードｇ1が、図４のどのノードと対応しているのかが判断できず、人手で図４の各ノードを探索する手間が発生する。
【００２１】
また、遷移グラフ構築では、ノード数を減少させる構築手段であればあるほど、その遷移グラフを構築した作業ログの集合には存在しないパスが、遷移グラフに含まれてしまう。例えば、図５の遷移グラフは、図３の作業ログｗ1とｗ2から生成したグラフである。しかし、この遷移グラフには、（ｇ0，ｅ3，ｇ1）（ｇ1，ｅ2，ｇ2）という変更ラジオボタンを選択してから実行ボタンを押したのに正常終了するというパスを含んでいる。これ以降では遷移グラフを構築した作業ログの集合内の作業ログと対応する遷移グラフ中のパスを実パス、対応しない遷移グラフ中のパスを偽パスと呼ぶことにする。
【００２２】
偽パスの存在は、作業ログを確認するオペレータやテスタに誤った情報を与える可能性があり、存在しないほうが望ましい。その一方で偽パスが少ない遷移グラフは、ノード数やエッジ数が多くなるため、確認コストという観点では問題がある。よってオペレータやテスタが作業ログを確認するという用途にあっては、単に遷移グラフを様々な判定基準のもとで柔軟に構築できるだけでなく、遷移グラフ上で実パスが確認でき、実パスと対応する作業ログ自体を個別に確認できる必要がある。
【００２３】
そこで本発明では、作業ログを可視化する技術において、オペレータやテスタの確認の観点に応じて多様な表示形態で作業ログを表示可能な作業ログ可視化方法及び装置並びにプログラムを提供することにある。
【課題を解決するための手段】
【００２４】
本発明では、オペレータやテスタの確認の観点に従い、縮退表示手段や遷移グラフを構築する手段を自由に切り替えて表示し、同じくオペレータやテスタの確認の観点に従い作業ログと対応する遷移グラフ中の実パスや、遷移グラフ中のノードやエッジに縮退されている作業ログのＧＵＩやＧＵＩ遷移や、遷移グラフ間のノードやエッジの対応関係を表示するという課題を解決するために、以下の特徴を有する。
【００２５】
すなわち、本願発明は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）アプリケーションの作業ログを作業ログ可視化装置において可視化する作業ログ可視化方法であって、作業ログ可視化装置は、ＧＵＩアプリケーションにおけるＧＵＩと該ＧＵＩに対する操作の遷移列からなる作業ログの集合を記憶した記憶手段を備え、作業ログ可視化装置の表示制御手段が、ユーザから入力された作業ログ及び前記記憶手段に記憶されている作業ログの集合を入力として、１以上の遷移グラフ構築モジュールを用いて、遷移グラフ及び該遷移グラフ中の前記入力された作業ログに係るパス（実パス）を含む遷移グラフ構造を生成するステップと、ユーザから指定された遷移グラフ構築モジュールにより生成された遷移グラフを表示装置に表示させるステップと、ユーザから指定された作業ログを入力として、ユーザから指定された作業ログ縮退モジュールを用いて、縮退された作業ログを生成して該縮退作業ログを表示装置に表示させるステップとを備えたことを特徴とする。
【００２６】
本発明の好適な態様の一例としては、さらに、作業ログ可視化装置の表示制御手段が、前記遷移グラフの表示中においてユーザから作業ログが指定された場合に、該作業ログに係る実パスを表示中の遷移グラフ上に表示させるステップを備えたことを特徴とするものが挙げられる。
【００２７】
本発明の好適な態様の他の例としては、さらに、作業ログ可視化装置の表示制御手段が、前記遷移グラフの表示中において該遷移グラフ中のノード又はエッジが指定された場合に、該ノード又はエッジを含む作業ログを前記記憶手段から取得し、該作業ログ上における前記ノード又はエッジに係るＧＵＩ遷移を表示装置に表示させるステップを備えたことを特徴とするものが挙げられる。
【００２８】
本発明の好適な態様の他の例としては、さらに、作業ログ可視化装置の表示制御手段が、ユーザから指定された第１の遷移グラフ構築モジュールにより生成された第１の遷移グラフ及びユーザから指定された第２の遷移グラフ構築モジュールにより生成された第２の遷移グラフの表示中において、第１の遷移グラフ中のノード又はエッジが指定された場合に、該ノード又はエッジに対応する第２の遷移グラフ中のノード又はエッジを第２の遷移グラフ上において明示させるステップを備えたことを特徴とするものが挙げられる。
【００２９】
本発明の好適な態様の他の例としては、さらに、作業ログ可視化装置の表示制御手段が、ユーザから指定された作業ログ又は作業ログ縮退モジュールにより縮退された作業ログに対して、ユーザから指定されたＧＵＩ遷移の位置に基づき該作業ログを縮退し、縮退した作業ログを表示装置に表示させるステップを備えたことを特徴とするものが挙げられる。
【発明の効果】
【００３０】
本発明により、オペレータやテスタの確認の観点にしたがい、縮退表示手段や遷移グラフを構築する手段を自由に切り替えて表示し、さらに作業ログと対応する遷移グラフ中の実パスや、遷移グラフ中のノードやエッジに縮退されている作業ログのＧＵＩやＧＵＩ遷移を表示し、作業ログと遷移グラフとの対応関係を表示することができる。また遷移グラフ中のノードやエッジと対応する別の遷移グラフのノードやエッジを表示することができる。これによりオペレータやテスタは過去に蓄積された作業ログを参照しながらＧＵＩアプリケーション作業やテストを効率よく実施できる。
【図面の簡単な説明】
【００３１】
【図１】作業ログの一例
【図２】縮退された作業ログ一例
【図３】作業ログの他の例
【図４】遷移グラフの一例
【図５】遷移グラフの一例
【図６】作業ログ可視化装置の構成図
【図７】作業ログ表示データ作成部の動作を説明するフローチャート
【図８】遷移グラフ表示データ作成部の動作を説明するフローチャート
【図９】作業ログの一例
【図１０】ＧＵＩ構造の一例を説明する図
【図１１】作業ログファイルのデータ構造の一例を説明する図
【図１２】各モジュールの起動方法を説明する図
【図１３】記憶装置が保持する登録モジュールの集合の状態の一例
【図１４】遷移グラフ構造の一例
【図１５】遷移グラフ上の実パスと作業ログとの対応関係の一例
【図１６】判定基準に基づき変換されたＧＵＩ構造の一例
【図１７】遷移グラフ構造の一例
【図１８】遷移グラフ構築モジュールと該モジュールにより構築された遷移グラフ構造の対応関係の一例を説明する図
【図１９】遷移グラフ構築モジュールと該モジュールにより構築された遷移グラフ構造の対応関係の一例を説明する図
【図２０】遷移グラフ構造の一例
【図２１】遷移グラフ構造の一例
【図２２】縮退された作業ログの一例
【図２３】指定された作業ログに係る実パスを遷移グラフ上に明示した一例
【図２４】遷移グラフ上のノードやエッジが指定された場合に表示されるＧＵＩ遷移の一例
【図２５】一の遷移グラフ上のノードやエッジが指定された場合に対応ノード・対応エッジを他の遷移グラフ上に明示した一例
【発明を実施するための形態】
【００３２】
本発明の一実施の形態に係る作業ログの可視化方法を実施する装置について図６を参照して説明する。ここでは周知のコンピュータ上に実現した例を示すもので、図中、１は入力装置、２はコンピュータ本体、３は記憶装置、４は表示装置である。
【００３３】
入力装置１は、キーボード、マウス等からなり、ユーザがコンピュータ本体２に所定の情報、ここでは、記憶装置３が保持する登録モジュール集合へ追加するために、作業ログ縮退モジュール及び遷移グラフ構築モジュールを入力することができる。そのモジュール名と起動方法などのメタ情報も入力として含めることができる。また、登録モジュール集合内の各モジュールを削除するために、入力装置１からモジュール名を指定することができる。なお、もし本装置を利用するときに使用者が作業ログの集合を遷移グラフ表示することが不要であれば、遷移グラフ構築モジュールは入力する必要はない。
【００３４】
また入力装置１は、記憶装置３で保持する作業ログの集合内の作業ログを縮退表示するために、表示させたい作業ログ名と、作業ログ縮退モジュール名を指定することができる。
【００３５】
また入力装置１は、記憶装置３で保持する作業ログの集合内の作業ログを縮退表示するために、表示させたい作業ログ名と、縮退されるＧＵＩ遷移の位置を指定することができる。
【００３６】
また入力装置１は、作業ログを入力し、メタ情報である作業ログ名などと共に、記憶装置３で保持する作業ログ集合に入力された作業ログを加えることができる。
【００３７】
また入力装置１は、記憶装置３で保持する作業ログの集合から、登録モジュールに登録された遷移グラフ構築モジュールによって作成された遷移グラフを表示するために、遷移グラフ構築モジュール名を指定することができる。
【００３８】
また入力装置１は、遷移グラフを表示中に遷移グラフ上で実パスを表示させるために、作業ログ名を指定することができる。また入力装置１は、遷移グラフの表示中に、縮退されたＧＵＩやＧＵＩ遷移を表示させるために、エッジやノードを指定することができる。
【００３９】
記憶装置３は、登録モジュール集合と作業ログ集合、ならびに遷移グラフ表示データ作成部が出力する遷移グラフ構築モジュール名と遷移グラフ構造の組の集合を保存するための装置である。
【００４０】
入力装置１により入力され、記憶装置３の登録モジュール集合に記憶される作業ログ縮退モジュールは、記憶装置３に蓄積されている作業ログを与えたときに、そのモジュールに実装された縮退手段によって縮退された作業ログを生成する機能が具備されている。
【００４１】
また入力装置１により入力され、記憶装置３の登録モジュール集合に記憶される遷移グラフ構築モジュールは、記憶装置３で保持する作業ログの集合（仮にここでＷと表現する）、あるいはその作業ログの集合から生成した遷移グラフ構造を入力とし、さらに入力装置１から追加する作業ログ（仮にここではｗと表現する）を入力とする。これらの入力によって、本モジュールに実装された遷移グラフ構築手段に従って、記憶装置３で保持する作業ログの集合に作業ログを追加した新しい集合（Ｗ∪｛ｗ｝）と対応する遷移グラフ構造を生成することができる。生成した遷移グラフ構造には遷移グラフを構成するノードや、エッジの情報だけでなく、遷移グラフ中のパスとそれに対応する作業ログの集合中の作業ログの情報が含まれるものとする。このような作業ログ縮退モジュールや遷移グラフ構築モジュールは、従来技術で述べた公知の技術によって実現できる。
【００４２】
表示装置４は、液晶ディスプレイ、ＣＲＴ等画像表示装置等からなり、表示制御部６の要求により（縮退された）作業ログや遷移グラフ構造の内容を表示することができる。
【００４３】
コンピュータ本体２は各装置を制御するとともに、モジュール管理部５、表示制御部６、作業ログ表示データ作成部７、遷移グラフ表示データ作成部８を構成する。なお、コンピュータ本体２の各部は、ハードウェアにより構成してもよいし、コンピュータ本体２にプログラムをインストールすることによって構成してもよい。なお該プログラムは、記録媒体に記録することも、ネットワークを通して提供することも可能である。
【００４４】
モジュール管理部５は、入力装置１から入力された作業ログ縮退モジュール及び遷移グラフ構築モジュールを、それらモジュールのメタ情報（起動方法やモジュール名）と共に、記憶装置３の登録モジュール集合に追加する。登録したモジュールを削除するために、入力装置１からのモジュール名が入力されたとき、モジュール名と対応するメタ情報やモジュール自体を登録モジュール集合内から削除する。
【００４５】
表示制御部６は、表示させたい作業ログ名と、作業ログ縮退モジュール名が入力装置１から入力されたとき、作業ログ表示データ作成部７を使って、縮退された作業ログを作成し、表示装置４に出力する。
【００４６】
また表示制御部６は、表示させたい作業ログ名と、その作業ログから縮退させるＧＵＩ遷移の位置が入力装置１から入力されたとき、作業ログから指定された位置のＧＵＩ遷移を削除した作業ログを作成し、表示装置４に出力する。
【００４７】
また表示制御部６は、入力装置１から作業ログ（およびメタ情報の作業ログ名）が入力されたとき、記憶装置３で保持する作業ログの集合に入力された作業ログを加えた新しい作業ログ集合の遷移グラフ構造を、遷移グラフ表示データ作成部８を使って作成し、入力された作業ログ（およびメタ情報の作業ログ名）を記憶装置３の作業ログ集合に追加する。このとき作成される遷移グラフ構造は、記憶装置３で保持する登録モジュール集合内のすべての遷移グラフ構築モジュールごとに作成され、遷移グラフ構築モジュール名と遷移グラフ構造の組の集合として記憶装置３に保存される。
【００４８】
また表示制御部６は、入力装置１から遷移グラフ構築モジュール名が入力されたとき、記憶装置３で保持する遷移グラフ構築モジュール名と遷移グラフ構造の組の集合から、入力された遷移グラフ構築モジュール名の遷移グラフ構造を取り出し、表示装置４に出力する。
【００４９】
また表示制御部６は、遷移グラフの表示中に、エッジやノードが入力装置１から指定されたとき、そのノードやエッジと対応する作業ログ上のＧＵＩやＧＵＩ遷移を表示装置４に表示する。
【００５０】
また表示制御部６は、遷移グラフの表示中に、エッジやノードが入力装置１から指定されたとき、そのノードやエッジと対応する別の遷移グラフ上のノードやエッジを表示装置４に表示する。
【００５１】
また表示制御部６は、遷移グラフの表示中に、作業ログ名が入力装置１から入力されたとき、遷移グラフ構造中の実パスと作業ログ名との対応関係から実パスを特定し、表示中の遷移グラフ上で実パスを表示装置４に表示する。
【００５２】
作業ログ表示データ作成部７は、表示制御部６によって呼び出され、入力装置１より表示させたい作業ログ名と、作業ログ縮退モジュール名が入力されたとき、図７の手続きを実行し、指定された作業ログを指定されたモジュールで縮退し表示装置４に表示する。
【００５３】
具体的には図７に示すように、作業ログ表示データ作成部７は、記憶装置３で保持する登録モジュール集合から作業ログ縮退モジュール名と対応する作業ログ縮退モジュールの起動方法を取得する（ステップＳ１）。さらに、作業ログ表示データ作成部７は、入力された作業ログ名をキーにして、記憶装置３で保持する作業ログの集合から対応する作業ログを取り出す（ステップＳ２）。作業ログ表示データ作成部７は、最後に、取り出した作業ログを入力とし、取得した起動方法に準じて作業ログ縮退モジュールを実行し、縮退した作業ログを取得する（ステップＳ３）。
【００５４】
遷移グラフ表示データ作成部８は表示制御部６によって呼び出され、入力装置１から入力されたとき作業ログｗに対して、図８の手続きを実行する。図８の手続きでは、記憶装置３で保持する登録モジュール集合内の各遷移グラフ構築モジュールに対して、遷移グラフ構造を作成する。
【００５５】
具体的には図８に示すように、遷移グラフ表示データ作成部８は、まず遷移グラフ構築モジュール名と遷移グラフ構造の組の集合Ｏを空集合に設定する（ステップＳ１１）。次に遷移グラフ表示データ作成部８は、記憶装置３で保持する作業ログの集合を取得しＷとする（ステップＳ１２）。次に、記憶装置３で保持される登録モジュール集合内から遷移グラフ構築モジュール名と起動方法の組の集合を抽出しＭとし（ステップＳ１３）、集合Ｍが空集合か判定する（ステップＳ１４）。もし空集合であれば、集合Ｏを記憶装置３に保存し図８の手続きを終了する（ステップＳ１５）。もし空集合でなければ、Ｍから遷移グラフ構築モジュール名と起動方法の組ｍを一つ取り出し、集合ＭをＭ−｛ｍ｝に更新する（ステップＳ１６）。次いで、作業ログの集合Ｗと作業ログｗを入力として、ｍの起動方法に従い遷移グラフ構築モジュールを実行し、遷移グラフ構造を取得する（ステップＳ１７）。さらに、ステップＳ１７で取得した遷移グラフ構造と、ｍの遷移グラフ構築モジュール名の組を集合Ｏに追加し、前記ステップＳ１４へと戻る。
【００５６】
本発明により、入力装置１から作業ログ縮退モジュールや遷移グラフ構築モジュールを自由に登録できる。その結果、作業ログの確認の観点に応じて、登録されたそれらモジュールを使って異なる縮退方法で作業ログを表示させ、異なる判定基準の遷移グラフを表示させることが可能になる。また遷移グラフ中の実パスと対応する作業ログを表示することによって、抽象的な表示から具体的な表示に切り替え、詳細の確認が可能になる。
【００５７】
なお、前述した実施形態では、モジュール管理部５、表示制御部６、作業ログ表示データ作成部７、遷移グラフ表示データ作成部８をコンピュータ上で実現した例を示したが、ハードウェアで実現してもよい。また、これら各装置が、適切な通信路で相互に接続された複数のハードウェア上に分散して存在し、相互に通信し合いながら実行することもできる。
【実施例】
【００５８】
本発明による作業ログの可視化方法の実施例を示す。まず、本実施例では図１、図９をそれぞれ作業ログｗ1＝（ｇ0，ｅ1，ｇ1）（ｇ1，ｅ2，ｇ2）（ｇ2，ｅ3，ｇ3）（ｇ3，ｅ4，ｇ4）（ｇ4，ｅ5，ｇ5），ｗ2＝（ｇ6，ｅ7，ｇ7）（ｇ7，ｅ8，ｇ8）（ｇ8，ｅ9，ｇ9）とする。
【００５９】
作業ログ中のＧＵＩとして記録する情報は様々なものが考えられる。本実施例では、ＧＵＩ構造と画面キャプチャが記録されているものとする。ＧＵＩ構造とは、ＧＵＩを構成するＧＵＩ要素とその状態を表現するデータであり、ＧＵＩ要素、プロパティ、プロパティ名の組の集合で表現される。図１のＧＵＩ（ｇ1）を構成するＧＵＩ要素をウインドウ１、テキストボックス１、テキストボックス２、テキストボックス３、ボタン１、ボタン２とした場合のＧＵＩ構造の例を図１０に示す。この例では、各ＧＵＩ要素のプロパティとしてラベルを取得しており、ＧＵＩ要素がテキストボックスの場合は入力値を追加で取得している。
【００６０】
ＧＵＩを構成するＧＵＩ要素やそのプロパティ値の取得は公知の技術であり、例えば、対象アプリケーションがＷｅｂアプリケーションであるならば表示のＤＯＭ構造から取得できる。また、本実施例ではラベルと入力値の情報を取得するが、他にも活性状態や選択状態など多様なプロパティ値を取得することができる。
【００６１】
本実施例の作業ログ中の各ＧＵＩのＧＵＩ構造や画面キャプチャはファイルで保存されており、ＧＵＩ（ｇ0）に対してＧＵＩ構造のファイルはｇ０．ｓｔ、画面キャプチャのファイルはｇ０．ｉｍｇ、ＧＵＩ（ｇ1）に対してＧＵＩ構造のファイルはｇ１．ｓｔ、画面キャプチャのファイルはｇ１．ｉｍｇとする。他のＧＵＩに関しても同様のファイル名を持つものとする。
【００６２】
作業ログ中の操作については、操作対象のＧＵＩ要素と、操作の種別を記録されているものとする。操作の種別が値を設定する操作の場合はその入力値も記録される。本実施例の作業ログ中の各操作はファイルとして保存されており、操作ｅ1に対する操作ファイルをｅ１．ｏｐ、操作ｅ２に対する操作ファイルをｅ２．ｏｐとし、他の操作に関しては同様のファイル名を持つものとする。
【００６３】
本実施例の作業ログは、構成するＧＵＩの構造ファイルや画面キャプチャファイル、操作と対応する操作ファイルなどと共に、ＧＵＩ遷移列とその遷移列に出現するＧＵＩや操作と各ファイル名の対応関係を示す作業ログファイルで構成され、入力装置１に与えられる。図１１に作業ログｗ1の作業ログファイルの例を示す。これは作業ログファイルがＸＭＬで記述された場合の例であり、各Ｔｒａｎｓｉｔｉｏｎ要素の上から順番に、ＧＵＩ遷移列を表現している。Ｔｒａｎｓｉｔｉｏｎ要素のＳ＿Ｓｔ属性が操作前のＧＵＩの構造ファイル名、Ｓ＿Ｉｍｇ属性が操作前のＧＵＩの画面キャプチャファイル名、Ｏｐｅｒａｔｉｏｎ属性が操作ファイル、Ｔ＿Ｓｔ属性が操作後のＧＵＩの構造ファイル、Ｔ＿Ｉｍｇ属性が操作後の画面キャプチャファイルである。作業ログｗ1，ｗ2の作業ログファイル名をそれぞれｗ１．ｘｍｌ，ｗ２．ｘｍｌとする。
【００６４】
次に、作業ログ縮退モジュールとして、本実施例ではコンソールから実行可能なプログラムとして２つのモジュールを考える。図１２にそのモジュール名と起動方法を示す。なお、起動方法に記載されている”％１”は変数であり、本装置が、作業ログ縮退モジュールを実行する際に、この変数を作業ログファイル名に置き換えてコンソールに入力し実行する。また同様に遷移グラフ構築モジュールとして、本実施例ではコンソールから実行可能なプログラムとして２つのモジュールを考える。図１２にそのモジュール名と起動方法を示す。起動方法に記載されている”％１”，”％２”は変数であり、本装置が、遷移グラフ構築モジュールを実行する際に、”％１”を作業ログファイル名に、”％２”を記憶装置３で保持している作業ログの集合（作業ログファイル名のリスト）に置き換えてコンソールに入力し実行する。
【００６５】
本発明の可視化装置を利用して、作業ログを表示させるとき、まず、作業ログ縮退モジュールや遷移グラフ構築モジュールを入力装置１から入力する。このとき、各モジュールの実ファイルと共に、図１２に示す作業ログ縮退モジュール名、起動方法及びモジュールの種別（作業ログ縮退モジュール、遷移グラフ構築モジュール）を入力する。この入力に対してモジュール管理部５は記憶装置３の登録モジュール集合に情報を追加する。このとき記憶装置３が保持する登録モジュール集合の状態を図１３に示す。
【００６６】
次に、可視化させたい作業ログとしてｗ1が入力される場合を考える。このとき、作業ログを構成するＧＵＩ構造ファイルｇ０．ｓｔ，ｇ１．ｓｔ，ｇ２．ｓｔ，ｇ３．ｓｔ，ｇ４．ｓｔ，ｇ５．ｓｔ、画面キャプチャファイルｇ０．ｉｍｇ，ｇ１．ｉｍｇ，ｇ２．ｉｍｇ，ｇ３．ｉｍｇ，ｇ４．ｉｍｇ，ｇ５．ｉｍｇ、操作ファイルｅ１．ｏｐ，ｅ２．ｏｐ，ｅ３．ｏｐ，ｅ４．ｏｐ，ｅ５．ｏｐ、作業ログファイルｗ１．ｘｍｌそのものが入力されると共に、作業ログｗ1を示すメタ情報としてファイル名ｗ１．ｘｍｌが入力される。
【００６７】
このとき、表示制御部６は、入力された作業ログｗ1と記憶装置３が保持する作業ログの集合を入力として遷移グラフ表示データ作成部８を呼び出す。遷移グラフ表示データ作成部８は、図８の手続きを実施し、登録モジュール集合に登録された遷移グラフ構築モジュールごとに遷移グラフ構造を作成する。以下、このときの図８の手続きの動作を説明する。
【００６８】
まず、ステップＳ１１からＳ１３にて遷移グラフモジュール名と遷移グラフ構造の組の集合Ｏ＝｛｝、作業ログの集合Ｗ＝｛｝、遷移グラフ構築モジュール名と起動方法の組の集合Ｍ＝｛（ｍ3，ｍ３  ％１  ％２），（ｍ4，ｍ４  ％１  ％２）｝となる。次にステップＳ１４にて集合Ｍが空集合か判定し、空集合ではないためステップＳ１６にてｍ＝（ｍ3，ｍ３  ％１  ％２），Ｍ＝｛（ｍ4，ｍ４  ％１  ％２）｝となる。ステップＳ１７では、ｍの起動方法であるｍ３  ％１  ％２に対して、％１が入力された作業ログｗ1のメタ情報であるｗ１．ｘｍｌで置換され、％２は作業ログの集合Ｗが空集合なので、空文字””に置換される。結果としてｍ３  ｗ１．ｘｍｌがコンソールにて実行される。
【００６９】
遷移グラフ構築モジュールｍ３は、ＧＵＩの等しさの判定基準として、ＧＵＩ構造の等しさ、すなわち、ＧＵＩ要素、プロパティ、プロパティ値の組の集合の等しさを採用し、操作の等しさに関しては、操作対象のＧＵＩ要素、操作の種別、入力操作の場合の入力値が等しいことを判定基準として採用しているものとする。この判定基準に従って作成された遷移グラフ構造は図１４となる。Ｎ1からＮ6がノードを、Ｅ1からＥ5がエッジを表す。なお、各ＧＵＩのｇ0からｇ5と対応する画面キャプチャファイルをそれぞれノードＮ1からＮ6に表示すれば図１と同様のグラフを得ることができる。また遷移グラフ構造には図１４のデータだけでなく、遷移グラフ上の実パスと作業ログとの対応関係が記述される。そこで、本実施例の遷移グラフ構築モジュールでは、作業ログファイル名と作業ログ中のＧＵＩ遷移のＧＵＩと操作をノードとエッジで置換した情報が出力されるものとする。この対応関係の情報を図１５に示す。
【００７０】
ステップＳ１８では、ｍの遷移グラフ構築モジュール名、すなわちｍ3とステップＳ１７の結果として取得できる遷移グラフ構造（図１４と図１５で構成されるデータ）の組を集合Ｏに追加して、ステップＳ１４に戻る。
【００７１】
ステップＳ１４では、Ｍ＝｛（ｍ4，ｍ４  ％１  ％２）｝であり空集合ではないため、再度ステップＳ１５へと進み、ｍ＝（ｍ4，ｍ４  ％１  ％２）、Ｍ＝｛｝に更新される。ステップＳ１７では、ｍ４  ｗ１．ｘｍｌがコンソールにて実行される。遷移グラフ構築モジュールｍ４は、遷移グラフ構築モジュールｍ３と同様の判定基準を採用しているものとする。ただし、ｍ３とは異なり、ＧＵＩ構造からプロパティが入力値である組を除外した集合を作成し、等しさを評価する。例えば、図１０のＧＵＩ構造に対して、図１６のように変換した集合で等しさを評価することを意味する。つまりモジュールｍ４においては、テキストボックスの入力値は無視されてしまい例えばｇ0やｇ1，ｇ2なども等しいと判定される。ステップＳ１７の結果、図１７の遷移グラフ構造を得ることができる。さらにステップＳ８の結果、ｍの遷移グラフ構築モジュール名であるｍ4と図１７の遷移グラフ構造の組を集合Ｏに追加し、ステップＳ１４へと戻る。
【００７２】
ステップＳ１４ではＭが空集合であるため、ステップＳ１５へと進み、集合Ｏを記憶装置３に記録する。このときの集合Ｏを図１８に示す。このように遷移グラフ表示データ作成部８の手続きが完了したら、表示制御部６は入力された作業ログを記憶装置３の作業ログ集合に追加する。
【００７３】
可視化させたい作業ログとしてｗ2が入力される場合、作業ログを構成するＧＵＩ構造ファイルｇ６．ｓｔ，ｇ７．ｓｔ，ｇ８．ｓｔ，ｇ９．ｓｔ、画面キャプチャファイルｇ６．ｉｍｇ，ｇ７．ｉｍｇ，ｇ８．ｉｍｇ，ｇ９．ｉｍｇ、操作ファイルｅ７．ｏｐ，ｅ８．ｏｐ，ｅ９．ｏｐ、作業ログファイルｗ２．ｘｍｌそのものが入力されると共に、作業ログｗ2を示すメタ情報としてファイル名ｗ２．ｘｍｌが入力される。この時前述の作業ログｗ1を入力したときと同様に、表示制御部６によって、遷移グラフ表示データ作成部８が呼び出され、図１９に示す集合Ｏが記憶装置３に記録される。このとき、遷移グラフ構築モジュールｍ3，ｍ4が作成した遷移グラフデータをそれぞれ、図２０、図２１に示す。最後に表示制御部６は、作業ログの集合に作業ログｗ2を追加する。
【００７４】
遷移グラフを表示するために、入力装置１から遷移グラフ構築モジュール名としてｍ3が入力されたとき、表示制御部６は、記憶装置３に記録されている図１９の情報から、ｍ3の遷移グラフ構造である図２０を表示装置４に表示する。もし、入力装置１からｍ4が指定された場合には、ｍ4の遷移グラフ構造である図２１を表示装置４に表示する。
【００７５】
例えば、図２０の表示はノードＮ6と対応するＧＵＩ（ｇ5）へのエッジが２本あることを容易に確認できる。それぞれのエッジの遷移元であるノードＮ3やＮ6と対応するＧＵＩを確認すれば、図１のｇ4や図９のｇ8から、電話番号のテキストボックスを入力しなくとも登録可能であることが確認できる。図２１の表示からは、ＧＵＩ（ｇ5）と対応するノードＮ2への遷移が１つに縮退されているため、このような情報は確認しにくい。一方、図２１の表示では、これまでの作業ログは必ずノードＮ2と対応するｇ5へ到達し、登録が完了していることの確認が容易である。図２０の表示ではノードの数が多く、そのような観点の確認は図２１よりは難しい。このように、確認の観点に合わせて、遷移グラフ構造モジュール名を指定することにより、試行錯誤しながら確認に適した遷移グラフ構造を切り替え表示することが可能になる。また観点を確認するのに適した遷移グラフ構造が存在しない場合には、遷移グラフ構築モジュールを追加することにより、その観点に適した遷移グラフ構造を表示することが可能になる。
【００７６】
作業ログを縮退表示させるために、作業ログ名ｗ１．ｘｍｌと作業ログ縮退モジュール名ｍ1が入力装置１から入力された場合、表示制御部６は作業ログ表示データ作成部７を呼び出す。作業ログ表示データ作成部７は、図７の手続きを実行し、縮退された作業ログを作成する。
【００７７】
具体的には、ステップＳ１にて記憶装置３が保持する図１３の登録モジュール集合から、作業ログ縮退モジュール名ｍ1と対応する起動方法“ｍ１  ％１”を取得する。続くステップＳ２では、記憶装置３が保持する作業ログの集合｛ｗ1，ｗ2｝から入力された作業ログ名ｗ１．ｘｍｌと対応する作業ログを取り出す。そしてステップＳ３で、起動方法“ｍ１  ％１”の％１をｗ１．ｘｍｌに置き換え、コンソールからｍ１  ｗ１．ｘｍｌが実行される。
【００７８】
本実施例では、作業ログ縮退モジュールｍ１では、操作前後のＧＵＩの構成するＧＵＩ要素自体が変化していない場合には、そのＧＵＩ遷移を省略するといった手段が実装されているものとする。この場合、ステップＳ３でｍ１  ｗ１．ｘｍｌが実行された結果、表示装置に図２を表示することができる。
【００７９】
ｍ１による作業ログの縮退表示は、操作によってＧＵＩを構成するＧＵＩ要素が変化したときの操作前後のＧＵＩを確認するのが容易である。例えば、図２の場合は実際に登録ボタンを押して、登録されたデータが容易に確認できる。その一方で、途中で住所データを書き換えている等の操作は縮退されているため、確認できなくなる。
【００８０】
ｍ１による作業ログの縮退表示で、確認したい観点が確認できない場合には、入力装置１から別の作業ログ縮退モジュール名、例えばｍ2を入力すればよい。このように、確認の観点に合わせて、作業ログ縮退モジュール名を指定することにより、試行錯誤しながら確認に適した形式に縮退された作業ログを切り替え表示することが可能になる。また観点を確認するのに適した作業ログ縮退モジュールが登録されていない場合は、作業ログ縮退モジュールを追加することにより、その観点に適した形式に縮退された作業ログを表示することが可能になる。
【００８１】
また本実施例では、作業ログ縮退モジュールを用いた所定のアルゴリズムに基づく作業ログの縮退だけでなく、ユーザの指定により作業ログを縮退表示可能としている。この場合、縮退対象の作業ログは、記憶装置３に記憶されている作業ログだけでなく、上記作業ログ縮退モジュールにより縮退された作業ログを含めても良い。例えば、作業ログを縮退表示させるために、作業ログ名ｗ１．ｘｍｌとその作業ログから縮退させるＧＵＩ遷移の位置として「３」が入力装置から入力された場合、表示制御部６は作業ログｗ1＝（ｇ0，ｅ1，ｇ1）（ｇ1，ｅ2，ｇ2）（ｇ2，ｅ3，ｇ3）（ｇ3，ｅ4，ｇ4）（ｇ4，ｅ5，ｇ5）から先頭から３番目のＧＵＩ遷移（ｇ2，ｅ3，ｇ3）を除外する。さらに、直後の４番目のＧＵＩ遷移（ｇ3，ｅ4，ｇ4）の操作前のＧＵＩを、３番目のＧＵＩ遷移の操作前のＧＵＩに変更した作業ログ（ｇ0，ｅ1，ｇ1）（ｇ1，ｅ2，ｇ2）（ｇ2，ｅ4，ｇ4）（ｇ4，ｅ5，ｇ5）を作成し、表示装置４に表示する。変更した作業ログを図２２に示す。図２２では入力結果が上書きされてしまった操作を除外して簡潔に作業ログを表示している。このように縮退するＧＵＩ遷移を入力装置１から直接指定することにより、該当のＧＵＩ遷移を縮退した作業ログを表示することができる。
【００８２】
遷移グラフとして図２１が表示装置４に表示されているとき、入力装置１から作業ログ名ｗ２．ｘｍｌが入力された場合、表示制御部６は、図２１の作業ログ名と実パスの対応関係の表から実パス（Ｎ1，Ｅ1，Ｎ1）（Ｎ1，Ｅ2，Ｎ1）（Ｎ1，Ｅ5，Ｎ2）を取得する。そして、この実パスを図２１の遷移グラフ上に表示する。図２３の例では、実パスのノードやエッジを太点線で表示している。このように遷移グラフ中に実パスを表示することで、作業ログでは実際に発生しなかったＧＵＩ遷移を確認することができる。
【００８３】
遷移グラフとして図２１が表示装置４に表示されているとき、入力装置１からノードやエッジが指定された場合を考える。本実施例ではエッジとしてＥ5が指定されたとする。このとき表示制御部６は、遷移グラフ上の遷移（Ｎ1，Ｅ5，Ｎ2）と対応する作業ログ上のＧＵＩ遷移を表示するため、図２１の作業ログ名と実パスの対応関係の表から該当のエッジＥ5を含む実パス上の遷移の位置を抽出する。ｗ１．ｘｍｌと対応する実パスにおいてエッジＥ5を含む遷移の位置は「５」であり、ｗ２．ｘｍｌと対応する実パスではエッジＥ5を含む遷移の位置は「３」である。よって表示制御部６は作業ログｗ1の先頭から５番目のＧＵＩ遷移（ｇ4，ｅ5，ｇ5）とｗ2の先頭から３番目のＧＵＩ遷移（ｇ8，ｅ9，ｇ9）を表示装置４に表示する。これらのＧＵＩ遷移を図２４に示す。図２４では各作業ログの登録ボタンを押下する直前のＧＵＩのみを直接確認でき、例えば、どんな住所や氏名を入力したかや電話は入力しなくても登録は完了できることなどが簡単に確認できる。
【００８４】
また、図２１の遷移グラフのエッジＥ5と対応するエッジを図２０の遷移グラフ上で確認したい場合には、前述と同様に、作業ログから対応するＧＵＩ遷移（ｇ4，ｅ5，ｇ5）と（ｇ8，ｅ9，ｇ9）を抽出する。これらのＧＵＩ遷移はそれぞれｗ１．ｘｍｌの５番目，ｗ２．ｘｍｌの３番目のＧＵＩ遷移であり、図２０の作業ログ名と実パスの対応関係の表の実パスから同じ位置の遷移を抽出する。すなわち、ｗ１．ｘｍｌの行の実パスの先頭から５番目の遷移（Ｎ5，Ｅ5，Ｎ6）とｗ２．ｘｍｌの行の実パスの先頭から３番目の遷移（Ｎ3，Ｅ6，Ｎ6）を抽出する。最後に図２１の遷移グラフのエッジＥ5と対応する図２０のエッジとして、例えば図２５のようにエッジＥ5とＥ6を強調表示（同図では太点線で表示）する。
【符号の説明】
【００８５】
１…入力装置、２…コンピュータ本体、３…記憶装置、４…表示装置、５…モジュール管理部、６…表示制御部、７…作業ログ表示データ作成部、８…遷移グラフ表示データ作成部。
【図１】
0006025177.tif 000002
【図２】
0006025177.tif 000003
【図３】
0006025177.tif 000004
【図４】
0006025177.tif 000005
【図５】
0006025177.tif 000006
【図６】
0006025177.tif 000007
【図７】
0006025177.tif 000008
【図８】
0006025177.tif 000009
【図９】
0006025177.tif 000010
【図１０】
0006025177.tif 000011
【図１１】
0006025177.tif 000012
【図１２】
0006025177.tif 000013
【図１３】
0006025177.tif 000014
【図１４】
0006025177.tif 000015
【図１５】
0006025177.tif 000016
【図１６】
0006025177.tif 000017
【図１７】
0006025177.tif 000018
【図１８】
0006025177.tif 000019
【図１９】
0006025177.tif 000020
【図２０】
0006025177.tif 000021
【図２１】
0006025177.tif 000022
【図２２】
0006025177.tif 000023
【図２３】
0006025177.tif 000024
【図２４】
0006025177.tif 000025
【図２５】
0006025177.tif 000026