Disclosure of Invention
The present invention has been made in view of the above-described problems.
The invention solves the technical problems that the existing software development management method has the problems of lack of a dynamic adjustment mechanism for resource allocation, lack of cooperative optimization for code quality and safety monitoring, lack of intelligent allocation in a testing and deployment stage, and realization of full-flow dynamic management of demand analysis, resource optimization, code quality and safety management and user experience feedback.
In order to solve the technical problems, the invention provides a software development management system based on big data, which comprises a demand analysis and management module, a resource optimization distribution module, a security management module, a code quality monitoring module, an intelligent test module, a deployment and monitoring module, a user experience analysis module, a cloud service management module and a decision support module, wherein the demand analysis and management module is used for collecting and analyzing user demands, generating a demand report, acquiring feedback from the user experience analysis module in the project development process and adjusting the demand document, based on the demand analysis and management module, the resource optimization distribution module and the security management module, processing the demand analysis and resource distribution stage in the development process, the resource optimization distribution module is used for intelligently distributing resources, the security management module is used for formulating strategies, the code quality monitoring module is used for monitoring the code quality in the development process and detecting the problems and feeding back to a development team, the code quality monitoring module, the resource optimization distribution module and the security management module are used for processing the code development and quality monitoring stage in the development process, the intelligent test module is used for automatically generating and executing test cases, the deployment and the test cases, the security management module is used for automatically deploying and monitoring the code quality monitoring module, the code development and quality monitoring stage in the development process, the test module is used for deploying and the test module according to the analysis and the demand analysis and the user experience analysis and the analysis stage in the development process, the automatic distribution module is used for deploying and the user experience optimization module is used for optimizing and the product analysis and the analysis stage based on the demand analysis and the user quality, the cloud service management module provides cloud resource management, and the decision support module provides comprehensive data analysis and supports management decisions.
The software development management system based on big data is a preferable scheme, wherein a demand analysis and resource allocation stage in the processing development process comprises a demand analysis and management module generating a demand document according to user demands, a resource optimization allocation module intelligently allocating resources according to demands and combining team capacity, a security management module intervenes, and security demands are focused in the demand analysis.
The code development and quality monitoring stage in the processing development process comprises a resource optimization distribution module for coordinately distributing development resources to start projects, the code quality monitoring module continuously monitors the code quality, potential problems are found, the safety management module monitors the safety problems in the codes, and the safety management module and the code quality monitoring module cooperatively process potential safety hazards.
The project starting comprises the steps that a resource optimizing distribution module receives the input of a demand analysis and management module, a preliminary resource distribution plan is generated, resources are distributed and developed when the project is started, the resource optimizing distribution module sends resource configuration information to a code quality monitoring module and a safety management module, the potential problem is found, the code quality monitoring module receives the resource information of the resource optimizing distribution module, static code analysis and code quality measurement are carried out, the readability, complexity and repetition rate of a code segment are evaluated by utilizing a static analysis tool, and the code quality monitoring module evaluates the readability evaluation result of the code through static analysisComplexity indexRepetition rateThe safety hidden danger processing method comprises the steps of executing an anomaly detection algorithm after the safety management module receives high-risk code segments marked by the code quality monitoring module and quality index data, analyzing the marked code segments by using a machine learning model, extracting characteristics of potential code security holes from the marked code segments by using a trained anomaly detection model, feeding back analysis results to a resource optimization distribution module by the safety management module through the anomaly detection model, dynamically adjusting resources according to feedback of the safety management module, transmitting an updated resource allocation scheme to the code quality monitoring module again by the resource optimization distribution module, continuously monitoring the readability, complexity and repetition rate of codes by the code quality monitoring module, analyzing quality indexes of new codes in real time when code modification is detected, feeding back latest quality data to the safety management module for secondary security detection, carrying out anomaly detection on a new part of the codes by the safety management module, identifying potential code security holes, and immediately transmitting information to resource optimization distribution personnel or more suggesting resource allocation priority to safety level developers if the new high-risk code segments are detected.
The software development management system based on big data is a preferable scheme, wherein the testing and deployment stage in the processing development process comprises an intelligent testing module for executing automatic testing, verifying the code quality, a deployment and monitoring module for executing automatic deployment after the testing is passed, starting real-time system monitoring, and completing the operation of the system in a cloud environment by cooperation of the deployment and monitoring module and a cloud service management module.
The invention relates to a big data-based software development management system, which is a preferable scheme, wherein a user experience analysis and feedback stage in the processing development process comprises a user experience analysis module for collecting user feedback and behavior data, a demand analysis and management module for continuously updating a demand document according to the user experience feedback, and a decision support module for integrating the user data and the demand information and providing decision suggestions.
The decision support module provides omnibearing information support for a management layer by reporting comprehensive evaluation information of output items, including resource use efficiency, code quality, system safety and user feedback trend, and meanwhile, the decision support module updates an algorithm model according to management requirements to continuously optimize an analysis result.
Another object of the present invention is to provide a software development management method based on big data, which can solve the problem that the existing software development management technology contains a lack of collaborative optimization of code quality and security monitoring by processing the code development and quality monitoring stages in the development process based on a code quality monitoring module, a resource optimization allocation module and a security management module.
The method for managing the software development based on the big data comprises a demand analysis and management module, a resource optimization and distribution module and a safety management module, wherein the demand analysis and resource distribution stage in the process of processing and development is included, the code quality monitoring module, the resource optimization and distribution module and the safety management module are used for coordinating and distributing development resources in the process of processing and development, project starting is carried out, the code quality monitoring module continuously monitors the code quality, potential problems are found, the safety management module monitors safety problems in codes and cooperatively processes potential safety hazards with the code quality monitoring module, the intelligent test module, the deployment and monitoring module and the cloud service management module are used for testing and deployment stages in the process of processing and development, and the user experience analysis and feedback stage in the process of processing and development is processed based on the user experience analysis module, the demand analysis and management module and the decision support module.
The software development management system based on big data has the advantages that the system can dynamically adjust resource allocation through cooperation of the demand analysis and management module, the resource optimization allocation module and the safety management module, high efficiency and safety of resource utilization are guaranteed, resource waste is avoided, development risks are reduced, the code quality monitoring module and the safety management module are utilized, the system can monitor the readability, complexity and safety of codes in real time, high-risk code segments are identified and processed through static analysis and a machine learning algorithm, so that the code quality and safety are effectively improved, the intelligent testing module, the automatic testing and cloud deployment of the deployment and monitoring module are utilized, the efficient linkage of testing and deployment is realized, the development period is greatly shortened, the stability of the system in a cloud environment is guaranteed, the user feedback is integrated into the demand adjustment and decision support through the feedback mechanism of the user experience analysis module, the demand analysis module and the decision support module, and the user adaptability and market competitiveness of products are guaranteed.
Detailed Description
So that the manner in which the above recited objects, features and advantages of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to the embodiments, some of which are illustrated in the appended drawings. All other embodiments, which can be made by one of ordinary skill in the art based on the embodiments of the present invention without making any inventive effort, shall fall within the scope of the present invention.
Embodiment 1, referring to fig. 1, for an embodiment of the present invention, there is provided a software development management system based on big data, including:
The system comprises a demand analysis and management module 100, a resource optimization allocation module 200, a security management module 300, a code quality monitoring module 400, an intelligent test module 500, a deployment and monitoring module 600, a user experience analysis module 700, a cloud service management module 800 and a decision support module 900.
Further, the demand analysis and management module 100 is used for collecting and analyzing user demands, generating a demand report, acquiring feedback from the user experience analysis module 700 during project development, adjusting a demand document, processing the demand analysis and resource allocation stage during development based on the demand analysis and management module 100, the resource optimization allocation module 200 and the security management module 300, the resource optimization allocation module 200 is used for intelligently allocating resources, the security management module 300 is used for making a defense strategy, the code quality monitoring module 400 is used for monitoring the code quality during development, detecting problems and feeding back to a development team, processing the code development and quality monitoring stage during development based on the code quality monitoring module 400, the resource optimization allocation module 200 and the security management module 300, the intelligent test module 500 is used for automatically generating and executing test cases, processing the test and deployment stage based on the intelligent test module 500, the deployment and monitoring module 600 and the cloud service management module 800, the deployment and monitoring module 600 is used for automatically deploying and monitoring the system, the user analysis module 700 is used for analyzing the user feedback and the behaviors, providing basis for optimizing products, and providing decision-making analysis and decision-making management module 900 and providing comprehensive decision-making and service system support and service system support and analysis module 900.
It should be noted that, the demand analysis and resource allocation stage in the process of processing and development includes that the demand analysis and management module 100 generates a demand document according to the user demand, the resource optimization allocation module 200 performs intelligent allocation of resources according to the demand in combination with team capability, and the security management module 300 intervenes to pay attention to the security demand in the demand analysis.
It should be further noted that, in the process of processing and developing, the demand analysis and resource allocation stage is implemented by the cooperation of the demand analysis and management module 100, the resource optimization allocation module 200 and the security management module 300, so that the demand analysis and resource intelligent allocation in the developing process is implemented, the demand analysis and management module 100 generates a demand report by collecting user demands, and meanwhile, in the developing process, feedback is obtained from the user experience analysis module 700 and demand documents are adjusted, so as to dynamically adapt to project demands, after receiving demand information, the resource optimization allocation module 200 performs intelligent resource allocation in combination with team capacity, so as to ensure rationality and high efficiency of resource usage, in addition, the security management module 300 intervenes in the demand analysis stage, pays attention to potential security demands, and enhances safety protection of the system from an early stage, so that the system meets user demands, and simultaneously ensures flexibility and security of resource allocation, effectively improves development efficiency and reduces resource waste risks.
It should be further noted that, in the process of code development and quality monitoring, the resource optimizing and distributing module 200 coordinates and distributes development resources, and starts projects, the code quality monitoring module 400 continuously monitors the code quality, discovers potential problems, and the security management module 300 monitors security problems in the code, and cooperates with the code quality monitoring module 400 to process potential safety hazards.
Further, project initiation includes the resource optimization allocation module 200 receiving input from the demand analysis and management module 100, generating a preliminary resource allocation plan, and allocating development resources at the time of project initiation, the resource optimization allocation module 200 transmitting resource allocation information to the code quality monitoring module 400 and the security management module 300, discovery of potential problems including the code quality monitoring module 400 receiving resource information from the resource optimization allocation module 200, performing static code analysis and code quality measurement, evaluating readability, complexity and repetition rate of code segments using the static analysis tool, the code quality monitoring module 400 evaluating readability of codes by the static analysisComplexity indexRepetition rateThe potential high-risk code segments are marked based on complexity and repetition rate, the potential safety hazards are processed by the safety management module 300, after the potential high-risk code segments marked by the code quality monitoring module 400 and quality index data are received, an anomaly detection algorithm is executed, the marked code segments are analyzed by using a machine learning model, the characteristics of the security holes are extracted from the marked code segments by using a trained anomaly detection model, the safety management module 300 feeds back analysis results to the resource optimization distribution module 200 through the anomaly detection model, the resource optimization distribution module 200 dynamically adjusts resources according to the feedback of the safety management module 300, the resource optimization distribution module 200 transmits the updated resource allocation scheme to the code quality monitoring module 400 again, the code quality monitoring module 400 continuously monitors the readability, the complexity and the repetition rate of codes, analyzes the quality index of new codes in real time when the code modification is detected, the latest quality data are fed back to the safety management module 300 for secondary security detection, the security management module 300 detects anomalies of the new parts of the codes through the machine learning model, and if the potential security holes are detected, the resource optimization distribution module 200 immediately transmits the priority information to the development personnel who has more priority to the resource optimization module 200.
It should also be noted that marking a particular process of potentially high risk code segments may be accomplished by defining a composite risk scoreScoring as readability assessment resultsComplexity indexRepetition rateThe weighted sum of the three indices is expressed as:
Wherein, 、、Weight coefficients of readability, complexity and repetition rate, respectively, are empirically determined and optimized, the weights are set to、、I.e. complexity plays a major role in the overall score, overall risk scoreIn the range of 0 to 100, a higher score indicates a greater risk of the code segment, according to the composite risk scoreDividing the code segments into different risk classes so as to further refine the decision criteria of the high risk code segments, the specific division of the risk classes comprising low risk #) The code quality is higher, the readability, the complexity and the repetition rate are in reasonable range, no special treatment is needed, and the medium risk is reduced) The code has a certain problem, suggests quality optimization, but does not form serious risk, high risk) Obvious defect of code quality, need to be checked and optimized preferentially, and extremely high risk) The code has serious risks, which can lead to potential safety hazards and needs immediate intervention.
It should be further noted that, in the process of code development and quality monitoring, the resource optimization distribution module 200, the code quality monitoring module 400 and the security management module 300 cooperate to realize code quality monitoring and potential safety hazard prevention in the development process, the resource optimization distribution module 200 distributes development resources when a project is started, and transmits resource configuration information to the code quality monitoring module 400 and the security management module 300, support is provided for the development and monitoring process, the code quality monitoring module 400 continuously monitors code quality in the development process, the readability, complexity and repetition rate of codes are evaluated through a static analysis tool, analysis data are output to the security management module 300, potential high-risk code segments are marked, the security management module 300 further analyzes the marked high-risk code segments by using an anomaly detection algorithm, and the potential security vulnerability is identified through a machine learning model, the resource optimization distribution module 200 dynamically adjusts resource configuration based on feedback of the security management module, so that the suitability of resource distribution and security requirements in the development process is ensured, efficient code quality control is realized, potential security and potential safety hazards and potential safety hazards are effectively prevented, and security and stability of the code is improved.
It should be noted that, the testing and deployment stage in the process of processing and developing includes that the intelligent testing module 500 executes an automated test, verifies the code quality, and after the test passes, the deployment and monitoring module 600 executes an automated deployment, and starts to monitor the system in real time, and the deployment and monitoring module 600 cooperates with the cloud service management module 800 to complete the operation of the system in the cloud environment.
It should be further noted that, in the testing and deployment stage in the process of processing and development, by the combined action of the intelligent testing module 500, the deployment and monitoring module 600 and the cloud service management module 800, testing and automatic deployment in the process of development are realized, the intelligent testing module 500 generates and executes a test case through automatic testing, whether the quality of codes accords with the standard or not, and after the test passes, the deployment and monitoring module 600 is responsible for automatic deployment and starting up the real-time monitoring of the system, and meanwhile, the cloud service management module 800 cooperatively completes the resource management in the cloud environment so as to ensure the stable operation of the system in the cloud environment.
It should be further noted that, in the process development, the user experience analysis and feedback stage includes the user experience analysis module 700 collecting user feedback and behavior data, and the demand analysis and management module 100 continuously updates the demand document according to the user experience feedback, and the decision support module 900 integrates the user data and the demand information to provide decision advice.
It should be further noted that, through the combined action of the user experience analysis module 700, the requirement analysis and management module 100 and the decision support module 900, user experience analysis and feedback optimization are realized, the user experience analysis module 700 collects user feedback and behavior data, the data are transmitted to the requirement analysis and management module 100 and the decision support module 900, the requirement analysis and management module 100 dynamically adjusts the requirement document based on the user feedback, the system is continuously optimized to meet the user requirement, the decision support module 900 integrates the user data, the requirement information and other module data, provides decision advice and outputs comprehensive evaluation information, comprehensive decision support is provided for the management layer, through the steps, the system realizes continuous optimization guided by the user feedback, the user experience of the product is enhanced, reliable decision basis is provided for the management layer, and the market adaptability of the product is effectively improved.
Furthermore, the decision support module 900 provides comprehensive information support for the management layer by reporting comprehensive evaluation information of the output items, including resource utilization efficiency, code quality, system security and user feedback trend, and meanwhile, the decision support module 900 updates the algorithm model according to the management requirement to continuously optimize the analysis result.
Embodiment 2 provides a software development management system based on big data, and in order to verify the beneficial effects of the invention, scientific demonstration is carried out through economic benefit calculation and simulation experiments.
Firstly, in this embodiment, to verify the performance and advantages of a software development management system based on big data, a complex software development project is simulated, the performance of a staged test system in links of demand analysis, code quality monitoring, security management, testing and deployment, etc. is analyzed by the comprehensive output of each module, the project firstly enters the stage of demand analysis and resource allocation, a detailed demand document is generated by the demand analysis and management module, the resource optimization allocation module receives the demand and generates a preliminary resource allocation plan in combination with project team capability to ensure the efficient use of resources, the security management module simultaneously intervenes in the demand analysis flow, identifies and records potential security demands, ensures early security policy of system development, and the resource optimization allocation module allocates development resources according to the plan after the project is started in the stage of code development and quality monitoring, the code quality monitoring module continuously monitors the readability, complexity and repetition rate of the code segments, quantifies indexes through the static code analysis tool, a weighted scoring system is adopted at the stage, the readability, the complexity and the repetition rate are comprehensively scored and divided into four risk grades of low, medium, high and extremely high, the code quality monitoring module transmits marked high-risk code segments to the safety management module, the safety management module carries out secondary analysis through an anomaly detection model, potential safety hazards are identified, if the extremely high-risk code segments are detected, the safety management module feeds back resource adjustment requirements to the resource optimization distribution module, so that the system can timely increase safety resources, the intelligent test module automatically generates and executes test cases in the test and deployment stage, verifies the code quality, and the deployment and monitoring module carries out automatic deployment after the test passes, the cloud service management module cooperates and optimizes cloud resource allocation when the system is deployed, ensures efficient operation of the system in a cloud environment, automatically adjusts resources according to real-time monitoring data to prevent resource waste, the user experience analysis module collects feedback data of a user and quantifies indexes, the demand analysis and management module adjusts demand documents based on the user feedback to ensure that the system continuously accords with user demands, the decision support module gathers user data, project indexes and resource use conditions to generate a decision support report, the auxiliary management layer carries out next resource and development decision, and records and analyzes system test data with reference to table 1.
Table 1 system test data table
| Stage(s) |
Project period (Tian) |
Demand completion rate (%) |
Resource utilization (%) |
Code quality score (0-100) |
Number of security breach detections |
Test passing rate (%) |
User satisfaction (0-10) |
| Demand analysis and resource allocation |
5 |
95 |
80 |
N/A |
0 |
N/A |
N/A |
| Code development and quality monitoring |
15 |
100 |
85 |
70 |
3 |
N/A |
N/A |
| High risk code segment markers |
5 |
N/A |
90 |
50 |
5 |
N/A |
N/A |
| Testing and deployment |
7 |
N/A |
88 |
75 |
1 |
92 |
N/A |
| User experience analysis and feedback |
3 |
N/A |
70 |
N/A |
0 |
N/A |
8.5 |
| Comprehensive performance evaluation |
30 |
N/A |
85 |
72 |
9 |
N/A |
8.7 |
The method clearly shows the effectiveness and advantages of the software development management system based on big data by recording main indexes of each development stage, firstly, in the stage of demand analysis and resource allocation, the demand completion rate reaches 95%, the resource utilization rate is 80%, which indicates that the resource optimization allocation module reasonably allocates development resources in the stage of demand analysis, thereby realizing the effects of quick response of demand and efficient allocation of resources, compared with the mode of static allocation of resources in the traditional system, the method realizes dynamic resource management, ensures more flexible and efficient resource utilization, realizes 85% resource utilization rate and 70% code quality score by the cooperative work of the code quality monitoring module and the security management module in the stage of code development and quality monitoring, and compared with the traditional system, the method increases the static analysis tool based on big data, the method can discover and mark potential high-risk code segments at the initial stage of development, particularly in the process of marking the high-risk code segments, the code segments with the comprehensive risk score of 50 minutes are marked by a security management module, 5 security holes are successfully detected, the potential risks of codes are effectively avoided, in the stage of testing and deployment, an intelligent testing module realizes automatic testing, the passing rate reaches 92 percent, which is far higher than that of a manual testing method of a traditional system, simultaneously, a cloud service management module automatically allocates resources when in deployment, realizes 88 percent of resource utilization rate, the process shows the automation level of the method in the testing and deployment process, the system stability is obviously improved, innovativeness is shown in cloud resource optimization, and the user satisfaction degree collected by a user experience analysis module is 8.5 minutes in the stage of user experience analysis and feedback, the combination of the user satisfaction degree of 8.7 points achieved in the comprehensive performance evaluation stage shows that the system can continuously adjust the requirements according to user feedback, the optimization of user experience is ensured, and the management layer can make scientific decisions based on the user feedback and the use condition of system resources through comprehensive data analysis of the decision support module.
Embodiment 3, referring to fig. 2, for an embodiment of the present invention, a software development management method based on big data is provided, which includes a stage of demand analysis and resource allocation in a process of development based on a demand analysis and management module 100, a resource optimization and allocation module 200, and a security management module 300, a stage of code development and quality monitoring in a process of development based on a code quality monitoring module 400, a resource optimization and allocation module 200, and a security management module 300, a stage of code development and quality monitoring in a process of development, a resource optimization and allocation module 200 coordinates allocation of development resources for project starting, a code quality monitoring module 400 continuously monitors code quality, finds potential problems, a security management module 300 monitors security problems in codes, and processes security hidden dangers in cooperation with the code quality monitoring module 400, a stage of test and deployment in a process of development based on an intelligent test module 500, a deployment and monitoring module 600, and a cloud service management module 800, and a stage of user experience analysis and feedback in a process of user experience analysis and development based on a user experience analysis module 700, a demand analysis and management module 100, and a decision support module 900.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method of the embodiments of the present invention. The storage medium includes a U disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, an optical disk, or other various media capable of storing program codes.
Logic and/or steps represented in the flowcharts or otherwise described herein, e.g., a ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. For the purposes of this description, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
More specific examples (a non-exhaustive list) of the computer-readable medium include an electrical connection (an electronic device) having one or more wires, a portable computer diskette (a magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable medium may even be paper or other suitable medium upon which the program is printed, as the program may be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
It is to be understood that portions of the present invention may be implemented in hardware, software, firmware, or a combination thereof. In the above-described embodiments, the various steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, may be implemented using any one or combination of techniques known in the art, discrete logic circuits with logic gates for implementing logic functions on data signals, application specific integrated circuits with appropriate combinational logic gates, programmable Gate Arrays (PGAs), field Programmable Gate Arrays (FPGAs), and the like. It should be noted that the above embodiments are only for illustrating the technical solution of the present invention and not for limiting the same, and although the present invention has been described in detail with reference to the preferred embodiments, it should be understood by those skilled in the art that the technical solution of the present invention may be modified or substituted without departing from the spirit and scope of the technical solution of the present invention, which is intended to be covered in the scope of the claims of the present invention.
It should be noted that the above embodiments are only for illustrating the technical solution of the present invention and not for limiting the same, and although the present invention has been described in detail with reference to the preferred embodiments, it should be understood by those skilled in the art that the technical solution of the present invention may be modified or substituted without departing from the spirit and scope of the technical solution of the present invention, which is intended to be covered in the scope of the claims of the present invention.