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.