JP2024094938A - Information processing device, information processing method, and program - Google Patents

Information processing device, information processing method, and program

Info

Publication number
JP2024094938A
JP2024094938A JP2022211867A JP2022211867A JP2024094938A JP 2024094938 A JP2024094938 A JP 2024094938A JP 2022211867 A JP2022211867 A JP 2022211867A JP 2022211867 A JP2022211867 A JP 2022211867A JP 2024094938 A JP2024094938 A JP 2024094938A
Authority
JP
Japan
Prior art keywords
action
information processing
processing device
variable
application
Prior art date
Application number
JP2022211867A
Other languages
Japanese (ja)
Inventor
雅博 田村
剛 高塚
Original Assignee
キヤノンマーケティングジャパン株式会社
キヤノンItソリューションズ株式会社
Filing date
Publication date
Application filed by キヤノンマーケティングジャパン株式会社, キヤノンItソリューションズ株式会社 filed Critical キヤノンマーケティングジャパン株式会社
Publication of JP2024094938A publication Critical patent/JP2024094938A/en

Links

Abstract

【課題】 本発明は、画面項目の削除に対応して、ソースコードを開発者が修正すべきか開発者は修正せずに対応できるかを容易に識別表示することを目的とする。
【解決手段】
画面項目を有するアプリケーションのプログラムを修正する情報処理装置であって、前記アプリケーションの画面項目の削除を受け付ける受付手段と、前記受付手段で受け付けた削除する画面項目と紐付く前記アプリケーションのアクション内で定義された変数を特定する特定手段と、前記特定手段で特定される変数の係る部分を削除して所定の条件を満たすアクションの場合は、前記変数の係る部分を削除制御する制御手段と、を有することを特徴とする。
【選択図】 図5

The present invention aims to easily identify and display whether a developer should modify source code in response to the deletion of a screen item or whether the developer can deal with the deletion without modifying the source code.
SOLUTION
An information processing device that modifies a program of an application having a screen item, comprising: a receiving means for receiving the deletion of a screen item of the application; a determination means for determining a variable defined within an action of the application that is linked to the screen item to be deleted that is received by the receiving means; and a control means for deleting the relevant part of the variable determined by the determination means and, in the case of an action that satisfies a specified condition, controlling the deletion of the relevant part of the variable.
[Selected figure] Figure 5

Description

本発明は、開発中のアプリケーションソフトウェアのリファクタリングを実行する情報処理装置、情報処理方法およびプログラムに関する。 The present invention relates to an information processing device, an information processing method, and a program for performing refactoring of application software under development.

Webアプリケーションにおいて画面に配置している入力項目に対するアクションを定義するにあたり、入力項目とアクションで使用する変数と紐づける必要がある。また、アクションの結果を出力項目に出力するために、出力項目とアクションの出力結果とを紐づける必要もある。 When defining an action for an input field placed on a screen in a web application, it is necessary to link the input field with the variable used in the action. Also, in order to output the result of the action to an output field, it is necessary to link the output field with the output result of the action.

しかし、画面の入出力項目IDとアクション(たとえばJavaScript(登録商標))で使用する変数の名前はそれぞれ別々に定義する必要がある。 However, the names of variables used in screen input/output item IDs and actions (for example, JavaScript (registered trademark)) must be defined separately.

特許文献1には、ソースプログラムの解析対象の変数から関連する変数名を抽出し、出現回数、出現確率の情報を出力して、関連する変数名の確認を容易にする技術が開示されている。 Patent document 1 discloses a technology that extracts related variable names from the variables being analyzed in a source program, and outputs information on the number of occurrences and occurrence probability, making it easy to check related variable names.

特開2002-132544号公報JP 2002-132544 A

しかしながら、特許文献1には、関連する変数名を出力し確認させるのみであり、1つの画面項目を削除すると、対応する変数が使われているJavaScript(登録商標)などのソースコードを修正するべきかどうかをすぐには判断できない。 However, in Patent Document 1, the system only outputs and allows the user to confirm the names of related variables; when a screen item is deleted, it is not possible to immediately determine whether source code such as JavaScript (registered trademark) in which the corresponding variable is used should be modified.

本発明は、画面項目の削除に対応して、ソースコードを開発者が修正すべきか開発者は修正せずに対応できるかを容易に識別表示することを目的とする。 The present invention aims to easily identify and display whether a developer should modify source code in response to the deletion of a screen item or whether the developer can deal with the problem without modifying the source code.

本発明は、画面項目を有するアプリケーションのプログラムを修正する情報処理装置であって、
前記アプリケーションの画面項目の削除を受け付ける受付手段と、
前記受付手段で受け付けた削除する画面項目と紐付く前記アプリケーションのアクション内で定義された変数を特定する特定手段と、
前記特定手段で特定される変数の係る部分を削除して所定の条件を満たすアクションの場合は、前記変数の係る部分を削除制御する制御手段と、
を有することを特徴とする。
The present invention provides an information processing device for modifying a program of an application having screen items, comprising:
A receiving means for receiving deletion of a screen item of the application;
a specifying means for specifying a variable defined in an action of the application associated with the screen item to be deleted received by the receiving means;
a control means for controlling the deletion of the relevant part of the variable identified by the identifying means in the case of an action that satisfies a predetermined condition by deleting the relevant part of the variable;
The present invention is characterized by having the following.

