Top-Down Design
Design program at very high level first
- Major subprograms, and their interactions
- Details of how subprograms work not considered
Advantages:
- Catch mistakes early on in the project (easier and cheaper to fix)
- Gives something concrete to discuss with users (can figure out exact user needs early on)
- Can deliver partial functionality if schedule slips
- Can start testing earlier