Software Requirements Specification
Software Requirements Specification
Software Requirements
Specification
(SRS) Document
Food Order & Delivery Management System
1. INTRODUCTION
1.1 Purpose
The purpose of this document is to define the software requirements for the Food Order &
Delivery Management System. The system allows users to order food online, select from
menus, and have it delivered efficiently with real-time tracking and secure payment
processing, ensuring a smooth experience for customers and delivery personnel.
1.5 References
IEEE Standard 830-1998. Software Requirements Specifications. IEEE. Available at:
https://standards.ieee.org/standard/830-1998.html
Industry Standards for E-commerce Platforms. Available at:
https://www.w3.org/standards/
Documentation on Secure Payment Gateway Integration (e.g., PayPal, Stripe).
PayPal API Documentation: https://developer.paypal.com/docs/api/overview/
Stripe API Reference: https://stripe.com/docs/api
Guidelines for GPS Tracking API Usage.
Google Maps Geolocation API Documentation:
https://developers.google.com/maps/documentation/geolocation/overview
Oracle GPS API SDK:
https://docs.oracle.com/cloud/may2015/servicecs_gs/FAGPS.pdf
Local Regulations for Online Food Delivery and Data Protection Policies.
Food Safety and Standards Authority of India (FSSAI): https://www.fssai.gov.in/
Data Protection Policy – Delivery Drivers & Riders: https://beep.je/pdf/beep-data-
protection-policy-delivery-drivers-riders.pdf
2. OVERALL DESCRIPTION
2.1 Product Perspective
The Food Order & Delivery Management System stores the following information:
Restaurant Details: It includes the restaurant name, location, menu items, pricing,
and availability of items.
Customer Description: It includes customer ID, name, address, phone number,
and order history. This information may be used for order tracking, emergency
contact, or future promotions.
Order Description: It includes customer details, order number, restaurant ID,
items ordered, total amount, order status, and delivery details.
Employee Functionalities:
Customer Functions:
Employees can perform all customer functionalities listed above.
Delivery Management Functions:
1. Get All Active Orders for a Restaurant:
o Retrieve ongoing orders being prepared by a specific restaurant.
2. Get All Orders for a Delivery Personnel:
o View orders assigned to a specific delivery person.
3. View Delivery Schedule:
o Access a schedule of delivery assignments and their status.
4. Get Orders by Status:
o Retrieve all orders with specific statuses (e.g., Pending, Preparing, Delivered,
Cancelled).
5. Calculate Total Sales for a Restaurant:
o Compute revenue for a specific restaurant over a given time period.
Administrative:
1. Add/Delete Restaurants:
o Add new restaurants to the system or remove existing ones.
2. Add/Update Menu Items:
o Add new items to a restaurant menu or update details (price, availability, etc.).
3. Add/Delete Delivery Personnel:
o Manage delivery personnel profiles.
4. Update Delivery Status:
o Change the delivery status of an ongoing order (e.g., Out for Delivery,
Delivered).
5. Define Delivery Slots:
o Assign delivery time slots for restaurants and personnel.
o System Constraints:
1. Maximum Restaurants per Order:
o Orders can include items from no more than two restaurants.
2. Delivery Time:
o All deliveries must be completed within 30–60 minutes of dispatch.
3. Delivery Radius:
o Delivery locations must be within 20km of the restaurant.
4. Delivery Personnel Capacity:
o Each delivery person can handle up to three active orders simultaneously.
5. Scheduled Orders:
o Scheduled orders must be prepared 30 minutes before the set delivery time.
5. NONFUNCTIONAL REQUIREMENTS
5.1 PERFORMANCE REQUIREMENTS
The steps for implementing the food delivery system database are as follows:
A) E-R DIAGRAM
The E-R Diagram provides a pictorial representation of the database's logical structure, which
is used to organize data into relations, normalize these relations, and create a relational
database.
ENTITIES: Represent key real-world components in the application, such as
Customers, Restaurants, Delivery Personnel, Orders, and Food Items.
PROPERTIES/ATTRIBUTES: Represent characteristics of entities, such as
Customer Name, Order ID, Restaurant Location, and Food Price.
RELATIONSHIPS: Define meaningful dependencies, such as "Places Order"
between Customers and Orders, or "Prepares Food" between Restaurants and Food
Items.
The E-R Diagram illustrates the relationships between these entities in the food delivery
system.
B) NORMALIZATION
Normalization minimizes redundancy in the database by ensuring that:
Data is stored only once, reducing storage wastage.
Relationships between entities are optimized to avoid duplicate or inconsistent data.
For example:
Separate tables for Restaurants, Menus, and Orders to ensure that changes to a
restaurant menu do not require updating multiple records.
Linking tables through primary and foreign keys, such as linking an Order table to a
Customer table via Customer ID.