directory

one The waterfall model

Second, fountain model

Rapid prototyping model

Iv. Incremental model

5. Spiral model

Rational Unified Model

Microsoft process Model


How are you? I am grey ape, a super bug writing program ape!

Today to share with you in the system of software development in the process of the commonly used seven software process model, familiar with software development commonly used several model methods. Help every programmer partner can become a project manager as soon as possible!

one The waterfall model

The waterfall model follows a fixed sequence of phases of the software life cycle: planning, analysis, design, programming, training, and maintenance. Only after the last phase is completed can we move to the next phase. The whole model is like a cascading waterfall.

The process of waterfall model is shown below:

The waterfall model has many advantages:

Developers can be forced to adopt a canonical approach:

The documents that must be submitted at each stage are strictly specified:

Rigorous reviews are required at the end of each phase.

But it has also contributed to the waterfall model is too idealistic, and lack of flexibility, not in the process of development gradually clear user demand is difficult to exactly express or difficult to think of, until after the complete software development found that there is a big distance with the user demand, now have to pay a high price to correct the deviation, the development model is mainly used in the demand for very specific applications.

 

Second, fountain model

Fountain model is mainly used to describe the object-oriented development process, and the word “fountain” embodies the iterative and non-gap characteristics of the object-oriented development process. Iteration means that development activities in a model often require multiple iterations, each of which adds or clarifies the nature of some target system, but is not a material change to the results of previous work. Implicit means that there are no clear boundaries between development activities (such as analysis, design, and programming) and that development activities are allowed to cross and iterate.

The fountain model has the following advantages:

Seamless, synchronous development, improve development efficiency, save development time, suitable for object-oriented software development.

However, there are also disadvantages for such a model:

In the process of software development, information, requirements and data can be added at any time, and strict management of documents is required, which makes auditing increasingly difficult.

 

Rapid prototyping model

Rapid prototyping is a good model for many projects where requirements are not clear. It adopts a method of dynamic requirement definition, by quickly establishing a software prototype that can reflect the main needs of users, allowing users to use it on the computer, understand its outline, and then modify it according to the feedback results, so as to fully reflect the user’s participation and decision-making. The prototypist is very important to the implementation of the prototype, and the important criterion to measure them is whether they can quickly get the actual requirements from the user’s vague description.

The advantages of the rapid prototyping model are:

Because the model interacts with users through prototypes, it is superior to waterfall model in determining requirements, and has positive effects on both developers and users to understand the system through developing prototypes and demonstrating prototypes. And the most important thing is that some software prototypes can become part of the final product.

However, due to the unique characteristics of the model development, the rapid establishment of the system structure and continuous modification may lead to low software quality, and the internal structure of the prototype system may be bad.

 

Iv. Incremental model

Incremental (evolutionary) modeling is also a prototyping approach, but is slightly different from rapid prototyping. In the rapid prototyping model, the purpose of the prototype is to learn the real needs of the user. Once the requirements are determined, the prototype is discarded. The development process of evolutionary model is a gradual process from initial model to final software product. In other words, rapid prototyping is a “disposable” approach to prototyping, while incremental prototyping is an “incremental” approach to prototyping.

The incremental model has the following advantages:

Deliver useful work products that can be done in a short time to ensure that users have enough time to learn and adapt to the product, and the software architecture must be open to adding new components to existing products. However, this requirement is also called a disadvantage of incremental model development, that is, in the process of software development, it is very inconvenient to add new components to existing products.

 

5. Spiral model

Spiral model combines waterfall model and incremental model, the most important feature is to add risk analysis. It is composed of the cycle of planning, risk analysis, implementation engineering and customer evaluation. It starts with a spiral from concept project. This development model takes risk analysis as a separate stage, which is suitable for large and medium-sized software development projects with high risk.

According to the characteristics of spiral model development, we can conclude that the advantage of spiral model is better risk control for large-scale software development projects.

But the downside of this same advantage is that developers need experience in risk assessment, and contract development often requires specifying process models and releasing products.

 

Rational Unified Model

Rational Unified Process is a two-dimensional lifecycle model that emphasizes developing software in an iterative and incremental way,

The advantage of this model is that continuous release becomes a real driver of the team’s daily work, integrating the process of problem finding, solution making, and resolution into the next iteration, and reducing development risk with iterative development. Be able to better arrange the supporting process of product development.

 

Microsoft process Model

Planning stage: Microsoft process model to carry out market research, combined with the company’s strategy to form the vision of the product,

Design stage: according to the product vision goal, complete the software specification and overall design, determine the main progress of product development.

Development stage: mainly completes the research and development of all components in the product, carries out comprehensive internal and external tests in the stable stage, and finally forms the RTM version that can be released.

Release stage: release the product and related information after determining the product quality meets the release standard.

The model adopts progressive development strategy to solve the timeliness, uncertainty and controllability of change factors, and shorten the product launch cycle.

 

Ok, the seven Process models of software development will be shared with you, followed by an analysis of each model using specific project cases.

Feel good remember to like attention yo!

Grey ape accompany you into **** step!