Waterfall Model - Software Development Lifecycle (SDLC)

What is SDLC Waterfall Model?

The Waterfall Model was the first Procedure Model to be presented. It is also mentioned to as a linear-sequential life cycle model. It is actually easy to recognize and use. In a waterfall model, each phase must be finished before the following phase can initiate and there is no overlapping in the phases.
The Waterfall model is the most basic SDLC method that was used for software development.
The waterfall Model describes the software development process in a linear sequential flow. This means that any phase in the development process initiates simply if the earlier phase is complete. In this waterfall model, the phases do not overlap.

Waterfall Model - Design

Waterfall approach was first SDLC Model to be used extensively in Software Engineering to confirm achievement of the project. In "The Waterfall" approach, the whole procedure of software development is separated into distinct phases. In this Waterfall model, normally, the outcome of one phase acts as the input for the next phase successively.
The resulting image is a representation of the different phases of the Waterfall Model.
sdlc_waterfall_model
The advanced phases in Waterfall model are −
  • Requirement Gathering and analysis − All likely necessities of the system to be developed are captured in this phase and documented in a requirement specification document.
  • System Design − the requirement specifications from first phase are studied in this phase and the system design is prepared. This system design helps in stating hardware and system necessities and helps in describing the complete system architecture.
  • Implementation − with inputs from the system design, the system is first established in small programs called units, which are combined in the following phase. Each unit is established and tested for its functionality, which is mentioned to as Unit Testing.
  • Integration and Testing − All the units established in the implementation phase are combined into a system after testing of each unit. Post integration the whole system is tested for any errors and failures.
  • Deployment of system − When the functional and non-functional testing is done; the product is set up in the customer background or released into the market.
  • Maintenance − There are some concerns which come up in the client environment. To fix those concerns, patches are released. Also to improve the product some improved versions are released. Maintenance is done to provide these alterations in the customer environment.
All these phases are spilt to each other in which development is seen as smooth steadily downwards (like a waterfall) through the phases. The next phase is taking place simply after the distinct set of goals are attained for earlier phase and it is signed off, so the name "Waterfall Model". In this model, phases do not overlap.

Waterfall Model - Application

Each software developed is not same and needs a suitable SDLC method to be followed build on the internal and external factors. Some conditions where the use of Waterfall model is maximum suitable are −
  • Necessities are very well documented, clear and fixed.
  • Product description is stable.
  • Technology is assumed and is not dynamic.
  • There are no indistinct requirements.
  • Ample resources with essential expertise are accessible to support the product.
  • The project is short.

Waterfall Model - Advantages

The advantages of waterfall expansion are that it lets for departmentalization and control. A schedule can be set with limits for each stage of growth and a product can continue over the development process model phases one by one.
Development changes from idea, through design, implementation, testing, installation, troubleshooting, and ends up at operation and maintenance. Every phase of development continues in firm order.
Certain major advantages of the Waterfall Model are as follows −
Simple and cool to realize and use
  • Easy to accomplish due to the inflexibility of the model. Each phase has precise deliverables and a review process.
  • Phases are managed and completed one at a time.
  • Works well for minor projects where necessities are very well understood.
  • Openly defined stages.
  • Well understood milestones.
  • Easy to arrange tasks.
  • Process and results are well documented.

Waterfall Model Disadvantages

The disadvantage of waterfall improvement is that it does not let much replication or revision. When an application is in the testing stage, it is actually problematic to go back and change something that was not well-documented or supposed upon in the concept stage.
The key disadvantages of the Waterfall Model are as follows −
  • No working software is created until late during the life cycle.
  • High amounts of danger and doubt.
  • Not a good model for compound and object-oriented projects.
  • Poor model for long and ongoing projects.
  • Not appropriate for the projects where necessities are at a reasonable to high risk of changing. So, risk and ambiguity is high with this process model.
  • It is problematic to measure progress within stages.
  • Cannot accommodate altering necessities.
  • Adjusting scope during the life cycle can end a project.
  • Mixing is done as a "big-bang. At the very end, which doesn’t let classifying any technological or business bottleneck or tasks early.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

Software Development Lifecycle (SDLC) Topics