Apparatus for estimating development cost of software, method, and program for the same

Generative AI models help clients visualize software development costs and types by generating screen information, addressing the challenge of understanding software delivery in outsourcing.

JP2025122574APending Publication Date: 2025-08-21JITERA PTE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024018169
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-08
Publication Date
2025-08-21

AI Technical Summary

Technical Problem

Customers outsourcing software development face challenges in understanding the type of software to be delivered, leading to discrepancies between development companies' and clients' expectations, despite cost estimates.

Method used

A method utilizing generative AI models to generate screen explanation information and multiple screens based on client input, followed by estimating development costs, enabling clients to better understand the software and costs involved.

Benefits of technology

Clients gain deeper insights into the software development process and costs, bridging the understanding gap between clients and development companies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025122574000001_ABST
    Figure 2025122574000001_ABST
Patent Text Reader

Abstract

To enable a customer who entrusts development to deepen their understanding of software to be developed, in addition to the development cost of the software.SOLUTION: An apparatus 100, which has acquired description data representing description about software, requests a first AI model to generate screen description information about a plurality of screens necessary for the software (S201 to S203), and the first AI model transmits the screen description information (S204 and S205). Next, the apparatus 100 requests a second AI model to generate the plurality of screens necessary for the software (S206), and the second AI model generates them (S207) and transmits screen information (S208). The apparatus 100 requests a third AI model to estimate development cost (S209), and the AI model transmits the development cost to the apparatus 100 (S210 and S211). Then, the apparatus 100 transmits browsing information to a user terminal 110 (S212).SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an apparatus, a method, and a program for estimating software development costs. [Background technology]

[0002] Software development is very costly. For example, developing a booking service like Airbnb can cost between 50,000 and 100,000 USD, depending on the detailed functions. When outsourcing development to a development company, a cost estimate is often requested before development begins, and an estimate is prepared listing the estimated costs for each item, such as design, programming, and testing. Summary of the Invention [Problem to be solved by the invention]

[0003] However, for customers who outsource development, even when looking at such an estimate, it is not easy to imagine what kind of software will be delivered, and there may be a discrepancy between the development company's understanding and that of the client.

[0004] The present invention has been made in light of these points, and its purpose is to provide a device, method, or program for estimating software development costs that enables a client who commissions development to deepen their understanding of the software to be developed, in addition to the development costs. [Means for solving the problem]

[0005] In order to achieve this object, a first aspect of the present invention is a method for estimating software development costs, comprising the steps of: sending to a user terminal explanation input screen display information for inputting an explanation about the software; receiving from the user terminal explanation data including an explanation about the software input in natural language; making a first request to a first AI model, which is a generative AI model, to generate screen explanation information for multiple screens required for the software based on the explanation data; making a second request to a second AI model, which is a generative AI model, to generate the multiple screens based on the screen explanation information; making an estimate request to a third AI model to estimate the development cost for developing the generated multiple screens; and sending to the user terminal the estimated development cost and viewing information for viewing the generated multiple screens.

[0006] A second aspect of the present invention is a method of the first aspect, wherein the estimate request includes a step of making a third request to the third AI model, which is a generative AI model, to determine the number of each of multiple elements for developing the generated multiple screens, and a step of calculating a development cost according to the determined number of each of the elements.

[0007] A third aspect of the present invention is the method of the second aspect, wherein the plurality of elements includes an API and a UI component.

[0008] A fourth aspect of the present invention is the method of the third aspect, wherein the plurality of elements further comprises a table.

[0009] A fifth aspect of the present invention is the method of the third aspect, wherein the plurality of factors further includes at least one of screen size, browser type, user role, supported languages, security considerations, and service layer.

[0010] A sixth aspect of the present invention is the method of any one of the second to fifth aspects, further comprising the step of transmitting a description of the plurality of elements to the user terminal.

[0011] A seventh aspect of the present invention is the method of the first aspect, wherein the development costs include development costs per screen.

[0012] An eighth aspect of the present invention is the method of the first aspect, wherein said screen description information includes, for each screen, a screen name and a description of the function of the screen or a function name of the function.

[0013] A ninth aspect of the present invention is the method of the eighth aspect, wherein said screen description information further includes, for each screen, a type of application.

[0014] A tenth aspect of the present invention is the method according to the eighth or ninth aspect, wherein said screen description information further includes, for each screen, the type of OS.

[0015] An eleventh aspect of the present invention is the method of the first aspect, wherein the second request includes one or more access destinations for one or more images that can be used in the generated screen.

