System Development Support Method, Program, and Development Support System

The development support method and system leverage a large language model to generate program code efficiently by structuring prompts from system-related information and arranging the code within a framework, addressing inefficiencies in existing system development methods.

JP7692134B1Active Publication Date: 2025-06-13早川 洋貴 +1

Patent Information

Application Number
JP2024233175
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-06-13
Estimated Expiration
2044-12-27

AI Technical Summary

Technical Problem

Existing methods for system development, such as those described in Patent Documents 1 and 2, are inefficient as they require manual creation of system overviews and do not effectively streamline the generation of entire programs.

Method used

A development support method and system that utilizes a large language model to generate program code efficiently by creating a prompt group based on system-related information, including requirement definition, design, and relationship information, and arranging the generated program code within a pre-prepared framework.

Benefits of technology

This approach significantly reduces the time and effort required for system development by automating the generation of program code and ensuring it is structured within a suitable framework, thereby enhancing overall development efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007692134000001_ABST
    Figure 0007692134000001_ABST
Patent Text Reader

Abstract

Efficiently construct a system such as a database. 【Solution means】A method for supporting the development of a system desired by a client, the development support method including, as a process to be executed by a computer, at least a prompt creation step of creating a group of prompts for outputting program code for operating the system based on design information defining a screen for operating a database implemented in the system and relationship information indicating a relationship between a plurality of tables included in the database. A system development support method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a development support method and a development support system.

Background Art

[0002] In Patent Document 1, a technique is disclosed in which a system overview sheet in which the environment, specifications, etc. of a system are hierarchically described is output to a large language model (LLM) as a prompt to generate one integrated system. Patent Document 2 discloses a technique for generating a design document that associates a plurality of screen component parts in generating a design document and includes processing of errors and events.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

[0004]

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, in Patent Document 1, the user himself / herself has to create an overview of the entire system, which is time-consuming. Further, in Patent Document 2, it only improves the efficiency of generating a design document, and there are still problems regarding efficiently generating an entire program.

Means for Solving the Problems

[0006] The present invention discloses a system development support method and a system development support program for efficiently constructing a system such as a database.

Brief Description of the Drawings

[0007]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Embodiments for Carrying Out the Invention

[0008] Hereinafter, embodiments of the present invention will be described with reference to the drawings. Various characteristic matters shown in the following embodiments can be combined with each other.

[0009] Incidentally, the program for realizing the software appearing in the present embodiment may be provided as a non-transitory computer-readable medium that can be read by a computer, may be provided so as to be downloadable from an external server, or may be provided so that the program is launched on an external computer and its functions are realized on a client terminal (so-called cloud computing).

[0010] In addition, in the present embodiment, the "section" may include, for example, a combination of hardware resources implemented by a circuit in a broad sense and information processing of software that can be specifically realized by these hardware resources. Also, in the present embodiment, various types of information are handled, and these types of information are represented, for example, by physical values of signal values representing voltage and current, the high and low of signal values as a set of binary bits composed of 0 or 1, or quantum superposition (so-called quantum bits), and communication and calculation can be executed on a circuit in a broad sense.

[0011] In addition, a circuit in a broad sense is a circuit realized by appropriately combining at least a circuit, circuitry, a processor, a memory, and the like. That is, it includes an application specific integrated circuit (ASIC), a programmable logic device (for example, a simple programmable logic device (SPLD), a complex programmable logic device (CPLD), and a field programmable gate array (FPGA)), and the like.

[0012] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

[0013] 1. Configuration of the Information Processing System As shown in FIG. 1, the development support system 100 includes, as an example, an information processing device 1 and a large language model server 2 (an example of a large language model). These are connected via a communication network 6 (e.g., the Internet, etc.) so that information can be exchanged.

[0014] The information processing device 1 executes each step of the information processing method according to the embodiment (described with reference to FIGS. 4 and later). The information processing method according to the embodiment appropriately arranges the program code generated by the large language model server 2 in a pre-prepared framework to generate a program group. An example of the generated program group is a database. There is no limitation on the purpose, target, use, format, etc. of the "program group" in the embodiment. In the following embodiments, as an example, the program code to be generated by the large language model server 2 is assumed to be the program code for constructing the program group desired by the user U.

[0015] In the embodiment, this "program code" broadly means "information defining commands for a computer". The program code of the embodiment includes source code in any programming language other than natural language, but is not limited thereto, and also includes any language (such as HTML) or any style sheet language (such as CSS). By executing the generated program code in a compatible specification and environment, the user U can develop and implement the system desired by the user U.

[0016] The large language model server 2 shown in FIG. 2 has, for example, a neural network trained using a large number of teacher data. The large language model server 2 receives the output from the information processing device 1 as input data, generates an answer to this input data, and outputs this answer to the information processing device 1.

[0017] The input data received by the large language model server 2 is generally referred to as a "prompt". In the embodiment, the "prompt" is input data for giving any instruction to the large language model server 2. The prompt can adopt any form such as a sentence or a chart, and can set any instruction, command, question, etc. When the prompt is represented by a sentence, various languages can be used, and any language readable by the large language model server 2 can be adopted. For example, in the embodiment, as the language for describing the prompt, any natural language, any programming language, any database language, any markup language or Markdown language, or any style sheet language (such as CSS) can be adopted.

[0018] The specific configuration of the large language model server 2 is not particularly limited, but any large language model called so-called generative AI can be adopted. As an example of the large language model, ChatGPT of OpenAI may be adopted. Only one type of large language model (for example, only ChatGPT) may be adopted in the large language model server 2, but it is not limited to this, and a plurality of large language models may be adopted in combination.

