Software development budget management system and management method based on clustering analysis and membership relationship

Through a software development budget management system based on cluster analysis and membership relationship, the problem that traditional methods are difficult to cope with rapidly changing needs and technical challenges is solved, and scientific optimization of budget management and resource allocation is achieved, and project execution efficiency and success rate are improved.

CN119598239AInactive Publication Date: 2025-03-11JIANGSU JINGPINSI NETWORK TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411872356.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-03-11
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Traditional software development budget management methods are difficult to cope with rapidly changing needs and technical challenges, and cannot effectively optimize budget allocation and resource allocation.

Method used

A software development budget management system based on clustering analysis and membership relationship is adopted to build scientific budget management and resource allocation methods through data collection, feature extraction, dimensionality reduction processing, mixed fuzzy C-mean clustering method and budget prediction model.

Benefits of technology

The system can help project managers better understand project structure and requirements, optimize budget allocation, and improve project execution efficiency and success rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119598239A_ABST
    Figure CN119598239A_ABST
Patent Text Reader

Abstract

The invention discloses a software development budget management system and management method based on clustering analysis and membership relation, and relates to the technical field of software development budget management, and the system comprises a data collection module, a feature extraction module, a feature preprocessing module, a calculation module, a management module and an estimation module. The method not only can help a project manager to better understand the structure and demand of the project, but also can provide a scientific method to optimize budget allocation, thereby improving the execution efficiency and success rate of the whole project.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of software development budget management, and in particular to a software development budget management system and a management method based on cluster analysis and membership relationship. Background Art

[0002] In modern software development projects, effective budget management and resource allocation are key factors in ensuring that projects are completed on time and with quality. However, due to the complexity and uncertainty of the software development process, traditional budget management methods often have difficulty coping with rapidly changing requirements and technical challenges.

[0003] In view of this, it is necessary to improve the existing software development budget management system and management methods. Summary of the invention

[0004] The present invention aims to solve at least one of the technical problems in the prior art to a certain extent, by proposing a software development budget management system and management method based on cluster analysis and membership relationship, so as to solve the technical problems existing in the above-mentioned prior art.

[0005] To achieve the above objectives, in a first aspect, the present application provides a software development budget management system based on cluster analysis and membership relationship, comprising: The data collection module is used to obtain all software development tasks that need to be completed and record the relevant information of each software development task; Feature extraction module, used to extract key features from existing historical software development tasks; Feature preprocessing module, used to reduce the dimension and standardize the key features; A calculation module, used for obtaining fuzzy membership values ​​of all software development tasks using a hybrid fuzzy C-means clustering method; A management module, used for determining the category to which each software development task belongs based on the fuzzy membership value finally obtained; The estimation module is used to build a budget prediction model for cost estimation of new tasks based on the category to which each software development task belongs and historical software development task data.

[0006] Furthermore, the feature preprocessing module uses principal component analysis (PCA) to perform dimensionality reduction.

[0007] Furthermore, the calculation module includes: Initialization unit: set the weight index, number of categories, maximum number of iterations, and maximum iteration error, and set the initial value of the loop count to 0; Initial clustering unit: Use the hybrid fuzzy C-means clustering method to preliminarily classify all software development tasks and obtain the initial fuzzy membership value and class center value; Membership update unit: For the nth iteration, calculate the new fuzzy membership value: Class center updating unit: recalculates the class center according to the updated membership value; Convergence check unit: increase the loop count, if the number of iterations is met, stop the iteration; otherwise, return to continue updating the membership and class center.

[0008] Furthermore, the membership updating unit, for the nth iteration, calculates the new fuzzy membership value by the following formula: In the formula, is the Euclidean distance between the kth task and the class center of the i-th cluster; It is expressed as the distance between the kth task and the class center of all other clusters, m is the weight index, m>1, c is the number of categories, and j represents the jth class.

[0009] Furthermore, the class center updating unit: the formula for recalculating the class center according to the updated membership value is: In the formula, represents the degree of membership of the k-th software development task to the i-th category at the n-th iteration, represents the data vector of the kth task, and d represents the number of all software development tasks involved in the cluster analysis.

[0010] In a second aspect, the present application also provides a software development budget management method based on cluster analysis and membership relationship, including: S100: Obtain all software development tasks that need to be completed, and record relevant information of each software development task; S200: Extract key features from existing historical software development tasks; S300: Dimensionality reduction and standardization of key features; S400: using a hybrid fuzzy C-means clustering method to obtain fuzzy membership values ​​of all software development tasks; S500: Determine the category to which each software development task belongs based on the fuzzy membership value finally obtained; S600: Based on the category to which each software development task belongs and historical software development task data, a budget forecasting model is constructed for cost estimation of new tasks.

[0011] Furthermore, in S200, a principal component analysis (PCA) method is used to perform dimensionality reduction processing.

