Development support apparatus

The development support device addresses the challenges faced by developers with low software skills by using a template search unit to recommend suitable templates based on screen feature quantities, enhancing application development efficiency.

JP2025039311APending Publication Date: 2025-03-21HITACHI LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023146308
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-08
Publication Date
2025-03-21

AI Technical Summary

Technical Problem

Developers with low software development skills face challenges in understanding and utilizing low-code product templates due to discrepancies between function names and actual work functions, as well as industry-specific template mismatches.

Method used

A development support device that includes an input unit for accepting screen component inputs, a template information recording unit, a template search unit that calculates feature quantities of the screen and searches for matching templates, and a template output unit to recommend suitable templates.

Benefits of technology

Enables developers to develop applications efficiently by recommending suitable templates based on screen feature quantities, overcoming the challenges of function name discrepancies and industry-specific template mismatches.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025039311000001_ABST
    Figure 2025039311000001_ABST
Patent Text Reader

Abstract

To provide a development support apparatus which allows even a developer who is not familiar with application development to develop an application.SOLUTION: A software development support apparatus 1 comprises: a screen configuration element input unit 11 for receiving the input of components arranged at the screen which serves as a user interface of an application as a development object and acquiring input information representing an operation executed on the components; a business application template information recording unit D1 for recording a template which combines plural types of components to create the screen; a business application template retrieval unit 12 for calculating a feature quantity of the screen based on the input information and retrieving the template from the template information recording unit based on the feature quantity; and a recommended business application template output unit 13 for outputting the template retrieved by the business application template retrieval unit 12.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a development support device. [Background technology]

[0002] Business department personnel with low software development or programming skills are often unfamiliar with software development. In recent years, low-code products have been provided that enable even such personnel (hereafter referred to as "developers") to easily develop applications aimed at improving the efficiency of their department's operations. Low-code products do not require the writing of complex program code, and allow developers to develop applications by placing various components on a screen. In low-code products, components with various functions are grouped by function. Developers develop applications by selecting the components required for the desired business from the components grouped by function, and arranging and connecting the components.

[0003] Patent document 1 states that "in response to an instruction to generate a business program for a specified organization, a template for the business program to be generated is identified based on a table, each program part specific to the organization and common between organizations to be set in the identified template is identified based on the table, each program part identified and the identified template are read from a specified device and applied to a specified algorithm, and source code for the business program is generated." [Prior art documents] [Patent documents]

[0004] [Patent Document 1] International Publication No. 2017 / 072872 Summary of the Invention [Problem to be solved by the invention]

[0005] Developers who are inexperienced in development often cannot understand the meaning of the search results when searching for templates in low-code products to use when developing applications. The reason for this is that low-code products only allow users to search for templates by "function names" that are used to create the functions of applications, such as "search" and "regression analysis." Since there is a discrepancy between the function names and the names of functions used in the work carried out in their own departments, developers do not know what names to search for.

[0006] In addition, some low-code products publish examples of application creation and the use of templates as case studies. However, the industry of the department to which the developer belongs is often different from the industry in which the use of templates is recommended. For example, the industries may be different, such as sales support activities in the distribution industry and product sales support in the financial industry. In this case, even if the same template can be used when developing applications for each industry, developers are not aware of the template and are unable to use it.

[0007] The technology disclosed in Patent Document 1 is said to be able to build a business program more easily than constructing a business program from scratch by combining a business program template that can be used for the target business with template parts. However, business program templates and template parts represent the functions that the program will realize. For this reason, developers who are not familiar with software development cannot determine which template and which parts to select in order to build the business program, i.e., the application, that they are trying to develop.

[0008] It is also possible to add information to each template indicating that it can be used in a specific organization or business area. However, it is difficult to cover all the business operations for which the template can be used, and it is difficult for developers to select templates or parts by using business areas or business names as keywords.

[0009] The present invention has been made in view of the above circumstances, and has an object to enable even developers who are inexperienced in application development to develop applications. [Means for solving the problem]

[0010] A development support device according to the present invention includes an input unit that accepts input of parts to be arranged on a screen that serves as a user interface of an application to be developed and acquires input information indicating operations performed on the parts; a template information recording unit that records templates combining multiple types of parts that constitute the screen; a template search unit that calculates features of the screen based on the input information acquired by the input unit and searches for a template from the template information recording unit based on the features; and a template output unit that outputs the template searched for by the template search unit. Effect of the Invention

[0011] According to the present invention, even a developer who is inexperienced in application development can develop an application. Problems, configurations and effects other than those described above will become apparent from the following description of the embodiments. [Brief description of the drawings]

[0012] [Figure 1] 1 is a block diagram showing an example of the configuration of a software development support device according to a first embodiment of the present invention. [Diagram 2] 1 is a block diagram showing an example of the hardware configuration of a computer according to a first embodiment of the present invention. [Diagram 3] 3 is a diagram illustrating an example of the configuration of a business application template information recording unit according to the first embodiment of the present invention. FIG. [Figure 4] FIG. 1 is a diagram illustrating an example of a low-code development environment according to a first embodiment of the present invention. [Diagram 5] 3A to 3C are diagrams showing examples of feature quantification of a screen control component and a logic component according to the first embodiment of the present invention. [Figure 6] 4 is a flowchart showing an example of processing of the software development support device according to the first embodiment of the present invention. [Figure 7] FIG. 11 is a block diagram showing an example of the configuration of a software development support device according to a second embodiment of the present invention. [Figure 8] FIG. 11 is a diagram illustrating an example of the configuration of a business application utilization model recording unit according to the second embodiment of the present invention. [Figure 9] 10 is a flowchart showing an example of processing of a software development support device according to a second embodiment of the present invention. [Figure 10] FIG. 13 is a block diagram showing an example of the configuration of a software development support device according to a third embodiment of the present invention. [Figure 11] FIG. 13 is a diagram showing a first example of the configuration of a software development support screen according to a third embodiment of the present invention. [Figure 12] FIG. 13 is a diagram showing a second example of the configuration of a software development support screen according to the third embodiment of the present invention. [Figure 13] 13 is a flowchart showing an example of processing of a software development support device according to a third embodiment of the present invention. [Figure 14] FIG. 13 is a block diagram showing an example of the configuration of a software development support device according to a fourth embodiment of the present invention. [Figure 15] FIG. 13 is a diagram illustrating an example of the configuration of a business application definition history information recording unit according to the fourth embodiment of the present invention. [Figure 16] 13 is a flowchart showing an example of processing of a software development support device according to a fourth embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings. In this specification and the drawings, components having substantially the same functions or configurations are designated by the same reference numerals, and redundant description will be omitted.

[0014] [First embodiment] <Example of software development support device configuration> FIG. 1 is a block diagram showing an example of the configuration of a software development support device 1 according to the first embodiment.

