FYP Report Version 3.1
FYP Report Version 3.1
WASEEM SAJJAD
2017-KIU-2585
Session 2017-2021
March, 2023
BS-Computer Sciences
KIU, Gilgit.
In the Name of Allah Almighty
the Most Beneficent the Most
Merciful
CERTIFICATE OF APPROVAL
This Project “Restaurant Management System” is hereby approved in partial
fulfillment of the requirement for the degree of Bachelor of in Computer Science, from
Dr Sabit Rahim
Chairperson/Chairman/HOD ____________________
skills given to me all through my life and my family who supported me in all aspects.
DECLARATION
I hereby declare that the project work entitled “Restaurant Management System” is a
record of my original work under the guidance of Dr. Sabit Rahim at Institute of
others are involved, every endeavor was made to acknowledge this clearly with due
reference to literature. This work is being submitted to complete the degree of BSCS
desire and the abilities, and blessed us with skills to complete this project. He is
constantly with me at every level of my Education. Countless salutations upon the Holy
Prophet Hazrat Muhammad (Peace Be Upon Him), who enlightens the mankind and
I would love to pay my innermost appreciation to all those who provided me the
me in this report. Phrases cannot express my feeling of love, devotion, thanks and
enlightened our way till the successful completion of this work. Special thanks to all
The traditional process of taking orders, using pen and paper along with an order
taker, to the delivery waiters can be time-consuming and prone to errors. In response to
this challenge, this project adopts web technologies to streamline the ordering process,
reduce wait times, and improve overall customer satisfaction.
APP Application
UI User Interface
DEFINITION OF TERMS
● Food: Can be defined as an edible substance that human beings or animals eat or
drink that supplies all the nutrients that will sustain, maintain, and promote life and
growth.
● Customer: A client who buys goods or services from a shop either online or not.
● Restaurant: (eating place) is a place where drinks and meals are served to
customers.
● Fast food: Hot food that is served very quickly in a special restaurant and often
taken away to be eaten.
● Online ordering: The Online Ordering System can be defined as a simple and
convenient way for customers to purchase food online, without having to go to the
restaurant.
TABLE OF CONTENTS
CERTIFICATE OF APPROVAL 3
DEDICATION 4
DECLARATION 5
ACKNOWLEDGMENTS 6
ABSTRACT 7
Definition of Terms 8
2.REVIEW OF LITERATURE 8
2.1 Introduction 8
3.REQUIREMENT SPECIFICATION 11
3.1 Introduction 11
4.SYSTEM DESIGN 17
5.SYSTEM IMPLEMENTATION 15
5.1 Introduction 15
Hardware Requirements 17
Software Requirements 18
6.SYSTEM TESTING 18
6.1 Introduction 18
6.2 Testing 18
7.1 Summary 32
7.2 Conclusion 33
7.3 Recommendations 35
REFERENCES 40
A computerized restaurant management system is a website that keeps a record of all transactions carried
out in the restaurant daily. The system helps restaurant management to keep an eye on the orders of the
restaurant.
Various types of restaurants fall into several industry classifications based upon menu style,
preparation methods, and pricing. Additionally, how the food is being served to customers helps to
determine the classification.
Historically, the restaurant is referred to as places that provide tables where one sits down to eat the
meal typically served by the waiter. Following the rise of food and restaurants, a Retronym for the older
“standard” restaurant was created, sit-down restaurant. Most commonly, “sit-down restaurant” refers to a
casual dining restaurant with a table service rather than a “diner”, where one orders food at a countertop.
Sit-down restaurants are often further categorized, in Pakistan, as “Family-style or casual dining”.
The term restaurant always means an eating establishment with table service, so the “sit-down”
qualification is not usually necessary. Fast food and takeaway (take-out) outlets with counters are not
normally referred to as restaurants. Outside, the term fast casual dining restaurant, family-style and casual
dining are not used and distinctions among different kinds are often not the same.
In Eastern countries specially India and Pakistan, this term is always merged with a hotel even the
restaurant only serves food or more precisely, it is only dined in and the Hotels are usually stay and dine
purposes.
In France, for example, some restaurants are called “bistros” to indicate a level of casualness or
trendiness, though some “bistros” are quite formal in the kind of food they serve and clientele they attract.
Others are called “brasseries”, a term which indicates hours of service. “Brasseries” may serve food round
the clock whereas “restaurants” usually only serve at set intervals during the day.
In Sweden, restaurants of many kinds are called “restauranger” but restaurants attached to bars or
cafes are sometimes called “kok”, literally “kitchens” and sometimes a bar-restaurant combination is called
a “Krog,” in English a “tavern.”
With the new system, the customers would be able to order their food from the comfort of their
offices, homes, hostels, and anywhere in the city without queuing. The system will greatly make things
easier for the restaurants, as the entire process of taking orders will be automated. Once an order is placed
on the webpage that will be designed, it is placed into the database and then retrieved, in pretty much real-
time, by a Web based application on the restaurant's end. Within this application, all items in the order will
be displayed, along with their corresponding options and delivery details, in a concise and easy to read
manner.
Sales and services are the fundamental tools in any business organization, the profit and loss depend on the
detailed information on sales and services made in the decision making and implementation if
accountability is not checked, then the business is sure to collapse, as a result in any retail and hospitality
business there is a need for a system that gives feedback to the management to aid decision making, this is
where computerized management information system comes handy.
Also, customers are not able to ask about the quality of food or ask for any specialized food. It is
more difficult to ask for gluten-free or allergy-free foods with computerized ordering. Also, it is more
possible for a customer to place an order, but never pick up the order which can lead to a waste of food and
possibly a loss of profits
1.4 Aims and Objective
The aim is to develop a reliable and sustainable system that will assist the restaurant by reducing the
work of staff, waiters, and also to increase customer satisfaction and also design and implement a
computerized Restaurant Management Information System. While the objectives are:
1) To facilitate accurate processing and delivery of the order to customers.
2) To determine how a computerized management information system has facilitated an increase in
productivity, a decrease in paperwork, and the ability to analyze trouble spots.
3) To determine how the system will increase the level of services, quality, and customer satisfaction.
4) To determine how the system can lead the organization towards better decision making and building
a competitive advantage over its competitors
5) To provide the customers with all the different categories of available products that they can choose
and select from.To create and manage an efficient database for storing, retrieval, and updating
customers and order details.
2.1 Introduction
This chapter will contain a general understanding of the related review of literature on restaurants and any
other articles that explain the meaning of it in detail, also this chapter will discuss the conceptual and
theoretical development of the restaurant management system which means the previous works and
comparing between the existing systems.
Restaurants have been an integral part of human culture for centuries. According to historical accounts,
restaurants first emerged in France during the 18th century, although there are conflicting reports about who
opened the first restaurant. Some sources credit a man named Boulanger with opening the world's first
restaurant in Paris in 1765 [1], while others suggest that restaurants existed in China as early as the 11th
century [2]. Regardless of their origins, restaurants have become ubiquitous around the world, serving as
gathering places for people to enjoy food, drink, and social interaction.
The restaurant industry has undergone significant changes over the years, with new trends and
technologies emerging to help restaurant owners and managers operate more efficiently and provide better
service to customers. One such development is the restaurant management system, which encompasses a
range of software tools designed to streamline various aspects of restaurant operations, such as order taking,
inventory management, and employee scheduling. Previous works in this area have examined different types
of restaurant management systems and compared their features and functionality [3].
In addition to technology, other factors that impact restaurant success include menu design, service
quality, and atmosphere. Researchers have studied the effects of various menu characteristics on customer
behavior, such as menu layout and item descriptions [4]. Service quality, which includes aspects such as
responsiveness, reliability, and empathy, has also been shown to influence customer satisfaction and loyalty
[5]. Finally, restaurant atmosphere, including factors such as lighting, music, and decor, can play a significant
role in shaping customers' perceptions of the dining experience [6].
Overall, the literature on restaurants and restaurant management systems is extensive and diverse, with
contributions from scholars in fields such as business, psychology, and hospitality management. By
examining the various factors that contribute to restaurant success and exploring the latest trends in restaurant
technology, researchers can help restaurant owners and managers make informed decisions about how to
improve their operations and provide better service to customers.
Before you can design a new system, you must have a good understanding of the information flow of the
existing system either manual or computer-based.
The current system of the restaurant uses computers such as a desktop system for the daily operations,
although the Desktop system is not up-to-date enough to cover the existing need. The restaurant uses
software programs such as MS-Excel for recording the employee data, customers’ data, order details
etc. Whenever new employee is hired, his/her has to fill a work contract form that contains personal
details of employee including his/her name, age, sex, date, address, profession, permanency/part-time,
location, and also required customers details and order details, in a computer-based software such as
MS-EXCEL.
The new system makes it easier to manage the employees and customers effectively. However, the
web-based restaurant management system will provide a working environment that will be flexible,
efficient and user-friendly by affording ease of work with significant reduction of time. In a computer
platform that many remote clients can access; the system will need more reliable security to uniform
application in a secure manner to the visitors of the site.
The administrators of the system will be able to manage their restaurants as well as their food items
in a restricted way so as to ensure proper security.
The current systems were developed using old technologies which makes them static and
unchangeable. However, I shall develop a new system with the latest versions of technologies to make
it dynamic, fast and user-friendly.
Many Restaurants store and maintain their day-to-day transactions manually. But some of them are having
automation systems which are helping them to store the data. But such restaurants are storing the
information about the orders and the customer information. They don’t have the facility to store the
information of feedback and favorite orders of customers over some period of time. Restaurants are having
standalone applications so at one time they have the facility of many screens or many operations which are
happening at one time. So, they are storing them and then at last, the restaurant managers will be able to
see the data of the last day. The software which restaurants are using is very costly and their maintenance
which is very high.
Chapter 3
REQUIREMENT SPECIFICATION
3.1 Introduction
The most important and fundamental step in software development is the requirements specifications or
requirements Analysis. In this phase the developers define fundamental functionality of the system
according to specific domain. Most of the applications or software are highly dependent on this phase,
because without defining the proper functionalities for application according to the domain, it is difficult to
develop the application. Once the requirements of the system are successfully gathered and analyzed, it will
be easy to design and implement for the software developer.
Functional requirements define the capabilities and functions that a system must be able to perform
successfully. The functional requirements of this restaurant management system include:
● The system shall enable the customer to view the products menu and place an order.
● The system shall display the food items ordered, the individual food item prices and the payable
amount is calculated.
● The system shall prompt customers to confirm the meal order.
● The system shall provide visual confirmation of the order placement
● The system shall enable the manager to view, create, edit and delete food category and descriptions
● The system shall allow confirmation of pending orders.
● The system shall allow the manager to update additional information (description, photo, etc.) for a
given food item.
● The system shall allow the manager to update the price for a given food item.
3.3 Non-Functional Requirements
A non-functional requirement is a requirement that specifies criteria that can be used to judge the operation
of a system, rather than specific behaviors. Some of the non-functional requirements include:
● They should be sufficient network bandwidth
● Backup- provision for data backup
● Maintainability- easy to maintain
● Performance/ response time- fast response
● Usability by target user community- easy to use
● Expandability- needs to be future proof or upgradable
● Safety- should be safe to use
3.4 Data Flow Diagram of The Proposed System
Start
Home
Select item
Select type Search
category food
item
Select
food item
Select
quantity
View cart
No
Continue to Sign in
checkout Login
Yes
Review
order
Checkout
Exit
Here's a detailed description of the Data Flow Diagram (DFD) for the proposed system, including
the various steps and actions involved:
1. Start: This is the initial point of the system, where the process begins.
2. Home: The user is presented with a home screen or landing page that provides an overview of
the system and its functionalities.
3. Select Category: The user can choose a specific category or type of items they are interested in.
For example, they may select "Fruits," "Vegetables," "Bakery," etc.
4. Select Item Type: Within the chosen category, the user can further specify the type of items they
want. For instance, if the user selected "Fruits" in the previous step, they might choose "Apples,"
"Oranges," or "Bananas" as the item type.
5. Search Food Item: The user has the option to search for a specific food item by entering relevant
keywords or filters. This step allows users to quickly find the desired item.
6. Select Food Item: Based on the chosen category, item type, or search results, the user can select
a specific food item they wish to purchase.
7. Select Quantity: The user specifies the desired quantity of the selected food item. They may input
the number of units, weight, or any other applicable quantity metric.
8. View Cart: At this stage, the user can view the contents of their cart or basket, which displays all
the selected food items along with their quantities.
9. Continue to Checkout: If the user is satisfied with the items in their cart, they can proceed to the
checkout process to complete the purchase.
10. Login: If the user is a registered member, they can log in to their account using their credentials.
This step is typically required to access personalized features or retrieve saved information.
11. Sign in: For new users who don't have an existing account, they can sign up or create a new
account by providing the necessary information, such as name, email address, and password.
12. Review Order: After logging in or signing up, the user can review their order details, including
the selected food items, quantities, and any applicable discounts or promotions.
13. Checkout: Once the user confirms the order, they proceed to the checkout process, where they
provide the required billing and shipping information. This step involves collecting details like
address, payment method, and any special instructions.
14. Exit: The final step in the process, where the user exits the system or application.
It's important to note that the above description provides a general overview of the steps involved in
the proposed system. Depending on the specific requirements and design of the system, there might
be additional steps or variations in the flow. The DFD serves as a visual representation of the data
flow and interactions between different components or entities within the system.
Manage Manage
Perform
admin users dish
administrativ
e actions
Stop
Here's a data flow diagram (DFD) for the admin functions of the system you described:
1. Start: The initial point of the system where the process begins.
2. Login: The admin user logs into the system using their credentials to access the administrative
functions.
3. Manage Delivery Boys: The admin can manage and oversee the delivery boys associated with
the system. This includes tasks such as adding new delivery boys, updating their information,
and removing or suspending delivery boys if necessary.
4. Manage Orders: The admin has the authority to manage and monitor the orders placed within the
system. This involves tasks such as viewing order details, updating order status, and handling
any issues or inquiries related to orders.
5. Manage Category: The admin can manage the categories or types of items available in the system.
This includes adding new categories, modifying existing ones, and removing categories when
required.
6. Manage Admin Users: The admin has the ability to manage other admin users who have access
to the system. This includes tasks such as adding new admin users, modifying their permissions
or roles, and revoking access if necessary.
7. Manage Customers: The admin can manage the customer accounts and information within the
system. This includes tasks such as viewing customer details, updating customer profiles, and
addressing any customer-related concerns or inquiries.
8. Manage Dish: The admin has control over the dishes or food items available in the system. This
involves tasks such as adding new dishes, modifying existing ones, updating dish information,
and removing dishes if needed.
9. Perform Administrative Actions: This step represents various administrative actions that the
admin can perform within the system. This can include tasks such as generating reports,
managing system settings, handling customer feedback, and other administrative tasks as
required.
10. Stop: The final step in the process, where the admin user exits the system or logs out.
It's important to note that the above DFD provides a general overview of the admin functionalities
and data flow. Depending on the specific requirements and design of the system, there might be
additional steps or variations in the flow. The DFD helps visualize the flow of data and interactions
between different components or entities within the admin system.
Chapter 4
SYSTEM DESIGN
System design is the process of defining the architecture, components, modules, interfaces, and data for
a system to satisfy specified requirements. Systems design could be seen as the application of systems
theory to product development. There is some overlap with the disciplines of systems analysis, systems
architecture and systems engineering. System design provides the understandings and procedural details
necessary for system implementation, which is recommended in the system study.
The system is designed with several interaction cues on each web page that makes up the website (GB-
Foods). These cues are well-defined such as to make several functionalities that the application exposes to
collect, process and output data. Access to these functionalities is made possible by the well-designed user
interface which embodies several technologies to process data. The application is built in a modular form
where these functionalities are built into modules.
4.1.1 Subsystem Design
Home page
checkout and
Menu cart payment Contact
Admin users
Orders
Home
Customers
Dish
Contact us
Reports
Figure. 4.2 Admin side
Unlike the more traditional waterfall model, which focuses on a stringent step-by-step
process of development stages, the iterative model is best thought of as a cyclical process. The
requirements of our project can be accomplished through iterative model.
Figure. 4.3 User Flow
4.3.4 Testing:
Once this current build iteration has been coded and implemented, the next step is to go through
a series of testing procedures to identify and locate any potential bugs or issues that have
cropped up.
4.3.5 Evaluation:
Once all prior stages have been completed, it is time for a thorough evaluation of development
up to this stage. This allows the entire team, as well as clients or other outside parties, to
examine where the project is at, where it needs to be, what can or should change, and so on.
CUSTOMER ADMIN
MANAGE DAILY
SALES OF
RESTURENT
CUSTOMER
ORDER
RESTURENT
MANAGEMENT EMPLOYE
SYSTEM FOOD
ORDER
RECIEPT
RESTURENT
MANAGER
Level 1: Data Flow Diagram
CUSTOMER ADMIN
FOOD ORDER
ORDER
PROCESS
RECIEPT
UPDATE FOOD
SOLD SALES DATA
ORDER BASE
FOOD ORDER
MENU
RECEIVE & PROCESS
ORDER
FOOD ORDER RECIEPT PREPARE ORDER
INVENTORY
DATA GOODS SOLD
UPDATE UPDATE GOOD
INVENTORY FILE SOLD FILE
PRODUCE
DAILY DEPLETION MANAGEMENT DAILY FOOD ORDE
AMOUNT REPORT SOLD AMOUNT
GOODS
MANAGER RESTURANT
ADMIN
MANAGER & RECORS
DAILY UPDATES
• Food Order: Data flow from the customer, indicating the selected food items.
2. STAFF: Staff members who receive and process the customer's food order.
• Receive & Process Order: Data flow from the customer to the staff, indicating the order
details.
3. UPDATE INVENTORY FILE: Updates the inventory file with the latest information.
• Update Inventory Data: Data flow from the staff to update the inventory file.
4. UPDATE GOODS SOLD FILE: Updates the file with information about goods sold.
• Update Goods Sold: Data flow from the staff to update the goods sold file.
• Produce Manager Report: Data flow from the staff to generate management reports.
6. MANAGER INFO: Manager information, including daily updates, food orders, and daily goods sold
amount.
• Food Order: Data flow from the staff to the manager, indicating food orders.
• Daily Good Sold Amount: Data flow from the staff to the manager, indicating the daily goods
sold amount.
• Daily Updates: Data flow from the staff to the manager, providing daily updates.
• Prepare Order Menu: Data flow from the restaurant admin to prepare the order menu.
• Food Order: Data flow from the staff to the food order entity.
• Receipt: Data flow from the staff to generate a receipt for the customer's order.
• Update Inventory Data: Data flow from the staff to update inventory data.
11. DAILY DEPLETION AMOUNT: Tracks the daily depletion amount.
• Daily Depletion Amount: Data flow from the staff to update the daily depletion amount.
• Goods Sold: Data flow from the staff to update the goods sold record.
• Prepare Order: Data flow from the staff to prepare the food order.
• Prepare Order Menu: Data flow from the restaurant admin to prepare the order menu.
15. DAILY GOODS SOLD AMOUNT: Tracks the daily amount of goods sold.
• Daily Good Sold Amount: Data flow from the staff to update the daily goods sold amount.
• Daily Updates: Data flow from the staff to provide daily updates.
It's important to note that this is a simplified representation, and in a real system, there could be additional
processes, data stores, and interactions. The DFD provides a visual overview of the data flow and
interactions between different entities and processes within the system.
4.5 Structural Diagram
1
Here's a detailed description of the entities and their attributes in the structural diagram:
1. Table_Book:
• Table_Book_Id: An integer that represents the unique identifier for each table
booking.
• Date_Of_Book: The date of the table booking.
• No_Of_People: The number of people for the booking.
• Member_Uname: The username of the member associated with the booking.
2. Event:
• Event_Id: An integer that represents the unique identifier for each event.
• Event_Type: The type of event.
• No_Of_People: The number of people attending the event.
• Date_Of_Event: The date of the event.
• Member_Uname: The username of the member associated with the event.
3. Offer_MST:
• Menuitem_Id: An integer representing the unique identifier for each menu
item.
• Offer_Id: An integer representing the unique identifier for each offer.
• Offer_S_Date: The start date of the offer.
• Offer_E_Date: The end date of the offer.
• Offer_Amount: The discounted amount for the offer.
4. Order_Detail:
• Order_Detail_Id: An integer representing the unique identifier for each order
detail.
• Order_Id: An integer representing the unique identifier for each order.
• MenuItem_Name: The name of the menu item.
• Prize: The price of the menu item.
• MenuItem_Image: The image of the menu item.
5. Order:
• Order_Id: An integer representing the unique identifier for each order.
• Order_Date: The date of the order.
• IS_Online: A boolean value indicating whether the order was placed online
or not.
• Status_Id: An integer representing the status of the order.
• Member_Uname: The username of the member who placed the order.
6. Member:
• Member_Uname: The username of the member.
• F_Name: The first name of the member.
• L_Name: The last name of the member.
2
• Email: The email address of the member.
7. MenuItems:
• Menuitem_Id: An integer representing the unique identifier for each menu
item.
• MenuItem_Name: The name of the menu item.
• Prize: The price of the menu item.
• MenuItem_Image: The image of the menu item.
• Category_Id: An integer representing the category of the menu item.
8. Order_Status:
• Status_Id: An integer representing the unique identifier for each order status.
• status_Name: The name of the order status.
9. Feedback:
• Feedback_Id: An integer representing the unique identifier for each feedback.
• Feedback_Type: The type of feedback.
• Feedback_Date: The date of the feedback.
• Feedback_Desc: The description of the feedback.
• Member_Uname: The username of the member who provided the feedback.
The diagram represents the relationships between the entities and their attributes. The arrows indicate
the flow of information and the associations between the entities. The methods (Add(), view(),
update(), delete()) represent the operations that can be performed on the data associated with each
entity.
Please note that the diagram provides a high-level overview of the entities and their attributes. In a real
system, there could be additional attributes and relationships between the entities.
3
4.5.2 Architecture Diagram
4
The architectural diagram depicts the different components and their relationships
within the system:
1. DATABASE: Represents the central database that stores system data.
2. MANAGER: Component responsible for managing various aspects of the
system.
• Table Status: Manages the status of tables in the dining places.
• Backup & Recovery: Handles data backup and recovery processes.
• Employee Payment: Manages employee payment-related tasks.
• Report Generator: Generates various reports.
• Issuing of Bill: Handles the process of generating bills.
3. ADMIN: Component responsible for administrative tasks and system access.
• System Access: Grants access to the system for authorized users.
• Manager Login: Allows managers to log into the system.
• Admin Login: Allows administrators to log into the system.
4. DINING PLACES: Represents the physical dining places where customers can
dine.
5. CUSTOMER: Represents the customers who interact with the system.
• Order/Bill Payment: Allows customers to place orders and make bill
payments.
The arrows in the diagram indicate the flow of information or interactions between the
components. For example, the MANAGER component interacts with the DATABASE
to perform various tasks such as updating table status, generating reports, etc.
Similarly, the ADMIN component interacts with the DATABASE to manage system
access and user logins. The CUSTOMER component interacts with the MANAGER
and ADMIN components to place orders and make bill payments.
Please note that this is a simplified representation, and in a real system, there could be
additional components, interactions, and dependencies. The architectural diagram
provides a high-level overview of the system's structure and the relationships between
its components.
5
4.6 Behavioral Diagram
The behavioral diagram represents the different actors and their interactions with the
system:
1. CUSTOMER: Represents the customers who interact with the system.
• Sign Up: The customer can sign up for a new account.
• Place Order: The customer can place an order.
• View Menu: The customer can view the available menu items.
• View Order: The customer can view the details of their placed order.
2. ADMIN: Represents the system administrator.
• Receive Notifications: The admin receives notifications from the
system.
• Sales Report: The admin can view the sales report.
• View Customer Record: The admin can access and view customer
records.
• Generate Notification: The admin can generate notifications.
• Clear Bill: The admin can clear the bill for a completed order.
3. MANAGER: Represents the manager of the system.
• Edit Menu: The manager can edit the menu items.
• Receive Notifications: The manager receives notifications from the
system.
• View Sales Report: The manager can view the sales report.
6
• View Customer Record: The manager can access and view customer
records.
• Generate Notification: The manager can generate notifications.
4. CASHIER: Represents the cashier who handles bill-related tasks.
• Clear Bill: The cashier can clear the bill for a completed order.
• Generate Receipt: The cashier can generate a receipt for a completed
order.
5. EMPLOYEE: Represents the employees who perform various tasks in the
system.
• Edit Order: The employee can edit an existing order.
• Generate Receipt: The employee can generate a receipt for a completed
order.
6. SYSTEM: Represents the core system functionalities.
• Database: Stores and manages system data.
• Receive Notifications: The system sends notifications to relevant actors.
The arrows in the diagram depict the flow of interactions between the actors and the
system. For example, the CUSTOMER can sign up, place orders, view menus, and
view their orders. The ADMIN, MANAGER, CASHIER, and EMPLOYEE actors
have specific functionalities based on their roles in the system.
Please note that this is a simplified representation, and in a real system, there could be
additional actors and interactions. The Use Case Diagram provides an overview of the
system's behavioral aspects, focusing on the interactions between different
7
4.6.2 Sequence Diagram
ADMIN SIDE
The sequence diagram illustrates the flow of interactions between the ADMIN component, the
SYSTEM component, and the DATABASE component. Here's a breakdown of the interactions:
1. The ADMIN component initiates the login process by sending a request for login.
2. The SYSTEM component receives the login request and forwards it to the DATABASE
component for authentication.
3. The DATABASE component verifies the login credentials and sends a response to the
SYSTEM component, indicating whether the login was successful or unsuccessful.
8
4. Upon successful login, the ADMIN component can perform various actions such as
updating their profile, adding details, managing food items, managing arrivals and offers,
managing post advertisements, and generating reports.
5. Each action in the sequence diagram corresponds to a specific functionality within the
system.
6. The interactions between the ADMIN, SYSTEM, and DATABASE components continue as
the ADMIN component requests data for reports, and the DATABASE component returns
the requested data.
7. Finally, the ADMIN component initiates the logout process, and the SYSTEM component
confirms the successful logout.
Please note that the sequence diagram provides an overview of the interactions between
components and the flow of data within the system. It focuses on the major functionalities and
interactions, but it may not capture all the details and variations of the system's behavior.
9
:ADMIN :SYSTEM :DATABASE
10
Restaurant manager side :
The sequence diagram showcases the interactions between the Restaurant Manager, the
SYSTEM component, and the DATABASE component. Here's a breakdown of the
interactions:
1. The Restaurant Manager initiates the registration process by sending a request
for registration.
2. The SYSTEM component receives the registration request and forwards it to
the DATABASE component.
3. The DATABASE component processes the registration request and sends a
response back to the SYSTEM component.
4. Upon successful registration, the Restaurant Manager can perform various
actions such as logging in, viewing received orders, viewing booked tables and
halls, updating details, viewing reports and graphs, and logging out.
5. Each action in the sequence diagram corresponds to a specific functionality
within the system.
6. The interactions between the Restaurant Manager, SYSTEM, and DATABASE
components continue as the Restaurant Manager requests and receives various
details and information.
7. Finally, the Restaurant Manager initiates the logout process, and the SYSTEM
component confirms the successful logout.
Please note that the sequence diagram provides an overview of the interactions and
flow of data between components in the system. It focuses on the major functionalities
and interactions, but it may not capture all the details and variations of the system's
behavior.
11
Restaurant manager :System :DATABASE
12
6.4 DATABASE DIAGRAM
6.4.1 ER Diagram
This ERD represents the entities and their attributes in the database:
Entities:
5. ADMIN: Represents the admin with attributes ID.NO, NAME, and MOB.NO.
7. ORDER: Represents the order with attributes ITEM NO., ORDER NO., and
TAKEN BY.
8. BILL: Represents the bill with attributes BILL NO., ORDER NO., TAKEN BY,
NO. OF ITEMS, and other related attributes.
Relationships:
• The ORDER entity is related to ITEM NAME entity through the ITEM NO.
attribute and to the BILL entity through the ORDER NO. attribute.
13
• The BILL entity is related to the CUSTOMER entity through the TAKEN BY
attribute.
• The ITEM NAME entity is related to the BILL entity through various attributes
such as DESCRIPTION, PRICE, QUANTITY, PAID TO, and PAYS.
Please note that the ERD provided is based on the given information, and additional
relationships and attributes may be required based on the specific requirements of the
system.
14
Chapter 5
SYSTEM IMPLEMENTATION
5.1 Introduction
System implementation deals with the testing and debugging of the implemented
design of the web page in process. Here, the choice of environment used is shown, the
architecture used for the implementation is explained and the website is tested at each
level of construction to test for efficiency and discover possible technical defects. The
conversion of the website and documentation is also done at this level.
The choice of programming language depends on the system to be developed.
However, the main aim of this project is to design and implement a web page for online
food ordering, this focused the researcher on using HTML, CSS and JavaScript as the
standard programming tools for implementing the system.
5.1.1 System Description
This system was designed in such a way that one can have an overview of the products
sold by the Restaurant, get to know the different prices in which these products are sold
to the public etc. This system can be accessed by the customers as well as the staff.
5.2 Selection of tools
The system will be designed using the programming languages known as software
development tools preferred here as the development tools for the development of the
new system and are classified into Front - End development tools and Back-End tools.
15
5.2.1 The Front-End Development Tools
The front - end manages everything that users virtually see first in their browser or
application. Front-end developers are responsible for the look and feel of a site, several
front-end designing tools are available such as HTML, CSS and JavaScript will be
discussed here in detail as the preferred ones.
HTML: is an acronym for Hypertext Mark-up Language, is the predominant mark-up
language for web pages. HTML is the basic building - blocks of a webpage. HTML
elements form the building blocks of all websites.
CSS: is an acronym for Cascading Style Sheets, a language that accompanies HTML,
and defines the style of a website’s content, such as layout, colors, fonts, etc.
JavaScript: Is programming language used for more interactive elements like drop
down menus, modal windows, and contact forms.
Together these essentials create everything that’s visually presented when you visit a
webpage.
5.2.2 The Back-End Development Tools
The back-end development refers to the server side of an application and everything
that communicates between the database and the browser. Although lots of database
programming languages exist such as PHP, MySQL, SQLITE, MSSQL, DOTNET and
so on and so forth, MYSQL is selected to be used as a database development tool for
the new system.
Hypertext Preprocessor (PHP): is a programming language for building
dynamic, interactive Web sites. As a general rule, PHP programs run on a Web server,
and serve Web pages to visitors on request.
16
MySQL: is a database constructed to enable PHP and Apache to work together to
access and display data in a readable format to a browser. It is a structured query
language (SQL) server design for processing complex queries. MySQL allows many
different tables from a particular database to be joined together for maximum speed
and efficiency.
5.3 Input and Output Design
Computer system is made up of units that are put together to work as one in order to
achieve a common goal. The requirements for the implementation of the new system
are:
5.4.1 Hardware Requirements
17
Chapter 6
SYSTEM TESTING
6.1 Introduction
To launch any kind of software or website, it must be tested and implemented before
launch. Software testing is basically a set of activities conducted for finding the bugs in
the application. It is important to test the application because through this process I get
to know whether System is working properly or not. While testing the system, if I find
any bug or error so that I can remove or fix that.
6.2 Testing
Testing is the process of executing a program or system with the intent of finding
errors”. Simply testing involves the processes of verifying and validating the program
or web application. This is performed at the start of the system by the test team. It’s
called black box testing. The system is tested in a controlled environment. The purpose
of system testing is to validate an application’s accuracy and completeness in
performing the function as designed. The system is tested through the following testing
approaches.
6.3 Components of Testing
18
● Testing the home page to allow access to the menu bar.
● Testing to visit food menus and the category.
● Testing each component on the customer site.
6.3.2 Integration Testing
In this approach, the program modules of the system were integrated and tested as the
whole.
● The back button which leads you to the previously opened page,
● Checking whether all buttons on the homepage are working and displaying options.
6.3.3 Regression Testing
This approach involved checking to see if the addition of one feature is negatively
affecting other features.
● Upon responsiveness test, it may misbehave at some stages of the page which are
above 350px to 420px screen dimensions.
● Some older browsers may entirely show the pages abnormally.
● Some browsers and displays show the colors not as it are, as it was designed.
6.4 System validation testing
19
6.4.1 Test Case 1
Status Pass
Test Descriptions: This test Verifies that the user successfully opens the index page.
20
6.4.2 Test Case 2
Status Success
Test Descriptions: This test verifies that the user can load all pages successfully. It
shows that the menu bar works properly.
21
6.5 Interface Design
The index page would consist of Introductory note (i.e., welcome environment), the
available foods menu, the booking and some quick links (Menu) as shown below.
6.5.1 Desktop:
A homepage interface typically serves as the main entry point for a website and
provides navigation options to different sections. Here's an example of a homepage
interface with a menu bar and login system:
Menu bar:
• Home: This option takes users back to the homepage, usually by clicking
on the site logo or the "Home" text.
• Menu: Clicking on this option opens a dropdown menu showcasing
different sections or categories of content, such as "Breakfast," "Lunch,"
and "Dinner."
• About: Selecting this option leads to a page that provides information
about the website or organization, including its mission, history, team,
and any relevant details.
• Contact: Choosing this option directs users to a page where they can find
contact information, such as phone numbers, email addresses, or a
contact form to get in touch with the website owners.
• Reservation: Clicking on this option opens a dropdown menu with
options related to making a reservation, such as "Book a Table," "Reserve
a Room," or "Schedule an Appointment."
Login System:
22
A login system allows users to create accounts or log in if they already have an
account. This feature enables personalized experiences, such as accessing saved
preferences, order history, or interacting with other members of the website. The
login system typically includes:
• Sign Up: This option allows new users to create an account by providing
necessary information like name, email, and password.
• Log In: Existing users can enter their credentials (usually email/username
and password) to access their accounts.
• Forgot Password: In case users forget their password, this option lets
them initiate a password reset process by verifying their email or
answering security questions.
• User Profile: After logging in, users can access their profile, where they
can update personal information, change settings, and manage their
account.
• Logout: Clicking on this option logs the user out, ending their current
session.
A well-designed homepage interface should have clear navigation options, an
intuitive layout, and an easily accessible login system to enhance user experience
and engagement on the website.
23
Figure 6.1 - Home page
Menu:
A menu page typically displays a list of dishes or food items available for ordering.
Here's an example of a menu page layout that includes dish names, descriptions, prices,
an input box, and an "Add to Cart" button for each item:
1. Dish Names: Each dish is listed with its name, which is usually displayed
prominently to catch the user's attention. For example:
• Dish 1
• Dish 2
• Dish 3
2. Descriptions: Along with the dish names, a brief description of each item can be
provided to give users more information about the dish. This description may
include key ingredients, cooking methods, or any unique features. For example:
• Kiseir: Classic bread made of fresh eggs, butter, and flour.
3. Prices: Each dish should be accompanied by its respective price, allowing users
to easily understand the cost of the item. The prices can be displayed next to the
dish names or in a separate column. For example:
• Kisier: RS.250
4. Input Box: An input box can be provided next to each dish to allow users to enter
the desired quantity or any additional customization requests. This input box can
be pre-populated with a default value of 1. For example:
• Kiserr [Input Box: 1]
5. Add to Cart Button: Each dish should have an "Add to Cart" button associated
with it. When users click this button, the selected item and quantity are added to
their cart or order. For example:
24
• Kiseri [Input Box: 1] [Add to Cart]
About Page:
An About page provides an opportunity for businesses or individuals to share their
story, values, and purpose with their audience. Here's an example of an About page
that includes "Our Story":
25
Figure 6.3 - About page
Contact Page:
Here's an example of a contact page that includes fields for full name, email, subject,
and message:
Booking Page
Here's an example of a booking page that includes fields for first name, last name,
email, phone number, number of persons, suggested booking type, seating preferences,
date, time, and a note section:
26
Figure 6.5 - Booking page
Reservation Page:
Here's an example of a reservation page that includes fields for first name, last name,
address, contact number, email address, terms and conditions checkbox, a clear button,
a next button, a reservation code input with a search button, and contact information:
27
Figure 6.6 – Venue Reservation page
Login Page:
28
6.5.2 Mobile:
29
Figure 6.8 – Menu Figure 6.9 – About with embedded Map
31
Chapter 7
7.1 Summary
Chapter one briefly discussed the history and development of Local Foods Restaurant,
scope and limitations, significance, definition of some terms that were used in the
chapters, aims and objectives and problems encountered with the manual system.
Chapter two discussed many sections with the definition of Local Foods
Restaurant, the theoretical development of the Restaurant ordering system, the
comparison between the current system and the proposed system, which this project is
going to solve.
32
analysis, design, implementation, and testing were carried out, which led to the
formation of a new system. Restaurant was developed after reviewing and analyzing
the existing manual system at the investigation stage and control flow diagram to
determine the requirements of the system. The design was implemented using HTML,
CSS and JavaScript, for the database files. The web site starts with the home page,
followed by Menu, Contact page and so on.
7.2 Conclusion
In conclusion, the project’s goal was achieved, which was to design and implement.
The website was tested and it achieves the desired objectives. The application interface
was made user friendly in such a way that even a novice computer user will not have
difficulty in using the system.
However, a lot of challenges were faced during the process of implementing the
website. Designing a website that will handle interactive communication between the
system users and the system administrators is a time consuming and complex task.
Also, while coding, an error might occur, either an ID or a Class, getting away with
such errors is not an easy task. The most challenging task is removing such errors,
because a single error usually takes me an average of some hours or a day before I find
a way of overcoming the error.
7.3 Recommendations
This website is not fully functional as it requires some additional guidance, budget and
system tools and integrations. The following are the possible future work:
● Allow users to review a product.
● Send an order ready notification to the customer.
33
● Add different payment options for the system like cash, PayPal and to allow
save payment details for future use.
34
REFERENCES
References:
1. Lee, D. (2019, August 5). The world's first restaurant? BBC News.
https://www.bbc.com/news/world-europe-49200941
2. Deng, Y. (2016). A brief history of Chinese restaurants in America.
Gastronomica, 16(4), 1-13.
3. Tsai, W. H., Lin, H. Y., & Chiang, Y. H. (2017). Restaurant management
systems: A review. Journal of Tourism and Hospitality Management, 5(3), 23-
32.
4. Smith, L., Yang, W., & Chen, C. F. (2018). Menu design and consumer behavior
in restaurants: Investigating the effects of menu mental models, visual aesthetics,
and item descriptions. Journal of Hospitality and Tourism Research, 42(1), 3-23.
5. Ngo, L. V., & Nguyen, T. H. (2021). Service quality and customer loyalty in the
restaurant industry: The mediating role of customer satisfaction. Journal of
Hospitality and Tourism Management, 47, 129-138.
6. Kim, Y. G., Eves, A., & Scarles, C. (2009). Building a model of local food
consumption on trips and holidays: A grounded theory approach. International
Journal of Hospitality Management, 28(3), 423-431.
35
Formatted: Justified, Indent: Left: 0", First line: 0"
APPENDIX
36