[0019] In addition, in the embodiment, the large language model server 2 may adopt a form of being linked with a database like RAG (Retrieval Augmented Generation).

[0020] 1. Hardware Configuration As shown in FIG. 2, as an example, the information processing apparatus 1 includes a communication unit 10, a storage unit 11, a control unit 12, an information output unit 13, and an input unit 14, and these components are electrically connected via a communication bus 15 inside the information processing apparatus 1.

[0021] As an example, the communication unit 10 can adopt wired communication means such as USB, IEEE 1394, Thunderbolt (registered trademark), wired LAN network communication, etc. Note that the communication unit 10 may adopt a configuration connected to the communication network 6 via wireless communication means such as wireless LAN network communication, mobile communication such as 3G / LTE / 5G, Bluetooth (registered trademark) communication, etc. Further, the communication unit 10 may have a configuration that combines the above-described wired communication means and wireless communication means.

[0022] The storage unit 11 stores various values such as various programs, constants, variables, and setting values of the information processing apparatus 1 executed by the control unit 12 as an example. Any storage device can be adopted for the storage unit 11. As an example, the storage unit 11 can adopt a storage device such as a solid state drive (SSD), a random access memory (RAM) that stores information (arguments, arrays, etc.) temporarily required for program calculation, etc. Further, in addition to the storage unit 11, the information processing apparatus 1 may also use an external storage unit (for example, an external storage medium, cloud storage, etc.). In the embodiment, as an example, the storage unit 11 is configured to be able to store system-related information, requirement definition information RD, design information UI, relationship information ER, prompt group PRA, framework-based program group FBP, etc., which will be described later.

[0023] The control unit 12 is configured to execute processing and control related to the information processing of the information processing apparatus 1. The control unit 12 can be configured by, for example, a central processing unit (CPU). In the embodiment, the control unit 12 is an example of a processor capable of executing a program related to each step of the flowchart described later. The control unit 12 realizes various functions related to the information processing apparatus 1 by, for example, reading out the program stored in the storage unit 11. Further, the information processing of the software in the information processing apparatus 1 is realized by, for example, various programs stored in the storage unit 11 being processed by the control unit 12 as hardware.

[0024] The information output unit 13 is, as an example, the display unit of the information processing apparatus 1. The information output unit 13 may be included in the housing of the information processing apparatus 1 or may be externally attached. The information output unit 13 displays a screen of a graphical user interface (GUI) operable by the user U. The information output unit 13 may employ, for example, a display device such as a CRT display, a liquid crystal display, an organic EL display, a plasma display, an electronic paper display, or other display devices such as a lit light or a projector. Note that whether or not the information processing apparatus 1 includes the information output unit 13 is optional. For example, the output of the information processing apparatus 1 may be displayed on a display unit at a location separate from the location where the information processing apparatus 1 is installed. Further, the information output unit 13 may have a device that outputs in voice.

[0025] The input unit 14 is configured to receive, as an example, an operation input to the information processing apparatus 1 made by the user U. The input unit 14 may be included in the housing of the information processing apparatus 1 or may be externally attached. The input unit 14 may employ at least one of, for example, a touch panel, a switch button, a mouse, and a keyboard. Note that whether or not the information processing apparatus 1 includes the input unit 14 is optional. For example, the operation input of the user U may be received via the input unit of another information processing terminal provided remotely independently of the information processing apparatus 1, and this operation input may be received by the information processing apparatus 1 via a network.

[0026] 1.2. Functional Block Configuration of Information Processing Apparatus Referring to FIG. 3, the functional configuration of the information processing apparatus 1 according to the present embodiment will be described. Information processing by software stored in the storage unit 11 is specifically realized by the control unit 12, which is an example of hardware, so that each functional unit included in the control unit 12 is executed.

[0027] The control unit 12 of the information processing apparatus 1 includes, as an example, a requirement definition information creation unit 121, a design information creation unit 122, a relationship information creation unit 123, a system-related information acquisition unit 124, an extraction unit 125, a prompt creation unit 126, a program code acquisition unit 127, and an output unit 128. Some of these functional units exchange information with the large language model server 2.

[0028] The above functional units (requirement definition information creation unit 121 to output unit 128) may be realized by software or by hardware. When realized by software, various functions can be realized by the CPU executing a computer program. The program may be stored in a non-transitory computer-readable recording medium, may be provided for download from an external server, or may be realized by so-called cloud computing that reads a program stored in an external storage unit to realize the function. When realized by hardware, it can be realized by various circuits such as ASIC, FPGA, or DRP. In the embodiment, various information and concepts including this are handled, and these are represented by the high and low of signal values or quantum bits as a set of binary bits composed of 0 or 1, and communication and calculation can be executed by the above software or hardware modes. Note that the software may be a general-purpose OS or a dedicated OS.

[0029] 1.3. Processing Executed by the Information Processing Apparatus (Information Processing Method) Each functional unit included in the control unit 12 in FIG. 3 is configured to be able to execute each step of the flowchart in FIG. 4. The program according to the embodiment can cause a computer (information processing apparatus 1) to execute the information processing method of the embodiment by executing each step (information processing method) in FIG. 4.

[0030] The requirement definition information creation unit 121 is configured to be able to execute the requirement definition information creation step S1 (see FIG. 5). The design information creation unit 122 is configured to be able to execute the design information creation step S2 (see FIG. 6). The relationship information creation unit 123 is configured to be able to execute the relationship information creation step S3 (see FIGS. 7 and 8). The system-related information acquisition unit 124 is configured to be able to execute the system-related information acquisition step S4. The extraction unit 125 is configured to be able to execute the extraction step S5. The prompt creation unit 126 is configured to be able to execute the prompt creation step S6. The program code acquisition unit 127 is configured to be able to execute the program code acquisition step S7 (see FIG. 7). The output unit 128 is configured to be able to execute the output step S8. The specific content of each step will be described later. 2. Description of the operations and the like of the embodiment 2.1. Outline of the information processing method of the embodiment The embodiment includes the following multiple features.

