Waterfall Model of SDLC

What is Waterfall Iterative Model?
Waterfall Model is one of the most widely used Software Development Process.It is also called as "Linear Sequential model" or the "classic life cycle" or iterative model. It is widely used in the commercial development projects. It is called so because here, we move to next phase(step) after getting input from previous phase, like in a waterfall, water flows down to from the upper steps.

In this iterative waterfall model Software Development process is divided into five phases:-
a)  SRS (Software Requirement Specifications)
b)  System Design and Software Design
c)  Implementation and Unit testing
d)  Integration and System Testing
e)  Operation and Maintenance

 sdlc waterfall model,waterfall model diagram,iterative waterfall model wiki wikipedia
Iterative Waterfall Model with its stages

Lets discuss all these stages of waterfall model in detail.

Software Requirements Specifications:

This is the most crucial phase for the whole project, here project team along with the customer makes a detailed list of user requirements. The project team chalks out the functionality and limitations(if there are any) of the software they are developing, in detail. The document which contains all this information is called SRS, and it clearly and unambiguously indicates the requirements. A small amount of top-level analysis and design is also documented. This document is verified and endorsed by the customer before starting the project. SRS serves as the input for further phases.

System Design and Software Design:

Using SRS as input, system design is done. System design included designing of software and hardware i.e. functionality of hardware and software is separated-out. After separation design of software modules(see what is modularity) is done.The design process translates requirements into representation of the software that can be assessed for quality before generation of code begins. At the same time test plan is prepared, test plan describes the various tests which will be carried out on the system after completion of development.

Implementation and Unit Testing:

Now that we have system design, code generation begins. Code generation is conversion of design into machine-readable form. If designing of software and system is done well, code generation can be done easily. Software modules are now further divided into units. A unit is a logically separable part of the software. Testing of units can be done separately. In this phase unit testing is done by the developer itself, to ensure that there are no defects.

Integration and System testing:

Now the units of the software are integrated together and a system is built. So we have a complete software at hand which is tested to check if it meets the functional and performance requirements of the customer. Testing is done, as per the steps defined in the test plan, to ensure defined input produces actual results which agree with the required results. A test report is generated which contains test results.

Operation & maintenance:

Now that we have completed the tested software, we deliver it to the client. His feed-backs are taken and any changes,if required, are made in this phase. This phase goes on till the software is retired.

Outputs generated after each phase of Iterative Waterfall Model:

Requirements Specifications => SRS, Draft User Manual, Maintenance plan
System Design & Software design => System design document (Hardware and Software design documents), Interface design document, Unit test plan, System test plan
Implementation & Unit testing => Program code, Unit-test report
Integration & system testing => System test report, Final user manual, Working system
Operation & maintenance => No output

Copyright © ianswer4u.com

Read More:-
What are the Advantages and Disadvantages of Waterfall System Development Methodology
What are the characteristics of a good Software