Skip to topic
    ← Back to course topics

    Analysis of the problem — OCR A-Level Computer Science

    Test yourself on Analysis of the problem with OCR A-Level practice questions.

    Start free

    7 days Premium · Then free forever · No card, no charge

    Analysis of the problem explained

    This topic focuses on the initial phase of the non-exam assessment (NEA) programming project, requiring learners to identify and justify a problem suitable for a computational solution.

    Read the full explanation

    It involves researching the problem, identifying stakeholders, and specifying measurable success criteria and requirements for the proposed system.

    What to demonstrate

    1. Description and justification of features making the problem solvable by computational methods.
    2. Explanation of why the problem is amenable to a computational approach.
    3. Identification and description of stakeholders and their specific needs.
    Show all 8 objectives
    1. In-depth research into the problem and existing solutions to justify the chosen approach.
    2. Identification and description of essential features of the proposed solution with justifications.
    3. Explanation of limitations of the proposed solution with justifications.
    4. Specification and justification of solution requirements, including hardware and software.
    5. Identification and justification of measurable success criteria.

    Analysis of the problem exam tips

    Topic Overview

    Analysis of the problem is the foundational first stage of the software development lifecycle, where the developer works with the client to understand exactly what the new system must achieve. This phase involves defining the problem scope, identifying user requirements, and establishing measurable success criteria. In the OCR A-Level Computer Science specification, this topic is critical because a flawed analysis leads to wasted time and resources in later stages, such as design and implementation. Students must learn to distinguish between functional requirements (what the system must do) and non-functional requirements (how the system should perform, e.g., speed, security).

    The analysis phase typically includes fact-finding techniques such as interviews, questionnaires, observation, and document analysis. Each method has strengths and weaknesses: interviews provide rich, detailed data but are time-consuming, while questionnaires can reach many users but may lack depth. Students should understand how to select appropriate techniques based on the project context. Additionally, the output of analysis includes a requirements specification document, which serves as a contract between the client and developer. This document must be clear, unambiguous, and agreed upon before any design work begins.

    Mastering problem analysis is essential because it directly influences the quality of the final software. A thorough analysis reduces the risk of costly changes later and ensures the system meets user needs. In exams, students are often asked to evaluate fact-finding methods or propose suitable techniques for a given scenario. Understanding the trade-offs between different approaches and being able to justify choices is key to achieving high marks.

    Key Concepts
    • →Functional vs non-functional requirements: Functional requirements describe specific behaviours or functions (e.g., 'the system must calculate VAT'), while non-functional requirements define quality attributes (e.g., 'the system must respond within 2 seconds').
    • →Fact-finding techniques: Interviews, questionnaires, observation, and document analysis. Each has advantages and disadvantages regarding cost, time, depth of data, and potential bias.
    • →Requirements specification: A formal document that lists all agreed requirements, serving as a reference for design, testing, and acceptance. It must be clear, complete, and consistent.
    • →Stakeholders: Individuals or groups affected by the system (e.g., end-users, managers, IT staff). Identifying all stakeholders ensures no critical requirements are missed.
    • →Feasibility study: A preliminary investigation to determine if the project is technically, economically, and operationally viable before committing resources.
    Marking Points
    • Description and justification of features making the problem solvable by computational methods.
    • Explanation of why the problem is amenable to a computational approach.
    • Identification and description of stakeholders and their specific needs.
    • In-depth research into the problem and existing solutions to justify the chosen approach.
    • Identification and description of essential features of the proposed solution with justifications.
    • Explanation of limitations of the proposed solution with justifications.
    • Specification and justification of solution requirements, including hardware and software.
    • Identification and justification of measurable success criteria.
    Examiner Tips
    • 💡Ensure the problem chosen is non-trivial and allows for a substantial coded element.
    • 💡Use the command words in the assessment criteria to drive the depth of your evidence.
    • 💡Ensure all evidence is authentic and individual to the learner.
    • 💡Focus on justifying decisions made during the analysis phase, not just describing them.
    • 💡Ensure the problem is well-defined and user-driven.
    • 💡When evaluating fact-finding methods, always compare at least two techniques and justify which is more suitable for the given scenario. Use specific criteria such as cost, time, depth of data, and user availability.
    • 💡In exam questions that ask you to 'analyse the problem', ensure you mention both functional and non-functional requirements. Many students focus only on functional ones and lose marks.
    • 💡Remember that the output of analysis is a requirements specification, not a design. Avoid discussing algorithms or data structures in your answer unless the question explicitly asks for design aspects.
    Common Mistakes
    • Choosing a problem that is too trivial to demonstrate the required range of skills.
    • Failing to justify why the problem is suitable for a computational approach.
    • Lack of depth in researching existing solutions.
    • Defining success criteria that are not measurable.
    • Failing to link the proposed solution features back to the identified stakeholder needs.
    • Misconception: Analysis is just about asking users what they want. Correction: Users often don't know what they need or may give contradictory information. Analysis involves interpreting, clarifying, and prioritising requirements, not just recording them.
    • Misconception: The requirements specification is fixed once written. Correction: Requirements can evolve, but changes should be managed through a formal change control process to avoid scope creep. However, the initial specification should be as complete as possible.
    • Misconception: All fact-finding methods are equally useful. Correction: The choice depends on the context. For example, observation is good for understanding current workflows but may not reveal user preferences; interviews are better for exploring complex issues.
    Frequently Asked Questions
    What is the difference between functional and non-functional requirements?
    Functional requirements describe what the system should do, such as 'the system must allow users to log in with a username and password'. Non-functional requirements describe how the system should perform, such as 'the login process must complete within 3 seconds'. Both are essential: functional requirements define features, while non-functional requirements define quality attributes like speed, security, and usability.
    Which fact-finding technique is best for gathering requirements?
    There is no single 'best' technique; it depends on the situation. Interviews are great for exploring complex issues and building rapport, but they are time-consuming. Questionnaires can reach many users quickly but may have low response rates and lack depth. Observation helps understand current processes but can be intrusive. Document analysis is useful for understanding existing systems. Often, a combination of techniques is used to get a complete picture.
    Why is the analysis phase so important in software development?
    Analysis is crucial because it defines what the system must do. If requirements are wrong or incomplete, the entire project can fail. Mistakes found during analysis are much cheaper to fix than those found during testing or after deployment. A thorough analysis reduces risk, saves time and money, and ensures the final system meets user needs.
    What should be included in a requirements specification document?
    A requirements specification should include: an introduction and scope, functional requirements (listed clearly, often with IDs), non-functional requirements, constraints (e.g., budget, technology), assumptions, and acceptance criteria. It should be written in clear, unambiguous language and be agreed upon by all stakeholders.
    How do you handle conflicting requirements from different stakeholders?
    Conflicting requirements are common. The analyst should facilitate discussions to understand each stakeholder's priorities and constraints. Techniques like MoSCoW (Must have, Should have, Could have, Won't have) can help prioritise. Ultimately, the project sponsor or senior management may need to make the final decision. All conflicts and resolutions should be documented.
    What is the difference between analysis and design in the SDLC?
    Analysis focuses on understanding the problem and defining what the system must do (the 'what'). Design focuses on how the system will achieve those requirements (the 'how'), including architecture, data structures, algorithms, and user interfaces. Analysis produces a requirements specification; design produces a design specification. Confusing the two is a common mistake in exams.