You are on page 1of 6

Question:

Write down the advantages and disadvantages of all the Process Models studies so far i.e.
Waterfall Model, V-Model, Incremental Model, Prototyping Model, Spiral Model, and
RAD Model.

Answer
1. Waterfall Model:

Is a sequential model that divides software development into pre-defined


phases. Each phase must be completed before the next phase can begin with
no overlap between the phases. Each phase is designed for performing
specific activity during the SDLC phase. It was introduced in 1970 by Winston
Royce.
 Advantages
1. Before the next phase of development, each phase must be completed.
2. Suited for smaller projects where requirements are well defined.
3. They should perform quality assurance test (Verification and Validation) before
completing each stage.
4. Elaborate documentation is done at every phase of the software's development cycle.
5. Project is completely dependent on project team with minimum client intention.

 Disadvantages

1. Error can be fixed only during the phase.


2. It is not desirable for complex project where requirement changes frequently.
3. Testing period comes quite late in the developmental process.
4. Documentation occupies a lot of time of developers and testers.
5. Clients valuable feedback cannot be included with ongoing development phase.
6. Small changes or errors that arise in the completed software may cause a lot of
problems.
2. V-Model:
V-Model also referred to as the Verification and Validation Model. In this, each phase of SDLC
must complete before the next phase starts. It follows a sequential design process same as the
waterfall model. Testing of the device is planned in parallel with a corresponding stage of
development.
 Advantages

1. Easy to Understand.
2. Testing Methods like planning, test designing happens well before coding.
3. This saves a lot of time. Hence a higher chance of success over the waterfall model.
4. Avoids the downward flow of the defects.
5. Works well for small plans where requirements are easily understood.

 Disadvantages

1. Very rigid and least flexible.


2. Not a good for a complex project.
3. Software is developed during the implementation stage, so no early prototypes of the
software are produced.
4. If any changes happen in the midway, then the test documents along with the required
documents, has to be updated.

3. Incremental Model:
In incremental model the whole requirement is divided into various builds. Multiple
development cycles take place here, making the life cycle a “multi-waterfall” cycle. Cycles are
divided up into smaller, more easily managed modules. Incremental model is a type of software
development model like V-model, Agile model etc.
 Advantages

1. Generates working software quickly and early during the software life cycle.
2. This model is more flexible - less costly to change scope and requirements.
3. It is easier to test and debug during a smaller iteration.
4. In this model customer can respond to each built.
5. Lowers initial delivery cost.
6. Easier to manage risk because risky pieces are identified and handled during it'd
iteration.

 Disadvantages

1. Needs good planning and design.


2. Needs a clear and complete definition of the whole system before it can be broken
down and built incrementally.
3. Total cost is higher than waterfall.

4. Prototyping Model:
Is used when the customers do not know the exact project requirements beforehand. In this
model, a prototype of the end product is first developed, tested and refined as per customer
feedback repeatedly till a final acceptable prototype is achieved which forms the basis for
developing the final product.

 Advantages

1. This model is flexible in design.


2. It is easy to detect errors.
3. We can find missing functionality easily.
4. There is scope of refinement, it means new requirements can be easily accommodated.
5. It can be reused by the developer for more complicated projects in the future.
6. It ensures a greater level of customer satisfaction and comfort.
7. It is ideal for online system.
8. It helps developers and users both understand the system better.
9. Integration requirements are very well understood and deployment channels are decided at
a very early stage.
10. It can actively involve users in the development phase.

 Disadvantages

1. This model is costly.


2. It has poor documentation because of continuously changing customer requirements.
3. There may be too much variation in requirements.
4. Customers sometimes demand the actual product to be delivered soon after seeing an early
prototype.
5. There may be sub-optimal solutions because of developers in a hurry to build prototypes.
6. Customers may not be satisfied or interested in the product after seeing the initial
prototype.
7. There is certainty in determining the number of iterations.
8. There may be incomplete or inadequate problem analysis.
9. There may increase the complexity of the system.

5. Spiral Model:
Is also known as Meta Model because it subsumes all the other SDLC models. In its
diagrammatic representation, it looks like a spiral with many loops, that’s the reason it’s called
as Spiral. Each loop of the spiral is called a Phase of the software development process. This
model has capability to handle risks.
 Advantages

1. Software is produced early in the software life cycle.


2. Risk handling is one of important advantages of the Spiral model, it is best development
model to follow due to the risk analysis and risk handling at every phase.
3. Flexibility in requirements. In this model, we can easily change requirements at later
phases and can be incorporated accurately. Also, additional Functionality can be added at a
later date.
4. It is good for large and complex projects.
5. It is good for customer satisfaction. We can involve customers in the development of
products at early phase of the software development. Also, software is produced early in
the software life cycle.
6. Strong approval and documentation control.
7. It is suitable for high risk projects, where business needs may be unstable. A highly
customized product can be developed using this.

 Disadvantages

1. It is not suitable for small projects as it is expensive.


2. It is much more complex than other SDLC models. Process is complex.
3. Too much dependable on Risk Analysis and requires highly specific expertise.
4. Difficulty in time management. As the number of phases is unknown at the start of the
project, so time estimation is very difficult.
5. Spiral may go on indefinitely.
6. End of the project may not be known early.
7. It is not suitable for low risk projects.
8. May be hard to define objective, verifiable milestones. Large numbers of intermediate
stages require excessive documentation.

6. RAD Model:
RAD Model or Rapid Application Development model is a software development process based
on prototyping without any specific planning. In RAD model, there is less attention paid to the
planning and more priority is given to the development tasks. It targets at developing software in
a short span of time.
 Advantages

1. Flexible and adaptable to changes.


2. It is useful when you have to reduce the overall project risk.
3. It is adaptable and flexible to changes.
4. It is easier to transfer deliverables as scripts, high-level abstractions and
intermediate codes are used.
5. Due to code generators and code reuse, there is a reduction of manual coding.
6. Due to prototyping in nature, there is a possibility of lesser defects.
7. Each phase in RAD delivers highest priority functionality to client.
8. With less people, productivity can be increased in short time.

 Disadvantages

1. It can't be used for smaller projects.


2. Not all application is compatible with RAD.
3. When technical risk is high, it is not suitable.
4. If developers are not committed to delivering software on time, RAD projects can
fail.
5. Reduced features due to time boxing, where features are pushed to a later version
to finish a release in short period.
6. Reduced scalability occurs because a RAD developed application begins as a
prototype and evolves into a finished application.
7. Progress and problems accustomed are hard to track as such there is no
documentation to demonstrate what has been done.
8. Requires highly skilled designers or developers

Question
Complete the following comparison table of the process Model.

Features Waterfall Incremental Spiral RAD V-Model


Handle Large Not Not appropriate Not Not
Project appropriate appropriate appropriate appropriate
Specification of Initial Level Initial Level Initial Level Initial Level Initial
all Level
requirements in
beginning
Cost Low Low High Very High Low
Flexibility to Rigid Less Flexible Flexible High High
change
Customer Very low Yes Yes Yes Yes
involvement
Testing After the After every After the end After After every
completion iteration of the completion iteration
of engineering of
development phase development
phase
Ease of Low Low Low Low Low
Implementation
Risk High High Low High High
Identification
Working At the end of At the end of At the end of At the end of At the end
Software the life-cycle every every the life cycle of phase
Availability iteration iteration
Team Size 15+ Not Large Large Small team Small team

You might also like