[0015] The software development support device 1 is an example of a device that supports the development of a business application software program (hereinafter abbreviated as "business application") based on a business application template (hereinafter abbreviated as "template"). The template is composed of a combination of screen control components and logic components shown in Fig. 4, which will be described later.

[0016] The software development support device 1 uses components and templates to make the development of applications to support business operations and tasks by developers more efficient. Therefore, the software development support device 1 provides a low-code development environment that enables personnel in each department to develop business applications that can be used in their own departments without having to request the development of business applications from an information systems department or other department with specialized skills. Even if a developer is inexperienced in development, the developer can develop business applications with the desired functions by adding or deleting various components or changing the names of templates prepared in advance in the software development support device 1.

[0017] The software development support device 1 includes a screen component input unit 11, a business application template search unit 12, a recommended business application template output unit 13, and a business application template information recording unit D1. Note that a developer according to this embodiment is assumed to be a person who belongs to a business department with low software development and programming skills and is inexperienced in software development.

[0018] The screen component input unit 11 (an example of an input unit) receives input of parts to be arranged on a screen that will be the user interface of the application to be developed, and acquires input information that indicates operations performed on the parts. For example, the screen component input unit 11 inputs various parts that make up a screen used in a business application as screen components. The screen components include the types of parts that make up the screen, the number of parts that appear on the screen, the structural dependencies of multiple parts, and the relationships between the parts.

[0019] The business application template search unit 12 (an example of a template search unit) calculates the feature amount of the screen based on the input information acquired by the screen component input unit 11, and searches for a template from the business application template information recording unit D1 based on the feature amount. For example, the business application template search unit 12 searches the business application template information recording unit D1 for a template that is expected to be useful to present to a developer based on the arrangement, number, and input order of the screen components input by the screen component input unit 11. This business application template search unit 12 includes a feature amount calculation unit 12a and a template extraction unit 12b.

[0020] The feature amount calculation unit 12a quantizes the screen components based on the type and number of components arranged on the screen to calculate the feature amount of the screen. For example, the feature amount calculation unit 12a regards each component, which is a screen component, as a word, and regards the arrangement and number of each component as a document to calculate the document feature amount. The document feature amount represents the feature amount of the screen being developed by the developer.

[0021] The template extraction unit 12b extracts templates from the business application template information recording unit D1, whose screen features calculated by the feature calculation unit 12a are similar to features calculated from templates recorded in the business application template information recording unit D1. For example, the template extraction unit 12b searches for templates from the business application template information recording unit D1 based on the document features, and extracts a template to be presented to the developer from the multiple searched templates.

[0022] The recommended business application template output unit 13 (an example of a template output unit) outputs the template searched for by the business application template search unit 12 as a template recommended to the developer.

[0023] The business application template information recording unit D1 (an example of a template recording unit) is an example of a database that records templates that combine multiple types of components that make up a screen. As shown in Fig. 3, which will be described later, the business application template information recording unit D1 records not only template information defined by an application template ID, but also setting information for control components, setting information for logic components, and the like, and all of this information is collectively referred to as "template information."

[0024] <Example of computer hardware configuration> Next, the hardware configuration of the computer 20 constituting the software development support device 1 will be described. Fig. 2 is a block diagram showing an example of a hardware configuration of a calculator 20. The calculator 20 is an example of hardware used as a computer capable of operating as the software development support device 1 according to this embodiment. The software development support device 1 according to this embodiment realizes a software development support method in which the respective functional blocks shown in Fig. 1 cooperate with each other by causing the calculator 20 (computer) to execute a program.

[0025] The computer 20 includes a CPU (Central Processing Unit) 21, a ROM (Read Only Memory) 22, and a RAM (Random Access Memory) 23, each of which is connected to a bus 24. The computer 20 further includes a display device 25, an input device 26, a non-volatile storage 27, and a network interface 28.

[0026] The CPU 21 reads out program code of software for implementing each function according to the present embodiment from the ROM 22, loads it into the RAM 23, and executes it. Variables, parameters, etc. generated during the computation process of the CPU 21 are temporarily written into the RAM 23, and these variables, parameters, etc. are read out as appropriate by the CPU 21. However, instead of the CPU 21, an MPU (Micro Processing Unit) or a GPU (Graphics Processing Unit) may be used, or the CPU 21 and a GPU (Graphics Processing Unit) may be used in combination.

[0027] The display device 25 is, for example, a liquid crystal display monitor, and displays to the developer the results of the processing performed by the computer 20. The input device 26 is, for example, a keyboard, a mouse, etc., and enables the developer to input predetermined operations and give instructions.

[0028] Examples of the nonvolatile storage 27 include a hard disk drive (HDD), a solid state drive (SSD), a flexible disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, and a nonvolatile memory. In addition to an operating system (OS) and various parameters, a program for making the computer 20 function is recorded in the nonvolatile storage 27. The ROM 22 and the nonvolatile storage 27 record programs and data necessary for the CPU 21 to operate, and are used as an example of a computer-readable non-transient storage medium that stores a program executed by the computer 20.

[0029] For example, a network interface card (NIC) is used as the network interface 28, and various data is transmitted and received between devices via a local area network (LAN) or dedicated line connected to a terminal of the NIC.

[0030] <Example of business application template information configuration> 3 is a diagram showing an example of the configuration of the business application template information recording unit D1. The business application template information recording unit D1 includes an application template information table D11, a control component setting information table D12, and a logic component setting information table D13.

[0031] The application template information table D11 is made up of fields for an application template ID, a template name, and a template description. The application template ID field stores an application template ID for identifying the application template. The template name field stores the name of the application template associated with the application template ID. The template description field stores a description of the application template.

[0032] The control component setting information table D12 is made up of fields for an application template ID, a control component arrangement ID, a control component ID, a component name, a setting value, and arrangement information. The application template ID field stores the above-mentioned application template ID. The control part location ID field stores a control part location ID for identifying the location of the control part. The control part ID field stores a control part ID for identifying a control part. The part name field stores the name of the control part.

[0033] The setting value field stores the setting value set for the control component. The setting value is, for example, a name given to the control component displayed on the screen, and may be a different name for each application template. In FIG. 3, the template name of the application template ID "AT00001" is "Sales Activity Management Template," so the setting value for the control component ID "CT0001" is "Sales Activity Management." For example, if the template name of the application template is "Attendance Management Template," the setting value of the control component may be set to "Attendance Management."

[0034] The placement information field stores default placement information for control components. For example, the default placement information is the position of the components when the top left corner of the screen is set as the origin, with the X axis to the right and the Y axis at the bottom. Also, if the control components are configured in layers, placement information is stored with the placement of the foremost control component as Z=0 and the control component placed below that as Z=1. Developers can move and place each control component from the default placement location to any location.

