A software development process modeling and optimization control method
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- GENERAL ENG RES INST CHINA ACAD OF ENG PHYSICS
- Filing Date
- 2026-03-06
- Publication Date
- 2026-06-09
Smart Images

Figure CN122173055A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of software engineering process control technology, specifically to a method for modeling and optimizing the control of a software development process. Background Technology
[0002] In the software development process, current software development teams rely on the decisions of team leaders or the experience judgments of key personnel to predict and monitor software status, development progress, and development risks, as well as the development sequence and process of software increments. There are no corresponding mathematical models and algorithms to quantify and solve these problems, which leads to large errors in the prediction and monitoring of software status, risks, and progress, and an inability to cope with unexpected situations. Furthermore, the development sequence decided upon is often not the optimal solution. Summary of the Invention
[0003] This invention provides a software development process modeling and optimization control method, which establishes a mathematical model of the software development process and solves the model using a suitable solution algorithm. This enables the prediction and monitoring of software status, development progress, and development risks based on the mathematical model, thereby optimizing the development sequence of software increments.
[0004] This invention is achieved through the following technical solution:
[0005] A software development process modeling and optimization control method, comprising:
[0006] Define a state vector to quantify the state evolution of the software development process, an input vector to characterize the input of development tasks, and an incremental complexity to describe the structural degradation effect caused by incremental increases and disturbances in parallel development during the software development process.
[0007] Based on the state vector, input vector, and incremental complexity, a state-space equation for the software development process is constructed. The state-space equation is used to describe the evolution of state variables with input variables and system disturbances during the software development process.
[0008] Based on the state-space equations, the optimization objectives and constraints of the software development process are defined, and a constrained optimization control model is constructed.
[0009] A rolling optimization strategy is adopted to iteratively solve the optimization control model, generate the optimal incremental development sequence, and control the software development process according to the optimal incremental development sequence.
[0010] As an optimization, the specific definitions of the state vector, input vector, and incremental complexity include:
[0011] Define software state vector ,in Indicates the software's completion level. This indicates the cumulative resources consumed by the software. This indicates the value of the software to the user;
[0012] Define software increment as system input vector ,in, This indicates the proportion of the current increment in the overall software. This indicates the current incremental planned resource consumption. This indicates the proportion of value that the current increment brings to the user;
[0013] The incremental complexity A nonlinear function is used for quantization.
[0014] As an optimization, incremental complexity The S-curve function is used for quantification, specifically:
[0015] ;
[0016] in, z is the sum of the number of new software increments and the number of parallel development increments, a is the hyperparameter of the control curve slope, and b is the hyperparameter of the control curve symmetry point.
[0017] As an optimization, the expression for the state-space equation is:
[0018] ;
[0019] in, Let u(k) represent the software state vector at the k-th iteration, and u(k) represent the input increment at the k-th iteration. Let y(k) represent the incremental complexity of the system at the k-th iteration, where A, B, and F are the system matrix, input matrix, and perturbation matrix of the development process, respectively, and y(k) is the observed output.
[0020] As an optimization, the state-space equations are constructed according to different software development modes, respectively, to form a corresponding system matrix A, input matrix B, and disturbance matrix F;
[0021] The software development models include the plan-driven single-incremental development model, the plan-driven multi-incremental parallel development model, the agile method single-incremental development model, and the agile method multi-incremental parallel development model.
[0022] In the planned single-incremental development mode, the incremental complexity Δ=0 and the state-space equation is a linear system.
[0023] In the planned multi-incremental parallel development mode, the incremental complexity Δ≠0, and the incremental complexity Δ is related to the number of incremental parallel developments.
[0024] In the single-increment development mode of the agile method, the incremental complexity Δ ≠ 0, and the incremental complexity Δ is related to the number of new increments;
[0025] In the agile method's multi-increment parallel development mode, the system disturbance increment complexity Δ≠0, and the increment complexity Δ is related to the sum of the number of new increments and the number of parallel development increments.
[0026] As an optimization, in the planned multi-incremental parallel development mode and the agile method multi-incremental parallel development mode, the input matrix B contains parameters related to the incremental completion rate during development.
[0027] The incremental completion rate is defined as the ratio of resources consumed to planned resources consumed, and is used to describe the real-time progress status of each increment in parallel development.
[0028] As an optimization, a constrained optimization control model is constructed, specifically including:
[0029] Define the cost function ,in , , These are weighting coefficients for software progress, software consumption, and software value, used to quantify the optimization goals of the software development process;
[0030] Define incremental development cycle constraints ,in The maximum development cycle that the team can accept;
[0031] A constrained optimization control model is constructed with minimizing the cost function J as the optimization objective and the incremental development cycle constraint as the constraint condition.
[0032] As an optimization, a rolling optimization strategy is used to iteratively solve the optimization control model, specifically including:
[0033] A1. Construct an initial set of increments and number each increment, wherein each increment is a software functional module;
[0034] A2. Based on the current software state and the increment set, establish the state space equation for the current iteration step;
[0035] A3. Using model predictive control, setting the prediction step size L, and combining heuristic optimization algorithms to solve for the optimal incremental development sequence within the next L steps;
[0036] A4. Select the first increment in the optimal incremental development sequence for development and remove it from the increment set;
[0037] A5. Monitor incremental development completion or termination events to trigger the next iteration;
[0038] A6. Update the software state and incremental set. If the development mode changes, update the state space equation.
[0039] A7. Repeat steps A2 to A6 until all incremental development is completed.
[0040] As an optimization, step A3 employs a model predictive control method combined with a heuristic optimization algorithm to solve for the optimal incremental development sequence, specifically including:
[0041] Set the range of values for the prediction step size L;
[0042] In the particle swarm optimization algorithm, the coordinates of each particle are defined as follows: ,in The particle coordinates are the number of the increments in the increment set. This represents an incremental development sequence of length L;
[0043] The incremental development sequence corresponding to each particle is substituted into the model predictive control method for simulation calculation to obtain the cumulative cost function value for the next L iterations. ,in This represents the cost function value at the i-th step within the prediction step size;
[0044] By iteratively optimizing using the particle swarm optimization algorithm, the globally optimal particle that minimizes the cumulative cost function is found, and the incremental development sequence corresponding to the globally optimal particle is the optimal incremental development sequence.
[0045] As an optimization, step A6 updates the incremental set, specifically including:
[0046] Update the software state vector x(k) based on the actual incremental development situation;
[0047] If new increments are added, undeveloped increments are deleted, or existing increment parameters change during development, then update the state parameter u of all increments in the increment set.
[0048] For multi-incremental parallel development mode, the planned resource consumption of each increment during development is... Update to the remaining planned time, which is the planned time minus the time already consumed, for use in the next round of iteration calculation.
[0049] Compared with the prior art, the present invention has the following advantages and beneficial effects:
[0050] 1. This invention defines a software state vector (including completion, cumulative resource consumption, and user value) and an incremental input vector (including incremental ratio, planned resources, and value ratio), and introduces incremental complexity quantification to describe the structural degradation effect during the development process. It constructs a unified form of state-space equation, which can accurately characterize the evolution of software state with incremental input and complexity perturbation. This enables the development team to perceive the current software state in real time and predict the state changes of multiple future iterations based on the model, providing a quantitative basis for scientific decision-making.
[0051] This invention addresses four typical software development models: plan-driven single-increment, plan-driven multi-increment parallel, agile method single-increment, and agile method multi-increment parallel. It constructs corresponding system matrices A, B, and perturbation matrices F for each model and clarifies the rules for determining the incremental complexity Δ under each model (e.g., its correlation with the number of new increments, the number of parallel increments, and the sum of both). This differentiated modeling approach allows the method to flexibly adapt to various project types, from the traditional waterfall model to modern agile development, demonstrating good universality and practical value.
[0052] This invention addresses the development modes of plan-driven multi-incremental parallelism and agile method multi-incremental parallelism. It introduces a parameter related to the completion degree of each increment in the input matrix B, defined as the ratio of consumed resources to planned resource consumption. This design enables the state-space equations to reflect the actual progress of each increment in parallel development in real time, solving the problems of difficulty in quantifying the state of parallel tasks and assessing their mutual influence in traditional methods. It provides accurate mathematical model support for scheduling optimization in parallel development.
[0053] This invention defines a cost function J, which quantifies the relative importance of three objectives—software schedule, cost, and value—using weighting coefficients, and sets incremental development cycle constraints to construct a constrained optimization control model. This model can automatically balance the conflicts between schedule advancement, cost control, and value delivery based on the project team's priority preferences, while satisfying development cycle constraints, and output the optimal decision-making solution that aligns with the overall project objectives.
[0054] This invention employs Model Predictive Control (MPC) method, setting a prediction step size L, and performing rolling optimization on the incremental development sequence for the next L steps. Simultaneously, it combines heuristic optimization algorithms such as Particle Swarm Optimization (PSO) to represent the incremental development sequence using particle coordinates, and iteratively seeks the globally optimal particle that minimizes the cumulative cost function. This method enables recalculation based on the latest software state and incremental set after each development step, achieving dynamic adjustment of the incremental development sequence and effectively addressing changes in requirements and uncertainties during the development process.
[0055] This invention establishes a complete dynamic update mechanism for the incremental set, including: updating the software state vector x(k) according to the actual development status of the incremental; synchronously updating the state parameters u of all incremental sets when new increments are generated, undeveloped increments are deleted, or existing increment parameters change; and for multi-increment parallel development mode, the planned resource consumption of increments under development is... The remaining planned time (planned time minus elapsed time) is updated for the next round of calculations. This mechanism enables this approach to naturally support requirement changes in agile development, automatically incorporating the latest information with each iteration, and always maintaining the timeliness and accuracy of optimization decisions.
[0056] This invention allows setting a range of prediction step size L (e.g., 3 to 5 steps) within the MPC framework, enabling prediction of software development process status at different time scales by adjusting the prediction step size. Setting a smaller prediction step size allows for short-term, refined task scheduling; setting a larger prediction step size allows for medium- to long-term project progress and risk prediction. This multi-time-scale prediction capability can simultaneously support the daily scheduling decisions of the project execution layer and the milestone monitoring needs of the project management layer.
[0057] The core modeling ideas and optimization control framework of this invention are not limited to the field of software development; they can be reused for process control in various incremental and superimposed projects, such as phased development of building engineering, iterative product design, and large-scale system integration. By adjusting the definitions of the state vector and cost function (e.g., replacing software completion with project progress, or user value with commercial value), it can be adapted to application scenarios in different fields, exhibiting good scalability and commercial application value. Attached Figure Description
[0058] The accompanying drawings, which are included to provide a further understanding of embodiments of the invention and form part of this application, do not constitute a limitation thereof. In the drawings:
[0059] Figure 1 This is a schematic diagram of the overall method of the present invention;
[0060] Figure 2 This is a flowchart illustrating the software development process control of this invention. Detailed Implementation
[0061] To make the objectives, technical solutions, and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the embodiments and accompanying drawings. The illustrative embodiments and descriptions of the present invention are only used to explain the present invention and are not intended to limit the present invention.
[0062] This embodiment 1 provides a method for modeling and optimizing the control of the software development process, such as... Figure 1As shown, steps S1 to S4 are included. Next, the content of each step and the specific implementation process will be introduced in detail.
[0063] S1. Define a state vector to quantify the state evolution of the software development process, an input vector to characterize the input of development tasks, and an incremental complexity to describe the structural degradation effect caused by incremental increases and disturbances in parallel development during the software development process.
[0064] In some embodiments, a software state vector is defined. ,in This indicates the software completion level, with a value range of [0,1]. This indicates the cumulative resources consumed by the software, expressed in person-days. This represents the value of the software to the user, and its value ranges from [0,1].
[0065] Accordingly, if software functional modules are defined as software increments, then software is composed of a large number of software increments. Each software increment is regarded as a system input, and the software increment is defined as the system input vector. ,in, This represents the proportion of the current increment in the overall software, with a value range of [0,1] and satisfying the following conditions: , This represents the current incremental planned resource consumption, expressed in person-days. This represents the proportion of the current increment to the user's value and satisfies... ;
[0066] During software development, as the number of new additions and the number of concurrent development increments increase, the software structure gradually degrades, leading to disturbances in the software development process. Based on this, system disturbances are defined as incremental complexity. A nonlinear function is used for quantization.
[0067] In some embodiments, incremental complexity The S-curve function is used for quantification, specifically:
[0068] ;
[0069] in, z is the sum of the number of new software increments and the number of parallel development increments, a is the hyperparameter of the control curve slope, and b is the hyperparameter of the control curve symmetry point.
[0070] S2. Based on the state vector, input vector, and incremental complexity, construct the state space equation for the software development process. The state space equation is used to describe the evolution of state variables with input variables and system disturbances during the software development process.
[0071] In some embodiments, if the observation equation is chosen to be the observation software state itself, then the expression for the state-space equation of the software development process is:
[0072] ;
[0073] in, Let u(k) represent the software state vector at the k-th iteration, and u(k) represent the input increment at the k-th iteration. , where n represents the number of incremental concurrent developments at this point. Let y(k) represent the incremental complexity of the system at the k-th iteration, where A, B, and F are the system matrix, input matrix, and perturbation matrix of the development process, respectively, and y(k) is the observed output.
[0074] In some embodiments, the state-space equations are constructed according to different software development modes, with corresponding system matrix A, input matrix B, and disturbance matrix F respectively. The software development modes include plan-driven single-incremental development mode, plan-driven multi-incremental parallel development mode, agile method single-incremental development mode, and agile method multi-incremental parallel development mode. Software development processes based on different development modes have different state equations.
[0075] In the planned multi-incremental parallel development mode and the agile method multi-incremental parallel development mode, the input matrix B contains parameters related to the incremental completion degree in development;
[0076] The incremental completion rate is defined as the ratio of resources consumed to planned resources consumed, and is used to describe the real-time progress status of each increment in parallel development.
[0077] Specifically as follows:
[0078] In the planned single-incremental development mode described above, all software increments are defined before development and no new increments are added. Simultaneously, only one increment is under development. At this time, the incremental complexity is... The state-space equations are for a linear system;
[0079] Its state equation can be described as:
[0080] ;
[0081] In the planned multi-increment parallel development mode, all software increments are defined before development and no new increments are added. Simultaneously, multiple increments are under development, reducing increment complexity. And incremental complexity Related to the number of increments in parallel development;
[0082] Its state equation can be described as:
[0083] ;
[0084] in, Associated with the i-th increment in development , Associated with the i-th increment in development ,and Defined as incremental completion rate, i.e. , Associated with the i-th increment in development ,and overall , This is determined by the software's adaptability to incremental complexity (software architecture openness), and The larger the value, the worse the incremental adaptability of the software. ;
[0085] In the agile single-increment development mode described above, the initial software increment is defined before development and new increments are added during development. Only one increment is under development at any given time, resulting in low increment complexity. And incremental complexity Related to the number of new additions;
[0086] Its state equation can be described as:
[0087] ;
[0088] In the agile method's multi-increment parallel development mode, the initial software increment is defined before development, and new increments are added during development. Simultaneously, multiple increments are under development, reducing the system's perturbation increment complexity. And incremental complexity It is related to the sum of the number of new increments and the number of increments developed in parallel;
[0089] Its state equation can be described as:
[0090] .
[0091] S3. Based on the state-space equations, define the optimization objectives and constraints of the software development process, and construct a constrained optimization control model.
[0092] The goal of a software project can be simply described as maximizing the completion time and value of the software in the shortest possible time. Based on this, the cost function in the software development process can be defined as:
[0093] Define the cost function ,in , , These are weighting coefficients for software progress, software consumption, and software value, used to quantify the optimization goals of the software development process. They are determined by the software team based on project objectives, and careful consideration should be given when setting them. , , The difference in magnitude between them;
[0094] Furthermore, for each software increment, the time consumed must not exceed the maximum development cycle that the team can accept; that is, define an incremental development cycle constraint. ,in The maximum development cycle that the team can accept;
[0095] A constrained optimization control model is constructed with minimizing the cost function J as the optimization objective and the incremental development cycle constraint as the constraint condition.
[0096] In summary, the state-space model of the constrained incremental model-based software development process is as follows:
[0097] ;
[0098] S4. Employing a rolling optimization strategy, the optimal control model is iteratively solved to generate the optimal incremental development sequence, and the software development process is controlled according to this optimal incremental development sequence. For the established software development process state-space model, the software development process is optimized through MPC rolling prediction, while the optimal increment input to the system for each iteration is solved using the particle swarm optimization algorithm. The control flow of the entire software development process is as follows: Figure 2 As shown.
[0099] In some embodiments, a rolling optimization strategy is used to iteratively solve the optimization control model, specifically including:
[0100] A1. Construct an initial increment set, defining all initial software increments according to the actual software definition. The planned time consumption for each increment should meet the following requirements. Each increment is numbered and assigned the number = [1,2,...,n], where each increment is a software functional module.
[0101] A2. Based on the current software state and the increment set, establish the state-space equation for the current iteration step.
[0102] A3. Using model predictive control, a prediction step size L is set, and a heuristic optimization algorithm is used to solve for the optimal incremental development sequence within the next L steps.
[0103] In some embodiments, step A3 employs a model predictive control method combined with a heuristic optimization algorithm to solve for the optimal incremental development sequence, specifically including:
[0104] A3.1 Set the prediction step size L to a range of 3 to 5;
[0105] A3.2, Define the coordinates of each particle in the particle swarm optimization algorithm as... ,in The particle coordinates are the number of the increments in the increment set. This represents an incremental development sequence of length L;
[0106] A3.3 Substitute the incremental development sequence corresponding to each particle into the model predictive control method for simulation calculation to obtain the corresponding cumulative cost function value. , This represents the cost function value at step i within the prediction step size; when an incremental development sequence of length L is used... When using the model predictive control method for simulation: Step 1: Develop incremental control. After that, a cost function value will be generated. Step 2: Develop incremental growth After that, a cost function value will be generated. ...Step L: Incremental Development After that, a cost function value will be generated. , This is the cumulative cost function value for these L steps. The goal of the particle swarm optimization algorithm is to find the incremental development sequence that minimizes this cumulative value.
[0107] A3.4. By iteratively optimizing using the particle swarm optimization algorithm, the globally optimal particle that minimizes the cumulative cost function is found, and the incremental development sequence corresponding to the globally optimal particle is the optimal incremental development sequence.
[0108] A4. Select the first increment in the optimal incremental development sequence for development and remove it from the increment set.
[0109] A5. Monitor incremental development completion or termination events to trigger the next iteration. When an incremental development is completed or terminated, an iteration is triggered until the software development is completed.
[0110] A6. Update the software state and incremental set. If the development mode changes, update the state space equation.
[0111] In some embodiments, updating the incremental set in step A6 specifically includes:
[0112] A6.1 Update the software state vector x(k) based on the actual incremental development situation;
[0113] A6.2 If new increments are generated, undeveloped increments are deleted, or existing increment parameters change during development, then update the state parameter u of all increments in the increment set;
[0114] A6.3 For multi-incremental parallel development mode, the planned resource consumption of each increment during development will be... Update to the remaining planned time, which is the planned time minus the time already consumed, for use in the next round of iteration calculation.
[0115] In other words, if new increments are added, undeveloped increments are deleted, or existing increment parameters change during development, the state parameter u of all increments in the increment set is updated. For the multi-increment parallel development mode, the planned resource consumption of increments under development is... Update the remaining planned time (planned time minus time already consumed) for the next iteration. If the development mode changes, update the state-space equations.
[0116] A7. Repeat steps A2 to A6 until all incremental development is completed.
[0117] It should be noted that the method of this invention can be reused to some extent for incremental superposition type project control. Different definitions of cost function and state vector in the method can be used for different scenarios. The particle swarm algorithm used to optimize the incremental sequence in the method can be replaced by other heuristic algorithms.
[0118] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for modeling and optimizing the control of a software development process, characterized in that, include: Define a state vector to quantify the state evolution of the software development process, an input vector to characterize the input of development tasks, and an incremental complexity to describe the structural degradation effect caused by incremental increases and disturbances in parallel development during the software development process. Based on the state vector, input vector, and incremental complexity, a state-space equation for the software development process is constructed. The state-space equation is used to describe the evolution of state variables with input variables and system disturbances during the software development process. Based on the state-space equations, the optimization objectives and constraints of the software development process are defined, and a constrained optimization control model is constructed. A rolling optimization strategy is adopted to iteratively solve the optimization control model, generate the optimal incremental development sequence, and control the software development process according to the optimal incremental development sequence.
2. The software development process modeling and optimization control method according to claim 1, characterized in that, The specific definitions of the state vector, input vector, and incremental complexity include: Define software state vector ,in Indicates the software's completion level. This indicates the cumulative resources consumed by the software. This indicates the value of the software to the user; Define software increment as system input vector ,in, This indicates the proportion of the current increment in the overall software. This indicates the current incremental planned resource consumption. This indicates the proportion of value that the current increment brings to the user; The incremental complexity A nonlinear function is used for quantization.
3. The software development process modeling and optimization control method according to claim 2, characterized in that, Incremental complexity The S-curve function is used for quantification, specifically: ; in, z is the sum of the number of new software increments and the number of parallel development increments, a is the hyperparameter of the control curve slope, and b is the hyperparameter of the control curve symmetry point.
4. The software development process modeling and optimization control method according to claim 2, characterized in that, The expression for the state-space equation is: ; in, Let u(k) represent the software state vector at the k-th iteration, and u(k) represent the input increment at the k-th iteration. Let y(k) represent the incremental complexity of the system at the k-th iteration, where A, B, and F are the system matrix, input matrix, and perturbation matrix of the development process, respectively, and y(k) is the observed output.
5. The software development process modeling and optimization control method according to claim 4, characterized in that, The state-space equations are constructed according to different software development models, respectively, to form a corresponding system matrix A, input matrix B, and disturbance matrix F; The software development models include the plan-driven single-incremental development model, the plan-driven multi-incremental parallel development model, the agile method single-incremental development model, and the agile method multi-incremental parallel development model. In the planned single-incremental development mode, the incremental complexity Δ=0 and the state-space equation is a linear system. In the planned multi-incremental parallel development mode, the incremental complexity Δ≠0, and the incremental complexity Δ is related to the number of incremental parallel developments. In the single-increment development mode of the agile method, the incremental complexity Δ ≠ 0, and the incremental complexity Δ is related to the number of new increments; In the agile method's multi-increment parallel development mode, the system disturbance increment complexity Δ≠0, and the increment complexity Δ is related to the sum of the number of new increments and the number of parallel development increments.
6. The software development process modeling and optimization control method according to claim 5, characterized in that, The input matrix B in the plan-driven multi-incremental parallel development mode and the agile method multi-incremental parallel development mode contains parameters related to the incremental completion degree in development. The incremental completion rate is defined as the ratio of resources consumed to planned resources consumed, and is used to describe the real-time progress status of each increment in parallel development.
7. The software development process modeling and optimization control method according to claim 1, characterized in that, Constructing a constrained optimization control model specifically includes: Define the cost function ,in , , These are weighting coefficients for software progress, software consumption, and software value, used to quantify the optimization goals of the software development process; Define incremental development cycle constraints ,in The maximum development cycle that the team can accept; A constrained optimization control model is constructed with minimizing the cost function J as the optimization objective and the incremental development cycle constraint as the constraint condition.
8. The software development process modeling and optimization control method according to claim 1, characterized in that, The optimal control model is solved iteratively using a rolling optimization strategy, specifically including: A1. Construct an initial set of increments and number each increment, wherein each increment is a software functional module; A2. Based on the current software state and the increment set, establish the state space equation for the current iteration step; A3. Using model predictive control, setting the prediction step size L, and combining heuristic optimization algorithms to solve for the optimal incremental development sequence within the next L steps; A4. Select the first increment in the optimal incremental development sequence for development and remove it from the increment set; A5. Monitor incremental development completion or termination events to trigger the next iteration; A6. Update the software state and incremental set. If the development mode changes, update the state space equation. A7. Repeat steps A2 to A6 until all incremental development is completed.
9. The software development process modeling and optimization control method according to claim 8, characterized in that, Step A3 employs a model predictive control method combined with a heuristic optimization algorithm to solve for the optimal incremental development sequence, specifically including: Set the range of values for the prediction step size L; In the particle swarm optimization algorithm, the coordinates of each particle are defined as follows: ,in The particle coordinates are the number of the increments in the increment set. This represents an incremental development sequence of length L; The incremental development sequence corresponding to each particle is substituted into the model predictive control method for simulation calculation to obtain the cumulative cost function value for the next L iterations. ,in This represents the cost function value at the i-th step within the prediction step size; By iteratively optimizing using the particle swarm optimization algorithm, the globally optimal particle that minimizes the cumulative cost function is found, and the incremental development sequence corresponding to the globally optimal particle is the optimal incremental development sequence.
10. The software development process modeling and optimization control method according to claim 8, characterized in that, Step A6 updates the incremental set, specifically including: Update the software state vector x(k) based on the actual incremental development situation; If new increments are added, undeveloped increments are deleted, or existing increment parameters change during development, then update the state parameter u of all increments in the increment set. For multi-incremental parallel development mode, the planned resource consumption of each increment during development is... Update to the remaining planned time, which is the planned time minus the time already consumed, for use in the next round of iteration calculation.