Bird
0
0
LLDsystem_design~25 mins

Requirements and use cases in LLD - System Design Exercise

Choose your learning style9 modes available
Design: Requirements and Use Cases Analysis
Focus on gathering and analyzing requirements and use cases for a new system. Out of scope are detailed system architecture and implementation.
Functional Requirements
FR1: Identify and document functional requirements clearly
FR2: Capture non-functional requirements such as performance, scalability, and availability
FR3: Define user roles and their interactions with the system
FR4: Create use cases that describe how users achieve goals with the system
FR5: Ensure requirements are testable and measurable
Non-Functional Requirements
NFR1: Requirements must be realistic and achievable within project scope
NFR2: Use cases should be simple and understandable by non-technical stakeholders
NFR3: Requirements must support scalability to handle up to 10,000 concurrent users
NFR4: Latency targets for key operations should be under 200ms
NFR5: Availability target is 99.9% uptime
Think Before You Design
Questions to Ask
❓ Question 1
❓ Question 2
❓ Question 3
❓ Question 4
❓ Question 5
Key Components
User personas and roles
Functional requirement lists
Non-functional requirement definitions
Use case diagrams or narratives
Requirement traceability matrix
Design Patterns
User story mapping
Use case modeling
Requirement prioritization (MoSCoW)
Acceptance criteria definition
Stakeholder interviews and workshops
Reference Architecture
  +-------------------+
  |   Stakeholders    |
  +---------+---------+
            |
            v
  +-------------------+
  | Requirements Team |
  +---------+---------+
            |
            v
  +-------------------+
  | Use Case Analysis |
  +---------+---------+
            |
            v
  +-------------------+
  | Requirement Docs  |
  +-------------------+
Components
Stakeholders
Interviews, Workshops
Provide input on needs and goals
Requirements Team
Requirement Management Tools (e.g., Jira, Confluence)
Gather, document, and validate requirements
Use Case Analysis
Use Case Diagrams, User Stories
Define user interactions and system behavior
Requirement Documents
Text Documents, Spreadsheets
Store and communicate requirements and use cases
Request Flow
1. Stakeholders provide input on needs and goals
2. Requirements team collects and documents functional and non-functional requirements
3. Use case analysts create use cases describing user interactions
4. Requirements and use cases are reviewed and validated with stakeholders
5. Final documents are stored and used for system design and development
Database Schema
Entities: - Stakeholder(id, name, role, contact_info) - Requirement(id, type [functional/non-functional], description, priority, status) - UseCase(id, title, description, actor_id, preconditions, postconditions) Relationships: - Stakeholder to Requirement: 1:N (a stakeholder can provide many requirements) - UseCase to Stakeholder: N:1 (each use case involves one primary actor/stakeholder)
Scaling Discussion
Bottlenecks
Difficulty managing large numbers of requirements and use cases as system grows
Ensuring all stakeholder inputs are captured and conflicts resolved
Maintaining traceability between requirements and use cases
Keeping documentation up to date with changing requirements
Solutions
Use specialized requirement management tools with filtering and tagging
Establish clear communication channels and regular review meetings
Implement traceability matrices linking requirements to use cases and tests
Adopt agile practices for continuous requirement refinement and validation
Interview Tips
Time: Spend 10 minutes understanding the problem and clarifying requirements, 15 minutes discussing use case creation and documentation, 10 minutes on challenges and scaling, and 10 minutes on summarizing and answering questions.
Importance of clear, testable requirements
Role of use cases in understanding user interactions
Balancing functional and non-functional requirements
Handling conflicting stakeholder needs
Maintaining documentation and traceability