JP2012063841A - Automatic program generating device and automatic program generating method - Google Patents

Automatic program generating device and automatic program generating method Download PDF

Info

Publication number
JP2012063841A
JP2012063841A JP2010205589A JP2010205589A JP2012063841A JP 2012063841 A JP2012063841 A JP 2012063841A JP 2010205589 A JP2010205589 A JP 2010205589A JP 2010205589 A JP2010205589 A JP 2010205589A JP 2012063841 A JP2012063841 A JP 2012063841A
Authority
JP
Japan
Prior art keywords
information
screen
dynamic
attribute
dynamic information
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
Application number
JP2010205589A
Other languages
Japanese (ja)
Inventor
Yasunori Hashimoto
康範 橋本
Ryota Sambe
良太 三部
Shuhei Nojiri
周平 野尻
Sadahiro Ishikawa
貞裕 石川
Kiyoshi Yamaguchi
潔 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010205589A priority Critical patent/JP2012063841A/en
Publication of JP2012063841A publication Critical patent/JP2012063841A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To automatically generate a program including a screen design.SOLUTION: From screen mock-up data separately created with a design tool, attribution information that does not contain the data regarding a screen design is extracted. Then the attribution information is replaced so that it may be operated in cooperation with a processing program. Thereby, a screen program and a processing program can be generated, without affecting a screen design.

Description

本発明は、プログラム自動生成装置及びプログラム自動生成方法に関する。   The present invention relates to an automatic program generation device and an automatic program generation method.

情報システムを構築する際、ソフトウェアを効率的に開発するために、ソースプログラムを自動生成するプログラム自動生成ツールを利用する。ここで、プログラム自動生成ツールは、GUI画面デザインツールと連携する技術を備える。これにより、GUI画面デザインツールを利用することによるGUI画面デザイン(以降、画面デザインと呼ぶ)の自由度及び創造性を確保しつつ、前述のプログラム自動生成ツールの恩恵を享受することができる。   When building an information system, an automatic program generation tool that automatically generates a source program is used to efficiently develop software. Here, the automatic program generation tool includes a technology that cooperates with the GUI screen design tool. Thereby, it is possible to enjoy the benefits of the above-described automatic program generation tool while ensuring the degree of freedom and creativity of GUI screen design (hereinafter referred to as screen design) by using the GUI screen design tool.

例えば、第1の従来技術(特許文献1)では、まず、プログラム自動生成ツールで生成したソースプログラムを入力として、画面デザインの元となる雛型を作成する。次に、この雛型をGUI画面デザインツールで編集し、元のソースプログラムと結合することで、目的のソースプログラムを作成することができる。   For example, in the first prior art (Patent Document 1), first, a template serving as a basis for a screen design is created by using a source program generated by an automatic program generation tool as an input. Next, this template can be edited with a GUI screen design tool and combined with the original source program to create a target source program.

また、第2の従来技術(特許文献2)では、まず、GUI画面デザインツールで作成した画面仕様書から、画面デザインに関する情報と、画面項目及びイベントに関する情報を含む画面部品の属性情報とを抽出する。次に、抽出した画面部品の属性情報から、業務ロジックと接続するためのインターフェースとなるソースプログラムと、画面の振る舞いを実現するソースプログラムをプログラム自動生成ツールによって自動生成する。そして、画面の振る舞いを実現するソースプログラムと、画面仕様書から抽出した画面部品の属性情報とを結合することで、目的のソースプログラムを得ることができる。   In the second prior art (Patent Document 2), first, screen design information and screen component attribute information including information on screen items and events are extracted from the screen specifications created with the GUI screen design tool. To do. Next, from the extracted attribute information of the screen parts, a source program that is an interface for connecting to the business logic and a source program that realizes the behavior of the screen are automatically generated by a program automatic generation tool. Then, the target source program can be obtained by combining the source program that realizes the behavior of the screen and the attribute information of the screen components extracted from the screen specification.

特開2007−265011号公報JP 2007-265011 A 特開2004−302571号公報JP 2004-302571 A

しかし、従来の方法においては、次のような問題がある。   However, the conventional method has the following problems.

第1の従来技術において、開発者が画面デザインを作成した後に、ソースプログラムのみを修正した場合を検討する。この場合、プログラム自動生成ツールが、修正されたソースプログラムから画面デザインの雛形を再生成してしまうため、開発者は、ソースプログラム修正前に作成した画面デザインを再度作り直さなければならない。そのため、開発者の作業量が増加してしまう。これは、プログラム自動生成ツールで生成したプログラムから画面デザインの雛型を生成することに起因している。   In the first conventional technique, a case where only a source program is modified after a developer creates a screen design will be considered. In this case, since the automatic program generation tool regenerates the screen design template from the corrected source program, the developer must recreate the screen design created before the source program correction. This increases the amount of work for the developer. This is because a screen design template is generated from a program generated by an automatic program generation tool.

また、第2の従来技術において、多くの画面又は複雑なデザインを持つ画面を作成した場合、プログラム自動生成ツールは、画面仕様書から画面部品の属性情報を全て抽出して解析する必要がある。従って、プログラム自動生成ツールの処理が複雑になる。さらに、入力された画面仕様書と、プログラム自動生成ツールにより生成された画面デザインとの間に差異がないことを保証することが困難である。これは、プログラム自動生成ツールが画面デザインを含むソースプログラムを生成する際、画面仕様書から必要な情報を全て抽出して解析することに起因する。   Further, in the second prior art, when a large number of screens or screens having a complicated design are created, the program automatic generation tool needs to extract and analyze all the attribute information of the screen parts from the screen specifications. Therefore, the process of the automatic program generation tool becomes complicated. Furthermore, it is difficult to ensure that there is no difference between the input screen specification and the screen design generated by the automatic program generation tool. This is because the program automatic generation tool extracts and analyzes all necessary information from the screen specification when generating a source program including a screen design.

そこで、本発明の目的は、画面を含むプログラムを比較的効率よく作成することができるプログラム自動生成装置及びプログラム自動生成方法を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide an automatic program generation apparatus and an automatic program generation method that can create a program including a screen relatively efficiently.

本発明のプログラム自動生成装置は、画面デザインに関する情報を保持する画面モックアップ情報から所定の条件に適合する画面部品の属性情報の組を第1の動的情報として抽出する動的情報抽出部と、前記第1の動的情報から取得可能な属性情報を取得し、その取得できた前記属性情報を所定のプログラムを生成するための連携情報に変換し、前記第1の動的情報のうち取得できなかった前記属性情報を前記連携情報を用いて補完することにより、前記第1の動的情報を第2の動的情報に変換する動的情報補完部と、前記画面モックアップ情報の前記第1の動的情報が保持する画面部品の属性情報を、前記第2の動的情報が保持する画面部品の属性情報で置換する画面モックアップ情報置換部と、前記第2の動的情報に基づいて、前記置換された画面モックアップ情報と結合して動作する連携プログラムを生成する連携プログラム生成部と、を備える。   An automatic program generation apparatus according to the present invention includes a dynamic information extraction unit that extracts, as first dynamic information, a set of screen component attribute information that meets a predetermined condition from screen mockup information that holds information about screen design. , Acquiring attribute information that can be acquired from the first dynamic information, converting the acquired attribute information into linkage information for generating a predetermined program, and acquiring the first dynamic information By complementing the attribute information that could not be performed using the linkage information, a dynamic information complementing unit that converts the first dynamic information into second dynamic information, and the first of the screen mockup information A screen mockup information replacement unit that replaces the attribute information of the screen component held by the first dynamic information with the attribute information of the screen component held by the second dynamic information, and the second dynamic information. And the replacement Comprises a linkage program generator for generating a linkage program that operates, the combined with a screen mockup information.

好適な実施形態では、前記第2の動的情報は当該第2の動的情報を一意に識別可能な識別情報を保持することが可能であり、業務ロジックに関する設計情報は当該設計情報を一意に識別可能な識別情報を保持することが可能であり、前記第2の動的情報の識別情報と、前記設計情報の識別情報とが同一の場合、前記第2の動的情報が保持する属性情報で前記設計情報を置換する業務ロジック情報修正部と、前記置換された画面モックアップ情報及び前記連携プログラムと結合して動作するロジックプログラムを、前記置換された業務ロジックに関する設計情報に基づいて生成するロジックプログラム生成部と、をさらに備えてもよい。   In a preferred embodiment, the second dynamic information can hold identification information that can uniquely identify the second dynamic information, and the design information related to the business logic uniquely identifies the design information. Identifiable identification information can be held, and when the identification information of the second dynamic information is the same as the identification information of the design information, the attribute information held by the second dynamic information The business logic information correction unit that replaces the design information and the logic program that operates in combination with the replaced screen mockup information and the linkage program are generated based on the design information related to the replaced business logic. And a logic program generation unit.

好適な実施形態では、前記第1の動的情報から抽出された前記属性情報のうち、画面デザインに関する情報を含まない前記属性情報が前記連携情報に変換されること、としてもよい。   In a preferred embodiment, among the attribute information extracted from the first dynamic information, the attribute information that does not include information related to screen design may be converted into the cooperation information.

好適な実施形態では、前記画面モックアップ情報がXML(eXtensible Markup Language)で記述されているとき、前記属性情報は要素名、属性名、又は属性値であり、前記動的情報抽出部における前記所定の条件とは、前記画面モックアップ情報が保持する前記動的情報における前記属性情報と、抽出条件とした属性情報とが1つ以上適合する場合、前記画面モックアップ情報が保持する前記動的情報を、前記第1の動的情報として抽出すること、としてもよい。   In a preferred embodiment, when the screen mockup information is described in XML (extensible Markup Language), the attribute information is an element name, an attribute name, or an attribute value, and the predetermined information in the dynamic information extraction unit Is the dynamic information held by the screen mockup information when one or more of the attribute information in the dynamic information held by the screen mockup information and the attribute information as the extraction condition match May be extracted as the first dynamic information.

好適な実施形態では、前記動的情報補完部は、前記抽出できた属性情報の文字列を所定のルールに従って変換することにより、前記連携情報を生成すること、としてもよい。   In a preferred embodiment, the dynamic information complementing unit may generate the linkage information by converting a character string of the extracted attribute information according to a predetermined rule.

