Waterfall Model

Waterfall Model for Software Development, phases of Waterfall model, Waterfall model vs, V Model, and advantages & drawbacks of Waterfall model.

SDLC Models – Waterfall Model

Overview:

Waterfall development model was launched in 1970’s. It is a framework for software development in which development proceeds sequentially through a series of phases, starting with Business requirements, Software Requirements analysis and planning to develop software product, release and maintenance.
In this model each phase has specific deliverables, after completion of a phase/stage next stage will begin. One stage output is input for next stage.
A number of variants of this model exist, with each one quoting slightly different labels for the various stages. In general, however, the model may be considered as having six distinct phases, described below:

a) Requirements Gathering:

This first step is also the most important, because it involves gathering information about what the customer needs and defining, in the clearest possible terms, the problem that the product is expected to solve.

b) System Requirements:

In this phase Business Requirements are converted as Software Requirements.

Waterfall Model Diagram

c) Design:

In this phase Global and Detailed design can be produced based on Software Requirements.

d) Coding:

This step consists of actually constructing the product as per the design specification(s) developed in the previous step. Typically, this step is performed by a development team consisting of programmers, interface designers and other specialists, using tools such as compilers, debuggers, interpreters and media editors. The output of this step is one or more product components, built according to a pre-defined coding standard and debugged, tested and integrated to satisfy the system architecture requirements.

e) Testing:

In this stage, System will be tested by testers, if the find any mismatch they report defects. Developers /Programmers fix the defects and then testers close defects by performing confirmation testing (Regression Testing).

f) Release & Maintenance:

Release team (consists of a few developers, testers, and tech-support people etc…) install software in Customer environment and they consider below factors;

Correct & Complete installation

User Management

Services Management

Coexistence with other software

Handling of Input & Output devices

Handling of secondary storage devices

Etc…

Maintenance team process Customer issues based on service agreements.

3 Types of Software maintenance:

a) Modifications

b) Migration

c) Retirement

Advantages of Waterfall Model :

i) Simple and easy to use

ii) Easy to manage due to the rigidity of the model- each phase has specific deliverables and a review process.

iii) Phases are processed and completed one at a time.
iv) Works well for smaller projects where requirements are very well understood.

Disadvantages of Waterfall Model :

i) No working software is produced until late during the life cycle

ii) High amount of risk and uncertainty

iii) Poor model for complex and object oriented projects.

iv) Poor model for Long and ongoing projects

v) Poor Model where requirements are at a moderate to high risk of changing.


Useful Links
Software Manual Testing
Software Development Life Cycle
V Model
Spiral Model
Agile Development Model
Follow me on social media: