Requirements are a guiding star that gives direction throughout development and allows you to stop when goals are achieved.
The result is a systematic idea of the future product:
Architecture You can get from point A (start of work) to point B (successful completion) in different ways. Architectural design is the creation of an optimal route, strategic traffic planning. In addition, it is this stage that determines the technological quality of future software.
Detailed designDevelopment of projects for each software element identified at the previous stage, down to parts of these elements - program blocks. Distribution of requirements across blocks.
The result is specifications for programmers.
We write code for program blocks and document it. We draw user interfaces. We assemble elements into a system that meets the specified requirements.
The result is ready-made software with a package of documentation (types of documents are specified in the contract).