[0012] Furthermore, S400 includes: S410: Setting the weight index, the number of categories, the maximum number of iterations, and the maximum error of iterations, and setting the initial value of the loop count to 0; S420: using a hybrid fuzzy C-means clustering method to preliminarily classify all software development tasks to obtain initial fuzzy membership values ​​and class center values; S430: For the nth iteration, calculate a new fuzzy membership value: S440: recalculating the class center according to the updated membership value; S440: Increase the loop count. If the number of iterations is met, stop the iteration; otherwise, return to continue updating the membership and class center.

[0013] Further, S430: for the nth iteration, the calculation formula for calculating the new fuzzy membership value is: In the formula, is the Euclidean distance between the kth task and the class center of the i-th cluster; It is expressed as the distance between the kth task and the class center of all other clusters, m is the weight index, m>1, c is the number of categories, and j represents the jth class.

[0014] Further, S440: the formula for recalculating the cluster center according to the updated membership value is: In the formula, represents the degree of membership of the k-th software development task to the i-th category at the n-th iteration, represents the data vector of the kth task, and d represents the number of all software development tasks involved in the cluster analysis.

[0015] Beneficial effects of the invention: Compared with the prior art, the present invention provides a software development budget management system and management method based on cluster analysis and membership relationship, which can not only help project managers better understand the structure and requirements of the project, but also provide a scientific method to optimize budget allocation, thereby improving the execution efficiency and success rate of the entire project. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 is a functional block diagram of the system of the present invention; Figure 2 The figure is a flow chart of the steps of the method of the present invention. DETAILED DESCRIPTION

[0017] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0018] Example 1, please refer to Figure 1 As shown, the present application provides a software development budget management system based on cluster analysis and membership relationship, including: The data collection module is used to obtain all software development tasks that need to be completed and record relevant information of each software development task, such as expected working hours, complexity, dependencies, etc. Feature extraction module, used to extract key features from existing historical software development tasks, such as the type of task, estimated workload, technical difficulty involved, etc. These features can serve as the basis for subsequent clustering analysis; Feature preprocessing module, used to reduce the dimension and standardize the key features; A calculation module, used for obtaining fuzzy membership values ​​of all software development tasks using a hybrid fuzzy C-means clustering method; A management module, used for determining the category to which each software development task belongs based on the fuzzy membership value finally obtained; The estimation module is used to build a budget prediction model for cost estimation of new tasks based on the category to which each software development task belongs and historical software development task data.

[0019] Specifically, in the feature preprocessing module, if the original feature space dimension is high, the principal component analysis (PCA) technique is used to reduce the number of features while retaining as much information as possible. This helps to simplify the model and improve computational efficiency.

[0020] Specifically, in the feature preprocessing module, the selected features are standardized to ensure fair comparison of features of different scales in subsequent analysis.

[0021] In the specific implementation process, the calculation module includes: an initialization unit, an initial clustering unit, a membership update unit, a class center update unit and a convergence check unit. These units are described in detail below.

[0022] Specifically, the initialization unit includes initialization parameter settings: Weight index m: Set a value greater than 1 to control the width of the membership distribution.

[0023] Number of categories c: defines the number of clusters to be divided, for example, by functional modules or teams.

[0024] Loop count n: initialized to 0, and set the maximum number of iterations n max .

[0025] Maximum error ε: Set a small positive value as the stopping condition, and stop when the change in the class center between two adjacent iterations is less than this value.

[0026] Specifically, the initial clustering unit: use the hybrid fuzzy C-means clustering method to preliminarily classify all software development tasks and obtain the initial fuzzy membership value (the membership of each task to each cluster) and the class center value (the center point of each cluster).

[0027] Specifically, the membership updating unit: for the nth iteration, calculates the new fuzzy membership value, and the calculation formula is: In the formula, is the Euclidean distance between the kth task and the class center of the i-th cluster; It is expressed as the distance between the kth task and the class center of all other clusters, m is the weight index, m>1, c is the number of categories, and j represents the jth class.

[0028] Specifically, the class center updating unit: recalculates the class center according to the updated membership value, and the formula is: In the formula, represents the degree of membership of the k-th software development task to the i-th category at the n-th iteration, represents the data vector of the kth task (such as the cost estimate, complexity score and other features of the task), and d represents the number of all software development tasks involved in the cluster analysis.

[0029] Specifically, the convergence check unit increases the loop count, and stops the iteration if the number of iterations is met; otherwise, returns to continue updating the membership and class center.

[0030] Specifically, increase the loop count r = r + 1. If any of the following conditions is met, the iteration is terminated: The change in the class center is less than the preset maximum error ε: ||V(n)-V(n-1)||<ε The maximum number of iterations has been reached: n>nmax.

