Site icon Letzdotesting

Waterfall Model

Waterfall Model is the first process model introduced in Software Engineering. Waterfall Model is strictly sequential and uses the top-down approach. Phases of waterfall model do not overlap each other.

In Waterfall Model, each phase should be fully completed before the next phase begin. The output of the each phase serves as the input for the next phase sequentially. Waterfall model is not incremental and iterative. Any changes or revision to the requirements or design during the process is very difficult to handle in the waterfall model.

Sequential phases in Waterfall Model are,

Business requirements and specifications are gathered during this phase. Once the requirements are gathered, it will be analyzed by a group of individuals to make sure the possibility of incorporating software development with the requirements gathered. Requirements are documented in Business Requirement Documentation.

Requirement Specification documents created in the requirement analysis phase serves as the input for the design phase of the software. High-level design (HLD) and Low-level design (LLD) are designed with the help of the requirements gathered in the first phase of the software development.

Design documents created in the design phase serves as the input for the implementation/coding phase by developers to build the software product. The main focus of this phase is development. Entire design will be broken into modules and developers will work on individual modules, then they will integrate the separate modules into one system finally.

Working software developed in the implementation & coding phase serves as the input for the Testing phase. Working software is used for testing. The main focus of this phase is to ensure quality and to validate the tests against the customer requirements to make sure the product satisfies the customer needs.

User Acceptance test results created in the testing phase serves as the input for the Deployment phase. Once the product is successfully tested, the software product can be released or deployed to the customers for their usage. If any changes or enhancements required for the software is also conveyed to the team so that the changes will be incorporated in their subsequent releases.

Deployed software, Customer’s review, Live Production environment and Data serves as the input for the Maintenance phase. Once the product is used by customers, the issues faced by them are addressed during the maintenance phase. Handling of bugs those are missed in the testing phase are taken care of during this phase.

All these phases are carried out steadily downwards throughout the process model. At the end of each phase, vigorous reviews take place to ensure there is no ambiguity. Each phase begins only when the previous phase is fully complete. Phases do not overlap each other in the waterfall model.

Read : Agile Model

Advantages of Waterfall Model

Disadvantages of Waterfall Model

So, Waterfall Model is better?

When it comes down to it, neither Waterfall Model nor any other model is strictly better than the others. The Waterfall Model is suitable for static projects where changes and revision of requirements and design will be unlikely to occur. There is no better or worse model. It’s up to you to decide which process model is better suited based on the projects and your needs.

Here are some hand-picked articles that you should read next?

In my next post will learn about Agile Model.

Exit mobile version