本発明によれば、画面項目の削除に対応して、ソースコードを開発者が修正すべきか開発者は修正せずに対応できるかを容易に識別表示することができる。 According to the present invention, when a screen item is deleted, it is possible to easily identify and display whether the developer should modify the source code or whether the developer can deal with the problem without modifying it.

本実施形態に係るシステム構成図である。FIG. 1 is a system configuration diagram according to an embodiment of the present invention. 本実施形態に係るプログラム開発装置、実行サーバ、データベースサーバ、クライアント端末として適用可能なハードウェア構成の一例を示すブロック図である。FIG. 2 is a block diagram showing an example of a hardware configuration applicable to a program development device, an execution server, a database server, and a client terminal according to the present embodiment. アプリケーション生成処理のフローチャートの一例である。13 is an example of a flowchart of an application generation process. 画面定義削除処理のフローチャートの一例である。13 is an example of a flowchart of a screen definition deletion process. 画面項目IDに紐付く変数識別表示or削除処理のフローチャートの一例である。13 is an example of a flowchart of a process for identifying and displaying or deleting a variable associated with a screen item ID. アプリケーション生成時の画面表示例である。13 is an example of a screen display when an application is generated. 画面項目削除前後のアプリケーション修正時の画面表示例である。13 is an example of a screen display when modifying an application before and after deleting a screen item. 画面項目削除前のアプリケーション修正時の画面表示例である。13 is an example of a screen display when an application is modified before a screen item is deleted. 画面項目削除後のアプリケーション修正時の画面表示例である。13 is an example of a screen display when an application is modified after a screen item is deleted.

以下、本発明の実施の形態を、図面を参照して詳細に説明する。 The following describes in detail the embodiments of the present invention with reference to the drawings.

図1は、本発明に係る情報処理装置101(開発者がWebアプリケーション生成のために操作するプログラム開発装置)、実行サーバ102、データベースサーバ103、クライアント端末104の構成の一例を示すシステム(情報処理システム)構成図である。 Figure 1 is a system (information processing system) configuration diagram showing an example of the configuration of an information processing device 101 (a program development device operated by a developer to generate a Web application), an execution server 102, a database server 103, and a client terminal 104 according to the present invention.

情報処理装置101は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。情報処理装置101は、プログラムなどのアプリケーションソフトウェア(以下、単にアプリケーションと称する)の生成を行う。具体的には、情報処理装置101は、Webアプリケーションを開発する開発者によりリポジトリ定義として、アプリケーション定義、入出力定義、データモデル定義、ビジネスプロセス定義、データベース定義の各定義を設定し、これらの定義を用いて、Webアプリケーションを生成する。これら、アプリケーション定義、入出力定義、データモデル定義、ビジネスプロセス定義、データベース定義の定義は、Webアプリケーション開発ツールを介して、開発者によって事前に入力設定、または配置されてもよい。 The information processing device 101 defines screen layouts and database search instructions, etc., according to operations by a developer. The information processing device 101 generates application software such as programs (hereinafter simply referred to as applications). Specifically, the information processing device 101 sets the application definition, input/output definition, data model definition, business process definition, and database definition as repository definitions by a developer who develops a Web application, and generates a Web application using these definitions. These application definition, input/output definition, data model definition, business process definition, and database definition definitions may be input or configured in advance by the developer via a Web application development tool.

この実施形態においては、情報処理装置101で生成するアプリケーションはWebアプリケーションとするが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Web技術による通信を利用したアプリケーションでなくてもよい。 In this embodiment, the application generated by the information processing device 101 is a Web application, but this is not limited to this, and the application may not be an application that uses communication via Web technology, such as an application that runs on an information processing device such as a mobile phone, smartphone, or tablet, or embedded software.

実行サーバ102は、情報処理装置101で開発されたアプリケーションを実行する。また、データベースサーバ103と接続して動作することが可能である。 The execution server 102 executes applications developed in the information processing device 101. It is also capable of operating in connection with the database server 103.

データベースサーバ103は、開発されたアプリケーションが使用するデータベースであり、また本発明では開発時にも動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ103は、情報処理装置101や、実行サーバ102と同一の装置で構成されていてもよいし、LANなどのネットワーク105内に配置されてもよい。 The database server 103 is a database used by the developed application, and may be used during development for purposes such as checking operation. For example, the database server 103 for use by a developer may be configured as the same device as the information processing device 101 or execution server 102, or may be located within a network 105 such as a LAN.