[0031] When the iteration is terminated, the final fuzzy membership matrix and class center matrix are obtained.

[0032] Based on the final membership value, more accurate cost estimation and resource allocation can be made for each task, ensuring that critical tasks are prioritized and supported.

[0033] For tasks with high affiliation, you can consider giving them more attention or allocating more resources to ensure that the project is completed on time and with quality.

[0034] In the specific implementation process, the management module uses cluster analysis and membership values ​​to identify the category (such as team or module) to which the task is most likely to belong, thereby achieving optimal resource allocation. It is clear which team or module should be responsible for each task, and the priority is determined based on the membership, ensuring that key tasks receive sufficient resource support.

[0035] In the specific implementation process, the budget forecasting model constructed in the estimation module includes: Select a suitable regression model: According to the task characteristics and historical cost data, select a suitable regression model, such as linear regression, decision tree regression, random forest regression, etc. These models can be used to establish a mapping relationship between task characteristics and actual costs.

[0036] Training model: Use the task classification results and their membership information obtained after clustering as input variables, and combine them with the corresponding historical cost data as output labels to train the budget forecasting model.

[0037] Model validation: Use methods such as cross-validation to evaluate model performance and ensure that it has good generalization ability.

[0038] For a new task, its membership to each cluster is first calculated, and then its features are input into the trained budget prediction model to obtain the cost prediction result.

[0039] For tasks with low membership or at the boundaries of multiple categories, identify the uncertainties and risks they may bring and develop corresponding coping strategies.

[0040] Specifically, it also includes using the weighted average method to estimate the cost of new tasks: In the formula, represents the cost prediction of the kth task; is the degree of membership of the task to the i-th category at the n-th iteration; is the historical average cost of the ith category.

[0041] This weighted average method based on membership can make full use of the results of cluster analysis to provide a reasonable cost forecast for each task, thereby assisting budget management and resource allocation.

[0042] In the specific implementation process, the estimation module uses the task classification results from "Budget Allocation Optimization" and historical cost data as a reference. Based on the classification and membership information of the task, the cost of each task can be predicted more accurately. A task with a high membership usually means that the characteristics of the task are more consistent with the category to which it belongs. Therefore, a more accurate cost prediction can be made based on the historical costs of similar tasks. For those tasks with lower membership or on the boundaries of multiple categories, it may indicate that these tasks have higher uncertainty. Such tasks require special attention because they may be complex, novel or difficult to predict. It is crucial to identify and plan corresponding risk management measures in advance. Finally, a detailed cost forecast is provided for each task, and a response strategy is formulated for potential risks.

[0043] Specifically, once the attribution and priority of tasks are clear (that is, "budget allocation optimization" is completed), specific cost estimates can be made. This step depends on the results of the previous step because it determines which tasks will be given priority and affects how to choose appropriate historical data for comparison. With accurate cost estimates, you can better understand the financial status of the entire project and identify possible risk points. "Cost Estimation and Risk Assessment" not only helps project managers understand expected expenditures, but also provides the necessary information to take preventive actions to ensure the smooth progress of the project.

[0044] Example 2, please refer to Figure 2 As shown, the present application also provides a software development budget management method based on cluster analysis and membership relationship, including: S100: Obtain all software development tasks that need to be completed, and record relevant information of each software development task; S200: Extract key features from existing historical software development tasks; S300: Dimensionality reduction and standardization of key features; S400: using a hybrid fuzzy C-means clustering method to obtain fuzzy membership values ​​of all software development tasks; S500: Determine the category to which each software development task belongs based on the fuzzy membership value finally obtained; S600: Based on the category to which each software development task belongs and historical software development task data, a budget forecasting model is constructed for cost estimation of new tasks.

[0045] In the specific implementation process, the principal component analysis (PCA) method is used in S200 to perform dimensionality reduction processing.

[0046] In the specific implementation process, S400 includes: S410: Setting the weight index, the number of categories, the maximum number of iterations, and the maximum error of iterations, and setting the initial value of the loop count to 0; S420: using a hybrid fuzzy C-means clustering method to preliminarily classify all software development tasks to obtain initial fuzzy membership values ​​and class center values; S430: For the nth iteration, calculate a new fuzzy membership value: S440: recalculating the class center according to the updated membership value; S440: Increase the loop count. If the number of iterations is met, stop the iteration; otherwise, return to continue updating the membership and class center.

[0047] In the specific implementation process, S430: for the nth iteration, the calculation formula for calculating the new fuzzy membership value is: In the formula, is the Euclidean distance between the kth task and the class center of the i-th cluster; It is expressed as the distance between the kth task and the class center of all other clusters, m is the weight index, m>1, c is the number of categories, and j represents the jth class.