[0016] A twelfth aspect of the present invention is the method of the first aspect, comprising the steps of: receiving, from the user terminal, a request to modify a first screen of the plurality of screens; requesting a fourth AI model to generate a modified first screen by modifying the first screen based on the modification request; requesting a fifth AI model to estimate a development cost for developing the modified first screen; Further includes:

[0017] A thirteenth aspect of the present invention is the method according to the twelfth aspect, wherein the modification request is to delete or change a UI component included in the first screen.

[0018] A fourteenth aspect of the present invention is the method of the twelfth aspect, wherein the modification request is the addition of a UI component that the first screen does not have.

[0019] A fifteenth aspect of the present invention is the method according to any one of the first to thirteenth aspects, wherein the second AI model is identical to the first AI model.

[0020] The 16th aspect of the present invention is the method according to the 1st aspect, wherein said plurality of screens are screens displayed by HTML format files, respectively.

[0021] A seventeenth aspect of the present invention is the method of the first aspect, wherein the plurality of screens includes a screen corresponding to any of the functions that the software should have, which is determined based on the description data.

[0022] An eighteenth aspect of the present invention is the method of the first aspect, wherein the instructions include a plurality of answers to a plurality of questions.

[0023] A 19th aspect of the present invention is a program for causing a computer to execute a method for estimating software development costs, the program including the steps of: sending to a user terminal explanation input screen display information for inputting an explanation about the software; receiving from the user terminal explanation data including an explanation about the software input in natural language; making a first request to a first AI model, which is a generative AI model, to generate screen explanation information for multiple screens required for the software based on the explanation data; making a second request to a second AI model, which is a generative AI model, to generate the multiple screens based on the screen explanation information; making an estimate request to a third AI model to estimate the development cost for developing the generated multiple screens; and sending to the user terminal the estimated development cost and viewing information for viewing the generated multiple screens.

[0024] A 20th aspect of the present invention is an apparatus for estimating software development costs, which is configured to send explanation input screen display information for inputting an explanation about the software to a user terminal, receive explanation data from the user terminal including an explanation about the software input in natural language, make a first request to a first AI model, which is a generative AI model, to generate screen explanation information for multiple screens required for the software based on the explanation data, make a second request to a second AI model, which is a generative AI model, to generate the multiple screens based on the screen explanation information, make an estimate request to a third AI model to estimate the development cost for developing the generated multiple screens, and send the estimated development cost and viewing information for viewing the generated multiple screens to the user terminal. [Effects of the Invention]

[0025] According to one aspect of the present invention, description data representing a description of software input in natural language is acquired, and based on the description data, one or more generative AI models are used to generate screen description information for multiple screens required for the software. The multiple screens are then further generated based on the screen description information. By estimating the development costs for developing these screens, a client entrusting development can gain a deeper understanding of not only the development costs but also the type of software to be developed. [Brief explanation of the drawings]

[0026] [Figure 1] 1 is a diagram illustrating a system according to a first embodiment of the present invention. [Figure 2] FIG. 1 is a diagram showing the flow of a method according to a first embodiment of the present invention. [Figure 3A] FIG. 2 is a diagram showing an example of an explanation input screen according to the first embodiment of the present invention. [Figure 3B] FIG. 2 is a diagram showing an example of an explanation input screen according to the first embodiment of the present invention. [Figure 4] FIG. 4 is a diagram showing an example of screen description information generated in response to a first request according to the first embodiment of the present invention. [Figure 5] FIG. 10 is a diagram illustrating an example of a prompt included as part of the code for the first request according to the first embodiment of the present invention. [Figure 6] FIG. 10 is a diagram illustrating an example of a code for a second request according to the first embodiment of the present invention. [Figure 7A] FIG. 10 is a diagram illustrating an example of a prompt included as part of the code for the second request according to the first embodiment of the present invention. [Figure 7B] FIG. 10 is a diagram illustrating an example of a prompt included as part of the code for the second request according to the first embodiment of the present invention. [Figure 8A] 5 is a diagram showing an example of screen information generated based on the screen description information shown in FIG. 4. FIG. [Figure 8B] 5 is a diagram showing an example of screen information generated based on the screen description information shown in FIG. 4. FIG. [Figure 9] 9 is a diagram showing an example of a screen displayed based on the screen information shown in FIG. 8. FIG. [Figure 10] FIG. 10 is a diagram illustrating an example of a prompt included as part of the code for a third request according to the second embodiment of the present invention. [Figure 11] FIG. 10 is a diagram showing a plurality of elements generated by a third request according to the second embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

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