[0031] One of the features is to generate a group of prompts for outputting program code for operating the system based on system-related information necessary for implementing the system.

[0032] Another one of the features is that the prompt issued to the large language model server 2 includes an instruction to generate a view processing program for executing view processing corresponding to each item based on design information including a plurality of items constituting the screen.

[0033] Another one of the features is that the prompt issued to the large language model server 2 includes an instruction to generate a controller processing program for executing controller processing corresponding to each item based on processing design information such as front-end processing and back-end processing of the screen constituting the system S. The instruction may include an instruction to refer to relationship information for generating the controller processing program.

[0034] One of the other features is that the prompt issued to the large language model server 2 includes an instruction to generate a model processing program that executes model processing based on the database design information that constitutes the system S.

[0035] One of the other features is that the prompt issued to the large language model server 2 includes an instruction to generate a class processing program that executes a process of generating a class corresponding to the screen based on the relationship information including a plurality of table information that constitutes the database.

[0036] One of the other features is to issue a prompt including a screen design instruction and a relationship information design instruction to the large language model server 2, and obtain a view processing program, a controller processing program, a model processing program, and a class.

[0037] One of the other features is to arrange the view processing program, the controller processing program, and the model processing program in the framework.

[0038] Also, in the embodiment, as an example, the group of prompts to be output to the large language model server 2 is managed for each process executed in the system S. In the embodiment, a group of prompts including a view processing generation instruction PRI1, a controller processing generation instruction PRI2, a model processing generation instruction PRI3, a common processing generation instruction PRI4, a front-end processing generation instruction PRI5, a test case generation instruction PRI6, and a demo data generation instruction PRI7 are issued to the large language model server 2 in an appropriate order. As a result, the large language model server 2 can generate arbitrary data (for example, a group of framework program codes).

[0039] 2.2. Regarding Requirement Definition Information The requirement definition information is information indicating the outline and overall structure of the system S desired by the client C. The requirement definition information of the embodiment will be described. FIG. 5 is an example of requirement definition information RD representing the configuration of the system desired by client C. This requirement definition information includes a system overview RD1 of the system desired by client C, a work breakdown structure diagram RD2, a configuration diagram RD3, a list of functions RD4 of the system desired by user U, an architecture RD5, non-functional requirements RD6, transition requirements RD7, acceptance and maintenance requirements RD8, a glossary RD9, and code definitions RD10. The requirement definition information creation unit 121 causes these requirement definition information RD to be displayed on the information output unit 13.

[0040] In the embodiment, the requirement definition information RD can be created by a requirement definition information creation system s1. In the requirement definition information creation system s1, each element definition information described later is input via the input unit 14 and is displayed on the terminal of user U by the information output unit 13. On the terminal of user U, as shown in FIG. 5, each requirement definition information is listed, and by the user U selecting them, each requirement definition information is displayed.

[0041] The system overview RD1 includes design information related to the entire system such as the system environment and specifications.

[0042] The work breakdown structure diagram RD2 decomposes the work necessary for user U to create the system S desired by client C and visualizes the entire system development project.

[0043] The configuration diagram RD3 defines the functional requirements of the system desired by client C.

[0044] The function list RD4 includes the functions of the system desired by client C.

[0045] Architecture RD5 describes the methods, environments, specifications, etc. of system S desired by client C. For example, it includes information such as servers, networks, security, backups, applications, the OS information of devices such as the PCs, smartphones, and tablets used by the client, hardware such as printers, and external services that cooperate with system S desired by client C.

[0046] Non-functional requirement RD6 includes all requirements other than the functions of system S desired by client C. Non-functional requirement RD6 includes, for example, the number of concurrent processes, the number of batch jobs, the number of database operations, logs, and on-site work.

[0047] Migration requirement RD7 includes the migration plan such as the migration start date and migration completion date when migrating from the old system of client C to system S, and the number of target data to be migrated in the migration plan.

[0048] Acceptance and maintenance requirement RD8 includes the deliverables and completion requirements generated in the phases of the system development project, and the phases, contents, and costs generated in each phase of the maintenance and operation of system S desired by client C.

[0049] Glossary RD9 includes the terms used in the consultation with client C and customarily used in the industry to which client C belongs, as well as the explanations of their readings and meanings.

[0050] Code definition RD10 includes the code numbers corresponding to the documents, terms, etc. used in the system development project. For example, code definition RD10 includes the quotation number.

[0051] 2.3. Regarding design information Design information UI includes the information for designing the screens displayed on the terminals used by client C in system S desired by client C. Design information UI defines the screens for operating system S, especially the database.

[0052] Describe the design information UI of the embodiment. The design information includes screen-related information. The screen design information includes, for example, items to be displayed on the screen of the terminal of the client C to implement the functions provided by the system S. The items include, for example, the name of the screen, the heading of the screen, item names, date input, time input, links, images embedded in the screen, search forms, functions such as search, registration, and deletion buttons, and for each item, display forms such as text display, text input, radio buttons, tab display, and select boxes. The design information includes processing design information for implementing the functions provided by the system S. The processing design information includes, for example, front-end processing, back-end processing, data acquisition and storage destinations, transition destinations, permission input checks, cooperation with the database corresponding to each function button, business logic, and program code corresponding thereto.

