What is Waterfall model in SDLC?

What is Waterfall model in SDLC? Advantages and disadvantages

What is waterfall model?

waterfall model is the earliest software development process, it is also called the life cycle model and another example of the sequential model.

Here some points are given that is fully explained about the waterfall model:-

  1. The waterfall model was introduced by the Windston Royce in 1970.
  2. Waterfall model is the earliest software development process approach.
  3. Waterfall model is also called the basic life cycle model.
  4. Waterfall model is another example of the sequential model.
  5. In this model software development activity is divided into the multiple phases and each phase must be completed before the next phase of this model is begin.
  6. In the waterfall model there is no overlapping into phases.
  7. It’s all phases is predefines.
  8. Waterfall model each phase is defined for specific work during the software development process.
  9. Waterfall model is easy to understand and use for any developer.
  10. It’s one phase work as an input and the other phase work as an output.

Waterfall model phases working graph shown below:-

In the waterfall model, it’s every phase has a different work at every stage of the software development process.

waterfall model
waterfall model

Study about the waterfall model phases:-

1.Feasibility study:

Feasibility study means there is checking the project is ready to develop financially and technically. In this phase developers are take an overview of the entire project and understand its major problems and its benefits and other technical decisions. Based upon this phase developers are taking the decisions for the entire project parts and strategies for developing. At the last of the project’s overview, the final solution is chosen by them for all developing parts of the projects.

2. Requirement analysis and specification:

This phase is worked on the purpose of the requirements, all the requirements are decided after talking with the customer and required functions are documented in the project documents for the next phase/developing purpose.

The contract between the developers and customer, after analysing the whole project of software development are the important information which is needed for developers are documented after removed the unnecessary parts of the projects.

3. Design:-

In this phase of the waterfall model, all architecture of the software is mapping for developing. All the requirements of the customer are defining in this phase for developing the software, basically the first phase are implemented in this part of the waterfall model.

A structure is given according to the requirement of the customer for the project. And a suitable proper functioning is analysed for the project.

Languages, databases, and other technical decisions are decided in this phase for reaching the next phase for development.

4. Coding and unit testing:-

In the coding phase all the parts of the software are coded by a specific programing language and a source code is ready for them. All the functions and software parts are completely developed in this phase.

The testing phase is used to test the coded part of the software is properly working or not. If any error or fault is seen at the time of testing then effected parts again go for modification or removing the error. When all test is passed by the developed software this phase ends.

5.Integration and system testing:-

After all the modules of the software successfully tested then the entire developed system is working perfectly for customers at last some tests are given to perfectly check the system.

a) Alpha testing:-

This testing is performed to check the system behaviour by the developer’s team.

b) Beta testing:-

 If the developed software is passed this test then it is announced that it is user friendly.

c) Acceptance testing:- 

This phase of the waterfall model is checking whether the customers accept or reject the software after checking its functionality. If the software is developed according to the customer desire then it is accepted otherwise not, this phase it fully depends upon the customer.

6. Maintenance:-

Maintenance is the important phase of the software development part; if once you developed entire software then you can easily change according to the user’s requirements.

Developed software is perfectly running the respected environment, if any issue is occurring then it is solved at that time of customer testing.

Uses of waterfall model:- 

  1. The waterfall model is used at those projects where cost is low for development.
  2. Where requirements are fixed and clear, means there are not ambiguous requirements in the projects.
  3. Waterfall model is used where risk is zero or very minimum.
  4. Waterfall model is used where the project is small.
  5. All the techniques and tools are stable in this project, they are not dynamic.
  6. Model is used when all the required resources are available at that time.

Advantages disadvantages of the waterfall model are shown below:-

Advantages of waterfall model:-

Advantages mean the waterfall models pros which make the software well understandable and user friendly and also define its all properties.

  1. Waterfall model is easy to understand and its concept is very clear.
  2. It is always suitable for small projects where the cost is very low for developing them.
  3. All the tests are equally performed like testing, verification, proper designing, etc.
  4. Minimum team members are required for stat working in the project.
  5. According to the customers all changes are made during the process of software development.
  6. In the waterfall model of software engineering its best part is that if its initial phase is not completed then its next phase not started.
  7. All the results of this software are documented.
  8. It’s all phases that are rigid and precise.
  9. All phases are clearly defined by the developers when they start developing them.
  10. All the tasks are arranged in predefined decisions.

Disadvantages of waterfall model:-

Disadvantages of the waterfall model define its pros by which it is not fully understandable and user friendly, and also define the lack of some properties and functioning of the model.

  1. This model is not suitable for large/complex projects.
  2. In the waterfall model, a high amount of risk is always occurring.
  3. Fully depend upon the customers desired.
  4. There is no feedback path in the waterfall model.
  5. Difficulties are more in the projects.
  6. All the errors can be fixed during each phase time.
  7. The testing period is very complex and late.
  8. If any error is found then entire software again modified and again testing.

Conclusion:-

Waterfall model is used for smaller projects where cost and risk is minimum. If you working on smaller projects then you working on it. In the waterfall model you cannot go the next phase until you are not overcome its first phase.

Additional topics for computer science

No Responses

Leave a Reply