Bird
Raised Fist0
HLDsystem_design~5 mins

Requirements gathering (functional and non-functional) in HLD - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What are functional requirements in system design?
Functional requirements describe what the system should do. They specify the features, behaviors, and functions the system must have to meet user needs.
Click to reveal answer
beginner
Define non-functional requirements with an example.
Non-functional requirements describe how the system performs its functions. Examples include performance, security, usability, and reliability.
Click to reveal answer
intermediate
Why is it important to gather both functional and non-functional requirements?
Gathering both ensures the system not only works correctly but also meets quality standards like speed, security, and user experience.
Click to reveal answer
beginner
List three common methods used to gather requirements.
1. Interviews with stakeholders 2. Surveys and questionnaires 3. Observation of current system or processes
Click to reveal answer
intermediate
What is the difference between a use case and a user story in requirements gathering?
A use case describes detailed interactions between users and the system, while a user story is a short, simple description of a feature from the user's perspective.
Click to reveal answer
Which of the following is a functional requirement?
AThe system must allow users to reset their password.
BThe system should load pages within 2 seconds.
CThe system must be available 99.9% of the time.
DThe system should encrypt user data.
Non-functional requirements usually focus on:
AFeatures and functions
BUser interface design only
CSystem performance and quality attributes
DDatabase schema
Which method is NOT typically used for requirements gathering?
AStakeholder interviews
BCode refactoring
CSurveys
DObservation
A user story usually includes:
ADetailed technical specifications
BSystem deployment plan
CDatabase design diagrams
DA short description of a feature from the user's perspective
Why should non-functional requirements be gathered early?
AThey affect system architecture and design decisions
BThey are less important and can be added later
CThey only impact user interface colors
DThey are only needed for testing
Explain the difference between functional and non-functional requirements with examples.
Think about what the system does versus how well it does it.
You got /3 concepts.
    Describe three methods to gather requirements and why they are useful.
    Consider how you would learn what users need.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which of the following best describes a functional requirement in system design?
      easy
      A. A usability guideline for user interface design
      B. A quality that defines how fast the system should respond
      C. A security measure to protect user data
      D. A feature that defines what the system should do

      Solution

      1. Step 1: Understand functional requirements

        Functional requirements specify the actions or features the system must perform, such as user login or data processing.
      2. Step 2: Differentiate from non-functional requirements

        Non-functional requirements describe qualities like speed, security, or usability, not specific features.
      3. Final Answer:

        A feature that defines what the system should do -> Option D
      4. Quick Check:

        Functional = What system does [OK]
      Hint: Functional = what system does; Non-functional = how well [OK]
      Common Mistakes:
      • Confusing functional with non-functional requirements
      • Thinking security is a functional requirement
      • Mixing usability with system features
      2. Which of the following is a correct example of a non-functional requirement?
      easy
      A. The system shall respond to user requests within 2 seconds
      B. The system shall provide a search feature
      C. The system shall store user profiles
      D. The system shall allow users to reset their password

      Solution

      1. Step 1: Identify non-functional requirements

        Non-functional requirements describe system qualities like performance, reliability, or security.
      2. Step 2: Match options to definitions

        The system shall respond to user requests within 2 seconds specifies response time, a performance metric, which is non-functional. Others describe features (functional).
      3. Final Answer:

        The system shall respond to user requests within 2 seconds -> Option A
      4. Quick Check:

        Non-functional = system qualities [OK]
      Hint: Look for qualities like speed or security for non-functional [OK]
      Common Mistakes:
      • Choosing features as non-functional requirements
      • Ignoring time or performance constraints
      • Confusing functional and non-functional examples
      3. Given these requirements:
      • The system must allow users to upload files.
      • Uploads must complete within 5 seconds.
      • The system must support 1000 concurrent uploads.

      Which of these is a functional requirement?
      medium
      A. Uploads must complete within 5 seconds
      B. The system must support 1000 concurrent uploads
      C. The system must allow users to upload files
      D. The system must ensure uploaded files are available 99.9% of the time

      Solution

      1. Step 1: Identify functional requirements

        Functional requirements describe what the system does, such as allowing file uploads.
      2. Step 2: Analyze each option

        A is performance (non-functional). B is capacity/scalability (non-functional). D is availability (non-functional).
      3. Final Answer:

        The system must allow users to upload files -> Option C
      4. Quick Check:

        Functional = system features [OK]
      Hint: Features = functional; qualities like speed = non-functional [OK]
      Common Mistakes:
      • Selecting performance, capacity, or availability as functional
      • Confusing capacity constraints as functional
      • Ignoring direct feature statements
      4. A system requirement states: "The system shall handle 1000 requests per second." Which type of requirement is this and what is wrong if it is listed as functional?
      medium
      A. Functional; it describes a feature, so it's correct
      B. Non-functional; it describes performance, so listing as functional is incorrect
      C. Functional; it describes user behavior, so it's correct
      D. Non-functional; it describes security, so listing as functional is incorrect

      Solution

      1. Step 1: Identify requirement type

        Handling 1000 requests per second is about performance, a non-functional quality.
      2. Step 2: Explain why listing as functional is wrong

        Functional requirements describe features, not performance metrics. Mislabeling causes confusion in design and testing.
      3. Final Answer:

        Non-functional; it describes performance, so listing as functional is incorrect -> Option B
      4. Quick Check:

        Performance = non-functional [OK]
      Hint: Performance metrics are non-functional, not features [OK]
      Common Mistakes:
      • Calling performance a functional requirement
      • Confusing user behavior with system qualities
      • Ignoring the impact of mislabeling requirements
      5. You are gathering requirements for a new messaging app. Which combination below correctly pairs functional and non-functional requirements?
      hard
      A. Users can send messages; messages must be delivered within 1 second
      B. Messages must be encrypted; users can create profiles
      C. The app must support dark mode; users can block contacts
      D. The app must be available 24/7; Messages must be delivered with 99.99% reliability

      Solution

      1. Step 1: Identify functional requirements in options

        Functional requirements describe features like sending messages or creating profiles.
      2. Step 2: Identify non-functional requirements in options

        Non-functional requirements describe qualities like speed, availability, or security.
      3. Step 3: Analyze each option pair

        Users can send messages; messages must be delivered within 1 second pairs sending messages (functional) with delivery speed (non-functional). Others mix two functional or two non-functional requirements incorrectly.
      4. Final Answer:

        Users can send messages; messages must be delivered within 1 second -> Option A
      5. Quick Check:

        Functional + Non-functional = Users can send messages; messages must be delivered within 1 second [OK]
      Hint: Functional = features; Non-functional = qualities like speed or availability [OK]
      Common Mistakes:
      • Mixing two functional or two non-functional requirements
      • Confusing UI features with system qualities
      • Ignoring delivery time as non-functional
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard