本発明ではアノテーションのアプローチで蓄積されたアノテーションDB内の画面遷移を含んだ操作ログから得られるパラメータを選択するGUIを有し、業務システムの操作者(ユーザ)がリアルタイムに表示したアノテーションを組み合わせることによりカスタマイズされた静的ドキュメントを場面毎に動的に生成するアプローチを選択するようにした。これにより、動的なドキュメント出力のアプローチによって、業務システムのリアルタイムな変化に即したマニュアルを必要に応じて共有することができるようになる。
本発明は、業務システムの操作と並行しながら、業務システムに対して画像を中心としたマニュアルを出力することができる動的マニュアル作成装置及びその方法並びにコンピュータプログラムの発明であり、実業務システムに対して付与する説明文の内容を追記、編集、削除することができ、付与する画面の対象に対して表示したいウィジットの場所等を指定することでユーザとインタラクティブに画面上のリアルタイムな変化に連動した動的なマニュアルが自動生成可能な動的マニュアル作成装置及びその方法並びにコンピュータプログラムに関する。
本発明では業務知識を表現するために、画面上に表示されている画像をキャプチャし、画像マッチングを行うことでユーザの知識を画面上にオーバーレイ表示するアプローチとして、画像マッチングによって操作対象のウィジットに対して説明文を付与するアノテーションのアプローチを考えた。
このアプローチではStencilのような特定の業務システムだけに限定することなく、実際の業務と並行して業務知識を実際のアプリケーション上に表現し、複数のシステム上でノウハウを表現することが可能である。
さらに、本発明では、アノテーションのアプローチだけでは不十分である次の(1)、(2)、(3)を解決している。
(1)ユーザがドキュメントとしてマニュアル化したいシステムの業務シナリオを表現する場合には、アノテーションのアプローチだけでは業務シナリオを他のオペレータに伝えるためのメディアとしてまだ不十分な点がある。
(2)アノテーションのアプローチでは作成対象のシステムのディスプレイへの表示環境が共通となっている必要がある。アノテーションの表示は画像のマッチングによって行うため、OSなどの端末環境などにより少しでも画面の表示ピクセル列の内容が変化すると適切に画像のマッチングが行われない。言い換えると、アノテーションのアプローチでは業務システムのユーザインタフェースが更新された場合に業務システム上に業務ノウハウがオーバーレイ表示されないという事態が発生する。
(3)ユーザが業務ノウハウを一つのストーリーとして表現し、マニュアルとして提供する場合にはアノテーションのアプローチ単体では実際のシステム上に表現するだけでは伝えられない事象があり、メディアとして一過性のものである。ドキュメントとして出力する機能をアノテーションが持ち合わせることによって、表現内容のリアルタイム性、恒久性も合わせて有することとなる。
つまり、本発明ではアノテーションのアプローチで蓄積されたアノテーションDB内の画面遷移を含んだ操作ログから得られるパラメータを選択するGUIを有し、業務システム操作者(ユーザ)がリアルタイムに表示したアノテーションを組み合わせることによりカスタマイズされた静的ドキュメントを場面毎に動的に生成するアプローチを選択する。
これにより、動的なドキュメント出力のアプローチによって、業務システムのリアルタイムな変化に即したマニュアルを必要に応じて共有することができるようになる。
以下に図面を参照して本発明の一実施形態を説明する。
以下に説明する実施形態は本発明の一実施形態であり、本発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
図1は本実施形態におけるコンピュータシステム(動的マニュアル作成装置)の構成を示すブロック図である。図において、1はクライアント端末、4はサーバである。なお、クライアント端末1とサーバ4はネットワーク(通信網)5によって接続され、互いに通信可能な状態になっている。
また、以下で述べるアノテーションDBとは、クライアント端末1に備わるクライアントサイドアノテーションDBとサーバ4に備わるサーバサイドアノテーションDBの2つのDB(データベース)の総称である。ユーザがアノテーションDBを参照するということは、クライアントサイドアノテーションDBを参照する場合とサーバサイドアノテーションDBを参照する場合の2つを意味している。ユーザがクライアント端末1からネットワーク5を介して直接、サーバサイドアノテーションDBを参照することも可能である。クライアントサイドアノテーションDBとサーバサイドアノテーションDBは、後述するように、データの持ち方(例えばXMLの構造)は差異がないが、DBのテーブルに関しては、クライアントサイドアノテーションDBのテーブルに比べてサーバサイドアノテーションDBのテーブルでは<user>テーブルの下に<window>テーブルがあるなど、サーバサイドアノテーションDBのテーブルはクライアントサイドアノテーションDBのテーブルを包含するようなデータの持ち方をしている。
また、以下で述べるマニュアルDB(データベース)とは、クライアント端末1に備わるクライアントサイドマニュアルDBとサーバ4に備わるサーバサイドマニュアルDBの2つのDBの総称である。ユーザがマニュアルDBを参照するということは、クライアントサイドマニュアルDBを参照する場合とサーバサイドマニュアルDBを参照する場合の2つを意味している。ユーザがクライアント端末1からネットワーク5を介して直接、サーバサイドマニュアルDBを参照することも可能である。
図1に示すように、クライアント端末1は、周知のコンピュータ装置からなり、操作画面10を表示するモニタと、業務画面状態取得部21、アノテーション表示部22、アクティブウィンドウ画面属性値取得部23、アノテーション表示位置編集部24、アノテーションDB編集部25、クライアントサイドアノテーションDB(以下、アノテーションDBと称する)26、ユーザ操作ログDB27、クライアントサイドマニュアルDB28、ユーザの一時記録媒体29、操作部30を備えている。
業務画面状態取得部21は、図2に示すように、ウィンドウ状態常時取得エージェント211によってポーリング形式の状態取得(send,get)を行い、アクティブウィンドウのウィンドウハンドルを常時取得した状態で監視を行い、アクティブウィンドウが切り替えられたタイミングで変更があったときにはその都度、アクティブウィンドウが持つウィンドウテーブルWTからウィンドウの実行ファイル名、ウィンドウのサイズ、ウィンドウの座標位置等を取得する。なお、図2において横軸は時間を表し、縦軸はZ-orderを表す。また、ウィンドウテーブルWTとは、各ウィンドウ毎に設けられており、アクティブウィンドウのウィンドウハンドルから取得できるウィンドウタイトルやウィンドウの座標位置、ウィンドウの実行ファイル名などを保持しているウィンドウコントロールのテーブルである。ウィンドウ状態常時取得エージェント211は常にアクティブウィンドウに対して動作する。
ウィンドウズ(登録商標)のアプリケーションのウィンドウはZ-orderと呼ばれる順番に累積される形で操作画面10上に表示されておりアクティブウィンドウとはZ-orderの順序中最前列に表示されるウィンドウのことである。ユーザのクリックイベント操作や他のウィンドウへの切り替えイベント(Alt+tab)などによって最前列に切り替わる際の変化を捉え、アノテーション表示部22及びクライアントサイドアノテーションDB26にアクティブウィンドウの変化を通知する。
業務画面状態取得部21は、ユーザの操作によってアクティブウィンドウを変更した際には、ウィンドウ状態常時取得エージェントによって常時取得されるアクティブウィンドウのタイトル名の存在の有無を、アノテーションDB26内に保存されたアノテーションルールの中のウィンドウタイトル名の中から調べるテキストマッチング検索を行う。この検索によりアノテーションDB26内に該当するウィンドウタイトルが存在する際には、業務画面状態取得部21はアノテーション表示部22に対して該当するDBの表示のクエリを送信し、ウィンドウのサイズ或いはウィンドウの座標位置が変更された際には、業務画面状態取得部21はアノテーション表示部22に対してアノテーションアイコン及びメッセージツールチップ113の表示位置をその変化に合わせて移動するクエリを送る。また、業務画面状態取得部は、クライアントサイドアノテーションDB26に対して、アクティブウィンドウが変化した時に、変化後のアクティブウィンドウのウィンドウタイトルのうち、アノテーションDB26内に含まれているものの有無を聞くクエリを送る。ウィンドウ状態常時取得エージェント211がアノテーション表示部22に対してアクティブウィンドウの切り替えタイミングのクエリを送ることで、アノテーション表示部22は操作画面10でのアノテーションアイコン群の表示を常時更新する。
アノテーション表示部22は、クライアントサイドアノテーションDB26内に蓄積されたアノテーションのテーブルを取得し、図3に示すように、アクティブウィンドウ110上のウィジット111の位置を基にアノテーションがあることを示すアノテーションアイコン112をアクティブウィンドウ110にオーバーレイ表示させる。また、アノテーション表示部22は、業務画面状態取得部21からの通知の通り、ウィンドウのサイズ変更やウィンドウの座標位置が変更された際には相対的な座標位置の差分値の分をずらして再表示することにより、アノテーション表示位置のリアルタイムなトラッキングを可能にする。すなわち、ユーザが実際にアノテーションを参照する際には図4に示すようにアノテーションアイコン112を発見した後にマウスを使用してマウスカーソル115をアノテーションアイコン112上にホバリングするかまたはアノテーションアイコン112をクリックすることでメッセージツールチップ113を表示することが可能になり、アノテーションの中身であるアノテーション文章をメッセージツールチップ113内に表記することでユーザはアノテーション文章を参照することが可能となる。
アクティブウィンドウ画面属性値取得部23は、アノテーションの付与先であるウィンドウの属性値を取得してこれをアノテーションルールとしてアノテーションDB26に初期登録する。この際、操作画面10のアクティブウィンドウ画面属性値の取得に関しては、業務画面状態取得部21で自動的に監視しているものとは異なり、ユーザの操作を契機として業務画面状態取得部21のウィンドウテーブル取得の関数を利用する。また、アクティブウィンドウ画面属性値取得部23は、アクティブウィンドウ110に該当するウィンドウ画面のウィンドウタイトル名、ウィンドウの実行ファイル名、ウィンドウサイズ等の属性値と、アノテーション表示位置編集部24のベース画像となるアクティブウィンドウ全体のキャプチャイメージ(アノテーションベース画像)をアノテーションDB26へ登録する。
アノテーション表示位置編集部24は、アクティブウィンドウ画面属性値取得部23からクライアントサイドアノテーションDB26に登録されたアノテーションルール内のアノテーションのテーブルを編集する機能部である。アノテーション表示位置編集部24は、ユーザの操作に基づいて、図5に示すように、アクティブウィンドウ画面属性値取得部23によって予め取得したアクティブウィンドウの画面全体のキャプチャイメージ画像であるアノテーションベース画像300上で選択された任意の画像をテンプレート画像315としてクライアント端末1を操作するユーザが指定することにより選択する。
また、アノテーション表示位置編集部24は、クライアントサイドアノテーションDB26内に蓄積されているアノテーションルールの中のアノテーション表示設定の項目が設定されているアノテーションルールを利用して、図5に示すようにアノテーションの表示位置の画像をクライアント端末1を操作するユーザがテンプレート画像315として、このテンプレート画像に該当した位置を基準としてアノテーションアイコン112を表示させる。この際、アノテーションアイコン112を表示させるために、アノテーション表示位置編集部24は、予め取得していたアクティブウィンドウ全体のキャプチャイメージ画像をアノテーションベース画像300とし、アクティブウィンドウの座標位置311を起点とするアノテーションアイコンの相対x座標位置312とアノテーションアイコンの相対y座標位置313を利用してアノテーションの表示位置を編集する。照合位置316は、予めユーザの操作によって指定されているテンプレートマッチングの探索領域314内においてテンプレートマッチングで設定した類似度以上で最大の類似度を記録した確率を有する画像のドットの座標位置を表している。また、アノテーションアイコン112を表示する際には、照合位置316から予めユーザが設定した任意のアノテーションアイコンの相対y座標313、アノテーションアイコンの相対x座標312を基準として操作画面10に表示させる。なお、ユーザは、アノテーション表示位置編集部24を介して、アノテーション文章の表示位置及びテンプレート画像315、テンプレート画像の探索領域314を指定する。
上記のように、テンプレートマッチングの探索領域314を予めアクティブウィンドウ内に限定することで、探索の計算量を抑えた効率的なテンプレート画像315のマッチングが可能となる。
アノテーションDB編集部25は、クライアントサイドアノテーションDB26内に蓄積されたアノテーションルールを用い、図1に示すように、ユーザに対して常時編集可能なGUI(Graphical User Interface)を用意する。ユーザは、アノテーションDB編集部25のウィンドウ140を用いて、随時表示されたメッセージツールチップ113内のアノテーション文章の内容を確認することができると共に、このアノテーション文章を追記及び編集することができる。アノテーションDB編集部のウィンドウ140には、アノテーションDBの構造表示ボックス150とアノテーション文章編集のテキストボックス160が表示される。さらに、アノテーションDBの構造表示ボックス150内には、ウィンドウタイトル151毎に対象アプリケーションフォルダ152が表示され、対象アプリケーションフォルダ152毎にアノテーション文章153が表示される。
このように、アノテーションDBの構造表示ボックス150では、クライアントサイドアノテーションDB26に登録されたウィンドウタイトルを主キーとするDBのテーブルを可視化する。アノテーション文章編集のテキストボックスをアノテーションDBの構造表示ボックス150とリンクさせてその都度編集するGUIを具備することによって、クライアントサイドアノテーションDB26の内部の構造をユーザに対して分かりやすく表示することが可能である。
上記のように、アノテーションDB編集部25は、アノテーション表示位置編集部24と連携して、ユーザがアノテーション表示位置及び探索領域等を自由に編集可能とするGUIを持ち、アノテーションDB26からのフィードバックをすぐに受け取ることでユーザと相互作用的にアノテーション文章を追記編集可能にしている。なお、アノテーションDB編集部25は、ユーザの操作に基づいて、アノテーションルールの一部としてアノテーションDB26に蓄積されているアノテーション文章の表示位置及びテンプレート画像315、テンプレート画像の探索領域314、アクティブウィンドウ画面の属性値を編集する。
さらに、アノテーションDB編集部25は、ユーザがアノテーションを付与したいアプリケーションを登録するため、アクティブウィンドウ画面属性値取得部に対して、クライアントサイドアノテーションDB26への登録するためのGUIを提供する。例えば、マウスの右ボタンクリックによるプルダウンメニュー等のGUI(図示せず)を提供する。アクティブウィンドウ画面属性値取得部23で登録されたウィンドウタイトルを始めとするアノテーションテーブルはGUI上に随時更新され、アノテーションDB編集部のウィンドウ140内にあるアノテーションDBの構造表示ボックス150に可視化される。
クライアントサイドアノテーションDB26は、アノテーションルールを蓄積するための書き換え可能な不揮発性の記録部を有し、アノテーション表示部22とアノテーションDB編集部25からのDB変更のクエリ、アノテーション表示位置編集部24からのDB変更のクエリ、アクティブウィンドウ画面属性値取得部23からのDB新規登録のクエリを受け取り、サーバサイドアノテーションDB41内のテーブルのうち、ユーザのクライアント端末で必要な運用ポリシーに基づいた条件テーブルを受け取ることにより、ユーザに有用なサーバサイドアノテーションDB41を選択するトランザクションを受け取る。
クライアントサイドアノテーションDB26内のファイル構造の例ではアノテーションDB26のテーブルをXML構造で表現しており、変更のクエリ毎にアノテーション情報の変更と追加を行うトランザクションを走らせるDBの形態である。このアノテーションDB26が保持するデータは、アクティブウィンドウ画面属性値取得部23を介して業務画面状態取得部21から得られる実行ファイルの名前、プロセスID、ウィンドウタイトル等であり、クライアントサイドアノテーションDB26に登録する際にはウィンドウタイトルの変更を加えることで、アノテーションDB26を参照する時にはウィンドウタイトルを始めとするテーブルから該当する属性値を参照することが可能である。
クライアントサイドマニュアルDB27は、マニュアルを蓄積するための書き換え可能な不揮発性の記録部を有し、サーバサイドマニュアルDB42内のテーブルのうち、ユーザのクライアント端末で必要な運用ポリシーに基づいた条件テーブルを受け取ることにより、ユーザに有用なサーバサイドマニュアルDB42を選択するトランザクションを受け取る。
ユーザ操作ログDB28は、ユーザの操作ログを蓄積するための書き換え可能な不揮発性の記録部を有し、ユーザのキーボードやマウスの操作に応じて操作内容や操作に関連した情報、例えば業務ノウハウを表現した画像やテキストやログ情報等を蓄積する。
ユーザの一次記録媒体29は、実際に生成されたマニュアルを一時的に記録するための書き換え可能な不揮発性の記録部を有し、マニュアルを一時記録するものである。
操作部30は周知のキーボード及びマウス等を有し、ユーザがキーボードやマウスを操作することにより文字入力や位置入力を行うことができるようになっている。
また、サーバ4は、周知のコンピュータ装置からなり、サーバサイドアノテーションDB41とサーバサイドマニュアルDB42を備えている。
サーバサイドアノテーションDB41は、クライアントサイドアノテーションDB26と同様にアノテーションルールを蓄積するための書き換え可能な不揮発性の記録部を有し、図1に示すようにクライアントサイドアノテーションDB26に接続され、クライアントサイドアノテーションDB26に変更が加わるとそのDiff毎にクライアントサイドアノテーションDB26からサーバサイドアノテーションDB41に対して変更内容を同期する形態でサーバサイドアノテーションDB41のデータが同期して変更されるデータ構造、例えばXMLを始めとするデータ構造で構成されている。
サーバサイドアノテーションDB41は、図1に示すようにサーバ4の側に設けられているので、シンクライアント環境で動作するコンピュータシステムにおいては、クライアント端末1毎に或いはユーザ毎にカスタマイズされたアノテーションを提供することが可能である。
サーバサイドアノテーションDB41の導入によって、ユーザ毎に固有のテーブルを保有することができる。クライアント端末1へのアノテーションツールの導入だけでは、個々のクライアント端末1によって使用環境が異なり、クライアント端末1を使用するユーザが異なる状況の中で、アノテーションルールの内容を共有することは困難である。そこで、サーバサイドアノテーションDB41を備えたサーバ4を用意することで、クライアントサイドアノテーションDB26に固有のアノテーションDB内のテーブル(OSなどのユーザの使用環境、クライアント端末1で扱っているシステムの種類)などを集約させることができるというメリットが得られる。
サーバサイドマニュアルDB42は、クライアントサイドマニュアルDB28と同様にマニュアルを蓄積するための書き換え可能な不揮発性の記録部を有し、図1に示すようにクライアントサイドマニュアルDB28に接続され、クライアントサイドマニュアルDB28に変更が加わるとクライアントサイドマニュアルDB28からサーバサイドマニュアルDB42に対して変更内容を同期する形態でサーバサイドマニュアルDB42のデータが同期して変更されるデータ構造で構成されている。
なお、サーバ4にシンクライアント環境を導入することで、画面イメージだけをクライアント端末1に導入してオペレーション操作を行なうことができる。その際にはクライアント端末1の環境をサーバ4に導入することが考えられる。
次に、本実施形態におけるアノテーション表示及びアノテーションルールの追加編集に関して詳細に説明する。
図6にアノテーションツールの起動処理の流れを示したフローチャートを示し、図7にアノテーション表示モードで実行される処理の流れを示したフローチャートを示し、図8にアノテーションDB編集モードで実行される処理の流れを示したフローチャートを示す。
クライアント端末1の起動と同時にアノテーションツールが起動されると、図6に示すように、ユーザによってアノテーション表示モードが選択されたか否かを監視し(SA1)、アノテーション表示モードが選択されたときには図7に示すアノテーション表示モードを実行する(SA2)。アノテーション表示モードが終了されると(SA3)、上記SA1の処理に移行する。
また、上記SA1の監視の結果、アノテーション表示モードが選択されないときは図8に示すアノテーションDB編集モードを実行し(SA4)、アノテーション表示モードが選択されたとき以外はアノテーションDB編集モードを実行する。
アノテーション表示モードでは、クライアント端末1は、図7に示すように、業務画面状態取得部21によるアクティブウィンドウのテキストマッチングを行う(SB1)。すなわち、業務画面状態取得部21のポーリング形式による状態の取得(send,get)を行う。ウィンドウ状態常時取得エージェント211が取得するウィンドウタイトル名に対して、クライアントサイドアノテーションDB26及びサーバサイドアノテーションDB41に蓄積されているアノテーションルールの中に保存されたXML構造のwindowタグに格納されているtitle値の文字列が含まれているかどうかテキストマッチングを行うことによりアクティブウィンドウのアノテーションルールがアノテーションDB26、41内にあるかどうかの照合を行う。
この結果、アクティブウィンドウのアノテーションルールがアノテーションDB26、41内にある場合は、クライアント端末1は、アノテーション表示部22を実行する(SB2)ことにより前述したようにアノテーション表示部22が画像マッチングを行い、アクティブウィンドウ110に対してアノテーションアイコン112の表示を行い、ユーザの操作に応じてメッセージツールチップ113及びアノテーション文章を表示する。
次いで、クライアント端末1は、アノテーションDB26、41内にテキストマッチングで該当するアノテーション文章が1つ以上存在するか否かを判定する(SB3)。この判定の結果、クライアントサイドアノテーションDB26やサーバサイドアノテーションDB41内にアノテーション文章が1つ以上、複数登録されている場合(テキストマッチングで該当するアノテーションが1つ以上存在する場合)には、アクティブウィンドウ内における画像の1対1でのテンプレートマッチングが成立するか否かを判定する(SB4)。すなわち、登録されたアノテーション文章の数だけ画像のマッチングを当該アクティブウィンドウに対して行い、画像マッチングが成功する場合(アクティブウィンドウ下での画像の1対1でのテンプレートマッチングが成立する場合)にはアノテーションアイコンの表示を行い(SB5)、この後、上記SB3の処理に移行する。また、アクティブウィンドウ下での画像の1対1でのテンプレートマッチングが成立する場合には、前記SB3の処理に移行する。なお、上記SB3、SB4の処理を繰り返すことにより、1つのアノテーションルールを1つのウィンドウに適用して複数箇所にアノテーションアイコン112やアノテーション文章を表示することも可能である。
また、上記SB1の判定の結果、アクティブウィンドウのアノテーションルールがアノテーションDB26、41内に無い場合、及び上記SB3の判定の結果、クライアントサイドアノテーションDB26やサーバサイドアノテーションDB41内にアノテーション文章が一つ以上登録されてない場合は、業務画面状態取得部21による監視を行い(SB6)、アクティブウィンドウの変更があるか否かを監視する(SB7)と共にウィンドウの座標位置の変更があるか否かを監視し(SB8)、このようにアクティブウィンドウを常時監視することで、アクティブウィンドウの変更があった場合には上記SB1のテキストマッチング結果による条件分岐を経て、SB2の処理に移行してアノテーション表示部22の再度実行を行い、ウィンドウの座標位置の変更があった場合にはアノテーション表示座標位置の相対位置変更を行う(SB9)。
一方、アノテーション編集モードの実行では、アノテーションDB編集部25がユーザの操作によって4つの機能、すなわち「新規アノテーションの作成」(SC1)、「アノテーションの編集」(SC2)、「アノテーションの削除」(SC3)、「アノテーション文章の編集」(SC4)の機能を持ち、アノテーション編集モードの実行が開始されるとクライアント端末1はこれらの機能をユーザの操作に応じて実行する。
「新規アノテーションの作成」(SC1)では、アクティブウィンドウ画面属性値取得部23によってアクティブウィンドウ画面属性値の取得を行い(SC5)、クライアントサイドアノテーションDB26においてXML構造のアノテーションDBを新規で作成する。このとき、対象ウィンドウのプロセス名、タイトル、ウィンドウクラス、取得時間等を取得することにより、アノテーションルールを編集するための土台となるDBを構築する。さらに、アノテーションDB編集部25からクライアントサイドアノテーションDB26に対してアノテーションルールの新規登録のクエリを送信することにより、アノテーションDB26に対して上記処理を要求する。これにより、サーバサイドアノテーションDB41にも新規アノテーションが作成される。
「アノテーションの編集」(SC2)では、アノテーション表示位置編集部24を実行し(SC6)アノテーションベース画像からアノテーションアイコンの相対x座標、相対y座標、テンプレート画像、テンプレートマッチングの探索領域、テンプレートマッチングの類似度閾値を決定すると共に、アノテーションDB編集部25からクライアントサイドアノテーションDB26に対してテンプレートマッチングの入力値として使用されるパラメータ値変更のクエリを送信する。これにより、クライアントサイドアノテーションDB26はアノテーションルールの変更を行い、この変更に応じてアノテーションDB編集部ウィンドウ140の表示内容の変更が行われる(SC7)と共に、サーバサイドアノテーションDB41のアノテーションルールも変更される。
「アノテーションの削除」(SC3)では、削除対象となるアノテーション文章を削除するためのクエリをクライアントサイドアノテーションDB26に送信する。これにより、クライアントサイドアノテーションDB26は指定されたアノテーション文章の削除を行い、この削除に応じてアノテーションDB編集部ウィンドウ140の表示内容の変更が行われる(SC7)と共に、サーバサイドアノテーションDB41内の対応するアノテーション文章も削除される。
「アノテーション文章の編集」(SC4)では、アノテーション文章編集のテキストボックス160に入力されたアノテーション文章を更新する。このとき、アノテーションDB編集部25からクライアントサイドアノテーションDB26に対して、アノテーション文章の変更のクエリを送信する。これにより、クライアントサイドアノテーションDB26は指定されたアノテーション文章の変更を行い、この変更に応じてアノテーションDB編集部ウィンドウ140の表示内容の変更が行われる(SC7)と共に、サーバサイドアノテーションDB41内の対応するアノテーション文章も変更される。
以上の4つの機能において、クライアントサイドアノテーションDB26の内容が変更された場合には、アノテーションDB編集部ウィンドウ140の表示内容の変更を行い、実際の画面上に更新処理を行うと共に、サーバサイドアノテーションDB41と定期的に同期処理を行う。クライアントサイドアノテーションDB26側からサーバサイドアノテーションDB41へはクライアントサイドアノテーションDBの内容変更通知を行い、サーバサイドアノテーションDB側からクライアントサイドアノテーションDB26へはサーバサイドアノテーションDB41のポリシー変更によるDB内容変更通知を行うことで、両アノテーションDB26、41の内容の定期更新処理を行う。
次に、上記業務システムのマニュアル生成に関して説明する。
マニュアルを出力するまでの処理手順を図9に示すフローチャートを参照して説明する。
本実施形態においては、(a)マニュアル用アノテーション作成モードと、(b)動的マニュアル生成モードと、(c)インタラクティブモードが存在する。
マニュアル用アノテーション作成モードでは、まずクライアント端末1は、ユーザの操作により上記説明した手順によってアノテーションを作成する(SD1)。次に、クライアント端末1は、アノテーションのアプローチより作成される“マニュアル化対象のアプリケーションの指定”と“アノテーションDBの作成、編集、削除”を行う(SD2)。このとき、クライアント端末1は、アノテーションDB26,41にアクセスしてアノテーションの読み出しや更新を行うと共に、ユーザ操作ログDB27にアクセスしてユーザ操作の詳細を記録する。なお、ユーザ操作ログDB27に記録するユーザ操作の詳細としては、ユーザがアプリケーションまたはアノテーションアイコンまたはアノテーションメッセージを選択したときのログ情報や、操作及び選択を行ったTimestamp、または操作及び選択を行った頻度等の情報、アノテーション表示時におけるマウスクリック及びキーボードの押下のログ情報、及び操作画面10内で起こった変化のログ情報を含む。
アノテーションを表示する際には上記図7に示した手順のとおり、実際にユーザが操作している操作画面に対してオーバーレイ表示することにより、ユーザの業務ノウハウを表現する。本実施形態では、マニュアル用アノテーション作成モードにおいてドキュメント出力のための機能を有する。
この後、クライアント端末1は、ユーザがマニュアル化したい内容が必要十分であるか否かを判定する(SD3)。この判定の結果、内容が必要十分であるときは次のSD4の処理に移行し、内容が必要十分でないときは前記SD1の処理に移行する。
動的マニュアル作成モードでは、アノテーション作成モードで完成したアノテーションDB26,41及びユーザ操作ログDB27内の情報(業務ノウハウを表現した画像やテキスト、ログ情報)を元に“動的マニュアルのパラメータ値の設定”を行う(SD4)。パラメータ値によってマニュアルを生成するときは“出力結果参照”で実際に生成され、ユーザの一時記録媒体29に蓄積されているマニュアルを参照する(SD5)。
インタラクティブモードでは、動的マニュアル作成モードから生成されたドキュメントを参照することにより、ユーザがマニュアルの出力の可否判断を行うモードである。インタラクティブモードにおいて、ユーザが満足できる出力結果であるか否かを判定し(SD6)、この判定の結果、ユーザが満足できない出力結果であるときは、クライアント端末1は、パラメータの設定値の再チューニング或いはマニュアル化する内容の再チューニングを行うことにより、ユーザが所望するマニュアルの出力を実現する(SD7)。このとき、パラメータの設定値の再チューニングを必要とするときは前記SD4の処理に移行し、マニュアル化する内容の再チューニングを必要とするときは前記SD2の処理に移行する。
また、前記SD6の判定の結果、ユーザが満足できる出力結果であるときは、クライアント端末1はクライアントサイドマニュアルDB28及びサーバサイドマニュアルDB42にマニュアルを出力する(SD8)。
次に、(a)マニュアル用アノテーション作成モードの詳細に関して説明する。
本実施形態では、クライアント端末1は動的なマニュアル出力のための機能を備えている。すなわち、この機能では、図10に示すように、業務画面状態取得部21によって操作画面10のウィンドウの状態を常時取得し続けており、アノテーションをユーザが作成し、ユーザがアノテーション表示部22の機能から操作画面10に表示されたアノテーション文章、アノテーションアイコン、メッセージツールチップ等を参照した操作も監視し、その操作の詳細をユーザ操作ログDB27に記録している。
クライアント端末1は、前述した「アノテーションDBへのマニュアル用アノテーション作成、編集、削除」の処理(SD2)において、業務画面状態取得部によるアノテーションDB26,41内へのウィンドウタイトル遷移情報の監視(a−1)、次の画面にリンクして遷移するアノテーションを指定する(a−2)、アノテーション表示に次の画面に遷移するアノテーションの情報を直接表示する(a−3)、さらに表示された情報に対して、新しくアノテーション表示の設定を行う(a−4)、当該のアノテーションに次の遷移情報が含まれている場合はさらに直接の表示を行う(a−5)、等の処理を行っている。
アノテーションの表示処理を行っている最中において、クライアント端末1は、図11及び図12に示すように、ユーザの操作ログの内容をアノテーションDB26,41の中に蓄積していく。例えば図11に示すように、ウィンドウタイトルが遷移したときには遷移先のウィンドウをアノテーションDB26,41及びマニュアルDB28,42に記録し、遷移した回数を記録しておく。
また、図12に示すように、クライアント端末1は、遷移する前のアノテーションアイコン、メッセージツールチップへのマウスクリック、マウスオーバー等のイベントを取得し、その直後にウィンドウタイトルが遷移したときは、アノテーションアイコン、メッセージツールチップの内容がウィンドウタイトルの遷移と関連があると動的マニュアル作成プログラムが学習し、これらのログ及び情報をアノテーションDB26,41及びマニュアルDB28,42に記録し、temp1-aとウィンドウタイトル1-aを関連づける。
これらのウィンドウタイトルの遷移やアノテーションアイコンやメッセージツールチップに対するマウスクリックのイベントのログは図13に示すようにアノテーションDB編集部25のウィンドウ内に反映され、ユーザが参照するアノテーションDB26,41は例えば図13のように現在のアクティブウィンドウのウィンドウタイトルをルートとするツリービューとなるなどの表示形態を変更する。
このような見せ方がユーザに対して可能であることによって、図14のようにアノテーションを表示する際にも現在のウィンドウを起点とし、過去のアノテーションアイコン、メッセージツールチップの参照ログから、次に遷移する可能性のある操作画面の情報を直接アノテーションアイコンをクリックした場合に表示することが可能になる。
また、図10の「a-4.さらに表示された情報に対して、新しくアノテーション表示の設定を行う」では、図14で表示されたtemp1-a-アやtemp1-a-イ等のベースとなっているイメージに対して、更にアノテーションの作成を行うことができる。
また、「a-5.当該のアノテーションに次のベース画像が含まれている場合はさらに直接の表示を行う」では、その画面内でアノテーションの付与を再帰的に行うことが可能である。つまり、図15に示すように、ウィンドウタイトル1-a-ア-αやウィンドウタイトル1-a-ア-βを含む画像をユーザのtemp1-a-アにオーバーレイ表示することで更にアノテーション付与の設定を行うことができ、動的マニュアルの連続的な情報を付与することを実現する。
このように、本実施形態では、ウィンドウタイトルの遷移を収集するログ収集の機能を持ち、ユーザが実際の操作画面上に表示させたウィンドウのアノテーションのコンテンツとして、次に操作する画面の画像を表示し,またウィンドウに包含されるアノテーションアイコンを表示する機能を有し、ユーザがアノテーションアイコンをクリックした際にはユーザが操作を行い発生するウィンドウの情報からアノテーションを再帰的に新規に作成可能である。
次に、(b)動的マニュアル作成モードの詳細に関して説明する。
動的マニュアル作成モードとは、図16に示すとおり、ユーザがマニュアル作成の意思決定をもって、ユーザ自身が動的マニュアル作成のためのパラメータ値の設定を行い、出力結果を参照するものである。動的マニュアルのパラメータ値の設定では、概観図の選択によって動的マニュアルを作成するモード(SE1)と、現在の画面を起点として動的マニュアルを作成するモード(SE2)がある。これら2つのモードの何れかがユーザによって選択される。
概観図の選択によって動的マニュアルを作成するモード(SE1)では、図17に示すウィンドウタイトルの遷移ビューの例のように、ユーザがウィンドウの遷移ビューを参照し、例としてウィンドウタイトルの遷移グラフなどの中から、マニュアルとして出力したいウィンドウプロセス列を選択し、合わせて遷移ビューの中で「ユーザが追加コメント」を記入することで、最終的にpptやdoc,HTML形式などに出力し、ユーザがその結果を参照できるようになる。
また、図18には動的マニュアル生成モード(ウィンドウタイトルの遷移順による出力)を示している。図18に示すように、出力するドキュメント中にウィンドウタイトルA,Bなどと整形したフォーマットで出力する。表示される項目は、アノテーション作成時にユーザが書き込んだアノテーション文書と、ベース画像、ベース画像上の位置を基準にして決定されたものである。
現在の画面を起点として動的マニュアルを作成するモードは、ユーザ操作によって過去のウィンドウタイトルが遷移した経緯を記録した遷移ログやアノテーションアイコン或いはメッセージツールチップを参照した経緯を記録した参照ログのTimestampやFrequency(頻度)から、ユーザが着目するパラメータをユーザ自身が自由に設定でき、これをドキュメントとして出力できるものである。
図19は、動的マニュアル生成モード(Timestampによる時系列出力))を示している。Timestampによる時系列出力では、図19に示すように、最近操作されたアノテーションアイコンやウィンドウタイトル、Timestampを指定することによってその時間を起点にした出力など、ユーザに時間を選択させることでpptやdoc,HTMLといった形式でマニュアルの出力を行う。Timestampによる時系列出力では、ウィンドウタイトルによる出力と同様に、アノテーション作成時にユーザが書き込んだアノテーション文書とベース画像、ベース画像上の位置を基準にした出力を行う。
図20には、動的マニュアル生成モード(Frequency(頻度)による時系列出力))を示している。Frequency(頻度)による時系列出力では、図20に示すように、例えばある支店内のユーザが最も多く参照したアノテーションアイコンの操作画面順、遷移ウィンドウ順などに出力するものであり、ユーザに着目したい頻度を選択させることによって、図21に示すように、pptやdoc,HTMLといった形式でドキュメントとして出力できるものである。
なお、ユーザ操作によって操作画面が数回前の状態にもどるような、画面の遷移が戻って再帰的なループがログの中に発生した場合には、そのログをマニュアル出力する際にはループした部分を除去したログに基づいてマニュアルを出力する。
次に、インタラクティブモードの詳細に関して説明する。
インタラクティブモードは、ユーザが動的マニュアル作成モードから生成させたドキュメントを参照し、そのマニュアルを出力したいものであればpptやdoc,HTML形式に最終的にエキスポートするものである。ユーザが満足する出力結果でない場合に関しては、インタラクティブモード内でパラメータ値の再設定が可能である。例えば動的マニュアル生成モードで時系列順にソートしていた場合、ある時点のウィンドウタイトルにおける遷移に着目し、そのウィンドウタイトルを起点にして、ウィンドウタイトル順による出力を行うことが可能になる。また、例えば頻度順に動的マニュアルを生成していた場合に、あるユーザ、ある支店内の情報を限定して再度頻度順にソートすることが可能になる。このように、本実施形態では、ログの参照内容をユーザが確認し,再度パラメータを変更することでマニュアルとして再度出力することができる。
また、インタラクティブモードでは、ユーザがマニュアル出力のための操作ログのパラメータ値を調整して重みづけできるアノテーションの設定を実際の操作画面上に表示された画像から設定することができ、出力された動的マニュアルに対して、ユーザがパラメータ値をカスタマイズし、変更することで更にユーザが所望するマニュアルをヒューリスティックに選択することができる。
さらに、インタラクティブモードでは、ユーザがアノテーションの中身を編集する際の表示を、ユーザの操作ログの中から容易に取り出せるパラメータを設定することができ、ppt,doc,HTMLなどの出力形式を自由に選択することで、ドキュメント生成した後にユーザが追記編集できるモデルとなるフォーマット形態を有する。これにより、あらかじめTimestamp、頻度、ウィンドウタイトル順などの各種パラメータに合った用途のドキュメントを選択的に出力することができ、出力後のドキュメントはユーザが再度追記編集可能な素材として使うことができる。
以上説明したように、本実施形態ではアノテーションのアプローチで蓄積されたアノテーションDB内の画面遷移を含んだ操作ログから得られるパラメータを選択するGUIを有し、業務システムの操作者(ユーザ)がリアルタイムに表示したアノテーションを組み合わせることによりカスタマイズされた静的ドキュメントを場面毎に動的に生成するアプローチを選択するようにしたので、動的なドキュメント出力のアプローチによって、業務システムのリアルタイムな変化に即したマニュアルを必要に応じて共有することができる。
したがって、本実施形態によって、ユーザが業務システムを操作している際に直面し、業務システム利用者自身が必要と感じた共有すべきノウハウを実際に操作している画面上のウィジットに対して付与することが可能になり、マニュアルのための選択的なドキュメントの出力が可能となる。この結果として、ユーザは新しいマニュアルをスクラッチから作成する負担がなく、実際に普段の業務を行う中で並行してマニュアル中に書かれている内容を確認し、業務に必要なマニュアルをカスタマイズして更新することが容易にできるようになる。
また、本実施形態によれば、ユーザがマニュアル化の対象とするシステムを改造することなく新しいノウハウを自由に実際の操作画面上にオーバーレイ表示させることで業務操作中に業務ノウハウをユーザが表現し、その情報(業務ノウハウを表現した画像やテキスト)が持つプロパティ、属性値からユーザが必要な情報を選択することにより、静的なマニュアルを動的に出力することができる。
なお、クライアント端末1において、アノテーションDB26及びマニュアルDB28のハードウェアとしての記憶部以外で行われる処理の全て或いは一部をハードウェアによって実現すること或いはコンピュータプログラムによって実現することが可能であることは言うまでもない。また、このようなコンピュータプログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。