JP2023034112A - Information processing device, information processing method, and program - Google Patents
Information processing device, information processing method, and program Download PDFInfo
- Publication number
- JP2023034112A JP2023034112A JP2021140195A JP2021140195A JP2023034112A JP 2023034112 A JP2023034112 A JP 2023034112A JP 2021140195 A JP2021140195 A JP 2021140195A JP 2021140195 A JP2021140195 A JP 2021140195A JP 2023034112 A JP2023034112 A JP 2023034112A
- Authority
- JP
- Japan
- Prior art keywords
- information
- application
- screen
- data
- output
- 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
- 230000010365 information processing Effects 0.000 title claims abstract description 30
- 238000003672 processing method Methods 0.000 title claims abstract description 5
- 238000012545 processing Methods 0.000 claims abstract description 51
- 230000004044 response Effects 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 60
- 230000008569 process Effects 0.000 claims description 46
- 238000004519 manufacturing process Methods 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 14
- 238000011161 development Methods 0.000 abstract description 13
- 230000009471 action Effects 0.000 description 121
- 230000007704 transition Effects 0.000 description 41
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000003825 pressing Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- KNMAVSAGTYIFJF-UHFFFAOYSA-N 1-[2-[(2-hydroxy-3-phenoxypropyl)amino]ethylamino]-3-phenoxypropan-2-ol;dihydrochloride Chemical compound Cl.Cl.C=1C=CC=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC=C1 KNMAVSAGTYIFJF-UHFFFAOYSA-N 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は、開発状況の確認を行う情報処理装置、情報処理方法およびプログラムに関する。 The present invention relates to an information processing apparatus, an information processing method, and a program for confirming development status.
顧客の為にアプリケーションソフトウェア(以下、アプリケーションと呼ぶ)を作成する際に、まず顧客の要望を汲み取ってアプリケーションを作成すると、手戻りを減らして開発効率を上げることができる。 When creating application software (hereinafter referred to as an application) for a customer, if the customer's needs are first comprehended and the application created, rework can be reduced and development efficiency can be improved.
特に、画面や操作手順などは内部ロジックと異なり、ユーザの要望通りに動くことが、顧客満足度を高めることに起因する。 In particular, screens and operation procedures differ from internal logic and work as desired by the user, resulting in increased customer satisfaction.
特許文献1は、ユーザの要望を聞きながら、要望に沿った要件を確定すると同時に、その場で実機用となりうるアプリケーションプログラムのソースコードを生成し、完成させることを提案している。 Japanese Patent Laid-Open No. 2002-200000 proposes to determine the requirements according to the user's request while at the same time generating and completing the source code of the application program that can be used on the actual machine on the spot.
上記発明はモックアップ用アプリケーションを生成することはできるが、モックアップ用アプリケーションを元に生成された開発中もしくは開発後のアプリケーションの動作が、モックアップ用アプリケーションと同様の仕様となっているかを検証することは想定されていない。 Although the above invention can generate a mockup application, verify whether the behavior of the application during development or after development based on the mockup application has the same specifications as the mockup application. not expected to do so.
本発明は、開発の手戻りを削減することを目的とする。 An object of the present invention is to reduce rework in development.
本発明は、ユーザからの操作に応じた特定のイベントに応じて出力する出力データであって、前記特定のイベントに対応する対応処理にかかわらない予め定められた出力データの出力先となる項目を示す第1の情報と、前記特定のイベントに応じて出力する出力データであって、前記対応処理に応じた出力データの出力先となる項目を示す第2の情報と、を取得する取得手段と、前記第1の情報と前記第2の情報との比較に基づく表示を行うように制御する表示制御手段と、を有することを特徴とする。 According to the present invention, output data to be output in response to a specific event in response to an operation from a user, and an item to be an output destination of predetermined output data irrespective of a corresponding process corresponding to the specific event. and second information, which is output data to be output in response to the specific event and indicates an item to be an output destination of the output data in response to the corresponding process. and display control means for controlling display based on comparison between the first information and the second information.
本発明によれば、開発の手戻りを削減することを可能とする。 According to the present invention, it is possible to reduce development rework.
以下、図面を参照して本発明の実施形態を詳細に説明する。
<第一実施形態>
図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 this embodiment, the application generated by the
アプリケーションサーバ102は、プログラム開発装置101で開発されたアプリケーションを実行する。また、データベースサーバ103と接続して動作することが可能である。
The
データベースサーバ103は、開発されたアプリケーションが使用するデータベースであり、また本実施形愛におけるアプリケーションの開発時にも動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ103は、プログラム開発装置101や、アプリケーションサーバ102と同一の装置で構成されていてもよいし、LANなどのネットワーク105内に配置されてもよい。
The
アプリケーションクライアント104(情報処理装置)は、アプリケーションサーバ102と協調してプログラム開発装置101で開発したアプリケーションプログラムを動作させる、エンドユーザの入力端末である。この、アプリケーションクライアント104は、携帯端末などの情報処理装置であってもよいこととする。
The application client 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 hardware configurations applicable to 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は、プログラム開発装置101におけるのソフトウェアブロック図である。図4は、アプリケーションサーバ102及びアプリケーションクライアント104におけるソフトウェアブロック図である。
FIG. 3 is a software block diagram of the
プログラム開発装置101は、リポジトリ定義部400、プロトタイプアプリケーション生成部410、リポジトリ定義エディタ部420を備える。なお、本実施形態のプロトタイプアプリケーションとは、本番環境のようにデータベースからデータを検索したり、算出したデータ結果から作図をしたりするアプリケーションとは異なり、予め設定された値や予め作図された図などを表示し、画面遷移や表示変更などを実際のアプリケーションのように模倣するモックアップとしてのアプリケーションとする。
The
プログラム開発装置101は、プロトタイプアプリケーション生成部410によりプロトタイプアプリケーション440を生成する。本実施形態での開発者とは、アプリケーションの受託開発者に限らず、ビジネスユーザや営業担当者などの広くプログラム開発装置101を使用する者を指す。
リポジトリ定義部400には、アプリケーション定義401、画面定義402、画面部品定義403、画面遷移定義404、画面部品定義403に紐づくアクション405、アクション405に紐づくプロトタイプデータ406が記憶されている。プロトタイプデータとは、プロトタイプアプリケーションを実行する際にアプリケーション画面に表示されるデータを指し、本番環境のようにデータベースからデータを検索したり、算出したデータ結果から作図をしたりするものではなく、開発者により予め設定されている値や図を指す。これら401~406の定義は、アプリケーション開発ツールを介して、開発者によって入力設定または配置される。
The
アプリケーション定義401は、開発者が開発するアプリケーション全体の設定を保持する。
The
画面定義402は、アプリケーションに含まれる各画面に配置される各種画面部品定義403及び画面遷移定義404の情報を保持する。画面定義402は、各種部品に設定されるアクション405及びアクション405に紐づくプロトタイプデータ406の情報を含む。
The
プロトタイプアプリケーション生成部410は、開発者により設定されたリポジトリ定義部400を解析し、プロトタイプアプリケーションを生成する。また、プロトタイプアプリケーション生成後にアプリケーションサーバ102を起動させる。起動されたプロトタイプアプリケーションは、アプリケーションクライアント104のWebブラウザ450からアクセスすると、生成したプロトタイプアプリケーションの画面を表示する。
A prototype
リポジトリ定義解析部411は、開発者により設定されたリポジトリ定義部400を解析する。
The repository
プロトタイプコード生成部412は、リポジトリ定義解析部411の解析結果に応じたプロトタイプアプリケーションのソースコードを生成する。
The prototype
ソースコードコンパイル部413は、プロトタイプコード生成部412の生成したソースコードをコンパイルし、アプリケーションサーバ102にデプロイする。
The source
リポジトリ定義エディタ部420は、ユーザがリポジトリ定義400を設定するための手順の一例である。リポジトリ定義エディタ部420は、画面定義エディタ部421、画面プロパティエディタ部422、部品パレット部423、アクション選択部424、プロトタイプデータ入力部425を含む。
The repository
画面定義エディタ部421は、開発者が所望の画面レイアウトを直観的に作成するためのグラフィカルエディタである。
The screen
画面プロパティエディタ部422は、開発者が配置した各画面部品に対するプロパティを設定するエディタである。
The screen
部品パレット部423は、開発者が所望の画面部品をドラッグ&ドロップによって画面に配置するための部品(アイテム)一覧である。
The
アクション選択部424は、開発者がプロトタイプデータ406を設定する対象のアクションを選択させる機能部である。
プロトタイプデータ入力部425は、特定のアクション405に紐づくプロトタイプデータ406を直観的に設定するためのグラフィカルエディタである。
A prototype
アプリケーションサーバ102は、プロトタイプアプリケーション生成部410が生成したプロトタイプアプリケーション440を実行するための装置である。
プロトタイプアプリケーション440は、プロトタイプアプリケーション生成部410が生成したアプリケーションである。プロトタイプアプリケーション440は、開発者として、プログラム開発装置101が生成するアプリケーションの表示内容や動作等を手軽に確認するためのモックアップアプリケーションである。プロトタイプアプリケーション440は、画面モジュール441、アクション制御モジュール442及びプロトタイプデータ443を含む。
画面モジュール441は、プロトタイプアプリケーション440のうちユーザインタフェースの機能を持つモジュールである。
A
アクション制御モジュール442は、画面モジュール441からユーザのアクション実行要求を受付け、該アクションに紐づいた動作を制御するモジュールである。アクション制御モジュール442は、開発者によって設定された複数のプロトタイプデータのうち、プロトタイプアプリケーション440実行時のどのタイミングでどのデータを表示するかを制御する。また、アクション制御モジュール442は、画面に配置された部品が持つ各アクションに紐づいた動作を制御する。すなわち、プロトタイプデータはアクション(アクションイベント)に紐づく。
The
プロトタイプデータ443は、アクション制御モジュール442によって読込まれ、画面モジュール441に表示されるデータである。ここでプロトタイプデータ443とは、開発者がプロトタイプアプリケーション440のアプリケーションの表示内容や動作を確認するために、画面に表示するデータを指す。データを表示する画面はWebブラウザ450でも、画面定義エディタ部であってもよい。
また、図示はしないが、プロトタイプアプリケーションではなく、実際に動作するアプリケーションコード生成部も有している。アプリケーションコード生成部は、リポジトリ定義解析部411により、リポジトリ定義部400から、アプリケーション定義401、画面定義402、別に定義されたデータベース定義、データモデル定義、ビジネスプロセス定義、を読み込み解析する。Webアプリケーションコード生成部は、外部メモリ211に記憶されているコード生成ルールと、リポジトリ定義解析部411によって解析された内容とを用いて、ソースコードコンパイル部413を介し、コンパイル済Java(登録商標)コード及びHTML/JSP/JavaScript(登録商標)を含むWebアプリケーションモジュールを生成する。
Also, although not shown, it also has an application code generator that actually operates instead of a prototype application. The application code generation unit reads and analyzes the
次の図5から図15を参照して、Webアプリケーションと、Webアプリケーションのプロトタイプアプリケーションを生成する手順を説明する。図5~図8の処理は、プログラム開発装置101のCPU201がROM203に記録され、RAM202に展開されたプログラムを実行することにより各処理を実行する。
図5は、Webアプリケーションの生成処理のうち、プロトタイプアプリケーション生成処理に関する部分のフローチャートの一例を示す図である。
A procedure for generating a web application and a prototype application for the web application will be described with reference to FIGS. 5 to 15 below. 5 to 8 are executed by the
FIG. 5 is a diagram showing an example of a flowchart of a part related to the prototype application generation process in the Web application generation process.
ステップS501では、プログラム開発装置101は、開発者によりWebアプリケーションの画面定義の入力を受け付ける。この処理は、生成されるWebアプリケーションの画面のどの位置にどのような画面部品を配置(レイアウト)するか、各画面部品にどのような機能を持たせるかの指示をユーザから受け付ける処理である。ステップS501の詳細は図6のフローチャートで後述する。
In step S501, the
ステップS502では、プログラム開発装置101は、プロトタイプデータ443の入力要求を受け付けたか判定する。図10(a)に、Webアプリケーションの生成処理において出力部210のディスプレイに表示される、生成するWebアプリケーションにおける画面の部品配置を設計する画面の表示例を示す。画面定義エディタ部421、部品パレット部423は、前述した通りである。S501の画面定義の入力の結果、図10(a)は、画面定義エディタ部421に、画面部品配置例1004のように、2つのテキスト入力欄(「ID」と表示されたID入力欄と、「name」と表示された名前入力欄)と、IDと名前を登録する登録ボタン1005が配置された状態を示している。このように画面定義エディタ部421に配置された画面部品上、例えば登録ボタン1005上で右クリックすると、図10(c)に示すように、登録ボタン1005に関するプロトタイプデータ設定ボタン1021aが表示される。このプロトタイプデータ設定ボタン1021aに対する操作があり、その後、プルダウンで表示される選択肢1021b(「クリックされたとき」)が選択されると、プロトタイプデータの入力要求が合ったと判定する。もしくは、アクションを持つ部品を選択した状態で、プロトタイプ設定ボタン1022が押下されても、同様のプロトタイプデータの入力要求が合ったと判定する。プログラム開発装置101は、開発者がこれから入力するプロトタイプデータが、どのアクションに紐づくものかを指定させるために、該押下を受付ける。ステップS502において、プロトタイプデータ入力要求があったと判定した場合には、ステップS503に遷移する。一方、ステップS502において、プロトタイプデータ入力要求がなかった場合には、ステップS504に遷移する。
In step S502,
ステップS503では、プログラム開発装置101は、ユーザからのプロトタイプデータの入力を受付ける。ステップS503の処理の詳細は図7を参照して後述する。
In step S503,
ステップS504では、プログラム開発装置101は、画面定義保存要求があったかを判定する。画面定義保存要求があったと判定した場合には、ステップS505に遷移し、画面定義保存要求がなかった場合には、ステップS506へと遷移する。
In step S504, the
ステップS505では、プログラム開発装置101は、画面定義をリポジトリ定義部400に保存する。
In step S<b>505 , the
ステップS506では、プログラム開発装置101は、プロトタイプ生成要求があったかを判定する。プロトタイプ生成要求があったと判定した場合には、ステップS507に遷移する。一方、プロトタイプ生成要求がなかった場合には、ステップS501に遷移する。
In step S506,
ステップS507では、プログラム開発装置101は、プロトタイプアプリケーションのソースコードを生成する。ステップS507の処理の詳細は図8を参照して後述する。
In step S507,
ステップS508では、プログラム開発装置101は、ステップS507において生成したソースコードのコンパイルを行う。
At step S508, the
ステップS509では、プログラム開発装置101は、ステップS508においてコンパイルしたプロトタイプアプリケーションをアプリケーションサーバ102にデプロイする。
In step S509, the
以上で、図5の説明を終了する。S509以降の処理は図9を参照して後述する。
次に、ステップS501の処理の詳細を図6を参照して説明する。
This completes the description of FIG. Processing after S509 will be described later with reference to FIG.
Next, details of the processing in step S501 will be described with reference to FIG.
図6は、Webアプリケーションの画面定義の入力を受け付けるフローチャートの一例を示す図である。。 FIG. 6 is a diagram showing an example of a flowchart for accepting input of a screen definition of a Web application. .
ステップS601では、プログラム開発装置101は、開発者による画面部品の配置を受付ける。具体的には、図10(a)の部品パレット部423から、画面定義エディタ部421へのドラッグ&ドロップ1003による部品の配置を受付ける。図10(a)は、部品パレット部423からボタン部品を画面定義エディタ部421にドラッグ&ドロップした例を示している。画面部品の配置方法は、部品パレット部423から画面定義エディタ部421へのドラッグ&ドロップに限らず、既に配置した部品を移動する方法や、既に配置した部品をコピー&ペーストにより複製する方法であってもよい。また、一度配置した部品を削除できてもよい。
In step S601, the
ステップS602では、プログラム開発装置101は、アクションイベントを含む部品が画面定義エディタ部421に配置されたかを判定する。アクションイベントを含む部品が配置されたと判定した場合には、ステップS603に遷移し、アクションイベントを含む部品が配置されていない場合には、ステップS604に遷移する。
In step S<b>602 , the
ステップS603では、プログラム開発装置101は、アクションイベントを含む部品に設定されたアクションを登録する。具体的には、部品のソースコードにonClickというアクションを持つ部品の場合にアクションを登録する。画面定義402の一例である図14の画面定義402には、本番環境に対応した“actions”の定義1452と、プロトタイプアプリケーションに対応した“examples”の定義1453を書き出す。なお、図14の例では、データ保持の形式をjsonファイルとしているが、データ保持の形式は他形式ファイルであってもデータベースであってもよい。図10(a)の場合は、画面部品配置例1004にIDと名前をたとえばデータベースに登録させる登録ボタン1005を登録する。
In step S603, the
ステップS604では、プログラム開発装置101は、プロパティ入力要求があったかを判定する。具体的には、選択された部品のプロパティ入力要求ボタン1011(図10(b))が押下されたかを判定する。プロパティ入力要求ボタン1011は、配置済みの部品の上にマウスカーソルを配置して所定時間が経過する、あるいは右クリックすると表示される、マウスカーソルが載っていた表示アイテムに関する処理を指示するアイコンである。プロパティ入力要求があったと判定した場合、ステップS605に遷移し、プロパティ入力要求のなかった場合、画面定義入力受付処理を終了する。
In step S604, the
ステップS605では、プログラム開発装置101は、開発者による画面部品に対するプロパティの入力を受付ける。具体的には、プロパティ入力要求に応じて図10(b)の画面プロパティエディタ部422を表示し、画面部品(登録ボタン1005)が持つプロパティへの設定の入力を受付ける。図10(b)の例では、開発者による直観的な操作を実現するために画面プロパティエディタ部422を対象の部品(登録ボタン1005)付近に表示しているが、画面内の特定の領域を画面プロパティエディタ部422として確保してもよい。また、画面プロパティエディタ部422をモーダルダイアログで表示してもよい。
In step S605, the
以上で、図6の説明を終了する。 This completes the description of FIG.
次に、ステップS503の処理の詳細を図7を参照して説明する。 Next, details of the processing in step S503 will be described with reference to FIG.
図7は、Webアプリケーションのプロトタイプアプリケーションを生成する際に画面に表示するプロトタイプデータの入力を受け付けるフローチャートの一例を示す図である。 FIG. 7 is a diagram showing an example of a flowchart for accepting input of prototype data to be displayed on the screen when generating a prototype application for a Web application.
ステップS701では、プログラム開発装置101は、図5のステップS502において開発者が指定したアクションアイテムの設定を読込む。具体的には、次の二つを実施する。まず、図10(a)の画面部品配置例1004のうち、登録ボタン1005(アクションアイテム)に対応する図14の部品定義1451を読込む。部品定義1451はユーザである開発者が選択した画面部品(登録ボタン1005)の画面部品定義であり、画面部品定義403の一例である。部品定義1451のデータは、図6のフローチャートのステップS605で、図10(b)の画面プロパティエディタ部422から入力されたものとする。次に、開発者に選択された画面部品の本番環境に対応した“actions”の定義1452と、プロトタイプアプリケーションに対応した“examples”の定義1453を読込む。
In step S701, the
ステップS702では、プログラム開発装置101は、ステップS701で読込んだアクションアイテムの設定が画面遷移を伴うかを判定する。具体的には、部品定義1451のうち、画面遷移定義404である”nextUi”プロパティ(画面プロパティエディタ部422内の「次画面」と記載された項目の値である次画面プロパティ)に値が設定されているかを判定する。部品定義1451の例では、画面遷移定義である”nextUi”に、値として“sampleUi002”が設定されているため、値が設定されていると判定される。本実施例では、プログラム開発装置101は、画面遷移定義404を画面部品定義403に保持しているが、アクション定義405に保持してもよい。ステップS701で読込んだアクションアイテムの設定が画面遷移を伴うと判定した場合には、ステップS703に遷移し、ステップS701で読込んだアクションアイテムの設定が画面遷移を伴わない場合には、ステップS704に遷移する。
In step S702, the
ステップS703では、プログラム開発装置101は、ステップS701で読込んだアクションアイテムの設定に伴う画面遷移の遷移先画面を表示する。具体的には、画面遷移定義404である”nextUi”に設定された“sampleUi002”に対応する遷移先画面1102を含む図11(a)の画面1100を表示する。なお、図11(a)の遷移先画面1102も、ユーザの操作(ステップS601)により事前に設定されているものとする。遷移先画面1102のような画面は、遷移前に表示されていた画面定義エディタ部421を書き換える表示方法であっても、新たな画面定義エディタ部421を起動する表示方法であってもよい。また、図11はプロトタイプデータを設定するために表示された画面であるため、1101に「プロトタイプ設定」と表記されている。すなわち、遷移先画面1102は、プロトタイプデータ入力部425ともなる。
In step S703, the
ステップS703では、開発者が指定したアクションは、遷移前画面のアクション(たとえば、図10(c)から図11(a)に遷移する場合は、図10(c)の登録ボタン1005)となる。指定したアクション(たとえば、登録ボタン1005の押下)に遷移先画面のプロトタイプデータ443が後述するステップS706で設定される。
In step S703, the action specified by the developer becomes the action of the pre-transition screen (for example, when transitioning from FIG. 10C to FIG. 11A, the
ステップS704において、プログラム開発装置101は、ステップS701で読込んだアクションで読込んだアクションに既に設定されているプロトタイプデータ(たとえば、図15の1551のようなデータが既に設定されている場合はそのデータ)を画面上に表示する。なお、初期値は何も設定されていないものとする。
In step S704, the
次に、ステップS705において、プログラム開発装置101は、開発者による、プロトタイプデータの出力先部品の選択を受け付ける。ここでプロトタイプデータの出力先部品とは、プロトタイプアプリケーションを動作させる際にデータ(プロトタイプデータ)を表示させる表示部品のことを示す。図11(a)の例では、画面定義エディタ部421に表示された遷移先画面1102の出力先1103~1105を出力先部品として選択可能である。なお、出力先1103~1105に図示した破線の矩形は領域を示すために図示したものであって、表示されるものではない。遷移先画面1102に含まれる表示部品のうち、たとえば「Name」欄で図示しないマウスを右クリックすることで表示される図11(b)の編集ボタン1111と表入力ボタン1112のうち、編集ボタン1111が押下されると、「Name」欄に対応する出力先1104がプロトタイプデータの出力先として選択される。また、一覧のデータをリストで入力したい場合は、表入力ボタン1112が押下されると、プロトタイプデータの出力先として複数の出力先(リストの複数の列にそれぞれ対応する出力先)を選択し、リストとして複数のプロトタイプデータを一括して入力することができる。
Next, in step S705, the
ステップS706では、、プログラム開発装置101は、開発者によるプロトタイプデータの入力を受付ける。具体的には、図11(c)のプロトタイプデータ入力部425a(プロトタイプデータ入力部425の一例)として入力ダイアログを表示する。プロトタイプデータ入力部425aは、図11(b)において、「Name」欄を右クリックで指定して編集ボタン1111が押下された際に表示するプロトタイプデータ入力ダイアログである。図11(c)は、プロトタイプデータ入力部425aに対し、ユーザから「Name」欄に「谷川 則之」というプロトタイプデータが入力された例である。たとえば、「Name」欄に「谷川 則之」というプロトタイプデータが入力され、入力が確定されると、図12(a)のように、「Name」欄の出力先1104に「谷川 則之」と言う名前が入力されたプロトタイプアプリケーションを生成する。
In step S706,
また、ステップS706の別の例として、表入力ボタン1112が押下された場合のプロトタイプデータ入力部425の一例を図12(b)を参照して説明する。
As another example of step S706, an example of the prototype
図12(b)のプロトタイプデータ入力部425bは、プロトタイプデータ入力部425の一例であり、プロトタイプデータを入力するための入力ダイアログである。テキスト入力欄1201には、プロトタイプデータとして登録者リスト(一覧表)の1行目の出力先1103~1105、及び2行目以降の出力先に表示するデータ群の入力を受け付ける。図12(b)のテキスト入力欄1201の例では、1行目に「(空欄)」、「谷川 則之」、「(空欄)」、2行目に「1001」、「堀 亜衣」、「2019/10/10」、3行目に「1002」、山村 るり子」、「2019/09/18」というデータが入力されている。これらのデータ入力はファイル選択ボタン1202の押下により表示される図示しないファイル選択画面からCSVファイルや表計算ファイルが選択されることにより、そのファイルの内容を適応させても良い。
A prototype
なお、ステップS706では、言語によって表示するプロトタイプデータを切り替えるために、ロケールの指定を受付けてもよい。また、プロトタイプデータ入力受付方法として、モーダルダイアログを表示する方法を示しているが、該入力受付方法は、S705で開発者が選択した表示部品に対して直接入力を受付ける方法であってもよいし、外部ファイルによる一括入力であってもよい。 In step S706, locale designation may be accepted in order to switch the prototype data to be displayed depending on the language. Moreover, although a method of displaying a modal dialog is shown as a prototype data input acceptance method, the input acceptance method may be a method of accepting direct input to the display component selected by the developer in S705. , may be batch input by an external file.
ステップS707では、プログラム開発装置101は、開発者によるプロトタイプデータ入力が確定したかを判定する。具体的には、図11(c)のプロトタイプデータ入力部425a内のOKボタンや図12(b)のOKボタン1203が押下されたかを判定する。なお、ステップS706の入力受付方法において、部品に対する直接入力を受付けた場合は、該部品からフォーカスが外れたかにより判定する。プロトタイプデータ入力が確定したと判定された場合はステップS708に遷移し、プロトタイプデータ入力が確定していないと判定した場合は、ステップS706に遷移する。
In step S707, the
ステップS708では、プログラム開発装置101は、開発者によって入力されたプロトタイプデータを画面定義402に書き出す。具体的には、画面定義402のアクション405に紐づくプロトタイプデータ406の一例である1551に書き出す。
At step S708, the
なお、この方法では、実行するアクションによる遷移後画面で表示するデータの変更ができない。プロトタイプデータを遷移後画面の初期表示アクションに保持しているためであるが、遷移後画面で表示するプロトタイプデータを、実行するアクション側で保持することで、実行するアクションによる遷移後画面で表示するデータの変更を可能としてもよい。具体的には、1551の“onLoad”以下のオブジェクトを1453の“onClick”以下に保持することにより、画面を遷移する元のボタン(たとえば、図10の1000に配置された登録ボタン1005)に遷移後画面で表示するデータを持たせてもよい。
In this method, it is not possible to change the data displayed on the post-transition screen by the action to be executed. This is because the prototype data is held in the initial display action of the screen after transition, but by holding the prototype data to be displayed on the screen after transition on the action side to be executed, it is displayed on the screen after transition by the action to be executed. It may be possible to change the data. Specifically, by holding the objects below 1551 "onLoad" below 1453 "onClick", the screen transitions to the original button (for example, the
このように、プロトタイプデータを表示させた画面をアクションイベントごとに画面を遷移させてプロトタイプアプリケーション上で表示することにより、実際に動作するアプリケーション(たとえばデータベースから検索したり、取り出したデータから作図したりする)を作る前に、モックアップとしてどのような動作をするのかのイメージを掴むことができる
以上で、図7の説明を終了する。
In this way, the screen displaying the prototype data is displayed on the prototype application by transitioning the screen for each action event. You can get an idea of how it works as a mockup before making it. This concludes the explanation of FIG.
次に、ステップS507の処理の詳細を図8を参照して説明する。 Next, details of the processing in step S507 will be described with reference to FIG.
図8は、Webアプリケーションのプロトタイプアプリケーションのソースコードを生成する処理の流れを説明するフローチャートの一例である。 FIG. 8 is an example of a flowchart for explaining the flow of processing for generating the source code of the prototype application of the Web application.
図8のフローチャートは、図5のフローチャートにおいて、ステップS507へと処理が遷移した際に開始される処理の流れである。 The flowchart in FIG. 8 is a flow of processing that is started when the process transitions to step S507 in the flowchart in FIG.
ステップS801において、プログラム開発装置101は、リポジトリ定義部400から開発者が指定したアプリケーション定義401を読み込む。リポジトリ定義解析部411は、読み込んだ定義を解析したうえでROM203に記憶しておき、解析された定義は各生成部から適宜参照される。
In step S<b>801 , the
ステップS802において、プログラム開発装置101は、リポジトリ定義部400からステップS801で読込んだアプリケーション定義401に含まれる画面定義402を読み込む。
At step S802, the
ステップS803において、プログラム開発装置101は、リポジトリ定義部400からステップS802で読込んだ画面定義402に含まれる画面部品定義403を読込む。
In step S803, the
ステップS804において、プログラム開発装置101は、リポジトリ定義部400からステップS802で読込んだ画面定義402に含まれる画面遷移定義404を読込む。
In step S804, the
ステップS805において、プログラム開発装置101は、リポジトリ定義部400からステップS802で読込んだ画面定義402に含まれるプロトタイプデータ406を読込む。ここで読み込む画面定義402内のデータは、プロトタイプデータに対応した図14「examples」のデータであり、「actions」すなわち本番環境用のデータは使用しない。
In step S805,
ステップS806において、プログラム開発装置101は、ステップS801~ステップS806で読込んだ情報を元に、プロトタイプコード生成部412でプロトタイプアプリケーションのソースコードを生成する。生成されるソースコードは、その後、アプリケーションサーバ102にデプロイされる。なお、ソースコードやデプロイされたプログラムは、クライアントで動作するSPA(Single Page Application)としてデプロイするアプリケーションにしてもよい。SPAとしてデプロイすると、アプリケーションクライアント104にダウンロードされたSPAは、サーバと通信をせずにプロトタイプアプリケーションを実行する事ができるため、営業担当者やビジネスユーザは、レスポンス良く実施例のイメージ(プロトタイプ画面)を確認できる効果を有する。
In step S806,
以上のように、図8で生成されたプロトタイプアプリケーション440の一例を図15に示す。アクションの設定1552は、画面遷移定義404に基づいて記述された内容である。プロトタイプデータ1551は、図14の「examples」のデータに基づいて記述された内容である。プロトタイプアプリケーション440は、データベースにアクセルすることなく、図15に示すプロトタイプデータ1551に基づいて処理する仕様となる。これにより、本番用アプリケーションがデータベースから取得する処理(たとえば、アクション1452の中に具体的に記述される処理)を記載することなく、画面の変化や遷移を再現することができ、データベースへのアクセス方法を知らない営業担当者やビジネスユーザでも、アプリケーションの動きだけを再現することが可能となる。
FIG. 15 shows an example of the
以上で、図8の説明を終了する。
次に、図5のプロトタイプアプリケーション生成の処理後のアプリケーションサーバ102でのプロトタイプアプリケーション440の動作を説明するフローチャートを図9を参照して説明する。なお、図9はアプリケーションサーバ102で動作する例で記載されているが、本実施例で生成されるアプリケーションはSPAであっても良い。
This completes the description of FIG.
Next, a flowchart describing the operation of the
図9は、図5ステップS509でデプロイされたプロトタイプアプリケーション440の動作の一例を示すフローチャートの一例である。図9の処理は、アプリケーションサーバ102(430)のCPU201がプロトタイプアプリケーション440のプログラムを実行することにより実現する。図5で生成されるアプリケーションがSPAの場合は、アプリケーションクライアント104のCPU201が処理を実行する。なお、SPAの方が、プロトタイプアプリケーションのレスポンスが良いため、動作のイメージを確認するプロトタイプアプリケーションの実行環境としてはSPAの方が適している。
FIG. 9 is an example of a flow chart showing an example of the operation of the
図9のフローチャートは、プロトタイプアプリケーション440がアプリケーションサーバ102にデプロイされたあとで起動され、アプリケーションクライアント104のWebブラウザ450からユーザのアクセスがあった際に開始される処理の流れである。
The flowchart in FIG. 9 is a flow of processing that is started after the
なお、図5で生成されるアプリケーションがSPAの場合は、図9のフローチャートを実行する前にアプリケーションサーバ102からアプリケーションクライアント104にアプリケーションがダウンロードされ、アプリケーションクライアント104が処理を開始する。以降の処理の主体もアプリケーションサーバ102の代わりにアプリケーションクライアント104が実行する。
5 is SPA, the application is downloaded from the
ステップS901において、アプリケーションサーバ102は、まずブラウザのロケール情報を読込む。このロケール情報により、プロトタイプデータの表示言語を切り替えることができる。
In step S901, the
ステップS902において、図13(a)に示すプロトタイプアプリケーション440による画面1300を出力部210のディスプレイに表示する。そして、アプリケーションサーバ102は、ユーザによるアクション実行要求を受付ける。
In step S902,
ステップS903において、アプリケーションサーバ102は、ユーザによるアクション実行要求があったかを判定する。具体的には、生成された画面部品の一例である図13(a)の登録ボタン1301が押下されたかを判定する。このとき、ユーザは、アプリケーションを使用した際のイメージを再現するための動作を確認することが目的であるため、「ID」入力欄1302や「Name」入力欄1303にはユーザによる入力は必ずしも必要ではない。
In step S903, the
ステップS903において、アクション実行要求があった(登録ボタン1301が押下された)と判定した場合は、ステップS904に遷移し、ユーザによるアクション実行要求がなかった場合は、ステップS902へと戻る。
If it is determined in step S903 that there has been an action execution request (the
ステップS904において、アプリケーションサーバ102は、実行要求のあったアクションの設定1552を読込む。たとえば、アクションの設定1552の場合、1551の“examples”以下の設定を読み込み、処理を実行する。なお、本番環境用に生成されたアプリケーション(本番用アプリケーション)では1552の“actions”以下の処理を行うが、この“actions”以下の処理は、モックアップ用アプリケーションができた後で、開発者により具体的に動作するようにコーディングされていく。
In step S904, the
ステップS905において、アプリケーションサーバ102は、ステップS904で読込んだアクションが画面遷移を伴うかを判定する。アクションが画面遷移を伴うと判定した場合は、ステップS906に遷移し、アクションが画面遷移を伴わない場合は、ステップS907に遷移する。
In step S905, the
ステップS906において、アプリケーションサーバ102は、ステップS904で読込んだアクションに設定された遷移先画面を表示する。
In step S906, the
ステップS907において、アプリケーションサーバ102は、ステップS904で読込んだアクションに設定されたプロトタイプデータを表示する。具体的なプロトタイプデータの表示例として、図13(b)の遷移先画面1310に、プロトタイプデータに基づく値が表示された登録者リスト1311を表示する。
In step S907, the
なお、ステップS901で読込んだブラウザのロケール情報に従って、ステップS904で読込んだアクションに設定されたプロトタイプデータの表示言語を設定しても良い。また、該当ロケール情報に対するプロトタイプデータが存在しなかった場合のために、デフォルトのロケールを設定できてもよい。また、画面部品からユーザによる言語指定を受付け、それに従ってプロトタイプデータを表示してもよい。これらプロトタイプデータの表示言語のロケール対応により、多国籍の営業担当者やビジネスユーザでもシステムの動作を把握しやすくなるという効果がある。 Note that the display language of the prototype data set in the action read in step S904 may be set according to the locale information of the browser read in step S901. Also, a default locale may be set in case there is no prototype data for the relevant locale information. Alternatively, a user's language specification may be received from the screen component, and the prototype data may be displayed accordingly. Locale support for the display language of these prototype data has the effect of making it easier for multinational sales personnel and business users to understand the operation of the system.
以上で、図9の説明を終了する。 This completes the description of FIG.
以上のような処理により、顧客に提案などを行う営業担当者やビジネスユーザなどが顧客の所望のアプリケーションのプロトタイプを直感的に作成することが可能となる。 Through the above-described processing, it becomes possible for a sales person who makes a proposal to a customer, a business user, or the like to intuitively create a prototype of an application desired by the customer.
また、本番用アプリケーションを生成する機能を有するプログラム開発装置における手続きの途中での処理なので、本実施形態で生成されるプロトタイプアプリケーションは、見た目や画面遷移が本番用アプリケーションと同じである。 Further, since this is a process in the middle of a procedure in a program development apparatus having a function of generating a production application, the prototype application generated in this embodiment has the same appearance and screen transitions as the production application.
すなわち、営業担当者が本番用アプリケーションと同じ画面の入出力項目(アイテム)や遷移画面を顧客に提示するとで、本番用アプリケーションの細部を完成させる前の段階で、簡単に、顧客からの要望や修正指示を聞きだすことができる。そして、その要望、修正指示を開発者にフィードバックして開発中の本番用アプリケーションに手直しを加えることができる。これによって、開発者と、営業担当者やビジネスユーザとに齟齬が生じるのを防ぎ、開発の手戻り発生を抑えられるという効果を有する。 In other words, the sales representative presents the input/output items and transition screens of the same screen as the production application to the customer. Can ask for correction instructions. Then, the requests and correction instructions can be fed back to the developer to modify the production application under development. This has the effect of preventing discrepancies between the developer and the person in charge of sales or the business user, and suppressing the occurrence of rework in development.
開発者は、プロトタイプアプリケーションができると、その画面(UI)と画面遷移を参照して、アプリケーションが動作するように、アプリケーションの動作を司るロジック部分(ビジネスロジックとも言う)を生成する。ロジック部分とは、たとえば、所定の検索キーをデータベースに出力し、データベースの検索結果をデータベースから受信、受信結果を同じ画面、もしくは異なる画面で表示させるなどの処理部分である。 When the prototype application is created, the developer refers to its screen (UI) and screen transitions, and generates a logic part (also called business logic) that governs the operation of the application so that the application can operate. The logic part is, for example, a processing part that outputs a predetermined search key to a database, receives database search results from the database, and displays the received results on the same screen or a different screen.
しかし、開発者がロジック部分を開発する際に本来出力させたい情報を実装し忘れることがある。たとえば、図17の画面1741と画面1761は、メーリングリストの結果を出力させたり、メールアドレスをメーリングリストに追加したり、メールアドレスを削除したりする画面のプロトタイプアプリケーションの表示例である。営業担当者やビジネスユーザは、画面1741の検索ボタン1701が押下(クリック)されたこと(検索アクション)に応じて、画面1761のように、検索結果一覧1762と検索結果メッセージ1763とを表示させたいと要望していたとする。
However, when a developer develops a logic part, he/she may forget to implement information that he/she originally wants to output. For example, screens 1741 and 1761 in FIG. 17 are display examples of a prototype application of screens for outputting mailing list results, adding mail addresses to the mailing list, and deleting mail addresses. A salesperson or business user wants to display a
開発者が、仮に検索結果一覧1762の出力ロジックだけを実装して、検索結果メッセージ1763を出力するロジックの実装を失念した場合、実装していない部分は目検で確認する程度しかなく、目検での確認が漏れたまま、次のプログラムを生成していくと、開発の手戻りや顧客の要望を満たしていないアプリケーションができるなどの不具合が生じてしまう。
If the developer implements only the logic for outputting the
本実施形態は、上記のような課題を解決するための実施形態である。図16以降を参照して、本実施形態を説明する。 This embodiment is an embodiment for solving the above problems. This embodiment will be described with reference to FIG. 16 and subsequent figures.
図16は、Webアプリケーションのロジックチェック処理の一例を示すフローチャートであり、フローチャートの各ステップは、プログラム開発装置101のCPU201が実行する。
FIG. 16 is a flow chart showing an example of logic check processing of a Web application, and each step of the flow chart is executed by the
図16の処理は、図5でのS505までの処理を実行し、開発者により画面定義402のアクション405とプロトタイプデータ406が格納された後で開始される処理とする。
The processing in FIG. 16 is assumed to start after executing the processing up to S505 in FIG. 5 and storing the
ステップS1600において、プログラム開発装置101は、画面定義402(アクション405とプロトタイプデータ406を含む)取得する。なお、アクション405とプロトタイプデータ406は、プログラム開発装置101内ではなく、アプリケーションサーバ102に保存してあるもの(たとえば、SPAとしてアプリケーションサーバに保持されているもの)としてもよい。画面定義402に基づいて表示した表示例を図17に示す。また、ここでは、画面定義402に定義されている内容の例を図18の1840に示す。
In step S1600,
図18のアイテム名欄(1列目)は、画面定義上の項目名に対応し、IO定義名欄(2列目)は、JSONコードのIO定義の名前である。アイテム種類欄(3列目)は、入出力される項目の種類やアクション、リスト出力などを定義したデータである。なお、図18の1840の検索結果メッセージの行は、図17の画面1741の1743に表示させる、データがない時は不可視のメッセージ欄である。
The item name column (first column) in FIG. 18 corresponds to the item name on the screen definition, and the IO definition name column (second column) is the name of the IO definition in JSON code. The item type column (third column) is data defining the type of input/output item, action, list output, and the like. The search result message line 1840 in FIG. 18 is an invisible message column displayed on the
図19に、S1600で取得した画面定義402のうち、アクション405とプロトタイプデータ406の部分の一例を示す。プロトタイプデータ定義部分1921がプロトタイプデータ406の例であり、アクションバインド定義部分1922がアクション405の例であり、データを外部データベースなどから取得するアクションバインド(すなわち、ビジネスロジック、本番用アプリケーションで動作する処理)を定義した部分である。なお、アクションバインド定義部分1922は、取得したデータの算術定義であってもよく、アクションバインド定義部分1922は、図17の本番用アプリケーションが動作するためのコードが記述されている。なお、プロトタイプデータ定義部分1921とアクションバインド定義部分1922は同じ画面定義402に登録されている。プロトタイプデータ定義と本番用アプリケーション定義が同じ定義情報に登録されているため、プロトタイプアプリケーションと本番用アプリケーションのUIが共通化できると言う効果を有する。
FIG. 19 shows an example of the
テップS1601において、プログラム開発装置101は、受信したアプリケーションから、画面定義情報を読み込んで解析し、画面定義内に登録されているアクション(ボタン押下後の処理やリンクテキスト押下後の処理)の個数を確認する。たとえば、図18の場合は、検索(検索ボタン1701の押下)、追加(追加ボタン1702の押下)、削除(削除ボタン1703の押下)のアクションが3つあるため、アクション数は3つである。
In step S1601, the
ステップS1602において、プログラム開発装置101は、ステップS1601で個数を確認したアクションの数だけ、ステップS1603からステップS1607の間を繰り返す。図18の場合は、3つのアクションがあるため、3回繰り返す。
In step S1602, the
ステップS1603において、プログラム開発装置101は、各アクションに紐づくプロトタイプデータを取得する。図18の例の行1841の検索アクションに対応するプロトタイプデータを取得する場合は、対応する定義情報である図19のプロトタイプデータ定義部分1921の “SEARCH”キーの値1926として入力されている値を取得する。この値は、出力先の項目である“query_result”キー(検索結果)に表示する値として予め定められたプロトタイプデータを指し示す変数searchData1923を取得し、出力先の項目である“result_msg”キー(検索結果メッセージ)に表示する値として“4件がヒットしました。”という登録された文字列のプロトタイプデータを取得する。変数searchData1923の例は、図18の1860のように予め登録されているデータとする。
In step S1603, the
ステップS1606において、プログラム開発装置101は、ステップS1602で指定されたアクションでプロトタイプデータが反映される項目を変化項目リストとして抽出し、登録する。図19の例では、“query_result”キー(検索結果)の値と、“result_msg”キー(検索結果メッセージ)の値が変更されているので、その2箇所を変化項目リストに登録する。登録するデータの例を図20を参照して説明する。
In step S1606, the
図20は、本実施形態のチェックアクションの結果が登録されたデータの例である。変化項目リストとして記憶されている例が変化項目リスト2022である。変化項目リスト2022は、“SEARCH”アクション(検索アクション)における変化項目のリスト(プロトタイプデータの値が出力される出力先の項目のリスト)である。変化項目リスト2022の“diffItems”キーの中に、図19でプロトタイプデータが表示される出力先の項目を示す“query_result”と“result_msg”が値として登録される。図16のフローチャートの説明に戻る。
FIG. 20 is an example of data in which results of check actions according to this embodiment are registered. A
ステップS1607において、ステップS1603からステップS1606の処理をアプリケーションのアクションの数だけ繰り返す。 In step S1607, the processing from step S1603 to step S1606 is repeated by the number of actions of the application.
ステップS1608において、プログラム開発装置101は、各アクションのビジネスロジック定義(外部データベースなどからデータを取得する定義など)を取得する。各アクションのビジネスロジックは、図19の例では、アクションバインド定義部分1922にあるようなコード(一部)になる。図19のアクションバインド定義部分1922のアクションバインド定義(ビジネルロジック定義の一部)のJSONコードの説明を行う。
In step S1608, the
図19のアクションバインド定義部分1922は、アクションバインド定義部分を抽出した一部分の例であり、開発者が具体的な処理の内容を記載している。1924の“restCall”キーの値に、たとえば、接続するデータベースのURIやID、パスワード、様々な検索条件が指定されており、1924から受信した変数resultsの中の値を、出力先を示す項目(出力項目)の$ui.query_result欄に代入する(1925)出力を行っている(1926)。図16のフローチャートの説明に戻る。
An action binding
次に、ステップS1609において、プログラム開発装置101は、ステップS1606において登録されているチェックアクションデータ2021の各アクションの変化項目リスト2022に登録されている項目数だけ、ステップS1610からステップS1613の処理を繰り返す。
Next, in step S1609, the
ステップS1610において、プログラム開発装置101は、ステップS1608で出力される出力項目と、ステップS1606で登録された変化項目とを比較する。
In step S1610, the
ステップS1611において、プログラム開発装置101は、ステップS1610で比較した結果、ステップS1608で出力される出力項目と、ステップS1606で登録された変化項目とが一致しているかによって処理を分ける。ステップS1608での出力項目と、ステップS1606での変化項目との一致判断は、ステップS1606で変化した変化項目がステップS1608での出力項目対象になっているかにより判断する。2つの項目が一致していれば(すなわち、共に変化及び出力対象であれば)、ステップS1613へと処理を遷移し、2つの項目が一致していない(たとえば、アクションのビジネルロジックが定義されていないなど)場合は、ステップS1612へと処理を遷移する。
In step S1611, the
ステップS1612において、プログラム開発装置101は、チェックアクションデータ2021に、プロトタイプデータの項目と、アクションのビジネスロジックの結果が一致していないことを未定義項目リスト2023に登録する。
In step S<b>1612 , the
一方、ステップS1613において、プログラム開発装置101は、チェックアクションデータ2021に、プロトタイプデータの項目と、アクションのビジネスロジックの出力結果が一致している項目を定義済項目リスト2024に登録する。
On the other hand, in step S 1613 , the
ステップS1612とS1613の処理を、図20と図19を参照して説明する。 The processing of steps S1612 and S1613 will be described with reference to FIGS. 20 and 19. FIG.
図19のプロトタイプデータ定義部分1921のようなプロトタイプデータ定義とアクションバインド定義部分1922のようなアクションバインド定義(ビジネスロジック定義)をもつアプリケーションにおいて、検索アクションである“SEARCH”キーに注目すると、プロトタイプデータ定義部分1921では、1926のように、“query_result”キー(検索結果)と、“result_msg”キー(検索結果メッセージ)の2つが出力されている。一方、アクションバインド定義では、“SEARCH”キーに紐づく出力は1925のように、query_result($ui.query_result)だけであり、result_msg($ui.result_msg)を出力するビジネスロジックが抜けている。そのため、図20の未定義項目リスト2023には、“result_msg”が未定義であり、定義済項目リスト2024には、“query_result”は定義済であることを登録している。なお、変化項目のうち、定義済項目、未定義項目のいずれにも該当しない変化項目、たとえば、プロトタイプでバインドを定義していない箇所にアクションバインドを定義した項目があれば、その項目を検出し、エラー定義項目2025として登録しても良い。図16のフローチャートの説明に戻る。
In an application that has a prototype data definition such as the prototype
ステップS1614において、ステップS1610からステップS1613の処理を変化項目リストの数だけ繰り返す。 In step S1614, the processing from step S1610 to step S1613 is repeated by the number of change item lists.
ステップS1615において、プログラム開発装置101は、ロジック定義チェックの結果であるチェックアクションデータ2021を取得する。この段階で、取得したデータに定義ミス(未定義項目リスト2023に未定義項目が登録されていたり、エラー定義項目2025にエラー定義項目が登録されている場合など)があれば、別途定義ミスありのアラートを出力部210に出力しても良い。
In step S1615, the
ステップS1616において、プログラム開発装置101は、チェックアクションデータ2021から、ロジックチェックの結果を算出する。
In step S<b>1616 , the
ステップS1617において、ステップS1616で算出されたロジックチェックの結果を出力部210に出力される(出力部210のディスプレイに表示する)。出力される画面の例を図21を参照して説明する。 In step S1617, the logic check result calculated in step S1616 is output to the output unit 210 (displayed on the display of the output unit 210). An example of the output screen will be described with reference to FIG.
図21は、プログラム開発装置101の出力部210に出力される(ディスプレイに表示される)ロジックチェック結果の画面表示例である。実行結果表示ダイアログ2101には、ロジックチェックの内容として、実行結果概要が表示される。実行結果概要2102によると、確認対象アクション件数3件に対し、ロジックが定義されていない未定義件数2105が1件あることが判る。ロジックチェックの詳細を確認するには、[Detail]ボタン2103を押下する。
FIG. 21 is a screen display example of the logic check result output to the
[Detail]ボタン2103を押下すると、図21の詳細画面2121のような実行結果の詳細画面が出力される。領域2122には、実行結果概要2102で表示した内容と同じデータが表示され、領域2123,領域2124にロジックチェックの詳細が表示される。領域2123にはロジックチェックした対象のアクションが一覧で表示されている。領域2123の一覧から、バツのマーク2127が付いている検索アクションを選択すると、領域2124に選択されたアクションについてのチェック結果の詳細が表示される。
When the [Detail]
領域2124には、検索アクションに対する変化項目の数、表示項目が正しかった項目、違っている項目(NG表記)が表示され、違っている項目は、「検索結果メッセージ」欄(result_msg)部分であることを表示している。この記載により、開発者は定義が終了していない項目を把握することが可能となる。
また、領域2124には、検索アクションのロジックチェック結果が1/2成功したことを表示している。この表示により、開発者は、ロジック定義の情報をどれぐらい生成したかと言う割合を把握することができる。この割合を算出できるため、開発者はロジック定義の途中(完成させていない状態)でも図16の処理を実施して、作業の進捗を知ることができる。
以上説明した処理によれば、プログラム開発装置101は、ユーザからの操作に応じた特定のイベント(アクション)に応じて出力するプロトタイプデータの出力先となる項目を示すプロトタイプデータ406と、アクションに応じたデータの出力先となる項目を示すアクション405を取得する。そしてそれらの比較に基づいて、図21に示したような比較結果を表示する。プロトタイプデータ406は本番用アプリケーションに対応するプロトタイプアプリケーションにおいて特定のイベント(例えば検索ボタン1701を押下したことに応じた検索アクション)があった場合に、検索アクションに対応する処理である、データベース103を検索するという処理(イベントに対応する対応処理)を行うことなく出力される、予め定められた出力データである。また、プロトタイプデータ406は、プロトタイプアプリケーションにおける画面1761における出力先となる項目を示す情報でもある。具体的には1926であり、この情報に基づいて変化項目リスト2022が生成される。アクション405は、プロトタイプアプリケーションに対応する本願用アプリケーションにおいて同じく検索アクションがあった場合に、本番用のアプリケーションにおける画面であって、プロトタイプアプリケーションの画面1761に対応する画面における出力先となる項目を示す情報である。具体的には1925である。この本番用アプリケーションでの出力先には、検索アクションに対応する対応処理である、データベース103を検索するという処理を行った結果の値が表示される。 以上の処理により、プロトタイプアプリケーションと開発済みの本番用アプリケーションとの差分から、本番用アプリケーションの出力結果の抜けや漏れをいち早く検出でき、開発の手戻りを少なくすることができる。また、開発途中のアプリケーションに関して、上記処理を行うことにより、開発状況の進捗を確認することも可能となる。すなわち、プログラムの開発作業を効率化することができる。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
Also, in
According to the processing described above, the
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 apparatus. 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 (15)
前記特定のイベントに応じて出力する出力データであって、前記対応処理に応じた出力データの出力先となる項目を示す第2の情報と、
を取得する取得手段と、
前記第1の情報と前記第2の情報との比較に基づく表示を行うように制御する表示制御手段と、
を有することを特徴とする情報処理装置。 A first output data to be output in response to a specific event in response to an operation from a user, which indicates an item to be an output destination of predetermined output data irrespective of a corresponding process corresponding to the specific event; information and
second information that is output data to be output in response to the specific event and indicates an item to be an output destination of the output data in response to the response process;
an obtaining means for obtaining a
display control means for controlling display based on comparison between the first information and the second information;
An information processing device comprising:
前記第2の情報は、前記第1のアプリケーションに対応する第2のアプリケーションにおいて前記特定のイベントがあった場合に、前記第2のアプリケーションにおける、前記第1の画面に対応する画面における出力先となる項目を示す情報であることを特徴とする請求項1に記載の情報処理装置。 The first information is information indicating an item to be an output destination on the first screen of the first application when the specific event occurs in the first application,
The second information is an output destination on a screen corresponding to the first screen in the second application when the specific event occurs in the second application corresponding to the first application. 2. The information processing apparatus according to claim 1, wherein the information is information indicating an item.
ユーザからの操作に応じた特定のイベントに応じて出力する出力データであって、前記特定のイベントに対応する対応処理にかかわらない予め定められた出力データの出力先となる項目を示す第1の情報と、
前記特定のイベントに応じて出力する出力データであって、前記対応処理に応じた出力データの出力先となる項目を示す第2の情報と、
を取得する取得ステップと、
前記第1の情報と前記第2の情報との比較に基づく表示を行うように制御する表示制御ステップと、
を有することを特徴とする情報処理方法。 An information processing method in an information processing device,
A first output data to be output in response to a specific event in response to an operation from a user, which indicates an item to be an output destination of predetermined output data irrespective of a corresponding process corresponding to the specific event; information and
second information that is output data to be output in response to the specific event and indicates an item to be an output destination of the output data in response to the response process;
a obtaining step that obtains
a display control step of performing control to perform display based on a comparison between the first information and the second information;
An information processing method characterized by having
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021140195A JP2023034112A (en) | 2021-08-30 | 2021-08-30 | Information processing device, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021140195A JP2023034112A (en) | 2021-08-30 | 2021-08-30 | Information processing device, information processing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023034112A true JP2023034112A (en) | 2023-03-13 |
Family
ID=85504715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021140195A Pending JP2023034112A (en) | 2021-08-30 | 2021-08-30 | Information processing device, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023034112A (en) |
-
2021
- 2021-08-30 JP JP2021140195A patent/JP2023034112A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832052B (en) | Method and device for displaying preview page, storage medium and electronic equipment | |
CN115268873A (en) | Low-code file development method based on multi-person cooperation | |
JP2021103432A (en) | Information processing apparatus, information processing method, and program | |
JP7014960B2 (en) | Information processing equipment, servers, their processing methods and programs | |
JP6423933B2 (en) | Information processing apparatus, form management system, form management server, information processing method, and program thereof | |
JP2023034112A (en) | Information processing device, information processing method, and program | |
JP7231864B2 (en) | Information processing device, information processing method and program | |
JP7485894B2 (en) | Information processing device, information processing method, and program | |
JP7477773B2 (en) | Information processing device, control method, and program | |
JP7421137B2 (en) | Information processing device, information processing method and program | |
JP7406110B2 (en) | Information processing system, its control method and program | |
JP7506339B2 (en) | Information processing system, control method thereof, and program | |
JP7376806B2 (en) | Information processing system, its control method and program | |
US20220237253A1 (en) | Information processing system, control method, and storage medium | |
JP7572643B2 (en) | Information processing system, control method thereof, and program | |
JP7315817B2 (en) | Information processing device, its control method, and program | |
US20220229622A1 (en) | Information processing apparatus, control method of information processing apparatus, and storage medium | |
JP7319516B2 (en) | Program, information processing device, and control method thereof | |
JP2022178985A (en) | Information processing device, control method, and program | |
JP7311740B2 (en) | Information processing system, its control method, and program | |
US20230297208A1 (en) | Collaborative widget state synchronization | |
JP2024094938A (en) | Information processing apparatus, information processing method, and program | |
JP2022112478A (en) | Information processing apparatus, control method thereof, program, and recording medium | |
JP2017182675A (en) | Information processing device, processing method thereof, and program | |
JP6203613B2 (en) | Information processing apparatus, form management system, form management apparatus, information processing method, and program thereof |