Traditional Culture Encyclopedia - Traditional stories - What are the pros and cons of the waterfall model?

What are the pros and cons of the waterfall model?

Advantages of the waterfall model: conducive to the organization and management of personnel in the process of large-scale software development, conducive to the study of software development methods and tools, thus improving the quality and efficiency of the development of large-scale software projects.

Disadvantages of the waterfall model:

(1) the development process generally can not be reversed, otherwise the cost is too great;

(2) the actual project development is difficult to strictly according to the model;

(3) it is often difficult for the customer to give a clear picture of all the requirements, which is required by the model.

(4) The reality of the software must be seen by the customer only at a later stage of the project development, which requires the customer to be patient.?

The waterfall model is used where:

(1) the user's requirements are very clear and comprehensive and have changed little or not at all during the development process;

(2) the developer is familiar with the software's application domain;

(3) the environment in which the user is using the software is very stable;

(4) the development effort requires very little user involvement.

Extended information:

The waterfall model emphasizes the role of documentation and requires that each phase be carefully validated. However, the linear process of this model is so idealized that it is no longer suitable for the modern software development model and has almost been abandoned by the industry. The main problems are:

(1) The division of each phase is completely fixed, and a large amount of documentation is generated between phases, which greatly increases workload.

(2) Because the development model is linear, users can only see the results at the end of the process, which increases the risk of development.

(3) Early errors may not be discovered until later in the development, during the testing phase, which can have serious consequences.

According to the stages of the waterfall model, software testing can be divided into unit testing, integration testing, and system testing.

Reference:

Baidu's Encyclopedia - Waterfall Model