The waterfall model is a sequential software development process, in which progress is seen as flowing steadily downwards like a waterfall through the phases of
The waterfall development model originates in the manufacturing and construction industries; highly structured physical environments in which after-the-fact changes are prohibitively costly, if not impossible. Since no formal software development methodologies existed at the time, this hardware-oriented model was simply adapted for software development.
Requirement Gathering& Definition: This phase is focused on the possible requirements of the system for the development are captured. Requirements are gathered subsequent to the end user consultation.
Software Design: Prior to beginning the actual coding, it is inevitable to understand what actions are to be taken and what they should like. The requirement specifications are studied in detail in this phase and the design of the system is prepared. The design specifications are the base for the implementation and unit testing model phase.
Development / Coding: Subsequent to receiving the system design documents, the work is shared into various modules and the real coding is commenced. The system is developed into small coding units. These units are later integrated into the subsequent phase. Every unit is tested for its functionality.
Testing: The modules that are divided into units are integrated into a complete system and tested for proper coordination among modules and system behaves as per the specifications. Once the testing is completed, the software product is delivered to the customer.
Maintenance: It is a never-ending phase. Once the system is running in a production environment, problems come up. The issues that are related to the system are solved only after deployment of the system. The problems arise from time to time and need to be solved; hence this phase is referred to as maintenance.