Header Ads Widget

Waterfall Software Life-Cycle

 

Waterfall Life-Cycle Model

The waterfall model is a classical model used in system development life cycle to create a system with a linear and sequential approach. It is termed as waterfall because the model develops systematically from one phase to another in a downward fashion. This model is divided into different phases and the output of one phase is used as the input of the next phase. Every phase has to be completed before the next phase starts and there is no overlapping of the phases.

Given below are the various phases:

Requirement

  • During this phase, detailed requirements of the software system to be developed are gathered from client.

Design Stage

  • In the design phase, you and the development team determine what your software needs, how it will look, and what the timeline for development is going to be. It's time to map out workflows, determine what database(s) will be used, and create a data model.

Construction

  • Implementation/Coding starts once the developer gets the Design document. The Software design is translated into source code. All the components of the software are implemented in this phase.

Testing

  • Testing starts once the coding is complete and the modules are released for testing. In this phase, the developed software is tested thoroughly and any defects found are assigned to developers to get them fixed.
  • In this phase, you test the software to verify that it is built as per the specifications given by the client.

Deployment

  • Once the product is tested, it is deployed in the production environment or first UAT (User Acceptance testing) is done depending on the customer expectation.
  • Deploy the application in the respective environment

Maintenance

  • Once your system is ready to use, you may later require change the code as per customer request.

Advantages of waterfall model

  • Waterfall model works well for smaller projects where requirements are clearly defined and very well understood.
  • It is easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process.
  • This model is simple and easy to understand and use.
  • In this model phases are processed and completed one at a time. Phases do not overlap.

Disadvantages of waterfall model

  • Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage.
  • No working software is produced until late during the life cycle.
  • High amounts of risk and uncertainty.
  • Not a good model for complex and object-oriented projects.
  • Poor model for long and ongoing projects.
  • Not suitable for the projects where requirements are at a moderate to high risk of changing.


Post a Comment

0 Comments