This document discusses and compares different software lifecycle models: Waterfall, Prototype, Spiral, and Agile. The Waterfall model is sequential with clear phases but inflexible. The Prototype model allows for early feedback but suffers from poor documentation. The Spiral model combines design and prototyping. Finally, the Agile model is iterative and test-driven but may increase complexity.
2. Introduction
What is Software Lifecycle?
Series of stages in the development of
software
Often used in Software Engineering
E.g. analysis, designs, implementation, tests,
maintenance
4. Waterfall Model
Simplest software model
Sequential design process
Clear project objectives
Stable project requirements.
Concrete and clear approach to software
development
Amount of resources required is very minimal
i.e. cheaper
5. Waterfall Model
Strengths of Waterfall Model
Minimizes planning overhead since it can be done
up front.
Structure minimizes wasted effort, so it works well
for technically weak or inexperienced staff.
6. Waterfall Model
Weaknesses of Waterfall Model
Inflexible
Onlythe final phase produces a non
documentation deliverable
Backing up to address mistakes is difficult.
7. Prototype Model
Overcomes limitations of Waterfall model
Prototype is made which is further modified as
per the requirement of the customer
8. Prototype Model
Strengths of Prototype Model
Early functionality.
Provides a process to perfect the requirements
definition.
Provides risk control.
Documentation focuses on the end product not
the evolution of the product.
9. Prototype Model
Weaknesses of Prototype Model
Less applicable to existing systems than to new,
original development.
Bad reputation among conservatives as a "quick
and dirty" method.
Suffers from bad documentation
Sometimes produces a system with poor
performance.
Tendency for difficult problems to be pushed to
the future so that the initial promise of the
prototype is not met by subsequent products
plans.
10. Spiral Model
combines elements of both design and
protoypein-stages
11. Agile Model
It is an enhanced development software, not a
alternative option.
It is a distinct software development method.
Its an iterative method.
12. Agile Model
Advantages
Agile by definition would naturally refer to
something which is quick and easy to do.
They are test-driven software development.
It provides advice for how to be effective as a
modeler.
13. Agile Model
Disadvantages
Difficult
to apply where there are large team
members.
May increase the complexity of the system as
scope of the system may expand beyond original
plan.
It does not define detailed procedures for how to
create a given type of model.