実施例1におけるプログラム自動生成装置の構成図。1 is a configuration diagram of an automatic program generation device in Embodiment 1. FIG. 実施例1における処理手順を表すフローチャート。3 is a flowchart illustrating a processing procedure in the first embodiment. 実施例1における画面モックアップの表示例。3 is a display example of a screen mockup in the first embodiment. 実施例1における画面モックアップ情報の例。3 is an example of screen mockup information in the first embodiment. 実施例1における動的情報(画面項目部品)の例。The example of the dynamic information (screen item component) in Example 1. FIG. 実施例1における動的情報(イベント部品)の例。7 is an example of dynamic information (event component) in the first embodiment. 実施例1における置換対象部品情報(画面項目部品)の例。The example of the replacement target component information (screen item component) in the first embodiment. 実施例1における置換対象部品情報(イベント部品)の例。The example of the replacement target component information (event component) in the first embodiment. 実施例1における動的情報(画面項目部品)を抽出する方法の例。An example of a method for extracting dynamic information (screen item parts) in the first embodiment. 実施例1における動的情報(イベント部品)を抽出する方法の例。9 illustrates an example of a method for extracting dynamic information (event component) in the first embodiment. 実施例1における動的情報(画面項目部品)を補完する方法の例。An example of a method for complementing dynamic information (screen item parts) in the first embodiment. 実施例1における動的情報(イベント部品)を補完する方法の例。An example of a method for complementing dynamic information (event component) in the first embodiment. 実施例1における画面モックアップ情報の置換に利用する置換ルールの例。7 is an example of a replacement rule used for replacing screen mockup information in the first embodiment. 実施例1における画面モックアップ情報の置換(画面項目部品)を行う方法の例。An example of a method for performing replacement (screen item parts) of screen mockup information in the first embodiment. 実施例1における画面モックアップ情報の置換(イベント部品)を行う方法の例。An example of a method of performing replacement (event component) of screen mockup information in the first embodiment. 実施例1における画面モックアップ情報の置換(その他)を行う方法の例。An example of a method for performing replacement (others) of screen mockup information in the first embodiment. 実施例1における連携プログラムを生成する方法の例。6 illustrates an example of a method for generating a cooperation program in the first embodiment. 実施例2におけるプログラム自動生成装置の構成図。The block diagram of the program automatic generation apparatus in Example 2. FIG. 実施例2における処理手順を表すフローチャート。9 is a flowchart illustrating a processing procedure in the second embodiment. 実施例2における画面モックアップ情報の例。7 is an example of screen mockup information in the second embodiment. 実施例2における動的情報(画面項目部品)の例。The example of the dynamic information (screen item component) in Example 2. FIG. 実施例2における画面モックアップ情報から動的情報及び識別情報を抽出する方法の例。9 illustrates an example of a method for extracting dynamic information and identification information from screen mockup information according to the second embodiment. 実施例2における動的情報及び画面モックアップ情報の画面項目部品に識別情報を付与する方法の例。An example of a method for providing identification information to screen item parts of dynamic information and screen mockup information in the second embodiment. 実施例2における業務ロジック情報の例。10 is an example of business logic information in the second embodiment. 実施例2における業務ロジックの情報を修正する方法の例。9 illustrates an example of a method for correcting business logic information in the second embodiment. 実施例2における識別情報を反映する方法の例。9 illustrates an example of a method for reflecting identification information in the second embodiment. 実施例2におけるロジックプログラムを生成する方法の例。9 illustrates an example of a method for generating a logic program in the second embodiment. 実施例2における修正箇所一覧表示の例。FIG. 10 is an example of a list of correction locations in the second embodiment.

画面モックアップのデザインを再現するプログラムを生成するという目的を、(1)画面モックアップ情報から画面部品の属性情報を抽出し、(2)抽出した属性情報を補完することによって動的情報を生成し、(3)動的情報を利用して画面モックアップ情報を置換することで画面プログラムを生成し、(4)動的情報を利用して画面プログラムと連携する連携プログラムを生成することにより実現した。   The purpose is to generate a program that reproduces the design of the screen mockup. (1) Extract the attribute information of the screen parts from the screen mockup information, and (2) Generate dynamic information by complementing the extracted attribute information. (3) Generate screen programs by replacing screen mockup information using dynamic information, and (4) Generate linkage programs that link with screen programs using dynamic information. did.

(実施例1)
図1は、本発明の実施例1におけるプログラム自動生成装置の構成図である。
Example 1
FIG. 1 is a configuration diagram of an automatic program generation device according to the first embodiment of the present invention.

同図に示すとおり、プログラム自動生成装置100は、CPU101、メモリ102、入力装置103、出力装置104、及び外部記憶装置105を備え、それら101,102,103,104,105はバスを介して互いに接続されている。さらに、外部記憶装置105は、動的情報抽出部106、動的情報補完部107、画面モックアップ情報置換部108、連携プログラム生成部109、置換対象部品情報記憶部110、画面モックアップ情報記憶部111、動的情報記憶部112、画面プログラム記憶部113、及び連携プログラム記憶部114を保持している。これらのうち、動的情報抽出部106、動的情報補完部107、画面モックアップ情報置換部108、及び連携プログラム生成部109は処理プログラムである。以下、全ての処理プログラムは実行時にメモリ102に読み込まれ、CPU101によって実行されるものとする。   As shown in the figure, the automatic program generation device 100 includes a CPU 101, a memory 102, an input device 103, an output device 104, and an external storage device 105. These 101, 102, 103, 104, and 105 are mutually connected via a bus. It is connected. Furthermore, the external storage device 105 includes a dynamic information extraction unit 106, a dynamic information supplementation unit 107, a screen mockup information replacement unit 108, a linkage program generation unit 109, a replacement target component information storage unit 110, and a screen mockup information storage unit. 111, a dynamic information storage unit 112, a screen program storage unit 113, and a linkage program storage unit 114. Among these, the dynamic information extracting unit 106, the dynamic information complementing unit 107, the screen mockup information replacing unit 108, and the cooperation program generating unit 109 are processing programs. Hereinafter, it is assumed that all processing programs are read into the memory 102 at the time of execution and executed by the CPU 101.

動的情報抽出部106は、動的情報を抽出する。動的情報の詳細については後述する。動的情報抽出部106は、画面モックアップ情報記憶部111から画面モックアップ情報を読み出す。また、動的情報抽出部106は、置換対象部品情報記憶部110から置換対象部品情報を読み出す。次に、動的情報抽出部106は、置換対象部品情報に適合する画面部品の属性情報を画面モックアップ情報から抽出し、動的情報として動的情報記憶部112に書き込む。   The dynamic information extraction unit 106 extracts dynamic information. Details of the dynamic information will be described later. The dynamic information extraction unit 106 reads screen mockup information from the screen mockup information storage unit 111. The dynamic information extraction unit 106 reads replacement target component information from the replacement target component information storage unit 110. Next, the dynamic information extraction unit 106 extracts screen component attribute information that matches the replacement target component information from the screen mock-up information, and writes it as dynamic information in the dynamic information storage unit 112.

動的情報補完部107は、動的情報記憶部112から動的情報を読み出し、その動的情報において抽出できなかった属性情報を補完して、再度、動的情報記憶部112に書き込む。   The dynamic information complementing unit 107 reads the dynamic information from the dynamic information storage unit 112, supplements the attribute information that could not be extracted from the dynamic information, and writes it again in the dynamic information storage unit 112.

画面モックアップ情報置換部108は、画面モックアップ情報の少なくとも一部を動的情報を利用して置換する。画面モックアップ情報置換部108は、画面モックアップ情報記憶部111から画面モックアップ情報を読み出し、さらに、動的情報記憶部112から動的情報を読み出す。次に、画面モックアップ情報置換部108は、画面モックアップ情報の一部を、補完した動的情報で置換し、画面プログラム記憶部113に書き込む。   The screen mockup information replacement unit 108 replaces at least a part of the screen mockup information using dynamic information. The screen mockup information replacement unit 108 reads screen mockup information from the screen mockup information storage unit 111 and further reads dynamic information from the dynamic information storage unit 112. Next, the screen mockup information replacement unit 108 replaces a part of the screen mockup information with the complemented dynamic information and writes it in the screen program storage unit 113.

連携プログラム生成部109は、動的情報記憶部112から読み出した動的情報に基づき、画面モックアップ情報と結合して動作する連携プログラムを生成し、その連携プログラムを連携プログラム記憶部114に書き込む。   Based on the dynamic information read from the dynamic information storage unit 112, the cooperation program generation unit 109 generates a cooperation program that operates in combination with the screen mockup information, and writes the cooperation program in the cooperation program storage unit 114.

置換対象部品情報記憶部110は、置換対象部品情報を保持する。置換対象部品情報の詳細については後述する。   The replacement target component information storage unit 110 holds replacement target component information. Details of the replacement target component information will be described later.

画面モックアップ情報記憶部111は、入力装置103を介して外部から入力された画面モックアップ情報を保持する。画面モックアップ情報の詳細については後述する。   The screen mockup information storage unit 111 holds screen mockup information input from the outside via the input device 103. Details of the screen mockup information will be described later.

動的情報記憶部112は、動的情報を保持する。動的情報の詳細については後述する。   The dynamic information storage unit 112 holds dynamic information. Details of the dynamic information will be described later.

画面プログラム記憶部113は、画面プログラムを保持する。   The screen program storage unit 113 holds a screen program.

連携プログラム記憶部114は、連携プログラムを保持する。   The cooperation program storage unit 114 holds a cooperation program.

次に、図2のフローチャートに基づき、本実施例の処理を説明する。   Next, the processing of this embodiment will be described based on the flowchart of FIG.

ステップ200は、開発者がデザインツール等で作成した画面デザインに関する情報を、画面モックアップ情報として画面モックアップ情報記憶部111に入力するステップである。ここで、画面モックアップ情報は、XML(eXtensible Markup Language)などで記述されていてもよい。なお、画面モックアップ情報は、画面項目を識別するキー情報、及びイベントを識別するキー情報を、画面部品の属性情報として保持していることとする。ここで、画面項目を識別するキー情報を保持する画面部品を画面項目部品と呼び、イベントを識別するキー情報を保持する画面部品をイベント部品と呼ぶこととする。画面項目部品が保持する情報には、例えば、ユーザが画面上で文字等を入力するための画面項目、及びユーザに向けて文字等を画面上に表示させるための画面項目に関するキー情報が含まれる。イベント部品が保持する情報には、例えば、ボタンのクリック、テキストの入力などの、画面上で発生するユーザによる操作に関するキー情報が含まれる。   Step 200 is a step of inputting information about the screen design created by the developer using a design tool or the like to the screen mockup information storage unit 111 as screen mockup information. Here, the screen mockup information may be described in XML (extensible Markup Language) or the like. Note that the screen mock-up information holds key information for identifying screen items and key information for identifying events as attribute information of screen components. Here, a screen component holding key information for identifying a screen item is called a screen item component, and a screen component holding key information for identifying an event is called an event component. The information held by the screen item component includes, for example, key information related to a screen item for the user to input characters and the like on the screen, and a screen item for causing the user to display characters and the like on the screen. . The information held by the event component includes, for example, key information related to user operations that occur on the screen, such as button clicks and text inputs.