[0053] In the embodiment, the design information UI can be created by the design information creation system s2. In the design information creation system s2, when each item is input via the input unit 14, one or more demo screens having each item are displayed on the terminal of the user U by the information output unit 13. The user U inputs items via the input unit 14. The items are displayed in the item display area of the design information creation system s2 by the information output unit 13. The control unit 12 converts each item into a program language such as HTML to create a demo screen, and controls the information output unit 13 to display the created demo screen in the demo screen display area. By doing so, it becomes easy to confirm the screen of the system S desired by the client C.

[0054] 2.4. Regarding relationship information The relationship information ER is a group of information for designing a structure to effectively display and make easy to use information such as systems, websites, and applications, and includes information indicating the relationship between a plurality of tables T constituting the system S.

[0055] The entity-relationship diagram is mainly composed of elements such as entities (substances) that represent a collection of data constituting a database in a square shape, relationships (relations) that connect data with lines to show their mutual relationships, attributes (properties) that represent the attributes of data, identity fires, and cardinalities that represent the numerical constraints between entities in a relationship.

[0056] The correspondence between the entity-relationship diagram showing the system S and the physical database constituting the system S will be described. An entity may correspond to a table T in the database constituting the system S. An attribute may correspond to a column CL. An identity fire may correspond to a primary key. A relationship may correspond to a foreign key, a relationship table, a one-to-many relationship, and a many-to-many relationship in the database constituting the system S. In the physical database constituting the system S, there are a plurality of tables T, and each table T may include a plurality of columns CL.

[0057] The relationship information ER in the embodiment will be described. The relationship information ER can be created by the relationship information creation system s3. The control unit 12 causes the information output unit 13 to display a plurality of tables T, columns CL (table column definitions), and the relationships (table relationship definitions) between each table or each column, the processes executed on the database, and the corresponding program codes in a form corresponding to the entity-relationship diagram (entity-relationship display sheet ERS). The relationship information ER includes the entity-relationship display sheet ERS.

[0058] The entity-relationship display sheet ERS includes a table display TD, a column display CLD, and a relationship display RLD. The control unit 12 causes the structure of the physical database that can be implemented in the system S to be displayed on the entity-relationship display sheet ERS. In the entity-relationship display sheet ERS, a plurality of table displays TD are structured, and the table display TD, the column display CLD, and the relationship display RLD (database design information) between each table T or column CL are shown. When user U selects the table display TD, column display CLD, and relationship display RLD on the entity-related display sheet ERS, the data and program code corresponding to each table, column, and the relationship between each table or each column are displayed, input, or saved in a displayable manner.

[0059] System-related information is all the information necessary to implement system S, including requirement definition information RD, design information UI, and relationship information ER.

[0060] 2.5. Regarding the Framework The framework FR is a group of programs for implementing common processes and functions in various systems such as the core system, business system, and management system. In the present invention, it is not particularly limited as long as it is a framework that can be used in the above systems, and it may be MVC, MVP, MVVM, etc.

[0061] In this embodiment, the case of using the MVC model as the framework FR will be described. As an example, Laravel is composed of multiple directories. app including the main application logic, routes including a program for managing routing settings and mapping URLs to processing contents, resource for managing the front-end HTML templates, CSS, and JavaScript, database for managing database migration scripts and seed data, config including application settings such as database connection, cache, and session, public for storing static files for image, CSS, and JavaScript publication, composer.json for storing the configuration file for managing Laravel and other PHP libraries, artisan which is the command-line tool of Laravel, etc.

[0062] The framework FR is appropriately customized and implemented in the system S to realize the system S with the functions desired by the client C. For example, the framework FR does not implement business logic such as sales calculation and detailed processing of specific operations such as report creation, customized UI / UX and API cooperation, and special functions such as real-time processing, which are desired by the client C. Therefore, it is required to implement UI / UX and functions in accordance with the business practices and business models of the industry to which the client C belongs.

[0063] <Framework-based program group> The framework-based program group FBP is a program in which all or part of the functions desired by the client C are implemented in the framework FR. The user U may appropriately modify the framework-based program group FBP to implement the system S desired by the client C. In the embodiment, the framework-based program group FBP is obtained by the program code acquisition system s4.

[0064] As shown in FIG. 7, the control unit 12 (program code acquisition unit 127) causes the information output unit 13 to display the program generation screen PRG. The program generation screen PRG includes a system-related information specification area DA for specifying system-related information, a program code generation instruction area PB for creating a prompt group PRA based on the specified system-related information and instructing the large language model server 2 to generate program codes, a directory display area DDA for displaying the directory of the framework-based program group FBP, and a program code display area PCA for displaying the program codes stored in the directory by selecting the directory displayed in the directory display area DDA.

[0065] The program code acquisition unit 127 causes the directory of the framework-based program group FBP to be displayed in the directory display area via the information output unit 13, and causes the program code stored in the directory to be displayed in the program code display area PCA.

[0066] In the embodiment, a method for developing a system S with these customized functions and UI / UX required by the client C is disclosed.

[0067] 2.6. Explanation of System Development Support Method and Specific Processing As shown in FIG. 4, the development support system 100 of the embodiment includes, as an example, a requirement definition information creation step S1 (see FIG. 4), a design information creation step S2 (see FIG. 5), a relationship information creation step S3 (see FIGS. 7 and 8), a system-related information acquisition step S4, an extraction step S5, a prompt creation step S6, a program code acquisition step S7 (see FIG. 7), and an output step S8. The details of each step will be described below.

