Computer-science_A-level_Cie
-
computers-and-components6 主题
-
logic-gates-and-logic-circuits2 主题
-
central-processing-unit-cpu-architecture6 主题
-
assembly-language-4 主题
-
bit-manipulation1 主题
-
operating-systems3 主题
-
language-translators2 主题
-
data-security3 主题
-
data-integrity1 主题
-
ethics-and-ownership3 主题
-
database-concepts3 主题
-
database-management-systems-dbms-1 主题
-
data-definition-language-ddl-and-data-manipulation-language-dml1 主题
-
computational-thinking-skills1 主题
-
algorithms14 主题
-
data-types-and-records2 主题
-
arrays2 主题
-
files1 主题
-
introduction-to-abstract-data-types-adt1 主题
-
programming-basics1 主题
-
constructs2 主题
-
structured-programming1 主题
-
program-development-life-cycle2 主题
-
program-design-2 主题
-
program-testing-and-maintenance3 主题
-
user-defined-data-types1 主题
-
file-organisation-and-access-3 主题
-
floating-point-numbers-representation-and-manipulation3 主题
-
protocols2 主题
-
circuit-switching-packet-switching1 主题
-
processors-parallel-processing-and-virtual-machines5 主题
-
boolean-algebra-and-logic-circuits4 主题
-
purposes-of-an-operating-system-os3 主题
-
translation-software3 主题
-
encryption-encryption-protocols-and-digital-certificates3 主题
-
artificial-intelligence-ai4 主题
-
recursion1 主题
-
programming-paradigms4 主题
-
object-oriented-programming7 主题
-
file-processing-and-exception-handling2 主题
-
data-representation5 主题
-
multimedia3 主题
-
compression2 主题
-
networks-and-the-internet11 主题
development-models
Waterfall
What is the waterfall model?
-
The Waterfall Model is a sequential software development process divided into distinct phases
-
Each phase must be completed before the next one begins
Steps
-
Requirement Gathering and Analysis: All possible system requirements to be developed are captured and documented clearly
-
System Design: The requirements are translated into a design. Architects and designers define the overall architecture and identify the main components
-
Implementation: The actual code is written in this phase based on the design documents, turning the system design into a functional program
-
Integration and Testing: All the components and modules are integrated and tested to ensure that the entire system works as expected
-
Deployment: The product is released to the market or handed over to the client. It may involve installation, customization, and training
-
Maintenance: Post-release, the system needs regular maintenance to fix bugs, improve performance, or add new features

The Waterfall Model in Software Engineering
Benefits and drawbacks
|
Benefits |
Drawbacks |
|---|---|
|
Simple and linear – easy to understand and follow |
Inflexible – difficult to make changes once development begins |
|
Clear stages and milestones – easy to track progress |
Expensive to fix late problems – issues found late are harder to resolve |
|
Ideal for well-defined projects – works best when requirements are fixed |
Long development cycle – each stage must be completed before moving on |
Suitability
-
The Waterfall Model is most suitable for projects where requirements are well understood and unlikely to change
-
It works well when high quality and compliance are essential, and there is a clear understanding of the project’s goals and constraints
Iterative (Agile)
What is the iterative model?
-
The iterative model s a type of Agile software development methodology that promotes adaptability and high customer involvement
Steps
-
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
-

Benefits and drawbacks
|
Benefits |
Drawbacks |
|---|---|
|
Highly adaptable – responds quickly to changing requirements |
Requires experienced team members – may be hard to manage without expertise |
|
Frequent communication – promotes constant collaboration |
Risk of burnout – intense collaboration can tire the team |
|
Focus on quality – encourages good design and continuous testing |
May lack documentation – flexibility can reduce written records |
|
Customer collaboration – ensures the product meets real needs |
Scope creep – changing goals may lead to uncontrolled growth |
Suitability
-
The iterative model is most suitable for small to medium-sized projects where requirements can change and customer involvement is high
Rapid Application Development (RAD)
What is RAD?
-
Rapid Application Development (RAD) is a software development methodology that emphasises fast and iterative development
Steps
-
Requirement planning: Gather general system requirements, define constraints and assumptions
-
User design and prototyping: Collaborate with users to develop prototypes, ensuring alignment with user needs
-
Construction or iterative development: Build the system incrementally, with continuous user feedback and adaptation
-
Cutover or deployment: Transition the product into the live environment, including user training, support, and documentation
-
Maintenance and updates: Continue to adapt and improve the system based on user feedback and needs

Rapid Application Development (RAD) Model of Software Development
Benefits and drawbacks
|
Benefits |
Drawbacks |
|---|---|
|
Speed – fast development and delivery at relatively low cost |
Requires strong team collaboration – skilled and cohesive teams are essential |
|
User involvement – client feedback shapes the system throughout |
Potential quality issues – speed may reduce testing and documentation |
|
Flexibility – adapts quickly to changing requirements |
Not ideal for small projects – may be too complex for simple systems |
|
Incremental development – builds in small, testable parts |
Scope creep risk – flexibility can lead to ever-expanding requirements |
Suitability
-
Rapid Application Development is most suitable for projects where rapid delivery is required and where requirements can be developed and refined on the go
Responses