Comparing Software Development Models (OCR A Level Computer Science)
Revision Note
Written by: Callum Davies
Reviewed by: James Woodhouse
Comparing Software Development Models
You need to be able to compare software development models, and be able to recommend a model for a given scenario
The below table summarises some of the key processes, benefits, drawbacks, and suitability of each
Method | Tasks and Processes | Benefits | Drawbacks | Suitability |
---|---|---|---|---|
Waterfall Lifecycle | Linear stages: Requirements, Design, Coding, Testing, Deployment, Maintenance | Simple, clear stages, well-defined projects | Inflexible, expensive late changes, long development cycle | Well-defined projects with stable requirements |
Agile (XP) | Iterative: Planning, Designing, Coding, Testing, Reviewing | Flexible, constant customer involvement, rapid delivery | Scope creep, collaboration dependency, not for large projects | Fast-paced projects with changing requirements |
Spiral Model | Cyclic: Planning, Risk Analysis, Engineering, Evaluation | Risk management focus, tailored customer feedback | Complex, expensive, expert risk assessment required | Complex projects needing extensive risk management |
Rapid Application Development (RAD) | Phases: Requirements Planning, User Design, Construction, Cutover | Faster development, user feedback, adaptable | Collaboration dependence, less scalable, quality issues | Projects requiring quick delivery with active user participation |
Worked Example
The software team that produces De-Duplicator is adding a new feature that can detect duplicated images the previous version could not. The software team must decide which methodology they will use for the project. Some members of the group suggest extreme programming, whilst others would prefer to use the waterfall lifecycle. Discuss the two methodologies and justify which you would recommend.
[12]
How to answer this question:
Introduce both Extreme Programming (XP) and the Waterfall Lifecycle, highlighting key features
Compare and contrast the two methodologies, explaining how they are similar and different
Identify specifics from the scenario - the software is receiving a new feature, and there is a team of people on the project
Recommend one methodology based on the given context, providing justification
Answer:
Answer that gets full marks:
The software team for De-Duplicator is facing a choice between two methods to develop a new version of the software: Extreme Programming (XP) and the Waterfall Lifecycle.
XP is like building something with the ability to keep changing and improving it as you go. It's flexible and allows for continuous feedback and changes. This method works well when you need to keep adjusting things during the project. In the case of the De-Duplicator project, where the team is adding a new feature, this flexibility could be a real advantage so the team can discover the best way to implement it.
On the other hand, the Waterfall model is more like following a strict step-by-step guide. It's organised but not very flexible if you need to make changes later on. While this structure can be good for some projects, it could make it tough for the De-Duplicator team if they uncover problems in the software while adding the new feature.
Given what the De-Duplicator project needs, XP seems to be the better choice. Its flexibility and ability to adapt to changes align well with a project that might require ongoing improvements or customer feedback loops. The Waterfall model's lack of flexibility could make things difficult if requirements change. So, Extreme Programming would likely be the recommended choice for this project, letting the team keep things flexible and continuously aligned with what users need.
Last updated:
You've read 0 of your 5 free revision notes this week
Sign up now. It’s free!
Did this page help you?