JP2004054683A - ユーザインタフェース装置及びソフトウェア部品管理方法 - Google Patents
ユーザインタフェース装置及びソフトウェア部品管理方法 Download PDFInfo
- Publication number
- JP2004054683A JP2004054683A JP2002212416A JP2002212416A JP2004054683A JP 2004054683 A JP2004054683 A JP 2004054683A JP 2002212416 A JP2002212416 A JP 2002212416A JP 2002212416 A JP2002212416 A JP 2002212416A JP 2004054683 A JP2004054683 A JP 2004054683A
- Authority
- JP
- Japan
- Prior art keywords
- component
- screen
- subsystem
- controller
- view
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【解決手段】イメージ入出力装置80に、入力部及び画面表示部を有する操作パネル2と、画面の遷移を制御する画面遷移サブシステム30、画面表示部の画面構成要素を管理する画面サブシステム40、及び、操作パネル2のデバイスを管理するパネルサブシステム50を用いて操作パネル2の動作を制御するCPU3及びパネル制御部11とを設ける。また、画面サブシステム40には、モデル部品、ビュー部品、コントローラ部品を独立に設け、前記ビュー部品と前記コントローラ部品との組み合わせに応じ、前記モデル部品、前記ビュー部品、及び前記コントローラ部品が互いに協調して所望の機能を実現するように構成する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、モデル部品、ビュー部品、コントローラ部品のアーキテクチャを利用したユーザインタフェース装置及びソフトウェア部品管理方法に関するものである。
【0002】
【従来の技術】
近年、コンピュータハードウェアのパフォーマンスアップと低コスト化を受けて、ソフトウェアの規模の増大と、その対象となる問題の複雑化は年々増している。一方、それらソフトウェア商品、もしくはソフトウェアを組み込んだ機器の商品の開発サイクルは、年々短縮される傾向にある。そのような環境の中、ソフトウェア業界においてはその開発効率の改善が必然的な要求となっている。その一つの解決法として、ソフトウェアの部品化が考えられる。これは、ソフトウェアシステムを複数の独立したコンポーネントによって構成し、そのコンポーネント単位で他のシステムで再利用しようとする考えである。そのことにより、中長期的なソフトウェア開発効率を改善することができる。
【0003】
例えば、操作部などのインタフェースを介してユーザと情報交換を行うソフトウェアシステム(以下、ユーザインタフェース装置ともいう)において、その問題領域特有の部品化を行うことによりソフトウェアを再利用してもよい。
【0004】
なお、ユーザインタフェースを構築するためのアーキテクチャとしては、MVC(Model/View/Controller)が一般に知られている。このMVCは、グラフィカル・ユーザ・インタフェース(以下、GUIともいう)のメカニズムとして広く知られているアーキテクチャであり、オブジェクト指向言語の一つであるSmalltalk−80でユーザインタフェースを構築するために考案されたものである。前記MVCで用いられるモデル(Model)は、データ管理を専門に行う、問題領域の本質部分のオブジェクトモジュールである。また、ビュー(View)は、モデルの表示(出力)を行うオブジェクトモジュールであり、表示の位置や形態を知っている。また、コントローラ(Controller)は、ユーザからの要求を受け付け、モデルやビューにメッセージを送るオブジェクトモジュールであり、全体の動きを制御するものである。
【0005】
この種の装置として関連するものには、特開2000−132385号公報、特開2001−125778号公報、特開2001−134426号公報、特開2001−318748号公報、特開2001−34449号公報がある。
【0006】
【発明が解決しようとする課題】
しかしながら、このような従来のユーザインタフェース装置では、ソフトウェアの特性、制御方式が適切に分離及び統合されていなかった。このために、アプリケーションの変更による画面仕様の変更が発生した場合、それを制御するソフトウェアを再利用することなく、一から書き直すことになってしまうという問題があった。例えば、オペレーションフローを構成する画面が画面構成要素で構成されていることには変わりないが、従来のソフトウェアではそれを制御する側、される側の両方について、新しくソフトウェアを構築しなければならなかった。
【0007】
また、同じユーザインタフェース装置において、複数の同様な制御方式を持っていても、前述したようにソフトウェアの特性、制御方式が適切に分離及び統合されていないために、似通ったコードを書かなくてはならなくなる。例えば、共通な部分をモジュール化し、呼び出すような形式にした場合には、かえって呼び出し関係が複雑になり、再利用することが難しいモジュールとなってしまう。すなわち、似通った動作及び構成ではあるが、異なるコードとして構築されてしまう。
【0008】
なお、前述した特開2000−132385号公報に開示された技術は、MVCを用いたクラス設計方法であり、ソフトウェア部品に関するものではない。また、特開2001−125778号公報、特開2001−134426号公報、特開2001−318748号公報、特開2001−34449号公報に開示された技術は、ソフトウェア部品に関するものではあるが、ソフトウェアをMVCの視点で部品化していない。
【0009】
本発明は、このような問題を解決するためになされたもので、操作部を介してユーザと情報交換を行いながら、その問題領域特有の部品化を行うことによりソフトウェアの再利用性を向上させるユーザインタフェース装置及びソフトウェア部品管理方法を提供するものである。
【0010】
【課題を解決するための手段】
請求項1に係る本発明のユーザインタフェース装置は、情報を入力する入力部、及び、この入力部による入力に対する応答結果を画面に表示する画面表示部を有する操作パネルと、前記画面の遷移を制御する画面遷移サブシステム、前記画面表示部の画面構成要素を管理する画面サブシステム、及び、前記操作パネルのデバイスを管理するパネルサブシステムをそれぞれ独立のソフトウェア部品として持ち、前記ソフトウェア部品を用いて前記操作パネルの動作を制御する制御手段とを設け、前記画面サブシステムには、データの管理を行うモデル部品と、このモデル部品の持つデータを出力するビュー部品と、前記情報の入力を管理し、前記モデル部品及び前記ビュー部品を操作するコントローラ部品とをそれぞれ独立に設け、前記制御手段により、前記ビュー部品と前記コントローラ部品との組み合わせに応じ、前記モデル部品、前記ビュー部品、及び前記コントローラ部品が互いに協調して所望の機能を実現する構成を有している。
この構成により、画面サブシステムを三つのカテゴリに分類し、それぞれのソフトウェア部品の役割を明確化しているので、より再利用性の高いユーザインタフェース用部品(UIToolKit)を構成できる。特に、ビュー部品とコントローラ部品との組み合わせを予め設定しているので、より効率的にソフトウェア部品を再利用できることとなる。
【0011】
請求項2に係る本発明のユーザインタフェース装置は、請求項1において、前記画面サブシステムでは、前記ビュー部品に対する操作により、予め前記ビュー部品と組み合わされたコントローラ部品を選択して呼び出す構成を有している。この構成により、ビュー部品を主体としてコントローラ部品を連動させることができるので、ユーザにとって理解し易く、使い勝手のよいユーザインタフェース用部品(UIToolKit)を構成できる。すなわち、開発者がソフトウェア部品を利用してユーザインタフェースを開発する場合は、目視できないものよりも目視できる単位で開発した方がわかりやすい。これに対し、ビュー部品は表示されるから目視できるが、コントローラ部品は制御機能であるから目視できない。そこで、ビュー部品を主体に構成した方が理解性が高くなる。
【0012】
請求項3に係る本発明のユーザインタフェース装置は、請求項1または2において、前記ビュー部品と前記コントローラ部品との関係を設定する関係設定手段を設けた構成を有している。
この構成により、ビュー部品とコントローラ部品との間に対応関係を定義することで、対応関係のない部品同士は機能しないようにするので、ソフトウェア部品の不適当な使い方を制限でき、保守性の高いユーザインタフェース用部品(UIToolKit)を構成できる。すなわち、ビュー部品とコントローラ部品との組み合わせを制限しない場合に、汎用性は向上するが、組み合わせても意味のないパターンをも許容して障害を招くおそれがある。例えば、メニューの選択項目を選ぶコントローラ部品であるセレクタ(Selector)を、ラベルに対して付加しても意味がない。そこで、組み合わせを予め制限しておけば、予想外の使用方法がなくなり、再利用コンポーネントを使用したソフトウェアの品質が向上することとなる。
【0013】
請求項4に係る本発明のソフトウェア部品管理方法は、情報の入力に対する応答結果を画面に表示するためのソフトウェア部品を、表示画面の遷移を制御する画面遷移サブシステムと、画面構成要素を管理する画面サブシステムと、前記情報の入力を行うデバイスを管理するデバイスサブシステムとに分け、前記画面サブシステムのソフトウェア部品を、データの管理を行うモデル部品と、このモデル部品の持つデータを出力するビュー部品と、前記情報の入力を管理し、前記モデル部品及び前記ビュー部品を操作するコントローラ部品とに分け、前記ビュー部品と前記コントローラ部品との関係を予め設定しておき、デバイスサブシステム及び画面遷移サブシステムにより、前記ビュー部品のいずれかが表示された場合には、前記画面サブシステムにより、前記ビュー部品のいずれかと組み合わせ可能なコントローラ部品を呼び出している。
この方法により、ソフトウェア部品にMVCの概念を取り入れ、画面サブシステムを三つのカテゴリに分類しているので、再利用しやすいソフトウェア部品とすることができる。さらに、ビュー部品とコントローラ部品との間に対応関係を定義することで、前述したように保守性の高いユーザインタフェース部品を構成できることとなる。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を用いて説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態に係るイメージ入出力装置のハードウェア構成を示す。
本実施形態のイメージ入出力装置80において、プロセッサ(CPU)3は、装置全体の制御を司るものであり、その制御下にROM4、RAM9、NVRAM10、操作パネル(入力部及び画面表示部を含む)2とパネル制御部11、スキャン・プリントエンジン1とエンジン制御部12、記憶装置5とディスクドライバ6、通信制御部7、モデム13、ホストインタフェース(I/F)14が接続されている。
【0015】
また、ROM4は、CPU3により実行させるためのプログラムを記憶するとともに、このプログラムがCPU3によって実行されるときにー時的に作成される情報等を保持するものであって、プログラムコード、フォント、及びその他の静的なデータが格納されている。RAM9は、一時的な記憶場所として利用される。NVRAM10は、不揮発性のデータを格納しておく。操作パネル2とパネル制御部11とは、ユーザとのインタフェースを司る。スキャン・プリントエンジン1とエンジン制御部12とは、イメージデータの入出力ユニットとして、紙原稿の読み取りと転写紙への印刷を実行する。記憶装置5とディスクドライバ6とは、大量のイメージデータなどを蓄積し、あるいはデータベースの記憶場所として利用される。通信制御部7は、イーサネット(登録商標)等のネットワーク15に接続され、ネットワーク15を介して外部の機器(ここでは、パーソナルコンピュータ(PC)16)との通信を可能とする。モデム13は、公衆回線と接続され、外部の機器との通信を可能とする。外部インタフェース(ここでは、ホストインタフェース)14は、セントロニクスやRS−232C等のインタフェースを用いて外部の機器(ここでは、ホスト・パーソナルコンピュータ(PC)17)との通信を可能にする。バス8は、前述の装置1〜7間を接続するものである。
【0016】
また、ネットワーク15は、コンピュータ装置(イメージ入出力装置80を含む)と他のコンピュータ装置とを結合するための伝送路であって、一般には、ケーブルで実現され、通信プロトコルにはTCP/IPが使われる。但し、伝送路としてはケーブルだけでなく、それらの間の通信プロトコルが一致するものであれば無線、有線及び放送波のいずれでもよく、例えば、構内網(LAN)、広域網(WAN)、インターネット、アナログ電話網、ディジタル電話網(ISDN)、パーソナルハンディホンシステム(PHS)、携帯電話網、衛星通信網等を用いることができる。
【0017】
なお、前述したプログラムは、本実施形態のユーザインタフェース機能(ソフトウェア部品管理機能あるいは方法を含む)を実現させるものであって、このソフトウェア部品管理機能には、画面生成機能(図8に示す)、及びメニュー選択機能(図9に示す)が含まれる。また、前述したプログラムは、所定の記録媒体からインストールされてもよい。この場合は、前述したプログラムを予め所定の記録媒体に書き込んでおき、これをディスクドライバ6などの媒体駆動装置に装着し、前述したプログラムをROM4、NVRAM10、あるいは記憶装置5等のメモリに格納し、CPU3により実行する。さらに、前述したプログラムがROM等のような半導体の記録媒体に記録されている場合には、前述したプログラムは、媒体駆動装置からではなく、直接、メモリヘロードされ、実行されることとなる。
【0018】
また、前述した記録媒体は、例えば、半導体媒体(例えば、ROM、ICメモリカード等)、光媒体(例えば、シーディーロム(CD−ROM)、ディジタル・バーサタイル・ディスク(DVD)、光磁気ディスク(MO)、ミニディスク(MD)、書き込み可能なCD(CD−R)等)、磁気媒体(例えば、磁気テープ、フレキシブルディスク(FD)等)のいずれであってもよい。
【0019】
さらに、ROM4、NVRAM10、あるいは記憶装置5等のメモリへロードしたプログラムを実行することにより、本実施形態のユーザインタフェース機能が実現されるだけでなく、プログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって本実施形態のユーザインタフェース機能が実現されるようにしてもよい。また、通信制御部7によりネットワーク15上の所定のサーバ(PC16を含む)と接続し、このサーバからプログラムをメモリにインストールしてもよい。あるいは、ホストインタフェース14によりホスト装置(PC17を含む)からプログラムをメモリにインストールしてもよい。
【0020】
次に、図2を用い、ユーザインタフェース装置80内部の組み込みソフトウェアについて説明する。図2に示す組み込みソフトウェアは、大きく分けると(a)〜(d)に示す4層の構造を有している。
アプリケーション層(a)は、コピー、ファクシミリ、プリンタなどのアプリケーションを形成するレイヤーである。ここで、ドキュメントマネージャは、コピー、ファクス、プリンタなどのシナリオに沿ってドキュメントをハンドリングするアプリケーションとしては中心となる機能ブロックである。サービスマネージャは、ドキュメントハンドリングの際に共通に必要となる機能ブロックであり、各種サービスの管理、実行を行うものである。デバイスマネージャは、スキャナ、プロッタ、画像バスといった物理デバイスの動作を決定する機能ブロックであり、各種デバイスの管理、実行を行うものである。オペレーションマネージャは、装置に付属している操作パネル2を制御するものであり、ボタンの表示、ボタンオペレーションのノーティファイ、アラートの通知などを行うものである。データベースマネージャは、フォント、定形フォーム、ファクス受信履歴、装置の利用履歴、課金データなどの永続データの維持管理を行うものである。プログラムファクトリは、ソフトウェアの組立表とソフトウェア部品及び互換表からプログラム実行のための初期化を行うものである。すなわち、静的に存在するソフトウェア部品をRAM9上へ展開し(オブジェクト指向プログラミングにおけるインスタンスの生成)、何らかのメッセージを受け取る(オブジェクト指向プログラミングにおけるメソッドコール)ことにより、動作可能な状態にしておくものである。
カーネル層(b)は、通常OSのカーネルとして組み込まれ、各種デバイスを抽象化してアプリケーションに対し、サービスを提供するものであり、前述したアプリケーション層(a)はカーネル層(b)に対し、システムコールすることにより動作する。
ドライバ層(c)は、各種ハードウェアを駆動するための制御を実行する機能ブロックの集まりである。
ハードウェア層(d)は、ユーザインタフェース装置80内に存在する制御可能なリソースの集合である。
【0021】
次に、図3、図4を用い、本実施形態のソフトウェア部品(以下、ユーザインタフェース部品(UI部品)ともいう)の構成について説明する。なお、ソフトウェア部品はユーザインタフェース装置80内に存在する制御可能なリソースの集合である。また、本実施形態では、グラフィカル・ユーザインタフェースのアーキテクチャを利用し、画面サブシステム40のソフトウェア部品を三つのカテゴリに分類している。
図3に示すように、UI部品は画面遷移サブシステム30、画面サブシステム40、パネルサブシステム50の3層に分かれている。さらに、画面遷移サブシステム30には、図4(a)に示すように、ファックスアプリUIプロセス(遷移部品、画面部品を含む)、コピーアプリUIプロセス(遷移部品、画面部品を含む)が対応している。また、画面サブシステム40には、図4(b)に示すように、機種依存パネルプロセス(パネル部品を含む)が対応している。さらに、パネルサブシステム50には、図4(c)に示すように、デバイス制御が対応している。特に、画面サブシステム40では、従来の技術で示したMVC(Model/View/Controller)におけるビューとコントローラとを関連付けて制御するようになっている。
【0022】
ここで、MVC の概念とクラスをそれぞれ図5(a)と図5(b)に示す。図5(a)において、MVCで用いられるモデル(Model)は、データ管理を専門に行い、問題領域の本質部分となる。また、ビュー(View)は、コントローラ(Controller)の指示により、モデルに対してデータの取得を要求し、モデルからの表示位置や形態の変更通知に応じ、データモデルの表示(出力)を行うものである。また、コントローラ(Controller)は、ユーザからの要求(ここでは、ビューからの指示となる)を受け付け、モデルやビューにメッセージを送るものである。なお、MVCのデータ構造とデータの操作は図5(b)に示すとおりである。
【0023】
次に、本実施形態の画面サブシステム40周辺のソフトウェア部品の構造を図6に示す。
図6において、ビューにはそれぞれウィンドウとして独立したメニュー部品、ラベル部品、及びウィンドウ部品などがあり、コントローラにはそれぞれ独立したフォーカス制御部品、選択制御部品などがある。本実施形態では、前述したビューとコントローラとの組み合わせの適否関係を予め設定し、組み合わせを制限しながら必要な部品を呼び出して再利用するよう、構成されている。例えば図7に示すように、ビュー部品とコントローラ部品との組み合わせの適否関係が登録された、関係テーブル60(関係設定手段に含まれる)をROM4、NVROM10、記憶装置5等に更新可能に記憶しておいてもよい。
【0024】
次に、図8を用い、本実施形態の画面生成シーケンスを説明する。以下に各部品の画面生成時の動作を示す。
まず、モデル部品(モデル)は、遷移サブシステム30における画面生成時(1.生成)はなにもしない。また、モデル部品は、画面サブシステム40においてビュー部品(ビュー)から登録があると、記憶しておく(7.Attach)。このAttachをする目的は、モデル自身の値が変更された場合に、登録されているビュー部品全てに対し、変更通知を送るためである。
次いで、ビュー部品が生成されると(2.生成、4.生成)、これらのビュー部品からPanelに対し、自分が表示する対象の生成を指示する(3.表示要素生成指示、5.表示要素生成指示)。これによって、前記ビュー部品を操作パネル2で表示できるようになる。また、コントローラ部品を保持する場合は、コントローラ部品を生成する(6.生成)。また、前述したように、モデル部品に対しては、変更があったときに通知が受け取れるように登録しておく(7.Attach)。コントローラ部品が生成されると、自分が制御する対象であるモデル、ビューのデータを受け取る。
ここでは、関係テーブル60により、ビュー部品(ここでは、メニュー)とコントローラ部品(ここでは、セレクタ)との組み合わせが可能に設定されているので、画面サブシステム40において、メニューとセレクタとが連動するように制御される。
【0025】
次に、図9を用い、本実施形態のメニュー選択動作を説明する。以下に、ビュー部品(ここでは、メニュー)により値を選択(変更)した時の各部品の動作を示す。
まず、パネルサブシステム50は、押下イベントをビュー部品(ここでは、メニュー)に発行する(1.押下イベント)。次いで、この押下イベントを受け取ったメニューは、関連するコントローラ部品の全て(ここで、セレクタ)にその押下イベントを通知する(2.押下通知)。次いで、その押下イベントを受け取ったセレクタは、その押下イベントに応じた処理を行い、処理できないイベントに関しては無視する。ここで、セレクタはモデル部品(ここでは、ビューデータ)の値を変更する(3.値変更)。次いで、値を変更されたビューデータは、登録されているビュー部品全て(ここでは、メニュー)に変更通知を発行する(4.変更通知)。次いで、変更通知を受け取ったメニューは、ビューデータに対して変更された値の取得を要求し(5.取得)、ビューデータから値を取得し、その値を元にパネルサブシステム50のパネル部品に対して表示を変更する要求を出す(6.表示変更要求)。
ここでは、関係テーブル60により、ビュー部品(ここでは、メニュー)とコントローラ部品(ここでは、セレクタ)との組み合わせが可能に設定されているので、画面サブシステム40において、メニューとセレクタとが連動するように制御される。
【0026】
以上のように、本発明の第1の実施形態に係るイメージ入出力装置80は、情報を入力する入力部、及び、この入力部による入力に対する応答結果を画面に表示する画面表示部を有する操作パネル2と、前記画面の遷移を制御する画面遷移サブシステム30、前記画面表示部の画面構成要素を管理する画面サブシステム40、及び、操作パネル2のデバイスを管理するパネルサブシステム50を独立のソフトウェア部品として持ち、前記ソフトウェア部品を用いて操作パネル2の動作を制御するCPU3、パネル制御部11、ROM4など(制御手段に含まれる)とを設け、画面サブシステム40には、データの管理を行うモデル部品と、このモデル部品の持つデータを出力するビュー部品と、前記情報の入力を管理し、前記モデル部品及び前記ビュー部品を操作するコントローラ部品とをそれぞれ独立に設け、CPU3、パネル制御部11、ROM4などにより、前記ビュー部品と前記コントローラ部品との組み合わせに応じ、前記モデル部品、前記ビュー部品、及び前記コントローラ部品が互いに協調して所望の機能を実現するので、それぞれのソフトウェア部品の役割を明確化し、特に、ビュー部品とコントローラ部品との組み合わせを設定して、より効率的にソフトウェア部品を再利用できる。
【0027】
[第2の実施形態]
図10に、本発明の第2の実施形態に係るコントローラ部品生成方法を示すフローチャートである。これは第1の実施形態とは、関連テーブル60を用いたユーザインタフェース機能(ソフトウェア部品管理機能を含む)をコントローラ部品の生成に適用した点が相違している。なお、本実施形態のユーザインタフェース装置は、第1の実施形態と概ね同様の構成を有しているために、図1、図3、図4、図7を用いると共に同一構成には同一符号を付与して説明を省略する。
【0028】
本実施形態のコントローラ部品生成方法は、第1の実施形態に準じてROM4、NVRAM10、記憶装置5等にインストールされたコントローラ部品生成プログラムにより実現される。このコントローラ部品生成プログラムは、CPU3(コンピュータ装置に含まれる)に、図10に示すステップS101〜S106を実行させるものである。
ステップS101においては、コントローラ部品生成のために選択されたビュー部品を操作パネル2に表示する。
ステップS102においては、操作パネル2の操作等により、コントローラ部品を生成させるコマンドが入力されたか否かを判断する。ここで、前記コマンドが入力された場合はステップS103へ進み、コマンドが入力されなかった場合には処理を終了する。
ステップS103においては、関連テーブル60を参照し、前記ビュー部品と組み合わせ可能なコントローラ部品を操作パネル2に表示する。
ステップS104においては、ステップS103で表示されたコントローラ部品群のいずれかが選択されたか否かを判断する。ここで、操作パネル2の操作等により、前記コントローラ部品群のいずれかが選択された場合はステップS105へ進み、前記コントローラ部品群のいずれも選択されなかった場合には処理を終了する。
ステップS105においては、ステップS104で選択されたコントローラ部品を生成する。ここで、当該コントローラ部品の生成状態は操作パネル2に表示される。
ステップS106においては、操作パネル2の操作等により、終了コマンドが入力されたか否かを判断する。ここで、終了コマンドが入力された場合は処理を終了し、入力されなかった場合にはステップS101に戻ってコントローラ部品の生成を繰り返す。
【0029】
以上のように、本発明の第2の実施形態に係るコントローラ部品生成方法(ソフトウェア部品管理方法に含まれる)は、複数のコントローラ部品との関係が予め定義づけられているビュー部品を画面表示する第1のステップ(ステップS101を含む)と、前記ビュー部品と複数のコントローラ部品との関係を画面表示する第2のステップ(ステップS102、S103を含む)と、前記複数のコントローラ部品のいずれかが選択された場合に、当該コントローラ部品を生成する第3のステップ(ステップS104、S105を含む)とを実行しているので、ビュー部品とコントローラ部品との間に対応関係を定義し、対応関係のない部品同士は選択できないようにすることができる。よって、ソフトウェア部品の不適当な使い方を制限し、再利用コンポーネントを使用したソフトウェア部品生成を効率的に支援できることとなる。
【0030】
[第3の実施形態]
図11に、本発明の第3の実施形態に係るコントローラ部品解析方法を示すフローチャートである。これは第1の実施形態とは、関連テーブル60を用いたユーザインタフェース機能(ソフトウェア部品管理機能を含む)を、生成されたコントローラ部品のコンパイル時に適用した点が相違している。なお、本実施形態のユーザインタフェース装置は、第1の実施形態と概ね同様の構成を有しているために、図1、図3、図4、図7を用いると共に同一構成には同一符号を付与して説明を省略する。
【0031】
本実施形態のコントローラ部品解析方法は、第1の実施形態に準じてROM4、NVRAM10、記憶装置5等にインストールされたコントローラ部品解析プログラムにより実現される。このコントローラ部品解析プログラムは、CPU3(コンピュータ装置に含まれる)に、図10に示すステップS201〜S206を実行させるものである。
ステップS201においては、予め生成されたコントローラ部品を含むソフトウェアをコンパイルするときに、操作パネル2の操作等により、コンパイルのための操作コマンドが入力されたか否かを判断する。ここで、操作コマンドが入力された場合はステップS202へ進み、操作コマンドが入力されなかった場合には処理を終了する。
ステップS202においては、前記ソフトウェアに含まれるビュー部品のいずれかを設定する。
ステップS203においては、ステップS202で設定されたビュー部品について指定されているコントローラ部品を順次取得する。
ステップS204においては、関連テーブル60を参照し、ステップS202で設定されたビュー部品と、ステップS203で取得されたコントローラ部品との関係をチェックする。
ステップS205においては、前記ビュー部品と前記コントローラ部品とが組み合わせ可能な場合はステップS202に戻り、前記ビュー部品と前記コントローラ部品との組み合わせが適当でない場合には、操作パネル2にエラー表示をして処理を中断または終了する。
【0032】
以上のように、本発明の第3の実施形態に係るコントローラ部品解析方法(ソフトウェア部品管理方法に含まれる)は、生成されたソフトウェアを解析する場合に、このソフトウェアに含まれるビュー部品を設定する第1のステップ(ステップS201、S202を含む)と、第1のステップで設定されたビュー部品に対して指定されているコントローラ部品を順次取得する第2のステップ(ステップS203を含む)と、予め定義されているビュー部品とコントローラ部品との関係により、第1のステップで設定されたビュー部品と第2のステップで順次取得されたコントローラ部品との組み合わせが正当か否かを判断する第3のステップ(ステップS204、S205を含む)とを実行しているので、ビュー部品と組み合わせ可能なコントローラ部品か否かを容易に判断することができる。よって、対応関係のない部品同士の組み合わせを排除し、再利用コンポーネントを使用して生成されたソフトウェアの解析を効率的に支援できることとなる。
【0033】
【発明の効果】
以上説明したように、本発明は全体としてソフトウェア部品の構成を、制御対象と制御方法に分離することにより、表示、制御、データの視点から部品の再利用性が向上し、メンテナンスが容易になるので、ソフトウェア開発者の負担を軽減し、開発効率を向上させるという優れた効果を有するユーザインタフェース装置を提供することができるものである。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るイメージ入出力装置の構成を示すブロック図である。
【図2】本発明の第1の実施形態に係る組み込みソフトウェアの構成を説明する説明図である。
【図3】本発明の第1の実施形態に係るユーザインタフェース部品の構成を説明する説明図である。
【図4】本発明の第1の実施形態に係るユーザインタフェース部品を利用したソフトウェアのシステム構成を説明する説明図である。
【図5】本発明の第1の実施形態で利用するMVCの概念とクラスを説明する説明図である。
【図6】本発明の第1の実施形態に係る画面サブシステムの構成を説明する説明図である。
【図7】本発明の第1の実施形態に係る関係テーブルの説明図である。
【図8】本発明の第1の実施形態に係る画面生成シーケンスを示す遷移図である。
【図9】本発明の第1の実施形態に係るメニュー選択時の画面生成シーケンスを示す遷移図である。
【図10】本発明の第2の実施形態に係るコントローラ部品生成方法を示すフローチャートである。
【図11】本発明の第3の実施形態に係るコントローラ部品解析方法を示すフローチャートである。
【符号の説明】
1 スキャン・プリントエンジン
2 操作パネル
3 CPU
4 ROM
5 記憶装置
6 ディスクドライバ
7 通信制御部
8 バス
9 RAM
10 NVRAM
11 パネル制御部
12 エンジン制御部
13 モデム
14 ホストインタフェース(I/F)
15 ネットワーク
16、17 パーソナルコンピュータ(PC)
80 イメージ入出力装置
Claims (4)
- 情報を入力する入力部、及び、この入力部による入力に対する応答結果を画面に表示する画面表示部を有する操作パネルと、前記画面の遷移を制御する画面遷移サブシステム、前記画面表示部の画面構成要素を管理する画面サブシステム、及び、前記操作パネルのデバイスを管理するパネルサブシステムを独立のソフトウェア部品として持ち、前記ソフトウェア部品を用いて前記操作パネルの動作を制御する制御手段とを設け、
前記画面サブシステムには、データの管理を行うモデル部品と、このモデル部品の持つデータを出力するビュー部品と、前記情報の入力を管理し、前記モデル部品及び前記ビュー部品を操作するコントローラ部品とをそれぞれ独立に設け、
前記制御手段により、前記ビュー部品と前記コントローラ部品との組み合わせに応じ、前記モデル部品、前記ビュー部品、及び前記コントローラ部品が互いに協調して所望の機能を実現することを特徴とするユーザインタフェース装置。 - 前記画面サブシステムでは、前記ビュー部品に対する操作により、予め前記ビュー部品と組み合わされたコントローラ部品を選択して呼び出すことを特徴とする請求項1に記載のユーザインタフェース装置。
- 前記ビュー部品と前記コントローラ部品との関係を設定する関係設定手段を設けたことを特徴とする請求項1または2に記載のユーザインタフェース装置。
- 情報の入力に対する応答結果を画面に表示するためのソフトウェア部品を、表示画面の遷移を制御する画面遷移サブシステムと、画面構成要素を管理する画面サブシステムと、前記情報の入力を行うデバイスを管理するデバイスサブシステムとに分け、
前記画面サブシステムのソフトウェア部品を、データの管理を行うモデル部品と、このモデル部品の持つデータを出力するビュー部品と、前記情報の入力を管理し、前記モデル部品及び前記ビュー部品を操作するコントローラ部品とに分け、
前記ビュー部品と前記コントローラ部品との関係を予め設定しておき、デバイスサブシステム及び画面遷移サブシステムにより、前記ビュー部品のいずれかが表示された場合には、前記画面サブシステムにより、前記ビュー部品のいずれかと組み合わせ可能なコントローラ部品を呼び出すことを特徴とするソフトウェア部品の管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002212416A JP2004054683A (ja) | 2002-07-22 | 2002-07-22 | ユーザインタフェース装置及びソフトウェア部品管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002212416A JP2004054683A (ja) | 2002-07-22 | 2002-07-22 | ユーザインタフェース装置及びソフトウェア部品管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004054683A true JP2004054683A (ja) | 2004-02-19 |
Family
ID=31935356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002212416A Pending JP2004054683A (ja) | 2002-07-22 | 2002-07-22 | ユーザインタフェース装置及びソフトウェア部品管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004054683A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006260440A (ja) * | 2005-03-18 | 2006-09-28 | Nomura Research Institute Ltd | 携帯端末のためのアプリケーションシステム |
CN100430909C (zh) * | 2005-07-15 | 2008-11-05 | 国际商业机器公司 | 协作式终端仿真器以及客户端整合系统和方法 |
CN102955688A (zh) * | 2011-08-23 | 2013-03-06 | 上海无戒空间信息技术有限公司 | 一种用户图像控件的处理方法 |
-
2002
- 2002-07-22 JP JP2002212416A patent/JP2004054683A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006260440A (ja) * | 2005-03-18 | 2006-09-28 | Nomura Research Institute Ltd | 携帯端末のためのアプリケーションシステム |
CN100430909C (zh) * | 2005-07-15 | 2008-11-05 | 国际商业机器公司 | 协作式终端仿真器以及客户端整合系统和方法 |
CN102955688A (zh) * | 2011-08-23 | 2013-03-06 | 上海无戒空间信息技术有限公司 | 一种用户图像控件的处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000056960A (ja) | ユーザインターフェイス装置 | |
US7275213B2 (en) | Configuring a graphical user interface on a multifunction peripheral | |
US20070240156A1 (en) | Installation Method, Information Processing Apparatus and Device Driver | |
JP4403139B2 (ja) | Webサービス利用システム | |
JP2005050061A (ja) | プッシュ型インストールシステム、情報処理装置、プッシュ型インストール方法およびプログラム | |
US7663778B2 (en) | Document processor, image forming apparatus, document processing method, and computer program | |
US7325203B2 (en) | Configuring a graphical user interface on a multifunction peripheral | |
JP2008305004A (ja) | 画像形成装置、アプリケーション実行方法及びアプリケーション実行プログラム | |
US20080062464A1 (en) | Image processing device and image processing method | |
JP2007318686A (ja) | 情報処理システム、電子機器、情報処理方法及び情報処理プログラム | |
US7958452B2 (en) | System and method for thin client development of a platform independent graphical user interface | |
JP2008047119A (ja) | ユーザ・インターフェイスの表示データを生成するシステムおよび方法 | |
JP2004054683A (ja) | ユーザインタフェース装置及びソフトウェア部品管理方法 | |
JP2007047874A (ja) | ユーザインターフェース装置、ソフトウェア部品管理方法、及びソフトウェア部品管理プログラム | |
JP6123109B2 (ja) | 画像形成装置 | |
JP2000227864A (ja) | イメージ入出力装置のソフトウェアシステム | |
KR101405920B1 (ko) | 잡 컨트롤 장치 및 복합장치 그리고 그들의 동작 방법 | |
JP2007034486A (ja) | ユーザインターフェース装置、ソフトウェア部品管理方法、及びソフトウェア部品管理プログラム | |
JP2006085493A (ja) | 画面遷移制御プログラムおよび画像形成装置 | |
JP2000315152A (ja) | ユーザー・インターフェース制御装置、ユーザー・インターフェース制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2001125778A (ja) | ユーザインターフェースシステム、ユーザインターフェースシステムを備えた情報処理装置 | |
JP2005267447A (ja) | 画像形成装置及び画像形成方法 | |
JP5847492B2 (ja) | 画像形成装置、システム、テスト方法及びプログラム | |
JP2002366476A (ja) | 分散処理システムにおけるデバイスに合わせた表示方法、分散処理システムおよび記憶媒体 | |
JP2007193700A (ja) | アプリケーション選択管理装置、画像形成装置、アプリケーション選択管理方法及びアプリケーション選択管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070914 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070925 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071114 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071218 |