Software Development (OCR A-Level Computer Science): Revision Notes
📚 Revision Notes
Comparing Software Development Models
Overview
Each software development model has unique characteristics, making it suitable for different project types. This comparison helps in understanding their strengths, limitations, and best applications.
Comparison Table
| Model | Key Features | Best For | Drawbacks |
|---|---|---|---|
| Waterfall | Sequential, phase-based, heavy documentation | Stable, well-defined projects | Inflexible, late testing |
| Agile (inc. XP) | Iterative, user-focused, frequent delivery | Evolving requirements, user-centered applications | Resource-intensive, scope creep |
| Spiral | Risk-focused, iterative, adaptable | High-risk, complex projects | Complex, costly |
| Rapid Application Development (RAD) | User-driven, prototype-based, quick turnaround | Small to medium projects with user feedback emphasis | High resource demands, scalability issues |
Suitability Justification
- Waterfall: Preferred when requirements are clear and stable, as the inflexible structure helps maintain strict project scope.
- Agile: Best for projects needing flexibility and ongoing customer feedback. Agile's collaborative approach is effective for evolving requirements.
- Spiral: A good choice for high-risk projects, where early risk detection and mitigation are crucial. Suitable for systems involving new technologies.
- RAD: Fits projects needing rapid prototyping and user feedback, allowing for flexibility and quick iteration. However, it is not suitable for large-scale, highly structured applications.
Note Summary
infoNote
Key Takeaways
- Choosing the Right Model: The choice of model depends on the project's complexity, risk level, and need for flexibility.
- Benefits and Drawbacks: Each model has trade-offs between flexibility, resource intensity, and documentation requirements.
- Application Scenarios: Consider the nature of requirements, risk, and user involvement when choosing a model.