[0068] <Requirement Definition Information Creation Step> In the requirement definition information creation step S1, the control unit 12 (requirement definition information creation unit 121) causes the information output unit 13 to display the requirement definition information list RS. The user U can input the requirement definition information RD via the input unit 14. The requirement definition information list RS includes input areas such as the system overview RD1 desired by the client C, the work breakdown structure diagram (WBS) RD2, the configuration diagram RD3, the function list RD4 of the system desired by the user U, the architecture RD5, the non-functional requirements RD6, the migration requirements RD7, the acceptance and maintenance requirements RD8, the glossary RD9, the code definition RD10, and the like.

[0069] The requirement definition information RD is not limited to the above, and can be added and deleted by the user U via the input unit 14. For example, there are the business process hearing items RD11 for inputting the hearing items when the user U interviews the business process of the client C, the infrastructure information RD12 for recording the in-house infrastructure of the client C, and so on. These requirement definition information RD can be recorded and stored in the storage unit 11.

[0070] Also, in the requirement definition information creation step S1, as the input method of the requirement definition information RD via the input unit 14, a method of inputting the requirement definition information RD obtained using a large language model can be adopted. For example, the control unit 12 inputs the documents and voice data recorded during the consultation between the user U and the client C into the large language model, obtains the data output by the large language model, and a method of displaying it as a requirement definition information list RS on the information output unit 13 can be adopted.

[0071] <Design information creation step> In the design information creation step S2, the control unit 12 (design information creation unit 122) causes the information output unit 13 to display a design information input screen UIG. The user U can input design information UI via the input unit 14.

[0072] As shown in FIG. 5, the design information input screen UIG includes a screen selection area UIG1, a design information input area UIG2, and a demo screen display area UIG3.

[0073] In the embodiment, the design information UI is an item I displayed on the screen of the system S desired by the client C. The user U selects the screen to be designed from the screen selection area UIG1. Next, the user U inputs a plurality of items I displayed on the screen of the system S into the design information input area UIG2 via the input unit 14.

[0074] The control unit 12 converts each of the input plurality of items I into program codes such as HTML, CSS, and Javascript. The control unit 12 causes the information output unit 13 to display a demo screen corresponding to the program code in the demo screen display area UIG3. The user U designates, for each item I, form elements, character size, font, and display examples on the screen of the system S via the input unit 14. Further, the user U can input, for each item I, processing design information such as front-end processing, back-end processing, data acquisition / saving destinations, transition destinations, test status, and test results in the system S via the input unit 14.

[0075] <Relationship information creation step> In the relationship information creation step S3, the control unit 12 (relationship information creation unit 123) causes the information output unit 13 to display the entity-related display sheet ERS. The user U can input the relationship information ER into the entity-related display sheet ERS via the input unit 14. Based on the entity-related diagram of the system S, the user U inputs a plurality of tables, columns of the physical database constituting the system S, the relationship between each table or each column, and the program code indicating these, and creates the entity-related display sheet ERS.

[0076] Regarding the relationship information ER in the embodiment, the case where the system S desired by the client C is a business information management system will be described as an example.

[0077] FIG. 7 shows the entity-related display sheet ERS of the business information management system. In the table for managing business partners, as shown in FIG. 7, a table display of "business partner" and column displays such as the ID, company information ID, and business partner code stored in the table are displayed. In the table display of "business negotiation", column displays such as "ID information" including ID, business partner ID, and business negotiation ID, "business negotiation-related information" such as business negotiation date, start time, and end time, and "business negotiation content information" such as customer business negotiation number and progress status are displayed.

[0078] The "Business Partner" table display and the "Business Negotiation" table display are connected to other table displays by relationship display symbols, indicating the relationships. For example, multiple tables connected by relationship display symbols indicate the relationship between a parent table and a child table. The relationship display symbols may include foreign key constraint displays. For example, in a physical database, the columns of the child table may include foreign key constraints used to reference the primary key or unique columns of the parent table and program code indicating the setting of such foreign key constraints. Also, the table display of "Business Partner" can be connected to the table display of "Business Negotiation" by a relationship display symbol. Specifically, the ID of the "Business Partner" table display is connected to the business partner ID of the "Business Negotiation" table display by a relationship display symbol, indicating that they are treated as the same record in the physical database. In addition, in the columns described in each table, if the same term is used, it indicates the same record. For example, the ID used in the "Business Partner" table is the same as the ID used in the "Business Negotiation" table.

[0079] As an example, as shown in FIG. 8, for the relationship information ER, when the user U selects each table displayed on the entity-related display sheet ERS, the name, data type, auto-numbering, relationship between tables (many-to-many relationship), selection of NULL tolerance, size, default value, etc. of the columns of the table, column definitions, and comments related to the column definitions can be input and changed. The data type can be selected from types such as numbers, characters, dates, and times. In this way, the user U inputs each table, each column, and their relationships to the entity-related display sheet ERS via the input unit 14. These pieces of information can be input by the user U as program code. Also, these pieces of information can be stored in the storage unit 11 by the control unit 12 and used as the relationship information ER.

[0080] In addition, the actual situation-related display sheet ERS is stored in the storage unit 11 as relationship information ER by the control unit 12, read from the storage unit 11 as relationship information ER by the control unit 12, and can be converted into various programming languages as relationship information ER by the control unit 12 and output by the information output unit 13. Furthermore, the relationship information ER can be converted into various programming languages such as XML and SQL by the control unit 12 and output. Also, the relationship information ER can be output in various file formats such as CSV by the control unit 12.

[0081] <Configuration of the Prompt> Here, the configuration of the prompt group PRA will be described. The prompt group PRA includes a designation instruction for designating system-related information and an output instruction for causing the large language model server 2 to output program codes for configuring the system S based on the designated system-related information. When the prompt group PRA is issued to the large language model server 2 by the program code acquisition unit 127, the program code acquisition unit 127 is configured to be able to acquire program codes related to the dynamic setting and dynamic data deployment of the system S.