図3は、画面モックアップの表示例であり、デザインツール等で作成できるものである。なお、デザインツールには、FlexBuilder(登録商標)、又はFireworks(登録商標)など、様々なツールが選択可能である。   FIG. 3 is a display example of a screen mockup, which can be created with a design tool or the like. Various tools such as FlexBuilder (registered trademark) or Fireworks (registered trademark) can be selected as the design tool.

図4は、XMLで記述された画面モックアップ情報の例である。これは、デザインツール上で図3の画面モックアップを作成した際、対応する画面モックアップ情報として自動的に生成されるものである。なお、画面部品の属性値の一部がキー情報となる。具体的には、画面部品401のキー情報は、属性名「id」の属性値である「EmployeeName」となる。また、画面部品402のキー情報は、属性名「click」の属性値である「trace(’SearchEmployeeEvent’)」となる。ここで、画面部品が保持するキー情報を、画面デザインに影響を与えない属性値とすることで、後に、モックアップの画面と同じ画面プログラムを生成することができる。なお、キー情報用の属性名は、後述の置換対象部品情報によって定義する。   FIG. 4 is an example of screen mockup information described in XML. This is automatically generated as the corresponding screen mockup information when the screen mockup of FIG. 3 is created on the design tool. A part of the attribute value of the screen component is key information. Specifically, the key information of the screen component 401 is “EmployeeName” that is the attribute value of the attribute name “id”. Further, the key information of the screen component 402 is “trace ('Search Employee Event')” which is the attribute value of the attribute name “click”. Here, by setting the key information held by the screen component to an attribute value that does not affect the screen design, the same screen program as the mock-up screen can be generated later. The attribute name for key information is defined by replacement target component information described later.

図2に戻る。ステップ201は、まず、動的情報抽出部106が、画面モックアップ情報記憶部111及び置換対象部品情報記憶部110から、それぞれ画面モックアップ情報及び置換対象部品情報を読み出す。次に、画面モックアップ情報から、置換対象部品情報に適合する画面部品を抽出し、その属性情報の組を動的情報として動的情報記憶部112に書き込む。動的情報は、ユーザからの入出力に関する情報、又はイベント発生に対してシステムが実行する処理内容及びタイミング等に関する情報などを保持しており、一つ以上の属性情報から構成される。   Returning to FIG. In step 201, first, the dynamic information extraction unit 106 reads screen mockup information and replacement target component information from the screen mockup information storage unit 111 and replacement target component information storage unit 110, respectively. Next, a screen component that matches the replacement target component information is extracted from the screen mockup information, and the set of attribute information is written in the dynamic information storage unit 112 as dynamic information. The dynamic information holds information related to input / output from the user, information related to processing contents and timing executed by the system in response to the occurrence of an event, and the like, and includes one or more attribute information.

次に、図5及び図6を参照して、本実施例における動的情報の例を示す。   Next, an example of dynamic information in the present embodiment will be described with reference to FIGS.

図5は、画面項目に関する動的情報の例である。本実施例において、画面項目に関する動的情報は、例えば、タグ名501、項目属性名502、項目属性値503、動的属性名504、動的属性値505、及び項目変数名506を保持できる。例えば、動的情報507は、タグ名501として「TextInput」を、項目属性名502として「id」を、それぞれ保持している。なお、動的情報記憶部112は、画面項目に関する動的情報を複数保持できるものとする。   FIG. 5 is an example of dynamic information regarding screen items. In this embodiment, the dynamic information related to the screen item can hold, for example, a tag name 501, an item attribute name 502, an item attribute value 503, a dynamic attribute name 504, a dynamic attribute value 505, and an item variable name 506. For example, the dynamic information 507 holds “TextInput” as the tag name 501 and “id” as the item attribute name 502. Note that the dynamic information storage unit 112 can hold a plurality of pieces of dynamic information regarding screen items.

図6は、イベントに関する動的情報の例である。本実施例において、イベントに関する動的情報は、例えば、イベント属性名601、イベント属性値602、及びイベント定数名603を保持できる。例えば、動的情報604は、イベント属性名601として「click」を、イベント属性値602として「trace(’ClearInputEvent’)」を、それぞれ保持している。なお、動的情報記憶部112は、イベントに関する動的情報を複数保持できるものとする。また、1つのイベント部品は、複数のイベントに関するキー情報を保持することができる。なお、画面項目部品でもあり、かつイベント部品でもある画面部品に関しては、画面項目に関する動的情報とイベントに関する動的情報の双方が動的情報記憶部112に書き込まれることになる。   FIG. 6 is an example of dynamic information regarding an event. In this embodiment, the dynamic information related to an event can hold, for example, an event attribute name 601, an event attribute value 602, and an event constant name 603. For example, the dynamic information 604 holds “click” as the event attribute name 601 and “trace ('ClearInputEvent')” as the event attribute value 602. Note that the dynamic information storage unit 112 can hold a plurality of pieces of dynamic information regarding events. One event component can hold key information related to a plurality of events. For screen parts that are both screen item parts and event parts, both dynamic information about screen items and dynamic information about events are written in the dynamic information storage unit 112.

次に、図7及び図8において、置換対象部品情報の例を示す。置換対象部品情報とは、画面モックアップ上に存在し得る画面部品の情報であって、画面モックアップ情報を画面プログラムに変換する際に置換が必要となる画面部品の情報である。置換対象部品情報は、画面項目部品及びイベント部品から各キー情報を抽出するための属性に関する情報を含む。例えば、画面モックアップ情報がXML形式である場合、置換対象部品情報は、要素名、属性名、属性値等によって定義する。   Next, in FIGS. 7 and 8, an example of replacement target component information is shown. The replacement target component information is information on screen components that may exist on the screen mockup, and is information on screen components that need to be replaced when the screen mockup information is converted into a screen program. The replacement target component information includes information related to attributes for extracting each key information from the screen item component and the event component. For example, when the screen mockup information is in the XML format, the replacement target component information is defined by an element name, an attribute name, an attribute value, and the like.

図7では、置換が必要な画面項目部品のタグ名及び属性名を定義している。本実施例において、画面項目部品に対する置換対象部品情報は、タグ名701、項目属性名702及び動的属性名703を保持できる。具体的には、置換対象部品情報704は、タグ名701として「TextInput」を、項目属性名702として「id」を、動的属性名として「text」を保持している。なお、置換対象部品情報記憶部110は、画面項目部品に対する置換対象部品情報を複数保持できるものとする。   In FIG. 7, tag names and attribute names of screen item parts that need replacement are defined. In this embodiment, the replacement target component information for the screen item component can hold a tag name 701, an item attribute name 702, and a dynamic attribute name 703. Specifically, the replacement target component information 704 holds “TextInput” as the tag name 701, “id” as the item attribute name 702, and “text” as the dynamic attribute name. Note that the replacement target component information storage unit 110 can hold a plurality of replacement target component information for screen item components.

図8では、置換が必要なイベント部品のイベント属性名を定義している。本実施例において、イベント部品に対する置換対象部品情報は、イベント属性名801を保持できる。具体的には、置換対象部品情報802は、イベント属性名801として「click」を保持している。なお、置換対象部品情報記憶部110は、イベント部品に対する置換対象部品情報を複数保持できるものとする。   In FIG. 8, event attribute names of event parts that need to be replaced are defined. In this embodiment, replacement target component information for an event component can hold an event attribute name 801. Specifically, the replacement target component information 802 holds “click” as the event attribute name 801. It is assumed that the replacement target component information storage unit 110 can hold a plurality of replacement target component information for event components.

次に、図9及び図10において、動的情報の抽出方法の例を示す。動的情報の抽出において、動的情報抽出部106は、まず、置換対象部品情報記憶部110が保持する置換対象部品情報のうち一つを選択する。次に、動的情報抽出部106は、選択した置換対象部品情報が持つタグ名及び属性名を条件として、画面モックアップ情報から画面部品を抽出する。条件に適合する画面部品を複数抽出した場合、それら全てについて、画面部品の属性情報(すなわちタグ名、属性名及び属性値)を動的情報として動的情報記憶部112に書き込む。なお、本処理は、置換対象部品情報記憶部110が保持する全ての置換対象部品情報に対して画面部品の抽出及び動的情報の書き込みを行う。   Next, in FIGS. 9 and 10, an example of a method for extracting dynamic information is shown. In the extraction of dynamic information, the dynamic information extraction unit 106 first selects one of the replacement target component information held by the replacement target component information storage unit 110. Next, the dynamic information extraction unit 106 extracts a screen component from the screen mockup information on the condition of the tag name and the attribute name that the selected replacement target component information has. When a plurality of screen parts that meet the conditions are extracted, the attribute information (namely, tag name, attribute name, and attribute value) of the screen parts is written in the dynamic information storage unit 112 as dynamic information for all of them. In this process, screen component extraction and dynamic information writing are performed on all replacement target component information held by the replacement target component information storage unit 110.

図9は、画面項目に関する動的情報を抽出する例である。まず、動的情報抽出部106は、置換対象部品情報記憶部110が保持する置換対象部品情報から、置換対象部品情報900を選択する。次に、選択した置換対象部品情報の条件に適合する画面項目部品を画面モックアップ情報903から検索する。置換対象部品情報900を検索条件とした場合、タグ名701が「TextInput」であり、かつ項目属性名702が「id」であり、かつ動的属性名703が「text」である属性情報を保持する画面部品が検索対象となる。これにより、動的情報抽出部106は、画面モックアップ情報400から画面項目部品901を検索結果として抽出する。次に、検索条件であった部品名701の「TextInput」、項目属性名702の「id」、及び動的属性名703の「text」を、それぞれ動的情報902のタグ名501、項目属性名502、及び動的属性名504として格納する。さらに、画面項目部品901から抽出した項目属性値「EmployeeName」、及び動的属性値「山田太郎」を、それぞれ動的情報902の項目属性値503、及び動的属性値505として格納する。次に、属性情報を格納した動的情報902を動的情報記憶部112に記録する。なお、本処理においてはまだ、項目変数名506は格納されず空欄である。   FIG. 9 is an example of extracting dynamic information regarding screen items. First, the dynamic information extraction unit 106 selects replacement target component information 900 from replacement target component information held in the replacement target component information storage unit 110. Next, the screen mockup information 903 is searched for a screen item part that matches the condition of the selected replacement target part information. When the replacement target component information 900 is used as a search condition, attribute information having a tag name 701 of “TextInput”, an item attribute name 702 of “id”, and a dynamic attribute name 703 of “text” is held. The screen parts to be searched are to be searched. As a result, the dynamic information extraction unit 106 extracts the screen item component 901 from the screen mockup information 400 as a search result. Next, “TextInput” of the part name 701, “id” of the item attribute name 702, and “text” of the dynamic attribute name 703, which are the search conditions, are the tag name 501 and the item attribute name of the dynamic information 902, respectively. 502 and dynamic attribute name 504 are stored. Further, the item attribute value “EmployeeName” and the dynamic attribute value “Taro Yamada” extracted from the screen item component 901 are stored as the item attribute value 503 and the dynamic attribute value 505 of the dynamic information 902, respectively. Next, the dynamic information 902 storing the attribute information is recorded in the dynamic information storage unit 112. In this process, the item variable name 506 is not stored and is blank.