[0028] (First embodiment) 1 shows an apparatus according to a first embodiment of the present invention. In order to estimate software development costs, apparatus 100 communicates with a user terminal 110 used by a user and a platform 120 that provides a generative AI model via an IP network such as the Internet. While the generative AI model will be described as being provided by platform 120 that can communicate with apparatus 100 as an example, it is also possible to run an application for providing the generative AI model on apparatus 100 so that the generative AI model is provided by apparatus 100.

[0029] The device 100 includes a communication unit 101 such as a communication interface, a processing unit 102 such as a processor or CPU, and a storage unit 103 including a storage device or storage medium such as a memory or hard disk, and can be configured by executing a program for performing each process or operation in the processing unit 102. The device 100 may include one or more devices, computers, or servers. The program may include one or more programs, and may be recorded on a computer-readable storage medium to form a non-transitory program product. The program may be stored in a storage device or storage medium such as the storage unit 103 or a database 104 accessible from the device 100 via an IP network, and instructions included in the program may be executed by at least one processor of the processing unit 102. Data described below as being stored in the storage unit 103 may actually be stored in a storage device or storage medium such as the database 104, and vice versa.

[0030] First, the device 100 transmits to the user terminal 110 explanation input screen display information for inputting an explanation about the software (S201). The explanation input screen display information is transmitted, for example, as an HTML file, and is read by the web browser of the user terminal 110 to display the explanation input screen on the display screen of the user terminal 110. The explanation can also be input from an explanation input screen displayed within an application installed on the user terminal 110 by running the application and using the received explanation input screen display information. Note that the "explanation input screen" can take various forms, such as a web page, modal window, or pop-up window, when displayed on a web browser, and can be a single screen of the application when displayed within the application. In either case, any screen that includes an area for inputting an explanation about the software corresponds to the explanation input screen. Similar techniques can be applied to other screens mentioned in this specification.

[0031] The explanation can be input in multiple parts as multiple answers to multiple questions, and for at least some of the questions, a generative AI model may be used to generate questions based on the user's previous inputs and display them on the explanation input screen. As an example, a first input screen 310 shown in FIG. 3A is displayed on the user terminal 110. This screen has an input field 311 and displays the following options: “I want to build an app like Uber” “I want to build a booking website like Airbnb” “I want to build a food delivery app”

[0032] If the user selects "I want to build a food delivery app," the next second input screen 320 shown in FIG. 3B asks questions about the main functionality of the application they want to develop. Again, an input field 321 is provided, along with answer options. Here, the user may select an option and provide further explanation.

[0033] In this way, description data representing an explanation of the software can be acquired as multiple answers from the user (S202). The device 100 may evaluate whether the answers from the user are appropriate for defining the requirements of the software to be developed. Here, by responding to multiple answers in natural language, the user can provide an explanation of the software without preparing a detailed explanation document, but the device 100 may also acquire the description data by inputting an explanation document by uploading it or by other means.

[0034] Other questions for users include: “Do you have any specific features in mind?” “What's the type of application you want to build?” “Are you planning to launch the app on iOS, Android or both?”

[0035] The answer to the first question can be: “Menu Browsing” “Customizable Orders” “Restaurant Menu” “Order Tracking” “Order History” “Secure Payment” “User Profile”

[0036] The answer to the second question can be: “Web app” “Mobile app” “both”

[0037] Based on the acquired description data, the device 100 requests (hereinafter also referred to as "first request") the AI ​​model (hereinafter also referred to as "first AI model") to generate screen description information for multiple screens required for the software (S203). In response to the first request, the first AI model generates screen description information (S204) and transmits the screen description information to the device 100 (S205). For example, the device 100 can call the OpenAI API and make the first request to the first generative AI model provided on the platform 120. The OpenAI API is an example, and other APIs may also be used.

[0038] FIG. 4 shows an example of screen description information generated by the first AI model according to the first embodiment of the present invention. In this example, descriptions of screens corresponding to user-specified functions, "Menu Browsing" and "Customizable Orders," are generated in JSON format data. The property "features" indicates which of the functions the software should have, as determined based on the description data, the screen corresponds to. Other data included in the data include the screen name (property "screenName"), a description of the screen's function (property "description"), the application type (either a web application, a mobile application, or both) (property "appTypes"), and the OS type (property "platforms"). Although not shown, the device 100 generates similar data for multiple screens required for the software.

