SOFTWARE ENGINEERING
WATERFALL MODEL
Dharshana S Guided by,
927622BCB014 Ms. Dharani
INTRODUCTION
Winston Royce introduced the Waterfall Model in
1970.
This model has five phases:
• Requirements analysis and specification
• Design
• Implementation and unit testing
• Integration and system testing
• Operation and maintenance.
FEASIBILITY
The main goal of this phase is to determine whether
it would be financially and technically feasible to
develop the software.
The feasibility study involves understanding the
problem and then determining the various possible
strategies to solve the problem.
REQUIREMENT ANALYSIS AND SPECIFICATION
The aim of this phase is to understand the exact
requirements of the customer and to document them
properly.
In this phase, a large document called Software
Requirement Specification (SRS) document is
created which contained a detailed description of
what the system will do in the common language.
DESIGN PHASE
This phase aims to transform the requirements
gathered in the SRS into a suitable form which
permits further coding in a programming language.
It defines the overall software architecture together
with high level and detailed design.
All this work is documented as a Software Design
Document (SDD).
IMPLEMENTATION AND UNIT TESTING
During this phase, design is implemented.
During testing, the code is thoroughly examined and
modified
Small modules are tested in isolation initially.
After that these modules are tested by writing some
overhead code to check the interaction between these
modules and the flow of intermediate output.
INTEGRATION AND SYSTEM TESTING
This phase is highly crucial as the quality of the end
product is determined by the effectiveness of the
testing carried out.
The better output will lead to satisfied customers,
lower maintenance costs, and accurate results.
After that these modules are tested by writing some
overhead code to check the interaction between these
modules and the flow of intermediate output.
OPERATION AND MAINTENANCE PHASE
Maintenance is the task performed by every user
once the software has been delivered to the customer,
installed, and operational.
FEATURES OF WATERFALL MODEL
• Sequential approach
Completion of each phase
• Document-driven
Relied on documentation
• Quality control
High emphasis on quality control and checking
• Rigorous planning
Involves in careful planning.
WHEN TO USE SDLC WATERFALL MODEL?
• When the requirements are constant and not
changed regularly.
• A project is short
• The situation is calm
• Where the tools and technology used is
consistent and is not changing
• When resources are well prepared and are
available to use.
APPLICATIONS OF WATERFALL MODEL
• Large-scale Software Development Projects
• Safety-Critical Systems
• Government and Defense Projects
• Projects with well-defined Requirements
• Projects with Stable Requirements
ADVANTAGES OF WATERFALL MODEL
• This model is simple to implement also the number of resources that
are required for it is minimal.
• The requirements are simple and explicitly declared; they remain
unchanged during the entire project development.
• The start and end points for each phase is fixed, which makes it easy to
cover progress.
• The release date for the complete product, as well as its final cost, can
be determined before development.
• It gives easy to control and clarity for the customer due to a strict
reporting system.
DISADVANTAGES OF WATERFALL MODEL
• This model cannot accept the changes in requirements during development.
• It becomes tough to go back to the phase. For example, if the application has now
shifted to the coding phase, and there is a change in requirement, It becomes
tough to go back and change it.
• Since the testing done at a later stage, it does not allow identifying the challenges
and risks in the earlier phase, so the risk reduction strategy is difficult to prepare.