図10は、イベントに関する動的情報を抽出する例である。イベントに関する動的情報の抽出も、画面項目に関する動的情報の抽出と同様の方法により行う。まず、動的情報抽出部106は、置換対象部品情報記憶部110が保持する置換対象部品情報から、置換対象部品情報1000を選択する。次に、選択した置換対象部品情報の条件に適合するイベント部品を画面モックアップ情報1003から検索する。置換対象部品情報1000を検索条件とした場合、イベント属性名801が「click」である属性情報を保持するイベント部品が検索対象となる。これにより、動的情報抽出部106は、画面モックアップ情報1003からイベント部品1001を検索結果として抽出する。次に、検索条件であったイベント属性名801の「click」を、動的情報1002のイベント属性名601として格納する。さらに、イベント部品1001から抽出したイベント属性値「trace(’ClearInputEvent’)」をイベント属性値602として格納する。次に、属性情報を格納した動的情報1002を動的情報記憶部112に記録する。なお、本処理においてはまだ、イベント定数名603は格納されず空欄である。   FIG. 10 is an example of extracting dynamic information related to an event. The extraction of the dynamic information related to the event is performed by the same method as the extraction of the dynamic information related to the screen item. First, the dynamic information extraction unit 106 selects replacement target component information 1000 from the replacement target component information held in the replacement target component information storage unit 110. Next, an event part that matches the condition of the selected replacement target part information is searched from the screen mockup information 1003. When the replacement target component information 1000 is used as a search condition, an event component holding attribute information whose event attribute name 801 is “click” is a search target. Accordingly, the dynamic information extraction unit 106 extracts the event component 1001 from the screen mockup information 1003 as a search result. Next, “click” of the event attribute name 801 that is the search condition is stored as the event attribute name 601 of the dynamic information 1002. Further, the event attribute value “trace (“ ClearInputEvent ”)” extracted from the event component 1001 is stored as the event attribute value 602. Next, the dynamic information 1002 storing the attribute information is recorded in the dynamic information storage unit 112. In this process, the event constant name 603 is not stored and is blank.

図2に戻る。ステップ202では、動的情報補完部107が動的情報を補完する。動的情報補完部107は、動的情報記憶部112から動的情報を読み出し、予め決まった補完ルールに従って、動的情報が保持する属性情報のうちステップ201で空欄となっていた属性情報を補完した後、再度、動的情報記憶部112に書き込む。ここで、予め決まった補完方法とは、前述の動的情報に格納済みの属性情報等を元に、機械的な変換処理によって動的情報のうち空欄の箇所を埋める方法である。なお、本ステップは、動的情報記憶部112が保持する全ての動的情報の処理が完了するまで繰り返される。   Returning to FIG. In step 202, the dynamic information complementing unit 107 supplements the dynamic information. The dynamic information complementing unit 107 reads the dynamic information from the dynamic information storage unit 112, and complements the attribute information that is blank in step 201 among the attribute information held by the dynamic information according to a predetermined complementing rule. After that, the data is written in the dynamic information storage unit 112 again. Here, the predetermined complementing method is a method of filling a blank part of the dynamic information by mechanical conversion processing based on the attribute information already stored in the dynamic information. This step is repeated until processing of all the dynamic information held by the dynamic information storage unit 112 is completed.

次に、図11及び図12に動的情報の補完の例を示す。   Next, FIG. 11 and FIG. 12 show examples of complementing dynamic information.

図11は、画面項目に関する動的情報の補完の例である。動的情報補完部107は、まず、動的情報記憶部112から動的情報1100を読み出す。次に、項目属性値503「EmployeeName」を、予め決まった補完ルールに従って「employeeName」に文字列変換し、項目変数名506として格納する。   FIG. 11 is an example of complementing dynamic information regarding screen items. The dynamic information complementing unit 107 first reads the dynamic information 1100 from the dynamic information storage unit 112. Next, the item attribute value 503 “EmployeeName” is converted into a character string “employeeName” according to a predetermined complement rule and stored as an item variable name 506.

図12は、イベントに関する動的情報の補完の例である。イベントに関する動的情報も、画面項目に関する動的情報の補完と同様、イベント属性値602「trace(’ClearInputEvent’)」を、予め決まった補完ルールに従って「CLEAR_INPUT_EVENT」に文字列変換し、イベント定数名603として格納する。   FIG. 12 is an example of complementing dynamic information related to an event. As for the dynamic information related to the event, the event attribute value 602 “trace ('ClearInputEvent')” is converted into a character string “CLEAR_INPUT_EVENT” according to a predetermined completion rule, as in the case of complementing the dynamic information related to the screen item. Stored as 603.

図2に戻る。ステップ203では、まず、画面モックアップ情報置換部108が、画面モックアップ記憶部111及び動的情報記憶部112から、それぞれ画面モックアップ情報及び動的情報を読み出す。次に、画面モックアップ情報置換部108は、画面モックアップ情報から動的情報に適合する画面部品を抽出する。次に、画面モックアップ情報置換部108は、予め決まった置換ルールに従って画面モックアップ情報の画面部品の属性情報を置換する。次に、画面モックアップ情報置換部108は、置換した画面モックアップ情報を画面プログラム記憶部113に書き込む。なお、本ステップは、動的情報記憶部112が保持する全ての動的情報について処理が完了するまで繰り返される。   Returning to FIG. In step 203, first, the screen mockup information replacement unit 108 reads the screen mockup information and the dynamic information from the screen mockup storage unit 111 and the dynamic information storage unit 112, respectively. Next, the screen mockup information replacement unit 108 extracts screen components that match the dynamic information from the screen mockup information. Next, the screen mockup information replacement unit 108 replaces the attribute information of the screen component of the screen mockup information according to a predetermined replacement rule. Next, the screen mockup information replacement unit 108 writes the replaced screen mockup information in the screen program storage unit 113. This step is repeated until the processing is completed for all the dynamic information held by the dynamic information storage unit 112.

図13に、置換ルールの定義の例を示す。置換ルールは、置換対象属性1301と置換後の属性値1302のペアで構成されており、各属性の属性値をどのように置換するかが記載されている。   FIG. 13 shows an example of replacement rule definition. The replacement rule is composed of a pair of a replacement target attribute 1301 and a replacement attribute value 1302, and describes how to replace the attribute value of each attribute.

図14は、画面モックアップ情報における画面項目部品の置換例である。画面モックアップ情報置換部108は、まず、画面モックアップ記憶部111及び動的情報記憶部112から、それぞれ画面モックアップ情報及び画面項目に関する動的情報を読み出す。次に、画面モックアップ情報置換部108は、動的情報記憶部112から動的情報1400を選択する。次に、画面モックアップ情報置換部108は、選択した動的情報が保持するタグ名、項目属性名、項目属性値、動的属性名、及び動的属性値を検索条件とし、画面モックアップ情報から置換対象の画面項目部品を抽出する。ここでは、タグ名が「TextInput」、項目属性名が「id」、項目属性値が「EmployeeName」、動的属性名が「text」、及び動的属性値が「山田太郎」である画面項目部品が検索対象となり、検索結果として画面項目部品1401が抽出される。さらに、画面モックアップ情報置換部108は、抽出した画面部品の属性情報を図13の置換ルール1300に従って置換する。置換ルール1300には、項目属性値「EmployeeName」を項目変数名「employeeName」に置換し、動的属性値「山田太郎」を削除すると記載されている。なお、画面項目に関する動的情報500は、イベント属性名及びイベント属性値を保持していないため、イベント属性値に関する置換は行わない。   FIG. 14 is a replacement example of screen item parts in the screen mockup information. The screen mockup information replacement unit 108 first reads the screen mockup information and the dynamic information related to the screen item from the screen mockup storage unit 111 and the dynamic information storage unit 112, respectively. Next, the screen mockup information replacement unit 108 selects the dynamic information 1400 from the dynamic information storage unit 112. Next, the screen mockup information replacement unit 108 uses the tag name, item attribute name, item attribute value, dynamic attribute name, and dynamic attribute value held by the selected dynamic information as search conditions, and screen mockup information. Extract screen item parts to be replaced. Here, the screen item component whose tag name is “TextInput”, item attribute name is “id”, item attribute value is “EmployeeName”, dynamic attribute name is “text”, and dynamic attribute value is “Taro Yamada” Becomes a search target, and the screen item part 1401 is extracted as a search result. Furthermore, the screen mockup information replacing unit 108 replaces the extracted attribute information of the screen component according to the replacement rule 1300 in FIG. The replacement rule 1300 describes that the item attribute value “Employeename” is replaced with the item variable name “employeeName” and the dynamic attribute value “Taro Yamada” is deleted. Note that the dynamic information 500 regarding the screen item does not hold the event attribute name and the event attribute value, and therefore no replacement is performed regarding the event attribute value.

