説明

設定情報生成プログラム、設定情報生成装置および設定情報生成方法

【課題】画面遷移の制御と表示位置の制御とを含む画面制御の制御内容を示す情報の冗長化を抑制すること。
【解決手段】設定情報生成プログラム320aは、コンピュータ300に、あるプログラムに関する画面遷移処理を示す第1の遷移情報を生成する処理を実行させる。また、設定情報生成プログラム320aは、コンピュータに、あるプログラムの画面表示位置を示す位置情報について、位置情報の遷移処理を示す第2の遷移情報を生成する処理を実行させる。また、設定情報生成プログラム320aは、第1の遷移情報に基づいて遷移するあるプログラムの画面を、第2の遷移情報に応じて遷移する位置情報に応じた位置に表示させることを示す設定情報を生成する処理を実行させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画面表示制御などに関する設定情報を生成する設定情報生成プログラム、設定情報生成装置および設定情報生成方法に関する。
【背景技術】
【0002】
User Interface(UI)システムにおいて、画面の表示やUIの動きを制御するプログラムなどのソフトウェアの仕様の記述を支援する装置がある。かかる装置では、画面上にボタン、文字、グラフ、絵などのUI部品に関する記述がされる画面仕様、および、表示される画面が変化する様子がフローとして記述される画面遷移仕様の各仕様の記述を支援する。かかる画面遷移仕様の一例としては、アプリケーションごとの所定の機能を実現するための画面の遷移の仕様が記述される。なお、UIの画面では、例えば、画面に表示されたメニューがマウスやキーボード、または、操作者の指などによって選択されると、表示画面が遷移される。
【0003】
また、画面遷移に伴って、表示部品を取り替えることを行うための画面表示において、変化する画面をいくつかのグループに分け、グループ内で共通して表示される表示部品をまとめて編集する装置がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−244848号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の画面遷移仕様の記述の方法では、次のような問題がある。すなわち、アプリケーションごとの所定の機能を実現するための画面遷移に加えて、さらに、各種の状態の変化に応じて複数の表示装置に表示させる画面の制御を行うプログラムの画面遷移仕様を記述する場合には、内容が煩雑となるという問題がある。これは、画面遷移仕様の記述の際に、所定の機能を実現するための画面遷移において画面が遷移する際のイベントと、状態の変化のイベントとの双方のイベントが考慮され、画面制御に関する条件分岐の数や条件分岐に用いられる条件の数が増大するからである。なお、上述した変化の一例として、上述のプログラムが搭載された装置に対して割り込み処理を必要とする入力が行われた場合や、操作者により使用する機能を切り替える入力が行われた場合などが挙げられる。
【0006】
図39および図40は、従来の画面遷移の仕様の記述の方法を用いて記述された、アプリケーションごとの所定の機能を実現するための画面遷移に加えて、各種の状態の変化に応じて複数の表示装置に表示させる画面の制御を行うプログラムの画面遷移仕様の一例を示す図である。
【0007】
図39の例は、1つのアプリケーションの画面を3つの表示装置D1〜D3に表示する際の画面遷移仕様を示す。図39の例の画面遷移仕様では、初期状態として左側の表示装置D1に初期画面A1が表示される場合が記述されている。また、図39の例の画面遷移仕様では、UI機能の遷移として、画面A1から画面A2へと遷移し、画面A2から画面A3へと遷移する場合が記述されている。また、図39の例の画面遷移仕様では、状態が変化した場合に、表示装置D1に表示される画面が、画面A1から画面A2に遷移する前に、表示装置D2や表示装置D3に画面A1が表示される場合が記述されている。また、図39の例の画面遷移仕様では、さらに、状態が変化した場合に、表示装置D1に表示される画面が、画面A2から画面A3に遷移する前に、表示装置D2や表示装置D3に画面A2が表示される場合が記述されている。これらの記述に加え、図39の例の画面遷移仕様では、多数の様々な条件に応じて、多数の画面遷移に関する情報が記述される。そのため、図39の例の画面遷移仕様に記述される内容は煩雑である。
【0008】
図40の例は、2つのアプリケーションAP1,AP2を3つの表示装置D1〜D3に表示する際の画面遷移仕様を示す。図40の例の画面遷移仕様では、2つのUI機能(AP1,AP2)の遷移として、画面A1から画面A2へと遷移し、画面A2から画面A3へと遷移する場合、および、画面B1から画面B2へと遷移し、画面B2から画面B3へと遷移する場合が記述されている。図40の例では、2つのUI機能による画面遷移は、それぞれ独立に行われる。図40の例の画面遷移仕様では、多数の様々な条件に応じて、多数の画面遷移に関する情報が記述される。また、図40の例の画面遷移仕様では、状態が変化するたびに、アプリケーションAP1の画面を表示させる表示装置と、AP2の画面を表示させる表示装置とが変化する。そのため、図40の例の画面遷移仕様に記述される内容も煩雑である。
【0009】
一つの側面では、本発明は、画面遷移の制御と表示位置の制御とを含む画面制御の制御内容を示す情報の冗長化を抑制することを目的とする。
【課題を解決するための手段】
【0010】
第一の案では、設定情報生成プログラムは、コンピュータに、あるプログラムに関する画面遷移処理を示す第1の遷移情報を生成する処理を実行させる。また、設定情報生成プログラムは、コンピュータに、あるプログラムの画面表示位置を示す位置情報について、位置情報の遷移処理を示す第2の遷移情報を生成する処理を実行させる。また、設定情報生成プログラムは、第1の遷移情報に基づいて遷移するあるプログラムの画面を、第2の遷移情報に応じて遷移する位置情報に応じた位置に表示させることを示す設定情報を生成する処理を実行させる。
【発明の効果】
【0011】
画面遷移の制御と表示位置の制御とを含む画面制御の制御内容を示す情報の冗長化を抑制することができる。
【図面の簡単な説明】
【0012】
【図1】図1は、実施例に係る設定情報生成装置の構成を示すブロック図である。
【図2】図2は、画面編集ビューの表示例を示す図である。
【図3】図3は、部品の表示設定ビューの表示例を示す図である。
【図4】図4は、動作定義フォーマット選択ビューの表示例を示す図である。
【図5】図5は、動作定義フォーマット選択ビューの表示例を示す図である。
【図6】図6は、動作定義フォーマット選択ビューの表示例を示す図である。
【図7】図7は、部品属性選択ビューの表示例を示す図である。
【図8】図8は、部品属性選択ビューの表示例を示す図である。
【図9】図9は、部品属性選択ビューの表示例を示す図である。
【図10】図10は、リスト表示部品の上スクロール動作を示す図である。
【図11】図11は、UI動作の具体例を示す図である。
【図12】図12は、リスト表示部品のデータ構造具体例を示す図である。
【図13】図13は、リスト表示部品のデータ構造具体例を示す図である。
【図14】図14は、上スクロールを実行する動作定義例を示す図である。
【図15】図15は、動作定義フォーマットの例を示す図である。
【図16A】図16Aは、動作定義フォーマットおよびリスト表示部品のデータ構造を示す図である。
【図16B】図16Bは、動作定義フォーマットおよびリスト表示部品のデータ構造を示す図である。
【図17】図17は、ツリー構造の仕様データの一例を示す図である。
【図18】図18は、ツリー構造の仕様データの一例を示す図である。
【図19】図19は、属性が定義された表示装置の模式図の一例である。
【図20】図20は、定義された複数の表示装置のそれぞれの区画の一例を示す図である。
【図21】図21は、状態ごとに定義された、表示装置の各レイヤの区画の一例を示す図である。
【図22A】図22Aは、状態遷移仕様を記述する際に用いられる動作定義フォーマットの一例を示す図である。
【図22B】図22Bは、状態遷移仕様を記述する際に用いられる動作定義フォーマットの一例を示す図である。
【図22C】図22Cは、状態遷移仕様を記述する際に用いられる動作定義フォーマットの一例を示す図である。
【図23】図23は、画面と区画との対応関係の一例を示す図である。
【図24】図24は、本実施例に係る設定情報生成装置によって生成された画面遷移仕様、状態遷移仕様および状態ごとの各表示装置の各レイヤに表示される画面を示す情報の一例を示す図である。
【図25】図25は、シミュレーション操作画面の一例を示す図である。
【図26】図26は、シミュレーション履歴情報の例を示す図である。
【図27】図27は、シミュレーション実行処理を説明する図である。
【図28】図28は、検証実行画面の例を示す図である。
【図29】図29は、UI操作のメトリクス例を示す図である。
【図30】図30は、テスト制限情報の一例を示す図である。
【図31】図31は、ソースコードの構成を示す図である。
【図32】図32は、実施例に係る設定情報生成装置の第一の仕様生成処理の処理手順を説明するためのフローチャートである。
【図33】図33は、実施例に係る設定情報生成装置の機能検証処理の処理手順を説明するためのフローチャートである。
【図34】図34は、実施例に係る設定情報生成装置の基準検証処理の処理手順を説明するためのフローチャートである。
【図35】図35は、実施例に係る設定情報生成装置の第二の仕様生成処理の処理手順を説明するためのフローチャートである。
【図36】図36は、実施例に係る設定情報生成装置のテスト項目出力処理の処理手順を説明するためのフローチャートである。
【図37】図37は、実施例に係る設定情報生成装置のソースコード出力処理の処理手順を説明するためのフローチャートである。
【図38】図38は、設定情報生成プログラムを実行するコンピュータを示す図である。
【図39】図39は、従来の画面遷移の仕様の記述の方法を用いて記述された、アプリケーションごとの所定の機能を実現するための画面遷移に加えて、各種の状態の変化に応じて複数の表示装置に表示させる画面の制御を行うプログラムの画面遷移仕様の一例を示す図である。
【図40】図40は、従来の画面遷移の仕様の記述の方法を用いて記述された、アプリケーションごとの所定の機能を実現するための画面遷移に加えて、各種の状態の変化に応じて複数の表示装置に表示させる画面の制御を行うプログラムの画面遷移仕様の一例を示す図である。
【発明を実施するための形態】
【0013】
以下に添付図面を参照して、この発明に係る設定情報生成プログラム、設定情報生成装置および設定情報生成方法の実施例を詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【0014】
[設定情報生成装置の構成]
図1は、本実施例に係る設定情報生成装置10の構成を示すブロック図である。図1に示すように、設定情報生成装置10は、入力部11、出力部12、制御部13、記憶部14を有する。
【0015】
入力部11は、仕様に関する記述などを入力するものであり、キーボードやマウス、マイクなどを有する。また、出力部12は、後述するように、画面編集ビュー、部品表示設定ビュー、動作定義関係のビューなどを表示するものであり、モニタ(若しくはディスプレイ、タッチパネル)やスピーカを有する。
【0016】
制御部13は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、種々の処理を実行し、第一の生成部13a、第二の生成部13b、第一の検証部13c、第二の検証部13d、第三の生成部13e、第四の生成部13fを有する。
【0017】
第一の生成部13aは、UIの操作画面に表示される部品が動作する条件に関する情報と、部品が動作する処理の内容に関する情報とを所定の形式で記述させる動作定義フォーマットを表示し、動作定義フォーマットを基に部品の仕様に関する記述を受け付ける。具体的には、第一の生成部13aは、画面上の部品の配置を編集する画面編集ビューと、画面上のUI部品や様々な機能を操作する機能部品を設定する部品表示設定ビューと、動作定義に関係する動作定義関係のビューとを出力部12に表示する。また、第一の生成部13aは、入力部11を介して作業者からの操作指示を受け付けて、動作定義フォーマット記憶部14aに記憶された動作定義フォーマットの選択や部品の属性の編集を行う。
【0018】
第一の生成部13aが表示する画面編集ビュー、部品表示設定ビュー、動作定義関係のビューについてそれぞれ説明する。図2は、画面編集ビューの表示例を示す図である。図2に示すように、画面編集ビューは、編集する画面についての管理情報を表示する「管理情報表示」と、画面に表示することができるUI部品(通常、システム内のDBなどに存在する)の一覧を表示する「部品一覧」と、画面のレイアウトを表示する「画面レイアウト表示」が表示されている。UI仕様作成者から入力部11を介して操作指示を受け付け、部品一覧から設定したい部品をドラッグ&ドロップして画面レイアウトに配置し、画面を生成する。図2の例では、部品一覧表示部からラベル部品とリスト表示部品を取り出し、画面Aに配置している。
【0019】
続いて、部品表示設定ビューについて説明する。部品表示設定ビューは、例えば、画面編集ビューの「画面レイアウト表示」において、所定の部品をダブルクリックすることで表示される。図3に示すように、部品表示設定ビューでは、配置したUI部品の属性(形・色・表示条件など)が指定される。図3は、部品の表示設定ビューの表示例を示す図である。
【0020】
続いて、動作定義関係のビューについて説明する。動作定義関係のビューでは、各UI部品の動きの設定を受け付ける。UI部品の動きの設定においては、動作の条件および動作の処理という統一した形式であるUI動作定義として、ユーザからの指示の形態や処理動作・処理を実行するかどうかの条件動作を作成する。その際には、動作条件および処理動作の言語表現が付随された形の動作定義フォーマットを利用する。動作定義関係のビューは、動作定義フォーマット選択ビューと部品属性選択ビューから構成される。まず、動作定義フォーマット選択ビューによって、動作定義を作成するための動作定義フォーマットを作業者が選択する。
【0021】
ここで、図4〜図6を用いて、動作定義フォーマット選択ビューについて説明する。図4〜6は、動作定義フォーマット選択ビューの表示例を示す図である。まず、第一の生成部13aは、ビューの左側のカテゴリウィンドウにおいて動作定義フォーマットのカテゴリから条件動作なのか、処理動作なのか、どのような型のプロパティを操作するのか選択指示を受け付ける。そして、第一の生成部13aは、ビューの左側のカテゴリウィンドウから1つのカテゴリがマウスクリックで選択されると、ビューの右側に、選択されたカテゴリに属する動作定義フォーマット一覧を表示する。その中で、第一の生成部13aは、動作定義フォーマットの選択を受け付けると、部品属性選択ビューを画面上に表示する。
【0022】
そして、部品属性選択ビューにおいて、選択した動作定義フォーマット内にセットする部品と、部品の属性として、プロパティ、イベント、メソッドを指定する。図7〜図9は、部品属性選択ビューの表示例を示す図である。例えば、部品属性選択ビューでは、図7〜図9に例示されるように、ビューの左側に現在仕様を考察している画面上に存在する部品一覧が展開される。この中で対象とする部品の選択を受け付けると、その部品に登録されている属性一覧が右側のビューに展開される。右側の画面で属性を選択することによって、部品および属性を指定することができる。なお、図7〜図9の例では、属性名一覧のうち、太字になっているものが選択可能な属性であることを示している。これにより、最終的に動作定義を作成することができる。例えば、図10に示すように、画面上の動作として表示データが上方向にスクロールされる処理の動作定義を作成する。図10は、リスト表示部品の上スクロール動作を示す図である。なお、図4〜図10に示す動作定義フォーマット選択ビューや部品属性選択ビュー、処理の動作定義については、後に詳述する。
【0023】
ここで、UI仕様記述の具体的な作成方法を説明する。まず、図11を用いてUI動作の具体例を説明する。図11は、UI動作の具体例を示す図である。以下では、図11に例示したUI動作の仕様を作成する場合を例にして説明する。図11では、リスト表示部品を用いて、画面上に地名のリストが表示されている。リスト表示部品は、組み合わせ部品であり、3つのラベル部品の右側に、下方の項目を参照するためのボタン部品(下スクロールキー▽)および上にスクロールさせるボタン部品(上スクロールキー△)が配置されている。
【0024】
図11のリスト表示部品の内部データ構造を図12および図13に示す。図12および図13は、リスト表示部品のデータ構造具体例を示す図である。図12に例示するように、属性情報として、子部品リスト、3つのラベル部品に表示する文字列データと表示するデータが取得されるリストに関するプロパティを示す情報を保持している。子部品としては、文字列データを表示するためのラベル部品、上下スクロールを指示するためのボタン部品、および3つのラベル部品で表示しているデータがリストのどの位置なのかを示すバーチャート部品からなる。なお、図13では、バーチャート部品の説明は省略している。
【0025】
ここで、ユーザが上スクロールのためのボタン部品を押下した際のUI動作仕様を例にして、UI動作仕様を設定する手順について説明する。UI動作仕様を設定する手順として、部品の配置を設定し、部品の属性を設定し、部品の動作定義を設定する。具体的には、部品の配置の設定として、画面編集ビューを用いて、ラベル部品・上下スクロール用のボタン部品・バーチャート部品を配置し、位置および大きさを設定する。また、部品の属性の設定として、部品表示設定ビューを用いて、各部品の表示色・大きさ・形状を指定する。例えば、上下スクロール用のボタン部品として、三角形の形状を設定する。
【0026】
また、部品の動作定義として、発生イベントを設定する場合には、例えば、上スクロールボタンを押下した時に発生するボタン押下イベントを、発生イベントとして設定する。図4に例示するように、動作定義フォーマット選択ビューのカテゴリ表示部(図4の左側)において、イベントのカテゴリの選択を受け付ける。そして、動作定義フォーマット一覧表示部(図4の右側)にイベントのカテゴリに属するフォーマットのリストが表示される(イベントの場合は1種類)ので、表示されたフォーマットが選択される。
【0027】
フォーマットが選択されると、図7に例示するように、その中に記述されている部品と属性を指定するための部品属性選択ビューが表示される。部品属性選択ビューの左側には、この画面に属する部品のリストが表示されているので、上スクロールボタンが選択される。画面右側に上スクロール部品に属する属性一覧が表示されるので、その中から「ボタン押下イベント」が選択される。ここで、上スクロールボタンの属性には、ボタン表示色やボタン形状などのプロパティも存在するが、フォーマットとしてイベントに関する動作定義フォーマットを既に指定しているので、ここではイベント属性しか表示されない。
【0028】
また、部品の動作定義として、条件動作を設定する場合について説明する。例えば、条件動作として、リスト表示においてリスト上部のデータを見る時に、現在既に最上位のデータを表示している場合には、上スクロールできない。この条件動作は、リスト表示部品の現表示ポインタが、表示リスト先頭ポインタより大きいかどうかで判断される。このような条件動作を設定するためには、図5に示すように、動作定義フォーマットビューにおいて、カテゴリとして数値比較を選択する。そして、動作定義フォーマット一覧ビューに複数の数値比較フォーマットが表示されるので、部品同士の数値型のプロパティの大小を比較するフォーマットを選択する。
【0029】
フォーマットが選択されると、図8に示すように、発生イベント設定の場合と同様に、部品と属性を設定するための部品属性選択ビューを表示する。今回は部品が2つ存在するフォーマットが選択されたため、部品属性選択ビューを2度表示する。最初に表示される部品属性選択ビューにおいて、部品一覧からリスト表示部品が選択される。すると、リスト表示部品に含まれる属性が表示される。今回は数値型のプロパティに関するフォーマットを選択したので、”ラベル#1文字列”といった文字型のプロパティは表示しない。表示されている属性の中から「現表示ポインタ」が選択される。2度目に表示される部品属性選択ビューでは、同様にしてリスト表示部品の「表示リスト先頭ポインタ」プロパティが選択される。以上により、「リスト表示部品の現表示ポインタ(数値型)がリスト表示部品の表示リスト先頭ポインタ(数値型)より大きい時、」という条件を設定する。
【0030】
また、部品の動作定義として、処理動作を設定する場合について説明する。例えば、図10に示すように、画面上の動作として表示データが上方向にスクロールされる処理は、以下のようになる。つまり、(1)ラベル#2部品の地名#2文字列を、ラベル#3部品の地名#3文字列へ代入する。(2)ラベル#1部品の地名#1文字列を、ラベル#2部品の地名#2文字列へ代入する。(3)現表示ポインタを1だけ減算し、リスト表示部品に表示される文字列のデータであるリストデータから読み込んだ文字列を、ラベル#1部品の地名#1文字列へ代入する。
【0031】
上記した(1)〜(3)の処理を実現するためのツール上での設定内容は、以下のようになる。(1)リスト表示部品の「ラベル#2表示文字列」プロパティを、リスト表示部品の「ラベル#3表示文字列」プロパティへ代入する。(2)リスト表示部品の「ラベル#1表示文字列」プロパティを、リスト表示部品の「ラベル#2表示文字列」プロパティへ代入する。(3)リスト表示部品の「現表示ポインタ」プロパティを−1する。(4)リスト表示部品のメソッド#1を実行する。(5)リスト表示部品の「メソッド#1結果格納」プロパティを、リスト表示部品の「ラベル#1表示文字列」プロパティに代入する。(6)リスト表示部品の「ラベル#1表示文字列」プロパティを、ラベル#1部品の「地名#1文字列」プロパティへ代入する。(7)リスト表示部品の「ラベル#2表示文字列」プロパティを、ラベル#2部品の「地名#2文字列」プロパティへ代入する。(8)リスト表示部品の「ラベル#3表示文字列」プロパティを、ラベル#3部品の「地名#3文字列」プロパティへ代入する。
【0032】
以上、(1)〜(8)の処理を、順に動作定義フォーマット選択ビューと部品属性選択ビューを用いて設定する。一例として、(7)の処理動作を設定する操作を図6、図9に示す。図6に示すように、動作定義フォーマット選択ビューにおいて、カテゴリとして文字列セットを選択する。動作定義フォーマット一覧表示ビューに文字列セットに関係する複数のフォーマットが表示されるので、部品同士の文字列型のプロパティを代入するフォーマットを選択する。続いて、図9に示すように、部品属性選択ビューにおいて、フォーマット内で設定する部品1としてリスト表示部品を選択し、プロパティ1として、ラベル#2表示文字列を選択する。以上により、上記した(7)の処理動作を設定する。
【0033】
このように設定された上スクロールを実行する動作定義の例を図14に示す。図14は、上スクロールを実行する動作定義例を示す図である。図14に示すように、動作定義として、部品の動作が発生するイベントを示す「起動イベント」、部品の動作の条件を示す「条件動作」、部品の動作内容を示す「処理動作」が設定されている。
【0034】
例えば、図14に例示するように、「起動イベント」として、画面上のボタン部品が押下される等の部品の動作が発生することが設定されている。また、「条件動作」として、リスト表示部品の現表示ポインタがリスト表示部品の表示リスト先頭ポインタより大きいことを条件に処理動作を行うことが設定されている。また、「処理動作」として、例えば、「リスト表示部品のラベル#2表示文字列をリスト表示部品のラベル#3表示文字列へ代入する」こと等が設定されている。
【0035】
また、動作定義フォーマットの例を図15に示す。図15は、動作定義フォーマットの例を示す図である。図15に示すように、カテゴリ別に動作定義フォーマットが用意されている。カテゴリとして、条件動作および処理動作がある。また、条件動作のカテゴリとして、イベント、数値比較、文字列比較があり、処理動作のカテゴリとして、数値セット、文字列セット、メソッド実行、画面遷移がある。例えば、設定情報生成装置10は、条件動作のイベントのカテゴリでは、「部品のイベントが発生した時」の動作定義フォーマットを記憶している。
【0036】
このように、第一の生成部13aは、動作定義フォーマットに従って起動イベント、条件動作および処理動作を記述させ、記述されたデータを仕様データとして仕様データ記憶部14bに記憶させる。ここで、図16A、図16Bを用いて、動作定義フォーマットに従って起動イベント、条件動作および処理動作を記述させ、記述されたデータを仕様データとして記憶する一連の処理を説明する。図16A、図16Bは、動作定義フォーマットおよびリスト表示部品のデータ構造を示す図である。
【0037】
図16Aに示すように、UI部品の動作を条件と処理に分けており、第一の生成部13aは、UI部品の条件の定義として、起動イベントおよび条件動作の仕様定義を記述する。起動イベントは、例えばユーザが画面上の部品を押下することや、機能の実行が終了したことなどが挙げられる。いずれもイベントという形でシステムに通知される。また、条件動作は、起動イベントが起きた時にUI動作が起こる条件を記述する。なお、条件動作が存在せず、起動イベントが発生したら無条件にUI動作が起こる場合もある。また、UI部品の動作は、処理動作の形式で記述される。処理動作は、画面上の部品の変化や画面遷移の他、あるいはシステム内で動作する機能(アプリケーション)などを指定する。例えば、画面上のボタンを押下した時に、画面上ではなく組込みシステム本体の動作が実行されるといった動きである。
【0038】
また、第一の生成部13aは、上記のようなUI部品の動作や条件について、図16Bに示すような動作定義フォーマットに従って記述を受け付ける。図16Bに示すように、動作定義フォーマットは、起動イベント、条件動作、処理動作を指定するために用意したUI部品および機能部品とそのパラメータの雛型であり、部品およびパラメータを設定する枠と動作を示す言語表現からなる。言語表現を利用することによって、UI動作のソフト構造を把握していない作業者においても、UI動作の仕様を作成することができる。
【0039】
例えば、起動イベントを指定する場合には、「UI部品/機能部品のイベントが発生した時」という動作定義フォーマットを利用する。このフォーマットにおいて、「UI部品/機能部品」の部分に起動イベントを設定したい部品を作業者が指示し、イベントの部分にどのイベントを利用したいかを作業者が指定する。
【0040】
条件動作を指定する動作定義フォーマットは、UI部品のプロパティがどんな状態かを示す記述であり、プロパティの種類およびその比較の方法によって様々なフォーマットが用意されている。例えば、作業者は、ボタンの色が黒かどうかを判断するなら、「UI部品/機能部品のプロパティ(整数型)が定数(整数型)と等しいなら」という動作定義フォーマットを利用し、UI部品/機能部品としてボタン部品を設定し、プロパティ(整数型)として表示色プロパティを設定する。さらに、作業者は、比較を行う整数値を指定する。また、処理動作を設定するフォーマットには、UI部品のメソッド実行を指定するフォーマットや、「UI部品/機能部品のプロパティ(整数型)に他のUI部品/機能部品のプロパティ(整数型)を代入する」といったプロパティデータの代入や演算を行うためのフォーマットも存在する。
【0041】
また、図16Bにおいて、リスト表示部品の例を示す。図16Bに示すように、リスト表示部品は、UI部品および機能部品と言語表現部から構成される。また、図16Bに示すように、UI部品のデータ構造には、部品の表示内容や動作を指定するデータとして、表示内容を示すものとして「プロパティ」、動作を指定する情報として「メソッド」および「イベント」がある。プロパティは、部品の各種の属性値や部品が有するデータである。例えば、部品の形状・画面上の位置・通常色・押下した際の色や、部品上に表示する文字列データなどである。各プロパティには、格納するデータの属性や設定する値の範囲を指定する情報が含まれる。メソッドとは、その部品に付随する動作である。例えば、リスト表示部品の現表示ポインタ値を+1インクリメントする処理などである。イベントは、その部品が発行する各種のイベントを表す。例えば、ボタンが押されたことを通知するボタン押下イベントなどである。
【0042】
また、部品のデータ構造は、画面上のUI部品からの指示を受けて組込みシステム内で動作する様々な機能を操作する機能部品においても共通である。メソッドとしては、例えばエアコンのオン/オフを指示する動作などが定義される。イベントとしては、メソッドで指定した動作が正常終了した時に発行するイベントなどが定義される。例えば、起動メソッドが実行され、正常に立ち上がった時に発行される起動完了イベントなどである。プロパティとしては、メソッドを呼び出す時のパラメータや動作中の状態を通知するデータなどが設定される。
【0043】
さらに、UI部品および機能部品には、図示を省略するが、シミュレータで実行するために一定のインタフェースを備えた実行可能なソフトモジュールと、ソースコードを生成するためのソースコード情報が付随されている。また、UI部品および機能部品には、UI動作のソフト構造を把握していないような仕様検討担当者がUI動作仕様を作成する際に利用する言語情報も付随されている。
【0044】
ここで、図17および図18を用いて、動作定義フォーマットに従って入力された仕様データの構成を説明する。図17および図18は、ツリー構造の仕様データの一例を示す図である。第一の生成部13aは、図17および図18に示すように、仕様データをツリー構造のデータに変換する。図17に示すように、画面Aをトップのノードとし、部品#1と組み合わせ部品である部品#2が下位のノードとして接続されている。また、組み合わせ部品である部品#2には、子部品#1〜5が下位のノードとして接続されている。
【0045】
また、子部品には、条件動作や処理動作が定義されている。例えば、子部品#1であるラベル#1は、条件動作として、「子部品#1のボタン押下イベントが発行されたら、」が定義され、処理動作として、「画面Bへ遷移する」が定義されている。このように、画面遷移がある場合には、図18に例示するように、画面Aから画面Bに遷移するようなツリー構造のデータとする。このように、第一の生成部13aは、動作定義フォーマットを用いて、アプリケーションごとの所定の機能を実現するための画面遷移の画面遷移仕様を記述する。すなわち、第一の生成部13aは、かかる画面遷移仕様を生成する。
【0046】
第二の生成部13bは、アプリケーションなどのプログラムの画面表示位置を示す位置情報について、位置情報の遷移処理を示す遷移情報を生成する。具体例について説明する。第二の生成部13bは、まず、画面遷移仕様を設計する人が入力部11を操作して、制御部13に入力された、プログラムの画面を表示する複数の表示装置のそれぞれの識別情報、および、表示領域のサイズを受け付ける。そして、第二の生成部13bは、受け付けた複数の表示装置のそれぞれの識別情報およびサイズを対応付けて記憶部14に格納して、複数の表示装置のそれぞれの属性を定義する。図19は、属性が定義された表示装置の模式図の一例である。図19の例では、識別情報が#1である表示装置のサイズが(x1,y1)である場合を示す。図19の例では、識別情報が#2である表示装置のサイズが(x2,y2)である場合を示す。
【0047】
続いて、第二の生成部13bは、画面遷移仕様を設計する人が入力部11を操作して、制御部13に入力された、複数の表示装置のそれぞれの区画を受け付ける。そして、第二の生成部13bは、受け付けた複数の表示装置のそれぞれについて、表示領域の区画を定義する。図20は、定義された複数の表示装置のそれぞれの区画の一例を示す図である。図20の例では、識別情報が#1である表示装置の全表示領域を1つの区画#1−1とする場合を示す。また、図20の例では、識別情報が#1である表示装置の表示領域を左右方向に分けて、2つの区画#1−2,1−3とする場合を示す。また、図20の例では、識別情報が#1である表示装置の表示領域を上下方向に分けて、2つの区画#1−4,1−5とする場合を示す。また、図20の例では、識別情報が#2である表示装置の全表示領域を1つの区画#2−1とする場合を示す。また、図20の例では、識別情報が#2である表示装置の表示領域を上下方向に分けて、2つの区画#2−2,2−3とする場合を示す。
【0048】
その後、第二の生成部13bは、画面遷移仕様を設計する人が入力部11を操作して、制御部13に入力された、状態ごとの表示装置の各レイヤの区画を受け付ける。そして、第二の生成部13bは、受け付けた状態ごとの表示装置の各レイヤの区画を定義する。図21は、状態ごとに定義された、表示装置の各レイヤの区画の一例を示す図である。図21の例では、状態1の場合には、表示装置D1のレイヤ1に区画#1−1が対応付けられた場合を示す。また、図21の例では、状態3の場合には、表示装置D3のレイヤ1に区画#3−4,3−5が対応付けられた場合を示す。このようにして、第二の生成部13bは、状態が遷移した場合の各表示装置の各レイヤの区画の遷移を示す情報を生成する。
【0049】
また、第二の生成部13bは、遷移する画面を、状態が遷移した場合の各表示装置の各レイヤの区画の遷移を示す情報に応じて遷移する各レイヤの区画に表示させることを示す設定情報を生成する。具体例について説明する。まず、第二の生成部13bは、動作定義フォーマットを用いて、状態が変化する様子がフローとして記述される状態遷移仕様を記述する。図22A、図22B、図22Cは、状態遷移仕様を記述する際に用いられる動作定義フォーマットの一例である。第二の生成部13bは、図22Aの例が示す動作定義フォーマットを用いた場合には、「UI機能a」の部分に、ユーザから選択されたUI機能、例えばアプリケーションなどのプログラムを設定する。また、第二の生成部13bは、図22Aの例が示す動作定義フォーマットを用いた場合には、「画面b」の部分に、ユーザから選択された画面を設定する。また、第二の生成部13bは、図22Aの例が示す動作定義フォーマットを用いた場合には、「表示装置c」の部分に、ユーザから選択された表示装置を設定する。また、第二の生成部13bは、図22Aの例が示す動作定義フォーマットを用いた場合には、「区画d」の部分に、ユーザから選択された区画を設定する。このようにして、第二の生成部13bは、「選択されたプログラムの選択された画面を、選択された表示装置の選択された区画に表示させる」という状態遷移仕様を記述することができる。また、第二の生成部13bは、図22Bの例が示す動作定義フォーマットを用いた場合には、同様に、「選択された状態が選択された状態に遷移する」という状態遷移仕様を記述することができる。また、第二の生成部13bは、図22Cの例が示す動作定義フォーマットを用いた場合にも、同様に、「選択された部品の選択されたイベントが発生した時、選択された状態が、選択された状態に遷移する」という状態遷移仕様を記述することができる。
【0050】
その後、第二の生成部13bは、画面遷移仕様を設計する人が入力部11を操作して、制御部13に入力された、画面と、画面が表示される区画との対応関係を受け付ける。そして、第二の生成部13bは、受け付けた画面と区画との対応関係を記憶部14に格納して、画面と区画との対応関係を定義する。図23は、画面と区画との対応関係の一例を示す図である。図23の例では、画面UI−1−1と、区画#1−1とが対応付けられている。
【0051】
そして、第二の生成部13bは、画面と区画との対応関係と、上述した各レイヤの区画の遷移を示す情報とから、状態ごとの各表示装置の各レイヤに表示される画面を示す情報を生成する。すなわち、第二の生成部13bは、これらの2つの情報から、区画を介してレイヤとそのレイヤに表示される画面とを対応付ける。これにより、アプリケーションごとの所定の機能を実現するための画面遷移仕様と、各種の状態の変化に応じて複数の表示装置に表示させる画面の制御を行うプログラムの画面遷移仕様とが別々に記述される。したがって、内容が簡易な遷移情報を生成することができる。すなわち、画面遷移の制御と表示位置の制御とを含む画面制御の制御内容を示す情報の冗長化を抑制することができる。
【0052】
また、画面とレイヤとを直接対応付けるのではなく、区画を介して、画面とレイヤとを対応付けるため、簡易に画面とレイヤとを対応付けることができる。また、共通の部品を用いて、画面遷移仕様および状態遷移仕様を生成することができる。
【0053】
図24は、本実施例に係る設定情報生成装置10によって生成された画面遷移仕様、状態遷移仕様および状態ごとの各表示装置の各レイヤに表示される画面を示す情報の一例を示す図である。図24の例では、アプリケーションUI−1〜UI−5の画面遷移仕様と、状態遷移仕様とが別々に記述され、画面遷移仕様および状態遷移仕様の内容が簡易である。また、図24の例では、アプリケーションUI−1〜UI−5のそれぞれの画面UI−1−1・・・が区画を介してレイヤと対応付けられた場合が示されている。図24の例では、上位のレイヤほど優先的に表示される。
【0054】
第一の検証部13cは、部品が動作する条件に関する情報と部品が動作する処理の内容に関する情報とに基づいて、ユーザインタフェースの操作画面を表示し、ユーザインタフェースの操作画面に表示される部品の動作の検証を行う。具体的には、第一の検証部13cは、ツリー構造になっている各画面の仕様データに対してトップノードからスキャンし、イベントが設定されている部品を抽出する。そして、第一の検証部13cは、図25に例示するように、シミュレーション操作画面に、実行中の画面と共にイベントリストを表示する。図25は、シミュレーション操作画面の一例を示す図である。
【0055】
シミュレーション操作画面を表示後、シミュレーション操作者は、イベント表示画面に表示されるイベントのリストであるイベントリストを参考に、実行画面内のイベントを発行させてUI動作の検証を行う。このようにして、全イベントに対する動作確認をもれなく行うことができる。そして、第一の検証部13cは、シミュレーション実行画面においてボタン押下などのイベントを発生させることによってシミュレーションの実行を開始すると、各部品へ操作を通知する。各部品には、実行モジュールが付随されており、このモジュールが起動されて条件動作/処理動作が実行される。処理動作の内容によっては、他の部品の動作が指定されている場合があり、その際は別部品の実行モジュールへ通知する。例えば、図25に例示するように、部品#6の上スクロール部品を押下した時の処理内容をシミュレーション操作画面で確認できる。
【0056】
シミュレーションの各動作・操作は、動作定義によって処理されるので、シミュレーションの履歴情報は、実行された動作定義と、その前後における部品のプロパティ値を蓄積することで生成することができる。図26は、シミュレーション履歴情報の例を示す図である。例えば、図26の例では、画面Aにおいて上スクロール部品を押下した時の動作定義と、シミュレーションで設定できる動作定義の実行通過の様子とプロパティ値の変更の様子を示す。なお、UI動作実行の詳細履歴を抽出しようとすると、設定が複雑になるが、動作定義にブレイクポイントを張るなどして、簡単な設定操作で詳細動作を確認することができるようにしてもよい。
【0057】
ここで、シミュレーション実行処理について説明する。図27は、シミュレーション実行処理を説明する図である。ユーザ操作によってUI部品Aの押下があると(図27の(1)参照)、部品A起動イベントをシミュレータに通知し、シミュレータの実行可能モジュールが、UI動作定義の記述に従って動作を実行し、部品A処理結果を出力する(図27の(2)参照)。また、同様に、ユーザ操作によってUI部品Bの押下があると(図27の(3)参照)、部品B起動イベントをシミュレータに通知し、シミュレータの実行可能モジュールが、UI動作定義の記述に従って動作を実行する。
【0058】
また、第一の検証部13cは、同様に、状態遷移仕様から状態の遷移のシミュレーションを行って検証を行うことができる。
【0059】
第二の検証部13dは、部品の属性に関する情報を基に、ユーザインタフェースの操作画面を表示し、ユーザインタフェースの操作画面から操作画面の特徴量を抽出し、特徴量が所定の基準を満たしているかを検証する。具体的には、第二の検証部13dは、UI操作に関する基準達成検証を行う。第二の検証部13dは、画面を操作する上で部品の見易さや誤認識や誤った操作を起こさせないための仕組みとして、画面に関する指標(メトリクス)を記憶している(後述する図29参照)。UI操作に関する基準達成検証とは、指標を測定することによって可能な限り定量的にUI操作に関する画面の性質を抽出する手法を利用し、効率的なUI操作を実現する基準をクリアできているか確認する検証である。
【0060】
第二の検証部13dは、画面表示の際に文字列型、整数型で画面に情報を表示する部品のプロパティに対して、言語表現部の文言を表示できるようにデータ変換する。つまり、仕様データのデータ構造では、言語表現部において、各部品が有するプロパティに対して言語表現・型・制限という情報を付与している。このため、画面表示の際に文字列型・整数型で画面に情報を表示する部品のプロパティに対して、言語表現の文言を表示できるようにデータ変換する。そして、検証実行画面として、部品と共に文言を画面上に表示する。
【0061】
図28において、検証実行画面を例示する。図28は、検証実行画面の例を示す図である。図28の例では、部品ID#1に地名リストが表示され、子部品#1〜#3に地名#1〜#3文字列がそれぞれ表示される。このように、部品と共にこの文言を画面上に表示することで、どのような情報が画面のどこに表示されるかについて判断し易くすることができる。
【0062】
その後、第二の検証部13dは、メトリクスを1つ呼び出し、1つのメトリクスについて、全画面または画面同士の関係から特徴量を抽出し、特徴量を蓄積する。その後、第二の検証部13dは、操作基準の検証を全ての指標について行った場合には、特徴量を出力する。図29において、UI操作のメトリクスを例示する。図29は、UI操作のメトリクス例を示す図である。図29に例示するように、UI操作のメトリクスの例として、操作性のメトリクスおよび視認性のメトリクスがある。例えば、操作性のメトリクスとして、目的までの画面遷移数、ボタン種別およびボタン配置が規定されている。また、視認性のメトリクスとして、部品形状の大きさ、表示一貫性、文字の見易さおよび配色が規定されている。
【0063】
例えば、第二の検証部13dは、言語表現に「地名」という文言が存在するラベル部品を抽出し位置を算出することで、文字の見易さのメトリクスに関する特徴量を自動的に計数することができる。なお、各部品の言語表現は、動作定義によってUI動作を記述する際にも用いられる。この仕組みによって、本ツール以外の環境でもUI仕様を伝えることができる。さらに、仕様検討者(UI操作のソフト構成の知識を有するソフト開発者以外の担当者)もUI仕様を検討することができる。
【0064】
第三の生成部13eは、仕様データから制限情報を抽出し、テストケースであるテスト制限情報を生成する。具体例を挙げて説明する。例えば、第三の生成部13eは、全画面上に存在する全UI部品について、制限情報が付随しているプロパティがあるかチェックし、制限情報が付随しているプロパティが存在する場合には、テストケースであるテスト制限情報を抽出する。ここでテスト制限情報とは、UI部品内の各プロパティに付与された条件である。例えば、現表示ポインタについては、「表示リスト先頭ポインタ以上、かつ表示リスト最終ポインタ以下の値でなければならない。」という条件や、ラベル#1〜#3表示文字列については、「文字数制限あり」の条件がある。
【0065】
その後、第三の生成部13eは、組み合わせ部品のように子ノードが存在する場合には、子ノードについても、制限情報が付随しているプロパティが存在すればテスト制限情報として抽出する。つまり、UI部品内の各プロパティには、プロパティ値の属性やプロパティ値の取りうる範囲といった条件が付与されており、第三の生成部13eは、各画面の全UI部品に対してこれらの条件を抽出し、テストの際の制限情報チェック項目として集計する。
【0066】
テスト制限情報の例を図30に示す。図30は、テスト制限情報の一例を示す図である。図30の例では、画面Aのリスト表示部品のプロパティ「現表示ポインタ」の制限内容として、「先頭ポインタ以上&最終ポインタ以下」が記述されている。このように、テストケースを生成して記憶させておくことで、UI仕様工程の後段のソフト開発工程において、ソフト開発者がテストケースを参照して参考にすることができる。ソフト開発者が仕様に精通しているとは限らないからである。
【0067】
第四の生成部13fは、部品が動作する条件に関する情報と、部品が動作する処理の内容に関する情報と、部品の属性に関する情報とを用いて、ソースコードを生成する。具体的には、第四の生成部13fは、全画面上に存在する全UI部品について、まず画面部品のデザイン関連の仕様情報をプロパティから抽出してコード化する。そして、第四の生成部13fは、UI部品に動作定義が存在する場合には、動作定義の仕様情報をソースコード変換する。続いて、第四の生成部13fは、組み合わせ部品のように子ノードが存在する場合には、子ノードについても、デザイン関連のコードと動作定義に関するコードを生成し、ソースコード記憶部14dに記憶させる。
【0068】
このようにして生成されたコードは、図31に示すような機能を実現するコードとなる。図31は、ソースコードの構成を示す図である。すなわち、図31に示すように、各画面の部品構成とデザインを指定する「画面構成を表すコード」と、各画面内に含まれる表示処理と画面間の遷移を表す「画面動作を表すコード」である。これらのソースコードは、画面上に存在する全ての部品について、UI部品自体の意匠を指定している仕様情報と、UI部品のUI動作を指定している制御情報からソースコードを生成する。
【0069】
記憶部14は、制御部13による各種処理に必要なデータおよびプログラムを格納しており、動作定義フォーマット記憶部14a、仕様データ記憶部14b、テストデータ記憶部14c、ソースコード記憶部14dを有する。
【0070】
動作定義フォーマット記憶部14aは、動作定義フォーマットを記憶する。例えば、動作定義フォーマット記憶部14aは、図15に示すように、カテゴリ別に動作定義フォーマットを記憶している。カテゴリとして、条件動作および処理動作がある。また、条件動作のカテゴリとして、イベント、数値比較、文字列比較があり、処理動作のカテゴリとして、数値セット、文字列セット、メソッド実行、画面遷移がある。例えば、動作定義フォーマット記憶部14aは、条件動作のイベントのカテゴリでは、「部品のイベントが発生した時」の動作定義フォーマットを記憶している。
【0071】
仕様データ記憶部14bは、仕様データを記憶する。例えば、仕様データ記憶部14bは、図17に示すように、ツリー構造の仕様データを記憶している。図17の例では、画面Aをトップのノードとし、部品#1と組み合わせ部品である部品#2が下位のノードとして接続されている。また、組み合わせ部品である部品#2には、子部品#1〜5が下位のノードとして接続されている。また、仕様データ記憶部14bは、各子部品についての条件動作および処理動作を記憶している。
【0072】
テストデータ記憶部14cは、第三の生成部13eによって生成されたテストケースであるテスト制限情報を記憶する。例えば、テストデータ記憶部14cは、図30に示すように、画面Aのリスト表示部品のプロパティ「現表示ポインタ」の制限内容として、「先頭ポインタ以上&最終ポインタ以下」を記憶している。
【0073】
ソースコード記憶部14dは、第四の生成部13fによって生成されたソースコードを記憶する。例えば、ソースコード記憶部14dは、図31に示すように、画面の部品構成とデザインを指定する「画面構成を表すコード」と、各画面内に含まれる表示処理と画面間の遷移を表す「画面動作を表すコード」とを記憶する。
【0074】
[設定情報生成装置による処理]
次に、図32〜図37を用いて、本実施例に係る設定情報生成装置10による処理を説明する。図32は、本実施例に係る設定情報生成装置の第一の仕様生成処理の処理手順を説明するためのフローチャートである。図33は、本実施例に係る設定情報生成装置の機能検証処理の処理手順を説明するためのフローチャートである。図34は、本実施例に係る設定情報生成装置の基準検証処理の処理手順を説明するためのフローチャートである。図35は、本実施例に係る設定情報生成装置の第二の仕様生成処理の処理手順を説明するためのフローチャートである。図36は、本実施例に係る設定情報生成装置のテスト項目出力処理の処理手順を説明するためのフローチャートである。図37は、本実施例に係る設定情報生成装置のソースコード出力処理の処理手順を説明するためのフローチャートである。
【0075】
図32に示すように、設定情報生成装置10は、画面に表示されるメニューを構成するために必要なUI部品が選択され、画面上に配置され、大きさ・形・色(通常色、押下色)・表示条件などの設定を受け付ける(ステップS101)。そして、設定情報生成装置10は、各々のUI部品に対して、動作定義フォーマットを利用してUI動作定義の起動イベント、条件動作、処理動作を設定する(ステップS102)。そして、設定情報生成装置10は、UI部品・機能部品の動作を全て設定した後、シミュレータによって設定した部品レイアウトやUI部品の動作が要求仕様を満たしているか検証する機能検証処理を実行する(ステップS103)。
【0076】
その結果、設定情報生成装置10は、要求仕様を満たしていない場合には(ステップS104否定)、ステップS101に戻って、UI部品の設定を再度受け付ける。また、設定情報生成装置10は、要求仕様を満たした場合には(ステップS104肯定)、各指標について基準を満たしているかを検証する基準検証処理を実行する(ステップS105)。その結果、設定情報生成装置10は、基準を満たしていない場合には(ステップS106否定)、ステップS101に戻って、UI部品の設定を再度受け付ける。また、設定情報生成装置10は、基準を満たした場合には(ステップS106肯定)、処理を終了する。
【0077】
次に、図33を用いて、設定情報生成装置の機能検証処理について説明する。図33に示すように、設定情報生成装置10は、仕様データをトップノードからスキャンし、イベントが設定されている部品を抽出する(ステップS201)。そして、設定情報生成装置10は、画面または部品が操作されたか判定し(ステップS202)、画面または部品が操作された場合には(ステップS202肯定)、UI部品にUI動作を通知し(ステップS203)、部品に動作が定義されているか判定する(ステップS204)。
【0078】
この結果、設定情報生成装置10は、部品に動作が定義されていないと判定された場合には(ステップS204否定)、ステップS202に戻って、画面または部品が操作されるのを待つ。また、設定情報生成装置10は、部品に動作が定義されていると判定された場合には(ステップS204肯定)、UI部品に付随されている実行可能モジュールを用いて動作を実行し(ステップS205)、動作および操作の履歴を蓄積する(ステップS206)。
【0079】
そして、設定情報生成装置10は、シミュレーション終了指示があったかを判定し(ステップS207)、シミュレーション終了指示があった場合には(ステップS207肯定)、動作および操作の履歴を出力する(ステップS208)。また、設定情報生成装置10は、シミュレーション終了指示がない場合には(ステップS207否定)、ステップS202に戻って画面または部品が操作されるのを待つ。その後、ユーザは、出力された履歴を分析し、要件が満足されているかどうか確認する。
【0080】
次に、図34を用いて、設定情報生成装置の基準検証処理について説明する。図34に示すように、設定情報生成装置10は、画面表示の際に文字列型、整数型で画面に情報を表示する部品のプロパティに対して、言語表現部の文言を表示できるようにデータ変換する(ステップS301)。そして、設定情報生成装置10は、操作基準の検証を行っていない指標があるか判定し(ステップS302)、指標がある場合には(ステップS302肯定)、指標を1つ呼び出し、操作基準の検証を行っていない画面があるか判定する(ステップS303)。
【0081】
この結果、操作基準の検証を行っていない画面がある場合には(ステップS303肯定)、1つの指標について、全画面または画面同士の関係から画面の特徴量を抽出し(ステップS304)、特徴量を蓄積する(ステップS305)。また、ステップS303において、操作基準の検証を行っていない画面がない場合には(ステップS303否定)、ステップS302に戻って、操作基準の検証を行っていない指標がまだあるか判定する。この結果、操作基準の検証を行っていない指標がない場合には(ステップS302否定)、特徴量を出力し(ステップS306)、処理を終了する。
【0082】
次に、第二の仕様生成処理について説明する。図35に示すように、設定情報生成装置10は、表示装置の属性を定義する(ステップS401)。また、設定情報生成装置10は、区画を定義する(ステップS402)。また、設定情報生成装置10は、画面遷移仕様を生成する(ステップS403)。また、設定情報生成装置10は、状態ごとの表示装置の各レイヤの区画を定義して、状態が遷移した場合の各表示装置の各レイヤの区画の遷移を示す情報を生成する(ステップS404)。また、設定情報生成装置10は、状態遷移仕様を生成する(ステップS405)。また、設定情報生成装置10は、画面と区画との対応関係を定義する(ステップ406)。また、設定情報生成装置10は、状態ごとの各表示装置の各レイヤに表示される画面を示す情報を生成し(ステップS407)、処理を終了する。
【0083】
次に、図36を用いて、テスト項目出力処理について説明する。図36に示すように、設定情報生成装置10は、UIの操作画面として出力される出力対象画面が存在するか判定し(ステップS501)、存在しない場合には(ステップS501否定)、処理を終了する。また、設定情報生成装置10は、出力対象画面が存在する場合には(ステップS501肯定)、部品ノードが存在するか判定する(ステップS502)。この結果、設定情報生成装置10は、部品ノードが存在しないと判定した場合には(ステップS502否定)、ステップS501に戻る。また、設定情報生成装置10は、部品ノードが存在すると判定した場合には(ステップS502肯定)、制限情報が付随しているプロパティが存在するか判定する(ステップS503)。この結果、設定情報生成装置10は、制限情報が付随しているプロパティが存在する場合には(ステップS503肯定)、テスト制限情報を出力する(ステップS504)。
【0084】
その後、設定情報生成装置10は、子ノードが存在するか判定し(ステップS505)、子ノードが存在する場合には(ステップS505肯定)、ステップS503に戻って、子ノードについても、制限情報が付随しているプロパティが存在すればテスト制限情報として抽出する。また、設定情報生成装置10は、子ノードが存在しない場合には(ステップS505否定)、ステップS501に戻って、テスト項目出力を行っていない出力対象画面が存在するか判定する。ステップS501において、出力対象画面が存在しないと判定された場合には(ステップS501否定)、処理を終了する。
【0085】
次に、図37を用いて、ソースコード出力処理について説明する。図37に示すように、設定情報生成装置10は、出力対象画面が存在するか判定する(ステップS601)。この結果、設定情報生成装置10は、出力対象画面が存在する場合には(ステップS601肯定)、UI部品ノードが存在するか判定し(ステップS602)、UI部品ノードが存在しない場合には(ステップS602否定)、ステップS601に戻る。また、設定情報生成装置10は、UI部品ノードが存在する場合には(ステップS602肯定)、画面部品のデザイン関連の仕様データをプロパティから抽出してコード化し、ソースコードを出力する(ステップS603)。
【0086】
そして、設定情報生成装置10は、動作定義が存在するか判定し(ステップS604)、動作定義が存在する場合には(ステップS604肯定)、動作定義の仕様情報をソースコード変換してソースコードを出力する(ステップS605)。その後、設定情報生成装置10は、子ノードが存在するか判定し(ステップS606)、子ノードが存在する場合には(ステップS606肯定)、ステップS603に戻って、子ノードについても、デザイン関連のコードと動作定義に関するコードを生成する。その後、設定情報生成装置10は、子ノードが存在しない場合には(ステップS606否定)、ステップS601に戻る。設定情報生成装置10は、ステップS601において、ソースコード出力を行っていない画面が存在しない場合には(ステップS601否定)、処理を終了する。
【0087】
上述してきたように、本実施例に係る設定情報生成装置10によれば、アプリケーションごとの所定の機能を実現するための画面遷移仕様と、各種の状態の変化に応じて複数の表示装置に表示させる画面の制御を行うプログラムの画面遷移仕様とが別々に記述される。したがって、内容が簡易な遷移情報を生成することができる。すなわち、本実施例に係る設定情報生成装置10によれば、画面遷移の制御と表示位置の制御とを含む画面制御の制御内容を示す情報の冗長化を抑制することができる。
【0088】
また、本実施例に係る設定情報生成装置10によれば、画面とレイヤとを直接対応付けるのではなく、区画を介して、画面とレイヤとを対応付けるため、簡易に画面とレイヤとを対応付けることができる。
【0089】
また、本実施例に係る設定情報生成装置10は、UIの操作画面に表示される部品の動作条件に関する情報と、部品の処理動作に関する情報とを所定の形式で記述させるフォーマットを表示し、フォーマットを基に部品の仕様に関する記述を受け付ける。そして、設定情報生成装置10は、受け付けた部品が動作する条件に関する情報と部品が動作する処理の内容に関する情報とに基づいて、ユーザインタフェースの操作画面を表示し、ユーザインタフェースの操作画面に表示される部品の動作のシミュレーションを行う。このため、仕様作成者が部品の仕様を修正しながらUI部品の検証を行えることができる結果、UIの開発を迅速に行うことが可能である。
【0090】
また、本実施例に係る設定情報生成装置10によれば、ユーザインタフェースの操作画面に表示される部品の属性に関する情報を所定の形式で記述させるフォーマットを表示し、フォーマットを基に部品の属性に関する情報を受け付ける。受け付けた部品の属性に関する情報を基に、ユーザインタフェースの操作画面を表示し、ユーザインタフェースの操作画面から操作性および視認性に関する特徴量を抽出し、特徴量を出力する。このため、UI操作に関する画面の操作性および視認性に関する特徴量を把握し、UI操作を実現する基準をクリアできているか開発者が検証することができる。この結果、画面を操作する上での見易さや、誤った操作を起こさせないように、ユーザインタフェースの操作画面を作成することが可能である。
【0091】
また、本実施例に係る設定情報生成装置10によれば、設定情報生成装置10は、所定の形式で記述させるフォーマットを表示し、UIの操作画面に表示される部品が動作する条件に関する情報と、部品が動作する処理の内容に関する情報と、部品の属性に関する情報とを受け付ける。そして、部品が動作する条件に関する情報と、部品が動作する処理の内容に関する情報と、部品の属性に関する情報とを用いて、ソースコードを生成する。このため、正常動作を確認した仕様データから直接ソースコードを生成することができる結果、コード化に際して誤りや漏れを少なくすることが可能である。
【0092】
また、本実施例に係る設定情報生成装置10によれば、設定情報生成装置10は、UIの操作画面に表示される部品の属性に関する情報を所定の形式で記述させるフォーマットを表示し、フォーマットを基に前記部品の属性に関する情報とともに、該属性に関する情報に付与される条件情報を受け付ける。そして、受け付けた属性に関する情報に付与され条件情報を抽出し、条件情報を出力する。このため、UI仕様工程の後段のソフト開発工程において、ソフト開発者が条件情報を参照して参考にすることが可能である。
【0093】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。以下では本発明に含まれる他の形態を説明する。
【0094】
(1)システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第一の生成部13aと第二の生成部13bとを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0095】
また、上記の実施例では、複数の表示装置に表示される複数のアプリケーションの画面を制御するソフトウェアの仕様を生成する場合について例示したが、開示の装置はこれに限定されない。たとえば、複数の表示装置に表示される1つのアプリケーションの画面を制御するソフトウェアの仕様を生成することもできる。
【0096】
[設定情報生成プログラム]
また、上記の実施例で説明した設定情報生成装置の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図38を用いて、上記の実施例で説明した設定情報生成装置と同様の機能を有する設定情報生成プログラムを実行するコンピュータの一例を説明する。図38は、設定情報生成プログラムを実行するコンピュータを示す図である。
【0097】
図38に示すように、コンピュータ300は、CPU(Central Processing Unit)310、ROM(Read Only Memory)320、HDD(Hard Disk Drive)330、RAM(Random Access Memory)340を有する。また、コンピュータ300は、キーボード350、マウス360、ディスプレイ370を有する。これら300〜370の各部は、バス400を介して接続される。
【0098】
ROM320には、上記の第一の生成部13a、第二の生成部13b、第一の検証部13c、第二の検証部13d、第三の生成部13e、第四の生成部13fと同様の機能を発揮する設定情報生成プログラム320aが予め記憶される。なお、設定情報生成プログラム320aについては、適宜分離しても良い。例えば、第一の生成部13a、第二の生成部13bと同様の機能を発揮するプログラムと、第二の検証部13d、第三の生成部13e、第四の生成部13fと同様の機能を発揮するプログラムとに分離しても良い。
【0099】
そして、CPU310が、設定情報生成プログラム320aをROM320から読み出して実行する。
【0100】
そして、HDD330には、動作定義フォーマット、各遷移仕様、テストデータ、ソースコードが設けられる。
【0101】
そして、CPU310は、動作定義フォーマット、各遷移仕様、テストデータ、ソースコードを読み出してRAM340に格納する。さらに、CPU310は、RAM340に格納された動作定義フォーマット、各遷移仕様、テストデータ、ソースコードを用いて、設定情報生成プログラムを実行する。なお、RAM340に格納される各データは、常に全てのデータがRAM340に格納される必要はなく、処理に用いられるデータがRAM340に格納されれば良い。
【0102】
なお、上記した設定情報生成プログラムについては、必ずしも最初からROM320に記憶させておく必要はない。
【0103】
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
【0104】
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【0105】
10 設定情報生成装置
11 入力部
12 出力部
13 制御部
13a 第一の生成部
13b 第二の生成部
13c 第一の検証部
13d 第二の検証部
13e 第三の生成部
13f 第四の生成部
14 記憶部
14a 動作定義フォーマット記憶部
14b 仕様データ記憶部
14c テストデータ記憶部
14d ソースコード記憶部

