Spiral Model, advantages and disadvantages of spiral model in software engineering

Spiral Model, advantages and disadvantages of the spiral model in software engineering.

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 the spiral model

  1. Planning
  2. Risk analysis
  3. Engineering and Construction
  4. Evaluation
PhaseActivitiesDeliverable
PlanningRequirement gathering

Requirement analysis

Requirement specification

Requirement negotiation

Requirement modeling

Requirement Management

Software Requirement Specification document

(SRS)

Risk Analysis Risk identification

Prioritization of risk

Risk reduction (Mitigation)

Risk impact reduction

Risk monitoring

 

Risk detailed document
Engineering Development

Testing

Code

Test cases document, Test report document

Fault report document

Evaluation Initial Validation by stakeholders

Final Validation by customer 

Evaluation report document

 

What are the advantages of the spiral model?

Ensure risk reduction

Useful for large projects

Changes can be handled in the next iteration/loop.

Most suitable for real-time systems

What are the 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

arial, helvetica, sans-serif;”> Not suitable for the projects with low risk

When to use the spiral model?

When the risk is medium or high

When software is to be used in a 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.

Comparison of SDLC Models

Comparison of  spiral model and waterfall model

Properties Spiral Waterfall
ObjectivesHigh AssuranceHigh Assurance
Planning in early stageYesYes
Returning to an earlier phaseYesNo
Handle Large-ProjectAppropriateNot Appropriate
Time-FrameLongVery Long
Working software availabilityAt the end of every iterationAt the end of the life-cycle
Risk InvolvementMedium to high riskHigh
Software Team sizeLarge Software TeamLarge Software Team
Customer control over administratorYesVery Low
MaintenanceTypicalLeast
Time DurationLongLong
Re-usabilityTo some extentLeast possible
Framework TypeLinear + IterativeLinear
When Testing?At the end of the engineering phaseAfter completion of development phase
MaintenanceYesLeast Maintainable
Detailed DocumentationYesNecessary
Overlapping PhasesNoNo

 

Comparison of  spiral model and incremental model

Properties Spiral Incremental
ObjectivesHigh AssuranceRapid Development
Planning in early stageYesYes
Returning to an earlier phaseYesYes
Handle Large-ProjectAppropriateNot Appropriate
Time-FrameLongLong
Working software availabilityAt the end of every iterationAt the end of every iteration
Risk InvolvementMedium to high riskLow
Software Team sizeLarge Software TeamNot Large Software Team
Customer control over administratorYesYes
MaintenanceTypicalPromotes Maintainability
Time DurationLongVery long
Re-usabilityTo some extentTo some extent
Framework TypeLinear + IterativeLinear + Iterative
When Testing?At the end of the engineering phaseAfter every iteration
MaintenanceYesMaintainable
Detailed DocumentationYesYes but not much
Overlapping PhasesNoYes

 

Comparison of  spiral model and RAD

Properties Spiral Rad
ObjectivesHigh AssuranceRapid development
Planning in early stageYesNo
Returning to an earlier phaseYesYes
Handle Large-ProjectAppropriateNot Appropriate
Time-FrameLongShort
Working software availabilityAt the end of every iterationAt the end of the life cycle
Risk InvolvementMedium to high riskLow
Software Team sizeLarge Software TeamSmall Software Team
Customer control over administratorYesYes
MaintenanceTypicalEasily Maintained
Time DurationLongShort
Re-usabilityTo some extentYes
Framework TypeLinear + IterativeLinear
When Testing?At the end of the engineering phaseAfter completion of development
MaintenanceYesEasily Maintainable
Detailed DocumentationYesLimited
Overlapping PhasesNoYes

 

Subscribe for Friendship

Latest posts by Prof. Fazal Rehman Shamil (see all)

Buy advertisement space on T4Tutorials

For more details email [email protected]