0% found this document useful (0 votes)
31 views30 pages

SE Project

Uploaded by

Hussnain Ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views30 pages

SE Project

Uploaded by

Hussnain Ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Software Engineering

Project

Group Members
21011519-057 (Manal Munawar)

21011519-118 (Ayesha Amjad)

21011519-111 (Mehvesh)

21011519-176 (Amjad Shah)

Course Code: CS-321

Semester: Spring 2023 [4th]

Degree: BSCS

Dept: Department of Computer Science,


faculty of I &CT

Submitted to : Mr. Muhammad Jabbar

University of Gujrat
Table of Contents
Online Food Delivery System ................................................................................................................. 3
Description ......................................................................................................................................... 3
Key Features ....................................................................................................................................... 3
1. User Authentication ............................................................................................................... 3
2. Restaurant Management ....................................................................................................... 3
3. Order Placement and Tracking .............................................................................................. 3
4. Payment Processing ............................................................................................................... 4
6. Rating and Feedback .............................................................................................................. 4
7. Promotions and Notifications ................................................................................................ 4
8. Admin Dashboard ..................................................................................................................... 4
Use Case Diagram ............................................................................................................................... 8
Actors & Actions ............................................................................................................................. 8
Use Case Diagram ........................................................................................................................... 9
Class Diagram: .................................................................................................................................. 12
Sequence Diagram ............................................................................................................................ 15
Activity Diagram ............................................................................................................................ 15
StateChart Diagram .......................................................................................................................... 15
Customer ...................................................................................................................................... 15
Delivery Personnel ....................................................................................................................... 16
Admin ........................................................................................................................................... 15
Restraunt owner ........................................................................................................................... 15
Project
Online Food Delivery System

Introduction
We're creating a special "Online Food Delivery System" that makes ordering food super easy
and enjoyable. It's for people who want yummy food delivered to their homes. This system
helps customers, restaurant owners, delivery folks, and bosses. It makes ordering food
smooth, helps restaurants manage their menus well, ensures deliveries go smoothly, and lets
the bosses see what's happening. This new system makes getting food easy and awesome for
everyone involved!

Key Features

1. User Authentication
The system offers secure user registration and login functionalities. Users can create
profiles, update personal information, and maintain delivery addresses for quick order
processing.

2. Restaurant Management
Restaurant owners can register their establishments, verify their accounts, and manage
their menus efficiently. They can add, update, and delete items, as well as handle
incoming orders and special offers.

3. Order Placement and Tracking


Customers can browse restaurants and menus, add desired items to their cart, and place
orders. They can specify delivery preferences and track the status of their orders in realtime.
4. Payment Processing
The platform integrates with various payment gateways, allowing users to make secure
transactions using credit/debit cards or digital wallets. Order payment confirmations and
receipts are provided for transparency.
5. Delivery Management
Delivery personnel are assigned to orders and have access to real-time tracking information.
They can communicate with customers and restaurants to ensure smooth and efficient order
deliveries.

6. Rating and Feedback


Customers can rate and review restaurants and delivery services, facilitating a feedback
system for continuous improvement. Restaurant owners can respond to reviews and enhance
their services accordingly.

7. Promotions and Notifications


Users receive push notifications for order updates, special offers, and promotional campaigns.
The system provides personalized recommendations based on customer preferences and order
history.
8. Admin Dashboard
The admin panel grants system administrators the ability to monitor activities, manage user
accounts, and access analytics and reports. They can also manage promotions and discounts to
optimize customer satisfaction and engagement.
Problem Statement: Online Food Delivery System
In today's fast-paced world, the convenience of ordering food online has become an essential aspect of modern
living. However, existing online food delivery platforms often face challenges in delivering a seamless and
efficient experience to customers, restaurant owners, delivery personnel, and administrators. These challenges
include:
1. Inefficient Order Processing: Current systems often lack streamlined order processing mechanisms, leading
to delays and confusion in both the restaurant and delivery stages.

2. Lack of Real-Time Tracking: Customers often face uncertainty regarding the status and location of their
orders during the delivery process, resulting in frustration and a lack of transparency.