[0048] In the specific implementation process, S440: the formula for recalculating the class center according to the updated membership value is: In the formula, represents the degree of membership of the k-th software development task to the i-th category at the n-th iteration, represents the data vector of the kth task, and d represents the number of all software development tasks involved in the cluster analysis.

[0049] In the embodiments provided in the present application, it should be understood that the disclosed system or method can be implemented in other ways. The embodiments described above are merely schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation. For example, multiple modules or units can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, and the indirect coupling or communication connection of systems, modules and units can be electrical, mechanical or other forms.

[0050] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A software development budget management system based on cluster analysis and membership relationship, characterized in that: include: The data collection module is used to obtain all software development tasks that need to be completed and record the relevant information of each software development task; Feature extraction module, used to extract key features from existing historical software development tasks; Feature preprocessing module, used to reduce the dimension and standardize the key features; A calculation module, used for obtaining fuzzy membership values ​​of all software development tasks using a hybrid fuzzy C-means clustering method; A management module, used for determining the category to which each software development task belongs based on the fuzzy membership value finally obtained; The estimation module is used to build a budget prediction model for cost estimation of new tasks based on the category to which each software development task belongs and historical software development task data.

2. According to claim 1, a software development budget management system based on cluster analysis and membership relationship is characterized in that: The feature preprocessing module uses the principal component analysis (PCA) method to perform dimensionality reduction processing.

3. According to claim 1, a software development budget management system based on cluster analysis and membership relationship is characterized in that: The calculation module comprises: Initialization unit: set the weight index, number of categories, maximum number of iterations, and maximum iteration error, and set the initial value of the loop count to 0; Initial clustering unit: Use the hybrid fuzzy C-means clustering method to preliminarily classify all software development tasks and obtain the initial fuzzy membership value and class center value; Membership update unit: For the nth iteration, calculate the new fuzzy membership value: Class center updating unit: recalculates the class center according to the updated membership value; Convergence check unit: increase the loop count, if the number of iterations is met, stop the iteration; otherwise, return to continue updating the membership and class center.

4. A software development budget management system based on cluster analysis and membership relationship according to claim 3, characterized in that: The membership updating unit calculates the new fuzzy membership value for the nth iteration using the following calculation formula: In the formula, is the Euclidean distance between the kth task and the class center of the i-th cluster; It is expressed as the distance between the kth task and the class center of all other clusters, m is the weight index, m>1, c is the number of categories, and j represents the jth class.

5. A software development budget management system based on cluster analysis and membership relationship according to claim 4, characterized in that: The class center updating unit: The formula for recalculating the class center according to the updated membership value is: In the formula, represents the degree of membership of the k-th software development task to the i-th category at the n-th iteration, represents the data vector of the kth task, and d represents the number of all software development tasks involved in the cluster analysis.

6. A software development budget management method based on cluster analysis and membership relationship, characterized in that: include: S100: Obtain all software development tasks that need to be completed, and record relevant information of each software development task; S200: Extract key features from existing historical software development tasks; S300: Dimensionality reduction and standardization of key features; S400: using a hybrid fuzzy C-means clustering method to obtain fuzzy membership values ​​of all software development tasks; S500: Determine the category to which each software development task belongs based on the fuzzy membership value finally obtained; S600: Based on the category to which each software development task belongs and historical software development task data, a budget forecasting model is constructed for cost estimation of new tasks.

7. A software development budget management system based on cluster analysis and membership relationship according to claim 6, characterized in that: In S200, principal component analysis (PCA) is used for dimensionality reduction.

8. The software development budget management system based on cluster analysis and membership relationship according to claim 6 is characterized in that: S400 includes: S410: Setting the weight index, the number of categories, the maximum number of iterations, and the maximum error of iterations, and setting the initial value of the loop count to 0; S420: using a hybrid fuzzy C-means clustering method to preliminarily classify all software development tasks to obtain initial fuzzy membership values ​​and class center values; S430: For the nth iteration, calculate a new fuzzy membership value: S440: recalculating the class center according to the updated membership value; S440: Increase the loop count. If the number of iterations is met, stop the iteration; otherwise, return to continue updating the membership and class center.

9. A software development budget management system based on cluster analysis and membership relationship according to claim 8, characterized in that: S430: For the nth iteration, the calculation formula for calculating the new fuzzy membership value is: In the formula, is the Euclidean distance between the kth task and the class center of the i-th cluster; It is expressed as the distance between the kth task and the class center of all other clusters, m is the weight index, m>1, c is the number of categories, and j represents the jth class.

10. A software development budget management system based on cluster analysis and membership relationship according to claim 8, characterized in that: S440: The formula for recalculating the class center according to the updated membership value is: In the formula, represents the degree of membership of the k-th software development task to the i-th category at the n-th iteration, represents the data vector of the kth task, and d represents the number of all software development tasks involved in the cluster analysis.