For the development of a software you can define the life cycle, as a set of steps. Each stage takes as input the output of the previous phase and produces an output, by carrying out some activities:
-Requirements definition
-Architectural design, which consists in dividing the problem into chunks.
-Implementation of each block:
- Detailed design.
- Development.
- Testing.
-Transfer to the client:
- Acceptance testing.
- Use (operation).
-Operation:
- Maintenance.
- Evolution.
The cascade model provides that the steps are performed sequentially. The result of each phase is a set of documents.