Engineering project investment evaluation method, system, device, medium, and program product

By extracting functional points using large language models and NLP techniques, and combining them with historical data from the development team, a correspondence between functional points and story points is established. This solves the problem of accuracy in investment assessment in software engineering projects, enabling rapid and accurate estimation of project costs and scale.

CN122111382APending Publication Date: 2026-05-29BEIJING HI TECH TECH

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING HI TECH TECH
Filing Date
2026-03-02
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

Existing technologies make it difficult to accurately predict project investment in software engineering projects, especially when user needs change and development team efficiency varies, which increases the difficulty of predicting project size and cost.

Method used

By combining large language models with NLP technology, functional points in user requirement texts are extracted, a correspondence between functional points and story points is established, and historical development data of the development team is used to determine the estimated cost of the project and conduct investment evaluation.

Benefits of technology

It enables rapid and accurate project investment assessment based on changes in user needs and the characteristics of the development team. It is suitable for various development teams in agile development, takes into account the team's historical development situation, and improves the accuracy of the estimation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122111382A_ABST
    Figure CN122111382A_ABST
Patent Text Reader

Abstract

The application relates to an engineering project investment evaluation method, system, device, medium and program product, and belongs to the field of software engineering.The method comprises the following steps: obtaining user requirement text of an engineering project; estimating function points of the project according to the text; estimating engineering project story points based on historical development data of a development team of the project and the user requirement text; determining the corresponding relationship between the function points and the story points; determining changed function points according to new requirement text; determining story points of the new requirement text according to the corresponding relationship between the changed function points and the story points; determining the estimated cost of the engineering project based on the story points of the new requirement text and the historical development data of the development team of the engineering project; and performing investment evaluation of the engineering project based on the estimated cost.The application can perform more accurate investment evaluation according to the change of user requirements, the change of function points and the characteristics of the development team, and is suitable for investment evaluation of various development teams in agile development.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of software engineering technology, and in particular to a method, system, equipment, medium and program product for evaluating investment in engineering projects. Background Technology

[0002] Accurate and scientific investment assessment is the first step to the success of software engineering projects. Current software engineering project development requires the adoption of agile models to respond promptly to changes in user needs, thereby maintaining or improving user retention rates. Given the varying degrees of change in user needs and the different development efficiencies of development teams, predicting the scale and cost of software engineering projects becomes increasingly difficult. Therefore, how to conduct more accurate project investment assessments is one of the key issues that needs to be addressed in software engineering project management. Summary of the Invention

[0003] To address the aforementioned issues, this application provides a method, system, equipment, medium, and program product for evaluating investment in engineering projects.

[0004] Firstly, this application provides a method for evaluating investment in engineering projects, applied to a large language model, comprising the following steps: Obtain the user requirement text for the project; estimate the functional points of the project based on the user requirement text; estimate the story points of the project based on the historical development data of the project's development team and the user requirement text; determine the correspondence between functional points and story points; determine the changed functional points based on new user requirement text; determine the story points of the new user requirement text based on the correspondence between the changed functional points and story points; determine the estimated cost of the project based on the story points of the new user requirement text and the historical development data of the project's development team; and conduct an investment assessment of the project based on the estimated cost.

[0005] Secondly, this application provides an engineering project investment evaluation system, applied to a large language model, including: The user requirements analysis module is used to obtain the user requirements text of the project; estimate the functional points of the project based on the user requirements text; estimate the story points of the project based on the historical development data of the project's development team and the user requirements text; and determine the correspondence between functional points and story points. The new requirements analysis and evaluation module is used to determine the changed functional points based on the user's new requirements text; determine the story points of the user's new requirements text based on the correspondence between the changed functional points and story points; determine the estimated cost of the project based on the story points of the user's new requirements text and the historical development data of the project's development team; and conduct an investment evaluation of the project based on the estimated cost.

[0006] Based on the same inventive concept, this application provides an electronic device, including: a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes the computer program to implement the steps of the aforementioned engineering project investment evaluation method.

[0007] Based on the same inventive concept, this application provides a computer storage medium storing computer-executable instructions, which, when executed, implement the steps of the aforementioned engineering project investment evaluation method.