[0035] The logic component setting information table D13 is made up of fields for an application template ID, a logic component ID, a related control component ID, a component name, and a setting value. The application template ID field stores the above-mentioned application template ID. The logic component ID field stores a logic component ID for identifying a logic component. A logic component is used together with a control component, and the logic component itself is not displayed on the screen. The logic defined in the logic component is executed when the developer performs some operation on the control component.

[0036] The related control part ID field stores a related control part ID for identifying a related control part associated with a logic part. A related control part has a function for associating a control part with a logic part. The related control part operates or not depending on the control of a logic part. For example, a related control part may not operate depending on a condition branch of a logic part.

[0037] The part name field is a name given to a logic part. For example, a logic part named "Registration" has a function of registering data in a business table. The setting value field stores a setting value to be set in the logic component. The setting value is, for example, the ID of a table used in the logic component, and in this example, the "sales activity table" is set.

[0038] <Example of low-code development environment> 4 is a diagram showing an example of a low-code development environment. The low-code development environment is composed of an application screen development environment and a business logic setting environment in which business logic to be called by screen control components is set.

[0039] The software development support screen 100 is a screen used by a developer to develop an application screen. The software development support screen 100 is displayed on the display device 25 shown in Fig. 2, and the developer can visually confirm the positions of screen control components shown in the template, etc.

[0040] The business application development screen 200 presents a developer with a screen as a user interface when a user uses a business application. The business application development screen 200 is configured as a part of the software development support screen 100. On the business application development screen 200, layout adjustment control components 210, 211, a text label display component 220, a table control component 230, a table column component 240, and a button component 250 are arranged.

[0041] Although not shown in Fig. 4, a pane for displaying icons of screen control components is provided on the left side of the business application development screen 200. The developer develops the layout of the application screen by moving the icon of the desired screen control component from the pane to the business application development screen 200 and arranging it in the desired position. The components shown on the software development support screen 100 in Fig. 4 have already been arranged by the developer. When the software development support screen 100 is initially displayed, these components are not displayed.

[0042] A layout adjustment control component 210 is placed on the upper side of the software development support screen 100, and a layout adjustment control component 211 is placed on the lower side. Various control components are placed inside the layout adjustment control components 210 and 211. The layout adjustment control components 210 and 211 are given the component name "Box."

[0043] A text label display component 220 is placed in the upper left of the placement adjustment control component 210. The text label display component 220 is a component for displaying a label that shows an overview of the control component placed in the placement adjustment control component 210. In Fig. 4, a label "Employee List" is set in the text label display component 220. "Label" is given as the component name to the text label display component 220.

[0044] A table control component 230 is placed inside the placement adjustment control component 210. The table control component 230 is a 3-row x 4-column table made up of rows and columns. The table control component 230 is given the component name "Table."

[0045] The table control component 230 is configured with a table column component 240. The table column component 240 is a component arranged for each column of the table. The table column component 240 is given the component name "Column."

[0046] A button component 250 is placed at the lower right of the placement adjustment control component 210. The button component 250 is a component for instructing the execution of some function (for example, employee search) when pressed by a user using the employee list screen. The button component 250 is given the component name "Button."

[0047] The business logic setting screen 300 is a screen for a developer to set logic functions that are operated in response to an execution instruction of a business application. The business logic setting screen 300 is configured together with the business application development screen 200 as a part of the software development support screen 100. Logic components 310 are arranged on the business logic setting screen 300.

[0048] The logic component 310 is a component that represents logic that starts operating upon receiving an execution instruction from the button component 250. The logic component 310 itself is not displayed on the employee list screen. The logic component 310 is given the component name "Search."

[0049] A low-code development environment provides individual screen control components for constructing business application screens, and basic logic components for configuring business logic (search, registration, calculation description, regression analysis, etc.).In addition, a low-code development environment provides templates with functional granularity that group together the above-mentioned screen components and business logic in typical units, as well as templates with application granularity that are constructed by simulating actual business applications.

[0050] As application granularity, a template is envisioned that, when specific content data (for example, an account number or customer number used in an application for each business) is input, will function as a business application except for its appearance. For example, templates with application granularity that combine business context and specific data items (for example, "account number" for a label part), such as an "application for presenting a product list and receiving orders for a mail-order business," an "application for placing orders in a procurement business," or an "application for registering credit information in a financial business" are examples. Note that in actual business applications, the company name may be included in the header, and the color or shape of the icon may change, so the appearance of the application screen will differ for each company or business.

[0051] Functional granularity templates, or screen control components (e.g., column components) and logic components that are finer than templates, can often be standardized across business areas. On the other hand, application granularity templates, such as descriptions of the target business and names of data items used on the screen, differ for each organization or business area. Conventional low-code products only have templates of business applications developed within the scope that can be considered for each industry. For this reason, even if a developer inputs the context related to his or her own business (information such as whether it is a sales application or a mail order application) into a low-code product to search for a template, the low-code product cannot fully respond to the input context.

[0052] As described above, in the past, it was practically difficult to provide developers with application-level templates that can universally accommodate various organizations and business areas, and developers were usually provided with samples in which business applications were implemented. However, developers belong to business departments that do not primarily work on software development but are trying to build business applications. For this reason, even if developers are familiar with the keywords and the like written in application-level templates, they are not familiar with the terms used in functional-level templates. For this reason, the software development support device 1 according to this embodiment makes it possible to recommend templates to developers according to the screen control parts placed by the developer and the logic parts set by the developer.

[0053] <Examples of feature quantification of screen control parts and logic parts> Fig. 5 is a diagram showing an example of the feature quantification of screen control components and logic components. The feature quantification methods are roughly divided into three types depending on what is considered to be characteristic of the words converted from the expressions of each component arranged on the screen. The software development support device 1 adopts the most appropriate method of the three methods described below.

[0054] (1) Simple counting method In the simple counting method, the screen component input unit 11 counts the number of screen control components and logic components arranged on the business application development screen 200 of FIG. 4 by type, i.e., by component name. In the business application development screen 200, since there are two layout adjustment control components 210, 211, the number of "Boxes" is 2. Also, since there is one table control component 230, the number of "Tables" is 1. The numbers of screen control components and logic components are counted in the same manner. Note that "TextInput" is a component name given to a text box used for text input. Since no text box is arranged on the software development support screen 100 shown in FIG. 4, the number of "Text Input" is 0. Also, the types of screen control components and logic components are a finite number known in advance.

[0055] The feature calculation unit 12a quantizes the type and number of parts, and compares the quantized type and number of parts with other screens configured by templates to calculate the feature amount of the screen. For example, the feature calculation unit 12a performs a process of converting the counted number of part names into a document vector. Through document vectorization, the number of part names is represented as an n-row, 1-column matrix (n is the total number of countable part names). The document vector reflects the number of each part arranged on the screen, and can therefore be said to be an index that represents the screen from a certain aspect.

