Comparing Software Development Models (OCR A Level Computer Science)

Revision Note

Callum Davies

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!

Join the 100,000+ Students that ❤️ Save My Exams

the (exam) results speak for themselves:

Did this page help you?

Callum Davies

Author: Callum Davies

Expertise: Computer Science

Callum is an experienced teacher of GCSE and A-Level Computer Science. He has 4 years of teaching experience and has detailed knowledge of how to achieve exam success, having marked for OCR A-Level. Callum is now a software engineer and regularly mentors new engineers.

James Woodhouse

Author: James Woodhouse

Expertise: Computer Science

James graduated from the University of Sunderland with a degree in ICT and Computing education. He has over 14 years of experience both teaching and leading in Computer Science, specialising in teaching GCSE and A-level. James has held various leadership roles, including Head of Computer Science and coordinator positions for Key Stage 3 and Key Stage 4. James has a keen interest in networking security and technologies aimed at preventing security breaches.