(57)【要約】【課題】アプリケーションプログラムに対し、所定の制約の範囲内でユーザ自身が容易にカスタマイズ可能なユーザインタフェースを提供すること。【解決手段】ユーザがユーザインタフェースの変更操作を行うと、画面生成・入力処理部１４がこれを検出してカスタマイズ部１３を介して設定情報管理部１１に通知し、設定情報管理部１１では前記変更内容が予めユーザインタフェースの構成を記述した設定情報を記憶してなる記憶装置内の設定情報に対して矛盾しないかを検査し、矛盾しなければ当該記憶装置内の設定情報を書き換え、その書換内容をシステム連携部１２及び画面生成・入力処理部１４に通知することで、前述した変更操作を反映したユーザインタフェースを提供する。【選択図】図２
2009205353.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ上で動作するアプリケーションプログラムに対するユーザインタフェースを、前記コンピュータに提供する方法であって、
前記アプリケーションプログラムに対するユーザインタフェースの構成を記述した設定情報を記憶してなる記憶装置を用い、
前記コンピュータが、
記憶装置から設定情報を読み込み、アプリケーションプログラムから通知された当該プログラムの状態に関する情報とともにユーザインタフェースに出力すべき情報を決定するステップと、
前記記憶装置内の設定情報及び前記決定されたユーザインタフェースに出力すべき情報に基づきユーザインタフェースを生成して表示装置に出力するステップと、
ユーザインタフェースの変更操作を検出するステップと、
前記検出されたユーザインタフェースの変更内容が前記記憶装置内の設定情報に対して矛盾しないかを検査するステップと、
矛盾しない場合のみ当該記憶装置内の設定情報を書き換えるステップとを実行する
ことを特徴とするユーザインタフェース提供方法。
【請求項２】
ユーザインタフェースの構成を記述した設定情報はＵＩ記述言語により記述され、
検出されたユーザインタフェースの変更内容をＵＩ記述言語に変換した上で前記記憶装置内の設定情報に対して矛盾しないかを検査する
ことを特徴とする請求項１に記載のユーザインタフェース提供方法。
【請求項３】
ユーザインタフェースの構成を記述した各設定情報は優先順位の異なる２以上の集合に含まれ、
記憶装置から読み込んだ優先順位の異なる２以上の集合に含まれる設定情報間に矛盾がある場合、より優先度の低い集合の設定情報を無効化する
ことを特徴とする請求項１または２に記載のユーザインタフェース提供方法。
【請求項４】
複数のコンピュータに通信ネットワークを介して接続された１台のコンピュータ上に設けられ、前記複数のコンピュータ上でそれぞれ動作するアプリケーションプログラムに対するユーザインタフェースの構成をそれぞれ記述した複数の設定情報を記憶してなる記憶装置を用いた
ことを特徴とする請求項１乃至３いずれかに記載のユーザインタフェース提供方法。
【請求項５】
コンピュータ上で動作するアプリケーションプログラムに対するユーザインタフェースを、前記コンピュータに提供する装置であって、
前記アプリケーションプログラムに対するユーザインタフェースの構成を記述した設定情報を記憶してなる記憶装置とともに、
前記コンピュータ上に設けられた次の手段、即ち設定情報管理手段、システム連携手段、カスタマイズ手段及び画面生成・入力処理手段からなり、
設定情報管理手段は、記憶装置から設定情報を読み込んでシステム連携手段及び画面生成・入力処理手段に通知し、カスタマイズ手段から通知されたユーザインタフェースの変更内容が前記記憶装置内の設定情報に対して矛盾しないかを検査し、矛盾しなければ当該記憶装置内の設定情報を書き換えるとともに書き換え後の設定情報をシステム連携手段及び画面生成・入力処理手段に通知し、
システム連携手段は、アプリケーションプログラムから通知された当該プログラムの状態に関する情報及び設定情報管理手段から通知された設定情報を元にユーザインタフェースに出力すべき情報を決定して画面生成・入力処理手段に通知し、
カスタマイズ手段は、画面生成・入力処理手段から通知されたユーザインタフェースの変更内容を設定情報管理手段に通知し、
画面生成・入力処理手段は、設定情報管理手段から通知された設定情報及びシステム連携手段から通知されたユーザインタフェースに出力すべき情報に基づきユーザインタフェースを生成して表示装置に出力するとともに、ユーザインタフェースの変更操作を検出してその内容をカスタマイズ手段に通知する
ことを特徴とするユーザインタフェース提供装置。
【請求項６】
ユーザインタフェースの構成を記述した設定情報はＵＩ記述言語により記述され、
カスタマイズ手段は、画面生成・入力処理手段から通知されたユーザインタフェースの変更内容をＵＩ記述言語に変換した上で設定情報管理手段に通知する
ことを特徴とする請求項５に記載のユーザインタフェース提供装置。
【請求項７】
ユーザインタフェースの構成を記述した各設定情報は優先順位の異なる２以上の集合に含まれ、
設定情報管理手段は、記憶装置から読み込んだ優先順位の異なる２以上の集合に含まれる設定情報間に矛盾がある場合、より優先度の低い集合の設定情報を無効化する
ことを特徴とする請求項５または６に記載のユーザインタフェース提供装置。
【請求項８】
複数のコンピュータ上でそれぞれ動作するアプリケーションプログラムに対するユーザインタフェースの構成をそれぞれ記述した複数の設定情報を記憶してなる記憶装置を、前記複数のコンピュータに通信ネットワークを介して接続された１台のコンピュータ上に設けた
ことを特徴とする請求項５乃至７いずれかに記載のユーザインタフェース提供装置。
【請求項９】
コンピュータを、請求項５乃至８いずれか記載のユーザインタフェース提供装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務システム等のアプリケーションプログラムに対するユーザインタフェース（入力操作画面）、特に所定の制約の範囲内でユーザ自身が容易にカスタマイズ可能なユーザインタフェースを提供する技術に関する。
【背景技術】
【０００２】
（１）業務システムのユーザインタフェース
従来より、顧客からの注文や社内での決裁、他企業への発注といった案件に対する、見積書の作成や在庫確認、納品日の通知などの様々な処理に係る業務を効率的に行うため、当該案件に対して行われる２以上の処理の進め方を表した業務プロセスを作成して定義し、それに合わせてコンピュータ等を利用して個々の処理の実行を支援するアプリケーションプログラムである業務システムが構築され、利用されている。
【０００３】
業務において扱われる多種多様なデータは、前記業務システムに備えられたユーザインタフェースを介してその入力や参照、編集が行われるが、従来の業務システムのユーザインタフェースは当該システムの開発時に開発者がデザインした、固定的なものであった。そのため、システム導入後に生じるユーザの細かい要望に対応することや、状況の変化に素早く対応することが出来なかった。
【０００４】
（２）従来のカスタマイズ可能なユーザインタフェース
従来のプログラミング環境（プログラム作成用のアプリケーションプログラム）には、ユーザインタフェースの開発を支援する機能が存在している。それら既存のプログラミング環境を使えば、グラフィカルかつ直感的にユーザインタフェースを作成することが出来る。具体的には用意された部品を配置し、それらに命令コードを関連付けることにより、簡単な物から複雑な物まで所望のアプリケーションプログラムを作成することが出来る（非特許文献１参照）。このようなプログラミング環境を使えば、柔軟にユーザインタフェースを作成可能である。
【０００５】
また、各種のアプリケーションプログラムの中にはユーザインタフェースのカスタマイズ機能を備えたものも数多く存在し、例えばメニューとツールバーをカスタマイズ可能な文書作成ソフトウェアが存在する（非特許文献２参照）。しかし、それらは同じ画面内等の決まった場所の中でボタンや入力項目の追加、削除または配置替えを行うことができる程度の機能であった。
【０００６】
（３）管理機能
前述のユーザインタフェースのカスタマイズ機能を備えたアプリケーションプログラムは、主にスタンドアローンタイプのソフトウェアであり、ユーザインタフェースの設定情報は個々のユーザ端末内で完結し、集中的に設定情報を管理する機能は持っていなかった。
【０００７】
（４）ユーザインタフェース統合システム
「ユーザインタフェース統合システム」（以下、ＵＭＳ）と呼ばれる複数のアプリケーションプログラムを連携させるシステムが存在する。このシステムは、対象となるプログラムのユーザインタフェースをラップすることにより、対象となるプログラムに改造を施すことなく種別の異なる複数のアプリケーションプログラムを連携させ、統合的に操作することが出来る。
【非特許文献１】”Microsoft Visual Studio  スマートクライアントデベロッパーセンター  Part2：リッチなＵＩを備えたデスクトップアプリケーションの効率的な開発”、［ｏｎｌｉｎｅ］、Microsoft Corporation、［平成２０年２月７日検索］、インターネット＜ＵＲＬ：http://www.microsoft.com/japan/msdn/smartclient/richui/pt2#mouse.mspx＞
【非特許文献２】”Word2002  ステップバイステップガイド  メニューとツールバーのカスタマイズ”、Microsoft Corporation、［平成２０年２月７日検索］、インターネット＜ＵＲＬ：http://www.microsoft.com/japan/enable/training/word2002/customizing#overview.mspx＞
【発明の開示】
【発明が解決しようとする課題】
【０００８】
（１）業務システムのユーザインタフェース
同じ業務で同じ業務システムを使っていても、地域、支店、ユーザ、業務対象の違いや時間経過などによりユーザインタフェースの使い方（必要な項目、入力順序、必要な機能）が変わるため、最適なユーザインタフェースも変わってくる。実際にユーザからは多様なユーザインタフェースの変更要求が生じていた。従来の固定的なユーザインタフェースでは、それらの変更要求に対応することが出来ないため、ユーザが工夫をして作業したり、例外的な方法を用いて作業したりすることにより、業務効率の低下を招いていた。例外的な方法とは、使われなくなった入力項目をメモ代わりに使う等の開発時には想定されていない使用方法のことである。
【０００９】
これらの課題は既に広く認識されていて、システムの開発者がユーザの状況を調査し、最適なインタフェース画面を設計することが主な対処方法であった。この対処方法では最大公約数的な対処にならざるを得ず、状況ごとに細かくデザインを作り分けることは出来ないため、ユーザからの多様な変更要求に応じることが出来なかった。また、調査から実際に反映されるまでに時間がかかるため、変化に素早く対応することが出来なかった。
【００１０】
（２）従来のカスタマイズ可能なユーザインタフェース
ユーザインタフェースを作成可能なプログラミング環境を使用した場合は、それぞれの状況に応じて柔軟にインタフェースを構成することが可能である。しかし、それらは自由にユーザインタフェースを作成できる反面、技術力と大きな労力を必要としていた。このため、ユーザが簡単にユーザインタフェースを作成したり、変更したりするすることは難しかった。また、本来の作業とユーザインタフェースの作成作業が分かれているため、本来の作業中に気づいたことをその場で反映させるといったことは難しかった。
【００１１】
また、ユーザインタフェースのカスタマイズ機能を備えたアプリケーションプログラムでは、実際にカスタマイズ可能とすることでユーザの作業効率が向上している。しかし、それらの機能は限定的なものであり、ユーザからの要求には限定的にしか応えられない。ユーザインタフェースを完全にカスタマイズ可能とすることは技術的に難しくはないが、主に後述の管理の問題があるため、実現されていない。
【００１２】
（３）管理機能
ユーザインタフェースにカスタマイズ機能を設けること自体は既に存在しているように難しくはない。しかし、業務システムの観点からみると本質的な問題がある。ユーザが自由にユーザインタフェースを変更してしまうと業務上意味のあるユーザインタフェース構造（ＵＩ構造）も変更されてしまうため、業務の質にばらつきがでやすいという問題である。これは、入力順序が重要であったり、項目間に強い関連性があったりする場合などに問題となる。ユーザがＵＩ構造の意味を把握して変更を行えば問題ないが、それではユーザの負担が大きくなってしまうため、システムでこの問題に対応する必要があった。業務システムでは状況に合わせてユーザインタフェースに制約を設け、適当に自由度を制限する必要がある。また、それらの制約を柔軟かつ簡単に管理することも求められる。
【００１３】
（４）ユーザインタフェース統合システム
ＵＭＳの連携対象となるユーザインタフェースは多種類に及び、連携のさせ方も多様である。また連携させるアプリケーションプログラムの更改も想定されるため、ＵＭＳが固定的なユーザインタフェースを持つことは大変非効率である。そのため、ＵＭＳはユーザインタフェースをカスタマイズ可能とする効果が特に大きいシステムだといえる。
【課題を解決するための手段】
【００１４】
本発明では前記課題を解決するため、ユーザインタフェースの構成を表す設定情報に基づきユーザインタフェースを生成する機能と、ユーザインタフェースの変更操作を検出して設定情報を変更することでユーザインタフェースをカスタマイズする機能とを備えたことを特徴とする。また、設定情報をＵＩ記述言語を用いて記述し、さらに設定情報を階層化して一括管理することを特徴とする。
【００１５】
これにより、ユーザは作業中でもユーザインタフェースをユーザ自身で気軽にカスタマイズを行うことができ、気づいたことをその場で反映させるといったことが可能となり、効率的に最適なユーザインタフェースを得ることができると共に、ユーザインタフェースのきめ細かな管理と柔軟かつ簡単な運用を行うことが出来る。
【発明の効果】
【００１６】
本発明によれば、必要に応じて使用者本人がユーザインタフェースを変更することが出来るため、作業効率を上げることが出来る。また、ユーザインタフェースの管理機能を持つため、ユーザがユーザインタフェースの構造の意味を十分に理解しないで変更を行っても、適切な構造を保つことが出来る。ユーザインタフェースの設定情報は階層化され一括管理されていることにより、組織の構成に合わせてなどのきめ細かな設定情報の管理を行うことが出来る。また、業務システム等のアプリケーションプログラムに変更が起こり、設定情報に矛盾が生じても対応出来ることで柔軟な運用が可能である。また、設定情報を一括して一元的に管理できるため、ユーザインタフェースに関する傾向調査も簡単に行うことが出来る。ＵＭＳのようなユーザインタフェースの頻繁な変更が起こる場合は特に効果的である。
【発明を実施するための最良の形態】
【００１７】
図１はコンピュータシステムにおける本発明のユーザインタフェース提供装置の位置づけを示すもので、ここではユーザ端末１と該ユーザ端末１に通信ネットワークを介して接続されたユーザインタフェース（ＵＩ）情報管理サーバ２とからなるシステムにおける本発明のユーザインタフェース提供装置１０の位置づけを示している。この例では、ユーザ端末１で動作する、対象となるアプリケーションプログラムのユーザインタフェースに、本装置１０がＵＭＳを通じて働きかけることにより連携を行っている。本装置１０とＵＭＳとが連携することにより、柔軟な変更を可能とするユーザインタフェースをユーザに提供する。
【００１８】
図２は本発明のユーザインタフェース提供装置の実施の形態の一例を示すもので、本ユーザインタフェース提供装置１０は、アプリケーションプログラムに対するユーザインタフェースの構成を記述した設定情報を記憶してなる記憶装置、ここでは前記ＵＩ情報管理サーバ２上に設置された記憶装置（図示せず）とともに、前記ユーザ端末１上に設けられた設定情報管理部（手段）１１、システム連携部（手段）１２、カスタマイズ部（手段）１３及び画面生成・入力処理部（手段）１４からなっている。なお、設定情報を記憶する記憶装置をＵＩ情報管理サーバ２上に設置したのは、後述するように図示しない他のユーザ端末における設定情報とともに一括管理するためであり、設定情報を各ユーザ端末の記憶装置に個別に記憶しても良いことはいうまでもない。
【００１９】
設定情報管理部１１は、記憶装置から設定情報を読み込んでシステム連携部１２及び画面生成・入力処理部１４に通知し、カスタマイズ部１３から通知されたユーザインタフェースの変更内容が前記記憶装置内の設定情報に対して矛盾しないかを検査し、矛盾しなければ当該記憶装置内の設定情報を書き換えるとともに書き換え後の設定情報をシステム連携部１２及び画面生成・入力処理部１４に通知し、矛盾する場合は変更不可をカスタマイズ部１３に通知する。
【００２０】
システム連携部１２は、アプリケーションプログラム（ここではＵＭＳ）から通知された当該プログラムの状態に関する情報及び設定情報管理部１１から通知された設定情報を記憶するとともに、これらを元にユーザインタフェースに出力すべき情報を決定して画面生成・入力処理部１４に通知する。
【００２１】
カスタマイズ部１３は、画面生成・入力処理部１４から通知されたユーザインタフェースの変更内容を設定情報管理部１１に通知するとともに、設定情報管理部１１から変更不可が通知された場合にこれを画面生成・入力処理部１４に通知する。
【００２２】
画面生成・入力処理部１４は、設定情報管理部１１から通知された設定情報及びシステム連携部１２から通知されたユーザインタフェースに出力すべき情報を記憶するとともにこれらに基づいてユーザインタフェースを生成してユーザ端末の表示装置に出力し、また、ユーザ端末の入力装置を介したユーザインタフェース画面に対する変更操作を検出してその内容をカスタマイズ部１３に通知し、さらにカスタマイズ部１３から変更不可が通知された場合に変更されたユーザインタフェースの画面を元に戻し、エラーメッセージを表示する。
【００２３】
前述した設定情報は、例えば、西川健一、中村喜宏、山村哲哉「業務システム導入後の柔軟な変更を可能とするユーザインタフェースシステムの検討」情報処理学会研究報告、ヒューマンインタフェース研究会報告、Ｖｏｌ．２００６、Ｎｏ．１２３、２００６年１１月２１日、ｐｐ．１〜８（参考文献１）、西川健一、山村哲哉「業務システムのユーザインタフェースの柔軟な記述手法の検討」２００７年電子情報通信学会総合大会講演論文集（通信２）、Ｂ−１４−６、ｐ．３３５（参考文献２）に記載されたＵＩ記述言語を用いて記述する。本発明はＵＩ記述言語の表記法には本質的に依存しないため、ＵＩの構造を表現できる言語を拡張することで、ＵＩ記述言語として利用することができる。ここで、カスタマイズ部１３は、画面生成・入力処理部１４から通知されたユーザインタフェースの変更内容をＵＩ記述言語に変換した上で設定情報管理部１１に通知するものとする。
【００２４】
また、設定情報は、ユーザインタフェース毎に通常、複数の設定情報（の要素）からなるが、さらに１つのユーザインタフェースを単位とする各設定情報（の要素）は優先順位の異なる２以上の集合に含まれ、階層化されている。ここで、設定情報管理部１１は、記憶装置から設定情報を読み込む際、優先順位の異なる２以上の集合に含まれる設定情報（の要素）間に矛盾がないか検査を行い、矛盾が発見された場合はより優先度の低い集合の設定情報（の要素）を無効化する等の対処を行う（またはエラーを報告して停止する等しても良い。）。なお、設定情報（制約）の矛盾の検査や統合の方法については前述した参考文献２に記載されている方法の他、特開２００６−４１５６号公報（田山健一、小笠原志朗「原因特定方法及びその装置」）に示されている方法等が利用できる。
【００２５】
図３は設定情報管理部における設定情報読み込み時の動作の模式図である。あるユーザインタフェースに関する、複数の階層（優先度：階層１＞階層２＞階層３）に分割された設定情報１の各要素が設定情報管理部１１に全て読み込まれ、要素間に矛盾がないか検査が行われ、矛盾する要素のうち、優先度の低い要素が無効化（削除）されて統合された設定情報を生成する。
【００２６】
なお、図３の例は非常に単純化された例である。実際はもっと複雑な関係を考慮して検査や統合を行う。例えば、要素Ａと要素Ｂだけでは矛盾しないが、要素Ｃが加わることにより要素Ａと要素Ｂの間に矛盾が発生するような場合、優先順位が要素Ａ＞要素Ｂ＞要素Ｃであれば要素Ｃを無効化する。また、設定情報の要素として値や関係式または部品間の関係も含まれることがあるが、そのような場合、無効／有効だけでは対処できないため、値の算出等を通して検査や統合を行う。
【００２７】
また、図３の例では上位の設定情報の要素が必ず優先されるように表記した。しかし、１つの設定情報内で、強い要素（強制要素）と弱い要素（推奨要素）を用いることもできる。強い要素とは必ず守らせたい要素であり、そのため上位の設定情報の強い要素がより優先される。一方、弱い要素とは強制はしないが推奨したい要素であり、そのためユーザに近い下位の設定情報の弱い要素がより優先される。このような設定情報の要素間の優先順位の説明図を図４に示す。なお、１つの設定情報内でさらに３段階以上の強さ設定を行っても良い。
【００２８】
これにより、全国に適用する設定、県内に適用する設定、支社に適用する設定、部署に適用する設定、個人に適用する設定、のように組織の構成に沿って設定を絞っていくことが出来る。設定情報管理部１１の設定情報統合機能は矛盾があっても問題が無いため、上位の設定が変更されたことにより下位の設定と矛盾が生じても下位の設定を書き換えることなくユーザインタフェースを使用することが出来る。また、インタフェースの部分ごとに設定を分けることもできるため、設定の管理がしやすくなる効果もある。
【００２９】
さらにまた、設定情報は図１に示したようにＵＩ情報管理サーバ（１台のコンピュータ）で集中的に管理することにより、設定の変更を瞬時に各ユーザ端末（複数のコンピュータ）に適用することが出来る。また、物理的な端末を変えても自分の設定を呼び出すことで馴れたインタフェースを使い、作業効率を上げることができる。他にも、ユーザごとの設定情報を一括して管理しているため、それらの情報を使うことにより簡単に標準のユーザインタフェースの設計を行うことが出来る。また、内部統制で入力項目間に制約を設けたい場合でも各ユーザインタフェース提供装置で対応する必要は無く、サーバ上の上位階層の設定情報を書き換えるだけで対応できる。
【００３０】
本発明のユーザインタフェース提供装置では、まず、設定情報管理部１１が記憶装置から設定情報を読み込んでシステム連携部１２及び画面生成・入力処理部１４に通知すると、システム連携部１２がＵＭＳから通知されたアプリケーションプログラムの状態に関する情報及び前記設定情報管理部１１から通知された設定情報を元にユーザインタフェースに出力すべき情報を決定し、画面生成・入力処理部１４が前記設定情報管理部１１から通知された設定情報及びシステム連携部１２から通知されたユーザインタフェースに出力すべき情報に基づきユーザインタフェースを生成してユーザ端末１の表示装置に出力する。
【００３１】
ここで、画面生成・入力処理部１４がユーザ端末の入力装置を介したユーザインタフェース画面に対する変更操作を検出すると、該検出したユーザインタフェースの変更内容をカスタマイズ部１３を介して設定情報管理部１１に通知し、設定情報管理部１１で当該変更内容が前記記憶装置内の設定情報に対して矛盾しないかを検査し、矛盾しなければ当該記憶装置内の設定情報を書き換え、その書換内容をシステム連携部１２及び画面生成・入力処理部１４に通知する。
【００３２】
図５はユーザインタフェース変更時の詳細な処理の流れ図である。
【００３３】
画面生成・入力処理部１４がユーザによる入力装置を介したユーザインタフェース画面に対する変更操作を検出する（ｓ１）と、その変更内容をカスタマイズ部１３に通知する（ｓ２）。カスタマイズ部１３では前記変更内容をＵＩ記述言語に変換し（ｓ３）、設定情報管理部１１に通知する（ｓ４）。設定情報管理部１１ではＵＩ記述言語で記述された前記変更内容が記憶装置内の設定情報に対して矛盾しないかを検査し（ｓ５）、矛盾しなければ（ｓ６：Ｎｏ）設定情報管理部１１が記憶装置内の設定情報を書き換え（ｓ７）、書き換えた設定情報をシステム連携部１２及び画面生成・入力処理部１４に通知する（ｓ８）。システム連携部１２及び画面生成・入力処理部１４では、当該書き換えられた設定情報を記憶する（ｓ９）。
【００３４】
一方、矛盾がある（ｓ６：Ｙｅｓ）場合、設定情報管理部１１はカスタマイズ部１３及び画面生成・入力処理部１４に変更不可を通知し（ｓ１０，ｓ１１）、該通知を受けた画面生成・入力処理部１４ではユーザインタフェースを元に戻してエラーメッセージを表示する（ｓ１２）。
【００３５】
なお、ユーザがユーザインタフェースを変更する手段としては、ＧＵＩ（ユーザインタフェース画面に対する操作）を用いる方法の他に、ＵＩ記述言語を直接書き換える方法もある。
【００３６】
従来のアプリケーションプログラムのユーザインタフェースプログラムは、システム連携部と画面生成・入力処理部のみで構築されていると考えることが出来る。
【００３７】
＜使用例１＞
従来の設定情報を管理する機能を持たないユーザインタフェースをカスタマイズ可能なソフトウェアで、ユーザがカスタマイズを行って自分用のインタフェースを構築する場合を考える。この状態は本装置において設定情報を階層化せず、制約を課さない場合に該当し、同様にシステムで使われているＵＩ部品を好きな場所へ好きなように配置することが出来る。
【００３８】
例えば、顧客の情報を入力するＵＩを再配置したい場合には、「郵便番号」「住所」「電話番号」「氏名」「氏名読み」のＵＩ部品の再配置を行う。従来のソフトウェアではこれらをユーザが関連性に気が付かずにばらばらのページに配置してしまうことが考えられる。「郵便番号」と「住所」が離れていると大変使いづらいユーザインタフェースになってしまう。ユーザがこの問題に後から気が付いて修正することも可能であるが、これが複数の画面に存在していると修正に大変な手間がかかる。本装置であれば、上位の設定情報として「郵便番号」「住所」「電話番号」「氏名」「氏名読み」が隣接して設置されてなくてはいけないという設定を行うことで解決できる。
【００３９】
ただ、従来のソフトウェアでもグループ化をハードコーディングで実装できるため、「郵便番号」「住所」「電話番号」「氏名」「氏名読み」の組を１つのＵＩ部品とみなすことで上記の問題を解決できる。しかし、状況が変化してある部署では「郵便番号」「住所」「電話番号」の入力を行うページよりも前のページで「氏名」「氏名読み」の入力を行いたくなった場合はハードコーディングしなおさないと対応できない。
【００４０】
本装置であれば、その部署に関する設定情報を「郵便番号」「住所」「電話番号」が隣接して設置されてなくてはいけないという設定と、「氏名」「氏名読み」が隣接して設置されてなくてはいけないという設定に書き換えることで対応できる。このように、本装置はシステムのＵＩ部品を好きなページに再配置できる機能を、階層化された設定情報で管理することにより、状況の変化に柔軟に対処することが出来る。
【００４１】
＜使用例２＞
通信販売を行う業務システムとして、図６に示すようなユーザインタフェースページを持つ業務システムを考える。注文を管理する「注文管理１〜４」のページ（画面）と、在庫管理用の画面を持つとする。この例では注文管理と在庫管理の機能が同じシステムにあるとしているが、別々のシステムだとしてもＵＭＳで連携させることで仮想的に同一のシステムとみなすことが出来る。全く制限がない場合は全てのＵＩ部品を好きな位置へ移動可能である。
【００４２】
この例では、設定情報を２段階に階層化するとする。上位の設定情報として標準の画面内のユーザインタフェース部品を別々の画面内に配置することが出来ない設定になっている。本例の標準の画面内のユーザインタフェース部品は強い関連性があるため、それらをばらばらの画面に配置することは好ましくない。
【００４３】
この通信販売システムで、上位制約内で担当者が必要な画面を作成した場合のユーザインタフェース画面を図７に示す。ユーザが標準の画面内のユーザインタフェース部品を、ばらばらの画面に配置しようとしても上位の設定情報があるため、図７のようにしか出来ない。
【００４４】
このような単純なグループ化は従来のカスタマイズ可能なソフトウェアでも可能である。しかし、限定的にＵＩ部品を分割して使いたい場合が考えられる。例えば、決済がクレジットカードで行われており、決済担当者が注文者情報の「氏名」（漢字・ひらがな）と決済情報の「氏名」（ローマ字）が一致するかを確かめるため、注文者情報の「氏名」のＵＩ部品を使いたい場合である。この場合、従来のソフトウェアでは容易には対応できないが、本装置であれば、上位設定で決済担当者のみに対して注文者情報のグループ化を解除し、「氏名」のＵＩ部品の単体使用を許すことが可能であるため対応できる。また、この時、決済を行う画面ではユーザ情報を変更することは望ましくないため、同時に「氏名」のＵＩ部品の単体使用をする場合は情報が修正できないようにＵＩ部品に修正不可属性を与えるように設定を行うと良い。
【００４５】
次に、決済はほとんどがクレジットカードで行われるようになったため、注文と決済の処理を一人で行うことになったことを考える。図７に示したような、注文担当者用と決済担当者用の画面を遷移で関連付ければ良い。何の設定も行わなければ、２つの画面の遷移順序はどちらでも良い。しかし、業務の流れから考えれば、注文の確認や注文者の確認を行わないで決済処理を行うのは適当ではない。そのため、決済情報に関するＵＩ部品の集合と同じかそれより前の画面に注文情報と注文者情報のＵＩ部品の集合が現れるように上位の設定を行うことで、この問題を解決できる。このようにしてカスタマイズした状態を図８に示す。このように、ＵＩ記述言語に必要となる設定の種類は多種類に及ぶ。
【００４６】
なお、前述した実施の形態では、ユーザ端末上にハードウェアとしての設定情報管理部１１、システム連携部１２、カスタマイズ部１３及び画面生成・入力処理部１４を設けてユーザインタフェース提供装置１０を実現した例を示したが、ユーザ端末（周知のコンピュータ）に記録媒体もしくは通信回線を介して、図２の構成図に示された機能を実現するプログラムをインストールすることによっても実現可能である。
【図面の簡単な説明】
【００４７】
【図１】コンピュータシステムにおける本発明のユーザインタフェース提供装置の位置づけを示す構成図
【図２】本発明のユーザインタフェース提供装置の実施の形態の一例を示す構成図
【図３】設定情報管理部における設定情報読み込み時の動作の模式図
【図４】設定情報の要素間の優先順位の説明図
【図５】ユーザインタフェース変更時の詳細な処理の流れ図
【図６】標準のユーザインタフェース画面の一例を示す説明図
【図７】カスタマイズ後のユーザインタフェース画面の一例を示す説明図
【図８】カスタマイズ後のユーザインタフェース画面の他の例を示す説明図
【符号の説明】
【００４８】
１：ユーザ端末、２：ＵＩ情報管理サーバ、１０：ユーザインタフェース提供装置、１１：設定情報管理部（手段）、１２：システム連携部（手段）、１３：カスタマイズ部（手段）、１４：画面生成・入力処理部（手段）。
【図１】
2009205353.tif 000003
【図２】
2009205353.tif 000004
【図３】
2009205353.tif 000005
【図４】
2009205353.tif 000006
【図５】
2009205353.tif 000007
【図６】
2009205353.tif 000008
【図７】
2009205353.tif 000009
【図８】
2009205353.tif 000010