Course Content
Low Level System Design
LLD Topics
High Level System Design
Low & High Level System Design
1. What is the main goal of the Pizza Factory system?

Answer:


The main goal is to automate the process of ordering, preparing, managing inventory, and delivering pizzas efficiently using a structured, object-oriented software system.


 

2. Who are the primary actors in the Pizza Factory system?

Answer:

 

  • Customer
  • Kitchen Staff
  • Delivery Executive
  • Admin / Manager
  • Inventory System (external)
  • Payment Gateway (external)

 

3. What are the key use cases for a Customer in this system?

Answer:

 

  • Place an order
  • Customize pizza
  • Make payment
  • Track or cancel an order

 

4. What is the responsibility of the Order class?

Answer:


The Order class handles:

  • Storing order details (items, customer, total)
  • Tracking status (e.g., Preparing, Delivered)
  • Calculating total amount
  • Assigning a delivery executive


5. How does the system support customization of a pizza?

Answer:


The Pizza class contains a list of Toppings. Customers can choose size, crust, and add multiple toppings. The final price is calculated based on these attributes.



6. What role does the Inventory class play?

Answer:


Inventory tracks the availability of ingredients. It can update quantities, check availability, and prevent order placement if required items are out of stock.



7. How is the relationship between Pizza and Topping modeled?

Answer:


It’s a many-to-many relationship. A pizza can have multiple toppings, and a topping can be used in multiple pizzas.



8. What happens after a customer places an order?

Answer:

 

  • The system checks inventory.
  • The order is sent to kitchen staff.
  • Payment is processed via the Payment Gateway.
  • Once prepared, the order is assigned to a Delivery Executive.


9. What classes are involved in the payment flow?

Answer:

 

  • Order (links to payment)
  • Payment (handles payment attributes and methods)
  • Payment Gateway (external system that processes the transaction)


10. How does the DeliveryExecutive class interact with the system?

Answer:


The delivery executive picks up the order once it’s marked ready, delivers it to the customer, and updates the delivery status.



11. Which design principles can be applied in this system?

Answer:

 

  • Single Responsibility Principle – each class handles one responsibility.
  • Open/Closed Principle – the system can be extended (e.g., new payment methods) without changing existing code.
  • Composition over Inheritance – e.g., Pizza has a list of Toppings instead of extending a base class.
0% Complete
WhatsApp Icon

Hi Instagram Fam!
Get a FREE Cheat Sheet on System Design.

Hi LinkedIn Fam!
Get a FREE Cheat Sheet on System Design

Loved Our YouTube Videos? Get a FREE Cheat Sheet on System Design.