3. Complex User Interfaces: User interfaces can be overwhelming for customers, restaurant owners, and
administrators, leading to difficulties in navigation and operation.

4. Poor Restaurant Management: Restaurant owners struggle to manage their menus, track orders, and
maintain accurate availability information, causing customer dissatisfaction and operational inefficiencies.

5. Delivery Logistics: Coordinating and optimizing delivery personnel assignments, routes, and timings poses a
significant challenge, often resulting in longer delivery times and increased operational costs.

6. User Management and Support: Handling user issues, verifying restaurant credentials, and providing
adequate support to all actors involved can be time-consuming and lead to inconsistencies.

7. Security and Privacy Concerns: Ensuring the security of customer information, payment details, and
personal data is critical, but vulnerabilities can lead to breaches and loss of trust.

8. System Maintenance: Post-launch, the system requires constant monitoring and maintenance to address
bugs, optimize performance, and implement updates and enhancements.

Solution
1. Smooth Orders: Make ordering easy, and help restaurants prepare food faster.
2. Real-Time Tracking: Show where orders are in real-time for happy customers.
3. Simple Interfaces: Make the system easy for everyone to use.
4. Better Restaurant Management: Help restaurants manage menus and orders well.
5. Quick Deliveries: Plan smart routes for fast and cost-effective deliveries.
6. Support and Management: Make sure customers and restaurants get help when needed.
7. Security First: Keep customer info safe with strong protection.
8. Always Improving: Regularly update and maintain the system for smooth experiences.
Project Requirements
FUNCTIONAL REQUIREMENTS:
REQUIREMENT REQUIREMENT DESCRIPTION
ID NAME
F-01 User Registration and Users should be able to create
Authentication: accounts, log in securely, and
manage their profiles.

F-02 Menu Browsing Users can view the restaurant's


menu, including dishes,
descriptions, prices, and
available options.
F-03 Order Placement Users can add items to their
cart, specify delivery details, and
place orders.

F-04 Real-time-Order Tracking The system should provide real-


time updates on the status of the
order, from preparation to
delivery.
F-05 Payment Processing Users should be able to make
secure payments using various
payment methods (credit/debit
cards, online wallets, etc.).

F-06 Restaurant Management Restaurants should have access


to a portal to manage their menu,
update availability, and process
incoming orders.

F-07 Delivery Partner The system should have a way to


Integration notify and
F-08 Ratings and Reviews Users can provide feedback and
ratings for the restaurants and
delivery service.

F-09 Customer Support A customer support system


should be available for users to
address any issues or inquiries
related to their orders.

F-10 Order History Users should be able to view


their past orders and reorder
easily.
NON-FUNCTIONAL REQUIREMENTS
REQUIREMENT REQUIREMENT DESCRIPTION
ID NAME

NF-01 Performance The system must handle a large


number of concurrent users and
process orders quickly and
efficiently.

NF-02 Reliability The platform should be highly


available and have minimal
downtime.
NF-03 Security The system must protect user
data, payment information, and
prevent unauthorized access to
sensitive information

NF-04 Usability The user interface should be


intuitive and user-friendly,
ensuring ease of use for
customers and restaurants.

NF-05 Scalability The system should be


able to scale up to
accommodate an increasing
number of users and
restaurants.

NF-06 Mobile The platform should be


Responsiveness accessible and perform well on
various devices, including
smartphones and tablets.

NF-07 Data Backup and Recovery Regular backups of data


should be maintained, and
there should be a plan for data
recovery in case of failures.
NF-08 Compliance The system must comply with
relevant data protection laws
and regulations.

NF-09 Performance Metrics Define specific performance


metrics, such as response times
and system uptime, to measure
and maintain performance
levels.

NF-10 Integration The system should integrate


with various third-party
services like payment gateways
and mapping services for
smooth operations.
Domain Requirements
1. Safe Food Handling:
The system needs to follow safety rules for food preparation and handling.
Restaurants should show accurate info about ingredients and allergies.