クライアント端末104は、実行サーバ102と協調して情報処理装置101で開発したアプリケーションプログラムを動作させる、エンドユーザの入力端末である。この、クライアント端末104は、携帯端末などの情報処理装置であってもよいこととする。 The client terminal 104 is an input terminal of an end user that operates an application program developed in the information processing device 101 in cooperation with the execution server 102. The client terminal 104 may be an information processing device such as a mobile terminal.

なお、情報処理装置101、実行サーバ102、データベースサーバ103、および、クライアント端末104の何れかを、クラウドなどのインターネット上に配置してもよい。 In addition, any of the information processing device 101, the execution server 102, the database server 103, and the client terminal 104 may be placed on the Internet, such as on the cloud.

図2は、本発明に係る情報処理装置101、実行サーバ102、データベースサーバ103、クライアント端末104として適用可能な各ハードウェア構成の一例を示すブロック図である。 Figure 2 is a block diagram showing an example of the hardware configuration applicable to the information processing device 101, execution server 102, database server 103, and client terminal 104 according to the present invention.

図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。 In FIG. 2, the CPU 201 comprehensively controls each device connected to the system bus 204.

また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。 The ROM 203 or external memory 211 also stores an operating system (OS), which is the control program for the CPU 201, and programs for implementing various functions of information processing devices, such as servers, clients, and devices, which will be described later.

RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。 RAM 202 functions as the CPU 201's main memory, work area, temporary storage area, etc.

入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイス、タッチパネルが挙げられる。 The input controller 205 controls input from the input unit 209. In an information processing device, the input unit 209 may be a keyboard, a pointing device such as a mouse, or a touch panel.

なお、入力部209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。 When the input unit 209 is a touch panel, the user can give various instructions by pressing (touching with a finger, etc.) icons, cursors, or buttons displayed on the touch panel.

また、タッチパネルは、マルチタッチスクリーン等の、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。 The touch panel may also be a touch panel capable of detecting positions touched by multiple fingers, such as a multi-touch screen.

出力コントローラ206は、出力部210を表示制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。尚、本体と一体になったノート型パソコンのディスプレイも含まれるものとする。また、プロジェクタであってもよいこととする。 The output controller 206 controls the display of the output unit 210. Examples of the output unit 210 include a CRT or a liquid crystal display. Note that this also includes the display of a notebook computer that is integrated into the main body. It may also be a projector.

外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。外部メモリ211には、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。 The external memory controller 207 controls access to the external memory 211, which stores the boot program, various applications, font data, user files, edit files, printer drivers, etc. The external memory 211 stores various tables and parameters for implementing the various functions of each server, client, device, etc. Examples of this external memory 211 include a hard disk (HD), a flexible disk (FD), a compact flash (registered trademark) connected to a PCMCIA card slot via an adapter, a smart media, etc.

なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、出力部210上での表示を可能としている。また、CPU201は、出力部210上の不図示のマウスカーソル等でのユーザ指示を可能とする。 The CPU 201 enables display on the output unit 210 by, for example, executing an outline font expansion (rasterization) process on a display information area in the RAM 202. The CPU 201 also enables user instructions with a mouse cursor (not shown) on the output unit 210.

通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。 The communication I/F controller 208 executes communication control processing with external devices via a network. For example, communication using TCP/IP is possible.

本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。 The program 212 for implementing the present invention is recorded in the external memory 211, and is executed by the CPU 201 by being loaded into the RAM 202 as required.

図3は、Webアプリケーション生成のフローチャートの一例を示す図である。なお、図3のフローチャートの各ステップは、情報処理装置101のCPU201が実行する。 Figure 3 is a diagram showing an example of a flowchart for generating a web application. Note that each step of the flowchart in Figure 3 is executed by the CPU 201 of the information processing device 101.

S301において、情報処理装置101は、アプリケーションの画面定義の入力を開発者から受け付ける。画面定義の例を図6を参照して説明する。 In S301, the information processing device 101 receives input of a screen definition for the application from the developer. An example of the screen definition will be described with reference to FIG. 6.

図6(a)は、開発者により入力された画面定義の例である、左側の「入出力」や「選択リスト」などのパレットから右側のエディタエリア604にマウスを使いドラッグアンドドロップをするなどにより、右側の入出力画面のような画面定義を受け付ける。 Figure 6 (a) shows an example of a screen definition entered by a developer. A screen definition such as the input/output screen on the right is accepted by dragging and dropping with the mouse from palettes such as "Input/Output" and "Selection List" on the left to the editor area 604 on the right.

図6(b)は、図6(a)のテキスト型入力エリア601のプロパティを示す図である。 Figure 6 (b) shows the properties of the text input area 601 in Figure 6 (a).

図6(b)では、テキスト入力エリア601のコード(ソースコードの生成時に変数名として記述される名前)として、「G_ITEM_TEXT」が自動的に設定されている。図3のフローチャートの説明に戻る。 In FIG. 6(b), "G_ITEM_TEXT" is automatically set as the code (the name written as the variable name when the source code is generated) for the text input area 601. Let's return to the explanation of the flowchart in FIG. 3.

