Skip to topic
    ← Back to course topics

    Analysis — AQA A-Level Computer Science

    Analysis in AQA A-Level Computer Science is the foundational stage of the systems development lifecycle where a problem is identified, investigated, and decomposed into measurable functional and non-functional requirements. It requires gathering data from stakeholders using methods like interviews and observations to establish clear, testable success criteria for proposed computational solutions.

    Analysis explained

    Analysis is the first stage of the software development life cycle and it comes before any design or coding.

    Read the full explanation

    The statement sets out three things that must happen before a problem can be solved. First, the problem must be defined: you need a clear statement of what the system is meant to achieve, its boundaries, and what is out of scope, so that the solution is aimed at the right target. Second, the requirements of the system must be established: these are the things the finished system must do (functional requirements) and the qualities it must have (non-functional requirements such as speed, security or usability). Third, a data model must be created: this identifies the entities the system must store and process, their attributes, and the relationships between them, often shown as an entity-relationship diagram.

    Your focus

    1. Be aware that before a problem can be solved, it must be defined, the requirements of the system that solves the problem must be established and a data model created.

    Which command word is this?

    Set out the causes, reasons, or mechanisms clearly with linking conjunctions, showing why a specific analysis technique or requirement type applies directly to the context given.

    Analysis exam tips

    Topic Overview

    The analysis phase forms the bedrock of the Systems Development Life Cycle (SDLC) and Component 3 (NEA) in AQA A-Level Computer Science. It focuses on identifying a real-world problem, interrogating existing processes, and dissecting user requirements to verify that a computational solution is both technically viable and commercially necessary.

    Mastery of this topic demands an understanding of computational methods, such as problem decomposition and abstraction, alongside practical requirement-gathering techniques like stakeholder interviews and document analysis. Establishing unambiguous, quantifiable success criteria at this stage ensures that downstream architectural design, coding, and iterative testing are robustly directed.

    Key Concepts
    • →Fact-Finding Methods: Systematically uncovering stakeholder needs via structured interviews, questionnaires, document inspection, and direct workplace observation.
    • →Functional vs Non-Functional Requirements: Distinguishing between what a system must do (functions, inputs, outputs, database operations) and how it must perform (latency, security, concurrency, usability, compliance).
    • →Problem Decomposition & Abstraction: Stripping away non-essential real-world nuances to isolate primary entities, data models, user roles, and algorithmic workflows.
    • →Feasibility Analysis: Evaluating technical, economic, legal, operational, and schedule constraints before committing resources to development.
    • →Measurable Success Criteria: Creating objective, testable statements that allow post-development evaluation to verify whether the system successfully solved the original problem.
    Marking Points
    • Identifies that the problem must be defined clearly before a solution is attempted
    • Explains that requirements are the functions and qualities the system must have
    • Describes a data model as the entities, attributes and relationships the system uses
    • Recognises that all three activities belong to the analysis stage, before design
    Examiner Tips
    • 💡Use the three-part structure of the statement (define, establish requirements, create a data model) to organise your answer
    • 💡When asked about a data model, name entities, attributes and relationships with an example
    • 💡Keep analysis distinct from design by focusing on what the system must do rather than how it will do it
    • 💡Tie requirements directly to verification: When outlining a requirement in an exam question or your NEA, ask yourself whether an automated unit test or concrete user acceptance test can objectively prove that the requirement has been satisfied.
    • 💡Reference both operational and legal constraints: Examiners award top marks when students evaluate non-functional requirements such as Data Protection Act/GDPR compliance, network bandwidth limits, and automated backup redundancy alongside basic user-facing features.
    Common Mistakes
    • Treats analysis as the coding stage; correct the learner by placing analysis before design and implementation
    • Lists requirements without linking them to the problem they solve; state each requirement as something the system must do for the defined problem
    • Describes a data model as a list of data types only; explain that it shows entities and their relationships
    • Believing that systems analysis merely involves asking a client what software they want, rather than independently auditing data flows, structural bottlenecks, and operational constraints.
    • Defining success criteria with subjective descriptors such as 'user-friendly' or 'fast' instead of specifying measurable metrics such as maximum allowable error rates, WCAG accessibility tiers, or sub-two-second query latency.
    • Assuming analysis ends before development starts in all paradigms; while Waterfall treats analysis as a strictly completed upfront stage, Agile lifecycles revisit and refine analysis iteratively across sprint backlogs.
    Revision Plan
    1. 1Step 1: Construct a comparative matrix of the four core fact-finding methods (interviews, questionnaires, document review, observation), contrasting sample size, qualitative depth, cost, and typical sources of bias.
    2. 2Step 2: Practice categorising lists of requirements from past paper scenarios into functional and non-functional requirements, rewriting any vague statements into measurable criteria.
    3. 3Step 3: Analyze past AQA Paper 2 scenario questions on software engineering and SDLC methodologies to practice structuring 6-mark and 9-mark analytical responses.
    4. 4Step 4: Audit your NEA Component 3 Analysis section against the AQA mark band criteria, checking that user identification, data structures, and measurable objectives align seamlessly.
    Exam Question Types
    • 📋Scenario-Based Fact-Finding Questions (4-6 marks): Assessing which data collection methods are optimal for a specific organisation (e.g., healthcare, logistics, e-commerce) and explaining their trade-offs.
    • 📋Requirement Classification & Formulation (2-4 marks): Requiring candidates to distinguish between functional and non-functional constraints or convert ambiguous client demands into formal requirements.
    • 📋Methodology Comparison Essays (9-12 marks): Assessing how the depth and timing of the analysis stage diverge between Waterfall, Spiral, and Agile methodologies.
    Command Word Expectations (AQA)
    Explain

    Set out the causes, reasons, or mechanisms clearly with linking conjunctions, showing why a specific analysis technique or requirement type applies directly to the context given.

    Justify

    Provide reasoned arguments and balanced evidence supporting why a chosen technique, metric, or boundary condition is the most appropriate compared to realistic alternatives.

    Evaluate

    Review multiple perspectives (such as benefits, drawbacks, resource implications, and technical feasibility) to reach a well-supported, authoritative final judgment.

    How Students Lose Marks (Examiner Pitfalls)
    Pitfall: Conflating functional and non-functional requirements or writing vague, untestable requirements.
    ❌ Weak Answer (Loses Marks):The system must be fast and easy to use, and should save customer records in a database.
    Example improved answer:Functional requirement: The system must allow users to create, read, update, and delete (CRUD) customer records in an encrypted SQL relational database. Non-functional requirement: Query execution and record retrieval must complete in under 1.5 seconds under a concurrent load of 50 users.
    Examiner Tip: Always express requirements using measurable quantitative thresholds (such as response time in seconds, concurrent user capacity, or specific security standards) so they can be evaluated objectively during the testing phase.
    Pitfall: Failing to evaluate the limitations of fact-finding methods when capturing user needs in context-based exam scenarios.
    ❌ Weak Answer (Loses Marks):Interviews are the best method because you can talk to the client directly and understand everything they need.
    Example improved answer:While face-to-face interviews allow the analyst to ask complex open-ended follow-up questions and observe non-verbal cues, they are time-consuming and unrepresentative if sample sizes are small. In contrast, questionnaires enable broad quantitative data gathering across wide user demographics but lack flexibility to probe unexpected system bugs or workflow nuances.
    Examiner Tip: When comparing fact-finding techniques (interviews, surveys, observations, document collection), explicitly balance qualitative depth against quantitative scale, financial cost, and time constraints.
    Step-by-Step Worked Solutions

    Question: A medical clinic relies on paper filing to book patient appointments and record prescriptions. An analyst has been hired to develop a bespoke digital appointment system. Discuss two suitable fact-finding methods the analyst should use during the analysis phase to determine system requirements, justifying your choices with reference to the clinic scenario. [6 marks]

    1. 1.Step 1: Identify and evaluate the first fact-finding method in context. Direct observation of reception staff managing incoming phone calls and physical paper diaries allows the analyst to see the genuine workflow, bottlenecks, and interruptions firsthand without relying on subjective staff recollections.
    2. 2.Step 2: Note limitations of the first method. Staff might alter their regular speed or adherence to protocol under observation (the Hawthorne effect), meaning edge cases might not occur during the observed period.
    3. 3.Step 3: Identify and evaluate the second fact-finding method in context. Semi-structured interviews with doctors and clinic managers enable the analyst to uncover complex scheduling constraints, privacy requirements (e.g., patient data confidentiality under data protection legislation), and administrative priorities.
    4. 4.Step 4: Note limitations of the second method and conclude. Interviews take key medical personnel away from patients, making them costly and difficult to schedule; however, pairing direct observation of daily operational workflows with targeted interviews of administrators ensures both procedural realities and strategic policy constraints are captured.
    Final Answer: The analyst should combine direct observation of reception staff (to record actual paper filing workflows and bottlenecks objectively) with semi-structured interviews of clinic doctors and managers (to elicit high-level data confidentiality policies and scheduling business rules).

    Question: During the analysis stage of developing an inventory management system for a boutique retailer, the analyst must establish the data requirements and processing rules. Explain how abstraction and problem decomposition are applied during this phase to formulate measurable system objectives. [6 marks]

    1. 1.Step 1: Define decomposition in the context of system analysis. Decomposition breaks the complex retail operation into distinct, manageable sub-problems, such as stock level tracking, automated re-ordering thresholds, point-of-sale updates, and supplier billing.
    2. 2.Step 2: Apply decomposition to formulate measurable objectives. Each decomposed component can be assigned explicit functional criteria (e.g., 'generate a purchase order when stock drops below 10 units').
    3. 3.Step 3: Define abstraction in the context of data modelling during analysis. Abstraction strips away irrelevant physical details (e.g., shelf color or exact box dimensions) to isolate core entities and computational data structures (e.g., ItemID, SKU, StockLevel, UnitCost, SupplierID).
    4. 4.Step 4: Synthesize how both computational methods lead to success criteria. Together, decomposition establishes modular functional requirements while abstraction defines relational data schemas, forming an unambiguous specification that dictates the testing strategy.
    Final Answer: Decomposition segments the overarching retail problem into discrete functional subsystems (stock tracking, re-ordering, billing), allowing granular success criteria. Abstraction removes non-essential physical attributes to extract key data entities and attributes, establishing the baseline data requirements for database design.
    Active Recall Memory Test
    What is the key difference between a functional requirement and a non-functional requirement?
    Key Fact: A functional requirement defines what specific features and data processing the system must execute, whereas a non-functional requirement specifies operational constraints, quality standards, or performance benchmarks (e.g., speed, security, scalability).
    Name two distinct advantages of direct observation over questionnaires when gathering requirements.
    Key Fact: Direct observation reveals actual user practices and procedural bottlenecks without subjective reporting bias, and it uncovers undocumented edge-case tasks that users might forget to mention.
    Why must success criteria defined during the analysis stage be quantitatively measurable?
    Key Fact: To allow objective validation during the testing and evaluation stages; without quantitative metrics, developers and clients cannot impartially verify whether the completed software actually solves the original problem.
    Which fact-finding technique is most cost-effective for gathering high-volume, geographically distributed user feedback?
    Key Fact: Online questionnaires / surveys, as they can be distributed instantly at scale to collect standardized quantitative data.
    Frequently Asked Questions
    What is the difference between functional and non-functional requirements in AQA Computer Science?
    Functional requirements define the explicit computational operations, inputs, outputs, calculations, and database modifications a program must carry out (e.g., 'validate user email formats and store hashed passwords'). Non-functional requirements specify the operational parameters, constraints, and quality attributes the system must adhere to while carrying out those functions (e.g., 'the system must process payments using 256-bit encryption within 2 seconds and maintain 99.9% uptime').
    What are the main fact-finding methods used in systems analysis?
    The four main methods are interviews, questionnaires (surveys), direct observation, and document inspection. Interviews offer in-depth qualitative details from key individuals; questionnaires collect broad quantitative data across many users cheaply; observation reveals actual workflow realities rather than self-reported behavior; and document inspection illuminates existing data structures, forms, and business logic.
    How does the analysis phase differ between Waterfall and Agile models?
    In the Waterfall model, analysis is completed exhaustively at the start of the project before any design or code is written, producing a static, signed-off requirements document. In Agile models, analysis is iterative and ongoing; initial analysis establishes high-level epics, but specific requirements and user stories are analyzed, refined, and decomposed dynamically at the beginning of each development sprint.
    What makes good success criteria in the A-Level Computer Science NEA analysis section?
    High-scoring NEA success criteria are SMART: Specific, Measurable, Achievable, Relevant, and Time-bound. Rather than writing subjective goals like 'the game will run smoothly', write 'the game engine will sustain a consistent 60 frames per second at 1080p resolution with at least 50 simultaneous active sprites on screen'. Measurable criteria directly dictate your testing plan in Component 3.
    Why is problem abstraction essential during the systems analysis stage?
    Real-world systems involve immense amounts of extraneous detail that do not affect the computational solution. Abstraction allows the systems analyst to filter out unnecessary environmental complexities and focus strictly on the essential entities, relationships, state transitions, and mathematical formulas required to build an effective software model.