JP2023075577A - Information processing apparatus, information processing method, and program - Google Patents
Information processing apparatus, information processing method, and program Download PDFInfo
- Publication number
- JP2023075577A JP2023075577A JP2021188564A JP2021188564A JP2023075577A JP 2023075577 A JP2023075577 A JP 2023075577A JP 2021188564 A JP2021188564 A JP 2021188564A JP 2021188564 A JP2021188564 A JP 2021188564A JP 2023075577 A JP2023075577 A JP 2023075577A
- Authority
- JP
- Japan
- Prior art keywords
- screen
- displayed
- event
- information
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、開発中のアプリケーションソフトウェアの動作を仮想的に実行する情報処理装置、情報処理方法およびプログラムに関する。 The present invention relates to an information processing apparatus, information processing method, and program for virtually executing the operation of application software under development.
顧客の為のアプリケーションソフトウェアを作成する場合、顧客の要望を汲み取るために、顧客とのミーティングを重ねてアプリケーションソフトウェアを作成することになる。 When creating application software for a customer, in order to understand the customer's needs, the application software is created through repeated meetings with the customer.
特に、アプリケーションソフトウェアの画面や操作手順は、顧客と開発者とで適宜情報共有され、完成されるアプリケーションソフトウェアのイメージを一致させるべく、プレビューを繰り返すことがある。なお、以下、アプリケーションソフトウェアを省略してアプリケーションと称することもあるものとする。 In particular, screens and operation procedures of application software are appropriately shared between customers and developers, and previews are repeated in order to match the image of the completed application software. Note that the application software may be abbreviated as an application hereinafter.
アプリケーションソフトウェアのプレビューの際に有効な手段が、プロトタイプ開発されたアプリケーション(プロトタイプアプリケーション)である。 An effective means for previewing application software is a prototype developed application (prototype application).
プロトタイプアプリケーションとは、開発段階の本番用アプリケーションソフトウェアを顧客に開示するためのアプリケーションであり、あたかも本番用アプリケーションソフトウェアが動作しているかのように画面遷移させることが可能なアプリケーションである。プロトタイプアプリケーションは、顧客が操作する部品操作(テキスト入力やGUIボタン押下などの画面部品に対する操作)を受け付け、本番用アプリケーションソフトウェアと同じように画面遷移を行う。但し、部品操作に対応するデータの検索や結果の出力などは行わず、予め設定された出力結果などを表示する。画面部品に対する操作に対応するデータの検索や結果の出力などは行わないため、開発者はサーバサイドや本番用アプリケーションソフトウェア内でのビジネスロジックを生成する前に、顧客の望むアプリケーションソフトウェアのイメージを確認することができる。顧客と開発者が本番用アプリケーションソフトウェアの完成イメージを共有できるため、両者での完成イメージの齟齬を少なくさせ、開発の手戻りを減らすことができる。また、MVP(Minimum Viable Product:実用最小限の製品)による開発時には、プロトタイプアプリケーションは、顧客からのフィードバックを早いタイミングで得られるため、不必要な機能の開発に工数を使わず、開発工数の削減に寄与できる。 A prototype application is an application for presenting production application software in the development stage to a customer, and is an application that allows screen transitions as if the production application software were running. The prototype application accepts customer-operated component operations (operations on screen components such as text input and GUI button depression), and performs screen transitions in the same manner as production application software. However, it does not search for data corresponding to component operations or output results, but displays preset output results. Since it does not search for data corresponding to operations on screen parts or output the results, the developer should check the image of the application software desired by the customer before generating business logic on the server side or in the production application software. can do. Since the customer and the developer can share the completed image of the production application software, it is possible to reduce discrepancies in the completed image between the two parties and reduce rework in development. In addition, when developing with MVP (Minimum Viable Product), the prototype application can obtain feedback from customers at an early timing, so it is possible to reduce development man-hours without spending man-hours on developing unnecessary functions. can contribute to
本番用アプリケーションの提供元の人材(開発者や営業担当など)と顧客とが直接会って行う対面でプロトタイプアプリケーションを用いた説明を行う状況のほかに、非対面で、提供元の人材からの直接の説明無しに顧客にプロトタイプアプリケーションを披露する状況もある。非対面で説明なしとすることで効率的に顧客にプロトタイプアプリケーションを披露できる一方、プロトタイプアプリケーションを顧客に頒布するだけでは、提供元の人材からの説明がない分、顧客はプロトタイプアプリケーションの操作方法がわからないといったことや、十分な理解ができないことも考えられる。そこでプロトタイプアプリケーションを顧客に頒布する際に説明書類を添えたり、わかりやすい動画サイトや動画アプリケーションを提供することが考えられる。 In addition to face-to-face explanations using the prototype application, where the human resources (developers, sales representatives, etc.) of the provider of the production application and the customer meet face-to-face, there are non-face-to-face situations where the human resources of the provider directly There are situations in which a prototype application is shown to a customer without any explanation. While the prototype application can be efficiently presented to the customer by not face-to-face and without explanation, the customer does not know how to operate the prototype application because there is no explanation from the provider's personnel if the prototype application is only distributed to the customer. It is also possible that they do not understand or that they do not fully understand. Therefore, when distributing the prototype application to the customer, it is conceivable to attach an explanatory document, or to provide an easy-to-understand video site or video application.
特許文献1は、アプリケーションのリプレイ動画像を作成するための機能を汎用化し、ユーザの所望の部分のリプレイ動画像を作成でき、他のユーザが閲覧できるようにすることが記載されている。 Japanese Patent Laid-Open No. 2004-100003 describes generalizing the function of an application for creating a replay moving image so that a replay moving image of a portion desired by the user can be created and viewed by other users.
特許文献1のように動画として本番用アプリケーションの動作を見れるようにすれば、顧客(本番用アプリケーションを提供される側のユーザ)は、本願用のアプリケーションにおける複数のイベントの実行がどのように行われるのかを分かりやすく理解することができる。例えば、画面の初期表示という第1のイベントの後に、GUIボタンの操作という第2のイベントが発生して画面遷移する様子などを、動画を見ることで確認することができる。しかしながら、特許文献1の場合、アプリケーションの任意の部分のリプレイ動画像を作成するにあたって、本番用アプリケーションソフトウェアが動作可能な状態まで完成しなければリプレイ動画像を作成できない。すなわち、本番用アプリケーションソフトウェア開発中は、サーバサイドのプログラムや本番用アプリケーションソフトウェア内でのビジネスロジックが完成されていないことがあり、リプレイ動画像は確実に作成できるとは限らない。すなわち、本番用のアプリケーションソフトウェアにおける複数のイベントの実行を仮想的に見ることのできるコンテンツを容易に生成することができないという課題があった。
If it is possible to see the operation of the production application as a video as in
そこで本発明は、本番用のアプリケーションソフトウェアにおける複数のイベントの実行を仮想的に見ることのできるコンテンツを容易に生成できるようにすることを目的とする。 SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to facilitate the generation of content that allows users to virtually see the execution of multiple events in production application software.
本発明の情報処理装置は、
アプリケーションソフトウェアで表示される複数の画面のうちいずれかを選択する第1の選択手段と、
前記選択手段で選択された画面に対応づけて記憶された動作のうちいずれかを選択する第2の選択手段と、
前記第1の選択手段で選択された画面を表示する第1のイベントと、
前記第2の選択手段で選択された動作が示す特定の処理に対応するイベントであって、前記特定の処理を実行することなく行われる第2のイベントと
を含む複数のイベントを順次実行することを指示する指示情報を生成するように制御する制御手段と
を有することを特徴とする。
The information processing device of the present invention includes:
first selection means for selecting one of a plurality of screens displayed by application software;
a second selection means for selecting one of the actions stored in association with the screen selected by the selection means;
a first event for displaying the screen selected by the first selection means;
Sequentially executing a plurality of events including: a second event corresponding to a specific process indicated by the action selected by the second selection means, the second event being performed without executing the specific process; and control means for controlling to generate instruction information for instructing.
本発明によれば、本番用のアプリケーションソフトウェアにおける複数のイベントの実行を仮想的に見ることのできるコンテンツを容易に生成することができる。 According to the present invention, it is possible to easily generate content that enables virtual viewing of the execution of a plurality of events in production application software.
以下、図面を参照して本発明の実施形態を詳細に説明する。
<第一実施形態>
図1は、本実施形態のシステム構成図である。本システムには、プログラム開発装置101(開発者がWebアプリケーション生成のために操作する情報処理装置)、実行サーバ102、データベースサーバ103、クライアント装置104を含む。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
<First embodiment>
FIG. 1 is a system configuration diagram of this embodiment. This system includes a program development device 101 (an information processing device operated by a developer to generate a web application), an
プログラム開発装置101は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。プログラム開発装置101は、プログラム生成、アプリケーション生成を行う。
The
なお、本実施形態においては、プログラム開発装置101で生成するアプリケーションソフトウェアはWebアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションソフトウェアや組込みソフトウェアなど、Web技術による通信を利用したアプリケーションソフトウェアでなくてもよい。
In the present embodiment, the application software generated by the
実行サーバ102は、プログラム開発装置101で開発されたアプリケーションソフトウェアを実行する。また、データベースサーバ103と接続して動作することが可能である。
The
データベースサーバ103は、開発されたアプリケーションソフトウェアが使用するデータベースであり、また本実施形愛におけるアプリケーションソフトウェアの開発時にも動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ103は、プログラム開発装置101や、実行サーバ102と同一の装置で構成されていてもよいし、LANなどのネットワーク105内に配置されてもよい。
The
クライアント装置104(情報処理装置)は、実行サーバ102と協調してプログラム開発装置101で開発したアプリケーションプログラムを動作させる、エンドユーザの入力端末である。この、クライアント装置104は、携帯端末などの情報処理装置であってもよいこととする。
The client device 104 (information processing device) is an end-user input terminal that operates an application program developed by the
なお、プログラム開発装置101、実行サーバ102、データベースサーバ103、および、クライアント装置104の何れかを、クラウドなどのインターネット上に配置してもよいし、いくつかの情報処理装置を一つの筐体としてもよい。
Any one of the
図2は、本発明に係わるプログラム開発装置101、実行サーバ102、データベースサーバ103、クライアント装置104として適用可能な各ハードウェア構成の一例を示すブロック図である。
FIG. 2 is a block diagram showing an example of each hardware configuration applicable as the
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。
In FIG. 2, a
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
The
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
A
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイス、タッチパネルが挙げられる。
The
なお、入力部209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。
If the
また、タッチパネルは、マルチタッチスクリーン等の、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。 Also, the touch panel may be a touch panel, such as a multi-touch screen, capable of detecting positions touched by a plurality of fingers.
出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。尚、本体と一体になったノート型パソコンのディスプレイも含まれるものとする。また、プロジェクタであってもよいこととする。
The
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーションソフトウェア、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。外部メモリ211には、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。
An
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、出力部210上での表示を可能としている。また、CPU201は、出力部210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
It should be noted that the
通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
A communication I/
本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
A
次の図3から図4を参照して、Webアプリケーションソフトウェア(本番用アプリケーション)のプロトタイプアプリケーションを生成する手順を説明する。図3~図4の処理は、プログラム開発装置101のCPU201が、ROM203に記録され、RAM202に展開されたプログラムを実行することにより各処理を実行する。
A procedure for generating a prototype application of Web application software (production application) will be described with reference to FIGS. 3 and 4 below. 3 and 4 are executed by the
図3は、Webアプリケーションソフトウェア(以下、Webアプリケーションと略す)の生成処理のうち、プロトタイプアプリケーション生成処理に関する部分のフローチャートの一例を示す図である。 FIG. 3 is a diagram showing an example of a flowchart of a part related to prototype application generation processing in generation processing of web application software (hereinafter abbreviated as web application).
S301では、プログラム開発装置101のCPU201は、開発者によりWebアプリケーションの画面定義の入力を受け付ける。この処理は、生成されるWebアプリケーションの画面のどの位置にどのような画面部品を配置(レイアウト)するか、各画面部品にどのような機能を持たせるかの指示をユーザから受け付ける処理である。図8を参照して、S301の処理を説明する。
In S301, the
図8(a)の画面800の左側にある部品パレット部801は画面に配置する部品(GUI部品)の一覧であり、ユーザはこの中からWEBアプリケーションの画面に配置するGUI部品を選択する。右側の画面定義エディタ部802はWebアプリケーションの画面に表示される表示画面を編集する領域である。図8は、ユーザIDと名前をデータベースなどに登録させる処理を実行するWebアプリケーションを生成している例である。
A
たとえば、開発者がWebアプリケーションの表示画面にボタンアイコン805を配置する場合、部品パレット部801内のボタン部品を矢印803のようにドラッグ&ドロップして配置する。同様にテキスト入力が可能なテキストボックス806を図示の位置に配置することにより、画面部品配置例804が生成される。なお、画面部品の配置方法は、部品パレット部801から画面定義エディタ部802へのドラッグ&ドロップに限らず、既に配置した部品を移動する方法や、既に配置した部品をコピー&ペーストにより複製する方法であってもよい。また、一度配置した部品を削除できてもよい。
For example, when the developer arranges the
画面定義エディタ部802に配置された部品の中でアクションイベントを含む部品(たとえば、ボタンアイコン805など)がある場合は、ボタンに対するアクションを登録する。具体的には、ボタンアイコン805において、マウスの右クリックもしくはマウスオーバで所定時間経過すると、アイコン811を表示する。表示されたアイコン811をユーザがクリックすると登録画面812(登録ダイアログ)を表示する。図8(b)は、表示された登録画面812に、ユーザが[名前]項目として「登録」と入力し、[タイプ]項目としてドロップダウンメニューから「ボタン」、[次画面]項目として、ドロップダウンメニューから「ユーザ一覧画面」を選択している例である。すなわち、図8の登録画面812は、「登録」と言う名前のボタンアイコン805が押下されると、「ユーザ一覧画面」に遷移するという内容を登録した例である。この画面で生成される画面のJSONデータの例を図12を参照して説明する。
If there is a component including an action event (for example, the button icon 805) among the components arranged in the screen
図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のフローチャートの説明に戻る。
FIG. 12 is an example of the JSON data extracted from the screen of FIG. In the JSON code of FIG. 12, “instance003” surrounded by a
図3のS302において、プログラム開発装置101のCPU201は、プロトタイプアプリケーション実行時に画面に表示するプロトタイプデータの入力要求があったか否かを判定する。プロトタイプデータとは、プロトタイプアプリケーションを実行する際にWebアプリケーション画面に表示されるデータであり、開発者により、例として予め設定されている値や図である。つまり、プロトタイプデータとは、本番環境のようにデータベースからデータを検索したり、算出したデータ結果から作図をしたりするものではない。プロトタイプデータは、アプリケーション開発ツールを介して、開発者によって予め入力設定または配置される。S302において、プロトタイプデータを入力する要求があった場合にはS303へと遷移し、プロトタイプデータを入力する要求がない場合は、S304へと処理を遷移する。図8(c)を参照して、ユーザからプロトタイプデータの入力要求がある場合の画面表示例を説明する。
In S302 of FIG. 3, the
図8(c)は、プロトタイプデータ入力要求時の画面表示例である。画面820のボタンアイコン805にマウスオーバした状態で、マウスの右クリックもしくはマウスオーバで所定時間経過すると、アイコン821aを表示する。表示されたアイコン821aをユーザがクリックすると選択肢821bを表示する。選択肢821bは「クリックされた時」と表記された選択肢である。選択肢821bを選択して押下(マウスクリック)することによりプロトタイプデータの入力要求がなされる。プロトタイプデータが入力されると、本番用アプリケーションの提供側人材(開発者や営業担当など)がデモなどでプロトタイプアプリケーションを実行した際に、ボタンアイコン805を押下すると、同じ画面にプロトタイプデータを表示したり、遷移先画面にプロトタイプデータを表示した画面を表示することができる。本実施形態では、遷移先画面(図9)にプロトタイプデータが表示される例を説明する。なお、アイコン821aと同じ機能はアイコン822を押下しても可能である。アイコン822を押下した場合は、図9(a)の領域906に選択肢821bと同じ選択肢を表示する。図3のフローチャートの説明に戻る。
FIG. 8(c) is an example of a screen display when requesting input of prototype data. With the mouse over the
図3のS303において、プログラム開発装置101のCPU201は、S302で指定されたアクション(選択された選択肢821b、すなわち、「クリックされた時」が示すアクションであるボタンアイコンの押下)により表示されるプロトタイプデータの入力を受け付ける。プロトタイプデータの入力を受け付ける処理を、図9、図10を参照して説明する。
In S303 of FIG. 3, the
図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”に該当する。
9 and 10 are screen examples for explaining the process of inputting prototype data. Since the next transition screen of the
図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を参照して説明する。
In FIG. 9B, when the user wants to input prototype data, the item to be input (
図13は、図10(b)に図示した入力例の入力が行われた後のJSONデータの抜粋した例である。図13のJSONコードの内、枠1302内の“actions”というキーに対応する値には、本番用Webアプリケーションで動作、表示する処理が記述されている。枠1301内の“examples”というキーに対応する値には、プロトタイプアプリケーション実施時に表示されるデータが登録されており、インポート欄1022に登録されているデータが枠1301内に登録されている。
FIG. 13 is an example of extracted JSON data after the input example shown in FIG. 10(b) has been entered. In the JSON code of FIG. 13, the value corresponding to the key "actions" in the
図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のフローチャートの説明に戻る。
FIGS. 11A and 11B show display examples when the generated prototype application is executed. The
図3のS304において、プログラム開発装置101のCPU201は、画面定義(部品の配置など)やプロトタイプデータを保存する要求(図示しない保存ボタンの押下)があったかどうかを判断する。保存要求があった場合はS305へと処理を遷移し、保存要求がない場合はS306へと処理を進める。
In S304 of FIG. 3, the
S305において、プログラム開発装置101のCPU201は、画面定義情報やプロトタイプデータを保存する。
In S305, the
S306において、プログラム開発装置101のCPU201は、プロトタイプアプリケーション生成要求があったかを判定する。プロトタイプアプリケーション生成要求があったと判定した場合には、S307に遷移する。一方、プロトタイプアプリケーション生成要求がなかった場合には、S301に遷移する。
In S306, the
S307において、プログラム開発装置101のCPU201は、プロトタイプアプリケーションのソースコードを生成する。ソースコード生成の際に、S305で保存した画面定義や画面遷移定義、プロトタイプデータなどを読み込んでソースコードを生成する。
In S307, the
S308において、プログラム開発装置101のCPU201は、S507において生成したソースコードのコンパイルを行う。
In S308, the
S309において、プログラム開発装置101のCPU201は、S508においてコンパイルしたプロトタイプアプリケーションを実行サーバ102にデプロイする。こうして、プロトタイプアプリケーションが生成される。なお、生成されたプログラム(プロトタイプアプリケーション)は、クライアントで動作するSPA(Single Page Application)としてデプロイしても良い。図4以降ではSPAとしてデプロイされた例として説明する。以上で図3のフローチャートの説明を終了する。
In S<b>309 , the
次に、図4を参照して、クライアント装置104がプロトタイプアプリケーション実行する際の処理の流れを説明する。
Next, the flow of processing when the
図4のフローチャートは、前述した図3の処理によって生成されて実行サーバにデプロイされたプロトタイプアプリケーションに、クライアント装置104のWebブラウザからユーザのアクセスがあった際に開始される処理の流れである。なお、以下でSPAと記載するものは、図3で生成されたプロトタイプアプリケーションであるものとする。 The flowchart in FIG. 4 shows the flow of processing that is started when a user accesses the prototype application generated by the processing in FIG. It should be noted that what is described as SPA below is the prototype application generated in FIG.
S401において、クライアント装置104のCPU201は、実行サーバにデプロイされたSPAを取得し、SPAの実行画面をクライアント装置104の出力部210(ディスプレイ)に表示する。これによって前述した図11(a)のような表示が行われる。
In S<b>401 , the
S402において、クライアント装置104のCPU201は、ユーザによるアクション実行要求を受付ける。具体的には、図11(a)の登録ボタン1101の押下などを受け付ける。このとき、ユーザは本番用のWebアプリケーションを使用した際のイメージを再現するための動作イメージを確認することが目的であるため、先にも述べたようにID入力欄1102や名前入力欄1103にはユーザによる入力は必ずしも必要ではない。
In S402, the
S403において、クライアント装置104のCPU201は、ユーザによるアクション実行要求があったかを判定する。具体的には、図11(a)の登録ボタン1101が押下されたかなどを判定する。アクション実行要求があった(登録ボタン1101が押下された)と判定した場合は、S404に遷移し、ユーザによるアクション実行要求がなかった場合は、S402へと処理を戻す。
In S403, the
S404において、クライアント装置104のCPU201は、S402で受け付けたアクション実行要求が画面遷移を伴うかを判定する。アクション実行要求が画面遷移を伴うと判定した場合は、S406に遷移し、アクションが画面遷移を伴わない場合は、S407に遷移する。
In S404, the
S405において、クライアント装置104のCPU201は、アクション実行要求に伴う遷移先の画面を表示する。
In S405, the
S406において、クライアント装置104のCPU201は、取得したSPAに登録されているプロトタイプデータを表示する。具体的なプロトタイプデータの表示例が、図11(b)で前述した遷移先画面である画面1110である。以上で、図4のフローチャートの説明を終了する。
In S406, the
次に、図5を参照して、プログラム開発装置101が本実施形態のプロトタイプアプリケーションを順序立てて表示させる(再生させる)ためのモジュール(以下、再生モジュールと称する)を生成する処理の流れについて説明する。生成される再生モジュールは、複数のイベントを仮想的に順次自動的に実行するモジュールである。すなわち、再生モジュールを実行すると複数のイベントの仮想的な実行により、動画のような自動的な画面遷移が行われる。仮想的なイベント実行は、本番環境とは異なり、本番同様のイベントを実行することなく、イベントに対応するプロトタイプデータの出力を実行する。この処理は、図3でプロトタイプアプリケーションが生成された後で実行されるフローチャートである。
Next, referring to FIG. 5, the flow of processing for generating a module (hereinafter referred to as a reproduction module) for displaying (reproducing) the prototype applications of the present embodiment in order by the
S501において、プログラム開発装置101のCPU201は、再生モジュールを生成するための再生情報定義受付処理(再生情報定義の設定・編集受け付ける処理)を実行する。詳細は図6において後述する。再生情報定義とは、再生情報定義受付処理でユーザから指示された複数のイベントを順次実行することを指示する指示情報である。
In S501, the
S502において、プログラム開発装置101のCPU201は、S501で設定または編集された再生情報定義を保存する要求があったか否かを判定する。保存要求があれば、S503へと処理を遷移し、保存要求がなければ、S504へと処理を遷移する。
In S502, the
S503において、プログラム開発装置101のCPU201は、再生情報定義を実行サーバ102に保存する。
In S<b>503 , the
S504において、プログラム開発装置101のCPU201は、保存した再生情報定義に基づく再生モジュールを生成する要求があったか否かを判定する。再生モジュールの生成要求があれば、S505へと処理を遷移し、再生モジュール生成要求がない場合は、S501へと処理を戻す。
In S504, the
S505において、プログラム開発装置101のCPU201は、保存された再生情報定義に対応する再生モジュールのソースコードを生成し、S506でコンパイルし、S507で実行サーバ102にSPAとしてデプロイする。生成された再生モジュールは、実行サーバ102に記録された再生情報定義を参照して動作するように生成される。
In S505, the
次に、図6を参照して、前述した図5のS501の再生情報定義受付の処理の詳細を説明する。なお、後述する処理において、「イベント」は生成される再生モジュールの実行によって画面に変化を及ぼすものの総称であり、画面サクセス、アクション、吹き出しの表示、プロトタイプデータの表示を含むものとする。 Next, with reference to FIG. 6, the details of the reproduction information definition acceptance processing in S501 of FIG. 5 will be described. In the processing to be described later, "event" is a general term for things that change the screen due to execution of a generated playback module, and includes screen success, action, balloon display, and prototype data display.
S601において、プログラム開発装置101のCPU201は、図3のS307で生成されたプロトタイプアプリケーションのソースコード(画面定義情報や部品情報、画面遷移情報、プロトタイプデータを含む)を読み込み、出力部210(ディスプレイ)に再生情報の編集画面を表示する。
In S601, the
図14(a)に再生情報の編集画面(プロトタイプ動作記録の編集画面)の表示例を示す。 FIG. 14(a) shows a display example of a playback information edit screen (prototype operation record edit screen).
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に表示される選択肢は、本番用アプリケーションソフトウェアを作成する際に定義された複数の画面にそれぞれ対応する複数の選択肢である。
A UI
アクション選択エリア1420は、UI定義選択エリア1410で選択されたUI定義に含まれるアクション(動作)を選択肢(選択項目)として表示する領域である。このように、プロトタイプアプリケーションのUI定義を取得することで、プロトタイプアプリケーションで実行するアクションを一覧で表示でき、後述するアクション選択が容易に可能となる。各アクションはそれぞれ、本番用アプリケーションで行われる特定の処理を示すものである。
プレビューエリア1430は、選択されたUI定義に定義されたGUI部品(表示要素)を用いて、選択されたUI定義に定義された画面が表示される領域である。また、再生順序指定エリア1440に吹き出しと値セットが登録されている場合には、これらもUI定義に定義された画面上に表示し、どのように吹き出しや値が表示されるかを確認できるようになっている。
The
The
再生順序指定エリア1440は。再生モジュールを実行した場合に順次行われるイベントを上から下の順番で並べて表示した領域である。ユーザは、再生モジュールで実行させたいイベントを実行させたい順に再生順序指定エリア1440に上から下に並べて登録していくことで、所望の順序でイベントを自動実行させる再生モジュールを生成することができる。再生順序指定エリア1440に登録された各イベントは、プログラム開発装置101のRAM202に保持され、保存指示に応じて実行サーバ102に保存される。図15の再生情報定義1500と再生順序指定エリア1440に表示された各イベントはそれぞれ対応しており、画面アクセス1441は再生情報定義1500の枠1501内に、イベント1442~1445は、再生情報定義1500の枠1502~1505内にそれぞれ対応している。再生情報定義1500は、画面アクセス1441、イベント1442~1445を順次実行することを指示指示する指示情報である。
The playback
図6のS602において、プログラム開発装置101のCPU201は、UI定義選択エリアに表示されたいずれかの選択肢が選択されたか否かを判定する。UI定義の選択肢がユーザにより選択された場合はS603へと処理を遷移し、そうでない場合はS602へと処理を戻し、UI定義が選択されるのを待つ。
In S602 of FIG. 6, the
S603において、プログラム開発装置101のCPU201は、S602で選択されたUI定義に含まれるアクションを実行サーバ102から取得し、アクション選択エリア1420に表示する。より詳しくは、本番用アプリケーションの各UI定義のうち、S602で選択されたUI定義に含まれるアクションを取得する。図14(a)の例では、UI定義として選択されている“ML_QUERY”に、検索ボタンが含まれており、検索ボタンのクリックに応じた検索というアクション(動作)が定義づけられている。そのため、アクション選択エリア1420には、“ML_QUERY”の画面を初期表示するアクションの選択項目1421と、検索のアクションの選択項目1422とが表示される。
In S<b>603 , the
S604において、プログラム開発装置101のCPU201は、S602のUI定義選択で選択されたUI定義(図14(a)の場合、選択項目1412の“ML_QUERY”)を画面アクセスとして設定してRAMに保持する。再生順序指定エリア1440に表示された画面アクセス1441に対応するイベントが、選択されたUI定義の画面を表示するイベントとなる。
In S604, the
S605において、プログラム開発装置101のCPU201は、実行サーバ102から、選択されたUI定義に関連付けて記録された再生情報定義(選択されたUI定義が画面アクセスとして登録された再生情報定義)を取得し、取得した再生情報定義に従って、再生順序指定エリア1440の画面アクセス1441に続いて実行されるイベントとして表示する。選択されたUI定義に関連付けて、以前に再生順序の定義を行っていた場合は。これによって以前保存した再生順序が読み込まれ、それに対して編集を加えることができる。実行サーバ102に、選択されたUI定義に関連付く再生情報定義が記録されていない場合は、新規作成となり、このタイミングでは再生順序指定エリア1440には、画面アクセス1441だけが表示される。また、プレビューエリア1430には、選択されたUI定義に定義されたGUI部品と、再生順序指定エリア1440に表示された吹き出しと値セットがプレビュー表示される。
In S605, the
S606において、プログラム開発装置101のCPU201は、画面アクセスエディタ1450を表示し、S602で選択されたUI定義を表示する。
In S606, the
S607において、プログラム開発装置101のCPU201は、UI定義が変更されたか否かを判定する。UI定義が変更された場合には、S603へ進み、変更後のUI定義に基づく処理を行う。UI定義選択エリア1410で別の選択項目を選択される、あるいは画面アクセスエディタ1450で別のUI定義が選択されると、UI定義が変更されたと判定する。これによって、別のUI定義に関する再生情報を定義(設定)することができる。S607でUI定義が変更されたと判定されなかった場合はS608へと処理を遷移する。
In S607, the
S608において、プログラム開発装置101のCPU201は、再生順序指定エリア1440にイベントを追加する操作が行われたか否かを判定する。イベントを追加する操作は、アクション選択エリア1420でいずれかの選択項目を選択することによりアクションを追加する操作(クリックあるいは再生順序指定エリア1440へのドラッグ&ドロップ)か、追加ボタン1446の押下であるものとする。イベントを追加する操作があった場合にはS609に進み、そうでない場合はS629に進む。
In S<b>608 , the
S609において、プログラム開発装置101のCPU201は、S608で判定されたイベントの追加操作がアクションを追加する操作だったかを判定する。アクションを追加する操作であった場合はS610へと処理を遷移し、そうでない場合はS611へと処理を遷移する。
In S<b>609 , the
S610において、プログラム開発装置101のCPU201は、再生順序指定エリア1440に表示済み(登録済み)のイベントの最後尾に、選択されたアクションを追加する。例えば、アクション選択エリア1420の選択項目1422を再生順序指定エリア1440にドラッグ&ドロップすることにより、再生順序指定エリア1440に、選択項目1422が示す「検索」というアクションをイベント1445として追加して表示する。
In S<b>610 ,
アクションではないイベントの追加操作、すなわち追加ボタン1446の押下であった場合には、S611において、プログラム開発装置101のCPU201は、追加対象の選択肢を表示する。選択肢には、「値セット」と「吹き出し」を含むものとする。
If the addition operation of an event that is not an action, that is, pressing the add button 1446, the
S612において、プログラム開発装置101のCPU201は、S611で表示した選択肢のうち、「値セット」と「吹き出し」のいずれが操作されたかを判定する。「値セット」が選択された場合にはS613にしすすみ、そうでない場合、すなわち「吹き出し」が選択された場合はS621に進む。
In S<b>612 , the
S613において、プログラム開発装置101のCPU201は、再生順序指定エリア1440に表示済み(登録済み)のイベントの最後尾に「値セット」のイベント追加し、追加した「値セット」のイベントを選択状態にして表示する。再生順序に「値セット」のイベントは複数登録することができるため。図示のイベント1442のように、それぞれの値セットを識別するために、通し番号を付して表示される。
In S613, the
S614において、プログラム開発装置101のCPU201は、編集画面の右下部分(図14(a)において画面アクセスエディタ1450が表示されている領域)に値セットエディタ1460を表示する。図14(b)に値セットエディタ1460を表示した場合の値セットエディタ1460と再生順序指定エリア1440の表示例を示す。図14(b)は、編集画面の右側の一部分の表示例である。再生順序指定エリア1440では値セットのイベント1442が選択されており、値セットエディタ1460には、選択されているイベント1442の値をセットする対象のGUI部品を選択する対象部品設定欄1461、値を入力する値入力欄1462、再生順序指定エリア1440から選択中の値セットのイベントを削除する指示を受け付ける削除ボタン1463が表示される。
In S614, the
S615において、プログラム開発装置101のCPU201は、値をセットする対象部品を選択する操作があったか否かを判断する。対象部品を選択する操作があった場合S616へと処理を遷移し、そうでない場合はS617へ進む。対象部品を選択する操作は、例えば、対象部品設定欄1461を操作することで表示されるプルダウンメニューに表示された選択肢のいずれかを選択することで行う。なお、ユーザが対象部品を選択する操作を行う前は、デフォルト(初期設定)で、選択されているUI定義画面に含まれるGUI部品のいずれかが選択されるものとする。
In S<b>615 , the
S616において、プログラム開発装置101のCPU201は、S615で判定された対象部品を選択する操作に応じて、値をセットする対象部品を変更する処理を行う。具体的には、値セットエディタ1460の対象部品設定欄1461に変更後の対象部品名を表示し、値入力欄1462に、変更後の部品に既に入力されていた値を表示する。この値は、図15に例示した再生情報定義に記録された値を取得して表示する。再生定義情報に値として表示するデータが記録されていない新規のGUI部品である場合は、値入力欄1462の初期値は空欄となる。
In S<b>616 , the
S617において、プログラム開発装置101のCPU201は、値入力欄1462に値を入力する操作(対象部品に対する値を入力する操作)があったか否かを判定する。値を入力する操作があった場合にはS618へ進み、そうでない場合にはS619へと処理を遷移する。値の入力は例えば、値入力欄1462を選択してキーボードなどで文字列を入力することにより行う。
In S617, the
S618において、プログラム開発装置101のCPU201は、値入力欄1462に入力された値を再生情報定義に記録(登録)する。また、入力された値をプレビューエリア1430に表示された対象部品に表示する。図14(b)の例では、対象部品として「ML_ADDRESS」が選択され、値入力欄1462に「dev」と入力されているので、図15の再生情報定義1500の枠1502内のように情報が登録される。また、プレビューエリア1430では、対象部品であるGUI部品1431(「MLアドレス」)に値入力欄1462に入力された文字列「dev」が表示されている。
In S618, the
S619において、プログラム開発装置101のCPU201は、削除ボタン1463が押下されたか否かを判定する。削除ボタン1463が押下された場合にはS620へ進み、そうでない場合はS608へ進む。
In S619, the
S620では、プログラム開発装置101のCPU201は、再生順序指定エリア1440から選択されている値セットを削除する。同時に、図15の再生情報定義1500からも対応する情報を削除する。これによって、再生モジュールを実行した場合に、削除されたイベントに対応する画面遷移は行われなくなる。
In S<b>620 ,
S621において、プログラム開発装置101のCPU201は、再生順序指定エリア1440に表示済み(登録済み)のイベントの最後尾に「吹き出し」のイベント追加し、追加した「吹き出し」のイベントを選択状態にして表示する。再生順序に「吹き出し」のイベントは複数登録することができるため。図示のイベント1443やイベント1444のように、それぞれの吹き出しを識別するために、通し番号を付して表示される。
In S621, the
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に入力された文字列)を表示するイベントを追加できる例を説明したが、付加情報の表示形式は吹き出しに限るものではない。引出線を付けた先に付加情報を表示したり、注釈番号を付して注釈を記載するなどでもよい。
In S622, the
S623において、プログラム開発装置101のCPU201は、吹き出しを表示する対象部品を選択する操作があったか否かを判断する。対象部品を選択する操作があった場合S624へと処理を遷移し、そうでない場合はS625へ進む。対象部品を選択する操作は、例えば、対象部品設定欄1471を操作することで表示されるプルダウンメニューに表示された選択肢のいずれかを選択することで行う。なお、ユーザが対象部品を選択する操作を行う前は、デフォルト(初期設定)で、選択されているUI定義画面に含まれるGUI部品のいずれかが選択されるものとする。
In S<b>623 , the
S624において、プログラム開発装置101のCPU201は、S623で判定された対象部品を選択する操作に応じて、吹き出しを表示する対象部品を変更する処理を行う。具体的には、吹き出しエディタ1470の対象部品設定欄1471に変更後の対象部品名を表示し、値入力欄1472に、変更後の部品に既に入力されていた吹き出しの値を図15の再生情報定義から読みだして表示する。新規に吹き出しが追加された部品であれば、値入力欄1472の初期値は空欄となる。
In S<b>624 , the
S625において、プログラム開発装置101のCPU201は、値入力欄1472に値を入力する操作があったか否かを判定する。値を入力する操作があった場合にはS626へ進み、そうでない場合にはS627へと処理を遷移する。値の入力は例えば、値入力欄1472を選択してキーボードなどで文字列を入力することにより行う。
In S<b>625 , the
S626において、プログラム開発装置101のCPU201は、値入力欄1472に入力された値を再生モジュールの生成に用いる再生情報定義に記録もしくは上書き保存する。また、入力された値をプレビューエリア1430に表示された吹き出し(選択された対象部品からの吹き出し)に表示する。図14(c)の例では、対象部品として「ML_ADDRESS」が選択され、値入力欄1472に「MLアドレスを前方一致で入力します」と入力されているので、図15の再生情報定義1500の枠1503内のように情報が登録される。また、プレビューエリア1430では、対象部品であるGUI部品1431(「MLアドレス」)に対して表示された吹き出し1418に、値入力欄1472に入力された文字列が表示されている。
In S626, the
S627において、プログラム開発装置101のCPU201は、削除ボタン1473が押下されたか否かを判定する。削除ボタン1473が押下された場合にはS628へ進み、そうでない場合はS608へ進む。
In S627, the
S628では、プログラム開発装置101のCPU201は、再生順序指定エリア1440から選択されている吹き出しを削除する。また、プレビューエリア1430からも該当する吹き出しを削除する。同時に、図15の再生情報定義1500からも対応する情報を削除する。これによって、再生モジュールを実行した場合に、削除されたイベントに対応する吹き出しの表示は行われなくなる。
In S<b>628 ,
S629へと処理を遷移すると、プログラム開発装置101のCPU201は、再生順序指定エリア1440の画面アクセス1441を選択する操作があったか否かを判定する。画面アクセス1441が選択された場合は、S630へと処理を遷移し、そうでない場合はS631へと処理を遷移する。
After shifting the process to S<b>629 , the
S630において、プログラム開発装置101のCPU201は、再生順序指定エリア1440の画面アクセス1441を選択状態で表示して、S606に遷移する。そして、S606で画面アクセスエディタ1450を表示する。すなわち、値セットエディタ1460または吹き出しエディタ1470が表示されている場合に画面アクセス1441が選択されると、値セットエディタ1460または吹き出しエディタ1470に代わって画面アクセスエディタ1450が表示される。
In S630, the
S631において、プログラム開発装置101のCPU201は、再生順序指定エリア1440に表示されたイベントのうち、値セットのイベントを選択する操作と、プレビューエリア1430に表示された値セットが表示されたGUI部品を選択する操作のいずれかがあったか否かを判定する。いずれかの操作があった場合には、S632において、再生順序指定エリア1440における、S631での選択に対応する値セットのイベントを選択状態で表示して、S614に遷移する。そして、S614で値セットエディタ1460を表示する。すなわち、画面アクセスエディタ1450または吹き出しエディタ1470が表示されている場合に値セットに対応するイベントが選択されると、画面アクセスエディタ1450または吹き出しエディタ1470に代わって値セットエディタ1460が表示される。
In S<b>631 , the
S633において、プログラム開発装置101のCPU201は、再生順序指定エリア1440に表示されたイベントのうち、吹き出しのイベントを選択する操作と、プレビューエリア1430に表示された吹き出しを選択する操作のいずれかがあったか否かを判定する。いずれかの操作があった場合には、S634において、再生順序指定エリア1440における、S633での選択に対応する吹き出しのイベントを選択状態で表示して、S623に遷移する。そして、S623で吹き出しエディタ1470を表示する。すなわち、画面アクセスエディタ1450または値セットエディタ1460が表示されている場合に吹き出しに対応するイベントが選択されると、画面アクセスエディタ1450または値セットエディタ1460に代わって吹き出しエディタ1470が表示される。
In S<b>633 ,
S635において、プログラム開発装置101のCPU201は、再生順序指定エリア1440に表示されたイベントのうち、アクションを削除する操作があったか否かを判定する。アクションを削除する操作があった場合は、S636へと処理を遷移し、そうでない場合はS637へと処理を遷移する。アクションを削除する操作は、例えば、ユーザがマウスで再生順序指定エリア1440のアクションのイベントを選択し、キーボードの[DEL](デリートキー)などの押下する操作である。
In S<b>635 ,
S636において、プログラム開発装置101のCPU201は、再生順序指定エリア1440ら対象のアクションのイベントを削除する。同時に、図15の再生情報定義1500からも対応するイベントの情報を削除する。例えば再生順序指定エリア1440において検索のアクションであるイベント1445が削除されると、再生情報定義1500のうち枠1505内の情報を削除する。その後、S608へ進む。
In S<b>636 ,
S637において、プログラム開発装置101のCPU201は、プレビューエリア1430に表示されている吹き出しのサイズや位置を変更する操作を受け付けたかを判断する。吹き出しのサイズか位置を変更する操作を受け付けると、S638へと処理を遷移し、そうでない場合は、S639へと処理を遷移する。具体的には、たとえば、ユーザがマウスでプレビューエリア1430に表示された吹き出しを選択し、吹き出しをマウスでドラッグ・アンド・ドロップすることで吹き出しの表示位置を変更することができる。吹き出しの吹き出し元である対象のGUI部品はこの操作では変更されない。また、プレビューエリア1430に表示された吹き出しの四隅に表示されるマークをマウスでドラッグ・アンド・ドロップする操作によって、吹き出しを拡大または縮小してサイズを変更することができる。
In S<b>637 ,
S638において、プログラム開発装置101のCPU201は、S637で受け付けた操作に応じて、選択された吹き出しのサイズや位置を変更する。変更されたサイズ・位置を再生情報定義1500に記録する。その後、S608へ進む。
In S638, the
S639において、プログラム開発装置101のCPU201は、再生順序の並び替え操作(順序の指定操作)を受け付けたか否かを判定する。並び替え操作があった場合にはS640へと処理を遷移し、そうでない場合には、S640へと処理を遷移する。並び替え操作は、たとえば、ユーザがマウスで再生順序指定エリア1440内のいずれかのイベントを再生順序指定エリア1440内でドラッグ・アンド・ドロップで移動し、他のイベントとの順序を入れ替える操作である。
In S<b>639 , the
S640において、プログラム開発装置101のCPU201は、S639で受け付けた操作に応じて、再生順序指定エリア1440に表示されるイベントの表示位置を並べ替える。変更された順序を再生情報定義1500に記録する(「再生順」の情報を、変更後の再生順序通りの情報に更新する)。その後、S608へ進む。なお、最初に行うイベント(再生順序が1番目のイベント)は、画面アクセス1441から変更できないものとする。
In S640,
S641において、プログラム開発装置101のCPU201は、図4(a)に示した編集画面を閉じて再生情報定義受付処理を終了させる指示があったか否かを判定する。たとえば、図14(a)の終了ボタン1401などが押下されると終了させる指示があったと判定する。終了させる指示があった場合は図6のフローチャートの処理を終える。そうでない場合にはS642へ進む。
In S641, the
S642では、プログラム開発装置101のCPU201は、値セットエディタ1460が表示されているか否かを判定する。値セットエディタ1460が表示されている場合にはS615に進み、そうでない場合にはS643へ進む。
In S642, the
S642では、プログラム開発装置101のCPU201は、吹き出しエディタ1470が表示されているか否かを判定する。吹き出しエディタ1470が表示されている場合にはS623に進み、そうでない場合にはS607へ進む。
In S642, the
図6、図14を用いて説明した処理により、再生モジュールの再生情報定義を容易に設定、編集することができる。 The processing described with reference to FIGS. 6 and 14 makes it possible to easily set and edit the reproduction information definition of the reproduction module.
次に、図7を参照して、クライアント装置104が図5で生成された再生モジュールを実行することによる再生処理のフローチャートを示す。
Next, referring to FIG. 7, there is shown a flowchart of playback processing by the
S701において、クライアント装置104のCPU201は、S309で実行サーバ102にデプロイされた再生モジュールを含むプロトタイプアプリケーションのSPAを取得する。
In S701, the
S702において。取得したSPAに含まれる再生モジュールの再生要求を受け付ける画面を表示する。この時の表示例を図16(a)に示す。 At S702. A screen for accepting a reproduction request for the reproduction module included in the acquired SPA is displayed. A display example at this time is shown in FIG.
S703において、クライアント装置104のCPU201は、プロトタイプアプリケーション再生要求を受け付けたか否かを判定する。図16(a)のボタン1601に対する操作があった場合には再生要求があったと判定してS704に進み、そうでない場合にはS702に戻る。なお、再生要求を受け付けない場合、図16(a)の例にある「検索」ボタンの押下に応じて、対応するプロトタイプデータを表示するといったように、通常のプロトタイプアプリケーションと同様に機能させることもできる。
In S703, the
S704において、クライアント装置104のCPU201は、再生モジュールに対応する再生情報定義を実行サーバ102から取得する。
In S<b>704 , the
S705において、取得した再生情報定義に定義されたイベントを順番に1つずつ取得する。最初にS705に遷移した場合は1番目のイベント、すなわち再生アクセスを取得する。再生アクセスは対象となる画面定義UIの画面を表示する処理である。 In S705, events defined in the acquired reproduction information definition are acquired one by one in order. When the process first transits to S705, the first event, that is, the playback access is acquired. Playback access is a process of displaying a target screen definition UI screen.
S706では、クライアント装置104のCPU201は、S705で取得したイベントが画面遷移を伴うイベントであるか否かを判定する。画面定義を伴うイベントであればS707に進み、そうでない場合はS708に進む。
In S706, the
S707では、クライアント装置104のCPU201は、S705で取得したイベントを実行する。取得したイベントが画面アクセスであれば、対象となるUI定義画面に従って画面を表示する。取得したイベントが吹き出しであれば、再生情報定義に記録された定義に従って、対象となるGUI部品に吹き出しを表示する。取得したイベントが値入力(値セット)であれば、対象となるGUI部品にプロトタイプデータまたは再生情報定義に従った値を表示する。取得したイベントがアクション(本番環境ではユーザの操作をトリガーに行われるイベント)であればそのアクションに対応するプロトタイプデータの表示を行う。アクションが画面遷移を伴うものであれば、S707で遷移先の画面に切り替えたうえで、アクションに定義されたプロトタイプデータを表示する処理を行う。
In S707, the
S709では、クライアント装置104のCPU201は。S705で取得したイベントが、再生情報定義における順番が最後のイベントであったか否かを判定する。最後でないと判定した場合にはS706に進んで、次のイベントを取得して実行する。なお、S709からS705への遷移は、予め設定された所定時間(例えば2秒)が経過してから遷移するものとする。これによって、再生情報定義に定義された複数のイベントが所定時間おき(例えば2秒ごと)に順次実行される。なお、遷移待機時間であるこの所定時間は固定である例を説明したが。これに限るものではなく、前出した図14の編集画面などでユーザがイベント毎に可変に設定できるようにしてもよい。S709で最後の処理であると判定した場合は図7の処理を終了する。
In S709, the
図16(b)~図16(d)、図17(a)、図17(b)に、前述した図15の再生情報定義1500に従った再生モジュールの実行が行われた場合の画面遷移例を示す。再生モジュールの実行(再生)が行われると、再生情報定義1500に従って、図16(b)が表示され、所定時間後に図16(c)に表示が遷移し、さらにその後に図16(d)、図17(a)、図17(b)という順で表示が自動的に遷移する。
16(b) to 16(d), 17(a), and 17(b) show screen transition examples when the playback module is executed according to the
図16(b)は、再生情報定義1500の再生順が1番目である、枠1501内に記録された情報に基づく表示であり、UI_QUERYのUI画面定義に従った画面表示である。この表示は、SPAに記録された画面定義情報を参照して、UI_QUERYに定義された情報に基づいて行われる。
FIG. 16(b) is a display based on the information recorded in the
図16(b)は、再生情報定義1500の再生順が2番目である、枠1502内に記録された情報に基づく表示である。より詳しくは、入力ターゲットであるML_ADDRESSで示されるGUI部品に対して、再生情報定義1500に記録された入力値である「Dev」という文字列を、枠1621内に示すように表示したものである。ML_ADDRESSで示されるGUI部品は、本番用アプリケーションではユーザからのデータ入力を受け付ける入力領域である。しかし、再生モジュールを実行した場合には、再生モジュールの再生を見ているユーザ(顧客)がデータ入力をしなくても自動的に「Dev」という文字列が表示される。
FIG. 16(b) is a display based on the information recorded in the
図16(d)は、再生情報定義1500の再生順が3番目である枠1503に記録された情報に基づく表示を行い、さらにその後、再生順が4番目である枠1504に記録された情報に基づく表示を行った例である。より詳しくは、枠1503が示す情報に従って、吹き出しターゲットであるML_ADDRESSで示されるGUI部品に対して、再生情報定義1500に記録された吹き出し文字列が、吹き出し1631に示すように表示されている。また、枠1504が示す情報に従って、吹き出しターゲットであるSEARCN_BUTTONで示されるGUI部品(検索ボタン1616)に対して、再生情報定義1500に記録された吹き出し文字列が、吹き出し1632に示すように表示されている。
FIG. 16D shows a display based on the information recorded in the
図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定義を読み込んで実行するため、修正にかかる工数を減らすことができる効果を有する。さらに、再生モジュールに更なる編集(吹き出し、値の削除や追加、アクションの追加など)を行いたい場合にも、既存の再生情報定義を読み込んで編集をすればよいので、一から作り直す必要がなく、編集に係る手間を削減することができる。
FIG. 17A shows a display based on the information recorded in the
FIG. 17(b) is an example of display based on the information that the playback order of the
With the above processing, it is possible to easily generate content (playback module) that allows one to virtually see the execution of multiple events in the production application software. By viewing this content, the customer (the user who is provided with the production application) can easily understand how multiple events are executed in the application for this application. Therefore, it is possible to save the time and effort of personnel (developers, sales representatives, etc.) who provide the production application to explain directly to the customer, and to make it possible for the customer to efficiently understand the operation of the production application. Furthermore, even if screen specifications change during development, the reproduction module reads and executes the changed UI definition, which has the effect of reducing man-hours required for correction. Furthermore, if you want to edit the playback module further (deleting or adding balloons, values, adding actions, etc.), you can read the existing playback information definition and edit it, so you don't have to recreate it from scratch. , the labor involved in editing can be reduced.
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。 As described above, a recording medium recording a program for realizing the functions of the above-described embodiments is supplied to a system or device, and the computer (or CPU or MPU) of the system or device reads the program stored in the recording medium. Needless to say, the object of the present invention can also be achieved by reading and executing.
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。 In this case, the program itself read from the recording medium implements the novel functions of the present invention, and the recording medium recording the program constitutes the present invention.
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。 Examples of recording media for supplying programs include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, DVD-ROMs, magnetic tapes, non-volatile memory cards, ROMs, EEPROMs, silicon A disk or the like can be used.
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program read by the computer, not only the functions of the above-described embodiments are realized, but also based on the instructions of the program, the OS (operating system) and the like running on the computer are actually executed. Needless to say, a case where part or all of the processing is performed and the functions of the above-described embodiments are realized by the processing are included.
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Furthermore, after the program read from the recording medium is written in the memory provided in the function expansion board inserted into the computer or the function expansion unit connected to the computer, the function expansion board is read according to the instruction of the program code. It goes without saying that a case where a CPU or the like provided in a function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 Moreover, the present invention may be applied to a system composed of a plurality of devices or to an apparatus composed of a single device. Further, it goes without saying that the present invention can be applied to the case where it is achieved by supplying a program to a system or device. In this case, by loading a recording medium storing a program for achieving the present invention into the system or device, the system or device can enjoy the effects of the present invention.
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。 The program may be in the form of object code, program code executed by an interpreter, script data supplied to an OS (Operating System), or the like.
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。 Furthermore, by downloading and reading out the program for achieving the present invention from a server, database, etc. on the network using a communication program, the system or device can enjoy the effects of the present invention. It should be noted that all configurations obtained by combining each of the above-described embodiments and modifications thereof are also included in the present invention.
101 プログラム開発装置
102 実行サーバ
103 データベースサーバ
104 クライアント装置
105 ネットワーク
101
Claims (14)
前記第1の選択手段で選択された画面に対応づけて記憶された動作のうちいずれかを選択する第2の選択手段と、
前記第1の選択手段で選択された画面を表示する第1のイベントと、前記第2の選択手段で選択された動作に対応する第2のイベントとを含む複数のイベントを順次実行することを指示する指示情報を生成するように制御する制御手段と
を有することを特徴とする情報処理装置。 first selection means for selecting one of a plurality of screens displayed by application software;
a second selection means for selecting one of the actions stored in association with the screen selected by the first selection means;
sequentially executing a plurality of events including a first event for displaying the screen selected by the first selection means and a second event corresponding to the action selected by the second selection means; and control means for controlling to generate instruction information for instructing.
前記複数のイベントは、前記第2の受付手段で入力を受け付けた付加情報を表示する第3のイベントをさらに含むことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 further comprising second reception means for receiving input of additional information associated with the display element included in the screen selected by the first selection means;
4. The information processing apparatus according to any one of claims 1 to 3, wherein said plurality of events further include a third event for displaying additional information whose input is received by said second receiving means. .
前記複数のイベントは、前記第3の受付手段で入力を受け付けたデータを表示する第4のイベントを更に含むことを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。 Data to be automatically displayed in the input area included in the screen selected by the first selection means and for accepting data input from the user on the actual screen corresponding to the instruction information. It further has a third receiving means for receiving the input of
10. The information processing apparatus according to any one of claims 1 to 9, wherein said plurality of events further includes a fourth event for displaying data received by said third receiving means.
前記第1の選択ステップで選択された画面に対応づけて記憶された動作のうちいずれかを選択する第2の選択ステップと、
前記第1の選択ステップで選択された画面を表示する第1のイベントと、前記第2の選択ステップで選択された動作に対応する第2のイベントとを含む複数のイベントを順次実行することを指示する指示情報を生成するように制御する制御ステップと
を有することを特徴とする情報処理装置の制御方法。 a first selection step of selecting one of a plurality of screens displayed by the application software;
a second selection step of selecting one of the actions stored in association with the screen selected in the first selection step;
sequentially executing a plurality of events including a first event for displaying the screen selected in the first selection step and a second event corresponding to the action selected in the second selection step; A control method for an information processing device, comprising: a control step of controlling to generate instruction information for instructing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021188564A JP2023075577A (en) | 2021-11-19 | 2021-11-19 | Information processing apparatus, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021188564A JP2023075577A (en) | 2021-11-19 | 2021-11-19 | Information processing apparatus, information processing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023075577A true JP2023075577A (en) | 2023-05-31 |
Family
ID=86542443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021188564A Pending JP2023075577A (en) | 2021-11-19 | 2021-11-19 | Information processing apparatus, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023075577A (en) |
-
2021
- 2021-11-19 JP JP2021188564A patent/JP2023075577A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006221582A (en) | Information processor, method of controlling the same, and program | |
KR102543722B1 (en) | Method, system, and non-transitory computer readable record medium for business cooperation using desing kit | |
JP2022022451A (en) | Server, information processing apparatus, processing method, and program | |
Delessio et al. | Sams teach yourself Android application development in 24 hours | |
JP2023075577A (en) | Information processing apparatus, information processing method, and program | |
JP6423933B2 (en) | Information processing apparatus, form management system, form management server, information processing method, and program thereof | |
JP4386243B2 (en) | PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM AND RECORDING MEDIUM | |
JP6594359B2 (en) | Information processing apparatus, information processing method, and program | |
JP2018181073A (en) | Information processing apparatus, processing method thereof, and program | |
JP6836077B2 (en) | Information processing device and its processing method and program | |
JP2016126764A (en) | Information processing device, method for controlling information processing device and program | |
JP7381900B2 (en) | Information processing system, its control method and program | |
JP5447621B2 (en) | PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, AND PROGRAM | |
JP2023157179A (en) | Information processing apparatus, information processing method, and program | |
JP7421137B2 (en) | Information processing device, information processing method and program | |
JP6862521B2 (en) | Information processing equipment, information processing methods, and programs | |
JP7231864B2 (en) | Information processing device, information processing method and program | |
JP7290095B2 (en) | Display control program, display control method and display control device | |
JP7048912B2 (en) | Information processing equipment and its processing method and program | |
JP2022101746A (en) | Information processing apparatus, information processing method, and program | |
JP7280475B2 (en) | Information processing device, its control method, and program | |
KR102228241B1 (en) | Method and system for virtual input on the web | |
JP6572984B2 (en) | Electronic form system, form retrieval apparatus, control method, and program | |
JP2000227914A (en) | Document edition device | |
JP2022110184A (en) | Information processing apparatus, control method, and program |