S302において、情報処理装置101は、開発者から画面定義のアクション定義に関する入力要求があったかにより処理を分ける。アクション定義の入力要求があった場合は、S303へと処理を遷移し、入力要求がなければS304へと処理を遷移する。 In S302, the information processing device 101 divides the process depending on whether or not there is a request from the developer to input an action definition for the screen definition. If there is a request to input an action definition, the process transitions to S303, and if there is no input request, the process transitions to S304.

S303において、情報処理装置101は、開発者からアクション定義の入力を受け付ける。アクションの例を図7、図8を参照して説明する。 In S303, the information processing device 101 accepts input of an action definition from the developer. Examples of actions will be described with reference to Figures 7 and 8.

図7(a)は、図6(a)のアップデートのアクションボタン602に対応するアクション定義であり、アップデートのアクションボタン602の押下後に真ん中のフローチャートの処理が実施される定義である。 Figure 7 (a) is an action definition corresponding to the update action button 602 in Figure 6 (a), and is a definition in which the process in the middle flowchart is performed after the update action button 602 is pressed.

図8(a)は、図6(a)のインサートのアクションボタン603に対応するアクション定義であり、インサートのアクションボタン603の押下後に真ん中のフローチャートの処理が実施される定義である。 Figure 8 (a) is an action definition corresponding to the insert action button 603 in Figure 6 (a), and is a definition in which the process in the middle flowchart is performed after the insert action button 603 is pressed.

それぞれの定義の際、テキスト入力エリア601に入力されたデータは、図7(a)では701で、図8(a)では801でそれぞれ「ptext」という変数名に記憶されて、データのアップデートやインサートに使われる。図3のフローチャートの説明に戻る。 When defining each, the data entered in the text input area 601 is stored in the variable name "ptext" at 701 in FIG. 7(a) and 801 in FIG. 8(a), and is used to update or insert data. Let's return to the explanation of the flowchart in FIG. 3.

S304において、情報処理装置101は、開発者から画面定義の保存要求があったかにより、処理を分ける。保存要求があった場合はS505へと処理を遷移し、保存要求がない場合はS306へと処理を遷移する。 In S304, the information processing device 101 divides the process depending on whether or not there is a request from the developer to save the screen definition. If there is a save request, the process proceeds to S505, and if there is no save request, the process proceeds to S306.

S305へと処理を遷移すると、情報処理装置101は、画面定義(アクション定義含む)を外部メモリ211に保存する。 When the process transitions to S305, the information processing device 101 saves the screen definition (including the action definition) in the external memory 211.

S306において、情報処理装置101は、開発者からアプリケーション生成要求があったかにより、処理を分ける。アプリケーション生成要求があった場合はS307へと処理を遷移し、アプリケーション生成要求がない場合はS301へと処理を戻し、画面定義の入力処理へと戻る。 In S306, the information processing device 101 divides the process depending on whether or not there is a request from the developer to generate an application. If there is a request to generate an application, the process transitions to S307. If there is no request to generate an application, the process returns to S301, and the process returns to inputting the screen definition.

S307において、情報処理装置101は、S301で定義された画面定義とS303で定義されたアクション定義からアプリケーションを生成する。図3のフローチャートの処理の結果、図6(a)のエディタエリア604の画面のような入力画面を有するWebアプリケーションが生成される。 In S307, the information processing device 101 generates an application from the screen definition defined in S301 and the action definition defined in S303. As a result of the processing of the flowchart in FIG. 3, a web application having an input screen like the screen of the editor area 604 in FIG. 6(a) is generated.

次に、図4を参照して、図3で生成したWebアプリケーションから画面定義を削除する際の処理の流れを説明する。なお、図4のフローチャートの各ステップは、情報処理装置101のCPU201が実行する。 Next, the process flow for deleting a screen definition from the Web application generated in FIG. 3 will be described with reference to FIG. 4. Note that each step of the flowchart in FIG. 4 is executed by the CPU 201 of the information processing device 101.

S401において、情報処理装置101は、出力部210に図3で生成された、もしくは生成中の画面エディタを表示する。図6(a)が画面エディタの表示例である。 In S401, the information processing device 101 displays the screen editor that was generated or is being generated in FIG. 3 on the output unit 210. FIG. 6(a) is an example of the display of the screen editor.

S402において、情報処理装置101は、S401で表示された画面エディタの中の画面項目(たとえば、テキスト入力エリア601)の削除指示を受け付ける。削除指示を受け付けると、画面エディタ上では図6(c)のように、テキスト入力エリア621が消えた画面が表示される。 In S402, the information processing device 101 receives an instruction to delete a screen item (e.g., the text input area 601) in the screen editor displayed in S401. When the deletion instruction is received, a screen is displayed on the screen editor with the text input area 621 removed, as shown in FIG. 6(c).

