Computer-Science-A-level-Ocr
-
3-3-networks8 主题
-
3-2-databases7 主题
-
3-1-compression-encryption-and-hashing4 主题
-
2-5-object-oriented-languages7 主题
-
2-4-types-of-programming-language4 主题
-
2-3-software-development5 主题
-
2-2-applications-generation6 主题
-
2-1-systems-software8 主题
-
1-3-input-output-and-storage2 主题
-
1-2-types-of-processor3 主题
-
1-1-structure-and-function-of-the-processor1 主题
-
structuring-your-responses3 主题
-
the-exam-papers2 主题
-
8-2-algorithms-for-the-main-data-structures4 主题
-
8-1-algorithms10 主题
-
7-2-computational-methods11 主题
-
7-1-programming-techniques14 主题
-
capturing-selecting-managing-and-exchanging-data
-
entity-relationship-diagrams
-
data-normalisation
-
relational-databases
-
hashing
-
symmetric-vs-asymmetric-encryption
-
run-length-encoding-and-dictionary-coding
-
lossy-and-lossless-compression
-
polymorphism-oop
-
encapsulation-oop
-
inheritance-oop
-
attributes-oop
-
methods-oop
-
objects-oop
-
capturing-selecting-managing-and-exchanging-data
-
6-5-thinking-concurrently2 主题
-
6-4-thinking-logically2 主题
-
6-3-thinking-procedurally3 主题
-
6-2-thinking-ahead1 主题
-
6-1-thinking-abstractly3 主题
-
5-2-moral-and-ethical-issues9 主题
-
5-1-computing-related-legislation4 主题
-
4-3-boolean-algebra5 主题
-
4-2-data-structures10 主题
-
4-1-data-types9 主题
-
3-4-web-technologies16 主题
-
environmental-effects
-
automated-decision-making
-
computers-in-the-workforce
-
layout-colour-paradigms-and-character-sets
-
piracy-and-offensive-communications
-
analysing-personal-information
-
monitoring-behaviour
-
censorship-and-the-internet
-
artificial-intelligence
-
the-regulation-of-investigatory-powers-act-2000
-
the-copyright-design-and-patents-act-1988
-
the-computer-misuse-act-1990
-
the-data-protection-act-1998
-
adder-circuits
-
flip-flop-circuits
-
simplifying-boolean-algebra
-
environmental-effects
comparing-software-development-models
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.
Responses