2. Easy Payment:
The system should work with trusted payment methods for ordering food.
Payments must be secure and safe.

3. Choose Delivery Time:


People should be able to pick when they want their food delivered.
The time estimates should be right and match real life.

4. Find Where You Are:


The system must know where you are for delivering food.
Restaurants and delivery folks need to know where to go.

5. Menu Control:
Restaurants should easily change their menu, add new items, and take out old ones.
Food options should be sorted out nicely for people to see.

6. See Where Your Food Is:


People should be able to watch where their order is, step by step.
Delivery people need to know what to do for each order.

7. Keep Info Safe:


People's personal info and payments must be safe from others.
Important stuff like payments and private data should be locked away.

8. Rate and Share:


People can give stars and comments about the food and delivery.
Restaurants can reply to comments.

9. Special Deals:
The system should have discounts and cool offers.
People should see these offers and use them.

10. Boss Control:


The people in charge can see how things are going in the system.
They can also change things and keep an eye on everything.

11. Stay in Touch:


The system will talk to you about orders and cool deals.
It'll let you know about what's happening.

12. Works Everywhere:


The system should work well on phones, computers, and tablets.
No matter what you're using, it should look nice and work fine.
Risk management
 Risk Identification:

This involves identifying and listing all potential risks that could impact online food delivery system.
These risks could include issues like food safety concerns, delivery delays, technical glitches,
cyberattacks, customer dissatisfaction, and more.
Example: One potential risk is a cyberattack that could compromise customer data, including payment
information and personal details. Another risk could be a food safety issue arising from improper
handling during delivery
 Risk Measurement and Assessment:

Once the risks are identified, you need to assess their potential impact and likelihood. This helps
prioritize risks based on their significance. You can use techniques like risk matrices, qualitative and
quantitative analysis, and expert judgment to assess the risks.
Example: Assess the potential impact and likelihood of a customer data breach. Evaluate the potential
financial loss from a cyberattack and the probability of it occurring. Similarly, assess the severity of a
food safety violation and its likelihood based on historical data.
 Risk Mitigation:

This step involves developing strategies to reduce the impact of identified risks.For example, you
might implement food safety protocols ,train staff on cybersecurity practices, and establish customer
support processes to address complaints promptly.
Example: To mitigate the risk of a cyberattack, implement robust cybersecurity measures such as
encryption of customer data, regular security audits, and employee training on identifying phishing
attempts. For food safety, ensure that proper hygiene and handling protocols are followed by delivery
staff.
 Risk Reporting and Monitoring:

Regular reporting and monitoring are essential to track the status of risks over time. Create a system
that provides timely updates on the status of identified risks, their progress towards mitigation, and any
new risks that may arise. This ensures that you can take swift action if risks start escalating.
Example: Implement a real-time monitoring system that alerts you if there is unusual activity on your
website or if there's a sudden increase in customer complaints. Set up regular reports on the status of
cybersecurity measures and food safety protocols.
 Risk Governance:

Risk governance refers to the overall structure and processes in place to manage risks. This includes
defining roles and responsibilities for risk management, establishing clear communication channels,
and integrating risk management into your organization's decision-making processes.
Example: Designate a Chief Information Security Officer (CISO) responsible for overseeing
cybersecurity measures and a Food Safety Manager responsible for ensuring compliance with food
safety regulations.
Online Food Delivery System Gantt Chart

1. Requirements Gathering and Planning


• Define project scope and objectives.
• Identify system requirements from different actors.
• Plan project timeline and resources.

2. System Design
• Design database schema for customers, restaurants, orders, and deliveries.
• Create wireframes/mockups for the user interfaces.
• Design the architecture for the application components.

3. Frontend Development
• Develop customer registration and login pages.
• Implement restaurant menu browsing functionality.
• Create order placement and tracking interfaces.
• (Dependency: Completion of Phase 2)

4. Backend Development
• Build user management system for admin and restaurant owner.
• Develop order processing and delivery assignment logic.
• Implement payment gateway integration.
• (Dependency: Completion of Phase 2)