S403において、情報処理装置101は、画面定義内に削除した画面項目に対応する変数が使用されているアクションイベントがあるかどうかにより、処理を分ける。アクションイベントがある場合は、S404へと処理を遷移し、アクションイベントが無い場合は、図4のフローチャートを終えて、画面定義から画面項目を削除する処理だけで終了する。 In S403, the information processing device 101 divides the process depending on whether there is an action event in the screen definition in which a variable corresponding to the deleted screen item is used. If there is an action event, the process transitions to S404. If there is no action event, the process ends with the flowchart in FIG. 4 and only the process of deleting the screen item from the screen definition.

S404において、情報処理装置101は、削除される画面項目のID(コード)に紐付く変数を識別表示するか、画面項目のID(コード)に紐付く処理を削除するかを選択する処理を実行する。詳細は図5を参照して説明する。 In S404, the information processing device 101 executes a process to select whether to identify and display the variables linked to the ID (code) of the screen item to be deleted, or to delete the process linked to the ID (code) of the screen item. Details will be described with reference to FIG. 5.

図5は、本実施形態の削除される画面項目のID(コード)に紐付く変数を識別表示するか、画面項目のID(コード)に紐付く処理を削除するかを選択して実行する処理の流れを説明するフローチャートである。

S501において、情報処理装置101は、削除される画面項目のID(コード)に紐付く変数の名前を取得する。たとえば、図6(c)の621のようにテキスト入力エリア601を削除する場合、図7(a)や図8(a)では、701や801のように「ptext」と言う変数名を取得する。
FIG. 5 is a flowchart illustrating the flow of processing executed by selecting whether to identify and display variables linked to the ID (code) of a screen item to be deleted in this embodiment, or to delete a process linked to the ID (code) of the screen item.
@
In step S501, the information processing apparatus 101 acquires the name of a variable associated with the ID (code) of the screen item to be deleted. For example, when deleting a text input area 601 as shown in 621 in Fig. 6C, a variable name "ptext" as shown in 701 or 801 in Fig. 7A or 8A is acquired.

S502において、情報処理装置101は、S501で取得した変数名を使ったアクションがあるかどうかで処理を分ける。S501で取得した変数名を使ったアクションがある場合は、S503へと処理を遷移し、S501で取得した変数名を使ったアクションがない場合は、図5のフローチャートの処理を終える。 In S502, the information processing device 101 divides the process depending on whether or not there is an action using the variable name obtained in S501. If there is an action using the variable name obtained in S501, the process transitions to S503, and if there is no action using the variable name obtained in S501, the process of the flowchart in FIG. 5 ends.

S503へと処理を遷移すると、情報処理装置101は、S501で取得した変数名を使ったアクションがデータモデルバインド処理だけかどうかで処理を分ける。S501で取得した変数名を使ったアクションがデータモデルバインド処理だけの場合はS508へと処理を遷移し、S501で取得した変数名を使ったアクションがデータモデルバインド処理以外で使用されていれば、S504へと処理を遷移する。 When the process transitions to S503, the information processing device 101 divides the process depending on whether the action using the variable name acquired in S501 is only a data model bind process. If the action using the variable name acquired in S501 is only a data model bind process, the process transitions to S508, and if the action using the variable name acquired in S501 is used for something other than a data model bind process, the process transitions to S504.

データモデルバインド処理とは、ユーザから入出力されたデータをデータベースに対応付ける処理である。変数名をデータモデルバインド処理のみでしか使わない状況とは、S307でアプリケーションを生成する際に、S303で開発者によりアクション定義で変数名が使われていないことを意味する。データモデルバインド処理はS307で自動的にアプリケーション生成できる処理であり、S303で開発者によりアクション定義で変数名が使われている場合は、加工式や条件式として開発者の手を加えている。そのため、開発者が手を加えた部分の変数名をただ削除するだけでは、加工式や条件式が構文エラーを生じるリスクがある。 Data model binding is a process that associates data input and output by the user with a database. A situation in which a variable name is only used in the data model binding process means that the variable name was not used by the developer in the action definition in S303 when the application was generated in S307. The data model binding process is a process that can automatically generate an application in S307, and if a variable name is used by the developer in the action definition in S303, the developer has made some changes to it as a processing formula or conditional expression. Therefore, simply deleting the variable name in the part that the developer has made changes to runs the risk of a syntax error in the processing formula or conditional expression.

S504において、情報処理装置101は、アクション内のS501で取得した変数名を識別可能に表示(優先表示)する。 In S504, the information processing device 101 identifiably displays (priority display) the variable names obtained in S501 within the action.

S505において、情報処理装置101は、S501で取得した変数名のデータモデルバインドステップを識別可能に表示する。S504とS505の処理結果の画面イメージを図9を参照して説明する。 In S505, the information processing device 101 identifiably displays the data model bind step of the variable name acquired in S501. The screen images of the processing results of S504 and S505 will be described with reference to FIG. 9.

