Palestine Techinical University (PTU) : Software Engineering Requirements Document
Palestine Techinical University (PTU) : Software Engineering Requirements Document
Palestine Techinical University (PTU) : Software Engineering Requirements Document
Submitted By:
REFERENCES ………………………………………………………………………………………………………………………………… 25
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
CHAPTER 1: INTRODUCTION
The challenges encountered by the existing traditional ordering system serve as a major
drawback to the realization of efficiency and customer satisfaction. The experience of ordering
in most fast-food restaurants is not pleasant for the customers:
• Customers will have to make long queues before placing their orders especially during peak
hours.
• Then the ordering staff will record customer orders manually.
• Having placed their order, the customer must then wait near the counter until their order is
ready for collection.
• Manual work hinders the efficiency and reduces data accuracy during order placement
process.
Our project is aimed at developing a complete online ordering system for use in the food service
industry which will allow the restaurants to quickly and easily manage an online menu which
customer can browse and use to place orders with just a few clicks.
And another database for users to store their data and make it easy to link each user with their
specific order.
• Save time:
By providing a delivery service, customers are able to state their order by using few clicks of
mouse and few search keywords thus saving their valuable time. This will increase customer
satisfaction by speeding up food delivery.
• Security of data:
Data are well protected for personal use.
• Minimized manual data entry:
Automation ensures data accuracy during order placement process. To sum up, what we
propose is an online ordering system, which is a technique of ordering foods online applicable
in any food delivery industry. The main advantage of our system is that it greatly simplifies the
ordering process for both the customer and the restaurant.
At the end of the project, it will improve the restaurants productivity, efficiency, and as well as
accurateness. Because of this system, it will minimize all the manual work by replacing the
traditional order system into a computer system. It will eliminate the manual work such as
workers physically deliver food order ticket into the kitchen, manually replace the price tag of
the food, and manually calculate billing price.
The system will be a web-based platform will be developed to let the user view the menu card
information of the restaurant and then place an order via the system.
the system will be able to let each restaurant’s staff to update and make changes to their food
and beverage menu information. Next, it also allows staffs to generate report that they wish to
generate, such as monthly sales report. The most important function is to allow staffs to make
billing statement for consumer to make their payment after they order.
This chapter has discussed the difficulties issues that come together with the traditional
approach for restaurant food ordering system. In addition, we have mentioned the stakeholders,
or the people who are facing a problem in the current situation and how they will benefit from
the proposed treatment that we will offer.
Lastly, the project objective and project scope have been listed and discussed. The overall
structure of the proposed system has been justified and project contribution is stated. Next,
will be further discussing about the concept of existing restaurant management system.
2
CHAPTER 1 INTRODUCTION
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
At the beginning, we were lost and confused about how food ordering and food delivery
management systems work! So we went to the internet and visited some locally popular food
ordering websites here in Palestine, to state for example: http://www.pal-eat.com/ or this:
https://www.doordash.com/en-US
We have gathered some ideas and then started the phase of requirements discovery. The main
approach which we followed in gathering user and system requirements was surfing the web.
Also we have consulted our instructor, Dr. Nael Salman to give us some advice in how to
discover requirements.
In addition, I should mention that we have held an interview with some senior software
engineers that gave us guidelines on how to gather requirements.
The system will be designed to be user friendly. The user friendly and interactive interfaces
design helps to achieve this by enabling customers to easily browse through the menus, place
orders with just a few clicks, and also allows restaurant employees to quickly go through the
orders as they are placed and produce the necessary items with minimal delay and confusion.
The system will be simple to use.
I. ADMIN:
Managing users: the admin shall have a full access on the users database:
• Add user.
• Delete user.
• Edit a user record.
• View user info.
Managing restaurants: the admin shall have a full access on the restaurants
database:
• Add a restaurant.
• Delete a restaurant.
• Edit a restaurant record.
• View all restaurants info.
• View a specific restaurant info.
3
CHAPTER 2 REQUIREMENTS GATHERING | CHAPTER 3 USER REQUIREMENTS DEFINITION
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
II. CUSTOMER:
[No need to have an account]: The system shall enable the customer to:
• Browse the restaurants. Each restaurant should show its name, its owner’s
name, and its location.
[Need for an account]: The system shall enable the customer to:
• Register to the system (create their own account)
• Login to the system after creating the account.
• Place an order.
• Specify whether they want the order to be delivered or picked up by the
customer themself.
• The system shall prompt customer to confirm the ordered meal.
• The system shall provide visual confirmation of the order placement
Operational Requirements
• The system should prompt the manager (each restaurant’s admin) to make a
backup at the end of the workday.
4
CHAPTER 3 USER REQUIREMENTS DEFINITION
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
Performance Requirements
• The system should let user place an order in a short period of time.
(less than one minute delay of loading)
• All tables in the database should be normalized at least up to 3rd normal form. So
Fetching data from database shall not exceed 5 to 10 seconds in worst case.
Security Requirements
• The system shall validate the username and password in order to login
and make changes to the system.
• The system shall request the current password of the user in order to let
them change to a new password.
Usability Requirement
• The system should have a simple and easy-to-learn graphic user interfaces.
5
CHAPTER 3 USER REQUIREMENTS DEFINITION
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
This chapter will present a high-level overview of the anticipated system architecture, showing
the distribution of functions across system modules. Architectural components that are reused
should be highlighted.
6
CHAPTER 4 SYSTEM ARCHITECTURE
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
7
CHAPTER 5 SYSTEM REQUIREMENTS SPECIFICATION
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
User Login
Brief Description The log in use case allows the user to login in the system.
• An admin.
• A restaurant’s manager.
• A kitchen staff (a chef).
• A customer.
Note: I think that there will be a different login form for each type
of users mentioned above, because each type will be stored in its
own database
Flow of Events At Homepage ➔ Login Form;
8
CHAPTER 5 SYSTEM REQUIREMENTS SPECIFICATION
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
Actor(s) The restaurant’s manager/ owner (each new added restaurant will be assigned
to a manager who will be responsible for this restaurant)
Flow of Events After the manager has logged in successfully, now they can go to
the nav bar at the top ➔ Create Restaurant’s Menu
1. The restaurant’s manager can create one menu only for their
restaurant.
2. After creating the menu, the manager can add dishes/ food items, by
specifying the dish’s name/title, price, ingredients, dish description, and
the dish size (small – medium – large)
3. Then will click ‘save dish’ and the dish will be inserted into the menu
database, with a related foreign key: ‘restaurantID’ to indicate that these
food items are related to this specific restaurant.
The manager can edit any food item in the menu whenever they want.
For example, they can change the dish name, the price (increase or
make a discount), edit the ingredients, or edit the description of the dish.
The manager can delete any food item in the menu whenever they want.
For example, if the restaurant is no more serving this dish, or if they want
to temporarily disable this dish from the menu.
Only the restaurant’s manager/owner can access the restaurant’s menu and
make such changes (insert, update, or delete)
Other people such as the customers, can only view and browse the menu, but
do not have the rights to insert, update, or delete any item.
Post-conditions The restaurant’s manager is recommended to make a backup of their menu
after each change.
Success The restaurant’s manager has created their restaurant’s menu, and
added food items to it.
9
CHAPTER 5 SYSTEM REQUIREMENTS SPECIFICATION
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
CUSTOMER
Brief Description Let the customer view and browse the menu of any restaurant they desire,
then give them the opportunity to place an order and choose how they want to
receive it.
1. After the customer has created an account and logged in successfully, now
a button “add this order to cart” will be enabled next to each food item in the
menu.
2. Now the customer will view the menu of any restaurant they want.
They can click on the button “add this order to cart” to make an order of any
food item they desire.
3. Customer can order more than one food item of course, so when the
customer has finished ordering, they shall click on “submit order” button.
4. All selected dish/food item will then be added to the orders database, with
the customer’s ID and other related info that indicates that this dish is ordered
by this specific customer.
5. The customer’s role now is over. The customer now must wait for the chefs
that will receive his/her order, prepare the order, then verify it.
6. Once the chefs change the status of the order from “pending” into “ready”,
the customer can see the status of his/her order as “ready”, and shall prepare
him/herself to go and pick the order, or wait for the deliverer.
Pre-conditions Browsing as a guest requires no conditions.
10
CHAPTER 5 SYSTEM REQUIREMENTS SPECIFICATION
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
Once the customer has placed an order, an email notification will be sent
directly to their email address.
If the order was not made by the customer! He/she can report the order and
this will stop the order and will prompt the customer to change their password.
Post-conditions After the customer receives the order. He/she will be asked to give a rating for
the service.
Success The customer has received their order exactly as desired.
1. Security:
• The system has a login and sign-up pages.
• To register, the user need to enter email and password which must be at least 7
characters, and must include at least: 1 lowercase letter, 1 uppercase letter, numbers,
and one of the following characters(#, $, *, !)
• The system will protect this information by using Identity in Asp.net that is made by
.net which have
• Also the user cannot complete the registration without entering a code that the system
send to him via email.
2. Ease of use:
• Provides help frame such as error messages while entering invalid data.
3. Availability:
• each restaurant can specify their working days and hours, and then their
restaurant’s menu on our system will be available for customers to make orders
during these hours.
11
CHAPTER 5 SYSTEM REQUIREMENTS SPECIFICATION
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
12
CHAPTER 6 SYSTEM MODELS
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
13
CHAPTER 6 SYSTEM MODELS
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
14
CHAPTER 6 SYSTEM MODELS
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
Figure 9: General Activity Diagram of a Customer while Ordering Food Item from a Menu
for The First Time.
15
CHAPTER 6 SYSTEM MODELS
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
Figure 10: Activity Model Showing the Flow of Events between a Customer (user) and a
Courier (meal deliverer)
16
CHAPTER 6 SYSTEM MODELS
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
Figure 11: Activity Diagram shows the Flow of Events that a Restaurant’s Manager should
Follow to Create their Restaurant’s Menu and Add Food Items.
17
CHAPTER 6 SYSTEM MODELS
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
18
CHAPTER 6 SYSTEM MODELS
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
19
CHAPTER 6 SYSTEM MODELS
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
Figure 14: Comprehensive Sequence Diagram Showing almost all Relationships between
Customer and System’s objects.
20
CHAPTER 6 SYSTEM MODELS
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
21
CHAPTER 6 SYSTEM MODELS
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
Figure 16: Sequence Diagram for the Kitchen when Receiving the Order
22
CHAPTER 6 SYSTEM MODELS
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
SYSTEM ENHANCEMENT:
We shall provide the ability for each registered customer to rate a restaurant only after ordering
from it.
In future, we are looking forward to developing a mobile application for our food ordering
system using android platform.
23
CHAPTER 7 SYSTEM EVOLUTION
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
The mobile application system can implement a feature which is real time notification from the
mobile phone application to the service desk. This feature enables customer to request customer
service through using the mobile application.
The mobile application may implement some mini games to entertain customers while they are
waiting for the food to be served.
The work on this project was very useful. At the beginning, we had some difficulty in coming
up with the idea of the project, and then in gathering the user and system requirements.
I think our project is not as simple as it looks. It requires much work to be tackled. We all
consider ourselves as juniors or beginners in the web development field. We are not very
experienced with web technologies. This will be the first big project we will face. So we are
planning to work cooperatively and benefit of each other.
24
CHAPTER 8 PLAN FOR REST OF WORK | CHAPTER 9 CONCLUSION
FOOD ORDERING AND DELIVERY MANAGEMENT SYSTEM
REFERENCES:
• Food Ordering System Using Mobile Phone By LEONG WAI HONG, Faculty of Information and
Communication Technology (Perak Campus), Jan 2016:
http://eprints.utar.edu.my/1943/1/IA-2016-1203135-1.pdf
• Architecture and Design Principles for Online Food Delivery System, written by:
Sandesh Deshmane, on: Aug 12 2020:
https://sandesh-deshmane.medium.com/architecture-and-design-principles-for-online-
food-delivery-system-33bfda73785d
• Designing a food ordering Mobile App — a UX case study, written by: Andrey
Herasymenko, on: Dec 20, 2018:
https://uxdesign.cc/ui-ux-case-study-feedme-mobile-app-for-ordering-food-
ef0e7f8c82ba
25