5. Restaurant Management
• Create a dashboard for restaurant owners to manage menus and orders.
• Develop functionality for updating menu items and availability.
• (Dependency: Completion of Phase 4)

6. Delivery Management
• Implement delivery personnel assignment and tracking features.
• Develop order status update mechanism for delivery personnel.
• (Dependency: Completion of Phase 4)

7. Admin Panel
• Develop admin interface for user management and system monitoring.
• Implement tools for handling user issues and verifying restaurants.
• (Dependency: Completion of Phase 4)

8. Testing and Quality Assurance


• Conduct unit testing for each module.
• Perform integration testing for the complete system.
• Ensure compatibility and usability across different devices.
• (Dependency: Completion of Phases 3, 4, 5, 6, 7)

9. User Acceptance Testing (UAT)


• Involve actors (customers, restaurant owners, delivery personnel, admin) in testing.
• Gather feedback and make necessary adjustments.
• (Dependency: Completion of Phase 8)

10. Deployment and Launch


• Deploy the system to a production environment.
• Launch the Online Food Delivery System for public access.
• (Dependency: Completion of Phase 9)

11. Post-Launch Monitoring and Maintenance


• Monitor system performance and stability.
• Address any issues or bugs reported by users.
• Plan for future updates and enhancements.
• (Dependency: Completion of Phase 10)
Use Case Diagram
Actors & Actions
Customer
▪ Register and Login
▪ Browse and Search Restaurants and Menus
▪ Add Items to the Cart
▪ Place an Order
▪ Specify Delivery Address and Preferences
▪ Track Order Status
▪ Rate and Review Restaurants and Delivery Service
▪ Manage User Profile

Restaurant Owner
▪ Register and Login
▪ Add, Update, and Delete Menu Items
▪ Manage Orders (Receive, Prepare, Mark as Ready, Cancel)
▪ Communicate with Customer and Delivery Personnel
▪ Respond to Customer Reviews
▪ Manage Restaurant Profile

Delivery Personnel
▪ Register and Login
▪ View Assigned Orders
▪ Update Order Status (Preparing, Out for Delivery, Delivered)
▪ Communicate with Customer and Restaurant

Admin
▪ Access Admin Dashboard
▪ Manage Users (Customers, Restaurant Owners, Delivery Personnel)
▪ Monitor System Activities
▪ View Analytics and Reports
▪ Manage Promotions and Discounts
Use Case Diagram
Use Case Diagram Description:
The Online Food Delivery System is a web-based platform that facilitates the process of ordering and
delivering food from various restaurants to customers. The system involves four main actors:
Customer, Restaurant Owner, Delivery Personnel, and Admin. Each actor performs specific actions to
interact with the system and achieve their respective objectives.

1. Customer:
Register Account: The Customer can create a new account on the platform by providing necessary
information like name, contact details, and address.
Browse Restaurants: The Customer can search and view a list of restaurants available on the
platform, filter them by cuisine or location, and explore their menus.
Place Order: The Customer can select items from the restaurant's menu, add them to the cart, and
place an order for home delivery or pickup.
Make Payment: The Customer can securely make payments for the placed order through various
payment methods integrated into the system.
Track Order: The Customer can track the status of their order in real-time, from the restaurant's
acceptance to the delivery personnel's location.
Rate and Review: After receiving the order, the Customer can provide feedback by rating the food
quality and leaving reviews for the restaurant's service.

2. Restaurant Owner:
Register Restaurant: The Restaurant Owner can register their eatery on the platform by providing
essential details such as restaurant name, location, and menu.
Manage Menu: The Restaurant Owner can add, modify, or remove food items from their menu,
including updating prices and descriptions.
Receive Orders: The Restaurant Owner receives notifications of new orders placed by customers and
can accept or reject them based on availability.
Update Order Status: The Restaurant Owner can update the status of the order, such as preparing,
ready for pickup, or dispatched for delivery.
View Sales Reports: The Restaurant Owner can access sales reports and analytics to gain insights into
their business performance.

