The primary objective of the project is to develop a data base on restaurant management system . By using this project,students get an clear idea on how the data base works and how to use.
The primary objective of the project is to develop a data base on restaurant management system . By using this project,students get an clear idea on how the data base works and how to use.Full description
Online Rto Management System
pratik
Hotel Management IEEE PaperFull description
oopgrtFull description
The project RTO MANAGEMENT SYSTEM is proposed to install a system that shall enable the proposed RTO SYSTEM interface with the existing system with maximum accuracy .This project is very use…Full description
Project synopsis for "Online Doctor Management System".
Software requirement specification for online library management system project
online blood bank management systemFull description
Restaurant management is the profession of managing a restaurant. It includes the major function of planning, organizing, staffing, directing, developing an attitude in food and beverage control sy...
asp.net project using mysql and c#.Full description
Full description
(ORMS)ONLINE RESTAURANT MANAGEMENT SYSTEM By
Ooi Wen Jie
FACULTY OF APPLIED SCIENCES AND COMPUTING TUNKU ABDUL RAHMAN UNIVERSITY COLLEGE KUALA LUMPUR ACADEMIC YEAR 2013/2014
i
Online Restaurant Management
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.
Project
ii
Online Restaurant Management System
Declaration
Declaration 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)
Project
iii
Online Restaurant Management System
Abstract
Abstract 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.
Project
iv
Online Restaurant Management System
Acknowledgement
Acknowledgement 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.
Introduction....................................................................................................................... 128 Critical Coding Within System ......................................................................................... 128
Introduction....................................................................................................................... 147 Level of Testing ................................................................................................................ 147 Test Plan ........................................................................................................................... 150 Chapter Summary ............................................................................................................. 163
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 System
2
Online Restaurant Management
1.3
Chapter 1 : System Planning
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 System
3
Online Restaurant Management
Chapter 1 : System Planning
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.
Online Restaurant Management System
4
1.5
System Functionalities Chart
Diagram 1.5 System Functionalities Chart
5
Online Restaurant Management
1.6
Chapter 1 : System Planning
Project Scope (Web Application)
Diagram 1.6.1 ORMS Web Application Functionalities Chart
Online Restaurant Management System
6
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.
7
Online Restaurant Management
Chapter 1 : System Planning
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 System
8
Online Restaurant Management
Chapter 1 : System Planning
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 System
9
Online Restaurant Management
1.7
Chapter 1 : System Planning
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 System
10
Online Restaurant Management
Chapter 1 : System Planning
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 System
11
Online Restaurant Management
1.8
Chapter 1 : System Planning
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 System
12
Online Restaurant Management
1.9
Chapter 1 : System Planning
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 System
13
Online Restaurant Management
Chapter 1 : System Planning
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 System
14
Online Restaurant Management
Chapter 1 : System Planning
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 System
15
Online Restaurant Management
Chapter 1 : System Planning
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.
Mobile application: Customer Food menu Food order Food preparing status Profile setting Mobile application: Captain Order Management Table Management Web Services All WCF methods
Web Application Customer maintenance Menu maintenance Food order Payment Reservation Kitchen Report Database 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. 18
Online Restaurant Management
Chapter 1 : System Planning
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 costeffective 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.
Project
19
Online Restaurant Management
Chapter 1 : System Planning
Chapter 2 Requirements Analysis
Project
20
Online Restaurant Management System
Chapter 2 : Requirement Analysis
2.
Requirements Analysis
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. Project
21
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
22
Online Restaurant Management System
2.3
Chapter 2 : Requirement Analysis
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.
Project
23
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
24
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
25
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
26
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
27
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
28
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
29
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
30
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
31
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
32
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
33
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
34
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
35
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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”.
Project
36
Online Restaurant Management System
2.4
Chapter 2 : Requirement Analysis
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.
Project
37
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
38
Online Restaurant Management System
2.5
Chapter 2 : Requirement Analysis
Overview Use Case Diagram
Overview Use Case Diagram of Online Restaurant Management System
Diagram 2.5.1 Overview Use Case Diagram of ORMS
Project
39
Online Restaurant Management System
2.6
Chapter 2 : Requirement Analysis
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 1. User clicks on „Membership Maintenance‟ button to enter the page.
System Response 2. The system will display maintenance interface.
3. User decides whether they want to add, search, edit or delete the member‟s profile.
Project
40
the
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
41
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
42
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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 1. User clicks on „Menu Maintenance‟ button to enter the page.
System Response 2. The system will display maintenance interface.
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.
Project
43
the
Online Restaurant Management System
Chapter 2 : Requirement Analysis
If the user wants to search a menu record S-2 : search menu is performed. If the user wants to edit a menu record S3 : 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.
Project
44
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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 1. User clicks on „Food Order‟ button to enter the page.
System Response 2. The system will display the food ordering interface.
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 :
Project
45
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
46
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
47
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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 1. User clicks on „Reservation‟ button to enter the page.
System Response 2. The system will display the reservation interface. 4. The system will validate the existence of the member ID.
3. User will enter the member ID. 5. User decides whether they want to add, search, edit or delete the member‟s profile. Project
48
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
49
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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 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.
Project
50
System Response 2. The system will display the payment interface.
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
51
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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 1. User clicks on „Report‟ button to enter the page.
System Response 2. The system will display the report interface.
4. User will select the report criteria.
3. The system will display the report criteria selection.
8. User will decide whether to print the report or not to print the report.
4. The system will validate the report criteria selected.
If user wants to print the report S-1: Print Report is performed.
Project
52
5. The system will retrieve the information from the database based on the report criteria selected.
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
53
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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 1. User clicks on „Kitchen Maintenance‟ button to enter the page.
System Response 2. The system will display maintenance interface.
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 S1 : filter food list is performed. If the user wants to edit food status S-2 : edit food status is performed.
Project
54
the
3. The system will display the existing food list.
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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.
Project
55
Online Restaurant Management System
2.7
Chapter 2 : Requirement Analysis
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
Project
56
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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
Project
57
Online Restaurant Management System
Chapter 2 : Requirement Analysis
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
Project
58
Online Restaurant Management System
Chapter 2 : Requirement Analysis
Business Level Kitchen Activity Diagram
Diagram 2.7.7 Business Level Kitchen Activity Diagram
Diagram 2.10.2 Menu Maintenance Collaboration Diagram
Project
74
Online Restaurant Management System
Chapter 2 : Requirement Analysis
Food Order Collaboration Diagram
Diagram 2.10.3 Food Order Collaboration Diagram
Project
75
Online Restaurant Management System
Chapter 2 : Requirement Analysis
Reservation Collaboration Diagram
Diagram 2.10.4 Reservation Collaboration Diagram
Project
76
Online Restaurant Management System
Chapter 2 : Requirement Analysis
Payment Collaboration Diagram
Diagram 2.10.5 Payment Collaboration Diagram
Project
77
Online Restaurant Management System
Chapter 2 : Requirement Analysis
Kitchen Collaboration Diagram
Diagram 2.10.5 Payment Sequence Diagram
Project
78
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 nonfunctional 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.
79
Online Restaurant Management System
Chapter 3 : System Design
Chapter 3 System Design
Project
80
Online Restaurant Management System
3.
System Design
3.1
Introduction
Chapter 3 : System Design
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
Project
81
Online Restaurant Management System
3.3
Chapter 3 : System Design
Data Dictionary
Table Name: Member Field Name
Data Type
Data Description
Key
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
Reference
for
registration ImagePath
Nvarchar(Max) Path for member profile image
OrderID
Nchar(15)
To ensure each member having FK only 1 order at a visit
Password
Project
Nchar(12)
Use to login to the system
82
ResOrder
Online Restaurant Management System
Chapter 3 : System Design
Table Name: Menu Field Name
Data Type
Data Description
Key
MenuID
Nchar(10)
Menu Unique ID
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
Data Type
Data Description
Reference
PK
Table Name: Payment Field Name
Key
PaymentID
Nchar(15)
Payment Unique ID
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
Reference
PK
for
the
payment PaymentGeneratedDate
Date
Date payment generated
PaymentExpiredDate
Date
The latest date for the payment
TransactionID
Nvarchar(30)
Transaction
reference
for
PayPal UserName
Project
Nvarchar(50)
Member unique username
83
FK
Member
Online Restaurant Management System
Chapter 3 : System Design
Table Name: Reservation Field Name
Data Type
Data Description
Key
ReservationID
Nchar(10)
Reservation Unique ID
PK
UserName
Nvarchar(50)
Member unique username
FK
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
Reference
Member
Table Name: ResOrder Field Name
Data Type
Data Description
OrderID
Nchar(15)
Order Unique ID
OrderType
Nvarchar(50)
Customer order type
TableID
Nchar(10)
Customer sitting table
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
TotalInitialPrice
Decimal(18,2)
Customer total order item initial price
TotalAfterDiscount Decimal(18,2)
Project
Amount to pay after discount
84
Key
Reference
PK
FK
ResTable
FK
Payment
Online Restaurant Management System
Chapter 3 : System Design
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
TableID
Nchar(10)
Table unique ID
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
CallingFromlient
Nvarchar(50)
Used for requesting billing
Key
Reference
PK
FK
ResOrder
Table Name: Staff Field Name
Data Type
Data Description
StaffID
Nchar(20)
Staff unique ID
Position
Nvarchar(20)
Position of the staff
Password
Nvarchar(20)
Use to login to the system
Project
85
Key PK
Reference
Online Restaurant Management System
3.4
Chapter 3 : System Design
Normalization
Third Normal Form(3rd NF) Member(UserName, Name, IC, Gender, Phone, Email, Address, City, State, PostCode, DateJoined, ValidStatus,ConfirmStatus, ImagePath, OrderID*, Password)
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.
Project
95
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
96
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
97
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
98
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
99
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
100
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
101
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
102
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
103
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
104
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
105
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
106
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
107
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
108
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
109
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
110
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
111
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
112
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
113
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
114
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
115
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
116
Online Restaurant Management System
3.7
Chapter 3 : System Design
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.
Project
117
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
118
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
119
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
120
Online Restaurant Management System
Chapter 3 : System Design
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.
Project
121
Online Restaurant Management System
3.8
Chapter 3 : System Design
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. Selfordering will be requested by RapidOrder while RapidCaptain will approve or cancel the selfordering 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.
Project
122
Online Restaurant Management System
Chapter 3 : System Design
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
Project
123
Online Restaurant Management System
Chapter 3 : System Design
Diagram 3.8.3 Kitchen Preparing List Sorting
Without sorting result # 1 2 3 4 5 6
Food M01 M02 M03 M01 M02 M03
Status Cooking Queuing Queuing Queuing Queuing Queuing
Quantity 2 2 1 1 1 1
Order A A A B B B
Status Cooking Queuing Queuing Queuing
Quantity 2 3 2 1
Order A A-2,B-1 A-1,B-1 B
With sorting result # 1 2 3 4
Project
Food M01 M02 M03 M01
124
Online Restaurant Management System
Chapter 3 : System Design
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 M02Queued 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.
Project
125
Online Restaurant Management System
3.9
Chapter 3 : System Design
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.
Project
126
Online Restaurant Management System
Chapter 4 : Programming
Chapter 4 Programming
Project
127
Online Restaurant Management System
4.
Programming
4.1
Introduction
Chapter 4 : Programming
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 <script src="notification_js/jquery-1.7.2.min.js"> <script type="text/javascript" src="notification_js/noty/jquery.noty.js"> <script type="text/javascript" src="notification_js/noty/layouts/top.js"> <script type="text/javascript" src="notification_js/noty/themes/default.js"> <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: '
Table ' + id + 'ask for billing. Do you want to response ?
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.
Project
129
Online Restaurant Management System
Chapter 4 : Programming
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.
Project
130
Online Restaurant Management System
Chapter 4 : Programming
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.
Project
131
Online Restaurant Management System
Chapter 4 : Programming
Zopim Live Chat <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');
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();
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.
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).
Project
134
Online Restaurant Management System
Chapter 4 : Programming
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');"); } 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!');"); } 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;
Project
135
Online Restaurant Management System
Chapter 4 : Programming
Response.Write("<script>"); Response.Write(String.Format("window.open('{0}','_blank')", ResolveUrl(pageurl))); Response.Write(""); 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.
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');"); } 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!');"); } 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;
Project
137
Online Restaurant Management System
Chapter 4 : Programming
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.
Project
138
Online Restaurant Management System
Chapter 4 : Programming
Kitchen Filter Food List private void preparing() { String date = DateTime.Now.ToString("MM/dd/yyyy"); DateTime datetime = Convert.ToDateTime(date); List list = new List() { }; 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);
Project
139
Online Restaurant Management System
Chapter 4 : Programming
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; }
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.
Project
141
Online Restaurant Management System
Chapter 4 : Programming
Kitchen Display Food List private void display() { List list = new List() { }; 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.
Project
142
Online Restaurant Management System
Chapter 4 : Programming
Real Time Kitchen Display List protected void Refresh_Load(object sender, EventArgs e) { string int xc int xp int xd
orderid, menuid, indexx, kitindex; = 0; = 0; = 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();
Project
143
Online Restaurant Management System
Chapter 4 : Programming
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.
Project
144
Online Restaurant Management System
4.3
Chapter 4 : Programming
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.
Project
145
Online Restaurant Management System
Chapter 4 : Programming
Chapter 5 Software Testing
Project
146
Online Restaurant Management
5.
Software Testing
5.1
Introduction
Chapter 5 : Software Testing
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.
Project
147
Online Restaurant Management
Chapter 5 : Software Testing
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.
Project
148
Online Restaurant Management
Chapter 5 : Software Testing
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.
.
Project
149
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
1.
For Staff and Non Enter new valid member information Member Add new member with valid data
a) Prompt a successful message
2.
For Staff and Non Member Add new member with invalid data
a) Enter new member information but omit one or more compulsory field.
a) Display “This field cannot be Pass empty”
b) Enter username that already exist
c) Display “Name alphabetic”
c) Enter name with incorrect format
d) Display “IC must be 12 digit”
Pass
b) Prompt an error message must
be
d) Enter IC with incorrect format
e) Display “Phone number must be 10 digit”
e) Enter phone number with incorrect format
f) Prompt an error message
f) Uncheck term and condition checkbox
150
Remark
Online Restaurant Management
Chapter 5 : Software Testing
3.
For Staff view member Enter search keyword information with correct search keyword
Member information will be displayed
Pass
4.
For Staff view member Enter incorrect search keyword information with incorrect search keyword
Prompt an error message
Pass
5.
For Staff remove Enter membership removal reason membership with correct data
Prompt an successful message
Pass
6.
For Staff membership incorrect data
Display “This field cannot be empty”
Pass
7.
For Member edit profile Enter new valid member information with correct data
Prompt an successful message
Pass
8.
For Member edit profile with incorrect data
remove Omit the “Reason” field with
a) Enter new member information but omit one or more compulsory field. b) Enter phone number with incorrect format
Project
151
a) Display “This field cannot be Pass empty” b) Display “Phone number must be 10 digit”
Online Restaurant Management
Chapter 5 : Software Testing
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
1.
To test the auto- Add new valid menu information generate unique Menu ID
a) Prompt a successful message
For Staff add new Add new valid menu information menu with valid information
a) Prompt a successful message
For Staff add new menu with invalid information
a) Display “This field cannot be Pass empty”
2.
3.
Test Data
Expected Result
a) Enter new menu information but omit one or more compulsory field. b) Enter unit price incorrect format
4.
5
Project
with
Test Result Pass
b) Menu ID field value will auto plus one Pass
b) Menu ID field value will auto plus one
b) Display format”
“Incorrect
currency
For Staff edit new Enter correct search key and menu menu with correct data search key and correct menu data
a) Menu information displayed
For Staff edit new menu with incorrect search key and
a) Enter incorrect search key
a) Prompt an error message
b) Enter
b) Display “This field cannot be
152
updated
menu
will
be Pass
b) Prompt a successful message Pass
Remark
Online Restaurant Management
incorrect menu data
Chapter 5 : Software Testing
information but omit one or more compulsory field. c) Enter unit price incorrect format
Project
153
with
empty” c) Display format”
“Incorrect
currency
Online Restaurant Management
Chapter 5 : Software Testing
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
1.
To test the autogenerate unique Menu ID
Test Data
Expected Result
a) Add new order with valid information
a) New order id will be generated
b) Constantly change on table drop down list
c) New order id will be generated
c) Constantly order type
change
2.
For Staff add new order Enter new valid order data with correct order data
3.
For Staff add new order with incorrect order data
Pass
b) New order id will be generated
on Prompt a successful message
Pass
a) Check on “Member‟s Order” but does not enter member username
a) Display “Please fill in this Pass field”
b) Click confirm button without make any item selection
c) Prompt an error message
c) Click on remove button without “Check” on any item record
Project
Test Result
154
b) Prompt an error message
Remark
Online Restaurant Management
Chapter 5 : Software Testing
4.
For Staff edit new order Enter new valid order data with correct order data
Prompt a successful message
Pass
5.
For Staff edit new order with incorrect order data
a) Prompt error message
Pass
Project
a) Edit on item status that is not in “Queue” b) Click on remove button without “Check” on any item record
155
b) Prompt error message
a)Only item with status “Queue” can be edited.
Online Restaurant Management
Chapter 5 : Software Testing
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
1.
For Staff Add reservation Enter correct search key and new Prompt a successful message with correct search key valid reservation information and reservation data
Pass
2.
For Staff Add reservation with incorrect search key and reservation data
Pass
a) Enter incorrect search key
a) Prompt error message
b) Enter new reservation information but omit one or more compulsory field.
b) Display “This field cannot be empty”
c) Enter phone number with incorrect format d) Select an earlier reservation date
Test Result
c) Display “Phone number must be 10 digit” d) Prompt an error message e) Prompt an error message
e) Make 2 reservation on a same date for a same member 3.
Project
For Member Add Enter new reservation with correct information reservation data
156
valid
reservation Prompt a successful message
Pass
Remark
Online Restaurant Management
4.
For Member Add reservation with incorrect reservation data
Chapter 5 : Software Testing
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
a) Display “This field cannot Pass be empty” b) Display “Phone number must be 10 digit” c) Prompt an error message d) Prompt an error message
d) Make 2 reservation on a same date for a same member 5.
For Staff Edit reservation detail with correct search key and reservation data
a) Enter correct search key and new valid reservation information
a) Prompt message
b) Click on button
c) Prompt “Reservation status updated”
“Send
SMS”
a
successful Pass
b) Prompt “SMS has sent”
c) Click on “Attended” button
6.
For Staff Edit reservation Click on edit button detail for reservation that has been attended
7.
For Staff Edit reservation detail with incorrect search key and reservation data
Project
Prompt an error message
a) Enter incorrect search key
a) Prompt an error message
b) Enter phone number with incorrect format
b) Display “Phone number must be 10 digit”
c) Select an earlier reservation
c) Prompt an error message
157
Pass
Pass
Online Restaurant Management
Chapter 5 : Software Testing
date
d) Prompt an error message
d) Make 2 reservation on a same date for a same member
e) Prompt an error message
e) Click on “Send SMS” but SMS status is “Sent” 8.
For Staff remove Enter correct search reservation with correct remove the reservation search key
9
For Staff remove reservation with incorrect search key
a) Enter incorrect search key
a) Prompt an error message
b) Remove on reservation
“Attended”
b) Prompt an error message
For Staff reserve a table for upcoming reservation with correct steps
a) Select on reservation
upcoming
10.
11
For Staff reserve a table for upcoming reservation with exceptional flows
key
and Prompt a successful message
a) Prompt message
a
b) Select on a table
b) Change Yellow
table
a) Select on a table without select on upcoming reservation
a) Prompt error message
b) Select on seated or reserved table
Project
158
Pass
Pass
successful Pass
Green –Free Red-Seated
color
b) Prompt error message
to
Yellow-Reserved Pass
Online Restaurant Management
Chapter 5 : Software Testing
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
1.
For Staff Make payment Enter correct payment information with correct payment information
Test Result
a) Prompt a successful message Pass and balance will be calculate if exists b) A receipt will be generated
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 username
Project
159
member
a) Display “This field cannot be Pass empty” b) Display “Incorrect currency format” c) Prompt an error message d) Display “Please enter member username” e) Prompt an error message
Remark
Online Restaurant Management
3.
To determine the result when no payment available
Chapter 5 : Software Testing
a) Click on “Dine In” button b) Click on “Take Away” button
4.
To determine discount is Enter valid member username given to member payment
5.
For Staff to Print Bill
6.
For Staff make Paypal payment with exceptional flow
a) Prompt available”
“No
payment Pass
b) Prompt available”
“No
payment
Payment will be recalculate and Pass display on the screen with discount information
Select an available payment and Payment billing information will be Pass click on print bill button created as a PDF and display on new window a) Paypal do not have enough money
a) Redirect to MP_Failed page Pass and prompt an error message
b) Pay-pal login fail
b) Redirect to MP_Failed page and prompt an error message
c) Cancel Paypal payment
c) Redirect to MP_Failed page and prompt an error message 7
Project
For Staff make Paypal Login and make payment with Redirect to MP_Success page and Pass payment with Paypal account that have sufficient prompt a receipt in a new window. exceptional flow money.
160
Online Restaurant Management
Chapter 5 : Software Testing
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
1.
For Staff Preview Enter correct date selection Report with correct report criteria
2.
For Staff Preview Report with incorrect report criteria
The selected report will be displayed Pass in new window
a) Enter report criteria but omit one or more compulsory field.
a) Display “This field cannot be Pass empty”
b) Enter ToDate FromDate
b) Prompt error message
earlier
3.
For Staff Download Enter correct date selection Report with correct report criteria
4.
For Staff Download Report with incorrect report criteria
Project
Test Result
than
The selected downloaded
report
will
be Pass
a) Enter report criteria but omit one or more compulsory field.
a) Display “This field cannot be Pass empty”
b) Enter ToDate FromDate
b) Prompt error message
161
earlier
than
Remark
Online Restaurant Management
Chapter 5 : Software Testing
Kitchen Module Test Plan Project : Online Restaurant Management System Module Name: Kitchen
Test Case No: 7 Reference No. : Use Case 2.6.7
Actor(s): Staff Test Case: No
Objective/Test Cases
1.
For Staff Click on filter Click on “Queue” button food list- Queue
2.
For Staff Click on filter Click food list- Dequeue button
3.
For Staff Click filter on Click on “Queue” or Prompt error message empty list “Dequeue” when the list is empty
4.
For Staff Click update food status
Project
Test Data
on
Expected Result
Remark
The display food list will be filter by merging Pass the same food order within 5 minute interval
“Dequeue” The display food list will be arrange and Pass displayed without any merging
on Click on “Update” button
162
Test Result
The food item status will be updated
Pass
Pass
Queue Prepare
to
Prepare Served
to
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.
163
Online Restaurant Management
Conclusion
Chapter 6 Conclusion
Project
164
Online Restaurant Management
6.
Conclusion
6.1
Introduction
Conclusion
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.
Project
165
Online Restaurant Management
Conclusion
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.
Project
166
Online Restaurant Management
6.4
Conclusion
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.
Project
167
Online Restaurant Management
6.5
Conclusion
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.
Project
168
Online Restaurant Management
6.6
Conclusion
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.
Project
169
Online Restaurant Management
Conclusion
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.
Project
170
Online Restaurant Management
6.7
Conclusion
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.
Project
171
Online Restaurant Management
6.8
Conclusion
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.
Project
172
Online Restaurant Management
Conclusion
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”
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-lifecycle . [Accessed 10 1 2014]. 12. Marie
Catribs.
2013.
Web
http://mariecatribs.com/.[Accessed on 5 2 2013].
Project
174
Design.[Online]
Available:
Online Restaurant Management
Conclusion
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].
Project
175
Online Restaurant Management
8.
Appendices
Appendices
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?
Project
176
Online Restaurant Management
Appendices
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 Asst. Chef
Floor Staff / Hostess 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
Project
177
Online Restaurant Management
Appendices
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.
Project
178
Online Restaurant Management
Appendices
Veda Healthy Indian Take Out (Online Restaurant System)
Diagram 8.1 Veda‟s Home Page
Diagram 8.2 Veda‟s Order & Menu Page
Project
179
Online Restaurant Management
Appendices
Diagram 8.3 Veda‟s About Page
Diagram 8.4 Veda‟s Delivery Page
Project
180
Online Restaurant Management
Appendices
Diagram 8.5 Veda‟s Location Page
Diagram 8.6 Veda‟s Cateing Page
Project
181
Online Restaurant Management
Appendices
Diagram 8.7 Veda‟s Contact Us Page
Diagram 8.8 Veda‟s Legal Notice Page
Project
182
Online Restaurant Management
Appendices
Maria Catrib Online Restaurant System
Diagram 8.9 Maria‟s Home Page
Diagram 8.10 Maria‟s Contact Us Page
Project
183
Online Restaurant Management
Appendices
Diagram 8.11 Maria‟s Menu Page
Diagram 8.12 Maria‟s Store Page
Project
184
Online Restaurant Management
9.
User Guide
9.1
System Document
User Guide
9.1.1 Crystal Report 2012 Installation
Step 1: - Visit scn.sap.com/docs/DOC-7824 -Click Support Pack 8 to start downloading
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
Project
196
Online Restaurant Management
User Guide
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
Project
197
Online Restaurant Management
9.2
User Guide
Operation Document
Login
Diagram 9.2.1 1: Enter your login username 2: Enter your password 3: Click “Log-in” button
Project
198
Online Restaurant Management
User Guide
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
Project
199
Online Restaurant Management
User Guide
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
Project
200
Online Restaurant Management
User Guide
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
Project
201
Online Restaurant Management
User Guide
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
Project
202
Online Restaurant Management
User Guide
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
Project
203
Online Restaurant Management
User Guide
Instant Messaging
Diagram 9.2.12 1: Enter your message 2: Click send message button
Project
204
Online Restaurant Management
User Guide
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
Project
205
Online Restaurant Management
User Guide
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
Project
206
Online Restaurant Management
User Guide
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
Project
207
Online Restaurant Management
User Guide
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
Project
208
Online Restaurant Management
User Guide
Diagram 9.2.21 1: An inform message will send to member when membership removal is successful
Project
209
Online Restaurant Management
User Guide
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
Project
210
Online Restaurant Management
User Guide
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
Project
211
Online Restaurant Management
User Guide
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
Project
212
Online Restaurant Management
User Guide
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
Project
213
Online Restaurant Management
User Guide
Diagram 9.2.31 1: Successful message prompt when order is successfully added
Project
214
Online Restaurant Management
User Guide
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
Project
215
Online Restaurant Management
User Guide
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
Project
216
Online Restaurant Management
User Guide
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
Project
217
Online Restaurant Management
User Guide
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
Project
218
Online Restaurant Management
User Guide
Staff Update Reservation Table
Diagram 9.2.40 1: Select a reservation record 2: Select a table to reserve for the reservation selected
Project
219
Online Restaurant Management
User Guide
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
Project
220
Online Restaurant Management
User Guide
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
Project
221
Online Restaurant Management
User Guide
Diagram 9.2.45 1: Example of receipt
Diagram 9.2.46 1: PayPal payment page
Project
222
Online Restaurant Management
User Guide
Diagram 9.2.47 1: Payment PayPal successful page redirected from PayPal when payment is success
Project
223
Online Restaurant Management
User Guide
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