Posts

Showing posts from October, 2023

Use case & User stories in Agile development

Use case meaning from user stories perspective in software development: In the context of user stories in software development, a "use case" refers to a specific, detailed description of how a user interacts with a software feature or system to achieve a particular goal or task.  Use cases are used to define the functional requirements and expected behavior of the software from the user's perspective. A use case typically includes the following elements: Actor : This identifies who the user or actor is, which could be a specific type of user or a system interacting with the software. Trigger : This describes the event or action that initiates the use case. Preconditions : These are the conditions that must be true before the use case can be executed. Main Flow : This outlines the step-by-step sequence of interactions and actions the user takes to accomplish their goal. Alternate Flows : These describe any alternative paths or variations in the use case, including error ha...

System Design Interview

Image
1) Requirement Clarification: First get it clarify the questions to understands the problem and expectation from interviewer      1.1) Functional Requirements (Business Requirements) Focused use cases to cover MVP (Minimal Viable Product) In-scope and Out-scope points Who/How will use the system Total/Daily active users    1.2) Non-Functional Requirements (NFR) Is system Highly available or Highly consistent? CAP theorem? Does system required low latency? Does the system needs to be reliable? Latency/throughput expectations QPS(Query per second) Read/Write ration Traffic estimates Storage estimates Memory estimates 2) API Design Outline the different Rest API's required as per use cases scenario 3) Database Schema Design Identity the type of database needed like RDBMS (SQL) or No-SQL If RDBMS, design the schema objects like Tables, Columns and relationship with other tables by using Normalization forms methods If No-SQL, design the attributes will be used 4...