[0082] In this embodiment, the prompt group PRA includes a plurality of prompts. These prompts are the first prompt, the second prompt, the third prompt, and so on. Each prompt constituting the prompt group PRA includes one or more individual instructions PRI and a common instruction PRC.

[0083] The common instruction PRC includes a generation target designation instruction for designating the target to be generated by the large language model server 2, a format designation instruction for designating the data exchange format of the target, a style designation instruction for designating the style of the target, and a reference information designation instruction for designating the reference information for causing the large language model server 2 to generate the target.

[0084] The targets to be generated by the large language model server 2 include, for example, paths indicating directories on local disks or cloud storage in the environment where the system S is implemented, the names of files storing the program code groups for operating the system S, and the program code groups stored in the files.

[0085] The data exchange format is not particularly limited, and examples include JSON, XML, CSV, etc.

[0086] The format specification instruction specifies the display format of the program code group obtained by the program code acquisition unit as a result of the program code generation unit issuing the prompt group PRA to the large language model server 2. The display format includes, for example, a format in which comments explaining the functions of the respective program codes constituting the obtained program code group are attached and the program code group is displayed.

[0087] The reference information specification instruction includes a framework specification instruction for specifying the framework in which the target to be generated by the large language model server 2 is placed and the directory of the framework, and a system-related information specification instruction for specifying system-related information. The system-related information specification instruction may include, for example, the name of the screen constituting the system S, the items displayed on the screen, descriptions related to functions such as search, registration, and deletion to be implemented on the screen, and program codes (screen-related information) corresponding to the items and the descriptions.

[0088] <Configuration of individual instructions> The individual instruction PRI includes a processing program generation instruction for instructing the large language model server 2 to generate program codes for realizing the functions and processes to be implemented in the system S. In this embodiment, the individual instruction PRI includes a view processing generation instruction PRI1, a controller processing generation instruction PRI2, a model processing generation instruction PRI3, a common processing generation instruction PRI4, a front-end processing generation instruction PRI5, a test case generation instruction PRI6, and a demo data generation instruction PRI7.

[0089] <View processing generation instruction> The view processing generation instruction PRI1 includes instructions for creating HTML views such as menus and screens. The front-end processing generation instruction PRI5 includes the front-end processing corresponding to the menu or the screen, the specification of the JavaScript library used to create the front-end processing, and the operation check and input check instructions for the menu or the screen. The view processing generation instruction PRI1 may include a view class generation instruction.

[0090] <Controller processing generation instruction> The controller processing generation instruction PRI2 instructs the generation of the controller processing of the framework specified by the common instruction PRC corresponding to the endpoint URL in the system S and the endpoint URL. The controller processing generation instruction PRI2 includes the implementation of business logic including error handling based on system-related information. The controller processing generation instruction PRI2 may include a controller class generation instruction.

[0091] <Model processing generation instruction> The model processing generation instruction PRI3 includes a migration creation instruction and a model creation instruction. The migration creation instruction includes the specification of the table T and the instruction to create a migration file corresponding to the table T. The model creation instruction includes the specification of the table T and the instructions to create the corresponding framework model, relationship, and scope. The model processing generation instruction PRI3 may include a model class generation instruction.

[0092] <Common processing generation instruction> The common processing generation instruction PRI4 includes an instruction to create the routing of the framework corresponding to the endpoint URL in the system S.

[0093] <Test case generation instruction> The test case generation instruction PRI6 instructs the large language model server 2 to generate test cases corresponding to the controller processing and model processing, which are generated by the controller processing generation instruction PRI2 and the model processing generation instruction PRI3 in the large language model server 2.

[0094] <Demo data generation instruction> The demo data generation instruction PRI7 instructs the large language model server 2 to generate demo data corresponding to the model processing, which is generated by the model processing generation instruction PRI3 in the large language model server 2.

[0095] <Prompt rewriting> In an embodiment, a prompt rewriting step may be provided. In this case, the control unit includes a prompt rewriting unit. As an example, the prompt rewriting unit acquires the group of prompts created by the prompt creation unit 126, and rewrites the common instruction PRC, more specifically, the generation target specification instruction, the format specification instruction, the style specification instruction, and the reference information specification instruction according to the content of the individual instruction PRI for each prompt. The user U may be able to rewrite the group of prompts PRA created by the prompt creation unit 126 via the input unit 14.

[0096] <System-related information acquisition step> In the system-related information acquisition step S4, the control unit 12 (system-related information acquisition unit 124) acquires system-related information. The system-related information includes requirement definition information, design information, and relationship information. In an embodiment, the system-related information can be appropriately converted into a programming language such as HTML for design information and XML for relationship information by the control unit 12 and then acquired. As an example of the system-related information acquisition step S4, the user U selects the name of the system S displayed in the system relationship information specification area. Next, when the button displayed in the program code generation instruction area is pressed, the system-related information acquisition unit 124 acquires the system-related information of the system S.

[0097] <Extraction step> In the extraction step S5, the control unit 12 (extraction unit 125) extracts information necessary for creating the prompt group PRA from the system-related information acquired by the system-related information acquisition unit 124. In the embodiment, the extraction unit 125 extracts the design information UI and the relationship information ER from the system-related information. More specifically, the prompt creation unit 126 extracts screen-related information, process design information, and database design information. As an example, as shown in FIG. 9, when the user U selects the name of the system S displayed in the system-related information specification area DA and presses the button displayed in the program code generation instruction area PB, the system-related information acquisition unit 124 acquires the system-related information of the system S.

