'Model' in the sense of 'to be imitated' ... 'exemplary'...
We will look at:
code it
while client not satisfied
fix it
wend
Only suitable for small systems.
Analogy
stage 1
stage 2
stage 3
etc ...
Output of one stage flows down to next stage.
Note: common misconception - the model does acknowledge the need for an upwards flow, where stages need re-doing.
(e.g between design and implementation, where implementation might show the need for a modified design.)
Fig 3.2 in notes:
req's
verify
spec
verify
design ... implem .. test ... operation
At each stage, there is some form of verification/ test.
To repeat: problems found in coding are allowed to influence design (resulting in amended documentation.)
Benefits:
Drawbacks:
Is it what was wanted?
When we create it, we need to be clear about what we are doing:
fig 3.3
prototype
verify
spec
verify
...etc
less modification of spec will be needed.
The throwaway prototype:
Danger: build and fix?
start... risk...stage risk...stage... ... productprecede each stage with risk analysis, which may involve prototyping.
E.g. Prior to coding: