(57)【特許請求の範囲】
【請求項１】
コンピュータに、
操作画面に表示される要素が動作する条件に関する情報と、前記要素が動作する処理の内容に関する情報とが自然言語表現の文章で記述され、前記要素および当該要素の属性が設定されるフォーマットであって、前記文章内で設定を受け付ける箇所ごとに設定される情報の種別が明示されたフォーマットを表示し、
表示されたフォーマットに基づいて、前記文章内で設定を受け付ける箇所ごとに前記種別に応じて前記要素または属性に関する情報を受け付け、
受け付けた情報が記述されたフォーマットに基づいて、操作画面を表示し、該操作画面に表示される要素の動作のシミュレーションを行う
処理を実行させる操作画面設計支援プログラム。
【請求項２】
コンピュータにさらに、
表示された操作画面から操作性および視認性に関する特徴量を抽出し、該特徴量を出力する
処理を実行させる請求項１に記載の操作画面設計支援プログラム。
【請求項３】
コンピュータにさらに、
受け付けた情報が記述されたフォーマットを用いて、ソースコードを生成する
処理を実行させる請求項１または２に記載の操作画面設計支援プログラム。
【請求項４】
コンピュータにさらに、
前記要素の属性に関する情報とともに、該属性に関する情報に付与される条件情報を受け付け、
受け付けた属性に関する情報に付与され条件情報を抽出し、該条件情報を出力する
処理を実行させる請求項１〜３のいずれか一つに記載の操作画面設計支援プログラム
【請求項５】
操作画面に表示される要素が動作する条件に関する情報と、前記要素が動作する処理の内容に関する情報とが自然言語表現の文章で記述され、前記要素および当該要素の属性が設定されるフォーマットであって、前記文章内で設定を受け付ける箇所ごとに設定される情報の種別が明示されたフォーマットを表示し、表示されたフォーマットに基づいて、前記文章内で設定を受け付ける箇所ごとに前記種別に応じて前記要素または属性に関する情報を受け付ける受付部と、
受け付けた情報が記述されたフォーマットに基づいて、操作画面を表示し、該操作画面に表示される要素の動作のシミュレーションを行う検証部と
を有することを特徴とする操作画面設計支援装置。
【請求項６】
コンピュータが操作画面の設計を支援する方法であって、
操作画面に表示される要素が動作する条件に関する情報と、前記要素が動作する処理の内容に関する情報とが自然言語表現の文章で記述され、前記要素および当該要素の属性が設定されるフォーマットであって、前記文章内で設定を受け付ける箇所ごとに設定される情報の種別が明示されたフォーマットを表示し、
表示されたフォーマットに基づいて、前記文章内で設定を受け付ける箇所ごとに前記種別に応じて前記要素または属性に関する情報を受け付け、
受け付けた情報が記述されたフォーマットに基づいて、操作画面を表示し、該操作画面に表示される要素の動作のシミュレーションを行う
ことを特徴とする操作画面設計支援方法。
【請求項７】
コンピュータに、
操作画面に表示される部品が動作する条件に関する情報と、前記部品が動作する処理の内容に関する情報とが自然言語表現の文章で記述され、前記部品および当該部品の属性が設定されたフォーマットに基づき、操作画面における部品ごとの動作定義を設定し、
前記操作画面に設定された部品の配置および属性から画面のリスト表示部品を生成し、
前記リスト表示部品に基づき操作画面を表示し、前記動作定義に基づき、操作画面における部品を動作させる
処理を実行させる操作画面設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作画面設計支援プログラム、操作画面設計支援装置および操作画面設計支援方法に関する。
【背景技術】
【０００２】
コンピュータと利用者の間での情報をやりとりするためのインタフェースとしてユーザインタフェース（以下、ＵＩ（User  Interface）という）がある。ＵＩの操作画面では、例えば、画面に表示されたメニューがマウスやキーボード等によって選択されると、表示画面を遷移させ各種アプリケーションが実行される。また、このようなＵＩの操作画面を開発する際には、操作画面のレイアウトやＵＩ部品の動作などが開発者によって設定される。
【０００３】
このようなＵＩの開発は、開発者がＵＩの操作を決定して仕様を記述する「ＵＩ仕様作成工程」、ソースコードを作成する「開発工程」、生成されたソースコードを用いて実際にＵＩ動作させて操作性の検証を行う「テスト工程」の順に行われる。
【０００４】
具体的には、ＵＩ仕様工程において、開発者が自然言語で自由に画面上の処理内容を記述してＵＩの仕様を作成する。そして、開発工程において、仕様工程で記述された処理内容を開発者が見て、プログラミング言語を用いてソースコードを記述するコーティングを手作業で行ってソースコードを生成する。その後、テスト工程において、生成されたソースコードをオブジェクトコードに変換し、実際にＵＩを動作させてＵＩの操作性を検証する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−９９３１７号公報
【特許文献２】特開平９−２３７１８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記したＵＩを開発する手法では、ＵＩの操作を決定するＵＩ仕様工程において、ＵＩの操作性を検証することができず、ＵＩの開発を迅速に行うことができないという課題があった。つまり、ＵＩ仕様工程では、自然言語で画面上の処理内容を記述するのみであり、開発工程でソースコードを生成した後にテスト工程で実際に動作させて操作性の検証を行う。その後に、操作性の検証において問題が生じた場合には、ＵＩ仕様工程でＵＩの仕様を変更し、再度ソースコードの生成をするので、大きな手戻りが発生し、ＵＩの開発に遅延が生じる。
【０００７】
一つの側面では、ＵＩの開発を迅速に行う操作画面設計支援プログラム、操作画面設計支援装置および操作画面設計支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第一の案では、ユーザインタフェースの操作画面に表示される部品が動作する条件に関する情報と、前記部品が動作する処理の内容に関する情報とを所定の形式で記述させるフォーマットを表示し、該フォーマットを基に前記部品が動作する条件に関する情報と前記部品が動作する処理の内容に関する情報を受け付け、受け付けた前記部品が動作する条件に関する情報と前記部品が動作する処理の内容に関する情報とに基づいて、ユーザインタフェースの操作画面を表示し、該ユーザインタフェースの操作画面に表示される部品の動作のシミュレーションを行う。
【発明の効果】
【０００９】
ＵＩの開発を迅速に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例に係るＵＩ仕様作成装置の構成を示すブロック図である。
【図２】図２は、画面編集ビューの表示例を示す図である。
【図３】図３は、部品の表示設定ビューの表示例を示す図である。
【図４】図４は、動作定義フォーマット選択ビューの表示例を示す図である。
【図５】図５は、動作定義フォーマット選択ビューの表示例を示す図である。
【図６】図６は、動作定義フォーマット選択ビューの表示例を示す図である。
【図７】図７は、部品属性選択ビューの表示例を示す図である。
【図８】図８は、部品属性選択ビューの表示例を示す図である。
【図９】図９は、部品属性選択ビューの表示例を示す図である。
【図１０】図１０は、リスト表示部品の上スクロール動作を示す図である。
【図１１】図１１は、ＵＩ動作の具体例を示す図である。
【図１２】図１２は、リスト表示部品のデータ構造具体例を示す図である。
【図１３】図１３は、リスト表示部品のデータ構造具体例を示す図である。
【図１４】図１４は、上スクロールを実行する動作定義例を示す図である。
【図１５】図１５は、動作定義フォーマットの例を示す図である。
【図１６】図１６は、動作定義フォーマットおよびリスト表示部品のデータ構造を示す図である。
【図１７】図１７は、ツリー構造の仕様データの一例を示す図である。
【図１８】図１８は、ツリー構造の仕様データの一例を示す図である。
【図１９】図１９は、シミュレーション操作画面の一例を示す図である。
【図２０】図２０は、シミュレーション履歴情報の例を示す図である。
【図２１】図２１は、シミュレーション実行処理を説明する図である。
【図２２】図２２は、ベリファイア実行画面の例を示す図である。
【図２３】図２３は、ＵＩ操作のメトリクス例を示す図である。
【図２４】図２４は、テスト制限情報の一例を示す図である。
【図２５】図２５は、ソースコードの構成を示す図である。
【図２６】図２６は、実施例に係るＵＩ仕様作成装置の処理手順を説明するためのフローチャートである。
【図２７】図２７は、実施例に係るＵＩ仕様作成装置の機能検証処理の処理手順を説明するためのフローチャートである。
【図２８】図２８は、実施例に係るＵＩ仕様作成装置の操作基準検証処理の処理手順を説明するためのフローチャートである。
【図２９】図２９は、実施例に係るＵＩ仕様作成装置のテスト項目出力処理の処理手順を説明するためのフローチャートである。
【図３０】図３０は、実施例に係るＵＩ仕様作成装置のソースコード出力処理の処理手順を説明するためのフローチャートである。
【図３１】図３１は、ＵＩ設計支援プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、この発明に係る操作画面設計支援プログラム、操作画面設計支援装置および操作画面設計支援方法の実施例を詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【００１２】
以下の実施例では、ＵＩ仕様作成装置の構成および処理の流れを順に説明し、最後に実施例による効果を説明する。
【００１３】
［ＵＩ仕様作成装置の構成］
まず最初に、図１を用いて、ＵＩ仕様作成装置１０の構成を説明する。図１は、実施例に係るＵＩ仕様作成装置１０の構成を示すブロック図である。図１に示すように、このＵＩ仕様作成装置１０は、入力部１１、出力部１２、制御部１３、記憶部１４を有する。以下にこれらの各部の処理を説明する。
【００１４】
入力部１１は、仕様に関する記述などを入力するものであり、キーボードやマウス、マイクなどを有する。また、出力部１２は、後述するように、画面編集ビュー、部品表示設定ビュー、動作定義関係のビューなどを表示するものであり、モニタ（若しくはディスプレイ、タッチパネル）やスピーカを有する。
【００１５】
制御部１３は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、種々の処理を実行し、仕様記述編集部１３ａ、検証部１３ｂ、ベリファイア部１３ｃ、テストケース生成部１３ｄ、ソースコード生成部１３ｅを有する。
【００１６】
仕様記述編集部１３ａは、ＵＩの操作画面に表示される部品が動作する条件に関する情報と、部品が動作する処理の内容に関する情報とを所定の形式で記述させる動作定義フォーマットを表示し、動作定義フォーマットを基に部品の仕様に関する記述を受け付ける。具体的には、仕様記述編集部１３ａは、画面上の部品の配置を編集する画面編集ビューと、画面上のＵＩ部品や様々な機能を操作する機能部品を設定する部品表示設定ビューと、動作定義に関係する動作定義関係のビューとを出力部１２に表示する。また、仕様記述編集部１３ａは、入力部１１を介して作業者からの操作指示を受け付けて、動作定義フォーマット記憶部１４ａに記憶された動作定義フォーマットの選択や部品の属性の編集を行う。
【００１７】
ここで、以下に図を用いて、仕様記述編集部１３ａが表示する画面編集ビュー、部品表示設定ビュー、動作定義関係のビューについてそれぞれ説明する。図２は、画面編集ビューの表示例を示す図である。図２に示すように、画面編集ビューは、編集する画面についての管理情報を表示する「管理情報表示」と、画面に表示することができるＵＩ部品（通常、システム内のＤＢなどに存在する）の一覧を表示する「部品一覧」と、画面のレイアウトを表示する「画面レイアウト表示」が表示されている。ＵＩ仕様作成者から入力部１１を介して操作指示を受け付け、部品一覧から設定したい部品をドラッグ＆ドロップして画面レイアウトに配置し、画面を生成する。図２の例では、部品一覧表示部からラベル部品とリスト表示部品を取り出し、画面Ａに配置している。
【００１８】
続いて、部品表示設定ビューについて説明する。部品表示設定ビューは、例えば、画面編集ビューの「画面レイアウト表示」において、所定の部品をダブルクリックすることで表示される。図３に示すように、部品表示設定ビューでは、配置したＵＩ部品の属性（形・色・表示条件など）が指定される。図３は、部品の表示設定ビューの表示例を示す図である。
【００１９】
続いて、動作定義関係のビューについて説明する。動作定義関係のビューでは、各ＵＩ部品の動きの設定を受け付ける。ＵＩ部品の動きの設定においては、動作の条件および動作の処理という統一した形式であるＵＩ動作定義として、ユーザからの指示の形態や処理動作・処理を実行するかどうかの条件動作を作成する。その際には、動作条件および処理動作の言語表現が付随された形の動作定義フォーマットを利用する。動作定義関係のビューは、動作定義フォーマット選択ビューと部品属性選択ビューから構成される。まず、動作定義フォーマット選択ビューによって、動作定義を作成するための動作定義フォーマットを作業者が選択する。
【００２０】
ここで、図４〜図６を用いて、動作定義フォーマット選択ビューについて説明する。図４〜６は、動作定義フォーマット選択ビューの表示例を示す図である。まず、仕様記述編集部１３ａは、ビューの左側のカテゴリウィンドウにおいて動作定義フォーマットのカテゴリから条件動作なのか、処理動作なのか、どのような型のプロパティを操作するのか選択指示を受け付ける。そして、仕様記述編集部１３ａは、ビューの左側のカテゴリウィンドウから１つのカテゴリをマウスクリックで選択されると、ビューの右側に、選択したカテゴリに属する動作定義フォーマット一覧を表示する。その中で、仕様記述編集部１３ａは、動作定義フォーマットの選択を受け付けると、部品属性選択ビューを画面上に表示する。
【００２１】
そして、部品属性選択ビューにおいて、選択した動作定義フォーマット内にセットする部品と、部品の属性として、プロパティ、イベント、メソッドを指定する。図７〜図９は、部品属性選択ビューの表示例を示す図である。例えば、部品属性選択ビューでは、図７〜図９に例示されるように、ビューの左側に現在仕様を考察している画面上に存在する部品一覧が展開される。この中で対象とする部品の選択を受け付けると、その部品に登録されている属性一覧が右側のビューに展開される。右側の画面で属性を選択することによって、部品および属性を指定することができる。なお、図７〜図９の例では、属性名一覧のうち、太字になっているものが選択可能な属性であることを示している。これにより、最終的に動作定義を作成することができる。例えば、図１０に示すように、画面上の動作として表示データが上方向にスクロールされる処理の動作定義を作成する。図１０は、リスト表示部品の上スクロール動作を示す図である。なお、図４〜図１０に示す動作定義フォーマット選択ビューや部品属性選択ビュー、処理の動作定義については、後に詳述する。
【００２２】
ここで、ＵＩ仕様記述の具体的な作成方法を説明する。まず、図１１を用いてＵＩ動作の具体例を説明する。図１１は、ＵＩ動作の具体例を示す図である。以下では、図１１に例示したＵＩ動作の仕様を作成する場合を例にして説明する。図１１では、リスト表示部品を用いて、画面上に地名のリストが表示されている。リスト表示部品は、組み合わせ部品であり、３つのラベル部品の右側に、下方の項目を参照するためのボタン部品（下スクロール指示用▽）および上にスクロールさせるボタン部品（上スクロールキー△）が配置されている。
【００２３】
図１１のリスト表示部品の内部データ構造を図１２および図１３に示す。図１２および図１３は、リスト表示部品のデータ構造具体例を示す図である。図１２に例示するように、属性情報として、子部品リスト、３つのラベル部品に表示する文字列データと表示するデータを持ってくるリストに関するプロパティを示す情報を保持している。子部品としては、文字列データを表示するためのラベル部品、上下スクロールを指示するためのボタン部品、および３つのラベル部品で表示しているデータがリストのどの位置なのかを示すバーチャート部品からなる。なお、図１３では、バーチャート部品の説明は省略している。
【００２４】
ここで、ユーザが上スクロールのためのボタン部品を押下した際のＵＩ動作仕様を例にして、ＵＩ動作仕様を設定する手順について説明する。ＵＩ動作仕様を設定する手順として、部品の配置を設定し、部品の属性を設定し、部品の動作定義を設定する。具体的には、部品の配置の設定として、画面編集ビューを用いて、ラベル部品・上下スクロール用のボタン部品・バーチャート部品を配置し、位置および大きさを設定する。また、部品の属性の設定として、部品表示設定ビューを用いて、各部品の表示色・大きさ・形状を指定する。例えば、上下スクロール用のボタン部品として、三角形の形状を設定する。
【００２５】
また、部品の動作定義として、発生イベントを設定する場合には、例えば、上スクロールボタンを押下した時に発生するボタン押下イベントを、発生イベントとして設定する。図４に例示するように、動作定義フォーマット選択ビューのカテゴリ表示部（図４の左側）において、イベントのカテゴリの選択を受け付ける。そして、動作定義フォーマット一覧表示部（図４の右側）にイベントのカテゴリに属するフォーマットのリストが表示される（イベントの場合は１種類）ので、表示されたフォーマットが選択される。
【００２６】
フォーマットが選択されると、図７に例示するように、その中に記述されている部品と属性を指定するための部品属性選択ビューが表示される。部品属性選択ビューの左側には、この画面に属する部品のリストが表示されているので、上スクロールボタンが選択される。画面右側に上スクロール部品に属する属性一覧が表示されるので、その中から「ボタン押下イベント」が選択される。ここで、上スクロールボタンの属性には、ボタン表示色やボタン形状などのプロパティも存在するが、フォーマットとしてイベントに関する動作定義フォーマットを既に指定しているので、ここではイベント属性しか表示されない。
【００２７】
また、部品の動作定義として、条件動作を設定する場合について説明する。例えば、条件動作として、リスト表示においてリスト上部のデータを見る時に、現在既に最上位のデータを表示している場合には、上スクロールできない。この条件動作は、リスト表示部品の現表示ポインタが、表示リスト先頭ポインタより大きいかどうかで判断される。このような条件動作を設定するためには、図５に示すように、動作定義フォーマットビューにおいて、カテゴリとして数値比較を選択する。そして、動作定義フォーマット一覧ビューに複数の数値比較フォーマットが表示されるので、部品同士の数値型のプロパティの大小を比較するフォーマットを選択する。
【００２８】
フォーマットが選択されると、図８に示すように、発生イベント設定の場合と同様に、部品と属性を設定するための部品属性選択ビューを表示する。今回は部品が２つ存在するフォーマットが選択されたため、部品属性選択ビューを２度表示する。最初に表示される部品属性選択ビューにおいて、部品一覧からリスト表示部品が選択される。すると、リスト表示部品に含まれる属性が表示される。今回は数値型のプロパティに関するフォーマットを選択したので、”ラベル#1文字列”といった文字型のプロパティは表示しない。表示されている属性の中から「現表示ポインタ」が選択される。２度目に表示される部品属性選択ビューでは、同様にしてリスト表示部品の「表示リスト先頭ポインタ」プロパティが選択される。以上により、「リスト表示部品の現表示ポインタ（数値型）がリスト表示部品の表示リスト先頭ポインタ（数値型）より大きい時、」という条件を設定する。
【００２９】
また、部品の動作定義として、処理動作を設定する場合について説明する。例えば、図１０に示すように、画面上の動作として表示データが上方向にスクロールされる処理は、以下のようになる。つまり、（１）ラベル#2部品の地名#2文字列を、ラベル#3部品の地名#3文字列へ代入する。（２）ラベル#1部品の地名#1文字列を、ラベル#2部品の地名#2文字列へ代入する。（３）現表示ポインタを1だけ減算し、リスト表示部品に表示される文字列のデータであるリストデータから読み込んだ文字列を、ラベル#1部品の地名#1文字列へ代入する。
【００３０】
上記した（１）〜（４）の処理を実現するためのツール上での設定内容は、以下のようになる。（１）リスト表示部品の「ラベル#2表示文字列」プロパティを、リスト表示部品の「ラベル#3表示文字列」プロパティへ代入する。（２）リスト表示部品の「ラベル#1表示文字列」プロパティを、リスト表示部品の「ラベル#2表示文字列」プロパティへ代入する。（３）リスト表示部品の「現表示ポインタ」プロパティを−１する。（４）リスト表示部品のメソッド#1を実行する。（５）リスト表示部品の「メソッド#1結果格納」プロパティを、リスト表示部品の「ラベル#1表示文字列」プロパティに代入する。（６）リスト表示部品の「ラベル#1表示文字列」プロパティを、ラベル#1部品の「地名#1文字列」プロパティへ代入する。（７）リスト表示部品の「ラベル#2表示文字列」プロパティを、ラベル#2部品の「地名#2文字列」プロパティへ代入する。（８）リスト表示部品の「ラベル#3表示文字列」プロパティを、ラベル#3部品の「地名#3文字列」プロパティへ代入する。
【００３１】
以上、（１）〜（８）の処理を、順に動作定義フォーマット選択ビューと部品属性選択ビューを用いて設定する。一例として、（７）の処理動作を設定する操作を図６、図９に示す。図６に示すように、動作定義フォーマット選択ビューにおいて、カテゴリとして文字列セットを選択する。動作定義フォーマット一覧表示ビューに文字列セットに関係する複数のフォーマットが表示されるので、部品同士の文字列型のプロパティを代入するフォーマットを選択する。続いて、図９に示すように、部品属性選択ビューにおいて、フォーマット内で設定する部品1としてリスト表示部品を選択し、プロパティ１として、ラベル#2表示文字列を選択する。以上により、上記した（７）の処理動作を設定する。
【００３２】
このように設定された上スクロールを実行する動作定義の例を図１４に示す。図１４は、上スクロールを実行する動作定義例を示す図である。図１４に示すように、動作定義として、部品の動作が発生するイベントを示す「起動イベント」、部品の動作の条件を示す「条件動作」、部品の動作内容を示す「処理動作」が設定されている。
【００３３】
例えば、図１４に例示するように、「起動イベント」として、画面上のボタン部品が押下される等の部品の動作が発生することが設定されている。また、「条件動作」として、リスト表示部品の現表示ポインタがリスト表示部品の表示リスト先頭ポインタより大きいことを条件に処理動作を行うことが設定されている。また、「処理動作」として、例えば、「リスト表示部品のラベル#2表示文字列をリスト表示部品のラベル#3表示文字列へ代入する」こと等が設定されている。
【００３４】
また、動作定義フォーマットの例を図１５に示す。図１５は、動作定義フォーマットの例を示す図である。図１５に示すように、カテゴリ別に動作定義フォーマットが用意されている。カテゴリとして、条件動作および処理動作がある。また、条件動作のカテゴリとして、イベント、数値比較、文字列比較があり、処理動作のカテゴリとして、数値セット、文字列セット、メソッド実行、画面遷移がある。例えば、ＵＩ仕様作成装置１０は、条件動作のイベントのカテゴリでは、「部品のイベントが発生した時」の動作定義フォーマットを記憶している。
【００３５】
このように、仕様記述編集部１３ａは、動作定義フォーマットに従って起動イベント、条件動作および処理動作を記述させ、記述されたデータを仕様データとして仕様データ記憶部１４ｂに記憶させる。ここで、図１６を用いて、動作定義フォーマットに従って起動イベント、条件動作および処理動作を記述させ、記述されたデータを仕様データとして記憶する一連の処理を説明する。図１６は、動作定義フォーマットおよびリスト表示部品のデータ構造を示す図である。
【００３６】
図１６の（ａ）に示すように、ＵＩ部品の動作を条件と処理に分けており、仕様記述編集部１３ａは、ＵＩ部品の条件の定義として、起動イベントおよび条件動作の仕様定義が記述される。起動イベントは、例えばユーザが画面上の部品を押下することや、前もって動作している機能の実行が終了したことなどが考えられる。いずれもイベントという形でシステムに通知される。また、条件動作は、起動イベントが起きた時にＵＩ動作が起こる条件を記述する。なお、条件動作が存在せず、起動イベントが発生したら無条件にＵＩ動作が起こる場合もある。また、ＵＩ部品の動作は、処理動作の形式で記述される。処理動作は、画面上の部品の変化や画面遷移の他、あるいはシステム内で動作する機能（アプリケーション）などを指定する。例えば、画面上のボタンを押下した時に、画面上ではなく組込みシステム本体の動作が実行されるといった動きである。
【００３７】
また、仕様記述編集部１３ａは、上記のようなＵＩ部品の動作や条件について、図１６の（ｂ）に示すような動作定義フォーマットに従って記述を受け付ける。図１６（ｂ）に示すように、動作定義フォーマットは、起動イベント、条件動作、処理動作を指定するために用意したＵＩ部品および機能部品とそのパラメータの雛型であり、部品およびパラメータを設定する枠と動作を示す言語表現からなる。言語表現を利用することによって、ＵＩ動作のソフト構造を把握していない作業者においても、ＵＩ動作の仕様を作成することができる。
【００３８】
例えば、起動イベントを指定する場合には、「ＵＩ部品/機能部品のイベントが発生した時」という動作定義フォーマットを利用する。このフォーマットにおいて、「ＵＩ部品/機能部品」の部分に起動イベントを設定したい部品を作業者が指示し、イベントの部分にどのイベントを利用したいかを作業者が指定する。
【００３９】
条件動作を指定する動作定義フォーマットは、ＵＩ部品のプロパティがどんな状態かを示す記述であり、プロパティの種類およびその比較の方法によって様々なフォーマットが用意されている。例えば、作業者は、ボタンの色が黒かどうかを判断するなら、「ＵＩ部品/機能部品のプロパティ（整数型）が定数（整数型）と等しいなら」という動作定義フォーマットを利用し、ＵＩ部品/機能部品としてボタン部品を設定し、プロパティ（整数型）として表示色プロパティを設定する。さらに、作業者は、比較を行う整数値を指定する。また、処理動作を設定するフォーマットには、ＵＩ部品のメソッド実行を指定するフォーマットや、「ＵＩ部品/機能部品のプロパティ（整数型）に他のＵＩ部品/機能部品のプロパティ（整数型）を代入する」といったプロパティデータの代入や演算を行うためのフォーマットも存在する。
【００４０】
また、図１６の（ｃ）において、リスト表示部品の例を示す。図１６に示すように、リスト表示部品は、ＵＩ部品および機能部品と言語表現部から構成される。また、図１６の（ｃ）に示すように、ＵＩ部品のデータ構造には、部品の表示内容や動作を指定するデータとして、表示内容を示すものとして「プロパティ」、動作を指定する情報として「メソッド」および「イベント」がある。プロパティは、部品の各種の属性値や部品が有するデータである。例えば、部品の形状・画面上の位置・通常色・押下した際の色や、部品上に表示する文字列データなどである。各プロパティには、格納するデータの属性や設定する値の範囲を指定する情報が含まれる。メソッドとは、その部品に付随する動作である。例えば、リスト表示部品の現表示ポインタ値を＋１する処理などである。イベントは、その部品が発行する各種のイベントを表す。例えば、ボタンが押されたことを通知するボタン押下イベントなどである。
【００４１】
また、部品のデータ構造は、画面上のＵＩ部品からの指示を受けて組込みシステム内で動作する様々な機能を操作する機能部品においても共通である。メソッドとしては、例えばエアコンのオン／オフを指示する動作などが定義される。イベントとしては、メソッドで指定した動作が正常終了した時に発行するイベントなどが定義される。例えば、起動メソッドが実行され、正常に立ち上がった時に発行される起動完了イベントなどである。プロパティとしては、メソッドを呼び出す時のパラメータや動作中の状態を通知するデータなどが設定される。
【００４２】
さらに、ＵＩ部品および機能部品には、図示を省略するが、シミュレータで実行するために一定のインタフェースを備えた実行可能なソフトモジュールと、ソースコードを生成するためのソースコード情報が付随されている。また、ＵＩ部品および機能部品には、ＵＩ動作のソフト構造を把握していないような仕様検討担当者がＵＩ動作仕様を作成する際に利用する言語情報も付随されている。
【００４３】
ここで、図１７および図１８を用いて、動作定義フォーマットに従って入力された仕様データの構成を説明する。図１７および図１８は、ツリー構造の仕様データの一例を示す図である。仕様記述編集部１３ａは、図１７および図１８に示すように、仕様データをツリー構造のデータに変換する。図１７に示すように、画面Ａをトップのノードとし、部品＃１と組み合わせ部品である部品＃２が下位のノードとして接続されている。また、組み合わせ部品である部品＃２には、子部品＃１〜５が下位のノードとして接続されている。
【００４４】
また、子部品には、条件動作や処理動作が定義されている。例えば、子部品＃１であるラベル＃１は、条件動作として、「子部品＃１のボタン押下イベントが発行されたら、」が定義され、処理動作として、「画面Ｂへ遷移する」が定義されている。このように、画面遷移がある場合には、図１８に例示するように、画面Ａから画面Ｂに遷移するようなツリー構造のデータとする。
【００４５】
検証部１３ｂは、部品が動作する条件に関する情報と部品が動作する処理の内容に関する情報とに基づいて、ユーザインタフェースの操作画面を表示し、ユーザインタフェースの操作画面に表示される部品の動作の検証を行う。具体的には、検証部１３ｂは、ツリー構造になっている各画面の仕様データに対してトップノードからスキャンし、イベントが設定されている部品を抽出する。そして、検証部１３ｂは、図１９に例示するように、シミュレーション操作画面に、実行中の画面と共にイベントリストを表示する。図１９は、シミュレーション操作画面の一例を示す図である。
【００４６】
シミュレーション操作画面を表示後、シミュレーション操作者は、イベント表示画面に表示されるイベントのリストであるイベントリストを参考に、実行画面内のイベントを発行させてＵＩ動作の検証を行う。このようにして、全イベントに対する動作確認をもれなく行うことができる。そして、検証部１３ｂは、シミュレーション実行画面においてボタン押下などのイベントを発生させることによってシミュレーションの実行を開始すると、各部品へ操作を通知する。各部品には、実行モジュールが付随されており、このモジュールが起動されて条件動作／処理動作が実行される。処理動作の内容によっては、他の部品の動作が指定されている場合があり、その際は別部品の実行モジュールへ通知する。例えば、図１９に例示するように、部品＃６の上スクロール部品を押下した時の処理内容をシミュレーション操作画面で確認できる。
【００４７】
シミュレーションの各動作・操作は、動作定義によって処理されるので、シミュレーションの履歴情報は、実行された動作定義と、その前後における部品のプロパティ値を蓄積することができる。例えば、図２０の例では、画面Ａにおいて上スクロール部品を押下した時の動作定義と、シミュレーションで設定できる動作定義の実行通過の様子とプロパティ値の変更の様子を示す。なお、ＵＩ動作実行の詳細履歴を抽出しようとすると、設定が複雑になるが、動作定義にブレイクポイントを張るなどして、簡単な設定操作で詳細動作を確認することができるようにしてもよい。図２０は、シミュレーション履歴情報の例を示す図である。
【００４８】
ここで、図２１を用いて、シミュレーション実行処理について説明する。図２１は、シミュレーション実行処理を説明する図である。ユーザ操作によってＵＩ部品Ａの押下があると（図２１の（１）参照）、部品Ａ起動イベントをシミュレータに通知し、シミュレータの実行可能モジュールが、ＵＩ動作定義の記述に従って動作を実行し、部品Ａ処理結果を出力する（図２１の（２）参照）。また、同様に、ユーザ操作によってＵＩ部品Ｂの押下があると（図２１の（３）参照）、部品Ｂ起動イベントをシミュレータに通知し、シミュレータの実行可能モジュールが、ＵＩ動作定義の記述に従って動作を実行する。
【００４９】
ベリファイア部１３ｃは、部品の属性に関する情報を基に、ユーザインタフェースの操作画面を表示し、ユーザインタフェースの操作画面から操作画面の特徴量を抽出し、特徴量が所定の基準を満たしているかを検証する。具体的には、ベリファイア部１３ｃは、ＵＩ操作に関する基準達成検証を行う。ベリファイア部１３ｃは、画面を操作する上で部品の見易さや誤認識や誤った操作を起こさせないための仕組みとして、画面に関する指標（メトリクス）を記憶している（後述する図２３参照）。ＵＩ操作に関する基準達成検証とは、指標を測定することによって可能な限り定量的にＵＩ操作に関する画面の性質を抽出する手法を利用し、効率的なＵＩ操作を実現する基準をクリアできているか確認する検証である。
【００５０】
ベリファイア部１３ｃは、画面表示の際に文字列型、整数型で画面に情報を表示する部品のプロパティに対して、言語表現部の文言を表示できるようにデータ変換する。つまり、仕様データのデータ構造では、言語表現部において、各部品が有するプロパティに対して言語表現・型・制限という情報を付与している。このため、画面表示の際に文字列型・整数型で画面に情報を表示する部品のプロパティに対して、言語表現の文言を表示できるようにデータ変換する。そして、ベリファイア実行画面として、部品と共に文言を画面上に表示する。
【００５１】
図２２において、ベリファイア実行画面を例示する。図２２は、ベリファイア実行画面の例を示す図である。図２２の例では、部品ＩＤ＃１に地名リストが表示され、子部品＃１〜＃３に地名＃１〜＃３文字列がそれぞれ表示される。このように、部品と共にこの文言を画面上に表示することで、どのような情報が画面のどこに表示されるかについて判断し易くすることができる。
【００５２】
その後、ベリファイア部１３ｃは、メトリクスを１つ呼び出し、１つのメトリクスについて、全画面または画面同士の関係から特徴量を抽出し、特徴量を蓄積する。その後、ベリファイア部１３ｃは、操作基準の検証を全ての指標について行った場合には、特徴量を出力する。図２３において、ＵＩ操作のメトリクスを例示する。図２３は、ＵＩ操作のメトリクス例を示す図である。図２３に例示するように、ＵＩ操作のメトリクスの例として、操作性のメトリクスおよび視認性のメトリクスがある。例えば、操作性のメトリクスとして、目的までの画面遷移数、ボタン種別およびボタン配置が規定されている。また、視認性のメトリクスとして、部品形状の大きさ、表示一貫性、文字の見易さおよび配色が規定されている。
【００５３】
例えば、ベリファイア部１３ｃは、言語表現に「地名」という文言が存在するラベル部品を抽出し位置を算出することで、文字の見易さのメトリクスに関する特徴量を自動的に計数することができる。なお、各部品の言語表現は、動作定義によってＵＩ動作を記述する際にも用いられる。この仕組みによって、本ツール以外の環境でもＵＩ仕様を伝えることができる。さらに、仕様検討者（ＵＩ操作のソフト構成の知識を有するソフト開発者以外の担当者）もＵＩ仕様を検討することができる。
【００５４】
テストケース生成部１３ｄは、仕様データから制限情報を抽出し、テストケースであるテスト制限情報を生成する。具体的には、テストケース生成部１３ｄは、全画面上に存在する全ＵＩ部品について、制限情報が付随しているプロパティがあるかチェックし、制限情報が付随しているプロパティが存在する場合には、テストケースであるテスト制限情報を抽出する。ここでテスト制限情報とは、ＵＩ部品内の各プロパティに付与された条件である。例えば、現表示ポインタについては、「表示リスト先頭ポインタ以上、かつ表示リスト最終ポインタ以下の値でなければならない。」という条件や、ラベル＃１〜＃３表示文字列については、「文字数制限あり」の条件がある。
【００５５】
その後、テストケース生成部１３ｄは、組み合わせ部品のように子ノードが存在する場合には、子ノードについても、制限情報が付随しているプロパティが存在すればテスト制限情報として抽出する。つまり、ＵＩ部品内の各プロパティには、プロパティ値の属性やプロパティ値の取りうる範囲といった条件が付与されており、テストケース生成部１３ｄは、各画面の全ＵＩ部品に対してこれらの条件を抽出し、テストの際の制限情報チェック項目として集計する。
【００５６】
テスト制限情報の例を図２４に示す。図２４は、テスト制限情報の一例を示す図である。図２４の例では、画面Ａのリスト表示部品のプロパティ「現表示ポインタ」の制限内容として、「先頭ポインタ以上＆最終ポインタ以下」が記述されている。このように、テストケースを生成して記憶させておくことで、ＵＩ仕様工程の後段のソフト開発工程において、ソフト開発者がテストケースを参照して参考にすることができる。ソフト開発者が仕様に精通しているとは限らないからである。
【００５７】
ソースコード生成部１３ｅは、部品が動作する条件に関する情報と、部品が動作する処理の内容に関する情報と、部品の属性に関する情報とを用いて、ソースコードを生成する。具体的には、ソースコード生成部１３ｅは、全画面上に存在する全ＵＩ部品について、まず画面部品のデザイン関連の仕様情報をプロパティから抽出してコード化する。そして、ソースコード生成部１３ｅは、ＵＩ部品に動作定義が存在する場合には、動作定義の仕様情報をソースコード変換する。続いて、ソースコード生成部１３ｅは、組み合わせ部品のように子ノードが存在する場合には、子ノードについても、デザイン関連のコードと動作定義に関するコードを生成し、ソースコード記憶部１４ｄに記憶させる。
【００５８】
このようにして生成されたコードは、図２５に示すような機能を実現するコードとなる。図２５は、ソースコードの構成を示す図である。すなわち、図２５に示すように、各画面の部品構成とデザインを指定する「画面構成を表すコード」と、各画面内に含まれる表示処理と画面間の遷移を表す「画面動作を表すコード」である。これらのソースコードは、画面上に存在する全ての部品について、ＵＩ部品自体の意匠を指定している仕様情報と、ＵＩ部品のＵＩ動作を指定している制御情報からソースコードを生成する。
【００５９】
記憶部１４は、制御部１３による各種処理に必要なデータおよびプログラムを格納しており、動作定義フォーマット記憶部１４ａ、仕様データ記憶部１４ｂ、テストデータ記憶部１４ｃ、ソースコード記憶部１４ｄを有する。
【００６０】
動作定義フォーマット記憶部１４ａは、動作定義フォーマットを記憶する。例えば、動作定義フォーマット記憶部１４ａは、図１５に示すように、カテゴリ別に動作定義フォーマットを記憶している。カテゴリとして、条件動作および処理動作がある。また、条件動作のカテゴリとして、イベント、数値比較、文字列比較があり、処理動作のカテゴリとして、数値セット、文字列セット、メソッド実行、画面遷移がある。例えば、動作定義フォーマット記憶部１４ａは、条件動作のイベントのカテゴリでは、「部品のイベントが発生した時」の動作定義フォーマットを記憶している。
【００６１】
仕様データ記憶部１４ｂは、仕様データを記憶する。例えば、仕様データ記憶部１４ｂは、図１７に示すように、ツリー構造の仕様データを記憶している。図１７の例では、画面Ａをトップのノードとし、部品＃１と組み合わせ部品である部品＃２が下位のノードとして接続されている。また、組み合わせ部品である部品＃２には、子部品＃１〜５が下位のノードとして接続されている。また、仕様データ記憶部１４ｂは、各子部品についての条件動作および処理動作を記憶している。
【００６２】
テストデータ記憶部１４ｃは、テストケース生成部１３ｄによって生成されたテストケースであるテスト制限情報を記憶する。例えば、テストデータ記憶部１４ｃは、図２４に示すように、画面Ａのリスト表示部品のプロパティ「現表示ポインタ」の制限内容として、「先頭ポインタ以上＆最終ポインタ以下」を記憶している。
【００６３】
ソースコード記憶部１４ｄは、ソースコード生成部１３ｅによって生成されたソースコードを記憶する。例えば、ソースコード記憶部１４ｄは、図２５に示すように、画面の部品構成とデザインを指定する「画面構成を表すコード」と、各画面内に含まれる表示処理と画面間の遷移を表す「画面動作を表すコード」とを記憶する。
【００６４】
［ＵＩ仕様作成装置による処理］
次に、図２６〜図３０を用いて、実施例に係るＵＩ仕様作成装置１０による処理を説明する。図２６は、実施例に係るＵＩ仕様作成装置の処理手順を説明するためのフローチャートである。図２７は、実施例に係るＵＩ仕様作成装置の機能検証処理の処理手順を説明するためのフローチャートである。図２８は、実施例に係るＵＩ仕様作成装置の操作基準検証処理の処理手順を説明するためのフローチャートである。図２９は、実施例に係るＵＩ仕様作成装置のテスト項目出力処理の処理手順を説明するためのフローチャートである。図３０は、実施例に係るＵＩ仕様作成装置のソースコード出力処理の処理手順を説明するためのフローチャートである。
【００６５】
図２６に示すように、ＵＩ仕様作成装置１０は、画面に表示されるメニューを構成するために必要なＵＩ部品が選択され、画面上に配置され、大きさ・形・色（通常色、押下色）・表示条件などの設定を受け付ける（ステップＳ１０１）。そして、ＵＩ仕様作成装置１０は、各々のＵＩ部品に対して、動作定義フォーマットを利用してＵＩ動作定義の起動イベント、条件動作、処理動作を設定する（ステップＳ１０２）。そして、ＵＩ仕様作成装置１０は、ＵＩ部品・機能部品の動作を全て設定した後、シミュレータによって設定した部品レイアウトやＵＩ部品の動作が要求仕様を満たしているか検証する（ステップＳ１０３）。
【００６６】
その結果、ＵＩ仕様作成装置１０は、要求仕様を満たしていない場合には（ステップＳ１０４否定）、ステップＳ１０１に戻って、ＵＩ部品の設定を再度受け付ける。また、ＵＩ仕様作成装置１０は、要求仕様を満たした場合には（ステップＳ１０４肯定）、各指標について基準を満たしているかを検証する（ステップＳ１０５）。その結果、ＵＩ仕様作成装置１０は、基準を満たしていない場合には（ステップＳ１０６否定）、ステップＳ１０１に戻って、ＵＩ部品の設定を再度受け付ける。また、ＵＩ仕様作成装置１０は、基準を満たした場合には（ステップＳ１０６肯定）、処理を終了する。
【００６７】
次に、図２７を用いて、ＵＩ仕様作成装置の機能検証処理について説明する。図２７に示すように、ＵＩ仕様作成装置１０は、仕様データをトップノードからスキャンし、イベントが設定されている部品を抽出する（ステップＳ２０１）。そして、ＵＩ仕様作成装置１０は、画面または部品が操作されたか判定し（ステップＳ２０２）、画面または部品が操作された場合には（ステップＳ２０２肯定）、ＵＩ部品にＵＩ動作を通知し（ステップＳ２０３）、部品に動作が定義されているか判定する（ステップＳ２０４）。
【００６８】
この結果、ＵＩ仕様作成装置１０は、部品に動作が定義されていないと判定された場合には（ステップＳ２０４否定）、ステップＳ２０２に戻って、画面または部品が操作されるのを待つ。また、ＵＩ仕様作成装置１０は、部品に動作が定義されていると判定された場合には（ステップＳ２０４肯定）、ＵＩ部品に付随されている実行可能モジュールを用いて動作を実行し（ステップＳ２０５）、動作および操作の履歴を蓄積する（ステップＳ２０６）。
【００６９】
そして、ＵＩ仕様作成装置１０は、シミュレーション終了指示があったかを判定し（ステップＳ２０７）、シミュレーション終了指示があった場合には（ステップＳ２０７肯定）、動作および操作の履歴を出力する（ステップＳ２０８）。また、ＵＩ仕様作成装置１０は、シミュレーション終了指示がない場合には（ステップＳ２０７否定）、ステップＳ２０２に戻って画面または部品が操作されるのを待つ。その後、ユーザは、出力された履歴を分析し、要件が満足されているかどうか確認する。
【００７０】
次に、図２８を用いて、ＵＩ仕様作成装置の操作基準検証処理について説明する。図２８に示すように、ＵＩ仕様作成装置１０は、画面表示の際に文字列型、整数型で画面に情報を表示する部品のプロパティに対して、言語表現部の文言を表示できるようにデータ変換する（ステップＳ３０１）。そして、ＵＩ仕様作成装置１０は、操作基準の検証を行っていない指標がまだあるか判定し（ステップＳ３０２）、指標がまだある場合には（ステップＳ３０２肯定）、指標を１つ呼び出し、操作基準の検証を行っていない画面がまだあるか判定する（ステップＳ３０３）。
【００７１】
この結果、操作基準の検証を行っていない画面がまだある場合には（ステップＳ３０３肯定）、１つの指標について、全画面または画面同士の関係から画面の特徴量を抽出し（ステップＳ３０４）、特徴量を蓄積する（ステップＳ３０５）。また、ステップＳ３０３において、操作基準の検証を行っていない画面がない場合には（ステップＳ３０３否定）、ステップＳ３０２に戻って、操作基準の検証を行っていない指標がまだあるか判定する。この結果、操作基準の検証を行っていない指標がない場合には（ステップＳ３０２否定）、特徴量を出力し（ステップＳ３０６）、処理を終了する。
【００７２】
次に、図２９を用いて、テスト制限情報の出力処理について説明する。図２９に示すように、ＵＩ仕様作成装置１０は、ＵＩの操作画面として出力される出力対象画面が存在するか判定し（ステップＳ４０１）、存在しない場合には（ステップＳ４０１否定）、処理を終了する。また、ＵＩ仕様作成装置１０は、出力対象画面が存在する場合には（ステップＳ４０１肯定）、部品ノードが存在するか判定する（ステップＳ４０２）。この結果、ＵＩ仕様作成装置１０は、部品ノードが存在しないと判定した場合には（ステップＳ４０２否定）、ステップＳ４０１に戻る。また、ＵＩ仕様作成装置１０は、部品ノードが存在すると判定した場合には（ステップＳ４０２肯定）、制限情報が付随しているプロパティが存在するか判定する（ステップＳ４０３）。この結果、ＵＩ仕様作成装置１０は、制限情報が付随しているプロパティが存在する場合には（ステップＳ４０３肯定）、テスト制限情報を出力する（ステップＳ４０４）。
【００７３】
その後、ＵＩ仕様作成装置１０は、子ノードが存在するか判定し（ステップＳ４０５）、子ノードが存在する場合には（ステップＳ４０５肯定）、ステップＳ４０３に戻って、子ノードについても、制限情報が付随しているプロパティが存在すればテスト制限情報として抽出する。また、ＵＩ仕様作成装置１０は、子ノードが存在しない場合には（ステップＳ４０５否定）、ステップＳ４０１に戻って、テスト項目出力を行っていない出力対象画面が存在するか判定する。ステップＳ４０１において、出力対象画面が存在しないと判定された場合には（ステップＳ４０１否定）、処理を終了する。
【００７４】
次に、図３０を用いて、ソースコード出力処理について説明する。図３０に示すように、ＵＩ仕様作成装置１０は、出力対象画面が存在するか判定する（ステップＳ５０１）。この結果、ＵＩ仕様作成装置１０は、出力対象画面が存在する場合には（ステップＳ５０１肯定）、ＵＩ部品ノードが存在するか判定し（ステップＳ５０２）、ＵＩ部品ノードが存在しない場合には（ステップＳ５０２否定）、ステップＳ５０１に戻る。また、ＵＩ仕様作成装置１０は、ＵＩ部品ノードが存在する場合には（ステップＳ５０２肯定）、画面部品のデザイン関連の仕様データをプロパティから抽出してコード化し、ソースコードを出力する（ステップＳ５０３）。
【００７５】
そして、ＵＩ仕様作成装置１０は、動作定義が存在するか判定し（ステップＳ５０４）、動作定義が存在する場合には（ステップＳ５０４肯定）、動作定義の仕様情報をソースコード変換してソースコードを出力する（ステップＳ５０５）。その後、ＵＩ仕様作成装置１０は、子ノードが存在するか判定し（ステップＳ５０６）、子ノードが存在する場合には（ステップＳ５０６肯定）、ステップＳ５０３に戻って、子ノードについても、デザイン関連のコードと動作定義に関するコードを生成する。その後、ＵＩ仕様作成装置１０は、子ノードが存在しない場合には（ステップＳ５０６否定）、ステップＳ５０１に戻る。ＵＩ仕様作成装置１０は、Ｓ５０１において、ソースコード出力を行っていない画面が存在しない場合には（ステップＳ５０１否定）、処理を終了する。
【００７６】
[実施例の効果]
上述してきたように、ＵＩ仕様作成装置１０は、ＵＩの操作画面に表示される部品の動作条件に関する情報と、部品の処理動作に関する情報とを所定の形式で記述させるフォーマットを表示し、フォーマットを基に部品の仕様に関する記述を受け付ける。そして、ＵＩ仕様作成装置１０は、受け付けた部品が動作する条件に関する情報と部品が動作する処理の内容に関する情報とに基づいて、ユーザインタフェースの操作画面を表示し、ユーザインタフェースの操作画面に表示される部品の動作のシミュレーションを行う。このため、仕様作成者が部品の仕様を修正しながらＵＩ部品の検証を行えることができる結果、ＵＩの開発を迅速に行うことが可能である。
【００７７】
また、実施例によれば、ユーザインタフェースの操作画面に表示される部品の属性に関する情報を所定の形式で記述させるフォーマットを表示し、フォーマットを基に部品の属性に関する情報を受け付ける。受け付けた部品の属性に関する情報を基に、ユーザインタフェースの操作画面を表示し、ユーザインタフェースの操作画面から操作性および視認性に関する特徴量を抽出し、特徴量を出力する。このため、ＵＩ操作に関する画面の操作性および視認性に関する特徴量を把握し、ＵＩ操作を実現する基準をクリアできているか開発者が検証することができる。この結果、画面を操作する上での見易さや、誤った操作を起こさせないように、ユーザインタフェースの操作画面を作成することが可能である。
【００７８】
また、実施例によれば、ＵＩ仕様作成装置１０は、所定の形式で記述させるフォーマットを表示し、ＵＩの操作画面に表示される部品が動作する条件に関する情報と、部品が動作する処理の内容に関する情報と、部品の属性に関する情報とを受け付ける。そして、部品が動作する条件に関する情報と、部品が動作する処理の内容に関する情報と、部品の属性に関する情報とを用いて、ソースコードを生成する。このため、正常動作を確認した仕様データから直接ソースコードを生成することができる結果、コード化に際して誤りや漏れを少なくすることが可能である。
【００７９】
また、実施例によれば、ＵＩ仕様作成装置１０は、ＵＩの操作画面に表示される部品の属性に関する情報を所定の形式で記述させるフォーマットを表示し、フォーマットを基に前記部品の属性に関する情報とともに、該属性に関する情報に付与される条件情報を受け付ける。そして、受け付けた属性に関する情報に付与され条件情報を抽出し、条件情報を出力する。このため、ＵＩ仕様工程の後段のソフト開発工程において、ソフト開発者が条件情報を参照して参考にすることが可能である。
【００８０】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。以下では本発明に含まれる他の形態を説明する。
【００８１】
（１）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、仕様記述編集部１３ａと検証部１３ｂを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８２】
（２）プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図３１を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図３１は、ＵＩ設計支援プログラムを実行するコンピュータの一例を示す図である。
【００８３】
図３１に示すように、ＵＩ仕様作成装置としてのコンピュータ６００は、ＨＤＤ６１０、ＲＡＭ６２０、ＲＯＭ６３０およびＣＰＵ６４０をバス６５０で接続して構成される。
【００８４】
そして、ＲＯＭ６３０には、上記の実施例と同様の機能を発揮するＵＩ設計支援プログラム、つまり、図３１に示すように、仕様記述編集プログラム６３１、検証プログラム６３２が予め記憶されている。なお、プログラム６３１、６３２については、図１に示したＵＩ仕様作成装置の各構成要素と同様、適宜統合または分散してもよい。
【００８５】
そして、ＣＰＵ６４０が、これらのプログラム６３１、６３２をＲＯＭ６３０から読み出して実行することで、図３１に示すように、各プログラム６３１、６３２は、仕様記述編集プロセス６４１および検証プロセス６４２として機能するようになる。
【００８６】
また、ＨＤＤ６１０には、図３１に示すように、動作定義フォーマット６１１および仕様データ６１２が記憶される。そして、ＣＰＵ６４０は、動作定義フォーマット６１１および仕様データ６１２を読み出してＲＡＭ６２０に格納し、ＲＡＭ６２０に格納された動作定義フォーマット６１１および仕様データ６１２に基づいて処理を実行する。
【符号の説明】
【００８７】
１０  ＵＩ仕様作成装置
１１  入力部
１２  出力部
１３  制御部
１３ａ  仕様記述編集部
１３ｂ  検証部
１３ｃ  ベリファイア部
１３ｄ  テストケース生成部
１３ｅ  ソースコード生成部
１４  記憶部
１４ａ  動作定義フォーマット記憶部
１４ｂ  仕様データ記憶部
１４ｃ  テストデータ記憶部
１４ｄ  ソースコード記憶部
【図１】
0005545744.tif 000002
【図２】
0005545744.tif 000003
【図３】
0005545744.tif 000004
【図４】
0005545744.tif 000005
【図５】
0005545744.tif 000006
【図６】
0005545744.tif 000007
【図７】
0005545744.tif 000008
【図８】
0005545744.tif 000009
【図９】
0005545744.tif 000010
【図１０】
0005545744.tif 000011
【図１１】
0005545744.tif 000012
【図１２】
0005545744.tif 000013
【図１３】
0005545744.tif 000014
【図１４】
0005545744.tif 000015
【図１５】
0005545744.tif 000016
【図１６】
0005545744.tif 000017
【図１７】
0005545744.tif 000018
【図１８】
0005545744.tif 000019
【図１９】
0005545744.tif 000020
【図２０】
0005545744.tif 000021
【図２１】
0005545744.tif 000022
【図２２】
0005545744.tif 000023
【図２３】
0005545744.tif 000024
【図２４】
0005545744.tif 000025
【図２５】
0005545744.tif 000026
【図２６】
0005545744.tif 000027
【図２７】
0005545744.tif 000028
【図２８】
0005545744.tif 000029
【図２９】
0005545744.tif 000030
【図３０】
0005545744.tif 000031
【図３１】
0005545744.tif 000032