[0098] <Prompt creation step> In the prompt creation step S6, the prompt creation unit 126 incorporates the information extracted by the extraction unit 125 into the prompt group PRA. The prompt creation unit 126 stores the prompt group PRA (including prompts and prompt bundles described later) in the storage unit 11. In this embodiment, the prompt creation unit 126 embeds the design information UI and the relationship information ER into the prompt group PRA. More specifically, the prompt creation unit 126 incorporates the screen-related information, process design information, and database design information into the common instruction PRC and a plurality of individual instructions PRI, and combines each individual instruction with the common instruction PRC to create each prompt.

[0099] As an example, a case where one screen constituting the system S includes a plurality of items (here, three items) will be described. The prompt creation unit 126 creates a view process generation instruction PRI1 including an instruction to generate view processing for each item and a view class generation instruction from the screen-related information extracted by the extraction unit 125, combines it with the common instruction PRC, and respectively creates a second prompt bundle including a fifth prompt (including the common instruction PRC and the view class generation instruction), a sixth prompt (the common instruction PRC and the view processing corresponding to item 1), a seventh prompt (the common instruction PRC and the view processing corresponding to item 2), and an eighth prompt (the common instruction PRC and the view processing corresponding to item 3). The number of prompts and prompt bundles created by the prompt creation unit 126 corresponds to the number of items and the number of screens included in the screen, respectively.

[0100] As an example, a case where one screen constituting the system S has search, registration, and deletion functions will be described with reference to FIG. 10. The prompt creation unit 126 creates a controller process generation instruction PRI2 including a search process generation instruction, a registration process generation instruction, a deletion process generation instruction, and a controller class generation instruction corresponding to the one screen from the process design information extracted by the extraction unit 125, combines it with the common instruction PRC, and respectively creates a first prompt bundle including a first prompt (including the common instruction PRC and the controller class generation instruction), a second prompt (the common instruction PRC and the search process generation instruction), a third prompt (the common instruction PRC and the registration process generation instruction), and a fourth prompt (the common instruction PRC and the deletion process generation instruction). When the system S includes a plurality of screens, the prompt creation unit 126 creates a plurality of similar prompts and prompt bundles according to the processes or functions of the plurality of screens included in the system S.

[0101] As an example, the case where the system S includes a plurality of tables T will be described. The prompt creation unit 126 creates, from the database design information extracted by the extraction unit 125, an instruction for generating a table column definition for one table, an instruction for generating a table-related definition, an instruction for generating a table-related definition, an instruction for generating a processing program executed on the database corresponding to the table column definition and the table-related definition, and an instruction for generating a model class, combines them with the common instruction PRC, and creates a third prompt bundle composed of the respective ninth prompt (including the common instruction PRC and the model class generation instruction), tenth prompt (including the common instruction PRC and the table column definition generation instruction), eleventh prompt (including the common instruction PRC and the table-related definition generation instruction), and twelfth prompt (including the common instruction PRC and the instruction for generating a processing program executed on the database corresponding to the table column definition and the table-related definition). The prompt creation unit 126 creates a plurality of similar prompts and prompt bundles for the plurality of tables T included in the system S.

[0102] Then, the prompt creation unit 126 creates a prompt group PRA including the first prompt bundle, the second prompt bundle, and the third prompt bundle. <Program code acquisition step>

[0103] In the program code acquisition step S7, the program code acquisition unit 127 acquires the prompt group PRA created by the prompt creation unit 126 and issues the prompt group PRA to the large language model server 2. Then, the program code acquisition unit 127 incorporates the program group output from the large language model server 2 into an appropriate directory in the specified framework to create a framework-based program group FBP.

[0104] The program code acquisition unit 127 may issue each prompt to the large language model server 2 in batch processing, acquire the program corresponding to each prompt, and combine each program to create a program group. Further, the program code acquisition unit 127 may issue each prompt bundle to the large language model server 2 in batch processing, acquire the program bundle corresponding to each prompt bundle, and combine each program bundle to create a program group. Further, the program code acquisition unit 127 may incorporate the program obtained as a result of issuing each prompt to the large language model server 2 into the framework each time to obtain a framework-based program group FBP. Alternatively, the program code acquisition unit 127 may incorporate the program bundle obtained as a result of issuing the prompt bundle to the large language model server 2 into the framework each time to obtain a framework-based program group FBP.

[0105] As an example, referring to FIG. 10, the program code acquisition step will be described. The program code acquisition unit 127 issues the first prompt bundle to the large language model server 2 and acquires the view processing program. The program code acquisition unit 127 performs the same process for each screen constituting the system S and acquires the view processing program for each screen. The program code acquisition unit 127 also performs the same process for acquiring the controller processing program and the model processing program, and acquires the controller processing program for each screen and the model processing program for the table corresponding to each screen. Then, these programs are combined to generate a framework-based program group that performs processing related to a plurality of screens constituting the system S and the tables corresponding to each screen. For test case generation and demo data generation as well, the program code acquisition unit 127 performs the same process to acquire test cases and demo data.

[0106] The program code acquisition unit 127 stores the framework-based program group FBP in the storage unit 11. Also, the program code acquisition unit 127 causes the acquired framework-based program group FBP to be displayed on the program generation screen PRG via the information output unit 13. The user U can modify the framework-based program group FBP via the input unit 14. <Output step>

[0107] The output unit 128 can output the framework-based program group FBP externally.

