Spiral Model, advantages and disadvantages of the spiral model in software engineering
In this tutorial we will try to get the answer to the following questions;
- What is spiral software model?
- What are phases of the spiral model?
- When to use spiral model?
- What are advantages and disadvantages of the spiral model?
What is a spiral model?
The spiral model is a combination of waterfall, incremental, iterative and prototype model. It is mostly used for big projects where continuous changes are required.
Phases of spiral model:
- Risk analysis
- Engineering and Construction
|Planning||≡ Requirement gathering|
≡ Requirement analysis
≡ Requirement specification
≡ Requirement negotiation
≡ Requirement modeling
≡ Requirement Management
|Software Requirement Specification document|
|Risk Analysis||≡ Risk identification|
≡ Prioritization of risk
≡ Risk reduction (Mitigation)
≡ Risk impact reduction
≡ Risk monitoring
|Risk detailed document|
≡ Test cases document, Test report document
≡ Fault report document
|Evaluation||≡ Initial Validation by stakeholders|
≡ Final Validation by customer
|Evaluation report document|
What are advantages of the spiral model?
≡ Ensure risk reduction
≡ Useful for large projects
≡ Changes can be handled in next iteration/loop.
≡ Most suitable for real-time systems
What are disadvantages of the spiral model?
≡ Expert required for risk reduction
≡ More costly
≡ Not suitable for small projects
≡ Project duration can be infinite because of its spiral behavior.
≡ Project cost can be infinite because of its spiral behavior
≡ Documentation can be very large
≡ Not suitable for the projects with low risk
When to use spiral model?
≡ When risk is medium or high
≡ When software is to be used in very sensitive and dangerous environment.
≡ For real-time systems
≡ For large projects
≡ When requirements are not clear
≡ When changes in the software can be expected at any time.