spiral model of software development
SPIRAL MODEL:
Today tutorial learns spiral model of software development.This model gets its name from the appearance of its diagrammatic representation that looks like a spiral with many loops (see Figure 2.10). The exact number of loops of the spiral is not fixed and can vary from project to project. The number of loops shown in Figure 2.10 is just an example. Each loop of the spiral is called a phase of the software process.
The exact number of phases through which the product is developed can be varied by the project manager depending upon the project risks. A prominent feature of the spiral model is handling unforeseen
risks that can show up much after the project has started. In this context, please recollect that the prototyping model can be used effectively only when the risks in a project can be identified upfront before the development work starts.
As we shall discuss, this model achieves this by incorporating much more flexibility compared to SDLC's other models. previous tutorial Integration testing of software engineering.
Risk handling in spiral model:
Risk is essentially any adverse circumstance that might hamper the
successful completion of a software project. As an example, consider a project
for which a risk can be that data access from a remote database might be too
slow to be acceptable by the customer. This risk can be resolved by building a
prototype of the data access subsystem and experimenting with the exact access
rate. If the data access rate is too slow, possibly a caching scheme can be
implemented or a faster communication scheme can be deployed to overcome the
slow data access rate. Such risk resolutions are easier done by using a
prototype as the pros and cons of an alternate solution scheme can evaluate
faster and inexpensively, as compared to experimenting using the actual
software application being developed. The spiral model supports coping up with
risks by providing the scope to build a prototype at every phase of software
development.
Phases of the Spiral Model:
Each phase in this spiral model is split
into four sectors (or quadrants) as shown in Figure 2.10. In the first
quadrant, a few features of the software are identified to be taken up for
immediate development based on how crucial it is to the overall software
development. With each iteration around the spiral (beginning at the center and moving outwards), progressively more complete versions of the software get
built. In other words, the implementation of the identified features forms a phase.
Quadrant 1:
The objectives are investigated,
elaborated, and analyzed. Based on this, the risks involved in meeting the
phase objectives are identified. In this quadrant, alternative solutions
possible for the phase under consideration are proposed.
Quadrant 2:
During the second quadrant, alternative solutions are evaluated to
select the best possible solution. To be able to do this, the solutions are
evaluated by developing an appropriate prototype.
Quadrant 3:
Activities during the third quadrant consist of developing and verifying
the next level of the software. At the end of the third quadrant, the
identified features have been implemented and the next version of the software is available.
4 Quadrant 4:
Activities during the fourth
quadrant concern reviewing the results of the stages
traversed so far (i.e. the developed version of the software) with the customer and planning the
next iteration of the spiral. The radius of the spiral at any point represents the cost incurred in the project so far, and the angular dimension represents the progress made so far in the current phase.
In the spiral model of development, the project manager dynamically determines the number of phases as the project progresses. Therefore, in this model, the project manager plays a crucial role in tuning the model to specific projects.
To make the model more efficient, the different features of the software that can be developed simultaneously through parallel cycles are identified. To keep our discussion simple, we shall not delve into parallel cycles in the spiral model.
Advantages/pros and disadvantages/cons of the spiral model:
There are a few disadvantages of the spiral model that restrict its use to only a few types of projects. To the developers of a project, the spiral model usually appears as a complex model to follow, since it is risk-driven and is more complicated phase structure than the other models we discussed. It would, therefore, be counterproductive to use, unless there is knowledgeable and experienced staff in the project. Also, it is not very suitable for use in the development of outsourced projects, since the software risks need to be continually assessed as it is developed.
In spite of the disadvantages of the spiral model that we pointed out, for certain categories of projects, the advantages of the spiral model can outweigh its disadvantages.
No comments:
Post a Comment