System development support method, program, and development support system
The system development support method leverages a large language model server to generate program code within a framework, addressing inefficiencies in existing methods by automating system development and improving efficiency.
Patent Information
- Application Number
- JP2024233175
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-12-27
- Publication Date
- 2026-07-09
- Estimated Expiration
- 2044-12-27
AI Technical Summary
Existing system development methods, such as those described in Patent Documents 1 and 2, are inefficient in generating comprehensive program code, requiring manual effort for system overview creation and lacking in holistic program generation efficiency.
A system development support method utilizing a large language model server to generate program code based on structured prompts, including instructions for view, controller, model, and class processing, within a framework, to automate system development.
Facilitates efficient construction of systems like databases by automating the generation of program code, reducing manual effort and enhancing overall development efficiency.
Smart Images

Figure 2026116039000001_ABST
Abstract
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. In Patent Document 2, a technique is disclosed in which a plurality of screen configuration components are associated in the generation of a design document to generate a design document including error and event processing.
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 the 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 etc.
Brief Description of the Drawings
[0007] [Figure 1] This is a diagram showing the configuration of the development support system 100. [Figure 2] This is a hardware configuration diagram of the information processing device 1. [Figure 3] This is a functional block diagram of the control unit 12. [Figure 4] This is a flowchart illustrating the information processing method of the embodiment. [Figure 5] This is an example of a requirements definition information creation system for an embodiment. [Figure 6] This is an example of a system for creating design information for an embodiment. [Figure 7] Figure 7 is an example of a status-related display sheet shown in the relationship information creation system of the embodiment. [Figure 8] This is an example of a status-related display sheet when column display is selected in the status-related display sheet. [Figure 9] This is an example of a program code acquisition system according to an embodiment. [Figure 10] This diagram shows an overview of the system-related information acquisition step, the extraction step, and the program code acquisition step. [Figure 11] This figure shows an example of a prompt. [Figure 12] Figure 11 shows an example of program code (PHP code) that is generated by the prompt. [Modes for carrying out the invention]
[0008] Embodiments of the present invention will be described below with reference to the drawings. The various features shown in the embodiments below can be combined with each other.
[0009] Incidentally, the program for implementing the software appearing in this embodiment may be provided as a non-transitory computer-readable medium, or it may be provided so that it can be downloaded from an external server, or it 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] Furthermore, in this embodiment, "part" may include, for example, hardware resources implemented by circuits in a broad sense, and the information processing of software that can be specifically realized by these hardware resources. In addition, various types of information are handled in this embodiment, and these types of information can be represented, for example, by the physical values of signal values representing voltage and current, the high or low values of signal values as a set of binary bits composed of 0s or 1s, or by quantum superposition (so-called qubits), and communication and calculations can be performed on circuits in a broad sense.
[0011] Furthermore, a circuit in a broad sense is a circuit realized by combining at least a suitable combination of circuits, circuits, processors, and memory. In other words, it includes application-specific integrated circuits (ASICs), programmable logic devices (for example, simple programmable logic devices (SPLDs), complex programmable logic devices (CPLDs), and field programmable gate arrays (FPGAs)), etc.
[0012] Embodiments of the present invention will be described in detail below with reference to the drawings.
[0013] 1. Configuration of Information Processing System As shown in FIG. 1, as an example, the development support system 100 includes 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 in 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, form, 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 conforming 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-scale language model server 2 is generally referred to as a "prompt." In this embodiment, the "prompt" is input data for issuing arbitrary instructions to the large-scale language model server 2. A prompt can take any form, such as text or diagrams, and can contain any instructions, commands, or questions. When a prompt is expressed as text, various languages can be used, and any language readable by the large-scale language model server 2 can be used. For example, in this embodiment, the language used to describe the prompt can be any natural language, any programming language, any database language, any markup language or markdown language, or any stylesheet language (such as CSS).
[0018] The specific configuration of the large-scale language model server 2 is not particularly limited, but any large-scale language model, known as generative AI, can be used. For example, ChatGPT from OpenAI could be used as a large-scale language model. The large-scale language model server 2 may employ only one type of large-scale language model (for example, only ChatGPT), but is not limited to this, and may employ a combination of multiple large-scale language models.
[0019] In this embodiment, the large-scale language model server 2 may adopt a configuration that integrates with a database, such as RAG (Retrieval Augmented Generation).
[0020] 1. Hardware Configuration As shown in Figure 2, the information processing device 1, for example, 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 within the information processing device 1 via a communication bus 15.
[0021] The communication unit 10 may employ wired communication methods such as USB, IEEE1394, Thunderbolt®, or wired LAN network communication, as an example. Alternatively, the communication unit 10 may be configured to connect to the communication network 6 via wireless communication methods such as wireless LAN network communication, 3G / LTE / 5G mobile communication, or Bluetooth® communication. Furthermore, the communication unit 10 may utilize both wired and wireless communication methods as described above.
[0022] The storage unit 11 stores various values, such as various programs, constants, variables, and settings of the information processing device 1 executed by the control unit 12, as an example. Any storage device can be used for the storage unit 11. For example, the storage unit 11 can be a storage device such as a solid-state drive (SSD) or a random access memory (RAM) that stores temporarily necessary information (arguments, arrays, etc.) related to program calculations. In addition, the information processing device 1 may use an external storage unit (for example, an external storage medium, cloud storage, etc.) in addition to the storage unit 11. In this embodiment, as an example, the storage unit 11 is configured to store system-related information, requirements 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 perform processing and control related to the information processing of the information processing device 1. The control unit 12 can be configured as, for example, a central processing unit (CPU), and in this embodiment, the control unit 12 is an example of a processor capable of executing programs related to each step of the flowchart described later. The control unit 12 realizes various functions related to the information processing device 1 by, for example, reading programs stored in the storage unit 11. Furthermore, the information processing of the software in the information processing device 1 is realized by, for example, the processing of various programs stored in the storage unit 11 by the control unit 12 as hardware.
[0024] The information output unit 13 is, for example, the display unit of the information processing device 1. The information output unit 13 may be included in the housing of the information processing device 1 or it may be external. The information output unit 13 displays a graphical user interface (GUI) screen that can be operated by user U. The information output unit 13 may employ display devices such as a CRT display, liquid crystal display, organic EL display, plasma display, or e-paper display, as well as display devices such as a lit-up light or projector. It is optional whether or not the information processing device 1 includes the information output unit 13. For example, the output of the information processing device 1 may be displayed on a display unit located in a separate location independent of where the information processing device 1 is installed. The information output unit 13 may also have a device that outputs audio.
[0025] The input unit 14 is configured, for example, to receive operation inputs to the information processing device 1 made by user U. The input unit 14 may be included in the housing of the information processing device 1 or it may be external. The input unit 14 can employ at least one of the following: a touch panel, switch buttons, a mouse, and a keyboard. It is optional whether or not the information processing device 1 includes an input unit 14. For example, user U's operation input may be received via the input unit of another information processing terminal located remotely, independently of the information processing device 1, and the information processing device 1 may receive this operation input via a network.
[0026] 1.2. Functional Block Configuration of Information Processing Device Referring to Figure 3, the functional configuration of the information processing device 1 according to this 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, and each functional unit included in the control unit 12 is executed.
[0027] The control unit 12 of the information processing device 1 includes, as an example, a requirements definition information creation unit 121, a design information creation unit 122, a relational 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-scale language model server 2.
[0028] The above-mentioned functional units (requirements definition information creation unit 121 to output unit 128) may be implemented by software or by hardware. When implemented by software, various functions can be realized by the CPU executing a computer program. The program may be stored on a non-temporary recording medium that can be read by the computer, provided for download from an external server, or implemented by so-called cloud computing, which reads a program stored in an external memory unit to realize the function. When implemented by hardware, it can be implemented by various circuits such as ASICs, FPGAs, or DRPs. In the embodiment, various information and concepts encompassing it are handled, which are represented by high or low signal values or qubits as a set of binary bits composed of 0s or 1s, and communication and calculations can be performed by the above-mentioned software or hardware configuration. The software may be a general-purpose OS or a dedicated OS.
[0029] 1.3. Processing performed by an information processing device (information processing method) In Figure 3, each functional unit of the control unit 12 is configured to execute each step of the flowchart in Figure 4. The program according to the embodiment can cause the computer (information processing device 1) to execute the information processing method of the embodiment by executing each step (information processing method) in Figure 4.
[0030] The requirements definition information creation unit 121 is configured to execute the requirements definition information creation step S1 (see Figure 5). The design information creation unit 122 is configured to execute the design information creation step S2 (see Figure 6). The relationship information creation unit 123 is configured to execute the relationship information creation step S3 (see Figures 7 and 8). The system-related information acquisition unit 124 is configured to execute the system-related information acquisition step S4. The extraction unit 125 is configured to execute the extraction step S5. The prompt creation unit 126 is configured to execute the prompt creation step S6. The program code acquisition unit 127 is configured to execute the program code acquisition step S7 (see Figure 7). The output unit 128 is configured to execute the output step S8. The specific details of each step will be described later. 2. Description of the operation of the embodiment 2.1. Overview of the Information Processing Method of the Embodiment The embodiment includes several features described below.
[0031] One of its features is that it generates a set of prompts that output program code for operating the system, based on system-related information necessary for implementing the system.
[0032] Another feature is that the prompts issued to the large-scale language model server 2 include instructions to generate a view processing program that performs view processing corresponding to each item, based on design information that includes multiple items that make up the screen.
[0033] Another feature is that the prompt issued to the large-scale language model server 2 includes instructions to generate a controller processing program that executes controller processing corresponding to each item, based on processing design information such as front-end processing and back-end processing of the screens that constitute system S. These instructions may also include instructions to refer to relevant information in order to generate the controller processing program.
[0034] Another feature is that the prompts issued to the large-scale language model server 2 include instructions to generate a model processing program that executes model processing based on the database design information that constitutes system S.
[0035] Another feature is that the prompt issued to the large-scale language model server 2 includes instructions to generate a class processing program that executes the process of generating a class corresponding to the screen in question, based on relational information that includes information from multiple tables that make up the database.
[0036] Another feature is that it issues prompts to the large-scale language model server 2, including screen design instructions and relational information design instructions, and retrieves view processing programs, controller processing programs, model processing programs, and classes.
[0037] Another feature is that view processing programs, controller processing programs, and model processing programs are placed within the framework.
[0038] Furthermore, in this embodiment, as an example, a set of prompts to be output to the large-scale language model server 2 is managed for each process executed by system S. In this embodiment, a set of prompts consisting of 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 is issued to the large-scale language model server 2 in an appropriate order. This enables the large-scale language model server 2 to generate arbitrary data (for example, a set of framework program code).
[0039] 2.2. Requirements Definition Information The requirements definition information is information that shows the outline and overall structure of the system S desired by client C. The requirements definition information for the embodiment is described below. Figure 5 is an example of requirements definition information RD representing the system configuration desired by client C. This requirements definition information includes the system overview RD1 desired by client C, a work breakdown diagram RD2, a configuration diagram RD3, a list of system functions RD4 desired by user U, an architecture RD5, non-functional requirements RD6, migration requirements RD7, acceptance and maintenance requirements RD8, a glossary RD9, and code definitions RD10. The requirements definition information creation unit 121 displays this requirements definition information RD on the information output unit 13.
[0040] In this embodiment, the requirements definition information RD can be created by the requirements definition information creation system s1. In the requirements definition information creation system s1, each element definition information, described later, is input via the input unit 14 and displayed on the user U's terminal by the information output unit 13. On the user U's terminal, as shown in Figure 5, each requirement definition information is listed, and the user U can select one of them to display the respective requirement definition information.
[0041] System Overview RD1 includes design information related to the entire system, such as the system environment and specifications.
[0042] The work breakdown diagram RD2 breaks down the tasks required for user U to create the system S desired by client C, and visualizes the entire system development project.
[0043] Configuration diagram RD3 defines the functional requirements of the system desired by client C.
[0044] The feature list RD4 includes the features that the system desired by client C possesses.
[0045] Architecture RD5 describes the configuration method, environment, specifications, etc., of the system S desired by client C. For example, it may include information on servers, networks, security, backups, applications, OS information of devices used by the client such as PCs, smartphones, and tablets, hardware such as printers, and external services that interact with the system S desired by client C.
[0046] Non-functional requirement RD6 includes all requirements other than the functionality that client C desires in system S. Non-functional requirement RD6 includes, for example, concurrent processing capacity, batch capacity, database capacity, logs, and field work.
[0047] Migration requirement RD7 includes the migration plan, such as the start date and completion date of the migration when migrating from client C's old system to system S, as well as the number of data items to be migrated according to the migration plan.
[0048] Acceptance and maintenance requirements RD8 include deliverables and completion requirements generated during the project phases of system development, as well as the phases, content, and costs incurred in each phase of maintenance and operation of system S as desired by client C.
[0049] Glossary RD9 includes terms commonly used in meetings with Client C and in the industry to which Client C belongs, along with their pronunciations and explanations of their meanings.
[0050] Code definition RD10 contains code numbers corresponding to documents, terminology, etc., used in system development projects. For example, code definition RD10 includes quotation numbers.
[0051] 2.3. About design information The design information UI contains information for designing the screens displayed on the terminal used by client C in the system S desired by client C. The design information UI defines screens for operating system S, particularly the database.
[0052] The UI design information for the embodiment is described below. The design information includes screen-related information. The screen design information includes, for example, items that are displayed on the screen of the client C terminal in order to realize the functions provided by 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, search, register and delete function buttons, and for each item, display formats such as text display, text input, radio buttons, tab display and select box. The design information includes processing design information for realizing the functions that system S possesses. This processing design information includes, for example, front-end processing, back-end processing, data acquisition and storage locations, transition destinations, authorization input checks, database integration corresponding to each function button, business logic, and corresponding program code.
[0053] In one embodiment, the design information UI may be created by the design information creation system s2. When each item is input via the input unit 14, the design information creation system s2 displays one or more demo screens containing each item on the user U's terminal via the information output unit 13. 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 the items into a programming language such as HTML to create a demo screen containing each item, and controls the information output unit 13 to display the created demo screen in the demo screen display area. In this way, it becomes easy for client C to check the desired screen of system S.
[0054] 2.4. Related Information Relationship information ER is a set of information that designs a structure for effectively displaying and making usable information in systems, websites, and applications, and includes information that shows the relationships between multiple tables T that make up system S.
[0055] A relationship diagram primarily consists of elements such as entities (representing data sets that make up a database as rectangles), relationships (connecting data with lines to show their interrelationships), attributes (representing the attributes of the data), identity fire, and cardinality (representing the numerical constraints between entities in relationships).
[0056] This section explains the relationship between the actual relationship diagram representing System S and the physical database that constitutes System S. An entity may correspond to a table T in the database that constitutes System S. An attribute may correspond to a column CL. An identity fire may correspond to a primary key. A relation may correspond to a foreign key, relational table, one-to-many relationship, or many-to-many relationship in the database that constitutes System S. In the physical database that constitutes System S, there may be multiple tables T, and each table T may contain multiple columns CL.
[0057] The relational information ER in this embodiment will be described. The relational information ER can be created by the relational information creation system s3. The control unit 12 causes the information output unit 13 to display the multiple tables T, columns CL (table column definitions), and relationships between each table or each column (table relationship definitions) that the system S database has, as well as the processes executed on the database and the corresponding program code, in a form equivalent to an actual relationship diagram (actual relationship display sheet ERS). The relational information ER includes the actual relationship display sheet ERS.
[0058] The actual-information display sheet ERS includes a table display TD, a column display CLD, and a relationship display RLD. The control unit 12 displays the structure of the physical database that can be implemented in system S on the actual-information display sheet ERS. The actual-information display sheet ERS is structured with multiple table display TDs, and shows the table display TD, the column display CLD, and the relationship display RLD (database design information) between each table T or column CL. When user U selects the table display TD, column display CLD, and relationship display RLD on the actual relationship display sheet ERS, the data and program code corresponding to each table, column, and the relationships between each table or column are displayed in a way that allows for viewing, input, and saving.
[0059] System-related information includes all information necessary to implement system S, and includes requirements definition information RD, design information UI, and relationship information ER.
[0060] 2.5. About the Framework Framework FR is a set of programs for implementing common processes and functions in various systems such as core systems, business systems, and management systems. In this invention, there are no particular limitations as long as the framework can be used in the above systems, but it may be MVC, MVP, MVVM, etc.
[0061] This embodiment describes the case where the MVC model is used as the framework FR. As an example, Laravel consists of multiple directories. These include app, which contains the main application logic; routes, which contains programs that manage routing settings and map URLs to processing content; resource, which manages frontend HTML templates, CSS, and JavaScript; database, which manages database migration scripts and seed data; config, which contains application settings such as database connections, cache, and sessions; public, which stores static files for publishing images, CSS, and JavaScript; composer.json, which stores configuration files for managing Laravel and other PHP libraries; and artisan, which is Laravel's command-line tool.
[0062] Framework FR is customized as needed and implemented in system S to realize system S with the functions desired by client C. For example, framework FR does not implement business logic such as sales management including sales calculation and report creation, detailed processing of specific tasks, customized UI / UX and API integration, or special functions such as real-time processing, as requested by client C. Therefore, it is necessary to implement UI / UX and functions that are tailored to the business practices and business model of the industry to which client C belongs.
[0063] <Framework-based program group> The framework-based program group FBP consists of programs in which all or some of the functions desired by client C are implemented in the framework FR. User U may modify the framework-based program group FBP as appropriate to implement the system S desired by client C. In this embodiment, the framework-based program group FBP is acquired by the program code acquisition system s4.
[0064] As shown in Figure 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 group of prompts PRA based on the specified system-related information and instructing the large-scale language model server 2 to generate program code, a directory display area DDA for displaying the directories of the framework-based program group FBP, and a program code display area PCA for displaying the program code stored in a directory by selecting a directory displayed in the directory display area DDA.
[0065] The program code acquisition unit 127, via the information output unit 13, displays the directory of the framework-based program group FBP in the directory display area and displays the program code stored in that directory in the program code display area PCA.
[0066] In this embodiment, a method for supporting the development of a system S equipped with these customized functions and UI / UX requested by client C is disclosed.
[0067] 2.6. Explanation of System Development Support Methods and Specific Processing As shown in Figure 4, the development support system 100 of this embodiment includes, as an example, a requirements definition information creation step S1 (see Figure 4), a design information creation step S2 (see Figure 5), a related information creation step S3 (see Figures 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 Figure 7), and an output step S8. The details of each step will be described below.
[0068] <Steps for creating requirements definition information> In the requirements definition information creation step S1, the control unit 12 (requirements definition information creation unit 121) displays the requirements definition information list RS on the information output unit 13. User U can input requirements definition information RD via the input unit 14. The requirements definition information list RS includes input areas such as the system overview RD1 desired by client C, the work breakdown structure diagram (WBS) RD2, the configuration diagram RD3, the system function list RD4 desired by user U, the architecture RD5, non-functional requirements RD6, migration requirements RD7, acceptance and maintenance requirements RD8, glossary RD9, and code definition RD10.
[0069] The requirements definition information RD is not limited to the above, and user U can add and delete it via the input unit 14. Examples include the business flow / hearing items RD11, in which user U inputs the information gathered when interviewing client C about their business flow, and infrastructure information RD12, which records client C's internal infrastructure. This requirements definition information RD can be recorded and stored in the storage unit 11.
[0070] Furthermore, in the requirements definition information creation step S1, the method for inputting the requirements definition information RD via the input unit 14 may be a method of inputting the requirements definition information RD obtained using a large-scale language model. For example, the control unit 12 may input document and audio data recorded during a meeting between user U and client C into a large-scale language model, acquire the data output by the large-scale language model, and display it as a requirements definition information list RS in the information output unit 13.
[0071] <Design Information Creation Steps> In the design information creation step S2, the control unit 12 (design information creation unit 122) displays the design information input screen UIG on the information output unit 13. User U can input the design information UI via the input unit 14.
[0072] As shown in Figure 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 this embodiment, the design information UI is an item I displayed on the screen of the system S desired by client C. User U selects the screen to be designed from the screen selection area UIG1. Next, user U inputs multiple items I displayed on the screen of system S into the design information input area UIG2 via the input unit 14.
[0074] The control unit 12 converts each of the multiple input items I into program code such as HTML, CSS, and Javascript. The control unit 12 then causes the information output unit 13 to display a demo screen corresponding to the program code in the demo screen display area UIG3. For each item I, the user U specifies the form elements, font size, font, and display example on the system S screen via the input unit 14. Furthermore, for each item I, the user U can input processing design information such as front-end processing, back-end processing, data acquisition / storage location, transition destination, test status, and test results in the system S via the input unit 14.
[0075] <Steps for creating related information> In the relationship information creation step S3, the control unit 12 (relationship information creation unit 123) displays the actual relationship display sheet ERS on the information output unit 13. User U can input relationship information ER into the actual relationship display sheet ERS via the input unit 14. Based on the actual relationship diagram of system S, user U inputs multiple tables, columns, and relationships between each table or each column of the physical database constituting system S, as well as program code that shows these relationships, to create the actual relationship display sheet ERS.
[0076] Regarding the relational information ER in the embodiment, we will explain using the example of a case where the system S desired by client C is a sales information management system.
[0077] Figure 7 shows the ERS (Explanatory Section) display sheet for the sales information management system. The table for managing business partners displays a table name "Business Partner" and columns such as ID, company information ID, and business partner code, as shown in Figure 7. The table name "Deal" displays "ID information" such as ID, business partner ID, and deal ID, as well as columns such as deal-related information such as deal date, start time, and end time, and "deal content information" such as customer deal number and progress status.
[0078] The "Customers" table and "Deals" table are then connected to other table displays using relationship symbols, indicating their relationships. For example, multiple tables connected by relationship symbols show the relationship between a parent table and its child tables. Relationship symbols may include foreign key constraint indicators. For example, in a physical database, they may include foreign key constraints used by child table columns to reference primary key or unique columns in the parent table, as well as program code that instructs the setting of such foreign key constraints. Furthermore, the "Customer" table display can be linked to the "Deal" table display via a relationship indicator. Specifically, the ID in the "Customer" table display is linked to the Customer ID in the "Deal" table display via a relationship indicator, indicating that they are treated as the same record in the physical database. Note that if the same terminology is used in the same column in each table, it will refer to the same record. For example, the ID used in the "Customer" table is the same as the ID used in the "Deal" table.
[0079] As an example, as shown in Figure 8, the relational information ER is configured so that when user U selects each table displayed on the actual relationship display sheet ERS, the column definitions such as the column name, data type, auto-numbering, relationships between tables (many-to-many relationships), NULL tolerance, size, and default value, as well as comments related to the column definitions, can be entered and modified. Data types can be selected from types such as numbers, characters, dates, and times. In this way, user U inputs each table, each column, and their relationships into the actual relationship display sheet ERS via the input unit 14. This information can be entered by user U as program code. This information can also be stored in the storage unit 11 by the control unit 12 and used as relational information ER.
[0080] Furthermore, the actual relationship display sheet ERS can be 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, converted into various programming languages as relationship information ER by the control unit 12, and output by the information output unit 13. In addition, the relationship information ER can be converted into various programming languages such as XML and SQL and output by the control unit 12. Furthermore, the relationship information ER can be output in various file formats such as CSV by the control unit 12.
[0081] <Prompt configuration> The configuration of the prompt group PRA is described below. The prompt group PRA includes a specification instruction that specifies system-related information and an output instruction that causes the large-scale language model server 2 to output program code that constitutes system S based on the specified system-related information. When the prompt group PRA is issued to the large-scale language model server 2 by the program code acquisition unit 127, the program code acquisition unit 127 is configured to acquire program code related to the dynamic setting and dynamic data expansion of system S.
[0082] In this embodiment, the prompt group PRA includes multiple prompts. These prompts are designated as the first prompt, the second prompt, the third prompt, and so on. Each prompt constituting the prompt group PRA comprises one or more individual indicators PRI and a common indicator PRC.
[0083] The common instruction PRC includes a generation target specification instruction that specifies the target to be generated by the large-scale language model server 2, a format specification instruction that specifies the data exchange format of the target, a format specification instruction that specifies the form of the target, and a reference information specification instruction that specifies the reference information for causing the large-scale language model server 2 to generate the target.
[0084] The objects to be generated by the large-scale language model server 2 include, for example, paths indicating directories on local disks or cloud storage in the environment where system S is implemented, the names of files containing the program code sets necessary to run system S, and the program code sets contained in those files.
[0085] The data exchange format is not particularly limited, but examples include JSON, XML, and CSV.
[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 a group of prompts PRA to the large-scale language model server 2. Examples of display formats include a format that displays the acquired program code group with comments explaining the function of each program code component.
[0087] The reference information specification instruction includes a framework specification instruction that specifies the framework and directory of the framework in which the target to be generated by the large-scale language model server 2 is located, and a system-related information specification instruction that specifies system-related information. The system-related information specification instruction may include, for example, the name of the screen that constitutes system S, the items to be displayed on the screen, a description related to the functions to be implemented on the screen such as search, register, and delete, and the program code (screen-related information) corresponding to the items and the description.
[0088] <Structure of Individual Instructions> The individual instruction PRI includes a processing program generation instruction that instructs the large-scale language model server 2 to generate program code that implements the functions and processes that the system S should implement. In this embodiment, the individual instruction PRI includes the view processing generation instruction PRI1, the controller processing generation instruction PRI2, the model processing generation instruction PRI3, the common processing generation instruction PRI4, the front-end processing generation instruction PRI5, the test case generation instruction PRI6, and the demo data generation instruction PRI7.
[0089] <View processing generation instruction> View processing generation instruction PRI1 includes instructions for creating HTML views such as menus and screens. Frontend processing generation instruction PRI5 includes instructions for the frontend processing corresponding to the menu or screen, the specification of the JavaScript library used to create the frontend processing, and instructions for checking the operation and input of the menu or screen. View processing generation instruction PRI1 may include instructions for creating a view class.
[0090] <Controller processing generation instruction> The controller processing generation instruction PRI2 instructs the system S to generate an endpoint URL and the controller processing of the framework specified by the common instruction PRC that corresponds to that 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 an instruction to generate a controller class.
[0091] <Model processing generation instructions> Model processing generation instruction PRI3 includes migration creation instructions and model creation instructions. Migration creation instructions include specifying table T and instructions for creating migration files corresponding to table T. Model creation instructions include specifying table T and instructions for creating the corresponding framework model, relations, and scopes. Model processing generation instruction PRI3 may include model class generation instructions.
[0092] <Common processing generation instruction> The common processing generation instruction PRI4 includes instructions for creating framework routing corresponding to endpoint URLs in system S.
[0093] <Test case generation instructions> The test case generation instruction PRI6 instructs the large-scale language model server 2 to generate test cases corresponding to the controller processing and model processing generated by the controller processing generation instruction PRI2 and the model processing generation instruction PRI3.
[0094] <Instructions for generating demo data> The demo data generation instruction PRI7 instructs the large-scale language model server 2 to generate demo data corresponding to the model processing, which was generated by the large-scale language model server 2 in response to the model processing generation instruction PRI3.
[0095] <Rewriting the prompt> In some embodiments, a prompt rewriting step may be included. In this case, the control unit includes a prompt rewriting unit. As an example, the prompt rewriting unit acquires a group of prompts created by the prompt creation unit 126 and rewrites the common instruction PRC, more specifically the generation target specification instruction, format specification instruction, style specification instruction, and reference information specification instruction for each prompt according to the content of the individual instruction PRI. 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] <Steps to obtain system-related information> 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 requirements definition information, design information, and related information. In this embodiment, the system-related information may be acquired by the control unit 12 by appropriately converting the design information into a programming language such as HTML and the related information into a programming language such as XML. As an example of the system-related information acquisition step S4, user U selects the name of system S displayed in the system-related information specification area. Next, when the user presses the button displayed in the program code generation instruction area, the system-related information acquisition unit 124 acquires system-related information for system S.
[0097] <Extraction Step> In extraction step S5, the control unit 12 (extraction unit 125) extracts the information necessary to create the prompt group PRA from the system-related information acquired by the system-related information acquisition unit 124. In this embodiment, the extraction unit 125 extracts design information UI and relationship information ER from the system-related information. More specifically, the prompt creation unit 126 extracts screen-related information, processing design information, and database design information. As an example, as shown in Figure 9, user U selects the name of system S displayed in the system-related information specification area DA and presses a button displayed in the program code generation instruction area PB, at which point the system-related information acquisition unit 124 acquires system-related information for system S.
[0098] <Prompt creation steps> In 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 related information ER into the prompt group PRA. More specifically, the prompt creation unit 126 incorporates screen-related information, processing design information, and database design information into a common instruction PRC and multiple individual instructions PRI, and then combines each individual instruction with the common instruction PRC to create each prompt.
[0099] As an example, let's describe the case where a screen constituting system S contains multiple items (in this case, three items). The prompt creation unit 126 creates a view processing generation instruction PRI1 from the screen-related information extracted by the extraction unit 125, which includes instructions to generate view processing for each item corresponding to the screen and a view class generation instruction. This instruction is then combined with the common instruction PRC to create a second prompt bundle containing the fifth prompt (including the common instruction PRC and the view class generation instruction), the sixth prompt (common instruction PRC and the view processing corresponding to item 1), the seventh prompt (common instruction PRC and the view processing corresponding to item 2), and the eighth prompt (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 on the screen and the number of screens, respectively.
[0100] As an example, the case in which one screen constituting system S has search, registration, and deletion functions will be explained with reference to Figure 10. The prompt creation unit 126 creates a controller processing generation instruction PRI2, which includes a search processing generation instruction, a registration processing generation instruction, a deletion processing generation instruction, and a controller class generation instruction corresponding to the screen, from the processing design information extracted by the extraction unit 125, and combines it with a common instruction PRC to create a first prompt bundle that includes a first prompt (including the common instruction PRC and the controller class generation instruction), a second prompt (including the common instruction PRC and the search processing generation instruction), a third prompt (including the common instruction PRC and the registration processing generation instruction), and a fourth prompt (including the common instruction PRC and the deletion processing generation instruction), respectively. If system S has multiple screens, the prompt creation unit 126 creates multiple similar prompts and prompt bundles according to the processing or functions of the multiple screens that system S has.
[0101] As an example, let's consider the case where system S has multiple tables T. The prompt creation unit 126 creates instructions for generating table column definitions, table relationship definitions, table relationship definitions, processing programs to be executed on the database corresponding to the table column definitions and table relationship definitions, and model class creation instructions for one table from the database design information extracted by the extraction unit 125. These instructions are then combined with a common instruction PRC to create a third prompt bundle consisting of a ninth prompt (including the common instruction PRC and the model class creation instruction), a tenth prompt (including the common instruction PRC and the table column definition generation instruction), an eleventh prompt (including the common instruction PRC and the table relationship definition generation instruction), and a twelfth prompt (including the common instruction PRC and the instructions for generating processing programs to be executed on the database corresponding to the table column definitions and table relationship definitions). The prompt creation unit 126 creates multiple similar prompts and prompt bundles for the multiple tables T that system S has.
[0102] Then, the prompt creation unit 126 creates a prompt group PRA that includes the first prompt bundle, the second prompt bundle, and the third prompt bundle. <Steps to obtain program code>
[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-scale language model server 2. The program code acquisition unit 127 then incorporates the program group output from the large-scale language model server 2 into the appropriate directory within the specified framework and creates the framework base program group FBP.
[0104] The program code acquisition unit 127 may issue each prompt to the large-scale language model server 2 in batch processing, acquire the program corresponding to each prompt, and combine the programs to create a program group. Alternatively, the program code acquisition unit 127 may issue each bundle of prompts to the large-scale language model server 2 in batch processing, acquire the program bundle corresponding to each bundle of prompts, and combine the program bundles to create a program group. Alternatively, the program code acquisition unit 127 may incorporate the programs acquired as a result of issuing each prompt to the large-scale language model server 2 in batch processing into the framework each time to acquire the framework-based program group FBP.
[0105] As an example, the program code acquisition step will be explained with reference to Figure 10. The program code acquisition unit 127 issues a first prompt bundle to the large-scale language model server 2 and acquires the view processing program. The program code acquisition unit 127 performs the same process for each screen that makes up 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, acquiring the controller processing program for each screen and the model processing program for the table corresponding to each screen. These programs are then combined to generate a set of framework-based programs that perform processing related to the multiple screens that make up system S and the tables corresponding to each screen. The program code acquisition unit 127 performs similar processing for test case generation and demo data generation 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. The program code acquisition unit 127 also displays the acquired framework-based program group FBP on the program generation screen PRG via the information output unit 13. 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 to an external source.
[0108] <Check Steps> The development support system of this embodiment may include a calibration step for calibrating each program or program group acquired by the program code acquisition unit as a result of each prompt being issued to the large-scale 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-scale language model server 2 by the program code acquisition unit 127.
[0109] The proofreading unit incorporates each program or group of programs that perform these proofreading tasks into the proofreading prompt. The proofreading prompt includes instructions for refactoring, bug extraction and correction, and correction instructions for any abnormalities found in each incorporated program or group of programs. The proofreading unit issues the proofreading prompt to the large-scale language model server 2. The proofreading unit retrieves the proofread programs and the proofread program code groups from the large-scale language model server 2.
[0110] The program code acquisition unit 127 may acquire the calibrated program and the calibrated program code set from the calibration unit and place them in the framework to create a framework-based program set. Alternatively, 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 and issue it to the large-scale language model server 2 to acquire the calibration-post-calibration framework-based program group.
[0111] 3. Description of the operation and effects of the embodiment As described above, in this embodiment, the system-related information appropriately represents the system S desired by client C and is structured before implementation. Therefore, a group of prompts PRA is created based on at least the design information and relationship information, and these are issued to the large-scale language model server 2, thereby enabling the appropriate acquisition of the program set necessary for the implementation of system S. Furthermore, because the group of prompts PRA includes a framework specification, the acquired program set is intended to be placed in a framework FR. This allows the acquired program set to be appropriately placed in the specified framework FR, enabling the acquisition of the framework-based program set.
[0112] 4. Specific examples of prompts and program code Please refer to Figures 11 and 12. Figure 11 is an example of a prompt in this embodiment, and Figure 12 is an example of program code (PHP code) generated by the large-scale language model server 2 using the content of Figure 11 as a prompt. However, please note that some content is omitted with "...". Also, the example described here illustrates the association between prompts.
[0113] The prompt example ex1 in Figure 11 is an example of a method for associating multiple prompts. Prompt example ex1 establishes an association between a common instruction PRC and a view processing generation instruction PRI1, which instructs the generation of a corresponding processing program.
[0114] The development support system of this embodiment may consist of a requirements 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 requirements definition information creation system s1 includes a requirements 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 requirements definition information RD, design information UI, and related information ER may be generated by the program code acquisition unit 127 issuing predetermined prompts for each piece of information and acquiring them from the large-scale language model server 2. [Explanation of Symbols]
[0116] 1 Information processing device, 2 Large-scale 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 Requirements 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 Actual situation-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 Requirements 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 of supporting the development of a system desired by the client, The aforementioned development support method includes the following processes to be executed by the computer: A system development support method comprising at least a prompt creation step of creating a set of prompts that output program code for operating the system, based on design information that defines a screen for operating a database implemented in the system and relationship information that shows the relationships between multiple tables in the database.
2. The system development support method according to claim 1, further comprising: a program code acquisition step of issuing the aforementioned group of prompts to a large-scale language model server, and placing the program output from the large-scale language model server into a framework to acquire a group of framework-based programs.
3. An extraction step for extracting the design information and the relationship information from the system-related information necessary to implement the aforementioned system, The system development support method according to claim 1, wherein the prompt creation step creates a group of prompts that output program code for operating the system based on the design information and the relationship information.
4. In the extraction step, further requirements definition information representing the outline and overall structure of the system desired by the client is obtained from the system-related information, The system development support method according to claim 3, wherein the prompt creation step further creates a group of prompts that output program code for operating the system based on the requirements definition information.
5. The aforementioned system-related information includes requirements definition information, including an overview and overall structure of the system. The system development support method according to claim 1, which includes a requirements definition information creation step for creating the aforementioned requirements definition information.
6. The system development support method according to claim 3, which includes a design information creation step for creating the aforementioned design information.
7. The system development support method according to claim 3, comprising a relationship information creation step for creating the aforementioned relationship information.
8. A program that causes a computer to execute the development support method described in claim 1.
9. A development support system that performs each step of the system development support method described in claim 1.
Citation Information
Patent Citations
Device for heat treating workpiece
JP1982002824A
Information processing method, program, and information processing system
JP7575148B1
