Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What are requirements in system design?
Requirements are clear statements about what a system should do or the qualities it must have. They guide the design and development process.
Click to reveal answer
beginner
Define use case in the context of system design.
A use case describes how a user interacts with a system to achieve a specific goal. It shows the steps and conditions involved.
Click to reveal answer
intermediate
Why is it important to gather requirements before designing a system?
Gathering requirements helps ensure the system meets user needs, avoids costly changes later, and provides a clear direction for design.
Click to reveal answer
intermediate
What is the difference between functional and non-functional requirements?
Functional requirements describe what the system should do (features), while non-functional requirements describe how the system performs (speed, security, usability).
Click to reveal answer
intermediate
How do use cases help in validating system requirements?
Use cases provide concrete scenarios that show how users will interact with the system, helping to check if requirements cover real user needs.
Click to reveal answer
What is the main purpose of a use case?
ATo describe user interactions with the system
BTo list hardware requirements
CTo define database schema
DTo write code modules
✗ Incorrect
Use cases focus on how users interact with the system to achieve goals.
Which of the following is a non-functional requirement?
AThe system must allow users to log in
BThe system should respond within 2 seconds
CUsers can upload files
DThe system supports password reset
✗ Incorrect
Response time is a performance-related, non-functional requirement.
Why are requirements important before system design?
AThey help avoid misunderstandings and guide development
BThey replace testing
CThey are only needed after coding
DThey define the programming language
✗ Incorrect
Requirements clarify what the system should do and prevent costly mistakes.
Which statement best describes a use case?
AA list of hardware components
BA detailed technical specification
CA user story describing system interaction
DA database table design
✗ Incorrect
Use cases describe user stories and interactions with the system.
Functional requirements specify:
AHardware specifications
BSystem speed and security
CUser interface colors
DSystem features and behaviors
✗ Incorrect
Functional requirements define what the system should do.
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 how use cases help in understanding and validating system requirements.
Consider how stories about users guide design.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of requirements in system design?
easy
A. To write the system's source code
B. To describe how users interact with the system
C. To design the user interface layout
D. To specify what the system must do
Solution
Step 1: Understand the definition of requirements
Requirements define the functions and features the system must provide.
Step 2: Differentiate from use cases
Use cases describe user interactions, not the system's core functions.
Final Answer:
To specify what the system must do -> Option D
Quick Check:
Requirements = system functions [OK]
Hint: Requirements = what system must do, not how users act [OK]
Common Mistakes:
Confusing requirements with use cases
Thinking requirements include UI design
Assuming requirements are code instructions
2. Which of the following best describes a use case in system design?
easy
A. A scenario showing user interaction with the system
B. A code module for user authentication
C. A diagram of system architecture
D. A detailed list of system features
Solution
Step 1: Define use case
A use case is a story or scenario describing how a user uses the system.
Step 2: Eliminate unrelated options
System features list, architecture diagrams, and code modules are not use cases.
Final Answer:
A scenario showing user interaction with the system -> Option A
Quick Check:
Use case = user scenario [OK]
Hint: Use case = user story or interaction example [OK]
Common Mistakes:
Mixing use cases with system features
Confusing use cases with technical diagrams
Thinking use cases are code components
3. Given a system that allows users to upload photos and comment, which of the following is a valid use case?
medium
A. System stores photos in a database
B. User uploads a photo and receives confirmation message
C. Database schema includes photo metadata fields
D. Server runs a nightly backup process
Solution
Step 1: Identify user actions in options
User uploads a photo and receives confirmation message describes a user action and system response, fitting a use case.
Step 2: Recognize system internals vs user interaction
Options A, C, and D describe internal system details, not user interactions.
Final Answer:
User uploads a photo and receives confirmation message -> Option B
Quick Check:
User action + system response = use case [OK]
Hint: Use case = user action plus system reaction [OK]
Common Mistakes:
Choosing system internal processes as use cases
Ignoring the user perspective
Confusing data storage details with use cases
4. A system design document lists: "Users can reset passwords via email." Which of the following is a problem in this use case description?
medium
A. It includes too much technical detail about email servers
B. It lacks the steps describing how users reset passwords
C. It incorrectly describes a system requirement instead of a use case
D. It is missing the database schema for password storage
Solution
Step 1: Analyze the use case description
The statement is a high-level feature but lacks detailed user steps.
Step 2: Understand use case completeness
Use cases should describe user actions step-by-step, not just state features.
Final Answer:
It incorrectly describes a system requirement instead of a use case -> Option C
Quick Check:
Use case needs detailed user steps [OK]
Hint: Use cases must show user steps, not just features [OK]
Common Mistakes:
Confusing requirements with use cases
Expecting technical details in use cases
Ignoring the need for step-by-step user actions
5. You are designing a ride-sharing app. Which of the following best combines requirements and use cases for the feature "Request a ride"?
hard
A. Requirement: The system must match riders with drivers within 2 minutes. Use case: Rider opens app, enters destination, and confirms ride request.
B. Requirement: The app must have a blue color theme. Use case: Driver updates profile picture.
C. Requirement: The system stores all ride data for 1 year. Use case: Admin views system logs.
D. Requirement: The app sends promotional emails weekly. Use case: Rider rates driver after ride.
Solution
Step 1: Identify relevant requirement for ride request
Matching riders with drivers quickly is a key system requirement for this feature.
Step 2: Identify matching use case
The use case describes the rider's interaction to request a ride step-by-step.
Step 3: Verify other options
Other options mix unrelated requirements or use cases not tied to "Request a ride" feature.
Final Answer:
Requirement: The system must match riders with drivers within 2 minutes. Use case: Rider opens app, enters destination, and confirms ride request. -> Option A
Quick Check:
Requirement + user steps = correct combination [OK]
Hint: Match system needs with user steps for correct design [OK]
Common Mistakes:
Mixing unrelated requirements and use cases
Ignoring user interaction details
Choosing cosmetic or admin features instead of core ones