以下、入力画面出力装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、ユーザインターフェイスの部品(以下、入力部品とも言う)に対して、入力前、入力後のガイドを定義しており、フォーカスされている入力部品に対する入力前ガイドを表示し、かつ、入力が確定した際に入力後ガイドを表示できる入力画面出力装置について説明する。また、本実施の形態において説明する入力画面出力装置では、入力後ガイドの表示の条件も容易に設定できる。さらに、本実施の形態において説明する入力画面出力装置では、入力前ガイドについて、例えば、簡易版、詳細版の2段階のガイドを、入力部品ごとに定義できる。
図1は、本実施の形態における情報処理システムの概念図である。情報処理システムは、1以上の端末装置1、および入力画面出力装置2を具備する。1以上の端末装置1、および入力画面出力装置2は、通常、インターネットやLAN等のネットワーク3により接続されている。端末装置1は、入力画面出力装置2が出力する画面を用いて、データ入力や、加工や、データ出力等の処理を行う端末である。端末装置1は、例えば、いわゆるパーソナルコンピュータ、携帯端末、携帯電話、テレビジョン、ナビゲーション装置等、画面を表示できる端末であれば何でも良い。入力画面出力装置2は、画面についての情報、画面を構成する入力部品などの情報を保持しており、端末装置1から入力された情報に応じて、種々の処理を行う。ここで、処理とは、例えば、ERPソフトウェアが行える処理、例えば、販売支援、配達支援、請求支援、製造管理支援、在庫管理支援、会計管理支援、給与管理支援、就業管理支援および人事管理支援などの処理でも良いし、CRMソフトウェアが行える処理などでも良い。
図2は、本実施の形態における入力画面出力装置のブロック図である。端末装置1は、入力受付部11、送信部12、受信部13、出力部14を具備する。
入力画面出力装置2は、入力部品総合情報格納部201、入力画面情報格納部202、実行モジュール格納部203、受付部204、画面構成部205、画面出力部206、入力前ガイド情報取得部207、入力前ガイド情報出力部208、入力後ガイド情報取得部209、出力判断部210、入力後ガイド情報出力部211、実行部212、実行結果出力部213を具備する。
入力受付部11は、ユーザからの入力を受け付ける。入力とは、画面起動(アプリケーション起動も同意義)の指示、フォーカス移動の指示、詳細なガイドの出力指示、ボタンの押下、画面(アプリ)終了の指示などの指示の入力、または各種データの入力などである。指示やデータの入力手段は、キーボードやマウスやテンキーやメニュー画面によるもの等、何でも良い。入力受付部11は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
送信部12は、入力受付部11が受け付けた指示やデータを入力画面出力装置2に送信する。送信部12は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
受信部13は、送信部12における指示やデータの送信に対応して、入力画面出力装置2から画面や、入力前ガイド情報や、入力後ガイド情報や、処理結果などを受信する。なお、入力前ガイド情報や、入力後ガイド情報の詳細については、後述する。受信部13は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
出力部14は、受信部13が受信した画面や、入力前ガイド情報や、入力後ガイド情報や、処理結果などを出力する。ここで、出力とは、通常、ディスプレイへの表示であるが、プリンタへの印字、音出力、外部の装置への送信等を含む概念と捕らえても良い。出力部14は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部14は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
入力部品総合情報格納部201は、入力部品総合情報を1以上格納している。入力部品総合情報は、入力部品情報と入力前ガイド情報と入力後ガイド情報を有する。入力部品情報とは、画面を構成する部品であり、ユーザからの入力を受け付ける部品である入力部品についての情報である。画面を構成する部品とは、例えば、フィールド、ボタン、チェックボックス、選択可能なメニュー、画面上の文字列などである。入力部品とは、例えば、フィールド、ボタン、チェックボックスなどである。入力部品がフィールドの場合、入力部品情報は、例えば、その長さ、入力可能な文字(全角、半角など)、画面上での位置、形状などを含む。また、入力部品がボタンの場合、入力部品情報は、例えば、画面上での位置、形状、表示される文字列などを含む。また、入力部品がチェックボックスの場合、入力部品情報は、例えば、位置、形状などを含む。また、画面とは、いわゆる操作画面、アプリケーションの入力画面などである。入力部品情報は、例えば、入力部品を識別する入力部品識別子を有しても良い。
入力前ガイド情報とは、入力部品に対する入力前に出力されるガイドの情報である。ここで、入力前とは、通常、フォーカスされている際である。入力前とは、通常、入力が確定する前である。ただし、入力前ガイド情報は、ある入力部品がフォーカスされている場合に、常に出力されていなくても良い。フォーカスが、当該入力部品に移った際に、入力前ガイド情報は、一度(所定の時間またはユーザからの入力があるまで等)、出力され、その後、非出力となっても良い。また、2以上の入力部品に対する入力順序がある場合、前の入力部品に対する入力が完了した後、入力前ガイド情報が出力されてもよい。また、入力前ガイド情報とは、入力すべき情報について説明するヘルプ情報や、入力してはならない情報など、入力を支援する情報であれば何でも良い。
入力後ガイド情報とは、入力部品に対する入力後に出力されるガイドの情報である。ここで、入力後とは、通常、入力が確定した後、直ちに、という意味であるが、相当の遅れがあっても良い。
また、入力部品総合情報は、入力部品情報と入力前ガイド情報と入力後ガイド情報と出力条件情報を有しても良い。出力条件情報とは、当該入力後ガイド情報を出力するか否かに関する条件を示す情報である。出力条件情報が示す条件に入力されたデータが合致する場合に、入力後ガイド情報が出力されても良いし、その反対に、出力条件情報が示す条件に入力されたデータが合致しない場合に、入力後ガイド情報が出力されても良い。出力条件情報とは、例えば、「エラー時」「全角文字を含む」「半角文字を含む」など、である。出力条件情報が「エラー時」である場合、入力されたデータが想定されていないエラーの入力である場合に、入力後ガイド情報が出力される。また、出力条件情報が「全角文字を含む」である場合、入力されたデータが全角文字を含む場合に、入力後ガイド情報が出力される。
また、入力前ガイド情報は、簡易なガイドである入力前簡易ガイド情報と、詳細なガイドである入力前詳細ガイド情報を有することは好適である。かかる場合、入力前簡易ガイド情報と入力前詳細ガイド情報を出力するトリガーが異なっていることが好適であるが、同じトリガーにより出力され、文字色やフォント等で、どちらのガイド情報であるか等を明示していることは好適である。
入力部品総合情報格納部201は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
入力画面情報格納部202は、アプリケーションを実現する画面(パネルとも言う)に関する情報である入力画面情報を、1以上格納している。なお、画面が一つの場合、入力画面情報格納部202は必要がない。つまり、一画面で構成されるアプリケーション(後述する画面構成部205)は、入力部品総合情報格納部201に定義されているすべての入力部品についての情報を用いて画面を構成する、という処理を行えば良い。入力画面情報格納部202は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
実行モジュール格納部203は、ボタンが押下された(指示された)場合に、当該ボタンに対応する処理を行う実行モジュールを格納している。実行モジュール格納部203は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
受付部204は、端末装置1から、ユーザの入力を受け付ける。ここでの「受け付け」とは、受信である。また、ユーザからの入力とは、ここでは、端末装置1に対してのユーザの入力である。ただし、入力画面出力装置2がスタンドアロンで動作する場合、ユーザからの入力は、入力画面出力装置に対する入力である。受付部204は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
画面構成部205は、入力部品総合情報格納部201から1以上の入力部品総合情報を読み出し、当該1以上の入力部品総合情報が有する入力部品情報を用いて、画面を構成する。また、画面構成部205は、画面の構成に必要な他の情報を記憶媒体から読み出しても良い。他の情報とは、例えば、入力画面情報である。ここで、「読み出し」は、通常、ユーザからの画面表示の指示(アプリ起動指示)が入力された場合に、読み出す。また、「画面を構成」とは、画面定義の情報から入力画面を構成する処理であり、公知技術である。また、画面定義が、例えば、HTMLで記述されている場合、「画面を構成」とは、いわゆるWebブラウザの機能に相当する。また、画面定義が、例えば、XMLで記述されている場合、「画面を構成」とは、いわゆるXMLを解釈できるブラウザの機能に相当する。画面構成部205は、通常、MPUやメモリ等から実現され得る。画面構成部205の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
画面出力部206は、画面構成部205が構成した画面を出力する。ここでは、出力とは、端末装置1への送信である。ただし、入力画面出力装置2がスタンドアロンで動作する場合、出力とは、ディスプレイへの表示、プリンタへの印字、音出力等を含む概念である。画面出力部206は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
入力前ガイド情報取得部207は、現在、フォーカスされている入力部品に対応する入力部品情報と対になる入力前ガイド情報を、入力部品総合情報格納部201から取得する。入力前ガイド情報取得部207は、例えば、現在、フォーカスされている入力部品を識別する情報を保持している。また、画面起動時は、最も左側、最も上側に配置されている入力部品をフォーカスされている入力部品である、とすることは好適である。なお、入力前ガイド情報取得部207は、通常、フォーカスされている入力部品に対応する入力前ガイド情報のみを取得することが好適であるが、フォーカスされていない入力部品に対応する入力前ガイド情報も取得しても良い。また、入力前ガイド情報取得部207は、受付部204がユーザからの詳細なガイドの出力指示を受け付けた場合、フォーカスされている入力部品に対応する入力部品情報と対になる入力前詳細ガイド情報を取得することは好適である。入力前ガイド情報取得部207は、通常、MPUやメモリ等から実現され得る。入力前ガイド情報取得部207の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
入力前ガイド情報出力部208は、入力前ガイド情報取得部207が取得した入力前ガイド情報を出力する。また、入力前ガイド情報が、入力前簡易ガイド情報と入力前詳細ガイド情報を有する場合、入力前ガイド情報出力部208は、ある入力部品がフォーカスされた際に、当該入力部品に対応する入力部品情報と対になる入力前簡易ガイド情報を出力し、受付部204がユーザからの詳細なガイドの出力指示を受け付けた場合に、フォーカスされている入力部品に対応する入力部品情報と対になる入力前詳細ガイド情報を出力する、ことは好適である。入力前ガイド情報出力部208は、入力前ガイド情報と、入力部品と対応付けて表示することは好適である。ここで、「対応付けて」とは、入力前ガイド情報が、どの入力部品に対する入力の支援の情報であるかが分かる態様で、という意味であり、例えば、入力前ガイド情報が入力部品の真横に表示されること、入力部品の枠内に表示されること等である。また、ここでは、出力とは、端末装置1への送信である。ただし、入力画面出力装置2がスタンドアロンで動作する場合、出力とは、ディスプレイへの表示、プリンタへの印字、音出力等を含む概念である。入力前ガイド情報出力部208は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
入力後ガイド情報取得部209は、受付部204が入力部品に対する入力を受け付けた後、当該入力部品に対応する入力部品情報と対になる入力後ガイド情報を、入力部品総合情報格納部201から取得する。なお、入力後ガイド情報取得部209は、後述する出力判断部210の判断結果を取得し、当該判断結果が、入力後ガイド情報を出力するとの判断結果である場合、入力後ガイド情報を入力部品総合情報格納部201から取得する、ことは好適である。入力後ガイド情報取得部209は、通常、MPUやメモリ等から実現され得る。入力後ガイド情報取得部209の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力判断部210は、受付部204が受け付けた入力が、入力を受け付けた入力部品に対応する出力条件情報を読み出し、当該出力条件情報を用いて、入力後ガイド情報を出力するか否かを判断する。出力条件情報が「エラー時」である場合、出力判断部210は、受付部204が受け付けた入力がエラーであるか否かを判断し、当該判断結果に応じて、入力後ガイド情報を出力するか否かを決定する。また、出力条件情報が「全角文字を含む」である場合、出力判断部210は、受付部204が受け付けた入力が全角文字を含むか否かを判断し、当該判断結果に応じて、入力後ガイド情報を出力するか否かを決定する。その他、出力判断部210の判断方法は種々あり得る。出力条件情報の記述方法は、正規表現、プログラム言語による記述等、問わない。出力判断部210は、通常、MPUやメモリ等から実現され得る。出力判断部210の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
入力後ガイド情報出力部211は、入力後ガイド情報取得部209が取得した入力後ガイド情報を出力する。また、入力後ガイド情報出力部211は、出力判断部210が入力後ガイド情報を出力すると判断した場合のみ、入力後ガイド情報を出力することは好適である。また、入力後ガイド情報は、入力部品と対応付けて表示されることは好適である。「対応付けて」とは、入力部品の真横に表示されること等である。ここでは、出力とは、端末装置1への送信である。ただし、入力画面出力装置2がスタンドアロンで動作する場合、出力とは、ディスプレイへの表示、プリンタへの印字、音出力等を含む概念である。入力後ガイド情報出力部211は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
実行部212は、受付部204が実行モジュールの実行指示を受け付けた場合、対応する実行モジュールを実行モジュール格納部203から読み出し、実行する。実行部212は、通常、MPUやメモリ等から実現され得る。実行部212の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
実行結果出力部213は、実行部212における実行結果を出力する。ここでは、出力とは、端末装置1への送信である。ただし、入力画面出力装置2がスタンドアロンで動作する場合、出力とは、ディスプレイへの表示、プリンタへの印字、音出力等を含む概念である。実行結果出力部213は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
次に、情報処理システムの動作について説明する。まず、端末装置1の動作について説明する。端末装置1の入力受付部11は、ユーザからデータや指示等を受け付ける。そして、指示に応じて、送信部12は、データや命令を入力画面出力装置2に送信する。そして、データや命令の送信に対応して、受信部13は画面や入力前ガイド情報や入力後ガイド情報や処理結果等を受信する。次に、出力部14は、受信部13が受信した画面や入力前ガイド情報や入力後ガイド情報等を出力する。なお、出力部14は、通常、入力前ガイド情報や入力後ガイド情報を、一画面内に出力する。ただし、入力前ガイド情報や入力後ガイド情報と画面は、別ウィンドウに出力されても良い。画面や入力前ガイド情報や入力後ガイド情報の出力態様は問わない。
次に、入力画面出力装置の動作について図3のフローチャートを用いて説明する。
(ステップS301)受付部204は、端末装置1から入力を受け付けたか否かを判断する。入力を受け付ければステップS302に行き、入力を受け付けなければステップS301に戻る。
(ステップS302)受付部204は、ステップS301で受け付けた指示が、画面起動指示(アプリケーションの起動指示)であるか否かを判断する。なお、画面起動指示には、既に起動している画面から、次の画面にジャンプする指示も含む。画面起動指示であればステップS303に行き、画面起動指示でなければステップS310に行く。
(ステップS303)画面構成部205は、画面起動指示に対応する入力画面情報を入力画面情報格納部202から読み出す。なお、入力画面情報は、例えば、1以上の入力部品情報を識別する入力部品識別子を有する。
(ステップS304)画面構成部205は、ステップS303で読み出した入力画面情報で定義されている1以上の入力部品情報を、入力部品総合情報格納部201から読み出す。
(ステップS305)画面構成部205は、ステップS303で読み出した入力画面情報、ステップS304で読み出した1以上の入力部品情報を用いて、画面を構成する。
(ステップS306)画面構成部205は、フォーカスする入力部品を決定し、当該入力部品を識別する情報(例えば、入力部品識別子)をメモリ上に一時格納する。画面構成部205は、例えば、入力部品情報が有する入力部品の位置情報を用いて、入力部品の最も左側、最も上側に配置されている入力部品を、フォーカスする入力部品に決定する。また、画面構成部205は、例えば、現在、フォーカスされている入力部品に対して、受け付けたフォーカス移動指示(例えば、下矢印、上矢印、右矢印、左矢印のいずれか)に対応する位置に配置されている入力部品を、フォーカスする入力部品と決定する。
(ステップS307)入力前ガイド情報取得部207は、ステップS306で決定された入力部品に対応する入力前ガイド情報を、入力部品総合情報格納部201から読み出す。
(ステップS308)画面出力部206は、構成された画面を出力する。なお、構成された画面は、フォーカスされている入力部品が明示された画面である。
(ステップS309)入力前ガイド情報出力部208は、ステップS307で取得された入力前ガイド情報を出力する。ステップS301に戻る。
(ステップS310)受付部204は、ステップS301で受け付けた指示が、フォーカス移動指示であるか否かを判断する。フォーカス移動指示であればステップS311に行き、フォーカス移動指示でなければステップS312に行く。
(ステップS311)画面構成部205は、フォーカス移動指示に従って、フォーカス移動された画面を構成する。ステップS306に行く。
(ステップS312)受付部204は、ステップS301で受け付けた入力が、詳細ガイド出力指示であるか否かを判断する。詳細ガイド出力指示であればステップS313に行き、詳細ガイド出力指示でなければステップS316に行く。
(ステップS313)入力前ガイド情報取得部207は、フォーカスされている入力部品識別子を取得する。なお、フォーカスされている入力部品識別子は、例えば、所定のメモリ上(所定の変数)に格納されている。
(ステップS314)入力前ガイド情報取得部207は、ステップS313で取得された入力部品識別子で識別される入力部品に対応する入力前詳細ガイド情報を、入力部品総合情報格納部201から読み出す。
(ステップS315)入力前ガイド情報出力部208は、ステップS314で読み出した入力前詳細ガイド情報を出力する。ステップS301に戻る。
(ステップS316)受付部204は、ステップS301で受け付けた入力が、データであるか否か(フィールド等への入力が確定したか否か)を判断する。受け付けた入力がデータであればステップS317に行き、受け付けた入力がデータでなければステップS321に行く。
(ステップS317)出力判断部210は、フォーカスされている入力部品に対応する出力条件情報を入力部品総合情報格納部201から読み出し、ステップS301で受け付けたデータが、読み出した出力条件情報が示す条件に合致するか否かを判断する。
(ステップS318)入力後ガイド情報取得部209は、ステップS317における判断結果が、入力後ガイド情報を出力するとの判断結果であるか否かをチェックする。入力後ガイド情報を出力するとの判断結果である場合はステップS319に行き、入力後ガイド情報を出力しないとの判断結果であるステップS301に戻る。
(ステップS319)入力後ガイド情報取得部209は、フォーカスされている入力部品に対応する入力後ガイド情報を、入力部品総合情報格納部201から読み出す。
(ステップS320)入力後ガイド情報出力部211は、ステップS319で取得した入力後ガイド情報を出力する。ステップS301に戻る。
(ステップS321)受付部204は、ステップS301で受け付けた入力が、ボタンの押下(実行モジュールの実行指示)であるか否かを判断する。受け付けた入力がボタンの押下であればステップS322に行き、ボタンの押下でなければステップS301に戻る。
(ステップS322)実行部212は、ボタンに対応する実行モジュールを、実行モジュール格納部203から読み出す。
(ステップS323)実行部212は、ステップS322で読み出した実行モジュールを実行する。
(ステップS324)実行結果出力部213は、ステップS323における実行結果を出力する。ステップS301に戻る。
なお、図3のフローチャートにおいて、実行結果を出力したが、常に、実行結果を出力する必要はない。
また、図3のフローチャートにおいて、入力前詳細ガイド情報を有しない入力部品の場合は、詳細ガイド出力指示が入力できなかったり、詳細ガイド出力指示を受け付けても無視したりすることは好適である。
また、図3のフローチャートにおいて、入力前詳細ガイド情報も、ユーザの指示により出力されても良いし、詳細ガイド出力指示が、フォーカス移動により自動的に出力されても良い。つまり、入力前詳細ガイド情報や、入力前簡易ガイド情報の出力のトリガーは問わない。
また、図3のフローチャートにおいて、入力されたデータが、出力条件情報が示す条件に合致する場合のみ、入力後ガイド情報を出力したが、データが入力された後、常に、入力後ガイド情報を出力しても良い。かかる場合、出力判断部210は不要である。
さらに、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における入力画面出力装置の具体的な動作について説明する。入力画面出力装置の概念図は図1である。以下、2つの具体例を用いて説明する。
(具体例1)
具体例1は、ユーザインターフェイスの定義がテーブル形式により定義されている場合である。
今、入力部品総合情報格納部201は、図4に示す入力部品総合情報管理表を保持している。入力部品総合情報管理表は、「ID」「入力部品総合情報」を有するレコードを1以上格納している。「入力部品総合情報」は、「入力部品情報」「入力前ガイド情報」「出力条件情報」「入力後ガイド情報」を有する。「入力部品情報」は、「入力部品識別子」「種類」「文字列」「制約」などの属性を有する。「入力前ガイド情報」は、「入力前簡易ガイド情報」「入力前詳細ガイド情報」を有する。「ID」は、表のレコードを識別する情報であり、表管理のために存在する。「入力部品識別子」は、入力部品を識別する情報である。「種類」は、入力部品の種類である。「文字列」は、入力部品に対して出力される文字列である。ここでは、入力部品がフィールドの場合は、文字列は、例えば、入力領域の左側に出力される。また、入力部品がボタンの場合は、文字列は、ボタン形状の中に出力される。「制約」とは、入力されるデータの制約情報である。なお、「制約」は、ボタンを押下された場合に実行される実行モジュール名である、とする。図4等において、属性値の「−」は、空を意味する。
また、入力画面情報格納部202は、図5に示す入力画面情報管理表を保持している。入力画面情報管理表は、「ID」「入力画面情報」を有する。「入力画面情報」は、「画面名称」「入力部品識別子」「位置(x,y)」を有する。「画面名称」は、画面(パネル)の名称である。「入力部品識別子」は、画面に配置される入力部品を識別する情報である。「位置(x,y)」は、入力部品が画面上に配置される位置を示し、ここでは、画面の左上の点を原点とする。
さらに、実行モジュール格納部203は、図6に示す実行モジュール管理表を保持している。ボタンが押下された際に実行される実行モジュールを管理している。実行モジュール自体も実行モジュール格納部203に格納されている、とする。
かかる状況において、端末装置1のユーザは、入力画面出力装置2における人事管理システムを起動し、「社員情報登録」画面を呼び出した、とする。つまり、例えば、端末装置1のユーザは、人事管理システムのアイコンをクリックし、「社員情報登録」のメニュー項目を選択した、とする。すると、入力受付部11は命令「画面起動指示 社員情報登録」を受け付け、送信部12は、命令「画面起動指示 社員情報登録」を入力画面出力装置2に送信する。なお、端末装置1は、予め入力画面出力装置2と通信するために必要な情報(例えば、入力画面出力装置2のIPアドレスやURLや電話番号やMACアドレス等)を保持している、とする。入力画面出力装置2と通信するために必要な情報は、ユーザが入力した情報でも良いことは言うまでもない。
次に、入力画面出力装置2の受付部204は、端末装置1から入力「画面起動指示 社員情報登録」を受信する。
次に、画面構成部205は、画面起動指示「画面起動指示 社員情報登録」に対応する入力画面情報を図5の入力画面情報管理表から読み出す。つまり、画面構成部205は、図5の入力画面情報管理表の「ID=1」のレコードを読み出す。
そして、画面構成部205は、読み出した入力画面情報に定義されている1以上の入力部品情報(F01,F02,F03,・・・,M1,F11,・・・B04,B05の入力部品情報)を、入力部品総合情報格納部201から読み出す。
次に、画面構成部205は、読み出した入力画面情報、および読み出した1以上の入力部品情報を用いて、画面を構成する。画面構成部205が構成した画面の例を図7に示す。
次に、画面構成部205は、フォーカスする入力部品を、左上の入力部品と決定し、当該入力部品の入力部品識別子「F01」をメモリ上に一時格納する。
次に、入力前ガイド情報取得部207は、決定された入力部品(入力部品識別子「F01」の部品)に対応する入力前簡易ガイド情報「入社年度(2桁)+番号(4桁)を入力して下さい。(例)070001」を図4の入力部品総合情報管理表から読み出す。
次に、画面出力部206は、構成された画面を、端末装置1に送信する。そして、端末装置1の受信部13は画面を受信し、出力部14は当該画面を出力する。なお、出力された画面の例は、図7である。図7において、入力部品(入力部品識別子「F01」の部品)にフォーカスが存在する(図7の701)。そして、入力前ガイド情報出力部208は、取得された入力前ガイド情報「入社年度(2桁)+番号(4桁)を入力して下さい。(例)070001」を、端末装置1に送信する。そして、端末装置1の受信部13は入力前ガイド情報を受信し、出力部14は当該入力前ガイド情報を出力する。この出力は、図7の702である。702において、入力フィールドの右横の領域に、入力前簡易ガイド情報が出力されているが、入力前簡易ガイド情報の出力領域は問わない。また、702において、「(ガイド)」なる文字列が入力前ガイド情報の直前に配置されている。これは、入力前ガイド情報出力部208が、予め保持しており、出力時に付加する文字列である。)なお、かかる文字列を付加することは必須の処理ではないことは言うまでもない。
次に、ユーザは、社員番号のフィールドに全角の数字「100000」を入力し、フォーカスを「氏名」のフィールドに移動した、とする。すると、入力受付部11は、全角の数字「100000」を受け付け、送信部12は、全角の数字「100000」を入力画面出力装置2に送信する。
次に、入力画面出力装置2の受付部204は、データ「100000」を受信する。そして、受信した入力がデータであるので、受付部204は、フィールドへの入力が確定したと判断する。
そして、次に、出力判断部210は、フォーカスされている入力部品(入力部品識別子「F01」の部品)に対応する出力条件情報「6桁半角数字」を入力部品総合情報管理表から読み出し、受け付けたデータ「100000」が、読み出した出力条件情報「6桁半角数字」が示す条件に合致するか否かを判断する。ここで、受け付けたデータ「100000」は、全角の数字であるので、出力判断部210は、受け付けたデータ「100000」が、読み出した出力条件情報が示す条件に合致しない、と判断する。
次に、入力後ガイド情報取得部209は、フォーカスされている入力部品(入力部品識別子「F01」の部品)に対応する入力後ガイド情報「エラーです。・・・・・・・・・・・・・・・・」を、入力部品総合情報管理表から読み出す。
そして、入力後ガイド情報出力部211は、取得した入力後ガイド情報「エラーです。・・・・・・・・・・・・・・・・」を、端末装置1に送信(出力)する。 そして、端末装置1の受信部13は入力後ガイド情報「エラーです。・・・・・・・・・・・・・・・・」を受信し、出力部14が出力する。この出力例は、図8である。図8において、入力後ガイド情報も、入力前ガイド情報と同じ領域に表示される(図8の801参照)。また、入力後ガイド情報出力部211は、文字列「(エラー)」を予め保持しており、入力後ガイド情報の直前に付加して、出力する。
次に、ユーザは入力後ガイド情報を見て、6桁半角数字であるデータ「100000」を、社員番号のフィールドに入力する。そして、ユーザは、フォーカスを、「氏名」のフィールド(入力部品識別子「F03」の入力部品)に移動する。
かかる状況が、図9である。図9において、図7における処理と同様に、「氏名」のフィールドのガイドの出力領域に、「(ガイド)全角で入力してください。」という入力前簡易ガイド情報が出力されている。
そして、ユーザは、画面左下の「詳細ガイド」ボタンを押下する、とする。そして、端末装置1の入力受付部11は、「詳細ガイド出力指示」を受け付ける。そして、送信部12は、「詳細ガイド出力指示」を入力画面出力装置2に送信する。
次に、入力画面出力装置2の受付部204は、「詳細ガイド出力指示」を受信する。次に、入力前ガイド情報取得部207は、フォーカスされている入力部品識別子「F03」を取得する。
次に、入力前ガイド情報取得部207は、取得された入力部品識別子「F03」で識別される入力部品に対応する入力前詳細ガイド情報「カナ漢字変換で出力されない漢字について、手書き入力が可能です。」を、入力部品総合情報管理表から読み出す。
そして、入力前ガイド情報出力部208は、読み出した入力前詳細ガイド情報「カナ漢字変換で出力されない漢字について、手書き入力が可能です。」を、端末装置1に送信する。そして、端末装置1の受信部13は入力前詳細ガイド情報を受信し、出力部14が当該入力前詳細ガイド情報を出力する。かかる出力例を図10の101に示す。図10の101において、上記と同様に文字列「(ガイド)」が付加されている。なお、入力前詳細ガイド情報も、ここでは、入力前簡易ガイド情報の出力領域と同じ領域に出力されているが、その出力領域は問わない。入力前詳細ガイド情報と入力前簡易ガイド情報が異なる領域に出力され、かつ、同時に出力されても良い。
そして、ユーザは、次々に、フィールドにデータを入力し、画面右下の「登録」ボタンを押下した、とする。すると、端末装置1の入力受付部11は、「登録ボタン押下」を受け付ける。そして、送信部12は、「登録ボタン押下」を入力画面出力装置2に送信する。
次に、受付部204は、「登録ボタン押下」を受信し、実行部212は、「登録ボタン押下」に対応する実行モジュール名「resister.exe」を、図4の入力部品総合情報管理表から読み出す。そして、実行モジュール「resister.exe」を実行し、入力されたデータを、例えば、図示しない人事データベースに登録する。
以上により、ユーザは、入力部品に対応付けられて格納されている入力前ガイド情報、入力後ガイド情報を適切に見ながら、データの入力を進めることができる。
また、入力画面の開発者は、図4の入力部品総合情報管理表を埋めれば、入力部品に対して、適切なガイドが出力されるので、ガイド付きの入力画面の開発工数が大幅に短縮され、ガイドの設定の漏れも無くなる。
(具体例2)
具体例2は、ユーザインターフェイスの定義が、HTML等のスクリプトにより定義されている場合である。かかる例を、図11に示す。図11の画面定義ファイルは、入力画面出力装置2に格納されている、図11の画面定義ファイルで定義されている画面は、社員情報登録画面である。
図11の画面定義ファイルにおいて、入力部品総合情報格納部201と入力画面情報格納部202に格納されている情報が、一ファイルに格納されている。つまり、図11の画面定義ファイルにおいて、画面(パネル)の定義の中に、入力部品(フィールド、ボタンなど)の定義が存在している。
図11の画面定義ファイルにおいて、1101は、図4の入力部品総合情報管理表の「ID=1」の入力部品総合情報に該当し、1102は、入力部品総合情報管理表の「ID=2」の入力部品総合情報に該当し、1103は、入力部品総合情報管理表の「ID=3」の入力部品総合情報に該当し、1104は、入力部品総合情報管理表の「ID=10」の入力部品総合情報に該当し、1105は、入力部品総合情報管理表の「ID=38」の入力部品総合情報に該当し、1106は、入力部品総合情報管理表の「ID=39」の入力部品総合情報に該当する。
かかる状況において、入力画面出力装置2は、スタンドアロンで動作する、とする。そして、入力画面出力装置2のユーザは、入力画面出力装置2における人事管理システムを起動し、「社員情報登録」画面を呼び出した、とする。
すると、入力画面出力装置2の画面構成部205は、図11の画面定義ファイルを、入力部品総合情報格納部201および入力画面情報格納部202から読み出し、図11の画面定義ファイルを解釈し、図7の画面を構成し、画面出力部206は当該画面を出力する。また、入力前ガイド情報取得部207は、「社員番号」フィールドの入力前簡易ガイド情報「入社年度(2桁)+番号(4桁)を入力して下さい。(例)070001」を読み出す。そして、入力前ガイド情報出力部208は、図7の702に示すような入力前簡易ガイド情報を出力する。
次に、ユーザは、社員番号のフィールドに全角の数字「100000」を入力し、フォーカスを「氏名」のフィールドに移動した、とする。すると、入力画面出力装置2の受付部204は、データ「100000」を受け付ける。そして、受け付けた入力がデータであるので、受付部204は、フィールドへの入力が確定したと判断する。
そして、次に、出力判断部210は、フォーカスされている入力部品(図11の1101の部品)に対応する出力条件情報「6桁半角数字」を入力部品総合情報管理表から読み出し、受け付けたデータ「100000」が、読み出した出力条件情報「6桁半角数字」が示す条件に合致するか否かを判断する。ここで、受け付けたデータ「100000」は、全角の数字であるので、出力判断部210は、受け付けたデータ「100000」が、読み出した出力条件情報が示す条件に合致しない、と判断する。
次に、入力後ガイド情報取得部209は、フォーカスされている入力部品(図11の1101の部品)に対応する入力後ガイド情報「エラーです。・・・・・・・・・・・・・・・・」を、入力部品総合情報管理表から読み出す。
そして、入力後ガイド情報出力部211は、取得した入力後ガイド情報「エラーです。・・・・・・・・・・・・・・・・」を出力する。この出力例は、図8である。
次に、ユーザは入力後ガイド情報を見て、6桁半角数字であるデータ「100000」を、社員番号のフィールドに入力する。そして、ユーザは、フォーカスを、「氏名」のフィールド(図11の1103の入力部品)に移動する。
かかる状況が、図9である。図9において、図7における処理と同様に、「氏名」のフィールドのガイドの出力領域に、「(ガイド)全角で入力してください。」という入力前簡易ガイド情報が出力されている。
そして、ユーザは、画面左下の「詳細ガイド」ボタンを押下する、とする。そして、受付部204は、「入力前詳細ガイド出力指示」を受け付ける。そして、入力前ガイド情報取得部207は、フォーカスされている入力部品を決定する。次に、入力前ガイド情報取得部207は、決定された入力部品に対応する入力前詳細ガイド情報「カナ漢字変換で出力されない漢字について、手書き入力が可能です。」を、入力部品総合情報管理表から読み出す。
そして、入力前ガイド情報出力部208は、読み出した入力前詳細ガイド情報「カナ漢字変換で出力されない漢字について、手書き入力が可能です。」を出力する。かかる出力例を図10の101に示す。
そして、ユーザは、次々に、フィールドにデータを入力し、画面右下の「登録」ボタンを押下した、とする。すると、受付部204は、「登録ボタン押下」を受け付け、実行部212は、「登録ボタン押下」に対応する実行モジュール名「resister.exe」を、図4の入力部品総合情報管理表から読み出す。そして、実行モジュール「resister.exe」を実行し、入力されたデータを、例えば、図示しない人事データベースに登録する。
以上により、ユーザは、入力部品に対応付けられて格納されている入力前ガイド情報、入力後ガイド情報を適切に見ながら、データの入力を進めることができる。
なお、具体例2において、図11の画面定義ファイルは、ユーザが操作する端末ではない装置(インターネット上のサーバ装置など)に存在しても良いことは言うまでもにない。
以上、本実施の形態によれば、入力前に表示すべきガイドと入力後に表示すべきガイドを、必要に応じて漏れなく定義できる。また、2以上の入力部品に対して入力前ガイド情報と入力後ガイド情報を対に定義しておけば、自動的に入力前ガイド情報と入力後ガイド情報を出力できるので、ユーザにとって使いやすいガイドが付いたユーザインターフェイスを、少ない工数で開発できる。
なお、本実施の形態の具体例において、ユーザインターフェイスの定義(画面定義、入力部品の定義など)について、表形式での定義、またはスクリプトによる定義の例を示したが、ポインタを用いたデータ構造を有するデータによる定義、オブジェクト指向データベースに格納されたデータによる定義等でも良いことは言うまでもない。
また、本実施の形態によれば、ユーザインターフェイスの入力部品に対応付けて入力前ガイド情報と入力後ガイド情報を管理しているので、入力画面出力装置2が図示しない手段により、入力前ガイド情報または/および入力後ガイド情報の定義がされていない入力部品をチェックでき、ユーザインターフェイスの開発者に容易に、ガイドの非定義について注意喚起できる。なお、かかる注意喚起を行う手段の名称は、例えば、ガイド未定義検知部である。ガイド情報がプログラム中に埋め込まれている場合、その存在のチェックは容易ではない。ガイド未定義検知部は、通常、MPUやメモリ等から実現され得る。ガイド未定義検知部の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
また、本実施の形態において、入力後ガイド情報を出力した場合に、入力前ガイド情報を消去することは好適である。ガイドの表示スペースを有効に利用できるからである。なお、入力前ガイド情報を消去する処理は、例えば、入力後ガイド情報出力部が行う。この消去とは、上書きでも良い。また、入力後ガイド情報を出力した場合に、入力前ガイド情報を消去する処理を行わなくても良いことは言うまでもない。かかる場合、通常、入力後ガイド情報と入力前ガイド情報は、別の領域に出力される。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における入力画面出力装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、画面を構成する部品であり、ユーザからの入力を受け付ける部品である入力部品についての情報である入力部品情報と、当該入力部品に対する入力前に出力されるガイドの情報である入力前ガイド情報と、当該入力部品に対する入力後に出力されるガイドの情報である入力後ガイド情報を有する入力部品総合情報が1以上、記憶媒体に格納されており、コンピュータを、入力を受け付ける受付部と、前記記憶媒体から1以上の入力部品総合情報を読み出し、当該1以上の入力部品総合情報が有する入力部品情報を用いて、画面を構成する画面構成部と、前記画面構成部が構成した画面を出力する画面出力部と、フォーカスされている入力部品に対応する入力部品情報と対になる入力前ガイド情報を、前記記憶媒体から取得する入力前ガイド情報取得部と、前記入力前ガイド情報取得部が取得した入力前ガイド情報を出力する入力前ガイド情報出力部と、前記受付部が入力部品に対する入力を受け付けた後、当該入力部品に対応する入力部品情報と対になる入力後ガイド情報を、前記記憶媒体から取得する入力後ガイド情報取得部と、前記入力後ガイド情報取得部が取得した入力後ガイド情報を出力する入力後ガイド情報出力部として機能させるためのプログラム、である。
また、上記プログラムにおいて、前記入力部品総合情報は、入力部品情報と、入力前ガイド情報と、入力後ガイド情報と、当該入力後ガイド情報を出力するか否かに関する条件を示す情報である出力条件情報を有し、コンピュータを、前記受付部が受け付けた入力が、前記出力条件情報を用いて、入力後ガイド情報を出力するか否かを判断する出力判断部としてさらに機能させ、前記入力後ガイド情報出力部を、前記出力判断部が入力後ガイド情報を出力すると判断した場合のみ、入力後ガイド情報を出力するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記入力前ガイド情報は、簡易なガイドである入力前簡易ガイド情報と、詳細なガイドである入力前詳細ガイド情報を有し、前記入力前ガイド情報出力部を、フォーカスされた際に、入力部品に対応する入力部品情報と対になる入力前簡易ガイド情報を出力し、前記受付部がユーザからの詳細なガイドの出力指示を受け付けた場合に、フォーカスされている入力部品に対応する入力部品情報と対になる入力前詳細ガイド情報を出力するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。したがって、1以上の装置により、以下の入力画面出力方法が実現されれば良い。つまり、画面を構成する部品であり、ユーザからの入力を受け付ける部品である入力部品についての情報である入力部品情報と、当該入力部品に対する入力前に出力されるガイドの情報である入力前ガイド情報と、当該入力部品に対する入力後に出力されるガイドの情報である入力後ガイド情報を有する入力部品総合情報が1以上、記憶媒体に格納されており、受付部と、画面構成部と、画面出力部と、入力前ガイド情報取得部と、入力前ガイド情報出力部と、入力後ガイド情報取得部と、入力後ガイド情報出力部とにより実現される入力画面出力方法であり、前記受付部により、入力を受け付ける受付ステップと、前記画面構成部により、前記記憶媒体から1以上の入力部品総合情報を読み出し、当該1以上の入力部品総合情報が有する入力部品情報を用いて、画面を構成する画面構成ステップと、前記画面出力部により、前記画面構成ステップで構成した画面を出力する画面出力ステップと、前記入力前ガイド情報取得部により、フォーカスされている入力部品に対応する入力部品情報と対になる入力前ガイド情報を、前記記憶媒体から取得する入力前ガイド情報取得ステップと、前記入力前ガイド情報出力部により、前記入力前ガイド情報取得ステップで取得した入力前ガイド情報を出力する入力前ガイド情報出力ステップと、前記入力後ガイド情報取得部により、前記受付部が入力部品に対する入力を受け付けた後、当該入力部品に対応する入力部品情報と対になる入力後ガイド情報を、前記記憶媒体から取得する入力後ガイド情報取得ステップと、前記入力後ガイド情報出力部により、前記入力後ガイド情報取得ステップで取得した入力後ガイド情報を出力する入力後ガイド情報出力ステップを具備する入力画面出力方法、である。
また、上記の入力画面出力方法は、受付部と、画面構成部と、画面出力部と、入力前ガイド情報取得部と、入力前ガイド情報出力部と、入力後ガイド情報取得部と、入力後ガイド情報出力部と、出力判断部とにより実現される入力画面出力方法であり、前記入力部品総合情報は、入力部品情報と、入力前ガイド情報と、入力後ガイド情報と、当該入力後ガイド情報を出力するか否かに関する条件を示す情報である出力条件情報を有し、前記出力判断部により、前記受付ステップで受け付けた入力が、前記出力条件情報を用いて、入力後ガイド情報を出力するか否かを判断する出力判断ステップをさらに具備し、前記入力後ガイド情報出力ステップにおいて、前記出力判断ステップで入力後ガイド情報を出力すると判断した場合のみ、入力後ガイド情報を出力する入力画面出力方法である、ことは好適である。
また、上記の画面出力方法において、前記入力前ガイド情報は、簡易なガイドである入力前簡易ガイド情報と、詳細なガイドである入力前詳細ガイド情報を有し、前記入力前ガイド情報出力ステップにおいて、フォーカスされた際に、入力部品に対応する入力部品情報と対になる入力前簡易ガイド情報を出力し、前記受付ステップでユーザからの詳細なガイドの出力指示を受け付けた場合に、フォーカスされている入力部品に対応する入力部品情報と対になる入力前詳細ガイド情報を出力する入力画面出力方法である、ことは好適である。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、図12は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の入力画面出力装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図12は、このコンピュータシステム340の概観図であり、図13は、コンピュータシステム340のブロック図である。
図12において、コンピュータシステム340は、FD(Flexible Disk)ドライブ、CD−ROM(Compact Disk Read Only Memory)ドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
図13において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、CPU(Central Processing Unit)3413と、CPU3413、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM(Read−Only Memory)3415と、CPU3413に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM(Random Access Memory)3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム340に、上述した実施の形態の入力画面出力装置等の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ341に、上述した実施の形態の入力画面出力装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(送信部、受信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。