[0056] Next, the feature calculation unit 12a performs a process of converting each numerical value contained in the n-row, 1-column matrix, which is the document vector, into a feature. Characterization is a process in which, when the part name contained in the document vector is characteristic, it is converted into a feature that represents the characteristic. The feature of the screen or template that the developer is creating is obtained as a vector expression. The value obtained by converting the document vector into a feature is called a "document feature."

[0057] To calculate the features of the document vector, the feature calculation unit 12a regards the "screen control information" and "screen logic component information" contained in each screen as words. In addition, the feature calculation unit 12a uses a quantization method such as Tf-idf (term frequency - inverse document frequency) to extract feature words (control components specific to that screen) from each piece of information, and classifies documents by feature words. Specifically, the feature calculation unit 12a calculates the number of occurrences of each component that appears on each screen. A component that appears frequently on one screen is determined to be characteristic within that screen.

[0058] Tf-idf is a statistical measure that indicates how important each term in a document is. It is the product of the tf (term frequency) value, which indicates how frequently a certain term appears in a document, and the idf (inverse document frequency) value, which indicates how infrequently documents containing a certain term appear in all documents.

[0059] Next, the feature amount calculation unit 12a calculates the percentage of appearance of a specific part on multiple screens. For example, if a part always appears on multiple screens, the part does not characterize the screens used in a specific business, and therefore it can be determined that the information value of the part is not high.

[0060] Finally, the feature calculation unit 12a calculates the feature for each part by dividing the number of occurrences of the parts arranged on one screen by the occurrence rate, and calculates a feature vector for the entire document. The feature calculated by the feature calculation unit 12a is stored in the business application template information recording unit D1 for each business application. If a business application is composed of multiple screens, the feature calculated for each screen is stored in the business application template information recording unit D1.

[0061] The feature vector represents a result of the feature calculation unit 12a comparing the document vector of a screen on which a part has been placed by a developer with the document vectors of other screens. The other screens are, for example, screens other than the software development support screen 100 shown in Fig. 4. The software development support device 1 has a screen group including a plurality of screens defined in an application template. The feature calculation unit 12a repeats the process described above as the specific calculation method for each screen.

[0062] In addition, the template extraction unit 12b calculates the similarity between the screen being created by the developer and other templates using vector similarity. Other templates with high similarity are determined to be suitable for recommendation to the developer. For example, "Box", which is a control component for adjusting layout 210, 211 used in various screens, is not a feature of the screen, so the feature amount is small. On the other hand, "Label", which is a text label display component 220 that displays a screen name that characterizes the screen, is a name unique to that screen, so the feature amount is large. By converting the document vector into a feature amount in this way, the template extraction unit 12b can easily search the business application template information recording unit D1 for a template whose feature amount of the screen being created by the developer is similar to that of other screens.

[0063] (2) Counting by structure In the method of counting by structure, the screen component input unit 11 also counts the number of screen control components and logic components arranged for each of the layout adjustment control components 210 and 211. However, what screen control components and logic components are included in the screen control components of a large range are defined as a structure, and the screen component input unit 11 counts the number of each component in that structure. For example, the number of screen control components and logic components arranged in the layout adjustment control component 210 is the same as that described in the method of simple counting, except that the number of "Boxes" is 1. Therefore, the structure of the layout adjustment control component 210 can be said to be a structure including each component as shown in FIG. 4. On the other hand, neither screen control components nor logic components are arranged in the layout adjustment control component 211. Therefore, the number of "Boxes" is 1, and the number of screen control components and logic components is 0. The number counted for each structure is expressed as a matrix of m rows and n columns as a quantity representing the screen. Note that the matrix is ​​expressed as m rows and n columns, taking into consideration that layout adjustment control components other than the layout adjustment control components 210 and 211 may be arranged.

[0064] The feature amount calculation unit 12a regards the value for each row counted for each structure (for example, each box) expressed as a quantity representing the screen as one word, and performs feature amount processing for each row. At this time, the feature amount calculation unit 12a performs dimensional compression so that the numbers in n columns fit into two columns. By performing dimensional compression, the quantity representing the screen is characterized into a matrix of m rows and two columns. Each value of this matrix of m rows and two columns is called a feature amount. Even with such a feature amount, the template extraction unit 12b can easily compare it with the feature amounts obtained for other screens. Note that the dimensional compression can be performed by making the numbers in n columns fit into n-1 columns or less.

[0065] (3) A method for counting placements based on the positions of components placed on the screen In the placement count method, screen component input unit 11 obtains the relative positional relationship of screen control components placed on the screen. The position of a screen control component on the screen is defined by x, y. x, y are indexes that indicate the relative positional relationship between the screen control component of interest and other screen control components.

[0066] For example, since one "Box" of the layout adjustment control component 210 is placed at the top of the screen, the number of "Boxes" is 1. In addition, when the positions of components are counted from the top left corner of the screen as +x to the right and +y to the bottom, the index (x, y) of "Box: 1" of the layout adjustment control component 210 is (1, 1). The index (1, 1) indicates that the layout adjustment control component 210 is placed at the first position to the right and the first position to the bottom when viewed from the top left corner of the screen. Similarly, the index (x, y) of "Box: 2" of the layout adjustment control component 211 is (1, 2). Thereafter, the feature amount calculation unit 12a performs the specialization process as described in (2) Method of counting by structure to obtain the feature amounts of the screen control components and logic components.

[0067] <Example of processing by software development support device> Fig. 6 is a flowchart showing an example of processing by the software development support device 1. In this flowchart, an example of the developer's operation is shown on the left side of Fig. 6, and an example of processing by each part of the software development support device 1 is shown on the right side.

[0068] First, the developer operates the input device 26 (see FIG. 2) to place components on the screen for implementing the business for which software is to be created (S1).

[0069] The screen component input unit 11 acquires information on a group of components arranged on a screen (S11). The information on the group of components acquired by the screen component input unit 11 includes appearance, arrangement and configuration information on a group of screen control components, which will be described later in step S12.

[0070] The feature calculation unit 12a (see FIG. 1) calculates document feature amounts by regarding the appearance, arrangement and configuration information of the screen control parts group as a document (S12). The appearance information of the screen control parts group is, for example, information indicating that a label part selected by a developer has been arranged on a screen. The arrangement information of the screen control parts group is, for example, information indicating the position within the screen of the label part arranged on the screen. The configuration information of the screen control parts group is, for example, information indicating a hierarchical structure, such as how many table column parts 240 have been arranged in the table control part 230 shown in FIG. 4 and how many text label display parts 220 have been arranged.

