以下に、本願の開示する画面遷移制御方法、画面遷移制御プログラムおよび画面遷移制御装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例に係るシステムの構成を示す図である。図1に示すように、このシステムは、画面遷移制御装置100と、サーバ200とを有する。画面遷移制御装置100およびサーバ200は、ネットワーク250によって相互に接続される。
画面遷移制御装置100は、画面の遷移順や各画面でサーバに送信する値等を定義したシナリオファイルを保持する。画面遷移制御装置100は、シナリオファイルを実行して値をサーバ200に送信し、サーバ200から受信する画面情報を表示する処理を繰り返すことで、画面を自動的に遷移させる。サーバ200に送信される値は、例えば、URL(Uniform Resource Locator)、各画面のフォームに入力される値等に対応する。
画面遷移制御装置100は、画面を自動的に遷移させる過程において、シナリオファイルに定義された画面遷移順に従わない画面への遷移が発生した場合には、手動による画面遷移を許容する。そして、画面遷移制御装置100は、手動による画面遷移による遷移先の画面が、シナリオファイルに定義された画面遷移順上、画面遷移順に従わない画面への遷移の発生直前の画面の次の画面に一致することを検出すると、再度自動的に画面を遷移させる。
図2は、本実施例に係る画面遷移制御装置の処理の一例を説明するための図である。図2に示す例では、画面遷移制御装置100のシナリオファイル70aでは、ログイン画面71、メニュー画面72、業務メニュー画面73の順に画面が遷移することが定義されている。
図2において、画面遷移制御装置100は、シナリオファイル70aで定義された値をサーバ200に送信することで、ログイン画面81の情報を受信し、ログイン画面81を表示させる。画面遷移制御装置100は、ログイン画面81と、シナリオファイル70aのログイン画面71とが一致するため、ログイン画面71でサーバ200に送信するID、パスワードを、サーバ200に送信する。
ここで、例えば、パスワードの有効期限が切れている場合には、画面遷移制御装置100は、シナリオファイル70aでログイン画面71の次に受信するはず、即ちログインが成功した後に受信するはずのメニュー画面72とは異なる画面82の情報をサーバ200から受信する。この場合には、画面遷移制御装置100は、画面82を表示し、手動による画面遷移を許容する。例えば、利用者は画面遷移制御装置100を操作して、手動による画面遷移により、画面が、画面82,83,84の順に遷移する。
続いて、画面遷移制御装置100は、画面84に対する利用者の手動操作に応じてサーバ200から送信されてくるメニュー画面85の情報を受信する。このメニュー画面85は、シナリオファイル70aに定義された画面遷移順上、画面遷移順に従わない画面への遷移の発生直前の画面であったログイン画面71の次のメニュー画面72に一致する。この場合には、画面遷移制御装置100は、再度、自動的に画面を遷移させる。例えば、画面遷移制御装置100は、メニュー画面72に対応する値をサーバ200に送信することで、業務メニュー画面86を、サーバ200から受信する。画面遷移制御装置100は、業務メニュー画面86と、シナリオファイル70aの業務メニュー画面とが一致するため、業務メニュー画面73でサーバ200に送信する値を、サーバ200に送信する。
サーバ200は、画面遷移制御装置100から値を受信し、受信した値に対応する画面の情報を、画面遷移制御装置100に送信する装置である。
次に、図1に示した画面遷移制御装置100の構成の一例について説明する。図3は、本実施例に係る画面遷移制御装置の構成を示す機能ブロック図である。図3に示すように、この画面遷移制御装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
通信部110は、ネットワーク250を介して、サーバ200とデータ通信を実行する処理部である。後述する制御部150は、通信部110を介して、データをやり取りする。例えば、通信部110は、通信装置に対応する。
入力部120は、各種の情報を入力する入力装置であり、例えば、キーボードやマウスに対応する。表示部130は、制御部150から出力される各種の情報を表示する表示装置であり、液晶ディスプレイやモニタ等に対応する。
記憶部140は、シナリオテーブル140aを有する。例えば、記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
シナリオテーブル140aは、複数のシナリオファイルを保持するテーブルである。図4は、シナリオテーブルのデータ構造の一例を示す図である。図4に示すように、このシナリオテーブル140aは、シナリオグループIDと、シナリオファイルIDと、シーケンス番号と、シナリオデータとを対応付ける。シナリオグループIDは、シナリオグループを一意に識別する情報である。シナリオファイルIDは、シナリオファイルを一意に識別する情報である。シーケンス番号は、シナリオファイルに含まれるシナリオデータの実行順を示す番号である。シナリオデータは、サーバ200に送信する値や、画面を識別する情報が含まれるデータである。例えば、シナリオデータは、XML(Extensible Markup Language)形式のデータとなる。
例えば、図4において、シナリオグループID「G001」には、シナリオファイルID「001」のシナリオファイルと、シナリオファイルID「002」のシナリオファイルが存在する。シナリオファイルID「001」のシナリオファイルでは、シーケンス番号「01,02,03,04」のシナリオデータが順に読み出され画面を遷移させる処理が実行される。シナリオファイルID「002」のシナリオファイルでは、シーケンス番号「01,02」のシナリオデータが順に読み出され画面を遷移させる処理が実行される。
制御部150は、シナリオ作成部150aとシナリオ実行部150bとを有する。制御部150は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。また、制御部150は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。
シナリオ作成部150aは、シナリオファイルを作成し、作成したシナリオファイルを、シナリオテーブル140aに登録する処理部である。図5は、シナリオ作成部の処理を説明するための図である。図5に示すように、例えば、シナリオ作成部150aは、ステップS10〜ステップS12の処理を順に実行する。
シナリオ作成部150aが実行するステップS10の処理について説明する。シナリオ作成部150aは、入力部120から、URLの入力を受け付け、URLの値をサーバ200に送信する。また、シナリオ作成部150aは、URL値を、シナリオデータ1Aに書き出す。
シナリオ作成部150aが実行するステップS11の処理について説明する。シナリオ作成部150aは、ログイン画面の情報をサーバ200から取得した場合に、ログイン画面から画面識別情報「ログイン画面」を抽出する。シナリオ作成部150aは、画面識別情報「ログイン画面」を、シナリオデータ2Aに書き出す。シナリオ作成部150aは、ID、パスワードの入力を受け付け、ID、パスワードの値をサーバ200に送信する。また、シナリオ作成部150aは、ID、パスワードの値を、シナリオデータ2Aに書き出す。
シナリオ作成部150aが実行するステップS12の処理について説明する。シナリオ作成部150aは、業務メニュー画面の情報をサーバ200から取得した場合に、業務メニュー画面から画面識別情報「業務メニュー画面」、「SEメニュー」を抽出する。シナリオ作成部150aは、画面識別情報「業務メニュー画面」と「SEメニュー」を、シナリオデータ3Aに書き出す。シナリオ作成部150aは、送信情報を受け付け、送信情報をサーバ200に送信する。また、シナリオ作成部150aは、送信情報を、シナリオデータ3Aに書き出す。
シナリオ作成部150aが上記ステップS10〜12の処理を実行することで、シナリオデータ1A,2A,3Aを有するシナリオファイルが生成する。シナリオ作成部150aは、生成したシナリオファイルを、シナリオテーブル140aに登録する。なお、シナリオファイルに対応するシナリオファイルIDや、シナリオファイルIDは、入力部120を介して、利用者から指定される。また、図5に示した例では、シナリオデータ1A,2A,3Aのシーケンス番号はそれぞれ、01、02、03となる。
シナリオ実行部150bは、シナリオテーブル140aに登録されたシナリオファイルのシナリオデータをシーケンス番号順に読み出して実行することで、自動的に画面遷移を行う処理部である。また、シナリオ実行部150bは、画面を自動的に遷移させる過程において、シナリオファイルに定義された画面遷移順に従わない画面への遷移が発生した場合には、手動による画面遷移を許容する。そして、画面遷移制御装置100は、手動による画面遷移による遷移先の画面が、シナリオファイルに定義された画面遷移順上、画面遷移順に従わない画面への遷移の発生直前の画面の次の画面に一致することを検出すると、再度自動的に画面を遷移させる。
各ケースを例にして、シナリオ実行部150bの処理の一例について説明する。図6〜図8は、本実施例に係るシナリオ実行部の処理を説明するための図である。
まず、図6について説明する。図6は、シナリオファイルに定義された画面遷移順で、画面が遷移した場合の処理を示す。シナリオ実行部150bが実行するステップS21の処理について説明する。シナリオ実行部150bは、シナリオファイルのシナリオデータ1Aから、URLの値を取り出し、URLの値をサーバ200に送信する。
シナリオ実行部150bが実行するステップS22の処理について説明する。シナリオ実行部150bは、サーバ200から画面90aの情報を受信し、画面90aのHTMLソースを取得する。シナリオ実行部150bは、シナリオデータ2Aから画面識別情報「ログイン画面」を取得する。シナリオ実行部150bは、画面識別情報の文字列「ログイン画面」が、画面90aのHTMLのソース内に存在すると判定する。このため、シナリオ実行部150bは、シナリオデータ2Aの入力値「ID、パスワード」を、サーバ200に送信する。
シナリオ実行部150bが実行するステップS23の処理について説明する。シナリオ実行部150bは、サーバ200から画面90bの情報を受信し、画面90bのHTMLソースを取得する。シナリオ実行部150bは、シナリオデータ3Aから画面識別情報「業務メニュー画面」、「SEメニュー」を取得する。シナリオ実行部150bは、画面識別情報の文字列「業務メニュー画面」、「SEメニュー」が、画面90aのHTMLのソース内に存在すると判定する。このため、シナリオ実行部150bは、シナリオデータ3Aの送信情報を取り出し、サーバ200に送信情報を送信する。
図6のステップS21〜23に示したように、シナリオ実行部150bは、シナリオファイルに定義された画面遷移順で、画面が遷移した場合には、利用者による手動操作は行わせず、自動的に画面が遷移させる。
次に、図7について説明する。図7は、シナリオファイルに定義された画面遷移順に従わない画面への遷移が発生した場合の処理(1)を示す。シナリオ実行部150bが実行するステップS31の処理について説明する。シナリオ実行部150bは、シナリオファイルのシナリオデータ1Aから、URLの値を取り出し、URLの値をサーバ200に送信する。
シナリオ実行部150bが実行するステップS32の処理について説明する。シナリオ実行部150bは、サーバ200から画面91aの情報を受信し、画面91aのHTMLソースを取得する。シナリオ実行部150bは、シナリオデータ2Aから画面識別情報「ログイン画面」を取得する。シナリオ実行部150bは、画面識別情報の文字列「ログイン画面」が、画面91aのHTMLのソース内に存在すると判定する。このため、シナリオ実行部150bは、シナリオデータ2Aの入力値「ID、パスワード」を、サーバ200に送信する。
シナリオ実行部150bが実行するステップS33の処理について説明する。シナリオ実行部150bは、サーバ200から画面91bの情報を受信し、画面91bのHTMLソースを取得する。シナリオ実行部150bは、シナリオデータ3Aから画面識別情報「業務メニュー画面」、「SEメニュー」を取得する。シナリオ実行部150bは、画面識別情報の文字列「業務メニュー画面」、「SEメニュー」が、画面91bのHTMLのソース内に存在しないため、画面遷移順に従わない画面への遷移が発生したと判定する。
シナリオ実行部150bは、画面遷移順に従わない画面への遷移が発生したと判定すると、手動操作に切り替える。例えば、シナリオ実行部150bは、画面91bを表示部130に表示させ、利用者の入力を促す。利用者は、入力部120を操作して、画面91bに値を入力し、シナリオ実行部150bは、入力された値を、サーバ200に送信する。
シナリオ実行部150bは、手動操作に切り替えた後、サーバ200から画面の情報を受信する度に、画面遷移順に従った次の画面のシナリオデータ3Aに定義されている、画面識別情報「業務メニュー画面」、「SEメニュー」が、受信した画面のHTMLソースに含まれるか否かを判定する。シナリオ実行部150bは、画面識別情報「業務メニュー画面」、「SEメニュー」が、画面のHTMLソースに含まれない間は、手動操作を継続させる。これに対して、シナリオ実行部150bは、画面識別情報「業務メニュー画面」、「SEメニュー」が、画面のHTMLソースに含まれることを検出した場合には、手動操作を抑止し、自動的に画面遷移を行う処理に切り替える。
シナリオ実行部150bが実行するステップS34の処理について説明する。シナリオ実行部150bは、サーバ200から画面91cの情報を受信し、画面91cのHTMLソースを取得する。シナリオ実行部150bは、画面識別情報の文字列「業務メニュー画面」、「SEメニュー」が、画面91cのHTMLのソース内に存在するため、手動操作から自動的に画面遷移を行う処理に切り替える。シナリオ実行部150bは、シナリオデータ3Aの送信情報を取り出し、サーバ200に送信情報を送信する。
図7のステップS31〜34に示したように、シナリオ実行部150bは、シナリオファイルに定義された画面遷移順に従わない画面への遷移が発生した場合には、手動操作を許容する。そして、シナリオ実行部150bは、サーバ200から画面の情報を受信する度に、受信した画面が、シナリオファイルに定義された画面遷移順上、画面遷移順に従わない画面への遷移の発生直前の画面の次の画面に一致するか否かを判定する。シナリオ実行部150bは、受信した画面が、シナリオファイルに定義された画面遷移順上、画面遷移順に従わない画面への遷移の発生直前の画面の次の画面に一致することを検出すると、シナリオファイルに従って、再度自動的に画面を遷移させる。
次に、図8について説明する。図8は、シナリオファイルに定義された画面遷移順に従わない画面への遷移が発生した場合の処理(2)を示す。シナリオ実行部150bが実行するステップS41の処理について説明する。シナリオ実行部150bは、シナリオファイルのシステムデータ1Aから、URLの値を取り出し、URLの値をサーバ200に送信する。
シナリオ実行部150bが実行するステップS42の処理について説明する。シナリオ実行部150bは、サーバ200から画面92aの情報を受信し、画面92aのHTMLソースを取得する。シナリオ実行部150bは、シナリオデータ2Aから画面識別情報「ログイン画面」を取得する。シナリオ実行部150bは、画面識別情報の文字列「ログイン画面」が、画面92aのHTMLのソース内に存在しないと判定する。
ここで、シナリオ実行部150bは、シナリオデータ2Aの次のシナリオデータ3Aから、画面識別情報「業務メニュー画面」、「SEメニュー」を取得する。シナリオ実行部150bは、画面識別情報の文字列「業務メニュー画面」、「SEメニュー」が、画面92aのHTMLのソース内に存在する。このような場合には、シナリオ実行部150bは、ログイン画面が省略されたものと判定し、シナリオデータ3Aの実行処理に移行する。
シナリオ実行部150bは、シナリオデータ3Aから送信情報を取り出し、サーバ200に送信情報を送信する。
図8のステップS41〜42に示したように、シナリオ実行部150bは、シナリオファイルに定義された画面遷移順に従わない画面への遷移が発生した場合には、サーバ200から送信された画面が、次のシナリオデータの画面に一致するか否かを判定する。シナリオ実行部150bは、次の画面に一致すると判定した場合には、所定の画面がスキップされたものとして、次のシナリオを読み出して、自動的に画面を遷移させる。
次に、本実施例に係るシナリオ実行部150bの処理手順について説明する。図9は、本実施例に係るシナリオ実行部の処理手順を示すフローチャートである。図9に示すように、シナリオ実行部150bは、処理対象とするシナリオファイルから、未読み出しのシーケンス番号のうち実行順が最も早いシーケンス番号に対応づけられているシナリオデータを読み出し(ステップS101)、終了であるか否かを判定する(ステップS102)。シナリオ実行部150bは、終了である場合には(ステップS102,Yes)、処理を終了する。
一方、シナリオ実行部150bは、終了でない場合には(ステップS102,No)、シーケンス番号「01」のシナリオデータであるか否かを判定する(ステップS103)。シナリオ実行部150bは、シーケンス番号「01」のシナリオデータである場合には(ステップS103,Yes)、シナリオデータにURL値があるか否かを判定する(ステップS104)。シナリオ実行部150bは、シナリオデータにURL値がない場合には(ステップS104,No)、処理を終了する。
一方、シナリオ実行部150bは、シナリオデータにURL値がある場合には(ステップS104,Yes)、URL値をサーバ200に送信し(ステップS105)、ステップS101に移行する。
ステップS103の説明に戻る。シナリオ実行部150bは、シーケンス番号「01」のシナリオデータでない場合には(ステップS103,No)、サーバ200から画面を受信したか否かを判定する(ステップS106)。シナリオ実行部150bは、サーバ200から画面を受信しない場合には(ステップS106,No)、再度ステップS106に移行する。すなわち、サーバ200から画面が送信されてくるのを待機する。
一方、シナリオ実行部150bは、サーバ200から画面を受信した場合には(ステップS106,Yes)、受信した画面からHTMLデータを取得する(ステップS107)。シナリオ実行部150bは、HTMLデータに、シナリオデータの画面識別情報が含まれるか否かを判定する(ステップS108)。シナリオ実行部150bは、HTMLデータに、シナリオデータの画面識別情報が含まれる場合には(ステップS108,Yes)、シナリオデータの値をサーバ200に送信し(ステップS109)、ステップS101に移行する。
一方、シナリオ実行部150bは、HTMLデータに、シナリオデータの画面識別情報が含まれない場合には(ステップS108,No)、手動操作を許容し、シナリオファイルから次のシナリオデータ、すなわち未読み出しのシーケンス番号のうち実行順が最も早いシーケンス番号に対応づけられているシナリオデータを読み出す(ステップS110)。シナリオ実行部150bは、終了であるか否かを判定する(ステップS111)。シナリオ実行部150bは、終了である場合には(ステップS111,Yes)、処理を終了する。
一方、シナリオ実行部150bは、終了でない場合には(ステップS111,No)、受信した画面のHTMLデータに、S110で読み出したシナリオデータの画面識別情報が含まれるか否かを判定する(ステップS112)。シナリオ実行部150bは、受信した画面のHTMLデータに、シナリオデータの画面識別情報が含まれる場合には(ステップS112,Yes)、自動モードに復帰し、シナリオデータの値をサーバ200に送信する(ステップS113)。そして、シナリオ実行部150bは、ステップS101に移行する。
一方、シナリオ実行部150bは、受信した画面のHTMLデータに、シナリオデータの画面識別情報が含まれない場合には(ステップS112,No)、直前に読み込んだシナリオデータの一つ前のデータを読み直し(ステップS114)、ステップS106に移行する。なお、ステップS114において、シナリオ実行部150bは、一つ前に読み込みポイントを戻している。
なお、シナリオ実行部150bは、図9に示した処理のうち、S110、S111、S112、S113、S114の処理を実行しないようにすることもできる。そうすることで、先に図6と図7を用いて説明した動作のみが実行されることになる。この場合には、S108でNOの後に、手動操作を許容し、ステップS106に移行する。またその際には、S109で自動モードに復帰する処理を追加する。
次に、本実施例に係る画面遷移制御装置100の効果について説明する。画面遷移制御装置100は、画面を自動的に遷移させる過程において、シナリオファイルに定義された画面遷移順に従わない画面への遷移が発生した場合には、手動による画面遷移を許容する。そして、画面遷移制御装置100は、手動による画面遷移による遷移先の画面が、シナリオファイルに定義された画面遷移順上、画面遷移順に従わない画面への遷移の発生直前の画面の次の画面に一致することを検出すると、再度自動的に画面を遷移させる。このため、画面遷移制御装置100によれば、画面遷移順に従わない画面への遷移が発生し、手動操作を行わせた後、所定の条件により、自動遷移に復帰するため、手動による画面遷移の操作を削減することができる。
また、画面遷移制御装置100は、システムファイルに登録された画面遷移後の画面識別情報に対応する情報が、画面遷移後の画面のHTMLファイルに含まれない場合に、所定の画面遷移順に従わない画面への遷移が発生したと判定する。このため、例えば、画面識別子の有無による簡易的な方法で、画面への遷移が所定の順序か否かを判定できる。
ところで、上述したシナリオ作成部150aの処理は一例である。以下において、シナリオ作成部150aのその他の処理について説明する。例えば、シナリオ作成部150aは、一部の画面を自動的に画面遷移させるためのシナリオデータを意図的に作成しないことで、所定の画面のみ利用者に手動操作を実行させることができる。
図10は、シナリオ作成部のその他の処理を説明するための図である。図10に示すように、シナリオ作成部150aは、ステップS51〜ステップS53の処理を順に実行する。図10に示す処理では、ログイン画面を自動的に画面遷移させないためのシナリオファイルを作成する場合について説明する。
シナリオ作成部150aが実行するステップS51の処理について説明する。シナリオ作成部150aは、入力部120からURLの入力を受け付け、URLの値をサーバ200に送信する。また、シナリオ作成部150aは、URL値を、シナリオデータ1Bに書き出す。
シナリオ作成部150aが実行するステップS52の処理について説明する。シナリオ作成部150aは、入力部120から自動オフ情報の入力を受け付ける。例えば、利用者は、入力部120を操作して、画面上の自動オンボタンを押下して、自動オフボタンに切り替えることで、自動オフ情報を入力する。シナリオ作成部150aは、自動オフ情報の入力を受け付けた場合には、該当する画面のシナリオデータの作成をスキップする。図10に示す例では、ログイン画面に対応するシナリオデータの作成をスキップする。シナリオ作成部150aは、ID、パスワードの入力を受け付け、ID、パスワードの値をサーバ200に送信する。
シナリオ作成部150aが実行するステップS53の処理について説明する。シナリオ作成部150aは、入力部120から自動オン情報の入力を受け付ける。例えば、利用者は、入力部120を操作して、画面上の自動オフボタンを押下して、自動オンボタンに切り替えることで、自動オン情報を入力する。シナリオ作成部150aは、自動オン情報の入力を受け付けた場合には、該当する画面のシナリオデータを作成する。
シナリオ作成部150aは、業務メニュー画面から画面識別情報「業務メニュー画面」、「SEメニュー」を抽出する。シナリオ作成部150aは、画面識別情報「業務メニュー画面」と「SEメニュー」を、シナリオデータ2Bに書き出す。シナリオ作成部150aは、送信情報を受け付け、送信情報をサーバ200に送信する。また、シナリオ作成部150aは、送信情報を、シナリオデータ2Bに書き出す。
次に、図10でシナリオ作成部150aにより作成されたシナリオファイルを実行するシナリオ実行部150bの処理の一例について説明する。図11は、本実施例に係るシナリオ実行部の処理を説明するための図(4)である。
シナリオ実行部150bが実行するステップS61の処理について説明する。シナリオ実行部150bは、シナリオファイルのシナリオデータ1Bから、URLの値を取り出し、URLの値をサーバ200に送信する。
シナリオ実行部150bが実行するステップS62の処理について説明する。シナリオ実行部150bは、サーバ200から画面93aの情報を受信し、画面93aのHTMLソースを取得する。シナリオ実行部150bは、シナリオデータ2Bから画面識別情報「業務メニュー画面」、「SEメニュー」を取得する。シナリオ実行部150bは、画面識別情報の文字列「業務メニュー画面」、「SEメニュー」が、画面93aのHTMLのソース内に存在しないため、画面遷移順に従わない画面への遷移が発生したと判定する。
シナリオ実行部150bは、画面遷移順に従わない画面への遷移が発生したと判定すると、手動操作に切り替える。例えば、シナリオ実行部150bは、画面93aを表示部130に表示させ、利用者の入力を促す。利用者は、入力部120を操作して、画面93aに値を入力し、シナリオ実行部150bは、入力された値を、サーバ200に送信する。
シナリオ実行部150bが実行するステップS63の処理について説明する。シナリオ実行部150bは、サーバ200から画面93bの情報を受信し、画面93bのHTMLソースを取得する。シナリオ実行部150bは、画面識別情報の文字列「業務メニュー画面」、「SEメニュー」が、画面93bのHTMLのソース内に存在するため、手動操作から自動的に画面遷移を行う処理に切り替える。シナリオ実行部150bは、シナリオデータ2Bの送信情報を取り出し、サーバ200に送信情報を送信する。
図10、図11で説明したように、例えば、シナリオ作成部150aは、ログイン画面を自動的に画面遷移させるためのシナリオデータを意図的に作成しないことで、ログイン画面のみ利用者に手動操作を実行させることができる。
次に、上記実施例に示した画面遷移制御装置100と同様の機能を実現する画面遷移制御プログラムを実行するコンピュータの一例について説明する。図12は、画面遷移制御プログラムを実行するコンピュータの一例を示す図である。
図12に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読取る読み取り装置304と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置305とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。そして、各装置301〜307は、バス308に接続される。
ハードディスク装置307は、制御プログラム307aを有する。CPU301は、制御プログラム307aを読み出してRAM306に展開する。制御プログラム307aは、制御プロセス306aとして機能する。例えば、制御プロセス306aは、制御部150に対応する。
なお、制御プログラム307aについては、必ずしも最初からハードディスク装置307に記憶させておかなくても良い。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が制御プログラム307aを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータが実行する画面遷移制御方法であって、
自動画面遷移モードの実行中に、所定の画面遷移順に従わない画面への遷移が発生したことを検出すると、前記自動画面遷移モードを中止して、手動による画面遷移を許容し、
手動による画面遷移による遷移先の画面が、前記所定の画面遷移順上、前記所定の画面遷移順に従わない画面への遷移の発生直前の画面の次の画面に一致することを検出すると、自動画面遷移モードを再開する、
処理を実行することを特徴とする画面遷移制御方法。
(付記2)前記手動による画面遷移を許容する処理は、前記所定の画面遷移順に従わない画面が、前記次の画面の更に次の画面と一致する場合には、手動による画面遷移を許容しないで、自動画面遷移モードを継続することを特徴とする付記1に記載の画面遷移制御方法。
(付記3)前記所定の画面遷移順に従わない画面への遷移が発生したことを検出する処理は、前記所定の画面遷移順に含まれる各画面と対応付けて登録された画面識別情報のうち、前記所定の画面遷移順上で次の遷移順である画面と対応する画面識別情報に示される情報が、前記コンピュータが通信可能なサーバから受信した画面遷移後の画面の情報に含まれない場合に、前記所定の画面遷移順に従わない画面への遷移が発生したと判定することを特徴とする付記1または2に記載の画面遷移制御方法。
(付記4)前記コンピュータは、通信可能に接続されたサーバに対してアクセスすることに応じて該サーバから送信されてくる前記画面を受信し、前記検出する処理は、前記受信した画面を処理対象とすることを特徴とする付記1乃至3いずれか1に記載の画面遷移制御方法。
(付記5)コンピュータに、
自動画面遷移モードの実行中に、所定の画面遷移順に従わない画面への遷移が発生したことを検出すると、前記自動画面遷移モードを中止して、手動による画面遷移を許容し、
手動による画面遷移による遷移先の画面が、前記所定の画面遷移順上、前記所定の画面遷移順に従わない画面への遷移の発生直前の画面の次の画面に一致することを検出すると、自動画面遷移モードを再開する
処理を実行させることを特徴とする画面遷移制御プログラム。
(付記6)前記手動による画面遷移を許容する処理は、前記所定の画面遷移順に従わない画面が、前記次の画面の更に次の画面と一致する場合には、手動による画面遷移を許容しないで、自動画面遷移モードを継続することを特徴とする付記5に記載の画面遷移制御プログラム。
(付記7)前記所定の画面遷移順に従わない画面への遷移が発生したことを検出する処理は、前記所定の画面遷移順に含まれる各画面と対応付けて登録された画面識別情報のうち、前記所定の画面遷移順上で次の遷移順である画面と対応する画面識別情報に示される情報が、前記コンピュータが通信可能なサーバから受信した画面遷移後の画面の情報に含まれない場合に、前記所定の画面遷移順に従わない画面への遷移が発生したと判定することを特徴とする付記5または6に記載の画面遷移制御プログラム。
(付記8)前記コンピュータは、通信可能に接続されたサーバに対してアクセスすることに応じて該サーバから送信されてくる前記画面を受信し、前記検出する処理は、前記受信した画面を処理対象とすることを特徴とする付記5乃至7いずれか1に記載の画面遷移制御プログラム。
(付記9)自動画面遷移モードの実行中に、所定の画面遷移順に従わない画面への遷移が発生したことを検出すると、前記自動画面遷移モードを中止して、手動による画面遷移を許容し、手動による画面遷移による遷移先の画面が、前記所定の画面遷移順上、前記所定の画面遷移順に従わない画面への遷移の発生直前の画面の次の画面に一致することを検出すると、自動画面遷移モードを再開する制御部
を有することを特徴とする画面遷移制御装置。
(付記10)前記制御部は、前記所定の画面遷移順に従わない画面が、前記次の画面の更に次の画面と一致する場合には、手動による画面遷移を許容しないで、自動画面遷移モードを継続することを特徴とする付記9に記載の画面遷移制御装置。
(付記11)前記制御部は、前記所定の画面遷移順に含まれる各画面と対応付けて登録された画面識別情報のうち、前記所定の画面遷移順上で次の遷移順である画面と対応する画面識別情報に示される情報が、前記コンピュータが通信可能なサーバから受信した画面遷移後の画面の情報に含まれない場合に、前記所定の画面遷移順に従わない画面への遷移が発生したと判定することを特徴とする付記9または10に記載の画面遷移制御装置。
(付記12)前記制御部は、通信可能に接続されたサーバに対してアクセスすることに応じて該サーバから送信されてくる前記画面を受信し、前記受信した画面を処理対象とすることを特徴とする付記9乃至11いずれか1に記載の画面遷移制御装置。