• Waterfall model

    Among all the development life cycle ‘Waterfall’ is the simplest one. It is also referred as linear-sequential model. It is very easy to understand and convenient to use. In this model the requirement was clearly understood and should identify the end phase of the project. Waterfall is a good approach for projects where requirements are clear. All the requirements are captured and signed off and the project proceeds to design stage.

    The output of the waterfall model is requirement document, project plan, detailed design plan, code, and reports.

    The main stages of waterfall model are

    1. Requirements Analysis
    2. High Level Design
    3. Detailed Level Design
    4. Build or Coding
    5. Testing
    6. Integration and Deployment
    7. Support and Maintenance

    All the stages are shown in the below diagram

    Waterfall Model

    1. Requirements Analysis

    Major steps involved in the Requirement Analysis are

    • Complete all the feasibility study and finalize all the end requirements
    • Identify all the in-scope and out-of-scope requirements before stepping into the next stage
    • Complete all the data flow and use cases for better understanding of all the requirements
    • Identify all the risks and mitigation plan
    • A deliverable at the end of this stage is the “Software Requirements Document”

    2. High Level Design

    Major steps involved in the High Level Design are

    • Finalize the high level design considering all the possible inputs
    • High level design should ensure meeting all the requirements specified in the requirement document
    • Specify all the methodologies to be used and algorithms for coding and problem solving
    • Identify all the major steps to be followed
    • Define all the dependencies and timeline for the development
    • A high level design document is prepared at the end of this stage

    3. Detailed Level Design

    Major steps involved in the Detailed Level Design are

    • Specify the detailed level design to meet each and every requirements specified in the use cases
    • Identify all the codes, components, tools, functions to be used to build the complete application
    • Add all the necessary codes or code details to be used for the development purpose
    • Identify all the dependencies of the modules with each other so that they can be taken in proper sequential manner
    • Finalize the unit test plan for each module or code considering the final requirement
    • All the detail level design documents for each code and module are prepared at the end of this stage

    4. Build or Coding

    Major steps involved in the Coding/Build are

    • Complete the code changes as specified in the design documents
    • Integrate all the codes and modules with each other and check whether they are working or not
    • Use all the specified functions, tools and components to build the code
    • Perform the Unit testing along with the development for each module

    5. Testing

    Major steps involved in the Testing are

    • Test all the modules and integrated modules as per the Unit Test Plan. Though it was done as a part of build or coding, it can be done again as a part of complete testing
    • Update the Test plan with the result and identify all the variations from the expected results
    • Unit Testing should be followed by System Testing where all the system specific test cases are executed and test results are recorded
    • System Testing can be followed by Regression Testing, Integration Testing etc. to check all the functionalities

    6. Integration and Deployment

    Major steps involved in the Integration and Deployment are

    • Final integration of all the modules and part projects into the final software or product
    • Deployed on the client system from the development region/system
    • Deliver, install and configure the whole software
    • User Acceptance Testing is performed by the end-user before moving to production
    • The software development completes with these final steps

    7. Support and Maintenance

    Major steps involved in the Support and Maintenance are

    • Warranty support of the developed software or end-product
    • Provide all the necessary training to all the end-users
    • Resolve bugs or defects in the delivered software


    Why is “Waterfall Methodology” used?

    • Most widely used SDLC Methodology with very high success rate
    • Easier to implement
    • Requirements are clear since the beginning
    • Detailed level documentations are required for training
    • Lower cost involved in the methodology

Leave a Reply

Your email address will not be published. Required fields are marked *