図15は、画面モックアップ情報におけるイベント部品の置換例である。画面モックアップ情報置換部108は、まず、画面モックアップ記憶部111及び動的情報記憶部112から、それぞれ画面モックアップ情報及びイベントに関する動的情報を読み出す。次に、画面モックアップ情報置換部108は、動的情報記憶部112から動的情報1500を選択する。次に、画面モックアップ情報置換部108は、選択した動的情報が保持するイベント属性名、及びイベント属性値を検索条件とし、画面モックアップ情報から置換対象のイベント部品を抽出する。ここでは、イベント属性名が「click」、及びイベント属性値が「trace(’ClearInputEvent’)」であるイベント部品が検索対象となり、検索結果としてイベント部品1501が抽出される。さらに、画面モックアップ情報置換部108は、抽出したイベント部品の属性情報を図13の置換ルール1300に従って置換する。置換ルール1300には、イベント属性値「trace(’ClearInputEvent’)」を、イベント定数名を代入して作成した値「dispatchEvent(new Event(MyEvent.CLEAR_INPUT_EVENT))」に置換すると記載されている。   FIG. 15 shows an example of replacing event parts in the screen mockup information. First, the screen mockup information replacement unit 108 reads the screen mockup information and the dynamic information about the event from the screen mockup storage unit 111 and the dynamic information storage unit 112, respectively. Next, the screen mockup information replacement unit 108 selects the dynamic information 1500 from the dynamic information storage unit 112. Next, the screen mockup information replacement unit 108 uses the event attribute name and event attribute value held by the selected dynamic information as search conditions, and extracts event components to be replaced from the screen mockup information. Here, an event component whose event attribute name is “click” and whose event attribute value is “trace ('ClearInputEvent')” is a search target, and the event component 1501 is extracted as a search result. Further, the screen mockup information replacement unit 108 replaces the extracted attribute information of the event component according to the replacement rule 1300 in FIG. The replacement rule 1300 describes that the event attribute value “trace ('ClearInputEvent')” is replaced with a value “dispatchEvent (new Event (MyEvent.CLEAR_INPUT_EVENT))” created by substituting the event constant name.

図16は、動的情報とは無関係に必要となる置換の例である。ここでは、後述のステップ204で生成する連携プログラムとの関連を示す情報を、画面部品1600として埋め込むことにより置換をおこなっている。なお、この画面部品1600は、画面項目に関するキー情報及びイベントに関するキー情報を保持しない画面部品である。   FIG. 16 shows an example of replacement that is necessary regardless of the dynamic information. Here, the replacement is performed by embedding information indicating the relation with the cooperation program generated in step 204 described later as a screen component 1600. The screen component 1600 is a screen component that does not hold key information related to screen items and key information related to events.

図2に戻る。ステップ204は、連携プログラム生成部109が、動的情報記憶部112から動的情報を読み出し、これを元に連携プログラムを生成し、生成した連携プログラムを連携プログラム記憶部114に書き込む。なお、本ステップは、動的情報記憶部112が保持する全ての動的情報について処理が完了するまで繰り返される。ここで、本ステップで生成する連携プログラムは、画面プログラム記憶部113に格納された画面プログラムと結合して動作するプログラムである。なお、本ステップで生成する連携プログラムの処理内容は、生成対象のソフトウェアのアーキテクチャによって異なる。例えば、画面項目部品の表示データを、一時的な記憶領域に格納したデータと同期させる処理などがある。連携プログラム生成部109は、動的情報を参照し、予め連携プログラム生成部が保持している雛型における変数名、定数名、関数名、データ型名、変数の値、定数の値、又は関数の引数の値など、動的情報の属性情報を変数名等として利用することにより、連携プログラムを生成する。   Returning to FIG. In step 204, the cooperation program generation unit 109 reads dynamic information from the dynamic information storage unit 112, generates a cooperation program based on the dynamic information, and writes the generated cooperation program in the cooperation program storage unit 114. This step is repeated until the processing is completed for all the dynamic information held by the dynamic information storage unit 112. Here, the linkage program generated in this step is a program that operates in combination with the screen program stored in the screen program storage unit 113. Note that the processing content of the linkage program generated in this step varies depending on the architecture of the software to be generated. For example, there is a process of synchronizing display data of screen item parts with data stored in a temporary storage area. The linkage program generation unit 109 refers to the dynamic information, and the variable name, constant name, function name, data type name, variable value, constant value, or function in the template held in advance by the linkage program generation unit By using the attribute information of dynamic information such as the argument value of as a variable name, a linkage program is generated.

図17に、連携プログラム生成の例を示す。ここでは、連携プログラム生成部109は、動的情報1700の項目変数名506「employeeName」を参照し、連携プログラムの雛形に対して、関数名及び関数の引数の値として利用することにより、連携プログラム1701を生成している。   FIG. 17 shows an example of cooperation program generation. Here, the linkage program generation unit 109 refers to the item variable name 506 “employeeName” of the dynamic information 1700 and uses it as a function name and a function argument value for the linkage program template. 1701 is generated.

図2に戻る。ステップ205では、画面プログラム記憶部113及び連携プログラム記憶部114から、画面プログラム及び連携プログラムを読み出し、出力装置104に出力する。出力装置104は、計算機で扱えるようテキストデータ又はバイナリデータとして出力してもよいし、開発者が閲覧できるようモニタに文字又はグラフィックを表示してもよい。   Returning to FIG. In step 205, the screen program and the cooperation program are read from the screen program storage unit 113 and the cooperation program storage unit 114 and output to the output device 104. The output device 104 may output as text data or binary data so that it can be handled by a computer, or may display characters or graphics on a monitor so that a developer can view the data.

本実施例によれば、画面モックアップ情報における画面デザインに関する情報を変更しないため、画面モックアップと同様の画面デザインを再現できるプログラムを生成することができる。   According to the present embodiment, since the information regarding the screen design in the screen mockup information is not changed, a program capable of reproducing the screen design similar to the screen mockup can be generated.

本実施例によれば、画面モックアップ情報がXML等で記述されていれば適用可能なため、画面デザインの開発者は、XML等による出力が可能な好みのデザインツールを使用することができる。   According to this embodiment, since screen mock-up information is described in XML or the like, it can be applied, so that a screen design developer can use a favorite design tool capable of outputting in XML or the like.

(実施例2)
実施例1では、画面に付随するプログラムのみを生成したが、実施例2では、これに加えて、業務データの操作及び表示の変更を実現する業務ロジックのプログラムも生成可能とする。
(Example 2)
In the first embodiment, only the program associated with the screen is generated, but in the second embodiment, in addition to this, a business logic program that realizes operation of business data and change of display can be generated.

図18は、実施例2におけるプログラム自動生成装置の構成図である。図18に示すように、外部記憶装置105は、例えば、動的情報及び識別情報抽出部1800、動的情報補完部107、画面モックアップ情報置換部108、連携プログラム生成部109、識別情報付与部1801、業務ロジック情報修正部1802、識別情報反映部1803、ロジックプログラム生成部1804、置換対象部品情報記憶部110、画面モックアップ記憶部111、動的情報記憶部112、画面プログラム記憶部113、連携プログラム記憶部114、業務ロジック情報記憶部1805、ロジックプログラム記憶部1806、ロジック生成ログ記憶部1807、及びロジック雛型情報記憶部1808を保持している。なお、前記構成要素のうち、図1と同様の符号であるものは、実施例1と同様の処理を行うものとする。また、動的情報及び識別情報抽出部1800、動的情報補完部107、画面モックアップ情報置換部108、連携プログラム生成部109、識別情報付与部1801、業務ロジック情報修正部1802、識別情報反映部1803、及びロジックプログラム生成部1804は処理プログラムであり、全ての処理プログラムは実行時にメモリ102に読み込まれ、CPU101によって実行されるものとする。   FIG. 18 is a configuration diagram of the automatic program generation device according to the second embodiment. As illustrated in FIG. 18, the external storage device 105 includes, for example, a dynamic information and identification information extraction unit 1800, a dynamic information complement unit 107, a screen mockup information replacement unit 108, a cooperation program generation unit 109, and an identification information addition unit. 1801, business logic information correction unit 1802, identification information reflection unit 1803, logic program generation unit 1804, replacement target component information storage unit 110, screen mockup storage unit 111, dynamic information storage unit 112, screen program storage unit 113, cooperation A program storage unit 114, a business logic information storage unit 1805, a logic program storage unit 1806, a logic generation log storage unit 1807, and a logic template information storage unit 1808 are held. Note that, among the above-described constituent elements, the same reference numerals as those in FIG. 1 perform the same processing as in the first embodiment. In addition, the dynamic information and identification information extracting unit 1800, the dynamic information complementing unit 107, the screen mockup information replacing unit 108, the linkage program generating unit 109, the identification information adding unit 1801, the business logic information correcting unit 1802, and the identification information reflecting unit 1803 and the logic program generation unit 1804 are processing programs, and all processing programs are read into the memory 102 during execution and executed by the CPU 101.

動的情報及び識別情報抽出部1800は、動的情報及び識別情報を抽出する。動的情報及び識別情報抽出部1800は、まず、画面モックアップ情報記憶部111、及び置換対象部品情報記憶部110から、それぞれ画面モックアップ情報及び置換対象部品情報を読み出す。次に、動的情報及び識別情報抽出部1800は、置換対象部品情報を検索条件とし、画面モックアップ情報から、画面部品の属性情報の組を抽出する。さらに、動的情報及び識別情報抽出部1800は、画面項目及びイベントを一意に識別する識別情報も抽出し、抽出した画面部品の属性情報及び識別情報を、動的情報として動的情報記憶部112に書き込む。   The dynamic information and identification information extraction unit 1800 extracts dynamic information and identification information. First, the dynamic information and identification information extraction unit 1800 reads screen mockup information and replacement target component information from the screen mockup information storage unit 111 and the replacement target component information storage unit 110, respectively. Next, the dynamic information and identification information extraction unit 1800 uses the replacement target component information as a search condition, and extracts a set of screen component attribute information from the screen mockup information. Furthermore, the dynamic information and identification information extraction unit 1800 also extracts identification information that uniquely identifies screen items and events, and uses the extracted attribute information and identification information of the screen parts as dynamic information as the dynamic information storage unit 112. Write to.

識別情報付与部1801は、識別情報を付与する。識別情報付与部1801は、まず、動的情報記憶部112から識別情報が未定義のため空欄となっている動的情報を読み出す。次に、識別情報付与部1801は、画面モックアップ情報記憶部111から画面モックアップ情報を読み出す。次に、識別情報付与部1801は、読み出した動的情報に対応する画面部品を画面モックアップ情報から検索する。次に、識別情報付与部1801は、新たに生成した識別情報を前記動的情報及び画面部品に付与した後、それぞれ動的情報記憶部112、及び画面モックアップ記憶部112に書き込む。   The identification information giving unit 1801 gives identification information. First, the identification information adding unit 1801 reads the dynamic information that is blank because the identification information is undefined from the dynamic information storage unit 112. Next, the identification information adding unit 1801 reads the screen mockup information from the screen mockup information storage unit 111. Next, the identification information adding unit 1801 searches the screen mockup information for a screen component corresponding to the read dynamic information. Next, the identification information adding unit 1801 adds the newly generated identification information to the dynamic information and the screen component, and then writes them into the dynamic information storage unit 112 and the screen mockup storage unit 112, respectively.

業務ロジック情報修正部1802は、業務ロジック情報を修正する。業務ロジック情報修正部1802は、まず、業務ロジック情報記憶部1805から業務ロジック情報を読み出す。次に、業務ロジック情報修正部1802は、動的情報記憶部112から読み出した動的情報を参照し、業務ロジック情報の修正を行い、再度、業務ロジック情報記憶部1805に書き込む。   The business logic information correction unit 1802 corrects business logic information. The business logic information correction unit 1802 first reads business logic information from the business logic information storage unit 1805. Next, the business logic information correction unit 1802 refers to the dynamic information read from the dynamic information storage unit 112, corrects the business logic information, and writes the business logic information in the business logic information storage unit 1805 again.

識別情報反映部1803は、識別情報を業務ロジック情報に反映させる。まず、識別情報反映部1803は、業務ロジック情報記憶部1805から業務ロジック情報を読み出す。次に、識別情報反映部1803は、動的情報記憶部112から読み出した動的情報を参照し、業務ロジック情報に対して識別情報を補完又は修正し、再度、業務ロジック情報記憶部1805に書き込む。   The identification information reflection unit 1803 reflects the identification information in the business logic information. First, the identification information reflection unit 1803 reads business logic information from the business logic information storage unit 1805. Next, the identification information reflection unit 1803 refers to the dynamic information read from the dynamic information storage unit 112, supplements or corrects the identification information with respect to the business logic information, and writes the business information to the business logic information storage unit 1805 again. .

ロジックプログラム生成部1804は、ロジックプログラムを生成する。ロジックプログラム生成部1804は、まず、業務ロジック情報記憶部1805及びロジック雛型情報記憶部1808から、それぞれ業務ロジック情報及びロジック雛形情報を読み出す。次に、ロジックプログラム生成部1804は、ロジック雛型情報を参照し、ロジックプログラムを生成する。次に、ロジックプログラム生成部1804は、ロジックプログラム記憶部1806及びロジック生成ログ記憶部1807に、それぞれ生成したロジックプログラム及び未処理の業務ロジック情報を書き込む。   The logic program generation unit 1804 generates a logic program. First, the logic program generation unit 1804 reads business logic information and logic template information from the business logic information storage unit 1805 and the logic template information storage unit 1808, respectively. Next, the logic program generation unit 1804 generates a logic program with reference to the logic template information. Next, the logic program generation unit 1804 writes the generated logic program and unprocessed business logic information in the logic program storage unit 1806 and the logic generation log storage unit 1807, respectively.

業務ロジック情報記憶部1805は、入力装置103を介して外部から入力された業務ロジック情報を保持する。業務ロジック情報については後述する。   The business logic information storage unit 1805 holds business logic information input from the outside via the input device 103. The business logic information will be described later.

ロジックプログラム記憶部1805は、ロジックプログラムを保持する。ロジックプログラムとは、業務ロジック情報から生成されるプログラムである。   The logic program storage unit 1805 holds a logic program. A logic program is a program generated from business logic information.

ロジック生成ログ記憶部1807は、ロジックプログラム生成時に生成対象とならなかった業務ロジック情報を保持する。   The logic generation log storage unit 1807 holds business logic information that has not been generated when the logic program is generated.

ロジック雛型情報記憶部1808は、ロジック雛型情報を保持する。ロジック雛型情報の詳細については後述する。   The logic template information storage unit 1808 holds logic template information. Details of the logic template information will be described later.

次に、図19のフローチャートに基づいて、本実施例の処理を説明する。なお、ステップ202、203、及び204は、実施例1における各ステップと同様の処理を行うものとする。   Next, based on the flowchart of FIG. 19, the process of a present Example is demonstrated. It should be noted that steps 202, 203, and 204 perform the same processing as each step in the first embodiment.

ステップ1900は、開発者がデザインツール等で作成した画面デザインに関する情報を、画面モックアップ情報として画面モックアップ情報記憶部111に入力するステップである。ここで、実施例2における画面モックアップ情報が保持する画面部品は、画面項目及びイベントを一意に識別する識別情報を保持できる。   Step 1900 is a step in which information relating to the screen design created by the developer using a design tool or the like is input to the screen mockup information storage unit 111 as screen mockup information. Here, the screen component held by the screen mockup information in the second embodiment can hold identification information for uniquely identifying a screen item and an event.

図20に、画面部品が識別情報を保持する例を示す。画面部品2001は、uid属性の属性値として識別情報「XYY1−S124−32」を保持している。また、画面部品2002は、識別情報を保持していない。   FIG. 20 shows an example in which the screen component holds identification information. The screen component 2001 holds identification information “XYY1-S124-32” as an attribute value of the uid attribute. Further, the screen component 2002 does not hold identification information.

図19に戻る。ステップ1901は、まず、動的情報及び識別情報抽出部1800が、画面モックアップ情報記憶部111及び置換対象部品情報記憶部110から、それぞれ画面モックアップ情報及び置換対象部品情報を読み出す。次に、画面モックアップ情報から、置換対象部品情報に適合する画面部品を抽出し、その属性情報の組を動的情報として動的情報記憶部112に書き込む。このとき、画面部品に識別情報が付与されている場合、その情報も合わせて抽出する。   Returning to FIG. In step 1901, first, the dynamic information and identification information extraction unit 1800 reads screen mockup information and replacement target component information from the screen mockup information storage unit 111 and replacement target component information storage unit 110, respectively. Next, a screen component that matches the replacement target component information is extracted from the screen mockup information, and the set of attribute information is written in the dynamic information storage unit 112 as dynamic information. At this time, if identification information is given to the screen component, that information is also extracted.

図21に、画面項目に関する動的情報の例を示す。本実施例において、画面項目に関する動的情報は、部品名2101、項目属性名2102、項目属性値2103、動的属性名2104、動的属性値2105、項目変数名2106、及び識別情報2107の値を保持できる。   FIG. 21 shows an example of dynamic information related to screen items. In this embodiment, the dynamic information related to the screen item includes the part name 2101, the item attribute name 2102, the item attribute value 2103, the dynamic attribute name 2104, the dynamic attribute value 2105, the item variable name 2106, and the values of the identification information 2107. Can be held.

図22に、画面モックアップ情報から、画面項目に関する動的情報を抽出する例を示す。動的情報の抽出は、実施例1におけるステップ201と同様の方法で行う。ここで、識別情報の抽出は、抽出対象の画面部品2200から、識別情報を保持する属性値を合わせて抽出することによって行う。図22では、識別情報の属性値として、uid属性の属性値である「XYY1−S124−32」を抽出している。なお、抽出対象の画面部品が識別情報を保持していない場合は、動的情報2201中の識別情報2107の欄を空欄にしておく。   FIG. 22 shows an example of extracting dynamic information related to screen items from screen mockup information. The extraction of dynamic information is performed by the same method as in step 201 in the first embodiment. Here, the identification information is extracted by extracting the attribute value holding the identification information from the screen component 2200 to be extracted. In FIG. 22, “XYY1-S124-32”, which is the attribute value of the uid attribute, is extracted as the attribute value of the identification information. If the screen component to be extracted does not hold the identification information, the identification information 2107 column in the dynamic information 2201 is left blank.

図19に戻る。ステップ1902では、まず、識別情報付与部1801が、動的情報記憶部112から識別情報が空欄となっている動的情報を読み出す。次に、画面モックアップ情報記憶部111から画面モックアップ情報を読み出す。次に、読み出した動的情報に対応する画面部品を画面モックアップ情報から抽出する。次に、新たに作成した識別情報を前記動的情報に付与する。さらに、画面モックアップ情報の画面部品にも同一の識別情報を付与する。次に、識別情報を付与した動的情報及び画面モックアップ情報を、それぞれ動的情報記憶部112及び画面モックアップ情報記憶部112に書き込む。なお、本ステップは、識別情報が空欄となっている全ての動的情報に対して処理が完了するまで繰り返される。また、本ステップでは、既に識別情報が設定されている動的情報及び画面部品の情報に対して変更を加えない。   Returning to FIG. In step 1902, the identification information adding unit 1801 first reads dynamic information whose identification information is blank from the dynamic information storage unit 112. Next, the screen mockup information is read from the screen mockup information storage unit 111. Next, a screen component corresponding to the read dynamic information is extracted from the screen mockup information. Next, the newly created identification information is added to the dynamic information. Further, the same identification information is given to the screen parts of the screen mockup information. Next, the dynamic information and the screen mockup information to which the identification information is added are written in the dynamic information storage unit 112 and the screen mockup information storage unit 112, respectively. This step is repeated until processing is completed for all dynamic information whose identification information is blank. In this step, no change is made to the dynamic information and the screen component information for which identification information has already been set.

図23に、識別情報を付与する例を示す。まず、識別情報付与部1801が、動的情報記憶部112から、識別情報が空欄になっている動的情報2300を一つ取得する。次に、新たに識別情報「XGMF−T357−K3」を生成し、取得した前記動的情報2300の識別情報として付与する。次に、取得した前記動的情報に対応する画面部品2302を画面モックアップ情報から読み出す。次に、取得した前記画面部品2302に対して前記動的情報2300に付与したものと同一の識別情報を付与し、画面部品2303に変換する。   FIG. 23 shows an example in which identification information is given. First, the identification information adding unit 1801 acquires one piece of dynamic information 2300 whose identification information is blank from the dynamic information storage unit 112. Next, new identification information “XGMF-T357-K3” is generated and added as identification information of the acquired dynamic information 2300. Next, the screen component 2302 corresponding to the acquired dynamic information is read from the screen mockup information. Next, the same identification information as that given to the dynamic information 2300 is assigned to the acquired screen component 2302, and the screen component 2303 is converted.

図19に戻る。ステップ1903は、開発者からの指示により、動的情報記憶部112から動的情報を読み出し、出力装置104に出力する。このとき、識別情報は出力しなくても良い。   Returning to FIG. In step 1903, the dynamic information is read from the dynamic information storage unit 112 and output to the output device 104 in accordance with an instruction from the developer. At this time, the identification information may not be output.

ステップ1904は、開発者から入力装置103を通じて入力された業務ロジック情報を、業務ロジック情報記憶部1805に書き込む。ここで、業務ロジック情報とは、業務データの変更又は表示の変更に関する操作、及びその操作の実行タイミングについて定義した情報である。業務ロジック情報は、動的情報を参照して編集する必要がある設計情報、及び動的情報を参照せずに編集できる設計情報を含む。これらのうち、動的情報を参照して編集する必要がある設計情報については、対応する識別情報も保持できるようにしておく。   In step 1904, business logic information input from the developer through the input device 103 is written in the business logic information storage unit 1805. Here, the business logic information is information that defines an operation related to a change in business data or a display change, and an execution timing of the operation. The business logic information includes design information that needs to be edited with reference to dynamic information and design information that can be edited without referring to dynamic information. Among these, the design information that needs to be edited with reference to the dynamic information is made to hold the corresponding identification information.

図24に、業務ロジック情報の例を示す。業務ロジック情報2400は、動的情報を参照せずに編集できる設計情報として、ロジック名2401、及びロジック雛型2402を保持している。また、動的情報を参照して編集する必要がある設計情報として、トリガイベント定数名2403、変数名(1)2404、及び変数名(2)2405を保持している。動的情報を参照して編集する必要がある設計情報に対しては、識別情報2406を合わせて保持している。なお、ロジック雛型2402の設計情報は、ロジック雛型情報記憶部1808が保持するロジック雛型情報との関連を表す情報である。   FIG. 24 shows an example of business logic information. The business logic information 2400 holds a logic name 2401 and a logic template 2402 as design information that can be edited without referring to dynamic information. In addition, a trigger event constant name 2403, a variable name (1) 2404, and a variable name (2) 2405 are held as design information that needs to be edited with reference to dynamic information. Identification information 2406 is also held for design information that needs to be edited with reference to dynamic information. Note that the design information of the logic template 2402 is information representing the relationship with the logic template information held by the logic template information storage unit 1808.

図19に戻る。ステップ1905では、まず、業務ロジック修正部1802が、業務ロジック情報記憶部1805から、業務ロジック情報を読み出す。次に、前記読み出した業務ロジック情報から、動的情報を参照して修正する必要がある設計情報を一つ選択する。次に、選択した設計情報に対応する識別情報を保持する動的情報を、動的情報記憶部112から抽出する。次に、抽出した動的情報により、前述で選択した設計情報の値を修正する。次に、修正した設計情報を反映した業務ロジック情報を業務ロジック情報記憶部に書き込む。なお、本ステップは、業務ロジック情報記憶部1805が保持する全ての業務ロジック情報の設計情報のうち、動的情報を参照して修正する必要がある全ての設計情報に対して処理を全て完了するまで繰り返される。   Returning to FIG. In step 1905, first, the business logic correction unit 1802 reads business logic information from the business logic information storage unit 1805. Next, one piece of design information that needs to be corrected with reference to dynamic information is selected from the read business logic information. Next, dynamic information that holds identification information corresponding to the selected design information is extracted from the dynamic information storage unit 112. Next, the value of the design information selected above is corrected by the extracted dynamic information. Next, business logic information reflecting the corrected design information is written in the business logic information storage unit. This step completes the processing for all the design information that needs to be corrected by referring to the dynamic information among the design information of all the business logic information held by the business logic information storage unit 1805. Repeat until.

図25に、業務ロジック修正の例を示す。まず、業務ロジック情報2400から、変数名(2)2405を選択する。次に、選択した設計情報に対応する識別情報の値である「XYY1−S124−32」を識別情報として保持する動的情報を、動的情報記憶部112から抽出する。次に、前述で抽出した動的情報2500の項目変数名の値「division」により、変数名(2)2405の設計情報を上書きする。なお、図28に示すように、開発者に対して修正した箇所を一覧表示してもよい。   FIG. 25 shows an example of business logic correction. First, the variable name (2) 2405 is selected from the business logic information 2400. Next, the dynamic information holding “XYY1-S124-32”, which is the value of the identification information corresponding to the selected design information, is extracted from the dynamic information storage unit 112 as the identification information. Next, the design information of the variable name (2) 2405 is overwritten with the value “division” of the item variable name of the dynamic information 2500 extracted above. As shown in FIG. 28, a list of corrected locations may be displayed for the developer.

図19に戻る。ステップ1906では、開発者は入力装置103を介し、業務ロジック情報記憶部から取り出した業務ロジック情報を編集する。この際、識別情報反映部1803は、業務ロジック情報記憶部1805から業務ロジック情報を取得する。次に、取得した業務ロジック情報のうち、開発者が編集した設計情報を一つ選択する。次に、選択した設計情報に対応する動的情報を、動的情報記憶部112から取得する。次に、取得した動的情報が保持する識別情報により、前述で選択した設計情報に対して、識別情報を上書きする。なお、選択した設計情報に対応する動的情報が動的情報記憶部112に存在しなかった場合、選択した設計情報の識別情報を空欄で上書きする。なお、本ステップは、全ての業務ロジック情報に対して処理が完了するまで繰り返される。   Returning to FIG. In step 1906, the developer edits the business logic information extracted from the business logic information storage unit via the input device 103. At this time, the identification information reflection unit 1803 acquires business logic information from the business logic information storage unit 1805. Next, one piece of design information edited by the developer is selected from the acquired business logic information. Next, the dynamic information corresponding to the selected design information is acquired from the dynamic information storage unit 112. Next, the identification information is overwritten on the design information selected above with the identification information held by the acquired dynamic information. If dynamic information corresponding to the selected design information does not exist in the dynamic information storage unit 112, the identification information of the selected design information is overwritten with a blank. This step is repeated until the processing is completed for all business logic information.

図26に、識別情報を反映する例を示す。まず、識別情報反映部1803は、開発者によって編集された業務ロジック情報2400から、編集された設計情報である変数名(1)2404の「employeeNumber」を選択する。次に、選択した設計情報に対応する動的情報を、動的情報記憶部112から取得する。取得した動的情報2600の識別情報は「ORB0−1AKA−TS」であるので、前述で選択した設計情報である変数名(1)2404の識別情報を「ORB0−1AKA−TS」に上書きする。   FIG. 26 shows an example in which identification information is reflected. First, the identification information reflection unit 1803 selects “employeeNumber” of the variable name (1) 2404 which is the edited design information from the business logic information 2400 edited by the developer. Next, the dynamic information corresponding to the selected design information is acquired from the dynamic information storage unit 112. Since the identification information of the acquired dynamic information 2600 is “ORB0-1AKA-TS”, the identification information of the variable name (1) 2404, which is the design information selected above, is overwritten on “ORB0-1AKA-TS”.

図19に戻る。ステップ1907では、まず、ロジックプログラム生成部1804は、業務ロジック情報の設計情報を元に、ロジック雛型情報記憶部1808から、ロジック雛型情報を取得する。次に、ロジック雛型情報の、変数名、定数名、関数名、データ型名、変数の値、定数の値、もしくは関数の引数の値等として、業務ロジック情報の設計情報を利用することで、ロジックプログラムを生成する。なお、本ステップにおいて、識別情報を保持しない設計情報を含む業務ロジック情報については、対応するロジックプログラムの生成は実施せず、業務ロジック情報をロジック生成ログ記憶部1607に書き込む。これは、本ステップで識別情報を保持しない動的情報は、動的情報記憶部112に存在しない情報であるからである。また、本ステップは、業務ロジック情報記憶部1805が保持する全ての業務ロジック情報に対して処理が完了するまで繰り返される。ここで、ロジックプログラムとは、業務ロジック情報の内容をプログラムとして実現したものである。   Returning to FIG. In step 1907, first, the logic program generation unit 1804 acquires logic template information from the logic template information storage unit 1808 based on the design information of the business logic information. Next, by using the design information of business logic information as the variable template information, such as variable name, constant name, function name, data type name, variable value, constant value, function argument value, etc. Generate a logic program. In this step, for business logic information including design information that does not hold identification information, the corresponding logic program is not generated and the business logic information is written in the logic generation log storage unit 1607. This is because the dynamic information that does not hold the identification information in this step is information that does not exist in the dynamic information storage unit 112. Further, this step is repeated until processing is completed for all business logic information held in the business logic information storage unit 1805. Here, the logic program is a program that realizes the contents of business logic information as a program.

図27に、ロジックプログラムの生成例を示す。ロジックプログラム生成部1804が、まず、ロジック雛型2402の情報に対応するロジック雛形情報を、ロジック雛型情報記憶部1808から取得する。次に、取得したロジック雛型情報2701のイベント定数名、変数名(1)及び変数名(2)を、それぞれ業務ロジック情報2400から取得したイベント定数名2403の「CLEAR_INPUT_EVENT」、変数名(1)2404の「employeeNumber」、及び変数名(2)2405の「division」によって補完することでロジックプログラムを生成する。   FIG. 27 shows an example of generating a logic program. First, the logic program generation unit 1804 acquires logic template information corresponding to the information of the logic template 2402 from the logic template information storage unit 1808. Next, the event constant name, variable name (1), and variable name (2) of the acquired logic template information 2701 are set to “CLEAR_INPUT_EVENT” and variable name (1) of the event constant name 2403 acquired from the business logic information 2400, respectively. A logic program is generated by complementing with “employeeNumber” in 2404 and “division” in variable name (2) 2405.

図19に戻る。ステップ1908は、開発者が、プログラム自動生成ツールによって生成されたプログラムを、出力装置104を通じて取得するステップである。本ツールは、開発者の指示に従い、画面プログラム記憶部113、連携プログラム記憶部114、及びロジックプログラム記憶部1804から、それぞれ生成された画面プログラム、連携プログラム及び業務ロジックプログラムを読み出し、出力装置104に出力する。さらに、ロジック生成ログ記憶部1807に業務ロジック情報が記憶されている場合はこれも取得し、対応するロジックプログラムを生成しなかった旨と合わせ出力装置104に出力してもよい。なお、出力は、計算機で扱えるようテキストデータ又はバイナリデータとして出力してもよいし、開発者が閲覧できるようモニタに文字又はグラフィックを表示してもよい。   Returning to FIG. Step 1908 is a step in which the developer acquires the program generated by the automatic program generation tool through the output device 104. This tool reads the generated screen program, linkage program, and business logic program from the screen program storage unit 113, the linkage program storage unit 114, and the logic program storage unit 1804 according to the instructions of the developer, and outputs them to the output device 104. Output. Further, when business logic information is stored in the logic generation log storage unit 1807, it may be acquired and output to the output device 104 together with the fact that the corresponding logic program has not been generated. The output may be output as text data or binary data so that it can be handled by a computer, or characters or graphics may be displayed on a monitor so that the developer can view it.

本実施例によれば、動的情報を参照しながら業務ロジック情報あるいはロジックプログラムを作成する場合において、動的情報の変更を自動的に業務ロジックおよびロジックプログラムに反映させることができる。   According to this embodiment, when business logic information or a logic program is created while referring to dynamic information, the change of the dynamic information can be automatically reflected in the business logic and the logic program.