図9(a)は、データモデルバインドの設定である図8(a)の「G_ITEM_TEXT」のデータモデルバインド801の登録の内、図6(c)の621のように画面項目「G_ITEM_TEXT」が削除されている場合の例である。901のように画面項目のコード「G_ITEM_TEXT」が削除されているが、変数名に該当する「ptext」は削除していない。そのため、901のように太下線などで「ptext」を他の変数名など識別可能に表示する。また、図9(b)の真ん中のフローチャートのように、変数名「ptext」が使用されている処理ステップには、912のようにエクスクラメーションマーク「!」が付され、他の処理ステップと識別可能に表示している。 Figure 9(a) shows an example of a case where the screen item "G_ITEM_TEXT" has been deleted as in 621 in Figure 6(c) from the data model bind 801 registration of "G_ITEM_TEXT" in Figure 8(a), which is the data model bind setting. The screen item code "G_ITEM_TEXT" has been deleted as in 901, but the variable name "ptext" has not been deleted. Therefore, as in 901, "ptext" is displayed with a thick underline or similar to make it identifiable from other variable names. Also, as in the flow chart in the middle of Figure 9(b), an exclamation mark "!" is added to the processing step in which the variable name "ptext" is used as in 912, to make it identifiable from other processing steps.

901の「ptext」の行自体を削除しない理由は、開発者により手を加えられた(引用された)変数名「ptext」901を勝手に削除することによる構文エラーの発生を防ぐためである。たとえば、図9(b)の条件式913内で引用されている「ptext」911をただ単に削除すると、条件式913は「pkey != ‘’ && ptext !=‘’」から「pkey != ‘’ && !=‘’」に変更され、第2項の不等号の条件式の左側の項がない構文エラーとなってしまう。削除された条件式を見た開発者は何が記載されていたのかが不明となるため、デバッグに時間がかかることになる。そのため、S501で取得した変数名は敢えて表示したまま、識別可能なように911のような太下線で表示して、開発者が適切に修正できるように促す。図5のフローチャートの説明に戻る。 The reason why the "ptext" line in 901 itself is not deleted is to prevent the occurrence of a syntax error caused by arbitrarily deleting the variable name "ptext" 901 that has been modified (quoted) by the developer. For example, if the "ptext" 911 quoted in the conditional expression 913 in FIG. 9B is simply deleted, the conditional expression 913 will change from "pkey !='' && ptext !=''" to "pkey !='' && !=''", resulting in a syntax error in which there is no term to the left of the inequality sign in the second term. When a developer sees the deleted conditional expression, they will not know what was written there, which will take time to debug. For this reason, the variable name obtained in S501 is intentionally left displayed, and is displayed in a thick underline like 911 so that it can be easily identified, encouraging the developer to make appropriate corrections. Return to the explanation of the flowchart in FIG. 5.

図5のS506において、情報処理装置101は、開発者からアクションのソースコードの変更を受け付ける。 In S506 of FIG. 5, the information processing device 101 accepts changes to the action's source code from the developer.

S507において、情報処理装置101は、S506における開発者のソースコード変更後、ソースコードのエラーチェックを行い、エラーが解消されていれば、S508の処理へと遷移する。エラーが解消されていない場合は、S506へと処理を戻し、開発者にエラー解消を促す。 In S507, the information processing device 101 checks the source code for errors after the developer changes the source code in S506, and if the errors are resolved, the process proceeds to S508. If the errors are not resolved, the process returns to S506, and the developer is prompted to resolve the errors.

S508において、情報処理装置101は、アクションからS501で取得した変数名に該当するデータモデルバインド処理定義を削除する。具体的には、図9(a)の902の行を削除する。また、S501で取得した変数名を使ったアクションがデータモデルバインド処理だけの場合(S503から直接S508へ遷移した場合)も同様に図7(a)から図7(b)のように、701行を削除することで対応できる。 In S508, the information processing device 101 deletes the data model bind process definition corresponding to the variable name obtained in S501 from the action. Specifically, line 902 in FIG. 9A is deleted. Also, if the only action using the variable name obtained in S501 is the data model bind process (if transition is made directly from S503 to S508), this can also be handled by deleting line 701 from FIG. 7A to FIG. 7B.

以上のように、S501で取得した変数名を使ったアクションがデータモデルバインドのみであれば、データモデルバインド処理定義自体を削除するが、S501で取得した変数名を使ったアクションがデータモデルバインド以外で使用されている場合は、データモデルバインド処理定義をすぐに消さない。開発者に関連するS501で取得した変数名が使われているアクション定義を識別可能に表示させ修正させることにより、構文エラーなどによるデバッグの作業を極力減らすことができる。図4のフローチャートの説明に戻る。 As described above, if the only action using the variable name obtained in S501 is data model binding, the data model bind process definition itself is deleted, but if the action using the variable name obtained in S501 is used for something other than data model binding, the data model bind process definition is not immediately deleted. By identifiably displaying action definitions that use the variable names obtained in S501 that are relevant to the developer and allowing them to correct them, it is possible to minimize debugging work due to syntax errors, etc. Return to the explanation of the flowchart in Figure 4.

