JP5903276B2 - 表示制御プログラム及び該装置 - Google Patents

表示制御プログラム及び該装置 Download PDF

Info

Publication number
JP5903276B2
JP5903276B2 JP2012000200A JP2012000200A JP5903276B2 JP 5903276 B2 JP5903276 B2 JP 5903276B2 JP 2012000200 A JP2012000200 A JP 2012000200A JP 2012000200 A JP2012000200 A JP 2012000200A JP 5903276 B2 JP5903276 B2 JP 5903276B2
Authority
JP
Japan
Prior art keywords
screen
information
display
transition
component
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.)
Expired - Fee Related
Application number
JP2012000200A
Other languages
English (en)
Other versions
JP2013140482A (ja
Inventor
聡 四ヶ所
聡 四ヶ所
俊一 平林
俊一 平林
善之 太田
善之 太田
涼二 鈴木
涼二 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Denso Corp
Original Assignee
Fujitsu Ltd
Denso Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd, Denso Corp filed Critical Fujitsu Ltd
Priority to JP2012000200A priority Critical patent/JP5903276B2/ja
Priority to EP12199458.6A priority patent/EP2613253A1/en
Priority to US13/728,107 priority patent/US20130174064A1/en
Publication of JP2013140482A publication Critical patent/JP2013140482A/ja
Application granted granted Critical
Publication of JP5903276B2 publication Critical patent/JP5903276B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本実施形態は、画面表示を制御する表示制御プログラム及びその装置に関する。
コンピュータと利用者の間での情報をやりとりするためのインターフェースとしてユーザインターフェース(以下、UI(User Interface)という)がある。UIを用いた操作画面では、例えば、画面に表示されたメニューがマウスやキーボード等によって選択されると、表示画面を遷移させ各種アプリケーションが実行される。また、UIを用いた操作画面を開発する際には、操作画面のレイアウトやUI部品の動作などが開発者によって設定される。
このようなUIの開発は、開発者がUIの操作を決定して仕様を記述する「UI仕様作成工程」、ソースコードを作成する「開発工程」、生成されたソースコードを用いて実際にUI動作させて操作性の検証を行う「テスト工程」の順に行われる。
具体的には、UI仕様工程において、開発者が自然言語で自由に画面上の処理内容を記述してUIの仕様を作成する。そして、開発工程において、仕様工程で記述された処理内容を開発者が見て、プログラミング言語を用いてソースコードを記述するコーティングを手作業で行ってソースコードを生成する。その後、テスト工程において、生成されたソースコードをオブジェクトコードに変換し、実際にUIを動作させてUIの操作性を検証する。
特開2002−244848号公報
UI仕様作成工程では、画面上にボタン、文字、グラフまたは絵などを表示させる領域を示すUI部品を配置する画面仕様と、例えばボタンを押すことによって画面が変化する様子をフローとして記述する遷移仕様(画面遷移仕様)が作成される。
画面仕様・遷移仕様では、UI機能の処理結果を1つのディスプレイに表示することが想定される。画面仕様としては、様々なUI操作に対応する画面を設計していた。画面遷移仕様としては、どのUI操作を実行した時にどの画面に遷移するかを設計していた。
しかし、画面内の文字表記を複数の言語で表示したり、製品グレードによって表示内容が高度になる等の、製品の提供先や目的別のバリエーション開発を効果的に行う要求が多くなってきている。
そのような要求に応えるべく、標準的な機能・装備(標準仕様)としては提供されず、製品の提供先・用途・製品グレード・動作環境等に応じて利用可能になる機能・装備(オプション)が提供される。
このように様々なオプションに対応する画面仕様及び画面遷移仕様の作成を行う場合、オプションに応じて標準仕様の画面を調整してUIを提供することになる。
しかしながら、標準仕様の画面だけでなく、オプションに対応した画面も準備することになり、似たような画面を大量に用意するので、実際のアプリケーション製品における画面遷移仕様の内容が複雑になる。そのため、UI仕様作成工程で画面遷移仕様を検討する場合、即座に画面遷移仕様の内容を視認し、把握することは難しかった。
そこで、本明細書の一つの側面では、画面遷移仕様において、画面本来の変化による画面遷移とオプション情報とを分離して、画面本来の変化による画面遷移仕様を出力すると共に、オプションによる分岐動作の仕様を担保する技術を提供する。
本実施形態の一側面における表示制御プログラムは、コンピュータに、以下の処理を実行させる。コンピュータは、画面を示す画面情報と、該画面情報と関係付けられ該画面に含まれる要素の属性を示す要素属性情報と、前記画面に含まれる前記要素が動作する条件に関する動作条件情報と、前記要素が動作する処理の内容に関する動作内容情報と、を取得する。コンピュータは、前記要素属性情報に関係付けられた前記画面情報を、前記動作条件情報と前記動作内容情報とから生成される前記画面間の遷移関係を示す画面遷移情報の一画面を示す情報として出力する。コンピュータは、シミュレーション実行条件の設定において、表示部に、シミュレーション実行対象の前記画面に対応する前記画面情報と関連付けられた前記要素属性情報を、シミュレーション実行条件として選択可能に表示させる。
本実施形態の一側面における表示制御プログラムは、コンピュータに、以下の処理を実行させる。コンピュータは、画面を示す画面情報と、画面情報と関係付けられ画面に含まれる要素の属性を示す要素属性情報と、要素が動作するために要求される条件に関する情報である動作定義データと、要素が動作する処理の内容に関する情報である仕様データと、を取得する。コンピュータは、動作定義データに含まれる画面遷移の条件と仕様データに含まれる画面遷移の条件が満たされた場合に遷移する遷移先画面とに基づいて、標準仕様における画面間の遷移関係を示す画面遷移情報であって、属性の違いによる似通った画面への遷移が記述されていない画面遷移情報を出力する。コンピュータは、シミュレーション実行条件の設定において、表示部に、シミュレーション実行対象の画面に対応する画面情報と関連付けられた要素属性情報を選択可能に表示させる。
本実施形態の一側面によれば、画面遷移仕様において、画面本来の変化による画面遷移とオプション情報とを分離して、画面本来の変化による画面遷移仕様を出力すると共に、オプションによる分岐動作の仕様を担保することができる。
ユーザインターフェース(UI)の画面仕様及び画面遷移仕様を説明するための図である。 本実施形態における出力制御装置のブロック図を示す。 本実施形態におけるUI設計支援装置の構成ブロック図を示す。 本実施形態におけるUI設計支援装置の処理を説明するための図である。 本実施形態における部品情報に含まれる属性情報のデータ構造を示す。 本実施形態における画面仕様の設定の一例を説明するための図である。 本実施形態におけるオプションの種類と、オプションの取り得る値とに関する一覧の一例を示す。 本実施形態における画面Anに配置される部品P1,P2についてのオプションの設定例を示す。 本実施形態におけるオプションの選択可能な組み合わせの一例を説明するための図である。 本実施形態における画面別のオプション選択一覧の一例を示す。 本実施形態におけるオプション間の依存関係に基づくオプションの設定について説明するための図である。 本実施形態におけるシミュレーションに際して、ベースとなる画面を共通するが、部品のオプションが異なる画面A1と画面A1’との間における、オプションの変更を説明するための図である。 本実施形態の一実施例に係るUI設計支援装置の構成を示すブロック図である。 本実施形態の一実施例に係る画面編集ビューの表示例を示す図である。 本実施形態の一実施例に係る部品の表示設定ビューの表示例を示す図である。 本実施形態の一実施例に係る動作定義フォーマット選択ビューの表示例を示す図である。 本実施形態の一実施例に係る部品属性選択ビューの表示例を示す図である。 本実施形態の一実施例に係る動作定義フォーマットの一例を示す。 本実施形態の一実施例に係るツリー構造の仕様データの一例を示す図である。 本実施形態の一実施例に係るツリー構造の仕様データの一例を示す図である。 本実施形態の一実施例に係るシミュレーション操作画面の一例を示す図である。 本実施形態の一実施例に係るシミュレーション実行処理を説明する図である。 本実施形態の一実施例に係るソースコードの構成の一例を示す図である。 本実施形態の一実施例に係るUIアプリの仕様書の一例を示す。 本実施形態の一実施例に係るUI設計支援装置の全体の処理フローを示す。 S14の処理の詳細の一例を示すフローである。 S18の処理の詳細の一例を示すフローである。 S19の処理の詳細の一例を示すフローである。 本実施形態の一実施例に係るコンピュータのハードウェア環境の構成ブロック図である。
図1は、ユーザインターフェース(UI)の画面仕様及び画面遷移仕様を説明するための図である。図1(A)は、画面仕様を説明するための図である。画面仕様作成工程では、例えば、画面設計ツール等を用いて、作業者は、標準仕様となる画面A1と、その画面A1にオプションを追加した画面(A1’,A1”,・・・)を画面遷移単位で作成する。
ここで、オプションの種別としては、例えば、表示文言レベルの違い、文字デザインの違い、デザインレベルの違い、部品の違い、入力方式の違い、製品提供先の違い、表示の有無の違い、画面表示の有無の違い等に応じた種類がある。表示文言レベルの違いとは、言語の違い、または意味内容の違いを示す。文字デザインの違いとは、フォントの違い、またはアイコンの違い等を示す。デザインレベルの違いとは、2次元(2D)/3次元(3D)描画などの描画アルゴリズムの違いを示す。部品の違いとは、同じ情報を得るのにボタンで指示するか、スライダを利用するか等の違いを示す。入力方式の違いとは、画面内に配置された部品による入力か、画面外に設けたスイッチによる入力か、または音声入力か等の違いを示す。製品提供先の違いとは、提供する国、地域、会社、ユーザ等の違いを示す。表示の有無の違いとは、オプションや実行条件等によって、画面上に配置する部品自体を表示させるか否かの違いを示す。画面表示の有無の違いとは、オプションや実行条件等によって、画面自体を表示させるか否かの違いを示す。
また、作業者は、画面仕様設定画面(不図示)を用いて、UI部品にイベントが発生した場合に、どのような処理を実行させるか、どの画面に遷移するか等の動作定義情報も作成する。
ここで、画面設計ツールを用いて、UI部品について、色、サイズ、表示方法等の属性情報を設定することができる。各属性は、さらに複数のオプションから選択することができる。したがって、その開発したUIを搭載した製品の製品グレードによって表示内容に変化を付けたい場合には、選択したオプションに応じて、画面の表示内容を調整することができる。
例えば、低いグレードの製品に搭載するUIであれば、ボタン部品の表示方法のオプションを「2次元表示」で設定する。これにより、ボタンを平面的に表示させるように画面A1、A2,A3,・・・を設計することができる。また、例えば、高いグレードの製品に搭載するUIであれば、ボタン部品の表示方法のオプションを「3次元表示」で設定する。これにより、ボタンを立体的に表示させるように画面A1’、A2’,A3’,・・・を設計することができる。
図1(B)は、画面遷移仕様を説明するための図である。図1(B)では、一部のUI部品の表示方式などがオプションによって異なるため、オプションによる変化に応じて、画面の遷移を記述する例を示す。例えば、ボタンの描画方法が“2D描画”であるか“3D描画”であるか(表示方式オプション)、入力仕様がマウス入力であるか否か(入力仕様オプション)等に応じて、画面遷移仕様上で、画面遷移を分岐することになる。
なお、表示方式オプションや入力仕様等のUI部品の属性のオプションの違い以外は、画面A1〜A5と、画面A1’〜A5’と、画面A1”〜A5”のUIアプリケーション(以下、「UIアプリ」という)のアルゴリズムの遷移は同一であるとする。
画面A1〜A5,画面A1’〜A5’,画面A1”〜A5”の画面遷移の基本的な流れは同じである。しかし、画面に表示される部品の表示態様の違いにより、画面遷移仕様上は、画面A1〜A5,画面A1’〜A5’,画面A1”〜A5”それぞれを記述していた。
このように、基本となる画面遷移の仕様は同じであるが、部品情報の属性及び画面の遷移先画面の違いによる分岐動作に応じて、表示する文言や表示態様が異なる。そのため、画面遷移仕様では、部品情報の属性及び分岐動作に応じて、画面遷移の流れを記述していた。その結果、開発対象のUIアプリの本来の画面変化の流れが、画面遷移仕様の上で分かりにくくなっていた。
そこで、本実施形態では、画面遷移仕様において、UIアプリの画面変化と、オプションによる分岐動作を分離させ、本来のUIアプリの画面変化を分かりやすくした画面遷移仕様を出力すると共に、オプションによる分岐動作の仕様を担保する技術を提供する。
図2は、本実施形態における出力制御装置のブロック図を示す。出力制御装置1は、取得部2、第1の出力制御部3、第2の出力制御部4を含む。
取得部2は、画面を示す画面情報と、画面情報と関係付けられ画面に含まれる要素の属性を示す要素属性情報と、画面に含まれる要素が動作する条件に関する動作条件情報と、要素が動作する処理の内容に関する動作内容情報と、を取得する。取得部2の一例は、画面設計部12である。
第1の出力制御部3は、要素属性情報と関係付けられた画面情報を、動作条件情報と動作内容情報とから生成される画面間の遷移関係を示す画面遷移情報の一画面を示す情報として出力する。第1の出力制御部3の一例は、UI仕様作成部15である。
第2の出力制御部4は、シミュレーション実行条件の設定において、表示部6に、シミュレーション実行対象の画面に対応する画面情報と関連付けられた要素属性情報を選択可能に表示させる。第2の出力制御部4の一例は、条件設定表示部13である。
このように構成することにより、画面遷移仕様において、画面本来の変化による画面遷移とオプション情報とを分離して、画面本来の変化による画面遷移仕様を出力すると共に、オプションによる分岐動作の仕様を担保することができる。
前記出力制御装置1は、さらに、出力部5を含む。出力部5は、画面遷移情報、画面情報と関係づけられた要素情報、要素の要素属性情報またはソースコードを出力する。出力部5の一例は、出力制御部18である。
このように構成することにより、オプションを指定することにより、動作シミュレーションを行って製品配送先や製品グレード別の、UIアプリのアルゴリズムの確認を行った上で、次のことができる。すなわち、出力制御装置1は、配送先、グレード等の各オプションに対応した細かな変更を反映させたUIアプリの仕様書あるいはソースコードを生成することができる。
図3は、本実施形態におけるUI設計支援装置の構成ブロック図を示す。UI設計支援装置11は、画面設計部12、条件設定表示部13、シミュレーション処理部14、UI仕様作成部15、オプション調整部16、記憶部17、出力制御部18を含む。
画面設計部12は、UIアプリの要求仕様に応じて、作業者が、画面に配置する部品を選択し、その部品に属性及び機能等を設定し、その部品を開発対象画面に配置して、UIアプリの機能を提示する画面を設計する。作業者は、入力部19を用いて、画面設計部12に対して、ユーザにUIアプリの機能を提示する各画面を設定する。
オプション調整部16は、画面設計部12を用いて画面または部品の属性を設定する場合において、その属性に対して、複数のオプションからいずれかのオプションを設定したとき、その選択したオプションに応じて、他の属性に設定可能なオプションを制限する。
記憶部17は、画面設計部12で設定された、部品の属性と、その属性に設定されたオプションに関する情報とが関係付けられた部品情報を含む。さらに、記憶部17は、動作定義データ、仕様データを含む。動作定義データは、画面設計部12で設定された画面に表示される要素の動作条件(処理条件)、動作内容(処理内容)を定義する情報である。仕様データは、動作定義データに従って起動イベント、条件動作および処理動作を記述した情報である。
条件設定表示部13は、シミュレーション実行条件を設定する場合、表示部20に、記憶部17に記憶した部品の属性のオプションを選択可能に表示させる。
シミュレーション処理部14は、動作定義データ、部品情報及びシミュレーション実行条件等に基づいて、画面及び部品の機能のシミュレーションを実行(擬似実行)する。シミュレーション処理部14は、シミュレーション実行の際、条件設定表示部13で選択したシミュレーション実行条件に基づいて、部品の属性のオプションを変更する。
UI仕様作成部15は、部品のオプションと関係付けられた画面情報を、動作条件情報と動作内容情報とから生成される画面間の遷移関係を示す画面遷移情報の一画面を示す情報を生成する。
出力制御部18は、記憶部17に記憶された部品情報、動作定義データ、仕様情報等を用いて、ソースコード、UIアプリの画面遷移仕様に関するデータを作成し、表示部20に出力する。
図4は、本実施形態におけるUI設計支援装置の処理を説明するための図である。画面設計部12は、表示部20に画面設計を行う作業用の画面(設計画面)を表示させる。作業者は、画面仕様に応じて、入力部19を用いて、画面の設計及び画面に配置する部品の設計を行う(S1)。作業者は、設計画面において、入力部19を用いて部品を選択し、部品の属性及び動作、発生イベントに伴い実行する処理等を設定する。例えば、作業者は、画面A1に、部品P1,P2を配置するとする。
作業者が部品の属性を設定する場合、その属性に対して、複数のオプションからいずれかのオプションを設定したとき、オプション調整部16により、その選択したオプションに応じて、他の属性に設定可能なオプションが制限されている。そのため、作業者は、部品の属性の設定の際、オプション調整部16による制限に基づいて、設定可能なオプションを選択して設定することになる(S1−1)。
すなわち、オプション調整部16は、オプション同士の依存関係を確認した上でオプションを設定することができる。例えば、グレードに関するオプションが存在する場合に、グレードに応じて設定可能な範囲のオプションが変化するとする。例えば、UI画面に配置する部品に低いグレードのオプションを設定した場合、オプション調整部16は、作業者が3D描画方式のオプションを設定できないようにしてもよい。このように、オプション調整部16は、オプション同士の依存関係または設定する必要のないオプションなどをチェックする機能を有する。
画面設計部12は、設計画面に設定された情報を、動作定義データ21、仕様データ22、部品情報23として記憶部17に登録する(S2)。動作定義データ21は、画面設計部12で設定された画面に表示される部品の動作条件(処理条件)、動作内容(処理内容)を定義する情報である。仕様データ22は、動作定義データに従って起動イベント、条件動作および処理動作を記述した情報である。部品情報23は、シミュレーション実行のための情報、仕様書表現のための情報、ソースコード生成のための情報である。
シミュレーションを実行する前には、作業者は、テストの仕様に応じて、入力部19を用いて、設計画面にシミュレーションの条件を設定する(S3)。このとき、条件設定表示部13は、表示部20に、記憶部17に記憶した部品の属性のオプションを選択可能に表示させる。作業者は、例えば、部品P1にオプション1を設定し、部品P2にオプション5を設定する。また、作業者は、例えば、部品P1にオプション2を設定し、部品P2にオプション6を設定する。
シミュレーション処理部14は、動作定義データ21、仕様データ22、部品情報23、シミュレーションの条件に基づいて、画面及び部品の機能のシミュレーションを実行する(S4)。シミュレーション処理部14は、作業者の指示によって画面遷移仕様に則ったUIアプリの画面変化をシミュレーションする際に、シミュレーション条件に応じて、各画面に配置する部品のオプションを変更する。
次に、UI仕様作成部15は、記憶部17に記憶された部品情報、動作定義データ、仕様情報を用いて、UIアプリの仕様書データ(画面遷移仕様データ32、構成部品仕様データ33、部品属性仕様データ34)を作成する。出力制御部18は、表示部20またはプリンタ等に表示または出力させる。
画面遷移仕様データ32は、動作定義データ21、仕様データ22、部品情報23に基づくUIアプリの機能遷移(アルゴリズム)に沿って、部品を搭載した画面の変化を示す画面遷移の仕様データであり、標準仕様における画面間の遷移関係が記述されている。したがって、オプションの違いによる似通った画面への遷移は、画面遷移仕様データ32に記述されない。これにより、作業者は、作成された画面遷移データを参照して、UIアプリ機能の本来の画面遷移を確認することができる。
構成部品仕様データ33は、画面を構成する部品を示す仕様データである。部品属性仕様データ34は、画面を構成する部品の属性に設定されているオプションの内容を示す。
作業者は、そのUIアプリの仕様データ(画面遷移仕様データ32、構成部品仕様データ33、部品属性仕様データ34)を参照して、UIアプリの機能遷移仕様の検討を行うことができる。
図5は、本実施形態における部品情報に含まれる属性情報のデータ構造を示す。属性情報は、その種類の属性で設定可能なバリエーションのオプションと、その設定されたオプションの設定値とを含む。
このように、本実施形態における部品は、設定したオプションの内容を含めた形で情報を記述した構成である。そのため、画面仕様作成工程では、オプションを気にせず同一のUI部品を用いて画面を作成することができる。これにより、オプション毎に似たような画面を作成する必要がない。また、画面遷移仕様作成工程においては、オプション毎に画面遷移を分岐して記述しないため、オプションの違いによって分岐した複雑な遷移仕様を記述する必要がなく、UIアプリの要求仕様に従った画面遷移仕様を作成することができる。また、仕様作成時の検討に際して、シミュレーションの実行の際に、一時的に部品を表示させないといった部品単位の検討を簡単に行うことができる。
なお、製品化する場合には、必要のないオプションが付されている部品オプションを外すことにより、コンパクトな形式の部品を提供することができる。
以下では、図4で説明したS1−1処理を、より詳細に説明する。
図6は、本実施形態における画面仕様の設定の一例を説明するための図である。以下では、ボタン部品(部品P1)及びラベル部品(部品P2)を含む画面A1の画面設計を例に説明する。
画面設計部12は、仕様データ22に基づいて、記憶部17から部品情報23を読み出す。画面設計部12は、仕様データ22及び部品情報23に基づいて、そのUIアプリ画面を作成し、表示部20に表示させる。
記憶部17には、ボタン部品(部品P1)及びラベル部品(部品P2)等の部品情報が格納されている。ボタン部品は、例えば、「部品有無」、「表示方式」、「表示文言」等についての属性情報を含む。ボタン部品は、その他にも固有の属性を含むが、本実施形態の例では省略する。
属性「部品有無」は、そのボタン部品を表示させるか否かを示す属性を示す。属性「部品有無」のオプションには、そのボタン部品を表示させることを示す「表示」(オプション名:OpA1-p1-a11)及びそのボタン部品を非表示にする「非表示」(オプション名:OpA1-p1-a12)がある。
属性「方式」(表示方式)は、部品を描画する際の方式を設定する属性を示す。「表示方式」のオプションには、例えば、平面的な描画の2D描画方式(オプション名:OpA1-p1-a21)と、奥行き感のある3D描画方式(オプション名:OpA1-p1-a21)がある。
属性「文言」(表示文言)は、言語と、その言語を用いてボタン部品に表示する文言を設定する属性を示す。属性「文言」のオプションには、ボタン部品を押下した時の意味する動作を表す語句として、例えば日本語の場合には、「完了」、中国語の場合には、「好」(“対”あるいは“是”)、英語の場合には、「OK」を設定する。
このように、属性として、使用する言語と、その言語によるオプションごとに表示する表示文言(表示文言情報25)を設定する。画面設計部12で部品の属性「文言」を設定する場合に表示文言情報25の値は、画面上に表示され、いずれかの表示文言を設定すると、部品情報の属性データとして記憶部17に記憶される。
図7は、本実施形態におけるオプションの種類と、オプションの取り得る値とに関する一覧の一例を示す。図8は、本実施形態における画面Anに配置される部品P1,P2についてのオプションの設定例を示す。
図7において、文言(言語)オプションは、UIアプリが表示する文言の言語に関するオプションである。オプション値としては、米語/英語/日本語・・・のように言語を設定する。オプションの指定により実際に各部品において表示される値は、部品ごとに設定された文言になる。
例えば、図8に示すように、画面Anに部品P1及び部品P2が存在し、それぞれ、日本語/英語として“完了”/“OK”、“はい”/“Yes”が用意されている場合を考える。文言オプションを指定する場合において、日本語を表示させたいときには、作業者は、画面設計部12を用いて、部品P1については「OpAn-p1-a31」を選択し、部品P2については「OpAn-p2-a31」を選択する。
図9は、本実施形態におけるオプションの選択可能な組み合わせの一例を説明するための図である。オプション情報には、システムの状態やUIアプリケーションを利用する場合の条件に関する情報(例えば、言語オプション)や、部品の表示を切り替える情報(例えば、描画方式オプション)が考えられる。オプション調整部16は、UIアプリを利用する条件を設定するオプションに応じて、部品の属性についての設定可能なオプションを制限する。
例えば、言語オプションに関して、配送先に関するオプションの違いによって選択可能な言語に制限をかける場合がある。図9(A)のように、画面設計部12において、部品P1の配送先オプションに「北米」が設定された場合には、例えば、文言オプションに、米国・カナダで利用される米語と、メキシコの公用語であるスペイン語とが設定可能になる。このように、文言オプションの設定する際の選択の範囲を制限することにより、誤って他の言語の文言を設定されることを防ぐことができる。なお、オプションの設定において、どのように制限がなされるかについては、後述する。
画面設計部12において、作業者が製品グレードに関するオプションについて高いグレードである“grade A”を設定する場合を考える。このとき、部品の表示方式として3D描画方式と2D描画方式の両者の動作が可能なシステムを作成する場合には、オプション調整部16は、次の処理を行う。すなわち、オプション調整部16は、画面設計部12において、作業者が図9(B)に示すように、3D描画方式と2D描画方式の両者を選択できるように制御する。
一方、例えば、グレードオプションについて、UIアプリを搭載させる機器の性能が低く、3D描画方式が実行できない仕様である“grade C”が設定された場合には、オプション調整部16は、表示方式オプションに2D描画方式のみ選択できるように制御する。
また、入力方式として画面の外のスイッチを操作して、ある部品に入力を行う仕様のシステムを設計する場合には、その部品は、画面に表示する必要がない。この場合、オプション調整部16は、図9(C)に示すように、画面設計部12において、作業者が表示方式や文言等の表示属性を選択できないように制御する。
このように、他のオプションの設定値によって別のオプションの設定が影響を受ける場合に、オプション調整部16は、画面設計部12を利用して各部品のオプションを設定する際に、不必要な選択を不可能にさせる制御を行う。
図10は、本実施形態における画面別のオプション選択一覧の一例を示す。例えば、A1画面の部品について設定できるオプションは、図10のようになっているとする。図10において、オプションは、次のルールに沿って、命名されている。例えば、オプション“OpA1-p1-a11”は、画面A1内の部品(part)P1に存在する属性(attribute)a1の1番目のオプションであることを示す。また、オプション“OpA1-s1”は、画面表示/非表示のオプションであり、画面A1内の選択(select)意味をすることに由来する。
図9に示したように、画面設計部12において、画面に配置する部品の属性「入力方式」として「画面外スイッチ」が選択された場合には、部品P1を表示させなくてもよい。そこで、オプション調整部16は、部品有無オプションとして「OpA1-p1-a11(非表示)」のみ設定できるように制御する。
同様に、画面設計部12において、画面に配置する部品の「グレードオプション」として“gradeC”が選択された場合、オプション調整部16は、部品P2の方式オプションにおいて、OpA1-p2-a21(2D表示)のみ設定することができるように制御する。
なお、オプション間の依存関係は、設計するUIアプリの仕様やシステムに関する設計条件から抽出されて設定される。
例えば、部品P1(ボタン部品)及び部品P2(ラベル部品)からなる画面A1に設定される部品P1及び部品P2のオプションは、図10のようになる。図10では、A2画面以降のオプションについては省略した。
まず、画面設計部12を用いて、作業者は、画面非表示/表示を設定するオプションとして、「OpA1-s1」あるいは「OpA1-s2」を指定できる。「OpA1-s1」が指定されると、オプション調整部16は、A1画面を表示しない。
また、画面設計部12を用いて、作業者は、部品P1について、部品非表示/表示を設定するオプションとして「OpA1-p1-a11」/「OpA1-p1-a12」のどちらかを指定することができる。「OpA1-p1-a11」が指定されると、オプション調整部16は、部品P1を表示しない。
「OpA1-p1-a12」が指定されると、オプション調整部16は、部品P1を表示させるように制御する。このとき、画面設計部12を用いて、作業者は、表示方式として、「OpA1-p1-a21」/「OpA1-p1-a22」のどちらかを指定することができる。
「OpA1-p1-a21」が指定された場合、その部品は、平面的な2D描画方式により描画される。「OpA1-p1-a22」が指定された場合、その部品は奥行き感のある3D描画方式で描画することを指定する。画面設計部12を用いて、作業者は、表示する文言については、3つ(OpA1-p1-a31/OpA1-p1-a32/OpA1-p1-a33)のオプションのいずれかを指定することができる。「OpA1-p1-a31」が指定された場合は、オプション調整部16は、“OK”をその部品に表示させる。「OpA1-p1-a32」が指定された場合には、オプション調整部16は、“完了”を表示させる。
部品P2についても同様に、画面設計部12を用いて、作業者は、部品非表示/表示を設定するオプションとして「OpA1-p2-a11」/「OpA1-p2-a12」のどちらかを指定することができる。ここで、部品P1の非表示/表示を設定するオプション値とは別の値が設定されることで、部品P1と部品P2の表示の有無を独立して制御することができる。
図11は、本実施形態におけるオプション間の依存関係に基づくオプションの設定について説明するための図である。図11を用いて、あるオプションの設定値によって、別のオプションの設定値が制限される場合について説明する。例えば、画面設計部12は、画面上に図11を表示させ、作業者が各オプション値を、マウスを用いてクリックするなどして設定するようにしてもよい。
例えば、A1画面の部品P1について、「入力方式」オプションとして「画面外スイッチ」が設定された場合、図9(C)に示したように、実行時(シミュレーション時も含む)において、A1画面の部品P1は非表示になる。したがって、部品P1のその他の属性についての指定は不要になる。
同様に、A1画面の部品P2について、「グレード」オプションとして“gradeC”が設定された場合、図9(B)に示したように、実行時(シミュレーション時も含む)において、部品P2の表示は2D方式で行う。したがって、部品P2の方式オプションについての設定は、不要となる。
各オプションの設定方法は、図9に示したように、画面あるいは部品ごとにオプションの選択値一覧が表示され、その中からオプションが指定されるようにしてもよい。
図9に示すように、予め設定されたオプション同士の依存関係がある場合、オプション調整部16は、作業者により指定されたオプションに応じて、設定する必要のないオプションを検知する。それから、オプション調整部16は、その検知したオプションを設定できないようにする(図11では、消し線表示させて表現した。)。
次に、図4で説明したS3処理を、より詳細に説明する。
図12は、本実施形態におけるシミュレーションに際して、ベースとなる画面を共通するが、部品のオプションが異なる画面A1と画面A1’との間における、オプションの変更を説明するための図である。シミュレーションを実行する前には、作業者は、シミュレーション条件に応じて、オプションの設定を行う。
例えば、画面A1についてシミュレーションを実行する場合を考える。事前に、部品P1の属性「表示の有無」について、「OpA1-p1-a11(非表示)」が設定される。部品P1の属性「表示方式」について「OpA1-p1-a21(2D)」が設定される。部品P1の属性「文言」について、OpA1-p1-a31(完了)」が設定される。部品P2の属性「表示の有無」について「OpA1-p2-a12(表示)」が設定される。この場合、シミュレーションを実行すると、実行された画面A1上において、部品P1は非表示になり、その表示方式は2D描画方式となり、文言として「完了」が表示される。また、この場合、部品P2は、表示される。
画面A1’についてシミュレーションを実行する場合を考える。事前に、部品P1の属性「表示の有無」について、「OpA1-p1-a12(表示)」が設定される。部品P1の属性「表示方式」について「OpA1-p1-a22(3D)」が設定される。部品P1の属性「文言」について、「OpA1-p1-a33(OK)」が設定される。部品P2の属性「表示の有無」について、「OpA1-p2-a11(非表示)」が設定される。この場合、シミュレーションを実行すると、部品P1は表示され、その表示方式は3D描画方式であり、文言として「OK」が表示される。また、この場合、部品P2は、非表示になる。
このように、シミュレーション対象の画面の各部品のオプションをそれぞれ独立して変更することができる。このように、シミュレーションする際に、その条件に応じて、複数のオプションを様々に変更した上でシミュレーションすることができる。
次に、本実施形態におけるUI設計支援装置の一実施例について説明する。
図13は、本実施形態の一実施例に係るUI設計支援装置の構成を示すブロック図である。実際のUIアプリの仕様設計では、作業者は、UIアプリの処理の流れを遷移仕様に表現し、その中でどんな画面が必要かを設計する。その後、作業者は、オプション付きの表示部品を用いて画面の構成を具体的に設計していく。その際に、新たな部品が必要になった場合には、作業者は、部品開発を行う。ここで、部品とは、仕様を確認できる部品である。ターゲットマシンでの動作モジュールや意匠データは準備しなくてもよい。
一連の画面の準備ができた段階で、作業者は、UI設計支援装置51を用いて、例えば、オプションを考慮しない標準仕様の画面を動作させてUI動作が要求仕様通りか検証する。その後、作業者は、様々なオプションに対して動作確認を行った後、UI設計支援装置51を用いて、オプション別の仕様書や、オプション別のターゲットマシンで実行するためのソースコードを生成する。
オプション別のソースコード生成では、UI設計支援装置51は、各表示部品において、不要なオプションの動作に対して用意されているコードを展開しなくてもよい。
UI設計支援装置51は、入力装置70、表示装置71と接続されている。UI設計支援装置51は、制御部52、記憶部60を含む。
入力装置70は、仕様に関する記述などを入力するものであり、キーボードやマウス、マイクなどである。また、表示装置71は、後述するように、画面編集ビュー、部品表示設定ビュー、動作定義関係のビューなどを表示するものであり、モニタ(若しくはディスプレイ、タッチパネル)である。
制御部52は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを含み、種々の処理を実行する。制御部52は、画面設計部53、オプション調整部54、条件設定表示部55、シミュレーション処理部56、ソースコード生成部58、UI仕様作成部57を含む。
画面設計部53は、UIの操作画面に表示される部品が動作する条件に関する情報と、部品が動作する処理の内容に関する情報と、を所定の形式で記述させる動作定義フォーマットを表示し、動作定義フォーマット61を基に部品の仕様に関する記述を取得する。具体的には、画面設計部53は、画面上の部品の配置を編集する画面編集ビューと、画面上のUI部品や様々な機能を操作する機能部品を設定する部品表示設定ビューと、動作定義に関係する動作定義関係のビューとを表示装置71に表示する。また、画面設計部53は、入力装置70を介して作業者からの操作指示を取得し、記憶部60に記憶された動作定義フォーマット61の選択や部品の属性の編集を行う。
画面設計部12により表示された画面またはその画面に配置する部品の属性の設定に際して、その属性に複数のオプションからいずれかのオプションを設定したとき、オプション調整部54は、次の処理を行う。すなわち、オプション調整部54は、その選択したオプションに応じて、他の属性に設定可能なオプションを制限する。
条件設定表示部13は、シミュレーション実行条件を設定する場合、表示装置71に、記憶部17に記憶した部品の属性のオプションを選択可能に表示させる。例えば、条件設定表示部13は、画面設計部53で設定したオプション情報を選択可能な一覧形式で表示させている。これにより、作業者は、シミュレーション実行条件に応じたオプションを、その一覧から選択することができる。
シミュレーション処理部56は、部品が動作する条件に関する情報と部品が動作する処理の内容に関する情報と、条件設定表示部13により表示されたオプションから作業者が選択したオプション情報とに基づいて、ユーザインターフェースの操作画面を表示する。これにより、作業者は、ユーザインターフェースの操作画面に表示される部品の動作の検証を行うことができる。
UI仕様作成部57は、記憶部60に記憶された部品情報、動作定義フォーマット、仕様データを用いて、画面遷移仕様データ64、構成部品仕様データ65、部品属性仕様データ66を作成する。
ソースコード生成部58は、部品が動作する条件に関する情報と、部品が動作する処理の内容に関する情報と、部品の属性に関する情報とを用いて、ソースコード63を生成する。
記憶部60は、制御部52による各種処理に必要なデータおよびプログラムを格納している。また、記憶部60は、画面データ67、部品データ68、動作定義フォーマット61、仕様データ62、ソースコード63、画面遷移仕様データ64、画面部品仕様データ65、部品属性仕様データ66を記憶する。
画面データ67は、画面のサイズ、色、形状等の画面自体の属性を含むデータである。部品データは、図5で説明した部品の属性に関するデータを含むデータである。
動作定義フォーマット61は、カテゴリ別に存在する。カテゴリとして、条件動作および処理動作がある。また、条件動作のカテゴリとして、イベント、数値比較、文字列比較があり、処理動作のカテゴリとして、数値セット、文字列セット、メソッド実行、画面遷移がある。仕様データ62は、例えば、後述するツリー構造の仕様データである。
ソースコード63は、ソースコード生成部58によって生成されたソースコードである。
ここで、以下に図を用いて、画面設計部53が表示する画面編集ビュー、部品表示設定ビュー、動作定義関係のビューについてそれぞれ説明する。
図14は、本実施形態の一実施例に係る画面編集ビューの表示例を示す図である。画面編集ビュー80は、「管理情報表示」81、「部品一覧」82、「画面レイアウト表示」86を表示する。「管理情報表示」81は、編集する画面についての管理情報を表示する。
「部品一覧」82は、画面に表示することができるUI部品(例えば、システム内のデータベースなどに存在する)の一覧を表示する。図14には、UI部品の一例として、ラベル部品83、リスト表示部品84、ボタン部品85が部品一覧82に表示されている。
「画面レイアウト表示」86は、画面のレイアウトを表示する。UI仕様作成者から入力装置70を介して操作指示を受け付け、部品一覧82から設定したい部品をドラッグ&ドロップして画面レイアウト86に配置し、画面を生成する。図14の例では、部品一覧82からラベル部品83とリスト表示部品84が取り出され、ラベル部品83とリスト表示部品84が、画面レイアウト表示86に表示された画面Aに配置されている。
図15は、本実施形態の一実施例に係る部品の表示設定ビューの表示例を示す図である。部品表示設定ビュー90は、例えば、画面編集ビューの「画面レイアウト表示」86において、所定の部品をダブルクリックすることで表示される。部品表示設定ビュー90では、配置したUI部品の属性(形・色・表示条件など)が指定される。
続いて、動作定義関係のビューについて説明する。動作定義関係のビューでは、各UI部品の動きの設定を受け付ける。UI部品の動きの設定においては、動作の条件および動作の処理という統一した形式であるUI動作定義データとして、ユーザからの指示の形態や処理動作・処理を実行するかどうかの条件動作データが作成される。その際には、動作条件および処理動作の言語表現が付随された形の動作定義フォーマットが利用される。動作定義関係のビューは、動作定義フォーマット選択ビューと部品属性選択ビューから構成される。まず、動作定義フォーマット選択ビューによって、動作定義データを作成するための動作定義フォーマット61を作業者が選択する。
図16は、本実施形態の一実施例に係る動作定義フォーマット選択ビューの表示例を示す図である。まず、画面設計部53は、動作定義フォーマット選択ビュー100の左側のカテゴリウィンドウにおいて動作定義フォーマット61のカテゴリから、条件動作なのか、処理動作なのか、どのような型のプロパティを操作するのか選択指示を受け付ける。そして、動作定義フォーマット選択ビュー100の左側のカテゴリウィンドウから1つのカテゴリがマウスクリックで選択される。すると、画面設計部53は、動作定義フォーマット選択ビュー100の右側に、選択したカテゴリに属する動作定義フォーマット一覧を表示する。その中で、画面設計部53は、動作定義フォーマット61の選択を受け付けると、部品属性選択ビューを画面上に表示する。
図17は、本実施形態の一実施例に係る部品属性選択ビューの表示例を示す図である。部品属性選択ビュー110において、選択した動作定義フォーマット61内にセットする部品と、部品の属性として、プロパティ、イベント、メソッドを指定する。例えば、部品属性選択ビュー110では、ビューの左側に現在仕様を考察している画面上に存在する部品一覧111が展開される。この中で対象とする部品の選択が受け付けられると、その部品に登録されている属性一覧112が右側のビューに展開される。属性一覧112で属性を選択することによって、部品および属性を指定することができる。これにより、最終的に動作定義データを作成することができる。
図18は、本実施形態の一実施例に係る動作定義フォーマットの一例を示す。動作定義フォーマット61は、カテゴリ別に用意されている。カテゴリとして、「条件動作」および「処理動作」がある。「条件動作」は、部品の動作の条件を示す。「処理動作」は、部品の動作内容を示す。
条件動作のカテゴリとして、イベント、数値比較、文字列比較がある。処理動作のカテゴリとして、数値セット、文字列セット、メソッド実行、画面遷移がある。例えば、UI設計支援装置51は、条件動作のイベントのカテゴリでは、「部品のイベントが発生した時」の動作定義フォーマットを記憶している。
このように、画面設計部53は、動作定義フォーマット61に従って起動イベント、条件動作および処理動作を記述させ、記述されたデータを仕様データ62として記憶部60に記憶させる。
図19及び図20は、本実施形態の一実施例に係るツリー構造の仕様データの一例を示す図である。画面設計部53は、図19及び図20に示すように、仕様データ62をツリー構造のデータに変換する。図19では、画面Aがトップのノードであり、部品#1と組み合わせ部品である部品#2が下位のノードとして画面Aと接続されている。また、組み合わせ部品である部品#2には、子部品#1〜5が下位のノードとして接続されている。
また、子部品には、条件動作や処理動作が定義されている。例えば、子部品#1であるラベル#1は、条件動作として、「子部品#1のボタン押下イベントが発行されたら、」が定義され、処理動作として、「画面Bへ遷移する」が定義されている。このように、画面遷移がある場合には、図20に例示するように、画面Aから画面Bに遷移するようなツリー構造のデータが作成される。
シミュレーション処理部56は、シミュレーション実行条件の一つとして作業者により設定されたオプションと、部品が動作する条件に関する情報と部品が動作する処理の内容に関する情報とに基づいて、UIの操作画面を表示する。作業者は、UIの操作画面に表示される部品の動作の検証を行う。具体的には、シミュレーション処理部56は、設定されたオプション情報をシミュレーション操作画面に反映させる。シミュレーション処理部56は、ツリー構造になっている各画面の仕様データ62に対してトップノードからスキャンし、イベントが設定されている部品を抽出する。そして、シミュレーション処理部56は、図21に例示するように、シミュレーション操作画面に、実行中の画面と共にイベントリストを表示する。
図21は、本実施形態の一実施例に係るシミュレーション操作画面の一例を示す図である。シミュレーション操作画面を表示後、作業者は、イベント表示画面に表示されるイベントのリストであるイベントリストを参考に、実行画面内のイベントを発行させてUI動作の検証を行う。このようにして、全イベントに対する動作確認を漏れなく行うことができる。そして、シミュレーション処理部56は、シミュレーション実行画面においてボタン押下などのイベントを発生させることによってシミュレーションの実行を開始すると、各部品へ操作を通知する。各部品には、実行モジュールが付随されており、このモジュールが起動されて条件動作/処理動作が実行される。処理動作の内容によっては、他の部品の動作が指定されている場合がある。その際は、シミュレーション処理部56は、別部品の実行モジュールへ通知する。例えば、図21に例示するように、部品#6の上スクロール部品を押下した時の処理内容をシミュレーション操作画面で確認できる。以下で、図22を用いて、シミュレーション実行処理について説明する。
図22は、本実施形態の一実施例に係るシミュレーション実行処理を説明する図である。作業者の操作によってUI部品Aの押下があると(図22の(1)参照)、部品A起動イベントがシミュレータに通知される。そして、シミュレータの実行可能モジュールが、UI動作定義データの記述に従って動作を実行し、部品A処理結果を出力する(図22の(2)参照)。また、同様に、ユーザ操作によってUI部品Bの押下があると(図22の(3)参照)、部品B起動イベントがシミュレータに通知される。そして、シミュレータの実行可能モジュールが、UI動作定義データの記述に従って動作を実行する。
次に、ソースコードの生成について説明する。ソースコード生成部58は、部品が動作する条件に関する情報と、部品が動作する処理の内容に関する情報と、部品の属性に関する情報とを用いて、ソースコードを生成する。具体的には、ソースコード生成部58は、全画面上に存在する全UI部品について、まず画面部品のデザイン関連の仕様情報をプロパティから抽出してコード化する。そして、ソースコード生成部58は、UI部品に動作定義データが存在する場合には、動作定義の仕様情報をソースコード変換する。続いて、ソースコード生成部58は、組み合わせ部品のように子ノードが存在する場合には、子ノードについても、デザイン関連のコードと動作定義に関するソースコード63を生成する。ソースコード生成部58は、その生成したソースコードを記憶部60に記憶する。生成されたソースコード63は、図23に示すような機能を実現するコードとなる。
図23は、本実施形態の一実施例に係るソースコードの構成の一例を示す図である。ソースコード63は、各画面の部品構成とデザインを指定する「画面構成を表すコード」と、各画面内に含まれる表示処理と画面間の遷移を表す「画面動作を表すコード」を含む。ソースコード生成部58は、画面上に存在する全ての部品について、UI部品自体の意匠を指定している仕様情報と、UI部品のUI動作を指定している制御情報からソースコード63を生成する。
図24は、本実施形態の一実施例に係るUIアプリの仕様書の一例を示す。UI仕様作成部57は、記憶部60に記憶された部品データ68、仕様データ62を用いて、UIアプリの仕様書(画面遷移仕様データ64、構成部品仕様データ65、部品属性仕様データ66)を作成し、表示装置71またはプリンタ等の出力装置に出力する。
画面遷移仕様データ64は、図20の仕様データに基づいて作成される画面遷移の仕様であり、オプションに依存しない基本となる画面変化の仕様による画面遷移が記述されている。したがって、オプションの違いによる似通った画面への遷移は、画面遷移仕様データ64に記述されない。これにより、作業者は、作成された画面遷移仕様を参照して、UIアプリ機能本来の画面遷移を確認することができる。
構成部品仕様データ65は、図19の仕様データに基づいて生成される仕様データであって、画面を構成する部品を示す仕様データである。部品属性仕様データ66は、画面を構成する部品の属性に設定されているオプションの内容を示す仕様データである。部品属性仕様データ66は、例えば、画面単位、部品単位、属性単位、オプション単位で出力することもできる。
なお、画面遷移仕様データ64、構成部品仕様データ65、部品属性仕様データ66の表示形態は、図24に記載した形態に限定されず、文字、図、帳票形式等、様々な表示形態を用いてよい。また、画面遷移仕様データ64、構成部品仕様データ65、部品属性仕様データ66は、表示装置71だけなく、プリンタ等の出力装置を用いて出力することもできる。
次に、本実施形態の一実施例に係るUI設計支援装置51による処理を説明する。
図25は、本実施形態の一実施例に係るUI設計支援装置の全体の処理フローを示す。まず、作業者は、画面に表示された画面編集ビュー80、部品表示設定ビュー90、動作定義フォーマット選択ビュー100、部品属性選択ビュー110を用いて、UI部品を作成し、UI部品を画面へ配置する(S11)。ここでは、作業者は、UI部品を画面に配置し、意匠/サイズ/表示情報などのプロパティを設定する。
画面設計部53は、画面に表示されるメニューを構成するために必要なUI部品が選択され、画面上に配置され、大きさ・形・色(通常色、押下色)・表示条件などの設定を受け付ける。画面設計部53は、画面編集ビュー80、部品表示設定ビュー90、動作定義フォーマット選択ビュー100、部品属性選択ビュー110に設定された情報に基づいて、画面の仕様データ62を生成する。画面にオプションを追加しない場合(S12で「No」)、処理がS14へ進む。
画面にオプションを追加する場合(S12で「Yes」)、オプション調整部54は、次の処理を行う。すなわち、オプション調整部54は、部品表示設定ビュー90または部品属性選択ビュー110の属性に設定されたオプションに基づいて、図7−図11で説明したように、オプション同士の依存関係を確認した上でオプションを設定する(S13)。
画面設計部53は、各々のUI部品に対して、動作定義フォーマット61を利用して、UI動作定義の起動イベント、条件動作、処理動作を含む動作定義データを作成する。画面設計部53は、その動作定義データを用いて仕様データを作成する(S14)。
作業者は、表示装置71に表示されたシミュレーション対象の画面について、入力装置70を用いて、シミュレーション実行条件を設定する(S15)。ここでは、作業者は、シミュレーション条件に応じて、条件設定表示部13により表示された、シミュレーション対象の画面内の部品のオプションの設定を行う。
シミュレーション処理部56は、作成された仕様データ62、動作定義データ、及びS15で設定したシミュレーション実行条件を用いて、対象画面についてシミュレーションを実行する(S16)。
作業者は、入力装置70を用いて、表示装置71に表示されたシミュレーション画面を操作する。これにより、作業者は、部品レイアウトやUI部品の動作が要求仕様を満たしているか検証する(S17)。
部品レイアウトやUI部品の動作が要求仕様を満たしていない場合(S17で「No」)、S11へ戻る。部品レイアウトやUI部品の動作が要求仕様を満たしている場合(S17で「Yes」)、作業者は、入力装置70を用いて、UI設計支援装置51に、仕様書またはソースコードの出力を指示する。
UI仕様作成部57は、その指示に基づいて、記憶部60に記憶された部品データ68、仕様データ62等を用いて、画面遷移仕様データ64、構成部品仕様データ65、部品属性仕様データ66を作成する(S18)。出力制御部59は、作成された画面遷移仕様データ64、構成部品仕様データ65、部品属性仕様データ66を、表示装置71に表示またはプリンタ等に出力する。
また、ソースコード生成部58は、その指示に基づいて、部品が動作する条件に関する情報と、部品が動作する処理の内容に関する情報と、部品の属性に関する情報とを用いて、ソースコード63を生成する(S19)。出力制御部59は、生成したソースコード63を表示装置71に表示またはプリンタ等より出力させる。
図26は、S14の処理の詳細の一例を示すフローである。シミュレーション処理部56は、シミュレーション実行指示及びその実行条件を取得する。シミュレーション処理部56は、シミュレーションの実行条件を設定する(S16−1)。このとき、シミュレーション処理部56は、条件設定表示部13により表示されたオプションから作業者が選択したオプション情報に基づいて、オプション情報の変更を行う。
シミュレーション処理部56は、仕様データ62をトップノードからスキャンし、イベントが設定されている部品を抽出する(S16−2)。シミュレーション処理部56は、入力装置70からの入力情報により、表示装置71に表示された画面または部品が操作されたか判定する(S16−3)。画面または部品が操作された場合には(S16−3で「Yes」)、シミュレーション処理部56は、その画面のUI部品を形成するプログラムにUI動作指示を通知する(S16−4)。シミュレーション処理部56は、動作定義データを用いて、その部品について動作が定義されているか判定する(S16−5)。
この結果、部品について動作が定義されていないと判定された場合には(S16−5で「No」)、シミュレーション処理部56は、S16−3に戻って、画面または部品が操作されるのを待つ。また、部品について動作が定義されていると判定された場合には(S16−5で「Yes」)、シミュレーション処理部56は、UI部品に付随されている実行可能モジュールを用いて動作を実行する(S16−6)。
そして、シミュレーション処理部56は、シミュレーション終了指示があったかを判定する(S16−7)。シミュレーション終了指示がない場合には(S16−7で「No」)、シミュレーション処理部56は、S16−5に戻って画面または部品が操作されるのを待つ。シミュレーション終了指示があった場合には(S16−7で「Yes」)、本フローを修了する。
図27は、S18の処理の詳細の一例を示すフローである。UI仕様作成部57は、仕様データ及び入力装置70より指定された画面情報に基づいて、仕様データ62をトップノードからスキャンし、出力対象画面が存在するか判定する(S18−1)。出力対象画面が存在しない場合(S18−1で「No」)、処理がS18−17へ進む。出力対象画面が存在する場合(S18−1で「Yes」)、UI仕様作成部57は、その出力対象画面を示す情報を画面遷移仕様データファイルに出力する(S18−2)。
次に、UI仕様作成部57は、仕様データ62において、その出力対象画面の配下にUI部品ノードが存在するか判定する(S18−2)。UI部品ノードが存在しない場合には(S17−3で「No」)、処理がS18−17へ進む。また、UI部品ノードが存在する場合(S17−3で「Yes」)、UI仕様作成部57は、そのUI部品ノードに対応する動作定義データに画面の表示/非表示動作または画面遷移動作に関するデータが存在するかを判定する(S18−4)。そのUI部品ノードに対応する動作定義データに画面の表示/非表示動作または画面遷移動作に関するデータが存在しない場合(S18−4で「No」)、処理がS18−7へ進む。
そのUI部品ノードに対応する動作定義データに画面の表示/非表示動作または画面遷移動作に関するデータが存在する場合(S18−4で「Yes」)、UI仕様作成部57は、次の処理を行う。すなわち、UI仕様作成部57は、画面表示/非表示を示す情報または遷移先画面示す情報を画面遷移仕様データファイルに出力する(S18−5)。
UI仕様作成部57は、動作定義データから検索した遷移先画面に対応する仕様データを取得し、その仕様データ62をトップノードからスキャンし、出力対象画面を検出する(S18−6)。その後、処理は、S18−3へ戻る。
UI仕様作成部57は、S18−1〜S18−6を繰り返し、画面遷移仕様データファイルを作成する(S18−7)。出力制御部59は、その画面遷移仕様データファイルを画面遷移仕様データ64として表示装置71またはプリンタ等の出力装置に出力する。
UI仕様作成部57は、仕様データから画面内のUI部品データを取得し、そのUI部品データを構成部品仕様データファイルに出力する(S18−8)。出力制御部59は、構成部品仕様データファイルを構成部品仕様データ65として表示装置71またはプリンタ等の出力装置に出力する。
UI仕様作成部57は、S18−8で取得したUI部品データに対応する部品情報を取得し、その部品情報を部品属性仕様データファイルに出力する(S18−9)。出力制御部59は、部品属性仕様データファイルを部品属性仕様データ66として表示装置71またはプリンタ等の出力装置に出力する。
図28は、S19の処理の詳細の一例を示すフローである。ソースコード生成部58は、仕様データに出力対象画面が存在するか判定する(S19−1)。ソースコード生成部58は、出力対象画面が存在する場合には(S19−1で「Yes」)、仕様データにおいて、その出力対象画面配下にUI部品ノードが存在するか判定する(S19−2)。UI部品ノードが存在しない場合には(S19−2で「No」)、処理がS19−1に戻る。また、ソースコード生成部58は、UI部品ノードが存在する場合には(S19−2で「Yes」)、画面部品のデザイン関連の仕様データをプロパティから抽出してコード化し、ソースコードを出力する(S19−3)。
そして、ソースコード生成部58は、動作定義が存在するか判定する(S19−4)。動作定義が存在する場合には(S19−4で「Yes」)、ソースコード生成部58は、動作定義の仕様情報をソースコード変換してソースコードを出力する(S19−5)。その後、ソースコード生成部58は、子ノードが存在するか判定する(S19−6)。子ノードが存在する場合には(S19−6で「Yes」)、ソースコード生成部58は、S19−3の処理に戻って、子ノードについても、デザイン関連のコードと動作定義に関するコードを生成する。その後、ソースコード生成部58は、子ノードが存在しない場合には(S19−6で「No」)、ステップS19−1に戻る。ソースコード生成部58は、S19−1において、ソースコード出力を行っていない画面が存在しない場合には(S19−1で「No」)、処理を終了する。
図29は、本実施形態の一実施例に係るコンピュータのハードウェア環境の構成ブロック図である。コンピュータ200は、本実施形態の処理を行うプログラムを読み込むことにより、UI設計支援装置51として機能する。
コンピュータ200は、出力I/F201、CPU202、ROM203、通信I/F204、入力I/F205、RAM206、記憶装置207、読み取り装置208、バス209を含む。コンピュータは、出力機器211、入力機器212と接続されている。
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インターフェースを示す。バス209には、出力I/F201、CPU202、ROM203、通信I/F204、入力I/F205、RAM206、記憶装置207、読み取り装置208が接続されている。読み取り装置208は、可搬型記録媒体を読み出す装置である。出力機器211は、出力I/F201に接続されている。入力機器212は、入力I/F205に接続にされている。
記憶装置207としては、ハードディスクドライブ、フラッシュメモリ装置、磁気ディスク装置など様々な形式の記憶装置を使用することができる。記憶装置207またはROM203には、例えば、本実施形態で説明した処理を実現するプログラムが格納されている。また、記憶装置207またはROM203は、画面データ67、部品データ68、動作定義データ、動作定義フォーマット61、仕様データ62、ソースコード63、画面遷移仕様データ64、画面部品仕様データ65、部品属性仕様データ66等を記憶する。
CPU202は、記憶装置207またはROM203に格納した本実施形態で説明した処理を実現するプログラムを読み出し、当該プログラムを実行する。具体的には、CPU202は、当該プログラムを実行することにより、画面設計部53、オプション調整部54、シミュレーション処理部56、UI仕様作成部57ソースコード生成部58、出力制御部59として機能する。
本実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク210、および通信I/F204を介して、例えば記憶装置207に格納してもよい。また、本実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置208にセットされて、CPU202によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置208によって読み取られる。
また、入力機器212には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルなどを用いることが可能である。また、出力機器211には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク210は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。
本実施形態によれば、画面遷移仕様において、UIアプリの画面変化と、オプションによる分岐動作を分離させ、本来のUIアプリの画面変化を分かりやすくした画面遷移仕様を出力することができる。一方、オプションによる分岐動作の仕様については、シミュレーション実行前に、部品に設定したオプションを選択可能なように画面に表示させている。これにより、実行条件に応じて、いずれかのオプションを選択して、シミュレーションを実行して仕様の確認をすることができる。その結果、視認しやすい画面遷移仕様を作成することができると共に、オプション仕様も担保することができる。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 表示制御装置
2 取得部
3 第1の出力制御部
4 第2の出力制御部
11 UI設計支援装置
12 画面設計部
13 条件設定表示部
14 シミュレーション処理部
15 UI仕様作成部
16 オプション調整部
17 記憶部
18 出力制御部
19 入力部
20 表示部
51 UI設計支援装置
52 制御部
53 画面設計部
54 オプション調整部
55 条件設定表示部
56 シミュレーション処理部
57 UI仕様作成部
58 ソースコード生成部
59 出力制御部
60 記憶部
61 動作定義フォーマット
62 仕様データ
63 ソースコード
64 画面遷移仕様データ
65 画面部品仕様データ
66 部品属性仕様データ
70 入力装置
71 表示装置

Claims (8)

  1. コンピュータに、
    画面を示す画面情報と、該画面情報と関係付けられ該画面に含まれる要素の属性を示す要素属性情報と、前記画面に含まれる前記要素が動作する条件に関する動作条件情報と、前記要素が動作する処理の内容に関する動作内容情報と、を取得し、
    前記要素属性情報と関係付けられた前記画面情報を、前記動作条件情報と前記動作内容情報とから生成される前記画面間の遷移関係を示す画面遷移情報の一画面を示す情報として出力し、
    シミュレーション実行条件の設定において、表示部に、シミュレーション実行対象の前記画面に対応する前記画面情報と関連付けられた前記要素属性情報を、シミュレーション実行条件として選択可能に表示させる
    処理を実行させる表示制御プログラム。
  2. 前記コンピュータに、さらに、
    前記画面遷移情報、前記画面情報と関係づけられた前記要素情報、該要素の要素属性情報またはソースコードを出力する
    処理を実行させる請求項1に記載の表示制御プログラム。
  3. 画面を示す画面情報と、該画面情報と関係付けられ該画面に含まれる要素の属性を示す要素属性情報と、前記画面に含まれる前記要素が動作する条件に関する動作条件情報と、前記要素が動作する処理の内容に関する動作内容情報と、を取得する取得部と、
    前記要素属性情報と関係付けられた前記画面情報を、前記動作条件情報と前記動作内容情報とから生成される前記画面間の遷移関係を示す画面遷移情報の一画面を示す情報として出力する第1の出力制御部と、
    シミュレーション実行条件の設定において、表示部に、シミュレーション実行対象の前記画面に対応する前記画面情報と関連付けられた前記要素属性情報を、シミュレーション実行条件として選択可能に表示させる第2の出力制御部と、
    を備えることを特徴とする表示制御装置。
  4. 前記表示制御装置は、さらに、
    前記画面遷移情報、前記画面情報と関係づけられた前記要素情報、該要素の要素属性情報またはソースコードを出力する出力部
    を備えることを特徴とする請求項3に記載の表示制御装置。
  5. コンピュータに、
    画面を示す画面情報と、該画面情報と関係付けられ該画面に含まれる要素の属性を示す要素属性情報と、前記要素が動作するために要求される条件に関する情報である動作定義データと、前記要素が動作する処理の内容に関する情報である仕様データと、を取得し、
    前記動作定義データに含まれる画面遷移の条件と前記仕様データに含まれる前記画面遷移の条件が満たされた場合に遷移する遷移先画面とに基づいて、標準仕様における前記画面間の遷移関係を示す画面遷移情報であって、属性の違いによる似通った画面への遷移が記述されていない該画面遷移情報を出力し、
    シミュレーション実行条件の設定において、表示部に、シミュレーション実行対象の前記画面に対応する前記画面情報と関連付けられた前記要素属性情報を選択可能に表示させる
    処理を実行させる表示制御プログラム。
  6. 前記コンピュータに、さらに、
    前記仕様データ、前記画面情報と関係づけられた前記要素、該要素の要素属性情報またはソースコードを出力する
    処理を実行させる請求項5に記載の表示制御プログラム。
  7. 画面を示す画面情報と、該画面情報と関係付けられ該画面に含まれる要素の属性を示す要素属性情報と、前記要素が動作するために要求される条件に関する情報である動作定義データと、前記要素が動作する処理の内容に関する情報である仕様データと、を取得する取得部と、
    前記動作定義データに含まれる画面遷移の条件と前記仕様データに含まれる前記画面遷移の条件が満たされた場合に遷移する遷移先画面とに基づいて、標準仕様における前記画面間の遷移関係を示す画面遷移情報であって、属性の違いによる似通った画面への遷移が記述されていない該画面遷移情報を出力する第1の出力制御部と、
    シミュレーション実行条件の設定において、表示部に、シミュレーション実行対象の前記画面に対応する前記画面情報と関連付けられた前記要素属性情報を選択可能に表示させる第2の出力制御部と、
    を備えることを特徴とする表示制御装置。
  8. 前記表示制御装置は、さらに、
    前記仕様データ、前記画面情報と関係づけられた前記要素、該要素の要素属性情報またはソースコードを出力する出力部
    を備えることを特徴とする請求項7に記載の表示制御装置。
JP2012000200A 2012-01-04 2012-01-04 表示制御プログラム及び該装置 Expired - Fee Related JP5903276B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012000200A JP5903276B2 (ja) 2012-01-04 2012-01-04 表示制御プログラム及び該装置
EP12199458.6A EP2613253A1 (en) 2012-01-04 2012-12-27 Display control program and apparatus
US13/728,107 US20130174064A1 (en) 2012-01-04 2012-12-27 Computer readable recording medium storing display control program and display control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012000200A JP5903276B2 (ja) 2012-01-04 2012-01-04 表示制御プログラム及び該装置

Publications (2)

Publication Number Publication Date
JP2013140482A JP2013140482A (ja) 2013-07-18
JP5903276B2 true JP5903276B2 (ja) 2016-04-13

Family

ID=47594431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012000200A Expired - Fee Related JP5903276B2 (ja) 2012-01-04 2012-01-04 表示制御プログラム及び該装置

Country Status (3)

Country Link
US (1) US20130174064A1 (ja)
EP (1) EP2613253A1 (ja)
JP (1) JP5903276B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112012007005T5 (de) * 2012-10-12 2015-07-23 Mitsubishi Electric Corporation Bildflächenübergangs-Diagrammerzeugungseinrichtung
CN109407544B (zh) * 2017-08-17 2021-07-30 凌华科技股份有限公司 非侵入式数据提取系统的仿真机台操作画面的系统模块
US11669345B2 (en) * 2018-03-13 2023-06-06 Cloudblue Llc System and method for generating prediction based GUIs to improve GUI response times

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481741A (en) * 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing attribute nodes in a graphical data flow environment
JPH04294424A (ja) * 1991-03-22 1992-10-19 Hitachi Eng Co Ltd コンピュータシステムの対話的画面制御装置
US6469715B1 (en) * 1999-03-19 2002-10-22 Corel Inc. System and method for controlling the operation of a graphical object using a project
US6823495B1 (en) * 2000-09-14 2004-11-23 Microsoft Corporation Mapping tool graphical user interface
JP2002229765A (ja) * 2001-02-01 2002-08-16 Yamatake Sangyo Systems Co Ltd 画面表示装置
JP3881179B2 (ja) 2001-02-14 2007-02-14 三菱電機株式会社 ユーザインタフェース設計装置
JP3755499B2 (ja) * 2002-09-06 2006-03-15 ソニー株式会社 Guiアプリケーション開発支援装置、gui表示装置、および方法、並びにコンピュータ・プログラム
JP3755500B2 (ja) * 2002-09-06 2006-03-15 ソニー株式会社 Guiアプリケーション開発支援装置および方法、並びにコンピュータ・プログラム
JP2005196291A (ja) * 2003-12-26 2005-07-21 Fujitsu Ltd ユーザインタフェースアプリケーション開発プログラム、および開発装置
EP1872204A4 (en) * 2005-04-18 2008-06-11 Research In Motion Ltd SYSTEM AND METHOD FOR FLEXIBLE VISUAL REPRESENTATION OF PRESENTATION COMPONENTS
US8610722B2 (en) * 2010-01-26 2013-12-17 Apple Inc. User interface for an application
JP5545744B2 (ja) * 2010-10-07 2014-07-09 富士通株式会社 操作画面設計支援プログラム、操作画面設計支援装置および操作画面設計支援方法
US8949093B2 (en) * 2011-03-31 2015-02-03 GM Global Technology Operations LLC Method and system for designing, analysing and specifying a human-machine interface

Also Published As

Publication number Publication date
EP2613253A1 (en) 2013-07-10
US20130174064A1 (en) 2013-07-04
JP2013140482A (ja) 2013-07-18

Similar Documents

Publication Publication Date Title
US7992128B2 (en) Computer software adaptation method and system
US20090083697A1 (en) Integration of User Interface Design and Model Driven Development
JP6687878B2 (ja) 情報処理装置およびプログラム
US8136043B2 (en) GUI generation apparatus and method for generating GUI
JP2008234213A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体
US8701011B2 (en) Computer-readable storage medium, apparatus, and method for supporting operation screen design
TWI407425B (zh) 產生使用者介面相關之一物件屬性的方法
Panach et al. Including functional usability features in a model-driven development method
JP5903276B2 (ja) 表示制御プログラム及び該装置
US20180074659A1 (en) Application user interface design tool
JP4626675B2 (ja) 通信ネットワークを利用したファームウェアの提供方法、そのシステムおよびサービスサーバ
JP2009048485A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体
KR101546359B1 (ko) 웹 브라우저 호환성 및 폰트 유지를 위한 웹 페이지 생성방법 및 시스템
KR102067661B1 (ko) 위젯 저작 시스템 및 방법
JP2010009167A (ja) 画面表示装置、画面表示方法及び画面表示プログラム
Elouali et al. A model-based approach for engineering multimodal mobile interactions
JP6265030B2 (ja) アプリケーション開発システム、開発装置のデータ処理方法、およびプログラム
JP2018181073A (ja) 情報処理装置と、その処理方法及びプログラム
Kaklanis et al. A haptic rendering engine of web pages for blind users
Roubi et al. Generating graphical user interfaces based on model driven engineering
JP2008191993A (ja) Gui部品表示装置及びgui部品表示方法
JP7421137B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP4630640B2 (ja) 設計情報検証装置および設計情報検証方法
JP7280475B2 (ja) 情報処理装置及びその制御方法、プログラム
JP5244370B2 (ja) 画面デザイン仕様書作成方法、画面デザイン仕様書作成プログラム、および、画面デザイン仕様書作成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150907

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160314

R150 Certificate of patent or registration of utility model

Ref document number: 5903276

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees