Software project cost management method and system based on big data
Through software demand label recognition and word embedding technology based on big data, the functional modules and repetitive workload in software projects are automatically selected, and the accuracy and efficiency of software project cost prediction in the existing technology is solved, and efficient cost management is achieved .
Patent Information
- Application Number
- CN202411796585.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-09
- Publication Date
- 2025-01-10
AI Technical Summary
The existing software project cost prediction methods rely on manual estimation, which has problems such as difficulty in ensuring accuracy and consistency, and it takes a long time, affecting the efficiency of project startup.
By determining functional requirements, non-functional requirements and technical requirements tags based on the software development requirements document, using word embedding and clustering analysis technology to convert requirements into vectors, combining the functional module library and the software project library, the closest functional module and the closest functional module and Software project, calculate the repetitive workload, and realize software cost prediction.
It realizes automation of software project cost prediction, improves the accuracy and consistency of predictions, reduces the time consumption of manual estimation, and improves project startup efficiency.
Smart Images

Figure CN119295161A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cost management, and in particular to a software project cost management method and system based on big data. Background Art
[0002] With the rapid development of the software industry, the scale and complexity of software projects have increased year by year. How to accurately estimate the development cost of software projects has become a key link in project management. Existing software cost prediction methods often rely on the experience judgment and manual estimation of project managers or senior developers, and usually conduct cost assessments based on subjective analysis of project functions, demand complexity, team configuration, etc. However, manual estimation is easily limited by personal experience, and the evaluation results of different people on the same project may vary significantly, making it difficult to ensure the accuracy and consistency of cost predictions. Secondly, manual estimation takes a long time, especially when facing large or complex projects. It takes a lot of time to analyze requirements, functional modules and technical architecture, which seriously affects the efficiency of project startup. Summary of the invention
[0003] The present invention determines functional requirement labels, non-functional requirement labels and technical requirement labels according to the software development requirement document of the user, and determines the functional modules required by the software development requirement document according to the functional requirement labels, and then selects the closest functional module from a functional module library composed of software projects that have completed software design based on the determined functional module, and further determines the cost information, and also selects the closest software project from the functional module library to determine the repetitive workload to correct the cost information, and finally completes the automated software cost information prediction, providing a reference for the contract pricing of the software development company.
[0004] The present invention provides a software project cost management method based on big data, comprising: Obtain software development requirement documents, including functional requirements, non-functional requirements and technical requirements, send the software development requirement documents to the software requirement label recognition model for processing, and annotate entity words in the software development requirement documents through software requirement labels. The software requirement labels include functional requirement labels, non-functional requirement labels and technical requirement labels; The entity words marked as functional requirement labels are converted into functional requirement word vectors through word embedding operations, the entity words marked as non-functional requirement labels are converted into non-functional requirement word vectors through word embedding operations, and the entity words marked as technical requirement labels are converted into technical requirement word vectors through word embedding operations; Perform cluster analysis on all functional requirement word vectors to construct several clusters. For each cluster, perform the following steps: perform weighted average on all functional requirement word vectors in the cluster to construct a comprehensive word vector for functional modules. Perform weighted average on all technical requirement word vectors to construct a comprehensive word vector for technical requirements. Perform weighted average on all non-functional requirement word vectors to construct a comprehensive word vector for non-functional requirements. Send the comprehensive word vector for functional modules to the functional module recognition model for processing, output the functional module label, and select functional modules consistent with the output functional module label from the functional module library to form a functional module set. The functional module library includes several software projects that have completed software design, and each software project consists of several functional modules. These software projects are also labeled with functional requirements, non-functional requirements and technical requirements. The functional modules are also labeled with functional requirements and technical requirements, and the cost information corresponding to the functional modules is also labeled. Based on the comprehensive word vector for the functional module, the closest functional module is selected from the functional module set as the target functional module. Obtain the cost information Q corresponding to each target functional module from the functional module library i , i=1, 2, 3, …, I, I is the total number of target functional modules, and then add the technical requirement comprehensive word vector to the end of each functional module comprehensive word vector, and average the comprehensive word vectors of all functional modules with the technical requirement comprehensive word vector added to obtain the software project comprehensive vector. Based on the software project comprehensive vector, the closest software project is selected from the functional module library, and the cost information QC corresponding to the duplicate workload is determined based on the closest software project. Finally, the final software cost information is calculated , to achieve cost prediction for software projects.
[0005] As a preferred embodiment of the present invention, all functional requirement word vectors in the cluster are weighted averaged to construct a comprehensive word vector of the functional module, all technical requirement word vectors are weighted averaged to construct a comprehensive word vector of the technical requirement, and all non-functional requirement word vectors are weighted averaged to construct a comprehensive word vector of the non-functional requirement, which specifically includes the following steps: All the function requirement word vectors in the cluster are combined into a function requirement word vector set, and the deduplication operation is performed on the function requirement word vector set to construct a deduplicated function requirement word vector set. The function requirement word vectors in the deduplicated function requirement word vector set are used to construct a function requirement feature matrix E from top to bottom, and the attention matrix R = softmax (EE T), where T is the transposition operation, and then the attention matrix R is multiplied by the attention matrix R to construct the enhanced functional requirement feature matrix, and each row in the enhanced functional requirement feature matrix is regarded as the enhanced functional requirement word vector; the TF-IDF weight of the entity word corresponding to each enhanced functional requirement word vector is calculated; the TF-IDF weight of the entity word corresponding to the enhanced functional requirement word vector is used as the weight corresponding to the enhanced functional requirement word vector, and the weighted average is performed to construct the functional module comprehensive word vector; Obtain the TF-IDF weight of the entity word corresponding to each technical requirement word vector, use the TF-IDF weight of the entity word corresponding to the technical requirement word vector as the weight corresponding to the technical requirement word vector, perform weighted averaging, and construct a comprehensive technical requirement word vector; Get the TF-IDF weight of the entity word corresponding to each non-functional requirement word vector, use the TF-IDF weight of the entity word corresponding to the non-functional requirement word vector as the weight corresponding to the non-functional requirement word vector, perform weighted averaging, and construct a comprehensive non-functional requirement word vector.
[0006] As a preferred embodiment of the present invention, entity words marked as functional requirement labels are converted into functional requirement word vectors through word embedding operations, entity words marked as non-functional requirement labels are converted into non-functional requirement word vectors through word embedding operations, and entity words marked as technical requirement labels are converted into technical requirement word vectors through word embedding operations, which specifically includes the following steps: The word embedding operations corresponding to the functional requirement word vectors, non-functional requirement word vectors and technical requirement word vectors are implemented based on the entity word embedding model. The entity word embedding model is established based on Word2Vec. The training of the entity word embedding model specifically includes the following steps: obtaining several software development requirement documents, and annotating each entity word in the software development requirement documents through unique hot encoding, using the annotated software development requirement documents as training texts, and forming all training texts into a training text set, and then sending the training text set to the parameter-initialized entity word embedding model for training, and calculating the first loss value to determine whether the first loss value is within the first preset range. If the first loss value is within the first preset range, output the trained entity word embedding model; otherwise, continue to train the entity word embedding model through the training text set.
[0007] As a preferred embodiment of the present invention, the closest functional module is selected from the functional module set as the target functional module based on the functional module comprehensive word vector, which specifically includes the following contents: adding the technical requirement comprehensive word vector to the end of each functional module comprehensive word vector, constructing the functional module comprehensive vector, traversing the functional module set, and for each selected functional module, calculating the functional module similarity between the functional comprehensive vector corresponding to the selected functional module and the current functional module comprehensive vector; until the traversal of the functional module set is completed, the functional module corresponding to the largest functional module similarity is selected as the target functional module.
[0008] As a preferred embodiment of the present invention, the function module recognition model is established based on random forest, and training is performed on the function module recognition model, specifically including the following steps: Acquire several function module recognition training samples, wherein the function module recognition training samples include a function module comprehensive word vector corresponding to the same function module, annotate the function module recognition training samples through function module labels, form all annotated function module recognition training samples into a function module recognition training set, train a function module recognition model with parameter initialization through the function module recognition training set, calculate a second loss value, determine whether the second loss value is within a second preset range, and if the second loss value is within the second preset range, output the trained function module recognition model; otherwise, continue to train the function module recognition model through the function module recognition training set.
[0009] As a preferred embodiment of the present invention, the software requirement label recognition model is established based on a named entity extraction model, including a BiLSTM layer and a CRF layer.
[0010] As a preference of the present invention, the function module similarity between the function synthesis vector corresponding to the selected function module and the current function module synthesis vector is calculated by cosine similarity.
[0011] The present invention also provides a software project cost management system based on big data, comprising: The entity word labeling module is used to obtain software development requirement documents, including functional requirements, non-functional requirements and technical requirements, send the software development requirement documents to the software requirement label recognition model for processing, and label the entity words in the software development requirement documents through software requirement labels. The software requirement labels include functional requirement labels, non-functional requirement labels and technical requirement labels. A word embedding operation module, used to convert entity words marked as functional requirement labels into functional requirement word vectors through word embedding operations, convert entity words marked as non-functional requirement labels into non-functional requirement word vectors through word embedding operations, and convert entity words marked as technical requirement labels into technical requirement word vectors through word embedding operations; The function module query module is used to cluster all function requirement word vectors and construct several cluster clusters. For each cluster cluster, the following steps are performed: weighted average of all function requirement word vectors in the cluster cluster to construct a function module comprehensive word vector, weighted average of all technical requirement word vectors to construct a technical requirement comprehensive word vector, weighted average of all non-functional requirement word vectors to construct a non-functional requirement comprehensive word vector, send the function module comprehensive word vector to the function module recognition model for processing, output the function module label, select the function module consistent with the output function module label from the function module library to form a function module set, the function module library includes several software projects that have completed software design, and each software project consists of several function modules, these software projects are also marked with functional requirements, non-functional requirements and technical requirements, the function modules therein are also marked with functional requirements and technical requirements, and the cost information corresponding to the function modules is marked, and the closest function module is selected from the function module set as the target function module based on the function module comprehensive word vector; The software cost prediction module obtains the cost information Q corresponding to each target functional module from the functional module library i , i=1, 2, 3, …, I, I is the total number of target functional modules, and then add the technical requirement comprehensive word vector to the end of each functional module comprehensive word vector, and average the comprehensive word vectors of all functional modules with the technical requirement comprehensive word vector added to obtain the software project comprehensive vector. Based on the software project comprehensive vector, the closest software project is selected from the functional module library, and the cost information QC corresponding to the duplicate workload is determined based on the closest software project. Finally, the final software cost information is calculated , to achieve cost prediction for software projects.
[0012] The present invention has the following advantages: The present invention determines functional requirement labels, non-functional requirement labels and technical requirement labels according to the software development requirement document of the user, and determines the functional modules required by the software development requirement document according to the functional requirement labels, and then selects the closest functional module from a functional module library composed of software projects that have completed software design based on the determined functional module, and further determines the cost information, and also selects the closest software project from the functional module library to determine the repetitive workload to correct the cost information, and finally completes the automated software cost information prediction, providing a reference for the contract pricing of the software development company. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Figure 1 This is a schematic diagram of the structure of a software project cost management system based on big data adopted in an embodiment of the present invention. DETAILED DESCRIPTION
[0014] In order to enable persons skilled in the art to better understand the technical solutions in the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention.
[0015] Embodiment 1, a software project cost management method based on big data, comprising: Obtain software development requirement documents. Software development requirement documents are provided by customers who need to develop software. They are generally written in unstructured natural language and include functional requirements, non-functional requirements, and technical requirements. Functional requirements refer to the main functions that the software should have, such as user management, order management, and payment functions. Non-functional requirements refer to the restrictions that the software should have, such as performance requirements, security requirements, and scalability requirements. Technical requirements refer to the technical restrictions that the software should have, such as a specific technology stack, database type, and programming language. Send the software development requirement document to the software requirement label recognition model for processing. The software requirement label recognition model is established based on the named entity extraction model, including the BiLSTM layer and the CRF layer. The entity words in the software development requirement document are annotated with software requirement labels. The software requirement labels include functional requirement labels, non-functional requirement labels, and technical requirement labels. The entity words are user management, order management, payment function, and technology stack. The entity words marked as functional requirement labels are converted into functional requirement word vectors through word embedding operations, the entity words marked as non-functional requirement labels are converted into non-functional requirement word vectors through word embedding operations, and the entity words marked as technical requirement labels are converted into technical requirement word vectors through word embedding operations; All functional requirement word vectors are clustered and analyzed. K-means is used for cluster analysis. The similarity between functional requirement word vectors is used as the distance between functional requirement word vectors to construct several clusters. Each cluster includes several functional requirement word vectors with similar requirements at the functional module level. Functional modules generally refer to various software modules that need to be built according to the software development requirement documents provided by customers, such as user management modules, order management modules, and payment modules. For each cluster, the following steps are performed: weighted average of all functional requirement word vectors in the cluster to construct a comprehensive word vector for the functional module; weighted average of all technical requirement word vectors to construct a comprehensive word vector for technical requirements; weighted average of all non-functional requirement word vectors to construct a comprehensive word vector for non-functional requirements. The comprehensive word vector for the functional module can describe a functional module. The vector is sent to the function module recognition model for processing, and the function module label is output. The function module label is used to characterize the function module to be established corresponding to the cluster. The function module consistent with the output function module label is selected from the function module library to form a function module set. The function module library is set by the developer, which includes several software projects that have completed software design, and each software project is composed of several function modules. These software projects are also marked with functional requirements, non-functional requirements and technical requirements. The function modules therein are also marked with functional requirements and technical requirements, and the cost information corresponding to the function modules is marked. Based on the function module comprehensive word vector, the closest function module is selected from the function module set as the target function module. Based on the function module library, the retrieval function of big data can be realized, and then the target function module closest to the description of the current cluster is selected from the function modules that have completed software design. Based on the function module comprehensive word vector, the closest function module is selected from the function module set as the target function module, specifically including the following contents: adding the technical requirement comprehensive word vector to the end of each function module comprehensive word vector, constructing the function module comprehensive vector, traversing the function module set, and for each selected function module, calculating the function module similarity between the function comprehensive vector corresponding to the selected function module and the current function module comprehensive vector, and the calculation method may be the cosine similarity calculation method; until the function module set traversal is completed, selecting the function module corresponding to the largest function module similarity as the target function module; since the function modules in the function module library are marked with the function requirements and the technical requirements, the function module comprehensive vector corresponding to each function module can be calculated in advance; Obtain the cost information Q corresponding to each target functional module from the functional module library i, i=1, 2, 3, …, I, I is the total number of target functional modules, and then add the technical requirement comprehensive word vector to the end of each functional module comprehensive word vector, and average the comprehensive word vectors of all functional modules with the technical requirement comprehensive word vector added to obtain the software project comprehensive vector. Based on the software project comprehensive vector, the closest software project is selected from the functional module library, and the cost information QC corresponding to the repeated workload is determined based on the closest software project. The repeated workload here refers to the workload corresponding to the modules or code fragments that can be reused in the software development process. Since these workloads can be directly reused without additional development work, they can be reduced in the cost information. Finally, the final software cost information is calculated. , to achieve cost forecasting of software projects and provide reference for contract pricing of software development companies; The present application determines functional requirement labels, non-functional requirement labels and technical requirement labels according to the user's software development requirement document, and determines the functional modules required by the software development requirement document according to the functional requirement labels, and then selects the closest functional modules from a functional module library consisting of software projects that have completed software design based on the determined functional modules, and further determines the cost information, and also selects the closest software project from the functional module library to determine the repetitive workload to correct the cost information, and finally completes the automated software cost information prediction to provide a reference for the contract pricing of software development companies.
[0016] The weighted average of all functional requirement word vectors in the cluster is used to construct a comprehensive word vector of the functional module. The weighted average of all technical requirement word vectors is used to construct a comprehensive word vector of technical requirements. The weighted average of all non-functional requirement word vectors is used to construct a comprehensive word vector of non-functional requirements. The specific steps are as follows: All the function requirement word vectors in the cluster are combined into a function requirement word vector set, and a deduplication operation is performed on the function requirement word vector set. The deduplication operation refers to deleting the repeated function requirement word vectors in the function requirement word vector set, constructing a deduplication function requirement word vector set, and constructing a function requirement feature matrix E from top to bottom with the function requirement word vectors in the deduplication function requirement word vector set, and calculating the attention matrix R = softmax (EE T), where T is the transposition operation, and then the attention matrix R is multiplied by the attention matrix R to construct the enhanced functional requirement feature matrix, and each row in the enhanced functional requirement feature matrix is regarded as the enhanced functional requirement word vector. Through the self-attention mechanism, the enhanced functional requirement word vector can be enhanced based on the strong dependency relationship between functional requirements, thereby improving the subsequent matching accuracy for functional modules; the TF-IDF weight of the entity word corresponding to each enhanced functional requirement word vector is calculated. TF-IDF is term frequency-inverse document frequency. The specific calculation method is to add the entity word corresponding to the enhanced functional requirement word vector in the cluster cluster The number of occurrences in the word is divided by the total number of entity words in the cluster to obtain the word frequency (TF), obtain the total number N of software development requirement documents corresponding to the functional module library, obtain the total number Y of software development requirement documents in the functional module library that include the entity words corresponding to the enhanced functional requirement word vector, calculate the inverse document frequency IDF=log(N / (1+Y)), and the TF-IDF weight is the product of the word frequency (TF) and the inverse document frequency IDF; use the TF-IDF weight of the entity word corresponding to the enhanced functional requirement word vector as the weight corresponding to the enhanced functional requirement word vector, perform weighted averaging, and construct the comprehensive word vector of the functional module; Obtain the TF-IDF weight of the entity word corresponding to each technical requirement word vector, use the TF-IDF weight of the entity word corresponding to the technical requirement word vector as the weight corresponding to the technical requirement word vector, perform weighted averaging, and construct a comprehensive technical requirement word vector; Get the TF-IDF weight of the entity word corresponding to each non-functional requirement word vector, use the TF-IDF weight of the entity word corresponding to the non-functional requirement word vector as the weight corresponding to the non-functional requirement word vector, perform weighted averaging, and construct a comprehensive non-functional requirement word vector.
[0017] The entity words marked as functional requirement labels are converted into functional requirement word vectors through word embedding operations, the entity words marked as non-functional requirement labels are converted into non-functional requirement word vectors through word embedding operations, and the entity words marked as technical requirement labels are converted into technical requirement word vectors through word embedding operations, which specifically includes the following steps: The word embedding operations corresponding to the functional requirement word vector, the non-functional requirement word vector and the technical requirement word vector are implemented based on the entity word embedding model. The entity word embedding model is established based on Word2Vec. The training of the entity word embedding model specifically includes the following steps: obtaining several software development requirement documents, and annotating each entity word in the software development requirement document by one-hot encoding, using the annotated software development requirement document as training text, and forming a training text set from all training texts, and then sending the training text set to the parameter-initialized entity word embedding model for training. The training method adopts negative sampling, and calculates the first loss value to determine whether the first loss value is within a first preset range. The first preset range is set by the developer. If the first loss value is within the first preset range, the trained entity word embedding model is output; otherwise, the entity word embedding model is continuously trained through the training text set; the word embedding operation performed by the entity word embedding model can learn the contextual dependency between words in the software development requirement document, thereby improving the matching accuracy; The functional module recognition model is established based on random forest. The training of the functional module recognition model includes the following steps: A plurality of function module identification training samples are obtained, wherein the function module identification training samples include a function module comprehensive word vector corresponding to the same function module. It should be noted that the developer obtains the corresponding function module comprehensive word vector according to the designed function module and the function requirement description corresponding to the function module, annotates the function module identification training samples with function module labels, and forms a function module identification training set with all annotated function module identification training samples. The function module identification model with initialized parameters is trained with the function module identification training set, and a second loss value is calculated to determine whether the second loss value is within a second preset range. The second preset range is set by the developer. If the second loss value is within the second preset range, the trained function module identification model is output; otherwise, the function module identification model continues to be trained with the function module identification training set.
[0018] Example 2, a software project cost management system based on big data, such as Figure 1 As shown, including: The entity word labeling module is used to obtain software development requirement documents. The software development requirement documents are provided by customers who need to develop software. They are generally written in unstructured natural language and include functional requirements, non-functional requirements and technical requirements. Functional requirements refer to the main functions that the software should have, such as user management, order management, and payment functions. Non-functional requirements refer to the restriction requirements that the software should have, such as performance requirements, security requirements, and scalability requirements. Technical requirements refer to the technical restrictions that the software should have, such as a specific technology stack, database type, and programming language. The software development requirement document is sent to the software requirement label recognition model for processing. The software requirement label recognition model is established based on the named entity extraction model. The named entity extraction model includes a BiLSTM layer and a CRF layer. The entity words in the software development requirement document are labeled by software requirement labels. The software requirement labels include functional requirement labels, non-functional requirement labels, and technical requirement labels. The entity words are user management, order management, payment function, and technology stack. A word embedding operation module, used to convert entity words marked as functional requirement labels into functional requirement word vectors through word embedding operations, convert entity words marked as non-functional requirement labels into non-functional requirement word vectors through word embedding operations, and convert entity words marked as technical requirement labels into technical requirement word vectors through word embedding operations; Functional module query module, used to cluster all functional requirement word vectors. K-means is used for cluster analysis. The similarity between functional requirement word vectors is used as the distance between functional requirement word vectors to construct several clusters. Each cluster includes several functional requirement word vectors with similar requirements at the functional module level. Functional modules generally refer to various software modules required to be built according to the software development requirement documents provided by customers, such as user management modules, order management modules, and payment modules. For each cluster, the following steps are performed: weighted average of all functional requirement word vectors in the cluster to construct a functional module comprehensive word vector; weighted average of all technical requirement word vectors to construct a technical requirement comprehensive word vector; weighted average of all non-functional requirement word vectors to construct a non-functional requirement comprehensive word vector. The functional module comprehensive word vector can describe a functional module. The comprehensive word vector of the energy module is sent to the function module recognition model for processing, and the function module label is output. The function module label is used to characterize the function module to be established corresponding to the cluster. The function module consistent with the output function module label is selected from the function module library to form a function module set. The function module library is set by the developer, including several software projects that have completed software design, and each software project is composed of several function modules. These software projects are also marked with functional requirements, non-functional requirements and technical requirements. The function modules therein are also marked with functional requirements and technical requirements, and the cost information corresponding to the function modules is marked. Based on the comprehensive word vector of the function module, the closest function module is selected from the function module set as the target function module. Based on the function module library, the retrieval function of big data can be realized, and then the target function module closest to the description of the current cluster is selected from the function modules that have completed software design. The software cost prediction module is used to obtain the cost information Q corresponding to each target functional module from the functional module library. i , i=1, 2, 3, …, I, I is the total number of target functional modules, and then add the technical requirement comprehensive word vector to the end of each functional module comprehensive word vector, and average the comprehensive word vectors of all functional modules with the technical requirement comprehensive word vector added to obtain the software project comprehensive vector. Based on the software project comprehensive vector, the closest software project is selected from the functional module library, and the cost information QC corresponding to the repeated workload is determined based on the closest software project. The repeated workload here refers to the workload corresponding to the modules or code fragments that can be reused in the software development process. Since these workloads can be directly reused without additional development work, they can be reduced in the cost information. Finally, the final software cost information is calculated. , realize the cost forecast of software projects and provide a reference for contract pricing of software development companies.
[0019] It should be understood that those skilled in the art can make improvements or changes based on the above description, and all such improvements and changes should fall within the scope of protection of the appended claims of the present invention. Parts not described in detail in this specification belong to the prior art known to those skilled in the art.
Claims
1. A software project cost management method based on big data, characterized in that: include: Obtain software development requirement documents, including functional requirements, non-functional requirements and technical requirements, send the software development requirement documents to the software requirement label recognition model for processing, and annotate entity words in the software development requirement documents through software requirement labels. The software requirement labels include functional requirement labels, non-functional requirement labels and technical requirement labels; The entity words marked as functional requirement labels are converted into functional requirement word vectors through word embedding operations, the entity words marked as non-functional requirement labels are converted into non-functional requirement word vectors through word embedding operations, and the entity words marked as technical requirement labels are converted into technical requirement word vectors through word embedding operations; Perform cluster analysis on all functional requirement word vectors to construct several clusters. For each cluster, perform the following steps: perform weighted average on all functional requirement word vectors in the cluster to construct a comprehensive word vector for functional modules. Perform weighted average on all technical requirement word vectors to construct a comprehensive word vector for technical requirements. Perform weighted average on all non-functional requirement word vectors to construct a comprehensive word vector for non-functional requirements. Send the comprehensive word vector for functional modules to the functional module recognition model for processing, output the functional module label, and select functional modules consistent with the output functional module label from the functional module library to form a functional module set. The functional module library includes several software projects that have completed software design, and each software project consists of several functional modules. These software projects are also labeled with functional requirements, non-functional requirements and technical requirements. The functional modules are also labeled with functional requirements and technical requirements, and the cost information corresponding to the functional modules is also labeled. Based on the comprehensive word vector for the functional module, the closest functional module is selected from the functional module set as the target functional module. Obtain the cost information Q corresponding to each target functional module from the functional module library i , i=1, 2, 3, …, I, I is the total number of target functional modules, and then add the technical requirement comprehensive word vector to the end of each functional module comprehensive word vector, and average the comprehensive word vectors of all functional modules with the technical requirement comprehensive word vector added to obtain the software project comprehensive vector. Based on the software project comprehensive vector, the closest software project is selected from the functional module library, and the cost information QC corresponding to the duplicate workload is determined based on the closest software project. Finally, the final software cost information is calculated , to achieve cost prediction for software projects.
2. According to the big data-based software project cost management method of claim 1, it is characterized in that: The weighted average of all functional requirement word vectors in the cluster is used to construct a comprehensive word vector of the functional module. The weighted average of all technical requirement word vectors is used to construct a comprehensive word vector of technical requirements. The weighted average of all non-functional requirement word vectors is used to construct a comprehensive word vector of non-functional requirements. The specific steps are as follows: All the function requirement word vectors in the cluster are combined into a function requirement word vector set, and the deduplication operation is performed on the function requirement word vector set to construct a deduplicated function requirement word vector set. The function requirement word vectors in the deduplicated function requirement word vector set are used to construct a function requirement feature matrix E from top to bottom, and the attention matrix R = softmax (EE T ), where T is the transposition operation, and then the attention matrix R is multiplied by the attention matrix R to construct the enhanced functional requirement feature matrix, and each row in the enhanced functional requirement feature matrix is regarded as the enhanced functional requirement word vector; the TF-IDF weight of the entity word corresponding to each enhanced functional requirement word vector is calculated; The TF-IDF weight of the entity word corresponding to the enhanced functional requirement word vector is used as the weight corresponding to the enhanced functional requirement word vector, and weighted average is performed to construct the comprehensive word vector of the functional module; Obtain the TF-IDF weight of the entity word corresponding to each technical requirement word vector, use the TF-IDF weight of the entity word corresponding to the technical requirement word vector as the weight corresponding to the technical requirement word vector, perform weighted averaging, and construct a comprehensive technical requirement word vector; Get the TF-IDF weight of the entity word corresponding to each non-functional requirement word vector, use the TF-IDF weight of the entity word corresponding to the non-functional requirement word vector as the weight corresponding to the non-functional requirement word vector, perform weighted averaging, and construct a comprehensive non-functional requirement word vector.
3. The software project cost management method based on big data according to claim 2 is characterized in that: The entity words marked as functional requirement labels are converted into functional requirement word vectors through word embedding operations, the entity words marked as non-functional requirement labels are converted into non-functional requirement word vectors through word embedding operations, and the entity words marked as technical requirement labels are converted into technical requirement word vectors through word embedding operations, which specifically includes the following steps: The word embedding operations corresponding to the functional requirement word vectors, non-functional requirement word vectors and technical requirement word vectors are implemented based on the entity word embedding model. The entity word embedding model is established based on Word2Vec. The training of the entity word embedding model specifically includes the following steps: obtaining several software development requirement documents, and annotating each entity word in the software development requirement documents through unique hot encoding, using the annotated software development requirement documents as training texts, and forming all training texts into a training text set, and then sending the training text set to the parameter-initialized entity word embedding model for training, and calculating the first loss value to determine whether the first loss value is within the first preset range. If the first loss value is within the first preset range, output the trained entity word embedding model; otherwise, continue to train the entity word embedding model through the training text set.
4. The software project cost management method based on big data according to claim 3 is characterized in that: Based on the comprehensive word vector of the functional module, the closest functional module is selected from the functional module set as the target functional module, which specifically includes the following contents: adding the technical requirement comprehensive word vector to the end of each functional module comprehensive word vector, constructing the functional module comprehensive vector, traversing the functional module set, and for each selected functional module, calculating the functional module similarity between the functional comprehensive vector corresponding to the selected functional module and the current functional module comprehensive vector; until the traversal of the functional module set is completed, the functional module corresponding to the largest functional module similarity is selected as the target functional module.
5. The software project cost management method based on big data according to claim 4 is characterized in that: The functional module recognition model is established based on random forest. The training of the functional module recognition model includes the following steps: Acquire several function module recognition training samples, wherein the function module recognition training samples include a function module comprehensive word vector corresponding to the same function module, annotate the function module recognition training samples through function module labels, form all annotated function module recognition training samples into a function module recognition training set, train a function module recognition model with parameter initialization through the function module recognition training set, calculate a second loss value, determine whether the second loss value is within a second preset range, and if the second loss value is within the second preset range, output the trained function module recognition model; otherwise, continue to train the function module recognition model through the function module recognition training set.
6. The software project cost management method based on big data according to claim 5 is characterized in that: The software requirement label recognition model is built based on the named entity extraction model, including the BiLSTM layer and the CRF layer.
7. The software project cost management method based on big data according to claim 6 is characterized in that: The functional module similarity between the functional synthesis vector corresponding to the selected functional module and the current functional module synthesis vector is calculated by cosine similarity.
8. A software project cost management system based on big data, characterized in that: The system applies a software project cost management method based on big data as described in any one of claims 1 to 7, including: The entity word labeling module is used to obtain software development requirement documents, including functional requirements, non-functional requirements and technical requirements, send the software development requirement documents to the software requirement label recognition model for processing, and label the entity words in the software development requirement documents through software requirement labels. The software requirement labels include functional requirement labels, non-functional requirement labels and technical requirement labels. A word embedding operation module, used to convert entity words marked as functional requirement labels into functional requirement word vectors through word embedding operations, convert entity words marked as non-functional requirement labels into non-functional requirement word vectors through word embedding operations, and convert entity words marked as technical requirement labels into technical requirement word vectors through word embedding operations; The function module query module is used to cluster all function requirement word vectors and construct several cluster clusters. For each cluster cluster, the following steps are performed: weighted average of all function requirement word vectors in the cluster cluster to construct a function module comprehensive word vector, weighted average of all technical requirement word vectors to construct a technical requirement comprehensive word vector, weighted average of all non-functional requirement word vectors to construct a non-functional requirement comprehensive word vector, send the function module comprehensive word vector to the function module recognition model for processing, output the function module label, select the function module consistent with the output function module label from the function module library to form a function module set, the function module library includes several software projects that have completed software design, and each software project consists of several function modules, these software projects are also marked with functional requirements, non-functional requirements and technical requirements, the function modules therein are also marked with functional requirements and technical requirements, and the cost information corresponding to the function modules is marked, and the closest function module is selected from the function module set as the target function module based on the function module comprehensive word vector; The software cost prediction module obtains the cost information Q corresponding to each target functional module from the functional module library i , i=1, 2, 3, …, I, I is the total number of target functional modules, and then add the technical requirement comprehensive word vector to the end of each functional module comprehensive word vector, and average the comprehensive word vectors of all functional modules with the technical requirement comprehensive word vector added to obtain the software project comprehensive vector. Based on the software project comprehensive vector, the closest software project is selected from the functional module library, and the cost information QC corresponding to the duplicate workload is determined based on the closest software project. Finally, the final software cost information is calculated , to achieve cost prediction for software projects.
Citation Information
Cited By
Intelligent software cost evaluation interaction method and system based on man-machine conversation
CN121190139A
Man-machine conversation-based software cost intelligent evaluation interaction method and system
CN121190139B