[0039] For each screen, the screen description information includes the screen name and a description of the screen's function or the function name of the function, and may further include other variables. If the function name is included and a separate definition of the function is provided, or if the generative AI model used in subsequent processing or operation can interpret the meaning of the function, the function description may not be included. Furthermore, the application type and OS type may be explicitly entered by the user as software descriptions and included in the screen description information, but default values ​​may be set to eliminate user input or not be included in the screen description information.

[0040] FIG. 5 shows an example of an instruction called a prompt, which is included as part of the code for the first request to the first generative AI model according to the first embodiment of the present invention. In the prompt, the variable {previousQuestionAnswer} is set to explanatory data acquired from the user terminal 110 or corresponding data as context. The acquired explanatory data may be set as is, or pre-processed data may be set. In the example of FIG. 5, explanatory data that describes the software as a dialogue including multiple answers to multiple questions is set to the variable. The multiple questions may be asked in a chat format, and repeated until the user's answers include answers to predetermined items or the generative AI model can extract an explanation corresponding to the items. The code for making the first request is stored in the storage unit 103. The device 100 acquires the code and executes the code obtained by setting required values ​​to variables included in the code.

[0041] Next, the device 100 requests (hereinafter also referred to as a "second request") the AI ​​model (hereinafter also referred to as a "second AI model") to generate multiple screens required for the software based on the generated screen description information (S206). In response to the second request, the second AI model generates multiple screens (S207) and transmits screen information for displaying the multiple screens to the device 100 (S208). The second AI model may be different from the first AI model, but for simplicity, they are shown as the same AI model in FIG. 2. The screen information may be data in HTML format, PDF format, or image data. In addition to transmitting screen information for multiple screens at once, screen information for each screen may be transmitted individually.

[0042] 6 shows an example of code for the second request according to the first embodiment of the present invention. The code is written in the programming language TypeScript, and creates a requirement for each element of the array result that stores the generated screen description information using the values ​​of the properties "screenName," "features," "description," and "platforms." The requirement is then provided to the function generateScreen for making the second request to generate screen information. The code for making the second request is stored in the storage unit 103, and the device 100 acquires the code and executes it by setting required values ​​to variables included in the code.

[0043] FIG. 7 shows an example of a prompt included as part of the code for the second request according to the first embodiment of the present invention. The prompt requests the generation of an HTML file for displaying a screen according to given requirements and includes the URL of one or more available images. In the example of FIG. 7, the URL is not an actual URL but a temporary URL for explanation purposes. The multiple screens to be generated may all be wireframes that do not include images. However, the second request according to this embodiment can make all or part of the multiple screens into screens that include one or more images, including one or more access points for one or more images that can be used in the generated screen. Furthermore, the second request can generate an HTML file that includes complex UI components such as input, button, list, date picker, and map in addition to images.

[0044] The function generateScreen stores the generated HTML file in a storage medium or storage device accessible from the storage unit 103 or the device 100, and returns the URL of the HTML file. Figure 8 is an example of screen information generated based on the screen description information shown in Figure 4, and Figure 9 is an example of a screen displayed based on the screen information shown in Figure 8. The URL of the image in the HTML file in Figure 8 has been changed to a temporary URL to match Figure 7. As shown in Figures 8 and 9, the second AI model, which is a generative AI model, was able to generate an HTML file including an img that specifies the image of the menu item and a button called "Customize."

[0045] As used herein, "AI model" refers to a machine learning model trained to predict output for a given input, and "generative AI model" refers to a large-scale language model (LLM) trained using text data to generate an output that is not likely to be included in the input. While LLMs employing the Transformer architecture are particularly preferred as generative AI models, the name of the architecture is expected to change as technology advances. Therefore, as used herein, "Transformer architecture" encompasses architectures that utilize one or more features of the Transformer architecture or improvements thereof. Whether "generative AI models" are identical in this specification is determined by whether the type of generative AI model specified by the user is identical. For example, in the case of the Open AI API, if the value of the variable "model" is identical, the generative AI models are considered identical. If the first and second AI models are not identical, they may be provided on the same platform 120. 2, where a second request is made after a first request, if the first and second AI models are the same generative AI model or are generative AI models provided on the same platform, these requests may be made by a single call to the API. Needless to say, the first and second requests may each include multiple requests and may include one or more processes performed by device 100 other than the request for the generative AI model.

