Javatpoint Logo
Javatpoint Logo

Waterfall model

Waterfall model referred to as a linear-sequential model. In this model, the software development activity classified into different phases, and each phase consists of a list of tasks and has different purposes. It divided into phases and output of one phase becomes the input of the next phase. It is compulsory for a phase to completed before the next phase starts. In short, there is no overlapping in the Waterfall model. In waterfall, development of one phase only begins when the previous phase is finished. Because of this environment, every phase of the waterfall model is quite exact well defined. Since the phases come from a higher level to the lower level, like a waterfall, it described as the waterfall model.

Waterfall model

The various phases of waterfall model are as follows:

1. Requirement (Software Requirement Specification): Requirement Specification is an essential phase of the waterfall model. In this phase, all the project team along with the customer prepare the list of user requirements.

The document that holds all the data is known as SRS. It involves understanding what you need to design and what its function, etc. If this phase completed successfully, it ensures the smooth working of the remaining stages.

2. Design: The design is an important stage that relies on the early stage for its proper implementation. The appropriate design in this stage ensures an execution in the next phase. This system design helps in defining hardware and system requirements and aids in determining the overall system structure.

3. Implementation: In the coding phase, based on the algorithm or flowchart the actual coding of the software is given out. That is the stage where the idea and flowchart of the application physically created or materialized. Proper execution of the previous stage assures the stable and more straightforward implementation of this stage. In this phase, systems are developed in programmes called unit and these units are integrated into the next stage. That referred to as Unit Testing.

4. Verification: The programmes that separated into units are integrated into a complete system and tested for proper coordination among modules and system, and behaves as per the specifications. Proper performance of this stage assures that the customer involved in the developed software and will be satisfied with the complete product. If there are any defects, the software development process must move back to the design phase. In the design phase, changes implemented and then the following stages of coding and testing are again carried out. Once the testing finished, the software product delivered to the customer.

5. Maintenance: When the software product delivered to the customer, then some problems come up in the customer environment. Those problems fixed in this phase. If the customer requires more improvements in the existing software, then the development process must begin a new, right from the first phase, i.e., requirements.

When to use SDLC Waterfall Model?

Some Circumstances where the use of the Waterfall model is most suited are:

  • When the requirements are constant and not changed regularly.
  • A project is short
  • The situation is calm
  • Where the tools and technology used is consistent and is not changing
  • When resources are well prepared and are available to use.

Advantages(Pros) of Waterfall model:

  • This model is simple to implement also the number of resources that are required for it is minimal.
  • The requirements are simple and explicitly declared, they remain unchanged during the entire project development.
  • The start and end points for each phase is fixed, which makes it easy to cover progress.
  • The release date for the complete product, as well as its final cost, can be determined before development.
  • It gives easy to control and clarity for the customer due to a strict reporting system.

Disadvantages(Cons) of Waterfall model:

  • In this model, the risk factor is higher, so this model is not good for more significant and complex projects.
  • This model cannot accept the changes in requirements during development.
  • It becomes tough to go back to the phase. For example, if the application has now shifted to the coding phase and there is a change in requirement, It becomes tough to go back and change it.
  • Since the testing done at a later stage, it does not allow identifying the challenges and risks in the earlier phase, so the risk reduction strategy is difficult to prepare.

Next TopicRAD Model

Please Share

facebook twitter google plus pinterest

Learn Latest Tutorials


B.Tech / MCA