Presentation on theme: "INSE - Lecture 3 Models of “ the Software Life-cycle ”"— Presentation transcript:
INSE - Lecture 3 Models of “ the Software Life-cycle ”
Lifecycle models u Most kinds of production process can be described by a model “ life-cycle ” u Software is not an ordinary product - –unique complexity; –unusually high number of versions is likely; –all the cost is “ in the office ” - replication is negligably cheap - u so it has a somewhat different life-cycle... u … we even have rival proposals for the “ model ”.
The basic “ Waterfall ” model u also called the “ Cascade ” model u as observed by Royce, 1970
Each step yields a product
The “ flow ” may split and join
The big split is after “ Design ” ?
“ Top-down ” design... u causes critical paths?
Royce + some extras
V&V - 2 different forms of feedback u Validation - –checking that the specification satisfies the need u Verification - –checking that the design satisfies the specification
“ V-models ” u “ V ” -shaped, but also … u … stresses the V&V feedbacks
Prototyping u [mainly used as a validation technique] u Produce a cheap “ mock-up ” of the program –let users try it; –thereby find fundamental mis-specification errors (the easy way) u Prototypes can afford to be –oversize –slow –incomplete u ?Semi-automated production of prototypes?
A cascade view of Prototyping
A Debugging Mini-Lifecycle
All that was based on observation u Deliberately “ doing it the way it ’ s been seen to be done before ” seems unlikely to be ideal … ? u Main defect of waterfall models - they incite one to try to build “ the whole thing ” straight away u So let ’ s design the production cycle itself, for more evolutionary development
A “ Cyclic ” model u we evolve the product u intermediate stages are deliverable
A more elaborate cyclic model u the “ Boehm model ”
A hybrid waterfall/cyclic model u hybrid because it evolves but only to a final product u this is called the Rapid Application Development model
That sounds fine “ in theory ”… u … what about “ in practice ” ?
A “ Whirlpool ” model u described by Angela Burrago, BIS graduate 1999
After this lecture u think about your past programming efforts - did they fit any of the models described in the lecture? if not, draft what model they did fit. u draft a lifecycle for some other class of product (carpentry? a flower-bed? a film? - something you know enough about).