Ø The definition
of spiral model was made by Barry Boehm in his article 'A Spiral Model of
Software Development and Enhancement' in 1986. Although this model did not come
up with the iterative approach in software development, it was the first model
which explained the importance of iteration in software development. The spiral
model combines the elements of both design as well as prototyping in stages.
Due to this, it can reap the advantages of both top down as well as bottom up
approach.
The spiral model used in software engineering combines various features of the waterfall model and the prototyping model. It is often used for large, expensive and complicated projects. This is due to the fact that the key feature of this model is risk management at regular stages in the entire software development cycle. Like the name suggests, the activities of software development in this model are organized like a spiral. The steps in the spiral model are generalized as follows:-
The spiral model used in software engineering combines various features of the waterfall model and the prototyping model. It is often used for large, expensive and complicated projects. This is due to the fact that the key feature of this model is risk management at regular stages in the entire software development cycle. Like the name suggests, the activities of software development in this model are organized like a spiral. The steps in the spiral model are generalized as follows:-
Ø The very first
step in this life cycle model is a detailed system requirement definition. In
this step, the requirement is perfected to the last detail by interviewing a
number of users who represent the external and/or internal users of the
proposed system. The different aspects of the system are also found out in this
step.
Ø After the
system definition is made, a preliminary design is made of the proposed system.
This is said to be the most important step of the spiral model. An analysis is
carried out of all the possible as well as available alternatives to develop a
cost-effective system. Along with it, the strategies to implement the
alternatives are also decided upon.
Ø All the
possible risks in the project are also identified in the same phase. The
methods to resolve them are also determined immediately. In case of any risks,
which point to uncertainty in the requirements, prototyping is used to make way
with the available data and find out the solution to be able to deal with any
potential changes which may come about in the requirements.
Ø After the
analysis, the first prototype is made using the preliminary design. It is not a
full version but a scaled down version which represents an approximation of the
final product. The characteristics of the first prototype and the final version
are similar to one another up to a large extent.
Ø The first
prototype is evaluated to make the second prototype. The evaluation is made on
terms of strengths, weakness and risks. Then, the requirements for the second
prototype are defined. Then comes the planning and designing of the second
prototype, followed by constructing and testing of the same.
Ø Accordingly,
the phases keep going in spirals till the entire system is ready. The bugs from
the previous prototype are fixed in the next prototype.
The task regions in the Spiral model.
The task regions in the Spiral model.
Customer
communication – In this region it is suggested to establish customer
communication.
Planning – All planning activities are carried out in order to define
resources timeline and other project related activities.
Risk analysis – The tasks required to calculate technical and
management risks.
Engineering – In this the task region,tasks required to build one or more
representations of applications are carried out.
Construct and
release – All
the necessary tasks required to construct,test,install the applications are
conducted. ¾_Customer evaluation – Customer‟s feedback is obtained and based on the
customer evaluation required tasks are performed and implemented at
installation stage.
Spiral Model Advantages:
• Focuses attention on
reuse options.
• Focuses attention on
early error elimination.
• Puts quality objectives
up front.
• Integrates development
and maintenance.
•
Provides a framework for hardware/software Development.
Disadvantages
·
High cost involved in using this model can be
called a deterrent in using this software development model.
·
When the risk analysis is carried out, it needs
highly specific expertise which may not be available all the time.
·
The success of the project is highly dependent on
the risk analysis phase of the life cycle model. It may not prove to be useful
for smaller projects.
·
The spiral life cycle model proves to be
beneficial for projects which are mission critical and have risky elements in
it.
·
It proves beneficial to run a series of risk
reduction iterations.
The
other type of application where this model is used is for game development. It
helps because the size of the project is often large and the project has
constantly shifting goals.
No comments:
Post a Comment