SOFTWARE_PROJECT_2025
SOFTWARE_PROJECT_2025
Group name id
1.Daniel Arega ----------------------------------------------------------ugr/ 13610/15
2.Esrael Belete ----------------------------------------------------------ugr/ 14482 /15
3.Habtamu Worku ---------------------------------------------------- ugr/ 13745/15
4.Hailamlak Kassaye----------------------------------------------------ugr/ 13750 /15
5.Dawit Gero ------------------------------------------------------------- ugr/ 14429 /15
6.Fraol Mengistu--------------------------------------------------------- ugr/13704 /15
7.Iyasu Yohannes ---------------------------------------------------------ugr/13682 /15
8.Bona Kayo ---------------------------------------------------------------ugr/14511/15
9.Abdisa Abebe ----------------------------------------------------------- ugr/ 13455 /15
10.Hana Kifle ---------------------------------------------------------------- ugr/ 13756/15
11.Chala Mohammed================================= ugr/13599/15
ABSTRACT
This system allows the user to select the desired food items from the displayed
menu. The user orders the food items. The payment can be made online or
pay-on-delivery system. The user’s details are maintained confidential because
it maintains a separate account for each user. This web application for
restaurant management system will provide service facility to restaurant and
also to the customer.
The services that are provided is food ordering and reservation table
management and party organization by the customer through the system
online, customer information management and staff information
management , menu information management and report.
Restaurant staff also quickly view orders and prepare orders without previous
miscommunication. Graphical interfaces are really efficient and effective for
both customers and restaurant staff. For the managers and owners this system
i
is very effective because they can view their requirements in reporting module.
This system has used MVC(Model View Controller) architecture.
Object Oriented approaches have been used in developing. For analysis and design,
Uniform resource modeling was used. PHP, HTML,CSS, JAVASCRIPT has used to
develop the website. MYSQl has been used to create to databases.Any web browser
such as Edge, Chrome, Firefox can be used to access the website in any
environment such as windows or Linux
ACKNOWLEDGEMENT
We would like to express our heartfelt gratitude to our teacher, [Mrs.Martha], for providing us with
the opportunity to work on the Restaurant Management System Website project. Their guidance,
support, and valuable feedback have been instrumental in shaping our understanding and helping us
complete this project successfully. We are also thankful to our institution, [Arsi university], for
providing the necessary resources and environment to foster our learning and creativity. Additionally,
we extend our thanks to our group members for their dedication, collaboration, and hard work
throughout the project. Lastly, we appreciate the encouragement and support from our peers, friends,
and family, who motivated us to strive for excellence. This project has been a valuable learning
experience, and we are grateful to everyone who contributed to its completion.
ii
TABLE CONTENT PAGE
ABSTRACT i
ACKNOWLEDGMENTS ii
TABLE OF CONTENTS iii
LIST OF FIGURES iv
LIST OF TABLE v
1
CHAPTER 1: INTRODUCTION 1
1.1Existing System 2
1.2Statement of Problem 2
1.3Project Objective 2
1.3.1General Objectives 2
1.3.2Specific Objectives 3
1.4 Scope Of Project 3
1.5 Advantages and Limitation 4
CHAPTER 2 BACKGROUND 4
2.1 Introduction 4
2.2 Overview 4
2.3 Comparison of development life cycle 5
CHAPTER 3
REQUIREMENT DETERMINATION AND SYSTEM ANALYSIS
3.1 Requirement Determination 9
3.2 Requirement Analysis 9
3.3 Functional requirement 10
3.4 Non functional requirement 10
3.5 System Methodology 11
3.5.1 Data collection 11
3.5.2 Design Procedures 11
3.6 Targeted Users 11
3.7 System Requirement Phase 12
3.8 User Requirement 12
CHAPTER 4 SYSTEM DESIGN PHASE IMPLEMENTATION PHASE 13
4.1 Use Case Diagram 13
4.2 Use Case diagram of online restaurant management system 13
4.2.1 Use case diagram of Admin 14
4.2.2 Use case diagram of Customer 15
4.3 Class Diagram of online restaurant management system 16
4.4 Dynamic model(sequence diagram) 17
4,5 Entity-Relationship Model 18
iii
4.5.1Entity-Relationship Diagram 19
4.5.2 Relational Model for Online Restaurant Management System 19
4.5.3 ER Diagram for Online Restaurant Management System 19
4.6 Data dictionary 20
4.6.1 Table structure ER of Restruant management system 20
4.7 Graphical User Interface 21
CHAPTER 5 MAINTENANCE 22
5.1 Software Maintenance 22
5.2 software maintenance process 23
5.3 Reccommendation 23
5.4 Conclusion
5.5 References 24
LIST OF FIGURES
LIST OF TABLE
Table Structure for Admin
Table Structure for Leave
Table Structure for Offer
Table Structure for Order
iv
List of abbreviation
CHAPTER 1
Introduction
The problem that many Restaurant businesses face today is to make sure that they
attract new customers and also they keep their existing customers. The cost to
attract a new customer is costlier than retaining the old customer. Therefore, there
is an argument that for a business, existing customer is worthier than a new
customer. In this industry, a customer is likely to return to the restaurant in the
future if they received an excellent customer service as well as appetizing food .
However, if they had to wait for an unreasonable amount of time or there was a
mistake in the order, it’s very unlikely the customer would return.This chapter
gives an introduction to the project by defining the problems encountered by
restaurants, the main objectives that the system expects to achieve and a brief
introduction to existing solutions.
1
EXISTING SYSTEM
The existing system of the restaurant management is
The existing system is manual
The restaurant management has to keep record manually
Lack of security of data.
More manpower.
Time Consuming.
Need manual calculations.
Statement of Problem
Traditionally the method in which customers specify the desired menu to the
waiter who take the order on a paper.personally,he then takes the order to the
kitchen department and then he supply the food item to the customer.so, it was
time a consuming process.It leads to wastage of paper and also it require
reprinting of all menu cards.Also, in many cases for small change to be making in
menu card it is not convenient to print all menu cards again and again.simply
saying that the menu card once printed cannot be changed.After some days,the
menu card lost its worthy look and attractiveness.
Many of the hotel are managed their workflow and services by paper work and
manually which take time and high budget for management.busy day of people
schedule and value of time become important day by day so smart or online
restaurant handle the system as booking and ordering by digitally which become
save manpower and time of staff of hotel.the restaurant are services and facilized
in a traditional way.
General Objectives
The aim of this project is to develop a reliable and sustainable system that will
assist the restaurant by reducing the work of staff,waiter and also to increase
customer satisfaction and also design and implementation of a computerized
restaurant management system website.
2
Specific Objectives
We are developing a system, which can deal with daily activity of restaurant
business
This system is providing an ability to the customer for food order and reserve
table online.
Hence other side admin can manage other activities of restaurant like
employee, menu, food order, parties, table management.
This system is providing an easy way to manage business activity and
employee details and more.
The employee will use system for manage profile and check upcoming party
schedule etc.
If employee wants to take a leave, he can apply for the leave and admin can
manage leaves of employees.
Enable easy authorized modification of data
3
ADVANTAGES
Simplifies Front Office Tasks
Improves guest reservations
Increases multi-tasking
Centralizes Restaurant management
Improve Customer Relationships
Quick & Easy Scheduling
Keep Staff Up-To-Date
Improved Customer Experience
Limitations
If there is a power failure while making a reservation, all the information has to be
feed again.
CHAPTER 2
BACKGROUND
Introduction
This chapter gives an insight to Restaurant Management system similar in nature
Use of Restaurant management system helps to manage staff, sales, customers in
easier manner,Restaurant Management helps to run a restaurant in more efficient
manner. It helps to manage orders, menus, inventory and sales. A comprehensive
tool that allows to see restaurant and its needs at a glance, which can simplify the
workload on a day-to-day basis.
to that of the one being developed in this project. It also gives a brief introduction
to the importance of requirement gathering, a discussion on development
methodologies available as well as a justification on the platform and software
used in this project.
Overview
What is a restaurant management system?
4
specifically designed for restaurants, bars, food trucks and others in the food
due to that different types of projects have different requirements. Therefore, it may
be required to choose the SDLC phases according to the specific needs of the project.
These different requirements and needs give us various software development
approaches to choose from during software implementation
SDLC Models
There are various software development life cycle models defined and designed
which are followed during software development process. These models are also
referred as "Software Development Process Models"
1. Waterfall model
2. V-Shaped model
3. Prototyping model
4· Spiral model
5. Iterative and Incremental model
6. Agile model
7. RAD mode
5
significant. Founded on the model the expansion and testing processes are accepted
out. As Waterfall Model is more traditional and easy to gather requirements and
analysing system, so we choose this model according to complete this project. This
technique works well for big projects that may take numerous months to progress.
Waterfall Model
The Waterfall Model was first Process Model to be introduced. It is also referred to as
a linear-sequential life cycle model. It is very simple to understand and use. In a
waterfall model, each phase must be completed before the next phase can begin and
there is no overlapping in the phases. Waterfall model is the earliest SDLC approach
that was used for software development .The waterfall Model illustrates the software
development process in a linear sequential flow; hence it is also referred to as a linear-
sequential life cycle model. This means that any phase in the development process
begins only if the previous phase is complete. In waterfall model phases do not
overlap
6
Waterfall Model Phases
The sequential phases in Waterfall model are:
2. System Design: The requirement specifications from first phase are studied in
this phase and system design is prepared. System Design helps in specifying hardware
and system requirements and also helps in defining overall system architecture.
developed in small programs called units, which are integrated in the next phase. Each
unit is developed and tested for its functionality which is referred to as Unit Testing.
phase are integrated into a system after testing of each unit. Post integration the entire
system is tested for any faults and failures.
done, the product is deployed in the customer environment or released into the market.
7
6. Maintenance: There are some issues which come up in the client environment.
To fix those issues patches are released. Also to enhance the product some better
versions are released. Maintenance is done to deliver these changes in the customer
environment. All these phases are cascaded to each other in which progress is seen as
flowing steadily downwards (like a waterfall) through the phases. The next phase is
started only after the defined set of goals are achieved for previous phase and it is
signed off, so the name "Waterfall Model". In this model phases do not overlap
8
one phase is carried forward to next phase. For example, even if SRS is not well
defined and requirements can't be freezed, still design starts. Now if any changes are
made in SRS then formal procedure is followed to put those changes in baseline
document.
REQUIREMENT DETERMINATION
Requirements are collected using customer and Admin needs.therefore
depends on that we can identify the following requirement
Customer need online platform to make food order.
They want to see updated Food Menu on web.
Online payment gateway.
Review page to see other customer’s review.
Need system where all activity of restaurant should be done.
Admin don,t want to keep records on paper.
Can Update Menu .
Admin wants to show offers.
Staff can apply for leave.
Need report of online food orders.
Questionnaire
Requirement Analysis
The order should be based on local area.
The kitchen manager can see the order and check weather this order
can be taken or not and then confirm the order and start preparing
The order will take initial time to be prepared.
Table reservation should be done before restaurant opening time.
The whole system is secured, only Admin can access all the data.
9
Functional requirement
In Software development and systems development, a functional requirement defines
a function of a system or its component. A function is described as a set of inputs, the
behaviour, and outputs. Functional requirements may be calculations, technical details,
data manipulation and processing and other specific functionality that define what a
system is supposed to accomplish. Behavioural requirements describing all the cases
where the system uses the functional requirements are captured in use cases.
Functional requirements are supported by non-functional requirements (also known as
quality requirements), which impose constraints on the design or implementation
(such as performance requirements, security, or reliability). Generally, functional
requirements are expressed in the form "system must do <requirement>", while non-
functional requirements are "system shall be <requirement>". The plan for
implementing functional requirements is detailed in the system design. The plan for
implementing non-functional requirements is detailed in the system architecture.
As defined in requirements engineering, functional requirements specify particular
results of a system. This should be contrasted with non-functional requirements which
specify overall characteristics such as cost and reliability. Functional requirements
drive the application architecture of a system, while non-functional requirements
drive the technical architecture of a system
System Methodology
This section elaborates the technical challenges and merit of the project including the
proposed solution that is in our mind to the said problem. In order to conduct this
10
project work, the methodologies mentioned below will be used to select and
Data Collection
In this project the first task we will do is gathering information all about restaurant
management and working principles.
Design Procedures
1. Discover the key user
Begin by understanding our user and product market.ask ourself the key website
question to guide our project, including;
Who will use this website?
What goals do our user have?
What are ou main organizational goal with this website?
2. Define our solution
Generates ideas to solve the key user problem we have identified.use brainstorming
techniques to ideate website feature and elements that will address your users most
urgent needs.
Targeted user
11
System Requirement Phase
Software Requirements:
Web server software: Apache , Xampp.
Server side scripting tool: PHP.
Database tools: MYSQL DBMS.
Compatible operating system: Windows, Mac.
Front end design tool: Html5, CSS3, Java script, J Query.
Visual Studio includes a code editor supporting IntelliSense (the code completion
component) as well as code refactoring. The
integrated debugger works both as a source-level debugger and a machine-level
debugger.
XAMPP is an abbreviation where X stands for Cross-Platform, A stands for Apache,
M stands for MYSQL, and the Ps stand for PHP and Perl, respectively. It is an open-
source package of web solutions that includes Apache distribution for many
servers and command-line executable along with modules such as Apache
server, Maria DB, PHP, and Perl.
HARDWARE
REQUIRMENTS
Client Side
Server Side
User Requirements
To deliver the best service to the users we tried to find out the users necessities which
are below:
Administrator Aspect:
Monitoring the whole system from admin panel.
Taking back up of the database.
Creating, deleting and modifying the records.
Add users for the admin panel.
12
Add customers and other staff.
Keeping the customer’s record like their details.
Organizing their member registration system.
Approve the notice to post.
Monitoring the transaction system.
Customer Aspect:
Signing in and signing up to the system.
Changing their password.
Resetting forgot password
13
14
Use case diagram of customer
15
Sequence Diagram
16
Sequence Diagram for customer
17
Entity-Relationship Model
An entity relationship model, also called an entity-relationship (ER) diagram, is a
graphical representation of entities and their relationships to each other, typically used
in computing in regard to the organization of data within databases or information
systems
18
Data dictionary
19
CATEGORY:
Primary Key: cat_id
Table Description: Shows the categories in variety of food
LEAVE:
Primary Keys: l_id
Table Description: Stores the basic details of staff leave.
OFFER:
Primary Key: offer_id
Table Description: Stores the basic details of food offer
ORDER :
Primary key: order_id
Table Description: Stores all the details of food order.
20
Graphical User Interface
The graphical user interface (GUI) is the only component of the system that the user interacts with
therefore is of great importance. The design had to be simple, clear and concise but whilst also
showing all of the required features. The main objective was to create a GUI that allowed the user to
get the order completed in the minimum time possible.
CHAPTER 5 MAINTENANCE
Software Maintenance
Software maintenance in software engineering is the modification of a software
product after delivery to correct faults, to improve performance or other attributes.
21
Software Maintenance Process
1. The implementation process contains software preparation and transition activities,
such as the conception and creation of the maintenance plan; the preparation for
handling problems identified during development; and the follow-up on product
configuration management.
2. The problem and modification analysis process, which is executed once the
application has become the responsibility of the maintenance group. The maintenance
programmer must analyze each request, confirm it (by reproducing the situation) and
check its validity, investigate it and propose a solution, document the request and the
solution proposal, and finally, obtain all the required authorizations to apply the
modifications.
3. The process considering the implementation of the modification itself.
4. The process acceptance of the modification, by confirming the modified work with
the individual who submitted the request in order to make sure the modification
provided a solution.
5. The migration process (platform migration, for example) is exceptional, and is not
part of daily maintenance tasks. If the software must be ported to another platform
without any change in functionality, this process will be used and a maintenance
project team is likely to be assigned to this task.
6. Finally, the last maintenance process, also an event which does not occur on a daily
basis, is the retirement of a piece of software
ftware Maintenance
Software maintenance in software engineering is the modification of a software product after
cccccCConclusion
The Restaurant Management System Website (RMS) is for computerizing the
working in a restaurant. It is a great improvement over the manual system. The
computerization of the system has speed up the process. In the current system, the
front office managinig is very slow. The restaurant managing system was thoroughly
checked and tested with dummy data and thus is found to be very reliable. The
software takes care of all the requirements of an average restaurant and is capable to
22
provide easy and effective storage of information related to customers that come up to
the restaurant. It provides the home delivery facilities to the customer.
Recommendation
To enhance the Restaurant Management System (RMS) website project, it is
recommended to design a user-friendly and mobile-responsive interface to
ensure seamless navigation for both customers and staff. Integrate features
like online reservations, real-time table management, and a dynamic menu
system that allows easy updates and categorization of items. Include online
ordering with delivery integration and secure payment gateways to boost
convenience and revenue. Implement inventory management to track stock
levels and reduce waste, alongside staff management tools for scheduling and
role assignments. Incorporate customer feedback and review systems to
improve service quality, and provide analytics for data-driven decision-making.
Offer loyalty programs and discounts to encourage repeat business, and
ensure robust security measures to protect customer data. Additionally,
consider multilingual support and social media integration to cater to diverse
audiences and enhance marketing efforts. Regular updates and maintenance
will ensure the system remains efficient and up-to-date, ultimately improving
operational efficiency and customer satisfaction.
23
Reference
1.Teaching material pdf
2.https://www.tutorialspoint.com/sdlc/sdlc_tutorial.pdf
3.Youtube videos/
24