The stages of "The Waterfall Model" are:
Requirement Analysis & Definition: All possible requirements
of the system to be developed are captured in this phase. Requirements
are set of functionalities and constraints that the end-user (who will
be using the system) expects from the system. The requirements are
gathered from the end-user by consultation, these requirements are
analyzed for their validity and the possibility of incorporating the
requirements in the system to be development is also studied. Finally,
a Requirement Specification document is created which serves the
purpose of guideline for the next phase of the model.
System & Software Design: Before a starting for actual
coding, it is highly important to understand what we are going to
create and what it should look like? The requirement specifications
from first phase are studied in this phase and system design is
prepared. System Design helps in specifying hardware and system
requirements and also helps in defining overall system architecture.
The system design specifications serve as input for the next phase of
the model.
Implementation & Unit Testing: On receiving system design
documents, the work is divided in modules/units and actual coding is
started. 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; this is referred to as Unit Testing. Unit
testing mainly verifies if the modules/units meet their specifications.
Integration & System Testing: As specified above, the system
is first divided in units which are developed and tested for their
functionalities. These units are integrated into a complete system
during Integration phase and tested to check if all modules/units
coordinate between each other and the system as a whole behaves as per
the specifications. After successfully testing the software, it is
delivered to the customer.
Operations & Maintenance: This phase of "The Waterfall
Model" is virtually never ending phase (Very long). Generally, problems
with the system developed (which are not found during the development
life cycle) come up after its practical use starts, so the issues
related to the system are solved after deployment of the system. Not
all the problems come in picture directly but they arise time to time
and needs to be solved; hence this process is referred as Maintenance.
There are some disadvantages of the Waterfall Model.
1) As it is very important to gather all possible requirements during
the Requirement Gathering and Analysis phase in order to properly
design the system, not all requirements are received at once, the
requirements from customer goes on getting added to the list even after
the end of "Requirement Gathering and Analysis" phase, this affects the
system development process and its success in negative aspects.
2) The problems with one phase are never solved completely during that
phase and in fact many problems regarding a particular phase arise
after the phase is signed off, this results in badly structured system
as not all the problems (related to a phase) are solved during the same
phase.
3) The project is not partitioned in phases in flexible way.
4) As the requirements of the customer goes on getting added to the
list, not all the requirements are fulfilled, this results in
development of almost unusable system. These requirements are then met
in newer version of the system; this increases the cost of system
development.
Loading