[0071] The template extraction unit 12b (see FIG. 1) searches for similar templates from the business application template information recording unit D1 based on the document feature (S13). In this way, in the first embodiment, the template extraction unit 12b calculates the document feature of the "parts" arranged on the screen, and searches for application templates using only the feature of the parts. At this time, the template extraction unit 12b calculates a similarity, which is an index of similarity between the document feature of the parts arranged by the developer in a trial and the feature of each template, for each template that is the search result.

[0072] Next, the template extraction unit 12b narrows down the number of templates whose screen features are similar to the features calculated from the templates recorded in the business application template information recording unit D1 to a specified number or less, and outputs the narrowed-down templates. For example, the template extraction unit 12b (see FIG. 1) narrows down the results using a specified confidence level (e.g., 0.8), and when the number of application templates has been narrowed down to a specified number, it sets them as candidates to be notified to the developer (S14).

[0073] The degree of certainty is an index by which the template extraction unit 12b determines that a template with a higher degree of similarity is more likely. A template with a high degree of certainty can be said to be suitable for the development of a business application that the developer is developing.

[0074] The recommended business application template output unit 13 notifies the developer of the candidate templates obtained in step S14 (S15). The candidate templates notified to the developer may be, for example, all templates with a predetermined confidence level or higher. Alternatively, up to a predetermined number (for example, three) of templates in descending order of confidence level may be notified. Furthermore, if there are zero candidates notified in step S14, the developer may be notified of the template with the highest confidence level as a candidate, even if the template has a confidence level below the predetermined level.

[0075] If the developer determines that the notified candidate template is appropriate, the developer applies the template (S2). After applying the template, the developer places screen control components or sets logic components in the template.

[0076] In step S15, various situations are assumed as the timing for the recommended business application template output unit 13 to notify the developer of template candidates. For example, while the developer is placing screen control components or setting logic components, the placement of a certain screen control component may be used as a trigger to cause the template extraction unit 12b to search for templates and output the search results (such as a list of templates). In addition, when the developer places several screen control components or sets logic components and then presses a template search button (not shown), the template extraction unit 12b may search for templates and the recommended business application template output unit 13 may output the search results.

[0077] In the software development support device 1 according to the first embodiment described above, feature quantities are calculated based on the business control components arranged in a trial by the developer using the software development support screen 100, and the types and numbers of logic components set by the developer. The software development support device 1 recommends to the developer a template searched for from the business application template information recording unit D1 based on the calculated feature quantities. By using the recommended template, the developer can easily proceed with the development of a business application with the functions intended by the developer.

[0078] Conventionally, a template may be created based on a business application implemented in a business domain different from the domain targeted by the developer. Even if such a template is originally usable, the similarity may not be highly evaluated due to differences in the description of the business application. This may lead to confusion for the developer, as an appropriate template may not be searched for or an unusable template may be searched for as noise. On the other hand, the software development support device 1 according to the first embodiment recommends a template that matches the business domain of the developer. This makes it possible to easily build a business application in a business domain that the developer wants to improve efficiency based on templates or components.

[0079] The template extraction unit 12b searches for a template based on a feature amount calculated from the type and number of business control components arranged on the software development support screen 100. For example, the template extraction unit 12b searches for a template in which business logic and the like are embedded, based on a screen image created by a developer in a trial. This allows the developer to easily build a business application based on a template.

[0080] Furthermore, the templates retrieved by the template extraction unit 12b are narrowed down based on the confidence level, which limits the number of templates recommended to the developer, making it easier for the developer to select a template.

[0081] [Second embodiment] Next, a configuration example and an operation example of a software development support device according to a second embodiment of the present invention will be described with reference to Fig. 7 to Fig. 9. The software development support device according to the second embodiment recommends a template useful for development based on features that indicate the order in which the parts were placed, in addition to the parts placed in the work process by the developer.

[0082] <Example of software development support device configuration> FIG. 7 is a block diagram showing an example of the configuration of a software development support device 1A according to the second embodiment.

[0083] The software development support device 1A includes a business application utilization model recording unit D2 in addition to the units of the software development support device 1 according to the first embodiment shown in FIG. 1. The business application utilization model recording unit D2 is an example of a database that stores templates searched for based on the features of a developer's work procedures. The business application utilization model recording unit D2 records a business application utilization model that is a record of the procedures used to develop an application, such as when a developer was unsure of component placement in the past and added, deleted, or moved parts. The business application utilization model shows various ways to use templates for each industry and each business.

[0084] The feature amount calculation unit 12a of the business application template search unit 12 quantizes the number of times and the locations of the setting actions of the screen control component type and the logic component type that appear on the screen, and calculates them as feature amounts. After that, the template extraction unit 12b searches the business application utilization model recording unit D2 for templates similar to the feature amounts.

[0085] <Example of business application usage model configuration> FIG. 8 is a diagram showing an example of the configuration of the business application utilization model recording unit D2. The business application utilization model recording unit D2 records a utilization model including information on work results that utilized a template of an application developed in the past, using the template recorded in the business application template information recording unit D1. The business application utilization model recording unit D2 includes a business application utilization model table D21, business application work history model information D22, business application work history feature amount D23, and business application dependency relationship feature amount D24.

[0086] The business application utilization model table D21 is composed of fields for a business application utilization model ID and a target business application template ID. The business application utilization model ID field stores a business application utilization model ID for identifying a business application utilization model. The target business application template ID field stores a target business application template ID for identifying the target business application template.

[0087] The business application work history model information D22 records the work procedure as a history of how the development was carried out using the business application utilization model. The business application work history model information D22 is composed of fields of the business application utilization model ID, the work branch number, the work ID, and the work name.

[0088] The business application utilization model ID field stores the above-mentioned business application utilization model ID. The work branch number field stores a work branch number that indicates the procedure of work performed by a developer. The work branch number is, for example, a consecutive number such as 1, 2, 3, . . . The job ID field stores a unique job ID associated with the job branch number. The task name field stores the task name of the task performed by the developer. Note that a developer may perform a certain task (first task), then another task (second task), and then perform the first task again, so the same task name may be stored in different task branch numbers and task IDs.

[0089] The business application work history feature D23 records the order in which each task was performed during development using a business application utilization model as a work history feature. The work history feature indicates which task has a high probability of being performed in what order for each task identified by the task ID stored in the business application work history model information D22. The business application work history feature D23 is composed of the fields of the business application utilization model ID, the task ID, the task name, and the order probability distribution.

[0090] The business application utilization model ID field, the task ID field, and the task name field store the above-mentioned business application utilization model ID, the task ID, and the task name, respectively.

[0091] The order probability distribution field stores the order probability distribution for the work done by the developer. For example, when a developer uses a template to develop an application suitable for a business, the first step is to apply the template. Therefore, the order probability distribution for the work of applying the template is 1 (=100%).

