📖
System Design
  • Home
  • Learn System Design Daily
  • System Design Steps
  • List of design questions:
  • My System Design Interview Checklist
  • CheatSheet
  • Programming Language Jargons
  • Scaleable Design
  • Agile Scrum
  • Uber
  • Gmail System Design
  • Distributed Rate Limiting
  • Audio Search Engine
  • Code Style and Review
  • Calling App Design
  • Low Level Design: Payment Tracking App
  • Machine Coding :Cache
  • Interview Advice
  • URL Shortner
  • Unique ID in Distributed Systems
  • Load Balancing Algorithm
  • API Architecture
  • Desgin Practise for Rest API
  • Performance Practise for API
  • API Gateway
  • API Security Hacks
  • Distributed Design Patterns
  • Fault Tolerance in Distributed Systems
  • Microservice Communication Design Patterns
  • Zipping /Compression
  • Database
  • Mongo DB
  • SQL
  • PostgreSQL
  • Database Designs
    • Designing a location based database
  • Building Database
  • Design Patterns
    • Microservice Architecture 10 Design Patterns
    • Interaction Patterns
  • Locale.ai
  • Version Control
  • Caches / Caching
  • High Level Design
  • Low Level Design
  • Containers, Docker
  • Docker
  • Linux Directories
  • Design Pattern for Software Architect
  • S.O.L.I.D Principles
  • Monitoring and Telemetry for Production System
  • C4 model
  • LRU Cache
  • VSCode
  • Chatbot Architecture
  • Streaming API Repsonse
  • Latency in System Design
  • Cloud
    • Azure
    • AWS
  • Builds
    • Jenkins
Powered by GitBook
On this page
  • ★Step 1: Requirements clarifications
  • Step 2: Estimation of important parts
  • Step 3: Data Flow
  • Step 4: High-level Component design
  • Step 5: Detailed design
  • Step 6: Identify bottlenecks and resolve them

Was this helpful?

System Design Steps

★Step 1: Requirements clarifications

  • Functional requirement:

  • Non-Functional requirement

Performance, modifiability, availability, scalability, reliability, etc. are important quality requirements in system design. These ‘ilities’ are what we need to analyze for a system and determine if our system is designed properly.

Step 2: Estimation of important parts

Another important estimation is about storage.

Network bandwidth usage is also an important factor.

Step 3: Data Flow

Step 4: High-level Component design

Step 5: Detailed design

Step 6: Identify bottlenecks and resolve them

PreviousLearn System Design DailyNextList of design questions:

Last updated 4 years ago

Was this helpful?