It suffers
from the dangers that:
??? Bureaucrats believe such phases are finite and cannot be iterated upon.
??? It doesn??™t allow for parallel activities such as prototyping or the development of user interface
specifications (which in themselves require their own life-cycle) or for safety-critical system issues
such as the development of a safety case.
??? It makes no mention of contract preparation, project management, reviews, or audits.
??? It implies that system testing starts only when coding is finished.
??? It says nothing about software reuse.
FIGURE 4.1
The waterfall model
Design
Code
System test
Installed
system Install
Contract Requirements
Requirements spec.
Design spec.
Builds
Tested system
44
Manage Software Testing
It has the merit that:
??? Each phase generates some baseline deliverable.
??? It is well-known.
??? It has been used for many years.
??? It is very adaptable.
??? Each process can be decomposed into others.
??? You can add any process you want.
If people can simply accept that:
??? Each phase may have to be repeated (as requirements change, as prototypes evolve).
??? It needs to be seen in parallel with a number of other life-cycles with which it must stay synchronized.
??? It can be modified for prototypes and software reuse.
??? Testing input begins at least as early as requirements definition (and arguably it is as well to have
the test team review the request for proposal and contract for test implications).
Pages:
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164