[0046] Having received the screen information, the device 100 then requests the AI ​​model (hereinafter also referred to as the "third AI model") to estimate the development costs for developing the generated plurality of screens (S209). In response to the request, the third AI model estimates the development costs (S210) and transmits the estimated development costs to the device 100 (S211). Details of the estimation will be described later. The third AI model may be the same as the first AI model or the second AI model, or may be provided on the same platform or device as the first AI model or the second AI model. The third request may also include multiple requests, and may include one or more processes performed by the device 100 other than the request to the generating AI model.

[0047] Then, the device 100 transmits viewing information for viewing the development cost to the user terminal 110 (S212). The viewing information can display all or part of the generated multiple screens in a viewable manner, simultaneously with or separately from the estimated development cost.

[0048] In this way, in the first embodiment of the present invention, description data representing a description of software input in natural language is acquired, and based on the description data, screen description information for multiple screens required for the software is generated using one or more generative AI models, and the multiple screens are further generated based on the screen description information. Then, by estimating the development costs for developing these screens, the client entrusting the development can deepen their understanding not only of the development costs but also of the type of software to be developed.

[0049] (Second embodiment) More specifically, the development cost estimation described in the first embodiment may include requesting a third AI model (hereinafter also referred to as the "third request") to determine the number of each of the multiple elements required to develop the generated multiple screens, and calculating the development cost according to the determined number of each of the elements.

[0050] FIG. 10 shows an example of a prompt included as part of the code for a third request to a third AI model according to the second embodiment of the present invention. The prompt analyzes the generated screen information and determines multiple elements required to develop a screen displayed by the screen information. The code for making the third request is stored in the storage unit 103, and the device 100 acquires the code and executes it by setting required values ​​for variables included in the code. The third AI model may be, for example, a generative AI model trained on screen information for one or more previously developed screens and the development costs of each screen. More generally, the third AI model may be a generative AI model trained using past development costs. Therefore, the prompt shown in FIG. 10 can accurately determine the number of each of multiple elements required to develop each screen.

[0051] FIG. 11 shows multiple elements generated by a third request according to the second embodiment of the present invention. The multiple elements include APIs, UI components, tables, screen sizes, browser types, user roles, supported languages, security considerations, and service layers. The multiple elements include APIs and UI components, but other elements may be included as needed. By including screen information for one or more screens and examples of the development costs for each screen as needed in the request to the generative AI model, these elements can be determined without necessarily using the third AI model as a trained generative AI model. However, by using the third AI model as a trained generative AI model, even for complex screens that involve API calls, such as the Sign In and Sign Up screens shown in FIG. 9, the multiple elements required to develop the screen, including the number of each element, can be determined with high accuracy. As shown in part in FIG. 11, the third AI model can describe the specific content of each element, and the device 100 may transmit descriptions of these multiple elements to the user terminal 110.

[0052] Once the number of elements required to develop each screen and the number of each element can be determined, the correspondence between the elements and their development costs can be stored in the storage unit 103, allowing the development costs for each screen and all screens to be calculated by referring to the correspondence. In addition to the device 100 storing the correspondence as a correspondence table, the correspondence can be determined by an AI model that has learned one or more elements and their development costs. A calculation request to the AI ​​model can also include examples of one or more elements and their development costs, and the AI ​​model can be used to determine the correspondence. The AI ​​model referred to here may be the same as the third AI model or a different AI model. For example, in the example of Figure 11, the development costs for each item (PM, designer, developer, and QA) are calculated in man-days, and then multiplied by the amount per man-day for each item to convert the calculation to a monetary amount, resulting in an amount of approximately 320,000 yen.

[0053] (Third embodiment) The user can view the generated screens along with the development costs on the user terminal 110, and can send a correction request for one of the screens (hereinafter also referred to as the "first screen") to the device 100 (S213).

[0054] Examples of modification requests include deleting or changing UI components that the first screen has, adding UI components that the first screen does not have, changing or specifying the position of UI components that the first screen has, and changing the type of UI components that the first screen has.

