Final Year Project Resturant managment system Last Update
Final Year Project Resturant managment system Last Update
GROUP MEMBER
No Name Id No
1. Abdulbari Ibrahm.………..1946/14
2. Melka Amsalu……………..3378/14
3. Elsiye Bunro……………….0924/13
4. Omar Murad………………2251/13
5. Firaol Gonde..……………...2946/14
Project Advisor:
Mr.Kelemu D.(MSc)
I
Acknowledgment
We would like to take this opportunity to express our heartfelt gratitude to all those
who have supported us throughout the completion of this group project.
First and foremost, we extend our deepest appreciation to our project advisor,
Mr.Kelemu D (MSc), for his invaluable guidance, encouragement, and unwavering
support. His expertise and constructive feedback were instrumental in shaping this
project and helping us navigate through its challenges.
We are also grateful to our teammates for their dedication, collaboration, and hard
work. The success of this project is a testament to our collective effort and
commitment, and we could not have achieved it without their contributions.
Additionally, we would like to thank our families for their constant love,
understanding, and encouragement. Their unwavering support has been a source of
motivation throughout our academic journey and has enabled us to focus on our
studies and this project.
Lastly, we extend our sincere gratitude to the faculty and staff of the Information
Technology department at Haramaya University for providing us with the necessary
resources and guidance during our time as students. Their dedication to fostering a
supportive learning environment has been invaluable to our growth as individuals and
professionals.
This project would not have been possible without the combined efforts and
encouragement of these individuals, and we are truly thankful for their contributions.
II
List of Abbreviation
1.DB - Database
2.DBMS - Database Management System
3.IDE - Integrated Development Environment
4.IT - Information Technology
5.OS - Operating System
6.PHP - Personal Home Page
7.RBS - Restaurant Billing System
8.RDBMS - Relational Database Management system
9.SDK - Software Development Kit
10.SQL - Structured Query Language
III
Table of contents
Approval sheet ................................................................................................................I
Acknowledgemt ............................................................................................................ II
List of abbreviation ......................................................................................................III
Abstract ...................................................................................................................... VII
Chapter One: Introduction ............................................................................................. 1
1.1. Background Harla Cafe and Restaurant ........................................................... 1
1.2. Introduction ...................................................................................................... 1
1.3. Statement of the problem ................................................................................. 2
1.4. Objectives .........................................................................................................3
1.4.1. General Objective ...................................................................................3
1.4.2. Specific Objectives .................................................................................3
1.5.Scope and Limitation of the Project ..................................................................4
1.5.1 Functional Scope ..................................................................................... 4
1.5.2 Technical Scope .......................................................................................4
1.5.3 User Roles ............................................................................................... 5
1.5.4.Limitation ................................................................................................ 5
1.6 Significance of the Project ................................................................................ 5
1.7. Methodology .................................................................................................... 6
1.7.1. System Development Methodology ....................................................... 6
1.7.2. Data Collection Methods ........................................................................6
1.7.3. System Development Tools ....................................................................7
1.8. Project schedule ............................................................................................... 8
Chapter Two: System Requirements ............................................................................. 9
2.1. Introduction ...................................................................................................... 9
2.1.1. Existing System Overview ..................................................................... 9
2.1.2. Drawbacks of Existing System ...............................................................9
2.2. Proposed system .............................................................................................10
2.2.1. Overview .............................................................................................. 10
2.2.2. Functional requirements ....................................................................... 10
2.2.3. Nonfunctional requirements ................................................................. 11
2.2.3.1. Usability ......................................................................................11
2.2.3.2. Reliability ....................................................................................11
2.2.3.3. Performance ................................................................................ 12
IV
2.2.3.4. Scalability ................................................................................... 12
2.2.3.5. Legal ........................................................................................... 12
2.2.4. Glossary ................................................................................................13
Chapter Three: Requirements Analysis ....................................................................... 14
3.1. System models ............................................................................................... 14
3.1.1. Scenarios ...............................................................................................14
3.1.2. Use case model ..................................................................................... 15
3.1.3. Object model (Class and Object diagrams) .......................................... 18
3.1.4. Dynamic model (Sequence, Activity, state Chart Diagrams) ...............25
3.1.5. User interface ........................................................................................31
Chapter Four: System Design ...................................................................................... 33
4.1. Introduction .................................................................................................... 33
4.1.1. Overview of System Design .................................................................33
4.1.2. Design Goal .......................................................................................... 34
4.2. Current Software architecture ........................................................................ 34
4.3. Proposed Software Architecture .................................................................... 35
4.3.1. Overview .............................................................................................. 35
4.3.2. Sub-system Decomposition with Services (with Deployment Diagram)36
4.3.3. Hardware / Software mapping ..............................................................38
4.3.4. Database design .................................................................................... 39
4.3.4.1. Normalization: ............................................................................ 39
4.3.4. Persistent Data Management ......................................................... 42
4.3.5. Access Control and Security ................................................................ 42
4.3.6. Global control flow ...............................................................................43
4.3.7. Boundary Condition ............................................................................. 43
4.4. Subsystem services .........................................................................................44
4.5. Data dictionary ............................................................................................... 45
4.6. Glossary ..........................................................................................................46
Chapter Five: Implementation......................................................................................47
5.1. Introduction.....................................................................................................47
5.2. Development Environment.............................................................................47
5.3. Key Implementation Steps..............................................................................48
5.4.Quality Assurance........................................................................................,,..49
Conclusion and Recommendation...............................................................................51
Appendix......................................................................................................................52
References....................................................................................................................53
V
List of Tables
VI
List of Figure
Figure 1.Gantt chart for project schedule ................................................................8
Figure 2.UseCase Diagram ................................................................................... 15
Figure 3.Class Diagram .........................................................................................19
Figure 4.Object Diagram .......................................................................................22
Figure 5. Sequence Diagram for Manager ............................................................ 25
Figure 6. Sequence Diagram for Customer ...........................................................26
Figure 7. Sequence Diagram for Cashier .............................................................. 26
Figure 8. Sequence Diagram for Kitchen Staff ..................................................... 27
Figure 9. Activity Diagram for Manager .............................................................. 27
Figure 10. Activity Diagram for Customer ........................................................... 28
Figure 11. Activity Diagram for Cashier .............................................................. 28
Figure 12. Activity Diagram for Kitchen Staff ..................................................... 29
Figure 13. state Chart Diagram for Manager ........................................................ 29
Figure 14. state Chart Diagram for Customer .......................................................30
Figure 15. state Chart Diagram for Cashier .......................................................... 30
Figure 16. state Chart Diagram for Kitchen Staff .............................................. 31
Figure 17. Home Page User interface ................................................................... 31
Figure 18. Login Page User interface ................................................................... 32
Figure 19. Cashier Dashboard User interface ....................................................... 32
Figure 20. Proposed system architecture .............................................................. 36
Figure 21. Sub-system Architecture ......................................................................37
Figure 22. Hardware and Software Mapping ........................................................38
Figure 23. Database design ...............................................Error! Bookmark not defined.
VII
Abstract
The Management System for a Restaurant is a web-based application. The main aim
is to provide better communication between customers and restaurants. By using this
application, the user can order from any location. This application will reduce all the
manual processes. So,users can view the restaurant menu from nearby locations, and
can place an order and view the status of the order like cooking/packed/delivered.
The system is designed as a 3-tier architecture. Each user must register with the
system; after logging in successfully, they are able to perform operations. Separate
login pages are provided for logging into the system. To develop this system, we use
HTML, CSS, JavaScript, and bootstrap for the front end, MySQL database as the
back end.
VIII
Chapter One: Introduction
Harla Cafe and Restaurant is a must-visit dining destination for tourists exploring the
historic city of Harar, Ethiopia. Known for its welcoming atmosphere, this restaurant
combines traditional Ethiopian cuisine with a variety of international dishes, making it
an ideal spot for diverse palates. As you step inside, you'll be greeted by friendly staff
who are eager to make your dining experience memorable.
The menu at Harla Cafe features a range of delectable options, from savory injera
served with flavorful stews to mouth-watering grilled meats that showcase the rich
culinary heritage of Ethiopia. Vegetarian and vegan options are plentiful as well,
ensuring that every guest can find something delightful to savor. The restaurant’s
cozy ambiance is enhanced by tasteful decor that reflects local artistry, creating an
inviting environment where you can unwind after a day of sightseeing.
In addition to its excellent food offerings, Harla Cafe is conveniently located near
many attractions in Harar. After enjoying your meal, take a stroll through the
charming streets of this UNESCO World Heritage site, where you can immerse
yourself in the unique culture and history that surrounds you. Whether you're seeking
a casual lunch or a relaxing dinner after exploring the vibrant markets and ancient
sites of Harar, Harla Cafe and Restaurant promises an unforgettable culinary
experience.
1.2. Introduction
1
breakfast, and dinner) of menu items. Each menu item has a name, price, associated
recipe and picture. A recipe for a menu item has a chef, preparation instruction sands
associated ingredients. With this system, ordering and sales management will become
easier and systematic to replace traditional system where are still using paper.
Restaurant management system is the system for managing the restaurant business.
After successful login the user can access the menu page with the items listed
according to the desired time. The main point of this system is to help restaurant
administrator manage the restaurant business. In system user can login into the system,
but the user (waiter) will be there to serve the customer and recording the order into
system.
The system will have admin page in which, he/she will control all system by adding
and deleting users, manage stock, viewing daily sales and price arrangement. The
users will be able to record orders and print receipt.
Harla Cafe and restaurants manage their business by manual especially take customer
ordering. In traditional booking system and restaurant waiter takes the customer
ordering by manual system with using paper. Customer does some formal
conversation like hello, hi, etc. Than he demands for today's menu and do some
discussion over menu items then he orders. It takes 5 to 10 minutes to book the order
and waiter book the order on paper so there is probability of lost and duplication of
customer information. Restaurant management system puts the order in a queue with
specific priority according to time and quantity, and then a cook is assigned for the
specific order to complete it.
Besides, the restaurant waiter information also by manual system kept use paper and
this is difficult for restaurant administrator to find waiter information, probability
missing the paper and difficult to arrange the schedule. Initial problem is that the
customer has to get connected over the phone; it would be harder if the restaurant is
very popular and busy. Sometimes, waiter information and customer information is
important to restaurant administrator for reference in the future. The chances of
2
committing mistakes at the restaurant side in providing a menu list for a specific time
would be more.
Many people have experienced going to a restaurant where the service is poor and
there is a lack of attention from the wait staff. The paper menus can be flimsy, hard to
navigate, and outdated. This restaurant menu and management system will replace the
paper waste, is more maintainable, and allows for greater customer engagement. The
problem confronting the research is to determine the Documentation for online
restaurant management system.
Also owners many restaurant has failed to going with the business because of fraud
and dishonest of the many employees. They still some of the money from the
restaurant hence to reduce the profit of the business, this has led to loss ultimately
business die.
1.4. Objectives
The general objective of this project is to develop a web based system for Harla Cafe
and restaurant.
Specific Objectives for the Restaurant Management System of the Harla Cafe And
Restaurant
To gather the requirements using requirement gathering techniques such as
interviews, surveys, and document analysis.
To analyze the gathered requirements using tools like Use Case Diagrams,
Scenarios, and Object Models.
To design the system architecture using Modeling Tools like E-draw-Max,
including data flow diagrams and user interface mockups.
To implement security measures such as encryption, authentication, and access
To test the system through manual and automated testing approaches.
3
To deploy the system and integrate it into the Harla Cafe and Restaurant
infrastructure.
To provide training and support for staff on how to use the new RMS.
To monitor and maintain the system post-deployment with ongoing updates.
4
1.5.3 User Roles
Admin: Full access to all system functionalities, including menu updates, employee
management, and reporting.
Staff: Access to order management, inventory tracking, and customer service features.
Customers: Access to online menu browsing, reservation booking, and feedback
submission (if applicable).
1.5.4.Limitation
The limitations of the system is it only supports the English language. The system will
not handle complex accounting or payroll management, as these are outside the
primary focus of the project. The internet network is required and it only recognize
Ethiopian currency only.
Track down sales for each item: All transactions are captured by the system,
including orders, payments, data are accurate and spot on to the last item.
Revenues, therefore, are accurately giving the real health of operation.
Generate financial statements fast and accurately: Where transactions are
captured digitally, manual errors are avoided. For example, each transaction is
time-stamped and the recorded with other details such as sold items and the
Customer name who performed the transaction.
Better Custosmer Service: This is probably the best reason why use Restaurant
Management System to make customers happy. Most Restaurant Management
Systems come with a CRM. This module records customer information like name,
contact details, and transactions. With more knowledge of customer that can
deliver a more satisfying service.
Efficient Staff Management: A Restaurant Management System with an
employee scheduler will help allocate more staff during peak hours and less on
downtime. By aggregating sales data with staff schedule, you can match demand
with supply and ensure resources those are optimized, neither over nor under-
utilized.
5
1.7. Methodology
We chose the Agile methodology for our project because it gave us the flexibility to
make changes quickly and allowed us to adapt to the feedback we received during
development. Agile breaks the project into smaller parts, called sprints, where we
focused on building and testing specific features before moving on to the next.
Agile was a good fit for our project because:
Flexibility: If new requirements or changes came up, we could easily adjust
without disrupting the whole project.
Continuous Feedback: After each sprint, we got feedback from the Restaurant
manager , making sure we were building something useful.
Faster Progress: We delivered small parts of the system early, so the organization
could start testing while we kept working.
Team Collaboration: Agile encouraged us to communicate regularly, which kept
the team on track and helped solve issues quickly.
Risk Management: Breaking the project into sprints allowed us to spot and fix
problems early, reducing the chance of big delays.
To understand the current challenges and processes at Harla Cafe and Restaurant and
identify areas for improvement, several data collection methods were employed.
These methods were instrumental in gathering insights into how the current manual
administrative and operational systems function, as well as identifying specific areas
that require automation.
Interviews: we conducted interviews with key staff members at Harla Cafe and
Restaurant, including managers, waitstaff, and kitchen personnel, to gain insights into
their daily operations and the challenges they face with the existing manual system.
These interviews highlighted inefficiencies such as delays in order processing,
communication breakdowns between the front-of-house and kitchen, and difficulties
in inventory management. We also consulted with the restaurant's management to
6
better understand their technical requirements and how the proposed system could
enhance operational efficiency and integrate seamlessly with their workflows.
A range of development tools will be utilized to support the RMS project. Project
management will be facilitated by tools like Microsoft Project, which will help in
planning, scheduling, and tracking progress through each phase. Development tools
such as
Visual Studio Code as an IDE
Modeling tools like E-draw-Max and Figma Software.
For web development, HTML, CSS, and JavaScript will be used for the front end,
while PHP and MySQL will handle the back-end.
Additionally, various hardware components will be crucial, including servers to store
and manage records securely, networking equipment to ensure smooth
7
communication between departments, and high-performance desktops/laptops for
developers to efficiently run and test the system.
8
Chapter Two: System Requirements
2.1. Introduction
Harla Cafe and Restaurant stores and maintain their day to day transactions
manually.But some of them are having automation system which is helping them to
store the data. But such restaurants are storing the information about the orders and
the customer information. They don’t have 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 is happening at one time. So they are storing them and then
at last, the restaurant managers will able to see the data of last day.The software
which restaurants are using is very costly and their maintenance which is very high.
This software is basically used only for reservation means table booking.So if we
want to just order some food or store any feed backs then it wont be any helpful.
At last the restaurants have to store by themselves which will became no use of
software.
The user interface of the application is also not that much attractive
So from the restaurants point of view, they are able to store only one kind of
information. There is no security feature also.
If any of party order is canceling at the last moment, it will make avariation in the
already created records and also will causes the wastage of foods.
Many of the systems will not store the budget details for a long time.
This will creates lot of mistakes like misspellings, calculation problems,duplicate
entries etc.
It is difficult for Managers to supervise all the sides of restaurants like kitchen,
waiter, and counter simultaneously.
There is no functionality to get the updated details at all time to the Owners and
Managers from all the branches
9
2.2. Proposed system
2.2.1. Overview
Restaurant Management is having many modules, which make the software more
efficient and user friendly. The modules make the maintenance of the database
easier.Every module is divided on the basis of the scenarios. The main three scenarios
are
10
Kitchen Display System (KDS) for Order Tracking
A digital display system that replaces traditional kitchen printing.
Orders are displayed with real-time updates on how far along each one is in the
preparation process.
Reduces errors while improving kitchen productivity.
2.2.3.1. Usability
The system's interface was designed to be simple and intuitive to ensure all user roles
required minimal training:
Consistent design principles were applied across all pages using Bootstrap,
ensuring familiar and user-friendly layouts.
Drop-down menus, tool-tips, and placeholder text were used to guide users during
interactions.
A user feedback mechanism was included to allow for reporting usability issues
and continuously refining the design.
2.2.3.2. Reliability
To maintain high availability and minimal downtime, especially during peak periods ,
the following reliability measures were taken:
Regular automated database backups were planned to ensure data recovery in
case of a failure.
Error-handling mechanisms were built to provide meaningful feedback to users
and log issues for debugging.
Testing under simulated peak loads helped identify and address potential
bottlenecks, improving system robustness.
11
2.2.3.3. Performance
To ensure fast access to data and quick response times, even with a large number of
concurrent users, the following techniques were applied:
Database optimization was achieved by indexing frequently accessed columns
and structuring queries efficiently to reduce response time.
Pagination was implemented for data-heavy operations (e.g., displaying student
records) to minimize server load.
Server-side caching techniques were used to store frequently accessed data
temporarily, reducing the need for repetitive database queries.
2.2.3.4. Scalability
To accommodate future growth in the number of Customer and staff, the following
scalability strategies were employed:
The database schema was designed with normalization principles to allow
efficient handling of increased data volumes.
Modular development practices were followed, ensuring new features could be
integrated without disrupting existing functionality.
The system architecture supported load balancing, enabling horizontal scaling by
adding more servers if user traffic increased significantly.
2.2.3.5. Legal
The system to be developed is not conflict with any government directives, because it
gives services for the people effectively and efficiently, Provide compliance with
health, safety, and taxing regulations. The processes are automated to eliminate the
risk of non-compliance.
12
2.2.4. Glossary
13
Chapter Three: Requirements Analysis
In this section, we present various system models used to describe the system from
multiple perspectives. These models help to understand the structure, behavior, and
interactions within the system.
3.1.1. Scenarios
In this section, we outline various scenarios that illustrate how users interact with the
proposed Restaurant management system. Each scenario represents a typical use case,
detailing the sequence of actions and the expected outcomes. Scenarios help in
understanding user needs and the functionalities required from the system.
Menu Creation and Management:
Admin and waiter creates and edits the restaurant's menu, categorizing items (e.g.,
starters, main courses, desserts, beverages).
Order Management:
Chefs access customer orders in real-time, including dish quantities and special
instructions.
Delivery Time Setting:
Chefs estimate preparation times for each order to ensure timely service.
Order Status Updates:
Waiter mark orders as "In Progress" or "Delivered" to notify customers.
Menu Browsing and Ordering:
Customers view the menu, including popular items and daily specials, and place
orders directly.
Order Tracking:
Customers track their order’s preparation status and expected delivery time, as
updated by chefs.
Order Review and Billing:
Cashiers can view all customer orders to generate accurate bills
14
Payment Processing:
Cashiers accept payments in forms (Chapa) and provide receipts to customers.
Transaction Records:
Cashiers maintain a record of all transactions, ensuring daily income is accurately
reported
15
Use Case Name Sign Up
Actors Customer
Description A new customer creates an account in the system.
Precondition The user must not already have an account in the system.
Alternative If required fields are not filled, the system prompts the user to
actions complete all necessary information.
Table 2: Sign Up
Actors Customer
Description Customers can view the restaurant menu to browse food and
drink options.
Precondition The menu must be preload into the system.
16
Use Case Name Take Order
Alternative If bill generation fails, the system allows the cashier to retry.
actions
Table 6: Bill Generation
Actors Customer
Description Customers complete the payment process for an order.
Precondition The bill must be generated and presented to the customer.
17
Use Case Name View Order
Actors Manager
Description The manager oversees restaurant operations, including
monitoring staff, inventory, and performance.
Precondition The manager must be logged in with appropriate
permissions.
Post-condition The manager's requested actions (e.g., performance
updates, inventory changes) are completed.
Alternative actions If data updates fail (e.g., inventory changes not saved), the
system provides an error message.
Table 9: Manage
Class diagrams
The Class Model is a vital part of the object-oriented design, representing the different
entities in the Restaurant management system. This model defines the classes, their
attributes, methods, and the relationships among them, forming the foundation for
system development.
18
Figure 3.Class Diagram
19
Kitchen Staff
Class Attributes Methods Relationships
Kitchen Staff - Id (int) - takeOrder() - Many-to-Many
- Name (String) - cook() with Order
- Username(String) - notify()
- Password (String)
Table 11: Kitchen Staff Class Diagram
Customer
Class Attributes Methods Relationships
Customer - Id (int) - Register() - Many-to-Many
- Name (String) - Login() with Order and
- Username(String) - Order() Payment.
- Password (String) - CancelOrder()
- modifyOrder()
- Payment()
Table 12: Customer Class Diagram
Cashier
Class Attributes Methods Relationships
Cashier - Id (int) - Take_Payment() - One-to-Many
- Name (String) - Check_Order() with Billing and
- Username(String) Order.
- Password (String)
Table 13: Cashier Class Diagram
Order
Class Attributes Methods Relationships
Order - Order_Id (int) - editOrder() - Many-to-Many
- Order_type - addOrder() with Menu and
(String) - deleteOrder() Kitchen Staff.
- Order_description - searchOrder() - Connected to
(String) Customer and
- Order_number Cashier.
(int)
Table 14: Order Class Diagram
20
Menu
Class Attributes Methods Relationships
Menu - menu_Id (int) Item() - Many-to-Many
- menu_item with Order
(String)
- menu_price (int)
Table 15: Menu Class Diagram
Payment
Class Attributes Methods Relationships
Payment - Payment_Id (int) - Pay() - Many-to-One
- Customer_Id (int) - CancelPayment() with Customer.
- Payment_type - One-to-One with
(String) Order.
Table 16:Payment Class Diagram
Billing
Class Attributes Methods Relationships
Billing - Bill_number (int) - printBill() One-to-One with
- Order_Id (int) Order and
- Customer_Id (int) Payment.
- Total_price (int)
21
Object diagrams
The Object Model serves as a blueprint for the record management system,
illustrating the various classes, their attributes, methods, and relationships. It provides
a clear framework for understanding how different entities within the system interact,
facilitating the design and implementation of the system.
1. Manager (M1)
Object Name Attributes Relationships Functionalities
Manager -Username: -Creates& manageCustomer()
"adminusername" Manages:Customers(C1), - manageMenu()
22
2. Customer (C1)
Object Name Attributes Relationships Functionalities
Customer - Username: - Places Orders (O1) - order_item()
"customerusername" - Checks Menu (M2)
- Password: -MakesPayment (P1)
"customerpassword
Table 19:Customer Object Diagram
3. Cashier (C2)
Object Name Attributes Relationships Functionalities
Cashier -Username: - Receives Payment take_Payment()
"cashierusername" (P1) from - check_Order()
-Password: Customer (C1)
"cashierpassword" - Checks Orders
- Name: "melka" (O1)
- Generates Billing
(B1)
Table 20:Cashier Object Diagram
23
5. Payment (P1)
Object Name Attributes Relationships Functionalities
Payment - Payment ID: - Made by - pay()
6. Billing (B1)
6. Menu (M2)
24
8. Order (O1)
Object Name Attributes Relationships Functionalities
Order - Order ID: "1235" - Placed by - list_menu()
- Order Date: Customer (C1)
"1/3/2017" - Checked by
Manager (M1)
- Processed by
Cashier (C2)
- Prepared by
Kitchen Staff (K1)
Table 25:Order Object Diagram
Sequence Diagrams
1. Sequence Diagram for Manager
25
2 .Sequence Diagram for Customer
26
Figure 8. Sequence Diagram for Kitchen Staff
27
2 .Activity Diagram for Customer
28
3 .Activity Diagram for Kitchen Staff
29
2.state Chart Diagram for Customer
30
4.state Chart Diagram for Kitchen Staff
1. Home Page:
Navigational Paths
1. Path: Launch Application > Home Page
2. Description: Upon launching the application, users are greeted by the home page,
which contains an overview of the system's features and options to log in or
access help resources.
31
2 . Login Page
Navigational Paths
4. Path: Home Page > Login Page > Dashboard
5. Description: Users click "Login" on the Home Page, enter their username and
password (mandatory), and are redirected to the Cashier Dashboard with sections
like Process Orders, View Payments, and Logout.
32
Chapter Four: System Design
4.1. Introduction
Project has been designed using numerous diagrammatic techniques, the most general
modelling language to describe both the structure and behaviour of a software system
is Unified Modelling language (UML). Use case diagrams have already been used in
the requirements analysis as a way to graphically overview the order process with in
the system. Other diagrams from the UML family are used in the design stage to show
the structure and behaviour of numerous sophisticated design features.
33
Data layer:
Structured database: Keep SQL database (eg postgresql) Transaction data (order,
invoice, employee information).
Collection: Collection or Redis in the memory speeds real -time functionality (eg
accessibility updates).
The system designs prefer to create a strong, scalability and safe solution for
operations, customer support and management requirements for modern restaurants.
These goals ensure that the system increases efficiency, user satisfaction and
adaptability as the business grows.
To reduce manual errors and employee workload, you automate repeated tasks
such as order processing, table reservation and warehouse tracking.
Protect customer payment data with end-to-end encryption and Safe Payment
Gateway Use the role -based access control (RBAC) to limit system access
Provide interface with intuitive knowledge for different users touch screen
system with submission of a touch. user-friendly menu with allergen filters and
real -time orders.
Support multi-launch management through centralized cloud-based
control.Handle top traffic with automatic scaling of cloud infrastructure.
Currently, the restaurant does not use any automatic software to manage operations.
All activities, including orders that take orders, stock tracking, reservation and staff
management, are handled manually. This leads to many operational challenges:
Time waste:The manual stream of taking orders, transferring them to the kitchen and
managing the customer's bills will take time. The waiter must physically transfer
orders to the kitchen, which delays the service and increases the possibility of errors.
34
handwritten notes. It is boring and there is a possibility of loss of information or
inaccuracy.
Disabled Operations Management:The use of physical means to manage the
planning of orders, inventory and employees leads to operating barriers, especially in
busy hours. This prevents the growth efficiency of the restaurant with an increase in
customer demand.
Slow order processing:When orders are received in parties, workers must manually
filter them and cause dull treatment. It can give rise to delayed service and unhappy
customers.
Security issues:Without a protected method for financial transactions, warehouse use
and monitoring of employee work programs, sensitive company data is unsafe for
unauthorized reading or changes. There are no concrete audit tracks to monitor
individual orders or transactions.
4.3.1. Overview
We’re design of the new Restaurant Management System is such that it employs a
client-server architecture. This means that the staff and customers can access the
system using any web browser without the need to install a special application. All the
processing is performed on the server, which enables a fast and reliable system easily
usable on different entities, that is desktops, tablets, and smartphones.
1. Client Layer:
• Web Interface: The system has a simple and user-friendly web interface, which is
built using HTML, CSS, and JavaScript. This ensures that the system can be accessed
from any device with a web browser, such as desktop computers, laptops, tablets, and
smartphones.
• User Roles and Permissions: Every user has a specific role in the system, such as
administrator, cashier, or chief. This helps ensure that only authorized users can
access information.
35
2. Application Layer:
• PHP Server Logic: The server-side part of the system is built using PHP. This part
of the system handles all the requests from users, such as order item or payment ,
and it communicates with the database to retrieve or store the necessary information.
• Validation and Error Handling: The application layer checks the input provided by
users to make sure it is correct and handles any errors that may occur.
3. Database Layer:
• MySQL Database: The MySQL database stores all the documents and the related
metadata, such as the sender, recipient, date. This structure allows for quick searches
and makes it easy to retrieve order. The database is designed to handle a growing
number of records as the restaurant needs expand.
4. Security Layer:
• Role-Based Access Control (RBAC): This ensures that only users with the
appropriate permissions can access or modify certain documents.
To make the system easier to understand and manage, we divided it into several
smaller parts, called sub-systems. Each sub-system is responsible for a specific task,
which makes the whole system more organized and efficient.
36
1. Authentication and Authorization Sub-system
Purpose: Controls user login, sign-up, and access to make sure users with
permission can use specific system features.
How It Works: Checks user login details and gives permissions based on roles
such as Manager, Waitstaff, Kitchen Staff, or Customer.
2. Order Management Sub-system
Purpose: Takes care of customer orders for eating in taking out, and delivery.
How It Works: Saves order details, keeps an eye on order status in real-time, and
lets the kitchen know what to prepare.
3. Reservation and Table Management Sub-system
Objective : for holding the reservations in a table-ahead-seating
How it works : This gives customers online table booking facility and staff real
time to see the availability of tables.
4. Inventory Management Subsystem
Objective: Watch the stock and avoid out-of-stock and excess waste generation.
How it works: monitors how much we are using of each ingredient and
automatically updates stock with every order placed, sending our managers when
they run out.
5. Notification Sub-system
Objective: to send alerts to service staff of significant activities such as new
orders, low stock, or soon to be reservations.
How This Works: The real-time notifications getting displayed in dashboards
(email or SMS if required).
37
4.3.3. Hardware / Software mapping
To ensure that the system runs efficiently and can handle the number of users and
documents it will manage, we carefully planned how the software will interact with
the hardware. Here’s how we mapped out the hardware and software:
1. Server-Side Hardware:
• The system will be hosted on a central server that has enough power to handle
multiple users at once. This server needs to have:
• Multi-core Processor: To manage multiple user requests at the same time.
• At least 8GB of RAM: To make sure the system runs smoothly and can handle the
database and application processes without slowing down.
• SSD Storage: Using solid-state drives (SSDs) will allow for faster access to files and
documents, which is important when dealing with large volumes of data.
2. Software:
• Operating System: We recommend using a Window-based OS, because it is secure,
reliable, and optimized for server environments.
• Web Server: The Apache web server will serve the web pages and handle the
requests coming from users.
• Database Server: MySQL will manage all the data storage, ensuring that documents
are stored safely and can be retrieved quickly when needed.
38
4.3.4. Database design
Data are known facts that can be recorded and that have implicit meaning. A database
is a collection ofrelated data. Database management system is a collection of
programs that enables users to create and maintain the database. It is a general-
purpose software system that facilitates the processes of defining,constructing,
manipulating, and sharing database among various users and applications
4.3.4.1. Normalization:
1. Goes Relationship
UNF:
Attributes: R_id, R_name, Contact_no, Address, Cus_id, Cus_name
1NF:
Customer Table: Cus_id, Cus_name, Contact_no, R_id
Manager Table: M_id, M_name, Contact_no, Address
2NF:
Customer Table: Cus_id, Cus_name, Contact_no, R_id
Manager Table: M_id, M_name, Contact_no, Address
3NF:
Manager Table: M_id, R_name, Contact_no, Address
2. Serves Relationship
UNF:
Attributes: Cus_Id, Cus_name, Contact_no, W_id, Wname
1NF:
Customer Table: Cus_id, Cus_name, Contact_no
Cashier Table: Ch_id, Ch_name, Cus_id
2NF:
Customer Table: Cus_id, Cus_name, Contact_no
Cashier Table: Ch_id, Ch_name, Cus_id
3NF:
Customer Table: Cus_id, Cus_name, Contact_no
Cashier Table: Ch_id, Ch_name, Cus_id
39
3. Prepares Relationship
UNF:
Attributes: Chef_id, Chef_name, Order_no, No_items, Ord_time
1NF:
Chef Table: Chef_id, Chef_name, Order_no
Order Table: Order_no, No_items, Ord_time
2NF:
Chef Table: Chef_id, Chef_name, Order_no
Order Table: Order_no, No_items, Ord_time
3NF:
Chef Table: Chef_id, Chef_name, Order_no
Order Table: Order_no, No_items
Order_Info Table: No_items, Ord_time
4. Takes Relationship
UNF:
Attributes: W_id, W_name, Order_no, No_items, Ord_time
1NF:
Waiter Table: W_id, W_name, Order_no
Order Table: Order_no, No_items, Ord_time
2NF:
Waiter Table: W_id, W_name, Order_no
Order Table: Order_no, No_items, Ord_time
3NF:
Waiter Table: W_id, W_name, Order_no
Order Table: Order_no, No_items
Order_Info Table: No_items, Ord_time
5. Places Relationship
UNF:
Attributes: Cus_id, Cus_name, Contact_no, Order_no, No_items, Ord_time
1NF:
Customer Table: Cus_id, Cus_name, Contact_no
Order Table: Order_no, No_items, Ord_time
40
2NF:
Customer Table: Cus_id, Cus_name, Contact_no
Order Table: Order_no, No_items, Ord_time
3NF:
Customer Table: Cus_id, Cus_name, Contact_no
Order Table: Order_no, No_items
Order_Info Table: No_items, Ord_time
6. Contains Relationship
UNF:
Attributes: Order_no, No_items, Ord_date, Food_no, Quantity, Price, Description
1NF:
Order Table: Order_no, No_items, Ord_time
Item Table: Item_no, Quantity, Price, Description, Order_no
2NF:
Order Table: Order_no, No_items, Ord_time
Item Table: Item_no, Quantity, Price, Description, Order_no
3NF:
Order Table: Order_no, No_items, Ord_time
Item Table: Item_no, Quantity, Price, Description, Order_no
Item_Detail Table: Quantity, Price
7. Pays Relationship
UNF:
Attributes: Cus_id, Cus_name, Contact_no, B_no, Price, Ord_detail, Vat
1NF:
Customer Table: Cus_id, Cus_name, Contact_no
Bill Table: B_no, Price, Ord_detail, Vat, Cus_id
2NF:
Customer Table: Cus_id, Cus_name, Contact_no
Bill Table: B_no, Price, Ord_detail, Vat, Cus_id
3NF:
Customer Table: Cus_id, Cus_name, Contact_no
Bill Table: B_no, Price, Ord_detail, Cus_id
Bill_Description Table: Price, Vat
41
4.3.4. Persistent Data Management
42
4.3.6. Global control flow
The control flow of the Restaurant Management System is designed to be simple and
intuitive for users. When a user logs in, they are directed to their dashboard, which
provides quick access to their relevant tasks, notifications, and system features based
on their role.
1. Dashboard Functionality:
Managers can monitor inventory, track orders, and manage staff schedules.Kitchen
Staff receive and process incoming orders, updating the system when meals are
prepared.Cashiers can take new orders, process payments, and update order statuses.
2. System Processing:
Every action is processed by the application server, which communicates with the
database to retrieve or update relevant data.Users can quickly place new orders,
update inventory, generate reports, and manage customer interactions in real-time.The
system logs all activities, ensuring smooth operations and accurate record-keeping.
43
4.4. Subsystem services
44
Automated Restocking: Generates purchase orders for restocking when inventory
reaches a threshold.
Waste Management: Logs food waste to help optimize stock and reduce losses.
Interaction with Other Subsystems:
Integrates with the Order Management Subsystem to update inventory based on order
preparation.Works with the Notification Subsystem to alert managers when stock is
low or supplies need replenishing.
Notification Subsystem
Services Provided:
User Alerts: Notifies staff about new orders, low inventory, or completed
payments.Dashboard Integration Displays notifications directly on users’ dashboards
for quick reference.Real-time Updates Sends instant alerts for urgent actions like
order readiness or stock shortages.
Interaction with Other Subsystems:
Receives triggers from the Order Management Subsystem to notify kitchen staff of
new orders.Coordinates with the Inventory Management Subsystem to alert managers
about stock levels.Works with the Authentication and Authorization Subsystem to
ensure notifications are delivered only to relevant staff.
The Data Dictionary defines the essential data elements used in the Restaurant
Management System (RMS), ensuring clarity and consistency across the system
45
Order_Date DateTime The date and time when the order was placed.
Order_Status String Status of the order (e.g., Pending, In Progress,
Served, Completed, Canceled).
Menu_Item_ID Integer Unique ID for each menu item available in the
restaurant.
Item_Name String Name of the food or beverage item.
Price Integer Price of the menu item.
Bill_ID Integer Unique identifier for each customer bill.
Customer_ID Integer Unique identifier assigned to each customer
(optional for walk-in customers).
Customer_Name String Name of the customer.
Contact_Number Integer String Customer’s contact number
4.6. Glossary
46
Chapter Five: Implementation
5.1. Introduction
We used several tools and technologies to build the system. The development
environment was set up to ensure smooth collaboration between team members and to
provide a structured approach to coding.
Front-End Development: For the front-end, we used HTML, CSS, and
JavaScript. These tools helped us create a web-based interface that was simple,
user-friendly, and accessible on any device with a browser. HTML was used for
structuring the content, CSS for styling the pages, and JavaScript to add
interactivity (e.g., search functions, filtering documents).
Back-End Development: On the back-end, we used PHP with the Laravel
framework as the server-side scripting language. PHP (with Laravel) was
responsible for handling user requests, such as searching for documents or
uploading files, and interacting with the database to retrieve or store information.
Database: We used MySQL to store the documents and their metadata. The
database structure was designed to handle a large number of records efficiently
and to allow fast searches and retrieval of documents based on metadata such as
sender, recipient, and date.
Development Tools: We used VS Code as our integrated development
environment (IDE), and XAMPP for testing and running the system locally.
XAMPP helped us simulate a live environment by providing Apache for the web
server, MySQL for the database, and PHP for server-side scripting.
47
5.3. Key Implementation Steps
48
5.4.Quality Assurance
49
Role of Quality Assurance in Our Project
Functionality: Ensuring accurate document storage, retrieval, and access
management.
Performance Optimization: Maintaining system responsiveness and scalability.
Security Assurance: Implementing data protection measures and compliance.
User Experience: Enhancing interface usability and satisfaction.
50
Conclusion and Recommendation
Conclusion
This project successfully designed and implemented a web-based Restaurant
Management System to address the operational challenges faced by Harla Cafe and
Restaurant. By replacing manual processes with an automated solution built using
PHP, MySQL, and modern web technologies, the system streamlines order
management, inventory tracking, billing, and customer relationship management. The
three-tier architecture ensures scalability while role-based access control maintains
security across different user types (managers, staff, and customers).
Key achievements include reducing order processing time, minimizing human errors
in billing, and providing real-time business insights through reporting modules. While
currently limited to English language and single-branch operations, the system's
modular design allows for future enhancements like mobile app integration, multi-
language support, and multi-location functionality. This implementation demonstrates
how targeted digital transformation can significantly improve efficiency and customer
service in Ethiopia's growing hospitality sector while serving as a model for similar
small and medium-sized restaurants.
Recommendation
51
Appendices
Appendix . List of Questionnaires Interviews
No Question Answer
1 Business Ownership
2 Owner’s Name,Age
4 Owner’s Education background
5 Product selling
6 Product name
7 Why did you choose to become a restaurant manager?
8 What, according to you, is the most important responsibility
of a restaurant manager?
9 Do you think System might replace restaurant staff in the
future?
10 How do you collaborate with a chef who prefers working
alone?
11 How would you convince the head chef to remove or
include specific items on the menu?
12 What would you do if a customer had an allergic reaction?
13 What was the biggest challenge you encountered in your
previous role and how did you overcome it?
14 Do you go through any failure before establishing (business
name)?
15 Does digital transformation help with the sales?
16 Do you plan to upscale and expand your business?
17 If so, what is the problem of upscale and expanding?
18 Do you plan to make digital transformation as your overall
future plan? How?
19 Who are your competitors?
20 What is your Future plan?
21 What can you suggest for a better support to get your
business upscale? And perhaps minimize the challenges in
the future?
22 Can you describe a typical day at work?
52
References
Web-Based Restaurant Ordering Systems: A Case Study. Journal of Hospitality IT,
12(3), 45-62.(“ https://doi.org/10.1080/1528008X.2021.1929876 ”)
IoT in Smart Restaurants: A Systematic Review. IEEE Access, 10, 112345-
112360.(“ https://doi.org/10.1109/ACCESS.2022.3145678 ”)
Adoption of POS Systems in Addis Ababa Restaurants. 5(2), 33-50.(“
http://ejc.et/journals/vol5/iss2/4/ ”)
National Restaurant Association (2023). Technology Trends in Food Service.(“
https://restaurant.org/research/tech-trends ”)
Oracle MICROS (2024). POS System Implementation Guide. (“https://www.oracle.com/ind
ustries/food-beverage/ “)
Square for Restaurants (2023). Inventory Management Best Practices. “https://squareup.com/us/en/r
estaurants/inventory “)
Laravel Cashier (2024). Payment Processing Documentation. (“https://laravel.com/docs/11.
x/cashier ”)
MySQL for Hospitality (2023). Database Schema Examples. (“ https://dev.mysql.com/tech-
resources/hospitality-solutions/ “)
Mealey, L (2019). Why You Need a POS System in a Restaurant. The balance
small business. < https://www.thebalancesmb.com/why-you-need-a-pos-
system-2888877>
WebstaurantStore (March 14, 2019). Front of House vs Back of House<
https://www.webstaurantstore.com/article/5/front-of-house-vs-
back-of-house.html >
53