3. Delivery Personnel:
Register as Delivery Personnel: The Delivery Personnel can register as a delivery agent by providing
relevant information and verifying their identity.
Receive Delivery Requests: The Delivery Personnel receive delivery requests from the system,
including information about the order and customer's location.
Accept/Reject Delivery: The Delivery Personnel can either accept or reject a delivery request based
on their availability and distance to the restaurant and customer.
Update Delivery Status: The Delivery Personnel can update the delivery status, such as en route,
delivered, or unable to deliver, to keep customers informed.

4. Admin:
Manage Users: The Admin oversees user management, including adding new users, verifying
identities, and resolving account-related issues.
Monitor System: The Admin monitors the system's overall performance, ensuring smooth operations,
and takes actions to address any technical issues that arise.
Handle Disputes: The Admin mediates and resolves any disputes that may arise between customers,
restaurant owners, or delivery personnel.
Manage Restaurants: The Admin can validate and approve restaurant registrations, ensuring that the
platform only includes legitimate establishments.
Generate Reports: The Admin can generate reports, such as user activity, order trends, and revenue
summaries, for analysis and decision-making.

Actor: Customer
Contains:
- Name of Actor: Customer
- Flow: Placing an Order and Receiving Delivery
- Description: The customer uses the online food delivery system to select items from restaurants, place an
order, and receive the food delivery at their provided location.
- Preconditions: The customer is registered and logged into the online food delivery system.
Flow: Placing an Order and Receiving Delivery
1. The customer logs into the online food delivery system.
2. The customer selects a restaurant and adds desired items to their cart.
3. After reviewing the cart, the customer proceeds to checkout.
4. The customer provides delivery address and payment details.
5. The customer confirms the order and payment.
6. The customer receives an order confirmation.
7. The customer waits for the food delivery.
8. The customer receives the delivery, confirms its receipt, and may provide feedback and ratings.
Summary: The customer uses the online food delivery system to select and order food items from a restaurant.
They provide delivery information, pay for the order, and receive the delivery at their location.

Actor: Restaurant Owner


Contains:
- Name of Actor: Restaurant Owner
- Flow: Receiving and Preparing Orders
- Description: The restaurant owner manages received orders, prepares food, and updates order statuses in the
online food delivery system.
- Preconditions: The restaurant owner's establishment is registered with the online food delivery system.
Flow: Receiving and Preparing Orders
1. The restaurant owner receives an order notification from the system.
2. The restaurant owner confirms the order and provides an estimated preparation time.
3. The restaurant owner prepares the order and updates its status in the system.
Summary: The restaurant owner receives, confirms, prepares, and manages the order details for successful
delivery through the online food delivery system.

Actor: Delivery Personnel


Contains:
- Name of Actor: Delivery Personnel
- Flow: Handling Deliveries
- Description: The delivery personnel are assigned orders to deliver, pick up orders from restaurants, navigate
to customers' addresses, and complete the delivery.
- Preconditions: Delivery personnel are available and active in the system.
Flow: Handling Deliveries
1. The delivery personnel receive an order assignment from the system.
2. The delivery personnel confirm the assignment and pick up the order from the restaurant.
3. The delivery personnel navigate to the customer's address using provided GPS.
4. The delivery personnel deliver the order to the customer.
Summary: Delivery personnel receive, confirm, pick up, and deliver orders to customers using the online food
delivery system.

Actor: Admin
Contains:
- Name of Actor: Admin
- Flow: System Management
- -Description: The admin oversees the online food delivery system, manages orders, resolves issues, and
ensures smooth operations.
Preconditions: Admin has access to manage the online food delivery system.
Flow: System Management
1. The admin monitors orders and system performance.
2. The admin optimizes delivery personnel assignments.
3. The admin handles any issues that arise in the process.
Summary: Admin manages and maintains the online food delivery system, ensuring efficient order processing
and resolving any issues that may occur.
Collaboration Diagram
StateChart Diagram
Customer
Delivery Personnel
ADMIN
RESTRAUNT OWNER:
Class Diagram:
Component Diagram:
SEQUENCE DIAGRAM:
ACTIVITY DIAGRAM:
Deployment diagram:

You might also like