[0055] Based on the modification request, the device 100 requests (hereinafter also referred to as the "fourth request") the AI ​​model (hereinafter also referred to as the "fourth AI model") to generate a modified first screen by modifying the first screen (S214). Then, the device 100 requests (hereinafter also referred to as the "fifth request") the AI ​​model (hereinafter also referred to as the "fifth AI model") to estimate the development costs for developing the modified first screen. The fourth and fifth AI models may be the same as any of the first to third AI models or may be provided on the same platform or device. FIG. 2 shows an example in which the fourth AI model is the same as the second AI model, and the second AI model is the same as the first AI model. The fourth and fifth requests may include multiple requests and may include one or more processes performed by the device 100 other than the request for the generating AI model. The code for making the fourth and fifth requests is stored in memory unit 103, and device 100 acquires it and executes the code obtained by setting the required values ​​to the variables included in the code. [Explanation of symbols]

[0056] 100 devices 101 Communications Department 102 Processing section 103 Storage section 104 Database 110 User Terminals 120 Platform 310 First input screen 311 Input field 320 Second input screen 321 input field

Claims

1. 1. A method for estimating software development costs, comprising: transmitting, to a user terminal, information for displaying a description input screen for inputting a description about the software; receiving description data from the user terminal, the description data including a description of the software entered in natural language; making a first request to a first AI model, which is a generative AI model, to generate screen description information for a plurality of screens required for the software based on the description data; making a second request to a second AI model, which is a generative AI model, to generate the plurality of screens based on the screen description information; making a request for estimate to a third AI model to estimate a development cost for developing the generated plurality of screens; transmitting the estimated development cost and viewing information for viewing the generated plurality of screens to the user terminal; Includes.

2. 10. The method of claim 1, The request for quotation is: making a third request to the third AI model, which is a generative AI model, to determine the number of each of a plurality of elements for developing the generated plurality of screens; calculating a development cost according to the determined number of each element; Includes.

3. 3. The method of claim 2, The elements include an API and a UI component.

4. 4. The method of claim 3, The plurality of elements further includes a table.

5. 4. The method of claim 3, The plurality of factors further includes at least one of a screen size, a browser type, a user role, a supported language, a security consideration, and a service layer.

6. 6. A method according to any one of claims 2 to 5, comprising: The method further includes transmitting a description of the plurality of elements to the user terminal.

7. 10. The method of claim 1, The development cost includes the development cost for each screen.

8. 10. The method of claim 1, The screen description information includes, for each screen, a screen name and a description of the function of the screen or the function name of the function.

9. 9. The method of claim 8, The screen description information further includes the type of application for each screen.

10. 10. The method of claim 8 or 9, The screen description information further includes the type of OS for each screen.

11. 10. The method of claim 1, The second request includes one or more access points for one or more images that can be used in the generated screen.

12. 10. The method of claim 1, receiving a modification request for a first screen of the plurality of screens from the user terminal; requesting a fourth AI model to generate a modified first screen by modifying the first screen based on the modification request; requesting a fifth AI model to estimate a development cost for developing the modified first screen; Further includes:

13. 13. The method of claim 12, The modification request is to delete or change a UI component included in the first screen.

14. 13. The method of claim 12, The modification request is to add a UI component that the first screen does not have.

15. 15. A method according to any one of claims 1 to 14, comprising: The second AI model is identical to the first AI model.

16. 10. The method of claim 1, The plurality of screens are each displayed using a file in HTML format.

17. 10. The method of claim 1, The plurality of screens include a screen corresponding to any of the functions that the software should have, which are determined based on the explanation data.

18. 10. The method of claim 1, The explanation contains multiple answers to multiple questions.

19. A program for causing a computer to execute a method for estimating software development costs, the program comprising: transmitting, to a user terminal, information for displaying a description input screen for inputting a description about the software; receiving description data from the user terminal, the description data including a description of the software entered in natural language; making a first request to a first AI model, which is a generative AI model, to generate screen description information for a plurality of screens required for the software based on the description data; making a second request to a second AI model, which is a generative AI model, to generate the plurality of screens based on the screen description information; making a request for estimate to a third AI model to estimate a development cost for developing the generated plurality of screens; transmitting the estimated development cost and viewing information for viewing the generated plurality of screens to the user terminal; Includes.

20. An apparatus for estimating software development costs, comprising: transmitting, to a user terminal, information for displaying a description input screen for inputting a description about the software, and receiving, from the user terminal, description data including a description about the software input in natural language; making a first request to a first AI model, which is a generative AI model, to generate screen description information for a plurality of screens required for the software based on the description data; making a second request to a second AI model, which is a generative AI model, to generate the plurality of screens based on the screen description information; making a quote request to a third AI model to estimate a development cost for developing the generated plurality of screens; The estimated development cost and viewing information for viewing the generated plurality of screens are transmitted to the user terminal.