(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023075577
(43)【公開日】2023-05-31
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06F 8/34 20180101AFI20230524BHJP
【FI】
G06F8/34
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2021188564
(22)【出願日】2021-11-19
(71)【出願人】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(71)【出願人】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【弁理士】
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】岩永 尚己
(72)【発明者】
【氏名】柴本 文洋
(72)【発明者】
【氏名】高塚 剛
(72)【発明者】
【氏名】辻 健太
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376BC07
5B376BC14
5B376BC43
(57)【要約】 (修正有)
【課題】本番用のアプリケーションソフトウェアにおける複数のイベントの実行を仮想的に見ることのできるコンテンツを容易に生成する情報処理装置、情報処理方法及びプログラムを提供する。
【解決手段】方法は、アプリケーションソフトウェアで表示される複数の画面のうちいずれかを選択する第1の選択手段と、第1の選択手段で選択された画面に対応づけて記憶された動作のうちいずれかを選択する第2の選択手段と、第1の選択手段で選択された画面を表示する第1のイベントと、第2の選択手段で選択された動作に対応する第2のイベントとを含む複数のイベントを順次実行することを指示する指示情報を生成するように制御する制御手段と、を有する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
アプリケーションソフトウェアで表示される複数の画面のうちいずれかを選択する第1の選択手段と、
前記第1の選択手段で選択された画面に対応づけて記憶された動作のうちいずれかを選択する第2の選択手段と、
前記第1の選択手段で選択された画面を表示する第1のイベントと、前記第2の選択手段で選択された動作に対応する第2のイベントとを含む複数のイベントを順次実行することを指示する指示情報を生成するように制御する制御手段と
を有することを特徴とする情報処理装置。
【請求項2】
前記第1の選択手段は、前記アプリケーションソフトウェアを作成する際に定義された複数の画面にそれぞれ対応する複数の選択肢のうちいずれかを選択する操作に応じて選択することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記制御手段は、前記第1の選択手段によって前記複数の画面のうちいずれかが選択されると、選択された画面に対応づけて記憶された少なくとも1つの動作がある場合に、前記少なくとも1つの動作を前記第2の選択手段での選択肢として表示するように制御することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
生成される前記指示情報において前記複数のイベントを実行する順序を指定する操作を受け付ける第1の受付手段を更に有することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記第2の選択手段で選択された動作が、特定の処理を実行した結果に応じた表示を行うことを含む動作である場合にも、前記指示情報に基づいて実行される前記第2のイベントは、前記特定の処理を実行することなく予め定められた表示を行うイベントであることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記第1の選択手段で選択された画面に含まれる表示要素に対応づけた付加情報の入力を受け付ける第2の受付手段を更に有し、
前記複数のイベントは、前記第2の受付手段で入力を受け付けた付加情報を表示する第3のイベントをさらに含むことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項7】
前記制御手段は、前記第1の選択手段によって前記複数の画面のうちいずれかが選択されると、選択された画面に対応づけて生成された前記指示情報がある場合に、当該指示情報に基づいて、前記選択された画面と、前記第3のイベントで表示される付加情報とを表示するように制御することを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記付加情報は文字列であることを特徴とする請求項6または7に記載の情報処理装置。
【請求項9】
前記付加情報は、対応する表示要素に対する吹き出しに表示する情報であることを特徴とする請求項6乃至8のいずれか1項に記載の情報処理装置。
【請求項10】
前記第1の選択手段で選択された画面に含まれる入力領域であって、前記指示情報に対応する本番用の画面においてはユーザからのデータ入力を受け付ける入力領域に対して自動的に表示するデータの入力を受け付ける第3の受付手段を更に有し、
前記複数のイベントは、前記第3の受付手段で入力を受け付けたデータを表示する第4のイベントを更に含むことを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
【請求項11】
前記指示情報は、前記指示情報に含まれる最初のイベントの実行の後は、前記複数のイベントをユーザからの操作が無くとも自動的に順次実行することを指示する情報であることを特徴とする請求項1乃至12のいずれか1項に記載の情報処理装置。
【請求項12】
前記指示情報を反映するプログラムのソースコードを生成する生成手段を更に有することを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。
【請求項13】
アプリケーションソフトウェアで表示される複数の画面のうちいずれかを選択する第1の選択ステップと、
前記第1の選択ステップで選択された画面に対応づけて記憶された動作のうちいずれかを選択する第2の選択ステップと、
前記第1の選択ステップで選択された画面を表示する第1のイベントと、前記第2の選択ステップで選択された動作に対応する第2のイベントとを含む複数のイベントを順次実行することを指示する指示情報を生成するように制御する制御ステップと
を有することを特徴とする情報処理装置の制御方法。
【請求項14】
コンピュータを、請求項1乃至12のいずれか1項に記載された情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、開発中のアプリケーションソフトウェアの動作を仮想的に実行する情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
顧客の為のアプリケーションソフトウェアを作成する場合、顧客の要望を汲み取るために、顧客とのミーティングを重ねてアプリケーションソフトウェアを作成することになる。
【0003】
特に、アプリケーションソフトウェアの画面や操作手順は、顧客と開発者とで適宜情報共有され、完成されるアプリケーションソフトウェアのイメージを一致させるべく、プレビューを繰り返すことがある。なお、以下、アプリケーションソフトウェアを省略してアプリケーションと称することもあるものとする。
【0004】
アプリケーションソフトウェアのプレビューの際に有効な手段が、プロトタイプ開発されたアプリケーション(プロトタイプアプリケーション)である。
【0005】
プロトタイプアプリケーションとは、開発段階の本番用アプリケーションソフトウェアを顧客に開示するためのアプリケーションであり、あたかも本番用アプリケーションソフトウェアが動作しているかのように画面遷移させることが可能なアプリケーションである。プロトタイプアプリケーションは、顧客が操作する部品操作(テキスト入力やGUIボタン押下などの画面部品に対する操作)を受け付け、本番用アプリケーションソフトウェアと同じように画面遷移を行う。但し、部品操作に対応するデータの検索や結果の出力などは行わず、予め設定された出力結果などを表示する。画面部品に対する操作に対応するデータの検索や結果の出力などは行わないため、開発者はサーバサイドや本番用アプリケーションソフトウェア内でのビジネスロジックを生成する前に、顧客の望むアプリケーションソフトウェアのイメージを確認することができる。顧客と開発者が本番用アプリケーションソフトウェアの完成イメージを共有できるため、両者での完成イメージの齟齬を少なくさせ、開発の手戻りを減らすことができる。また、MVP(Minimum Viable Product:実用最小限の製品)による開発時には、プロトタイプアプリケーションは、顧客からのフィードバックを早いタイミングで得られるため、不必要な機能の開発に工数を使わず、開発工数の削減に寄与できる。
【0006】
本番用アプリケーションの提供元の人材(開発者や営業担当など)と顧客とが直接会って行う対面でプロトタイプアプリケーションを用いた説明を行う状況のほかに、非対面で、提供元の人材からの直接の説明無しに顧客にプロトタイプアプリケーションを披露する状況もある。非対面で説明なしとすることで効率的に顧客にプロトタイプアプリケーションを披露できる一方、プロトタイプアプリケーションを顧客に頒布するだけでは、提供元の人材からの説明がない分、顧客はプロトタイプアプリケーションの操作方法がわからないといったことや、十分な理解ができないことも考えられる。そこでプロトタイプアプリケーションを顧客に頒布する際に説明書類を添えたり、わかりやすい動画サイトや動画アプリケーションを提供することが考えられる。
【0007】
特許文献1は、アプリケーションのリプレイ動画像を作成するための機能を汎用化し、ユーザの所望の部分のリプレイ動画像を作成でき、他のユーザが閲覧できるようにすることが記載されている。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1のように動画として本番用アプリケーションの動作を見れるようにすれば、顧客(本番用アプリケーションを提供される側のユーザ)は、本願用のアプリケーションにおける複数のイベントの実行がどのように行われるのかを分かりやすく理解することができる。例えば、画面の初期表示という第1のイベントの後に、GUIボタンの操作という第2のイベントが発生して画面遷移する様子などを、動画を見ることで確認することができる。しかしながら、特許文献1の場合、アプリケーションの任意の部分のリプレイ動画像を作成するにあたって、本番用アプリケーションソフトウェアが動作可能な状態まで完成しなければリプレイ動画像を作成できない。すなわち、本番用アプリケーションソフトウェア開発中は、サーバサイドのプログラムや本番用アプリケーションソフトウェア内でのビジネスロジックが完成されていないことがあり、リプレイ動画像は確実に作成できるとは限らない。すなわち、本番用のアプリケーションソフトウェアにおける複数のイベントの実行を仮想的に見ることのできるコンテンツを容易に生成することができないという課題があった。
【0010】
そこで本発明は、本番用のアプリケーションソフトウェアにおける複数のイベントの実行を仮想的に見ることのできるコンテンツを容易に生成できるようにすることを目的とする。
【課題を解決するための手段】
【0011】
本発明の情報処理装置は、
アプリケーションソフトウェアで表示される複数の画面のうちいずれかを選択する第1の選択手段と、
前記選択手段で選択された画面に対応づけて記憶された動作のうちいずれかを選択する第2の選択手段と、
前記第1の選択手段で選択された画面を表示する第1のイベントと、
前記第2の選択手段で選択された動作が示す特定の処理に対応するイベントであって、前記特定の処理を実行することなく行われる第2のイベントと
を含む複数のイベントを順次実行することを指示する指示情報を生成するように制御する制御手段と
を有することを特徴とする。
【発明の効果】
【0012】
本発明によれば、本番用のアプリケーションソフトウェアにおける複数のイベントの実行を仮想的に見ることのできるコンテンツを容易に生成することができる。
【図面の簡単な説明】
【0013】
【
図2】本実施形態に係るプログラム開発装置、実行サーバ、データベースサーバ、クライアント装置として適用可能なハードウェア構成の一例を示すブロック図である。
【
図3】プロトタイプアプリケーション生成処理のフローチャートである。
【
図4】プロトタイプアプリケーション実行処理のフローチャートである。
【
図5】再生モジュール生成処理のフローチャートである。
【
図6】再生情報定義受付処理のフローチャートである。
【
図7】再生モジュール実行処理のフローチャートである。
【
図8】プロトタイプアプリケーション生成処理に係る表示例である。
【
図9】プロトタイプアプリケーション生成処理に係る表示例である。
【
図10】プロトタイプアプリケーション生成処理に係る表示例である。
【
図11】プロトタイプアプリケーション実行処理に係る表示例である。
【
図12】プロトタイプアプリケーションの一部分の例である。
【
図13】プロトタイプアプリケーションの一部分の例である。
【
図14】再生情報定義受付処理に係る表示例である。
【
図15】再生情報定義受付処理で生成される再生情報定義の例である。
【
図16】再生モジュール実行処理に係る表示例である。
【
図17】再生モジュール実行処理に係る表示例である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施形態を詳細に説明する。
<第一実施形態>
図1は、本実施形態のシステム構成図である。本システムには、プログラム開発装置101(開発者がWebアプリケーション生成のために操作する情報処理装置)、実行サーバ102、データベースサーバ103、クライアント装置104を含む。
【0015】
プログラム開発装置101は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。プログラム開発装置101は、プログラム生成、アプリケーション生成を行う。
【0016】
なお、本実施形態においては、プログラム開発装置101で生成するアプリケーションソフトウェアはWebアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションソフトウェアや組込みソフトウェアなど、Web技術による通信を利用したアプリケーションソフトウェアでなくてもよい。
【0017】
実行サーバ102は、プログラム開発装置101で開発されたアプリケーションソフトウェアを実行する。また、データベースサーバ103と接続して動作することが可能である。
【0018】
データベースサーバ103は、開発されたアプリケーションソフトウェアが使用するデータベースであり、また本実施形愛におけるアプリケーションソフトウェアの開発時にも動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ103は、プログラム開発装置101や、実行サーバ102と同一の装置で構成されていてもよいし、LANなどのネットワーク105内に配置されてもよい。
【0019】
クライアント装置104(情報処理装置)は、実行サーバ102と協調してプログラム開発装置101で開発したアプリケーションプログラムを動作させる、エンドユーザの入力端末である。この、クライアント装置104は、携帯端末などの情報処理装置であってもよいこととする。
【0020】
なお、プログラム開発装置101、実行サーバ102、データベースサーバ103、および、クライアント装置104の何れかを、クラウドなどのインターネット上に配置してもよいし、いくつかの情報処理装置を一つの筐体としてもよい。
【0021】
図2は、本発明に係わるプログラム開発装置101、実行サーバ102、データベースサーバ103、クライアント装置104として適用可能な各ハードウェア構成の一例を示すブロック図である。
【0022】
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。
【0023】
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
【0024】
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
【0025】
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイス、タッチパネルが挙げられる。
【0026】
なお、入力部209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。
【0027】
また、タッチパネルは、マルチタッチスクリーン等の、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【0028】
出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。尚、本体と一体になったノート型パソコンのディスプレイも含まれるものとする。また、プロジェクタであってもよいこととする。
【0029】
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーションソフトウェア、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。外部メモリ211には、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。
【0030】
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、出力部210上での表示を可能としている。また、CPU201は、出力部210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0031】
通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0032】
本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
【0033】
次の
図3から
図4を参照して、Webアプリケーションソフトウェア(本番用アプリケーション)のプロトタイプアプリケーションを生成する手順を説明する。
図3~
図4の処理は、プログラム開発装置101のCPU201が、ROM203に記録され、RAM202に展開されたプログラムを実行することにより各処理を実行する。
【0034】
図3は、Webアプリケーションソフトウェア(以下、Webアプリケーションと略す)の生成処理のうち、プロトタイプアプリケーション生成処理に関する部分のフローチャートの一例を示す図である。
【0035】
S301では、プログラム開発装置101のCPU201は、開発者によりWebアプリケーションの画面定義の入力を受け付ける。この処理は、生成されるWebアプリケーションの画面のどの位置にどのような画面部品を配置(レイアウト)するか、各画面部品にどのような機能を持たせるかの指示をユーザから受け付ける処理である。
図8を参照して、S301の処理を説明する。
【0036】
図8(a)の画面800の左側にある部品パレット部801は画面に配置する部品(GUI部品)の一覧であり、ユーザはこの中からWEBアプリケーションの画面に配置するGUI部品を選択する。右側の画面定義エディタ部802はWebアプリケーションの画面に表示される表示画面を編集する領域である。
図8は、ユーザIDと名前をデータベースなどに登録させる処理を実行するWebアプリケーションを生成している例である。
【0037】
たとえば、開発者がWebアプリケーションの表示画面にボタンアイコン805を配置する場合、部品パレット部801内のボタン部品を矢印803のようにドラッグ&ドロップして配置する。同様にテキスト入力が可能なテキストボックス806を図示の位置に配置することにより、画面部品配置例804が生成される。なお、画面部品の配置方法は、部品パレット部801から画面定義エディタ部802へのドラッグ&ドロップに限らず、既に配置した部品を移動する方法や、既に配置した部品をコピー&ペーストにより複製する方法であってもよい。また、一度配置した部品を削除できてもよい。
【0038】
画面定義エディタ部802に配置された部品の中でアクションイベントを含む部品(たとえば、ボタンアイコン805など)がある場合は、ボタンに対するアクションを登録する。具体的には、ボタンアイコン805において、マウスの右クリックもしくはマウスオーバで所定時間経過すると、アイコン811を表示する。表示されたアイコン811をユーザがクリックすると登録画面812(登録ダイアログ)を表示する。
図8(b)は、表示された登録画面812に、ユーザが[名前]項目として「登録」と入力し、[タイプ]項目としてドロップダウンメニューから「ボタン」、[次画面]項目として、ドロップダウンメニューから「ユーザ一覧画面」を選択している例である。すなわち、
図8の登録画面812は、「登録」と言う名前のボタンアイコン805が押下されると、「ユーザ一覧画面」に遷移するという内容を登録した例である。この画面で生成される画面のJSONデータの例を
図12を参照して説明する。
【0039】
図12は、
図8の画面のJSONデータの抜粋した例である。
図12のJSONコードの内、枠1204で囲まれた“instance003”が、ボタンアイコン805を示すデータである。枠1201内には、“code”というキーに対して、登録を意味する“regist”と言う値を持ち、“name”というキーには、
図8(b)の登録画面812で入力した“登録”と言う文字、“nextUI”というキーには、次のユーザ一覧画面を指す“sampleUi002”(登録画面812では、ユーザ一覧画面)が設定されている。枠1202内の“actions”というキーに対応する値には、本番用Webアプリケーションでボタンアイコン805を押下すると実行される処理が記述される。枠1203内の“examples”というキーに対応する値には、プロトタイプアプリケーションでボタンアイコン805を押下すると実行される処理が記述される。どちらの場合も、図示の例ではWebアプリケーションの作成途中であるため、ボタンアイコン805の押下時は画面遷移しか設定されていない。そのため、枠1205内に示すように“instance003”がキーの“onClick”時の処理は何もしない“null”と設定されている。
図3のフローチャートの説明に戻る。
【0040】
図3のS302において、プログラム開発装置101のCPU201は、プロトタイプアプリケーション実行時に画面に表示するプロトタイプデータの入力要求があったか否かを判定する。プロトタイプデータとは、プロトタイプアプリケーションを実行する際にWebアプリケーション画面に表示されるデータであり、開発者により、例として予め設定されている値や図である。つまり、プロトタイプデータとは、本番環境のようにデータベースからデータを検索したり、算出したデータ結果から作図をしたりするものではない。プロトタイプデータは、アプリケーション開発ツールを介して、開発者によって予め入力設定または配置される。S302において、プロトタイプデータを入力する要求があった場合にはS303へと遷移し、プロトタイプデータを入力する要求がない場合は、S304へと処理を遷移する。
図8(c)を参照して、ユーザからプロトタイプデータの入力要求がある場合の画面表示例を説明する。
【0041】
図8(c)は、プロトタイプデータ入力要求時の画面表示例である。画面820のボタンアイコン805にマウスオーバした状態で、マウスの右クリックもしくはマウスオーバで所定時間経過すると、アイコン821aを表示する。表示されたアイコン821aをユーザがクリックすると選択肢821bを表示する。選択肢821bは「クリックされた時」と表記された選択肢である。選択肢821bを選択して押下(マウスクリック)することによりプロトタイプデータの入力要求がなされる。プロトタイプデータが入力されると、本番用アプリケーションの提供側人材(開発者や営業担当など)がデモなどでプロトタイプアプリケーションを実行した際に、ボタンアイコン805を押下すると、同じ画面にプロトタイプデータを表示したり、遷移先画面にプロトタイプデータを表示した画面を表示することができる。本実施形態では、遷移先画面(
図9)にプロトタイプデータが表示される例を説明する。なお、アイコン821aと同じ機能はアイコン822を押下しても可能である。アイコン822を押下した場合は、
図9(a)の領域906に選択肢821bと同じ選択肢を表示する。
図3のフローチャートの説明に戻る。
【0042】
図3のS303において、プログラム開発装置101のCPU201は、S302で指定されたアクション(選択された選択肢821b、すなわち、「クリックされた時」が示すアクションであるボタンアイコンの押下)により表示されるプロトタイプデータの入力を受け付ける。プロトタイプデータの入力を受け付ける処理を、
図9、
図10を参照して説明する。
【0043】
図9、
図10は、プロトタイプデータを入力する処理を説明する画面例である。ボタンアイコン805の次の遷移画面が、
図8(a)の画面定義エディタ部802に示したようなユーザ登録画面ではなく、ユーザ一覧画面であるため、選択肢821bが押下されると、次の遷移画面である登録者リスト902(ユーザー一覧画面のこと)を含む
図9(a)の画面900に切り替わる。画面900は、プロトタイプデータを入力する画面であるため、画面のタイトルは部品パレット部801に示した「部品パレット」から
図9(a)のプロトタイプ設定部901に示すように「プロトタイプ設定」に変わっている。登録者リスト902が、ボタンアイコン805が押下された際に遷移する遷移先画面(ユーザ一覧画面)であり、ユーザにより予め生成されている画面である。登録者リスト902は、
図8(a)の画面部品配置例804に含まれる各テキストボックスに入力されたIDや名前がリスト形式で表示されるものである。登録者リスト902には、ID表示領域903、名前表示領域904、登録日時表示領域905が含まれる。複数のユーザが登録されている場合にはこれらがリスト形式で表示される。登録者リスト902は、前述した
図12のJSONコードでは、枠1201内の“nextUi”というキーに対応する“sampleUi002”に該当する。
【0044】
図9(b)において、ユーザがプロトタイプデータを入力したい場合、入力する項目(画面の場合は名前表示領域904)において、マウスの右クリックもしくはマウスオーバで所定時間経過させる。それに応じて、アイコン911とアイコン912を表示する。表示されたアイコン911をユーザがクリックすると
図9(c)の画面920に表示が切り替わり、プロトタイプデータ入力ダイアログ921が表示される。例えば図示のように、プロトタイプデータ入力ダイアログ921に「谷川 則之」という文字列(値)を入力してOKボタンを押下することで、プロトタイプデータとして登録される。登録されたプロトタイプデータは、プロトタイプアプリケーションの実行時に、登録対象のアクション(ボタンアイコン805の押下)に応答して表示される遷移先画面において表示される。この結果、例えば、ボタンアイコン805の押下に応じて
図10(a)の登録者リスト902の名前表示領域904に「谷川 則之」という文字列のように表示される。別の例として、プロトタイプデータを複数まとめて入力させたい場合の方法を説明する。
図9(b)のアイコン912をユーザがクリックすると、
図10(b)の表示に切り替わる。枠1021で示すプロトタイプデータのリスト入力ダイアログに含まれるインポート欄1022に、例えばCSV形式でデータを入力してOKボタン1024を押下すると、それぞれ対応する値をプロトタイプデータとして登録できる。同様にファイルによる指定も可能であり、アイコン1023を押下後、適切なファイルを選択して、データを入力できる。これらのプロトタイプデータを設定したJSONコードの例を
図13を参照して説明する。
【0045】
図13は、
図10(b)に図示した入力例の入力が行われた後のJSONデータの抜粋した例である。
図13のJSONコードの内、枠1302内の“actions”というキーに対応する値には、本番用Webアプリケーションで動作、表示する処理が記述されている。枠1301内の“examples”というキーに対応する値には、プロトタイプアプリケーション実施時に表示されるデータが登録されており、インポート欄1022に登録されているデータが枠1301内に登録されている。
【0046】
図11(a)、(b)に、生成されたプロトタイプアプリケーションを実行した場合の表示例を示す。
図11(a)の画面1100、前述した画面定義エディタ部802に部品を配置する操作によって作成した画面である。
図11(b)の画面1110は、
図11(a)の登録ボタン1101(前述したボタンアイコン805に対応するボタン)が押下されたことに応じて表示さえる遷移先画面であり、前述した登録者リスト902に対応するものである。プロトタイプアプリケーション動作時は、遷移前の画面1100においてID入力欄1102や名前入力欄1103にデータを入力してもしなくても、登録ボタン1101を押下すると、
図9(b)の画面1110において、予め登録されているプロトタイプデータ1111が表示される。プロトタイプデータ1111は、前述した
図10(b)のインポート欄1022で登録された値を反映した表示である。
図3のフローチャートの説明に戻る。
【0047】
図3のS304において、プログラム開発装置101のCPU201は、画面定義(部品の配置など)やプロトタイプデータを保存する要求(図示しない保存ボタンの押下)があったかどうかを判断する。保存要求があった場合はS305へと処理を遷移し、保存要求がない場合はS306へと処理を進める。
【0048】
S305において、プログラム開発装置101のCPU201は、画面定義情報やプロトタイプデータを保存する。
【0049】
S306において、プログラム開発装置101のCPU201は、プロトタイプアプリケーション生成要求があったかを判定する。プロトタイプアプリケーション生成要求があったと判定した場合には、S307に遷移する。一方、プロトタイプアプリケーション生成要求がなかった場合には、S301に遷移する。
【0050】
S307において、プログラム開発装置101のCPU201は、プロトタイプアプリケーションのソースコードを生成する。ソースコード生成の際に、S305で保存した画面定義や画面遷移定義、プロトタイプデータなどを読み込んでソースコードを生成する。
【0051】
S308において、プログラム開発装置101のCPU201は、S507において生成したソースコードのコンパイルを行う。
【0052】
S309において、プログラム開発装置101のCPU201は、S508においてコンパイルしたプロトタイプアプリケーションを実行サーバ102にデプロイする。こうして、プロトタイプアプリケーションが生成される。なお、生成されたプログラム(プロトタイプアプリケーション)は、クライアントで動作するSPA(Single Page Application)としてデプロイしても良い。
図4以降ではSPAとしてデプロイされた例として説明する。以上で
図3のフローチャートの説明を終了する。
【0053】
次に、
図4を参照して、クライアント装置104がプロトタイプアプリケーション実行する際の処理の流れを説明する。
【0054】
図4のフローチャートは、前述した
図3の処理によって生成されて実行サーバにデプロイされたプロトタイプアプリケーションに、クライアント装置104のWebブラウザからユーザのアクセスがあった際に開始される処理の流れである。なお、以下でSPAと記載するものは、
図3で生成されたプロトタイプアプリケーションであるものとする。
【0055】
S401において、クライアント装置104のCPU201は、実行サーバにデプロイされたSPAを取得し、SPAの実行画面をクライアント装置104の出力部210(ディスプレイ)に表示する。これによって前述した
図11(a)のような表示が行われる。
【0056】
S402において、クライアント装置104のCPU201は、ユーザによるアクション実行要求を受付ける。具体的には、
図11(a)の登録ボタン1101の押下などを受け付ける。このとき、ユーザは本番用のWebアプリケーションを使用した際のイメージを再現するための動作イメージを確認することが目的であるため、先にも述べたようにID入力欄1102や名前入力欄1103にはユーザによる入力は必ずしも必要ではない。
【0057】
S403において、クライアント装置104のCPU201は、ユーザによるアクション実行要求があったかを判定する。具体的には、
図11(a)の登録ボタン1101が押下されたかなどを判定する。アクション実行要求があった(登録ボタン1101が押下された)と判定した場合は、S404に遷移し、ユーザによるアクション実行要求がなかった場合は、S402へと処理を戻す。
【0058】
S404において、クライアント装置104のCPU201は、S402で受け付けたアクション実行要求が画面遷移を伴うかを判定する。アクション実行要求が画面遷移を伴うと判定した場合は、S406に遷移し、アクションが画面遷移を伴わない場合は、S407に遷移する。
【0059】
S405において、クライアント装置104のCPU201は、アクション実行要求に伴う遷移先の画面を表示する。
【0060】
S406において、クライアント装置104のCPU201は、取得したSPAに登録されているプロトタイプデータを表示する。具体的なプロトタイプデータの表示例が、
図11(b)で前述した遷移先画面である画面1110である。以上で、
図4のフローチャートの説明を終了する。
【0061】
次に、
図5を参照して、プログラム開発装置101が本実施形態のプロトタイプアプリケーションを順序立てて表示させる(再生させる)ためのモジュール(以下、再生モジュールと称する)を生成する処理の流れについて説明する。生成される再生モジュールは、複数のイベントを仮想的に順次自動的に実行するモジュールである。すなわち、再生モジュールを実行すると複数のイベントの仮想的な実行により、動画のような自動的な画面遷移が行われる。仮想的なイベント実行は、本番環境とは異なり、本番同様のイベントを実行することなく、イベントに対応するプロトタイプデータの出力を実行する。この処理は、
図3でプロトタイプアプリケーションが生成された後で実行されるフローチャートである。
【0062】
S501において、プログラム開発装置101のCPU201は、再生モジュールを生成するための再生情報定義受付処理(再生情報定義の設定・編集受け付ける処理)を実行する。詳細は
図6において後述する。再生情報定義とは、再生情報定義受付処理でユーザから指示された複数のイベントを順次実行することを指示する指示情報である。
【0063】
S502において、プログラム開発装置101のCPU201は、S501で設定または編集された再生情報定義を保存する要求があったか否かを判定する。保存要求があれば、S503へと処理を遷移し、保存要求がなければ、S504へと処理を遷移する。
【0064】
S503において、プログラム開発装置101のCPU201は、再生情報定義を実行サーバ102に保存する。
【0065】
S504において、プログラム開発装置101のCPU201は、保存した再生情報定義に基づく再生モジュールを生成する要求があったか否かを判定する。再生モジュールの生成要求があれば、S505へと処理を遷移し、再生モジュール生成要求がない場合は、S501へと処理を戻す。
【0066】
S505において、プログラム開発装置101のCPU201は、保存された再生情報定義に対応する再生モジュールのソースコードを生成し、S506でコンパイルし、S507で実行サーバ102にSPAとしてデプロイする。生成された再生モジュールは、実行サーバ102に記録された再生情報定義を参照して動作するように生成される。
【0067】
次に、
図6を参照して、前述した
図5のS501の再生情報定義受付の処理の詳細を説明する。なお、後述する処理において、「イベント」は生成される再生モジュールの実行によって画面に変化を及ぼすものの総称であり、画面サクセス、アクション、吹き出しの表示、プロトタイプデータの表示を含むものとする。
【0068】
S601において、プログラム開発装置101のCPU201は、
図3のS307で生成されたプロトタイプアプリケーションのソースコード(画面定義情報や部品情報、画面遷移情報、プロトタイプデータを含む)を読み込み、出力部210(ディスプレイ)に再生情報の編集画面を表示する。
【0069】
図14(a)に再生情報の編集画面(プロトタイプ動作記録の編集画面)の表示例を示す。
【0070】
UI定義選択エリア1410はプロトタイプアプリケーションまたは対応する本願用アプリケーションに定義されているUI定義(画面)を選択肢として表示する領域である。プロトタイプアプリケーションのソースコードから取得された少なくとも1つのUI定義が、UI定義選択エリアに一覧で表示される。図示の例では、UI定義選択エリア1410に、選択項目1411~1414が表示されている。選択項目1411は“MENU”であり、本番用アプリケーションにおける複数のメニュー項目が定義されたメニュー画面のUI定義を選択する項目である。選択項目1412は“ML_QUERY”であり、メーリングリストアドレスをデータベースなどから検索する画面のUI定義を選択する項目である。選択項目1413は“MEMBER_LIST”であり、参加しているメーリングリストのメンバを一覧で表示する画面のUI定義を選択する項目である。選択項目1414は“MEMBER_EDIT”であり、参加しているメーリングリストのメンバを編集する画面のUI定義の選択項目である。UI定義選択エリア1410に表示される選択肢は、本番用アプリケーションソフトウェアを作成する際に定義された複数の画面にそれぞれ対応する複数の選択肢である。
【0071】
アクション選択エリア1420は、UI定義選択エリア1410で選択されたUI定義に含まれるアクション(動作)を選択肢(選択項目)として表示する領域である。このように、プロトタイプアプリケーションのUI定義を取得することで、プロトタイプアプリケーションで実行するアクションを一覧で表示でき、後述するアクション選択が容易に可能となる。各アクションはそれぞれ、本番用アプリケーションで行われる特定の処理を示すものである。
プレビューエリア1430は、選択されたUI定義に定義されたGUI部品(表示要素)を用いて、選択されたUI定義に定義された画面が表示される領域である。また、再生順序指定エリア1440に吹き出しと値セットが登録されている場合には、これらもUI定義に定義された画面上に表示し、どのように吹き出しや値が表示されるかを確認できるようになっている。
【0072】
再生順序指定エリア1440は。再生モジュールを実行した場合に順次行われるイベントを上から下の順番で並べて表示した領域である。ユーザは、再生モジュールで実行させたいイベントを実行させたい順に再生順序指定エリア1440に上から下に並べて登録していくことで、所望の順序でイベントを自動実行させる再生モジュールを生成することができる。再生順序指定エリア1440に登録された各イベントは、プログラム開発装置101のRAM202に保持され、保存指示に応じて実行サーバ102に保存される。
図15の再生情報定義1500と再生順序指定エリア1440に表示された各イベントはそれぞれ対応しており、画面アクセス1441は再生情報定義1500の枠1501内に、イベント1442~1445は、再生情報定義1500の枠1502~1505内にそれぞれ対応している。再生情報定義1500は、画面アクセス1441、イベント1442~1445を順次実行することを指示指示する指示情報である。
【0073】
図6のS602において、プログラム開発装置101のCPU201は、UI定義選択エリアに表示されたいずれかの選択肢が選択されたか否かを判定する。UI定義の選択肢がユーザにより選択された場合はS603へと処理を遷移し、そうでない場合はS602へと処理を戻し、UI定義が選択されるのを待つ。
【0074】
S603において、プログラム開発装置101のCPU201は、S602で選択されたUI定義に含まれるアクションを実行サーバ102から取得し、アクション選択エリア1420に表示する。より詳しくは、本番用アプリケーションの各UI定義のうち、S602で選択されたUI定義に含まれるアクションを取得する。
図14(a)の例では、UI定義として選択されている“ML_QUERY”に、検索ボタンが含まれており、検索ボタンのクリックに応じた検索というアクション(動作)が定義づけられている。そのため、アクション選択エリア1420には、“ML_QUERY”の画面を初期表示するアクションの選択項目1421と、検索のアクションの選択項目1422とが表示される。
【0075】
S604において、プログラム開発装置101のCPU201は、S602のUI定義選択で選択されたUI定義(
図14(a)の場合、選択項目1412の“ML_QUERY”)を画面アクセスとして設定してRAMに保持する。再生順序指定エリア1440に表示された画面アクセス1441に対応するイベントが、選択されたUI定義の画面を表示するイベントとなる。
【0076】
S605において、プログラム開発装置101のCPU201は、実行サーバ102から、選択されたUI定義に関連付けて記録された再生情報定義(選択されたUI定義が画面アクセスとして登録された再生情報定義)を取得し、取得した再生情報定義に従って、再生順序指定エリア1440の画面アクセス1441に続いて実行されるイベントとして表示する。選択されたUI定義に関連付けて、以前に再生順序の定義を行っていた場合は。これによって以前保存した再生順序が読み込まれ、それに対して編集を加えることができる。実行サーバ102に、選択されたUI定義に関連付く再生情報定義が記録されていない場合は、新規作成となり、このタイミングでは再生順序指定エリア1440には、画面アクセス1441だけが表示される。また、プレビューエリア1430には、選択されたUI定義に定義されたGUI部品と、再生順序指定エリア1440に表示された吹き出しと値セットがプレビュー表示される。
【0077】
S606において、プログラム開発装置101のCPU201は、画面アクセスエディタ1450を表示し、S602で選択されたUI定義を表示する。
【0078】
S607において、プログラム開発装置101のCPU201は、UI定義が変更されたか否かを判定する。UI定義が変更された場合には、S603へ進み、変更後のUI定義に基づく処理を行う。UI定義選択エリア1410で別の選択項目を選択される、あるいは画面アクセスエディタ1450で別のUI定義が選択されると、UI定義が変更されたと判定する。これによって、別のUI定義に関する再生情報を定義(設定)することができる。S607でUI定義が変更されたと判定されなかった場合はS608へと処理を遷移する。
【0079】
S608において、プログラム開発装置101のCPU201は、再生順序指定エリア1440にイベントを追加する操作が行われたか否かを判定する。イベントを追加する操作は、アクション選択エリア1420でいずれかの選択項目を選択することによりアクションを追加する操作(クリックあるいは再生順序指定エリア1440へのドラッグ&ドロップ)か、追加ボタン1446の押下であるものとする。イベントを追加する操作があった場合にはS609に進み、そうでない場合はS629に進む。
【0080】
S609において、プログラム開発装置101のCPU201は、S608で判定されたイベントの追加操作がアクションを追加する操作だったかを判定する。アクションを追加する操作であった場合はS610へと処理を遷移し、そうでない場合はS611へと処理を遷移する。
【0081】
S610において、プログラム開発装置101のCPU201は、再生順序指定エリア1440に表示済み(登録済み)のイベントの最後尾に、選択されたアクションを追加する。例えば、アクション選択エリア1420の選択項目1422を再生順序指定エリア1440にドラッグ&ドロップすることにより、再生順序指定エリア1440に、選択項目1422が示す「検索」というアクションをイベント1445として追加して表示する。
【0082】
アクションではないイベントの追加操作、すなわち追加ボタン1446の押下であった場合には、S611において、プログラム開発装置101のCPU201は、追加対象の選択肢を表示する。選択肢には、「値セット」と「吹き出し」を含むものとする。
【0083】
S612において、プログラム開発装置101のCPU201は、S611で表示した選択肢のうち、「値セット」と「吹き出し」のいずれが操作されたかを判定する。「値セット」が選択された場合にはS613にしすすみ、そうでない場合、すなわち「吹き出し」が選択された場合はS621に進む。
【0084】
S613において、プログラム開発装置101のCPU201は、再生順序指定エリア1440に表示済み(登録済み)のイベントの最後尾に「値セット」のイベント追加し、追加した「値セット」のイベントを選択状態にして表示する。再生順序に「値セット」のイベントは複数登録することができるため。図示のイベント1442のように、それぞれの値セットを識別するために、通し番号を付して表示される。
【0085】
S614において、プログラム開発装置101のCPU201は、編集画面の右下部分(
図14(a)において画面アクセスエディタ1450が表示されている領域)に値セットエディタ1460を表示する。
図14(b)に値セットエディタ1460を表示した場合の値セットエディタ1460と再生順序指定エリア1440の表示例を示す。
図14(b)は、編集画面の右側の一部分の表示例である。再生順序指定エリア1440では値セットのイベント1442が選択されており、値セットエディタ1460には、選択されているイベント1442の値をセットする対象のGUI部品を選択する対象部品設定欄1461、値を入力する値入力欄1462、再生順序指定エリア1440から選択中の値セットのイベントを削除する指示を受け付ける削除ボタン1463が表示される。
【0086】
S615において、プログラム開発装置101のCPU201は、値をセットする対象部品を選択する操作があったか否かを判断する。対象部品を選択する操作があった場合S616へと処理を遷移し、そうでない場合はS617へ進む。対象部品を選択する操作は、例えば、対象部品設定欄1461を操作することで表示されるプルダウンメニューに表示された選択肢のいずれかを選択することで行う。なお、ユーザが対象部品を選択する操作を行う前は、デフォルト(初期設定)で、選択されているUI定義画面に含まれるGUI部品のいずれかが選択されるものとする。
【0087】
S616において、プログラム開発装置101のCPU201は、S615で判定された対象部品を選択する操作に応じて、値をセットする対象部品を変更する処理を行う。具体的には、値セットエディタ1460の対象部品設定欄1461に変更後の対象部品名を表示し、値入力欄1462に、変更後の部品に既に入力されていた値を表示する。この値は、
図15に例示した再生情報定義に記録された値を取得して表示する。再生定義情報に値として表示するデータが記録されていない新規のGUI部品である場合は、値入力欄1462の初期値は空欄となる。
【0088】
S617において、プログラム開発装置101のCPU201は、値入力欄1462に値を入力する操作(対象部品に対する値を入力する操作)があったか否かを判定する。値を入力する操作があった場合にはS618へ進み、そうでない場合にはS619へと処理を遷移する。値の入力は例えば、値入力欄1462を選択してキーボードなどで文字列を入力することにより行う。
【0089】
S618において、プログラム開発装置101のCPU201は、値入力欄1462に入力された値を再生情報定義に記録(登録)する。また、入力された値をプレビューエリア1430に表示された対象部品に表示する。
図14(b)の例では、対象部品として「ML_ADDRESS」が選択され、値入力欄1462に「dev」と入力されているので、
図15の再生情報定義1500の枠1502内のように情報が登録される。また、プレビューエリア1430では、対象部品であるGUI部品1431(「MLアドレス」)に値入力欄1462に入力された文字列「dev」が表示されている。
【0090】
S619において、プログラム開発装置101のCPU201は、削除ボタン1463が押下されたか否かを判定する。削除ボタン1463が押下された場合にはS620へ進み、そうでない場合はS608へ進む。
【0091】
S620では、プログラム開発装置101のCPU201は、再生順序指定エリア1440から選択されている値セットを削除する。同時に、
図15の再生情報定義1500からも対応する情報を削除する。これによって、再生モジュールを実行した場合に、削除されたイベントに対応する画面遷移は行われなくなる。
【0092】
S621において、プログラム開発装置101のCPU201は、再生順序指定エリア1440に表示済み(登録済み)のイベントの最後尾に「吹き出し」のイベント追加し、追加した「吹き出し」のイベントを選択状態にして表示する。再生順序に「吹き出し」のイベントは複数登録することができるため。図示のイベント1443やイベント1444のように、それぞれの吹き出しを識別するために、通し番号を付して表示される。
【0093】
S622において、プログラム開発装置101のCPU201は、編集画面の右下部分(
図14(a)において画面アクセスエディタ1450が表示されている領域)に値セット吹き出しエディタ1470を表示する。
図14(c)に吹き出しエディタ1470を表示した場合の吹き出しエディタ1470と再生順序指定エリア1440の表示例を示す。
図14(c)は、編集画面の右側の一部分の表示例である。再生順序指定エリア1440では吹き出しのイベント1443が選択されており、吹き出しエディタ1470には、選択されているイベント1443が示す吹き出しを表示する対象のGUI部品を選択する対象部品設定欄1471が表示される。また、値を入力する値入力欄1472、再生順序指定エリア1440から選択中の吹き出しのイベントを削除する指示を受け付ける削除ボタン1473が表示される。なお、本実施形態では、GUI部品に対して吹き出しという形態で付加情報(値入力欄1472に入力された文字列)を表示するイベントを追加できる例を説明したが、付加情報の表示形式は吹き出しに限るものではない。引出線を付けた先に付加情報を表示したり、注釈番号を付して注釈を記載するなどでもよい。
【0094】
S623において、プログラム開発装置101のCPU201は、吹き出しを表示する対象部品を選択する操作があったか否かを判断する。対象部品を選択する操作があった場合S624へと処理を遷移し、そうでない場合はS625へ進む。対象部品を選択する操作は、例えば、対象部品設定欄1471を操作することで表示されるプルダウンメニューに表示された選択肢のいずれかを選択することで行う。なお、ユーザが対象部品を選択する操作を行う前は、デフォルト(初期設定)で、選択されているUI定義画面に含まれるGUI部品のいずれかが選択されるものとする。
【0095】
S624において、プログラム開発装置101のCPU201は、S623で判定された対象部品を選択する操作に応じて、吹き出しを表示する対象部品を変更する処理を行う。具体的には、吹き出しエディタ1470の対象部品設定欄1471に変更後の対象部品名を表示し、値入力欄1472に、変更後の部品に既に入力されていた吹き出しの値を
図15の再生情報定義から読みだして表示する。新規に吹き出しが追加された部品であれば、値入力欄1472の初期値は空欄となる。
【0096】
S625において、プログラム開発装置101のCPU201は、値入力欄1472に値を入力する操作があったか否かを判定する。値を入力する操作があった場合にはS626へ進み、そうでない場合にはS627へと処理を遷移する。値の入力は例えば、値入力欄1472を選択してキーボードなどで文字列を入力することにより行う。
【0097】
S626において、プログラム開発装置101のCPU201は、値入力欄1472に入力された値を再生モジュールの生成に用いる再生情報定義に記録もしくは上書き保存する。また、入力された値をプレビューエリア1430に表示された吹き出し(選択された対象部品からの吹き出し)に表示する。
図14(c)の例では、対象部品として「ML_ADDRESS」が選択され、値入力欄1472に「MLアドレスを前方一致で入力します」と入力されているので、
図15の再生情報定義1500の枠1503内のように情報が登録される。また、プレビューエリア1430では、対象部品であるGUI部品1431(「MLアドレス」)に対して表示された吹き出し1418に、値入力欄1472に入力された文字列が表示されている。
【0098】
S627において、プログラム開発装置101のCPU201は、削除ボタン1473が押下されたか否かを判定する。削除ボタン1473が押下された場合にはS628へ進み、そうでない場合はS608へ進む。
【0099】
S628では、プログラム開発装置101のCPU201は、再生順序指定エリア1440から選択されている吹き出しを削除する。また、プレビューエリア1430からも該当する吹き出しを削除する。同時に、
図15の再生情報定義1500からも対応する情報を削除する。これによって、再生モジュールを実行した場合に、削除されたイベントに対応する吹き出しの表示は行われなくなる。
【0100】
S629へと処理を遷移すると、プログラム開発装置101のCPU201は、再生順序指定エリア1440の画面アクセス1441を選択する操作があったか否かを判定する。画面アクセス1441が選択された場合は、S630へと処理を遷移し、そうでない場合はS631へと処理を遷移する。
【0101】
S630において、プログラム開発装置101のCPU201は、再生順序指定エリア1440の画面アクセス1441を選択状態で表示して、S606に遷移する。そして、S606で画面アクセスエディタ1450を表示する。すなわち、値セットエディタ1460または吹き出しエディタ1470が表示されている場合に画面アクセス1441が選択されると、値セットエディタ1460または吹き出しエディタ1470に代わって画面アクセスエディタ1450が表示される。
【0102】
S631において、プログラム開発装置101のCPU201は、再生順序指定エリア1440に表示されたイベントのうち、値セットのイベントを選択する操作と、プレビューエリア1430に表示された値セットが表示されたGUI部品を選択する操作のいずれかがあったか否かを判定する。いずれかの操作があった場合には、S632において、再生順序指定エリア1440における、S631での選択に対応する値セットのイベントを選択状態で表示して、S614に遷移する。そして、S614で値セットエディタ1460を表示する。すなわち、画面アクセスエディタ1450または吹き出しエディタ1470が表示されている場合に値セットに対応するイベントが選択されると、画面アクセスエディタ1450または吹き出しエディタ1470に代わって値セットエディタ1460が表示される。
【0103】
S633において、プログラム開発装置101のCPU201は、再生順序指定エリア1440に表示されたイベントのうち、吹き出しのイベントを選択する操作と、プレビューエリア1430に表示された吹き出しを選択する操作のいずれかがあったか否かを判定する。いずれかの操作があった場合には、S634において、再生順序指定エリア1440における、S633での選択に対応する吹き出しのイベントを選択状態で表示して、S623に遷移する。そして、S623で吹き出しエディタ1470を表示する。すなわち、画面アクセスエディタ1450または値セットエディタ1460が表示されている場合に吹き出しに対応するイベントが選択されると、画面アクセスエディタ1450または値セットエディタ1460に代わって吹き出しエディタ1470が表示される。
【0104】
S635において、プログラム開発装置101のCPU201は、再生順序指定エリア1440に表示されたイベントのうち、アクションを削除する操作があったか否かを判定する。アクションを削除する操作があった場合は、S636へと処理を遷移し、そうでない場合はS637へと処理を遷移する。アクションを削除する操作は、例えば、ユーザがマウスで再生順序指定エリア1440のアクションのイベントを選択し、キーボードの[DEL](デリートキー)などの押下する操作である。
【0105】
S636において、プログラム開発装置101のCPU201は、再生順序指定エリア1440ら対象のアクションのイベントを削除する。同時に、
図15の再生情報定義1500からも対応するイベントの情報を削除する。例えば再生順序指定エリア1440において検索のアクションであるイベント1445が削除されると、再生情報定義1500のうち枠1505内の情報を削除する。その後、S608へ進む。
【0106】
S637において、プログラム開発装置101のCPU201は、プレビューエリア1430に表示されている吹き出しのサイズや位置を変更する操作を受け付けたかを判断する。吹き出しのサイズか位置を変更する操作を受け付けると、S638へと処理を遷移し、そうでない場合は、S639へと処理を遷移する。具体的には、たとえば、ユーザがマウスでプレビューエリア1430に表示された吹き出しを選択し、吹き出しをマウスでドラッグ・アンド・ドロップすることで吹き出しの表示位置を変更することができる。吹き出しの吹き出し元である対象のGUI部品はこの操作では変更されない。また、プレビューエリア1430に表示された吹き出しの四隅に表示されるマークをマウスでドラッグ・アンド・ドロップする操作によって、吹き出しを拡大または縮小してサイズを変更することができる。
【0107】
S638において、プログラム開発装置101のCPU201は、S637で受け付けた操作に応じて、選択された吹き出しのサイズや位置を変更する。変更されたサイズ・位置を再生情報定義1500に記録する。その後、S608へ進む。
【0108】
S639において、プログラム開発装置101のCPU201は、再生順序の並び替え操作(順序の指定操作)を受け付けたか否かを判定する。並び替え操作があった場合にはS640へと処理を遷移し、そうでない場合には、S640へと処理を遷移する。並び替え操作は、たとえば、ユーザがマウスで再生順序指定エリア1440内のいずれかのイベントを再生順序指定エリア1440内でドラッグ・アンド・ドロップで移動し、他のイベントとの順序を入れ替える操作である。
【0109】
S640において、プログラム開発装置101のCPU201は、S639で受け付けた操作に応じて、再生順序指定エリア1440に表示されるイベントの表示位置を並べ替える。変更された順序を再生情報定義1500に記録する(「再生順」の情報を、変更後の再生順序通りの情報に更新する)。その後、S608へ進む。なお、最初に行うイベント(再生順序が1番目のイベント)は、画面アクセス1441から変更できないものとする。
【0110】
S641において、プログラム開発装置101のCPU201は、
図4(a)に示した編集画面を閉じて再生情報定義受付処理を終了させる指示があったか否かを判定する。たとえば、
図14(a)の終了ボタン1401などが押下されると終了させる指示があったと判定する。終了させる指示があった場合は
図6のフローチャートの処理を終える。そうでない場合にはS642へ進む。
【0111】
S642では、プログラム開発装置101のCPU201は、値セットエディタ1460が表示されているか否かを判定する。値セットエディタ1460が表示されている場合にはS615に進み、そうでない場合にはS643へ進む。
【0112】
S642では、プログラム開発装置101のCPU201は、吹き出しエディタ1470が表示されているか否かを判定する。吹き出しエディタ1470が表示されている場合にはS623に進み、そうでない場合にはS607へ進む。
【0113】
図6、
図14を用いて説明した処理により、再生モジュールの再生情報定義を容易に設定、編集することができる。
【0114】
次に、
図7を参照して、クライアント装置104が
図5で生成された再生モジュールを実行することによる再生処理のフローチャートを示す。
【0115】
S701において、クライアント装置104のCPU201は、S309で実行サーバ102にデプロイされた再生モジュールを含むプロトタイプアプリケーションのSPAを取得する。
【0116】
S702において。取得したSPAに含まれる再生モジュールの再生要求を受け付ける画面を表示する。この時の表示例を
図16(a)に示す。
【0117】
S703において、クライアント装置104のCPU201は、プロトタイプアプリケーション再生要求を受け付けたか否かを判定する。
図16(a)のボタン1601に対する操作があった場合には再生要求があったと判定してS704に進み、そうでない場合にはS702に戻る。なお、再生要求を受け付けない場合、
図16(a)の例にある「検索」ボタンの押下に応じて、対応するプロトタイプデータを表示するといったように、通常のプロトタイプアプリケーションと同様に機能させることもできる。
【0118】
S704において、クライアント装置104のCPU201は、再生モジュールに対応する再生情報定義を実行サーバ102から取得する。
【0119】
S705において、取得した再生情報定義に定義されたイベントを順番に1つずつ取得する。最初にS705に遷移した場合は1番目のイベント、すなわち再生アクセスを取得する。再生アクセスは対象となる画面定義UIの画面を表示する処理である。
【0120】
S706では、クライアント装置104のCPU201は、S705で取得したイベントが画面遷移を伴うイベントであるか否かを判定する。画面定義を伴うイベントであればS707に進み、そうでない場合はS708に進む。
【0121】
S707では、クライアント装置104のCPU201は、S705で取得したイベントを実行する。取得したイベントが画面アクセスであれば、対象となるUI定義画面に従って画面を表示する。取得したイベントが吹き出しであれば、再生情報定義に記録された定義に従って、対象となるGUI部品に吹き出しを表示する。取得したイベントが値入力(値セット)であれば、対象となるGUI部品にプロトタイプデータまたは再生情報定義に従った値を表示する。取得したイベントがアクション(本番環境ではユーザの操作をトリガーに行われるイベント)であればそのアクションに対応するプロトタイプデータの表示を行う。アクションが画面遷移を伴うものであれば、S707で遷移先の画面に切り替えたうえで、アクションに定義されたプロトタイプデータを表示する処理を行う。
【0122】
S709では、クライアント装置104のCPU201は。S705で取得したイベントが、再生情報定義における順番が最後のイベントであったか否かを判定する。最後でないと判定した場合にはS706に進んで、次のイベントを取得して実行する。なお、S709からS705への遷移は、予め設定された所定時間(例えば2秒)が経過してから遷移するものとする。これによって、再生情報定義に定義された複数のイベントが所定時間おき(例えば2秒ごと)に順次実行される。なお、遷移待機時間であるこの所定時間は固定である例を説明したが。これに限るものではなく、前出した
図14の編集画面などでユーザがイベント毎に可変に設定できるようにしてもよい。S709で最後の処理であると判定した場合は
図7の処理を終了する。
【0123】
図16(b)~
図16(d)、
図17(a)、
図17(b)に、前述した
図15の再生情報定義1500に従った再生モジュールの実行が行われた場合の画面遷移例を示す。再生モジュールの実行(再生)が行われると、再生情報定義1500に従って、
図16(b)が表示され、所定時間後に
図16(c)に表示が遷移し、さらにその後に
図16(d)、
図17(a)、
図17(b)という順で表示が自動的に遷移する。
【0124】
図16(b)は、再生情報定義1500の再生順が1番目である、枠1501内に記録された情報に基づく表示であり、UI_QUERYのUI画面定義に従った画面表示である。この表示は、SPAに記録された画面定義情報を参照して、UI_QUERYに定義された情報に基づいて行われる。
【0125】
図16(b)は、再生情報定義1500の再生順が2番目である、枠1502内に記録された情報に基づく表示である。より詳しくは、入力ターゲットであるML_ADDRESSで示されるGUI部品に対して、再生情報定義1500に記録された入力値である「Dev」という文字列を、枠1621内に示すように表示したものである。ML_ADDRESSで示されるGUI部品は、本番用アプリケーションではユーザからのデータ入力を受け付ける入力領域である。しかし、再生モジュールを実行した場合には、再生モジュールの再生を見ているユーザ(顧客)がデータ入力をしなくても自動的に「Dev」という文字列が表示される。
【0126】
図16(d)は、再生情報定義1500の再生順が3番目である枠1503に記録された情報に基づく表示を行い、さらにその後、再生順が4番目である枠1504に記録された情報に基づく表示を行った例である。より詳しくは、枠1503が示す情報に従って、吹き出しターゲットであるML_ADDRESSで示されるGUI部品に対して、再生情報定義1500に記録された吹き出し文字列が、吹き出し1631に示すように表示されている。また、枠1504が示す情報に従って、吹き出しターゲットであるSEARCN_BUTTONで示されるGUI部品(検索ボタン1616)に対して、再生情報定義1500に記録された吹き出し文字列が、吹き出し1632に示すように表示されている。
【0127】
図17(a)は、再生情報定義1500の再生順が5番目である枠1505に記録された情報に基づく表示を行い、さらにその後、再生順が6番目として記録された情報(不図示)に基づく表示を行った例である。より詳しくは、枠1505が示す情報に従って、実行ターゲットであるSEARCN_BUTTONが示すGUI部品(検索ボタン1616)に対して、実行処理に示す操作であるクリックが行われた場合のアクションに対応づいて記録されたプロトタイプデータの表示を行う。なお、検索ボタン1616のクリックというアクションには、画面遷移が定義されていないため、S706ではNoと判定され、画面遷移をすることなく、検索ボタン1616のクリックというアクションに対応付けて記録されたプロトタイプデータ1701が表示される。なお、本番環境のアプリケーションであれば検索ボタンのクリックに応じて、データベースにアクセスして、ML_ADDRESSで示されるGUI部品に対して入力された文字列を検索キーとして検索する処理を行う。これに対し、この再生モジュールの実行においては、データベースにアクセスして、ML_ADDRESSで示されるGUI部品に対して入力された文字列を検索キーとして検索する処理は行わず、対応するプロトタイプアプリケーションを表示するという処理が行われる。その後、再生順が6番目であるイベントに従って吹き出しが表示される。
図17(b)は、再生情報定義1500の再生順が6番目以降である情報に基づく表示を行った例である。より詳しくは、
図17(a)でリンク先を示すプロトタイプデータのクックというイベントを実行し、その後、吹き出しを表示するイベントを2つ実行した後の表示例である。リンク先のクリックというアクションは画面遷移を伴うものとして定義されているため、
図7のS706はYesと判定され、S707で遷移先の画面である画面1710を表示する。その後、画面1710に、リンク先のクリックに対応づけて記録されているプロトタイプデータ1711を表示する。なお、本番環境のアプリケーションであればリンク先のクリックに応じて、クリックしたリンク先にアクセスする処理を行う。これに対し、この再生モジュールの実行においてはリンク先にアクセスする処理は行わず、対応するプロトタイプアプリケーションを表示するという処理が行われる。その後、吹き出しを表示するイベントを2つ実行すると
図17(b)の表示となる。
以上の処理により、本番用のアプリケーションソフトウェアにおける複数のイベントの実行を仮想的に見ることのできるコンテンツ(再生モジュール)を容易に生成することができる。このコンテンツを顧客(本番用アプリケーションを提供される側のユーザ)が見ることで、顧客は、本願用のアプリケーションにおける複数のイベントの実行がどのように行われるのかを分かりやすく理解することができる。従って本番用アプリケーションの提供元の人材(開発者や営業担当など)が顧客に対して直接説明する手間を省き、効率的に顧客に本番用アプリケーションの動きを理解してもらうことが可能となる。さらに、開発途中で画面の仕様が変わる場合などでも、再生モジュールは変更があったUI定義を読み込んで実行するため、修正にかかる工数を減らすことができる効果を有する。さらに、再生モジュールに更なる編集(吹き出し、値の削除や追加、アクションの追加など)を行いたい場合にも、既存の再生情報定義を読み込んで編集をすればよいので、一から作り直す必要がなく、編集に係る手間を削減することができる。
【0128】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0129】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0130】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0131】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0132】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0133】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0134】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
【0135】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0136】
101 プログラム開発装置
102 実行サーバ
103 データベースサーバ
104 クライアント装置
105 ネットワーク