[0008] Based on the same inventive concept, this application provides a computer program product, including a computer program / instructions, which, when executed by a processor, implements the steps of the aforementioned engineering project investment evaluation method.

[0009] The beneficial effects of the above-mentioned technical solutions provided in this application include at least the following: The technical solution of this application can determine the corresponding estimated cost of software engineering projects and conduct investment assessment based on changes in user needs and functionalities, combined with the historical development data of the development team. It can quickly and accurately estimate the project scale and cost, and takes into account the historical development situation of the development team. It can conduct more accurate investment assessments based on the characteristics of the development team, and is applicable to investment assessments of various development teams in agile development.

[0010] Other features and advantages of this application will be set forth in the following description or may be learned by practicing this application.

[0011] The technical solution of this application will be further described in detail below with reference to the accompanying drawings and embodiments. Attached Figure Description

[0012] The accompanying drawings are provided to further illustrate the present application and form part of the specification. They are used together with the embodiments of the present application to explain the application and do not constitute a limitation thereof. In the drawings: Figure 1 This is a flowchart illustrating the engineering project investment evaluation method as described in this application. Figure 2 This is a block diagram of the engineering project investment evaluation system according to an embodiment of this application; Figure 3 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation

[0013] Exemplary embodiments of the present application will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this application will be thorough and complete, and will fully convey the scope of the present application to those skilled in the art.

[0014] To address the problems existing in the prior art, embodiments of this application provide a method, system, equipment, medium, and program product for evaluating engineering project investment.

[0015] This application provides a method for evaluating investment in engineering projects, applied to large language models, the process of which is as follows: Figure 1 As shown, it includes the following steps: Step 1: Obtain the user requirement text of the project; estimate the functional points of the project based on the user requirement text; estimate the story points of the project based on the historical development data of the project's development team and the user requirement text; determine the correspondence between functional points and story points.

[0016] In software engineering, story points and function points are two commonly used methods for size estimation, each with its own emphasis. Existing software engineering methods do not establish a corresponding relationship between them.

[0017] Story points are relative estimation units in agile development frameworks like Scrum, used to measure the workload, complexity, and risk of a user story, rather than the size of the feature itself. Their core purpose is to help project development teams quickly align iteration plans by comparing "relative sizes," such as "this user story is twice as complex as that one," to determine the deliverable scope of each sprint. In software engineering, a sprint refers to the development iteration cycle of the Scrum framework, corresponding to short-term, rapidly completed development tasks. For example, a team might assign 1 story point to "user login" (simple) and 5 story points to "payment functionality" (complex, requiring third-party interface integration). Story points use a relative scale within the team, taking into account factors such as the team's technical capabilities, toolchain, and process maturity. For instance, the same user story might have different story points in different teams; a novice team might consider "payment functionality" to be 8 story points, while an experienced team might consider it 5, because their estimation is based on the team's consensus on "the workload required to complete the user story." This "team-bound" characteristic makes it impossible to compare story points across teams. For example, the workload and cost of a story point in team A cannot be compared with those of a story point in team B.

[0018] Function points (FPS) are standardized units of measurement for functional scale, using standards such as ISO / IEC 24570. They measure the number of functions a software system can provide to users, such as input, output, query, and data storage. Their core purpose is to objectively quantify the "user value" of software, supporting comparisons across teams and projects. For example, Project 1 might have 100 FPS, while Project 2 might have 150, or comparisons could be made with industry benchmarks (such as the ISBSG database). For instance, according to IFPUG (International Function Point Users Group) analysis, FPS are categorized into five types: external input (e.g., form submission), external output (e.g., report generation), external query (e.g., data retrieval), internal logic files (e.g., database tables), and external interface files (e.g., third-party data interfaces). Each category is weighted by complexity; for example, simple input might have 10 FPS, and complex input 15. FPS use an "absolute scale from the user's perspective," estimating without considering the team's technical capabilities or tools, focusing only on the characteristics of the software's functionality itself, such as the complexity of input and output, and the amount of data stored. For example, the number of features for the same user story is the same across different teams. For instance, the number of features for a "payment function" is determined by the number of third-party interfaces integrated and the data validation logic, as its estimation is based on standardized feature definitions. This "user-bound" characteristic allows feature counts to be compared across teams and projects, such as Project X having 120 features and Project Y having 150. It can also be compared to industry benchmarks, such as the average feature count productivity in the user industry being 10 features per person-month.

