Professional Documents
Culture Documents
By
Project
ii
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.
constitutes a breach of College rules and regulations and would be subjected to disciplinary
actions.
_____________________________
Students Name: Law Chen Sheng
Programme: Advanced Diploma in Science (Business Information System)
Project
iii
Acknowledgement
The project success couldnt be achieved without help and encouragement from
various people that directly or indirectly involve in my project.
First and foremost, I am very grateful to my project supervisor, Ms. Tham Sin Seen,
who has continually been giving me the guidance, constant support, encouragement, and
recommendations necessary to ensure that I am always on the right track for this Final Year
Project.
Besides that, I would like to thank my Project team member, Loo Hai Chiang that
helps me out whenever I faced technical difficulties during the whole project progress.
Addition, I would like to thank all my course mates for sharing their precious knowledge and
experience, which helped tremendous during the overall project software development.
Furthermore, thanks to everyone else who has kindly shown their warm support during my
project development. This has been one of the important motivation factors that kept me
going on and striving harder.
Lastly, I would also like to thank my moderator, Ms. Kong Hooi Ming for her
suggestion and further ideas during the project testing. She has enabled me to further improve
the system and make it more feasible and usable in the real world.
Project
iv
Abstract
The purpose of Dine Cuiz Restaurant System is in partial of the requirement for
Bachelor of Science. For the main purpose of Dine Cuiz Restaurant System is to provide a
better experience of overall Restaurant management for Dine Cuiz Restaurant from the front
end Point of sales (POS), to backend management of the restaurant. Most of the restaurant
management system are mainly offline based and contain no other special features but only
POS. Dine Cuiz Restaurant System, not only provide POS, but Online Website, Online
supplier tendering, inventory control, staff maintenance and supplier management which is
all in one package for a restaurant.
Dine Cuiz Restaurant System is a full web based system, 8 main modules have been
implemented in the system. For the front end modules, which are Reservation Module, Order
Module, Payment Module and Table Management Module are handled by my another project
team member Loo Hai Chiang. Where for the Backend modules, contain Inventory Module,
Supplier Tendering Module, Backend Office Maintenance, and Security Module. The Front
end modules, which provide the most function of a POS and some customer web site function
such as reservation. While backend involve more in maintenance, inventory and supplier side
function.
The main development tool used in this project is Visual Studio 2010 and Microsoft
SQL Server 2008 for database. Visual Studio 2010 provides a much robust ASP.net
application development compare to other development tool. The methodology approach
used to accomplish project is using Waterfall Model which is very common in most project
software development. The development phase will be falling into these categories, which are
Analysis, Design, Implementation, Testing and Maintenance from the System Development
Life Cycle, and it is concurrent with the Waterfall model.
The system which is in full web based design developed to provide better experience
for the restaurant management and niches feature such as Tendering module where most of
the other restaurant system had never provided. The final product of the system outcome is
quite satisfying, workable and functional able. As the feature and business logic can be
further improve. Overall, the completion of this final year project has tremendously improved
my programming skill and learnt the important of user perspective, which are essential to
make a system useful and feasible in real world.
Project
Table of Contents
Dine Cuiz Restaurant System (Backend Modules) ....................................................................ii
Declaration ............................................................................................................................... iii
Acknowledgement .................................................................................................................... iv
Abstract ...................................................................................................................................... v
Chapter 1 Project Aims and objectives ...................................................................................... 9
1.1 Introduction .................................................................................................................... 10
1.2 Project Aims and Objectives .......................................................................................... 10
1.3 Summary ........................................................................................................................ 12
Chapter 2 Company Background and Project Scope ............................................................... 13
2.1 Introduction .................................................................................................................... 14
2.2 Company Background ................................................................................................... 14
2.3 Project Scope ................................................................................................................. 15
2.4 Summary ........................................................................................................................ 20
Chapter 3 Project Schedule and Methodology Used ............................................................... 21
3.1 Introduction .................................................................................................................... 22
3.2 Project Schedule............................................................................................................. 22
3.3 Methodology Used ......................................................................................................... 23
3.4 Development Environment ............................................................................................ 25
3.5 Operation Environment .................................................................................................. 26
3.6 Summary ........................................................................................................................ 26
Chapter 4 Linking with seminar .............................................................................................. 27
4.1 Introduction .................................................................................................................... 28
4.2 Linkage and Relationship with Seminar ........................................................................ 28
Chapter 5 Requirement Analysis ............................................................................................. 29
5.1 Introduction .................................................................................................................... 30
5.2 General Description ....................................................................................................... 30
Project
vi
Project
vii
Project
viii
Chapter 1
Project Aims and objectives
Project
1.1 Introduction
In this introductory chapter, project aims and objectives will be explained in detail.
This chapter will further discuss and explain the purposes of the system and the
objective of my project team to develop it.
The Dine Cuiz Restaurant System change the way of managing a restaurant for a
manager and staff. The system eases some daily management works effort of restaurant
such as reservation. System aided will enhance the way of managing inventory by just
few clicks away. Useful reports will be produced by the Dine Cuiz Restaurant system.
These reports help the restaurant manager to make critical decision in any moment.
Cost Reduction
Dine Cuiz Restaurant System able to automate most of the management in the
restaurant. An automation system mean able to greatly reduce the amount of paperwork
that required in the traditional management style in the restaurant. Plus it also able to
reduce number of staff, such as reduces number of front desk staff. Any other
management which include inventory, staff management, supplier management which
are also incurred cost and time can be greatly reduce as well.
Project
10
Competitive Advantages
The development of Dine Cuiz Restaurant System is to increase the restaurant
chances of survival and being competitive in the market. Provide online
reservation, niche features such as tendering that other restaurant that not able to
offer, combing with supplier management for lower procurement price.
Furthermore, better decision making by using the system, and also serve the
customers better.
Other project objectives would be the development process and project:
Analyzing the business requirement and choose appropriate development
methodology and design approach.
Obtain various resources from different area to collect actual fact that able
to aid the system development progress.
Design a highly user friendly system user interface for the end user.
To produce an effective that document progress, tasks and deliverables in
the project.
Perform evaluation for the completed project software by comparing
against the system requirement specification.
Follow the project schedule and complete the system before deadline.
Attempt to use the latest information technologies available in the market
to develop a sophisticated system.
Project
11
1.3 Summary
In this chapter, it show our main project aims and objectives regarding the final
project software and during the whole project development. Many efforts have been
poured in in order to success.
Project
12
Chapter 2
Company Background and
Project Scope
Project
13
2.1 Introduction
This chapter will be describing and discussing the detail about the company
background. The company history, company background, business nature, organization
size will be discussed. Furthermore, the project scope will be discussed as well to show
the actual final system size that being implemented.
Project
14
from an IT firm company to help the restaurant to implement their first computerized
management system. With this strategic decision, DINEcuiz Everyday Restaurant will
gain more market share in that area.
The main function of the new computerized system is able to improve the
overall current management style of the restaurant, hence is to increase the efficiency of
the restaurant operation. Functions such as order system, reservation, inventory control,
staff management, supplier management and so on will be included in the system. This
system will help DINEcuiz Everyday restaurant to survive in current situation and the
business will grow better in future.
Project
15
suppliers self-registration and self-update. For the Tendering Sub Module, it allow
supplier to create new Reverse Auction (Request for Quotation, RFQ) for the suppliers
to bid for particular item. The RFQ invitation can be public tender which is accessible
to every supplier registered at Dine Cuiz Restaurant System or it can be private tender
where only invited supplier able to bid for that product only. Next suppliers that
participate for the bidding event will send quotation to the particular product or item by
sending offering price. Tender monitoring sub-sub modules allow Admin to monitor the
current progress of all tenders. Lastly, Closing tender which provide the Admin whether
to award or disqualified the tender. While for Generate Tendering Report, Admin can
search up past completed tender auction and generate a useful report for that particular
bidding event.
Inventory Module contains 4 sub modules. When supplier send in new products
or items to the restaurant, Add New Inventory sub-module allow the admin to add in
and record down a new inventory item. Track vendor sub-module allows the Admin to
track down the supplier who sold their particular item or product to our restaurant.
Maintain inventory sub-module which allow the user to change some preference of the
item, and the quantity of the inventory can be updated. Lastly would be the Generate
Inventory Report which generates a report that indicates the low quantity level on hand
inventory.
Security Module handles all the security control in the Dine Cuiz Restaurant
System. Security Module contains 4 sub-module, POS (Point of sale) Login, Supplier
Login, Administration Login, and Public Website Login. POS Login and
Administration Login are closely related as it controls the access level between normal
restaurant staff and admin level staff to login into the system. Supplier Login controls
the access level to the Tendering module and provides the password recovery feature.
Public Website Login control the login credential to the Dine Cuiz website before
perform any action at the website. In the first login, it requires activation code to
activate the account and also allow the customer to recover their account password.
Project
16
These four modules, which are Backend Module as mention above will be in
charge by Law Chen Sheng. The four modules are Back End Office Module,
Supplier Tendering Module, Inventory Module and Security Module.
Project
17
The following 4 back end module hierarchy chart, are handled by Law Chen Sheng.
Project
18
Project
19
2.4 Summary
This chapter has described the company background in detail and the project
scope has been briefly explained as well. Dine Cuiz Restaurant System contains 8
modules, handle by 2 project member, each member handle 4 modules. Project scope
has shown clearly the functions by using hierarchical chart.
The front end modules will be handled by Loo Hai Chiang, and the Back End Modules
will be handled by Law Chen Sheng.
Project
20
Chapter 3
Project Schedule and
Methodology Used
Project
21
3.1 Introduction
This chapter will show and discuss about the project schedule. The project
schedule will show the timeline of this project. The methodology used for this project
will be discussed as well. Besides, development environment and operation
environment will be documented later.
Project
22
23
has shown to the client. Demonstration has shown and performs to the client to show
how the system flow actually runs. If there are any problems, the design will be
redefine and re-polish until it up to the user expectation. This stage takes quite a long
time, to make sure the design is solid and have minimum changes in future.
In implementation stage, programming code has started implemented into the system
design. After implementation have complete, the next one verification phase will be
proceeded. Repetitive debugging and self-testing has been done before final testing
done to the client. Our team main goal in this stage is to minimize the chances of
unexpected bugs that might occur during testing.
After testing and debugging has completed, future support will be provided such as
maintenance and future module or function upgrade.
The next approach is UML method that used to produce use case diagrams, class
diagram, activity diagrams and other related diagrams. The UML able to aid maintain
the logic flow of the program and easy to visualize systems architectural blueprints.
One of the advantages of UML is making the project more effective and efficient plus
with time and cost saving. After preparing several of UML diagrams, these able to
provide broader and better logic of the system. Furthermore, the UML models can
promote the success of future enhancement and development.
Project
24
Platform
Hardware
Database
Programming
ASP.NET C#
.NET
Software Tools
Languages
Technologies
Project
25
3.6 Summary
In this chapter, the project schedule is prepared using Microsoft Office Project
2010 and the operation diagram is created by using Microsoft Office Visio 2010. This
two software tools are very powerful and robust to create very useful, effective and easy
understandable diagram. These tools really help me save a lot of time compare to some
other software and diagramming tools.
Project
26
Chapter 4
Linking with seminar
Project
27
4.1 Introduction
This chapter will explain the linkage and relationship between the researched
Seminar and the software project of Dine Cuiz Restaurant System.
Project
28
Chapter 5
Requirement Analysis
Project
29
5.1 Introduction
This chapter will describe the system requirements that given by the end user so that the
system able to perform up to the user specification. Inside general description contain
product function, system information, and user problem and user objectives. Besides,
the external interface requirements, functional requirements and non-functional
requirements will be discuss as well.
This chapter will be follow by the system analysis which discusses sets of interacting
entities. System Analysis will include use case diagrams, use case description and
activity diagram. The diagrams mentioned will explain the 4 modules, Inventory
Module, Supplier Tendering Module, Security Module and Backend office maintenance
module which are the back end subsystem.
Project
30
Project
31
Project
32
Project
33
Project
34
Project
35
Inventory Module
o The Admin can add new inventory that records inventory name,
reference, total unit, unit measurement, reorder level, purchased date and
purchased from which supplier.
o Admin can track the vendor to determine the inventory purchased from
which supplier.
o Inventory records can be modified and update.
o Inventory module support quick item check-out and automatically reduce
the number of inventory.
o When the same inventory has been purchased, the amount of inventory
will be automatically sum up.
o Able to generate Inventory Report that indicates the Low Quantity On
Hand inventory.
Project
36
Security Module
o Control the access level between admin and normal staff.
o Control the suppliers access authorization to the tendering module.
o Control Administration Login.
o Control the Dine Cuiz Public Website access authorization.
o Provide password recovery feature for Supplier and Customer users.
Reservation Module
o Allow registered customer to make online reservation on Dine Cuiz
Website. Reservation confirmation ID will be given to the customer after
successful making a reservation.
o Reservation confirmation ID is provided, combine with date and
reservation session to search the reservation.
o Reservation can be added on site or in the Restaurant by using Walk-in
reservation feature.
o Generate Weekly Reservation Report.
Order Module
o Add new order by the customer.
o Able to show the order that is not paid yet.
o Generate Best-selling food report.
Payment Module
o Create bill payment.
o Print receipt for customer.
Project
37
Usability Requirements
o Useful and effective user manual must be provided.
o Minimum learning curve required for using the system.
o Standard and consistent systems Graphical User Interface for minimum
confusion during operate the system
o Meaningful HELP or ERROR message
o Strong business logic
Reliability Requirements
o System must be error free or bug free and minimum system failure
o System must be perform the service up to the system specification and
user requirement
o Systems web server must be 24/7 available except for maintenance
session.
Efficiency Requirements
o System able to perform transaction at very low response time.
Portability Requirements
o System able to be implemented on most Windows Operating System
o Support wide range of browser to operate the web based system.
Organization Requirements
Process Standard
o Final Report must define the development process clearly.
o Development of project is done stage by state
o Perform extensive researches and fact gathering before project
initialization.
Project
38
Implementation Requirement
o ASP.NET C# language will be the main programming language to
develop the system.
o Microsoft SQL Server 2008 will be served as a Database for the system.
o User Training and user guide is provided.
o Various Microsoft Office Products is used to complete the Project Final
Report.
External Requirements
Legislative Requirements
o The development tools that used to develop the system must be legit.
o System will not violate the Law of Malaysia.
Project
39
Figure 5.1 Overview Use Case Diagram of Dine Cuiz Restaurant System
Project
40
Project
41
Project
42
Project
43
Request
forgotten
password
<<extend>>
Change
password
Login as
supplier
Supplier
<<extend>>
<<extend>>
Login as
Administrator
Change
password
Admin
Login as normal
staff
Request
forgotten
password
<<extend>>
Staff
Login as
customer
<<extend>>
Change
password
<<extend>>
<<extend>>
Change secret
answer
Change secret
question
Project
44
Customer
Brief Description:
This use case enable Admin to Create new reverse auction, monitoring
reverse auction, cancel reverse auction, view closing tender, disqualify
tender, view tender history, generate Tender Log Report
Supplier able to enter Bid, view own bidding history and view
awarded auction
Actor
Admin, Supplier
Main Flow:
Actor Action
System Response
1. Display Admin Home Page
Project
45
If the sub module is View All Open Tender, the S-7 View All Open Tender sub flow is
performed.
If the sub module is Number of private tender, the S-8 Number of Private Tender sub flow is
performed.
If the sub module is Update Your Profile, the S-9 Update your profile sub flow is performed.
S-1 Request for tender
System will display a form for the admin to input the tender criteria. Admin will fill in the
required information and select Private or Public Tender. By pressing Upload button, System
will immediately verify the data entered and prompt out message indicated is uploaded
successfully.
Project
46
Project
47
Inventory Module
Brief Description:
This use case enable Admin to create new inventory, update inventory,
item taken out, and generate low inventory report, track supplier
Actor
Admin
Main Flow:
Actor Action
System Response
1. Display Admin Home Page
Low
Inventory
Item
Report,
Project
48
If the sub module is Add New Inventory, the S-2 Add New Inventory sub flow is performed.
If the sub module Item is Taken Out button, the S-3 Item Taken Out button sub flow is
performed.
If the sub module is Generate Low Inventory Item Report, the S-4 Generate Low Inventory
Item Report is performed.
If the sub module is Number Link Low Level Inventory, the S-5 Number Link Low Level
Inventory
S-1 View All Inventory
System will retrieve entire records of inventory from the database and populate into a data grid
table on page load. Admin can click Filter Low Inventory Level button to retrieve the
inventory that is lower than reorder level. The inventory record can be filter by Inventory
Number or Inventory Name. When Admin select a record and press Edit button, it will redirect
to a page and display that inventory record in detail.
When Admin press update inventory, edited field will be updated and prompt a successful
message.
When Admin Press Buy New Inventory, a panel will display, Admin need to enter buy in
Quantity, Date of purchased and bought from which supplier, and press Add Inventory button
and message will be prompt to indicate quantity has been added.
When Delete button is press, the inventory record will be deleted.
When Locate Supplier button is click, the page will redirect to a Supplier profile information
page.
Project
49
Alternative Flow:
A-1 step S-1 If the inventory number exist when Update inventory
-
A-3 step S-2 If the inventory number exist when Add New inventory
-
A-4 step S-3 If the item check-outs unit is more than the current level.
-
Display Inventory Level Too Low for the Item need to be taken!
Brief Description:
This use case enable Admin to register new staff, edit staff and delete
staff, search staff
Actor
Admin
Main Flow:
Actor Action
System Response
1. Display Admin Home Page
If the sub module selected is Add New Staff, the S-1 Add New Staff sub flow is performed.
If the sub module is Edit Staff, the S-2 Edit Staff sub flow is performed.
If the sub module Item is Search Staff, the S-3 Search Staff button sub flow is performed.
Project
50
Project
51
Brief Description:
This use case enable Admin to edit and delete existing supplier
Actor
Admin
Main Flow:
Actor Action
System Response
1. Display Admin Home Page
2. Admin
select
Tendering
Home
Page
If the sub module selected Search supplier, the S-1 Search supplier sub flow is performed.
If the sub module is edit supplier, the S-2 edit supplier sub flow is performed.
Alternative Flow:
Project
52
5.6.5
Use
Case
Description
of
Backend
office
module
Project
53
Brief Description:
Actor
Main Flow:
Actor Action
System Response
1. Display Public Home Page
3. Display
sub
module,
Login,
retrieve
password, register
4. Customer Select Registration
Project
54
5.6.6
Use
Case
Description
of
Backend
office
module
profile)
Brief Description:
This use case enable customer to update their profile after login
Actor
Customer
Main Flow:
Actor Action
System Response
1. Display Public Home Page
3. Display
sub
module,
Login,
retrieve
password, register
4. Customer Enter User ID and Password
5. System Validate User ID and Password
6. System display sub module Edit Profile,
Reservation, RewardPoint
5.6.7
Use
Case
Description
of
Backend
office
Project
55
module
Brief Description:
This use case enable customer to delete their profile after login
Actor
Customer
Main Flow:
Actor Action
System Response
1. Display Public Home Page
3. Display
sub
module,
Login,
retrieve
password, register
4. Customer Enter User ID and Password
5. System Validate User ID and Password
6. System display sub module Edit Profile,
Reservation, RewardPoint
5.6.8
Use
Case
Description
of
Backend
office
module
Brief Description:
Project
56
Actor
Customer
Main Flow:
Actor Action
System Response
1. Display Public Home Page
3. Display
sub
module,
Login,
retrieve
password, register
4. Customer Enter User ID and Password
5. System Validate User ID and Password
6. System display sub module Edit Profile,
Reservation, RewardPoint
Brief Description:
Actor
Admin
Main Flow:
Actor Action
Project
System Response
57
Brief Description:
This use case enable Admin or Staff Redeem Item for customer
Actor
Admin, Staff
Main Flow:
Actor Action
System Response
1. Display Admin Home Page
2. Admin
select
Customer
RewardPoint
Project
58
A-2 step S-2 If the total RewardPoint not enough for redeem
-
Project
59
Brief Description:
This use case show the logic flow of the first login
Actor
Customer
Main Flow:
Actor Action
System Response
1. Display Public Home Page
Enter
User
ID
and
Password
12. System Validate User ID and Password
13. Login into system
14. System display sub module Edit Profile,
Reservation, RewardPoint
Alternative Flow:
A-1 step 8 : If activation code incorrect
-
Project
60
Brief Description:
Actor
Customer
Main Flow:
Actor Action
System Response
1. Display Public Home Page
3. Display
sub
module,
Login,
retrieve
password, register
4. Customer select Password Retrieval
5. System redirect to password recovery page
Password
11. Password send to registered e-mail
Alternative Flow:
A-1 step 7 : If user ID not found
-
Brief Description:
Actor
Customer
Project
61
Main Flow:
Actor Action
System Response
1. Display Public Home Page
3. Display
sub
module,
Login,
retrieve
password, register
4. Customer Enter User ID and Password
5. System Validate User ID and Password
6. System display sub module Edit Profile,
Reservation, RewardPoint
A-2 step 11: If new password and confirm new password not match
-
Brief Description:
This use case show how the flow of supplier login and password
retrieval
Actor
Supplier
Main Flow:
Actor Action
System Response
1. Display Tender Public Home Page
Project
62
2. Display
login,
sub
module
Password
Recovery
If the sub module selected Supplier Login, the S-1 Supplier Login sub flow is performed.
If the sub module selected Password Recovery, the S-1 Password Recovery sub flow is
performed.
S-1 Supplier Login
Supplier enter User ID and Password
System validate User ID and Password
Supplier Login into the system and redirect to Tendering Home Page
Brief Description:
This use case enable customer change secret question and answer
Actor
Customer
Main Flow:
Actor Action
System Response
1. Display Public Home Page
3. Display
sub
module,
Login,
retrieve
password, register
4. Customer Enter User ID and Password
Project
63
9. Customer select New Secret Question 8. System Redirect to Edit Profile page
and Secret Answer
Project
64
Brief Description:
Actor
Staff, Admin
Main Flow:
Actor Action
System Response
1. Display Dine Cuiz Restaurant System Main
Page
2. Display staff login module
Alternative Flow:
A-1 step 4: If user ID not found
-
Project
65
System
Display
Request for Tender
form screen
Enter
Request for Tender
criteria
PrivateTender
PublicTender
[invalid]
[valid]
New Tender Created
And Uploaded
Figure 5.6 Activity Diagram of Supplier Tendering Module (Request for tender)
Project
66
Project
67
Project
68
System
PrivateTender
PublicTender
Retrieve active
Tender records based
on tender type
No
Yes
Figure 5.9 Activity Diagram of Supplier Tendering Module (View and cancel Reverse
Auction)
Project
69
Figure 5.10 Activity Diagram of Supplier Tendering Module (Generate Tender Log
Report)
Project
70
Register as new
supplier
System
Display
Register new Supplier
form
[invalid]
[valid]
Figure 5.11 Activity Diagram of Supplier Tendering Module (Register as new customer)
Project
71
Figure 5.11 Activity Diagram of Supplier Tendering Module (Register as new customer)
Project
72
System
View Staff
Filter by
Filterby
StaffUserID
Filterby
StaffName
Enter
Staff Name
Enter Staff
User ID
Nofilter
Display selected
Staff record
In detail
Further action
No
DeleteStaff
Updatestaff
[invalid]
[valid]
Figure 5.12 Activity Diagram of Backend Office Module (Search, Update and delete
Staff)
Project
73
Project
74
Project
75
Figure 5.15 Activity Diagram of Backend Office Module (Self update, delete customer)
Project
76
Figure 5.16 Activity Diagram of Backend Office Module (Admin edit, delete customer)
Project
77
Figure 5.17 Activity Diagram of Backend Office Module (Admin edit, delete customer)
Project
78
System
Display
Redeem Item main page
Redeem Item
Search User ID
[invalid]
Further action
No
[valid]
RedeemItem
Display list
Of redeemable item
Display
Redeemable Items
Require point
Select a
redeemable Item
Press Redeem
Validate Customer available
RewardPoints
Generate
Customers Reward Points
Report
[invalid]
Display Insufficient
RewardPoints
Enter Criteria
[enoughpoint]
Item Redeemed
Customer
RewardPoints Deducted
Project
79
Project
80
Project
81
Figure 5.21 Activity Diagram of Inventory Module (Quick Inventory Check Out)
Project
82
Figure 5.22 Activity Diagram of Inventory Module (Generate Low Level Inventory
Report)
Project
83
System
Change Password
[invalid]
[valid]
[invalid]
[valid]
Password updated
To the database
The password changer activity is almost the same for the supplier and staff. Therefore,
some activity password changer for the supplier and staff is skipped.
Project
84
Project
85
Project
86
Figure 5.26 Activity Diagram of Security Module (Staff Login Access Level)
Project
87
Project
88
5.8 Summary
This chapter has stated all the user requirements requested by the end user and the
requirements need to be following to ensure the final system able to meets the user
expectation. Where the user requirements require more effort or unable to deliver before
the deadline, the project scope will be narrow down.
One of the few problems during system development is regarding the non-functional
requirements, which is the Efficiency requirements, where the development
environment and the operation environment is vary, so the system efficiency and the
performance cannot be guaranteed.
Besides, many problems faced during producing the use case diagram and use case
description. By refer from online resources and recall what I learnt in the college, use
case diagram and use case descriptions problem solved but required longer time.
Most of the important major process of the system handle by Law Chen Sheng, has
explain in the activity diagram, while some minor and repetitive similar activities are
not explain.
Project
89
Chapter 6
Design
Project
90
6.1 Introduction
In this chapter, a final class diagram, sequence diagrams, some screen design and report
design of the overall system have been included. The Final Class Diagram has briefly
described the database of the system. While the sequence diagram has focus most of the
important system module and show the complexity of how a module or sub module
perform.
Project
91
Project
92
Sequence
Diagram
of
Supplier
Tendering
Module
Figure 6.2 Sequence Diagram of Supplier Tendering Module (Request for tender)
Project
93
6.3.2
Sequence
Diagram
of
Supplier
Tendering
Module
Figure 6.3 Sequence Diagram of Supplier Tendering Module (Request for Private
tender)
6.3.3
Sequence
Diagram
of
Supplier
Tendering
Module
Figure 6.4 Sequence Diagram of Supplier Tendering Module (Supplier Enter Bid)
Project
94
Project
95
6.3.5
Sequence
Diagram
of
Supplier
Tendering
Module
6.3.6
Sequence
Diagram
of
Supplier
Tendering
Module
(Register as supplier)
Project
96
Figure 6.8 Sequence Diagram of Supplier Tendering Module (Supplier Update Profile)
Figure 6.9 Sequence Diagram of Backend Office Module (Search, update and delete
staff)
Project
97
Figure 6.10 Sequence Diagram of Backend Office Module (Search, update and delete
staff)
Project
98
Figure 6.12 Sequence Diagram of Backend Office Module (Update customer profile)
Project
99
Project
100
6.3.13 Sequence diagram of Backend Office Module (Admin Edit or delete customer)
Figure 6.14 Sequence Diagram of Backend Office Module (Admin Update Delete
Customer)
Project
101
6.3.14
Sequence
diagram
of
Backend
Office
Module
Project
102
Project
103
Project
104
6.3.18
Sequence
Diagram
Inventory
Module
(Inventory
Project
105
Customer:Actor
:ChangePasswordControl
:ChangePasswordUI
:Security
1.StartInterface()
2.PromoptOld,New,ConfirmPassword
3.EnterOld,New,ConfirmPassword
4.VerifyEnteredPassword()
5.GetPassword()
OldNewPasswordMatch
6.UpdatePassword()
Project
106
Project
107
Data Type
Description
Key
staffId
nvarchar(50)
PK
userId
nvarchar(50)
securityId
nvarchar(50)
Name
nvarchar(50)
gender
nvarchar(50)
dateOfBirth
date
icNo
contactNo
nchar(50)
position
nchar(50)
salary
decimal(18,0)
street
nvarchar(255)
Part of address
city
nvarchar(50)
Part of address
state
nvarchar(50)
Part of address
postcode
FK
Data Type
Description
Key
supplierId
nvarchar(50)
PK
userId
nvarchar(50)
securityId
nvarchar(50)
Name
nvarchar(50)
tradingName
nvarchar(50)
registeredName
nvarchar(50)
regNumber
numeric(12,0)
phoneNo
numeric(18,0)
mobilePhoneNo
numeric(18,0)
Project
108
FK
faxNumber
numeric(18,0)
notificationBy
nvarchar(50)
branchName
nvarchar(50)
phoneOffice
numeric(18,0)
phoneFax
numeric(18,0)
branchEmail
nvarchar(50)
street
nvarchar(MAX)
Part of address
city
nvarchar(50)
Part of address
state
nvarchar(50)
Part of address
postalCode
numeric(18,0)
Part of address
Data Type
Description
Key
custId
nvarchar(50)
PK
userId
nvarchar(50)
securityId
nvarchar(50)
custName
nvarchar(100)
custIcNo
nvarchar(50)
dateOfBirth
date
gender
nvarchar(50)
custTelNo
numeric(18,0)
custMobileNo
numeric(18,0)
nvarchar(100)
street
nvarchar(255)
Part of address
city
nvarchar(50)
Part of address
state
nvarchar(50)
Part of address
postcode
numeric(18,0)
Part of address
accountStatus
nvarchar(50)
activationCode
nvarchar(50)
FK
account
points
float
redeemded
float
field
indicate
Customers
Project
109
redeemed
pointExpired
date
Data Type
Description
Key
securityId
nvarchar(50)
PK
accessLevel
nvarchar(50)
password
nvarchar(50)
users Password
secret_question
nvarchar(50)
secret_answer
nvarchar(50)
Data Type
Description
Key
redeemItemId
nvarchar(50)
PK
redeemItemName
nvarchar(250)
redeemPoint
float
Field Name
Data Type
Description
tenderId
nvarchar(50)
rfqRef
nvarchar(50)
Tender Reference
title
nvarchar(50)
Tender Title
unitMeasurement
nvarchar(50)
quantity
nvarchar(50)
Items quantity
description
nvarchar(MAX)
openDate
date
closeDate
date
Project
110
Key
lowestBid
float
startBid
float
Starting price
currentLowestBidderSuppID
nvarchar(50)
tenderType
nvarchar(50)
status
nvarchar(50)
PK
Data Type
Description
Key
tenderLogId
nvarchar(50)
Reference
nvarchar(50)
timeBid
time(7)
date
date
bids date
bidPrice
nvarchar(50)
supplierId
nvarchar(50)
Foreign
Supplier Table
Key
Data Type
Description
Key
tenderLogId
nvarchar(50)
Reference
nvarchar(50)
timeBid
time(7)
date
date
bids date
bidPrice
nvarchar(50)
supplierId
nvarchar(50)
Foreign
Supplier Table
Key
Project
111
Field Name
Data Type
Description
Key
inventoryId
nvarchar(50)
PK
inventoryNumber
nvarchar(50)
inventoryName
nvarchar(50)
inventoryDescription
nvarchar(255)
bids date
inventoryUnit
nvarchar(50)
totalUnit
numeric(18,0)
reorderLevel
numeric(18,0)
remark
nvarchar(255)
Inventory Remarks
supplierId
nvarchar(255)
purchasedDate
date
Project
112
Data Type
Description
Key
billNo
nvarchar(50)
PK
billDate
date
Bills date
totalAmount
nvarchar(50)
Bill Amount
tableNo
nvarchar(50)
billSession
nvarchar(50)
billLocation
nvarchar(50)
Indicate
the
Location
FK
of
restaurant
orderID
nvarchar(50)
billType
nvarchar(50)
stfID
nvarchar(50)
billTime
nvarchar(50)
FK
FK
Data Type
Description
Key
tableNo
nvarchar(50)
PK
tableStatus
nvarchar(50)
tableProperties
nvarchar(50)
Tables properties
Pax
int
stfName
nvarchar(50)
CommentOnStaff
nvarchar(50)
Project
113
Field Name
Data Type
Description
Key
foodID
nvarchar(50)
PK
foodName
nvarchar(50)
foodDescription
nvarchar(50)
foodPrice
int
foodQty
nvarchar(50)
foodCategory
nvarchar(50)
Data Type
Description
Key
reserverID
nvarchar(50)
PK
reserveDate
date
PK
reserveSession
nvarchar(50)
reserveTableNo
nvarchar(50)
custId
nvarchar(50)
Customer ID
confirmationID
nvarchar(50)
Reservation Confimration ID
staffId
nvarchar(50)
reserveType
nvarchar(50)
Type of reservation
tableID
nvarchar(50)
Reservations table ID
custName
nvarchar(50)
custPhone
nvarchar(50)
reserveChoice
nvarchar(50)
FK
FK
PK
Project
Data Type
Description
114
Key
tableID
nvarchar(50)
Table ID
tableSession
nvarchar(50)
Table session
tableLocation
nvarchar(50)
Table Location
noPerson
int
Number of person
tableNo
nvarchar(50)
PK
Data Type
Description
Key
orderID
nvarchar(50)
PK
orderDate
date
Ordering Date
orderLocation
nvarchar(50)
orderSession
nvarchar(50)
Ordering session
tableNo
nvarchar(50)
custID
nvarchar(50)
staffID
nvarchar(50)
ordTotalAmount
decimal(18,2)
ordStatus
nvarchar(50)
pax
int
number of diner/customer
Data Type
Description
Key
orderFoodID
nvarchar(50)
PK
itemQty
int
Project
115
itemName
nvarchar(50)
itemPrice
nvarchar(50)
foodID
nvarchar(50)
status
nvarchar(50)
orderID
nvarchar(50)
subtotal
nvarchar(50)
pax
int
number of diner/customer
FK
FK
Project
116
Project
117
Project
118
Project
119
Project
120
Project
121
The password changer module is located at the Customer Edit Profile page. The update
process is a separate process with the customer maintenance update profile.
Project
122
Figure 6.34 Backend inside main page (Administrator and Staff Login Page)
Project
123
Project
124
Project
125
Project
126
Project
127
Project
128
Figure 6.44 Supplier Tendering Admin Page (Tender History Sub Module)
Project
129
Project
130
Project
131
Project
132
Project
133
Project
134
Project
135
Project
136
Project
137
6.6 Summary
The biggest challenge in this chapter is designing the Final Class Diagram and the
Sequence Diagram. The first step of preparing Final Class Diagram is simple. By
creating a class for each table and include different attribute and operation into it, the
next one is the tough part. The relationship between the classes need to define carefully,
so only it can clearly explain the overall system database design and how the classes
interact with each other.
When developing the system, logic thinking is relatively simple, but when the
time of present the logic using the sequence diagram, it bring me to another level of
logical thinking. Without thinking more logically, the sequence diagram will not able to
represent the system design and logic sequence of most major modules and functions of
Dine Cuiz Restaurant System, in fact it might bring confusion for those who refer the
diagram.
Although the process of plan and thinking of how to present the diagram is
difficult, but once I got the concept, the drawing part using Microsoft Office Visio is
simple and efficient.
Project
138
Chapter 7
Programming
Project
139
7.1 Introduction
In this Programming chapter, it will cover the main programming language that
used to develop the system and various issue faced during the system development.
With the issue, the solution will be discuss and shown. Besides, some major techniques
and programming style will be discussed in this chapter.
Project
140
First define a date format, as shown above, dd/MM/yyyy, the DateTime now is in
MM/dd/yyyy format. Before inserting the value into the parameters query, force convert
the now date variable into the dd/MM/yyyy format.
For example, 25 March 2011
DateTime.Now now = 03/25/2011 force convert into dd/MM/yyyy
now = 25/03/2011
Project
141
From above, a date has retrieve from the database and force convert into a DateTime
format and store in a DateTime variable.
Current DateTime startDate variable value = dd/MM/yyyy h:mm:tt
Next step, the DateTime variable, e.g. startDate force convert into the defined format.
This will make sure the startDate is in dd/MM/yyyy format and display Date
correctly on the textbox.
Project
142
Project
143
To call the custIDMaintainence property, before that, we need to inherit the class. To
do so, inherit the PageBase class, as shown below.
namespace DineCuiz.Supplier_Tendering
{
public partial class frmCreateRA : PageBase
After that step, the custIDMaintainence property can be call. The session value inside
property can be retrieve or pass in new value. And so the value will be persistent when
goes through different pages/form in the system, until Session Timeout or the session
has been clear.
These few lines of codes are implemented in most of the form that involve database
transaction. Therefore, these few lines of codes are being used, so when a new page is
created, these codes will be inserted into the Form namespace. Next, the function of
Initialize() and Terminate() can be call for each Databases transaction.
Project
144
This technique greatly save the development time and make the system coding more
tidy and manageable.
Project
145
Project
146
The control can be used when the created control is inserted into a page. When that page
has load, the Security Control will be execute first and run the Page_Load and check the
loginAccessLevel. If the access level is not fit the criteria, session will be clear and
redirect to a page indicate unauthorized form.
From the figure 7.2, the security control contains User Interface that provide that
controllable by the user.
7.6 Summary
During the coding phase, many problems have encountered and countless time
had been spent to complete this system. The problem mentioned above, many efforts
have been poured in to solve the problem, by doing a lot of research and discuss with
the team member.
For some of the programming technique, some of the researched is done by
referring online resources and learnt during the industrial training. Well for some of the
other problems and features are solved by using own logic thinking skill.
The coding phase greatly improves my programming skill and enhances my
interest in programming study.
Project
147
Chapter 8
Software Testing
Project
148
8.1 Introduction
Software testing is a part of the system development process and it can be done at
the implementation and verification stage in the waterfall model process. In our system,
various testing process have been done to detect possible errors that might be faced by
end user. The testing of the system also ensures the integration of different modules to
ensure the system able to operate smoothly and enhance the overall system software
quality.
Project
149
Project
150
(GUID)
1b83c275-a60f-4e54-8878-
4dc688574eca
userId
Admin
securityId
(GUID)
81457701-c256-4c36-a5da-
5ef47100f4f3
Name
gender
Male
dateOfBirth
13/03/1989
icNo
890313075191
contactNo
0127158368
ryanlaw.cs@gmail.com
position
Admin
salary
3500
street
city
Setapak
state
Kuala Lumpur
postcode
53300
Security Table:
Project
151
securityId
(GUID)
81457701-c256-4c36-a5da-
5ef47100f4f3
accessLevel
Admin
Password
Admin
secret_question
None
secret_answer
None
Expected Result:
Login Successful and proceed to the Admin Administrator Model.
userId
Admin2
securityId
Name
gender
Male
dateOfBirth
18/02/1989
icNo
890218075191
contactNo
0163603137
jowieloo@gmail.com
position
Admin
salary
3500
street
city
Setapak
state
Kuala Lumpur
postcode
53300
PASSWORD
admin123
accessLevel
Admin
Project
152
userId
staff1
securityId
Name
Terry Lee
gender
Male
dateOfBirth
11/06/1989
icNo
890611015333
contactNo
0161234567
terryleecy@gmail.com
position
Cashier
salary
2000
street
city
Setapak
state
Kuala Lumpur
postcode
53300
password
cashier123
accessLevel
cashier
INV-TCM1
Item Name
Project
153
Description
Unit Measurement
Carton(24 cans)
Total Unit
50
Reorder Unit
25
Remark
Fast good
Purchased From
Farm Fresh
Purchased Date
25/02/2011
INV-VDN
Item Name
Description
Unit Measurement
Box(50 Packs)
Total Unit
150
Reorder Unit
60
Remark
Fast good
Purchased From
Purchased Date
25/02/2011
Project
154
Project
155
userId (Unique)
supplier1
tradingAs
Farm Fresh
registeredName (Unique)
Farm Fresh
regNumber
10005000
Rep Name
Ryan Law
Phone Number
0388997788
Fax Number
0388998888
Mobile Phone No
0127158368
ryanlaw.cs@gmail.com
Password
supp1
Branch Name
Farm Fresh
Phone Office
0388997788
Phone Fax
0388998888
ryanlaw.cs@gmail.com
street
Jalan TBR
city
Setapak
state
Kuala Lumpur
postcode
52300
Project
156
userId (Unique)
supplier2
tradingAs
Daily Freshness
registeredName
Daily Freshness
regNumber
50001000
Rep Name
Jonathan Kong
Phone Number
0172355555
Fax Number
072388888
0123123123
dfresh@gmail.com
Password
supp2
Branch Name
Daily Freshness
Phone Office
072355555
Phone Fax
072388888
dfresh@gmail.com
street
Jalan Langkawi
city
Cheras
state
Kuala Lumpur
postcode
50000
Project
157
userId (Unique)
supplier3
tradingAs
Ah Huat
registeredName
regNumber
88998899
Rep Name
Phone Number
0312345678
Fax Number
0312345677
0122398293
senghuat@gmail.com
Password
supp3
Branch Name
Phone Office
0312345678
Phone Fax
0312345677
senghuat@gmail.com
street
Jalan Manjalara
city
Kepong
state
Kuala Lumpur
postcode
52000
Project
158
Auction Type
Public
Quantity
Unit Measurement
Carton(24 cans)
Description
RFQ Reference
PUBTDR-TCM
Start Price
100
Supplier Invitation
Opening Date
18/02/2011
Closing Date
28/02/2011
Auction Type
Private
Quantity
Unit Measurement
Box (50Packs)
Description
RFQ Reference
PRITDR-VDN
Start Price
150
Supplier Invitation
Farm Fresh
Ah Huat Grocery Sdn Bhd
Opening Date
18/02/2011
Closing Date
28/02/2011
Fresh Chicken
Auction Type
Private
Project
159
Quantity
50
Unit Measurement
Description
RFQ Reference
PRITDR-FC
Start Price
500
Supplier Invitation
Farm Fresh
Daily Freshness
Opening Date
18/02/2011
Closing Date
28/02/2011
95
93.50
Project
160
90
87.50
84
80
140
130
127
125
123.50
500
480
450
400
300
Project
161
Project
162
ryanlawcs
Name
Gender
Male
IC Number
890313075191
Date of Birth
13/03/1989
Street
City
Setapak
State
Kuala Lumpur
Postal code
53300
Phone number
0127158368
0127158368
ryanlaw.cs@gmail.com
SECURITY
Secret Question
Secret Answer
Password
lawcs
Project
163
Point Required
Coffee Espresso
100
300
Point Required
Coffee Espresso
80
280
Redeem Item
o Expected Result:
Search for Customer User ID
Display Customer Name, points, redeemed points, and expiry date
Select Redeemable Item List
Select Chicken Chop Lunch and redeem point deducted
Produce Report Customer RewardPoint Report
o Enter total point (Optional)
o Enter redeemed point (Optional)
o Expected Result
Report Generated
8.4 Summary
In overall system development, most of the times were spent on the system testing.
The incorporation function with another project team members module is not an issue,
as we using Microsoft SourceSafe 2005 as a Software Configuration Management tools.
So most of the testing is done individually, and any critical bug and errors will be
discussed if any one of the team member unable to solve it. I learnt the important of
system testing, is to ensure able to provide good user experience for the end user, and
minimize the potential defects during the whole user testing.
Project
164
Chapter 9
Conclusion
Project
165
Project
166
Project
167
the restriction of programming skill I have. Therefore, certain modules logic flow was
redesign and re-plan without actually sacrificing the actual requirements of the system.
Project
168
this can be solved if the system is running on latest computer hardware available in the
market, where a major performance improvement will be noticeable.
Besides, the projects POS feature is not optimizing for touch screen as our project team
lack of actual hardware. Some of the modules user experience will be better with RFID
or barcode reader, the RFID technology and Barcode reader will decrease the
transaction time and increase the customer or end user satisfactory. These technologies
can even further decrease the operation costs of restaurant.
Project
169
Project
170
Project
171
References
Project
172
2011.
Available
from:
<http://csharp.net-informations.com/crystal-
reports/csharp-crystal-reports-sql-query.htm>.
Project
173
Appendices
Project
174
Figure A-1 Visual SourceSafe shown that 3 files has been check-out
The Microsoft Visual Studio 2010 project source file from different PC is connected to
the Visual SourceSafe Server from a PC. The next figure shown how it look when a
source file has been check-out in Visual Studio.
Project
175
Figure A-2 Visual Studio 2010 Files check out from the user
Figure A-3 Visual Studio 2010 Files check out in your Visual Studio Solution
Explorer
Project
176
Project
177
Project
178
3. After login, under the Object Explorer, right click on Databases and click
Attach as shown below.
Project
179
Project
180
To make sure you have successfully attached Dine Cuiz Restaurant Database, the figure
below has shown a sample of the Object Explorer, a DineCuiz.mdf has added in to the
Databases.
Project
181
Project
182
.
2. Change the Virtual Directory name to Dine-Cuiz, under Application Pool
select ASP.NET 4.0. Click Next to continue.
Project
183
3. Click Next to start the installation, and wait for installation to be complete
Project
184
Project
185
186
5. System will navigate to this page if the staff access level are Cashier/Waiter
Note *Admin accessible*
Navigate to Online
Reservation Page
187
Supplier
Registration
System Login
1. Enter User ID
2. Enter Password
3. Press Login button
a. System will notify if the User ID is not exist or the Password is not
correct
Supplier Password Recovery
1. Click here link
188
Supplier Registration
189
190
191
Tender open
and closing
192
Notes:
*Disqualified Tender record will still available. The records can be retrieved from the
View all tender history
* The awarded supplier will be notified through the suppliers registered offices e-mail.
193
List of tenders
To view tender in detail as shown below
194
195
196
Edit Inventory
and supplier
197
Customer RewardPoints
198
199