[0108] <Check step> The development support system of the present embodiment may include a calibration step of calibrating each program and the above program group acquired by the result program code acquisition unit to which each prompt is issued to the large language model server 2. In this case, the control unit 12 includes a calibration unit. The calibration unit performs refactoring, bug extraction, and security checks on each program or program group acquired from the large language model server 2 by the program code acquisition unit 127.

[0109] The calibration unit incorporates each program or program group for which these calibrations are to be performed into a calibration prompt. The calibration prompt includes refactoring, bug extraction and correction instructions for each incorporated program or program group, and correction instructions in case there are abnormalities in these. The calibration unit issues the calibration prompt to the large language model server 2. The calibration unit acquires the calibrated program and the calibrated program code group from the large language model server 2.

[0110] The program code acquisition unit 127 may acquire the calibrated program and the calibrated program code group from the calibration unit, and place them in the framework to create a framework-based program group. Also, the check step may be the program code acquisition step S7. In this case, the calibration unit may incorporate the framework-based program group created by the program code acquisition into the calibration prompt, issue it to the large language model server 2, and acquire the calibrated framework-based program group.

[0111] 3. Description of the Actions and Effects of the Embodiment As described above, in the embodiment, since the system-related information appropriately represents the system S desired by the client C and is structured before being implemented, the prompt group PRA is created based on at least the design information and the relationship information, and by issuing these to the large language model server 2, the program group necessary for implementing the system S can be appropriately acquired. Also, since the prompt group PRA includes a framework specification, the acquired program group is premised on being arranged in the framework FR, and it becomes possible to appropriately arrange the acquired program group in the specified framework FR and acquire the framework-based program group.

[0112] 4. Specific Examples of Prompts and Program Codes Please refer to FIGS. 11 and 12. FIG. 11 is an example of a prompt in this embodiment, and FIG. 12 is an example of the program code (PHP code) generated by causing the large language model server 2 to use the content of FIG. 11 as a prompt. Note that some content is omitted with "···". Also, the examples described here illustrate the association between prompts.

[0113] The prompt example ex1 in FIG. 11 is an example of a method for associating a plurality of prompts. The prompt example ex1 associates between a common instruction PRC and a view processing generation instruction PRI1 that instructs the generation of a corresponding processing program.

[0114] The development support system of this embodiment may be composed of a requirement definition information creation system s1, a design information creation system s2, a relationship information creation system s3, and a program code acquisition system s4. In this case, the requirement definition information creation system s1 includes a requirement definition information creation unit 121. The design information creation system s2 includes a design information creation unit 122. The relationship information creation system s3 includes a relationship information creation unit 123. The program code acquisition system s4 includes a system-related information acquisition unit 124, an extraction unit 125, a prompt creation unit 126, a program code acquisition unit 127, and an output unit 128.

[0115] The requirement definition information RD, the design information UI, and the relationship information ER may be generated by the program code acquisition unit 127 issuing predetermined prompts for each piece of information and obtaining them from the large language model server 2.

Explanation of symbols

[0116] 1 Information processing device, 2 Large language model server, 6 Communication network, 10 Communication unit, 11 Storage unit, 12 Control unit, 13 Information output unit, 14 Input unit, 15 Communication bus, 100 Development support system, 121 Requirement definition information creation unit, 122 Design information creation unit, 123 Relationship information creation unit, 124 System-related information acquisition unit, 125 Extraction unit, 126 Prompt creation unit, 127 Program code acquisition unit, 128 Output unit, DA System-related information specification area, DDA Directory display area, ERS Entity-related display sheet, FBP Framework-based program group, PB Program code generation instruction area, PCA Program code display area, PRC Common instruction, PRI1 View processing generation instruction, PRG Program generation screen, RS Requirement definition information list, UIG Design information input screen, UIG1 Screen selection area, UIG2 Design information input area, UIG3 Demo screen display area

Claims

1. A method for supporting development of a system desired by a client, comprising the steps of: The development support method includes the steps of: A system development support method comprising: a prompt creation step of creating a group of prompts that output program code for operating the system, based on at least design information that defines a screen for operating a database to be implemented in the system and relationship information that indicates the relationships between a plurality of tables in the database.

2. 2. The system development support method according to claim 1, further comprising a program code acquisition step of issuing the group of prompts to a large-scale language model server, and arranging a program output from the large-scale language model server in a framework to acquire a group of framework-based programs.

3. an extraction step of extracting the design information and the relationship information from system-related information required to implement the system; 2. The system development support method according to claim 1, wherein said prompt creating step creates a group of prompts for outputting program code for operating said system based on said design information and said relationship information.

4. In the extraction step, requirements definition information that represents an overview and an overall structure of a system desired by a client is further obtained from the system-related information, 4. The system development support method according to claim 3, wherein said prompt creating step further comprises creating a group of prompts for outputting program code for operating said system based on said requirements definition information.

5. The system-related information includes requirements definition information including an overview and an overall structure of the system, 4. The system development support method according to claim 3, further comprising a requirement definition information creating step of creating said requirement definition information.

6. 4. The system development support method according to claim 3, further comprising a design information creating step of creating said design information.

7. 4. The system development support method according to claim 3, further comprising a relationship information creating step of creating the relationship information.

8. A program for causing a computer to execute the development support method according to claim 1.

9. A development support system that executes each step of the system development support method according to claim 1.

Citation Information

Patent Citations

  • Method and apparatus for forming searching command

    JP1989123320A

  • Apparatus, method and program for creating technical documentation for software

    JP7503700B1

  • Generating reusable testing procedures

    US20170270034A1

  • Device for heat treating workpiece

    JP1982002824A

  • Information processing method, program, and information processing system

    JP7575148B1

Cited By

  • Data interface and service development method for nuclear power industry heterogeneous mechanism model

    CN120597399A