[0019] As a supplement, based on the user requirement text, the functional points of the project are estimated, including steps S1 to S6: Step S1: Using NLP techniques, such as a multimodal large language model, extract "data functions" and "transaction functions" from the user's requirement text to identify the function point types. Function points are divided into two categories: data functions and transaction functions.

[0020] Data functions: Internal Logical File (ILF), which is a group of logical data maintained internally by the system under development, such as database tables; External Interface File (EIF), which is a group of external data referenced by the system, such as third-party API data.

[0021] Transaction functions: External Input (EI), processing of data input by users into the system, such as form submission; External Output (EO), processing of data output by the system to users, such as report generation; External Query (EQ), processing of data queried by users, such as conditional retrieval.

[0022] Step S2: Determine the application boundary. The boundary is the interaction interface between the system to be developed and the external environment such as users and other systems. It needs to be defined from the user's perspective, not from the technical implementation. For example, in an e-commerce system, "user login" is an internal system function, which is within the application boundary, while "calling the WeChat Pay API" is an external interface, which is outside the application boundary.

[0023] Step S3: Calculate the Unadjusted Function Point (UFP) of the data function. The complexity of a data function is determined by the Record Element Types (RET) and Data Element Types (DET). The RET of a data function corresponds to the number of logical records in the data set, and the DET of a data function corresponds to the number of fields in the data set.

[0024] For example, if the total number of RETs is 5 and the total number of DETs is 19, ILFs are classified into low, medium, and high complexity based on the combination of RETs and DETs; EIFs are also classified into low, medium, and high complexity. The classification of low, medium, and high complexity can be based on one-third of the sum of the total number of RETs and DETs, rounded down. For example, if the total number of RETs is 5 and the total number of DETs is 19, the corresponding low, medium, and high complexity classification conditions are: less than 8 is low, 8 to 16 is medium, and more than 16 is high. For example, in a project with a total of 5 RETs and 19 DETs, an ILF containing "User ID, Name, Email" (3 DETs) and "User Basic Information" (1 RET) has 4 function points in the combination of RETs and DETs; this data function has low complexity.

[0025] Step S4: Calculate the Unadjusted Function Point (UFP) of the transaction function. The complexity of the transaction function is determined by the File Type Referenced (FTR) and Data Element Type (DET). The FTR of the transaction function corresponds to the number of data elements read / maintained by the transaction function; the DET of the transaction function corresponds to the number of input / output fields in the transaction processing.

[0026] For example, if the total number of FTRs is 5 and the total number of DETs is 19, EI, EO, and EQ are classified as low, medium, and high complexity based on the combination of FTRs and DETs. The classification criteria for low, medium, and high complexity can be one-third of the sum of the total number of FTRs and DETs, rounded down. For instance, if the total number of FTRs is 5 and the total number of DETs is 19, the corresponding low, medium, and high complexity classification conditions are: less than 8 is low, 8 to 16 is medium, and more than 16 is high. For example, an EI operation of "Add User" references one ILF (user table) and processes "Name, Email, Password" (3 DETs). The functional points of the combination of FTRs and DETs are 4, and the data functional complexity of this operation is low.

[0027] Step S5: Determine the Value Adjustment Factor (VAF). The adjustment factor is used to adjust for the impact of non-functional requirements (such as performance, security, and usability) on scale, based on an assessment of multiple common system characteristics (such as data communication, distributed processing, and performance). Each characteristic is categorized by its impact level from 0 to 5, where 0 corresponds to no impact, a higher number indicates a greater impact, and 5 corresponds to a significant impact. The total degree of influence (TDI) is calculated by summing these values. The adjustment factor calculation formula is: VAF = 0.65 + 0.01 × TDI. For example, if TDI = 35, then VAF = 0.65 + 0.35 = 1.00, and a VAF of 1 indicates no adjustment.

