Computer Science AS OCR
-
1-1-structure-and-function-of-the-processor as5 主题
-
1-2-types-of-processor as3 主题
-
1-3-input-output-and-storage as2 主题
-
2-1-systems-software as8 主题
-
2-3-software-development as5 主题
-
2-4-types-of-programming-language as4 主题
-
3-1-compression-encryption-and-hashing as3 主题
-
3-2-databases as3 主题
-
3-3-networks as8 主题
-
3-4-web-technologies as13 主题
-
html as
-
css as
-
css-styling as
-
javascript as
-
variables-and-constants-in-javascript as
-
outputs-in-javascript as
-
selection-in-javascript- as
-
for-loops-in-javascript- as
-
while-loops-in-javascript- as
-
strings-in-javascript- as
-
operators-in-javascript- as
-
nested-statements-in-javascript as
-
functions-and-procedures-in-javascript as
-
html as
-
4-1-data-types as8 主题
-
4-2-data-structures as4 主题
-
4-3-boolean-algebra as1 主题
-
5-1-computing-related-legislation as4 主题
-
5-2-moral-and-ethical-issues as9 主题
-
6-1-thinking-abstractly as3 主题
-
6-2-thinking-ahead as1 主题
-
6-3-thinking-procedurally as3 主题
-
6-4-thinking-logically as2 主题
-
6-5-thinking-concurrently as2 主题
-
7-1-programming-techniques as9 主题
-
8-1-standard-algorithms-and-big-o-notation as8 主题
comparing-software-development-models as
Exam code:H046
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