ooiwenjieaia201314f online restaurant management system
DESCRIPTION
This is Final Documentation for TARC University 2013/2014 Final Year Project Online Restaurant Management SystemTRANSCRIPT
i
((OORRMMSS))OONNLLIINNEE RREESSTTAAUURRAANNTT
MMAANNAAGGEEMMEENNTT SSYYSSTTEEMM
By
Ooi Wen Jie
FACULTY OF APPLIED SCIENCES AND COMPUTING
TUNKU ABDUL RAHMAN UNIVERSITY COLLEGE
KUALA LUMPUR
ACADEMIC YEAR
2013/2014
Online Restaurant Management
Project ii
Online Restaurant
Management System
By
Ooi Wen Jie
Supervisor: Dr. Chong Jin Hui
A project report submitted to the
Faculty of Applied Sciences and Computing
in partial fulfillment of the requirement for the
Bachelor of Science, Campbell University, U.S.A,
And
Advanced Diploma in Science.
Department of Information and Communication Technologies
Faculty of Applied Sciences and Computing
Tunku Abdul Rahman University College
Kuala Lumpur
2013/2014
Copyright 2013 by Tunku Abdul Rahman University College.
All rights reserved. No part of this project documentation may be reproduced,
stored in retrieval system, or transmitted in any form or by any means without
prior permission of Tunku Abdul Rahman University College.
Online Restaurant Management System Declaration
Project iii
DDeeccllaarraattiioonn The project submitted herewith is a result of my own efforts in totality and in every
aspect of the project works. All information that has been obtained from other
sources had been fully acknowledged. I understand that any plagiarism, cheating or
collusion or any sorts constitutes a breach of College rules and regulations and would
be subjected to disciplinary actions.
__________________________
Student‟s Name : Ooi Wen Jie
Programme :Advanced Diploma in Science (Information System Engineering Year 2)
Online Restaurant Management System Abstract
Project iv
AAbbssttrraacctt
In partial fulfillment of the requirement of Bachelor of Science, we are required to carry out a
final year project development. The purpose of this project is to help the restaurant to
maintain all the restaurant information, accept food orders from the mobile application or
web application, efficiently arrange food preparing lists for kitchen, manage customer
reservation and generate useful report.
This project will be consisting two types of application which is the web application and
mobile application. The web application of this system is used to maintain restaurant data
such as membership maintenance and menu maintenance manage reservation, perform food
ordering, payment, kitchen maintenance and reporting. While the mobile application will be
consist of customer mobile applications and captain mobile application. The details of the
module will be discussed in this document.
The methodology practiced is the SDLC methodology which emphasized on project
development start from the initial phase through the maintenance phase of the completed
system. The development process will be the start of the sequence of system planning,
requirement analysis, system design, system implementation, system testing and system
maintenance. This project is developed using Microsoft Visual Studio 2012 and the database
used is MsSQL. IBM RSA and MS Project 2010 also used in the project documentation.
At the end, the project is fully implemented complied with the project objective and aims
declared at the earliest stages. The strength of the project is interactive, efficient,
unambiguous, user friendly, maintainable, portable and reliable. The weakness of the project
is inability of supporting more than one restaurant, inaccessible when no Internet access and
slow performance when dealing with databases.
In a nutshell, I had learned and gained much experience after completing this project in term
of coding or documentation. The project implemented is considered as a complete system as
it able to provide all the necessary functions and services that request by the user. All of the
basic functions that a traditional a restaurant system should have is included in this project.
The project implemented still can be improved by implementing password encryption, forum
discussion, ability in inventory control and managing more than one restaurant.
Online Restaurant Management System Acknowledgement
Project vi
AAcckknnoowwlleeddggeemmeenntt
I wish to express my sincere gratitude to project supervisor, Dr. Chong Jin Hui, for his
guidance, constant support and encouragement throughout the completion of this final
year project. I would also like to convey my heartfelt appreciation to Dr. Chong for
contributing his ideas and in-depth knowledge in the field.
A warm thank is extended to my FYP partner Mr. Lim Sau Jian for sharing his
resources, opinions, knowledge, experience and skills in programming and
development methodology, so generously. I would also like to personally thank my
family, friends in TAR University College and my fellow course-mates who have one
way or another extended their assistance in completing this project.
Last, but not least, I wish to acknowledge the unwavering support shown by Dr.
Chong Jin Hui and Moderator Mr. Peter Lai Joo Choi.
Online Restaurant Management Table of Contents
Project vii
TTaabbllee ooff CCoonntteennttss
Declaration.............................................................................................................................. iii
Abstract .................................................................................................................................... iv
Acknowledgement ................................................................................................................... vi
1.1 Introduction ........................................................................................................................... 2 1.2 Problem Outline .................................................................................................................... 2 1.3 Project Aims and Objectives ................................................................................................. 3 1.4 Targeted Customer ................................................................................................................ 4 1.5 System Functionalities Chart ................................................................................................ 5 1.6 Project Scope (Web Application) ......................................................................................... 6 1.7 Project Scope (Mobile Application) ................................................................................... 10 1.8 Development Environment ................................................................................................. 12 1.9 Operation Environment ....................................................................................................... 13 1.10 Business Architecture ...................................................................................................... 14 1.11 System Architecture ........................................................................................................ 15 1.12 Network Architecture ...................................................................................................... 16 1.13 Project Schedule .............................................................................................................. 17 1.14 Project Team and Organization ....................................................................................... 18 1.15 Methodology Used .......................................................................................................... 18 1.16 Chapter Summary ............................................................................................................ 19
2. Requirements Analysis ................................................................................................... 21
2.1 Introduction ......................................................................................................................... 21 2.2 Fact Gathering..................................................................................................................... 21 2.3 Functional Requirement ...................................................................................................... 23 2.4 Non-Functional Requirement ............................................................................................. 37 2.5 Overview Use Case Diagram .............................................................................................. 39 2.6 Detail Use Case Diagram and Use Case Description ......................................................... 40 2.7 Business Level Activity Diagram ....................................................................................... 56 2.8 Detailed Activity Diagram .................................................................................................. 60 2.9 Sequence Diagram .............................................................................................................. 67 2.10 Collaboration Diagram .................................................................................................... 73 2.11 Chapter Summary ............................................................................................................ 79
3. System Design .................................................................................................................. 81
3.1 Introduction ......................................................................................................................... 81 3.2 Final Class Diagram............................................................................................................ 81 3.3 Data Dictionary ................................................................................................................... 82 3.4 Normalization ..................................................................................................................... 86 3.5 Screen Design (Sketch Layout) .......................................................................................... 87 3.6 Screen Design ..................................................................................................................... 95 3.7 Report Template Design ................................................................................................... 117 3.8 Core System Flow Design ................................................................................................ 122 3.9 Chapter Summary ............................................................................................................. 126
4. Programming ................................................................................................................. 128
4.1 Introduction ....................................................................................................................... 128 4.2 Critical Coding Within System ......................................................................................... 128
Online Restaurant Management Table of Contents
Project viii
4.3 Chapter Summary ............................................................................................................. 145
5. Software Testing ............................................................................................................ 147
5.1 Introduction ....................................................................................................................... 147 5.2 Level of Testing ................................................................................................................ 147 5.3 Test Plan ........................................................................................................................... 150 5.4 Chapter Summary ............................................................................................................. 163
6. Conclusion ...................................................................................................................... 165
6.1 Introduction ....................................................................................................................... 165 6.2 Link to Seminar ................................................................................................................ 165 6.3 Tools, Techniques and Methodologies ............................................................................. 166 6.4 Achievement of Project Objectives .................................................................................. 167 6.5 Project Management Issues .............................................................................................. 168 6.6 Strengths and Weaknesses ................................................................................................ 169 6.7 Suggestions for Future Improvement................................................................................ 171 6.8 Personal Reflection ........................................................................................................... 172 6.9 Chapter Summary ............................................................................................................. 173
7. References ...................................................................................................................... 174
8. Appendices ..................................................................................................................... 176
9. User Guide ..................................................................................................................... 185
9.1 System Document ............................................................................................................. 185 9.2 Operation Document ......................................................................................................... 198
10. Softcopy .......................................................................................................................... 225
Online Restaurant Management Chapter 1 : System Planning
Online Restaurant Management System 1
Chapter 1
System Planning
Online Restaurant Management Chapter 1 : System Planning
Online Restaurant Management System 2
1.1 Introduction
This chapter will discuss about the problems faced by most of the restaurant, the proposed
solution with project aims and objectives to overcome the problems, targeted company for the
new system, project scope, overview diagram and general description about the modules of
the system, the system development environment, operational environment, system
architecture, network architecture as well as the methodology practiced in the project
development. This chapter also includes the information about project scheduling and project
team organization.
1.2 Problem Outline
Problem faced by most of the restaurant is the insufficient worker to server large number of
customers, especially during peak hour. Increasing the workforce just to solve peak hour
problem, not seem to be the best solution as it decreases the total profitability of the
restaurant.
Most of the restaurants tend to be practiced old style and inefficient order processing. A
traditional way of taking orders, proceed to the kitchen and then to serve food to the customer
are not current practice anymore. The complex way of ordering increased the waiting time for
another customer and lead non-satisfactory to the customer.
Old styles of ordering tend to have high human mistakes which increasing unnecessary
operating budget. Wrong order processing due to the human mistake will cause wastage of
food and increase the operating budget. The writing of a staff is the main factor, because the
order might be mistakenly interpreted by the other staff. For example, the digit „1‟ might see
wrongly as „7‟, character „C‟ see wrongly as „G‟. This problem mostly happens during the
peak hour as everyone in the restaurant is in a rush condition.
Online Restaurant Management Chapter 1 : System Planning
Online Restaurant Management System 3
1.3 Project Aims and Objectives
All the problems mentioned in the above are unjust as it can be solved by our solution -
Online Restaurant Management System, a web application that runs the restaurant service
together with a mobile application. Since the main problem faced by most of the restaurant is
the inefficient and insufficient work force to serve a large number of customers, especially
during peak hour. Therefore, this system serves to improve restaurant service and
management by maintaining all the restaurant information, accept food order from the mobile
application, efficiently arrange food preparing lists for kitchen, manage customer reservation
and generate useful report.
The customer mobile application of this system allows walk-in customers to place their
food order without the need of waiter. They can request a self-order via the application and
restaurant captain will approve their request (via the mobile application for captain) if the
table is seated. Other features for customer is my food list, this feature allow customers to
track their food order status (Served/Preparing/Queuing). Some other functions of the mobile
application include request bill, view menu details, and view restaurant details.
Besides, captain mobile application will be specially designed for restaurant captain.
Restaurant captain will use the mobile application to approve the order request, view/edit
table status, take orders and close order.
The web application of this system is used to maintain restaurant data, manage reservation,
perform food ordering, payment, and reporting. Data maintenance includes membership and
menu. While for the kitchen, system is featured with intelligent food order arrange to improve
food preparing. Staff can mark the food status to served, preparing or queuing.
The aims and objective of this system are to:
Reduce human workforce in the restaurant. Since some of the manual works is
being computerized such as staff management, customer reservation and customer
membership, therefore the needs of larger workforce is not necessary.
Online Restaurant Management Chapter 1 : System Planning
Online Restaurant Management System 4
Reduce human mistakes as the system that we develop allows the waiter to enter the
customer‟s order and the system will then display the order in the kitchen‟s monitor.
By implementing this type of working style, it prevents the kitchen staff to
misinterpret the customer order due to handwriting issues and also the chances of
losing of the order sheet.
Simplify food ordering process by allowing the dine-in customers to make their own
food ordering through our developed restaurant mobile application that install in the
customer mobile after the approval and confirmation by the on duty restaurant‟s
captain.
Allow the kitchen department to work in an efficient and effective environment as
the priority queue arrangement of food list is implemented in this system. Besides, the
order taken by front desk can be clearly seen on the monitor and able to obtain the
new orders in a shorter time.
Allow the restaurant staff to efficiently in maintaining the restaurant information
such as customer membership, and menu information. The staff in-charge just need to
key in the details through our system and our system will provide information
maintenance to be made in a simple and easy way.
1.4 Targeted Customer
Our target industry for this Online Restaurant Management System is a restaurant service
industry. Our target user is those restaurants that wish to reduce human workforce in running
their daily operation, eliminate the needs of certain manual works and also computerizing in
their management work.
5
1.5 System Functionalities Chart
Diagram 1.5 System Functionalities Chart
Online Restaurant Management Chapter 1 : System Planning
Online Restaurant Management System 6
1.6 Project Scope (Web Application)
Diagram 1.6.1 ORMS Web Application Functionalities Chart
7
Web Application
Customer Maintenance
Add New Member – allows user to register new membership.
Search Member Details – allows user to search for a particular member's details
Edit Member Details – allows user to make changes in the existing member
information and update the changes in the system database.
Delete Member – allows user to delete a particular membership from the
system database if the customer is no longer having the membership privilege.
Menu Maintenance
Add New Item – allows user to insert a new menu item which includes the new
item name, description, price and category.
Search Item Details – allows user to search for a particular item in system
database by entering a specific keyword such as the item name, item category
and etc.
Edit Item Details – allows user to make changes in the existing menu item
information and update the changes in the system database.
Food Order
Add New Order – allows user to enter the order details that taken from
customers.
Search / View Order – allows user to search for the customer‟s order or view
on the details of the order by entering a specific keyword such as table number.
Edit Order Details – allows user to make changes on the order details when the
customer request for changes if the food status is not “Served” or “Preparing”.
Remove Order – allows user to remove the order that made by the customer if
the customer have canceled the order.
Check Order Status – allows user to check on the status of each item in the
order to make sure that all orders have been served on the customer table.
Online Restaurant Management Chapter 1 : System Planning
Online Restaurant Management System 8
Reservation
Verifies Membership – allows user to verify the validity of customer
membership before a reservation is made. This verification process requires the
customer name or customer member ID.
Check seat & time slot availability – allows user to check for the table and time
slot availability that request by the customer.
Update Reservation – allows user to record the reservation details after a
reservation is successfully made.
Reservation Notification (System Alert – SMS) – generate a short message
service to the customer that make reservation to act as a reminder.
Remove Reservation – allows user to remove the reservation details from the
system database when the customer have cancelled their reservation.
Kitchen
Display Food – allow the kitchen department to display on the current restaurant
orders that are not served to the customer.
Filter List – allow the kitchen department to arrange or filter the list of the
orders that being served based on the given condition.
Edit Food Status – allow the kitchen department to edit the food ordering status
either to Queuing or Preparing state to an order listed.
Report
Identify Report Type – allows user to choose the report type that they wish to
have such as daily sales report, unattended reservation report and so on.
Retrieve Database – search through the system database for the required
information to generate the report.
Generate Report – allows user to view on the report that they requested on the
screen. The user may also export the report into both softcopy and hardcopy.
Online Restaurant Management Chapter 1 : System Planning
Online Restaurant Management System 9
Payment
Identify Payment Type – allows the user to choose what type of payment that
customer wish to carry out such as cash payment or credit payment.
Calculate Payment – calculate the total payment need to be paid by the customer
when billing is requested by customer.
Calculate Balance – will enter the cash amount given by the customer and the
system will calculate the balance of the payment.
Generate Receipt – generate a receipt to the customer after the payment is
successfully paid.
Generate Bill – generate a billing statement when a customer request to make
payment for his/her orders.
Online Restaurant Management Chapter 1 : System Planning
Online Restaurant Management System 10
1.7 Project Scope (Mobile Application)
Diagram 1.7.1 ORMS Mobile Application Functionalities Chart
Mobile Application For Customer
Customer can use this mobile application to place orders, request bill, track food status,
edit profile details, and search food details
Food Menu
Search Food – Search menu items using keyword and category
Display Description – Display detail description of food after search
Order
Request Order – Requests a self-order and wait approval from the captain
Add Order Item – Click on the image button to order desire food
Edit Order Item – Edit quantity, add remarks or remove order item
Display Payment – Calculate and display total payment required
Request Bill – Notify waiter to collect payment
Online Restaurant Management Chapter 1 : System Planning
Online Restaurant Management System 11
Food List
Track Food – Check food status whether (Served, Preparing, Queuing)
Cancel Food – Remove unwanted food only if the food has not yet prepared
Profile
Display Profile – Display profile using signed-in user ID.
Edit Profile – Edit user details if the customer is signed-in
Change password – Allow user to change new password
Mobile Application For Captain
This application will be owned by the restaurant captain to approve orders, take orders,
check all table status, close order and receive bill notification.
Order Management
Create order – Generate new order and payment.
Approve Order – Allow customer to make self-order after further verify the
customer existence
Take Order – Captain will order food that ordered by the customer
Edit Order – Captain will change quantity or remove food ordered by the
customer
Close Order – Cancel order if customer not going to take any order
Table Management
View Status – Check table status (reserved, available, seated)
Edit Status – Change table status (cancel reserved to available)
Online Restaurant Management Chapter 1 : System Planning
Online Restaurant Management System 12
1.8 Development Environment
Diagram 1.8.1 ORMS Development Environment
ORMS will be developed using the C# language because this language is supported in both
mobile and web application development in Microsoft Visual Studio 2012. This will be an
advantage because the developers can provide support to each other through the familiarities
on same programming language. The Microsoft SQL Database server will be the shared
database for the entire system to ensure the data consistency through different access from
multiple applications. All the details about the development of ORMS will be documented
using Microsoft Word 2013 and the system diagrams will be prepared using Microsoft
Project and Smart Draw Modelling tool. The main communication methods along the
development of ORMS will be face to face meeting, emailing using Gmail, and web
conferencing using Skype.
Online Restaurant Management Chapter 1 : System Planning
Online Restaurant Management System 13
1.9 Operation Environment
Diagram 1.9.1 ORMS Operational Environment
Two tables above specified the minimum requirement for mobile device and computer to
support all the features of ORMS system. ORMS will be hosted on a web server where it can
be accessed by device browsers that fulfil minimum capability mentioned. While the mobile
application will be implemented in mobile device that operate under the Windows Phone
operating system. Besides, ORMS would need the support of hardware such as a printer,
switch, cashier machine, and receipt printer. Both of the software and network architecture of
ORMS will be presented in the next part of this document.
Online Restaurant Management Chapter 1 : System Planning
Online Restaurant Management System 14
1.10 Business Architecture
Diagram 1.10 Business Architecture
In our final year project, three tiers architecture is implemented. It consists of presentation
tier, application tier and data tier. In the presentation tier or known as top layer, we will have
all the user device such as PCs and mobile devices which implement the graphical user
interface and display the system information. In the application tier or middle layer, we will
install the Online Restaurant Management System in the application server and database will
be in the data tier. The users interact with the system in the presentation tier by sending
request through the interface or receive result from the application tier. Application tier will
be in-charge of all processing and request from client while data tier is responsible to store all
the data or information about the restaurant.
Three-tier architecture ensures:
Data Integrity. The application tier will ensure all the updates from presentation tier
are valid data before it update to the database. Therefore, this architecture can
improve the data integrity and reduce the risk of client application corrupting the
database data.
Security. Three-tier application is more secure because the client does not get access
to the database directly. Thus, the client will not obtain unauthorized data or modified
the data in the database easily.
Maintainability. Each of the tiers is independent layer, this allow us make changes
easily without affecting any other tier. For example, any changes on the user interface
will not resulting changes on the application tier. Therefore, it makes the maintenance
work become easier.
Online Restaurant Management Chapter 1 : System Planning
Online Restaurant Management System 15
1.11 System Architecture
Diagram 1.10.1 ORMS System Software Architecture
In Online Restaurant Management System (ORMS), Microsoft SQL Server database will
directly attach to web application. To make all mobile applications and the web application
access the same data, we use (WCF) Windows Communication Foundation to expose all
operations for mobile application. To form a service oriented environment, all mobile
applications will be consuming the service for any features that need communication with the
shared database. Other benefits of using WCF as the bridge for the communication is this
technology does support integration to non-windows based application, which mean the
future expansion of system to Android and IOS platform can be done at minimum effort.
Online Restaurant Management Chapter 1 : System Planning
Online Restaurant Management System 16
1.12 Network Architecture
Diagram 1.11.1 ORMS System Network Architecture
The system will operate under both internal and external networks. Restaurant customers can
access to the website using their personal devices while restaurant staff can connect to
company network and server resources via Internet. One broadband Internet connection will
be shared within the area of restaurant by setting up a wireless access point and internal
network using a switch. We will set up a server for restaurant web application, email and
database which connected to the ADSL modem. The internal network includes the sharing of
Internet connection, printer and server resources. Mobile ordering can be done in the
restaurant by connecting the server via a wireless access point.
17
1.13 Project Schedule
Diagram 1.13.1 ORMS Project Management Gantt Chart
18
1.14 Project Team and Organization
Lim Sau Jian Ooi Wen Jie
Mobile application: Customer Web Application
Food menu Customer maintenance Food order Menu maintenance Food preparing status Food order Profile setting Payment
Mobile application: Captain Reservation
Order Management Kitchen Table Management Report
Web Services Database
All WCF methods All Database design
1.15 Methodology Used
The methodology that practiced in this project development is System Development Life
Cycle or known as SDLC. SDLC is a conceptual model that widely used in project
management which describes the stages involved in an information system development
project start from the initial phase through the maintenance phase of the completed system.
The common development phases in SDLC are system planning, requirement analysis,
system designing, system implementation, deployment and maintenance. Although there are
many other approaches available for selection, however SDLC is still more suitable to our
development condition.
In general, an SDLC methodology practicing the following steps:
1. The existing system is evaluated to identify the deficiencies by interviewing the
system user or consulting with the support personnel.
2. The new system requirement and solution to overcome the identified deficiencies are
defined to act as an improvement for the new system.
3. The new system is designed. Plans are created to address the physical construction,
hardware requirement, operating systems, programming and security issues.
4. The new system is then developed. The new components and programs must be
obtained and installed. Users of the system will be provided training in its use, and all
aspects of performance must be tested thoroughly. A necessary adjustment is made at
this stage to meet the user requirement.
Online Restaurant Management Chapter 1 : System Planning
Project 19
5. The system is put into use. The new system can phased in according to application or
location, and the old system gradually replaced. In some other cases, it is more cost-
effective if shut down the old system and replaced by the new system.
6. Once the new system is up and running, it should be closely evaluated by the
development team. Maintenance must be available all the times to overcome the
problems met. Users of the system will be kept up-to-date on the latest modifications
and procedures.
1.16 Chapter Summary
Basically, this chapter served to summarize the initial phase of the project development
which is focused on the introductions of the system and the planning of the project
development.
Besides, in this chapter also describe the project objectives and aim to provide a better
direction of the services the system should provide and problem that the system should
overcome. At the same time, project scope and project schedule are provided in order to
allow the user to have the preview on the overall structure of the project development and the
estimated duration to complete the overall project development. Development environment,
operation environment, system architecture as well as network architecture is described to
provide better understanding to ensure that the final system can be developed and operate in a
smooth manner. At last, a Gantt Chart is provided by the deliverable submission deadline to
allow us to organize the project task properly and to ensure utilization of time during project
development.
Online Restaurant Management Chapter 1 : System Planning
Project 20
Chapter 2
Requirements Analysis
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 21
22.. RReeqquuiirreemmeennttss AAnnaallyyssiiss
2.1 Introduction
In this chapter, it will discuss about the system requirement specification which is the
functional and non-functional requirements to provide a clear direction to the user what
services does the new system provide. Besides, UML diagrams such as Use Case Diagram,
Activity Diagram, Business Level Activity Diagram, Sequence Diagram as well as
Collaboration Diagram are provided to allow the user to better understanding of the system
workflow.
2.2 Fact Gathering
Generally, there are many fact finding techniques that are available to be used by the system
analyst to gather the information for the system requirement. It is important for the system
analyst to understand the needs of the client so that it would not bring up any conflict during
the implementation stage. The user requirement can be identified through the common fact
finding techniques which is interview, questionnaire and observation.
2.2.1 Interview
The interview is one of the face-to-face fact-gathering techniques that widely used by a
system analyst to gather information from the user or client and the interviewee will respond
to the questions asked which include open-ended and closed-ended and the answer will be
documented. The interviewer will prepare an Interview Plan before the interview is carried
out which clearly identified the objectives, time and venue, the interviewee and the
predefined questions.
2.2.2 Questionnaire
Questionnaires are of the research technique that can be applied in fact finding for system
projects where the users of the system are given a list of questions noted in the questionnaires
to be filled up and returned to the system analyst after completion. Questionnaires are a
useful fact-finding technique when the system analysts wish to gather information from a
large number of potential users due to time frame limitation. The reason is it is impossible for
the system analyst to interview each individual to gather all information needed.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 22
Questionnaires are divided into two types: Open-Response Based and Closed-Response
Based. Open-Response Based questionnaires are normally used to gather information where
the information are essential and important features of the system while Close-Response
Based questionnaire is used to collect factual information about the system.
2.2.3 Observation
Observation is a powerful tool for information gathering regarding the current system. The
system analyst can experience the usage of the system rather than describe and hearing from
the interviewees. The system analyst can experience the perspective and better understanding
the system procedures and the requirements needed to use the system. Besides, the system
analyst can observe the current Restaurant Management System processes or procedures to
understand the business flow/ needs and make necessary improvement.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 23
2.3 Functional Requirement
Module: Membership Maintenance
Diagram 2.4.1 Membership Maintenance
User Requirement
This system must allow users to add new member, update‟s member details, delete
and search for existing member details.
System Requirement
1.0 Add new member (Member Registration)
The system must allow the user to enter new member details.
The system must allow the user to enter desirable username.
The system must validate the details enter by user such as IC Number, Phone
Number, Email and so on.
If the user enters invalid member details, an error message will be prompt and
user needs to re-enter the invalid details.
If the member details are valid, the system will prompt a confirmation
message.
If user clicks on confirm button, the system will display a successful message,
store the details into database and an email will be sent.
2.0 Edit member details (Member Profile)
The system shall display the searching result based on member login
credentials.
If the member details cannot be matched in the database, the system will
prompt an error message.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 24
The system shall allow the user to make changes in the current data displayed
on screen such as address, phone and etc.
The system will validate the information that edits by users.
If the user enters invalid information, the system will prompt an error
message and user needs to reenter the information.
If the member details are valid, the system will prompt a confirmation
message.
If user clicks on confirm button, the system will display a successful message
and updates the details in the database.
3.0 Search member details
The system must allow the user to enter a specific input such as the username
for searching purpose.
The system shall display the searching result if found in database.
If the member details cannot be matched in the database, the system will
prompt an error message.
The system shall allow the user to reenter the searching details.
4.0 Delete member
The system must allow the user to enter a specific input such as the username
for searching purpose.
The system shall display the searching result if found in database.
If the member details cannot be matched in the database, the system will
prompt an error message.
The system shall allow the user to reenter the searching details.
The system shall allow the user to delete the selected member membership.
The system shall prompt a confirmation message when the user clicks on the
delete button.
The system must be able to update the member status from the database,
prompt a successful message and send an email to deleted member email.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 25
Module: Menu Maintenance
Diagram 2.4.2 Menu Maintenance
User Requirement
This system must allow users to add new items, update‟s item details and search for
existing item details.
System Requirement
1.0 Add new item
The system must allow the user to enter new item details.
The system must be able to generate a new item ID.
The system must validate the details enter by the user.
If the user enters invalid item details, an error message will be prompt and
user needs to re-enter the invalid details.
If the item details are valid, the system will prompt a confirmation message.
If user clicks on confirm button, the system will display a successful message
and store the details into the database.
2.0 Search item details
The system must allow the user to enter a specific input such as an item ID for
searching purpose.
The system shall display the searching result if found in database.
If the item details cannot be matched in the database, the system will prompt
an error message.
The system shall allow the user to reenter the searching details.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 26
3.0 Edit item details
The system must allow the user to enter a specific input such as an item ID for
searching purpose.
The system shall display the searching result if found in database.
If the item details cannot be matched in the database, the system will prompt
an error message.
The system shall allow the user to reenter the searching details.
The system shall allow the user to make changes in the current data displayed
on screen such as address, phone and etc.
The system will validate the information that edits by users.
If the user enters invalid information, the system will prompt an error
message and user needs to reenter the information.
If the item details are valid, the system will prompt a confirmation message.
If user clicks on confirm button, the system will display a successful message
and updates the details in the database.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 27
Module: Food Order
Diagram 2.4.3 Food Order
User Requirement
The system allows user to add new order details, update order details, remove an
order, check and search for existing order details.
System Requirement
1.0 Add new order
The system must allow the user to enter new order details.
The system must be able to generate a new order ID.
The system will prompt a confirmation message when the user clicks on
“Confirm” button.
If user clicks on confirm button, the system will display a successful message
and store the details into the database.
The system shall create a new payment details for each new order stored.
The system will display the order details on kitchen screen.
2.0 Search / View order
The system must allow the user to enter a specific input such as order ID for
searching purpose.
The system shall display the searching result if found in database.
If the item details cannot be matched in the database, the system will prompt
an error message.
The system shall allow the user to reenter the searching details.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 28
3.0 Edit order details
The system must allow the user to enter a specific input such as order ID for
searching purpose.
The system shall display the searching result if found in database.
If the entered details cannot be matched in the database, the system will
prompt an error message.
The system shall allow the user to reenter the searching details.
The system shall allow the user to add-in additional order details into the
order displayed on screen.
The system will update the details in database when user makes changes on
the item details.
The system shall also update the order details screen in the kitchen and also
the payment for that order.
The system shall allow the user to make changes in the order display on
screen.
The system prohibited user to make changes on the item list states that are
shown “Preparing” or “Served”, only items with status “Queuing” can make
changes.
4.0 Remove order
The system must allow the user to enter a specific input such as order ID for
searching purpose.
The system shall display the searching result if found in database.
If the item details cannot be matched in the database, the system will prompt
an error message.
The system shall allow the user to choose which item to delete.
The system prohibited user to make changes on the item list states that are
shown “Preparing” or “Served”, only items with status “Queuing” can be
make delete.
The system will prompt an error message if the user deletes the item status that
shown “Preparing” or “Served”.
The system shall prompt a confirmation message when the user clicks on the
delete button.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 29
The system must be able to delete the order record from the database and
prompt a successful message.
The system shall also update the order details screen in the kitchen and also
the payment for that order.
5.0 Check order status
The system must allow the user to enter a specific input such as order ID for
searching purpose.
The system shall display the searching result if found in database.
If the item details cannot be matched in the database, the system will prompt
an error message.
The system shall allow the user to reenter the searching details.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 30
Module: Reservation
Diagram 2.4.4 Reservation
User Requirement
The system must be able to verify the customer membership, allow user to select seats
and time slot availability, update the reservation, send out reservation notification and
also remove reservation from the database.
System Requirement
1.0 Verify Membership
The system must allow the user to enter a specific input such as member
username for searching purpose.
The system shall display the searching result if found in database.
If the member details cannot be matched in the database, the system will
prompt an error message.
The system shall allow the user to reenter the searching details.
The system prohibits customer that is not member to make reservation.
2.0 Select seat & time slot
The system shall display all table status on the screen.
After verification of customer status is successful, the system will display the
seat and time slot availability on the screen.
The system shall allow the user to choose the time slot for reservation.
The system shall allow the user to choose the seat for reservation.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 31
3.0 Update Reservation
If the criteria choose by user is not available, the system will prompt an error
message.
The system shall allow the user to reselect the reservation details.
If the time slot and seat choose by user is valid, a confirmation message will
be prompt on the screen.
If user clicks on confirm button, the system will display a successful message
and store the reservation in the database.
4.0 Reservation notification
The system will retrieve the reservation details from the database.
The system will send out a short message service notification to the customer
that makes the reservation when the staff clicks on send button.
5.0 Remove Reservation
The system must allow the user to enter a specific input such as member
username for searching purpose.
The system shall display the searching result if found in database.
If the member details cannot be matched in the database, the system will
prompt an error message.
The system shall allow the user to reenter the searching details.
The system shall allow the user to choose the reservation record to delete.
The system shall prompt a confirmation message when the delete button is
clicked.
If the reservation is successfully removed, the system shall update the
reservation details in the database.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 32
Module: Payment
Diagram 2.4.5 Payment
User Requirement
This system must allow customers to make their fee payment via online (PayPal) or
cash payment. This system must also generate a receipt upon the completion of
payment.
System Requirement
1.0 Identify Payment Type
The system must allow the user to enter a specific input such as table number,
order ID for searching purpose.
The system shall display the searching result if found in database.
If the payment details cannot be matched in the database, the system will
prompt an error message.
The system shall allow the user to reenter the searching details.
The system will run 2.0 Calculate Payment function.
The system shall allow the user to choose which types of payment the
customer wants to carry out.
If the user chooses cash payment, the system will run 3.0 Calculate Balance
function.
If the user chooses payment via online, the customer shall be able to access to
their PayPal account via this module.
The system will prompt a warning message if the wrong ID / password is
entered for accessing customer Paypal account.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 33
The customer shall be able to make their payment via this system after
customer access to their Paypal account successfully.
If Paypal method is selected and the customer Paypal amount is not enough to
clear the payment, the system shall cancel the transaction and prompt an
unsuccessful message.
The system shall be able to update the customer payment status after the
payment is made.
If the payment is successfully made, the system will run 4.0 Generate receipt
function.
2.0 Calculate Payment
The system will retrieve the order details from the database.
The system will identify the customer membership status for discount purpose.
The system will calculate the total payment for that order.
The system will display the total payment to be paid on screen.
3.0 Calculate Balance
The system shall allow the user to enter the cash amount paid by the customer.
The system will compare the cash amount received with the actual amount of
payment.
The system will prompt an error message if the cash amount paid is lesser
than the actual amount of payment.
The system will calculate the balance if the cash amount paid is greater than
the actual amount of payment
The system will display the total balance on the screen.
The system will update the customer payment details.
The system will run 4.0 Generate Receipt function.
4.0 Generate Receipt
The system shall be able to retrieve the successful paid payment details from
the database.
The system shall allow the user to choose want to print the receipt or export
the receipt to softcopy.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 34
5.0 Generate Bill
The system must allow the user to enter a specific input such as table number,
order ID for searching purpose.
The system will display the searching payment result on the screen.
The system shall allow the user to print the bill for showing to the customer.
If the payment details cannot be matched in the database, the system will
prompt an error message.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 35
Module: Report
Diagram 2.4.6 Report
User Requirement
This system must allow users to select 5 choices of report type and print out the report.
System Requirement
1.0 Identify report type
The system shall allow user to choose the report type such as Daily Sales
report, Unattended Reservation Report, Member Registration Report, Top 5
Customer Report and Top 5 Sales Report.
The system shall allow user to select the parameter to generate reports such as
start date and end date.
The system will validate the parameter select by the user.
The system will prompt an error message if the parameter selected is not
valid.
2.0 Retrieve database
The system will retrieve the information based on the details select by the
user.
3.0 Generate report
The system will display a report on the screen.
The system shall allow the user to print the report.
The system shall allow the user to export the report to softcopy.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 36
Module: Kitchen Maintenance
Diagram 2.4.7 Kitchen Maintenance
User Requirement
This application must allow the user to manage the food preparing list and the food
ordered will be arranged according to the algorithm used to improve the efficiency of
food preparing.
System Requirement
1.0 Display Food
This application will retrieve the order details from the database.
This application will display the ordered food to prepare on the screen.
2.0 Filter List
This application shall allow user to select the type of filter list “Queue” or
“Dequeue”.
If “Dequeue” filter type is chosen, the kitchen preparing screen will display
the food ordering list based on food status and the order taken time only.
If “Queue” filter type is chosen, the kitchen preparing screen will display the
food ordering list based on the food status and merge the same type of food
item that orders intervals are between 5 minutes.
3.0 Edit Food
This application shall display the food ordered list on screen.
This application shall allow user to change the food status such as from
“Queuing” to “Preparing”.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 37
2.4 Non-Functional Requirement
Usability
Usability quality attributes measures the degree of how satisfaction of the user when they use
the system in term of meeting their requirements, intuitive to use and easy to navigate
(MSDN, n.d.). The Online Restaurant Management System must be able to meet the end
users requirements so that the end users can carry out their work effectively and will not
resist the system. The Restaurant Mobile Application must be designed in a user familiar way
so that the mobile users can use it intuitively without excessive training or guidance required.
Availability
Availability quality attributes measures the percentages of system downtime over a
predefined period of time (MSDN, n.d.). It can be defined as the proportion time which the
system is operating and data are available as needed. ORMS is an online system and therefore
it is important to ensure that the system is highly available for its end-user such as restaurant
staff when they need it for the restaurant business transaction. In other words, the staffs must
be able to access the system all the time and obtain the services or information that they want.
Conceptual integrity
Conceptual integrity quality attributes defining the consistency and coherence among the
components or modules designed (MSDN, n.d.). It is important to maintain the consistency
among the modules designed as the Online Restaurant Management System (ORMS) is made
up from 7 modules. If consistency does not practice, it would require a longer time for the
technician to carry out system maintenance and system upgrade due to different programmer
for each module will have a different variable declaration for the same specific input and
coding styles.
Understandability
Understandability quality attributes measures the degrees of the project team‟s understanding
towards the system‟s purpose and requirements at the end of the initiation phase (Anon.,
2009). The duration of completing the ORMS project is a three month project which is a tight
schedule. It is important for the project team understand the problem that proposed by the
client and come out with solutions that does not need to change the business nature of the
client. Besides, it also prevents any frequent changes in the project during the development of
the client.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 38
Portability
Portability quality attributes measure the ability of the system to operate in different
computing environments (Computer Hope, n.d.). The Online Restaurant Management System
is an online system that will be using web hosting services which allows the restaurant staff
access to the system through any web browser from any computing devices at any time with
Internet availability.
Interoperability
Interoperability quality attributes measures the ability of two or more systems to
communicate and cooperate at runtime by exchanging information and use the information
exchanged for their operations (MSDN, n.d.). In this project, Online Restaurant Management
System and Restaurant Mobile Application will be implemented. It is important to ensure that
both of the system can communicate to each other and exchanging information as the orders
that taken from Restaurant Mobile Application will be displayed in the kitchen module of
Online Restaurant Management System.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 39
2.5 Overview Use Case Diagram
Overview Use Case Diagram of Online Restaurant Management System
Diagram 2.5.1 Overview Use Case Diagram of ORMS
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 40
2.6 Detail Use Case Diagram and Use Case Description
Membership Maintenance Detail Use Case Diagram
Diagram 2.6.1 Membership Maintenance Detail Use Case Diagram
Membership Maintenance Use Case Description
Use Case Name : Membership Maintenance
Actors : Staff
Brief Description: This use case describes how a staff can record their member profile,
update, delete and edit their profile.
Pre-condition: The Staff is logged-in into the system.
Normal Flow of Events :
Actor Actions System Response
1. User clicks on „Membership
Maintenance‟ button to enter the page.
3. User decides whether they want to add,
search, edit or delete the member‟s
profile.
2. The system will display the
maintenance interface.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 41
If the user wants to add a new member
profile S-1 : add new member is
performed.
If the user wants to search a member
profile S-2 : search member is performed.
If the user wants to edit a member profile
S-3 : edit member is performed.
If the user wants to delete a member
profile S-4 : delete member is performed.
Sub Flows:
S-1: Add Member
1. The system will display a membership form.
2. The user will enter the member details.
3. The system will validate the detail entered.
4. If valid, the new member is inserted into the membership database.
S-2: Search Member
1. The user will enter the keyword required for searching a particular member.
2. The system will search the particular member record based on the keyword
and display in proper format.
S-3 : Edit Member
1. The user will enter the keyword required for searching a particular member.
2. The system will search the particular member record based on the keyword
and display in proper format.
3. The staff can edit the member detail and click on submit button.
4. The system will validate the updated detail.
5. If valid, the system will update the member detail in the database.
S-4 : Delete Member
1. The user will enter the keyword required for searching a particular member.
2. The system will search the particular member record based on the keyword
and display in proper format.
3. The Staff can delete the member detail by click on the delete button.
4. The system will prompt a confirmation message.
5. If the user clicks on confirm button, the system will delete the member
detail from the database.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 42
Alternate Flows:
S-1, 3a1: If user enter an invalid member details, the system prompt an error message and
goes back to Step 2 of S-1.
S-2, 1a1: If user enters an invalid keyword for searching the member detail, the system will
prompt an error message and goes back to Step 1 of S-2.
S-3, 1a1: If user enters an invalid keyword for searching the member detail, the system will
prompt an error message and goes back to Step 1 of S-3.
S-3, 3a1: If user enter an invalid updated member details, the system prompt an error
message and goes back to Step 3 of S-3.
S-4,1a1: If user enters an invalid keyword for searching the member detail, the system will
prompt an error message and goes back to Step 1 of S-4.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 43
Menu Maintenance Detail Use Case Diagram
Diagram 2.6.2 Membership Maintenance Detail Use Case Diagram
Menu Maintenance Use Case Description
Use Case Name : Menu Maintenance
Actors : Staff
Brief Description: This use case describes how a staff can add, update, delete and edit their
menu detail.
Pre-condition: The Staff is logged-in into the system.
Normal Flow of Events :
Actor Actions System Response
1. User clicks on „Menu Maintenance‟
button to enter the page.
3. User decides whether they want to add,
search, edit or delete the member‟s
profile.
If the user wants to add a new menu
record S-1 : add new menu is performed.
2. The system will display the
maintenance interface.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 44
If the user wants to search a menu record
S-2 : search menu is performed.
If the user wants to edit a menu record S-
3 : edit menu is performed.
Sub Flows:
S-1: Add Menu
1. The system will display a menu form.
2. The user will enter the menu details.
3. The system will validate the detail entered.
4. If valid, the new menu record is inserted into the menu database.
S-2: Search Menu
1. The user will enter the keyword required for searching a particular menu
record.
2. The system will search the particular menu record based on the keyword
and display in proper format.
S-3 : Edit Menu
1. The user will enter the keyword required for searching a particular menu
record.
2. The system will search the particular menu record based on the keyword
and display in proper format.
3. The staff can edit the menu detail and click on submit button.
4. The system will validate the updated detail.
5. If valid, the system will update the menu detail in the database.
Alternate Flows:
S-1, 3a1: If user enter an invalid menu details, the system prompt an error message and
goes back to Step 2 of S-1.
S-2, 1a1: If user enters an invalid keyword for searching the menu record, the system will
prompt an error message and goes back to Step 1 of S-2.
S-3, 1a1: If user enters an invalid keyword for searching the menu record, the system will
prompt an error message and goes back to Step 1 of S-3.
S-3, 3a1: If user enter an invalid updated menu detail, the system prompt an error message
and goes back to Step 3 of S-3.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 45
Food Order Detail Use Case Diagram
Diagram 2.6.3 Food Order Detail Use Case Diagram
Food Order Use Case Description
Use Case Name : Food Order
Actors : Staff
Brief Description: This use case describes how a staff can add, edit, remove an order and
check the order detail.
Pre-condition: The Staff is logged-in into the system.
Normal Flow of Events :
Actor Actions System Response
1. User clicks on „Food Order‟ button to
enter the page.
3. User decides whether they want to add,
edit, remove or check the order detail.
If the user wants to add a new order S-1 :
add new order is performed.
If the user wants check an order S-2 :
2. The system will display the food
ordering interface.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 46
check order is performed.
If the user wants to edit an order S-3 :
edit order is performed.
If the user wants to remove an order S-4 :
remove order is performed.
Sub Flows:
S-1: Add Order
1. The system will display a menu list with ordering form.
2. The user will enter the order details.
3. The system will validate the detail entered.
4. If valid, the new order is inserted into the order database and new payment
is created in the payment database.
S-2: Check Order
1. The user will enter the keyword required for searching a particular order
detail.
2. The system will search the particular order detail based on the keyword and
display in proper format.
S-3 : Edit Order
1. The user will enter the keyword required for searching a particular order
detail.
2. The system will search the particular order detail based on the keyword and
display in proper format.
3. The staff can edit the order detail and click on submit button.
4. The system will validate the updated detail.
5. If valid, the system will update the order detail and payment detail in the
database.
S-4 : Remove Order
1. The user will enter the keyword required for searching a particular order
detail.
2. The system will search the particular order detail based on the keyword and
display in proper format.
3. The Staff can remove the order detail by click on the delete button.
4. The system will prompt a confirmation message.
5. If the user clicks on confirm button, the system will delete the order detail
from the database and void the payment detail too.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 47
Alternate Flows:
S-1, 3a1: If user enter an invalid order details, the system prompt an error message and
goes back to Step 2 of S-1.
S-2, 1a1: If user enters an invalid keyword for searching the order detail, the system will
prompt an error message and goes back to Step 1 of S-2.
S-3, 1a1: If user enters an invalid keyword for searching the order detail, the system will
prompt an error message and goes back to Step 1 of S-3.
S-3, 3a1: If user enter an invalid updated order details, the system prompt an error message
and goes back to Step 3 of S-3.
S-4,1a1: If user enters an invalid keyword for searching the order detail, the system will
prompt an error message and goes back to Step 1 of S-4.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 48
Reservation Detail Use Case Diagram
Diagram 2.6.4 Reservation Detail Use Case Diagram
Reservation Use Case Description
Use Case Name : Reservation
Actors : Staff
Brief Description: This use case describes how a staff can add, delete, search a reservation
and check for the reservation detail.
Pre-condition: The Staff is logged-in into the system.
Normal Flow of Events :
Actor Actions System Response
1. User clicks on „Reservation‟ button to
enter the page.
3. User will enter the member ID.
5. User decides whether they want to add,
search, edit or delete the member‟s
profile.
2. The system will display the reservation
interface.
4. The system will validate the existence
of the member ID.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 49
If the user wants to add a new reservation
S-1 : add reservation is performed.
If the user wants to search a reservation
detail S-2 : search reservation is
performed.
If the user wants to delete a reservation
record S-3 : delete reservation is
performed.
Sub Flows:
S-1: Add Reservation
1. The system will display a reservation form.
2. The system will retrieve the seat and time slot detail from the database.
3. The user will enter the reservation detail.
4. The user will select the seat and time slot that is available.
5. The system will validate the reservation detail.
6. If valid, the new reservation is inserted into the reservation database.
7. The system will send a SMS notification to the user.
S-2: Search Reservation
1. The user will enter the keyword required for searching a particular
reservation detail.
2. The system will search the particular reservation detail based on the
keyword and display in proper format.
S-3 : Delete Reservation
1. The user will enter the keyword required for searching a particular
reservation detail.
2. The system will search the particular reservation detail based on the
keyword and display in proper format.
3. The Staff can delete the reservation detail by click on the delete button.
4. The system will prompt a confirmation message.
5. If the user clicks on confirm button, the system will delete the reservation
detail from the database.
Alternate Flows:
S-1, 5a1: If user enter an invalid reservation details, the system prompt an error message
and goes back to Step 3 of S-1.
S-2, 1a1: If user enters an invalid keyword for searching the reservation detail, the system
will prompt an error message and goes back to Step 1 of S-2.
S-3, 1a1: If user enters an invalid keyword for searching the member detail, the system will
prompt an error message and goes back to Step 1 of S-3.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 50
Payment Detail Use Case Diagram
Diagram 2.6.5 Payment Detail Use Case Diagram
Payment Use Case Description
Use Case Name : Payment
Actors : Staff
Brief Description: This use case describes how a staff can generate bill, receipt and carry out
payment transaction.
Pre-condition: The Staff is logged-in into the system.
Normal Flow of Events :
Actor Actions System Response
1. User clicks on „Payment‟ button to enter
the page.
3. User decides whether they want to
generate bill, receipt or make payment
transaction.
If the user wants to generate bill S-1 :
generate bill is performed.
2. The system will display the payment
interface.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 51
If the user wants to make payment S-2 :
make payment is performed.
If the user wants to generate receipt S-3 :
generate receipt is performed.
Sub Flows:
S-1: Generate Bill
1. The user will enter the table ID.
2. The system will retrieve the ordering detail and payment detail from the
database based on the table ID.
3. The system will display the billing information.
4. The user will click on generate bill button.
5. The system will print the bill.
S-2: Make Payment
1. The system will identify the payment method selected by user.
2. The staff needs to enter PIN code to access customer‟s PayPal account.
3. PayPal system, the external entity transfer amount and update customer‟s
balance.
4. The system will update the payment status.
S-3 : Generate Receipt
1. The user will enter the table ID.
2. The system will validate the latest payment status based on the table ID.
3. The system will retrieve the payment history based on the table ID.
4. The system will display the receipt information.
5. The user will click on generate receipt button.
6. The system will generate the receipt.
Alternate Flows:
S-1, 1a1: If user enters an invalid table ID, the system prompt an error message and goes
back to Step 2 of S-1.
S-2, 2a2: If user enters the insufficient amount for the payment transaction, the system will
prompt an error message and goes back to Step 1 of S-2.
S-2, 3a1: PayPal system, the external party system will validate the username and
password, if the password and username mismatch, it will goes back to Step 2 of S-2.
S-2, 3a2: If the customer PayPal account balances are insufficient for the payment, the
transaction will be cancel and back to Step 1 of S-2.
S-3, 1a1: If user enters an invalid table ID, the system prompt an error message and goes
back to Step 2 of S-1.
S-3, 2a1: If the payment status is unpaid, the system will prompt an error message and goes
back to Step 1 of S-3.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 52
Report Detail Use Case Diagram
Diagram 2.6.6 Report Detail Use Case Diagram
Report Use Case Description
Use Case Name : Report
Actors : Staff
Brief Description: This use case describes how a staff can view and generate the report.
Pre-condition: The Staff is logged-in into the system.
Normal Flow of Events :
Actor Actions System Response
1. User clicks on „Report‟ button to enter
the page.
4. User will select the report criteria.
8. User will decide whether to print the
report or not to print the report.
If user wants to print the report S-1: Print
Report is performed.
2. The system will display the report
interface.
3. The system will display the report
criteria selection.
4. The system will validate the report
criteria selected.
5. The system will retrieve the
information from the database based on
the report criteria selected.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 53
6. The system will generate the report.
7. The system will display the report
information in proper format.
Sub Flows:
S-1: Print Report
1. The user will click on print button.
2. The system will prompt a confirmation message whether to print the report.
3. If user clicks on confirm button, the system will print the report.
Alternate Flows:
4a1: If the report criteria selected by user is invalid, the system will prompt and error
message and goes back to Step 4.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 54
Kitchen Detail Use Case Diagram
Diagram 2.6.7 Kitchen Detail Use Case Diagram
Kitchen Use Case Description
Use Case Name : Kitchen Maintenance
Actors : Staff
Brief Description: This use case describes how a staff can view the food list and update the
food status
Pre-condition: The Staff is logged-in into the system.
Normal Flow of Events :
Actor Actions System Response
1. User clicks on „Kitchen Maintenance‟
button to enter the page.
4. User decides whether they want to filter
the food list or edit the food status.
If the user wants to filter the food list S-
1 : filter food list is performed.
If the user wants to edit food status S-2 :
edit food status is performed.
2. The system will display the
maintenance interface.
3. The system will display the existing
food list.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 55
Sub Flows:
S-1: Filter Food List
5. The system will filter and rearrange the existing food list.
6. The system will redisplay the food list.
S-2: Edit Food Status
3. The user click on the edit button.
4. The system will update the selected food record and update the database.
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 56
2.7 Business Level Activity Diagram
Business Level Membership Maintenance Activity Diagram
Diagram 2.7.1 Business Level Membership Maintenance Activity Diagram
Business Level Menu Maintenance Activity Diagram
Diagram 2.7.2 Business Level Menu Maintenance Activity Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 57
Business Level Food Order Activity Diagram
Diagram 2.7.3 Business Level Food Order Activity Diagram
Business Level Reservation Activity Diagram
Diagram 2.7.4 Business Level Reservation Activity Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 58
Business Level Payment Activity Diagram
Diagram 2.7.5 Business Level Payment Activity Diagram
Business Level Report Activity Diagram
Diagram 2.7.6 Business Level Report Activity Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 59
Business Level Kitchen Activity Diagram
Diagram 2.7.7 Business Level Kitchen Activity Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 60
2.8 Detailed Activity Diagram
Membership Maintenance Detail Activity Diagram
Diagram 2.8.1 Membership Maintenance Detail Activity Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 61
Menu Maintenance Detail Activity Diagram
Diagram 2.8.2 Menu Maintenance Detail Activity Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 62
Food Order Detail Activity Diagram
Diagram 2.8.3 Food Order Detail Activity Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 63
Reservation Detail Activity Diagram
Diagram 2.8.4 Reservation Detail Activity Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 64
Payment Detail Activity Diagram
Diagram 2.8.5 Payment Detail Activity Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 65
Report Detail Activity Diagram
Diagram 2.8.6 Report Detail Activity Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 66
Kitchen Detail Activity Diagram
Diagram 2.8.7 Kitchen Detail Activity Diagram
67
2.9 Sequence Diagram
Membership Maintenance Sequence Diagram
Diagram 2.9.1 Membership Maintenance Sequence Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 68
Menu Maintenance Sequence Diagram
Diagram 2.9.2 Menu Maintenance Sequence Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 69
Food Order Sequence Diagram
Diagram 2.9.3 Food Order Sequence Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 70
Reservation Sequence Diagram
Diagram 2.9.4 Reservation Sequence Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 71
Payment Sequence Diagram
Diagram 2.9.5 Payment Sequence Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 72
Kitchen Sequence Diagram
Diagram 2.9.6 Kitchen Sequence Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 73
2.10 Collaboration Diagram
Membership Maintenance Collaboration Diagram
Diagram 2.10.1 Membership Maintenance Collaboration Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 74
Menu Maintenance Collaboration Diagram
Diagram 2.10.2 Menu Maintenance Collaboration Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 75
Food Order Collaboration Diagram
Diagram 2.10.3 Food Order Collaboration Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 76
Reservation Collaboration Diagram
Diagram 2.10.4 Reservation Collaboration Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 77
Payment Collaboration Diagram
Diagram 2.10.5 Payment Collaboration Diagram
Online Restaurant Management System Chapter 2 : Requirement Analysis
Project 78
Kitchen Collaboration Diagram
Diagram 2.10.5 Payment Sequence Diagram
79
2.11 Chapter Summary
Basically, this chapter discuss on the requirement analysis phase which including the fact
finding technique, system requirements and related UML Diagrams. A complete and detail
requirement must be available before proceeding to the system design stages to ensure that
the developer does understand on the needs and expectation of the user. The requirement
analysis first starts with 3 type of fact finding technique which is interviews, questionnaire
and observation which allow us to have a better understanding on the demanding system
workflow or procedures. Besides, all functional requirements for each module and non-
functional requirement of the system is well described to prevent any user conflict in the later
stage.
Furthermore, 5 types of UML Diagram which is Use Case Diagram, Activity Diagram,
Business Level Activity Diagram, Sequence Diagram and Collaboration Diagram are drawn
based on the information gathered. All of these diagrams are drawn using IBM Rational
Software Architect and served to provide description between the interaction of system user
and the system under a specific condition to complete a task.
Online Restaurant Management System Chapter 3 : System Design
Project 80
Chapter 3
System Design
Online Restaurant Management System Chapter 3 : System Design
Project 81
33.. SSyysstteemm DDeessiiggnn
3.1 Introduction
This chapter will be discussing on how the overall system is designed in term of the database
design with data dictionary, layout sketching design and screen layout design. This chapter is
crucial to the project development life cycle as it plays an important role in project
implementation and testing stage.
3.2 Final Class Diagram
Diagram 3.2.1 Final Class Diagram
Online Restaurant Management System Chapter 3 : System Design
Project 82
3.3 Data Dictionary
Table Name: Member
Field Name Data Type Data Description Key Reference
UserName Nvarchar(50) Member login username PK
Name Nvarchar(50) Member name
IC Nchar(14) Member IC
Gender Nchar(7) Member Gender
Phone Nchar(12) Member Phone Number
Email Nchar(50) Member Email Address
Address Nvarchar(50) Member Housing Address
City Nvarchar(50) Member City
State Nvarchar(50) Member State
Postcode Nvarchar(5) Member Postcode
DateJoined Date Date of Registration
ValidStatus Nvarchar(20) Membership status
ConfirmStatus Nvarchar(20) Confirmation status for
registration
ImagePath Nvarchar(Max) Path for member profile image
OrderID Nchar(15) To ensure each member having
only 1 order at a visit
FK ResOrder
Password Nchar(12) Use to login to the system
Online Restaurant Management System Chapter 3 : System Design
Project 83
Table Name: Menu
Field Name Data Type Data Description Key Reference
MenuID Nchar(10) Menu Unique ID PK
MenuItemName Nvarchar(50) Menu name
MenuItemDescription Nvarchar(50) Menu description
Category Nvarchar(50) Menu category
UnitPrice Decimal(18,2) Item selling price per unit
Status Nvarchar(20) Item available status
ImagePath Nvarchar(Max) Path for menu item image
Table Name: Payment
Field Name Data Type Data Description Key Reference
PaymentID Nchar(15) Payment Unique ID PK
PaymentStatus Nvarchar(50) Payment status
TotalBeforeDiscount Decimal(18,2) Amount to pay before discount
TotalAfterDiscount Decimal(18,2) Amount to pay after discount
PaymentAmount Decimal(18,2) Amount to be pay
PaymentMethod Nvarchar(50) Payment method
PaymentDate Date Date of the payment
ReceiptID Nvarchar(50) Receipt reference for the
payment
PaymentGeneratedDate Date Date payment generated
PaymentExpiredDate Date The latest date for the payment
TransactionID Nvarchar(30) Transaction reference for
PayPal
UserName Nvarchar(50) Member unique username FK Member
Online Restaurant Management System Chapter 3 : System Design
Project 84
Table Name: Reservation
Field Name Data Type Data Description Key Reference
ReservationID Nchar(10) Reservation Unique ID PK
UserName Nvarchar(50) Member unique username FK Member
Phone Nchar(12) Member phone number
Time Time(5) Reservation time
Date Date Reservation date
Status Nvarchar(50) Status of the reservation
Pax Nvarchar(2) Number of person
AlertStatus Nvarchar(50) SMS status
Remark Nvarchar(Max) Remark message for reservation
Table Name: ResOrder
Field Name Data Type Data Description Key Reference
OrderID Nchar(15) Order Unique ID PK
OrderType Nvarchar(50) Customer order type
TableID Nchar(10) Customer sitting table FK ResTable
Pax Int Number of customer
Date Date Date of customer order
TimeIn Time(7) Time of customer order
TimeOut Time(7) Time of customer payment
PaymentID Nchar(15) Order unique payment FK Payment
TotalInitialPrice Decimal(18,2) Customer total order item initial
price
TotalAfterDiscount Decimal(18,2) Amount to pay after discount
Online Restaurant Management System Chapter 3 : System Design
Project 85
Table Name: ResOrderDetail
Field Name Data Type Data Description Key Reference
OrderID Nchar(15) Order unique ID Composite Key ResOrder
MenuID Nchar(10) Menu unique ID Composite Key Menu
Index int Unique ordering sequence PK
Quantity Int Number of item ordered
Status Nvarchar(50) Status of ordered item
InitialPrice Decimal(18,2) Initial price for ordered item
TimeCooked Time(7) Time of order item prepared
KitchenIndex Int Use for kitchen department
to filter food list
Table Name: ResTable
Field Name Data Type Data Description Key Reference
TableID Nchar(10) Table unique ID PK
TableDescription Nvarchar(50) Description for the table
MaximumSeat int Maximum seat for the table
Status Nvarchar(50) Status of the table
OrderID Nchar(10) Order unique ID FK ResOrder
CallingFromlient Nvarchar(50) Used for requesting billing
Table Name: Staff
Field Name Data Type Data Description Key Reference
StaffID Nchar(20) Staff unique ID PK
Position Nvarchar(20) Position of the staff
Password Nvarchar(20) Use to login to the system
Online Restaurant Management System Chapter 3 : System Design
Project 86
3.4 Normalization
Third Normal Form(3rd
NF)
Member(UserName, Name, IC, Gender, Phone, Email, Address, City, State, PostCode,
DateJoined, ValidStatus,ConfirmStatus, ImagePath, OrderID*, Password)
Menu(MenuID, MenuItemName, MenuItemDescription, UnitPrice, ImagePath, Category,
Status)
Payment(PaymentID, PaymentStatus, TotalBeforeDiscount, TotalAfterDiscunt,
PaymentAmount, PaymentMethod, PaymentDate, ReceiptID, PaymentGeneratedDate,
PaymentExpiredDate, TransactionID, UserName*)
Reservation(ReservationID, UserName*, Phone, Time, Date, Pax, Status, AlertStatus,
Remark)
ResOrder(OrderID, OrderType, TableID*, Pax, Date, TimeIn, TimeOut, PaymentID*,
TotalInitialPrice, TotalAfterDiscount)
ResOrderDetail(OrderID*, MenuID*, Index, Quantity, Status, InitialPrice, TimeCooked,
KitchenIndex)
ResTable(TableID, TableDescription, MaximumSeat, Status, OrderID*, CallingFromClient)
Staff(StaffID, Position, Password)
Online Restaurant Management System Chapter 3 : System Design
Project 87
3.5 Screen Design (Sketch Layout)
Membership Maintenance Sketch Layout
Diagram 3.5.1 Membership Maintenance Sketch Layout
Online Restaurant Management System Chapter 3 : System Design
Project 88
Menu Maintenance Sketch Layout
Diagram 3.5.2 Menu Maintenance Sketch Layout
Online Restaurant Management System Chapter 3 : System Design
Project 89
Food Order Sketch Layout
Diagram 3.5.3 Food Order Sketch Layout
Online Restaurant Management System Chapter 3 : System Design
Project 90
Reservation Sketch Layout 1
Diagram 3.5.4 Reservation Sketch Layout 1
Online Restaurant Management System Chapter 3 : System Design
Project 91
Reservation Sketch Layout 2
Diagram 3.5.5 Reservation Sketch Layout 2
Online Restaurant Management System Chapter 3 : System Design
Project 92
Payment Sketch Layout
Diagram 3.5.6 Payment Sketch Layout
Online Restaurant Management System Chapter 3 : System Design
Project 93
Report Sketch Layout
Diagram 3.5.7 Report Sketch Layout
Online Restaurant Management System Chapter 3 : System Design
Project 94
Kitchen Sketch Layout
Diagram 3.5.8 Kitchen Maintenance Sketch Layout
Online Restaurant Management System Chapter 3 : System Design
Project 95
3.6 Screen Design
Home Page Screen Design
Diagram 3.6.1 Home Page Screen Design
This is the Home Page of the Online Restaurant Management System. On this page, it will
show the static information about the restaurant which is Dizzy Restaurant.
Online Restaurant Management System Chapter 3 : System Design
Project 96
About Page Screen Design
Diagram 3.6.2 About Page Screen Design
This is the About Page of ORMS. On this page, it will provide the static information such as
people‟s testimony, history about the restaurant and so on.
Online Restaurant Management System Chapter 3 : System Design
Project 97
Gallery Page Screen Design
Diagram 3.6.3 Gallery Page Screen Design
This is the Gallery Page. On this page, it will show the static menu image and menu
description that is available in the restaurant.
Online Restaurant Management System Chapter 3 : System Design
Project 98
Registration Page Screen Design
Diagram 3.6.4 Registration Page Screen Design
This is Registration Page. On this page, public users are able to register themselves as a part
of the restaurant system user. A confirmation email will be sent to the user email with the
login credential. The system will be able to store the member profile and information
securely.
Online Restaurant Management System Chapter 3 : System Design
Project 99
Term & Condition Screen Design
Diagram 3.6.5 Term & Condition Screen Design
This is Term & Condition Page, it will show the term and condition to sign up as the member
of the system. It will list down as clear as possible to protect the member data as well as the
benefit of the restaurant.
Online Restaurant Management System Chapter 3 : System Design
Project 100
Contact Us Screen Design
Diagram 3.6.6 Contact Us Screen Design
This is Contact Page, this allows the non-member user to send a recommendation or feedback
to the restaurant management and this page also serves as a communication channel for the
restaurant to non-member user. Besides, it also provides the contact information and location
information to the user.
Online Restaurant Management System Chapter 3 : System Design
Project 101
Staff View Member Screen Design
Diagram 3.6.7 Staff View Member Screen Design
This is Staff View Member Page which allows the staff to search for a member‟s details. The
staff will need to enter the customer username; if it's found in the database, then the
information will be displayed according to the field provided.
Online Restaurant Management System Chapter 3 : System Design
Project 102
Staff Remove Membership Screen Design
Diagram 3.6.8 Staff Remove Membership Screen Design
This is a Staff Remove Membership page which allows the staff to remove the membership
status of a particular member. The staff will need to enter the customer username to verify the
member existence. If a membership removal is a must to the particular member, the staff will
need to enter the reason in the text area provided and an email with removal reason will be
sent to the member.
Online Restaurant Management System Chapter 3 : System Design
Project 103
Staff Add Menu Screen Design
Diagram 3.6.9 Staff Add Menu Screen Design
This is Staff Add Menu Page which allows the staff dynamically adds in new menu item to
the restaurant. When a new item is offered in the restaurant, the staff can add in the new
menu item with the information such as menu name, description, unit price and etc.
Online Restaurant Management System Chapter 3 : System Design
Project 104
Staff Edit Menu Screen Design
Diagram 3.6.10 Staff Edit Menu Screen Design
This is Staff Edit Menu Page which allows the staff to make modification on the existing
menu information such as unit price, description, name and also the menu image.
Online Restaurant Management System Chapter 3 : System Design
Project 105
Staff Add Order Screen Design
Diagram 3.6.11 Staff Add Order Screen Design
This is Staff Add Order Page which allows the staff to make an order for taking the orders
from customers. A menu will be shown on the left side while the information requires the
staff to enter is placed on the right side.
Online Restaurant Management System Chapter 3 : System Design
Project 106
Staff Edit Order Screen Design
Diagram 3.6.12 Staff Edit Order Screen Design
This is Staff Edit Order Page which allows the staff to make modification of the existing
order. The modification can be like adding or removing an ordered item, but must fulfil the
condition such as the food are still not in preparing.
Online Restaurant Management System Chapter 3 : System Design
Project 107
Staff Kitchen Screen Design
Diagram 3.6.13 Staff Kitchen Screen Design
This is Staff Kitchen Page which will only be used by the kitchen staff. This page will show
the order list on the existing order and item that required the kitchen department to prepare.
The kitchen staff is provided with the option to filter and update the status of item list
displayed.
Online Restaurant Management System Chapter 3 : System Design
Project 108
Staff Add Reservation Screen Design
Diagram 3.6.14 Staff Add Reservation Screen Design
This is Staff Add Reservation Page which allows the staff to make reservations for the
restaurant member. The staff is required to enter the member username to verify their
existence and then only enter the reservation detail in the field provided.
Online Restaurant Management System Chapter 3 : System Design
Project 109
Staff Edit Reservation Screen Design
Diagram 3.6.15 Staff Edit Reservation Screen Design
This is Staff Edit Reservation Page which allows the staff to help the member to update their
reservation information. This page also allows the staff to search for the upcoming
reservation on the selected date. The staff can also send SMS reminder to the member
through this page.
Online Restaurant Management System Chapter 3 : System Design
Project 110
Staff Update Table Reservation Screen Design
Diagram 3.6.16 Staff Update Table Reservation Screen Design
This is Staff Update Table Reservation Page which allows the staff to reserve a table for the
upcoming reservation. Green color will be indicating free, the red color will indicate seated
and yellow color will be indicates reserved.
Online Restaurant Management System Chapter 3 : System Design
Project 111
Staff Make Payment Screen Design
Diagram 3.6.17 Staff Make Payment Screen Design
This is Staff Payment Page which allows the staff to carry out payment transaction. The
amount of the payment will be auto calculated. Besides, the payment method is divided into 2
which is cash payment and PayPal payment. If customer chooses cash payment, then the staff
will require to enter the amount receive, else if PayPal payment is selected then it will
redirect to the PayPal payment page.
Online Restaurant Management System Chapter 3 : System Design
Project 112
PayPal Success Screen Design
Diagram 3.6.18 PayPal Success Screen Design
This is PayPal Success Page which will be directed from PayPal payment page upon the
payment is successfully made. The information will be displayed on this page will be the
transaction ID of the PayPal payment which allow the customer to trace back the payment
paid.
Online Restaurant Management System Chapter 3 : System Design
Project 113
PayPal Failed Screen Design
Diagram 3.6.19 PayPal Failed Screen Design
This is PayPal Failed Page which will be directed from PayPal payment page upon the
payment is canceled or failed. The information will be displayed on this page will be the
payment ID, payment amount and also provided a button to redirect back to the Payment
Page.
Online Restaurant Management System Chapter 3 : System Design
Project 114
Member Edit Profile Screen Design
Diagram 3.6.20 Member Edit Profile
This is Member Edit Profile Page which allows the member to make changes in their
information. Besides, they are also allowed to change their profile picture, password and etc.
Online Restaurant Management System Chapter 3 : System Design
Project 115
Member Make Reservation Screen Design
Diagram 3.6.21 Member Make Reservation Screen Design
This is Member Make Reservation Page which allows the member to make reservation by
themselves through the reservation form provided. The information of the member will be
automatically retrieved when the member come to this page. However, they are still allowed
to make changes in the information. They required to enter the reservation details and
clicking on the confirmation button.
Online Restaurant Management System Chapter 3 : System Design
Project 116
Staff Generate Report Screen Design
Diagram 3.6.22 Staff Generate Report Screen Design
This is Staff Report Page which allows the staff to generate or download the report from the
system. The staff is provided with 5 options of the report, which is Member Registration
Report, Unattended Reservation Report, Top 5 Customer Report, Top 5 Sales Report and
Daily Sales Report. The staff can also specify the duration period of the report which select
the from date and to date.
Online Restaurant Management System Chapter 3 : System Design
Project 117
3.7 Report Template Design
Member Registration Report
Diagram 3.7.1 Member Registration Report
This is Member Regisration Report which show the member that register themselves between
the duration period specify by the staff. The purpose of this report is that the Online
Restaurant Management System is open to public, the staff does not know who register to use
the system. So by generating this report, it allowed the staff to have an information about who
is registered on their system.
Online Restaurant Management System Chapter 3 : System Design
Project 118
Unattended Reservation Report
Diagram 3.7.2 Unattended Reservation Report
This is an Unattended Reservation Report which allows the staff to know which member
having a high unattended reservation number. The purpose of this report is that only member
of the system is allowed to make a reservation, if a member make too many false reservations,
it will make the staff to reserve a table for a reservation which will not be attending, so it will
affect the business performance. The staff can use this report to determine which member‟s
membership status should be removed.
Online Restaurant Management System Chapter 3 : System Design
Project 119
Top 5 Customer Report
Diagram 3.7.3 Top 5 Customer Report
This is Top 5 Customer Report which will display the top 5 spending member between the
duration periods specify by the staff. This report allowed the staff to know which 5 members
having a high spending at the restaurant and can send them a voucher to thank them.
Online Restaurant Management System Chapter 3 : System Design
Project 120
Top 5 Sales Report
Diagram 3.7.4 Top 5 Sales Report
This is Top 5 Sales Report which allow the staff to know which top 5 product are the most
selling in the duration period specified by the staff. This report allowed the restaurant
management to have an idea that which product is more popular in their restaurant and can
make requests to have extra stock of that product to prevent leakage of that product.
Online Restaurant Management System Chapter 3 : System Design
Project 121
Daily Sales Report
Diagram 3.7.5 Daily Sales Report
This is Daily Sales Report which allow the management to know the daily performance of the
particular day. If the sales on that day do not reach the expectations, they can figure out
solutions to prevent the same situation happen on the upcoming days.
Online Restaurant Management System Chapter 3 : System Design
Project 122
3.8 Core System Flow Design
Order Request handler
This section will discuss about how RapidCaptain will respond to a self-ordering request
from RapidOrder.
Handler of Self-Order Event
Diagram 3.8.1 Overview Kitchen Preparing List Sorting
Discussion
Handling of self-order request involved both RapidOrder and RapidCaptain activity. Self-
ordering will be requested by RapidOrder while RapidCaptain will approve or cancel the self-
ordering request.
1. Whenever a RapidOrder wish to do a new order, it must send a ordering request by
invoking WCF method, requestTable(tableID). Eg. requestTable(A). Immediately, a
DispatcherTimer is start to constantly check on Table A status.
Online Restaurant Management System Chapter 3 : System Design
Project 123
2. RapidCaptain will detect the status changes on restaurant table by periodically
invoking WCF method, getAllStatus(). Detected requesting status on Table A and
prompt notification on system interface until the request is respond.
3. RapidCaptain will approve/cancel the request by invoking WCF method,
ResponseRequest(tableID). Eg. ResponseRequest(A)
Approve request caused A status changed from “Requesting” to “Seated.”
Cancel request caused B status changed from “Requesting” to “Free”
4. RapidOrder will detect the status changes on Table A by constantly invoke WCF
method, getStatus(A). DispatcherTimer immediately stop and two possible result are:
Table A status is “seated”, orderID is generated and allowed to self-ordering
Table A status is “free” and RapidOrder have to try again
Intelligent Food Sorting in Kitchen Module
This section will discuss about how changes in order detail will caused notification in kitchen
interface on web application. The order sequence is follow by order A -> order B.
Kitchen Preparing List Sorting Diagram
Diagram 3.8.2 Overview Kitchen Preparing List Sorting
Online Restaurant Management System Chapter 3 : System Design
Project 124
Diagram 3.8.3 Kitchen Preparing List Sorting
Without sorting result
# Food Status Quantity Order
1 M01 Cooking 2 A
2 M02 Queuing 2 A
3 M03 Queuing 1 A
4 M01 Queuing 1 B
5 M02 Queuing 1 B
6 M03 Queuing 1 B
With sorting result
# Food Status Quantity Order
1 M01 Cooking 2 A
2 M02 Queuing 3 A-2,B-1
3 M03 Queuing 2 A-1,B-1
4 M01 Queuing 1 B
Online Restaurant Management System Chapter 3 : System Design
Project 125
Discussion
In Kitchen Module, there will be a constant check implemented to check the changes made in
the kitchen index of order detail. When the value of the kitchen index has been modified such
as 1 indicating new item added, 2 indicating item status updated and 3 indicating item is
deleted, it will prompt a message box to inform the kitchen staff. Besides, there will an
Intelligent Food Sorting for queuing item implemented in Kitchen Module too. The condition
to be merged is that the item ordered are the same item that in queuing status but is taken
from different order and most important is that the time taken for both order taken time are
not difference more than 5 minutes. If the above does not meet, then the ordered food will be
shown in separate list.
For example, Order A is taken on 10:00am and having item of M01-Cooked, M02-Queued
and M03-Queued. Meanwhile Order B is taken on 10:03am and having item M01-Queued,
M02-Queued and M03-Queued. With the Intelligent Food Sorting, the entire item with
Queued status will be taken to compare with each other and merged together if the condition
meets. The Order B M02-Queued and M03-Queued will be merging with Order A M02-
Queued and M03-Queued because both of the order time taken difference is not more than 5
minutes. The reason why Order B M01-Queued and Order A M01-Cooked is because of the
Order A M01-Cooked is already in cooking status, only food item with Queue will be
compare and merged.
Online Restaurant Management System Chapter 3 : System Design
Project 126
3.9 Chapter Summary
This chapter summarizes out the details of system design which including data design, screen
design and report design. The project data designs are presented in the class diagram, third
normalization table as well as a data dictionary. Data dictionary will contain the information
such as attribute name, data type, description, key type and reference table of all database
tables used in the system.
Furthermore, screen layout sketch design and screen design is practiced to ensure that the
design screen or user interface do meet the requirement that gathered at previous stages.
Besides, it is a good practiced that we designing the user interface based on the diagrams that
drawn on the previous stage as it is more efficient in meeting requirement of the proposed
system. Lastly, 5 types of report design is created to serve the needs of the restaurant
management or for business purposes.
Online Restaurant Management System Chapter 4 : Programming
Project 127
Chapter 4
Programming
Online Restaurant Management System Chapter 4 : Programming
Project 128
44.. PPrrooggrraammmmiinngg
4.1 Introduction
This chapter will be providing a description of the critical programming code that used in
developing the system. The main language that we used to develop the Online Restaurant
Management System is Asp.Net C#. However, PayPal API, SMS API and JQuery were also
being used in the development to enhance the functionality and visibility of the entire system.
4.2 Critical Coding Within System
Real Time Notification
<link rel="stylesheet" type="text/css" href="notification_js/buttons.css"/> <script src="notification_js/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="notification_js/noty/jquery.noty.js"></script> <script type="text/javascript" src="notification_js/noty/layouts/top.js"></script> <script type="text/javascript" src="notification_js/noty/themes/default.js"></script> <script type="text/javascript"> var soundObject = null; function generate(layout, id) { if (soundObject != null) { document.body.removeChild(soundObject); soundObject.removed = true; soundObject = null; } soundObject = document.createElement("embed"); soundObject.setAttribute("src", "notify.wav"); soundObject.setAttribute("hidden", true); soundObject.setAttribute("autostart", true); document.body.appendChild(soundObject); setTimeout(function () { var n = noty({ text: '<div style="font-family: PT Sans, Tahoma, Arial, serif; line-height: 13px ">Table <b>' + id + 'ask for billing. Do you want to response ? </div>', type: 'alert', dismissQueue: true, layout: layout, theme: 'defaultTheme', buttons: [ { addClass: 'btn btn-primary', text: 'Ok', onClick: function ($noty) {
Online Restaurant Management System Chapter 4 : Programming
Project 129
$noty.close(); noty({ dismissQueue: true, force: true, layout: layout, theme: 'defaultTheme', text: '<div style="font-family: PT Sans, Tahoma, Arial, serif; line-height: 13px ">Please print the bill and proceed to customer</div>', type: 'success' }); window.open("RealTimeNotificationResponse.aspx?id=" + id, "_blank"); } }, { addClass: 'btn btn-danger', text: 'Cancel', onClick: function ($noty) { $noty.close(); noty({ dismissQueue: true, force: true, layout: layout, theme: 'defaultTheme', text: '<div style="font-family: PT Sans, Tahoma, Arial, serif; line-height: 13px ">Unfortunately, you have ignored this notification</div>', type: 'error' }); } } ] }); console.log('html: ' + n.options.id); }, 800); } </script>
Diagram 4.2.1 Sample Code for Real Time Notification
This Real Time Notification code is used in the Staff Master Page. When the client used the
Restaurant Mobile Application and request for billing, the Real Time Notification Code
Behind will trigger the code above and prompt a message box with sound object to alert the
staff which table is requesting for billing. If the staff response “Ok” to the message, it will
redirect to another page and billing information of the table will be generated.
Online Restaurant Management System Chapter 4 : Programming
Project 130
Real Time Notification Code Behind
protected void Refresh_Load(object sender, EventArgs e) { consMenu = new SqlConnection(connStr); consMenu.Open(); cmdSelectTable = new SqlCommand("SELECT * FROM ResTable WHERE CallingFromClient='yes'", consMenu); SqlDataAdapter da = new SqlDataAdapter(cmdSelectTable); DataTable dt = new DataTable(); da.Fill(dt); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { String id = dt.Rows[i]["TableID"].ToString(); ScriptManager.RegisterClientScriptBlock(this, typeof(System.Web.UI.Page), "generate", "generate('top','" + id + "');", true); cmdUpdateTable = new SqlCommand("Update ResTable set CallingFromClient='' WHERE TableID=@id", consMenu); cmdUpdateTable.Parameters.AddWithValue("@id", id); cmdUpdateTable.ExecuteNonQuery(); } } consMenu.Close(); refreshEveryNanoSecond.Value = GetLatestTick().ToString(); }
Diagram 4.2.2 Real Time Notification (Code Behind)
This Real Time Notification Code Behind will run in every NanoSecond to check the
database to determine whether the dine-in customer has requested for billing. If the condition
is met which is retrieving a value “Yes” from the RestaurantTable database table, then it will
trigger the Real Time Notification Function show on Diagram 4.2.1 and update the “Yes”
value to NULL. If no value “Yes” is obtained, it will not trigger the Real Time Notification
Function.
Online Restaurant Management System Chapter 4 : Programming
Project 131
SMS Code Behind
protected void sendNotificationSMS() { // http://isms.com.my/sms_api.php string receiver = "0164550987"; string msgContent = "Hi Mr/Ms, we are pleased to remind you that you have made a reservation to Dizzy Restaurant which dated on" + tempdate + " " + time + ". We are happy to serve you."; Uri myUri = new Uri("http://isms.com.my/isms_send.php?un=abc&pwd=123456&dstno=6" + receiver + "&msg=" + msgContent + "&type=1&sendid=60198972233"); WebRequest myWebRequest = WebRequest.Create(myUri); WebResponse myWebResponse = myWebRequest.GetResponse(); StreamReader reader = new StreamReader(myWebResponse.GetResponseStream()); string s_ResponseString = reader.ReadToEnd(); }
Diagram 4.2.3 SMS Code Behind
The SMS Code Behind shows the function of sending SMS. This function is used in
Reservation module which allows the staff to send the SMS act as a reminder to the member
that has made a reservation for that particular day. This SMS API is provided by the ISMS
Company that located in Penang. When this function is triggered, it will create a URI which
including the API Link, Username, Password, SMS Receiver Number and Message content.
The URI will be used to create the WebRequest and which will be responded to send the
SMS.
Online Restaurant Management System Chapter 4 : Programming
Project 132
Zopim Live Chat
<!--Start of Zopim Live Chat Script--> <script type="text/javascript"> window.$zopim || (function (d, s) { var z = $zopim = function (c) { z._.push(c) }, $ = z.s = d.createElement(s), e = d.getElementsByTagName(s)[0]; z.set = function (o) { z.set. _.push(o) }; z._ = []; z.set._ = []; $.async = !0; $.setAttribute('charset', 'utf-8'); $.src = '//v2.zopim.com/?1i7ZzL7ea2RlBEUi3RLAzy4WDSnxFByL'; z.t = +new Date; $. type = 'text/javascript'; e.parentNode.insertBefore($, e) })(document, 'script'); </script> <!--End of Zopim Live Chat Script-->
Diagram 4.2.4 Zopim Live Chat
This Zopim Live Chat is a dashboard that allows the restaurant staff to manage the live chat
session with the system user. This Zopim Live Chat API allowed the instant messaging chat
box being implemented in the Member Master Page or every page that the member can
access. The code above is managed by JavaScript. However, in order for the restaurant staff
to respond to the live chat session, they are required to login in the dashboard in Zopim Main
Website.
Generate Bill Code Behind
using iTextSharp.text; using iTextSharp.text.pdf; protected void generateBill() { String payid = txtPaymentid.Text; String receiptID = "R" + txtPaymentid.Text.Substring(1); String datetime = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss"); String tabid = ""; String pax = ""; String paymentamount = ""; String tbdiscount = ""; String discount = txtDiscount.Text; if (discount.ToString() == "") {discount = "-"; } consPayment = new SqlConnection(connStr); consPayment.Open(); cmdPayment = new SqlCommand("Select r.Pax, r.TableID, p.PaymentAmount, p.TotalBeforeDiscount From ResOrder r, Payment p WHERE r.PaymentID=@id AND r.PaymentID=p.PaymentID", consPayment); cmdPayment.Parameters.AddWithValue("@id", payid); dtrSelectPayment = cmdPayment.ExecuteReader(); if (dtrSelectPayment.Read()) { tabid = dtrSelectPayment["TableID"].ToString(); pax = dtrSelectPayment["Pax"].ToString(); paymentamount = dtrSelectPayment["PaymentAmount"].ToString();
Online Restaurant Management System Chapter 4 : Programming
Project 133
tbdiscount = dtrSelectPayment["TotalBeforeDiscount"].ToString(); } dtrSelectPayment.Close(); string path = path = Server.MapPath("Payment_Receipt"); var doc1 = new Document(new iTextSharp.text.Rectangle(300f, 800f)); PdfWriter.GetInstance(doc1, new FileStream(path + "/" + receiptID + ".pdf", FileMode.Create)); doc1.Open(); cell.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right table.AddCell(cell); PdfPCell cell2 = new PdfPCell(new Phrase("11-12-10, BL Avenue")); cell2.Colspan = 3; cell2.Border = PdfPCell.NO_BORDER; cell2.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right table.AddCell(cell2); PdfPCell btm1 = new PdfPCell(new Phrase(" ")); btm1.Colspan = 3; btm1.Border = PdfPCell.BOTTOM_BORDER; btm1.HorizontalAlignment = 0; //0=Left, 1=Centre, 2=Right table.AddCell(btm1); table.AddCell(""); table.AddCell("SubTotal:"); table.AddCell(tbdiscount); doc1.Add(table); doc1.Close(); String temppath = "Payment_Receipt/" + receiptID + ".pdf"; Response.Write(string.Format("<script>window.open('{0}','_blank');</script>", temppath)); } }
Diagram 4.2.5 Generate Bill Code Behind
Diagram 4.2.5 shows the code that use to generate Bill to customer upon request. The
generate Bill code will be using the iTextSharp Library to create a PDF and append the
information into the PDF created. After that, the created Bill PDF will be opened by using the
Response.Write code.
Online Restaurant Management System Chapter 4 : Programming
Project 134
PayPal API
Code Behind protected void paypal_transaction() { string redirecturl = ""; redirecturl += "https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_xclick&business=" + ConfigurationManager.AppSettings["paypalemail"].ToString(); redirecturl += "&item_name= ORMS Payment"; redirecturl += "&amount=" + txtTotalAmount.Text; redirecturl += "¤cy_code=MYR"; redirecturl += "&return=" + ConfigurationManager.AppSettings["SuccessURL"].ToString(); redirecturl += "&cancel_return=" + ConfigurationManager.AppSettings["FailedURL"].ToString(); Response.Redirect(redirecturl); }
WebConfig
<appSettings> <!--<add key="paypalemail" value="[email protected]" />--> <add key="paypalemail" value="[email protected]" /> <add key="PayPalSubmitUrl" value="https://www.sandbox.paypal.com/cgi-bin/webscr" /> <add key="FailedURL" value="http://sjlim-solution.somee.com/MP_Fail.aspx" /> <add key="SuccessURL" value="http://sjlim-solution.somee.com/MP_Success.aspx" /> </appSettings>
Diagram 4.2.6 PayPal API
This code shows the PayPal API which allows the customer of the restaurant to carry out
payment through PayPal. In order to use PayPal API, we required to add the code above in
the Web Config file. When the PayPal method is selected, it will redirect to the PayPal
Payment page with the information included in the Redirect URL. In order to redirect back to
the system from PayPal Payment Page, it will be control of the code added in appSettings
(Failed URL/SuccessURL).
Online Restaurant Management System Chapter 4 : Programming
Project 135
Preview Report Code Behind
private void preview() { int count = 0; string reportPath = "", sql = "", spath = ""; ReportDocument staffReport; staffReport = new ReportDocument(); reportPath = Server.MapPath("~/Report/CrystalReport1.rpt"); string type = ddlType.Text; if (type.Equals("Member Registration Report")) { if (txtfromdate.Text.Length < 1 || txttodate.Text.Length < 1) { Response.Write(@"<script language='javascript'>alert('Please specify from & to date');</script>"); } else { String date1 = txtfromdate.Text; String date2 = txttodate.Text; DateTime fromdate = Convert.ToDateTime(date1); DateTime todate = Convert.ToDateTime(date2); int result = DateTime.Compare(fromdate, todate); if (result > 0) { Response.Write(@"<script language='javascript'>alert('ToDate cannot greater than FromDate!');</script>"); } else { spath = "~/Report/MemberRegistrationReport.pdf"; reportPath = Server.MapPath("~/Report/MemRegistration.rpt"); sql = "SELECT m.UserName,m.Name, m.Phone, m.Email FROM Member m WHERE m.ValidStatus='Valid' AND (DateJoined >= ' " + date1 + "') AND (DateJoined <= '" + date2 + "')"; count = 1; } } } if (count == 1) { staffReport.Load(reportPath); consReport = new SqlConnection(connStr); consReport.Open(); SqlDataAdapter adpt = new SqlDataAdapter(sql, consReport); DataTable dt = new DataTable(); adpt.Fill(dt); if (dt.Rows.Count > 0) { staffReport.SetDataSource(dt); CrystalReportViewer1.ReportSource = staffReport; CrystalReportViewer1.Visible = false; staffReport.ExportToDisk(ExportFormatType.PortableDocFormat, Server.MapPath(spath)); string pageurl = spath;
Online Restaurant Management System Chapter 4 : Programming
Project 136
Response.Write("<script>"); Response.Write(String.Format("window.open('{0}','_blank')", ResolveUrl(pageurl))); Response.Write("</script>"); ddlType.SelectedIndex = 0; txtfromdate.Text = ""; txttodate.Text = ""; } else { ScriptManager.RegisterStartupScript(this, this.GetType(), "Alert", "alert('No data generate in the report.')", true); } } }
Diagram 4.2.7 Preview Report Code Behind
This code shows the function in Report Module which is Preview Report. The selected
reports will be displayed in a new window without downloading it. At first, the report path
must be declared based on the report selection. After that, the source of report viewer is then
declared so that the appropriate report will generate and displayed based on user selection.
The report generation tool is Crystal Report.
Online Restaurant Management System Chapter 4 : Programming
Project 137
Download Report Code Behind
private void download() { int count = 0; string reportPath = "", sql = "", spath = ""; ReportDocument staffReport; staffReport = new ReportDocument(); reportPath = Server.MapPath("~/Report/CrystalReport1.rpt"); string type = ddlType.Text; if (type.Equals("Member Registration Report")) { if (txtfromdate.Text.Length < 1 || txttodate.Text.Length < 1) { Response.Write(@"<script language='javascript'>alert('Please specify from & to date');</script>"); } else { String date1 = txtfromdate.Text; String date2 = txttodate.Text; DateTime fromdate = Convert.ToDateTime(date1); DateTime todate = Convert.ToDateTime(date2); int result = DateTime.Compare(fromdate, todate); if (result > 0) { Response.Write(@"<script language='javascript'>alert('ToDate cannot greater than FromDate!');</script>"); } else { spath = "Member Registration Report"; reportPath = Server.MapPath("~/Report/MemRegistration.rpt"); sql = "SELECT m.UserName,m.Name, m.Phone, m.Email FROM Member m WHERE m.ValidStatus='Valid' AND (DateJoined >= ' " + date1 + "') AND (DateJoined <= '" + date2 + "')"; count = 1; }}} if (count == 1) { staffReport.Load(reportPath); consReport = new SqlConnection(connStr); consReport.Open(); SqlDataAdapter adpt = new SqlDataAdapter(sql, consReport); DataTable dt = new DataTable(); ddlType.SelectedIndex = 0; txtfromdate.Text = ""; txttodate.Text = ""; adpt.Fill(dt); if (dt.Rows.Count > 0) { staffReport.SetDataSource(dt); CrystalReportViewer1.HasToggleGroupTreeButton = true; CrystalReportViewer1.DisplayToolbar = true;
Online Restaurant Management System Chapter 4 : Programming
Project 138
CrystalReportViewer1.ReportSource = staffReport; BinaryReader stream = new BinaryReader(staffReport.ExportToStream(CrystalDecisions.Shared.ExportFormatType. PortableDocFormat)); Response.ClearContent(); Response.ClearHeaders(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment; filename=" + spath); Response.AddHeader("content-length", stream.BaseStream.Length.ToString()); Response.BinaryWrite(stream.ReadBytes(Convert.ToInt32(stream.BaseStream.Length))); Response.Flush(); Response.Close(); } else { ScriptManager.RegisterStartupScript(this, this.GetType(), "Alert", "alert('No data generate in the report.')", true); } } }
Diagram 4.2.8 Download Report Code Behind
This code shows the function in Report Module which is Download Report. The selected
report will be downloaded without preview. At first, the report path must be declared based
on the report selection. After that, the source of report viewer is then declared so that the
appropriate report will generate and downloaded based on user selection. The report
generation tool is Crystal Report.
Online Restaurant Management System Chapter 4 : Programming
Project 139
Kitchen Filter Food List
private void preparing() { String date = DateTime.Now.ToString("MM/dd/yyyy"); DateTime datetime = Convert.ToDateTime(date); List<Food> list = new List<Food>() { }; Food[] foodFromDb = new Food[100]; SqlDataAdapter commandData; DataTable orderDataTable = new DataTable(); DataTable orderDataTableQ = new DataTable(); consKitchen = new SqlConnection(connStr); consKitchen.Open(); int i = 0; //First Retrieve Preparing Only cmdSearchKitchen = new SqlCommand("Select DISTINCT ro.TableID, ro.OrderID, rod.MenuID, ro.TimeIn, rod.TimeCooked, m.Category, m.MenuItemName, rod.Quantity, rod.Status FROM ResOrder ro, Menu m, ResOrderDetail rod, Payment p WHERE ro.OrderID= rod.OrderID AND ro.PaymentID=p.PaymentID AND rod.MenuID=m.MenuID AND rod.Status=@sta2 AND rod.KitchenIndex=@kit ORDER BY ro.TimeIn, rod.Status, m.MenuItemName,ro.TableID,ro.OrderID, m.Category ", consKitchen); cmdSearchKitchen.Parameters.AddWithValue("@kit", 0); cmdSearchKitchen.Parameters.AddWithValue("@sta2", "Preparing"); commandData = new SqlDataAdapter(cmdSearchKitchen); commandData.Fill(orderDataTable); if (orderDataTable.Rows.Count > 0) { for (i = 0; i < orderDataTable.Rows.Count; i++) { Food orderList = new Food(); orderList.Index = list.Count + 1; orderList.MenuID = orderDataTable.Rows[i]["MenuID"].ToString().Trim(); orderList.MenuName = orderDataTable.Rows[i]["MenuItemName"].ToString(); orderList.TableID = orderDataTable.Rows[i]["TableID"].ToString(); orderList.Quantity = orderDataTable.Rows[i]["Quantity"].ToString().Trim(); orderList.Status = orderDataTable.Rows[i]["Status"].ToString().Trim(); orderList.TimeIn = orderDataTable.Rows[i]["TimeIn"].ToString(); orderList.TimeCook = orderDataTable.Rows[i]["TimeCooked"].ToString(); list.Add(orderList); } } //Second Retrieve Queuing Only cmdSearchKitchen = new SqlCommand("Select DISTINCT ro.TableID, ro.OrderID, rod.MenuID, ro.TimeIn, rod.TimeCooked, m.Category, m.MenuItemName, rod.Quantity, rod.Status FROM ResOrder ro, Menu m, ResOrderDetail rod, Payment p WHERE ro.OrderID= rod.OrderID AND ro.PaymentID=p.PaymentID AND rod.MenuID=m.MenuID AND rod.Status=@sta2 AND rod.KitchenIndex=@kit ORDER BY ro.TimeIn, rod.Status, m.MenuItemName,ro.TableID,ro.OrderID, m.Category ", consKitchen); cmdSearchKitchen.Parameters.AddWithValue("@sta2", "Queuing"); cmdSearchKitchen.Parameters.AddWithValue("@kit", 0);
Online Restaurant Management System Chapter 4 : Programming
Project 140
commandData = new SqlDataAdapter(cmdSearchKitchen); commandData.Fill(orderDataTableQ); if (orderDataTableQ.Rows.Count > 0) { for (int k = 0; k < orderDataTableQ.Rows.Count; k++) { Food orderList = new Food(); var itemCount = list.Count; if (itemCount == 0) { orderList.Index = list.Count + 1; orderList.MenuID = orderDataTableQ.Rows[k]["MenuID"].ToString().Trim(); orderList.MenuName = orderDataTableQ.Rows[k]["MenuItemName"].ToString(); orderList.TableID = orderDataTableQ.Rows[k]["TableID"].ToString(); orderList.Quantity = orderDataTableQ.Rows[k]["Quantity"].ToString().Trim(); orderList.Status = orderDataTableQ.Rows[k]["Status"].ToString().Trim(); orderList.TimeIn = orderDataTableQ.Rows[k]["TimeIn"].ToString(); orderList.TimeCook = orderDataTableQ.Rows[k]["TimeCooked"].ToString(); list.Add(orderList); } else { int count = 0; for (int j = 0; j < itemCount; j++) { String entrystatus = orderDataTableQ.Rows[k]["Status"].ToString().Trim(); String entryid = orderDataTableQ.Rows[k]["MenuID"].ToString().Trim(); TimeSpan entrytimein, listtimein; if (list[j].MenuID.Equals(entryid)) { if (entrystatus.Equals("Queuing") && list[j].Status.Equals("Queuing")) { listtimein = TimeSpan.Parse(list[j].TimeIn); entrytimein = TimeSpan.Parse(orderDataTableQ.Rows[k]["TimeIn"].ToString()); TimeSpan span2 = TimeSpan.FromMinutes(5); if (listtimein.Add(span2) > entrytimein) { list[j].TableID = list[j].TableID.ToString() + "," + orderDataTableQ.Rows[k]["TableID"].ToString().Trim(); int value = Convert.ToInt32(list[j].Quantity.ToString()) + Convert.ToInt32(orderDataTableQ.Rows[k]["Quantity"].ToString()); list[j].Quantity = value.ToString(); count += 1; }
Online Restaurant Management System Chapter 4 : Programming
Project 141
} } } if (count == 0) { orderList.Index = list.Count + 1; orderList.MenuID = orderDataTableQ.Rows[k]["MenuID"].ToString().Trim(); orderList.MenuName = orderDataTableQ.Rows[k]["MenuItemName"].ToString(); orderList.TableID = orderDataTableQ.Rows[k]["TableID"].ToString(); orderList.Quantity = orderDataTableQ.Rows[k]["Quantity"].ToString().Trim(); orderList.Status = orderDataTableQ.Rows[k]["Status"].ToString().Trim(); orderList.TimeIn = orderDataTableQ.Rows[k]["TimeIn"].ToString(); orderList.TimeCook = orderDataTableQ.Rows[k]["TimeCooked"].ToString(); list.Add(orderList); } } } } GridView2.DataSource = list; GridView2.DataBind();
}
Diagram 4.2.9 Kitchen Filter Food List-Queue
This code shows the Kitchen Filter Food List-Queue which used in the kitchen module. At
first, the food record will be retrieved and stored in a data table. After retrieving all the in
food record, arrange or filtering is carried out of the food record store in the data table. If the
food record that having same item and the order time taken interval between 5 minutes will
be merged together. After all filtering is made, the kitchen preparing screen will display the
food ordering list based on the food status.
Online Restaurant Management System Chapter 4 : Programming
Project 142
Kitchen Display Food List
private void display() { List<Food> list = new List<Food>() { }; Food[] foodFromDb = new Food[100]; SqlDataAdapter commandData; DataTable orderDataTable = new DataTable(); DataTable orderDataTableQ = new DataTable(); consKitchen = new SqlConnection(connStr); consKitchen.Open(); int i = 0; cmdSearchKitchen = new SqlCommand("Select DISTINCT ro.TableID, ro.OrderID, rod.MenuID, ro.TimeIn, rod.TimeCooked, m.Category, m.MenuItemName, rod.Quantity, rod.Status FROM ResOrder ro, Menu m, ResOrderDetail rod, Payment p WHERE ro.OrderID= rod.OrderID AND ro.PaymentID=p.PaymentID AND rod.MenuID=m.MenuID AND (rod.Status=@sta2 OR rod.Status=@sta1) AND rod.KitchenIndex=@kit ORDER BY rod.Status, ro.TimeIn, m.MenuItemName,ro.TableID,ro.OrderID, m.Category ", consKitchen); cmdSearchKitchen.Parameters.AddWithValue("@sta2", "Preparing"); cmdSearchKitchen.Parameters.AddWithValue("@sta1", "Queuing"); cmdSearchKitchen.Parameters.AddWithValue("@kit", 0); commandData = new SqlDataAdapter(cmdSearchKitchen); commandData.Fill(orderDataTable); if (orderDataTable.Rows.Count > 0) { for (i = 0; i < orderDataTable.Rows.Count; i++) { Food orderList = new Food(); orderList.Index = list.Count + 1; orderList.MenuID = orderDataTable.Rows[i]["MenuID"].ToString().Trim(); orderList.MenuName = orderDataTable.Rows[i]["MenuItemName"].ToString(); orderList.TableID = orderDataTable.Rows[i]["TableID"].ToString(); orderList.Quantity = orderDataTable.Rows[i]["Quantity"].ToString().Trim(); orderList.Status = orderDataTable.Rows[i]["Status"].ToString().Trim(); orderList.TimeIn = orderDataTable.Rows[i]["TimeIn"].ToString(); orderList.TimeCook = orderDataTable.Rows[i]["TimeCooked"].ToString(); list.Add(orderList); } } GridView2.DataSource = list; GridView2.DataBind(); } }
Diagram 4.2.10 Kitchen Display Food List
This code shows the Kitchen Display Food List that used in the kitchen module. This code
will first retrieve the food list record from the database and store in the data table. The food
list only will be arranged by the status, then followed by the time order taken. After that, data
table will be the source to bind to the grid view for displaying purpose.
Online Restaurant Management System Chapter 4 : Programming
Project 143
Real Time Kitchen Display List
protected void Refresh_Load(object sender, EventArgs e) { string orderid, menuid, indexx, kitindex; int xc = 0; int xp = 0; int xd = 0; consKitchen = new SqlConnection(connStr); consKitchen.Open(); SqlDataAdapter LoadKitchen, LoadUpdated, LoadDeleted; DataTable kitchentable = new DataTable(); DataTable updatedtable = new DataTable(); DataTable deletedtable = new DataTable(); cmdSearchKitchen = new SqlCommand("Select * FROM ResOrderDetail Where KitchenIndex = @in ", consKitchen); cmdSearchKitchen.Parameters.AddWithValue("@in", 1); LoadKitchen = new SqlDataAdapter(cmdSearchKitchen); LoadKitchen.Fill(kitchentable); if (kitchentable.Rows.Count > 0) { for (int a = 0; a < kitchentable.Rows.Count; a++) { orderid = kitchentable.Rows[a]["OrderID"].ToString().Trim(); menuid = kitchentable.Rows[a]["MenuID"].ToString().Trim(); indexx = kitchentable.Rows[a]["Indexx"].ToString(); kitindex = kitchentable.Rows[a]["KitchenIndex"].ToString(); cmdUpdateKitchen = new SqlCommand("UPDATE ResOrderDetail SET KitchenIndex=@kit WHERE OrderID=@oid AND MenuID=@mid AND Indexx=@ind", consKitchen); cmdUpdateKitchen.Parameters.AddWithValue("@kit", 0); cmdUpdateKitchen.Parameters.AddWithValue("@oid", orderid); cmdUpdateKitchen.Parameters.AddWithValue("@mid", menuid); cmdUpdateKitchen.Parameters.AddWithValue("@ind", indexx); cmdUpdateKitchen.ExecuteNonQuery(); xc = 1; } } cmdSearchKitchen = new SqlCommand("Select * FROM ResOrderDetail Where KitchenIndex =@in", consKitchen); cmdSearchKitchen.Parameters.AddWithValue("@in", 2); LoadUpdated = new SqlDataAdapter(cmdSearchKitchen); LoadUpdated.Fill(updatedtable); if (updatedtable.Rows.Count > 0) { for (int aa = 0; aa < updatedtable.Rows.Count; aa++) { orderid = updatedtable.Rows[aa]["OrderID"].ToString().Trim(); menuid = updatedtable.Rows[aa]["MenuID"].ToString().Trim(); indexx = updatedtable.Rows[aa]["Indexx"].ToString(); kitindex = updatedtable.Rows[aa]["KitchenIndex"].ToString(); cmdUpdateKitchen = new SqlCommand("UPDATE ResOrderDetail SET KitchenIndex=@kit WHERE OrderID=@oid AND MenuID=@mid AND Indexx=@ind", consKitchen); cmdUpdateKitchen.Parameters.AddWithValue("@kit", 0); cmdUpdateKitchen.Parameters.AddWithValue("@oid", orderid); cmdUpdateKitchen.Parameters.AddWithValue("@mid", menuid); cmdUpdateKitchen.Parameters.AddWithValue("@ind", indexx); cmdUpdateKitchen.ExecuteNonQuery();
Online Restaurant Management System Chapter 4 : Programming
Project 144
xp = 1; } } consKitchen.Close(); if (xc == 1) { ScriptManager.RegisterStartupScript(this, this.GetType(), "Alert", "alert('New food item added in the table!')", true); preparing(); } if (xp == 1) { ScriptManager.RegisterStartupScript(this, this.GetType(), "Alert", "alert('Food item status updated!')", true); preparing(); } if (xd == 1) { ScriptManager.RegisterStartupScript(this, this.GetType(), "Alert", "alert('An item from queue is deleted.')", true); preparing(); }
Diagram 4.2.11 Real Time Kitchen Display List
This code shows the Real Time Kitchen Display List that used in the kitchen module. The
displaying list of the kitchen is real time as it will trigger the code shows every nanosecond.
If any deletion or addition of food item, the displaying list will display a message to inform
the kitchen staff about the changes. This function will prompt a message when a value which
is 1 indicating new item is added, value 2 indicating a food status is updated and value 3
indicating an item is deleted.
Online Restaurant Management System Chapter 4 : Programming
Project 145
4.3 Chapter Summary
Basically, this chapter will be summarizing the discussion and description for the critical
programming code that used to develop the entire system. Although there are several
problems faced in developing the critical function, however the problems are still being
solved through research on the Internet. Besides, it is important to ensure the software quality
and implementation consistency during the implementation by following the coding standard,
screen design standard and etc.
During the implementation, extra library such as iTextSharp to support PDF writer, Crystal
Report to support report generation is added in Visual Studio 2012 to improve the
functionality of the system. JQuery also be used in the system to provide a better visual
solution of the system.
Online Restaurant Management System Chapter 4 : Programming
Project 146
Chapter 5
Software Testing
Online Restaurant Management Chapter 5 : Software Testing
Project 147
55.. SSooffttwwaarree TTeessttiinngg
5.1 Introduction
This chapter will be providing description of software testing phase of the project
development. There are several levels of system testing will be involved in this system testing
to ensure that the system is able to function well, errorless and meet the user requirement.
Furthermore, several test cases are created to act as a guide in the testing process to ensure
that the system is working on the way it should be.
5.2 Level of Testing
Diagram 5.2 Level of System Testing
The diagram above shows the various levels of testing that will be involved in system testing
phases. The system testing will be starting with unit tests, followed by integration test, system
test and user acceptance test. The system must pass all the testing listed to ensure that the
system is reliable and dependable to be in used.
Online Restaurant Management Chapter 5 : Software Testing
Project 148
Unit Test
Unit test of a software application is carried out during the code construction stage. The
objective of carrying out the unit testing is to insulate each section of the program‟s code and
verify its correctness. Every unit tested may be an individual function or procedure of the
application.
The Online Restaurant Management System is made up of modules consist of many small
units so it is tested in term of the flow of input and output, security and usability. A volume
of predefined inputs is used in testing to gain the expected outputs. If expected output cannot
be collected, this means bugs occur and require solving it immediately. Unit testing during
construction stage will help to save up time and money in the end because more resources can
be used in other testing or stages.
Integration Test
After completion of each module, the modules will be integrated logically to form a whole
system. Integration testing will focuses on the interfaces and the data communication
between the modules that has been integrated and to explore the error occurs between the
integrated modules. The integration links are the main concern in this testing as the unit
functions are tested on unit testing at the early stage.
The Online Restaurant Management System consists of many modules that provide different
functions. The testing will be carried out by joining the modules that are related
incrementally and test the function that should be provided by each of the modules. This is to
ensure the passing of data between each interface of the modules will work in the way they
should.
Online Restaurant Management Chapter 5 : Software Testing
Project 149
System Test
System test is carried out at the end of the construction stage. System testing is used to
measure the efficiency and effectiveness of the system implemented. System testing will be
carried out based on the business workflow of the organization or the written system
specification.
The Online Restaurant Management System is tested based on the system specification
requirement that defined at the earliest stage to ensure that the system work as a whole and
provide services in the expected process, all the interfaces of the modules are working
correctly and the input /output specifications are acceptable.
Acceptance Test
Acceptance testing is carried out at the final stage of the testing phase. It is to ensure that the
system has met the requirements stated in the system requirement specification. The end user
who carries out acceptance test will be monitored by the developer side and minimum
guidance will be provided to prevent the result of testing being affected.
A number of end users have been invited on the spot using the Online Restaurant
Management System and every input or action that are done by the end user will be recorded.
ORMS is implemented based on the system requirement specification, it might stand a
chance that different understanding of the requirement and implement it in the way not
actually wanted by the end user. Through this testing, the changes or abnormal behavior can
be noticed and refine the system to meet user satisfaction.
.
150
5.3 Test Plan
Membership Maintenance Module Test Plan
Project : Online Restaurant Management System Test Case No: 1
Module Name: Membership Maintenance Reference No. : Use Case 2.6.1
Actor(s): Staff, Member
Test Case:
No Objective/Test Cases Test Data Expected Result Test Result Remark
1. For Staff and Non
Member Add new
member with valid data
Enter new valid member information a) Prompt a successful message Pass
2. For Staff and Non
Member Add new
member with invalid data
a) Enter new member
information but omit one or
more compulsory field.
b) Enter username that already
exist
c) Enter name with incorrect
format
d) Enter IC with incorrect format
e) Enter phone number with
incorrect format
f) Uncheck term and condition
checkbox
a) Display “This field cannot be
empty”
b) Prompt an error message
c) Display “Name must be
alphabetic”
d) Display “IC must be 12 digit”
e) Display “Phone number must
be 10 digit”
f) Prompt an error message
Pass
Online Restaurant Management Chapter 5 : Software Testing
Project 151
3. For Staff view member
information with correct
search keyword
Enter search keyword Member information will be displayed Pass
4. For Staff view member
information with incorrect
search keyword
Enter incorrect search keyword Prompt an error message Pass
5. For Staff remove
membership with correct
data
Enter membership removal reason Prompt an successful message Pass
6. For Staff remove
membership with
incorrect data
Omit the “Reason” field
Display “This field cannot be empty” Pass
7. For Member edit profile
with correct data
Enter new valid member information Prompt an successful message Pass
8. For Member edit profile
with incorrect data
a) Enter new member
information but omit one or
more compulsory field.
b) Enter phone number with
incorrect format
a) Display “This field cannot be
empty”
b) Display “Phone number must
be 10 digit”
Pass
Online Restaurant Management Chapter 5 : Software Testing
Project 152
Menu Maintenance Module Test Plan
Project : Online Restaurant Management System Test Case No: 2
Module Name: Menu Maintenance Reference No. : Use Case 2.6.2
Actor(s): Staff
Test Case:
No Objective/Test Cases Test Data Expected Result Test Result Remark
1. To test the auto-generate unique Menu ID
Add new valid menu information a) Prompt a successful message
b) Menu ID field value will auto
plus one
Pass
2. For Staff add new
menu with valid
information
Add new valid menu information a) Prompt a successful message
b) Menu ID field value will auto
plus one
Pass
3. For Staff add new
menu with invalid
information
a) Enter new menu
information but omit one
or more compulsory field.
b) Enter unit price with
incorrect format
a) Display “This field cannot be
empty”
b) Display “Incorrect currency
format”
Pass
4. For Staff edit new
menu with correct
search key and correct
menu data
Enter correct search key and menu
data
a) Menu information will be
displayed
b) Prompt a successful message
Pass
5 For Staff edit new
menu with incorrect
search key and
a) Enter incorrect search key
b) Enter updated menu
a) Prompt an error message
b) Display “This field cannot be
Pass
Online Restaurant Management Chapter 5 : Software Testing
Project 153
incorrect menu data information but omit one
or more compulsory field.
c) Enter unit price with
incorrect format
empty”
c) Display “Incorrect currency
format”
Online Restaurant Management Chapter 5 : Software Testing
Project 154
Food Order Module Test Plan
Project : Online Restaurant Management System Test Case No: 3
Module Name: Food Order Reference No. : Use Case 2.6.3
Actor(s): Staff
Test Case:
No Objective/Test Cases Test Data Expected Result Test Result Remark
1. To test the auto-generate unique Menu ID
a) Add new order with valid
information
b) Constantly change on table
drop down list
c) Constantly change on
order type
a) New order id will be generated
b) New order id will be generated
c) New order id will be generated
Pass
2. For Staff add new order
with correct order data
Enter new valid order data Prompt a successful message Pass
3. For Staff add new order
with incorrect order
data
a) Check on “Member‟s
Order” but does not enter
member username
b) Click confirm button
without make any item
selection
c) Click on remove button
without “Check” on any
item record
a) Display “Please fill in this
field”
b) Prompt an error message
c) Prompt an error message
Pass
Online Restaurant Management Chapter 5 : Software Testing
Project 155
4. For Staff edit new order
with correct order data
Enter new valid order data Prompt a successful message Pass
5. For Staff edit new order
with incorrect order
data
a) Edit on item status that is
not in “Queue”
b) Click on remove button
without “Check” on any
item record
a) Prompt error message
b) Prompt error message
Pass a)Only item with
status “Queue”
can be edited.
Online Restaurant Management Chapter 5 : Software Testing
Project 156
Reservation Module Test Plan
Project : Online Restaurant Management System Test Case No: 4
Module Name: Reservation Reference No. : Use Case 2.6.4
Actor(s): Staff, Member
Test Case:
No Objective/Test Cases Test Data Expected Result Test Result Remark
1. For Staff Add reservation
with correct search key
and reservation data
Enter correct search key and new
valid reservation information
Prompt a successful message Pass
2. For Staff Add reservation
with incorrect search key
and reservation data
a) Enter incorrect search key
b) Enter new reservation
information but omit one or
more compulsory field.
c) Enter phone number with
incorrect format
d) Select an earlier reservation
date
e) Make 2 reservation on a
same date for a same
member
a) Prompt error message
b) Display “This field cannot
be empty”
c) Display “Phone number
must be 10 digit”
d) Prompt an error message
e) Prompt an error message
Pass
3. For Member Add
reservation with correct
reservation data
Enter new valid reservation
information
Prompt a successful message Pass
Online Restaurant Management Chapter 5 : Software Testing
Project 157
4. For Member Add
reservation with incorrect
reservation data
a) Enter new reservation
information but omit one or
more compulsory field.
b) Enter phone number with
incorrect format
c) Select an earlier reservation
date
d) Make 2 reservation on a
same date for a same
member
a) Display “This field cannot
be empty”
b) Display “Phone number
must be 10 digit”
c) Prompt an error message
d) Prompt an error message
Pass
5. For Staff Edit reservation
detail with correct search
key and reservation data
a) Enter correct search key and
new valid reservation
information
b) Click on “Send SMS”
button
c) Click on “Attended” button
a) Prompt a successful
message
b) Prompt “SMS has sent”
c) Prompt “Reservation
status updated”
Pass
6. For Staff Edit reservation
detail for reservation that
has been attended
Click on edit button Prompt an error message Pass
7. For Staff Edit reservation
detail with incorrect search
key and reservation data
a) Enter incorrect search key
b) Enter phone number with
incorrect format
c) Select an earlier reservation
a) Prompt an error message
b) Display “Phone number
must be 10 digit”
c) Prompt an error message
Pass
Online Restaurant Management Chapter 5 : Software Testing
Project 158
date
d) Make 2 reservation on a
same date for a same
member
e) Click on “Send SMS” but
SMS status is “Sent”
d) Prompt an error message
e) Prompt an error message
8. For Staff remove
reservation with correct
search key
Enter correct search key and
remove the reservation
Prompt a successful message Pass
9 For Staff remove
reservation with incorrect
search key
a) Enter incorrect search key
b) Remove on “Attended”
reservation
a) Prompt an error message
b) Prompt an error message
Pass
10. For Staff reserve a table
for upcoming reservation
with correct steps
a) Select on upcoming
reservation
b) Select on a table
a) Prompt a successful
message
b) Change table color to
Yellow
Pass Green –Free
Red-Seated
Yellow-Reserved
11 For Staff reserve a table
for upcoming reservation
with exceptional flows
a) Select on a table without
select on upcoming
reservation
b) Select on seated or reserved
table
a) Prompt error message
b) Prompt error message
Pass
Online Restaurant Management Chapter 5 : Software Testing
Project 159
Payment Module Test Plan
Project : Online Restaurant Management System Test Case No: 5
Module Name: Payment Reference No. : Use Case 2.6.5
Actor(s): Staff
Test Case:
No Objective/Test Cases Test Data Expected Result Test Result Remark
1. For Staff Make payment
with correct payment
information
Enter correct payment information a) Prompt a successful message
and balance will be calculate if
exists
b) A receipt will be generated
Pass
2. For Staff Make payment
with incorrect cash
payment information
a) Enter payment information
but omit one or more
compulsory field.
b) Enter amount receive with
incorrect format
c) Enter insufficient amount
d) Check on Member‟s Order
radio button but did not enter
member username
e) Enter non-exist member
username
a) Display “This field cannot be
empty”
b) Display “Incorrect currency
format”
c) Prompt an error message
d) Display “Please enter member
username”
e) Prompt an error message
Pass
Online Restaurant Management Chapter 5 : Software Testing
Project 160
3. To determine the result
when no payment
available
a) Click on “Dine In” button
b) Click on “Take Away” button
a) Prompt “No payment
available”
b) Prompt “No payment
available”
Pass
4. To determine discount is
given to member
payment
Enter valid member username Payment will be recalculate and
display on the screen with discount
information
Pass
5. For Staff to Print Bill Select an available payment and
click on print bill button
Payment billing information will be
created as a PDF and display on new
window
Pass
6. For Staff make Paypal
payment with
exceptional flow
a) Paypal do not have enough
money
b) Pay-pal login fail
c) Cancel Paypal payment
a) Redirect to MP_Failed page
and prompt an error message
b) Redirect to MP_Failed page
and prompt an error message
c) Redirect to MP_Failed page
and prompt an error message
Pass
7 For Staff make Paypal
payment with
exceptional flow
Login and make payment with
Paypal account that have sufficient
money.
Redirect to MP_Success page and
prompt a receipt in a new window.
Pass
Online Restaurant Management Chapter 5 : Software Testing
Project 161
Report Module Test Plan
Project : Online Restaurant Management System Test Case No: 6
Module Name: Report Reference No. : Use Case 2.6.6
Actor(s): Staff
Test Case:
No Objective/Test Cases Test Data Expected Result Test Result Remark
1. For Staff Preview
Report with correct
report criteria
Enter correct date selection The selected report will be displayed
in new window
Pass
2. For Staff Preview
Report with incorrect
report criteria
a) Enter report criteria but omit
one or more compulsory field.
b) Enter ToDate earlier than
FromDate
a) Display “This field cannot be
empty”
b) Prompt error message
Pass
3. For Staff Download
Report with correct
report criteria
Enter correct date selection The selected report will be
downloaded
Pass
4. For Staff Download
Report with incorrect
report criteria
a) Enter report criteria but omit
one or more compulsory field.
b) Enter ToDate earlier than
FromDate
a) Display “This field cannot be
empty”
b) Prompt error message
Pass
Online Restaurant Management Chapter 5 : Software Testing
Project 162
Kitchen Module Test Plan
Project : Online Restaurant Management System Test Case No: 7
Module Name: Kitchen Reference No. : Use Case 2.6.7
Actor(s): Staff
Test Case:
No Objective/Test Cases Test Data Expected Result Test Result Remark
1. For Staff Click on filter
food list- Queue
Click on “Queue” button The display food list will be filter by merging
the same food order within 5 minute interval
Pass
2. For Staff Click on filter
food list- Dequeue
Click on “Dequeue”
button
The display food list will be arrange and
displayed without any merging
Pass
3. For Staff Click filter on
empty list
Click on “Queue” or
“Dequeue” when the list is
empty
Prompt error message Pass
4. For Staff Click on
update food status
Click on “Update” button The food item status will be updated Pass Queue to
Prepare
Prepare to
Served
163
5.4 Chapter Summary
Basically, this chapter will be summarized on the information about software testing
requirement of the development project. This testing process will indirectly ensure a good
quality and reliable system is being delivered. During the testing process, any error encounter
will be given appropriate corrective action to prevent the faulty system being sign-off.
Besides, a good test plan must be available before any testing process is carried out. A good
test plan will lead the system testing process to success as the system tester carried out testing
based on the well-defined test plan. The common level of testing carried out would be the
unit testing, integration testing, system testing and also user acceptance testing. Furthermore,
extra testing techniques also carried out to ensure the project is able to work under different
environment such as stress testing and performance testing. After completing all levels of
testing, the result of the testing is recorded and enables us to trace back the errors and
proposed the suitable solution to overcome it.
Online Restaurant Management Conclusion
Project 164
Chapter 6
Conclusion
Online Restaurant Management Conclusion
Project 165
66.. CCoonncclluussiioonn
6.1 Introduction
This chapter would be discussed about the linkage to seminar, evaluation against the project
objectives, project management issues, methodology, critical evaluation on project, the
strength and weaknesses of project as well as the future improvement of this project.
6.2 Link to Seminar
My seminar title is jQuery Web Development Technique. As a brief explanation, jQuery is a
JavaScript library that allows web designers to simplify their client-side scripting to build an
interactive web application. In the Online Restaurant Management System, I have used
jQuery in improving the interactivity between the user and the application and enhance the
visual of the system. Besides focusing on the graphical user interface, I am also using the
script provided to implement the system function.
In terms of GUI improvement, I have used jQuery Smooth Menu Bar in implementing the
menu bar used in all of the pages in the system. The menu bar created with jQuery provides
more interaction, visual than the normal menu bar as it provides a slow smooth motion. On
the home page of the system, I am using the jQuery Dual Slider for showing the related
pictures and information which allows the content to be dynamically changed. Besides, I also
applied the jQuery Calendar function in the Reservation Modules and Report Modules. It
allowed the users to select date from a calendar displayed when they click on the Text Box.
By having these functionalities applied, it greatly improves the design of web application.
Furthermore, I also used jQuery in creating the system function which is a Real Time
Function that implemented in almost all pages only the staff can access. In this
implementation, the real time script is bind with the function created in the code behind. The
system will detect any real time changes from the database and trigger the expected result.
Example, when a client is requesting for billing, the function created will detect the changes
value of the database and respond to the client which is printed bill information for the client.
Online Restaurant Management Conclusion
Project 166
By having this real time function, it allowed the system to respond to the request at a shorter
time.
In a nutshell, by applying jQuery in the project development, it allows us to create a higher
level of interactive and interesting web application that will lead to higher customer
satisfaction. It also greatly reduces my learning time, development time in creating the result
that the system should provide as jQuery emphasized on a low learning curve. Lastly, jQuery
has helped to increase the system value in term of visual and functions.
6.3 Tools, Techniques and Methodologies
I have used several tools in my project development either in the project management
documentation or project implementation. In project documentation, I have used Rational
Software Architecture (RSA) in drawing all the diagrams such as Use Case Diagram, Activity
Diagram and etc. Besides, I used Microsoft Project 2010 for my project scheduling as it
provides a good platform for drawing Gantt chart.
Meanwhile, for the system coding implementation, I have used Microsoft Visual Studio
2012. The main reason for selecting Microsoft Visual Studio 2012 is that this version
supports mobile application implementation. My Final Year Project includes 2 types of
application which is Online Restaurant Management System and Restaurant Mobile
Application. Besides, Microsoft Visual Studio 2012 is also easy in their uses which
eventually save up my time spent in building complex coding. Besides, the MsSQL database
that provided by Microsoft Visual Studio 2012 also used as the system database.
The software development methodology that practiced in this project development is System
Development Life Cycle (SDLC). This methodology emphasized on completion of the
project development phase by phase, which starts from system planning, requirement
analysis, system design, system implementation, system testing and maintenance. This
methodology ensures a high quality system will be produced as in each stage, a deliverable is
essential to produce. Therefore, it does provide a quality assurance to the project developed.
Online Restaurant Management Conclusion
Project 167
6.4 Achievement of Project Objectives
In the system planning stage, the project objectives that the system must achieve are clearly
stated and provide with clear description. The first objective is to reduce the human
workforce in the restaurant. By using the new Online Restaurant Management System, some
of the manual works is being computerized. Therefore, the needs of the larger workforce to
complete customer registration and registration are no longer needed.
The second objective to achieve is to reduce human mistake. Now, by using the system
implemented to carry out the daily transaction, such as order processing, the waiter just need
to enter the customer order into the system and the system will process the order and display
on the kitchen monitor. The misinterpretation of order taken due to handwriting issues is now
eliminated and also the chances of losing of the order sheet. The third objective is to simplify
the food ordering process as now the system allows the dine-in customer to make their own
food ordering through our developed restaurant mobile application after the approval and
confirmation by the in-charge supervisor or captain.
Furthermore, the fourth objective to achieve is to allow the kitchen department to work in an
efficient and effective environment as the system is implemented queuing algorithm in
arrangement of ordering food item list. Besides, the order taken by front desk can be clearly
seen on the monitor and able to obtain the new orders in a shorter time. The last objective is
to allow the restaurant staff efficiently in maintaining the restaurant information such as
customer membership, and menu information. The staff in-charge just need to key in the
details through our system and our system will provide information maintenance to be made
in a simple and easy way.
In a nutshell, the project objectives that stated in the System Planning phase are successfully
implemented and achieved. The Online Restaurant Management System with Restaurant
Mobile Application is now preparing to provide better service to the restaurant and
customers.
Online Restaurant Management Conclusion
Project 168
6.5 Project Management Issues
The overall project development process does not bring up any critical management issue.
The problem raises is still manageable with proper management control and tolerable
minimum time of delay. It is a need to understand that there are several tests and assignments
is given to student while having the project development process on-going and some
deliverable need to be handed in to the supervisor. Time management has become a critical
element for students that having their Final Year Project in hand while still need to manage
their studies. A high effort is essential in doing research and concept of thinking out of the
book is required in developing the system to make the system more relate to the real world
society.
In terms of communication, me and my partner does not face any difficulties in discussing
and sharing information as both of us are staying together. Any discussion and problems
relate to FYP can be asked immediately and come out with a solution in a short time.
Besides, there were no module integration problem occur as I will in-charge of the whole
Web Application development and my partner will be in-charging on the Restaurant Mobile
Application. The integration problem that can be raised is only the database integration issue
as the Web Application and Mobile Application are sharing a same database. However, the
tolerance and patience given in solving the problems do not bring up any critical issue in the
database integration perspective.
In a nutshell, proper time management, hard effort shows and communication is essential to
prevent any critical management issues to be rose thus affecting the overall project
development process.
Online Restaurant Management Conclusion
Project 169
6.6 Strengths and Weaknesses
Strengths
Interactive
The system is developed with multiple interactive events between the system user and the
system. The entire interactive event is created by the use of jQuery Web Development
technique.
Efficient
In the kitchen module, it is developed with a queuing algorithm in the filtering food list
which allows the ordered item is efficiently arranged and merged under the condition
programmed.
Unambiguous
The user manual, design, labeling, information, instruction, objectives shows on the screen
are using English Languages and it is unambiguous, clear and easy to understand.
User friendly
The system interface is designed and created in a user friendly manner so that the user does
not face any hard time or having a low learning curve using the system services or functions.
All screen design also emphasized on the consistent concept.
Maintainable
The system does provide facilities which allow the user to check and change their personal
data, allowing the staff control of the menu maintenance, food order information and any
latest information could be made immediately through the system.
Online Restaurant Management Conclusion
Project 170
Reliable
In maintenance module, several validations are programmed to ensure that reliable data is
stored in the database and provided to its user. It is mostly validated on the user input such as
IC number, Phone Number, Unit Pricing and etc.
Portable
By using the web hosting, it allows the Online Restaurant Management System to be
accessed at any location with the availability of Internet access. Now, the system is no longer
tied to local use only.
Weakness
Inaccessible when no Internet access
The system is unable to access when there is no Internet access. The Online Restaurant
Management System is only workable provided with the Internet access as the system is
managed and host by web server. If there is an Internet service breakdown in the restaurant,
the restaurant is unable to carry out its daily transaction.
Slow Performance when dealing with databases
It possesses a slow performance environment when a transaction is dealing with the database.
The reason is because the database of the system is stored and managed on the web server. So
every transaction dealing with database will need to send request to the database locate in the
web server and waiting the response from the web server. All of this request and response are
controlled by the Internet access speed.
Inability of supporting more than one restaurant branch
The system does not provide any facility in identifying which restaurant is currently using the
system. At the moment, the system developed only can serve one restaurant because there is
no facility programmed to identify which food orders is belong to which restaurant branch.
Online Restaurant Management Conclusion
Project 171
6.7 Suggestions for Future Improvement
After carrying a series of project evaluation, it found out that the project is still able to be
improved by the following suggestion:
Password encryption
The system can be more secure to its information by further improve the security of the login
module by providing encrypted password. By implementing password encryption, it will
increase the security level of the system towards the system user. It is difficult for the
unauthorized person to obtain the login credential even though they illegally access to the
database.
Forum Discussion
Although now the system is designed to have instant messaging between the restaurant
member and the restaurant staff, however, it is best to allow the restaurant member to
communicate with another restaurant member in exchanging information and feedback of
visiting the restaurant. It can be served as a platform for sharing feedback and comment
which is open to public.
Ability in inventory control and managing more than one restaurant
The system implemented does not provide inventory control facilities which can further be
improved. Every restaurant is guaranteed to involve in stock managing, if inventory control is
implemented, then the system can be said as a more complete system. Besides, the system
can also be implemented to support the restaurant business grows as there is a possibility that
the restaurant will expands their business with several branches.
Online Restaurant Management Conclusion
Project 172
6.8 Personal Reflection
Final Year Project to me is the most challenging project that I ever have in my education
either in diploma or advanced diploma. My Final Year Project will be involved of 2 types of
application which is a web application and mobile application. It has forced me to apply all
my experience and knowledge learnt throughout this few years in this final year project.
However, I have put a lot of effort and time in doing research and able to complete it as a
complete system.
During diploma and advanced diploma studies, almost every assignment that relates to
system implementation, most of the time I will be assigned to in charge on the front end
modules. There is very low possibility for me to handle the back end modules. This has put
me in a difficult situation when handling the final year project as now I will be in charge of
the entire web application which include front end and back end modules. I had faced quite a
number of program logic problems when implements the system. However, this does not
create a barrier for me to complete the system. I tend to search the Internet for solution and
seek for advice from my partner. At here, I would also like to thank my partner for sharing
his information, experience in implementing the system and provide guidance to me although
he is busy with his mobile application implementation.
Since this is the final year project, I am excited to apply new technology in my system to
make it distinct from the previous system that I have implemented. In this project, I tend to
make it more interactive and attractive by applying the jQuery web development technology.
I am glad that I am given a chance for selecting jQuery as my seminar research to increase
my understanding, knowledge in this technology. When implementing my system with
jQuery, I am able to manage it as it not considered fresh to me anymore.
Finally, my Final Year Project development has come to its end. I am glad that my system
works fine in the way it should while meeting all the project aims and objective defined at the
earlier stage. This is a valuable experience for me in handling the project before exposes to
the real IT environment. I am very grateful that I have Mr. Lim Sau Jian as my FYP partner.
Online Restaurant Management Conclusion
Project 173
His help and guidance is a part of the reason why this project succeeds. I guarantee that our
friendship would be strengthened after completing this project together. Lastly, I would like
to say thousands thanks to my supervisor Dr. Chong Jin Hui for his precious comments,
suggestion, experience to the real IT environment and guiding us along the final year project
development process and the seminar.
6.9 Chapter Summary
At the end of this chapter, I feel achieved that I have completed the whole system
development and documentation. This chapter would describe about my feeling about the
whole project development. I am proud and satisfied with my teammate who put a lot of
effort on this project development. Dr. Chong, my supervisor who is kind enough to give his
precious comment and suggestion to lead us along the system development.
To: Dr. Chong and Mr. Lim Sau Jian and others,
“Your efforts are appreciated. Thanks”
Online Restaurant Management Conclusion
Project 174
77.. RReeffeerreenncceess
1. Anon., n.d. What is System Testing?. [Online] Available at:
http://www.guru99.com/system-testing.html[Accessed 5 1 2014].
2. Computer Hope, n.d. Portability. [Online] Available at:
http://www.computerhope.com/jargon/p/portabil.htm [Accessed 3 1 2014].
3. guru99, 2012. guru99 Integration Testing: Tutorial 5. [Online] Available at:
http://www.guru99.com/integration-testing.html [Accessed 5 1 2014].
4. guru99, 2012. guru99 Unit Testing :Tutorial 4. [Online] Available at:
http://www.guru99.com/unit-testing.html [Accessed 5 1 2014].
5. guru99, System & Acceptance Testing: Tutorial 6. guru99. [Online] Available at:
http://www.guru99.com/system-acceptance-testing.html [Accessed 5 1 2014].
6. home.btconnect, 2012. home.btconnect DATA ITEM DESCRIPTION. [Online]
Available at: http://home.btconnect.com/managingstandard/sipdid.htm [Accessed 1 1
2013].
7. Howitz C., 2012. What Is 3-Tier(Multi-Tier) Architecture And Why Do You Need It?. [Online]
Available at: http://blog.simcrest.com/what-is-3-tier-architecture-and-why-do-you-need-it/
[Accessed 26 5 2013].
8. Joomla. 2013. Unit Testing. [Online] Available: http://docs.joomla.org/Unit_Testing.
[Accessed 5 1 2014].
9. Kendra Gaines, 2012. Great jQuery plugins for fresh websites. [Online] Available at:
http://www.webdesignerdepot.com/2012/08/great-jquery-plugins-for-fresh-websites/.
[Accessed 1 1 2013].
10. Lindley, C., 2009. jQuery Cookbook. O'Reilly Media, pp. 2. [Accessed 10 5 2013].
11. Margaret Rouse. 2009. Systems development life cycle (SDLC).[Online] Available:
http://searchsoftwarequality.techtarget.com/definition/systems-development-life-
cycle . [Accessed 10 1 2014].
12. Marie Catribs. 2013. Web Design.[Online] Available:
http://mariecatribs.com/.[Accessed on 5 2 2013].
Online Restaurant Management Conclusion
Project 175
13. Miller-Francisco, E 2010, 'Creating Dynamic Websites Using jQuery', Computers In
Libraries, 30, 6, pp. 26-28, Business Source Complete, EBSCOhost. [Accessed on 10
5 2013].
14. MSDN, n.d. Chapter 16: Quality Attributes. [Online] Available at:
http://msdn.microsoft.com/en-us/library/ee658094.aspx [Accessed 3 1 2014].
15. MSDN, n.d. Implementing System-Quality Attributes. [Online] Available at:
http://msdn.microsoft.com/en-us/library/bb402962.aspx [Accessed 3 1 2014].
16. Research and, M 2013, 'Research and Markets: jQuery Fundamentals Training',
Business Wire (English), 2, Regional Business News, EBSCOhost, [Accessed on 10 5
2013].
17. Rutter, J., 2010. Smashing jQuery : Professional Techniques with Ajax and JQuery.
Hoboken, NJ, USA: Wiley, pp 100-102. [Accessed on 11 5 2013].
18. Veda. (2013). Web Design.[Online] Available:
http://www.vedatakeout.com/index.php.[Accessed on 5 2 2013].
Online Restaurant Management Appendices
Project 176
88.. AAppppeennddiicceess
Interview Questions
1. Are you satisfied the current business processes? Why?
2. What are the procedures required from an order to payment process?
3. How do you store all the menu, orders, employees and reservation data?
4. Do you face any redundancy in handling all the important data?
5. What are the procedures needed if a customer wishes to make a reservation?
6. How order payment is calculated?
7. Can you list some mistakes that often occurred in restaurant? How does it solved?
8. Do you think that customers are satisfied with the service? Why?
9. Which procedures in the daily transaction require improvement?
10. Do you think that some of the steps should be kept in manually way rather than using
a system? Why?
11. If Dizzy is offering membership to customer, how many categories and what are the
privileges should be offered for each category?
12. Do you have any suggestions or opinions in the plan of developing a Dizzy restaurant
management system?
13. What are your expectations on the features of new system?
Online Restaurant Management Appendices
Project 177
Questionnaire of Dizzy Restaurant
Please complete the following survey so that we may have a clear idea of your opinions
on new system. Thank You.
Instruction: Please tick (√) your answer.
1. Please select your department:
Kitchen (skip question 4)
Front Desk (skip question 5)
2. How long have you worked for Dizzy Restaurant?
Less than 1 year 1 – 3 Year
3 – 5 Year More than 5 year
3. What category of job you belong to?
Supervisor Floor Staff / Hostess
Asst. Chef Kitchen Crew
4. How much the time needed to take an order from customer?
< 3minutes 3 – 5 minutes
5 – 10 minutes > 10 minutes
5. Please tick the preferred method you wish to receive order in the kitchen.
Human power Using system
6. Do you encounter any problems or inconvenient in complete your task?
Yes (continue question 7) No (skip question 7)
7. What are the problems you often faced? (May tick more than one)
Wrong order taken Produce the wrong food
Miscalculate payment Unclear handwriting in order
Serve food to wrong table
Other: ___________________
8. How would you rate the current method of reservation?
Complicated Moderate Simple Enough
9. Do you think that Dizzy restaurant should have customer membership? If yes, how many
categories should Dizzy have?
Yes, __ category No
Online Restaurant Management Appendices
Project 178
10. Which procedures should be improved in Dizzy? (May tick more than one)
Order from customer Order to kitchen
Payment calculation Checking of reservation record
Method to handle important data Other: _____________________
11. Please indicate how satisfied you are with your current workload.
Satisfied Moderate Dissatisfied
12. How do you rate your level of knowledge in using a computer?
High Moderate Low
13. Do you wish have an opportunity to involve the use of technology in restaurant? Why?
Yes, ________________________ No, ________________________
14. Do you have any ideas and suggestions on the restaurant system to be developed?
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
____________________________________________________________
THANK YOU. HAVE A NICE DAY.
Online Restaurant Management Appendices
Project 179
Veda Healthy Indian Take Out (Online Restaurant System)
Diagram 8.1 Veda‟s Home Page
Diagram 8.2 Veda‟s Order & Menu Page
Online Restaurant Management Appendices
Project 180
Diagram 8.3 Veda‟s About Page
Diagram 8.4 Veda‟s Delivery Page
Online Restaurant Management Appendices
Project 181
Diagram 8.5 Veda‟s Location Page
Diagram 8.6 Veda‟s Cateing Page
Online Restaurant Management Appendices
Project 182
Diagram 8.7 Veda‟s Contact Us Page
Diagram 8.8 Veda‟s Legal Notice Page
Online Restaurant Management Appendices
Project 183
Maria Catrib Online Restaurant System
Diagram 8.9 Maria‟s Home Page
Diagram 8.10 Maria‟s Contact Us Page
Online Restaurant Management Appendices
Project 184
Diagram 8.11 Maria‟s Menu Page
Diagram 8.12 Maria‟s Store Page
Online Restaurant Management User Guide
Project 185
99.. UUsseerr GGuuiiddee
9.1 System Document
9.1.1 Crystal Report 2012 Installation
Step 1: - Visit scn.sap.com/docs/DOC-7824
-Click Support Pack 8 to start downloading
Diagram 9.1.1.1 Step 1
Step 2: - Double click the installer shown
Diagram 9.1.1.2 Step 2
Online Restaurant Management User Guide
Project 186
Step 3: -Extracting of the installation files
Diagram 9.1.1.3 Step 3
Step 4:- Click “OK” button
Diagram 9.1.1.4 Step 4
Online Restaurant Management User Guide
Project 187
Step 5: - Click “Next” button
Diagram 9.1.1.5 Step 5
Step 6: -Tick “I accept the License Agreement
-Click “Next” button
Diagram 9.1.1.6 Step 6
Online Restaurant Management User Guide
Project 188
Step 7: -Click “Next” button
Diagram 9.1.1.7 Step 7
Step 8: -Tick “Yes, install 64-bit runtime”
-Click “Finish” button
Diagram 9.1.18 Step 8
Step 9: Installation for Crystal Report 2012 is completed.
Online Restaurant Management User Guide
Project 189
9.1.2 Web Hosting Steps
Step 1:- Visit www.somee.com
-Click on “Login”
Diagram 9.1.2.1 Step 1
Step 2:- Enter login credential
: Click “Login” button
Diagram 9.1.2.2 Step 2
Online Restaurant Management User Guide
Project 190
Step 3:- Copy your entire project file into one zip file
Diagram 9.1.2.3 Step 3
Step 4: Click “Website”
Diagram 9.1.2.4 Step 4
Online Restaurant Management User Guide
Project 191
Step 5: Click “Create”
Diagram 9.1.2.5 Step 5
Step 6:-Enter your website information
-Click „Create Website‟ button
Diagram 9.1.2.6 Step 6
Step 7: Successful message will be shown
Diagram 9.1.2.7 Step 7
Online Restaurant Management User Guide
Project 192
Step 8:Click “Database”
Diagram 9.1.2.8 Step 8
Step 9: Click “Create”
Diagram 9.1.2.9 Step 9
Step 10: -Enter your database information and click “Create Empty Database”
Diagram 9.1.2.10 Step 10
Online Restaurant Management User Guide
Project 193
Step 11: Successful Message will be shown
Diagram 9.1.2.11 Step 11
Step 12: Click “Attach Database”
Diagram 9.1.2.12 Step 12
Step 13: Click “Choose File” button
Diagram 9.1.2.13 Step 13
Online Restaurant Management User Guide
Project 194
Step 14: Upload .ldf file and .mdf file
-Click “Upload the files and attach”
Diagram 9.1.2.14 Step 14
Step 15: Successful message will be shown
Diagram 9.1.2.15 Step 15
Step 16: Change the project web configuration file
Diagram 9.1.2.16 Step 16
Online Restaurant Management User Guide
Project 195
Step 17: Click “File Manager”
Diagram 9.1.2.17 Step 17
Step 18: Click “Choose File”
Diagram 9.1.2.18 Step 18
Step 19: Upload this zip file
Diagram 9.1.2.19 Step 19
Online Restaurant Management User Guide
Project 196
Step 20: Your fill will be uploaded
-Click on “Upload and Unzip the folder”
Diagram 9.12.20 Step 20
Step 21: Your entire project file will be uploaded
Diagram 9.1.2.21 Step 21
Online Restaurant Management User Guide
Project 197
Step 22: Your project already upload to web server
Visit to http://sjlim-solution.somee.com/Default.aspx
Staf Login
ID: wenjie
Password: admin
Member Login
ID:wenjie5709s
Password: 12345678
Diagram 9.1.2.2 Step 22
Online Restaurant Management User Guide
Project 198
9.2 Operation Document
Login
Diagram 9.2.1
1: Enter your login username
2: Enter your password
3: Click “Log-in” button
Online Restaurant Management User Guide
Project 199
Registration
Diagram 9.2.1
1: Enter your desire username and Click “Check” button
2: Enter your name
3: Enter your IC
4: Select your gender
5: Select your profile picture
6: Upload your profile picture
7: Enter your phone number
8: Enter your email address
9: Enter your address
10: Enter your city
11:Enter your postcode
12: Select your state
13: Tick “I have read the term and condition”
14: Click Submit button
Diagram 9.2.3
1: Successful message prompt for registration
Online Restaurant Management User Guide
Project 200
Diagram 9.2.4
1: Error message prompt when username is not available
Diagram 9.2.5
1: Successful message prompt when username is available
Online Restaurant Management User Guide
Project 201
Send feedback & recommendation
Diagram 9.2.6
1: Enter your name
2: Enter your email address
3: Enter your email subject
4: Enter your message
5: Click submit button
Diagram 9.2.7
1: Successful message prompt when the feedback & recommendation email is sent
Online Restaurant Management User Guide
Project 202
Forgot Password
Diagram 9.2.8
1: Enter your username
2: Click ok button
Diagram 9.2.9
1: Error message prompt when username not exist
Diagram 9.2.10
1: Successful message prompt when forgot password email is send
Online Restaurant Management User Guide
Project 203
Member Edit Profile
Diagram 9.2.11
1: After edit your personal information click update button
2: After select your new profile picture click upload button
3: After key in your old and new password click change button
Online Restaurant Management User Guide
Project 204
Instant Messaging
Diagram 9.2.12
1: Enter your message
2: Click send message button
Online Restaurant Management User Guide
Project 205
Member Reservation
Diagram 9.2.13
1: Enter your phone number
2: Select your date
3: Select your reservation time
4: Select your number of people
5: Enter your message for reservation
6: Click submit button
Online Restaurant Management User Guide
Project 206
Diagram 9.2.14
1: Calendar displayed for date selection
Diagram 9.2.15
1: Confirmation message shown and click ok button
Diagram 9.2.16
1: Successful message shown when reservation is made
Online Restaurant Management User Guide
Project 207
Staff View Member Detail
Diagram 9.2.17
1: Enter member username and click search button
Diagram 9.2.18
1: Error message shown when the member username does not exits
Online Restaurant Management User Guide
Project 208
Staff Remove Membership
Diagram 9.2.19
1: Enter member username and click search button
2: Enter removal reason
3: Click remove button
Diagram 9.2.20
1: Confirmation message prompt when remove button is click
Online Restaurant Management User Guide
Project 209
Diagram 9.2.21
1: An inform message will send to member when membership removal is successful
Online Restaurant Management User Guide
Project 210
Staff Add Menu
Diagram 9.2.22
1: Select your menu category
2: Choose your menu picture
3: Upload your menu picture
4: Enter your menu name
5: Enter your menu description
6: Enter your item unit price
7: Click submit button
Diagram 9.2.23
1: A confirmation message will be prompt when submit button is click
Diagram 9.2.24
1: Successful message prompt when new menu is added
Online Restaurant Management User Guide
Project 211
Staff Edit Menu
Diagram 9.2.25
1: Enter menu id and click search button
2: Upload your new menu picture
3: Enter your new menu name
4: Enter your new menu description
5: Enter item new unit price
6: Click submit button
Diagram 9.2.26
1: A confirmation message will be prompt when submit button is click
Online Restaurant Management User Guide
Project 212
Diagram 9.2.27
1: Successful message is prompt when the menu information is updated
Diagram 9.2.28
1: Error message prompt when the menu id does not exist
Online Restaurant Management User Guide
Project 213
Staff Add Order
Diagram 9.2.29
1: Select menu category
2: Select order item
3: Select member type
4: Select serving type
5: Select table
6: Select pax number
7: Click confirm button
Diagram 9.2.30
1: Confirmation message prompt when confirm button is click
Online Restaurant Management User Guide
Project 214
Diagram 9.2.31
1: Successful message prompt when order is successfully added
Online Restaurant Management User Guide
Project 215
Staff Edit Order
Diagram 9.2.32
1: Select order id to edit
2: Select menu category
3: Add in new order item
4: Select an existing order record
5: Click remove to remove the selected record
Online Restaurant Management User Guide
Project 216
Staff Add Reservation
Diagram 9.2.33
1: Enter member username
2: Enter member phone number
3: Select reservation date
4: Select reservation time
5: Select number of person
6: Enter remark message for reservation
7: Click submit button
Diagram 9.2.34
1: Successful message shown when reservation is made
Online Restaurant Management User Guide
Project 217
Staff Edit Reservation
Diagram 9.2.35
1: Select date for edit reservation
2: Select reservation record
3: Click edit button
4: After edit the reservation information click update button
5: Click attend button when the reservation is attended
6: Click SMS button to send SMS Reminder
7: Click remove button when reservation is cancel
Diagram 9.2.36
1: Successful message show when attend button is click
Online Restaurant Management User Guide
Project 218
Diagram 9.2.37
1: Successful message show when SMS button is click
Diagram 9.2.38
1: Successful message show when remove button is click
Diagram 9.2.39
1: Successful message show when attend button is click
Online Restaurant Management User Guide
Project 219
Staff Update Reservation Table
Diagram 9.2.40
1: Select a reservation record
2: Select a table to reserve for the reservation selected
Online Restaurant Management User Guide
Project 220
Staff Kitchen Maintenance
Diagram 9.2.41
1: Update the food status for selected food list
Diagram 9.2.42
1: Successful message show when food status updated
Diagram 9.2.43
1: Click queue button to change the food list filter option
Online Restaurant Management User Guide
Project 221
Staff Make Payment
Diagram 9.2.44
1: Select on serving type
2: Select table id
3: Select order id
4: Select member type
5: Enter member username
6: Select payment method
7: Enter amount receive if cash payment
8: Click make payment button
9: Click generate bill button to generate bill
Online Restaurant Management User Guide
Project 222
Diagram 9.2.45
1: Example of receipt
Diagram 9.2.46
1: PayPal payment page
Online Restaurant Management User Guide
Project 223
Diagram 9.2.47
1: Payment PayPal successful page redirected from PayPal when payment is success
Online Restaurant Management User Guide
Project 224
Staff Generate Report
Diagram 9.2.48
1: Select report type
2: Select From Date
3: Select To Date
4: Click preview button for preview report
5: Click download button to download the report
Online Restaurant Management User Guide
Project 225
1100.. SSooffttccooppyy