Prescriptive Software Models
Recall Boehm’s paper Why did they “invent” the waterfall model? – Distinction between programmer and user – Increased application, higher risks – Large systems: development is a group activity Bring order to chaos: – Increased system and company size requires a design phase – Different end users demands a requirements phase – Need for quality demands an orderly approach
Prescriptive models Several variants of the waterfall model exist – All depend on stable requirements – All focus on deliverables and documentation These models are still popular today – For contracts that require documentation (DoD, government, etc) – For large systems with many developers – But they frequently “fail” What are the benefits and drawbacks of each?
Types of Prescriptive Models Waterfall
Types of Prescriptive Models Incremental
Types of Prescriptive Models Rapid Application Development (RAD)
Types of Prescriptive Models Evolutionary models: spiral
Types of Prescriptive Models Prototyping
Types of Prescriptive Models Unified Process Model
In-class exercise Which prescriptive model would you use to: – Developing software to automatically drive racecars through a track without crashing. This has never been attempted before under software control. The requirements are stable. – Developing software to track the financial bailout. The software requirements are very clear. You need to create a system to perform 3 distinct tasks. All functions will interface with each other and the same underlying database.