図4のS405において、ほかにもアクションがある場合(たとえば、INSERTアクションの他にUPDATEアクション等がある場合)は他のアクションについても、削除される画面項目のID(コード)に紐付く変数を識別表示するか、画面項目のID(コード)に紐付く処理を削除するかを選択する処理を実行するため、S404へと処理を戻す。 In S405 of FIG. 4, if there are other actions (for example, an UPDATE action in addition to the INSERT action), the process returns to S404 to select whether to identify and display the variables linked to the ID (code) of the screen item to be deleted for the other actions, or to delete the process linked to the ID (code) of the screen item.

以上の処理により、画面項目の削除に対応して、ソースコードを開発者が修正すべきか開発者は修正せずに対応できるかを容易に識別表示することができる。 The above process makes it easy to identify whether the developer should modify the source code in response to the deletion of a screen item or whether the developer can handle the situation without modifying it.

以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。 As described above, it goes without saying that the object of the present invention can be achieved by supplying a recording medium on which a program that realizes the functions of the above-mentioned embodiments is recorded to a system or device, and having the computer (or CPU or MPU) of that system or device read and execute the program stored on the recording medium.

この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。 In this case, the program read from the recording medium itself realizes the novel functions of the present invention, and the recording medium on which the program is recorded constitutes the present invention.

プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。 Recording media for supplying the program may include, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a DVD-ROM, a magnetic tape, a non-volatile memory card, a ROM, an EEPROM, a silicon disk, etc.

また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Furthermore, it goes without saying that not only are the functions of the above-mentioned embodiments realized by the computer executing a program it has read, but also that the functions of the above-mentioned embodiments can be realized by an operating system (OS) or the like running on the computer carrying out some or all of the actual processing based on the instructions of the program.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Furthermore, it goes without saying that this also includes cases where a program read from a recording medium is written into a memory provided on a function expansion board inserted into a computer or a function expansion unit connected to a computer, and then a CPU or the like provided on the function expansion board or function expansion unit performs some or all of the actual processing based on the instructions of the program code, thereby realizing the functions of the above-mentioned embodiments.

また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 The present invention may be applied to a system made up of multiple devices, or to a device made up of a single device. Needless to say, the present invention can also be applied to cases where the effects of the present invention are achieved by supplying a program to a system or device. In this case, the effects of the present invention can be enjoyed by reading a recording medium that stores a program for achieving the present invention into the system or device.

上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、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), etc.

さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。 Furthermore, by downloading and reading a program for achieving the present invention from a server, database, etc. on a network using a communication program, the system or device can enjoy the effects of the present invention. Note that the present invention also includes configurations that combine the above-mentioned embodiments and their modified examples.

101 プログラム開発装置(情報処理装置)
102 実行サーバ
103 データベースサーバ
104 クライアント端末
105 ネットワーク
101 Program development device (information processing device)
102 execution server 103 database server 104 client terminal 105 network

Claims (11)