[0028] Step S6: Calculate the Adjusted Function Point (AFP). The final function point is the unadjusted function point multiplied by the adjustment factor: AFP = (Data Function UFP + Transaction Function UFP) × VAF. For example, if the Data Function UFP is 10, the Transaction Function UFP is 60, and VAF = 1.00, then the adjusted function point AFP is 70.

[0029] As a supplement, based on the historical development data of the project's development team and the user requirement text, the story points of the project are estimated, including the following steps: The historical development data of the project development team is obtained, including historical project requirement texts and their corresponding story points. The user requirement text and the historical project requirement text are segmented into words, and the semantic similarity between the segmented words of the user requirement text and the historical project requirement text is calculated. The story point corresponding to the segmented word of the historical project requirement text with the highest semantic similarity to the segmented word of the user requirement text and greater than a similarity threshold is identified as the story point corresponding to the segmented word of the user requirement text and added to the story points of the project. As a supplement, if the story point corresponding to the segmented word of the historical project requirement text does not meet the similarity threshold, the technical complexity of different story points is calculated. The complexity is weighted by the semantic similarity to the segmented word of the user requirement text, multiplied by the workload of the story point corresponding to the segmented word of the historical project requirement text, and then summed to obtain the story point for that segmented word of the user requirement text.

[0030] Because story points are tied to the development team, the above method takes into account the development team's historical data, making the identified story points for user requirement texts more accurate.

[0031] As a supplement, the correspondence between functional points and story points is determined, including the following steps: Obtain historical development data of the project's development team, including historical project requirement texts and their corresponding story points and function points; annotate the correspondence between function points and story points in the historical development data to obtain a mapping table of story points and function points. For example, annotate the corresponding function points and story points on the historical project schedule, and map function points and story points on the same schedule; train a function point and story point mapping model based on a multi-classification model architecture based on the mapping table; input the function points and story points of the project into the mapping model to obtain the correspondence between the function points and story points of the project.

[0032] As a supplement, based on the mapping table, a function point and story point mapping model based on a multi-classification model architecture is trained, including: collecting mapping tables of story points and function points from historical projects, labeling the story point and function point conversion rates and their categories in each mapping table, such as "high / medium / low"; establishing training samples, each sample including data features such as project type, function point complexity, and story point / function point conversion rate; training a supervised learning model (such as a random forest) using the labeled training samples to obtain the function point and story point mapping model, outputting the predicted story point and function point conversion rates and their categories; sampling training samples as test samples to test the accuracy (such as precision and recall) of the function point and story point mapping model, and adjusting model parameters, such as the number of trees in the random forest, based on the test data. Function point complexity can be determined using the methods in steps S3 and S4, or other reference units such as the average function point productivity of software in the industry where the project to be developed is located can be used to evaluate the function point complexity.

[0033] Step 2: Based on the user's new requirement text, determine the changed functional points; based on the correspondence between the changed functional points and story points, determine the story points of the user's new requirement text; based on the story points of the user's new requirement text and the historical development data of the project's development team, determine the estimated cost of the project; based on the estimated cost, conduct an investment assessment of the project.

[0034] As a supplement, based on the user's new requirement text, identify the changed functionalities, including the following steps: Based on the user's new requirement text, re-estimate the functional points of the project; compare the re-estimated functional points of the project with the functional points estimated based on the user's requirement text to determine the changed functional points. Changed functional points include functional points missing in the new requirement text compared to the original requirement text, and functional points added in the new requirement text compared to the original requirement text.

[0035] As a supplement, based on the correspondence between the changed functional points and story points, the story points for the new user requirement text are determined, including the following steps: Based on the changed functional points, the corresponding story points of the project are modified to obtain the story points for the new user requirement text. If the changed functional point is one that is missing from the original requirement text, then the story points corresponding to the missing functional point are deleted from the original requirement text. If the changed functional point is one that is added to the original requirement text, then the story points corresponding to the added functional point are added from the original requirement text.

