Subject Name : Software Engineering Prepared By: Dr. Vikas S. Chomal 2 Spiral Model
Introduction Circumstances to use Spiral Model
Advantages
Disadvantages
Prepared By: Dr. Vikas S. Chomal
3
The Spiral model of software development is shown in
figure below. The diagrammatic representation of this model appears like a spiral with many loops. The exact number of loops in the spiral is not fixed. Each loop of the spiral represents a phase of the software process. For example, the innermost loop might be concerned with feasibility study. The next loop with requirements specification, the next one with design, and so on. Each phase in this model is split into four sectors (or quadrants) as shown in figure below. The following activities are carried out during each phase of a spiral model.
Prepared By: Dr. Vikas S. Chomal
Figure : The Spiral Model 4 Prepared By: Dr. Vikas S. Chomal 5
First quadrant (Objective Setting)
• During the first quadrant, it is needed to identify the objectives of the phase. • Examine the risks associated with these objectives.
Prepared By: Dr. Vikas S. Chomal
6
Second Quadrant (Risk Assessment and Reduction)
• A detailed analysis is carried out for each identified project risk. • Steps are taken to reduce the risks. For example, if there is a risk that the requirements are inappropriate, a prototype system may be developed.
Prepared By: Dr. Vikas S. Chomal
7
Third Quadrant (Development and Validation)
• Develop and validate the next level of the product after resolving the identified risks.
Fourth Quadrant (Review and Planning)
• Review the results achieved so far with the customer and plan the next iteration around the spiral. • Progressively more complete version of the software gets built with each iteration around the spiral.
Prepared By: Dr. Vikas S. Chomal
8
Circumstances to use spiral model
The spiral model is called a meta model since it encompasses all other life cycle models. Risk handling is inherently built into this model. The spiral model is suitable for development of technically challenging software products that are prone to several kinds of risks.
Prepared By: Dr. Vikas S. Chomal
Advantages 9
1. Estimates (i.e. budget, schedule, etc.) get more realistic as work
progresses, because important issues are discovered earlier. 2. Repeated or continuous development helps in risk management. Continual and steady approach minimizes the risks or failure associated with the change in the system. 3. Adaptability in the design in software engineering accommodates any number of changes that may happen, during any phase of the project. 4. Since the prototype building is done in small fragments or bits, cost estimation becomes easy and the customer can gain control on administration of the new system. 5. As the model continues towards final phase, the customer's expertise on new system grows, enabling smooth development of the product meeting client's needs.
Prepared By: Dr. Vikas S. Chomal
10 Disadvantages 1. The models work best for large projects only, where the costs involved are much higher and system fundamentals involves higher level of complexity. 2. It needs extensive skill in evaluating uncertainties or risks associated with the project. 3. It works on a protocol, which needs to be followed strictly for its smooth operation. Sometimes it becomes difficult to follow this protocol. 4. Evaluating the risks involved in the project can shoot up the cost and it may be higher than the cost for building the system. 5. There is a requirement for further explanation of the steps involved in the project such as breakthrough, blueprint, checkpoints and standard procedure.