Information Technology Reference
In-Depth Information
cycle, and the dedication paid to continual testing and meticulous quality assur-
ance in order to catch inevitable mistakes have continued to prevent many mis-
takes from becoming full blown catastrophes (Schach 2008 ). Today, the waterfall
approach is generally only taken when the requirements of a project are well
defined and not likely to change.
1.5.3 Evaluation of the Spiral Model
The major downfall of the waterfall model is, in essence, its inherent level of risk.
Its use of a rigid development process means that no part of the software product
can be tested until far along in the process. Due to this practice, errors and
misunderstandings between the client and the developer are often missed until late
in development. Fixing these errors is then much more costly to correct than it
would have been at earlier stages of development. An alternative software life
cycle, the spiral model, seeks to correct this problem by the use of practices
designed to minimize risk. Specifically, the spiral model employs prototyping in
order to test portions of the software product at various stages of development.
This feature is combined with concepts and practices from the waterfall model.
The result maintains the use of structure and well specified design phases from the
classical model, but allows for greater flexibility and management of change.
Figure 1.3
depicts
the
spiral
model,
as
presented
by
its
creator,
Boehm
(Schach 2008 ).
In Fig. 1.3 , each cycle represents a phase in the development process. As can be
seen, each phase consists of a series of activities, including planning, testing,
designing and, most importantly to the model, risk assessment and prototyping.
The steps are generalized below.
• System requirements are defined.
• An initial (preliminary) design of the system in created.
• The initial design is translated into a prototype, which is then evaluated based
not only on its strength and weaknesses, but its inherent risk.
• The evaluation of the first prototype is used in the creation of a second prototype
based on an updated set of plans and requirements. This second prototype is
tested and evaluated.
• Consultation with the client is used to evaluate progress. At this point, the
decision is reached on whether to abort the project, or to continue on to the
development of a new prototype, based on the evaluations of the previous ones.
• At this point, the project enters a loop, iterating over the preceding steps until
either the client chooses to abort the project, or the client is satisfied with the
most recent prototype.
• The satisfactory prototype is then used to design the final system, which is
rigorously tested before final delivery to the client.
• Post-delivery maintenance is carried out for the remaining life of the product.
Search WWH ::




Custom Search