Waterfall Model
Fig: Waterfall Model
Basic Features
• The first Process Model to be introduced.
• Also referred to as a linear-sequential life cycle
model.
• Very simple to understand and use.
• Each phase must be completed before the next
phase can begin and there is no overlapping in the
phases.
• Like real world waterfall there is no turning back
to previous stage once it is completed.
Phases:
• Requirement Gathering and analysis − All possible
requirements of the system to be developed are captured in
this phase and documented in a requirement specification
document.
• System Design − The requirement specifications from first
phase are studied in this phase and the system design is
prepared. This system design helps in specifying hardware and
system requirements and helps in defining the overall system
architecture.
• Implementation − With inputs from the system design, the
system is first developed in small programs called units, which
are integrated in the next phase. Each unit is developed and
tested for its functionality, which is referred to as Unit Testing.
Contd..
• Integration and Testing − All the units developed in
the implementation phase are integrated into a system
after testing of each unit. Different kinds of testing is
performed in this phase.
• Deployment of system − Once the functional and non-
functional testing is done; the product is deployed in
the customer environment or released into the market.
• Maintenance − There are some issues which come up
in the client environment. To fix those issues, patches
are released. Also to enhance the product some better
versions are released. Maintenance is done to deliver
these changes in the customer environment.
Application(When to use??)
• requirements are very well documented, clear and
fixed.
• Product definition is stable.
• Technology is understood and is not dynamic.
• Ample resources with required expertise are
available to support the product.
• The project is short and small.
Advantages:
• Simple and easy to understand and use.
• Easy to manage due to the rigidity of the model.
Each phase has specific deliverables and a review
process.
• Phases are processed and completed one at a
time.
• Works well for smaller projects where
requirements are very well understood.
• Clearly defined stages.
Disadvantages:
• High amounts of risk and uncertainty.
– Not suitable for the projects where requirements are at a
moderate to high risk of changing. So, risk and
uncertainty is high with this process model.
• Not a good model for complex and large projects.
• Cannot accommodate changing requirements.
• Adjusting scope during the life cycle can end a
project.
• Once we started working in new phase , its becomes
difficult to go back and work in next phase.