Waterfall Model

Development Model (Software development life cycle)

Software development life cycle (SDLC) models show the ways to navigate through the complex and demanding process of software building. Various models or approaches are used in the software development process where each model has its own advantages and disadvantages. Choosing a particular model depends on the project deliverables and complexity of the project. The models are listed below

  • Waterfall Model
  • Prototype Model
  • Spiral Model

Waterfall Model

This is the 1most basic software development life cycle process. These phases have their own unique functions and goals. There are, in fact, four phases requirement gathering and analysis phase, software design, programmed implementation and testing, maintenance. All these four phases come one after another in the given order.

1.   Requirement Gathering

It is done by BA (Business Analyst) who has the knowledge of that domain. It takes a requirement from the client.  All possible requirements of the system to be developed are captured in this phase and documented in a requirement specification document.

 2.   Feasibility Study

The requirement specifications from the first phase are studied in this phase. It contains five members in the feasibility study

  • Project manager
  • Business Analyst
  • Finance Person
  • HR
  • Architect

 3.  Design

  • It helps to design overall system architecture
  • According to the required system design is prepared in this stage
  • It contains two types of Design
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC1PqijXS1feur_gOEiRE66HNVXMpd8m0QVRBofMrIaQ6hWzjII-gsWwE4uR4WfPVzDfrxj7jl8MeVoZx0FQiXnYMkrRe9N-E_RQCzOifWXbVbDSv6ClgzlZTZ9sdsI82PeOJ2cuxcOfI/s320/design123.png

4. Codding/Development


Codding is done by the developer, it takes requirement code as code as per that requirement.Developers firstly developed in small programs called units, which are integrated into the next phase. Each unit is developed and tested for its functionality, which is referred to as Unit Testing



5. Testing



Testing done by tester it takes application and compare with the requirement .If application not made as per requirement and if  defect found then it make defect report and send to developer it stop when application is stable or no of defects are less



 6. Deployment



Once the functional and non-functional testing is done; the product is deployed in the customer environment or released into the market



 7.  Maintenance


There are some issues which come up in the client environment. To 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

  • A simple model to understand and implement

  • It is easy to implement and maintain.

  • The initial phase of rigorous scrutiny of requirements and systems helps in saving time later in the developmental phase

  • The requirement of resources is minimal and testing is done after each phase has been completed

Disadvantages

  • It is not possible to alter or update requirements

  • Once you move into the next phase you cannot make changes

  • You cannot start the next phase until the previous phase is completed.https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-Dtg477BWAE7ZNwTbMNEHBFXlPURGDMvwK2QB1uh8ypibpth941fGxKwmXMMRbSpxMT2aM9c9Kt_RfN2Ah9LWN4PTAdC8RY_2-9qtVpMHYRUnEyGFD_G1SjmppvEYprXopvNWSBeTS4U/s640/waterfall.png