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 主题
agile-programming- as
Exam code:H046
Agile (extreme programming)
What is the agile model?
-
In A Level Computer Science, extreme programming (XP) is a type of Agile software development methodology that promotes adaptability and high customer involvement
Steps in the model
-
Identify user stories and requirements
-
Work closely with stakeholders to gather functional and non-functional requirements
-
Requirements are often written as user stories (e.g. As a user, I want to…)
-
-
Plan the sprint (Sprint Planning)
-
Break down requirements into tasks
-
Choose a set of tasks (features) for the current sprint (a short time-boxed development period, usually 1–4 weeks)
-
Define the sprint goal
-
-
Design the solution
-
Decide how the selected features will be built
-
Focus is on simple and adaptable design, not heavy upfront documentation
-
-
Develop the features
-
Write code for the selected tasks in the sprint
-
Developers often work in pairs or small teams (e.g. pair programming)
-
-
Test continuously
-
Perform unit testing, integration testing, and acceptance testing during the sprint
-
Testing is ongoing, not saved for the end
-
-
Review progress (Sprint Review)
-
Demo the working software to stakeholders
-
Collect feedback and identify changes or improvements
-
-
Reflect on process (Sprint Retrospective)
-
The team reflects on what went well and what needs improving in the next sprint
-
Focus is on team performance and process optimisation
-
-
Release (may happen after every sprint or set of sprints)
-
Deploy working software to users or staging environment
-
-
Repeat
-
Move to the next sprint with updated priorities and feedback
-

The Extreme Programming (Agile) Model
Benefits
-
Highly adaptable: Can quickly respond to changes in requirements, even late in development
-
Frequent communication: Encourages constant communication between team members and stakeholders
-
Quality focus: Emphasizes technical excellence and good design, with continuous testing throughout the development cycle
-
Customer collaboration: Encourages working closely with customers to ensure the developed product meets their needs
Drawbacks
-
Requires experienced team members: Can be challenging to implement without knowledgeable and skilled developers
-
Intensive collaboration can lead to burnout: The constant communication and collaboration can be tiring for team members
-
May lack documentation: The focus on adaptability and immediate coding may result in insufficient documentation
-
Scope creep: The flexible nature may lead to uncontrolled changes in requirements
Suitability
-
Extreme Programming is most suitable for small to medium-sized projects where requirements can change and customer involvement is high
Responses