Any project requires planning and a vision of what is going to be built. It is especially important when several members of the same team have to coordinate their activity. But even if you work alone, you have to make some kind of plan, whether it is a design document or just the code you are writing without capturing your ideas in any other form. And that is the purpose of design—to envision the future system clearly enough to be able to start building it.
In the process, the design evolves, changes, and becomes more detailed. Each step of a project life cycle requires something different. And that is what we are going to discuss now—how the purpose of design evolves as the project progresses from the first idea to the complete implementation.
The project steps described here look sequential, but in fact, they are executed with significant...