<情報処理装置の一例>
以下、図面を参照して、実施形態について説明する。図1は、情報処理装置1の一例を示す。情報処理装置1は、例えば、パーソナルコンピュータ(コンピュータ)である。情報処理装置1には、表示装置2および入力装置3が接続される。
表示装置2は、例えば、ディスプレイである。入力装置3は、例えば、キーボードやマウス等である。表示装置2および入力装置3は、情報処理装置1と一体型であってもよい。例えば、情報処理装置1が、タブレット端末等である場合、表示装置2および入力装置3は、情報処理装置1と一体型となる。
情報処理装置1は、制御部11と分析部12と処理部13と表示制御部14と入力受け付け部15と記憶部16とを含む。制御部11は、各種の制御を行う。
分析部12は、特定の操作(目的操作)を入力受け付け部15が受け付けた場合、該目的操作に応じた結果を出力するために必要な情報を設定するための設定画面を表示装置2に表示させるか否かの分析を行なう。分析部12は、判定部の一例である。
処理部13は、所定の処理を行なう。表示制御部14は、表示装置2の表示内容を制御する。入力受け付け部15は、入力装置3を用いた入力操作を受け付ける。記憶部16は、上述した各テーブルを含む、各種の情報を記憶する。
<画面の遷移例>
図2における「初期画面」は、表示装置2に表示される画面の一例を示す。初期画面は、第1画面の一例である。初期画面には、操作1というボタンと、操作2というボタンが配置される。操作1および操作2は、目的操作の一例である。なお、第1画面は、初期画面以外の画面であってもよい。
ユーザが、マウスとしての入力装置3を用いて、操作1のボタンを押下する操作を行ったとする。図2における矢印Pは、マウスポインタであることを示す。入力受け付け部15は、該操作を受け付ける。該操作は、初期画面から目的画面に遷移する指示の一例である。
入力受け付け部15が、上記操作を受け付けると、処理部13は、操作1に対応する処理を行なう。処理部13が、操作1に対応する処理を行う際に、必要な情報(以下、パラメータとする)があるとする。該必要な情報は、パラメータ以外であってもよい。
分析部12は、上記パラメータが全て設定されているか否かを判定する。操作1に対応する処理を行なうために必要な全てのパラメータが設定されている場合、処理部13は、操作1に対応する処理を行い、処理結果(目的の結果)を出力する制御を行う。
実施形態では、表示制御部14が、処理結果を表示装置2に表示する制御を行うことで、表示装置2に処理結果が表示される。図2の例では、「操作1に対応する処理が完了しました。」という処理結果が、目的画面として、表示装置2に表示される。目的画面は、第2画面の一例である。
一方、未設定のパラメータがあると分析部12が判定した場合、処理部13は、操作1に対応する処理を行なわない。この場合、表示制御部14は、未設定のパラメータに値を設定するための設定画面を表示する制御を行う。設定画面は、第3画面の一例である。
図3に示されるように、初期画面において、操作1のボタンを押下する操作が行われると、入力受け付け部15は、該操作を受け付ける。分析部12は、記憶部16に記憶されている各テーブルを参照して、未設定のパラメータがあるか否かを判定する。
操作1に対応する処理には、パラメータ2およびパラメータ3が必要であり、且つパラメータ2およびパラメータ3が未設定であったとする。分析部12が、パラメータ2およびパラメータ3が未設定であると判定した場合、表示制御部14は、パラメータ2およびパラメータ3を設定するための設定画面2を表示装置2に表示する制御を行う。
該制御に基づいて、表示装置2に、図3に示される設定画面2が表示される。例えば、ユーザが、入力装置3を用いて、パラメータ2およびパラメータ3に値を入力し、確定ボタンを押下すると、入力受け付け部15は、該操作を受け付ける。
パラメータ2およびパラメータ3が設定されたため、処理部13は、操作1に対応する処理を行い、処理結果を出力する。表示制御部14は、処理結果を示す目的画面を表示装置2に表示させる。
従って、操作1に対応する処理を行なうために必要となるパラメータが設定されていない場合、初期画面と目的画面との間に、設定画面が表示されるように、表示制御部14が表示制御を行う。
例えば、未設定のパラメータがある場合、情報処理装置が、未設定のパラメータがあることを示す画面を表示することで、ユーザに、未設定のパラメータの存在を認識させることができる。
この場合、ユーザは、未設定のパラメータがあることを示す画面から、設定画面を表示する操作を行い、その後、設定画面において、パラメータの値を入力する。これにより、パラメータの設定がされる。従って、ユーザは、設定画面を表示させる操作を行う必要があり、目的操作を実施する際のユーザの利便性が低下する。
一方、実施形態では、表示制御部14が、初期画面、設定画面2、目的画面の順番で直列的に表示が遷移するように、表示装置2に対して表示制御を行う。これより、未設定のパラメータが存在していたとしても、設定画面2を表示させる別途の操作を行わなくても、自動的に設定画面2が表示される。
従って、ユーザに対して、余計な操作を強いることがないため、目的操作を実施する際のユーザの利便性が向上する。また、表示装置2には、初期画面、設定画面2、目的画面の順番で直列的に表示がされるため、ユーザは、自然な操作感で、目的操作を実施できる。
次に、設定画面(第3の画面)が複数存在する場合について説明する。例えば、操作1に対応する処理を行なうために必要となるパラメータ2とパラメータ3とのそれぞれの設定画面が異なる場合がある。
例えば、操作1に対応する処理を行なうために必要となる複数のパラメータのそれぞれについて、優先度が設定されている場合、表示制御部14は、優先度に応じて、設定画面を表示装置2に表示する制御を行ってもよい。
例えば、パラメータ3の優先度よりもパラメータ2の優先度の方が高い場合、表示制御部14は、パラメータ3の設定画面よりも先に、パラメータ2の設定画面を表示する制御を、表示装置2に対して行う。
例えば、電子メールソフトウェア(以下、メーラ)において、ユーザ認証設定とメールサーバ設定とでは、ユーザ認証設定の方が先に行なわれることが好ましい場合がある。ユーザ認証設定のパラメータがパラメータ2であり、メールサーバ設定のパラメータがパラメータ3であるとする。
この場合、表示制御部14は、パラメータ3を設定する設定画面よりも、パラメータ2を設定する設定画面を先に表示する制御を、表示装置2に対して行なう。該制御に基づいて、表示装置2には、パラメータ2の設定画面が先に表示され、該設定画面でパラメータ2の値が設定された後に、パラメータ3の設定画面が表示される。
また、操作1に対応する処理を行なうために必要となるパラメータによっては、該パラメータを設定するために必要なパラメータが存在する場合もある。例えば、パラメータ2を設定するためには、パラメータ4の設定が必要な場合もある。以下、パラメータを設定するために必要なパラメータを、前提パラメータと称する。
図4の例において、初期画面において、操作1のボタンが押下されたとする。入力受け付け部15が、該押下操作を受け付けると、分析部12は、操作1に対応する処理を行なうために必要となるパラメータ2およびパラメータ3が未設定であると判定する。
また、分析部12は、パラメータ2の設定には、前提パラメータ4の設定が必要であることを認識する。パラメータ2およびパラメータ3の設定画面は、設定画面2であり、前提パラメータ4の設定画面は、設定画面3であるとする。設定画面3は、他の第3画面の一例である。
この場合、表示制御部14は、設定画面2よりも前に、設定画面3を表示する制御を行う。該制御に基づいて、表示装置2は、設定画面3を表示する。図4に示されるように、表示制御部14は、表示装置2に表示される画面を、初期画面から設定画面3に遷移させる。
設定画面3において、ユーザが、入力装置3を用いて、前提パラメータ4の値を入力した場合、入力受け付け部15は、該入力操作を受け付ける。これにより、前提パラメータ4が設定される。
パラメータ4が設定されると、表示制御部14は、パラメータ2およびパラメータ3の設定画面2を表示装置2に表示させる制御を行う。該制御に基づいて、表示装置2に、設定画面2が表示される。
設定画面2において、ユーザが、入力装置3を用いて、パラメータ2およびパラメータ3の値を入力した場合、入力受け付け部15は、該入力操作を受け付ける。これにより、パラメータ2およびパラメータ3が設定される。
従って、操作1に対応する処理を行なうために必要なパラメータが全て設定される。処理部13は、操作1に対応する処理を行う。表示制御部14は、処理部13の処理結果を示す目的画面を表示装置2に表示させる制御を行う。該制御に基づいて、表示装置2には、目的画面が表示される。
上述したように、未設定のパラメータを設定するために必要な前提パラメータが未設定である場合、表示制御部14は、前提パラメータを設定する設定画面を先に表示する制御を行う。そして、前提パラメータが設定された後、表示制御部14は、未設定のパラメータを表示する制御を行う。
従って、表示装置2には、前提パラメータ4を設定するための設定画面3が表示され、次に、設定済みの前提パラメータに基づくパラメータ2、およびパラメータ3を設定するための設定画面2が表示される。
つまり、パラメータと前提パラメータとの間の関係性に基づいて、設定画面の順番が適正に且つ直列的に、表示装置2に表示される。従って、未設定のパラメータについての前提パラメータが未設定である場合でも、ユーザは、適正な表示順に従って、パラメータの値を設定できることから、目的操作を実施する際のユーザの利便性が向上する。
前提パラメータ4に対して設定が必要な他の前提パラメータが存在する場合、表示制御部14は、前提パラメータ4を設定する設定画面よりも前に、他の前提パラメータを設定するための設定画面を表示する制御を行う。
従って、分析部12は、初期画面で選択された操作についての各パラメータを探索し、最先に設定する必要があるパラメータ(前提パラメータ)を特定し、表示制御部14は、特定されたパラメータの設定画面を表示装置2に表示する。分析部12および表示制御部14は、以上の処理を再帰的に行う。
前提パラメータに対して設定が必要な前提パラメータが階層的に存在する場合でも、上記の処理が行われることで、設定画面の順番が適正に且つ直列的に、表示装置2に表示される。
<各種テーブル例>
次に、図5および図6を参照して、記憶部16に記憶される各種テーブルの例について説明する。分析部12は、各テーブルを参照して、上述した処理を行なう。図5(A)は、操作テーブルTAの一例を示す。
操作テーブルTAは、操作と優先度とパラメータとの項目を含む。操作は、初期画面に表示される操作ボタンに対応する操作を示す。優先度は、操作ごとの優先度を示す。パラメータは、操作に対応する処理を行なうために必要なパラメータを示す。
図5(B)は、パラメータテーブルTBの一例を示す。パラメータテーブルTBは、パラメータと値との項目を含む。パラメータは、操作テーブルTAのパラメータに対応する。値は、パラメータの値を示す。パラメータテーブルTBにおいて、値が「NULL」は、パラメータの設定がされていないことを示す。
図6(A)は、画面テーブルTCの一例を示す。画面テーブルTCは、パラメータと画面との項目を示す。パラメータは、操作テーブルTAおよびパラメータテーブルTBのパラメータに対応する。画面テーブルTCは、パラメータに対応する設定画面を示す。
図6(B)は、前提パラメータテーブルTDの一例を示す。前提パラメータテーブルTDは、パラメータと優先度と前提パラメータとの項目を含む。パラメータは、操作テーブルTA、パラメータテーブルTBおよび画面テーブルTCのパラメータに対応する。
優先度は、パラメータごとの優先度を示す。前提パラメータは、パラメータに対して設定が必要なパラメータを示す。前提パラメータが「なし」であるパラメータは、前提パラメータがないことを示す。
例えば、図5(A)の操作テーブルの例において、操作1に対応する処理を行なうために必要なパラメータは、パラメータ1、パラメータ2およびパラメータ3である。従って、パラメータ1〜パラメータ3のうち何れか1つが未設定である場合、処理部13は、操作1に対応する処理を行なわない。
例えば、初期画面において、操作1が選択されたとする。分析部12は、操作テーブルTAを参照して、操作1に対応する各パラメータのうち、優先度が最も高いパラメータ1を取得する。分析部12は、パラメータ1に設定がされているかを判定する。
分析部12は、パラメータテーブルTBを参照して、パラメータ1の値が「NULL」であるか否かを判定する。パラメータ1に対応する値は「NULL」ではない。従って、分析部12は、パラメータ1は設定されていると判定する。
分析部12は、操作テーブルTAを参照して、次に優先度が高いパラメータ2を取得し、該パラメータ2に設定がされているかを判定する。分析部12は、パラメータテーブルTBを参照して、パラメータ2の値が「NULL」であるかを判定する。
分析部12は、パラメータ2の値が「NULL」であるため、パラメータ2が未設定であることを認識する。分析部12は、図6(B)に示される前提パラメータテーブルTDを参照して、パラメータ2に対応する前提パラメータのうち、優先度が最も高い前提パラメータの値が「なし」であるかを判定する。
優先度が最も高い前提パラメータの値は「なし」ではなく、パラメータ4である。従って、分析部12は、パラメータ2についての前提パラメータ4が存在することを認識する。
分析部12は、図5(B)に示されるパラメータテーブルTBを参照して、前提パラメータ4(パラメータ4)に対応する値が「NULL」であるかを判定する。該値は「NULL」であるため、分析部12は、前提パラメータ4に設定がされていないことを認識する。
分析部12は、図6(B)に示される前提パラメータテーブルTDを参照して、前提パラメータ4(パラメータ4)に対応する前提パラメータが、パラメータ6であり、「なし」でないことを認識する。
分析部12は、図5(B)に示されるパラメータテーブルTBを参照して、前提パラメータ6(パラメータ6)に対応する値が「NULL」であるかを判定する。該値は「NULL」でないため、分析部12は、前提パラメータ4に設定がされていることを認識する。
従って、分析部12は、前提パラメータ4(パラメータ4)に対する設定を行なうことを認識する。表示制御部14は、画面テーブルTCを参照して、パラメータ4に対応する設定画面3を、表示装置2に表示させる制御を行う。該制御に基づいて、表示装置2には、設定画面3が表示される。つまり、表示装置2の表示内容は、初期画面から設定画面3に切り替わる。
例えば、ユーザが、入力装置3を用いて、設定画面3の表示内容に基づいて、パラメータ4の値を入力したとする。入力受け付け部15は、該値の入力を受け付ける。これにより、パラメータ4が設定される。
上記の処理は、パラメータ2に対応する前提パラメータ4に対する処理である。図6(B)に示されるように、前提パラメータテーブルTDのうち、パラメータ2には、対応する前提パラメータ5がある(優先度=2)。
分析部12は、パラメータテーブルTBを参照して、前提パラメータ5(パラメータ5)に対応する値が「NULL」であるかを判定する。該値は、「NULL」ではないため、分析部12は、パラメータ2に対応する前提パラメータ5(パラメータ5)の設定がされていることを認識する。
図6(B)の前提パラメータテーブルTDに示されるように、パラメータ2に対応する前提パラメータは、前提パラメータ4および前提パラメータ5である。上述したように、パラメータ4およびパラメータ5に対する設定は完了している。従って、分析部12は、パラメータ2が、設定の対象であることを認識する。
表示制御部14は、図6(A)の画面テーブルTCを参照して、パラメータ2に対応する設定画面2を、表示装置2に表示させる制御を行う。該制御に基づいて、表示装置2の表示内容は、設定画面3から設定画面2に切り替わる。
ユーザは、入力装置3を用いて、設定画面2の表示内容に基づいて、パラメータ2の値を入力する。入力受け付け部15は、該値の入力を受け付ける。これにより、パラメータ2が設定される。
図5(A)の操作テーブルTAに示されるように、操作1の優先度2に対応するパラメータは、パラメータ2であり、上述したように、該パラメータ2の設定は完了している。分析部12は、操作1の優先度3に対応するパラメータ3について、パラメータテーブルTBを参照して、該パラメータ3に対応する値が「NULL」であるかを判定する。
該値は、「NULL」であるため、分析部12は、図6(B)に示される前提パラメータテーブルTDを参照して、パラメータ3に対応する前提パラメータが「なし」であるかを判定する。
パラメータ3に対応する前提パラメータは「なし」であるため、分析部12は、パラメータ3が設定の対象であることを認識する。表示制御部14は、図6(A)の画面テーブルTCを参照して、パラメータ3に対応する設定画面が設定画面2であることを認識する。
表示装置2には、設定画面2が表示されている。ユーザが、設定画面2の表示内容に基づいて、入力装置3を用いて、パラメータ3の値を入力すると、入力受け付け部15は、該値の入力を受け付ける。これにより、パラメータ3が設定される。
図5(A)の操作テーブルTAに示されるように、操作1に対応するパラメータは、パラメータ1〜パラメータ3であり、該パラメータ1〜パラメータ3の設定は完了している。従って、分析部12は、操作1に対応する処理に必要なパラメータは全て設定されていることを認識する。
処理部13は、操作1に対応する処理を行なう。表示制御部14は、処理結果を示す目的画面を表示装置2に表示させる制御を行う。該制御に基づいて、目的画面が表示装置2に表示される。
上述したように、分析部12は、操作に対応するパラメータが設定されていない場合、該パラメータに対応する前提パラメータがある場合には、該前提パラメータが設定されているかを判定する。
分析部12は、前提パラメータが設定されていない場合、該前提パラメータをパラメータとして、対応する前提パラメータが設定されているかを判定する。該対応する前提パラメータが設定されていない場合、分析部12は、再び、該対応する前提パラメータに対応する前提パラメータが設定されているかを判定する。
以上のように、分析部12は、設定されていない前提パラメータをパラメータとして、対応する前提パラメータが設定されているかを再帰的に探索する。そして、分析部12は、対応する前提パラメータが全て設定されているパラメータ(前提パラメータ)を確認した場合、該パラメータを設定画面で設定するパラメータとして特定する。
表示制御部14は、特定されたパラメータ(前提パラメータ)を設定する画面が表示されるように表示装置2に対して制御を行う。該制御に基づいて、表示装置2に、設定画面が表示される。該設定画面に基づいて、パラメータが設定される。
分析部12は、操作に対応するパラメータが全て設定されるまで、上述した処理を行なう。従って、前提パラメータに対して設定が必要な前提パラメータが階層的に存在する場合でも、上述した処理が行われることで、設定画面の順番が適正に且つ直列的に、表示装置2に表示される。
<実施形態の処理の流れの一例>
図7および実施形態の処理の流れの一例について説明する。表示装置2には、初期画面が表示されているものとする。ユーザが、入力装置3を用いて、操作ボタンを押下すると、入力受け付け部15は、該操作を受け付ける(ステップS1)。
分析部12は、上記操作に対応するパラメータが全て設定完了されているかを判定する(ステップS2)。ステップS2でNOの場合、操作に対応するパラメータを優先度順に取得する(ステップS3)。
分析部12は、取得したパラメータの値が「NULL」であるかを判定する(ステップS4)。ステップS4でNOの場合、該パラメータには設定がされているため、処理は、ステップS2に戻る。
ステップS4でYESの場合、ステップS3で取得されたパラメータに対応する前提パラメータの設定処理が行なわれる(ステップS5)。ステップS5の処理が完了すると、パラメータに対応する前提パラメータの設定は、全て完了する。
表示制御部14は、パラメータに対応する設定画面が表示装置2に表示されるように制御を行う。該制御に基づいて、表示装置2に設定画面が表示される(ステップS6)。ユーザが、入力装置3を用いて、パラメータの値を入力すると、入力受け付け部15は、該値の入力を受け付ける。該値は、記憶部16に記憶される(ステップS7)。そして、処理は、ステップS2に戻る。
ステップS2でYESの場合、操作に対応する全てのパラメータの設定は完了している。表示制御部14は、目的画面が表示装置2に表示されるように制御を行う。該制御に基づいて、表示装置2には目的画面が表示される(ステップS8)。そして、処理は、終了する。
次に、ステップS5の前提パラメータ設定処理について、図8を参照して説明する。分析部12は、前提パラメータが全て設定されたかを判定する(ステップS11)。ステップS11でNOの場合、分析部12は、前提パラメータテーブルTDを参照して、ステップS3で取得されたパラメータに対応する前提パラメータを優先度順に取得する。
分析部12は、取得した前提パラメータが「なし」であるかを判定する(ステップS13)。ステップS13でYESの場合、分析部12は、前提パラメータがないことを認識する。そして、処理は、ステップS11に戻る。
ステップS13でNOの場合、分析部12は、パラメータテーブルTBを参照して、上記の前提パラメータ(パラメータ)に対応する値が「NULL」であるかを判定する(ステップS14)。ステップS14でNOの場合、前提パラメータが設定されているため、処理は、ステップS11に戻る。
ステップS14でYESの場合、前提パラメータは設定されていない。分析部12は、前提パラメータテーブルTDおよびパラメータテーブルTBを参照して、前提パラメータを再帰的に探索する(ステップS15)。
そして、分析部12は、上記の再帰的な探索の結果、設定済みの前提パラメータを特定した場合、前提パラメータテーブルTDに対応するパラメータを認識する。表示制御部14は、画面テーブルTCを参照して、上記パラメータに対応する設定画面が表示装置2に表示されるように制御する。該制御に基づいて、設定画面が表示装置2に表示される。
入力受け付け部15が、値の入力を受け付けると、該値は、記憶部16に記憶される(ステップS17)。そして、処理は、ステップS11に戻る。ステップS3で取得されたパラメータに対応する前提パラメータが全て設定されるまで、ステップS12乃至ステップS17の処理が繰り返される。
ステップS3で取得されたパラメータに対応する前提パラメータが全て設定されると、ステップS11でYESになる。ステップS11でYESの場合、前提パラメータ設定処理は終了する。
<他の例における各種テーブルの一例>
次に、図9の例を参照して、他の例における各種テーブルの一例について説明する。他の例は、操作と前提操作との関係性に着目して、設定画面の順番を適正に且つ直列的に表示装置2に表示する例である。他の例では、パラメータの使用を前提としないため、操作の定義についての自由度が向上し、汎用的な分析が可能になる。
図9(A)において、操作テーブルTEは、操作と優先度と前提操作との項目を含む。前提操作は、対応する操作が行われる前に、実行が完了している必要がある操作である。操作テーブルTEにおける、操作および前提操作は、操作を特定する情報(名称)を示す。
図9(B)において、操作状態テーブルTFは、操作と値との項目を含む。操作状態テーブルTFにおいて、値が「FINISHED」であれば、該値に対応する操作は実行済みであることを示す。該値が「NULL」であれば、該値に対応する操作は、未実行であることを示す。
図9(C)において、画面テーブルTGは、操作と操作画面との項目を含む。操作画面は、例えば、対応する操作を促す画面である。他の例において、操作テーブルTE、操作状態テーブルTFおよび画面テーブルTGは、記憶部16に記憶される。
例えば、ユーザが、入力装置3を用いて、操作2を選択する操作を行った場合、入力受け付け部15は、該選択操作を受け付ける。分析部12は、操作テーブルTEを参照して、操作2に対応する前提操作のうち、優先度1に対応する前提操作5を取得する。
分析部12は、操作状態テーブルTFを参照して、前提操作5(操作5)に対応する値が「NULL」であるかを判定する。該値は、「FINISHED」であるため、分析部12は、前提操作5が実行済みであることを認識する。
分析部12は、操作テーブルTEを参照して、操作2に対応する前提操作のうち、優先度2に対応する前提操作6を取得する。分析部12は、操作状態テーブルTFを参照して、前提操作6(操作6)に対応する値が「NULL」であるかを判定する。該値は、「NULL」であるため、分析部12は、前提操作6が未実行であることを認識する。
分析部12は、操作テーブルTEを参照して、前提操作6(操作6)に対応する前提操作が前提操作3であることを認識する。分析部12は、操作状態テーブルTFを参照して、前提操作3(操作3)に対応する値を取得する。該値は、「FINISHED」である。
従って、分析部12は、前提操作3が実行済みであることを認識する。表示制御部144は、画面テーブルTGを参照して、前提操作3に対応する操作6の操作画面6が、表示装置2に表示されるように制御する。該制御に基づいて、表示装置2に操作画面6が表示される。
表示装置2に表示される操作画面6に基づいて、ユーザが所定の操作を行った場合、入力受け付け部15は、該操作を受け付ける。処理部13は、該操作に基づく処理を行なう。これにより、操作6は実行済み(FINISHED)となり、操作状態テーブルTFの値は更新される。
以上により、操作2の前提となる前提操作5および前提操作6が実行済みとなり、処理部13は、操作2に対応する処理を行なう。表示制御部14は、処理結果を示す目的画面が表示装置2に表示されるように制御する。該制御に基づいて、表示装置2に目的画面が表示される。
以上のように、分析部12は、選択された操作について、未実行の操作を再帰的に探索する。分析部12の探索結果に基づいて、表示制御部14は、前提操作についての操作画面を表示装置2に表示させる。該操作画面に基づいて、前提操作が実行されることにより、前提操作は実行済みとなる。
以上の処理が繰り返し行なわれることにより、選択された操作についての全ての前提操作が実行済みとなる。従って、前提操作に対して設定が必要な前提操作が階層的に存在する場合でも、上述した処理が行われることで、操作画面の順番が適正に且つ直列的に、表示装置2に表示される。
<他の例の処理の流れの一例>
次に、他の例の処理の流れの一例について説明する。例えば、ユーザが、入力装置3を用いて、操作ボタンを押下すると、入力受け付け部15は、該操作を受け付ける(ステップS21)。
分析部12は、操作に対応する前提操作が全て実行済みかを判定する(ステップS22)。ステップS22でNOの場合、分析部12は、操作テーブルTEを参照して、操作に対応する前提操作を優先度順に取得する(ステップS23)。
分析部12は、操作状態テーブルTFを参照して、前提操作に対応する値が「NULL」であるかを判定する(ステップS24)。ステップS24でNOの場合、処理は、ステップS22に戻る。ステップS24でYESの場合、前提操作実行処理が行われる(ステップS25)。そして、処理は、ステップS22に戻る。
ステップS22でYESの場合、操作に対応する前提操作が全て実行済みであるため、処理部13はステップS21で押下された操作(選択された操作)に対応する処理を行なう。
表示制御部14は、処理結果を目的画面として、表示装置2に出力する。表示装置2には、目的画面が表示される(ステップS26)。以上により、処理は、終了する。次に、図11を参照して、ステップS25の前提操作実行処理について説明する。
分析部12は、操作テーブルTEを参照して、選択された操作に対応する前提操作が全て実行済みであるかを判定する(ステップS31)。ステップS31でNOの場合、分析部12は、操作に対応する前提操作を優先度順に取得する(ステップS32)。分析部12は、取得した前提操作が「なし」であるかを判定する(ステップS33)。
ステップS33でYESの場合、操作に対応する前提操作はないため、処理は、ステップS31に戻る。ステップS33でNOの場合、分析部12は、操作状態テーブルTFを参照して、前提操作に対応する値が「NULL」であるかを判定する(ステップS34)。
ステップS34でNOの場合、前提操作に対応する値は「FINISHED」であるため、前提操作の実行は要しない。従って、処理は、ステップS31に戻る。
ステップS34でYESの場合、分析部12は、操作テーブルTEおよび操作状態テーブルTFを参照して、前提操作を再帰的に探索する(ステップS35)。分析部12の探索結果に応じて、表示制御部14は、実行済みの前提操作に対応する操作の操作画面を表示装置2に表示させる(ステップS36)。
例えば、ユーザが、入力装置3を用いて、表示装置2に表示されている操作画面に応じた操作を行うと、該操作を入力受け付け部15が受け付ける。処理部13は、該操作に対応する処理を行なう。
これにより、上記操作は実行済みとなるため、操作状態テーブルTFのうち、該操作に対応する値は「FINISHED」に更新される(ステップS37)。そして、処理は、ステップS31に戻る。ステップS31でYESの場合、ステップS23で取得された操作に対応する全ての前提操作が実行済みになる。この場合、前提操作実行処理は終了する。
<適用例>
次に、適用例について説明する。本適用例における操作は、メーラに対する操作であることを想定する。図12の例に示されるように、初期画面において、送信ボタンが押下されたとする。送信ボタンは、電子メールを送信する操作のためのボタンである。
受信ボタンは、電子メールを受信する操作のためのボタンである。設定ボタンは、電子メールの送受信を行なうために必要な各種パラメータを設定する画面を表示するためのボタンである。該設定ボタンが押下されると、メールサーバの設定ボタンおよびユーザ認証の設定ボタンが表示されてもよい。
電子メールを送信する操作に対応するパラメータが全て設定されている場合、処理部13は、電子メールを送信するために必要な処理を行なう。そして、表示制御部14は、「送信しますか?」という目的画面を表示する。確認ボタンが押下されると、電子メールが送信される。
図13および図14は、適用例における各種テーブルの一例を示す。入力受け付け部15が、初期画面において、送信ボタンの押下操作を受け付けたとする。分析部12は、操作テーブルTAを参照して、操作が「送信」に対応する各パラメータから、優先度順に、パラメータを取得する。
図13(A)の例の場合、分析部12は、パラメータ「メールサーバアドレス」を取得する。分析部12は、図13(B)のパラメータテーブルTBを参照して、パラメータ「メールサーバアドレス」に対応する値が「NULL」であると判定する。
分析部12は、図14(B)の前提パラメータテーブルTDを参照して、パラメータ「メールサーバアドレス」に対応する前提パラメータが「なし」であるかを判定する。該前提パラメータは、「セキュリティソフトウェア」である。
分析部12は、図13(B)のパラメータテーブルTBを参照して、パラメータ「セキュリティソフトウェア」に対応する値が「NULL」であるかを判定する。該値は、「NULL」である。
表示制御部14は、図14(A)の画面テーブルTCを参照して、パラメータ「セキュリティソフトウェア」に対応する「セキュリティソフトウェア設定画面」を、表示装置2に表示させる。
画面テーブルTCに示されるように、「セキュリティソフトウェア設定画面」に、セキュリティソフトウェアおよび利用者名が対応する。従って、表示装置2に表示されているセキュリティソフトウェア設定画面には、セキュリティソフトウェアおよび利用者名の項目が表示される。
ユーザが、該セキュリティソフトウェア設定画面に基づいて、セキュリティソフトウェアおよび利用者名を入力すると、入力受け付け部15は、該入力操作を受け付ける。入力受け付け部15が、該入力操作を受け付けると、パラメータテーブルTBの値が、入力された値に更新される。
分析部12は、前提パラメータテーブルTDを参照して、パラメータ「メールサーバアドレス」に対応する優先度2の前提パラメータを取得する。該前提パラメータは、「利用者名」である。該前提パラメータ「利用者名」は、既に設定されている。
従って、パラメータ「メールサーバアドレス」を設定するための前提パラメータは全て設定が完了する。表示制御部14は、画面テーブルTCを参照して、メールサーバ設定画面を、表示装置2に表示させる。
該メールサーバ設定画面は、パラメータ「メールサーバポート番号」も対応する。従って、メールサーバ設定画面には、「メールサーバアドレス」および「メールサーバポート番号」の2つの項目が含まれる。
ユーザが、該メールサーバ設定画面に基づいて、メールサーバアドレスおよびメールサーバポート番号を入力すると、入力受け付け部15は、該入力操作を受け付ける。入力受け付け部15が、該入力操作を受け付けると、パラメータテーブルTBの値が、入力された値に更新される。
分析部12は、操作テーブルTAを参照して、優先度2のパラメータ「メールサーバポート番号」を取得する。分析部12は、パラメータテーブルTBを参照して、パラメータ「メールサーバポート番号」の値が「NULL」であるかを判定する。パラメータ「メールサーバポート番号」の値は、「NULL」ではない。
従って、分析部12は、操作テーブルTAのうち、優先度3のパラメータ「ユーザ認証アカウント名」を取得する。分析部12は、パラメータテーブルTBを参照して、パラメータ「ユーザ認証アカウント名」に対応する値が「NULL」であるかを判定する。該値は「NULL」である。
分析部12は、前提パラメータテーブルTDを参照して、パラメータ「ユーザ認証アカウント名」に対応する前提パラメータを取得する。該前提パラメータは「なし」であるため、分析部12は、パラメータ「ユーザ認証アカウント名」に対応する前提パラメータは存在しないことを認識する。
表示制御部14は、画面テーブルTCを参照して、ユーザ認証設定画面を、表示装置2に表示させる。該ユーザ認証設定画面は、パラメータ「ユーザ認証パスワード」も対応する。従って、ユーザ認証設定画面には、「ユーザ認証アカウント名」および「ユーザ認証パスワード」の2つの項目が含まれる。
ユーザが、該ユーザ認証設定画面に基づいて、ユーザ認証アカウント名およびユーザ認証パスワードを入力すると、入力受け付け部15は、該入力操作を受け付ける。入力受け付け部15が、該入力操作を受け付けると、パラメータテーブルTBの値が、入力された値に更新される。
このため、操作テーブルTAの操作「送信」に対応するパラメータ「ユーザ認証アカウント名」だけでなく、「ユーザ認証パスワード」も設定がされる。従って、操作「送信」に対応する全てのパラメータが設定される。
図15および図16は、適用例における画面の遷移例を示す。初期画面において、送信ボタンが押下されたとする。上述したように、パラメータ「メールサーバアドレス」の前提パラメータ「セキュリティソフトウェア」が設定されていない。
従って、表示制御部14は、セキュリティソフトウェア設定画面を表示装置2に表示させる。例えば、ユーザが、入力装置3を用いて、該セキュリティソフトウェア設定画面に含まれる「セキュリティソフトウェア名」および「利用者名」の2つの項目に値を入力すると、該入力操作を入力受け付け部15が受け付ける。
確認ボタンが押下されると、パラメータテーブルTBの値が更新され、表示装置2の画面は、セキュリティ設定画面から、図16の例に示されるように、メールサーバアドレス設定画面に切り替わる。
該メールサーバアドレス設定画面に含まれる「メールサーバアドレス」および「メールサーバポート番号」の値が入力されると、該入力操作を入力受け付け部15が受け付ける。確認ボタンが押下されると、パラメータテーブルTBの値が更新され、表示装置2の画面は、メールサーバアドレス設定画面から、ユーザ認証設定画面に切り替わる。
パラメータ「メールサーバアドレス」より、パラメータ「ユーザ認証アカウント名」の方が、優先度が低い。従って、表示装置2には、メールサーバアドレス設定画面より後に、ユーザ認証設定画面が表示される。
該ユーザ認証設定画面は、「アカウント名」および「パスワード」の項目を含む。例えば、ユーザが、入力装置3を用いて、該ユーザ認証設定画面に含まれる「アカウント名」および「パスワード」の2つの項目に値を入力すると、該入力操作を入力受け付け部15が受け付ける。
確認ボタンが押下されると、パラメータテーブルTBの値が更新される。以上の処理により、メーラの初期画面における送信ボタン(操作ボタン)に対応するパラメータは全て設定が完了する。
表示装置2の画面は、ユーザ認証設定画面から目的画面に切り替わる。従って、初期画面において、「送信」ボタンが押下された際に、上述した各種パラメータが未設定である場合、設定画面の順番が適正に且つ直列的に、表示装置2に表示される。
<変形例>
図17は、変形例における情報処理システムの一例を示す。図17の例に示されるように、情報処理装置1とサーバ31とが、相互にネットワークNWにより接続される。図1の例で示した、分析部12、処理部13および記憶部16は、サーバ31に含まれる。また、サーバ31は、サーバ通信部32を含む。
例えば、サーバ31は、クラウドコンピューティングサービス(以下、クラウドサービスとする)を実現するサーバ装置であるとする。ユーザが、情報処理装置1を用いて、クラウドサービスを利用する場合、情報処理装置1は、サーバ31と通信を行う。
例えば、ユーザが入力装置3を用いて、クラウドサービスを利用するための所定の操作を行うと、入力受け付け部3は、該操作を受け付ける。制御部11は、サーバ31に対して、初期画面を取得するリクエストを送信する制御を行う。情報処理装置1は、該リクエストを送信する。
上記リクエストを受信したサーバ31のサーバ通信部32は、初期画面を表示させるレスポンスを、情報処理装置1に送信する。表示制御部14は、表示装置2に、上記初期画面を表示させる。例えば、該初期画面は、ブラウザ上で表示されてもよい。ユーザが、入力装置3を用いて、目的画面を表示する操作を行うと、入力受け付け部15は、該操作を受け付ける。
制御部11は、目的画面を表示する操作に関するリクエスト(指示)をサーバ31に送信する制御を行う。サーバ31のサーバ通信部32は、該リクエストを受信する。分析部12は、記憶部16の各テーブルを参照して、受信したリクエストに基づいて、目的画面を表示する操作のパラメータが設定されているかを判定する。
未設定のパラメータが存在する場合、サーバ31のサーバ通信部32は、ネットワークNWを介して、情報処理装置1に、設定画面を表示させるレスポンスを送信する。該レスポンスに、設定画面の情報が含まれる。表示制御部14は、該レスポンスに基づいて、設定画面を表示装置2に表示させる。
未設定のパラメータについての前提パラメータのうち未設定の前提パラメータがあると分析部12が判定した場合、サーバ31は、該前提パラメータを設定する設定画面から、順番に、情報処理装置1の表示装置2に表示させる制御を行う。
以上の情報処理システムにおいても、初期画面で、所定の操作ボタンが押下された際に、各種パラメータが未設定である場合、設定画面の順番が適正に且つ直列的に、表示装置2に表示される。
<情報処理装置のハードウェア構成の一例>
次に、図18の例を参照して、情報処理装置1のハードウェア構成の一例を説明する。図14の例に示すように、バス100に対して、プロセッサ111とRandom Access Memory(RAM)112とRead Only Memory(ROM)113とが接続される。また、該バス100に対して、補助記憶装置114と媒体接続部115と通信インタフェース116と表示装置2と入力装置3とが接続される。
プロセッサ111はRAM112に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行う画面遷移プログラムが適用されてもよい。
ROM113はRAM112に展開される画面遷移プログラムを記憶する不揮発性の記憶装置である。補助記憶装置114は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等が適用されてもよい。媒体接続部115は、可搬型記録媒体115Mと接続可能に設けられている。
可搬型記録媒体115Mとしては、可搬型のメモリ(例えば、半導体メモリ)や光学式ディスク(例えば、Compact Disc(CD)やDigital Versatile Disc(DVD))等が適用されてもよい。この可搬型記録媒体115Mに実施形態の処理を行う画面遷移プログラムが記録されていてもよい。
上述した制御部11と分析部12と処理部13と表示制御部14と入力受け付け部15とは、与えられたプログラムをプロセッサ111が実行することにより実現されてもよい。また、記憶部16は、補助記憶装置114等により実現されてもよい。
RAM112、ROM113、補助記憶装置114および可搬型記録媒体115Mは、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
<サーバのハードウェア構成の一例>
次に、図19の例を参照して、サーバ31のハードウェア構成の一例を説明する。図19の例に示すように、バス200に対して、プロセッサ211とRAM212とROM213とが接続される。また、該バス200に対して、補助記憶装置214と媒体接続部215と通信インタフェース216とが接続される。
プロセッサ211はRAM212に展開されたプログラムを実行する。実行されるプログラムとしては、変形例における処理を行うプログラムが適用されてもよい。
ROM213はRAM212に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置214は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等が適用されてもよい。媒体接続部215は、可搬型記録媒体215Mと接続可能に設けられている。
可搬型記録媒体215Mとしては、可搬型のメモリや光学式ディスク等が適用されてもよい。この可搬型記録媒体215Mに変形例の処理を行うプログラムが記録されていてもよい。
上述した分析部12と処理部13とは与えられたプログラムをプロセッサ211が実行することにより実現されてもよい。また、記憶部16は、補助記憶装置214等により実現されてもよい。
RAM212、ROM213、補助記憶装置214および可搬型記録媒体215Mは、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
<その他>
本実施形態および変形例は、以上に述べた実施の形態に限定されるものではなく、本実施形態および変形例の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。