online ordering system project
DESCRIPTION
Online Ordering System Project Proposal, which could help to increase the understanding for the online system. This paper aim to share knowledge.TRANSCRIPT
-
RREESSTTAAUURRAANNTT MMAANNAAGGEEMMEENNTT SSYYSSTTEEMM
By
WONG XIAO YEN
SCHOOL OF ARTS AND SCIENCE TUNKU ABDUL RAHMAN COLLEGE
KUALA LUMPUR
ACADEMIC YEAR 20010/2011
-
Project Title
Final Year Project ii
RReessttaauurraanntt MMaannaaggeemmeenntt SSyysstteemm
By
WONG XIAO YEN
Supervisor: CHIN CHAI LIM
A project report submitted to the School of Arts and Science in partial fulfillment of the requirement for the
Bachelor of Science, Campbell University, U.S.A, And
Advanced Diploma in Science.
Division of Computer Science School of Arts and Science
Tunku Abdul Rahman College Kuala Lumpur
20010/2011
-
Restaurant Management System Declaration
Final Year Project iii
DDeeccllaarraattiioonn The project submitted herewith is a result of my own efforts in totality and in every
aspects 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.
__________________________
Students Name: Wong Xiao Yen
Programme : Advances Diploma in Business Information System Year 2
-
Restaurant Management System Abstract
Final Year Project iv
AAbbssttrraacctt The main purpose of carrying this project is partial fulfilment of the Bachelor of
Science Degree (Campbell University, U.S.A.) and Advanced Diploma in Business
Information System. This project is required to submitted as a Final Year project in
order to graduate.
This project is about Restaurant Management System. This is frond-end system.
The front-end system is used by customer and staff. Customer and staff can be login
to update their personal information through this web site. They also are able to make
order for take away and delivery. Besides that, member also is able to make reserve
table and meal on specific date and time. Furthermore, they can make the payment
online without needed to travel to counter to make payment. This system also allow
administrator to manage table, staff, member, reservation, delivery order and
delivery to customer.
This scope of the project covers Maintenances modules, Payment modules, Platform
Design modules, Meal order modules, Reservation modules, and Report modules.
The project of methodology is used UML (Unified Model Language) to design the
System such as use case diagram, sequence diagram and activity diagram. The
system flow and the actor are being drawn to understand how the system works does
and who the actors that interact with the system are. Besides that, Visual Studio 2010,
MySQL, C # and asp.net programming language, Adobe Flash, Microsoft Office that
are used as development phases of the project. Besides that, there are various phase
of development used when develop this project. We have gone through the every
stage of the software life cycle, such as system planning, requirements, analysis,
design and implementation.
In developing in this web application, team work and communication was important
for a project team to complete the whole system. Brainstorming with team member
may get better idea and improvement for the system.
-
Restaurant Management System Acknowledgement
Final Year Project vi
AAcckknnoowwlleeddggeemmeenntt I would like to express my sincere gratitude to project supervisor, Ms. Chin Chai Lim,
for her guidance, constant support and encouragement throughout the completion of
this final year project. I would also like to convey my appreciation to Ms. Chin to her
advice, knowledge and time to guide me throughout this final year project. Without
the help and guidance from Ms. Chin Chai Lim, I would not able to complete this
project successfully.
A warm thank is extended to Tan Yoke Yen for sharing her 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 College
and my fellow course-mates who have one way or another extended their assistance in
completing this project.
Last, but not least, I wishes to acknowledge the unwavering support shown by Ms
Chin, and my project moderator, Ms Chan Kwai Mui.
-
Restaurant Management System Table of Contents
Final Year Project vii
TTaabbllee ooff CCoonntteennttss
Declaration.............................................................................................................................. iiiAbstract .................................................................................................................................... ivAcknowledgement ................................................................................................................... vi1. System Planning ................................................................................................................ 1
1.1 Introduction .......................................................................................................................... 21.2Project Aims and Objectives ................................................................................................. 21.3 Company Background .......................................................................................................... 41.4 Project Scope ........................................................................................................................ 7 1.5 ProjectTeam .......................................................................................................................... 71.6 Project Schedule ................................................................................................................. 101.7 Outline of approach/Methodology Used ............................................................................. 11 1.8 Chapter Summary ............................................................................................................... 11
2. Requirements Analysis ................................................................................................... 122.1 Introduction ....................................................................................................................... 13 2.2 Fact Gathering..................................................................................................................... 132.3 Fact Recording .................................................................................................................... 14 2.4 Development Environment ................................................................................................. 14 2.5 Operation Environment ....................................................................................................... 14 2.6 System Architecture ............................................................................................................ 15 2.7 Functional Requirement ...................................................................................................... 16 2.8 Non-Functional Requirement ............................................................................................. 23 2.9 Chapter Summary ............................................................................................................... 24
3. System Design .................................................................................................................. 253.1 Introduction ......................................................................................................................... 263.2 Use Case Diagram .............................................................................................................. 26 3.3 Use Case Description .......................................................................................................... 31 3.4 Activity Diagram ................................................................................................................ 38 3.5 Sequence Diagram .............................................................................................................. 49 3.6 Entity Relationship Diagram .............................................................................................. 57 3.7 Data Dictionary ................................................................................................................... 58 3.8 User Interface Design ......................................................................................................... 64 3.9 Normalization ......................................................................................................................... 3.10 Chapter Summary ............................................................................................................... 88
4. Programming ................................................................................................................... 894.1 Introduction ......................................................................................................................... 904.2 Programming Language Used............................................................................................. 90 4.3 Sample of Programming Code ............................................................................................ 91 4.2 Chapter Summary ............................................................................................................. 139
5. Software Testing ............................................................................................................ 1305.1 Introduction ....................................................................................................................... 1315.2 Validation and Verification .............................................................................................. 131 5.3 Test Plan ........................................................................................................................... 136
-
Restaurant Management System Table of Contents
Final Year Project viii
5.4 Chapter Summary ............................................................................................................. 148 6. Conclusion ...................................................................................................................... 140
6.1 Introduction ....................................................................................................................... 142 6.2 Evaluation of Project ........................................................................................................ 1416.3 Suggestion for Furture Improvement ................................................................................ 122 6.4 Evaluation Against The Project Objectives ..................................................................... 143 6.5 Linking With Seminar ...................................................................................................... 144 6.6 Personal Reflection ........................................................................................................... 145 6.7 Chater Summary ............................................................................................................... 145
7. References ...................................................................................................................... 1468. Appendices ..................................................................................................................... 1479. User Guide ..................................................................................................................... 148
-
Restaurant Management System Chapter 1 : System Planning
Final Year Project 1
Chapter 1
System Planning
-
Restaurant Management System Chapter 1 : System Planning
Final Year Project 2
11.. SSyysstteemm PPllaannnniinngg
1.1 Introduction This chapter will discuss about the aims and objectives of this project. Then it will
followed by a brief description of the company background and the organization chart
of the restaurant. Furthermore, this chapter also includes the project scope that will be
carried out with the description of each module. Lastly, the project schedules with a
Gantt chart are shown.
1.2 Project Aims and Objectives The main purpose of this project is to provide an ease and convenience online order
meal and make table and meal reservation to the member. Firstly, the system can be
benefit to customer. The system allow customer to make meal delivery, take away
and reservation using computers by viewing the available table on specific date and
time without spent traveling cost going to the restaurant and spent a lot of time and
for the waiting time of meal order or the reservation.
Besides that, the project objective is to provide convenient, tangible and intangible
benefits to organisation.
Tangible Benefits to Organisation
The system can be help organisation by achieving quicker processing and
turnaround of document or transaction. For example, in current system, they may
use calculator to total up items of food order, it is need some time to make calculation,
in contrast, and the system will do it automatically.
The system can help restaurant in capturing stock availability management, so
eliminate staffs job to keep record of the stock availability. And then the systems
able to analysis how much the stock of raw material are spoil and fresh. The spoil
raw material of food will be as capturing lost on money management. So the decision
maker can make decision to adjust when to restock of raw material, reduce money lost
potential.
-
Restaurant Management System Chapter 1 : System Planning
Final Year Project 3
Intangible Benefits to Organisation
The restaurant is using off line system, if a customer want to make reservation after
they work from their company, the restaurant may close, so the customer cannot
contact to restaurant and may change another restaurant. In this case, the restaurant
lost a lot of customer, because inconvenient to them. So in this new system
development could provide 24 hours and Seven day per week services, customer
can make reservation anytime and anywhere. Since the service become well, it could
increase customer satisfaction, improve restaurant reputation and reduce error
happen. For example, the staffs make a wrong record of customer address accidently,
so wrong delivery foods to customer.
-
Restaurant Management System Chapter 1 : System Planning
Final Year Project 4
1.3 Company Background Nature of business : The TwinsYens Restaurant, at No 13, jalan 2/28 Wangsa Maju,
Kuala Lumpur, Malaysia , was opened in 2008. The restaurant is opened by two
sisters. In this few years, they have a good business because they were supported by
college student and those stay in Wangsa Maju. Today, the restaurant has expanded
the business and increase the staff until 50 employees, they are Financial Manager,
Purchasing and Quality Assurance Manager, Operation Manager, Training Manager,
Marketing Manager, Front End Director, Kitchen Manager, Shipment Manager, one
receptionist, one bar tender, ten waitress, one head of cook, three assistant cook, and
the others under different manager.
Products and services: TwinsYens restaurant of main customers is Malaysian. In
Malaysia, people like different kind of food, such as Westerns foods, Chineses foods,
Malays foods, Thailands Foods, Italian foods and healthier food. In better words to
say, the restaurant provides services and products are focusing on different level and
different kind of consumer. Meals are generally served and eaten on premises, but
also offer take-out and food delivery services. In the morning, TwinsYens restaurant
prepares variety flavour breakfast and coffee or tea to the rushing business man and
student. After 12.00 pm, the restaurant will prepare service and foods delight. In
additional, the stage, stage lights, and dressing rooms are complete for customer
having some events, or sing song on the stage. the restaurant help customer to hold a
special events, such as free birthday cake and sing a birthday song, farewell party, and
others celebration services with limited person. In a special day, the restaurant may
promote season menu or specialty item to its menu.
Business environment:
The restaurant is double level premise. Inside the restaurant, at the first level include a
bar for bar tender and receptionist use, one kitchen, and 20 different size of set of
tables. At the second level of restaurant, has a balcony which was decorated with
plants, you also can view outside from balcony, if see far a bit, Twin-tower building is
over there, and the place 25 unit of difference size of set of tables. Outside of
restaurant has well-lit parking will be available. The front and back of restaurants
premise are others restaurant and other business operation. Walking 20 minutes will
-
Restaurant Management System Chapter 1 : System Planning
Final Year Project 5
reach TwinsYens restaurant from LRT station. No market nearest. But have many
company and one TARC and UTAR college nearest to restaurant.
Size of operation
50 employees, they are Financial Manager, Purchasing and Quality Assurance
Manager, Operation Manager, Training Manager, Marketing Manager, Front End
Director, Kitchen Manager, Shipment Manager, one receptionist, one bar tender, ten
waitress, one head of cook, three assistant cook, and the others under different
manager.
Vision
TwinsYens Restaurant aims to the best of restaurant in Kuala Lumpur, especially to
serve people who are busy.
-
Restaurant Management System Chapter 1 : System Planning
Final Year Project 6
Organisation structure :
Figure 1.1 : Organization Chart for TwinsYens Restaurant Management System
Current System Used
TwinsYens Restaurant currently is using the traditional system and fully offline system.
Customer needed go to restaurant to make table reservation or phone call to the restaurant
make meal order, delivery and table reservation. Besides that, administrator still using
manual system such as using cashier machine to print the payment, has a staff book to
record staff information, record delivery information on paper, checking table reservation
and customer take order by ticking a small piece of paper. After ticking the order, the
waitress will ensure one more time again to customer, and then will pass one copy to
receptionist and another one will pass to kitchen. If the customer wants to order food for
delivery, they must go through the process to provide personal information every time.
-
Restaurant Management System Chapter 1 : System Planning
Final Year Project 7
1.4 Project Scope
Restaurant Management System
1.4.1 Maintain Module This module is used for administrator to maintain the data such as to add, update or
delete the working staff information, menu information, price of item, member
information, table information and description of food.
1.4.2 Online Table Reservation Module This module is for member reserve table and meal on specific date and time through
online.
1.4.3 Online Payment Module This module use for calculate the total expenses in restaurant. The payment
calculation will base on customer order meal with delivery, take away or reservation.
The payment calculation will be included government tax and service charge only if
customer makes order meal with take away and reservation, however, the RM 5 of
transport fees also included if customer make order with delivery. Payment Method, it
has two types, if the payment is pay by credit card then the payment will need
Restaurant Management System
Online Ordering Subsystem
Online Table Reservation Subsystem
Maintenance Subsystem
Online Payment Subsystem
Online Customer
Feedback /Survey
Subsystem
Report Subsystem SMS Customer
Order Detail
Subsystem
Platform Party Design Subsystem
Redeem free gift Subsystem
-
Restaurant Management System Chapter 1 : System Planning
Final Year Project 8
customer pay deposit with 70 % of total amount of charge. If customer pay by cash,
the customer is not required to pay deposit first, unless meet the restaurant staff.
1.4.4 Report Module This module is help manager to generate report such as sale report, feedback report,
reservation reports, and delivery report. All reports are useful for different level of
organization.
1.4.5 Online Ordering Module This module can be access by staff and customer. Staffs access it for walk in customer
to order food or cancel food had been ordered. Customer can register as member then
direct make order process step by step through the internet. User can use search
function which is included in this module for easy to find their favorite items.
1.4.6 SMS Customer Order Detail Module This module is used by staff to send message to inform customer. The staff sends the
order information and time to take the meal ordered after the customer makes order.
1.4.7 Platform Party Design Module This module is allowing customer to design their party after make reservation.
1.4.8 Online Feedback Module This module is used for that customer to evaluate restaurant performance, such as
food and drinks, customer service and staff behavior. The purpose is help restaurants
organization to improve product and service that base on customer preference.
1.4.9 Redeem Free Grift Module This module is used for that customer to use their point to exchange the gift of
restaurant provided.
-
Restaurant Management System Chapter 1 : System Planning
Final Year Project 9
1.5 Project Team Module Responsible by
1 i. Platform Design Online Payment ii. Table Reservation
Wong Xiao Yen
2 i. SMS Integration ii. Google map iii. Delivery iv. Redemption v. Online Customer vi. Feedback vii. Online Ordering
Tan Yoke Yen
3 Maintenance: i . Customer, Staff, Table
ii . Meal , Meal Category
Wong Xiao Yen
Tan Yoke Yen
9. Report :
i. Annual Sale Report Wong Xiao Yen
ii. Daily Member Payment Report Wong Xiao Yen
iii. Daily Reservation Report Wong Xiao Yen
iv. Monthly Sales Report Tan Yoke Yen
v. Top 5 Monthly Report Tan Yoke Yen
vi. Feedback Report Tan Yoke Yen
vii. Rating Report Tan Yoke Yen
-
Restaurant Management System Chapter 1 : System Planning
Final Year Project 10
1.6 Project Schedule
-
Restaurant Management System Chapter 1 : System Planning
Final Year Project 11
1.7 Outline of approach/Methodology Used For this project, I use two tier approaches (c #, asp.net ) to apply in the system
development.. The two tier design means that client program (interfaces) as first tier
and database server as second tier. The first tier is client program accesses database
directly, however second tier is used when client program executes application logic
(run SQL program with database).
This approach is used because it is a simple structure, easy to setup and do
maintenance and it consumes lesser time to develop the system. Besides that,
advantage of this approach is business logic and database is physically close, which
provides higher performance. Mean that the coding run on client side, it will be more
faster response to user. As the result, I apply two tier approaches for this project.
1.8 Chapter Summary In this chapter, we had face some problems in project scope, defining module of the
system, what module that we need to include and what function and features need to
include in each module.
We use the internet search engine, which is Google search to research the information
which is related to our project as our references such as Domino web site and Mc
Donald web site, TVG (cinema) website, based on those references, we can decide the
main module and function in each module.
Besides that, in project schedule planning, we need to estimate the date that we need
to done our task, but the actual date for the task may have different to planning date,
some tasks may be done earlier than the planning date and some tasks are over the due
date.
Base on the problem of project schedule, we need to have a proper distribution and
arrangement of the task to each project member for ensuring the task can complete on
time. We had a meeting in each week to ensure the progress of members and
brainstorming the problems that we faced.
-
Restaurant Management System Chapter 2 : Requirement Analysis
Final Year Project 12
Chapter 2
Requirements Analysis
-
Restaurant Management System Chapter 2 : Requirement Analysis
Final Year Project 13
22.. RReeqquuiirreemmeennttss AAnnaallyyssiiss
2.1 Introduction This chapter will include requirement analysis to the project. Requirement analysis is
the process of understanding the customer requirement and expectation from a
proposed system or application. It was including functional requirements, design
requirements and performance requirements.
2.2 Fact Gathering 2.2.1 Research
When I started to develop this project, I had done some online research for restaurant
website in Malaysia. I used Google search engine to search the category of website. I
found that, the entire restaurant website does not provide table reservation, meal
reservation and platform party design service. So I decided to do this system in my
final year project. The system is providing online meal order for delivery, take away
and reservation, so it make easy as possible to customer select more preference
service of restaurant.
2.2.2 Interview
Interview is one of fact-finding method to gather information during the system
analysis phases to develop a system. I have contact my friend who as receptionist in a
Vietnam restaurant, she has experience using restaurant system, so she can provide
more details about the websites needs and knowledge to improve our website.
The following information is the interview question that had been asked.
1. What is the nature of business of your restaurant?
2. What do you think the services that provided by using current system? Are you
satisfying your current system function? If no, what are the current system
problems?
3. What are the functions or services needs for the new system?
4. After implement Restaurant Management System, do you think that it will bring
profit to your restaurant?
-
Restaurant Management System Chapter 2 : Requirement Analysis
Final Year Project 14
2.3 Fact Recording In the system, user can view the webpage and get restaurants product and service
information. Customer must register as a member, and then the customer only can
make meal order, make table reservation, design platform party and provide feedback.
After submit meal order details, the system will calculate the payment and staff will
send message to user. The purpose of message is used to inform customer when the
meal will be delivered or the meal will be done of cook. If customers submit table
reservation with reserve meal together, the system will calculate the payment and
allow customer design the platform party.
2.4 Development Environment Programming
languages
C#.Net, Asp.net
Databases MySQL express
Development tools Microsoft Expression Studio 3, Project vision 2007
Hardware Printer x 1 unit , Laptop x 1 unit
Software Visual Studio 2010, Microsoft Office 2007,
Microsoft Office Project 2007, Microsoft Office
Visio, Adobe Flash
Operating System Microsoft Window XP or Microsoft Window 7
2.5 Operation Environment Hardware Recipe Printer , LCD Monitor
Mobile device , Hand free, Printer
Software Flash, Internet Explorer, Window XP
DBMS MySQL express
-
Restaurant Management System Chapter 2 : Requirement Analysis
Final Year Project 15
2.6 System Architecture
-
Restaurant Management System Chapter 2 : Requirement Analysis
Final Year Project 16
2.7 Functional Requirement
Maintenance
Login and Validation
Login in staff and members module, member login at front-end to consume restaurants services provided. Staff login at backend make order, check
member order information and check member reservation information only.
Admin login at back-end to do admin process.
User management control, it will automatic detect who login then specify them using different module.
Validation the input box to make sure user has fill up all the information properly.
MaintenanceSubsystem
Meal Maintenance
Module
Customer Maintenance
Module
Staff Maintenance
Module
Table Maintenance
Module
-
Restaurant Management System Chapter 2 : Requirement Analysis
Final Year Project 17
Table Maintenance
Feature:
1. Add and Delete Table: Each table has different table number, place at different location and different number of seat. This function allow staff to add new table
information if a new table is purchase, otherwise can delete the table information,
once the table is not use.
2. Edit : Staff to modify table details. 3. View Table Details: Keep track table information.
Staff Maintenance
Purpose : Maintain employees information.
Feature :
1. Add New Staff: New employees profile include personal details information such as Name, IC, Address, position, salary and status.
2. Edit Staff Details : Modify staffs profile details. For example, a waitress staff promote to receptionist. But staff has no authorised to modify own salary and status information.
3. View Staff Details : Keep track staff details. 4. Forgot Password : A staff login forgot their password, then ask their administrator
to login, check their ID and Password and reset the status to allow them login.
Table Maintenance
Add New Table Edit / Update Table Details
View Table Details Delete Table
Staff Maintenance Module
Add New Staff Edit Staff Details View Staff Details
-
Restaurant Management System Chapter 2 : Requirement Analysis
Final Year Project 18
Customer Maintenance
Feature:
1. Add :
Record customer information. Such as MemberID, MemberPoints and Gender.
Auto generates member ID number to customer when customer register as new
member. If customer is not a member, he or she must register as member then only
can use restaurants service. The system will automatically store 100 points to
member after customer register as member.
2. Edit : Staff to modify or Member himself or herself to modify their own profile details. On the other hand, update members points is based on payment module.
From the payment module, the total amount charge as members point calculation
which mean one ringgit as one point For example, total amount is RM 100.00, then
members point 100 will be added into database.
3. View Profile : Keep track whole member profile information.
4. Print : Customer has optional to print profile information. 5. Forgot Password and ID : If customer forgot the password, they may require to
answer some question for checking member password , or member can send email to
admin for help.
Customer Maintenance
Module
Register / Add
Edit / Update Profile
View Profile
Print Forgot Password
-
Restaurant Management System Chapter 2 : Requirement Analysis
Final Year Project 19
Table Reservation Module
Feature:
1. Add Reservation :
Date Reservation - It is allow customer select which day to reserve table in restaurant. The
date reservation cannot be reserve earlier than today.
Time Reservation - it is allow customer select which time to reserve table in restaurant. The
customer must earlier reach and before time and date reserve, if late, the system will
automatically make table available to others customer.
Table reservation The table can be reserve in non-smoking place and smoking place. They
also can choose how many seat. The system should provide a button or link that allow
member to check what their table reservation detail. Besides that, when starting the
reservation page, member information is already showed, but it must allow member to
modify their name and contact number. In additional, If member only reserve table, then the
system will not include any payment charges and not allow member design party platform.
Meal Reservation - After table reserved, customer will be allowed to make meal reservation.
2. Cancel the reservation can be cancel by staff through member permission, but the
money is not refundable.
3. Edit For events included, the reservation cannot be edit by member after the deposit
is paid.
4. View - Staff can keep track the reservation detail.
5. Print Customer able to print the reservation detail and payment detail after confirm
reservation. It will provide an reservation ID for proving to restaurant.
Table Reservation
Module
Add Reservation
Edit Reservation
Cancel Reservation
Print ReservationView Reservation
-
Restaurant Management System Chapter 2 : Requirement Analysis
Final Year Project 20
Platform Design Module
Features :
1. Customize Platform : Enable customer use the to drag the item by selecting function such as change color of stage, add baby chair, and add color balls.
2. View Sample Platform: module that similar look TwinsYens restaurant decoration.
3. Print Platform: Print the platform design and related details.
Platform Design Module
Customize Party Platform
View Sample Platform
Print Platform
-
Restaurant Management System Chapter 2 : Requirement Analysis
Final Year Project 21
Payment Module
Feature:
Add Payment : Record the payment information. After confirm order and reservation, the
payment will be added.
1. View Payment : Display - This function is used to display the total payment calculation after make order.
Display the payment charge must be included government tax 5 %, service charge 10 % of
total amount charge. If payment with delivery must include transport fees of RM 5, no matter
far or near.
Payment Method Enable it has two types, whether the payment is pay by credit card or
cash. If member pay credit card through online, the member must pay 70% of total payment.
Enable user print receipt.
Formula
o GrandTotal = Total Price_of_Item added ;
o TotalGovTax = Grand Total x 0.05;
o TotalServiceCharge = GrandTotal x 0.10;
o TotalAmount = GrandTotal + TotalGovTax + TotalServiceCharge;
o Deposit = (TotalAmount x 70) / 100;
o Balance = TotalAmount Deposit ;
2. Print receipt the receipt printed that is included tax charges, service charges, delivery charges, total price of quantity item, total price, subtotal, and date of payment.
Payment Module
Print Payment Add Payment View Payment
-
Restaurant Management System Chapter 2 : Requirement Analysis
Final Year Project 22
Report Module
View Annual Sales Report - The report can be used by financial manager and marketing
manager. This report can be used for determining which time is earn less, and which time can
earn more, so they can do some promotion when business is not frequent.
View Daily Reservation Report - This report is created for supervisor and kitchen manager.
They can use this report to determine how many of meal require to prepare on specific date
and well prepare the table to customer before the customer is coming.
View Daily Member Payment Report This report is created for financial manager. The
purpose is used to view total money is received .
Report Module
Annual sales Report Daily Reservation
Report
Daily Member Payment
Report
-
Restaurant Management System Chapter 2 : Requirement Analysis
Final Year Project 23
2.8 Non-Functional Requirement
2.8.1 Production Requirement
ASP.Net homepage for user where using World Wide Web. The user interface must be user friendly where using graphic picture to
present information to customer.
System will run logically when user hit some error. Example, not allows enter a character to numeric field, and would not terminate the system directly when
error message is displayed.
The system should have security function such as provides a protection of the information to the user, users password should be protected by encrypted it
and if the staff forgot password, need contact admin to reset the password as
security. If the member, need to answer certain question to login.
The system should have accuracy function such as calculation of payment in system are accurate and consistency, by using professional formula for the
calculation.
The system must be always provide availability function and performance, such as user can take order or make reservation, the TwinsYens system is
available 24 hour per day and 365 days per year.
The system should provide the best performance function, such as the system must quicker response process after user click a button and the system is not
easy down.
2.8.2 Organizational Requirement Standard Requirements the development process must be develop in a
recognize standard, which is ISO 9000.
Implementation Requirements - use asp.net programming language for front end system, use c sharp .net programming language for back end system.
2.8.3 External Requirement Legislative Requirement the software that use in the system, all must be
original and obtain the license from the manufacturer.
Ethical Requirement the system must be acceptable for the user and the general public.
-
Restaurant Management System Chapter 2 : Requirement Analysis
Final Year Project 24
2.9 Chapter Summary In this chapter, we had faced problems when defining the function requirement and
non-functional requirement. Since we had no experience on POS system, we only can
base on assumption on the system those main requirements.
We used the fact gathering to solve our problems. I base on my friends information
to get some idea to develop the restaurant management system. For example, select
item to card, delivery and payment.
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 25
Chapter 3
System Design
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 26
33.. SSyysstteemm DDeessiiggnn
3.1 Introduction After we analyze the requirement of the system, the next is to process system design.
The system design is important because it transform information that ultimately
results in software. With the system design, it can help us to create a design physical
model. In this chapter we will discuss about the database design, sequence diagrams
and the design of system user interface.
3.2 Use Case Diagram System Overview
Figure 3.2.1 : Restaurant System Overview Use Case Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 27
Maintain Staff
Figure 3.2.2 : Maintain Staff Use Case Diagram
Maintain Member
Figure 3.2.3 : Maintain Member Use Case Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 28
Maintain Table
Figure 3.2.4 : Maintain Table Use Case Diagram
Pay Payment
Figure 3.2.5 : Pay Payment Use Case Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 29
Design Platform Party
Figure 3.2.6 : Design Platform Party Use Case Diagram
Reservation
Figure 3.2.7 : Reservation Use Case Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 30
Generate Report
Figure 3.2.8 : Generate Report Use Case Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 31
3.3 Use Case Description Maintain Staff Module
Use case name Maintain Staff
Brief Description This use case allows staff add, edit and search staff information.
Actor Adminsitrator
Main Flow
Actor Action System Response
1. Display Main Menu
3. Administrator select the Maintain Staff
4. Display Add New Staff and Update Staff
Subflows:
S-1 Add New Staff
System auto generate staff ID when form load. Administrator key in new staff details. System validate key in new staff details. Adminsitrator press save button, then the system will add member record into database.
S-2 Update Staff
Administrator key in staff ID or username. System varify staff ID or username status and display staff details. Administrator press edit button and edit details. Staff press save button, system validate edited details and update staff database.
Alternative flows :
A-1 Step S-1 and S2 : if the data enter is invalid
Display invalid data message A-2 Step S1 : if the staff position is Administrator
Auto generate staff id , the first character of staff id is A A-3 Step S1 : if the staff position is Staff
Auto generate staff id , the first character of staff id is S A-3 Step S1: if the staff does not select Done button option
System will not add new staff data A-3 Step S2: if the staff does not select Done button option
System will not update staff data
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 32
Maintain Member Module
Use case name Maintain Member
Brief Description This use case allows member add, edit and search member information.
Actor Member
Main Flow
Actor Action System Response
1. Display Main Menu
2. Member select the register member 3.Display registration form
4. Key in member details
5.Click save button 6. Validate member key in details
7.Display login form
8. Key in Username and password 9. Validate username and password
10. Display member main menu
11. Select View my profile 12. Display member profile details
13. Click edit button
14. Edit member details
15. Select Done button 16. Validate member edited details
17. Update member record
Alternative flows :
A-1 Step 3 : if the username is exist
Display This username has been use by another person
A-2 Step 5 : if the date enter is invalid
Display invalid data message Cursor will point to the particular field
A-3 Step 15: if the member not select Done button option
System will not update member data
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 33
Maintain Table Module
Use case name Maintain Staff
Brief Description This use case allows staff add, edit, delete and search table information.
Actor Adminsitrator
Main Flow
Actor Action System Response
1. Display Main Menu
4. Administrator select the Maintain Table
4. Display Add, Update and Delete button.
Subflows:
S-1 Add New Table
Administrator key in new table details. Administrator press Done button to save new table information. The system validate staff key in details and add a record into table database
S-2 Update Table
Administrator key in table number, press search button. System diplays table information. Administrator press edit button and edit table information. System validate input data and update the table information into database.
S-2 Delete Table
Administrator key in table number and press search button, System display table information. Administrator press delete button. System prompt up a comfrimation massage are you sure want to delete the table. Administrator were chosen confirm to delete the table. System will delete the table from database.
Alternative flows :
A-1 Step S-1 and S2 : if the data enter is invalid
Display invalid data message
A-5 Step S-2: if the administrator does not select Done button option
System will not update table data
A-6 Step S-2 if the administrator choose no from prompt up message
System will not delete the table record
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 34
Reservation, and Design Platform Party
Use case name Reservation, Pay payment and Design Platform
Party
Brief Description This use case enable customer to make a reservation, inculded table and meal. After reserve table and meal, the this use case also allow member view payment and pay payment , andl also design platform party.
Actor Member
Main Flow
Actor Action System Response
1. Reservation form
2. Select date and time
3. Click search button 4. Verify the date and time and save reservation detail into reservation database.
5.Display table information
6. Select table number and add into reserved table
7. Click finish button 8. Update reservation detail into database and display reservation information.
9. Display back to reserve table form, continue to reserve meal and print button.
10. Click continue reserve meal
11. Display reserve meal page
12. Select food category
13. Enter food quantity
14. click order list button 15. Display reserve meal detail
16. Show back to reserve meal button , confirm delete meal item button and confirm reserve meal button.
17. Select comfirm reserve meal
18. System display pay payment page
19. Key in credit card details and click done
20. Validate credit card details and
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 35
print receipt
21. Display back home page button, and go to design platform party button
22. Select go to design platform party button.
23. Display platform design page
24. Customize platform design
25. Select print platform design
26. Prompt up print window
Alternative flows :
A-1 Step S-4: if system have not generate reservation id
System generate reservation id and display it
A-1 Step S-16: if member select confirm delete meal item button
Customer select particular item is require to remove. System remove the item from data base System recalculate the total price at bottom of grid view
A-1 Step S-6 and S-16: if member select does not add any item or delete all item
System display back to previous page function of button only
A-1 Step S-20: if member key in wrong data
System display error message and not save data into database
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 36
Payment Module
Use case name Pay Payment
Brief Description This use case allows member computerized payment (cash) and e-payment via credit card .
Actor Member
Main Flow
Actor Action System Response
1. Display payment form after user comfirm about meal order with delivery or take away.
2.Display payment method option, which are credit card and cash
4. Select payment option and press done option
6. Validate payment details
7. Save data into database and print receipt.
Alternative flows :
A-1 Step 4 : if member select payment option is credit card
Display credit card form that require user key in System calculate deposit user require to pay and balance System validate user key in credit card details
A-2 Step 4 : if the member select payment option is cash
Display the balance
A-3 Step 1 : if the member select order meal with delivery
System calculate government tax, service charge, transport fees, total charge
A-4 Step 1: if the member select order meal with take away
System calculate government tax, service charge and total charge
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 37
Generate Report
Use case name Generate Report
Brief Description This use case allows administrator to generate the customer annual sales report, daily member payment report, and daily reservation report
Actor Member
Main Flow
Actor Action System Response
1. Display main menu
2. Select report option 2.Display sub menu: annual sales report, daily member payment report, and daily reservation report
Subflow:
If the sub menu selected is annual sales report, the S-1: annual sales report
If the sub menu selected is daily member payment report, the S-2: daily member payment report
If the sub menu selected is a daily reservation report, the S-3: daily reservation report
Alternative flows :
S-1 Annual sales report
Administrator can view the report to know whole year of sale profit and know which month is better sales. When administrator clicks the print option, system will print the report.
S-2 Daily member payment report
Administrator can select specific date to view report, purpose is to know which member is havent pay payment and the day total payment collect and total balance is havent collect. . When administrator clicks the print option, system will print the report.
S-3 Daily reservation report
Administrator can view the report to know what is the table, what is the time, what is the meal and member detail on specific day. . When administrator clicks the print option, system will print the report.
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 38
3.4 Activity Diagram Maintain Staff Module
Figure 3.4.1 : Maintain Staff for Update and View Activity Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 39
Figure 3.4.2 : Maintain Staff for Add New Staff Activity Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 40
Maintain Member Module
Figure 3.4.3 : Maintain Member for Add New Member Activity Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 41
Figure 3.4.4 : Maintain Member for Update and View Member Activity Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 42
Maintain Table Module
Figure 3.4.5 : Maintain Table for Add New Table Activity Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 43
Figure 3.4.6 : Maintain Table for Update,View and Delete Table Activity Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 44
Reservation Module
Figure 3.4.7 : Reservation Activity Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 45
Figure 3.4.8 : Reservation Activity Diagram( Cont..)
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 46
Pay Payment Module
Figure 3.4.9 : Pay Payment Activity Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 47
Design Platform Party Module
Figure 3.4.10 : Design Platform Party Activity Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 48
Report Module
Figure 3.3.12 : Generate Report Activity Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 49
3.5 Sequence Diagram Maintain Staff Module
Figure 3.5.1 : Maintain Staff for Add New Staff Sequence Diagram
Figure 3.5.2 : Maintain Staff for Update Staff and View Staff Detail Sequence Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 50
Maintain Member Module
Figure 3.5.3 : Maintain Member for Update Member and View Member Detail Sequence
Diagram
Figure 3.5.4 : Maintain Member for Add NewMember Sequence Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 51
Maintain Table Module
Figure 3.5.5 : Maintain Table for Delete Table Sequence Diagram
Figure 3.5.6 : Maintain Table for Add New Table Sequence Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 52
Figure 3.5.7 : Maintain Table for Update and View Table Sequence Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 53
Reservation Module
Figure 3.5.8 : Reservation for View and Delete Reservation Sequence Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 54
Figure 3.5.9 : Reservation for Add New Reservation Sequence Diagram
Pay Payment Module
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 55
Figure 3.5.10 : Reservation module for Add New Payment Sequence Diagram
View Report Module
Figure 3.5.11 : Generate Report Sequence Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 56
Platform Design
Figure 3.5.12 : Design Platform Party Sequence Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 57
3.6 Entity Relationship Diagram
Figure 3.6.1 : Restaurant Management Systems Entity Relationship Diagram
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 58
3.7 Data Dictionary Table Name: Cart
Field Name Data Type Data Description Key Reference CartNo int Identity(1,1) Cart Number PK MealNo nvarchar(10) Meal Number FK Meal MealName nvarchar(50) Meal Name Qty int Order quantity Price decimal(18,2) Meal Price Subtotal decimal(18,2) Subtotal of Meal MemberID nvarchar(50) Member ID FK Staff
Table Name: CreditCardData
Field Name Data Type Data Description Key ReferenceCCNo nvarchar(20) Credit Card Number PK Name nvarchar(10) Card Name CardType nvarchar(50) Card Type ExpireDate date Cards Expire Date
Table Name: Delivery
Field Name Data Type Data Description Key ReferenceDNo Int Identity(1,1) Delivery Number PK DDate date Delivery Date Receiver nvarchar(30) Receiver Name CPhoneNo nvarchar(12) Receiver Phone Number DAddress nvarchar(50) Delivery Address DTime time(0) Delivery Time Remark nvarchar(50) Remark StaffID nvarchar(10) Staff ID FK Staff OrderNo nvarchar(10) Order Number FK Order
Table Name: Feedback
Field Name Data Type Data Description Key ReferenceFNo int Identity(1,1) Feedback Number PK Subject nvarchar(50) Subject/Criteria Vote nvarchar(10) Vote (eg:Excellent, Good) Value int Values (eg:5,4,3,2,1) Favorite nvarchar(50) Members Favorite Meal Comment nvarchar(50) Feedback Comment
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 59
FDate date Feedbacks Date MemberID nvarchar(10) Member ID FK Member Table Name: Meal
Field Name Data Type Data Description Key Reference MealNo nvarchar(10) Meal Number PK MealName nvarchar(50) Meal Name Desp nvarchar(50) Meal Description Image nvarchar(30) Meal Image Price decimal(8,2) Meal Price MealCateID nvarchar(10) Meal Category ID FK MealCategory Table Name: MealCategory
Field Name Data Type Data Description Key ReferenceMealCateID nvarchar(10) Meal Category ID PK MCName nvarchar(30) Meal Category Name Table Name: Member
Field Name Data Type Data Description Key ReferenceMemberID nvarchar(10) Member ID PK MCardNo nvarchar(20) Member Card Number MIC nvarchar(12) Member IC MFirstName nvarchar(30) First Name MLastName nvarchar(30) Last Name Gender nvarchar(6) Gender MOffice nvarchar(15) Office Number MExt nvarchar(10) MMobile nvarchar(10) Member Contact No. MHomeNo nvarchar(20) Member Home Tel. MSurburb nvarchar(20) Surburb MBlock nvarchar(10) Block MLevel nvarchar(10) Level MUnit nvarchar(10) Unit MCity nvarchar(30) City MState nvarchar(30) State MZip Int Zip Code MEmail nvarchar(30) Member Email
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 60
MPoint Int Members Point EntryDate date Entry Date MUserName nvarchar(30) User Name MPassword nvarchar(30) Password MSecurityQuestion nvarchar(50) Security Question MSecurityAnswer nvarchar(50) Security Password MDOB date Date of Birth Table Name: Order
Field Name Data Type Data Description Key ReferenceOrderNo nvarchar(10) Order Number PK TotalAmount decimal(10,2) Total Amount StatusPay nvarchar(6) Payment Status ODate date Order Date OTime time(0) Order Time DeliveryStatus nvarchar(10) Delivery Status CookStatus nvarchar(10) Cook Status MemberID nvarchar(10) Member ID FK Member StaffID nvarchar(10) Staff ID FK Staff Table Name: OrderDetail
Field Name Data Type Data Description Key ReferenceOrderNo nvarchar(10) Order Number PK, FK Order MealNo nvarchar(10) Meal Number PK, FK Meal Qty int Order Quantity Subtotal decimal(8,2) Order Subtotal Table Name: Rating
Field Name Data Type Data Description Key ReferenceRatingID int IDENTITY(1,1) Rating ID PK MealNo nvarchar(10) Meal number RatingValue int Rating
Values(eg:1,2,3,4,5)
RateDate date Rate Date MemberID nvarchar(10) Member ID FK Member Table Name: Redeem
Attribute Data Type Data Description Key ReferenceRNo nvarchar(10) Redeem Number PK RPoint int Point
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 61
RItem nvarchar(30) Redeem Items RImage nvarchar(30) Item Image Table Name: RedeemItem
Field Name Data Type Data Description Key ReferenceRINo int Redeem Item Number PK MemberCardNo nvarchar(50) Member Card Number PointClaim int Point Require for redeem RIQty int Quantity Redemption RIDate date Redemption Date BalancePoint int Balance Point RNo int FK Redeem Table Name: Table Field Name Data Type Data Description Key ReferenceTableNo nvarchar(5) Table Number PK Size int Number of
seat(eg:2,3,4,8,10)
Zone nvarchar(20) Zone(eg:non-smoking) Status nvarchar(20) Status Available
Table Name: ReserTable
Field Name Data Type Data Description Key ReferenceReserTableNo int Auto Generate ID PK TableNo nvarchar(10) Table Number FK ResID nvarchar(10) Reservation ID FK Table Name: Reservation
Field Name Data Type Data Description Key ReferenceResID nvarchar(10) Reservation ID PK ResName nvarchar(30) People who make
reservation
ResICNo nvarchar(12) IC Number ResContactNo nvarchar(10) Contact Number ResDate date Reservation Date ResTime time Reservation Time StaffID nvarchar(10) Staff ID FK Staff MemberID nvarchar(10) Member ID FK Member Table Name: ReserMeal
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 62
Field Name Data Type Data Description Key ReferenceResID nvarchar(10) Reservation ID PK, FK MealNo nvarchar(10) Meal Number PK, FK Qty int Reserve Quantity Subtotal decimal(10,2) Reserve Subtotal Table Name: ReserCart
Field Name Data Type Data Description Key ReferenceRCartNo int IDENTITY(1,1) Reservation Cart
Number PK
MealNo nvarchar(10) Meal Number FK ReserMealRQty int Quantity Reserve Subtotal decimal(10,2) Meal Subtotal in
reservation
MemberID nvarchar(10) Member ID FK Member
Table Name: Payment
Field Name Data Type Data Description Key Reference ReceiptNo int Receipt Number PK CreditCardNo nvarchar(20) Credit Card Number MemberCardNo nvarchar(20) Member Card Number PMethod nvarchar(10) Payment Method CardType nvarchar(10) Card Type Date date Pay Date TotalCharge decimal(10,2) Total Charge ServiceCharge decimal(10,2) Service Charge GovTax decimal(10,2) Government Tax GrandTotal decimal(10,2) Grand Total DeliveryFees decimal(10,2) Delivery Fees Balance decimal(10,2) Balance Deposit decimal(10,2) Deposit OrderNo nvarchar(10) Order Number FK Order MemberID nvarchar(10) Member ID FK Member ResID nvarchar(10) Reservation ID FK ReservationStaffID nvarchar(50) Staff ID FK Staff
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 63
Table Name: Staff Field Name Data Type Data Description Key ReferenceStaffID nvarchar(10) Staff ID PK FName nvarchar(20) Staff First Name LName nvarchar(20) Staff Last Name SAddress nvarchar(20) Address SCity nvarchar(20) City SState nvarchar(20) State Zip int Zip Code ICNo nvarchar(20) IC Number ContactNo nvarchar(20) Contact Number Gender nvarchar(6) Gender Position nvarchar(10) Position Salary decimal(10,2) Salary Status nvarchar(10) Free Status SUserName nvarchar(20) User Name SPassword nvarchar(20) Password SEmail nvarchar(30) Email SDOB date Date of Birth
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 64
3.8 User Interface Design Non-Member Main Page
Figure 3.8.1 Non-Member Main Page
Member Main Page
Figure 3.8.2 Member Main Page
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 65
Member Registration
Figure 3.8.3 Member Registration
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 66
Member Login
Figure 3.8.4 Member Login
Change Member Password
Figure 3.8.5 Change Member Password
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 67
Member Forgot Password
Figure 3.8.6 Member Forgot Password
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 68
Member Profile
Figure 3.8.7 Member Profile
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 69
Reservation
Figure 3.8.8 Reservation
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 70
Check Table Reserved
Figure 3.8.8 Check Table Reserved
Member Reservation Information
Figure 3.8.9 Member Reservation Information
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 71
Reservation Meal Menu
Figure 3.8.10 Reservation Meal Menu
Member Meal Reservation Information
Figure 3.8.11 Member Meal Reservation Information
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 72
Reservation Payment
Figure 3.8.12 Reservation Payment
Platform Design
Figure 3.8.13 Platform Design
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 73
Order Payment with Cash Payment Method
Figure 3.8.13 Order Payment with cash payment method
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 74
Order Payment with Credit Card Payment Method
Figure 3.8.14 Order Payment with Credit Card payment method
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 75
Reservation Information
Figure 3.8.15 Reservation Information
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 76
About Us
Figure 3.8.16 About Us
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 77
Staff Main Page
Figure 3.8.17 Staff Main Page
Staff Login
Figure 3.8.18 Staff Login
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 78
Staff Registration
Figure 3.8.19 Staff Registration
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 79
Check Member Reservation
Figure 3.8.20 Check Member Reservation
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 80
Check Member Reservation Detail
Figure 3.8.21 Check Member Reservation Detail
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 81
Staff Maintenance
Figure 3.8.22 Staff Maintenance
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 82
Member Maintenance
Figure 3.8.23 Member Maintenance
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 83
Staff Profile
Figure 3.8.24 Member Maintenance
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 84
Table Maintenance
Figure 3.8.25 Table Maintenance
Report Page
Figure 3.8.26 Report Page
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 85
Figure 3.8.27 Example of Daily Reservation Report
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 86
Figure 3.8.28 Example of Annual Sales Report
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 87
Figure 3.8.29 Example of Daily Member Payment Report
-
Restaurant Management System Chapter 3 : System Design
Final Year Project 88
3.10 Chapter Summary The database design is the most important part to develop a system. It is very critical
because it can influence the whole system function and operation. Each data tables, data
fields, data types and relationship of the table must proper implement. Therefore, the
problem will be minimized during the development of the system.
The interface design also important part to develop the system, because poor design will
affect the overall quality of the system. A user interface must be user friendly and
attractive, because it allow user easy understand how the system process. It is possible
save cost and save time from system learning curve.
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 89
Chapter 4
Programming
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 90
44.. PPrrooggrraammmmiinngg
4.1 Introduction After the system design, the next step is programming . Programming is the processes of
writing the program instruction that implement the program specification, using a
suitable language. In this chapter will discuss about the programming method used. .
4.2 Programming Language Used This is the front end application, so C # , Asp.net, JavaScript and Flash Action Script
programming language to code it. C sharp and Asp.net are Microsoft office product.
Asp.net is a web application framework developed. Asp.net mostly use for built
dynamic web site and built on the Common Language Runtime (CLR). On the other
hand, C # is able to provide simplicity of coding and ease of understanding and high
performance. Besides that, JavaScript and Flash Acton Script are scripting language, )
are used to generate a dynamic, interactive, functionality and more responsive web
page or system. Flash is an authoring tools which is including features such as drag
and drop user interface components, make some effects to the object and built in
behaviours that add Action Script.
Action Script is written behind of Flash animation, sound, picture, movie and special
effect applications, and much more. (Prayaga et al, p10, 2007)
JavaScript is a dynamic scripting language that allow website programmer to build
interactivity into static HTML pages. This is done by embedding blocks of JavaScript
code, which can be found anywhere from any Web page. JavaScript is a scripting
language that is created by Netscape Communication and Sun Microsystems.
JavaScript allows web browser to produce dynamic documents and enables
programmers to call routines written in Java, C and C++ (Sutar et al, p134,2008). The
speed of JavaScript run on client sites code function is faster than server when
waiting for server response back. It also advantage to the servers burden, because
reduce demand from client site.
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 91
4.3 Sample of Programming Code 4.3.1 Connection Function
This function is easy for me to call out the connection and no need to create the
connection in each form every time.
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 92
4.3.2 Auto Generate for ID
This is the example of auto number for Member ID, we using auto number for
ID to avoid the duplicate TD and arrange ID number in database. This method
also use in Reservation ID, Staff ID and Order ID.
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 93
4.3.3 Maintenance Module
This system has staff maintenance module, member maintenance module and
table maintenance module. Below is showing example code of table
maintenance module.
This part of coding is taking from the StaffTableMaintainace.aspx.cs. It show
how Search Table working in the system.
voidButtonSearch(){if(btnSearch.Text=="Search"){txtSize.Enabled=false;txtStatus.Enabled=false;txtTableNo.Enabled=false;txtTableNo.Enabled=false;btnDelete.Enabled=true;//btnCancel.Enabled=true;btnNew.Enabled=true;btnSearch.Enabled=true;btnUpdate.Enabled=true;//btnSearch.Enabled=true;Initialize();ArrayListarrCollect=newArrayList();SqlDataAdapterdaHotel;DataSetdsHotel=newDataSet();stringsqlHotel="Select*from[Table]whereTableNo='"+txtSearch.Text+"'";daHotel=newSqlDataAdapter(sqlHotel,con);daHotel.Fill(dsHotel,"Table");foreach(DataRowrowindsHotel.Tables[0].Rows){txtTableNo.Text=dsHotel.Tables["Table"].Rows[0]["TableNo"].ToString();txtSize.Text=dsHotel.Tables["Table"].Rows[0]["Size"].ToString();txtStatus.Text=dsHotel.Tables["Table"].Rows[0]["Status"].ToString();ddlZone.DataSource=dsHotel;ddlZone.DataValueField="TableNo";ddlZone.DataTextField="Zone";ddlZone.DataBind();}Terminate();}
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 94
if(btnSearch.Text=="NewSearch"){//ddlSearch.Enabled=true;txtSize.Enabled=false;txtStatus.Enabled=false;txtTableNo.Enabled=false;txtTableNo.Enabled=false;btnCancel.Enabled=false;btnNew.Enabled=true;btnSearch.Enabled=true;btnUpdate.Enabled=false;//ddlSearch.Enabled=true;txtSize.Enabled=false;btnNew.Text="New";btnSearch.Text="Search";txtTableNo.Enabled=false;ddlZone.Enabled=false;txtSize.Text="";txtStatus.Text="";txtTableNo.Text="";lblmsg1.Text="";lblmsg2.Text="";lblmsg3.Text="";}}
This part of coding is taking from the StaffTableMaintainace.aspx.cs. It show how
Update Table working in the system.
protectedvoidbtnSearch0_Click(objectsender,EventArgse){ButtonUpdate();}
voidButtonUpdate(){if(txtSize.Text==""){txtSize.Focus();lblmsg3.Text="*";}else{if(btnUpdate.Text=="Done"){btnCancel.Enabled=false;btnNew.Enabled=true;//btnSearch.Enabled=true;btnUpdate.Enabled=true;btnUpdate.Text="Update";//ddlSearch.Enabled=true;
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 95
ddlZone.Enabled=false;txtSize.Enabled=false;txtStatus.Enabled=false;txtTableNo.Enabled=false;Initialize();stringstrSQL2="UPDATE[Table]SET[Size]=@Size,[Zone]=@ZonewhereTableNo='"+txtTableNo.Text+"'";SqlCommandcmd=newSqlCommand(strSQL2,con);cmd.Parameters.AddWithValue("@Size",txtSize.Text);cmd.Parameters.AddWithValue("@Zone",ddlZone.SelectedItem.Value);cmd.ExecuteNonQuery();Terminate();txtSize.Text="";txtStatus.Text="";txtTableNo.Text="";lblmsg1.Text="";lblmsg2.Text="";lblmsg3.Text="";}else{btnCancel.Enabled=true;btnNew.Enabled=false;//btnSearch.Enabled=true;btnUpdate.Enabled=true;btnUpdate.Text="Done";//ddlSearch.Enabled=false;ddlZone.Enabled=true;txtSize.Enabled=true;txtStatus.Enabled=true;txtTableNo.Enabled=false;btnDelete.Enabled=false;}}}
This part of coding is taking from the StaffTableMaintainace.cs. It show how Delete
Table working in the system.
protectedvoidPage_Load(objectsender,EventArgse){btnDelete.Attributes.Add("onclick","returnconfirm_delete()");
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 96
5. protectedvoidbtnDelete_Click1(objectsender,EventArgse)6. {7. 8. Initialize();9. 10. stringstrSQL2="DeleteFrom[Table]WhereTableNo
='"+txtTableNo.Text+"'";11. 12. SqlCommandcmd=newSqlCommand(strSQL2,con);13. 14. cmd.ExecuteNonQuery();15. 16. Terminate();17. 18. 19. btnCancel.Enabled=true;20. btnNew.Enabled=false;21. 22. btnUpdate.Enabled=false;23. btnSearch.Text="NewSearch";24. btnDelete.Text="Delete";25. btnDelete.Enabled=false;26. btnNew.Enabled=true;27. 28. ddlZone.Enabled=true;29. txtSize.Enabled=true;30. txtStatus.Enabled=false;31. txtTableNo.Enabled=false;32. txtSize.Text="";33. txtStatus.Text="";34. txtTableNo.Text="";35. 36. lblmsg1.Text="";37. lblmsg2.Text="";38. lblmsg3.Text="";39. 40. Terminate();41. lblmsg1.Text="DeleteSucessfully";42. 43. }
This part of coding is taking from the StaffTableMaintainace.aspx.cs. It show how
Delete Table working with c sharp to prompt up message working in the GUI
system.
functionwait(){if(confirm("Areyousureyouwanttodeletethisrecord?")==true)returntrue;elsereturnfalse;}
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 97
This part of coding is taking from the StaffTableMaintainace.aspx.cs. It show how
Add Table working in the system.
protectedvoidbtnNew_Click(objectsender,EventArgse){stringstrSQL2="Insertinto[Table](TableNo,Status,Zone,Size)values(@no,@st,@z,@s)";if(btnNew.Text=="New"){btnCancel.Enabled=true;btnNew.Enabled=true;btnUpdate.Enabled=false;btnNew.Text="Done";btnDelete.Enabled=false;ddlZone.Enabled=true;txtSize.Enabled=true;txtStatus.Enabled=true;txtTableNo.Enabled=true;btnSearch.Text="NewSearch";txtSize.Text="";txtStatus.Text="";txtTableNo.Text="";lblmsg1.Text="";lblmsg2.Text="";lblmsg3.Text="";}else{if(txtTableNo.Text==""){txtTableNo.Focus();lblmsg3.Text="*requirefill";}elseif(txtSize.Text==""){txtSize.Focus();lblmsg2.Text="*requirefill";}elseif(txtSize.Text==""||txtTableNo.Text==""){txtSize.Focus();lblmsg2.Text="*requirefill";txtTableNo.Focus();lblmsg3.Text="*requirefill";}elsetry{
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 98
Initialize();SqlCommandcmdSearch2=newSqlCommand(strSQL2,con);cmdSearch2.Parameters.AddWithValue("@no",txtTableNo.Text);cmdSearch2.Parameters.AddWithValue("@s",txtSize.Text);cmdSearch2.Parameters.AddWithValue("@z",ddlZone.SelectedItem.Value);cmdSearch2.Parameters.AddWithValue("@st","Available");cmdSearch2.ExecuteNonQuery();Terminate();txtTableNo.Enabled=false;txtSize.Enabled=false;btnNew.Text="New";txtSize.Text="";txtStatus.Text="";txtTableNo.Text="";lblmsg1.Text="Tablerecordisadded";lblmsg2.Text="";lblmsg3.Text="";}catch(Exceptionex){lblmsg1.Text="Thetableisalreadyexist.";}
This part of coding is taking from the StaffTableMaintainace.aspx. Below is GUI
code, by using ASP.net, this show how javascript of delete funtion working with
delete button in the system.
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 99
4.3.4 Reservation Module
This part of coding is taking from the Reservation.aspx.cs. It show how Function
call working in the system.
5. //Getmemberinformation6. 7. voidGetMemberInfo()8. {9. Initialize();10. ArrayListarrCollect=newArrayList();11. SqlDataAdapterdaHotel;12. DataSetdsHotel=newDataSet();13. 14. stringsqlHotel="selectMMobile,MIC,MFirstName,MLastName,
GenderfromMemberswhereMemberID='"+theMemberID+"'";15. daHotel=newSqlDataAdapter(sqlHotel,con);16. 17. daHotel.Fill(dsHotel,"Member");18. 19. foreach(DataRowrowindsHotel.Tables[0].Rows)20. {21. theMemberMobile=
dsHotel.Tables["Member"].Rows[0]["MMobile"].ToString();22. 23. theMemberIC=
dsHotel.Tables["Member"].Rows[0]["MIC"].ToString();24. theFirsName=
dsHotel.Tables["Member"].Rows[0]["MFirstName"].ToString();25. theLastName=
dsHotel.Tables["Member"].Rows[0]["MLastName"].ToString();26. theGender=
dsHotel.Tables["Member"].Rows[0]["Gender"].ToString();27. 28. }29. 30. }31. 32. //loadtableinformation,notmattertodaytableisreservedandnot
available33. voidReloadTableTable()34. {35. DateTimeGetToday=
DateTime.Parse(DateTime.Now.ToShortTimeString());36. SqlConnectionconNwind;37. SqlCommandcmdSelectEmployees;38. SqlDataReaderdtrEmployees;39. 40. stringconnStr=
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
41. conNwind=newSqlConnection(connStr);42. conNwind.Open();43. 44. 45. 46. cmdSelectEmployees=newSqlCommand("SELECTDISTINCTTableNo,Size,
Zone,Status,{fnCURDATE()}ASExpr1"+47. "FROM[Table]"+48. "WHERE(TableNoNOTIN"+
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 100
49. "(SELECTTableNo"+50. "FROMReserTableASReserTable_1"
+51. "WHERE(ResID='"+lblResID.Text+
"')))AND(TableNoNOTIN"+52. "(SELECTTable_1.TableNo"+53. "FROM[Table]ASTable_1INNER
JOIN"+54. "ReserTableON
Table_1.TableNo=ReserTable.TableNoINNERJOIN"+55. "ReservationON
ReserTable.ResID=Reservation.ResID"+56. "WHERE(Reservation.ResDate='"+
txtReserveDate.Text+"')AND(Reservation.ResTime
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 101
ReserTable.ResID=Reservation.ResID"+96. "WHERE(Reservation.ResDate='"+
txtReserveDate.Text+"')AND(Reservation.ResTime
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 102
152. 153. 154. if(Zone.Checked==true)155. 156. {157. if(chkSize.Checked==true)158. {159. OtherDayZoneSize();160. 161. }162. else163. 164. {165. OtherDayZone();166. }167. }168. elseif(chkSize.Checked==true&&Zone.Checked==
false)169. {170. OtherDaySize();171. 172. }173. 174. else175. {176. 177. ReloadTableTable();178. 179. }180. }181. 182. 183. }184. //loadtableinformation,baseontodayandzone(locationseat)185. voidTodayZone()186. {187. 188. 189. SqlConnectionconNwind;190. SqlCommandcmdSelectEmployees;191. SqlDataReaderdtrEmployees;192. 193. stringconnStr=
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
194. conNwind=newSqlConnection(connStr);195. conNwind.Open();196. 197. 198. 199. cmdSelectEmployees=newSqlCommand("SELECTDISTINCT
TableNo,Size,Zone,Status,{fnCURDATE()}ASExpr1"+200. "FROM[Table]"+201. "WHERE(TableNoNOTIN"+202. "(SELECTTableNo"+203. "FROMReserTableAS
ReserTable_1"+204. "WHERE(ResID='"+
lblResID.Text+"')))AND(TableNoNOTIN"+205. "(SELECTTable_1.TableNo"+206. "FROM[Table]ASTable_1
INNERJOIN"+
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 103
207. "ReserTableONTable_1.TableNo=ReserTable.TableNoINNERJOIN"+
208. "ReservationONReserTable.ResID=Reservation.ResID"+
209. "WHERE(Reservation.ResDate='"+txtReserveDate.Text+"')AND(Reservation.ResTime
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 104
254. "ReservationONReserTable.ResID=Reservation.ResID"+
255. "WHERE(Reservation.ResDate='"+txtReserveDate.Text+"')AND(Reservation.ResTime
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 105
ddlHours.SelectedItem.Value+"')))AND(TableNoNOTIN"+300. "(SELECTTableNo"+301. "FROM[Table]ASTable_2"
+302. "WHERE(Status='Not
Available')AND({fnNOW()}={fnNOW()})))And(Size='"+ddlSize.SelectedItem.Value+"')",conNwind);
303. 304. dtrEmployees=cmdSelectEmployees.ExecuteReader();305. 306. 307. GridView1.DataSourceID=null;308. GridView1.DataSource=dtrEmployees;309. GridView1.DataBind();310. 311. 312. dtrEmployees.Close();313. conNwind.Close();314. 315. Session["theRID"]=lblResID.Text;316. 317. 318. 319. }320. //loadtableinformation,butnottoday321. voidReloadTableTable322. voidOtherDaySize()323. {324. DateTimeGetToday=
DateTime.Parse(DateTime.Now.ToShortTimeString());325. SqlConnectionconNwind;326. SqlCommandcmdSelectEmployees;327. SqlDataReaderdtrEmployees;328. 329. stringconnStr=
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
330. conNwind=newSqlConnection(connStr);331. conNwind.Open();332. 333. 334. 335. cmdSelectEmployees=newSqlCommand("SELECTDISTINCT
TableNo,Size,Zone,Status,{fnCURDATE()}ASExpr1"+336. "FROM[Table]"+337. "WHERE(TableNoNOTIN"+338. "(SELECTTableNo"+339. "FROMReserTableAS
ReserTable_1"+340. "WHERE(ResID='"+
lblResID.Text+"')))AND(TableNoNOTIN"+341. "(SELECTTable_1.TableNo"+342. "FROM[Table]ASTable_1
INNERJOIN"+343. "ReserTable
ONTable_1.TableNo=ReserTable.TableNoINNERJOIN"+344. "Reservation
ONReserTable.ResID=Reservation.ResID"+345. "WHERE(Reservation.ResDate=
'"+txtReserveDate.Text+"')AND(Reservation.ResTime
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 106
346. 347. dtrEmployees=cmdSelectEmployees.ExecuteReader();348. 349. 350. GridView1.DataSourceID=null;351. GridView1.DataSource=dtrEmployees;352. GridView1.DataBind();353. 354. 355. dtrEmployees.Close();356. conNwind.Close();357. 358. Session["theRID"]=lblResID.Text;359. }360. 361. //loadtableinformationwithspecificdate,timeandtypeof
location362. voidOtherDayZone()363. {364. DateTimeGetToday=
DateTime.Parse(DateTime.Now.ToShortTimeString());365. SqlConnectionconNwind;366. SqlCommandcmdSelectEmployees;367. SqlDataReaderdtrEmployees;368. 369. stringconnStr=
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
370. conNwind=newSqlConnection(connStr);371. conNwind.Open();372. 373. 374. 375. cmdSelectEmployees=newSqlCommand("SELECTDISTINCT
TableNo,Size,Zone,Status,{fnCURDATE()}ASExpr1"+376. "FROM[Table]"+377. "WHERE(TableNoNOTIN"+378. "(SELECTTableNo"+379. "FROMReserTableAS
ReserTable_1"+380. "WHERE(ResID='"+
lblResID.Text+"')))AND(TableNoNOTIN"+381. "(SELECTTable_1.TableNo"+382. "FROM[Table]ASTable_1
INNERJOIN"+383. "ReserTable
ONTable_1.TableNo=ReserTable.TableNoINNERJOIN"+384. "Reservation
ONReserTable.ResID=Reservation.ResID"+385. "WHERE(Reservation.ResDate=
'"+txtReserveDate.Text+"')AND(Reservation.ResTime
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 107
395. dtrEmployees.Close();396. conNwind.Close();397. 398. Session["theRID"]=lblResID.Text;399. 400. }401. //loadtableinformationwithspecificdate,time,typeof
locationandnumberofseatd402. 403. 404. voidOtherDayZoneSize()405. {406. DateTimeGetToday=
DateTime.Parse(DateTime.Now.ToShortTimeString());407. SqlConnectionconNwind;408. SqlCommandcmdSelectEmployees;409. SqlDataReaderdtrEmployees;410. 411. stringconnStr=
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
412. conNwind=newSqlConnection(connStr);413. conNwind.Open();414. 415. 416. 417. cmdSelectEmployees=newSqlCommand("SELECTDISTINCT
TableNo,Size,Zone,Status,{fnCURDATE()}ASExpr1"+418. "FROM[Table]"+419. "WHERE(TableNoNOTIN"+420. "(SELECTTableNo"+421. "FROMReserTableAS
ReserTable_1"+422. "WHERE(ResID='"+
lblResID.Text+"')))AND(TableNoNOTIN"+423. "(SELECTTable_1.TableNo"+424. "FROM[Table]ASTable_1
INNERJOIN"+425. "ReserTable
ONTable_1.TableNo=ReserTable.TableNoINNERJOIN"+426. "Reservation
ONReserTable.ResID=Reservation.ResID"+427. "WHERE(Reservation.ResDate=
'"+txtReserveDate.Text+"')AND(Reservation.ResTime
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 108
This part of coding is taking from the Reservation.aspx.cs. It show how Add
Reservation working in the system.
protectedvoidbtnSelectDateTime_Click(objectsender,EventArgse){tbSearchTableResult.Visible=true;if(lblResID.Text==""){last=GetLastID();theResID=AutoGeneratedID(last);lblResID.Text=theResID;Session["theRID"]=lblResID.Text;DateValidation();SqlConnectionconNwind;stringconnStr=ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;conNwind=newSqlConnection(connStr);conNwind.Open();stringSql=("InsertIntoReservation(ResID,MemberID)"+"Values(@rid,@mid)");using(SqlCommandcmd=newSqlCommand(Sql,conNwind)){cmd.Parameters.AddWithValue("@rid",theResID);cmd.Parameters.AddWithValue("@mid",theMemberID);cmd.ExecuteNonQuery();Terminate();DateValidation();}}else{DateValidation();}}
-
Restaurant Management System Chapter 4 : Programming
Final Year Project 109
This part of codi