Professional Documents
Culture Documents
Advantages
Easy to manage due to the rigidity of the model each phase has specific
deliverables and a review process.
Works well for smaller projects where requirements are very well understood.
Disadvantages
It is a model that can be used when any of the following condition is true:
When the requirements are well known.
The definition of the product is stable
Technology is understood
Designing a new version of an existing product.
SPIRAL MODEL
This model is one of the models created to make up for the deficiencies identified in
waterfall model. This model incorporated the common methodologies followed in
"The Waterfall Model", but it also eliminated almost every possible/known risk
factors from it. This model is referred as "The Spiral Model" or "Boehms Model".
There are four phases in the "Spiral Model" which are: Planning, Evaluation, Risk
Analysis and Engineering. These four phases are iteratively followed one after other
in order to eliminate all the problems, which were faced in "The Waterfall Model".
Iterating the phases helps in understating the problems associated with a phase and
dealing with those problems when the same phase is repeated next time, planning
and developing strategies to be followed while iterating through the phases. The
phases in "Spiral Model" are:
Page 2 of 9
Plan: In this phase, the objectives, alternatives and constraints of the project are
determined and are documented. The objectives and other specifications are
fixed in order to decide which strategies/approaches to follow during the project
life cycle.
Risk Analysis: This phase is the most important part of "Spiral Model". In this
phase all possible and available alternatives, which can help in developing a cost
effective project are analyzed and strategies are decided to use them. This
phase has been added specially in order to identify and resolve all the possible
risks in the project development. If risks indicate any kind of uncertainty in
requirements, prototyping may be used to proceed with the available data and
find out possible solution in order to deal with the potential changes in the
requirements.
Engineering: In this phase, the actual development of the project is carried out.
The output of this phase is passed through all the phases iteratively in order to
obtain
improvements
in
the
same.
Page 3 of 9
Advantages
Software is produced early in the software life cycle because of the rapid
prototyping tools.
Disadvantages
Doesnt work well for smaller projects because of the time and expertise
required for risk evaluation.
It requires a longer time than some other models because of its iterative
nature.
Page 4 of 9
V SHAPED MODEL
Just like the waterfall model, the V-Shaped life cycle is a sequential pattern of
execution of processes. Each phase must be completed before the next phase
begins. It is slightly different in the sense that it emphasizes on verification and
validation of the requirements and developments respectively. The testing
procedures are developed early in the life cycle before any coding is done, during
each of the phases preceding implementation.
The V-Shape of the model divides the stages involved into two general phases:
verification and validation phases. The verification phase comprises of the
requirement, high level design and low level design phases. The validation phase is
comprises of the unit testing, integration testing and the system testing. The
verification phase verifies the requirements along with reviews and processes while
the validation phase validates the different developments through the different
testing phases.
Requirements begin the life cycle model just like the waterfall model. Before
development is started, a system test plan is created. The test plan focuses on
meeting the functionality specified in the requirements gathering.
The high-level design phase focuses on system architecture and design. An
integration test plan is created in this phase as well in order to test the pieces of the
software systems ability to work together.
The low-level design phase is where the algorithm for each architectural
components are designed, and unit tests are created in this phase as well.
The implementation phase is, again, where all coding takes place. Once coding is
complete, the path of execution continues up the right side of the V where the test
plans developed earlier are now put to use.
Page 5 of 9
Advantages
Higher chance of success over the waterfall model due to the development of
test plans early on during the life cycle.
Works well for small projects where requirements are easily understood.
Disadvantages
Model doesnt provide a clear path for problems found during testing phases.
INCREMENTAL MODEL
The incremental model is an intuitive approach to the waterfall model.
Multiple development cycles take place here, making the life cycle a multiwaterfall cycle. Cycles are divided up into smaller, more easily managed
iterations. Each iteration passes through the requirements, design,
implementation and testing phases.
A partial implementation of the total software is done, and then increased
functionalities are added slowly that is, a working version of software is
produced during the first iteration, so you have working software early on
Page 6 of 9
during the software life cycle. Subsequent iterations build on the initial
software produced during the first iteration.
Incremental Life Cycle Model
Advantages
Generates working software quickly and early during the software life cycle.
More flexible less costly to change scope and requirements.
Easier to manage risk because risky pieces are identified and handled during
its iteration.
Disadvantages
PROTOTYPING MODEL
It begins with requirements gathering. Developer and Customers meet and define
the overall objectives of the software, identify whatever requirements are known
and identify the areas which require further definition. In many instances the client
only has a general view of what is expected from the software product. In such a
scenario where there is an absence of detailed information regarding the input to
the system, the processing needs and the output requirements, the prototyping
model may be employed. This model reflects an attempt to increase the flexibility of
the development process by allowing the client to interact and experiment with a
working representation of the product.
Advantages of Prototyping
There are many advantages to using prototyping in software development, some
tangible and some abstract.
Reduced time and costs: Prototyping can improve the quality of requirements
and specifications provided to developers. Because changes cost exponentially
more to implement as they are detected later in development, the early
determination of what the user really wants can result in faster and less
expensive software.
Improved and increased user involvement: Prototyping requires user
involvement and allows them to see and interact with a prototype allowing them
to provide better and more complete feedback and specifications. The presence
of the prototype being examined by the user prevents many misunderstandings
and miscommunications that occur when each side believe the other
understands what they said. Since users know the problem domain better than
anyone on the development team does, increased interaction can result in final
product that has greater tangible and intangible quality. The final product is
more likely to satisfy the users desire for look, feel and performance.
Disadvantages of Prototyping
Using, or perhaps misusing, prototyping can also have disadvantages.
Page 8 of 9
Page 9 of 9