DFD for online food ordering system
This Level 1 data flow diagram shows how data moves through an online food ordering system, from menu updates to order tracking. It is useful for students preparing system analysis assignments and for developers planning a food delivery app.
Example: DFD for online food ordering system: click to open it in the editor and change it.
External Entities
Four outside parties send data to the system or receive data from it:
- Customer: sends order details and payment, and receives order status.
- Restaurant: sends menu updates and order updates, and receives new orders.
- Payment gateway: receives payment requests and returns a confirmation.
- Delivery partner: receives pickup details for paid orders.
Data Stores
- D1 Menu: holds menu items, prices included, written by Manage menu.
- D2 Orders: holds each order, its payment status and its order record.
Processes in Order
- 1 Manage menu: the Restaurant sends menu updates, and the process saves menu items to D1 Menu.
- 2 Place order: the Customer sends order details. The process reads items and prices from D1 Menu, saves the new order to D2 Orders, and sends new orders to the Restaurant.
- 3 Process payment: the Customer sends payment. The process sends a payment request to the Payment gateway, gets a confirmation back, and writes the payment status to D2 Orders.
- 4 Assign delivery: the process reads paid orders from D2 Orders and sends pickup details to the Delivery partner.
- 5 Track order: the process combines order updates from the Restaurant with the order record in D2 Orders, then sends the order status to the Customer.
How to Adapt It for Your Project
- Add a Customer accounts data store if users log in or save addresses.
- Add a flow from Delivery partner to 5 Track order if riders share live location or delivery confirmation.
- Split 3 Process payment into a Level 2 DFD to show refunds or failed payments.
- Rename processes and flows to match your own app, for example a 'Ratings' process after delivery.
Tip: Check that every process has at least one input and one output. In this diagram, each data store is written by one process and read by another. Keep that pattern when you add parts, so no data appears from nowhere or disappears.
Frequently asked questions
What are the external entities in a DFD for an online food ordering system?
This diagram has four external entities: Customer, Restaurant, Payment gateway and Delivery partner. They sit outside the system and only exchange data with its processes.
What data stores are used in the food ordering DFD?
There are two data stores. D1 Menu holds menu items and prices. D2 Orders holds new orders, payment status and the order records used for delivery and tracking.
How many processes are in the Level 1 DFD for online food ordering?
There are five processes: Manage menu, Place order, Process payment, Assign delivery and Track order. Each one can be broken down further in a Level 2 DFD.