画面項目を有するアプリケーションのプログラムを修正する情報処理装置であって、
前記アプリケーションの画面項目の削除を受け付ける受付手段と、
前記受付手段で受け付けた削除する画面項目と紐付く前記アプリケーションのアクション内で定義された変数を特定する特定手段と、
前記特定手段で特定される変数の係る部分を削除して所定の条件を満たすアクションの場合は、前記変数の係る部分を削除制御する制御手段と、
を有することを特徴とする情報処理装置。
An information processing device for modifying a program of an application having a screen item, comprising:
A receiving means for receiving deletion of a screen item of the application;
a specifying means for specifying a variable defined in an action of the application associated with the screen item to be deleted received by the receiving means;
a control means for controlling the deletion of the relevant part of the variable identified by the identifying means in the case of an action that satisfies a predetermined condition by deleting the relevant part of the variable;
13. An information processing device comprising:
前記制御手段は、前記アクションが前記所定の条件を満たさない場合、前記変数に係る部分を削除せず、前記変数の係る部分を識別表示するよう制御する請求項1に記載の情報処理装置。 The information processing device according to claim 1, wherein the control means controls the part related to the variable to be identifiable and displayed without deleting the part related to the variable when the action does not satisfy the predetermined condition. 前記アクションとは、アプリケーションの画面上のUIボタンの押下により実行される処理であることを特徴とする請求項1又は2に記載の情報処理装置。 The information processing device according to claim 1 or 2, characterized in that the action is a process executed by pressing a UI button on the application screen. 前記制御手段は、前記受付手段で受け付けた画面項目の削除により前記所定の条件を満たさないアクションがある場合、該アクションの前記変数の係る部分を優先して表示することを特徴とする請求項1又は2に記載の情報処理装置。 The information processing device according to claim 1 or 2, characterized in that, when there is an action that does not satisfy the predetermined condition due to the deletion of a screen item accepted by the accepting means, the control means displays the part of the action related to the variable with priority. 前記制御手段は、前記所定の条件を満たさないアクションの前記変数の係る部分を優先して表示した後で、前記所定の条件を満たすアクションの前記変数の係る部分を削除することを特徴とする請求項4に記載の情報処理装置。 The information processing device according to claim 4, characterized in that the control means preferentially displays the part of the variable related to the action that does not satisfy the predetermined condition, and then deletes the part of the variable related to the action that satisfies the predetermined condition. 前記所定の条件を満たさないアクションとは、前記特定手段で特定される変数の係る部分を削除した場合に前記アプリケーションが不整合を生じるアクションであることを特徴とする請求項1または2に記載の情報処理装置。 The information processing device according to claim 1 or 2, characterized in that the action that does not satisfy the predetermined condition is an action that would cause an inconsistency in the application if the relevant part of the variable identified by the identification means is deleted. 前記所定の条件を満たさないアクションとは、前記特定手段で特定される変数の係る部分を削除した場合に前記アプリケーションの実行時にエラーが生じるアクションであることを特徴とする請求項1又は2に記載の情報処理装置。 The information processing device according to claim 1 or 2, characterized in that the action that does not satisfy the predetermined condition is an action that causes an error when the application is executed if the relevant part of the variable identified by the identification means is deleted. 前記所定の条件を満たさないアクションとは、前記特定手段で特定される変数の係る部分を削除した場合に前記アプリケーションが実行できないアクションであることを特徴とする請求項1又は2に記載の情報処理装置。 The information processing device according to claim 1 or 2, characterized in that the action that does not satisfy the predetermined condition is an action that the application cannot execute if the relevant part of the variable identified by the identification means is deleted. 前記所定の条件を満たさないアクションとは、データベースへアクセスするアクション以外を含むアクションであることを特徴とする請求項1又は2に記載の情報処理装置。 The information processing device according to claim 1 or 2, characterized in that the action that does not satisfy the predetermined condition is an action other than an action that accesses a database. 画面項目を有するアプリケーションのプログラムを修正する情報処理装置における制御方法であって、
前記アプリケーションの画面項目の削除を受け付ける受付ステップと、
前記受付ステップで受け付けた削除する画面項目と紐付く前記アプリケーションのアクション内で定義された変数を特定する特定ステップと、
前記特定ステップで特定される変数の係る部分を削除して所定の条件を満たすアクションの場合は、前記変数の係る部分を削除制御する制御ステップと、
を有することを特徴とする情報処理装置の制御方法。
A control method for an information processing device for modifying a program of an application having a screen item, comprising:
a receiving step of receiving deletion of a screen item of the application;
a step of identifying a variable defined in an action of the application associated with the screen item to be deleted received in the receiving step;
a control step of deleting the relevant part of the variable identified in the identifying step in the case of an action that satisfies a predetermined condition by deleting the relevant part of the variable;
13. A method for controlling an information processing apparatus comprising the steps of:
コンピュータを、請求項1又は2に記載された情報処理装置の各手段として機能させるためのプログラム。 A program for causing a computer to function as each of the means of the information processing device described in claim 1 or 2.
JP2022211867A 2022-12-28 Information processing device, information processing method, and program JP2024094938A (en)

Publications (1)

Publication Number Publication Date
JP2024094938A true JP2024094938A (en) 2024-07-10

Family

ID=

Similar Documents

Publication Publication Date Title
US20120284735A1 (en) Interaction-Based Interface to a Logical Client
JP6997387B2 (en) Servers, information processing equipment, processing methods and programs
JP2023054082A (en) Program, information processing apparatus, and processing method thereof
JP2024094938A (en) Information processing device, information processing method, and program
JP2017204311A (en) Information processing device, document management system, document management server, information processing method, and program therefor
JP6536007B2 (en) Information processing apparatus, control method and program thereof
JP7212238B2 (en) Information processing device, its control method and program
JP6836077B2 (en) Information processing device and its processing method and program
JP7506339B2 (en) Information processing system, control method thereof, and program
JP2010140257A (en) Information processor and information processing method
JP7231864B2 (en) Information processing device, information processing method and program
JP7477773B2 (en) Information processing device, control method, and program
JP2020119409A (en) Program, information processing apparatus, and processing method
US20220237253A1 (en) Information processing system, control method, and storage medium
JP2019192134A (en) Information processing device, processing method therefor and program
JP7421137B2 (en) Information processing device, information processing method and program
JP5696474B2 (en) Information processing apparatus, information processing method, and program
JP7219389B2 (en) Information processing device, its control method and program
JP7231812B2 (en) Information processing system, processing method and program
JP7323755B2 (en) Information processing system, its control method and program
JP7231823B2 (en) Program, information processing system and its control method
JP2022178985A (en) Information processing device, control method, and program
JP2023034112A (en) Information processing device, information processing method, and program
JP2021039433A (en) Information processing device, processing method therein, and program
JP2023123815A (en) Program, information processor, and processing method