An approach to software development that emphasizes sequential, linear information flow. The next phase in the development process only begin after previous phase is complete.
All feasible requirements are documented in a requirement specification document. Upon receiving these requirements, detailed analysis is conducted to determine how to proceed.
Data collected during the first phase will be used for subsequent coding phases. Also, aids in the overall system design by highlighting the hardware and software requirements.
System design inputs are used to develop small programs called units, which are then integrated in the next phase. Tests are conducted on each unit to determine its functionality.
The process involves updating, modifying, or improving aspects of system performance shortly after it has been installed. New versions of product are produced to improve the product.