Spiral model: Difference between revisions
Undid revision 304866622 by 121.1.54.52 (talk) |
|||
Line 21: | Line 21: | ||
==Applications== |
==Applications== |
||
The spiral model is used most often in large |
The spiral model is used most often in large projects. For smaller projects, the concept of [[agile software development]] is becoming a viable alternative. The [[US military]] has adopted the spiral model for its [[Future Combat Systems]] program. |
||
==Advantages== |
==Advantages== |
Revision as of 15:10, 29 July 2009
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/33/Spiral_model_%28Boehm%2C_1988%29.png/333px-Spiral_model_%28Boehm%2C_1988%29.png)
Part of a series on |
Software development |
---|
The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. Also known as the spiral lifecycle model, it is a systems development method (SDM) used in information technology (IT). This model of development combines the features of the prototyping model and the waterfall model. The spiral model is intended for large, expensive and complicated projects.
History
The spiral model was defined by Barry Boehm in his 1988 article "A Spiral Model of Software Development and Enhancement"[1]. This model was not the first model to discuss iterative development, but it was the first model to explain why the iteration matters.[citation needed]
As originally envisioned, the iterations were typically 6 months to 2 years long. Each phase starts with a design goal and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, with an eye toward the end goal of the project.
The Spiral Model
The steps in the spiral model can be generalized as follows:
- The new system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system.
- A preliminary design is created for the new system.This phase is the most important part of "Spiral Model". In this phase all possible (and available) alternatives, which can help in developing a cost effective project are analyzed and strategies are decided to use them. This phase has been added specially in order to identify and resolve all the possible risks in the project development. If risks indicate any kind of uncertainty in requirements, prototyping may be used to proceed with the available data and find out possible solution in order to deal with the potential changes in the requirements.
- A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product.
- A second prototype is evolved by a fourfold procedure:
- evaluating the first prototype in terms of its strengths, weaknesses, and risks;
- defining the requirements of the second prototype;
- planning and designing the second prototype;
- constructing and testing the second prototype.
Applications
The spiral model is used most often in large projects. For smaller projects, the concept of agile software development is becoming a viable alternative. The US military has adopted the spiral model for its Future Combat Systems program.
Advantages
The spiral model promotes quality assurance through prototyping at each stage in systems development.
See also
- Software engineering
- List of software engineering topics
- Waterfall model
- Chaos model
- MBASE
- V-model
- Dual Vee Model
References
![](http://upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)
- ^ Boehm B, "A Spiral Model of Software Development and Enhancement", "Computer", "IEEE", 21(5):61-72, May 1988