[0036] As a supplement, based on the story points of the user's new requirement text and the historical development data of the project's development team, the estimated cost of the project is determined, including the following steps: Obtain historical development data of the project development team, including historical project requirement texts and their corresponding story points and workloads; label the story points in the historical development data and the story points in the new user requirement text with technical complexity. Story point complexity can be assessed using other reference units such as the average story point productivity of the development team for the software in the industry where the project is located; determine the story points in the historical development data that have the highest semantic similarity to the story points in each of the new user requirement texts; based on the technical complexity of the story points in the new user requirement texts and the story points in the historical development data, identify the story points in the historical development data that have the highest semantic similarity to the story points in each of the new user requirement texts. The workload of story points in historical development data is modified to obtain the workload of story points in the new user requirement text. For example, the story points in the new user requirement text include a1, a2, a3, etc. In the historical development data of the development team of the project to be developed, the story points with the highest semantic similarity are h1, h2, and h3, respectively. Among them, the similarity between a1 and h1 is s1, the similarity between a2 and h2 is s2, and the similarity between a3 and h3 is s3. The technical complexities of a1, a2, and a3 are at1, at2, and at3, respectively, and the technical complexities of h1, h2, and h3 are ht1, ht2, and ht3, respectively. The actual workloads of h1, h2, and h3 are w1, w2, and w3, respectively. Then, the workload of story point a1 is... The workload for story point A2 is The workload for the A3 story point is Based on the workload of the story points in the new user requirement text, the estimated cost of the project is determined, specifically including determining the estimated cost of the project based on the workload and the unit workload cost of the development team.

[0037] Based on the estimated cost, an investment assessment is conducted for the project, and the project's return on investment (ROI), net present value (NPV), internal rate of return (IRR), and payback period are calculated.

[0038] In the above method of this embodiment, the technical solution of this application can determine the corresponding estimated cost of the software engineering project and conduct investment evaluation based on changes in user needs and functional points, combined with the historical development data of the development team. It can quickly and accurately estimate the project scale and cost, and takes into account the historical development situation of the development team. It can conduct more accurate investment evaluation according to the characteristics of the development team, and is applicable to investment evaluation of various development teams in agile development.

[0039] The similarity threshold and other thresholds in this application can be obtained or adjusted by assigning initial values ​​and then modifying them based on the corresponding effects of the current thresholds through a posteriori feedback. Those skilled in the art can change the above-described order of recording or implementation without departing from the scope of protection of this application.

[0040] Another embodiment of this application provides an engineering project investment evaluation system, applied to large language models, such as... Figure 2 As shown, it includes: The user requirements analysis module is used to obtain the user requirements text of the project; estimate the functional points of the project based on the user requirements text; estimate the story points of the project based on the historical development data of the project's development team and the user requirements text; and determine the correspondence between functional points and story points. The new requirements analysis and evaluation module is used to determine the changed functional points based on the user's new requirements text; determine the story points of the user's new requirements text based on the correspondence between the changed functional points and story points; determine the estimated cost of the project based on the story points of the user's new requirements text and the historical development data of the project's development team; and conduct an investment evaluation of the project based on the estimated cost.

[0041] Regarding the system in the above embodiments, the specific ways in which each module performs operations have been described in detail in the embodiments related to the method, and will not be elaborated here.

[0042] In this embodiment, the technical solution of this application can determine the corresponding estimated cost of a software engineering project and conduct an investment assessment based on changes in user needs and functional points, combined with the historical development data of the development team. It can quickly and accurately estimate the project scale and cost, and takes into account the historical development situation of the development team. It can conduct a more accurate investment assessment based on the characteristics of the development team, and is applicable to the investment assessment of various development teams in agile development.

[0043] Based on the same inventive concept, embodiments of this application also provide an electronic device, the structure of which is as follows: Figure 3 As shown, it includes: a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes the computer program to implement the steps of the aforementioned engineering project investment evaluation method.

[0044] Based on the same inventive concept, this application also provides a computer storage medium storing computer-executable instructions, which, when executed by a processor, implement the steps of the aforementioned engineering project investment evaluation method.

[0045] Based on the same inventive concept, this application provides a computer program product, including a computer program / instructions, which, when executed by a processor, implements the steps of the aforementioned engineering project investment evaluation method.