100 プログラム自動生成装置
106 動的情報抽出部
107 動的情報補完部
108 画面モックアップ置換部
109 連携プログラム生成部
110 置換対象部品情報記憶部
111 画面モックアップ記憶部
112 動的情報記憶部
113 画面プログラム記憶部
114 連携プログラム記憶部
1800 動的情報及び識別情報抽出部
1801 識別情報付与部
1802 業務ロジック情報修正部
1803 識別情報反映部
1804 ロジックプログラム生成部
1805 業務ロジック情報記憶部
1806 ロジックプログラム記憶部
1807 ロジック生成ログ記憶部
1808 ロジック雛型情報記憶部
100 Program Automatic Generation Device 106 Dynamic Information Extraction Unit 107 Dynamic Information Supplementation Unit 108 Screen Mockup Replacement Unit 109 Cooperation Program Generation Unit 110 Replacement Target Component Information Storage Unit 111 Screen Mockup Storage Unit 112 Dynamic Information Storage Unit 113 Screen Program Storage unit 114 Cooperation program storage unit 1800 Dynamic information and identification information extraction unit 1801 Identification information addition unit 1802 Business logic information modification unit 1803 Identification information reflection unit 1804 Logic program generation unit 1805 Business logic information storage unit 1806 Logic program storage unit 1807 Logic Generation log storage unit 1808 Logic template information storage unit

Claims (7)

画面デザインに関する情報を保持する画面モックアップ情報から所定の条件に適合する画面部品の属性情報の組を第1の動的情報として抽出する動的情報抽出部と、
前記第1の動的情報から取得可能な属性情報を取得し、その取得できた前記属性情報を所定のプログラムを生成するための連携情報に変換し、前記第1の動的情報のうち取得できなかった前記属性情報を前記連携情報を用いて補完することにより、前記第1の動的情報を第2の動的情報に変換する動的情報補完部と、
前記画面モックアップ情報の前記第1の動的情報が保持する画面部品の属性情報を、前記第2の動的情報が保持する画面部品の属性情報で置換する画面モックアップ情報置換部と、
前記第2の動的情報に基づいて、前記置換された画面モックアップ情報と結合して動作する連携プログラムを生成する連携プログラム生成部と、
を具備するプログラム自動生成装置。
A dynamic information extraction unit that extracts, as first dynamic information, a set of screen component attribute information that meets a predetermined condition from screen mockup information that holds information about the screen design;
Acquire attribute information that can be acquired from the first dynamic information, convert the acquired attribute information into linkage information for generating a predetermined program, and acquire the first dynamic information. A dynamic information complementing unit that converts the first dynamic information into second dynamic information by complementing the attribute information that was not present using the linkage information;
A screen mockup information replacement unit that replaces the attribute information of the screen component held by the first dynamic information of the screen mockup information with the attribute information of the screen component held by the second dynamic information;
Based on the second dynamic information, a linkage program generation unit that generates a linkage program that operates in combination with the replaced screen mockup information;
An automatic program generation device comprising:
前記第2の動的情報には当該第2の動的情報を一意に識別可能な識別情報を保持することが可能であり、業務ロジックに関する設計情報には当該設計情報を一意に識別可能な識別情報を保持することが可能であり、前記第2の動的情報の識別情報と、前記設計情報の識別情報とが同一の場合、前記第2の動的情報が保持する属性情報で前記設計情報を置換する業務ロジック情報修正部と、
前記置換された画面モックアップ情報及び前記連携プログラムと結合して動作するロジックプログラムを、前記置換された業務ロジックに関する設計情報に基づいて生成するロジックプログラム生成部と、
をさらに具備することを特徴とする請求項1に記載のプログラム自動生成装置。
The second dynamic information can hold identification information capable of uniquely identifying the second dynamic information, and the design information related to the business logic can uniquely identify the design information. Information can be held, and when the identification information of the second dynamic information is the same as the identification information of the design information, the design information is attribute information held by the second dynamic information. Business logic information correction part to replace
A logic program generating unit that generates a logic program that operates in combination with the replaced screen mock-up information and the cooperation program, based on design information related to the replaced business logic;
The program automatic generation device according to claim 1, further comprising:
前記第1の動的情報から抽出された前記属性情報のうち、画面デザインに関する情報を含まない前記属性情報が前記連携情報に変換されることを特徴とする請求項1に記載のプログラム自動生成装置。   The automatic program generation device according to claim 1, wherein the attribute information that does not include information related to a screen design among the attribute information extracted from the first dynamic information is converted into the linkage information. . 前記画面モックアップ情報がXML(eXtensible Markup Language)で記述されているとき、前記属性情報は要素名、属性名、又は属性値であり、前記動的情報抽出部における前記所定の条件とは、前記画面モックアップ情報が保持する前記動的情報における前記属性情報と、抽出条件とした属性情報とが1つ以上適合する場合、前記画面モックアップ情報が保持する前記動的情報を、前記第1の動的情報として抽出することを特徴とする請求項1に記載のプログラム自動生成装置。   When the screen mockup information is described in XML (extensible Markup Language), the attribute information is an element name, an attribute name, or an attribute value, and the predetermined condition in the dynamic information extraction unit is the When the attribute information in the dynamic information held by the screen mockup information and one or more attribute information as the extraction condition match, the dynamic information held by the screen mockup information is changed to the first information. The automatic program generation apparatus according to claim 1, wherein the automatic program generation apparatus extracts the dynamic information. 前記動的情報補完部は、前記抽出できた属性情報の文字列を所定のルールに従って変換することにより、前記連携情報を生成することを特徴とする請求項1に記載のプログラム自動生成装置。   The automatic program generating apparatus according to claim 1, wherein the dynamic information complementing unit generates the linkage information by converting a character string of the extracted attribute information according to a predetermined rule. 画面デザインに関する情報を保持する画面モックアップ情報から所定の条件に適合する画面部品の属性情報の組を第1の動的情報として抽出し、
前記動的情報から取得可能な属性情報を取得し、その取得できた前記属性情報を所定のプログラムを生成するための連携情報に変換し、前記動的情報のうち取得できなかった前記属性情報を前記連携情報を用いて補完することにより、前記第1の動的情報を第2の動的情報に変換し、
前記画面モックアップ情報の前記第1の動的情報が保持する画面部品の属性情報を、前記第2の動的情報が保持する画面部品の属性情報で置換し、
前記第2の動的情報に基づいて、前記置換された画面モックアップ情報と結合して動作する連携プログラムを生成する、
プログラム自動生成方法。
A set of screen component attribute information that meets a predetermined condition is extracted as first dynamic information from screen mockup information that holds information about the screen design,
Acquiring attribute information that can be acquired from the dynamic information, converting the acquired attribute information into linkage information for generating a predetermined program, the attribute information that could not be acquired among the dynamic information By complementing using the linkage information, the first dynamic information is converted into second dynamic information,
Replacing the attribute information of the screen component held by the first dynamic information of the screen mockup information with the attribute information of the screen component held by the second dynamic information;
Based on the second dynamic information, a linkage program that operates in combination with the replaced screen mockup information is generated.
Automatic program generation method.
コンピュータに実行されると、
画面デザインに関する情報を保持する画面モックアップ情報から所定の条件に適合する画面部品の属性情報の組を前記第1の動的情報として抽出し、
前記動的情報から取得可能な属性情報を取得し、その取得できた前記属性情報を所定のプログラムを生成するための連携情報に変換し、前記動的情報のうち取得できなかった前記属性情報を前記連携情報を用いて補完することにより、前記第1の動的情報を第2の動的情報に変換し、
前記画面モックアップ情報の前記第1の動的情報が保持する画面部品の属性情報を、前記第2の動的情報が保持する画面部品の属性情報で置換し、
前記第2の動的情報に基づいて、前記置換された画面モックアップ情報と結合して動作する連携プログラムを生成する、
コンピュータプログラム。
When executed on a computer,
A set of attribute information of screen parts that meet a predetermined condition is extracted as the first dynamic information from screen mockup information that holds information about the screen design,
Acquiring attribute information that can be acquired from the dynamic information, converting the acquired attribute information into linkage information for generating a predetermined program, the attribute information that could not be acquired among the dynamic information By complementing using the linkage information, the first dynamic information is converted into second dynamic information,
Replacing the attribute information of the screen component held by the first dynamic information of the screen mockup information with the attribute information of the screen component held by the second dynamic information;
Based on the second dynamic information, a linkage program that operates in combination with the replaced screen mockup information is generated.
Computer program.
JP2010205589A 2010-09-14 2010-09-14 Automatic program generating device and automatic program generating method Pending JP2012063841A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010205589A JP2012063841A (en) 2010-09-14 2010-09-14 Automatic program generating device and automatic program generating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010205589A JP2012063841A (en) 2010-09-14 2010-09-14 Automatic program generating device and automatic program generating method

Publications (1)

Publication Number Publication Date
JP2012063841A true JP2012063841A (en) 2012-03-29

Family

ID=46059523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010205589A Pending JP2012063841A (en) 2010-09-14 2010-09-14 Automatic program generating device and automatic program generating method

Country Status (1)

Country Link
JP (1) JP2012063841A (en)

Similar Documents

Publication Publication Date Title
JP4396994B2 (en) Resource file translation verification method, apparatus, and program
US20120266131A1 (en) Automatic program generation device, method, and computer program
CN108762743B (en) Data table operation code generation method and device
US20130227522A1 (en) Integrated Application Localization
JP6479184B2 (en) Computer-executable model reverse engineering method and apparatus
JP2007323573A (en) Functional test script generator
KR101623174B1 (en) Source code analysis apparatus, Computer program for the same, Recording medium storing computer program for the same
CN108469955B (en) Annotation-based Android injection framework implementation method
JP2012529093A (en) Method, system and computer program for screen capture
CN106709985B (en) Virtual sacrifice three-dimensional scene generation method and device
JP2008225898A (en) Conversion device, conversion program, and conversion method
JP2013084023A (en) Specification creation support device and program
US10896161B2 (en) Integrated computing environment for managing and presenting design iterations
JP5702265B2 (en) Program automatic generation apparatus and program automatic generation method
JP2010039901A (en) Operation verification device and operation verification program
JP2012063841A (en) Automatic program generating device and automatic program generating method
JP2006154993A (en) Web screen creating method, program, and server
JP6097231B2 (en) Program generating apparatus and method
KR100846203B1 (en) Method for generating mobile application and record media recorded program for realizing the same
JP2007094453A (en) Program development support system, program development support method and program
JP2007164708A (en) Conversion data generator, data conversion system, method therefor, and program therefor
US7882487B2 (en) Method of generating C code on the basis of UML specifications
JPH11154093A (en) Program compiler and storage medium recording compiler program
JP2000207226A (en) Code optimizing device, language processor, and code optimization method
US20220405196A1 (en) Operation pattern generation apparatus, operation pattern generation method and program