It is a sequential software development model in which the entire process of software development is seen as flowing steadily downwards like a waterfall through many distinct process phases like requirements analysis, design, implementation, testing, integration, and maintenance.

Pros of Waterfall Model:#A simple and easy to maintain

model.

# Project implementation is quite easy.

# Time spent early on making sure that requirements and design are absolutely correct saves much time and effort later.

Cons of Waterfall Model: # Rigid Model with no flexibility to accommodate changes during the process of project development.

# Difficult to implement due to virtual impossibility of getting one phase perfected before moving on to the next phases and learning from them.

# During various phases of development, all the requirements don’t get fulfilled, since the customer goes on adding his requirements, which results in evolution of an unsuitable system.

# Since customer needs to be satisfied, thus such new requirements are addressed in the newer version; which eventually leads to an added cost of development.

2) Prototype Model: It is quite useful when the customer lays down some generalized objectives he expects from the software product, but is unable to define more details. It involves creation of a series ofprototypes till the code is perfected by the developers. It is a continuous iterative cycle comprising of following major steps:

a) Listen to the voice of customer - Since Customer is the King & is always Right.

b) Create - Recreate & Recreate the Prototypes.

c) Let the Customer be satisfied with the performance of the Prototype.

Pros of Prototype Model:

When the customer is not fully clear with his requirements;

Prototype Model is the best-suited model to capture the clear requirements.

Cons of Prototype Model:

#It is not a fully complete model.

# It is quite time consuming.

# It requires building of prototype every time at the cost of the company.

# The customer restricts himself up to the prototype and may not visualize all of his requirements.

3) Evolutionary Model:

The evolution tree model, is a two-dimensional software life-cycle model which considers the software development process as continuous evolution of artifacts. It is viewed as a maintenance-oriented process based on a tree of engineering decisions made at various times. Software engineers in response to modifications in the requirements from the customer make these decisions, as they receive revised requirements from the customer from time to time.

The software product evolves gradually as its versions keep on developing.

Pros of Evolutionary Model:# When the customer is frequently changing his requirements; Evolutionary Model is the best-suited model.

Cons of Evolutionary Model:# There is no clear-cut definition of the Time lines.

# Project monitoring and maintenance is a bit difficult.

4) Spiral Model: It is asoftware development process, which combines the elements of both designing and prototyping-in-stages. This is aimed to derive combined advantages of top-down and bottom-up concepts.

Pros of Spiral Model:# For high risk-based projects Spiral Model is the best-suited model.

Cons of Spiral Model:

# It is more time consuming

# It is more expensive

# Project monitoring and maintenance is a bit tedious.

5) Fish Model:

This model of software development resembles with famous & ancient Waterfall model. It involves continuous / simultaneous deployment of verification & validation processes.

Pros of Fish Model:

# Due to thorough verification and validation Fish Model yields a quality product.

Cons of Fish Model:

# It is more time consuming.

# It is more expensive.

6) V – Model:

It is also known as VEE – Model. Itis a software development model designed to simplify the understanding of the complexity associated with developing systems.

Whenever we want to represent software development lifecycle graphically, V-model becomes the first choice. V-model effectively describes various actions or steps to be taken in addition to the outputs emerging out of such actions or steps.

The VEE is a process that represents the sequence of steps in a project life cycle development. V stands for "Verification and Validation"

Pros of V Model:# Due to thorough verification and validation done along with the Test Management, V- Model yields a quality product.