Waterfall Model
Originally developed by Winston Royce in 1970, the waterfall model seeks to view the sys-
tems development lifecycle as a series of iterative activities. As shown in Figure 20.2, the
traditional waterfall model has seven stages of development. As each stage is completed,
the project moves into the next phase. As illustrated by the backward arrows, the modern
waterfall model does allow development to return to the previous phase to correct defects
discovered during the subsequent phase. This is often known as the
feedback loop charac-
teristic
of the waterfall model.
F I g u r e 2 0 . 2
The waterfall lifecycle model
System
Requirements
Software
Requirements
Preliminary
Design
Detailed
Design
Code
and Debug
Testing
Operations
and
Maintenance
Introducing Systems Development Controls
883
The waterfall model was one of the fi rst comprehensive attempts to model the software
development process while taking into account the necessity of returning to previous phases
to correct system faults. However, one of the major criticisms of this model is that it allows
the developers to step back only one phase in the process. It does not make provisions for
the discovery of errors at a later phase in the development cycle.
The waterfall model was improved by adding validation and verification
steps to each phase. Verification evaluates the product against speci-
fications, whereas validation evaluates how well the product satisfies
real-world requirements. The improved model was labeled the
modified
waterfall model. However, it did not gain widespread use before the spiral
model dominated the project management scene.
Spiral Model
In 1988, Barry Boehm of TRW proposed an alternative lifecycle model that allows for mul-
tiple iterations of a waterfall-style process. Figure 20.3 illustrates this model. Because the
spiral model encapsulates a number of iterations of another model (the waterfall model), it
is known as a
metamodel
, or a “model of models.”
F I g u r e 2 0 . 3
The spiral lifecycle mode
P1
P2 P3
Plan next phases.
Develop and verify
next-level product.
Evaluate alternatives.
Identify and resolve risks.
Determine objectives,
alternatives, and constraints.
Notice that each “loop” of the spiral results in the development of a new system proto-
type (represented by P1, P2, and P3 in Figure 20.3 ). Theoretically, system developers would
apply the entire waterfall process to the development of each prototype, thereby incremen-
tally working toward a mature system that incorporates all the functional requirements in
a fully validated fashion. Boehm’s spiral model provides a solution to the major criticism of
the waterfall model—it allows developers to return to the planning stages as changing tech-
nical demands and customer requirements necessitate the evolution of a system.
Do'stlaringiz bilan baham: |