The waterfall model provides clear steps for planning the design project and defines stage milestones for the schedule planning and progress evaluation. It specifies the direction for project team staffing. It improves internal communication between the design team. It is easy for new users to get started.
Designers only regard rational models as an idealized thing.
In the initial stage, we do not really know what the goal is. The most difficult part of the design is to decide what to design.
The following is a story about Frederick P. Brooks:
When I was a student, I went to work for a large arms dealer for a summer vacation, where I was designated to design and build a small database system, it is used to track tens of thousands of drawings of a radar subsystem and update the status of each of the drawings.
After a few weeks, I made a version that can run. I proudly presented a sample output report to my customers. "I did a good job. This is indeed what I want, but can you change it here? Then we can ..."
In the next few weeks, I presented a report to the customer every morning, each of which was the result of the modification following the requirements of the previous day. Every morning, he will study the product report, and then propose another system revision requirement for the unchanging and polite mantra. The system itself is very simple. For a while, I was very angry: "Why can't he just decide what he wants? Why can't he just say what he wants to do to me, but squeeze it out every day ?"
Then, I realized a little bit that the most useful service I provide to the customer is to help him decide what he really wants.
Today's software engineering principles are much more complicated. We realize that quick prototyping is a necessary tool for precise requirement configuration.Not only is the entire design process iterative,JustThe process of setting the design goal is also iterative..
It is far from normal to understand the needs of the entire product at the initial stage.
The main task of a designer is to help customers discover the designs they want.
More and more designers are building simulators for computers, building Virtual Environment drills for buildings, and serving as rapid prototypes to facilitate convergence of goals. The iteration of the target must be considered as an inherent part of the design process.