What is the Waterfall Model in SDLC?

The waterfall model of the software life cycle which 1st put forward by Royce in 1979. It become popular in the 1970s. However, when Boehm brought attention to it. there are many variants of the waterfall model depending on the organisation the use the model and the specific projects. 

linear-sequential waterfall model
Fig 1: Linear-Sequential Waterfall model

The Above figure depicts Linear-Sequential Waterfall model. 
Another variant of the waterfall model is the one in which each phase's results flow into the next and the process. Ideally process in an orderly fashion. this can be illustrated from the following figure. 

Fig 2 : Waterfall Model

In the waterfall model "With feedback the process is structured as a cascade of phases where the output of one phase constitute the input to the next one. The Waterfall model consist of the Following Phases.

1. Feasibility study

  • Feasibility study is study about finding out the Problems. in this phase feasibility is an evaluation and analysis of the potential of proposed which is based on extensive investigation and research to support to process in decision making.  
  • Aims
    • Work out on overall understanding of the problems.
    • Generate Different Solution for solving the Problem.
    • Find out the Solution among alternative which is suitable and best.
    • Analysis each and every alternatives solution in terms of :
      • What are the Resources Required
      • What are the Cost of Development
      • How much time taken in development etc
      _________________________________________________________

      2. Requirement analysis and Specification

      • In this phase Developer understand the exact requirements of the customers.  after the knowing requirement of the customers. developer need to gathering information and analysis it. 
      • Aims
        • Requirement gathering and analysis
        • Analysis the collected data.. is relevant or not
        • Requirement specification
        • Find out if any requirement is not completed. and solve it.


      3. Design and Specification

      • In this design phase developer transform the Gathered requirement specification data into a particular format and bring it in a structure format. 
      • Aims
        • Design phase transforms requirement specification data into a Programming language structure.
        • Bring all gathered customers requirement in a particular format for developing the software.

      4. Coding and Module testing

      • In this Phase developer start developing this software. now in this phase developer start coding using programming language according to the requirement of the customers.
      • Aims
        • Convert software design into source code.
        • Dividing in module if software have many function.
        • Testing each module after the coding. if developer test individual module is working correctly or not.

      5. Integration and System testing

      • In this phase After the developing every module and its testing developer integrate all module and made one software/system. "For example: developer divided one software into 4 module and after the developing of module 1, 2, 3, and 4 developer integrate all module each other and developed one software" after the integration he test whole software and test each and every functions of the software.
      • Aims
        • Integrate all module in a system.
        • Ensure that the developed system functions working according to the requirement of the customers as specified in the document.


      6: Delivery

      • In this phase of waterfall model after the complete development of the software. developer distribute and provide software to user for fulfilling user needs.

      7. Maintenance

      • Corrective Maintenance:
        • Corrective maintenance is kind of maintenance in which correct errors which are not discovered during the projects development phase.
      • Perfection Maintenance: 
        • Perfection maintenance in also a kind of maintenance in which developer improve implementation of the system.
        • and developer try to enhance the Facilities and Functions of the system.
      • Adoptive Maintenance: 

        • As per the Environment Software must be maintenance. (For example:- A software which is developed for Window xp in 2005 but Now peoples are using Window 7 or 8. in this  case developer maintain his software and develop according to window 7 and 8  supporting)
      bar

      2 comments:

      1. Such a very useful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. disposable vape pen canada

        ReplyDelete
      2. Great information.Thanks for sharing this useful information..
        DevOps Training
        DevOps Online Training

        ReplyDelete