Software workload assessment method and device, electronic equipment and storage medium
By constructing a workload evaluation model based on multi-layer perceptron model, the problems of low prediction accuracy and susceptible to human subjective influence of traditional evaluation methods are solved, automated evaluation and higher accuracy are achieved, and scientific basis for software project management is provided.
Patent Information
- Application Number
- CN202510265212.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-06
- Publication Date
- 2025-06-24
AI Technical Summary
Traditional software workload evaluation methods have low prediction accuracy and are susceptible to human subjective influence, making it difficult to provide scientific project management basis.
A multi-layer perceptron model is used to build a workload evaluation model, and pre-process the software development project plan, obtain project indicators, and use these indicators to enter the model to automatically evaluate the software workload.
It reduces the influence of human subjective factors, improves the accuracy of software workload evaluation, and provides a scientific basis for software project management.
Smart Images

Figure CN120198065A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular, to a software workload evaluation method, apparatus, electronic device, and storage medium. Background Art
[0002] Currently, software workload evaluation is a crucial part in the software development process, which can help project managers formulate reasonable plans and budgets.
[0003] In related technologies, the expert method and the analogy / analog method are usually used for software workload evaluation. However, in practical applications, it is found that there are problems such as low prediction accuracy and susceptibility to human subjective influence in traditional evaluation methods.
[0004] In summary, the technical problems existing in related technologies need to be improved. Summary of the Invention
[0005] Embodiments of this application provide a software workload evaluation method, apparatus, electronic device, and storage medium, which can automatically evaluate software workload, reduce the influence of human subjective factors, improve the accuracy of software workload evaluation, and provide a scientific basis for software project management.
[0006] On the one hand, embodiments of this application provide a software workload evaluation method, including the following steps:
[0007] Obtain a software development project plan;
[0008] Preprocess the software development project plan to obtain software development project indicators;
[0009] Input the software development project indicators into a workload evaluation model to obtain a workload evaluation result output by the workload evaluation model;
[0010] Among them, the workload evaluation model is constructed based on a multi-layer perceptron model.
[0011] Optionally, the preprocessing the software development project plan to obtain software development project indicators includes:
[0012] Determine the software development project requirements and the software development project team according to the software development project plan;
[0013] Determine the software development project indicators according to the software development project requirements and the software development project team.
[0014] Among them, the software development project indicators include project scale, project complexity, developer ability, reuse rate, and development technology platform.
[0015] Optionally, the method further includes:
[0016] After the software development project is completed, obtaining the actual workload of the software development project;
[0017] Determining an error rate between the actual workload of the software development project and the workload evaluation result output by the workload evaluation model;
[0018] When the error rate is less than a first preset threshold, keeping the workload evaluation model unchanged;
[0019] When the error rate is greater than or equal to the first preset threshold, optimizing and adjusting the workload evaluation model according to the actual workload.
[0020] Optionally, the workload evaluation model is trained based on the following steps:
[0021] Obtaining a plurality of historical software development projects and obtaining the workload results of the plurality of historical software development projects;
[0022] Preprocessing the project proposals of the plurality of historical software development projects to obtain multiple sets of historical software development project indicators of the historical software development projects;
[0023] Using each set of historical software development project indicators as a sample and using the workload results of the historical software development projects corresponding to each set of historical software development project indicators as the sample label corresponding to the sample to construct a training data set;
[0024] Pre-training the workload evaluation model using the training data set.
[0025] Optionally, after pre-training the workload evaluation model using the training data set, it further includes:
[0026] Constructing a validation data set to perform model validation on the workload evaluation model after pre-training;
[0027] Determining the performance evaluation indicators of the workload evaluation model after pre-training according to the model validation result;
[0028] The performance evaluation indicators include accuracy rate, recall rate, F1 score, and mean square error.
[0029] Optionally, after determining the performance evaluation indicators of the workload evaluation model after pre-training according to the model validation result, it further includes:
[0030] Obtaining different performance evaluation indicator weights and calculating the performance evaluation score of the workload evaluation model after pre-training;
[0031] When the performance evaluation score is less than the second preset threshold, it is determined that the workload evaluation model fails the model verification, and the model parameters of the workload evaluation model are adjusted;
[0032] When the performance evaluation score is greater than or equal to the second preset threshold, it is determined that the workload evaluation model passes the model verification.
[0033] Optionally, the method further includes:
[0034] In response to a triggered model update instruction, the model parameters of the workload evaluation model are updated.
[0035] On the other hand, an embodiment of the present application provides a software workload evaluation device, and the device includes:
[0036] A solution acquisition module, configured to acquire a software development project plan;
[0037] An index acquisition module, configured to preprocess the software development project plan to obtain software development project indexes;
[0038] A model evaluation module, configured to input the software development project indexes into a workload evaluation model to obtain a workload evaluation result output by the workload evaluation model;
[0039] Wherein, the workload evaluation model is constructed based on a multi-layer perceptron model.
[0040] On the other hand, an embodiment of the present application provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the above-mentioned software workload evaluation method is implemented.
[0041] On the other hand, an embodiment of the present application provides a computer-readable storage medium, and the computer-readable storage medium stores a computer program. When the computer program is executed by a processor, the above-mentioned software workload evaluation method is implemented.
[0042] By using a multi-layer perceptron model to construct a workload evaluation model, the embodiment of the present application can automatically evaluate the software workload, reduce the influence of human subjective factors, improve the accuracy of software workload evaluation, and provide a scientific basis for software project management. Description of the Drawings
[0043] Figure 1 is a schematic diagram of an implementation environment of a software workload evaluation method provided by an embodiment of the present application;
[0044] Figure 2 is a schematic flowchart of a software workload evaluation method provided by an embodiment of the present application;
[0045] Figure 3 It is a schematic flowchart of a process for optimizing and adjusting a workload evaluation model provided by an embodiment of the present application;
[0046] Figure 4 It is a schematic flowchart of a process for pre-training a workload evaluation model provided by an embodiment of the present application;
[0047] Figure 5 It is a schematic flowchart of a process for verifying a workload evaluation model provided by an embodiment of the present application;
[0048] Figure 6 It is a schematic flowchart of a process for evaluating the performance of a workload evaluation model provided by an embodiment of the present application;
[0049] Figure 7 It is a schematic structural diagram of a software workload evaluation device provided by an embodiment of the present application;
[0050] Figure 8 It is a schematic hardware structure diagram of an electronic device provided by an embodiment of the present application. Detailed implementation manners
[0051] In order to make the objectives, technical solutions and advantages of the present application clearer and more understandable, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application. When the following description involves the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with the embodiments of the present application. They are only examples of devices and methods that are consistent with some aspects of the embodiments of the present application described in detail in the appended claims.
[0052] It can be understood that the terms "first", "second", etc. used in the present application can be used in this text to describe various concepts, but unless otherwise specified, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another. For example, without departing from the scope of the embodiments of the present application, the first information can also be referred to as the second information, and similarly, the second information can also be referred to as the first information. Depending on the context, as used herein, the words "if", "when" can be interpreted as "when...", "when...", or "in response to determining".
[0053] The terms "at least one", "multiple", "each", "any one", etc. used in the present application, at least one includes one, two or more, multiple includes two or more, each refers to each of the corresponding multiple, and any one refers to any one of the multiple.
[0054] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terms used herein are for the purpose of describing embodiments of this application only and are not intended to limit this application.
[0055] Currently, software effort estimation is a crucial part in the software development process, which can help project managers formulate reasonable plans and budgets.
[0056] In related technologies, the expert method and the analogy / analog method are usually used for software effort estimation. However, in practical applications, it is found that there are problems such as low prediction accuracy and susceptibility to human subjective influence in traditional estimation methods.
[0057] In view of this, embodiments of this application provide a software effort estimation method, device, electronic device, and storage medium. By using a multi-layer perceptron model to construct an effort estimation model, it can automatically estimate software effort, reduce the influence of human subjective factors, improve the accuracy of software effort estimation, and provide a scientific basis for software project management.
[0058] It should be noted that in each specific embodiment of this application, when it comes to relevant processing based on user information, user behavior data, user historical data, and user location information and other data related to user identity or characteristics, the user's permission or consent will be obtained first. Moreover, the collection, use, and processing of these data will comply with relevant laws, regulations, and standards. In addition, when embodiments of this application need to obtain sensitive personal information of users, the user's separate permission or separate consent will be obtained through methods such as pop-up windows or jumping to a confirmation page. After clearly obtaining the user's separate permission or separate consent, the necessary user-related data for enabling the normal operation of embodiments of this application will be obtained.
[0059] Next, with reference to the accompanying drawings, the specific embodiments of the embodiments of this application will be described in detail. First, a software effort estimation method provided in the embodiments of this application will be described in conjunction with the accompanying drawings.
[0060] Please refer to Figure 1 , Figure 1 which is a schematic diagram of the implementation environment of a software effort estimation method provided by an embodiment of this application. In this implementation environment, the main software and hardware entities involved include a terminal processor 110 and a server 120.
[0061] Specifically, a control program of the relevant software effort estimation method can be installed in the terminal processor 110, and the server 120 is the background server for this control program. The terminal processor 110 and the background server 120 are communicatively connected. The software effort estimation method provided in the embodiments of this application can be executed on the side of the terminal processor 110.
[0062] The server 120 can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.
[0063] In addition, the server 120 can also be a node server in a blockchain network.
[0064] A communication connection can be established between the terminal processor 110 and the server 120 through a wireless network. The wireless network uses standard communication technologies and / or protocols. The network can be set as the Internet or any other network, such as including but not limited to any combination of a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a mobile or wireless network, a private network, or a virtual private network. And, between these software and hardware entities, the same communication connection method or different communication connection methods can be adopted, and the present application does not make specific restrictions on this.
[0065] Of course, it can be understood that Figure 1 the implementation environment in Figure 1 is only some optional application scenarios in the software workload evaluation method provided in the embodiments of the present application, and the actual application is not fixedly the
[0066] As Figure 2 shown, Figure 2 is a schematic flowchart of a software workload evaluation method provided in an embodiment of the present application, specifically including but not limited to steps 100 to 300.
[0067] Step 100: Obtain a software development project plan.
[0068] In the embodiments of the present application, software workload evaluation refers to a quantitative estimation of the workload of a software development project, used to determine the resources and time investment required for the development project. First, it is usually necessary to collect relevant information of the software development project from the project plan, and the obtained software development project plan usually includes project requirements, function descriptions, technical requirements, time frames, etc.
[0069] Step 200: Preprocess the software development project proposal to obtain software development project metrics.
[0070] In the embodiments of the present application, it is necessary to analyze and extract the content of the proposal to identify quantifiable software development project metrics. For example, the number of functional modules, complexity, required technology stack, etc.
[0071] In practical applications, the data types and data volumes that the AI model needs to process can be analyzed and extracted through the software development project proposal.
[0072] Step 300: Input the software development project metrics into the workload assessment model to obtain the workload assessment result output by the workload assessment model;
[0073] Among them, the workload assessment model is constructed based on a multi-layer perceptron model.
[0074] In the embodiments of the present application, the software development project metrics obtained after preprocessing can be input into the workload assessment model constructed based on the multi-layer perceptron model, and the workload assessment result output by the workload assessment model can be obtained as the workload assessment result of the software development project. Among them, the multi-layer perceptron model (Multi-layer Perceptron, MLP) is a feedforward neural network model with strong non-linear mapping ability. By training and adjusting the weights in the model, it can model complex non-linear relationships, thereby accurately learning the relationship between different input variables (such as project scale, functional complexity, etc.) and the output (such as workload).
[0075] Therefore, by constructing the workload assessment model through the multi-layer perceptron model in the present application, a scientific and automated assessment model can be provided for the workload assessment of software development projects, reducing the influence of subjective human factors that may occur in the manual estimation process, thereby improving the accuracy of software workload assessment.
[0076] In practical applications, taking the CRM system development project as an example, the workload assessment model provided by the present application can be used to evaluate and predict the workload of the development project. According to the workload assessment result output by the workload assessment model, the development workload of each module of the CRM system development project (such as business acceptance, order management module, etc.) can be determined. Furthermore, based on this, developers can be reasonably arranged, time resources can be allocated, and a detailed project schedule can be formulated to ensure that the project can be delivered normally and on time.
[0077] Optionally, taking mobile application development projects as an example, usually, investors need to determine the project budget based on the software development workload. Through the software workload assessment method provided in this application, the workload of the development project can be accurately evaluated, providing a reasonable budget basis for investors and avoiding budget overruns or shortages. In addition, during the evaluation process, if it is found that there are deviations in the workload prediction of some functional modules (such as user interface design, backend server development, etc.), the model can be optimized by increasing the number of features (such as adding features like the difficulty of adapting to different screen resolutions and the amount of server data storage).
[0078] Furthermore, taking the upgrade project of a large e-commerce platform as an example, according to the workload prediction results output by the workload assessment model, the human resources of the front-end development team, back-end development team, and testing team can be reasonably allocated to ensure the workload balance of each team and improve the overall project efficiency.
[0079] Specifically, as an optional implementation manner, the preprocessing of the software development project proposal to obtain software development project indicators includes:
[0080] Determining the software development project requirements and the software development project team according to the software development project proposal;
[0081] Determining the software development project indicators according to the software development project requirements and the software development project team.
[0082] Among them, the software development project indicators include project scale, project complexity, developer ability, reuse rate, and development technology platform.
[0083] In the embodiments of this application, when preprocessing the software development project proposal, first, the software development project requirements and the software development project team can be determined. Among them, project requirements refer to extracting information such as the functional requirements, performance requirements, technical requirements, system architecture, and platform support of the project from the software development project proposal to clarify the scope and goals of the software development project; the development team refers to the development team participating in the project, including the number of developers, skill distribution, experience level, role division, etc., which helps to determine the resource configuration and labor costs during the software development process.
[0084] Furthermore, according to the determined software development project requirements and the software development project team, the software development project indicators are further extracted and determined. Among them, the software development project indicators include project scale, project complexity, developer ability, reuse rate, and development technology platform.
[0085] Among them, the project scale refers to the size of the project, which usually can include the number of functional modules of the project, etc.; the project complexity refers to factors such as the complexity of project requirements, the complexity of the system architecture, and the complexity of the technology; the developer ability refers to the skills, experience, and capabilities of the members of the project development team, which usually affect the development progress and quality; the reuse rate refers to the proportion of components, modules, or code that can be reused in the project. The higher the reuse rate, the lower the project development workload; the development technology platform refers to the technology stack and development platform used in the project, including programming languages, frameworks, databases, development tools, etc.
[0086] Therefore, by determining the software development project metrics and then through certain calculations and standardization processes, it can be used as input data and passed to the workload assessment model, providing basic data for the workload assessment of software development projects.
[0087] Of course, it can be understood that the specific types of software development project metrics provided in the above embodiments are only some optional application methods among the software development project metrics provided in the embodiments of the present application. The actual application is not fixed to the software development project metrics provided in the above embodiments, and the present application does not make specific limitations in this regard.
[0088] Specifically, as an optional implementation manner, please refer to Figure 3 , Figure 3 which is a schematic flowchart of a process for optimizing and adjusting the workload assessment model provided by the embodiments of the present application. The method further includes:
[0089] After the software development project is completed, obtain the actual workload of the software development project;
[0090] Determine the error rate between the actual workload of the software development project and the workload assessment result output by the workload assessment model;
[0091] When the error rate is less than the first preset threshold, keep the workload assessment model unchanged;
[0092] When the error rate is greater than or equal to the first preset threshold, optimize and adjust the workload assessment model according to the actual workload.
[0093] In the embodiments of the present application, after the software development project is completed, the actual workload of the software development project can be obtained, and based on the actual workload of the software development project and the workload assessment result output by the workload assessment model, the error rate between the two can be determined, and then the error rate can be used to help evaluate the prediction accuracy of the workload assessment model. For example, the difference between the actual workload and the workload assessment result can be determined first, and then the error rate can be determined according to the ratio between the difference and the actual workload.
[0094] In practical applications, when the calculated error rate is less than the first preset threshold (e.g., set to 5%), it indicates that the prediction result of the workload assessment model is relatively close to the actual result, and the workload assessment model performs well. Therefore, keep the workload assessment model unchanged; when the calculated error rate is greater than or equal to the first preset threshold, it indicates that there is a large error in the prediction of the workload assessment model and it cannot accurately predict the workload of the project. In this case, it is necessary to optimize and adjust the workload assessment model according to the actual workload.
[0095] It can be understood that the first preset threshold can be set according to the actual scenario usage requirements, and the present application does not make specific limitations on this.
[0096] Exemplarily, when optimizing and adjusting the workload assessment model according to the actual workload, one can choose to adjust the parameters of the multi-layer perceptron model (such as weights, biases, etc.), or retrain the model to adapt to the actual workload data, such as adjusting algorithm parameters, increasing the number of features, or improving the feature extraction method, etc.
[0097] Specifically, as an optional implementation manner, please refer to Figure 4 , Figure 4 is a schematic flowchart of pre-training of a workload assessment model provided by an embodiment of the present application. The workload assessment model is trained based on the following steps:
[0098] Obtain multiple historical software development projects and obtain the workload results of multiple said historical software development projects;
[0099] Preprocess the project proposals of multiple said historical software development projects to obtain multiple groups of historical software development project indicators of the historical software development projects;
[0100] Use each group of historical software development project indicators as a sample, and use the workload results of the historical software development projects corresponding to each group of historical software development project indicators as the sample label corresponding to the sample to construct a training dataset;
[0101] Use the training dataset to pre-train the workload assessment model.
[0102] In the embodiment of the present application, multiple historical software development projects and the actual development workload results of multiple historical software development projects in the historical software development process can be obtained, and then the project proposals of the historical software development projects are preprocessed to obtain multiple groups of historical software development project indicators of the historical software development projects. Among them, each group of historical software development project indicators corresponds to a single historical software development project.
[0103] Further, a set of any historical software development project metrics is used as a sample, and the workload result of the corresponding historical software development project of the historical software development project metrics is used as the sample label corresponding to the sample, to form a set of training samples. By obtaining multiple training samples, a training data set is constructed. Then, the training data set is input into the workload evaluation model, and the model parameters in the workload evaluation model are adjusted according to each output result of the workload evaluation model, and finally the pre-training process of the workload evaluation model is completed.
[0104] Among them, it can be considered that the pre-training process of the workload evaluation model is completed after reaching a preset number of pre-training times; it can also be considered that the pre-training process of the workload evaluation model is completed when the training output result of the workload evaluation model converges.
[0105] In practical applications, after constructing the training data set, it can also be divided into a training set, a validation set, and a test set. The training set accounts for 80% of the training data set, the validation set accounts for 10% of the training data set, and the test set accounts for 10% of the training data set. The training set is used for model training, and the validation set and the test set are used for model validation.
[0106] Exemplarily, when obtaining the historical data for constructing the training data set, the workload of data acquisition, cleaning, annotation, and feature engineering can be evaluated, considering whether it is necessary to integrate data from multiple data sources, as well as the accessibility and data format of these data sources, so as to improve the efficiency of constructing the training data set and the quality of the training data set.
[0107] Specifically, as an optional implementation manner, please refer to Figure 5 , Figure 5 is a schematic flowchart of a process for validating a workload evaluation model provided by an embodiment of the present application. After pre-training the workload evaluation model using the training data set, it further includes:
[0108] Construct a validation data set to perform model validation on the workload evaluation model after pre-training;
[0109] According to the model validation result, determine the performance evaluation metrics of the workload evaluation model after pre-training;
[0110] The performance evaluation metrics include accuracy, recall rate, F1 score, and mean squared error.
[0111] In the embodiment of the present application, after the pre-training process of the workload evaluation model is completed, a validation data set can be further constructed and input into the workload evaluation model after pre-training, so as to implement model validation on the workload evaluation model after pre-training.
[0112] Further, according to the model verification results, determine the performance evaluation metrics of the workload evaluation model after pre-training is completed.
[0113] Among them, the performance evaluation metrics include accuracy, recall, F1-score, and mean squared error. In the workload evaluation model, accuracy represents the proportion of the workload correctly predicted by the model in the total predicted workload. For example, in a validation dataset containing 100 software projects, if the model accurately predicts the workload of 80 projects, then the accuracy is 80%; recall refers to whether the workload evaluation model can accurately identify projects with high workloads to avoid missing important tasks; the F1-score is a metric that comprehensively considers accuracy and recall and is the harmonic mean of the two, which can more comprehensively evaluate the performance of the workload evaluation model in different categories (such as projects with different workload ranges) and avoid the situation of only focusing on accuracy while ignoring recall; the mean squared error (MSE) is used to measure the average squared difference between the predicted value and the actual value of the workload evaluation model, which can intuitively reflect the accuracy of the model prediction.
[0114] Specifically, in an optional implementation manner, please refer to Figure 6 , Figure 6 is a schematic flowchart of a process for evaluating the performance of a workload evaluation model provided by an embodiment of the present application. After determining the performance evaluation metrics of the workload evaluation model after pre-training is completed according to the model verification results, it further includes:
[0115] Obtain the weights of different performance evaluation metrics and calculate the performance evaluation score of the workload evaluation model after pre-training is completed;
[0116] In the case where the performance evaluation score is less than the second preset threshold, determine that the workload evaluation model fails the model verification and adjust the model parameters of the workload evaluation model;
[0117] In the case where the performance evaluation score is greater than or equal to the second preset threshold, determine that the workload evaluation model passes the model verification.
[0118] In the embodiment of the present application, the effectiveness of the workload evaluation model after pre-training can be confirmed according to the performance evaluation metrics.
[0119] Exemplarily, first obtain the weights of different performance evaluation metrics and calculate the performance evaluation score through weighted calculation. Among them, the weights of different performance evaluation metrics can be set according to specific project requirements. For example, if the requirement for the accuracy of workload prediction is relatively high and the requirement for the recall rate of the model is relatively low (for example, when resources are sufficient, more attention is paid to accurately predicting the workload and less worried about missing some high-workload projects), then higher weights can be given to accuracy and mean squared error.
[0120] Furthermore, if the calculated performance evaluation score is lower than the set second preset threshold, it indicates that the performance of the workload evaluation model does not meet the requirements, and there may be large prediction errors or efficiency problems. In this case, it is necessary to adjust the model parameters (such as optimizing hyperparameters) and retrain the workload evaluation model. In addition, it is also possible to adjust the model architecture of the workload evaluation model. For example, it may be necessary to adjust the number of layers, activation functions, number of neurons, etc. of the multi-layer perceptron model. If the performance evaluation score is greater than or equal to the second preset threshold, it can be considered that the workload evaluation model has passed the model verification, confirming that the workload evaluation ability of the workload evaluation model has been effectively pre-trained and verified and can be used for actual workload prediction tasks. The workload evaluation model can be deployed to the actual production environment and provided to users through methods such as model integration and interface development, and the model performance can be monitored in real time.
[0121] In practical applications, tools such as data dictionaries, model documents, and user manuals can also be written for the workload evaluation model to assist users in using and managers in maintaining and updating.
[0122] Therefore, the software workload evaluation method provided in this application can not only ensure that the workload evaluation model passes the pre-training stage but also guarantee its effectiveness and stability during the verification process.
[0123] Specifically, as an optional implementation manner, the method further includes:
[0124] In response to the triggered model update instruction, update the model parameters of the workload evaluation model.
[0125] In the embodiments of this application, the workload evaluation model can also be retrained and optimized regularly. For example, every time a certain number of projects are completed or every once in a while (such as a quarter), the model is updated and trained using the newly accumulated project data, and the model parameters are adjusted to enable the model to adapt to the constantly changing software project environment and continuously improve the prediction accuracy.
[0126] In practical applications, a real-time feedback mechanism can also be established. For example, during a software development project, actual workload data is continuously collected during the model application process and compared with the model prediction results. When there is a large prediction deviation, the cause of the error can be analyzed, and the workload evaluation model can be updated, optimized, and adjusted.
[0127] Next, in combination with the specific application implementation process, the software workload evaluation method provided in the present invention will be introduced and explained in detail:
[0128] In an embodiment of the present application, a software workload evaluation method is provided. This method can be applied to the scenario of software development project workload evaluation. By using a multi-layer perceptron model to construct a workload evaluation model, it can automatically evaluate the software workload, reduce the influence of human subjective factors, improve the accuracy of software workload evaluation, and provide a scientific basis for software project management.
[0129] Specifically, first, it is usually necessary to collect relevant information of the software development project from the project proposal. In the obtained software development project proposal, it usually includes project requirements, function descriptions, technical requirements, time frames, etc. Analyze and extract the content of the proposal to identify quantifiable software development project indicators. For example, the number of function modules, complexity, required technology stacks, etc.
[0130] Furthermore, the software development project indicators obtained after preprocessing can be input into the workload evaluation model constructed based on the multi-layer perceptron model, and the workload evaluation result output by the workload evaluation model can be obtained as the workload evaluation result of the software development project.
[0131] Exemplarily, when preprocessing the software development project proposal, first, the software development project requirements and the software development project team can be determined. Among them, the project requirements refer to extracting information such as the functional requirements, performance requirements, technical requirements, system architecture, and platform support of the project from the software development project proposal to clarify the scope and goals of the software development project; the development team refers to the development team participating in the project, including the number of developers, skill distribution, experience level, role division, etc., which helps to determine the resource allocation and labor cost in the software development process.
[0132] Furthermore, according to the determined software development project requirements and the software development project team, software development project indicators are further extracted and determined. Among them, the software development project indicators include project scale, project complexity, developer ability, reuse rate, and development technology platform.
[0133] In practical applications, after the software development project is completed, the actual workload of the software development project can be obtained, and based on the actual workload of the software development project and the workload evaluation result output by the workload evaluation model, the error rate between the two can be determined, and then the error rate can be used to help evaluate the prediction accuracy of the workload evaluation model. For example, the difference between the actual workload and the workload evaluation result can be determined first, and then the error rate can be determined according to the ratio of the difference to the actual workload.
[0134] In practical applications, when the calculated error rate is less than the first preset threshold (e.g., set to 5%), it indicates that the prediction result of the workload assessment model is relatively close to the actual result, and the workload assessment model performs well. Therefore, the workload assessment model remains unchanged; when the calculated error rate is greater than or equal to the first preset threshold, it indicates that there are large errors in the prediction of the workload assessment model and it cannot accurately predict the workload of the project. In this case, it is necessary to optimize and adjust the workload assessment model according to the actual workload.
[0135] Optionally, multiple historical software development projects in the historical software development process and the actual development workload results of multiple historical software development projects can be obtained, and then the project proposals of the historical software development projects are preprocessed to obtain multiple sets of historical software development project indicators of the historical software development projects. Among them, each set of historical software development project indicators corresponds to a single historical software development project.
[0136] Furthermore, taking a set of any historical software development project indicators as a sample and the workload result of the historical software development project corresponding to the historical software development project indicators as the sample label corresponding to the sample, a set of training samples is formed. By obtaining multiple training samples, a training data set is constructed, and then the training data set is input into the workload assessment model. According to each output result of the workload assessment model, the model parameters in the workload assessment model are adjusted, and finally the pre-training process of the workload assessment model is completed.
[0137] Among them, it can be considered that the pre-training process of the workload assessment model is completed after reaching the preset number of pre-training times; it can also be considered that the pre-training process of the workload assessment model is completed when the training output result of the workload assessment model converges.
[0138] In practical applications, after constructing the training data set, it can also be divided into a training set, a validation set, and a test set. The training set accounts for 80% of the training data set, the validation set accounts for 10% of the training data set, and the test set accounts for 10% of the training data set. The training set is used for model training, and the validation set and the test set are used for model validation.
[0139] Exemplarily, after completing the pre-training process of the workload assessment model, a validation data set can be further constructed and the validation data set is input into the workload assessment model after pre-training, so as to realize model validation of the workload assessment model after pre-training.
[0140] Furthermore, according to the model validation result, the performance evaluation index of the workload assessment model after pre-training is determined. Among them, the performance evaluation index includes accuracy rate, recall rate, F1 score, and mean square error.
[0141] Further, obtain the weights of different performance evaluation metrics, and through weighted calculation, obtain the performance evaluation score. If the calculated performance evaluation score is lower than the set second preset threshold, it indicates that the performance of the workload evaluation model does not meet the requirements, and there may be large prediction errors or efficiency problems. Then, it is necessary to adjust the model parameters (such as optimizing hyperparameters) and retrain the workload evaluation model. In addition, the model architecture of the workload evaluation model can also be adjusted. For example, it may be necessary to adjust the number of layers, activation function, number of neurons, etc. of the multi-layer perceptron model. If the performance evaluation score is greater than or equal to the second preset threshold, it can be considered that the workload evaluation model passes the model verification, confirming that the workload evaluation ability of the workload evaluation model has been effectively pre-trained and verified, and can be used for actual workload prediction tasks. The workload evaluation model can be deployed to the actual production environment and provided to users through model integration, interface development, etc., and the model performance can be monitored in real time.
[0142] Finally, the workload evaluation model can also be retrained and optimized regularly. For example, after completing a certain number of projects or every once in a while (such as a quarter), use the newly accumulated project data to update and train the model, adjust the model parameters, so that the model can adapt to the changing software project environment and continuously improve the prediction accuracy.
[0143] Please refer to Figure 7 , Figure 7 FIG. is a schematic structural diagram of a software workload evaluation device provided by an embodiment of the present application. An embodiment of the present application also provides a software workload evaluation device, which can implement the above software workload evaluation method. The device includes:
[0144] A solution acquisition module 710, configured to acquire a software development project plan;
[0145] An index acquisition module 720, configured to preprocess the software development project plan to obtain software development project indexes;
[0146] A model evaluation module 730, configured to input the software development project indexes into a workload evaluation model to obtain a workload evaluation result output by the workload evaluation model;
[0147] Wherein, the workload evaluation model is constructed based on a multi-layer perceptron model.
[0148] It can be understood that the content in the above method embodiments is applicable to the device embodiments of the present application. The functions specifically implemented by the device embodiments of the present application are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those in the above method embodiments.
[0149] Please refer to Figure 8 ,Figure 8 It is a schematic diagram of the hardware structure of an electronic device provided by an embodiment of the present application. The electronic device includes:
[0150] A processor 801, which can be implemented in ways such as a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided by the embodiments of the present application;
[0151] A memory 802, which can be implemented in forms such as a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 802 can store an operating system and other application programs. When implementing the technical solutions provided by the embodiments of this specification through software or firmware, the relevant program codes are stored in the memory 802 and are called by the processor 801 to execute the software workload evaluation method of the embodiments of the present application;
[0152] An input / output interface 803, which is used to implement information input and output;
[0153] A communication interface 804, which is used to implement communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.);
[0154] A bus 805, which transmits information between various components of the device (such as the processor 801, the memory 802, the input / output interface 803, and the communication interface 804);
[0155] Among them, the processor 801, the memory 802, the input / output interface 803, and the communication interface 804 achieve communication connections with each other inside the device through the bus 805.
[0156] An embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned software workload evaluation method is implemented.
[0157] It can be understood that the content in the above method embodiments is applicable to the embodiments of this storage medium. The functions specifically implemented by the embodiments of this storage medium are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those of the above method embodiments.
[0158] As a non-transitory computer-readable storage medium, the memory can be used to store non-transitory software programs and non-transitory computer-executable programs. In addition, the memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state storage devices. In some embodiments, the memory may optionally include memories remotely disposed relative to the processor, and these remote memories can be connected to the processor through a network. Examples of the above networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0159] A software workload evaluation method, apparatus, electronic device, and storage medium provided by an embodiment of the present application can automatically evaluate the software workload by using a multi-layer perceptron model, reduce the influence of human subjective factors, improve the accuracy of software workload evaluation, and provide a scientific basis for software project management.
[0160] The embodiments described in the embodiments of the present application are for more clearly illustrating the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art will know that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of the present application are equally applicable to similar technical problems.
[0161] Those skilled in the art can understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and may include more or fewer steps than those shown in the figures, or combine certain steps, or different steps.
[0162] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, that is, they may be located in one place, or may be distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0163] Those of ordinary skill in the art can understand that all or some of the steps in the methods disclosed above, and the functional modules / units in the systems and devices can be implemented as software, firmware, hardware, and appropriate combinations thereof.
[0164] In the description of the present application and the above-mentioned drawings, the terms "first", "second", "third", "fourth", etc. (if any) are used to distinguish similar objects and do not necessarily describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device comprising a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0165] It should be understood that in the present application, "at least one (item)" means one or more, and "a plurality" means two or more. "And / or" is used to describe the association relationship of associated objects and indicates that three relationships can exist. For example, "A and / or B" can mean: only A exists, only B exists, and both A and B exist at the same time. Among them, A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. "At least one (one) of the following" or its similar expression refers to any combination of these items, including any combination of single item (one) or plural items (ones). For example, at least one (one) of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0166] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the above-mentioned division of units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection to each other can be through some interfaces. The indirect coupling or communication connection of devices or units can be in electrical, mechanical or other forms.
[0167] The units described above as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0168] In addition, in each embodiment of the present application, each functional unit can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
[0169] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes multiple instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in each embodiment of the present application. The foregoing storage medium includes: various media that can store programs, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks, or optical discs.
[0170] The preferred embodiments of the embodiments of the present application have been described above with reference to the accompanying drawings. However, this does not limit the scope of the rights of the embodiments of the present application. Any modifications, equivalent replacements, and improvements made by those skilled in the art without departing from the scope and essence of the embodiments of the present application shall fall within the scope of the rights of the embodiments of the present application.
Claims
1. A software workload evaluation method, characterized in that: The method comprises the following steps: Obtain software development project proposal; Preprocessing the software development project proposal to obtain software development project indicators; Inputting the software development project indicator into a workload assessment model to obtain a workload assessment result output by the workload assessment model; Wherein, the workload evaluation model is constructed based on a multi-layer perceptron model.
2. The software workload evaluation method according to claim 1, characterized in that: The preprocessing of the software development project proposal to obtain software development project indicators includes: Determine the software development project requirements and the software development project team based on the software development project proposal; Determine the software development project indicators based on the software development project requirements and the software development project team. Among them, the software development project indicators include project scale, project complexity, developer capabilities, reuse rate and development technology platform.
3. The software workload evaluation method according to claim 1, characterized in that: The method further comprises: After the software development project is completed, obtaining the actual workload of the software development project; Determine the error rate between the actual workload of the software development project and the workload assessment result output by the workload assessment model; When the error rate is less than a first preset threshold, keeping the workload evaluation model unchanged; When the error rate is greater than or equal to a first preset threshold, the workload assessment model is optimized and adjusted according to the actual workload.
4. The software workload evaluation method according to claim 1, characterized in that: The workload assessment model is trained based on the following steps: Acquire a plurality of historical software development projects, and acquire workload results of the plurality of historical software development projects; Preprocessing the proposals of the plurality of historical software development projects to obtain a plurality of groups of historical software development project indicators of the historical software development projects; Taking each group of the historical software development project indicators as a sample, taking the workload results of the historical software development projects corresponding to each group of the historical software development project indicators as sample labels corresponding to the samples, and constructing a training data set; The workload assessment model is pre-trained using the training data set.
5. The software workload evaluation method according to claim 4, characterized in that: After the workload assessment model is pre-trained using the training data set, the method further includes: Construct a validation dataset to verify the workload evaluation model after pre-training; Based on the model validation results, determine the performance evaluation indicators of the workload evaluation model after pre-training; The performance evaluation indicators include accuracy, recall, F1 score and mean square error.
6. The software workload evaluation method according to claim 5, characterized in that: After determining the performance evaluation index of the workload evaluation model after pre-training according to the model verification result, the method further includes: Obtain weights of different performance evaluation indicators and calculate the performance evaluation score of the workload evaluation model after pre-training; When the performance evaluation score is less than a second preset threshold, determining that the workload evaluation model has not passed the model verification, and adjusting the model parameters of the workload evaluation model; When the performance evaluation score is greater than or equal to a second preset threshold, it is determined that the workload evaluation model passes the model verification.
7. The software workload evaluation method according to claim 1, characterized in that: The method further comprises: In response to the triggered model update instruction, the model parameters of the workload assessment model are updated.
8. A software workload evaluation device, characterized in that: The device comprises: Solution acquisition module, used to obtain software development project proposals; An indicator acquisition module, used to pre-process the software development project proposal to obtain software development project indicators; A model evaluation module, used for inputting the software development project indicators into a workload evaluation model to obtain a workload evaluation result output by the workload evaluation model; Wherein, the workload evaluation model is constructed based on a multi-layer perceptron model.
9. An electronic device, characterized in that: The electronic device comprises a memory and a processor, the memory stores a computer program, and the processor implements the software workload evaluation method according to any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the software workload evaluation method according to any one of claims 1 to 7 is implemented.