[0092] Next, when the developer performs the task of editing a header, which has a task branch number of 2, for example, the task of inputting text into a text box and the task of placing the text label display component 220 are performed. The task of inputting text is represented by the code "2", and the task of placing the text label display component 220 is represented by the code "5". As an ordinal probability distribution, the code "2" = 0.8 represents an ordinal probability of 80%, and the code "5" = 0.2 represents an ordinal probability of 20%. The ordinal probability indicates the task procedure for each task that is performed after applying the template. For this reason, it can be seen that the task of inputting text is likely to be performed after applying the template. In addition, by arranging the ordinal probabilities for each task ID in descending order, the tasks that are easy for the developer to perform can be identified.

[0093] The business application dependency relationship feature D24 represents a pre-post dependency relationship between tasks, and is composed of fields for a business application utilization model ID, a task ID, a task name, a branch number, a prerequisite task ID, and a dependency probability.

[0094] The business application utilization model ID field, the task ID field, the task name field, and the sub-number field store the above-mentioned business application utilization model ID, the task ID, the task name, and the sub-number, respectively.

[0095] The Prerequisite Work ID field stores the work ID of the work (called the "prerequisite work") that is performed before the work specified by the Work ID as the prerequisite work ID. The first work, template application, has no prerequisite work, so "None" is stored. The next work, header editing, begins after the template is applied as a prerequisite work, so the prerequisite work ID field stores the work ID of template application, "ACT0001".

[0096] The dependency probability field stores the dependency probability that indicates the degree to which a certain task depends on a prerequisite task. The template application task ID "ACT0001" has no prerequisite tasks, so the dependency probability is 1.0 (=100%). The header editing task ID "ACT0002" has a dependency probability calculated for different prerequisite tasks. For example, if the template application task ID "ACT0001" is a prerequisite task ID, the dependency probability of the header editing task ID "ACT0002" is 1.0 (=100%). On the other hand, if the table item modification task ID "ACT0005" is a prerequisite task ID, the dependency probability of the header editing task ID "ACT0002" is 0.1 (=10%).

[0097] At least one of the above-mentioned business application work history model information D22, business application work history feature D23, and business application dependency feature D24 may be used as a business application utilization model. In addition, the business application utilization model recording unit D2 may store information on the arrangement order of parts as past results for each business application utilization model. In this case, the past results themselves can be used as the utilization model.

[0098] <Example of processing by software development support device> Fig. 9 is a flowchart showing an example of processing by the software development support device 1A. In this flowchart, an example of the developer's operation is shown on the left side of Fig. 9, and an example of processing by each part of the software development support device 1A is shown on the right side.

[0099] First, the developer operates the input device 26 to place on the screen a group of components for implementing the business process for which software is to be created (S1).

[0100] The screen component input unit 11 acquires, as input information, the component groups arranged on the screen and the work procedures for the order in which the component groups are arranged or set on the screen (S21). Unlike step S11 described in Fig. 6, in step S21, the input information acquired is the work procedures for modifying the placement of the component groups, which show how the developer modified the placement of the components, and the setting procedures for the logic components. The work procedures for modifying the placement of the component groups and the setting procedures for the logic components are collectively referred to as the "work procedures."

[0101] Next, the template extraction unit 12b of the business application template search unit 12 extracts a template in which the feature amount of the screen is similar to the feature amount calculated from the template recorded in the business application template information recording unit D1. For example, the template extraction unit 12b searches the business application template information recording unit D1 for a template similar to the group of components placed by the developer based on the feature amount of the arrangement of screen control components (S22). Note that, before the process of step S22, the feature amount calculation unit 12a calculates the feature amount of the screen based on the type and number of components placed on the screen.

[0102] Next, the feature amount calculation unit 12a of the business application template search unit 12 quantizes the work results including the order in which parts were placed on the screen and the number of times information was set to the parts to calculate the feature amount of the work procedure. For example, the feature amount calculation unit 12a utilizes natural language processing technology to calculate the feature amount of the work procedure by regarding each work as a word and the sequence of work as a document for a series of steps of part placement (S23).

[0103] For example, assume a series of work procedures performed by a developer, such as "Start editing → Place a header input component → Edit the header input component → Place a table component → Place a table column → Edit the table column...". First, the business application template search unit 12 regards each work connected by an arrow as a "word". These words correspond to events for the development tool, and the number of words is finite, just like the number of components. For example, "Start editing", "Place a header input component", "Edit the header input component", and "Place a table component" are each one of the work performed for each component. "Place a table column" and "Edit the table column" are four work performed for each component if four table columns are placed.

[0104] Next, the feature calculation unit 12a treats this series of tasks as a task sequence. This task sequence is expressed as a "document." After that, the business application template search unit 12 calculates the feature of the task sequence, that is, the feature of the task procedure based on the task procedure for the parts.

[0105] Next, based on the feature amount of the work procedure calculated in step S23, the template extraction unit 12b narrows down the extracted templates to a specified number or less, the number of templates having similar feature amounts of the work procedure and the work results included in the utilization model recorded in the business application utilization model recording unit D2. For this purpose, the template extraction unit 12b searches the business application utilization model recording unit D2 for templates having similar utilization tasks (S24).

[0106] Next, the template extraction unit 12b narrows down the templates with similar utilization tasks retrieved from the business application utilization model recording unit D2 to a useful number (S25). The useful number may be, for example, three or about ten.

[0107] The recommended business application template output unit 13 notifies the developer of the template candidates narrowed down in step S24 (S26). Step S26 is the same process as step S15 in FIG.

[0108] If the developer determines that the notified candidate is appropriate, the developer applies the application template (S2).

[0109] As described above, the process according to the second embodiment is performed in the following order: "Calculate feature quantities (of parts group)" → "Search for similar templates" → "Calculate feature quantities (of tasks group)." The feature quantity calculation unit 12a calculates document feature quantities based on the "task sequence" for arranging the parts, in addition to the feature quantities of the "parts." In the software development support device 1 according to the first embodiment, feature quantities were calculated based only on the type and number of parts arranged on the screen. However, if the configurations of multiple screens are similar, it may not be possible to correctly search for a template using only the feature quantities of the type and number of parts.

[0110] For example, at an early timing when a developer starts work, the template extraction unit 12b may not be able to narrow down to one application template using only the feature amount of "parts". For this reason, in the second embodiment, in order to further narrow down the application templates searched by the template extraction unit 12b, the template extraction unit 12b searches for a business application utilization model using the "task sequence", thereby further narrowing down the application templates searched in step S22. In this narrowing down process, equivalent results are expected regardless of whether the feature amount of "parts" or the feature amount of "work" is searched first, but the calculation cost of the feature amount of "work" is higher than the calculation cost of the feature amount of "parts". For this reason, the process is performed in the order of searching for application templates using the feature amount of "parts" and narrowing down the application templates using the feature amount of "work".

