SDLC Waterfall Model And Phases

Introduction of waterfall model:

First introduced by Dr. Winston W. Royce in a paper published in 1970, the waterfall model is a software development process. This model is the first model ever used for the system. The waterfall model is also known as the linear-sequential life cycle model. This model is very simple to understand. It is very easy to use, once you understand it.  

As in the waterfall model, the entire system is divided into small phases so each phase needs to be completed before jumping toward the next phase. It is because the output of the first phase becomes the input of the second phase. The output of the second phase becomes the input of the third phase and so on. This process continues until the last phase comes and a system is developed.

Phases of waterfall model:

The waterfall model has many phases. In this model all the phases are step by step completed. Means if the first stage is completed then the next steps come. It doesn’t return to  previous steps. Here we read all the process step by step.

Requirement -: For creating any software or process of development it is necessary to know what are the requirements to develop any software. User requirement is necessary to know for developing any software. First collect all information about the software requirement and analyze the information.

Design -: After collecting the information the next steps come to create the design of any software. For creating a design of software keep the mind for user requirements. Design gives the  SRS document into a structure that is suitable for implementation in programming language.

Development -: After creating a design the next steps comes for development means create a source code of the programming language. In this steps all the code are written in special language that you are using

Testing -: After writing the code the next steps comes for software testing. Testing plays a very important role in the sdlc process. It is necessary to know the software you are created that is working or not working. What error comes in the software when we are using it?

Deployment –: After the testing the next steps comes deployment. After the testing the product is deployed in the customer environment or released into the market.

Maintenance -: This is the last step of the waterfall model.If there is a need to create any part of software this process comes If any issues come in software using the client . Then fix those  issues,  patches  are released . Also to enhance the product some better versions are released. Maintenance is done to deliver these changes in the customer environment.

Advantages of the waterfall model:

The following are the Waterfall Model advantages and disadvantages in the next heading.

  • The waterfall model is easy to understand.
  • The waterfall model is simple to use.
  • Due to the rigidity of the waterfall model, it is easy to manage.
  • In waterfall model phases do not overlap.
  • The waterfall model is excellent for small projects.
  • Phases are processed in time.
  • Phases are completed in time.
  • As it works for small projects, it can be delivered on time.
  • It is very easy to identify errors.
  • Design errors are identified before the software is written.
  • The requirements of the waterfall model are easily understood.

Disadvantages of the waterfall model:

  • There is a high amount of uncertainty and risk.
  • It is not good for big and complex models.
  • It is a poor model for object-oriented projects.
  • It is not suitable if the requirements change.
  • It is difficult to add new requirements in the waterfall model.

Concerns of waterfall model:

Below are some concerns to use waterfall model:

  • It does not allow for much reflection or revision.
  • 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.

Conclusion:

In the waterfall model, it is very important to take the sign off of the deliverable of each phase. As of today most of the projects are moving with Agile and Prototype models, Waterfall model still holds good for smaller projects. If requirements are straightforward and testable, a Waterfall model will yield the best results.