In software engineering waterfall model is well known, it covers all the phases of software development and each of these phase has a set of activities. Every other process model is derived directly or indirectly from the Classical Waterfall Process Model.This process model cannot be used directly in a real world software development project, hence, it is a theoretical process model. It is a software engineering process model to compare and contrast with other software process models.
What are the Phases of the Classical Waterfall Model?
It has many phases and input of a phase is work product [partially produced software product from a particular phase is called a work product] which is output of a previous phase. Hence, going back to a phase is difficult in this model during advanced stage of software development. Software engineers cannot start from scratch if a problem is found with design or implementation at a later stage of software development life-cycle.
Here, I have more than one diagram that shows the phases of this model. You could use any one of these to describe the phases of Classical Waterfall Model.
There is another diagram of waterfall model which is popularly known as the Classical Waterfall Process Model. The stages in classical waterfall process model uses different terms, but activities of each phase is more or less same.
Primary Activities of Each Phase of Classical Waterfall Model
- Feasibility study starts with Team Leaders or Project managers meet the customer and understand the problem and know ‘what to be built’ than, ‘how it is to be build’. They discuss many possible solution to the problem and at the end of the phase pick the ‘Best solution’ to develop the software that is feasible financially and technically.
- Requirement analysis and specification starts with data collection by interviewing users, customers and other stakeholders. Next specifications are documented correctly in SRS document.
- Start of Design Phase, Context Diagrams, DFDs are made according to SRS document. At the end of this Phase , a Structure Chart is produced.
- During coding phase, each module is written and compiled individually and then tested and debugged. At the end of this phase, we have a set of fully tested modules.
- Implementation phase, now we integrate all the Modules in small increments and test the partial system. When all modules are integrated, a System Testing is carried out. Alpha and Beta testing are done first and then Acceptance testing. Then the final product is delivered.
- Maintenance is required all the time due to wear and tear in the software product. Maintenance is carried out when a defect in software is found or change or improvement in software is requested by the customer.