[0111] The software development support device 1A according to the second embodiment described above obtains the feature amount of the layout of screen control components in step S22, and then searches for a template based on the feature amount of the work procedure for layout of components calculated in step S23. In this way, the software development support device 1A uses the feature amount calculated based on the work procedure by the developer in addition to the feature amount calculated based on the type and number of components arranged on the screen to search for a template. As a result, the templates are narrowed down to a useful number based on the business application utilization model expected by the developer. Therefore, the developer can create a business application using the narrowed down templates.

[0112] [Third embodiment] Next, a configuration example and an operation example of a software development support device according to a third embodiment of the present invention will be described with reference to Fig. 10 to Fig. 13. The software development support device according to the third embodiment not only recommends a useful template based on the work history of a developer, but also makes recommendations based on past cases such as which components should be added to a template and which setting items of the components should be edited.

[0113] <Example of software development support device configuration> FIG. 10 is a block diagram showing an example of the configuration of a software development support device 1B according to the third embodiment.

[0114] The software development support device 1B includes a history-based business application component search unit 14 in addition to the components of the software development support device 1A according to the second embodiment shown in FIG.

[0115] The history-based business application component search unit 14 (an example of a work plan search unit) reads out the work results of a utilization model that utilizes the template output by the recommended business application template output unit 13 from the business application utilization model recording unit D2, and searches the utilization model for a work plan to be performed next to the work performed in the template based on the work results of the utilization model. For this reason, the history-based business application component search unit 14 uses the procedure results in past application development as history, and searches for components used in a business application developed with a history similar to the work procedure when the developer develops the application this time. In addition, the history-based business application component search unit 14 searches for components used in a business application from the business application utilization model recording unit D2.

[0116] The recommended task application template output unit 13 outputs a task plan. An example of the task plan is shown as a balloon comment 421 in Fig. 11, which will be described later, and as a task procedure display area 430 in Fig. 12. The task plan also includes a component plan to be placed next and a task plan for setting the components, which are shown in step S34 in Fig. 13.

[0117] <Example of software development support screen> Next, examples of software development support screens will be described with reference to Fig. 11 and Fig. 12. Software development support screens 400, 400A shown in Fig. 11 and Fig. 12 are both specific examples of the software development support screen 100 shown in Fig. 4.

[0118] 11 is a diagram showing a first example of the configuration of a software development support screen 400. The software development support screen 400 includes a component selection section 410 and a component placement section 420.

[0119] In the component selection section 410, a list of business control components that the developer can place is displayed for each component type. The part placement section 420 displays the business control parts placed by the user. Based on the business control parts placed in the part placement section 420, the next task is recommended to the developer. For example, the part selection section 410 indicates the "table header" to the developer by changing the color of the "table header" item as the recommended part 411 or by making it blink. Also, a balloon comment 421 is displayed in the part placement section 420. The balloon comment 421 displays a message saying "[!] This area is often modified as the next action." [!] is a symbol indicating that a recommended message is being displayed to the developer. If a recommended message is marked with [!], the developer can easily recognize that the message is addressed to the developer.

[0120] FIG. 12 is a diagram showing a second example of the configuration of the software development support screen 400A.

[0121] 11, the software development support screen 400A includes a work procedure display section 430. The work procedure display section 430 is a pane displayed on the right side of the component placement section 420.

[0122] The software development support screen 400A also highlights the component to be edited in the component selection section 410. In this example, "table header" is highlighted in bold as the component selection section 410.

[0123] The work procedure display section 430 displays a work procedure recommended to the developer. Fig. 12 shows an example in which the work is recommended to be performed in the order of "Modify Header", "Modify Application Description", "Modify Table Column", and "Add Table Column". The work procedure displayed in the work procedure display section 430 is merely a recommended work procedure, so the developer does not have to perform the work according to the work procedure.

[0124] <Example of processing by software development support device> Fig. 13 is a flowchart showing an example of processing by software development support device 1B. In this flowchart, an example of the developer's operation is shown on the left side of Fig. 13, and an example of processing by each part of software development support device 1B is shown on the right side.

[0125] First, the developer operates the input device 26 to place on the screen a group of components for implementing the business process for which software is to be created (S1).

[0126] The screen component input unit 11 acquires the component groups arranged on the screen and the work procedure for arranging the component groups (S31). The process of step S31 is the same as step S21 in FIG.

[0127] Next, the template extraction unit 12b of the business application template search unit 12 searches the business application template information recording unit D1 for templates similar to the parts group placed by the developer, based on the part arrangement and procedure feature amount. The template extraction unit 12b also searches the business application utilization model recording unit D2 for templates with similar utilization work, based on the feature amount of the work procedure (S32). The process of step S32 is a combination of the processes of steps S22 to S25 in FIG. 9.

[0128] Next, the recommended business application template output unit 13 notifies the developer of the template candidates obtained in step S32 (S33).

[0129] If the developer determines that the notified candidate is appropriate, the developer applies the application template (S2).

[0130] After step S33, the history-based business application component search unit 14 searches for a template utilization model selected by the developer from the business application utilization model recording unit D2. After that, the history-based business application component search unit 14 searches for a component plan to be placed next and a component setting work plan for the retrieved template utilization model from the work already performed by the developer and the past performance in the utilization model (S34).

[0131] Next, the recommended business application template output unit 13 presents to the developer the parts to be next placed or edited obtained in step S34 (S35).

[0132] Based on the presented component proposal, the developer places the components on the template and sets the configuration values ​​(S3).

[0133] In the software development support device 1B according to the third embodiment described above, when a developer selects one application template from the recommended template candidates, a work procedure is presented as a template utilization model. Therefore, the developer can check how to utilize this template while looking at the work procedure, and it becomes possible to develop an application while working in an appropriate order.

[0134] In addition, since a template is recommended based on the work progress on the software development support screen 100, the business know-how of the developer is modeled by the business application and the business know-how is visualized. Therefore, the developer who uses the business application can easily understand the logic by which the application was developed.

[0135] In addition, the software development support device 1B recommends and displays, as a guide to the developer, component ideas searched for by the history-based business application component search unit 14 according to the progress of creation for each template. Therefore, even if a developer is using a template or component for the first time, the developer can easily build a business application by utilizing the template or component.

[0136] [Fourth embodiment] Next, a configuration example and an operation example of a software development support device according to a fourth embodiment of the present invention will be described with reference to Fig. 14 to Fig. 16. The software development support device according to the fourth embodiment automatically constructs a business application utilization model based on an input from a developer.

[0137] <Example of software development support device configuration> FIG. 14 is a block diagram showing an example of the configuration of a software development support device 1C according to the fourth embodiment.

