KR-102962038-B1 - METHOD FOR GENERATING A SOFTWARE APPLICATION BASED ON USER INPUT
Abstract
According to one embodiment of the present disclosure, a method for generating a software application based on user input performed by an electronic device is disclosed. The method may include: receiving a service scenario in which a service operation procedure is expressed as a sentence or diagram through a user interface; analyzing the service scenario to extract event information, command information, and role information from the service scenario to structure the service scenario; generating a graph using the structured service scenario in which vertices are defined as software components and edges are defined as interaction relationships between the software components, and assigning a type of interaction to each edge; generating boilerplate code for each software component and a distribution resource file for each software component so that they correspond to each other by referring to a template that corresponds in advance to the vertex type and the interaction type of the edge of the graph; and building and distributing the generated boilerplate code and the distribution resource file together to generate a software application corresponding to the service scenario.
Inventors
- 현승엽
- 우한규
- 박정대
- 이동욱
Assignees
- (주)투라인클라우드
Dates
- Publication Date
- 20260507
- Application Date
- 20251023
Claims (12)
- In a method for generating a software application based on user input, performed by an electronic device, An action of receiving a service scenario, in which the service operation procedure is expressed as a sentence or diagram, through a user interface; An operation to analyze the above service scenario, extract event information, command information, and role information from the above service scenario, and structure the above service scenario; Using the above structured service scenario, an operation to generate a graph in which vertices are defined as software components and edges are defined as interaction relationships between the software components, and to assign a type of interaction to each edge; An operation to generate boilerplate code for each software component and a distribution resource file for each software component so that they correspond to each other by referring to a template that corresponds in advance to the vertex types and edge interaction types of the graph above; and The operation of building and distributing the generated boilerplate code and the distribution resource file together to create a software application corresponding to the service scenario; wherein The operation of receiving a service scenario, in which the service operation procedure is expressed as a sentence or diagram through the above user interface, is: An operation to receive voice input corresponding to the above service scenario; and It includes an operation to perform speech-to-text (STT) on the above voice to generate text corresponding to the service scenario, and The operation of analyzing the above service scenario to extract event information, command information, and role information from the above service scenario and structuring the above service scenario is, When the above service scenario is input as a sentence, the action of representing the above service scenario as a set of sentences and classifying each sentence into at least one of an event, a command, and a role; If the above service scenario is input as a diagram, the operation of converting the diagram into a set of vertices and a set of edges, and classifying each vertex into at least one of an event, a command, or a role; and Based on <Mathematical Formula 1> below, each input element of the above service scenario as a large-scale language model An action that classifies as one of an event, command, or role; including, <Mathematical Formula 1> Here, is a large-scale language model that performs the above classification, is the smallest unit input element constituting the above service scenario, meaning individual sentences in the case of sentence input, and individual shapes or connecting lines in the case of diagram input, and is the corresponding input element It is the classification result of, is an event is a command, means role (actor), How to create a software application.
- delete
- delete
- delete
- delete
- In paragraph 1, The operation of generating a graph using the above-mentioned structured service scenario, wherein vertices are defined as software components and edges are defined as interaction relationships between said software components, is: The operation of defining software components corresponding to the events, commands, and roles of the above-mentioned structured service scenario as vertices, and generating a graph defined by the interaction relationships between the software components. including, How to create a software application.
- In paragraph 6, The action of assigning the type of interaction to each edge of the above graph is, Based on the above service scenario, it includes an action of assigning one of the predefined interaction types to each edge according to <Mathematical Formula 2> below, and <Mathematical Formula 2> Here, is a pair of vertices in the above graph It is a function that maps interaction types to, is a set including the aforementioned predefined interaction types, How to create a software application.
- In Paragraph 7, The operation of generating boilerplate code for each software component and distribution resource file for each software component so that they correspond to each other by referring to a template that corresponds in advance to the vertex types and edge interaction types of the graph above, The operation of generating the boilerplate code and the distribution resource file so that the communication specifications of the boilerplate code and the network or message settings of the distribution resource file maintain consistency for the same type of interaction. including, How to create a software application.
- In paragraph 8, The above boilerplate code is source code that forms the basic execution structure of the above software component, and The above distribution resource file is a file that includes a configuration file defining the environment in which the software component will be executed, How to create a software application.
- In Paragraph 9, The operation of building and distributing the above-generated boilerplate code and the above-generated distribution resource file together to create a software application corresponding to the above-generated service scenario is, The operation of compiling the above boilerplate code or generating a container image, and performing deployment according to the resource settings defined in the above deployment resource file. including, How to create a software application.
- In an electronic device that performs the generation of a software application based on user input, A communication unit that performs communication; At least one processor; and Includes memory, The above-mentioned at least one processor is, The service scenario, in which the service operation procedure is expressed as a sentence or diagram, is received as input through the user interface, and By analyzing the above service scenario and extracting event information, command information, and role information from the above service scenario, the above service scenario is structured, and Using the above structured service scenario, a graph is generated in which vertices are defined as software components and edges are defined as interaction relationships between the software components, and a type of interaction is assigned to each edge, and By referring to a pre-configured template for the vertex types and edge interaction types of the above graph, the boilerplate code for each software component and the distribution resource file for each software component are generated to correspond to each other, and By building and distributing the above-generated boilerplate code and the above-generated distribution resource file together, a software application corresponding to the above-generated service scenario is created, and Receiving a service scenario in which the service operation procedure is expressed as a sentence or diagram through the above user interface is, Receiving voice input corresponding to the above service scenario; and It includes performing speech-to-text (STT) on the above voice to generate text corresponding to the service scenario, and Structuring the service scenario by analyzing the above service scenario and extracting event information, command information, and role information from the above service scenario is, When the above service scenario is input as a sentence, representing the above service scenario as a set of sentences and classifying each sentence into at least one of an event, a command, and a role; If the above service scenario is input as a diagram, converting the diagram into a set of vertices and a set of edges, and classifying each vertex into at least one of an event, a command, or a role; and Based on <Mathematical Formula 1> below, each input element of the above service scenario as a large-scale language model Classifying as one of an event, command, or role; including, <Mathematical Formula 1> Here, is a large-scale language model that performs the above classification, is the smallest unit input element constituting the above service scenario, meaning individual sentences in the case of sentence input, and individual shapes or connecting lines in the case of diagram input, and is the corresponding input element It is the classification result of, is an event is a command, means role (actor), An electronic device that performs software application creation.
- A computer program stored on a computer-readable storage medium, wherein, when the computer program is executed on one or more processors, the one or more processors are configured to perform the following operations for generating a software application based on user input, and said operations are: An action of receiving a service scenario, in which the service operation procedure is expressed as a sentence or diagram, through a user interface; An operation to analyze the above service scenario, extract event information, command information, and role information from the above service scenario, and structure the above service scenario; Using the above structured service scenario, an operation to generate a graph in which vertices are defined as software components and edges are defined as interaction relationships between the software components, and to assign the type of interaction to each edge; An operation to generate boilerplate code for each software component and a distribution resource file for each software component so that they correspond to each other by referring to a template that corresponds in advance to the vertex types and edge interaction types of the graph above; and The operation of creating a software application corresponding to the service scenario by building and distributing the generated boilerplate code and the distribution resource file together, wherein The operation of receiving a service scenario, in which the service operation procedure is expressed as a sentence or diagram through the above user interface, is: An operation to receive voice input corresponding to the above service scenario; and It includes an operation to perform speech-to-text (STT) on the above voice to generate text corresponding to the service scenario, and The operation of analyzing the above service scenario to extract event information, command information, and role information from the above service scenario and structuring the above service scenario is, When the above service scenario is input as a sentence, the action of representing the above service scenario as a set of sentences and classifying each sentence into at least one of an event, a command, and a role; If the above service scenario is input as a diagram, the operation of converting the diagram into a set of vertices and a set of edges, and classifying each vertex into at least one of an event, a command, or a role; and Based on <Mathematical Formula 1> below, each input element of the above service scenario as a large-scale language model An action that classifies as one of an event, command, or role; including, <Mathematical Formula 1> Here, is a large-scale language model that performs the above classification, is the smallest unit input element constituting the above service scenario, meaning individual sentences in the case of sentence input, and individual shapes or connecting lines in the case of diagram input, and is the corresponding input element It is the classification result of, is an event is a command, means role (actor), A computer program stored on a computer-readable storage medium.
Description
Method for Generating a Software Application Based on User Input The present invention relates to a method for generating a software application, and more specifically, to a method for generating a software application based on user input. Microservices Architecture (MSA) is a structure that separates large-scale systems into small units of services that can be developed and deployed independently, and it is widely used for its scalability and maintainability. However, there is a problem in that the design and implementation processes are complex and costly because the call relationships between services, data structures, and deployment environments must be consistently defined. Previously, it was common practice to diagram architectures using PowerPoint or documents, which were then interpreted by humans and translated into code. This process carries a high risk of errors and makes it difficult to maintain consistency in design quality. While UML and diagramming tools are useful for visualization, they do not support code generation or deployment integration; conversely, code-centric tools have limitations in that they lack intuitiveness, making them difficult for non-developers to use. Against this backdrop, there is a need for technology capable of intuitively receiving and analyzing service scenarios, forming a graph structure based on this analysis, and consistently generating and linking boilerplate code and deployment resources. This reduces the disconnect between design, development, and operations, enabling the creation of efficient and reliable applications. Korean registered patent KR 10-2643776 discloses content regarding Micro Service Architecture (MSA) and a SaaS standard-linked platform service provision system. FIG. 1 is a block diagram of an electronic device that generates a software application based on user input according to one embodiment of the present disclosure. Figure 2 is a conceptual diagram illustrating the process of transitioning a legacy system to a cloud-native architecture. Figure 3 is a diagram illustrating the process of dividing complex service scenarios into Bounded Context units based on the Domain-Driven Design (DDD) methodology and implementing them as a Micro Service Architecture (MSA). FIG. 4 is a diagram illustrating the process of actually applying a method for creating a software application based on user input according to one embodiment of the present disclosure. FIG. 5 is a flowchart illustrating a method for creating a software application according to one embodiment of the present disclosure. FIG. 6 is a brief and general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented. Various embodiments are now described with reference to the drawings. In this specification, various descriptions are provided to provide an understanding of the present disclosure. However, it is evident that these embodiments can be practiced without such specific descriptions. As used herein, terms such as “component,” “module,” “system,” etc. refer to computer-related entities, hardware, firmware, software, combinations of software and hardware, or executions of software. For example, a component may be, but is not limited to, a procedure executed on a processor, a processor, an object, an execution thread, a program, and/or a computer. For example, both an application executed on a computing device and the computing device itself may be a component. One or more components may reside within a processor and/or an execution thread. A component may be localized within a single computer. A component may be distributed among two or more computers. Additionally, these components may be executed from various computer-readable media having various data structures stored therein. Components may communicate through local and/or remote processes, for example, according to signals having one or more data packets (e.g., data from a component interacting with another component in a local system or distributed system, and/or data transmitted through signals to other systems and networks such as the Internet). Furthermore, the term "or" is intended to mean an implicit "or" rather than an exclusive "or." That is, unless otherwise specified or evident from the context, "X uses A or B" is intended to mean one of the natural implicit substitutions. In other words, if X uses A; if X uses B; or if X uses both A and B, "X uses A or B" may apply to any of these cases. Additionally, the term "and/or" as used herein should be understood to refer to and include all possible combinations of one or more of the enumerated related items. Additionally, the terms “comprising” and/or “comprising” should be understood to mean that such features and/or components are present. However, the terms “comprising” and/or “comprising” should be understood not to exclude the presence or addition of one or more other features, components and/or groups thereof.