[0046] Any modifications, additions, and equivalent substitutions made within the scope of the principles of this application shall still fall within the scope of the patent coverage of this application.

Claims

1. A method for evaluating investment in engineering projects, characterized in that, When applied to large language models, the following steps are included: Obtain the user requirement text for the project; estimate the functional points of the project based on the user requirement text; estimate the story points of the project based on the historical development data of the project's development team and the user requirement text; determine the correspondence between functional points and story points; determine the changed functional points based on new user requirement text; determine the story points of the new user requirement text based on the correspondence between the changed functional points and story points; determine the estimated cost of the project based on the story points of the new user requirement text and the historical development data of the project's development team; and conduct an investment assessment of the project based on the estimated cost.

2. The method as described in claim 1, characterized in that, Based on the historical development data of the project's development team and the user requirement text, the story points of the project are estimated, including the following steps: Obtain historical development data of the development team for the project, including historical project requirement texts and their corresponding story points; segment the user requirement text and the historical project requirement text into words respectively, calculate the semantic similarity between the word segments of the user requirement text and the word segments of the historical project requirement text, and determine the story point corresponding to the word segment of the historical project requirement text that has the highest semantic similarity to the word segment of the user requirement text and is greater than the similarity threshold as the story point corresponding to the word segment of the user requirement text, and add it to the story points of the project.

3. The method as described in claim 1, characterized in that, Determine the correspondence between functional points and story points, including the following steps: Obtain historical development data of the development team for the project, including historical project requirement texts and their corresponding story points and function points; label the correspondence between function points and story points in the historical development data to obtain a mapping table of story points and function points; train a function point and story point mapping model based on a multi-classification model architecture based on the mapping table; input the function points and story points of the project into the mapping model to obtain the correspondence between the function points and story points of the project.

4. The method as described in claim 1, characterized in that, Based on the user's new requirement text, identify the changed functionalities, including the following steps: Based on the user's new requirement text, re-estimate the function points of the project; compare the re-estimated function points of the project with the function points of the project estimated based on the user's requirement text, and determine the changed function points.

5. The method as described in claim 1, characterized in that, Based on the correspondence between the changed functional points and story points, determine the story points for the user's new requirement text, including the following steps: Based on the changed functional points, the corresponding story points of the project are modified to obtain the story points of the new user requirement text.

6. The method as described in claim 1, characterized in that, Based on the story points of the user's new requirement text and the historical development data of the project's development team, the estimated cost of the project is determined, including the following steps: The process involves: acquiring historical development data from the project development team, including historical project requirement texts and their corresponding story points and workloads; labeling the story points in the historical development data and the story points in the new user requirement text with technical complexity; identifying the story point in the historical development data that has the highest semantic similarity to the story point in each of the new user requirement texts; modifying the workload of the story point in the historical development data that has the highest semantic similarity to the story point in each of the new user requirement texts based on the technical complexity of the story points in the new user requirement texts and the historical development data story points, thus obtaining the workload of the story point in the new user requirement text; and determining the estimated cost of the project based on the workload of the story point in the new user requirement text.

7. An engineering project investment evaluation system, characterized in that, Applications to large language models include: The user requirements analysis module is used to obtain the user requirements text of the project; estimate the functional points of the project based on the user requirements text; estimate the story points of the project based on the historical development data of the project's development team and the user requirements text; and determine the correspondence between functional points and story points. The new requirements analysis and evaluation module is used to determine the changed functional points based on the user's new requirements text; determine the story points of the user's new requirements text based on the correspondence between the changed functional points and story points; determine the estimated cost of the project based on the story points of the user's new requirements text and the historical development data of the project's development team; and conduct an investment evaluation of the project based on the estimated cost.

8. An electronic device, characterized in that, include: A memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor, when executing the computer program, implements the steps of the method according to any one of claims 1 to 6.

9. A computer storage medium, characterized in that, The computer storage medium stores computer-executable instructions, which, when executed, implement the steps of the method according to any one of claims 1 to 6.

10. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method according to any one of claims 1 to 6.