Software design support device, software design support method, and software design support program
The software design support device uses a structured canvas and generative model to align dependency relationships and eliminate interference, addressing the challenge of scattered information in software design and reducing errors in software development.
Patent Information
- Application Number
- JP2025143584
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-08-29
- Publication Date
- 2025-12-11
- Estimated Expiration
- 2045-08-29
AI Technical Summary
In software design, information such as product overviews, functional requirements, screen layouts, and source code are often scattered across different documents and tools, making it difficult to grasp the information across multiple layers, leading to discrepancies between specification definition and implementation, and increasing the likelihood of rework when partial modifications are requested.
A software design support device and method that utilizes a structured canvas to maintain consistency in dependencies between design requirement elements, incorporating a generative model to generate correction instructions for large-scale language models, thereby aligning dependency relationships and eliminating mutual interference, and a processing unit to write back the corrected results to the canvas.
This approach reduces the occurrence of errors in software design by ensuring consistent and accurate modifications, allowing for smoother back-end development by aligning dependency relationships and eliminating mutual interference.
Smart Images

Figure 0007784101000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a software design support device, a software design support method, and a software design support program that support software development. [Background technology]
[0002] An example of a software design support device uses artificial intelligence (AI) in the process from issuing code generation instructions to generating code in accordance with those instructions. Such a system uses AI reasoning and decision-making to resolve conflicts between code updates made by developers and code modifications made by users (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2025-38084 Summary of the Invention [Problem to be solved by the invention]
[0004] In software design, information such as product overviews, functional requirements, screen layouts, and source code is often scattered across different documents and tools. In such situations, it is difficult to grasp this information across multiple layers. Therefore, when a partial modification is requested, it is difficult to accurately identify the target and scope of the request. This increases the likelihood of discrepancies between the specification definition and implementation, or of rework. Similarly, when AI-based software design support is used, fragmented contexts surrounding input inevitably require relying on the user's ability and contextual memory, potentially resulting in similar issues. [Means for solving the problem]
[0005] A software design support device for solving the above problem includes a first processing unit that provides a structured canvas having a state structured to maintain consistency in dependencies between design requirement elements and to eliminate mutual interference for page hierarchy, page design, specification definition, and source code in the software based on the design needs of the design target, and a generative model that is configured to generate correction instructions, which are instructions to cause a large-scale language model to maintain the state and to correct the design requirement elements in the structured canvas, based on a correction request input in natural language to the structured canvas and the state, and a second processing unit that writes back to the structured canvas the results of correcting the large-scale language model using the correction instructions generated by the generative model.
[0006] A software design support method for solving the above problem includes a computer providing a structured canvas having a state structured to maintain consistency in dependencies between design requirement elements and to eliminate mutual interference for the page hierarchy, page design, specification definition, and source code in the software based on the design needs of the design target; a generative model configured to generate correction instructions, which are instructions to cause a large-scale language model to maintain the state and to correct the design requirement elements in the structured canvas, based on a correction request input in natural language to the structured canvas and the state; and writing back the results of correcting the large-scale language model using the correction instructions generated by the generative model to the structured canvas.
[0007] A software design support program for solving the above-mentioned problems has a computer provide a structured canvas having a state structured to maintain consistency in dependencies between design requirement elements and to eliminate mutual interference for page hierarchy, page design, specification definition, and source code in the software based on the design needs of the design target; the program has a generative model configured to generate correction instructions, which are instructions to cause a large-scale language model to maintain the state and to correct the design requirement elements in the structured canvas, based on a correction request input in natural language to the structured canvas and the state; and writes the results of correcting the large-scale language model using the correction instructions generated by the generative model back to the structured canvas.
[0008] According to the above configurations, a structured canvas is provided based on design needs, which has consistency in dependency relationships between design requirement elements and is structured to eliminate mutual interference. Then, for a modification request for the structured canvas, modification instructions are generated to maintain the structured state, and knowledge about the dependency relationships and mutual interference conditions between design requirement elements in the structured canvas is input to the large-scale language model. This reduces the occurrence of errors in the modification request.
[0009] In the above software design support device, the first processing unit may store a primary draft of the design requirement element in the structured canvas provided by the first processing unit in association with the design needs, and the second processing unit may generate the modification instruction for reflecting the modification request in the primary draft using the primary draft and the modification request stored by the first processing unit, cause the large-scale language model to generate a secondary draft of the design requirement element in which the modification request is reflected in the primary draft from the modification instruction, and store the secondary draft in association with the design needs.
[0010] According to the above configuration, the first processing unit stores primary proposals of design requirement elements in association with design needs. The second processing unit generates a modification instruction for reflecting the modification request in the primary proposal using the primary proposal and the modification request stored by the first processing unit. The second processing unit then causes the large-scale language model to generate a secondary proposal that reflects the modification request in the primary proposal based on the modification instruction, and stores the secondary proposal in association with the design needs. As a result, the primary proposal is reflected in the modification instruction for generating the secondary proposal, thereby reducing the occurrence of errors in the transition of processing states that causes the large-scale language model to generate the secondary proposal.
[0011] In the above software design support device, the design object may be a front end of the software. The software design support device may further include an output processing unit that receives a download request and permits downloading of the front end.
[0012] According to the above configurations, a front end can be designed that reduces the occurrence of errors in response to modification requests, and since the front end can be downloaded, back end development can proceed smoothly.
[0013] In the above software design support device, the generative model may be configured to generate the modification instructions based on knowledge related to the dependencies and the mutual interference between the design requirement elements for generating the structured canvas, and the modification request.
[0014] In the above software design support device, the first processing unit may include a model configured to generate generation instructions for causing the large-scale language model to generate the design requirement elements in the structured canvas based on knowledge related to the dependencies and the mutual interference between the design requirement elements and the design needs of the design object, and may provide the structured canvas using a result generated by the large-scale language model based on the generation instructions generated by the model.
[0015] According to the above configurations, generation instructions and modification instructions are generated based on knowledge of the dependencies and interferences between design requirement elements, and the generation and modification of design requirement elements that reflect this knowledge are executed using a large-scale language model, thereby further reducing the occurrence of errors in design needs and modification requests. [Effects of the Invention]
[0016] The software design support device, software design support method, and software design support program disclosed herein can reduce the occurrence of errors due to large-scale language models. [Brief explanation of the drawings]
[0017] [Figure 1] FIG. 1 is a block diagram showing hardware of a software design support device. [Figure 2] FIG. 2 is a functional block diagram showing the configuration of the software design support device. [Figure 3] FIG. 3 is a diagram showing a partial configuration of the design data. [Figure 4] FIG. 4 shows a start screen of an application on a user terminal. [Figure 5] FIG. 5 is a diagram showing an example of a screen for inputting design needs. [Figure 6] FIG. 6 is a diagram showing an example of a screen for inputting design needs. [Figure 7] FIG. 7 is a sequence chart showing the flow of processing in the software design support method. [Figure 8] FIG. 8 is a screen diagram showing an example of a structured canvas. [Figure 9] FIG. 9 is a screen diagram showing an example of a structured canvas. DETAILED DESCRIPTION OF THE INVENTION
[0018] An embodiment of the software design support device 20, the software design support method, and the software design support program will be described below. [Software Design Support System 10] 1, software design support system 10 includes software design support device 20 and information processing device 30. Software design support device 20 is connected to user terminal 10A via a network. User terminal 10A may be a PC, a mobile phone, a smartphone, a tablet terminal, or a head-mounted display.
[0019] The software design support device 20 includes a processor 21, a memory 22, a storage 23, an interface (I / F) 24, and a database 25. The processor 21, the memory 22, and the storage 23 constitute a computer 20A. The processor 21, the memory 22, the storage 23, the I / F 24, and the database 25 are connected to a bus. The I / F 24 is connected to a network.
[0020] The information processing device 30 includes a processor 31, a memory 32, a storage 33, an interface (I / F) 34, and a database 35. The processor 31, the memory 32, and the storage 33 constitute a computer 30A. The processor 31, the memory 32, the storage 33, the I / F 34, and the database 35 are connected to a bus. The I / F 34 is connected to a network.
[0021] The software design support device 20 may be a server managed by an operator of a software design support platform. The software design support device 20 is connected to an information processing device 30 via a network. The software design support device 20 generates various instructions to be input to the information processing device 30. The software design support device 20 executes a software design support program using the information processing device 30.
[0022] The information processing device 30 may be a server managed by an operator of an information platform. The information processing device 30 generates a response using a code generation AI or a multimodal generation AI. The information processing device 30 uses a large-scale language model (LLM37A) to generate the response.
[0023] The processors 21 and 31 are not limited to circuits that execute all of their own processes using software, but may also include dedicated hardware circuits such as ASICs that execute some of their own processes using hardware. The processors 21 and 31 are configured as circuits that include one or more arithmetic units that operate according to a computer program, one or more types of arithmetic units, one or more dedicated hardware circuits that execute at least some of the various processes, or a combination of these. Examples of arithmetic units include a CPU, an MPU, a GPU, an APU, and a TPU.
[0024] The memories 22 and 32 store program code or instructions that cause the processors 21 and 31 to execute processes. The memories 22 and 32 are computer-readable media, including media that can be accessed by general-purpose or dedicated computers 20A and 30A. The processors 21 and 31 read the programs stored in the memories 22 and 32, and then decode the programs using the code and instructions stored in the memories 22 and 32 to execute the processes.
[0025] Storages 23 and 33 are non-volatile storage devices such as ROM, hard disks, and SSDs. Storage 23 stores data for executing software design support and a software design support program. Storage 23 stores prompt generation model 27A. Storage 33 stores LLM 37A. Prompt generation model 27A and LLM 37A are used in the software design support method.
[0026] The I / Fs 24 and 34 are communication interfaces. The I / Fs 24 and 34 transmit and receive data between the software design support device 20 and the information processing device 30. The I / F 24 transmits and receives data between the software design support device 20 and the user terminal 10A. The I / Fs 24 and 34 are, for example, network interfaces or wireless interfaces.
[0027] Database 35 may store data used to train LLM 37 A. Database 25 may store data used to train prompt generation model 27 A. Database 25 stores design data 25D.
[0028] The design data 25D stores a canvas kit for generating a structured canvas 91 based on a predetermined framework. The predetermined framework may be a layout in a UI, a relationship structure in a data model, or a layer or a block for each role in an architecture. The canvas kit includes a canvas model and a canvas library. The canvas library includes functionally divided modules such as component data, source code data, and design data. The canvas library includes documents that systematically organize requirements definitions, specification definitions, etc. in natural language. The canvas model includes a hierarchy that unfolds stepwise from top to bottom, and a control structure that explicitly describes sequential processing, branching processing, etc.
[0029] The software design support device 20 includes a canvas repository configured to hold and read out canvas kits. The software design support device 20 generates a structured canvas 91 of the design object based on design-related data associated with the design object, using the canvas kit obtained from the canvas repository. The software design support device 20 writes updated content of the structured canvas 91 generated based on the canvas kit back to the canvas repository as design-related data associated with the design object.
[0030] The design data 25D may store a design ID for identifying the design needs of a design object, in association with a primary draft and a secondary draft of the design object (see FIG. 3). The primary draft and secondary draft of the design object are design-related data for the design object, generated with reference to a canvas kit. The design-related data may store, as one of the design requirement elements, a URI for uniquely identifying a system definition page (hereinafter simply referred to as a page) in the design object. The design-related data may store, as one of the design requirement elements, an ID for uniquely identifying each element of a page in the design object.
[0031] The user terminal 10A is provided with a client application that sends requests to the software design support device 20 and receives processing results from the software design support device 20. The user terminal 10A launches the client application to request the software design support device 20 to provide a structured canvas 91. In response to the request from the user terminal 10A, the software design support device 20 provides the user terminal 10A with a work area for information that is visually and systematically organized in software design, i.e., the structured canvas 91.
[0032] The user terminal 10A is configured to input design needs and revision requests through user actions in the work area of the structured canvas 91. The user action may be a selection by the user or a change such as addition or deletion by the user. The user terminal 10A may also input design needs and revision requests by inputting natural language into the work area of the structured canvas 91.
[0033] The display of the user terminal 10A is configured to display a primary draft of the design object, a request for modification to the primary draft, and a secondary draft through the display of the structured canvas 91. The display of the user terminal 10A may also display modification instructions sent from the software design support device 20 to the information processing device 30 through the display of the structured canvas 91.
[0034] [Structured Canvas 91] The software design support device 20 is configured to generate a structured canvas 91 using a canvas kit. A canvas is a two-dimensional digital tool for visually arranging design requirement elements. Structuring refers to the process of organizing information based on certain rules or classification criteria, clarifying the interrelationships between the information, and integrating and storing multiple pieces of information as a single piece of data.
[0035] The structured canvas 91 holds the page hierarchy, page design, specification definition, and source code, which are determined based on a predetermined framework, all in one data set. The structured canvas 91 provides a work area for information that is visually and systematically organized.
[0036] The Canvas Kit defines the relationships between each design requirement element and the elements themselves, including dependencies between design requirement elements and conditions for mutual interference between them. In the Canvas Kit, dependencies described between page design elements and between pages are dependencies between design requirement elements. Interference conditions described between page design elements and between pages are conditions for mutual interference between design requirement elements.
[0037] A canvas kit is generated in advance by including, for example, specification definitions of each element in a common page design and source code for each page that defines hierarchical connections, and describing the conditions of dependency and mutual interference between the elements and between pages.
[0038] The structured canvas 91 includes design information in document information. The structured canvas 91 aggregates multiple design requirement elements, including specification definitions, onto the canvas, integrating the multiple design requirement elements into a single piece of data and storing it. The design requirement elements aggregated onto the structured canvas 91 include [A] page hierarchy, [B] page design, [C] specification definition, and [D] source code. By structuring [A] to [D] on the structured canvas 91, the software design support device 20 can simultaneously identify the overall picture and partial structure of the design object related to the data based on the identification of a single piece of data. The design requirement elements aggregated onto the structured canvas 91 may include at least one of functional requirements, architectural requirements, and a combination thereof.
[0039] [A] Page hierarchy is a hierarchy of the user interface that defines the hierarchical relationships between pages in the design object. Page hierarchy is the hierarchical relationship in the information structure between a higher-level page and intermediate pages that are directly connected to that higher-level page, or between lower-level pages that are indirectly connected to that higher-level page. Page hierarchy can also be the ranking or position of each page in the overall page structure.
[0040] [B] Page design defines the static visual elements that make up a page. Page design may define the primary color, design system, and layout system that are common to all pages. The layout system includes a combination of top header, bottom header, side menu, body, footer, etc. Page design may also include usability that shows the behavior of the screen used by the user, action flow and navigation, and validation methods and timing.
[0041] [C] The specification definition defines the functions provided by the design object. The specification definition may define performance requirements, security requirements, and constraints. The specification definition may include a product overview, product name, screen titles, and screen function overviews as text.
[0042] The specification definition may include a data definition. The data definition defines the database structure, data types indicating character strings, numeric values, etc., the format indicating the input format and character code, and storage handling indicating the storage destination and storage frequency. The data definition includes a uniqueness constraint indicating that duplication is prohibited, a foreign key constraint that makes the reference table dependent on the base table, and data linkage handling indicating the handling of master data and log data.
[0043] The specification definition may also include an interface definition, which is a design requirement for ensuring interconnectivity and consistency between modules and external systems. The interface definition includes a connection method, including communication protocols and communication timing, a data format that sets message formats, input formats and character codes, and a specification definition of API integration, including endpoints and query parameters.
[0044] The specification definition may also include specification definitions such as data types and validations of input items, specification definitions related to UI elements and their behavior, specification definitions of screen transitions indicating transition destinations upon the occurrence of an event, and specification definitions of API integration such as API endpoints and transmission formats.The specification definition may also include specification definitions of access control such as audit count limits and periodic change policies, and specification definitions of fail-safes that indicate automatic saving when communication is disconnected or terminating without saving.
[0045] [D] The source code defines the dynamic behavior of the visual elements that make up the page. The source code may include code related to a layout system common to all pages and code for executing API call processing. The source code may also include code for executing event handler processing and code for executing authentication determination processing. The source code may also include code for executing redirect processing, code for executing error processing, and code for executing exception handling.
[0046] [Software Design Support Device 20] 2, the software design support device 20 includes a first element processing unit 21A, a second element processing unit 22A, a display processing unit 25A, an output processing unit 26A, and a prompt generation model 27A. The first element processing unit 21A and the prompt generation model 27A constitute a first processing unit. The second element processing unit 22A and the prompt generation model 27A constitute a second processing unit.
[0047] The software design support device 20 is configured to receive design needs for a design object from the user terminal 10A. The design needs may be input as a user action in a client application running on the user terminal 10A. Alternatively, the design needs may be input as natural language in the work area of the structured canvas 91 in the client application running on the user terminal 10A.
[0048] The software design support device 20 is configured to assign a design ID, which is an identifier for the design needs, to the design needs received from the user terminal 10A. The software design support device 20 reserves an area for the design needs in the design data 25D of the database 25, and stores the design ID in the area.
[0049] The software design support device 20 is configured to receive a request for modification of the primary draft from the user terminal 10A. The modification request may be input as a user action in a client application running on the user terminal 10A. Alternatively, the modification request may be input as natural language in the work area of the structured canvas 91 in the client application running on the user terminal 10A.
[0050] The first element processing unit 21A is configured to input design needs from the user terminal 10A to the prompt generation model 27A. The first element processing unit 21A is configured to input generation instructions generated from the design needs by the prompt generation model 27A to the information processing device 30. The first element processing unit 21A is configured to acquire, from the information processing device 30, a primary proposal generated by the information processing device 30 from the generation instructions. The first element processing unit 21A may store the primary proposal in association with the design needs or a design ID assigned to the design needs.
[0051] The second element processing unit 22A is configured to input a revision request from the user terminal 10A to the prompt generation model 27A. The second element processing unit 22A may be configured to input a primary proposal together with a revision request for the primary proposal to the prompt generation model 27A. The second element processing unit 22A inputs a revision instruction generated from the revision request by the prompt generation model 27A to the information processing device 30. The second element processing unit 22A is configured to acquire, from the information processing device 30, a secondary proposal generated from the revision instruction by the information processing device 30. The second element processing unit 22A may store the secondary proposal in association with the design needs or a design ID assigned to the design needs.
[0052] The display processing unit 25A generates and updates the structured canvas 91 using the design data 25D. The display processing unit 25A generates the structured canvas 91 using the primary draft generated by the LLM 37A. The display processing unit 25A updates the structured canvas 91 using the secondary draft generated by the LLM 37A. The display processing unit 25A displays the structured canvas 91 on the user terminal 10A. Every time the display processing unit 25A updates the structured canvas 91, the display processing unit 25A displays the updated structured canvas 91 on the user terminal 10A. The display processing unit 25A may cause a client application running on the user terminal 10A to update the structured canvas 91.
[0053] The output processing unit 26A receives a download request from the user terminal 10A. The output processing unit 26A permits the user terminal 10A to download the software that is the design target requested by the user terminal 10A.
[0054] [Prompt Generation Model 27A] The prompt generation model 27A is configured to generate an instruction (prompt) to be input to the information processing device 30. The prompt generation model 27A is also configured to generate the instruction to be input to the information processing device 30 in natural language.
[0055] The prompt generation model 27A is configured to generate instructions corresponding to a user action based on the user action. The prompt generation model 27A may be configured to infer instructions that match the user's request intent based on natural language input by the user in the working area of the structured canvas 91. Inference includes analysis, classification, prediction, and summarization.
[0056] The prompt generation model 27A is configured to generate instructions related to the structured canvas 91 based on a canvas kit for generating the structured canvas 91. The prompt generation model 27A may store dependency relationships between design requirement elements in the canvas kit and conditions of mutual interference between the design requirement elements by encoding them in model parameters or an associated data structure. In this way, the prompt generation model 27A stores the dependency relationships and conditions of mutual interference between the design requirement elements as knowledge. Then, by using the model parameters or the associated data structure, the prompt generation model 27A generates instructions that are compatible with the canvas kit, i.e., instructions that align the dependency relationships between the design requirement elements and eliminate mutual interference.
[0057] The prompt generation model 27A is configured to generate generation instructions for generating a structured canvas 91 from design needs. These generation instructions directly reflect the dependency relationships and mutual interference conditions between design requirement elements in the generation of the information processing device 30, and also cause the information processing device 30 to generate a first draft of design requirement elements that satisfy the design needs. This allows the software design support device 20 to acquire, as a first draft, design requirement elements that align dependency relationships and eliminate mutual interference.
[0058] The prompt generation model 27A is configured to generate, from a modification request, modification instructions for modifying design requirement elements in the structured canvas 91. These modification instructions directly reflect the dependency relationships and mutual interference conditions between the design requirement elements in the generation of the information processing device 30, and also cause the information processing device 30 to generate a secondary proposal of the design requirement elements that satisfies the modification request. As a result, the software design support device 20 can acquire, as a secondary proposal, design requirement elements that align dependency relationships and eliminate mutual interference.
[0059] The prompt generation model 27A may include a small-scale model that performs stateful inference and maintains an internal state of inference for a session related to a design need each time the model receives the design need. The stateful small-scale inference model may be a statistical natural language model, and may be constructed based on an RNN base, including LSTN and GRU.
[0060] The prompt generation model 27A is trained with limited knowledge of software design using a small corpus in addition to natural language. The prompt generation model 27A may include a stateful small-scale inference model configured to suppress the ambiguity and diversity contained in natural language and to understand and generate short and formulaic sentences.
[0061] The prompt generation model 27A may complement, rewrite, or filter the output of the stateful small-scale model with a rule-based model. Complementation by a rule-based model may involve incorporating the output of the rule-based model into the input of the stateful small-scale model, incorporating the output of the rule-based model into the output of the stateful small-scale model, or a combination of these.
[0062] A stateful small-scale model processes each element of an input sequence sequentially. A stateful small-scale model understands the temporal context within the input sequence by reflecting the results of previous inferences in the next inference. The input sequence includes the current input and the text generated up to the current input. A stateful small-scale model generates output while indirectly reflecting the importance of the immediately preceding and previous inputs to the current input through the results of previous inferences. The scope of a stateful small-scale model is the sequence consisting of the current input and a series of inputs given before it, and it executes processing while sequentially retaining this as an internal state.
[0063] Stateful small-scale models process sequential input sequences one token at a time and generate output while retaining past information through the inference results at each point in time. Stateful small-scale models calculate the next output or next state based on the current input and the inference results up to that point. Depending on the size and structure of stateful small-scale models, there are limitations to their ability to retain long-term dependencies, but they are able to capture temporal patterns within the sequence. Stateful small-scale models generate output based on statistical patterns in the training data rather than deductive inference. When generating, they calculate the probability distribution of tokens and select the token with the highest probability, or determine the next token by sampling.
[0064] [Information processing device 30] The LLM 37A of the information processing device 30 infers what kind of code is intended by the input to the software design support device 20. The information processing device 30 outputs the inference results of the LLM 37A to the software design support device 20. The inference results may include code, or may include text data in the code. Inference includes analysis, classification, prediction, and summarization.
[0065] LLM37A can be a deep learning model based on self-attention, a model built on the Transformer architecture, or a Transformer-based neural network that extends the Transformer architecture. LLM37A learns knowledge of programming language syntax, coding patterns, and algorithm structures using text data, including natural language and code. LLM37A is a large-scale model designed to understand long texts and diverse contexts, and generate long texts.
[0066] LLM37A understands the context of the input sequence by capturing the relationships between each element of the input sequence using an attention mechanism such as an attention mechanism. The input sequence includes the current input and the text generated up to the current input. LLM37A generates output by understanding the importance of other elements in the input sequence relative to the current input. The range captured by the attention mechanism is the input sequence including the current input and the text generated up to the current input.
[0067] LLM37A performs the current inference independently of other inferences, based on the input up to the current inference. LLM37A does not retain words that have been output as internal memory. Explicitly retaining past outputs would excessively increase the number of parameters and computational cost of LLM37A. LLM37A performs the next inference based on the input up to the next inference. LLM37A generates output with a strong awareness of the current input and the text up to the current time.
[0068] LLM37A generates output based on an input sequence of limited length. LLM37A does not consider the current input or any part of the text up to now beyond the limited length when generating the output. LLM37A generates appropriate code based on statistical associations rather than deductive reasoning. LLM37A calculates the probability distribution of the tokens (words, symbols, etc.) to be generated, and selects the token with the highest probability or by sampling.
[0069] An example of LLM37A is generative AI such as ChatGPT or Gemini. LLM37A is obtained by deep learning of neural networks. [Software design support method] The following describes a software design support method executed by the software design support device 20 using the software design support program. The software design support method includes inputting an entry point 71, inputting a specification setting screen 81, generating a generation instruction, generating a structured canvas 91, generating a modification instruction, and modifying the structured canvas 91.
[0070] [Enter entry point 71] 4, the client application of the user terminal 10A displays an entry point 71 on the display of the user terminal 10A. The entry point 71 is a screen that serves as an entrance for the software design support device 20 to create a draft for the structured canvas 91. The entry point 71 includes a scale button 72, a project field 73, a reference field 74, and a generate button 75.
[0071] The scale button 72 is a UI element that allows the user to set the scale of the structured canvas 91. When the scale button 72 labeled "small scale" is clicked, the software design support device 20 sets the number of pages of the structured canvas 91 to be drafted to 1 to 3 pages. When the scale button 72 labeled "medium scale" is clicked, the software design support device 20 sets the number of pages of the structured canvas 91 to be drafted to 4 to 8 pages. When the scale button 72 labeled "large scale" is clicked, the software design support device 20 sets the number of pages of the structured canvas 91 to be drafted to 9 to 16 pages.
[0072] The project field 73 is a UI element configured as an input field into which the user inputs natural language. The project field 73 contains, as placeholders, an overview of the project using the design object, the purpose of the project, and the functions required for the design object. As a result, for example, "AI search service project" is entered into the project field 73 as the project overview.
[0073] The reference field 74 is a UI element configured as a drop zone for files. The reference field 74 contains, as a placeholder, the format of the file to be dropped into the reference field 74. As a result, the reference field 74 is populated with files related to the page design to be designed, which indicate the design of a web page or other design that the software design support device 20 uses as a reference.
[0074] The generate button 75 is a UI element for starting the draft creation process of the structured canvas 91 at the entry point 71. When the generate button 75 is clicked, the user terminal 10A inputs all of the information input at the entry point 71 into the software design support device 20. Then, the client application of the user terminal 10A displays a specification setting screen 81.
[0075] [Input on Specification Setting Screen 81] 5, the specification setting screen 81 is a UI screen for inputting design needs such as functional specifications and design specifications into the software design support device 20. The specification setting screen 81 includes a decision button 82, an [A] basic information field 83, a [B] style field 84, and a prompt input field 85.
[0076] The decision button 82 is a UI element that allows the user to perform edits and decisions on the specification setting screen 81. When the decision button 82 labeled "Editor" is clicked, the software design support device 20 enables editing by user action on the specification setting screen 81. When the decision button 82 labeled "Generate All Pages" is clicked, the software design support device 20 creates a draft of the structured canvas 91 based on the content entered on the specification setting screen 81.
[0077] [A] The basic information field 83 is a UI element for the user to input basic information about the design object. The basic information about the design object may determine the specification definition for part of the functions provided by the design object. The basic information about the design object may include an overview of the product that is the design object, the product name, and the language used for the product. The product overview and product name are input by the user in natural language, and the input content is determined by the software design support device 20. In the example shown in Figure 5, "Utilizing AI technology to understand the user's search intent..." is input as the product overview, and "AI search service" is input as the product name.
[0078] [A] The style field 84 is a UI element that allows the user to input the page style of the design target. The style field 84 may determine the specification definition for the static visual elements that make up the page. For example, the style field 84 may set the primary and secondary colors common to all pages from among pre-defined color codes. The style field 84 sets the design taste common to all pages from among themes or pre-defined design presets. The style field 84 has an input field where the user can input natural language. In the example shown in Figure 5, the natural language text "Simple and modern UI design. Visually expresses AI intelligence and search efficiency." is input.
[0079] The specification setting screen 81 may include UI elements for setting function specifications and design specifications in addition to the [A] basic information field 83 and the [B] style field 84. The specification setting screen 81 may further include a [C] platform field, a [D] layout field, a [E] user flow field, and a [F] definition page list.
[0080] [c] The platform field is a UI element that allows the user to set the platform. The platform is the mobile or desktop device on which the product is installed, and is set by the user from a pre-defined set of presets. The platform field may determine the specification definition for the UI elements and their behavior based on the platform setting.
[0081] [D] The layout field is a UI element that allows the user to set a layout common to all pages. The layout field may determine the specification definition for the layout of the page design. The layout field may also set whether to have a top header, a bottom header, a side menu, the body position, and a footer, which are common to all pages.
[0082] In the layout field, labels for the top of the header, such as "Service logo, search bar," may be entered in natural language. In the layout field, labels for the bottom of the header, such as "Main search categories, filter options," may be entered in natural language. In the layout field, labels for the side menu, such as "Search history, search conditions," may be entered in natural language. In the layout field, footer content, such as "Copyright notice, privacy policy," may be entered in natural language.
[0083] [E] The user flow field is a UI element that allows a user to set the process flow of the product when using the product. The process flow of the product when the user uses the product is entered in natural language in the user flow field. The user flow field may determine the interface definition between modules or external systems, or may determine the code to execute event handler processing. The user flow field is entered in natural language, for example, "1. The user enters a search query, 2. The AI analyzes the query and generates optimal search results, 3. The user views the search results and narrows or displays details as necessary, 4. The desired information is accessed from the results."
[0084] [K] The definition page list is a UI element that allows the user to set the functions that each page in the product will perform. For example, in the "about" field of a page, a function description is entered in natural language, such as the text "About the AI search service: A page introducing the purpose, features, technology, etc. of the AI search service. ..." In the "home" field of a page, a function description is entered in natural language, such as "Home: A top page that displays a search bar, major categories, and recommended content. ..." In the "contact" field of a page, a function description is entered in natural language, such as "Inquiries: A page that lists the form for accepting inquiries from users and contact information. ..." In the "content detail" field of a page, a function description is entered in natural language, such as "Details: A page that displays details of information selected from search results. ..."
[0085] The prompt input field 85 is a UI element that allows the user to input questions to the AI regarding the specification setting screen 81, or allows the user to have the AI fill in the specification setting screen 81. In the prompt input field 85, instructions for creating a draft of the specification setting screen 81 or questions regarding the specification setting screen 81 are input.
[0086] The prompt input field 85 includes an edit button, a question button, and a text field. When the edit button labeled "Edit with AI" is clicked, the software design support device 20 analyzes the natural language in the text field using the prompt generation model 27A and creates a draft of the specification setting screen 81 based on the results of the analysis. When the question button labeled "Ask AI" is clicked, the software design support device 20 analyzes the natural language in the text field using the prompt generation model 27A and outputs an answer to the question written in that natural language to the text field. The software design support device 20 may analyze the natural language in the text field using the prompt generation model 27A and cause the information processing device 30 to generate an answer to the question written in that natural language.
[0087] 6, for example, a message 85A saying "Make the product summary look good" is entered in prompt input field 85, and the edit button is clicked. In this case, software design support device 20 outputs the pre-edited and post-edited product summary contents in text field 85B. Then, the specification setting screen 81 is updated by displaying "Utilizing AI technology, we deeply understand the user's search intent..." in the pre-edited product summary content and "Our AI search service makes full use of cutting-edge AI technology..." in the post-edited product summary content.
[0088] [Generation of generation instructions and generation of structured canvas 91] 7, the decision button 82 labeled "Generate all pages" is clicked on the specification setting screen 81 (step S11). When "Generate all pages" is selected, the user terminal 10A inputs the contents entered on the specification setting screen 81, such as the basic information field 83 and the style field 84, as design needs into the software design support device 20 (step S11).
[0089] When user terminal 10A inputs design needs, it assigns a design ID, which is an identifier, to the received design needs. Software design support device 20 allocates an area in design data 25D of database 25 for the design needs and design-related data generated based on the design needs. Software design support device 20 may store all information input to entry point 71 in this area. Then, software design support device 20 generates a generation instruction based on the received design needs and inputs the generation instruction to information processing device 30 (step S21).
[0090] At this time, the first element processing unit 21A inputs the design needs to the prompt generation model 27A. The prompt generation model 27A generates a generation instruction for causing the information processing device 30 to generate a first draft of the design requirement elements. As a result, the prompt generation model 27A generates a generation instruction based on the canvas kit so as to (i) align dependencies between the design requirement elements to eliminate mutual interference, and (ii) satisfy the design needs. For example, the generation instruction is generated so that common page designs and component data types are specified for all pages in which the hierarchical connections between pages are clear, and the overall picture and substructure are identified by the information processing device 30. Then, the first element processing unit 21A inputs the generation instruction to the information processing device 30.
[0091] The information processing device 30 receives a generation instruction from the software design support device 20. The LLM 37A of the information processing device 30 understands the dependency relationships and mutual interference conditions between design requirement elements, and generates a primary draft of multiple design requirement elements from the generation instruction so as to align these dependency relationships, eliminate mutual interference, and satisfy design needs. The information processing device 30 inputs the generated primary draft to the software design support device 20 (step S31).
[0092] When the software design support device 20 acquires the primary draft from the information processing device 30, it generates a structured canvas 91 based on the primary draft. The software design support device 20 inputs information for displaying the structured canvas 91 into the user terminal 10A, and causes the structured canvas 91 based on the primary draft to be displayed on the user terminal 10A (step S22). The first element processing unit 21A also stores the primary draft in association with the design needs.
[0093] 8, the structured canvas 91 includes two switching buttons 92, a page list 93, a design object view 94A, and a toolbar 94B. The switching buttons 92 and the toolbar 94B are located in the bottom header of the structured canvas 91.
[0094] The bottom header of the structured canvas 91 displays the URI of the page. The URI displayed in the bottom header of the structured canvas 91 is information for uniquely identifying the page displayed in the design target view 94A. The bottom header of the structured canvas 91 displays information for identifying the page hierarchy of the page displayed in the design target view 94A, such as "4 / 8."
[0095] The two switching buttons 92 are UI elements for switching the screen displayed in the design object view 94A by user operation. The two switching buttons 92 display the labels "Design List" and "Edit Details." When the switching button 92 labeled "Design List" is clicked, the software design support device 20 displays a page list 93, which is an overall image of the design object, allowing the user to select any of the pages that make up the design object. When the switching button 92 labeled "Edit Details" is clicked, the software design support device 20 displays page details 96, which are a partial structure of the design object, for the page selected from the page list 93.
[0096] The page list 93 is a UI element that is called up as part of the structured canvas 91 when the switch button 92 labeled "Design List" is clicked. The page list 93 displays a selectable list of pages that make up the design object. The page list 93 realizes a list of page hierarchies by displaying labels such as "about," "contact," "content detail," and "home" according to the hierarchy.
[0097] When any label in the page list 93 is clicked, the software design support device 20 displays the page screen corresponding to the label in the design object view 94A. For example, when the "home" label in the page list 93 is clicked, the software design support device 20 displays the home screen of the "AI search service" that describes the product overview, search field, etc. in the design object view 94A. The page list 93 displays the "Add page" label, and clicking the label adds another page to the design object.
[0098] As shown in Figure 9, when the "home" label in the page list 93 is clicked and the switch button 92 labeled "Detailed Edit" is clicked, the software design support device 20 displays the "page path" and "overview" defined for the page "home" as page details 96.
[0099] The toolbar 94B is a UI element for editing the attributes of a design requirement element placed in the design object view 94A. The attributes edited using the toolbar 94B include the font, character size, range frame, page number, etc. of the design requirement element. For example, when a range frame is selected on the toolbar 94B, the design requirement element of the node surrounded by the range frame in the design object view 94A is selected as the modification target 95.
[0100] [Generating correction instructions and modifying Structured Canvas 91] Returning to FIG. 7, in the structured canvas 91 described above, a modification request is input from user terminal 10A to software design support device 20 through a user action, such as adding a page to page list 93 or selecting a node using toolbar 94B (step S12). Software design support device 20 accepts the modification request from user terminal 10A. Software design support device 20, which processes the events leading up to the modification request in chronological order, accurately understands the primary draft that is the target of modification. By inputting the modification request to prompt generation model 27A, software design support device 20 causes prompt generation model 27A to understand that the current modification request is to modify design requirement elements based on the primary draft.
[0101] The second element processing unit 22A extracts a primary proposal by referring to the design ID, and inputs the primary proposal and the revision request to the prompt generation model 27A. The prompt generation model 27A generates revision instructions to reflect the revision request in the primary proposal. The prompt generation model 27A also generates revision instructions based on the primary proposal so as to (i) align dependencies between design requirement elements to eliminate mutual interference, and (ii) satisfy the revision request. For example, revision instructions are generated so that common revisions are adopted in the information processing device 30 for page designs and component data types that are intended to be common among all pages in which hierarchical connections between pages are clearly defined. Then, the second element processing unit 22A inputs the revision instructions to the information processing device 30 (step S23).
[0102] The information processing device 30 receives a modification instruction from the software design support device 20. The LLM 37A of the information processing device 30 understands the dependency relationships and mutual interference conditions between the design requirement elements, and generates a secondary draft of the multiple design requirement elements based on the generation instruction so as to align these dependency relationships, eliminate mutual interference, and satisfy the modification request. The information processing device 30 inputs the generated secondary draft to the software design support device 20 (step S32).
[0103] When the software design support device 20 acquires the secondary draft from the information processing device 30, it generates a structured canvas 91 based on the secondary draft. The software design support device 20 inputs information for displaying the structured canvas 91 into the user terminal 10A, and causes the structured canvas 91 based on the secondary draft to be displayed on the user terminal 10A (step S22). The second element processing unit 22A also stores the secondary draft in association with the design needs.
[0104] In this way, the structured canvas 91 explicitly holds abstract concepts such as page hierarchy and page design. In the structured canvas 91, pages hold knowledge related to their substructure, such as URIs and titles that uniquely identify the pages. On the other hand, the page hierarchy and page design hold knowledge related to the overall picture that is referenced by multiple pages. This allows the structured canvas 91 to construct each page in a way that unifies page design while maintaining the interrelationships and priorities between pages. The structured canvas 91 also allows each page to be constructed in a way that unifies event handler processing while maintaining the interrelationships and priorities between pages.
[0105] In design support in a format where conversation logs and artifacts are recorded sequentially and serially along a timeline (hereinafter referred to as "chat format"), there are no cross-reference links between the records. Therefore, if there are too many messages in one chat session, the context that needs to be retained becomes excessive, and chat format design support may be limited to application to short-term tasks.
[0106] In contrast, the structured canvas 91 stores a predefined specification definition and a page design created based on that specification definition as a single data set. In this way, the amount of context information in the structured canvas 91 is roughly fixed, so the specification definition and design can be used for a long period of time, even if modifications are made during the design process. Furthermore, even if the structured canvas 91 is changed by editing using AI or user action, the result of the change is realized mainly as a rewrite of the context, which has a roughly fixed amount of information.
[0107] Additionally, chat formats do not preserve page hierarchy, common layout systems, or other abstract concepts. Chat output is limited to code snippets, document blocks, and other concrete concepts. Because of these limitations, chat formats cannot preserve interrelationships or priorities between pages, requiring users to build all pages within a single chat session to satisfy those interrelationships and priorities. Furthermore, to unify the design of multiple pages in a chat format, users must repeatedly perform manual pasting tasks.
[0108] In contrast, the structured canvas 91 can explicitly maintain page hierarchy, a common layout system, and other abstract concepts. In the structured canvas 91, pages maintain URIs and titles to uniquely identify the pages. A common layout system is referenced by headers, footers, and so on across multiple pages. This allows the structured canvas 91 to construct each page while maintaining the interrelationships and priorities between pages and ensuring a unified design.
[0109] In addition, in the chat format, the large-scale language model searches for correction targets through inference each time based on vague instructions in natural language such as "fix this." In contrast, in the structured canvas 91, when a node such as a button or text is clicked on the screen, the node is uniquely identified by an ID, and information on the substructure of the node and the overall image including the node is input to the information processing device 30 as a correction instruction. This ensures that the design requirement elements of the design target are corrected reliably, and also enables explicit correction of the source code.
[0110] Furthermore, while chat formats allow for history management by scrolling through past chat messages or storing files, this is not practical when the context becomes enormous. In contrast, the Structured Canvas 91 allows for snapshots to be taken on a page-by-page or layout system-by-layout system basis, making it easy to compare differences and rewind. Furthermore, the Structured Canvas 91 can prevent discrepancies from occurring when designing components and directory structures that match the page hierarchy.
[0111] [effect] As described above, the following effects can be obtained. (1) A structured canvas 91 is provided that has a structured state that maintains consistency in dependencies between design requirement elements and eliminates mutual interference, and correction instructions that maintain the state are generated based on correction requests. This reduces the occurrence of errors in correction requests.
[0112] (2) The amount of information in the context is roughly fixed in the structured canvas 91. Therefore, while the effect similar to that of (1) above is obtained, the modification of the design requirement elements using LLM37A is realized solely by rewriting the context with a roughly fixed amount of information without requiring an excessively large context.
[0113] (3) The node to be modified is identified in the structured canvas 91. Therefore, modifying the design requirement elements using LLM37A not only achieves the same effect as (1) above, but also improves the accuracy of identifying the target of modification.
[0114] (4) The primary design proposal is stored in association with a design ID that identifies the design needs, and the modification instructions for generating the secondary design are generated to reflect the modification request in the primary design. This reduces the occurrence of errors in the transition of the processing state that causes the LLM37A to generate the secondary design.
[0115] (5) The screen configuration of the design object is displayed on the user terminal 10A as a structured canvas 91. This makes it easy for the user to grasp the primary and secondary proposals of the design requirement elements of the design object.
[0116] (6) The front end can be downloaded, which allows for smooth development of the back end. The above-described embodiment can be modified as follows: Two or more of the following modified examples can be combined as long as no technical contradiction occurs.
[0117] [Instructions] The software design support device 20 may present the generation instructions generated by the prompt generation model 27A to the user terminal 10A together with the primary proposal or independently of the primary proposal. The software design support device 20 may present the modification instructions generated by the prompt generation model 27A to the user terminal 10A together with the secondary proposal or independently of the secondary proposal.
[0118] [feedback] The software design support device 20 may receive feedback on the first draft or feedback on the second draft from the user terminal 10A together with the revision request or independently of the revision request.
[0119] The software design support device 20 may receive feedback of the generation instruction from the user terminal 10A together with the modification request or independently of the modification request. The software design support device 20 may receive feedback of the modification instruction from the user terminal 10A.
[0120] [Relearn] The software design support device 20 may store at least one of the design needs, generation instructions, primary proposals, correction instructions, secondary proposals, and feedback therefrom in the database 25. The software design support device 20 may use the feedback to train a statistical machine learning model or a stateful small-scale model in the prompt generation model 27A.
[0121] The software design support device 20 may associate at least one of a generation instruction, a first draft, a correction instruction, and a second draft that is a correct solution to the design need with the design need and store them in the database 25. The software design support device 20 may then refer to information associated with design needs similar to the current design need when generating instructions related to elements.
[0122] [Correction instructions] The software design support device 20 may receive a revised primary draft and a revision request for the primary draft from the user terminal 10A, and may generate a revision instruction for the primary draft using the received revised primary draft and the revision request for the primary draft. Also, the software design support device 20 may receive a revision request for a secondary draft, and may generate a revision instruction for the secondary draft in the same way as the revision instruction for the primary draft.
[0123] The database 25 may register the primary draft, after correction by the user terminal 10A, in the design data 25D in a state in which the design ID is associated with the primary draft. [program] The software design support device 20 executes a software design support program. The software design support program may be distributed to the software design support device 20 from a predetermined software distribution server via a network. The software design support program may be stored in a storage device of the software design support program or in an external storage medium readable by the software design support program.
[0124] The software design support program may be distributed to user terminal 10A from a predetermined software distribution server via a network. In this case, user terminal 10A includes prompt generation model 27A and functions as first element processing unit 21A and second element processing unit 22A. [Explanation of symbols]
[0125] 10...Software design support system 10A...User terminal 20...Software design support device 20A, 30A...Computer 21A...First element processing section 22A...Second element processing section 25A...Display processing section 26A...Output processing section 27A…Prompt Generation Model 30...Information processing device 37A...LLM
Claims
1. A software design support device, a first processing unit that provides a structured canvas that has consistency in dependency relationships between design requirement elements and is structured to eliminate mutual interference with respect to a page hierarchy, page design, specification definition, and source code in the software, based on design needs of a design object; a generative model configured to generate, based on a modification request input in natural language to the structured canvas and the state, a modification instruction that causes a large-scale language model to maintain the state and modify a design requirement element in the structured canvas; and a second processing unit that writes back to the structured canvas a result of modifying the large-scale language model based on the modification instruction generated by the generative model. A software design support device characterized by:
2. the first processing unit associates the first draft of the design requirement element in the structured canvas provided by the first processing unit with the design needs and stores the first draft; the second processing unit generates the modification instruction for reflecting the modification request in the primary proposal using the primary proposal and the modification request stored in the first processing unit, causes the large-scale language model to generate a secondary proposal of the design requirement element in which the modification request is reflected in the primary proposal from the modification instruction, and stores the secondary proposal in association with the design needs. The software design support device according to claim 1.
3. The design object is a front end of the software. The software design support device according to claim 1.
4. an output processing unit that receives a download request and allows the front end to download; 4. The software design support device according to claim 3.
5. The generative model is and generating the modification instruction based on knowledge relating to the dependency relationships and the mutual interference between the design requirement elements for generating the structured canvas and the modification request. The software design support device according to claim 1.
6. The first processing unit a model configured to generate generation instructions for causing the large-scale language model to generate the design requirement elements in the structured canvas based on knowledge relating to the dependencies and the mutual interference between the design requirement elements and the design needs of the design object, and providing the structured canvas using the results generated by the large-scale language model based on the generation instructions generated by the model; The software design support device according to claim 1.
7. A software design support method, comprising: The computer To provide a structured canvas that has consistency of dependency between design requirement elements and is structured to eliminate mutual interference for page hierarchy, page design, specification definition, and source code in software based on design needs of a design object; a generative model configured to generate, based on a modification request input in natural language to the structured canvas and the state, a modification instruction that causes a large-scale language model to maintain the state and modify a design requirement element in the structured canvas, and write the result of modifying the large-scale language model based on the modification instruction generated by the generative model back to the structured canvas. A software design support method comprising:
8. A software design support program, On the computer, To provide a structured canvas that has consistency of dependency between design requirement elements and is structured to eliminate mutual interference for page hierarchy, page design, specification definition, and source code in software based on design needs of a design object; a generative model configured to generate, based on a modification request input in natural language to the structured canvas and the state, a modification instruction that causes a large-scale language model to maintain the state and modify a design requirement element in the structured canvas, and the result of modifying the large-scale language model based on the modification instruction generated by the generative model is written back to the structured canvas; A software design support program characterized by:
Citation Information
Patent Citations
Method and system for generating application data editors
JP2009534766A
Live updating of machine learning models
JP2021068442A
System and method for developing user interface applications
JP2023553535A
ARCHITECTURE PROPOSAL DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
JP7678947B1
Business process technology for the enterprise
US8015541B1