Neural network algorithm-based value adjustment factor evaluation method and device
Through the value adjustment factor evaluation method based on neural network algorithm, the problem of inaccurate evaluation of the median adjustment factor assessment of traditional methods is solved, and more accurate software project resource requirements and progress predictions are realized, and the cost of corporate R & D management is reduced.
Patent Information
- Application Number
- CN202411446915.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-16
- Publication Date
- 2025-01-21
AI Technical Summary
Traditional functional point analysis methods have subjectivity and inaccuracy when evaluating value adjustment factors, making it difficult to accurately predict the resource requirements, progress and risks of software projects.
The value adjustment factor assessment method based on neural network algorithm is adopted, and the BP neural network model is constructed by selecting performance, hardware and reuse indicators, and training verification through historical project data to obtain more accurate value adjustment factor.
A more accurate and objective value adjustment factor assessment is achieved to help the software project team more accurately predict the demand, progress and risks during the project startup stage, and reduce the cost of corporate research and development management.
Smart Images

Figure CN119336373A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of software development, and in particular to a value adjustment factor evaluation method and device based on a neural network algorithm. Background Art
[0002] In modern society, software has penetrated into almost all fields, from business to medical care, from transportation to entertainment, and plays a vital role. However, many software projects vary greatly in size, complexity, and resource requirements, making it extremely complicated to accurately estimate project workload and predict the time and cost required to complete the project.
[0003] Software workload estimation is a key task in software project management. Its goal is to predict the resource requirements, progress and risks of the project as early as possible in the project start-up phase. An accurate workload estimation can help the project team to reasonably allocate resources, make reasonable plans, and make timely adjustments during the project cycle to ensure that the project can be delivered on time and with quality. In this context, the function point analysis method came into being. The function point analysis method divides the functions of the software into different types (such as input, output, query, logical operation, etc.), and then determines the weights according to the complexity and difficulty of these functions, and finally calculates the total number of function points of the project. This method is widely used in estimating the scale and workload of software projects because it provides a relatively simple but relatively accurate means of quantification.
[0004] However, the traditional function point analysis method may overlook some key factors. For example, in addition to the five components of data function and transaction function, the function point analysis method also defines the value adjustment factor (VAF). It is introduced to meet the non-functional requirements of customers for the system, such as quality requirements and technical requirements. It is based on 14 general system characteristics, each of which is related to the user's non-functional requirements in a certain direction of system development. Traditionally, the adjustment coefficient of the function point is evaluated by the general system characteristics and their impact. The evaluation of each conventional system characteristic is determined by its impact (DI), which is divided into 0-5 levels: 0 no impact 1 occasional impact 2 moderate impact 3 general impact 4 important impact 5 strong impact, and then the following 14 system conventional characteristics are scored in turn, and the adjustment factor of the function point is calculated by the following calculation formula. Value Adjustment Factor = (sum of (DI) * 0.01) + 0.65, but due to the company's scale and personnel expert reserve, the value adjustment factor is very subjective and inaccurate. Summary of the invention
[0005] In view of this, an embodiment of the present invention provides a method and device for evaluating a value adjustment factor based on a neural network algorithm, so as to solve the problem of inaccurate evaluation of the value adjustment factor in the function point analysis method.
[0006] In a first aspect, an embodiment of the present invention provides a value adjustment factor evaluation method based on a neural network algorithm, comprising the following steps:
[0007] S1: Select the impact indicator x i and output index y, the output index y is a value adjustment factor, the impact index x i Including performance indicators, hardware indicators and reusability indicators;
[0008] S2: Obtain sample data based on historical project data, and perform normalization on the sample data to obtain a sample set, wherein the sample data includes the impact indicator x i and the corresponding output indicator y;
[0009] S3: constructing a BP neural network, and training and verifying the BP neural network through the sample set, specifically:
[0010] S3.1: construct the BP neural network structure using a three-layer framework and determine the number of neurons in the input layer, hidden layer and output layer;
[0011] S3.2: Initialize the BP neural network and learning parameters, including weight W, threshold B, learning step α, calculation accuracy value ε, and maximum number of training times β;
[0012] S3.3: Randomly sort the sample data in the sample set and divide them into training sample set X in proportion in And the test sample set X test , the training sample set X is transformed into in Divide it into K parts and perform K iterations of training to obtain K usable data sets;
[0013] S3.4: inputting the K available data sets into the BP neural network in sequence for training, and selecting the model with the smallest output expected error as the optimal model;
[0014] S3.5: Pass the test sample set X test The optimal model is tested. If the test is passed, the optimal model is the trained BP neural network. Otherwise, retraining is performed.
[0015] S4: The impact indicator x of the project to be estimated i Perform normalization processing, input the trained BP neural network, obtain the corresponding output index y, and obtain the estimated value of the value adjustment factor through denormalization processing.
[0016] The beneficial effect of the above embodiment is that the output index is denormalized to obtain an estimated value of the value adjustment factor, which is used to evaluate the software development workload. This evaluation method uses the BP neural network algorithm to obtain a more accurate and objective value adjustment factor, and obtains a software workload evaluation through the function point analysis method, thereby predicting the resource requirements, progress and risks of the project as early as possible in the project startup phase, and reducing the enterprise's R&D management costs.
[0017] According to a specific implementation method of an embodiment of the present invention, in step S1, the performance indicators include the number of concurrent users, response time, and query rate per second (QPS); the hardware indicators include the number of CPU cores, memory size, hard disk size, number of servers, communication bandwidth, and communication frequency; and the reusability indicators include software reuse rate and technology maturity.
[0018] According to a specific implementation of the embodiment of the present invention, in step S2, the interval continuous data is normalized using the following formula:
[0019] x norm =2*(xx min ) / (x max -x min )-1;
[0020] For discrete data, a commonly used configuration is selected as the benchmark, and the corresponding normalized value is 0. The evaluation score is normalized to the range of [-1, 1] according to the positive and negative impact of the change of the influencing indicator on the output indicator.
[0021] According to a specific implementation of the embodiment of the present invention, in step S3.1, the number of neurons in the hidden layer is the square root of the product of the number of neurons in the input layer and the number of neurons in the output layer, and is rounded up.
[0022] According to a specific implementation of the embodiment of the present invention, in step S3.2, the learning step α is set to 0.05, the calculation accuracy value ε is set to 0.01, and the maximum number of training times β is set to 5000.
[0023] According to a specific implementation manner of the embodiment of the present invention, in the step S3.3, one available data set may be retained among the K available data sets to evaluate the model.
[0024] According to a specific implementation of an embodiment of the present invention, in step S3.4, the mean square error is used as the error function to calculate the model error E, and the gradient descent algorithm is used to adjust the network weights and thresholds to reduce the model error.
[0025] According to a specific implementation of the embodiment of the present invention, in step S4, the denormalization processing formula is as follows:
[0026] y=(y norm +1)*(y max -y min ) / 2+y min .
[0027] In a second aspect, an embodiment of the present invention provides an evaluation device based on the above value adjustment factor evaluation method, comprising:
[0028] Selection module, used to select the influencing indicator x i and output index y, the output index y is a value adjustment factor, the impact index x i Including performance indicators, hardware indicators and reusability indicators;
[0029] An acquisition module is used to acquire sample data according to historical project data, and normalize the sample data to acquire a sample set, wherein the sample data includes the impact indicator x i and the corresponding output indicator y;
[0030] A construction module is used to construct a BP neural network and train and verify the BP neural network through the sample set;
[0031] The estimation module is used to convert the impact index x of the project to be estimated i Perform normalization processing, input the trained BP neural network, obtain the corresponding output index y, and obtain the estimated value of the value adjustment factor through denormalization processing.
[0032] In a third aspect, an embodiment of the present invention further provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the evaluation method in the first aspect or any implementation of the first aspect when executing the program.
[0033] The embodiments of the present invention have at least the following technical effects:
[0034] First, this evaluation method predicts the value adjustment factor in the software function point analysis, and obtains the software workload evaluation through the function point analysis method based on the prediction results, so as to predict the project's resource requirements, progress and risks as early as possible in the project startup phase, thereby reducing the company's R&D management costs.
[0035] Second, this evaluation method uses the BP neural network algorithm to train the neural network model and establish a neural network topology structure. By learning the characteristics of historical process indicators, the weights of process indicator items and the correlation between various evaluation indicators are found, thereby obtaining more accurate and objective value adjustment factors. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following is a brief introduction to the drawings required for the specific embodiments or the description of the prior art. In all the drawings, similar elements or parts are generally identified by similar reference numerals. In the drawings, the elements or parts are not necessarily drawn according to the actual scale.
[0037] Figure 1 A flowchart of a value adjustment factor evaluation method based on a neural network algorithm provided by an embodiment of the present invention is shown;
[0038] Figure 2 A structural block diagram of a value adjustment factor evaluation device based on a neural network algorithm provided by an embodiment of the present invention is shown;
[0039] Figure 3 A schematic structural diagram of an electronic device provided by an embodiment of the present invention is shown. DETAILED DESCRIPTION
[0040] The following embodiments of the technical solution of the present invention are described in detail in conjunction with the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present invention, and are therefore only used as examples, and cannot be used to limit the protection scope of the present invention.
[0041] It should be noted that, unless otherwise specified, the technical terms or scientific terms used in this application should have the common meanings understood by those skilled in the art to which the present invention belongs.
[0042] Figure 1 A flowchart of a method for evaluating a value adjustment factor based on a neural network algorithm provided by an embodiment of the present invention is shown in FIG. Figure 1 , the method comprises the following steps:
[0043] S1: Select the impact indicator x i and output indicator y.
[0044] There is a corresponding relationship between the output indicator and the impact indicator. The output indicator y is the value adjustment factor. The value adjustment factor reflects the impact of non-functional factors such as quality, technology, and environment on the software scale during system development. Combined with historical project implementation experience, the indicator x that affects the value adjustment factor i , mainly including performance indicators, hardware indicators and reusability indicators.
[0045] Performance indicators characterize system performance, such as: number of concurrent users, response time, query rate per second (QPS). The higher the performance requirements and the greater the software workload, the higher the value adjustment factor. Hardware indicators characterize the system deployment environment, such as: number of CPU cores, memory size, hard disk size, number of servers, communication bandwidth, communication frequency, etc. The better the hardware conditions, the fewer design considerations for system performance, thereby reducing the value adjustment factor. Reusability indicators characterize the maturity of system software development, such as: software reuse rate, technology maturity, etc. The more historical experience that can be learned, the less software R&D and design investment, and the corresponding value adjustment factor decreases.
[0046] S2: Obtain sample data and normalize the sample data.
[0047] Get historical project data to get samples. Set a single sample to X i [x ij ,y i ], where x ij represents the value of the jth influence indicator in the i-th sample, y i Indicates the value of the output indicator corresponding to the i-th sample. Influence indicator x ij There are three sources. Among them, performance indicators can be obtained from system test reports, hardware indicators can be obtained by querying system deployment status, and reusability indicators need to be evaluated and calculated by information technology experts based on system requirements specifications and technical solution reports. Output indicator y i It can be calculated by the following formula.
[0048] y i =t i / fp i *q;
[0049] In the above formula, yi is the value of the adjustment factor of the expected value of the i-th sample, t i fp is the actual man-hours spent on the development of the system corresponding to the i-th sample, in man-days, i is the number of available function points of the system corresponding to the i-th sample, and q is the average production quota, which means the man-hours consumed by one function point on average. It is usually a constant, which reflects the R&D efficiency of the system R&D team.
[0050] Sample data applications need to be normalized. The indicators of sample data are divided into interval continuous type and discrete type, and normalized using different methods.
[0051] For interval continuous data, such as software reuse rate, response time, value adjustment factor and other variables, normalization is as follows:
[0052] x norm =2*(xx min ) / (xmax -x min )-1;
[0053] Among them, x norm is the normalized value of the influencing indicator variable, x is the influencing indicator variable input, and x min is the minimum value that can be taken by the interval of the influencing indicator variable, x max is the maximum value that the interval of the influencing indicator variable can take.
[0054] For discrete data, such as the number of CPU cores, memory size, number of servers, etc., their effects on output indicators are nonlinear. For a discrete indicator, a commonly used configuration is selected as the benchmark, indicating that it has no effect on the value adjustment factor, and the corresponding normalized value is 0; the expert group conducts a numerical evaluation of the degree of effect of the influencing indicator on the benchmark change, and recommends a 10-point system and rounding. Combined with the positive and negative effects of the influencing indicator change on the output indicator, the evaluation score is normalized to the range of [-1,1]. For example, if the memory 32G configuration is taken as the benchmark, the effect of the memory 16G configuration is 2, and the corresponding normalized value is 0.2; the effect of the memory 256G configuration is 6; the corresponding normalized value is -0.6.
[0055] S3: Construct a BP neural network and train and verify the pre-constructed BP neural network through a sample set.
[0056] S3.1: Construct BP neural network structure.
[0057] The BP neural network structure adopts a classic three-layer framework. The number of impact indicators represents the number of neurons in the input layer, the number of neurons in the output layer is 1, and the number of neurons in the hidden layer is determined by the empirical formula method. The number of neurons in the hidden layer is the square root of the product of the number of neurons in the input layer and the number of neurons in the output layer, and is rounded up.
[0058] S3.2: Initialize BP neural network and learning parameters.
[0059] The learning parameters include weight W, threshold B, learning step α, calculation accuracy value ε, and maximum number of training times β. Among them, weight W and threshold B can be obtained by expert evaluation; learning step α, error accuracy value ε, and maximum number of training times β are constants. In general, they can be 0.05, 0.01, and 5000 respectively.
[0060] S3.3: Construct a sample dataset.
[0061] First, randomly sort the sample data X obtained by S2, and then divide it into the training sample set X according to the ratio of 8:2. in And the test sample set X test Using the k-fold cross validation method, the training sample set X inDivide the data into K parts, of which K-1 parts are used as training data sets for training models; the remaining 1 part is used as validation data set for evaluating models. Training sample set X in After K iterations, K available data sets are obtained.
[0062] S3.4: Train the network.
[0063] The available data sets in S3.3 are sequentially input into the BP neural network for training to obtain K models. The model with the smallest output expected error is selected as the optimal model.
[0064] Let the number of input layer nodes be m and the number of input layer nodes be x ij , x ij represents the jth influence index input in the i-th sample; the number of hidden layer nodes is n, and the hidden layer node input is x it , represents the output of the tth hidden layer node in the i-th sample; the output layer node is y, which represents the value adjustment factor variable; the weight from the input layer to the hidden layer is represents the weight from the jth node in the input layer to the tth node in the hidden layer; the weight from the hidden layer to the input layer is Describes the weight of the tth node in the hidden layer on the output; the threshold of the tth hidden layer node is The output node threshold is b (o) . Using the tansig function as the transfer function, the mathematical expression of the constructed BP neural network is as follows:
[0065]
[0066] Input the training data set of a single available data set into the BP neural network and get the output y i , and the expectation d of the training samples i For comparison, the mean square error is used as the error function to calculate the model error E. Let the number of samples in the training data set in the available data set be s, then the calculation formula of the model error E is as follows:
[0067]
[0068] The gradient descent algorithm is used as the training algorithm of the BP neural network. The network weight and threshold are adjusted according to the model error E to reduce the model error. The network weight and threshold adjustment formula are as follows:
[0069]
[0070] When the model error E<error precision value ε or the maximum number of training times β is reached, the training is stopped to obtain the initial network model M0 of the currently available data set. Then the verification data set of the currently available data set is input into M0 to obtain the model verification error E'. If E'<ε, M0 is available.
[0071] S3.5: Test the model.
[0072] The optimal model is tested by the test sample set Xtest. If the test passes, the optimal model is the trained BP neural network, otherwise it is retrained.
[0073] S4: Normalize the impact indicators of the project to be estimated, input them into the BP neural network, obtain the output indicators, and obtain the estimated value of the value adjustment factor through denormalization.
[0074] Since the output indicator is interval continuous data, it needs to be denormalized. The denormalization formula is as follows:
[0075] y=(y norm +1)*(y max -y min ) / 2+y min ;
[0076] Among them, y is the denormalized value of the output indicator variable, that is, the estimate of the value adjustment factor, y norm Output value of the indicator variable for the network model, y min is the minimum value that the output indicator variable can take, y max is the maximum value that the output indicator variable can take.
[0077] The estimated value of the value adjustment factor of the project to be estimated is used into the function point analysis method to obtain the software development workload assessment.
[0078] Figure 2 This is a structural block diagram of a value adjustment factor evaluation device based on a neural network algorithm provided by an embodiment of the present invention, the device comprising:
[0079] A selection module is used to select the influencing index xi and the output index y, the output index y is a value adjustment factor, and the influencing index xi includes a performance index, a hardware index and a reusability index;
[0080] An acquisition module is used to acquire sample data based on historical project data, and normalize the sample data to acquire a sample set. The sample data includes an impact indicator xi and a corresponding output indicator y.
[0081] The construction module is used to construct the BP neural network and train and verify the BP neural network through the sample set;
[0082] The estimation module is used to normalize the impact indicator xi of the project to be estimated, input it into the trained BP neural network, obtain the corresponding output indicator y, and obtain the estimated value of the value adjustment factor through denormalization.
[0083] Figure 2 The functions of each module in the embodiment correspond to the contents in the corresponding method embodiment and will not be repeated here.
[0084] It should be noted that the modules are arranged in a stream layout, which is only one embodiment of the present invention. Other arrangements may also be adopted, and the present invention is not limited thereto.
[0085] Figure 3 The structural schematic diagram of the electronic device 30 provided in an embodiment of the present invention is shown, and the electronic device 30 includes at least one processor 301 (such as a CPU), at least one input and output interface 304, a memory 302, and at least one communication bus 303, which is used to realize the connection and communication between these components. At least one processor 301 is used to execute the computer instructions stored in the memory 302, so that the at least one processor 301 can execute any embodiment of the aforementioned evaluation method. The memory 302 is a non-transitory memory, which may include a volatile memory, such as a high-speed random access memory (RAM: Random Access Memory), and may also include a non-volatile memory (non-volatile memory), such as at least one disk storage. The communication connection with at least one other device or unit is realized through at least one input and output interface 304 (which may be a wired or wireless communication interface).
[0086] In some implementations, the memory 302 stores a program 3021, and the processor 301 executes the program 3021 to execute the content of any of the aforementioned table partitioning method embodiments.
[0087] The electronic device may exist in a variety of forms, including but not limited to:
[0088] (1) Mobile communication equipment: This type of equipment is characterized by having mobile communication functions and its main purpose is to provide voice and data communications. This type of terminal includes: smart phones, multimedia phones, functional phones, and low-end phones.
[0089] (2) Ultra-mobile personal computer devices: These devices fall into the category of personal computers, have computing and processing functions, and generally also have mobile Internet access features. These terminals include: PDA, MID and UMPC devices, etc.
[0090] (3) Portable entertainment devices: These devices can display and play multimedia content. They include audio and video players, handheld game consoles, e-books, smart toys, and portable car navigation devices.
[0091] (4) Specific server: A device that provides computing services. The server consists of a processor, hard disk, memory, system bus, etc. The server is similar to a general computer architecture, but because it needs to provide highly reliable services, it has higher requirements in terms of processing power, stability, reliability, security, scalability, and manageability.
[0092] (5) Other electronic devices with data interaction functions.
[0093] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed by the present invention should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.
Claims
1. A value adjustment factor evaluation method based on a neural network algorithm, characterized in that: The following steps are involved: S1: Select the impact indicator x i and output index y, the output index y is a value adjustment factor, the impact index x i Including performance indicators, hardware indicators and reusability indicators; S2: Obtain sample data based on historical project data, and perform normalization on the sample data to obtain a sample set, wherein the sample data includes the impact indicator x i and the corresponding output indicator y; S3: constructing a BP neural network, and training and verifying the BP neural network through the sample set, specifically: S3.1: construct the BP neural network structure using a three-layer framework and determine the number of neurons in the input layer, hidden layer and output layer; S3.2: Initialize the BP neural network and learning parameters, including weight W, threshold B, learning step α, calculation accuracy value ε, and maximum number of training times β; S3.3: Randomly sort the sample data in the sample set and divide them into training sample set X in proportion in And the test sample set X test , the training sample set X is transformed into in Divide it into K parts and perform K iterations of training to obtain K usable data sets; S3.4: inputting the K available data sets into the BP neural network in sequence for training, and selecting the model with the smallest output expected error as the optimal model; S3.5: Pass the test sample set X test The optimal model is tested. If the test is passed, the optimal model is the trained BP neural network. Otherwise, retraining is performed. S4: The impact indicator x of the project to be estimated i Perform normalization processing, input the trained BP neural network, obtain the corresponding output index y, and obtain the estimated value of the value adjustment factor through denormalization processing.
2. The value adjustment factor evaluation method according to claim 1, characterized in that: The performance indicators include the number of concurrent users, response time, and query rate per second; the hardware indicators include the number of CPU cores, memory size, hard disk size, number of servers, communication bandwidth, and communication frequency; the reusability indicators include software reuse rate and technology maturity.
3. The value adjustment factor evaluation method according to claim 1, characterized in that: In step S2, for interval continuous data, the following formula is used for normalization processing: x norm =2*(x-x min ) / (x max -x min )-1; For discrete data, a commonly used configuration is selected as the benchmark, and the corresponding normalized value is 0. The evaluation score is normalized to the range of [-1, 1] according to the positive and negative impact of the change of the influencing indicator on the output indicator.
4. The value adjustment factor evaluation method according to claim 1, characterized in that: In step S3.1, the number of neurons in the hidden layer is the square root of the product of the number of neurons in the input layer and the number of neurons in the output layer, and is rounded up.
5. The value adjustment factor evaluation method according to claim 1, characterized in that: In step S3.2, the learning step length α is set to 0.05, the calculation accuracy value ε is set to 0.01, and the maximum number of training times β is set to 5000.
6. The value adjustment factor evaluation method according to claim 1, characterized in that: In the step S3.3, one available data set may be retained from the K available data sets for evaluating the model.
7. The value adjustment factor evaluation method according to claim 1, characterized in that: In step S3.4, the mean square error is used as the error function to calculate the model error E, and the gradient descent algorithm is used to adjust the network weights and thresholds to reduce the model error.
8. The value adjustment factor evaluation method according to claim 3, characterized in that: In step S4, the denormalization processing formula is as follows: and=(and norm +1)*(and max -and min ) / 2+y min 。 9. A value adjustment factor evaluation device based on a neural network algorithm, characterized in that: The method for evaluating the value adjustment factor according to any one of claims 1 to 8 further comprises: Selection module, used to select the influencing indicator x i and output index y, the output index y is a value adjustment factor, the impact index x i Including performance indicators, hardware indicators and reusability indicators; An acquisition module is used to acquire sample data according to historical project data, and normalize the sample data to acquire a sample set, wherein the sample data includes the impact indicator x i and the corresponding output indicator y; A construction module is used to construct a BP neural network and train and verify the BP neural network through the sample set; The estimation module is used to convert the impact index x of the project to be estimated i Perform normalization processing, input the trained BP neural network, obtain the corresponding output index y, and obtain the estimated value of the value adjustment factor through denormalization processing.
10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the steps of the value adjustment factor evaluation method according to any one of claims 1 to 8 are implemented.