1333
1333
1333
Strathmore University
Nairobi, Kenya
Date of Submission:
i
Declaration and Approval
I declare that this work has not been previously submitted and approved for the award
of a degree by this or any other University. To the best of my knowledge and belief,
the research proposal contains no material previously published or written by another
person except where due reference is made in the research proposal itself.
Student signature:
Sign: Date:
Supervisor’s Name:
ii
Abstract
A good restaurant simply means one that provides great service, great food and amazing
ambience. Everybody loves fast service when in a restaurant. The manual food ordering
system hinders fast service because of several reasons which include
miscommunication between the waiters and customers due to the congestion in waiting
lines and unavailable waiters. Waiters and chefs on the other hand are becoming
overwhelmed with the work, easily making order errors and producing low quality
output. Furthermore, profit margins are on the decline forcing management to go back
to the drawing board or even take extreme measures as closing down restaurants.
The system to be created is an online ordering, delivery and payment system. Some of
its advantages is that it will make the ordering process easier and it will enable the users
to monitor their expenses and have their food delivered at the comfort of their homes.
The main aim of the system is to increase efficiency and enhance productivity
subsequently introducing a possible unique point of sale for privately owned restaurants
in Kenya. The system will be a website-based system. This is because web-based
systems have greater flexibility and scalability and are easier to integrate with other
systems. The methodology used will be the agile methodology because it is very
convenient in that it provides ample time to design, construct and test the system. Object
Oriented approach has been used in developing. For analysis and design, Uniform
Resource Modelling was used. Php and html has used to develop the website. MySQL
has been used to create databases. Any web browser such as Edge, Chrome, Firefox
can be used to access the website in any environment such as windows or Linux. The
proposal will review alternative systems currently in use, gaps in the systems and some
of the possible development technologies that could revolutionize the restaurant
industry
iii
Table of Contents
Abstract .........................................................................................................................iii
3.5.2 MYSQL.................................................................................................. 17
References .................................................................................................................... 19
v
List of Figures
vi
List of Abbreviations
POS- Point-of-Sale
UML- Unified Modelling Language
vii
Chapter 1: Introduction
Technology has undoubtedly spread through every aspect of life in the modern world.
Technology is necessary for any company that wants to significantly improve their
organizational and management skills. The system can also provide real-time information and
has an interface that can be customized to the user's needs. In terms of accuracy and speed,
automated systems are better. By using this system, restaurants can place orders timelier and
effectively, increasing potential revenue. The system offers an easy-to-use modern menu.
1
1.2 Problem Statement
It is essential to have an automated system in place when dealing with a high number of
requests in order to maintain both quality and efficiency. Manual ordering systems put pressure
on people to be correct in all details of their work at all time and the problem is that people are
not perfect. The waiters could often make errors because of a large number of customers that
they are dealing with. Most times customers get infuriated when their orders get confused or
when the waiters take long to serve them. The manual ordering system is also time consuming
because the customer has to wait for the waiter to take his order to the kitchen first and later on
get the food and bring it to them when it is ready. In the restaurant industry in order to be
relevant and competitive your restaurant has to have the following, a suitable and flexible
menu, a good selling point, proper management, well equipped and trained staff and a reputable
customer service or customer experience (Common Restaurant Problems and Solutions.,
2017). It is evident that the current techniques and methods of operation are gradually
becoming incompetent making it difficult to adapt and overcome evolving changes while
keeping the factors mentioned above constant. It is challenging and resource consuming to
keep on creating new menus considering a menu changes overtime with discovery of new food.
There is need for advance inventory management to capture the restaurant’s ever-growing data
such as orders and menu items, which would save on operational costs and time
2
1.5 Justification
Restaurants can be very crowded during lunch and dinner time. Most customers prefer not to
wait in line for their food. In this case the restaurants have to provide quality service to
enormous number of customers. Without a system it is very difficult to achieve this.
The project embraces and acknowledges technology as a tool that has an impact on the basic
factors that contribute to the success or failure of a business. Technology saves on time. In
some cases, it reduces costs incurred in production and mainly it enhances efficiency.
A sequential approach will be adopted throughout the development cycle. Restaurant can keep
track of all the orders, retrieve and display order information. This information will be invisible
to the kitchen for the order processing. These order details can be useful for report generation.
Customers can give general feedback and suggestions about the restaurant and meals. Those
are only visible to the management of the restaurant. Other customers can view them when
they are selecting their meals. Order logging and report generation are also implemented in the
proposed system. Time will also be a limiting factor in the early stages of software development
cycle. The System aims to deliver a system that will enhance the work effort of the restaurant
personnel hence it will not solve the problem of laziness and incompetence of restaurant staff
3
Chapter 2: Literature Review
2.1 Introduction
This chapter reviews Restaurant Management systems similar to the one being developed here.
It will also look at the existing features available in food ordering and how food industries have
adopted to recent development in technology in the industry. Some of the problems and
challenges that exist in these systems will also be reviewed.
In the existing restaurant management systems, the order information of each food item is
stored manually. Customers are unable to know what a restaurant is serving or which item is
available or out of stock until they are inside the restaurant. This makes placing orders time
consuming and can consume large volumes of paperwork which require a lot of manual work
and sometimes can involve loss of records. During peak hours, the waiters might get
overwhelmed by the number of customers waiting to be served therefore increasing the
probability for waiters to make mistakes when taking orders. This can lead to the quality of
service to drop hence causing customers to be dissatisfied. However, if too many waiters are
hired, it would lead to waste of resources during non-peak hours. (Reddy, 2016)
The waiters also have to bring the bill to the customers for them to pay either by cash, card or
mobile money. The cashier’s job is to record and account for the payments. In most restaurants,
the waiter prepares two copies of bill receipt, book one for the kitchen and the other for cashier.
The bill receipt for the cashier is delivered to him/her by the waiter with the collected payments
from the customer. They are recorded on a computer and are archived for references. It is the
cashier’s job to generate a report for management review and analysis.
Restaurants use various modes of payment. Most restaurants accept either cash or mobile
money as a mode of payment. According to a U.S. Bank survey, 50% of people say they carry
cash with them less than half the time and when they do, 76% report keeping less than $50
(Dana, 2016). Because of this, it’s become crucial for restaurants to accept a variety of payment
types.
4
2.2.1 Problems and challenges experienced with current methods of operation
There are various problems and challenges affecting the operations of restaurants. Most
restaurants should try and move away from the pen and paper method which is very
cumbersome and could lead to mistaken orders hence customer dissatisfaction. The challenges
include:
5
2.3 Review of Related works and Alternative Systems
Modern restaurants use the Point-of- Sale system in their operations. These are computerized
systems that facilitate the management of sales transactions, including taking orders,
processing payments, and generating receipts. It is a tool for streamlining operations and
improving efficiency in the food service industry (POS, 2022).
This technology offers an alternative to the pen and paper method. Most restaurants in Kenya
are familiar with the basic version of POS Systems, which include the following systems
Order Management: POS systems allow restaurant staff to input and customize orders based
on customer preferences. They can accommodate special requests, modifiers, and variations,
ensuring accurate and detailed order information.
Menu Management: POS systems enable easy management of menus, including adding or
removing items, updating prices, and highlighting specials or limited-time offers. This
flexibility allows restaurants to quickly adapt to menu changes and seasonal variations.
Inventory Management: POS systems often integrate with inventory management tools,
enabling real-time tracking of ingredients and supplies. By monitoring inventory levels,
restaurants can automate reordering processes, reduce waste, and ensure they have sufficient
stock to meet customer demand.
Table Management: Many POS systems include table management features that help optimize
seating arrangements and track table availability. Restaurant staff can efficiently assign tables,
manage reservations, and keep track of the status of each table, allowing for better customer
service and reduced waiting times.
Reporting and Analytics: POS systems generate detailed reports on sales, revenue, and other
key performance indicators. These reports provide insights into sales trends, popular menu
items, and customer preferences. By analysing this data, restaurant owners can make informed
decisions regarding menu changes, marketing strategies, and cost optimization. (POS, 2022)
6
2.3.1 Review of related works
KFC Kenya
KFC is a nice website with good functionalities. It has two ordering options
i) Order online
ii) Order directly from restaurant
Online ordering
One can order online through their website where you are required to enter your delivery
location or select a pickup point before accessing the menu. After accessing the menu and
making an order the customer is required to pay online using their debit cards or they can pay
once delivery is done to their respective locations.
7
On the menu side the customer is able to view the meals available under specific names. Each
meal is under a certain category. The customer is also able to view the price of each meal.
Ordering process
When a customer selects an order, they are allowed to choose how they want their meal
prepared and they could also add more items to their order. The order is then added to cart and
the customer proceeds to place the order and make the necessary payment.
8
Figure 2.3.3 KFC Kenya Website (KFC, 2023)
Customers can also register into their system and login whenever they want to make orders
which is very convenient to regular customers. The website also allows for the customers to
contact individual stores in case they need any help.
9
2.4 Gaps in existing systems
Although the use of POS Systems has become very popular in the restaurant industry, there
are still challenges experienced with the technology it comes with. The following are some of
the interrupts that occur when the systems are in use;
Flexibility and Mobile Compatibility- As a manager or supervisor of a restaurant it’s not always
possible to be onsite to monitor day to day activities. Modern high-quality POS systems should
be compatible with mobile devices to enable monitoring from any point at any given time.
Usability issues - Some systems can be complex and difficult in terms of user interactions such
that restaurant employees struggle to use them optimally. The learning curve eventually reflects
on the productivity negatively. It is important to have a user-friendly system that does not
require extensive training, which is a strain in a restaurants resource.
Lack of customer Interaction- Customers are the core stakeholders in service-based businesses;
therefore, it is significant to involve them in restaurant activities. POS systems lack
technologies that can allow customers to view menu at the comfort of their phone, self-ordering
and even give immediate feedback (POS, 2022)
10
2.5 Review of possible Development Technologies
a) The recent increase in growth of Internet of Things (IoT) platforms has made the user
interaction with any software very easy. The development of digital menu for ordering
is based on the software hardware co-design on Raspberry Pi using Zig-Bee short range
radio communication technologies. The advantages of this system include high
performance cost ratio, high reliability and friendly user interface with reduced cost.
(Santhosh, 2015)
b) The use of high-end portable devices to revolutionize a restaurant. In this case
customers use and iPad to make orders real-time, eliminating completely the need for
a waiter. The restaurant also uses the iPad to control the various displays projected on
the restaurant’s screens. In five-star restaurants that have a valet, the iPad can be used
notify the valet when the customer is ready for their car. (Ashutosh Bhargave, 2013)
c) A traditional food ordering system where users can order food and track it. General
POS restaurant management systems that provide retail position their system as feasible
for restaurants or they can even have specific add-on module to this function. A server
can be installed to connect requests to each drum. This connection connects to the main
screen and receives the command from the main program. (R Adithya, 2018)
d) E Bill Resto is a restaurant billing management system that involves several selling
places and restaurants with the name of a particular brand that is connected to the
network of restaurants through a database/web server. The revenue generated from all
restaurant's sales can be monitored in real time using this system. The RESTful API
architecture performs this operation with additional security by accessing tokens. The
Master Application as a provider of Embedded Data Service Web resources on three
Restaurant Information Systems by synchronizing three Web Service Clients, Data
from the Master-Slave Side (M Mahaputra Hidayat, 2020)
11
2.6 Conceptual framework
The proposed system will have a client side and a server side. Customers will be able to access
it through any of their devices that can connect to the internet. The client side is where
customers will be able to interact with the system. Customers can register themselves on the
client side and they would be saved on the database hence making it easier for regular
customers to make orders. On the home screen the customer will navigate the menu and add
menu items desired to the cart. Once the customer has made an order, the kitchen staff from
the server side will be able to see the order with all the details and modify its status once the
order is ready. Only an authorized user will be able to login to the server side where he/she can
create, update, delete menu items and facilitate order management. Once the customer places
an order they will be required to make a payment for the order through PayPal or they could
also pay once the delivery is made to their location.
Kitchen staff
CLIENT
MYSQL
SIDE
Navigate menu orders DATABASE
and place order,
pay order
Customer
12
Chapter 3: System Development Methodology
3.1 Introduction
This Chapter will review the methodology that will be used for the proposed restaurant system.
The focus will be on the type of methodology to be adopted in the development, functional
requirements and non-functional requirements. A system development methodology is the
process followed by an individual or organization in order to conduct all the necessary steps to
analyse requirements, design, implement and maintain Information systems.
The Agile approach of development will suit the development of the proposed system since it
advocates for evolutionary development, collaborative effort between the end user and
developer and it encourages flexible responses to changes even at late stages of the
development cycle. In our case it is important to work side by side with the end users to achieve
the desired functionality because the system will play an important role in their productivity
13
i) Requirements
The requirements for the learning app are identified. It defines what the system should be able
to do and how it should do it. In this stage the environment is explored while potential
technologies needed to build the system are examined. The software developer interacts with
the customers gathering a draft of their requirements while ideally coming up with an estimate
of the time required to complete the tasks discovered in this stage. At the end of this stage the
developer has a concept of what is required.
ii) Planning/Design
This is where the end user and the system developer agree on the deliverables and the time it
will take to produce a system with solutions to their identified problems. Upon proper
understanding of the deliverables the developer and the end user work hand in hand where the
developer has to design the simplest solution possible, introduce the system to the end user and
get the feedback. It is from there that the developer adapts an initial design. There is need for
a good relationship between end user and developer for this stage to be successful since it is
the end users’ decisions that will identify the critical functionalities to be focused on by the
developer.
iii) Development
Here the system is developed and concepts are brought to life. Coding of the system is done
and all elements and functions are added. it is mandatory for the developer to be available and
ensure that a system runs smoothly after deployment to the market. In this stage the developer
provides user support and at times he/she can consider additional of new features.
iv) Testing
After the development the system is tested to ensure it meets the requirements initially stated.
Changes are also made to fix any errors or add any extra factors. Iterations are cycles that
involve testing the system with end user, getting feedback and implementing change where
needed. In this stage the developer is free to manipulate the system functionalities and upon
consulting the end user the developer can make adjustments to the predetermined schedule.
In this phase, the system is deployed as it ready for use. Feedback is given by those who use
the system and after a thorough review extra additions and removals are
14
3.3 Analysis
System requirement analysis is the process of learning, identifying, determining and
documenting end users’ expectations and needs of the system to be designed that will solve a
particular problem. The Process generates a software requirement document that captures the
proposed systems’ functionality, design constraints, performance and quality attributes.
(Catannio, 2006)
The system will be designed using object-oriented analysis and design technique to create the
classes and objects. Object-oriented analysis and design are technical approach used in the
analysis and design of an application through application of object-oriented paradigm and
concepts. (Technopedia, 2020). It is preferred due to its real-world modelling and improved
reliability and flexibility.
• Authentication
This will include a login page where the customers can either register an account or log in to
an already created account.
• Menu management
Provides functionality for the admin only. It can only be accessed by admins and not customers.
15
• Menu navigation
The customer will be able to navigate from the menu category into the food menu, view the
food description and add chosen item(s) to cart with ease.
• Order management
A customer will be able to place an order and view the details of the order including the price
and description of the meal selected and once selected the order is added to cart. From the
server side an authenticated user will be able to view the order and order details and modify
the order status once order is ready.
• Reporting function
The system will have the ability to generate a report of requests made from the database
16
3.4 System Design
System design is the process where a software engineer defines the structure of a system in
terms of modules, architecture, data and interfaces based on the requirements. Defining the
structure of interacting components and how they fit each other is what the activity system
design entails
i. Data flow diagram -Will be used to show flow of the restaurant data within the system.
ii. Flow chart- a diagram that will be used to demonstrate step by step how a particular
problem will be solved
3.5.2 MYSQL
This is the database system that will be used for the storage of data. This is due to its high
demand and on0demand scalability as the application will have large amounts of data.
17
3.6 Methods used to test System
To test the functional and non-functional system requirements black box software testing
method will be adopted. It will be the best method to use because the end users of the proposed
system are only interested on the behavioural function of the system based on requirement
specification. The method does not require user to have knowledge of programming in order
to test and it also saves on time.
i. Cart- The customer can add menu items, where the total price and quantity of menu
items selected will be displayed
ii. Orders- This module is where according to the access levels the end user can view
orders, place orders and modify orders.
iii. Menu -The module will have a scroll view of the restaurant’s menu and according to
level access end user can view, create, update, delete menu items.
iv. Administrator Module-This is the module that will enable the management to add more
items in menu or delete items from menu. This module will also allow them to view
orders.
v. User Module-This module will allow the customers to order food from the restaurant.
It will also allow the customers to order drinks and light snacks at the restaurant.
Finally, it will allow the customers to pay for the food and drinks with a payment
method that is most suitable for them.
18
References
Ashutosh Bhargave, N. J. (2013). Digital Ordering System for Restaurant Using Android.
International Journal of Scientific and Research Publications Volume 3.
Common Restaurant Problems and Solutions. (2017, March 21). Retrieved from Glimpse
Corp.: https://www.glimpsecorp.com/restaurant-problems-and-solutions/
Dana, K. (2016). Home Touch Bistro. Retrieved from Touch Bistro Website:
https://www.touchbistro.com/
How to Keep Restaurant Customers Coming Back for More. (2019). Retrieved from Smart
Web Restaurant: https://swebrestaurant.com/blog/article/keeping-customers-coming-
for-more.
Julie Kendall, K. K. (2023). Systems Analysis and Design, 11th edition. Pearson Prentice.
POS, R. (2022, June 20). What Is Restaurant POS System: Everything You Need To Know.
Retrieved from Restorapos: https://restorapos.com/blog/what-is-restaurant-pos-system
R Adithya, V. K. (2018). Online Food Order System for Restaurants. International Research
Journal of Engineering and Technology (IRJET).
Reddy, S. (2016). An Online Food Court Ordering System. Journal of Information Technology
& Software Engineering.
19
Santhosh, K. M. (2015). Touch Screen Based Advanced Menu Ordering System for
Restaurants using Raspberry Pi. International Journal of Scientific Engineering and
Technology Research, 2319-8885.
20