【特許請求の範囲】
【請求項1】
コンピュータに、
あるプログラムに関する画面遷移処理を示す第1の遷移情報を生成し、
前記あるプログラムの画面表示位置を示す位置情報について、前記位置情報の遷移処理を示す第2の遷移情報を生成し、
前記第1の遷移情報に基づいて遷移する前記あるプログラムの画面を、前記第2の遷移情報に応じて遷移する位置情報に応じた位置に表示させることを示す設定情報を生成する、
処理を実行させることを特徴とする設定情報生成プログラム。
【請求項2】
前記第2の遷移情報は、
前記あるプログラムの画面を識別可能な識別情報と、画面表示位置を示す位置情報とを関連付けたパターン情報についての遷移処理を示す情報である、
ことを特徴とする請求項1に記載の設定情報生成プログラム。
【請求項3】
前記コンピュータは、
前記第1の遷移情報および前記第2の遷移情報を生成する際に、前記第1の遷移情報および前記第2の遷移情報に含まれる遷移情報に含まれる遷移処理について、共通のプログラム部品を用いて定義する、
ことを特徴とする請求項1または2に記載の設定情報生成プログラム。
【請求項4】
あるプログラムに関する画面遷移処理を示す第1の遷移情報を生成する第一の生成部と、
前記あるプログラムの画面表示位置を示す位置情報について、前記位置情報の遷移処理を示す第2の遷移情報を生成し、前記第1の遷移情報に基づいて遷移する前記あるプログラムの画面を、前記第2の遷移情報に応じて遷移する位置情報に応じた位置に表示させることを示す設定情報を生成する第二の生成部と
を有することを特徴とする設定情報生成装置。
【請求項5】
コンピュータが実行する設定情報生成方法であって、
あるプログラムに関する画面遷移処理を示す第1の遷移情報を生成し、
前記あるプログラムの画面表示位置を示す位置情報について、前記位置情報の遷移処理を示す第2の遷移情報を生成し、
前記第1の遷移情報に基づいて遷移する前記あるプログラムの画面を、前記第2の遷移情報に応じて遷移する位置情報に応じた位置に表示させることを示す設定情報を生成する、
ことを特徴とする設定情報生成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16A】
image rotate

【図16B】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22A】
image rotate

【図22B】
image rotate

【図22C】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate