Waterfall model is a classical life cycle model. which is widely known, understood and used. It is a sequential model for development of softwares etc, and is the most easy one to implement and use.
2. Waterfall Model
o Introduced by Winston W. Royce in 1970.
o The waterfall model is the classic lifecycle
model.
o Linear sequential model.
o Whole system is developed in a sequential
approach.
o Each phase is completed fully before the next
begin.
o Provides structure to inexperienced staff.
3. Cont.
o Each phases produces documents that are:
o A phase takes place in sequence to another.
o Each activity is completed before the next starts.
o Each phase depends on the documents of the previous stage
to precede.
o Emphasize planning before action.
o Recommend a top-down perspective.
o See the big picture before zooming down.
4. Features
o A Water Fall Model is easy to flow.
o Requirements are completely frozen.
o It can be implemented for any size of project.
o Every stage has to be done separately at the right time so
you cannot jump stages.
o Documentation is produced at every stage of a waterfall
model allowing people to understand what has been done.
o Testing is done at every stage.
5. Stages of Waterfall
Model
It has 6 phases and they are:
i. Requirement Analysis
ii. System Design
iii. Implementation and Unit Testing
iv. Integration and System Testing
v. Deployment
vi. Maintenance
6. 1st Stage: Requirement Analysis
o Define needed Information, Function, behaviour,
performance & interface.
o Meetings between customer and developer.
o This is the most crucial phase.
o Software definition to be detailed and accurate with
no ambiguities.
o Understand to meet customer specifications.
o Documented requirements and reviewed.
7. 2nd Stage: System Design
o Blue print of the software.
o Physical and logical design of the project.
o All details about:
o Data structures
o Algorithms
o Interface
o The activity and behavior of the software.
o It should be documented.
8. 3rd Stage: Implementation & unit Testing
o In this stage actual coding is started.
o The system is first developed in units.
o According to design programmers do code .
o Documentation and module testing is also done in
this phase.
9. 4th Stage: Integration & System Testing
o All the units are integrated into a system after testing
of each unit.
o Post integration the entire system is tested for any
faults and failures.
o The modules are integrated into a complete system
and tested to check if all modules cooperate as
expected.
10. 5th Stage: Deployment
o Once testing is done the:
o product is deployed in the customer environment
o or released into the market.
o User training is also done in this stage.
11. 6th Stage: Maintenance
o Software development team undertake routine
maintenance activities by visiting the client site.
o The usually the never ending stage of the software.
o In this phase the software is updated to:
o Meet the changing customer needs
o Adapted to accommodate changes in the external
environment
o Correct errors and oversights previously undetected in
the testing phases
12. WHEN TO USE
THE WATERFALL
MODEL?
• Requirements Are Very Well Known
• Product Definition Is Stable
• Technology Is Understood
• New Version Of An Existing
Product.
• Porting An Existing Product To A
New Platform.
13. Advantages Disadvantages
o Easy to understand, easy to use
o Provides structure
o Milestones are clear
o Good for management control (plan,
staff, track)
o Works well when quality is more
important than cost or schedule
o All requirements must be known upfront
o Developers may have to wait due to
dependent tasks.
o Working version becomes available very
late (after coding)
o Assumes a sequential flow, which real
projects rarely following
14. Problems
Specification is frozen early, because:
It is costly and time consuming.
Later stages can be carried out.
Cannot adapt to changing or incorrect specification:
Ignore or code around.
Does not meet user requirement.
Testing at the very end of development:
Work or die situation.
This Photo by Unknown Author is licensed under CC BY-SA
This Photo by Unknown Author is licensed under CC BY
15. Conclusion
o Whether you should use it or not depends
largely on:
How well you understand customer's needs
How much volatility you expect in those needs
as the project progresses
o The model is recommended for use only in
projects which are relatively stable and
where customer needs can be clearly
identified at an early stage.