Waterfall Model of Software Development Model

Source: Internet
Author: User
Waterfall Model)

Winston Royce proposed the famous "Waterfall Model" in 1970. It was the only widely used software development model until the early 1980s S. The waterfall model divides the software life cycle into planning, requirement analysis, software design,ProgramProgramming, software testing, operation and maintenance, etc.Six basic activitiesAnd define a fixed order of top-down and mutual cohesion, like waterfall flow, falling down step by step.

In the waterfall model, various activities of software development are carried out in a linear manner. The current activity accepts the work results of the previous activity and the work required for implementation. The work result of the current activity needs to be verified. If the verification is successful, the result is used as the input for the next activity to continue the next activity. Otherwise, the modification is returned.

The waterfall model emphasizes the role of the document and requires careful verification at each stage. However, the linear process of this model is too idealistic. It is no longer suitable for modern software development models and almost abandoned by the industry. The main problem is:

(1) The division of each stage is completely fixed, and a large number of documents are generated between stages, greatly increasing the workload;

(2) because the development model is linear, the user can see the development results only at the end of the entire process, thus increasing the development risk;

(3) Early errors may not be detected until the test phase at the end of the development stage, resulting in serious consequences.

We should realize that "Linearity" is the easiest way for people to master and use it skillfully. When people encounter a complicated "non-linear" problem, they always try every means to break it down or convert it into a series of simple linear problems, and then solve them one by one. A software system may be complex as a whole, and a single subroutine is always simple and can be implemented in a linear way. Otherwise, it will be too tired to work. Linear is concise, and concise is beautiful. When we understand the spirit of linearity, we should not just use the appearance of a linear model, but live it. For exampleThe incremental model is essentially a linear model of segments.The spiral model is continuous.Curved Linear ModelIn other models, we can also find the shadows of linear models.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.