CHAPTER 12: SOFTWARE DEVELOPMENT
12.1 PROGRAM DEVELOPMENT LIFECYCLE
12.1.1 Stages
- Analysis: Understand problem, identify requirements
- Design: Create solution structure, algorithms
- Coding: Write actual program code
- Testing: Find and fix errors
- Maintenance: Update and improve after delivery
12.1.2 Development Models
Waterfall:
- Sequential phases
- Each phase completes before next begins
- Good for well-defined requirements
Iterative:
- Develop in cycles
- Each iteration produces working version
- Allows feedback and improvement
RAD (Rapid Application Development):
- Quick development using pre-built components
- Emphasis on prototyping
- Fast user feedback
12.2 PROGRAM DESIGN
12.2.1 Structure Chart
Purpose: Decompose problem into sub-tasks
Shows:
- Modules/procedures/functions
- Parameters passed between modules
12.2.2 State-Transition Diagrams
Purpose: Document algorithm behavior
Shows:
- Different states
- Transitions between states