Software cost database construction method
By building a software cost database, including project database, system benchmark database, functional benchmark database and demand benchmark database, the existing software cost estimation methods are solved by subjectively affecting and low efficiency, and software cost management with higher accuracy and efficiency is achieved.
Patent Information
- Application Number
- CN202411630608.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-15
- Publication Date
- 2025-03-07
AI Technical Summary
The existing software cost estimation methods are affected by personal experience and subjective judgments and low estimation efficiency, and cost databases in traditional industries cannot be directly applied to the software field.
A software cost database construction method is proposed. By collecting historical software project information, evaluating data credibility and standardizing processing, the project database, system benchmark database, functional benchmark database and demand benchmark database are built to achieve comprehensive management of the cost of software projects at each stage.
It improves the accuracy and efficiency of software cost estimation, provides more objective and reliable cost control means, and is suitable for the needs of all stages of software development.
Smart Images

Figure CN119576281A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of software cost, and is particularly applicable to a method for constructing a software cost database. Background Art
[0002] In software development projects, software cost estimation is a crucial link, which not only affects project budget management, but also directly relates to the smooth progress of the project and risk control. At present, the commonly used software cost estimation methods mainly include expert judgment, analog estimation, function point estimation and other methods. These methods are affected by personal experience and subjective judgment, and have low estimation efficiency.
[0003] The method of software cost estimation based on historical data emphasizes the use of large amounts of existing data for scientific and systematic analysis and calculation, providing a more objective and reliable basis for the estimation of new projects. This requires the construction of a software cost database with a reliable, complete and accurate data source that conforms to the characteristics of software projects, including various software project establishment and development stages.
[0004] Currently, the cost database based on historical data is mainly aimed at traditional industries such as electricity and construction. The classification of original data is simple and cannot be directly used in the software field. Summary of the invention
[0005] The present invention aims to provide a method for constructing a software cost database, aiming to solve the problem of constructing a cost database with reliable and complete data sources that meets the characteristics of software projects and covers all stages of software projects in software cost estimation.
[0006] To achieve the above object, the present invention adopts the following technical solutions: The software cost database construction method of the present invention comprises the following steps: S1, collect historical software project information, including the source of software project data, the stage of the software project, and the construction time of the software project; S2, evaluate the credibility of each historical software project information and standardize the credible historical software project information; S3, build project library, system benchmark library, function benchmark library, and requirement benchmark library; The project library is used to store basic information of software projects; The system benchmark library, function benchmark library, and demand benchmark library are gradually deepened according to the content and granularity of the software project to achieve software cost information management at different levels and dimensions; The system benchmark library is used to manage the cost information of the entire software system; The functional benchmark library is used to manage the cost information of specific functional modules or subsystems in the software system; The demand benchmark library is used to manage the cost information of specific demand items.
[0007] Furthermore, the stages of the software project include project establishment, design, bidding, implementation preparation, implementation, and final acceptance.
[0008] Furthermore, the credibility assessment factors include the source of software project data, the stage of the software project, the construction time of the software project, missing values, repeated values and error values of the project data. The credibility calculation formula is CL=wS×S+wP×P+wT×T+wM×M+wR×R+wE×E, wherein CL is the credibility value, S is the credibility value of the source of the software project data, P is the credibility value of the stage of the software project, T is the credibility value of the construction time of the software project, M is the missing value of the project data, R is the repeated value of the project data, and E is the error value of the project data; wS, wP, wT, wM, wR, and wE are the weights of the corresponding assessment factors.
[0009] Furthermore, the S value is divided into three levels, representing absolutely credible, relatively credible and uncredible respectively; the P is assigned a corresponding value according to the stage of the software project; the T=1-0.1*(XY), where X is the current year and Y is the year of construction of the software project; M=1-m / N, R=1-r / R, E=1-e / N, N is the total number of software projects, and m, r, and e are the number of missing values, the number of duplicate values, and the number of error values, respectively.
[0010] Furthermore, the credibility includes very credible, with a credibility greater than or equal to 90%; relatively credible, with a credibility greater than or equal to 75% and less than 90%; basically credible, with a credibility greater than or equal to 50% and less than 75%; partially credible, with a credibility greater than or equal to 25% and less than 50%; and uncredible, with a credibility less than 25%.
[0011] The advantage of the present invention is that based on the historical case data of software development, the entire process of building a software cost database, including data acquisition, data credibility evaluation, and data standardization processing, proposes a construction method based on a system benchmark library, a functional benchmark library, and a demand benchmark library, which is extremely consistent with the cost estimation needs of each stage of the software, helps to improve the accuracy of software cost estimation, and promotes software development cost control. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1 It is a schematic diagram of the process of the method of the present invention. DETAILED DESCRIPTION
[0013] The technical solutions in the embodiments of the present invention are described clearly and completely below. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0014] like Figure 1 As shown, the method for constructing a software cost database of the present invention comprises the following steps: S1, collect historical software project information, including the source of software project data, the stage of the software project, and the construction time of the software project.
[0015] According to the purpose, scope, expected results and user groups of the software cost database, reusable and representative historical software projects are selected as the basic data source. When selecting historical software projects, the use, management and development of the software project information after entry should be fully considered.
[0016] Complete software project information includes the region, project name, project time, industry, construction type (new construction / renovation), system name, number of construction functions, number of supporting requirements, construction content, development cycle engineering volume (man-months, if any), unit price of development cycle engineering volume (if any), total price, information source, etc.
[0017] When collecting historical software project information, you also need to pay attention to the following issues: 1. A large number of samples are needed. A large number of samples can improve the representativeness and reliability of the data. By increasing the number of samples, the data distribution is more uniform and the statistical results are more reliable. At the same time, the uncertainty caused by random errors can be reduced.
[0018] 2. The source nodes of sample information should be consistent. For example, the functions, requirements, and cost data of the software in the planning stage should be consistent with the software planning stage. This is because the cost of different stages of the software project has obvious differences.
[0019] 3. Outdated and abandoned software project information should be eliminated to ensure that the data in the software cost database can keep pace with the times and meet current software development needs.
[0020] S2, evaluate the credibility of each historical software project information and standardize the credible historical software project information.
[0021] The credibility assessment factors include the source of software project data, the stage of the software project, the construction time of the software project, missing values, duplicate values and error values of the project data.
[0022] The formula for calculating credibility is: CL=wS×S+wP×P+wT×T+wM×M+wR×R+wE×E Among them, CL is the credibility value, S is the credibility value of the software project data source, P is the credibility value of the software project stage, T is the credibility value of the software project construction time, M is the missing value of the software project data, R is the duplicate value of the software project data, and E is the error value of the software project data; wS, wP, wT, wM, wR, and wE are the weights of the corresponding evaluation factors.
[0023] The credibility value S of the software project data source is divided into three levels, representing absolutely credible, relatively credible and untrustworthy. Absolutely credible means that the software project data comes from official channels or authoritative third-party channels. Relatively credible means that the software project data comes from anonymous or low-credibility channels. Untrustworthy means that the software project data comes from unverifiable sources.
[0024] The credibility value P of the software project is assigned a corresponding value according to the stage the software project is in. The software project stage can be divided into software project establishment, software project design, software project bidding, software project implementation preparation, software project implementation, and software project completion acceptance stages.
[0025] The credibility value of the software project construction time is T=1-0.1*(XY), where X is the current year and Y is the software project construction year.
[0026] The missing value of software project data is M=1-m / N, the duplicate value of software project data is R=1-r / R, and the error value of software project data is E=1-e / N, where N is the total number of included software projects, m, r, and e are the number of missing values, the number of duplicate values, and the number of error values, respectively.
[0027] According to the final calculated credibility value CL, the credibility of software project data can be divided into five levels, namely very credible, relatively credible, basically credible, partially credible and untrustworthy. Among them, credibility greater than or equal to 90% is very credible; credibility greater than or equal to 75% and less than 90% is relatively credible; credibility greater than or equal to 50% and less than 75% is basically credible; credibility greater than or equal to 25% and less than 50% is partially credible; credibility less than 25% is untrustworthy.
[0028] After the credibility of the historical software project data collected above is evaluated, the historical software project information also needs to be standardized.
[0029] Standardization processing mainly includes the following contents: (1) Data cleaning: Clean the raw data to remove duplicate, missing and erroneous data, reduce data redundancy, errors and inconsistencies, and improve data quality.
[0030] 1) Missing value processing: You can directly delete records with missing values. This method is suitable for situations where there are few missing values and the impact on the analysis results is not significant. Alternatively, you can use the mean of the cost data of the same system / function / demand to fill in the missing values, as shown in the following formula: where n is the number of non-missing values, is a non-missing value.
[0031] 2) Duplicate value processing: directly delete duplicate records.
[0032] 3) Error value processing: Identify error values through data range check, logic check and other methods. And process the error values by direct deletion or mean filling.
[0033] (2) Data organization: Organize the cleaned data, including data format conversion, field splitting, data merging, etc., to make the data more standardized, easier to understand and use.
[0034] 1) Data format conversion: For dates, convert them to the "YYYY-MM-DD" format; for text, perform operations such as case conversion and space removal; for numbers, convert string type numbers to numeric types.
[0035] 2) Field splitting: For example, split the data according to function points, demand points, etc. to keep the data granularity consistent.
[0036] 3) Data merging: For example, merging data with finer granularity based on function points, demand points, etc. to keep the data granularity consistent.
[0037] (3) Data normalization: Normalize the collated data to make it conform to specific data standards or specifications, including unified units and naming rules, to improve the consistency and comparability of the data.
[0038] 1) Unified units: for example, unify the monetary unit into "10,000 yuan"; unify the unit of workload for customized software development into "man-month"; and unify the unit of finished software purchases into "sets".
[0039] 2) Unified naming rules: For example, all newly built systems / functions / requirements are prefixed with "new-", and all upgraded systems / functions / requirements are prefixed with "optimize-".
[0040] S3, builds project library, system benchmark library, function benchmark library, and requirement benchmark library.
[0041] The project library is used to store basic information of software projects, including the region to which the software project belongs, project name, project time, industry to which it belongs, information source and other basic project information.
[0042] The system benchmark library, function benchmark library, and requirement benchmark library are gradually deepened according to the software project content and granularity to achieve software cost information management at different levels and dimensions.
[0043] The system benchmark library is used to manage the cost information of the entire software system, which helps to grasp the overall investment of the project from a macro perspective and provide decision makers with a global cost reference. The main features of the system benchmark library include: ① Quick estimation: It is suitable for the early stage of project planning, when the specific functions and requirements of the software are not yet clear, but the type or scope of the software system to be built has been determined. Based on the system benchmark library, a rough cost estimate can be quickly made to help the project team and decision makers have a preliminary grasp of the project budget. ② Macro perspective: It can support the evaluation of the cost structure, risk and uncertainty of the entire project from a macro perspective, and provide a basis for the project team and decision makers to carry out strategic planning and resource allocation.
[0044] Specifically, the system benchmark library includes: System ID, used to uniquely identify each software system.
[0045] Project ID, used to associate with the project library.
[0046] System name, used to identify the software system.
[0047] System category, including two options: Upgrade and New Construction.
[0048] The system description is used to provide a general description of the software system.
[0049] The unit is set / person-month.
[0050] The quantity refers to the number of software systems that need to be purchased, or the number of man-months required to customize and develop a software system.
[0051] The unit price (ten thousand yuan) is the price required to purchase a set of finished software, or the man-month cost of custom-developing a software system.
[0052] The total price (ten thousand yuan) is the total cost of purchasing the finished software, or the total cost of custom-developing the software system.
[0053] Credibility is the evaluation level of the data quality of the historical software project, which is divided into five levels: CL1 / CL2 / CL3 / CL4 / CL5, corresponding to partially reliable, basically reliable, relatively reliable, and very reliable respectively.
[0054] The functional benchmark library is used to manage the cost information of specific functional modules or subsystems in the software system. By splitting the system into functional units, the cost of each functional module can be estimated more accurately, thereby helping the project team to better understand the distribution of costs and provide a basis for subsequent functional priority sorting, cost control, etc. Its main features include: ① Modularity: It can support independent estimation of each functional module of the software, which is convenient for modular management and optimization. ② Flexibility: It can support rapid evaluation and adjustment of the cost of related functional modules when functional requirements change, without having to re-estimate the entire system.
[0055] Specifically, the functional benchmark library includes: Feature ID, which is used to uniquely identify each software feature.
[0056] System ID, used to associate with the system library.
[0057] Project ID, used to associate with the project library.
[0058] Function name, used to identify the name of the software function.
[0059] Functional categories include two options: upgrading and renovation / new construction.
[0060] Functional description, used for detailed description of software functions.
[0061] The unit is man-month.
[0062] The quantity is the number of man-months required to custom develop the software functionality.
[0063] The unit price (10,000 yuan) is the man-month cost of custom-developing software function modules.
[0064] The total price (ten thousand yuan) is the total cost of custom-developed software functional modules.
[0065] Credibility is the assessment level of the data quality of the software project, which is divided into five levels: CL1 / CL2 / CL3 / CL4 / CL5.
[0066] The demand benchmark library is used to manage the cost information of specific demand items. The demand benchmark library can go deep into the project details, support the project team to estimate the cost of each specific demand item, and help to achieve more refined cost management. Its main features include: ① Accuracy: The demand benchmark library data can support very accurate estimates, which helps to strictly control the cost of each demand. ② Change management: It can support rapid response and cost estimation to demand changes, because the cost of each demand is independent, realizing flexible change management.
[0067] Specifically, the requirements benchmark library includes: Requirement ID, used to uniquely identify each requirement.
[0068] Function ID, used to associate with the function library.
[0069] System ID, used to associate with the system library.
[0070] Project ID, used to associate with the project library.
[0071] Requirement name, used to describe the name of the software requirement.
[0072] Demand categories include two options: upgrading and renovation / new construction.
[0073] Requirement description, used to describe the requirement in detail.
[0074] The unit is man-month.
[0075] The quantity is the number of man-months required for the custom development requirement item.
[0076] The unit price (10,000 yuan) is the man-month cost of custom-developing software requirements.
[0077] The total price (10,000 yuan) is the total cost of the customized development requirement items.
[0078] Credibility is an assessment level for software project data quality, which is divided into five levels: CL1 / CL2 / CL3 / CL4 / CL5.
[0079] The software cost database construction method of the present invention can select a suitable database management system (DBMS), such as MySQL, PostgreSQL, Oracle, etc., to create a database and table, write a data import script, import the existing data into the software cost database, and perform regular updates and maintenance. Based on the constructed system benchmark library, function benchmark library, and demand benchmark library, data support can be provided for software cost estimation, solving the problems of low estimation efficiency and lack of objectivity in traditional methods such as expert judgment, analog estimation, and function point estimation.
Claims
1. A method for constructing a software cost database, characterized in that: The following steps are involved: S1, collect historical software project information, including the source of software project data, the stage of the software project, and the construction time of the software project; S2, evaluate the credibility of each historical software project information and standardize the credible historical software project information; S3, build project library, system benchmark library, function benchmark library, and requirement benchmark library; The project library is used to store basic information of software projects; The system benchmark library, function benchmark library, and demand benchmark library are gradually deepened according to the content and granularity of the software project to achieve software cost information management at different levels and dimensions; The system benchmark library is used to manage the cost information of the entire software system; The functional benchmark library is used to manage the cost information of specific functional modules or subsystems in the software system; The demand benchmark library is used to manage the cost information of specific demand items.
2. A method for constructing a software cost database according to claim 1, characterized in that: The stages of the software project include project establishment, design, bidding, implementation preparation, implementation, and final acceptance.
3. The method for constructing a software cost database according to claim 1, characterized in that: The credibility assessment factors include the source of software project data, the stage of the software project, the construction time of the software project, missing values, repeated values and error values of the project data. The credibility calculation formula is CL=wS×S+wP×P+wT×T+wM×M+wR×R+wE×E, where CL is the credibility value, S is the credibility value of the source of the software project data, P is the credibility value of the stage of the software project, T is the credibility value of the construction time of the software project, M is the missing value of the project data, R is the repeated value of the project data, and E is the error value of the project data; wS, wP, wT, wM, wR, and wE are the weights of the corresponding assessment factors.
4. A method for constructing a software cost database according to claim 3, characterized in that: The S value is divided into three levels, representing absolutely credible, relatively credible and uncredible respectively; the P is assigned a corresponding value according to the stage of the software project; the T=1-0.1*(XY), where X is the current year and Y is the year of construction of the software project; M=1-m / N, R=1-r / R, E=1-e / N, N is the total number of software projects, m, r, e are the number of missing values, the number of duplicate values, and the number of error values respectively.
5. The method for constructing a software cost database according to claim 1, characterized in that: The credibility includes very credible, with a credibility greater than or equal to 90%; More credible, with a credibility greater than or equal to 75% and less than 90%; Basically credible, with a credibility greater than or equal to 50% and less than 75%; Partially credible, with a credibility greater than or equal to 25% and less than 50%; uncredible, with a credibility less than 25%.
Citation Information
Patent Citations
Method and system for detecting software reliability
CN101710306A
Software cost measurement method and cloud system based on NESMA function point estimation
CN110084439A
Software cost estimation system
CN115796906A
Cost index database management system
CN117474232A
Computer software cost evaluation method, computer equipment and storage medium
CN117492809A