[0138] The software development support device 1C includes, in addition to the components of the software development support device 1B according to the third embodiment shown in FIG. 10, a history-based business application utilization model construction unit 15 and a business application definition history information recording unit D3.

[0139] The history-based business application utilization model construction unit 15 constructs a utilization model for each application template and records the utilization model in the business application utilization model recording unit D2. For example, the history-based business application utilization model construction unit 15 automatically constructs an application utilization model that the developer intends to develop based on the definition history read from the business application definition history information recording unit D3. The history-based business application utilization model construction unit 15 records the constructed application utilization model in the business application utilization model recording unit D2.

[0140] The business application definition history information recording unit D3 (an example of a history information recording unit) records parts arranged in the past application development and work procedures for the parts. The business application definition history information recording unit D3 records definition history information of the application utilization model automatically constructed by the history-based business application utilization model construction unit 15.

[0141] <Example of business application definition history information configuration> 15 is a diagram showing an example of the configuration of the business application definition history information recording unit D3. The business application definition history information recording unit D3 includes a business application definition history information table D31.

[0142] The business application definition history information table D31 is made up of fields for a history information ID, a target business application template ID, a task step ID, a task name, and a time stamp.

[0143] The history information ID field stores a history information ID for identifying the history information. The target business application template ID field stores a target business application template ID for identifying the target business application template. The task step ID field stores task step IDs that represent the order of tasks performed by a developer as task steps.

[0144] The task name field stores the task name of the task performed by the developer. The timestamp field stores a timestamp that indicates the time when the developer performed the task. For example, the task with task step ID "ACT0005" is "table item modification", but since each task was performed by a different developer at a different time, the timestamp is also different. Instead of the timestamp field, a task order field may be provided and the task order may be stored in the task order field.

[0145] <Example of processing by software development support device> Fig. 16 is a flowchart showing an example of processing by the software development support device 1C. In this flowchart, an example of the developer's operation is shown on the left side of Fig. 16, and an example of processing by each part of the software development support device 1C is shown on the right side.

[0146] First, the developer specifies the business application for implementing the business, and then places a group of components (S1A).

[0147] The screen component input unit 11 acquires the component group arranged on the screen and the work procedure for arranging the component group (S41). The process of step S41 is the same as step S21 in FIG.

[0148] Next, the screen component input unit 11 records the definition history of the business application in the business application definition history information recording unit D3 (S42).

[0149] Next, the history-based business application utilization model construction unit 15 constructs a utilization model for each application template based on the definition history recorded in the business application definition history information recording unit D3 (S43). The constructed utilization model is recorded in the business application utilization model recording unit D2.

[0150] In the software development support device 1C according to the fourth embodiment described above, the definition history of a business application is recorded based on the parts group and work procedures arranged on the screen by the developer, and a utilization model is constructed based on this definition history. Therefore, when other developers develop a similar business application, parts proposals are presented by the software development support device 1B according to the third embodiment described above, referring to this utilization model. Therefore, other developers can smoothly develop business applications based on the parts proposals.

[0151] It should be noted that the present invention is not limited to the above-described embodiments, and various other applications and modifications are possible without departing from the gist of the present invention as set forth in the claims. For example, each of the above-mentioned embodiments describes the configuration of the device in detail and specifically in order to explain the present invention in an easily understandable manner, and is not necessarily limited to having all of the configurations described. In addition, it is possible to replace a part of the configuration of the embodiment described here with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. In addition, it is also possible to add, delete, or replace a part of the configuration of each embodiment with another configuration. In addition, the control lines and information lines shown are those that are considered necessary for the explanation, and not all control lines and information lines in the product are necessarily shown. In reality, it can be considered that almost all components are connected to each other. [Explanation of symbols]

[0152] 1...software development support device, 11...screen component input section, 12...business application template search section, 12a...feature amount calculation section, 12b...template extraction section, 13...recommended business application template output section, 100...software development support screen, 200...business application development screen, 210, 211...control components for layout adjustment, 220...text label display component, 230...table control component, 240...table column component, 250...button component, 300...business logic setting screen, 310...logic component, D1...business application template information recording section

Claims

1. an input unit that receives input of a component to be arranged on a screen that serves as a user interface of an application to be developed, and acquires input information representing an operation performed on the component; a template recording unit that records a template in which a plurality of types of the parts that configure the screen are combined; a template search unit that calculates a feature amount of the screen based on the input information acquired by the input unit, and searches for the template from the template recording unit based on the feature amount; a template output unit that outputs the template searched for by the template search unit. Development support equipment.

2. The template search unit is a feature amount calculation unit that calculates a feature amount of the screen based on the types and the number of the parts arranged on the screen; a template extraction unit that extracts, from the template recording unit, a template having a feature amount similar to a feature amount calculated from the template recorded in the template recording unit. The development support device according to claim 1.

3. The feature amount calculation unit calculates feature amounts by quantizing components of the screen, including the types of the parts constituting the screen, the number of the parts appearing on the screen, structural dependencies of a plurality of the parts, and relationships between the parts.

3. The development support device according to claim 2.

4. The template extraction unit narrows down the templates having a feature amount of the screen similar to a feature amount calculated from the template recorded in the template recording unit to a predetermined number or less, and outputs the narrowed down templates.

4. The development support device according to claim 3.

5. a utilization model recording unit that records a utilization model including information on a work record utilizing the template of an application developed in the past, using the template recorded in the template recording unit; the input unit acquires, as the input information, an order in which parts are arranged or set on the screen; the feature calculation unit calculates a feature of the screen based on the types and the number of the parts arranged on the screen, and calculates a feature of a work procedure based on a procedure of work for the parts; The template extraction unit extracts the templates having a feature amount of the screen similar to a feature amount calculated from the template recorded in the template recording unit, and narrows down the extracted templates having a feature amount of the work performance and the work procedure similar to those included in the utilization model recorded in the utilization model recording unit to a specified number or less.

5. The development support device according to claim 4.

6. The feature amount calculation unit calculates the feature amount of the work procedure by quantizing the work results including the order in which the parts are arranged on the screen and the number of times information is set to the parts.

6. The development support device according to claim 5.

7. a work plan search unit that reads out from the utilization model recording unit a work record of the utilization model using the template output by the template output unit, and searches the utilization model for a work plan to be performed next to the work performed on the template based on the work record of the utilization model; The template output unit outputs the work plan.

6. The development support device according to claim 5.

8. a history information recording unit in which the parts arranged in the past development of the application and work procedures for the parts are recorded; A utilization model construction unit that constructs the utilization model for each of the templates of the application and records the utilization model in the utilization model recording unit.

6. The development support device according to claim 5.

9. The template is composed of a combination of screen control components and logic components.

5. The development support device according to claim 4.

Citation Information

Patent Citations

  • Business program generation assistance system and business program generation assistance method

    WO2017072872A1