Spiral model is similar to the incremental model with more emphasis given on risk analysis. It is also known as spiral life cycle model. In spiral model the activities (phases) are arranged in a spiral manner which have many cycles and there are four quadrants in each cycle. This model combines the features of Waterfall model and apply these features repeatedly in spiral manner which have many cycles.
This model is used for developing the applications which are large, expensive and complex.The cost of the software is determined on the basis of the radius of the spiral.
In Spiral model each cycle goes through four phases:
2. Risk analysis
3. Engineering and
Let us see each phase in detail.
In this phase the Business requirements from the user are gathered and these requirements are studied. Walkthrough and feasibility study is done on these gathered requirements.
2. Risk analysis:
In this phase the risks are identified based on the requirements gathered form the user and alternate solutions to those risks are found and the Prototype is produced at the end of this phase. If any risk is found then the alternate solutions to those risks are identified and those alternate solutions are implemented.
3. Engineering phase:
In engineering phase the actual development of application is done, so the software is produced in this phase. Testing is also done in this phase. So this phase comprises of both the development and testing of the software.
4. Evaluation phase:
This is the last phase of the spiral life cycle model. In this phase customer evaluates the application and gives the feedback before the software enters into the next spiral.
A software project repeatedly passes through these phases in iterations (called spirals in this model).The baseline spirals, starting in the planning phase, requirements are gathered and risk is assessed. Each subsequent spiral builds on the baseline spiral.
In the spiral model, the angular component represents progress, and the radius of the spiral represents costs.
When to use the spiral model?
1. Used when the project is large.
2. Requirements are little somewhat complicated.
3. When project needs continues risk analysis and evaluation.
4. Users are not sure about their requirements.
5. When the software requires significant changes.
Advantages of spiral model:
1. Spiral model is the best approach for large and complex projects.
2. Large and complex application can be developed faster.
3. Additional requirements and functionalities can be added later.
4. Risk analysis and evaluation is done properly.
5. Spiral model is cost effective model.
Disadvantages of spiral model:
1. Needs proper management for large and complex projects.
2. As the additional features can be added in the later stage, end of the project is not known.
3. Doesn’t work properly foe small projects.
4. Requirements and functionalities are complex.
5. Overall process for developing the software is long and complex.
6. Expertise people are needed as risk analysis and evaluation are important phase.