A Spiral Model of Software Development and (螺旋模型的软件开发和).pdf
文本预览下载声明
A Spiral Model of Software Development and
Enhancement
Barry W. Boehm, TRW Defense Systems Group
“Stop the life cycle—I want to get off!”
“Life-cycle Concept Considered Harmful.”
“ The waterfall model is dead.”
“No, it isn’t, but it should be.”
These statements exemplify the current debate about software life-cycle process
models. The topic has recently received a great deal of attention.
The Defense Science Board Task Force Report on Military Software1 issued in
1987 highlighted the concern that traditional software process models were discouraging
more effective approaches to software development such as prototyping and software
reuse. The Computer Society has sponsored tutorials and workshops on software process
models that have helped clarify many of the issues and stimulated advances in the field
(see “Further Reading”).
The spiral model presented in this article is one candidate for improving the
software process model situation. The major distinguishing feature of the spiral model is
that it creates a risk-driven approach to the software process rather than a primarily
document-driven or code-driven process. It incorporates many of the strengths of other
models and resolves many of their difficulties.
This article opens with a short description of software process models and the
issues they address. Subsequent sections outline the process steps involved in the spiral
model; illustrate the application of the spiral model to a software project, using the TRW
Software Productivity Project as an example; summarize the primary advantages and
implications involved in using the spiral model and the primary difficulties in using it at
its current incomplete level of elaboration; and present resulting conclusions.
Background on software process models
The primary functions of a software process model are to determine the order of
the stages involved in software development and evolution and to establ
显示全部