You are on page 1of 141

Canteen and Catering Management System Acknowledgement

C
C
a
a
n
n
t
t
e
e
e
e
n
n
a
a
n
n
d
d
C
C
a
a
t
t
e
e
r
r
i
i
n
n
g
g

M
M
a
a
n
n
a
a
g
g
e
e
m
m
e
e
n
n
t
t
S
S
y
y
s
s
t
t
e
e
m
m





By




ENG WEI SENG



























SCHOOL OF ARTS AND SCIENCE
TUNKU ABDUL RAHMAN COLLEGE
KUALA LUMPUR

ACADEMIC YEAR
2011/2012

Canteen and Catering Management System

Project
ii
C Ca an nt te ee en n a an nd d C Ca at te er ri in ng g M Ma an na ag ge em me en nt t S Sy ys st te em m

By

ENG WEI SENG


Supervisor: Ms. WONG YIN CHENG







A project report submitted to the School of Arts and Science
inpartial fulfillment of the requirement for the
Bachelor of Science, CampbellUniversity, U.S.A,
And
Advanced Diploma in Science.


Division of Computer Science
School of Arts and Science
TunkuAbdulRahmanCollege
Kuala Lumpur

2011/2012



Copyright 2008 by TunkuAbdulRahmanCollege.
All rights served. No part of this project documentation may be reproduced,
stored in retrieval system, or transmitted in any form or by any means without
prior permission of TunkuAbdulRahmanCollege.

Canteen and Catering Management System Declaration

Project
iii
D De ec cl la ar ra at ti io on n
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 :Eng Wei Seng
Course :Advanced Diploma Cum Bachelor in Science
(Information Systems Engineering)

Canteen and Catering Management System Abstract

Project
iv
A Ab bs st tr ra ac ct t
This project is carried out as a partial fulfillment of the requirement
forAdvanced Diploma in Science cum BS Degree (Information Systems Engineering) to
assess students skills and knowledge in systems engineering.
This project has 7 modules. There are ordering, staff maintenance, user
maintenance, food maintenance, catering management, restaurant management and
report generation. The project is developed using agile methodology and object
oriented approach is applied for the systems design. During system development,
Netbeans and Oracle 11g are used and the programming language is java. This project
has undergone several phases. There are planning analysis, design, development and
testing. First, in the planning of this project,project plan is written. Next, during analysis
stage, system requirements specification and activity diagram modeling the current
system are produced. In design stage, various UML diagrams such as use case diagram,
sequence diagram, class diagram and etc are drawn. As for the development stage,
several workable sub-modules are produced and when proceed to testing stage, the
status report for the test cases are generated. The assessment criteria used for this
project are project plan, requirement analysis, design, final software, system
implementation, system maintenance, project management, innovativeness and final
documentation. This systems major functions such as ordering and catering are
successfully delivered, but there are some of the proposed features failed to deliver,
such as using RFID for canteen order payment. Besides, some of the functions in this
system are rather general, not specific and detail. Nonetheless, this system is able to
allow canteen users make canteen order by choosing food image or using barcode
scanner. Other than that, this system allows user to retrieve their password through
security question of their choice.
In performing this project, the author has the opportunity to research and learn
new knowledge and skills in order to enhance this project or solve existing difficulties.
However, this project can be improved by integrating RFID feature in canteen order
payment and some of the functions can be enhanced by providing more and better
features such as enforcing due date in payment.
Canteen and Catering Management System Acknowledgement

A Ac ck kn no ow wl le ed dg ge em me en nt t
The author wishes to express his sincere gratitude to project supervisor, Ms.
Wong Yin Cheng, for her guidance, constant support and encouragement throughout
the completion of this final year project.Ms. Wong Yin Cheng has shared her in-depth
experience and knowledge as well as useful and practical suggestions and ideas in
helping the author to complete and improve his system.
A warm thank is extended to Mr. Lim Kar Hoe for sharing his resources,
opinions, knowledge, experience and skills in programming and development
methodology, so generously. The author would also like to personally thank his/her
family, friends in TAR College and his/her fellow course-mates who have one way or
another extended their assistance in completing this project.
Last, but not least, the author wishes to acknowledge the unwavering support
shown by Mr. Pay SikKok, and other Computer Division lecturers, such as Mr. Lee
Weng Ken.


Canteen and Catering Management System Table of Contents

Project
vii
T Ta ab bl le e o of f C Co on nt te en nt ts s
Canteen and Catering Management System Table of Contents

Project
viii

Declaration.............................................................................................................................. iii
Abstract .................................................................................................................................... iv
Acknowledgement .................................................................................................................... v
1. System Planning ................................................................................................................ 1
1.1 Introduction ........................................................................................................................... 1
1.2 Project Aims and Objectives ............................................................................................ 1 - 3
1.3 Project Scope ........................................................................................................................ 4
1.4 Project Schedule ................................................................................................................... 5
1.5 Project Team .................................................................................................................. 6 & 7
1.6 Development Environment ................................................................................................... 8
1.7 Operational Environment ...................................................................................................... 9
1.8 Outline of approach/Methodology Used ............................................................................. 10
1.9 Chapter Summary ............................................................................................................... 10
2. Requirements Analysis ................................................................................................... 11
2.1 Introduction ......................................................................................................................... 12
2.2 Fact Gathering..................................................................................................................... 12
2.3 Fact Recording ............................................................................................................. 13 - 34
2.4 System Requirement Specifications ............................................................................ 35 - 55
2.5 Chapter Summary ............................................................................................................... 56
3. System Design .................................................................................................................. 57
3.1 Introduction ......................................................................................................................... 58
3.2 System Design ............................................................................................................. 58 - 68
3.3 Screen or Interface Design ........................................................................................... 69 - 75
3.4 Database Design .......................................................................................................... 76 - 84
3.5 Report Format .............................................................................................................. 85 - 86
3.6 Chapter Summary ............................................................................................................... 87
4. Programming ................................................................................................................... 88
4.1 Introduction ......................................................................................................................... 89
4.2 Programming Tools ................................................................................................... 89 & 90
4.3 Programming Structure ................................................................................................ 90 - 92
4.4 Chapter Summary ............................................................................................................... 93
5. Software Testing .............................................................................................................. 94
5.1 Introduction ......................................................................................................................... 95
5.2 Test Process ............................................................................................................... 95 & 96
5.3 Test Techniques .................................................................................................................. 97
5.4 Test Specifications ..................................................................................................... 98 - 107
5.5 Chapter Summary ............................................................................................................. 108







Canteen and Catering Management System Table of Contents

Project
ix
6. Conclusion ...................................................................................................................... 109
6.1 Introduction ....................................................................................................................... 110
6.2 Link to Seminar ................................................................................................................ 110
6.3 Project Management Issues .............................................................................................. 111
6.4 Evaluate Project against Objective ................................................................................... 112
6.5 Evaluate Project against Strength and Weakness ............................................................. 113
6.6 Suggestion Future Improvement of the Project ................................................................ 114
6.7 Personal Reflection ................................................................................................ 115 & 116
7. References ...................................................................................................................... 117
8. User Guide ........................................................................................................... 118 - 133




















Canteen & Catering Management System Chapter 1 :System Planning

Project 1









Chapter 1

System Planning

Canteen & Catering Management System Chapter 1 :System Planning

Project 2
S Sy ys st te em m P Pl la an nn ni in ng g
1.1 Introduction
This chapter mainly discusses about the aspects in system planning. First and
foremost, the aims and objectives to be attained throughout the whole project life cycle. Next,
the project scope as well as the project schedule defined the development and operational
environment in which this project will take place and lastly the methodology adopted in
developing this project.
1.2 Project Aims and Objectives

1.2.1 Efficiency Improvement
This system can increase the efficiency of daily business transactions performed in the
canteen by computerizing the entire current system. With this new computerized system,
many of the existing business processes such as total calculation, orders taking are done with
the aid of computer. This not only can save time, but it is also error-free provided given the
correct input.

1.2.2 Sales Improvement
This new system can bring greater profit for canteen as it can enhance the efficiency of the
daily business processes, generate useful reports which aid in decision making, and so on.
The current business processes can be speed up and done accurately by upgrading it to
computerized system. Thus, more businesses can be supported at one time and a direct rise in
canteen sales could be anticipated. Besides, this system also could produce some useful
reports such as order by restaurant report or any user-defined report that could help or guide
the canteen to make the correct decision to improve the canteens business.

1.2.3 Business Expansion
A computerized system is the basis of any large business as it can accommodate numerous of
businesses a large company has. With this computerized system, canteen business can be
expanded exponentially since it can cope with gradually increased business transactions in
future by speed up daily business processes and also achieve higher throughput of business
Canteen & Catering Management System Chapter 1 :System Planning

Project 3
transaction. In addition, this system can be designed in such way that it is scalable to cater the
company future growth.

1.2.4 Better User Experience
This system provides a convenience and unambiguous way of using and so makes the system
more user-friendly. The system interface will be designed to meet users expectations by
basing on necessary user interface design principles such as consistency, recoverability, user
familiarity and so on. Therefore, users are able to fully grasp the use of this system with
minimal effort and time spent.
























Canteen & Catering Management System Chapter 1 :System Planning

F
i
g
u
r
e

1
.
3
.
0
.
1

T
h
e

H
i
e
r
a
r
c
h
i
c
a
l

C
h
a
r
t

o
f

t
h
e

p
r
o
j
e
c
t

s
c
o
p
e

1.3 Project Scope


Canteen & Catering Management System Chapter 1 :System Planning

1.4 Project Schedule

Canteen & Catering Management System Chapter 1 :System Planning

Project 6
1.5 Project Team

No. Tasks Team Member
1. Report Module
Restaurant Menu Report
Restaurant Sales Report
Contract Expiry Report
Contract Due Payment Report
Print Report

Pay SikKok
Eng Wei Seng
Eng Wei Seng
Pay SikKok
Pay SikKok
1. Order Management Module
Order maintenance (cancel order)
o Ordering by Barcode
o Ordering by Pictures
Total Calculation
Order Sequencing

Eng Wei Seng
Pay SikKok
Eng Wei Seng
Eng Wei Seng
Eng Wei Seng
2. Staff Maintenance Module Pay SikKok
3. Restaurant Maintenance Module
Restaurant Registration
o Ordering by Barcode
Edit, Delete Restaurant
Contract Maintenance (Add, Edit, Delete)
o Expiry Check
o Execute Contract
Payment Maintenance (Add, Delete)
o Post Payment
o Partial Payment

Eng Wei Seng
Pay SikKok
Eng Wei Seng
Eng Wei Seng
Eng Wei Seng
Eng Wei Seng
Pay SikKok&Eng Wei Seng
Pay SikKok&Eng Wei Seng
Pay SikKok&Eng Wei Seng







Canteen & Catering Management System Chapter 1 :System Planning

Project 7
<Continued>
No. Tasks Team Member
5. Catering Maintenance Module
Customer Maintenance (Add, Edit, Delete)
Order Maintenance
o Complete Order
o Edit, Cancel Order
Total Calculation
Payment Maintenance (Add, Delete)
o Partial Payment Tracking
o Post Payment

Eng Wei Seng
Eng Wei Seng
Eng Wei Seng
Eng Wei Seng
Eng Wei Seng
Pay SikKok&Eng Wei Seng
Pay SikKok&Eng Wei Seng
Pay SikKok&Eng Wei Seng
6. User Maintenance Module
Edit Password
Password Recovery
o Send Email (Login Forget Password)

Pay SikKok
Pay SikKok
Pay SikKok
7. Food Maintenance Module Eng Wei Seng
8. Barcode Generator Module Pay SikKok














Canteen & Catering Management System Chapter 1 :System Planning

Project 8
1.6 Development Environment

This system will be developed by using specific hardware, software, programming languages
and other resources are declared as follows:-












Type of resources Specification
Software NetBeans IDE 6.9.1 and above
o (use for coding and its more familiar for own use)
J ava SE Development Kit 6 Update 24
o (machine independent)
Microsoft Word 2007/10
o (use for documentation and for jotting notes purposes)
Microsoft Project 2010
o (use for drawing Gantt chart)
Oracle 10g and above
o (database uses for get and retrieve data)
Windows 7
Rational Software Architect (IBM)
o (Use for activity, use-case, and class diagrams and so on)
Hardware Laptop
Intel Core i5 CPU 2.40GHz
2.00 GB RAM
64-bit Operating
Barcode Scanner (Symbol OPOS Driver v3.31.0001)
Use for food ordering.
Programming
Language
J ava(open source in J2EE Frameworks UML & Modeling)
Database Oracle(includes many versions to the ANSI/ISO standard SQL
language and Oracle tools and applications provide additional
commands.)
Canteen & Catering Management System Chapter 1 :System Planning

1.7 Operational Environment

Qty. Hardware Descriptions Software Descriptions
2 Switches connects network segments Oracle 10g database
1 Router Setting up the control of
both LANs to separate them
and provide communication
with internet.
Windows XP and newer platforms,
LINUX, these2 platforms
are able to run the Omron
RFID system V720 series
with each PC.
1 Telephone mainly for catering and
suppliers purposes
Firewall Restrict blocks
unauthorized access
1 Printer generates reports use
1 Database
Server
Concerning on processing
data [storing and providing
access]

1 Barcode
Scanner
It uses in canteen ordering







Canteen & Catering Management System Chapter 1 :System Planning

Project 10
1.8 Outline of approach/Methodology Used
This project is developed using Agile methodology. Agile methodology emphasizes
lightweight processes and is suitable for project team in small size. It has 4 values and 12
principles to achieve and follow in order to improve software development process and to
produce better software.(Beedle, Bennekum, Cockburn, Cunningham, Fowler, Highsmith,
Hunt, J effries, Kern, Marick, Martin, Schwaber, Sutherland and Thomas 2001)
To practically attain those agile values and principles, Extreme Programming has
been chosen out of the various variations of agile methodology. Extreme Programming has
12 technical practices which are consolidating each other such as refactoring, small release,
continuous integration and etc. Throughout the development of this project, these practices
are applied simultaneously or individually.(Beck 1999)
Fernandez and Fernandez (2008) claim that Agile methodology can help the project
team to response to changes encountered even in the later stage of the project development
life cycle with its incremental and iterative characteristic. As a result, the projects scope can
be properly managed. Besides, S. B. Patil, SrikanthaRao and P. S. Patil (2011) also note that
Agile methodology can reduce a projects chances of failure by continuously deliver small
but functional subsystems.

1.9 Chapter Summary
While planning for this system, the project team has come across several
complications. The significant hindrance would be the definition of the project scope. Due to
inexperience, the project team cannot determine the project structure whether it is suitable,
complete and within ability. Therefore, to properly outline the project structure, the project
team has consulted with the project supervisor and after a few discussions, the project scope
has appropriately sketched.






Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 11









Chapter 2

Requirements Analysis



Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 12
R Re eq qu ui ir re em me en nt ts s A An na al ly ys si is s
2.1 Introduction
This chapter describes the process of system requirements gathering and analysis as
well as its produced deliverables. Throughout the whole chapter, the fact gathering
techniques such as interview and observation and the fact recording techniques such as
activity diagram and use case diagram used in this project are discussed. Finally, system
requirements specification, the outcome of fact analysis is also attached.
2.2 Fact Gathering
To collect requirements of the systems, a few techniques and methods has been adopted
in this project:
2.1.1 Interview
On March 8
th
2011 3.00 p.m., a few students fromTunku Abdul Rahman College has
been selected for conducting a face-to-face interviewabout half an hourfortheir opinions
and suggestions of their expectedcanteen systems ordering features. Firstly, the
interviewees were briefed about the purpose and objectives of the interview. Next, based
on the assumption that the college canteen will be upgraded to computerized system, a
few questions were asked such as the functional expectations of the new system ordering
feature.On the same day, a few canteen staff were also been interviewed on the same
premises as the student but only from their own perspectives and it is regarding the
canteen systems as a whole. Therefore, the questions were more comprehensive and
detail such as the desired user interface, the expected output message, the functional
requirements of the new system, and etc.
2.1.2 Observation
The subject of observation was canteen in Tunku Abdul Rahman College. Throughout
the first two weeks in March 2011, Tunku Abdul Rahman College canteen daily business
transactions were observed and documented. The processes involve canteen and catering
ordering, payment in canteen and catering business, customer details recording in
catering business, restaurant registration and withdrawal and etc.
Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 13
2.3 Fact Recording
2.3.1 Activity Diagram


Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 14


Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 15


Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 16


Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 17


Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 18


Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 19


Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 20






Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 21
2.3.2 Use Case Diagram

Figure 2.3.2.1 Overview Use Case Diagram

Figure 2.3.2.2 Maintain Food Case Diagram

Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 22
Use Case Description for Maintain Food
Use case name Maintain Food
Brief Description This use case enables the staff to add a new food, edit existing food
details and delete an existing food.
Actor Staff
Main Flow:
Actor Action System Responses
1. Display Main Menu
2. Staff selects Food Management 3. Display sub menu: Add Food, Edit
Food, DeleteFood.
If Add Foodis selected, the S-1: Add Foodsubflow is performed.
If Edit Foodis selected, the S-2: Edit Foodsubflow is performed.
If Delete Food is selected, the S-3: Delete Foodsubflow is performed.
Subflows:
S-1: Add Food
System will display a food details form of which the staff will enter the food details into.
System will verify the input information and if it is valid, system will then save this food
information into database.
S-2: Edit Food
Search Food use case will be executed first. Second, staff will amend some of the food details
with the latest information of the food and the system will validate it. In the end, the system
will save the updated food details into the database.
S-3: Cancel Food
System will carry out Search Food use case first. Next, staff will click the delete button to
delete the food. System will prompt a message ask for confirmation. Staff will choose
confirm and the system will delete the food from database.

Alternative flows:
A-1 Step S-1: If the input data is invalid
-System will display error message

A-2 Step S-2: If the data entered is invalid
-System will prompt error message
A-3 Step S-3: If staff chooses not confirm to delete food
-System will not delete food

Use case name Search Food
Brief Description This use case enables the staff to find a foods information.
Actor staff
Main Flow:
Actor Action System Responses
1. Staff will enter the food id 2. System will verify the food id
3. System will display the food
details.
Alternative Flows:
A-1 Step 2: If the food id could not be found in database
-System will print an error message




Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 23


Use Case Description for Manage Report
Use case name Manage report
Brief Description This use case allows the staff to generate and printreports.
Actor Staff
Main Flow:
Actor Action System Responses
1. Display Main Menu
2. Staff selects Report Management 3. Display sub menu: Due Payment
Report, Restaurant Menu Report
Restaurant Sales Report,Contract
Expiry Report

If Restaurant Sales Report is selected, the S-1: Restaurant SalesReport subflow is performed.
If Contract ExpiryReport is selected, the S-2: Contract ExpiryReport subflow is performed.
For use case description of Due Payment Report and Restaurant Menu Report,please kindly
Refer it from the use case description done by teammate.
Subflows:
S-1: Restaurant Sales Report
System will show a few fields for the staff to enter certain parameters to generate Restaurant
Sales Report. System will verify the input and if it is true, system will then create the report
based on the parameters provided.
S-2: Contract ExpiryReport
Certain fields will be displayed by the system and the staff can key in some parameters to
generate Contract Expiry report. A validation check will be carried out by the system to
validate the inputs. After that, according to the parameters given, system will generate the
corresponding report.


Alternative flows:
A-1 Step S-1: If the input data is invalid
-System will display error message
A-2 Step S-1: If the staff clicks print report button
-Print Order by Restaurant Report use case will be executed.
A-4 Step S-2: If the parameter input is incorrect
-System will prompt error message
Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 24
A-5 Step S-2: If the staff clicks print report button
-Print Sales Report use case will be carried out.



Use case name Print Restaurant Sales Report
Brief Description This use case allows the staff to print Restaurant Sales report.
Actor Staff
Main Flow:
System will print this Restaurant Sales report.



Use case name Print Contract Expiry Report
Brief Description This use case allows the staff to print Contract Expiry report.
Actor Staff
Main Flow:
System will print this Contract Expiry report.





Use Case Description for Manage Payment
Use case name Manage payment
Brief Description This use case allows the staff to record and track payments.
Actor Business Partner, staff
Main Flow:
Actor Action System Responses
1. Display Main Menu
2. Staff selects Payment Management 3. Display sub menu: Add Payment,
Cancel Payment, Post Payment and
Search Payment
Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 25
If Add Payment is selected, the S-1: Add Payment subflow is performed.
If SearchPayment is selected, the S-2: SearchPayment subflow is performed.
If Cancel Payment is selected, the S-3: Cancel Payment subflow is performed.
Subflows:
S-1: Add Payment
A data entry form will be showed by the system for the staff to input the paymentdetails. The
input information will be validated by the system and if it is legitimate, the system will store
this paymentinformation into the database.
S-2: SearchPayment
Staff will key in the payment id and the system will validate the input. If the input is correct,
the system will search for this payment in the database and display its details on screen.
S-3: Cancel Payment

Alternative flows:
A-1 Step S-1: If the input data is invalid
-System will display error message.
A-2 Step S-2: If the payment id could not be found in database
-System will prompt error message.






























Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 26
Use Case Description for Manage Contract
Use case name Manage contract
Brief Description This use case enables the staff to add a new contract, edit existing
contract details and terminate an existing contract.
Actor Business Partner, staff
Main Flow:
Actor Action System Responses
1. Display Main Menu
2. Staff selects Contract Management 3. Display sub menu: Add Contract, Edit
Contract,Cancel Contract and Execute
Contract.
If Add Contract is selected, the S-1: Add Contract subflow is performed.
If Edit Contract is selected, the S-2: Edit Contract subflow is performed.
If Cancel Contract is selected, the S-3: CancelContract subflow is performed.
If Execute Contract is selected, the S-4: Execute Contract subflow is performed.
Subflows:
S-1: Add Contract
A data entry form will be showed by the system for the staff to input the contractdetails. The
input information will be validated by the system and if it is legitimate, the system will store
this contractinformation into the database
S-2: Edit Contract
System will carry out Search Contract use case first. Second, staff will modify some of the
contract details based on the agreement between canteen and its partner. The system will
verify the amendment done. In the end, the system will save the updated contract details into
the database.
S-3: Cancel Contract
System will carry out Search Contract use case first. Next, staff will click the delete button to
delete the contract. System will prompt a message ask for confirmation. Staff will choose
confirm and the system will delete the contract from database.

S-4: Execute Contract
System will carry out Search Contract use case first. Next, staff will click the put effective
button to execute the contract. System will prompt a message ask for confirmation. Staff will
choose confirm and the system will execute the contract and cannot be edited or cancelled
thereafter.

Alternative flows:
A-1 Step S-1: If the input data is invalid
-System will display error message

A-2 Step S-2: If the data entered is invalid
-System will prompt error message
A-3 Step S-3: If staff chooses not confirm to delete contract
-System will not delete contract
A-4 Step S-4: If staff chooses not confirm to execute contract
-System will not execute contract

Use case name Search Contract
Brief Description This use case enables the staff to find a contracts information.
Actor staff
Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 27
Main Flow:
Actor Action System Responses
1. Staff will enter the contract id 2. System will verify the contract id
3. System will display the contract
details.
Alternative Flows:
A-1 Step 2: If the contract id could not be found in database
-System will print an error message



Use Case Description for Manage Catering
Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 28
Use case name Manage catering
Brief Description This use case enables the canteen to perform catering business. It
allows staff to maintain customer, manage order and its payment.
Actor Customer, staff
Main Flow:
Actor Action System Responses
1. Display Main Menu
2. Staff selects Catering Maintenance 3. Display sub menu: Maintain
Customer, Maintain Order,
Manage Payment.
3. Staff clicks an option 4. Display sub menus for the
selected option. (Register
Customer, Edit Customer,
Delete Customer for Maintain
Order. Make Order, Change
Order, Cancel Order and Complete
Order for Maintain Order.)
If Register Customer of Maintain Customer is selected, the S-1: Register Customer subflow is
performed.
If Edit Customer of Maintain Customer is selected, the S-2: Edit Customer subflow is
performed.
If Delete Customer of Maintain Customer is selected, the S-3: Discontinue Customer subflow
is performed.
If Make Order of Maintain Order is selected, the S-4: Make Order subflow is performed.
If Change Order of Maintain Order is selected, the S-5: Change Order subflow is performed.
If Cancel Order of Maintain Order is selected, the S-6: Cancel Order subflow is performed.
If Complete Order of Maintain Order is selected, the S-7: Complete Order subflow is
performed.
For use case description of Manage Payment, please kindly refer it from detail use case for
Manage Payment.
Subflows:
S-1: Register Customer
System will display a customerregistration form for the staff to enter the
cateringcustomerinformation. System will verify the input information and if it is valid,
system will then add this customer information into database.
S-2: Edit Customer
Search Customer use case will be executed first. Next, staff will change some of the customer
details according to customers will and the system will validate it. Finally, the system will
save the updated customerdetails.
S-3: Delete Customer
Search Customer use case will be executed first. Then, staff will press the delete button in
order to delete the customer. Before delete, system will print a confirmation dialog. Staff will
click confirm button and the system will delete the customer from database.
S-4: Make Order
System will display a window which contains a form and the staff will ask the catering order
details from customer. After that, staff will enter the order details into the form and the
system will validate the entered order details. Next, system will perform the Calculate Total
use case. Then, the system will store this order into database.
S-5: Change Order
Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 29
Search Order use case will be executed first. Second, staff will ask customer the change of
order details and then staff will edit the order accordingly. System will verify the
modification and update the database. Besides, Calculate Total use case will be carried out to
recalculate the total amount of the order.
S-6: Cancel Order
Search Order use case will be executed first. Second, staff will ask customer for confirmation
of order cancellation. Then, staff will click the delete button to delete the order. System will
prompt a message ask for confirmation. Staff will choose confirm and the system will delete
the order from database.
S-7 Complete Order
System will execute the Search Order use case first. Then, the staff will select the completed
status from the order status drop down list. Next the staff will click the save button to mark
this order as completed and the system will update the corresponding record.
Alternative flows:
A-1 Step S-1: If the input data is invalid
-System will display error message
A-2 Step S-2: If the data entered is invalid
-System will prompt error message
A-3 Step S-3: If staff chooses not confirm to delete customer
-System will not delete customer

A-1 Step S-4: If the input data is invalid
-System will display error message

A-2 Step S-5: If the data entered is invalid
-System will prompt error message

A-3 Step S-6: If staff chooses not confirm to cancelorder
-System will not delete order


Use case name Search Customer
Brief Description This use case enables the staff to find a catering customers
information.
Actor staff
Main Flow:
Actor Action System Responses
1. Staff will enter the customer id 2. System will verify the customer id
3. System will display the customer
details.
Alternative Flows:
A-1 Step 2: If the customer id could not be located in database
-System will print an error message








Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 30
Use case name Calculate total
Brief Description This use case is to calculate the total payment for a catering order.
Main Flow System will first retrieve the price of the food and calculate every
lines total of a catering order by multiply the foods price with
respective order lines quantity. After that, system will calculate the
total payment of a catering order by accumulating every order line
total.





Use Case Description for Maintain Restaurant
Use case name Maintain restaurant
Brief Description This use case enables the staff to register a new restaurant, edit existing
restaurant information and Discontinue an existing restaurant.
Actor Restaurant, staff
Main Flow:
Actor Action System Responses
1. Display Main Menu
2. Staff selects Restaurant Maintenance 3. Display sub menu: Register
Restaurant, Edit Restaurant,
Discontinue Restaurant.
If Register Restaurant is selected, the S-1: Register Restaurant subflow is performed.
If Edit Restaurant is selected, the S-2: Edit Restaurant subflow is performed.
If Discontinue Restaurant is selected, the S-3: Discontinue Restaurant subflow is performed.


Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 31
Subflows:
S-1: Register Restaurant
System will display a restaurant registration form of which the staff will enter the restaurant
details into. System will verify the input information and if it is valid, system will then save
this restaurant information into database
S-2: Edit Restaurant
Search Restaurant use case will be executed first. Second, staff will amend some of the
restaurant details based on the latest information that the restaurant given and the system will
validate it. In the end, the system will save the updated restaurant details into the database.
S-3: Discontinue Restaurant
Search Restaurant use case will be executed first. Then, staff will click the delete button to
delete the restaurant. System will prompt a message ask for confirmation. Staff will choose
confirm and the system will delete the restaurant from database.
Alternative flows:
A-1 Step S-1: If the input data is invalid
-System will display error message

A-2 Step S-2: If the data entered is invalid
-System will prompt error message
A-3 Step S-3: If staff chooses not confirm to delete restaurant
-System will not delete restaurant


Use case name Search Restaurant
Brief Description This use case enables the staff to find a restaurants information.
Actor staff
Main Flow:
Actor Action System Responses
1. Staff will enter the restaurant id 2. System will verify the restaurant id
3. System will display the restaurant
details.
Alternative Flows:
A-1 Step 2: If the restaurant id could not be found in database
-System will print an error message


Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 32

Use Case Description for Maintain Order
Use case name Maintain order
Brief Description This use case enables the staff to record new order, change existing
order and cancel order.
Actor Student, order taking staff
Main Flow:
Actor Action System Responses
1. Display Main Menu
2.Staff selects Order Maintenance 3. Display sub menu: MakeOrder,
Cancel Order.
If Make Order is selected, the S-1: Make Ordersubflow is performed.
If Cancel Order is selected, the S-2: Cancel Ordersubflow is performed.
Subflows:
S-1: Make Order
System will display a data entry form and the staff will ask the order details from student.
After that, staff will enter the order details into the form and the system will validate the
entered order details. Next, system will perform the Calculate Total use case. Then only the
system will store this order into database.
S-2: Cancel Order
Search Order use case will be executed first. Second, staff will ask student for confirmation
of order cancellation. Then, staff will click the delete button to delete the order. System will
prompt a message ask for confirmation. Staff will choose confirm and the system will delete
the order from database.
Alternative flows:
A-1 Step S-1: If the input data is invalid
-System will display error message

A-2 Step S-2: If the data entered is invalid
-System will prompt error message
A-3 Step S-3: If staff chooses not confirm to delete order
-System will not delete order




Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 33
Use case name Search order
Brief Description This use case enables the staff to look for an order.
Actor Order taking staff
Main Flow:
Actor Action System Responses
1. Staff will enter the order id 2. System will verify the order id
3. System will display the order details
Alternative Flows:
A-1 Step 2: If the order id could not be found in database
-System will print an error message


Use case name Calculate total
Brief Description This use case is to calculate the total payment for an order.
Main Flow System will first retrieve the price of the food and calculate every order
line total by multiply the foods price with respective order lines
quantity. After that, system will calculate the total payment of an order
by total up every order line total.
































Canteen & Catering Management System Chapter 2 : Requirement Analysis

F
i
g
u
r
e

2
.
3
.
3
.
1

T
h
e
I
n
i
t
i
a
l

C
l
a
s
s

D
i
a
g
r
a
m

2.3.3 Initial Class Diagram


Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 35
2.4 Fact Analysis
2.4.1 General Description
Product Function
This Canteen and Catering Management System is developed to assist in the daily processes
in canteen as well as the catering business. This system is trying to upgrade the manual nature
of the current system into computerized manner as much as possible. It handles orders taken
by students and any staff-relating matters including recruitment and resignation.

In restaurant management, it allows registration of a restaurant and tracking of the payment
and the contract(s) signed by a restaurant with the canteen management. The same goes with
supplier maintenance. As for the catering business the canteen has, it keeps track the order
and customer information and the payment(s) made between the customer and the canteen
regardless it is one-time payment or partial payment. In addition, this system can generate
and print useful reports such as order by restaurant report and supplier supply report to aid in
decision making process which is intended to improve the business performance.

Similar System Information
This Canteen and Catering Management System is a stand-alone product. It does not integrate
with other system(s) to provide services or functions for the canteen.

User Problem Statement
a.) Common Problems with Manual Workings
This section concludes the common problems which are occurring with using manual
manner as seen in many of the cases in the current system.
Since many of the processes are completely done through manual mean, therefore it
exhibits the common problems of manual works. First, manual workings are less
efficient. For example, processes such as staff retrieval or payment are slow and time-
consuming. Second, manual workings tend to generate incorrect outputs due to
mistakes done by human, especially mathematical calculation. Besides, manual
system is having difficulty in generating useful reports such as monthly report or
order by restaurant report which are helpful and essential in decision making. More
importantly, most of the critical information such as order and sales are kept in
physical document and the consequence will be severe to have lost these valuable
information.






Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 36
b.) Canteen Ordering
When taking an order for student, the order taking staff might miscalculate the total of
the order. Besides, the staff also needs to remember whom those orders belong to
otherwise there will be confusion. In addition, since the canteen order payment is
done through coupon, so there is chance that the staff might forget to issue coupon or
the students might lose their coupons on their way to make payment.
c.) Canteen Order Payment
Although there are three counters available in canteen, but during peak hour, the
queue for payment can be long and cashiers will be occupied serving students. Hence,
increase the opportunity for cashier to make errors. Besides, cashiers need to ensure
that there is enough change for numerous transactions in one day.

User Objectives
Usability
This system should be easy to use and less physical or intellectual skill required in order to
learn the system. Besides, the time required to become moderately efficient in using the
system should be short. To achieve this, the user interface design should follow principles
such as consistency, familiarity, controllability and etc.
Security
The user data and information should be protected against any unauthorized access, unethical
theft, misuse and etc. To prevent any unauthorized access, this system should incorporate role
management which will enforce authentication and authorization on users actions so that the
private and confidential data are kept safe. Besides, this system also installs the latest
antivirus software to detect and remove vulnerability.
Recoverability
This system should be able to quickly recover from any fatal system failures. Therefore, data
backup should be constantly performed in case there is system failure, the data can be
restored instantly from backup so that its impact on users daily transactions is minimized.
Other than that, the hardware contingencies should also be planned and whenever a system
failure occurs due to hardware issue, the faulty hardware can replaced as soon as possible.
Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 37
Availability
The system should able to deliver system services whenever the user requests. The system
should be designed to include redundancy so that when the primary mean fails, the alternative
mean can be up and run as soon as possible to continue deliver system services for users
without their knowledge.

General Constraints
a.) Project Deadline
This project is given one year development time from March 2011 until March 2012.

b.) Language Requirement
The whole software product shall be written using J ava.

c.) User constraint
Users will not be placed with any restriction. Access level of user will adhere to the
canteen management policy.

d.) Software Platform
Design standards, naming convention, software interface from operating
system to database management system will use specific application package
and constraints on program and data size so that this system can be built in
multiple environments.
This system will be developed using the fusion of agile and prototyping
methodologies.
System developers have to log any modification done to the system during its
development cycle.
This system must be appropriately and fully documented.










Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 38
2.4.2 External Interface Requirements

User Interface
Graphical user interface is a way of using and communicating with this Canteen and Catering
Management System. Therefore, to make this system ease to learn and use, the following
standards and guidelines will be adhered.

Help Function:Help function is meant to provide assistance and information while using the
system and is provided in almost every module in this system. It will be visualized as a small
icon which acts as a button on the top left/right of a window. It also can be accessed through
predefined shortcut key such as F1. Help content contains the information and guidelines
which will aid a user to use the system to perform his/her operation in one particular
subsystem. The content is varied and bound to each module in the system.

Feedback:Feedback is provided to let the user knows the status of an operation. To some
extent, this mechanism could place the user in control in the human-machine interaction. For
example, the user will receive acknowledgement which could be in form of pop-out window
from the system after an operation is completed. Besides, this feature does not only allowable
in single way. Users could also provide their feedback of the service provided to the canteen
management under this feature.

Screen Layout:All of the screens or windows will be adopting a predefined theme in order to
increase user familiarity and at the same time minimize user surprises. For example, the
theme will be using colors that are comfort to the eyes in prolonged exposure. In addition to
that, the color pairing in screen will ensure that it will not cause any eyestrain to the users.
Messages in the system will be centrally displayed and it will not take too much place of the
monitor but big for the users to read. Menu bar of every window will contain buttons which
are elaborated its function in understandable context. Each screen in the system will try to
utilize components such as check box, radio button, drop down list and etc other than text
field as possible to reduce the chance of users physical input. This design will lessen the
possibility of error occurrence in user input since users manual input prompt to introduce
mistake.


Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 39
Error Message:This system will provide informational and meaningful error message to
enlighten the user of the mistake done. The error message shall be highlighted in red color
which signifies warning with bold type to grab users eyes. Besides showing error occurred
and its the solution, the message will also include the contact detail if this error requires
managements attention.

Hardware Interface
Mouse:The mouse provides a convenient way of inputting by moving the mouse to control
the movement of the mouse pointer appears on a monitor screen. User can move the mouse
pointer onto an object such as button, icon, menu and etc and then press the mouse button to
perform the action that is associated with the selected object.

Keyboard:Keyboard contains keys on the typing area such as letters of the alphabet, numbers,
punctuations marks and others which allows the user to press to input data into the computer.

Printer:Printer can produce text and graphics on physical medium like paper by executing
the command issued from the system in users choice. Such printed information is referred as
hard copy. It will be used to print the generated report or other useful information in hard
copy.

Server:A server controls access to the hardware, software, and other resources on a network.
It provides a centralized storage area for programs, data, and information used in this system.
To smoothly serve this systems request, the server adopted must have at least the following
specifications.
Multi-core Processor: Server will have minimum a multi-core processor to perform
all the processes in canteens daily operations.
High Capacity Hard Disk: This system will be using a server with high capacity
storage to store the data required in canteens daily business.




Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 40
Modem:This system will be using modem to transmit data from computer into telephone or
cable lines. It can convert the digital form of data from computer into analog waves which to
be carried by telephone or cable lines.

Hub:A hub will be used to connect multiple devices in this system together.

Software Interface
Operating System:This system can be deployed in Windows or Linux platforms

Oracle Database:This system will be using the oracle database as the Database Management
System.

iReport:The reporting function in this system will be implemented in iReport which is also
written in java.




















Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 41
2.4.3 Functional Requirement
Canteen Order Management Module
User Requirement
In this module, students are able to order their food and cancel their orders if necessary.
System Requirement
Add Order
Input Student provides his/her order information to the order taking staff who
will then enter it into the system. Validation check will be performed on
inputted data to ensure the accuracy of the data. An error message will be
prompted if there is any incorrect input data.
Process System will calculate the total amount for the order and then put the
order in a queue.
Output A new order is finished added.

Order Sequencing
Process For a newly added order, system will enqueue it based on first come first
serve basis into a queue which then will becooked by the chef after all of
the orders in front of it have been served.
Output The new order is added to the queue.

Search Order
Input - Order taking staff will enter the search criteria information such as order id
tosearch for a particular order. To make sure there is no mistake on the
inputted data, validation check will be performed and if there is any error
exists, an error message will be printed on screen as notification.
Process The system will search for the record based on the key provided.
Output The related order information will be displayed on screen if there is any
match found. If there is no match found, an informational window with
appropriate and friendly message will be prompted to the user.




Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 42
Delete Order
Input Search order process will be initiated first.
Process Staff can now delete the selected record by clicking the provided delete
button. A confirmation window will be prompted to ask for users final
decision.
Output The selected record is deleted from the system with a successful message
indicates its removal.

Total Calculation
Process System will retrieve the price of a food for a particular order item in an
order and multiply it with the quantity ordered for this order item in this
order. The total is then added with the next order item in this order. This
process continues until all the order items in an order are covered.
Output The total amount for this order is displayed on the right field by the system.



















Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 43
Restaurant Maintenance Module
User Requirement
Canteen management can register a restaurant or change a restaurants information such as
restaurant name in this module. Besides, this module can help managing the contract or
payment the restaurant has with the canteen management.
System Requirement
Add Restaurant
Input User enters restaurant information into the system. Before it is been stored,
these inputs will be validated its accuracy and if any mistake found, a
message will be printed.
Process A new record is created in the system to store this new restaurant.
Output After this new restaurant is stored into the system, a window will pop out
as a conclusion of the whole process.

Search Restaurant
Input User keys inthe restaurant information which he/she wishes to search. The
inputs will be verified and if the inputs is incorrect, a dialog will be
prompted to remind the user.
Process Based on the information provided, the system will start search for that
particular record.
Output If the desired record is located, its relating information will be printed on
screen. On the contrary, if the record is not found, a message will be
display to inform the user.


Edit Restaurant
Input System will start the search process first.
Process The whole record information is displayed on screen and user can now edit
only certain fields as some of the fields are unchangeable. If any mistake
occurs within, an error window will be pop out as a reminder.
Output System will kept the latest changes of the record and a message is printed
at the end of the whole process.

Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 44
Delete Restaurant
Input System will search for the desired record.
Process Once the search is found, user can now clicking the delete button to delete
the record. Before its actual deletion, user will be asked for confirmation by
a dialog displayed by the system.
Output The restaurant record is removed from the system and a window will be
promptedto end this deletion process.

Add Contract
Input Canteen management will enter all the contract detail into the system and
these inputs will be checked to ensure its correctness. An error message will
bedisplayed if these information contain defect.
Process System will store this new contract into database.
Output A window will pop out saying that this new contract already been stored
into the system.

Search Contract
Input Canteen management will key in the information which is specific per each
contract. A validation check will be performed to make sure the information
provided is logic and a dialog will be prompted if the information is not
correct.
Process System will use this information and start searching for this contract.
Output System will display the contract detail if there is any result returned. Else,
A message will be printed to tell the user that no record returned.









Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 45
Edit Contract
Input System will start the searching first.
Process Canteen management can now modify the contract detail as they like but
not those information which cannot be refuted such as signed date which
are left as read-only. Any mistake in modification will cause the system to
display an error message to correct the user.
Output When the action has completed, the system will keep the changes
of this contract and print a window indicates that the modification is
saved.

Delete Contract
Input The desired contract will be searched by the system first.
Process A confirmation message will be prompted to the user when he/she chooses
to delete the contract by pressing the delete button.
Output System will delete the contract when user chooses yes in the previous
confirmation dialog and another dialog will be displayed when the contract
has been successfully removed.
Execute Contract
Input Search contract process will be initiated first.
Process User will click the button to execute the contract and a window will be
prompted to ask for users confirmation.If users action is affirmative,
thenthe selected contract will be executed and cannot be edited nor deleted
hence.
Output A message will be printed to indicate the success of executing a contract
Add Payment
Input Canteen management inputs the payment information which will be
validated into the system. If these information are proved to be false, an
error message will be printed to ask user to re-input.
Process These information inputted are storing into the system.
Output When the addition is done, system will display a dialog to the user
which contains the summary of the action.


Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 46
Search Payment
Input Payment information which specifically recognize an existing payment are
enteredinto the system. To make sure the inputs are true, system will
validatethese data and if they are invalid, system will pop out a dialog to
the user.
Process System will search for this record in the database.
Output If the system succeeds in locating this record, it will be displayed on
monitor. On the contrary, if the system fails in finding this record, a
window will be printed to show that this record does not exist.


Post Payment
Input System will advance the search process first.
Process User can now choose to post this payment by clicking the pay button
provided. Before the actual posting, system will display a dialog to get
users affirmation.
Output A window will be shown to notify the user that the record is posted and
cannot be altered or erased from the future.















Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 47
Catering Maintenance Module
Customer Maintenance Module
User Requirement
This module stores and maintains the customer details such as name, address, phone number
and etc which can be used as reference for contacting the customer.
System Requirement
Add Customer
Input Customer information is being entered into the system. A validation check
will be performed on it before the actual storing of data. If there is any error
found during data validation, an error message will be printed.
Process New customer information will be stored into the system.
Output System will display a dialog to inform the user that the new customer
information is being successfully stored.



Search Customer
Input User will enter the unique customer information such as customer id which
identifies a customer in this subsystem. An error message will be printed if
mistake is found on the inputted data during data validation.
Process System will search for this particular customer using the key provided.
Output The whole information of the customer is displayed on screen if it is
located. Else if it cannot been located, system will print a dialog to
enlighten the user.

Edit Customer
Input Customer information where user wishes to delete will be searched first.
Process User can now edit the fields which he/she would like to modify. Other
unchangeable fields are showed as read-only. A meaningful message
will be printed to correct the user if he/she makes a mistake in changing
the fields.
Output System will stored the modified record and a window will pop out after
the storing is complete.
Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 48
Delete Customer
Input The desired record will be searched first.
Process By clicking the delete button, a dialog will pop out ask for users
confirmation.
Output System will delete the record from it and display a message after its
removal.



























Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 49
Order Maintenance Module
User Requirement
This module keeps track the catering order of the customer such as make order, changing
order and cancel order.
System Requirement
Add Order
Input User will enter the order information into the system and before storing
the data, a validation check will be carried out and if the inputted data is
incorrect, a dialog will be prompted to warn the user.
Process A new order record is storing into the system.
Output System will display a message after the record is correctlysaved into the
system.

Search Order
Input To search an order, user must key in the information which uniquely
identifies an order. Validation check will be conducted and an error message
willpop out if mistake found.
Process System will start the search process for this particular order.
Output If the record found, system will display the related order information and if
the search returns no result, system will then display a window to enlighten
the user.

Edit Order
Input System will search for the record which a user wants to edit.
Process User can now start to modify the order but its unchanging fields are left
intact. An error message will be printed to alert the user if he/she makes
an inappropriate change.
Output System will update this record and display a dialog after the update is
finish.




Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 50
Complete Order
Input The order which will be completed is searched first.
Process User can now complete the order by selecting the completed status from
the combo box and save the record.
Output A window will be prompted to notify the user that the order is marked
completed and cannot be modified and removed anymore.

Cancel Order
Input Record which the user wishes to remove will be searched first.
Process When the record is found, user can cancel this record by selecting the
cancel status.

Output The order is cancelled and a message will be printed as the
summary of this process execution.

Total Calculation
Process System will calculate the total amount of an order based on the predefined
algorithm. That includes order item and its quantity, service charge, and etc.
Output Once the total amount of an order is calculated, it will be displayed in the
corresponding field.


Add Payment
Input Payment details are entered into the system it will be validatedto ensure
accuracy. If the inputs are faulty, system will print a dialog on monitor to
grab user attention to the error.
Process System will create a new record to hold the new payment.
Output New payment is stored with a successful message print to the user.





Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 51
Search Payment
Input User have to input key value which represent a payment and if the format of
the value is inaccurate, user will be alerted by an error message.
Process The search process is executed by the system.
Output The corresponding information of the payment is displayed on screen if it
is located. If not, a dialog will be popped out to notify the user.

Delete Payment
Input System will advance the search process first.
Process User can now choose to delete this record by clicking the delete button
provided. Before the actual erasure, system will display a dialog to get
users affirmation.
Output The record is erased from the system. After that, a window will be shown
to notify the user that the record is deleted.

Post Payment
Input System will searchthe payment a user wants to post.
Process User will click the button to post this payment and a dialog will be
displayed to get users affirmation.
Output Payment is considered posted and henceforth cannot be amended and
erased from system.












Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 52
Food Maintenance Module
User Requirement
This module allows the canteen or restaurants to store and maintain information of the food
which are used in daily canteen order or catering order.

System Requirement
Add Food
Input User will input the food information into the system. These information will
be validated for its correctness. An error message will be printed if any of
these information are wrong.
Process System will create a record to keep this new food information.
Output System will print a message to the user once this food has been stored.

Search Food
Input Canteen management has to key in the food information which will be
used for searching. An error message will be printed if defect is found
during data validation.
Process System will initiate the searching process.
Output The food information are printed on screen once it is found.

Edit Food
Input The food which will be amended is searched first.
Process User can now proceed with modifying the record. Before it is saved into
the database, system will make certain that the amendment is legitimate by
showing a message if the alteration is illogical.
Output The newest changes are saving into the system and a window will be
prompted to notify the user.






Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 53
Delete Food
Input System will advance the search process first.
Process User can now choose to delete this record by clicking the delete button
provided. Before the actual erasure, system will display a dialog to get
users affirmation.
Output The record is erased from the system. After that, a window will be shown
to notify the user that the record is deleted.


























Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 54
Non-Functional Requirements
Product Requirements
Usability Requirements: Interface design is an important determinant of the usability
of the system. To improve user experience, the design of the interface will be as
simple and direct as possible. The content of the interface will be populated with only
necessary component but not overloaded to test users memory. Icon/picture will be
applied whenever suitable as a picture represents a thousand words. For example,
printing button is better represented with a printer icon rather than text.

Performance Requirements: To improve the performance of the system, the system
shall posses the following qualities. Exception is allowed if dilemma occurs.
high capacity
short latency
faster response time: The system must response to request in 30 seconds.
high throughput

Reliability Requirements: The mean time between failures shall exceed 3 months.
Portability Requirements: This system shall be able to operate under Windows
platform such as Windows 7 and Windows XP and Linux operating system.

Process/Organizational Requirements
Delivery Requirements
This system shall be delivered in one year time.

Implementation Requirements
The server shall have at least 2 to 4GB RAM and a processor with clock speed of
minimum 3.0 GHz to run this system.
Storage media such as hard disk with 1TB capacity will be used in this system to store
the information.



Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 55
Standards Requirements
This system will be developed in J AVA programming language because it is an open
source and yet powerful programming language. For the same reason, Oracle database
will be chose as the Database Management System in this Canteen and Catering
Management System.
The system will adopt the agile with prototyping methodology throughout its
development.

External Requirements
Privacy Requirements: This system will not reveal any confidential information
such as staffs salary to unauthorized users.
Safety Requirements: This system shall not accidentally miscalculate total amount
for an order.
Interoperability Requirements: This system shall be able to interoperate with
Oracle database which will be integrated in the system.
Ethical Requirements: Developers shall not use any pirated software tool to aid in
their development process.
















Canteen & Catering Management System Chapter 2 : Requirement Analysis

Project 56
2.5 Chapter Summary
During system analysis phase, interview and observation has been used to
gather facts. Interviewing is a direct and efficient way of gathering user requirements.
During interview, developers have the chance to face-to-face interact with the system end
users. The users can clarify their requirements in detail and any ambiguities can be
cleared instantly through direct communication. However, in interview, the subjects
opinion may be biased and it may affect the result. Therefore, a broader coverage of
system users should be considered but it is time consuming.

Observation also is an efficient way of collecting user requirements as the
developers can physically witness or involve in the real life business processes. That way,
they can fully understand and perceive how a business transaction is carried out in a
specific company as different companies have different way of doing business. But in
observation, the subjects might feel uncomfortable and unnatural of being observed and
subsequently, they may not at their best performance and it will affect the observation
outcome as well.










Canteen and Catering Management System Chapter 3 : System Design














Chapter 3

System Design








Canteen & Catering Management System Chapter 3 : System Design

Project 58
S Sy ys st te em m D De es si ig gn n
3.1 Introduction
In this chapter, the various areas of design for the new proposed system are included.
These include the user interfaces, database, system processes, report design and etc. Some of
the techniques applied in this chapter are ERD which is used to plan and design the systems
database, sequence diagram which is used to model the system processes, state chart diagram
which is used to model an objects state transition throughout the system and etc.
3.2 System Design
3.2.1 Sequence Diagram


Canteen & Catering Management System Chapter 3 : System Design

Project 59






Canteen & Catering Management System Chapter 3 : System Design

Project 60





Canteen & Catering Management System Chapter 3 : System Design

Project 61





Canteen & Catering Management System Chapter 3 : System Design

Project 62





Canteen & Catering Management System Chapter 3 : System Design

Project 63





Canteen & Catering Management System Chapter 3 : System Design

Project 64





Canteen & Catering Management System Chapter 3 : System Design

Project 65
















Canteen & Catering Management System Chapter 3 : System Design

Project 66
Final Class Diagram

Canteen & Catering Management System Chapter 3 : System Design

Project 67
State Chart Diagram












Canteen & Catering Management System Chapter 3 : System Design

Project 68
Deployment Diagram












Canteen & Catering Management System Chapter 3 : System Design

3.3 Screen or Interface Design
The user interfaces in this system were designed according to the following principles:

User Familiarity

This system has used terms and concepts which are interpretable by non-technical user who
may have not or little computer knowledge. Therefore, the system users can find that the
system is easy to learn to use. For example, in the following screenshot taken from the
systems user interface, the insert function are as described as Save rather than using
Insert which could mean different to the system user.


Consistency
The user interface in this system was consistently designed to make the users feel that they
are using the same system. Besides, some of the system functions can be performed in the
same way from different modules. For example, in this system, the user interface layout in
the food maintenance module is identical to the layout in staff maintenance module. Not that
they share the same appearances, but also the same feature. By clicking the summary view
button in either module, the system will display the summary view of the respective module
in table format
Canteen & Catering Management System Chapter 3 : System Design









Canteen & Catering Management System Chapter 3 : System Design

Recoverability

This system allows the users to recover or undo from their unintentional mistakes or errors so
that unwanted outcome will not occur to user due to their accidental move. For instance, the
cancel button in the food maintenance module let the user to abort their current action and
restore all default information.
Before click edit, the food name is Fried Rice and the quantity on hand is 100.












Canteen & Catering Management System Chapter 3 : System Design

While editing, the food name is changed to Pineapple Fried Rice and the quantity on hand is
changed to 200.
















Canteen & Catering Management System Chapter 3 : System Design

Click yes to abort the editing


The original information are restored

Canteen & Catering Management System Chapter 3 : System Design



User Guidance

In this system, the feedback from the system to the user under the error circumstance has
been meaningfully structured to let the user has knowledge of the type of mistakes he/she has
done and know the right action to take in order to correct the error. For example, under the
food maintenance module, if the user has input an alphabet for the food price, he/she will be
alerted with structured and meaningful message.
Canteen & Catering Management System Chapter 3 : System Design



















Canteen & Catering Management System Chapter 3 : System Design

Project 76
3.4 Database Design
Entity Relationship Diagram (ERD)

Canteen & Catering Management System Chapter 3 : System Design

Project 77
Data Definition
Table Field Data Type Description
Business Partner
BusinessPartnerID Number(*,0) Primary key of
Business Partner
table
BusinessPartnerName Varchar2( 50
BYTE)
Name of the
business partner
BusinessPartnerAddress Varchar2( 100
BYTE)
Address of
business partner
EmailAddress Varchar2( 30
BYTE)
Email address of
business partner
ContactNo Char(10 BYTE) Contact number of
business partner
BusinessPartnerDescription Varchar2( 100
BYTE)
Description of
business partner
BusinessPartnerType Varchar2( 10
BYTE)
Type of business
partner (Customer
or Restaurant)
BusinessPartnerIsDeleted Char(1 BYTE) Flag to reflect
whether a business
partner is removed
from this table











Canteen & Catering Management System Chapter 3 : System Design

Project 78
Table Field Data Type Description
Contract
ContractID Number(*,0) Primary key of
Contract table
SignedDate Date Date when a contract
is signed
ExpiryDate Date Expiry date of a
contract
ContractAmount Number(8,2) Total amount of a
contract
ContractDescription Varchar2( 3000
BYTE)
Description of a
contract
BusinessPartnerID Number(*,0) Foreign key which
references business
partner table
IsEffective Char(1 BYTE) Flag to reflect a
contract is effective
ExpiryStatus Varchar2 (7 BYTE) Reflect the expiry
status of a contract
ContractPeriod Number(*,0) A number which
indicates a contract
period in month













Canteen & Catering Management System Chapter 3 : System Design

Project 79
Table Field Data Type Description
Food
FoodID Number(*,0) Primary key of Food
table
FoodDescription Varchar2( 100 BYTE) Description of a food
FoodPrice Number(4,2) Unit price of a food
FoodQuantity Number(*,0) Quantity on hand of a
food
BusinessPartnerID Number(*,0) Foreign key which
refer to restaurant
(business partner)
table
FoodName Varchar2( 50 BYTE) Name of a food
FoodOwner Varchar2( 10 BYTE) Indicates the owner of
a food
FoodImage Blob Food image which
stores in binary large
object format
FoodType Varchar2( 8 BYTE) Type of food (canteen
or catering)
SerialNo Varchar2( 50 BYTE) Number which is
transformed into
barcode and used to
identify a food









Canteen & Catering Management System Chapter 3 : System Design

Project 80
Table Field Data Type Description
OrderLine
OrderLineID Number(*,0) Primary key for order
line table
FoodID Number(*,0) Foreign key which
references food table
Quantity Number(*,0) Quantity of food in an
order line
OrderID Number(*,0) Foreign key which
references orders table
LineAmount Number(5,2) Total amount of an
order line

Table Field Data Type Description
Orders
OrderID Number(*,0) Primary key for orders
table
OrderDate Date Date which an order is
placed
TotalAmount Number(5,2) Total amount of an order
StaffID Number(*,0) Foreign key which
references staff table
BusinessPartnerID Number(*,0) Foreign key which refer
to restaurant (business
partner) table
OrderStatus Varchar2(9 BYTE) Identify the status of an
order
OrderType Varchar2( 8 BYTE) Identify the type of an
order (canteen or
catering)

Canteen & Catering Management System Chapter 3 : System Design

Project 81
Table Field DataType Description
Staff
StaffID Number(*,0) Primary key of staff
table
StaffName Varchar2( 50 BYTE) Name of a staff
StaffAddress Varchar2(150 BYTE) Address of a staff
StaffIC Varchar2( 14 BYTE) IC of a staff
StaffPosition Varchar2( 30 BYTE) Position of a staff
StaffSalary Number(6,2) Salary of a staff
J oinedDate Date Date when a staff is
employed
StaffIsDeleted Char(1 BYTE) Flag to reflect whether
a staff is removed
from this table
StaffContact Varchar2( 12 BYTE) Contact number of a
staff























Canteen & Catering Management System Chapter 3 : System Design

Project 82
Table Field Data Type Description
Users
Username Varchar2( 40 BYTE) Primary key of the
users table
StaffID Number(*,0) Foreign key which
references staff table
BusinessPartnerID Number(*,0) Foreign key which
refer to restaurant
(business partner)
table
UserRole Varchar2( 10 BYTE) The role of a user
UserPassword Varchar2( 40 BYTE) Password of a user
Email Varchar2( 50 BYTE) Email address used for
password recovery
SecurityAnswer Varchar2( 50 BYTE) Answer to the security
question which is used
for password recovery
SecurityQuestion Varchar2( 225 BYTE) Security question
which is used for
password recovery

















Canteen & Catering Management System Chapter 3 : System Design

Project 83
Table Field Data Type Description
Payment
PaymentID Number(*,0) Primary key for payment
table
Deposit Number(8,2) Deposit amount for a
payment
DepositPaidDate Date Date when deposit is paid
Balance Number(8,2) Balance of payment which
needs to be cleared
ClearedDate Date Date when a payment is
cleared
IsCleared Varchar2( 7 BYTE) Status indicates whether a
payment is clear or due
IsPartialPayment Varchar2( 1 BYTE) Indicates whether a
payment is full payment or
partial payment
StaffID Number(*,0) Foreign key which
references staff table
TotalAmount Number(8,2) Total amount of a payment
BusinessPartnerID Number(*,0) Foreign key which refer to
restaurant (business
partner) table
ContractID Number(*,0) Foreign key which refer to
contract table
OrderID Number(*,0) Foreign key which refer to
order table
CreatedDate Date Date when a payment
record is created


Canteen & Catering Management System Chapter 3 : System Design

Project 84
Normalization
BusinessPartner(BusinessPartnerID,BusinessPartnerName, BusinessPartnerAddress,
EmailAddress, ContactNo, BusinessPartnerDescription, BusinessPartnerType,
BusinessPartnerIsDeleted)


Contract(ContractID, SignedDate, ExpiryDate, ExpiryStatus, ContractAmount,
ContractDescription, BusinessPartnerID, IsEffective, ContractPeriod)


Food(FoodID, FoodDescription, FoodPrice, FoodQuantity, BusinessPartnerID, FoodName,
FoodOwner, FoodImage, FoodType, SerialNo)


OrderLine (OrderLineID, FoodID, Quantity, OrderID, LineAmount)


Orders (OrderID, OrderDate, TotalAmount, StaffID, BusinessPartnerID, OrderStatus,
OrderType)


Staff (StaffID, StaffName, StaffAddress, StaffIC, StaffPosition, StaffSalary, J oinedDate,
StaffIsDeleted, StaffContact)


Users(Username, StaffID, BusinessPartnerID, UserRole, UserPassword, Email,
SecurityAnswer, SecurityQuestion)


Payment (PaymentID, Deposit, DepositDate, Balance, ClearedDate, IsCleared,
IsPartialPayment, StaffID, TotalAmount, BusinessPartnerID, ContractID, OrderID,
CreatedDate)

















Canteen & Catering Management System Chapter 3 : System Design

3.5 ReportFormat
Sample Report

























Report Title
Report Date
Food Name Quantity Line Amount (RM)
XXXX XXXX XX XX.XX
Example: 30 characters with
maximum length
Example: The Report Date
would be followed by what
has parameterized before
the report is generated.

Canteen & Catering Management System Chapter 3 : System Design

Sample Report


















Report Title
Report Date
Signed Date Expiry Date Contract Amount
XX/XX/XX XX:XX AM
XX/XX/XX XX:XX AM XXXX
Restaurant Name
XX/XX/XX XX:XX AM
XX/XX/XX XX:XX AM XXXX
Restaurant Name
XX/XX/XX XX:XX AM
XX/XX/XX XX:XX AM XXXX
XX/XX/XX XX:XX AM
XX/XX/XX XX:XX AM XXXX
Example: The Report Date
would be followed by what
has parameterized before
the report is generated.

Example: 50 characters with
maximum length
it has used Group By method
to query in SQL
Canteen & Catering Management System Chapter 3 : System Design

Project 87
3.6 Chapter Summary
In system design, the development team was struggle in choosing and/or working on a design
in system processes, user interface, database and etc. A lot of consultation with the project
supervisor has been conducted to resolve these issues. Besides her, a few senior analysts
experience and opinions were also taken into account in designing the areas mentioned in this
system.





















Canteen & Catering Management System Chapter 4 :Programming

Project 88










Chapter 4

Programming

Canteen & Catering Management System Chapter 4 :Programming

Project 89
P Pr ro og gr ra am mm mi in ng g
4.1 Introduction
This chapter discusses the programming language, architecture and various programming
tools used during system development. It also justifies the reasons for using those selected
tools, design, language and etc. In addition, it is attached with few listing of codes which
adopt the selected design.
4.2 Programming Tools
4.2.1 Programming language used
The system in this project was developed using J ava languagesinceout of the handful
standalone application development languages, J ava is object-oriented nature. Programming
language which is object-oriented has several advantages over procedural programming
language. Object-oriented programming language encourages code reuse by just defining an
object once but allows the creation of multiple instances from it. Besides, object-oriented
programming language has several concepts such as inheritance, polymorphism and etc.
which simplify the programming as well as the maintenance task. With inheritance, the
existing features are easy to extend and customize in a way which best suit the context in the
application. As for polymorphism, it introduces abstraction where a client does not need to
know the implementation details of a method but only the interface and its invocation details.

4.2.2 Netbeans IDE
Netbeans IDE is used in this project program development. Since this system is
developed using J ava language, therefore, Netbeans IDE is chosen as it is designed for J ava
application development. NetBeans IDE is free and open-source, so, there is a lot of
information about it available on the Internet and it is convenient to find support for it.
Netbeans IDE also provides tools and features necessary for program development.
For example, Swing GUI Builder allows the programmer to quickly and easily design the UI
for the system by simply dragging and positioning the GUI components onto the canvas
without writing a single code.


Canteen & Catering Management System Chapter 4 :Programming

Project 90
4.2.3 SQL Developer
SQL Developer has been used along with Oracle database because it provides a
graphical user interface for developing database. Therefore, it is easier and quicker in
database development as compared to using SQL *Plus which is the command line interface
for the Oracle Database.
4.3 Programming Structure
This system was developed using the Model-View-Controller architecture which
divides the programming structure into three tiers known as model, view and controller.
Model governs the access to and updates of the system data. In real world, model could be
represented as the business domains. The view serves as the boundary of a software system
and normally is used to interface with the system end users where the controller serves as the
coordinator between the view and the model which help converts the users interactions with
the view into actions which model will carry out.
Model-View-Controller architecture has properly distributed the tasks and
responsibilities into different layers. This design facilitates the maintenance process as the
errors can be easily identified out of these three different layers. Besides, with this design,
portions of codes which has similar functional characteristic are isolated and subsequently,
the modifications brought into one layer will not affect the behavior of the other two layers.














Canteen & Catering Management System Chapter 4 :Programming

Model
































Canteen & Catering Management System Chapter 4 :Programming

Controller













Canteen & Catering Management System Chapter 4 :Programming

Project 93
4.4 Chapter Summary
During system coding, the developers have difficulties of producing the desired
output with the correct code. Therefore, a lot of research and study from Internet and books
has been done in attempting to seek for guidelines and finally find the solution. However,
some of the designs were changed due to the failure in finding the suitable solution.























Canteen & Catering Management System Chapter 5 : Software Testing

Project 94









Chapter 5

Software Testing

Canteen & Catering Management System Chapter 5 : Software Testing

Project 95
S So of ft tw wa ar re e T Te es st ti in ng g
5.1 Introduction
This chapter documents the testing processes and testing techniques applied during
system testing. At the end, test specifications, the documentation of the whole testing process
is added for reference. The specific testing techniques that this project has adopted are black
box testing, white box testing and regression testing.
5.2 Test Process
5.2.1 Unit Testing
Unit Testing is performed to test the workability, efficiency of a method or portion of
code. When a method or an algorithm is written or developer wishes to test a portion
of code, he/she will run and test on those particular codes, method or algorithm. The
output may be meaningless to the system users, but it may prove that the method,
algorithm or code is working fine and efficiently. Sometimes, echo is used to make
certain the correctness of the output of the method, algorithm or code.

5.2.2 Module Testing
When a module has done developed, a module testing will be conducted on the
finished module to ensure the module developed contains no bugs and functions as
required. In module testing, the developer responsible will test the completed module
and even if it pass the test, but its function may not meaningful to user as it covers
only a small portion of the whole system.






Canteen & Catering Management System Chapter 5 : Software Testing

Project 96
5.2.3 Integration Testing
Integration Testing is performed upon the system to ensure that the modules stay
functional after combine and there are no new bugs introduce due to the modules
integration.
After a few modules has been integrated, the developer will perform testing on
modules developed by him/her and make sure that those modules are behaving the
same as before integration. When a developer done testing and no errors are
discovered, the other programmers will do their modules. After all developers have
tested their modules, a full testing will be performed on the integrated modules with
the correct logic and sequence to ensure that the integrated modules are workable and
meaningful.

5.2.4 System Testing
System testing is performed when a number of modules have integrated to form a
functional, meaningful system. At system testing, the function of the system as a
whole was ensured and the correct sequence of real life business process was
employed. System testing is a huge task and time consuming which can be subdivided
into smaller, different testing types.










Canteen & Catering Management System Chapter 5 : Software Testing

Project 97
5.3 Test Techniques
5.3.1 Regression Testing
Regression Testing has been carried out to assure that a module does not contain new
errors or still function as intended after changes has been made to it. When a module
has been reconfigured or modified, existing testing which works perfectly before
changes are made will be done on the modified module. Whenever necessary, new
tests will be defined and implemented.

5.3.2 White Box Testing
To test the internal structures or workings of module or system, White box testing has
been conducted. During the process, the developer has to read and understand the
logic behind a piece of codes and rather than observing the functions of the system.
Although it is time consuming, but it can reveal any logic error that may contain in
the system.

5.3.3 Black Box Testing
On the contrary, the primary purpose of black box testing is to test the functionality of
an application over its internal structures or workings. The tester needs bother about
the implementation details of the application but the functionality an application
should perform. In black box testing, the test cases were built upon the system
requirements specification. As such, any mismatch between the system requirements
specification and actual system functionality could be pointed out immediately






Canteen & Catering Management System Chapter 5 : Software Testing

Project 98
5.4 Test Specifications

Module name : Food Maintenance
No Objective /
Test Cases
Test Data Expected Result Test
Result
(Y/N)
Remark
1 To test Detail View
button able to display
selected food details.
Select a row from
table and click on
Detail View
button.
System should
display selected
food details.
Y If no row is selected,
then fields are left
empty
2 To test New button
able to clear and
enable all fields for
input.
Click on New
button
System should
clear and enable all
fields for input.
Y
3 To test Edit button
able to enable fields
for editing
Click on Edit
button
System should
enable fields for
editing.
Y
4 To test Cancel
button able to restore
default data
Click on Cancel
button
System should
restore default data

5 To test Save button
able to save record
Click on Save
button
System should save
the record
Y If required field is
left empty or there is
no changes made,
error message will
display
6 To test Delete button
able to delete record
Click on Delete
button
System should
delete the record
Y



To test Upload
Image button able to
upload image
Click on Upload
Image button
Uploaded image
should be display
Y If the uploaded file
is not of image type
or less than required
dimension, error
message will display

Canteen & Catering Management System Chapter 5 : Software Testing

Project 99
Module name : Order Maintenance
No Objective /
Test Cases
Test Data Expected Result Test
Result
(Y/N)
Remark
1 To test Detail
View button
able to display
selected order
details.
Select a row from table
and click on Detail
View button.
System should
display selected
order details.
Y If no row is
selected, then
fields are left
empty
2 To test New
button able to
clear and
enable all
fields for input.
Click on New button System should
clear and enable
all fields for
input.
Y
3 To test Add
button able to
display menu
Click on Add button Menu should
display
Y
4 To test Food
button able to
insert row into
order line table
Click on Food button A row is inserted
into order line
table
Y If food already
exists in table or
the food has sold
out, error
message will
display
5 To test
Remove
button able to
remove row
from order line
table
Click on Remove
button
A row is
removed from
order line table
Y
6 To test
Calculate
button able to
calculate the
Click on Calculate
Total
Total is
calculated and
displayed
Y
Canteen & Catering Management System Chapter 5 : Software Testing

Project 100
total amount
for order lines
in the table
7 To test Save
button able to
save the order
Click on Save button System should
save the record
Y
8 To test
Delete button
able to delete
the order
Click on Delete button System should
delete the record
Y
9 To test Pay
button able to
insert order
into database
Click on Pay button System should
insert the order
Y

Canteen & Catering Management System Chapter 5 : Software Testing



Project 101
Module name : Restaurant Maintenance
No Objective /
Test Cases
Test Data Expected Result Test
Result
(Y/N)
Remark
1 To test Detail
View button able
to display
selected customer
details.
Select a row from
table and click on
Detail View button.
System should
display selected
customer details.
Y If no row is
selected, then
fields are left
empty
2 To test New
button able to
clear and enable
all fields for
input.
Click on New
button
System should
clear and enable
all fields for
input.
Y
3 To test Edit
button able to
enable fields for
editing
Click on Edit button System should
enable fields for
editing.
Y
4 To test Cancel
button able to
restore default
data
Click on Cancel
button
System should
restore default
data

5 To test Save
button able to
save record
Click on Save
button
System should
save the record
Y If required field
is left empty or
there is no
changes made,
error message
will display
6 To test Delete
button able to
delete record
Click on Delete
button
System should
delete the record
Y

Canteen & Catering Management System Chapter 5 : Software Testing



Project 102
Module name : Contract Maintenance
No Objective /
Test Cases
Test Data Expected Result Test
Result
(Y/N)
Remark
1 To test Detail View
button able to display
selected contract
details.
Select a row
from table and
click on Detail
View button.
System should
display selected
contract details.
Y If no row is
selected, then
fields are left
empty
2 To test New button
able to clear and
enable all fields for
input.
Click on New
button
System should
clear and enable all
fields for input.
Y
3 To test Edit button
able to enable fields
for editing
Click on Edit
button
System should
enable fields for
editing.
Y
4 To test Cancel
button able to restore
default data
Click on
Cancel button
System should
restore default data

5 To test Save button
able to save record
Click on Save
button
System should save
the record
Y If required field
is left empty or
there is no
changes made,
error message
will display
6 To test Delete button
able to delete record
Click on
Delete button
System should
delete the record
Y
7 To test Put Effective
button able to execute
contract
Click on Put
Effective
button
Successful should
be display
Y

Canteen & Catering Management System Chapter 5 : Software Testing



Project 103
Module name : ContractPayment Maintenance
No Objective /
Test Cases
Test Data Expected Result Test
Result
(Y/N)
Remark
1 To test New
button able to
clear and
enable all
fields for input.
Click on New button System should
clear and enable
all fields for
input.
Y
2 To test Save
button able to
save record
Click on Save button System should
save the record
Y
3 To test
Delete button
able to delete
record
Click on Delete button System should
delete the record
Y
4 To test Pay
button able to
post payment
Click on Pay button Successful
should be
display
Y














Canteen & Catering Management System Chapter 5 : Software Testing

Project 104
Module name : Customer Maintenance
No Objective /
Test Cases
Test Data Expected Result Test
Result
(Y/N)
Remark
1 To test Detail
View button able
to display selected
contract details.
Select a row from
table and click on
Detail View
button.
System should
display selected
contract details.
Y If no row is
selected, then
fields are left
empty
2 To test New
button able to clear
and enable all
fields for input.
Click on New
button
System should
clear and enable
all fields for
input.
Y
3 To test Edit
button able to
enable fields for
editing
Click on Edit
button
System should
enable fields for
editing.
Y
4 To test Cancel
button able to
restore default data
Click on Cancel
button
System should
restore default
data

5 To test Save
button able to save
record
Click on Save
button
System should
save the record
Y If required field
is left empty or
there is no
changes made,
error message
will display
6 To test Delete
button able to
delete record
Click on Delete
button
System should
delete the record
Y





Canteen & Catering Management System Chapter 5 : Software Testing

Project 105
Module name : Catering Order Maintenance
No Objective /
Test Cases
Test Data Expected Result Test
Result
(Y/N)
Remark
1 To test Detail
View button
able to display
selected
contract
details.
Select a row from table
and click on Detail
View button.
System should
display selected
contract details.
Y If no row is
selected, then
fields are left
empty
2 To test New
button able to
clear and
enable all
fields for input.
Click on New button System should
clear and enable
all fields for
input.
Y
3 To test Edit
button able to
enable fields
for editing
Click on Edit button System should
enable fields for
editing.
Y
4 To test
Cancel
button able to
restore default
data
Click on Cancel button System should
restore default
data

5 To test Save
button able to
save record
Click on Save button System should
save the record
Y If required field
is left empty or
there is no
changes made,
error message
will display
6 To test Add
button able to
insert row into
Click on Add button A row is inserted
into order line
table
Y If food already
exists in table,
error message
Canteen & Catering Management System Chapter 5 : Software Testing

Project 106
order line table will display
7 To test
Remove
button able to
remove row
from order line
table
Click on Remove
button
A row is
removed from
order line table
Y
8 To test
Calculate
button able to
calculate the
total amount
for order lines
in the table
Click on Calculate
Total
Total is
calculated and
displayed
Y



















Canteen & Catering Management System Chapter 5 : Software Testing

Project 107
Module name : Catering OrderPayment Maintenance
No Objective /
Test Cases
Test Data Expected Result Test
Result
(Y/N)
Remark
1 To test New
button able to
clear and
enable all
fields for input.
Click on New button System should
clear and enable
all fields for
input.
Y
2 To test Save
button able to
save record
Click on Save button System should
save the record
Y
3 To test
Delete button
able to delete
record
Click on Delete button System should
delete the record
Y
4 To test Pay
button able to
post payment
Click on Pay button Successful
should be
display
Y

Module name : Report Generation
No Objective /
Test Cases
Test Data Expected
Result
Test Result
(Y/N)
Remark
1 To test Sales Report button
able to generate restaurant
sales report.
Click on
Sales
Report
button
System should
generate and
display
restaurant sales
report
Y
2 To test Contract Expiry
Report button able to generate
contract expiry report
Click on
Contract
Expiry
Report
button
System should
generate and
display
contract expiry
report
Y
Canteen & Catering Management System Chapter 5 : Software Testing

Project 108
5.5 Chapter Summary
In system testing, the team member has shown inexperience and testing performed
was not thorough. Thus, a lot of errors were remained discovered and rectified. To address
this, more time and effort were spent on testing and besides this, a few third party testers
which are not responsible in the system coding were specifically requested to help test the
system using their own manners.





















Project Title References

Project 109







Chapter 6

Conclusion

Project Title References

Project 110
C Co on nc cl lu us si io on n
6.1 Introduction
In this chapter, the author has personally evaluated this project in various areas. There are
projects strengths and weaknesses, the achievement of project against its initial objectives
and the future improvement of this project. Besides, he also discussed the research done in
performing this project, the project management issues he faced and lastly a personal
reflection in developing this project.

6.2 Link to seminar
To develop this project, the author has done some researches on Agile software
development. Those researches has facilitated his development process and making it
expeditious. For example, by emphasizing the interaction among team members, one of the
values of Agile software development, better solutions of the problems faced during
development can be drawn effortlessly through discussions. In addition, it also encourages
team-work as members find that their existence is meaningful and thus feel motivated and
more likely to dedicate to the team. Ultimately, it increases productivity.
Besides, the practices in Extreme Programming, one of the variations of Agile
software development, are also effective and useful in authors project. For instance, small
release can help user to specify their requirements based on the existing features and
functionalities of the working software. After that, these changes can be revised and included
into the subsequent version of release. To build small release, continuous integration, one of
the practices, can be applied.
Other than that, refactoring practice has also made the code more readable and
understandable to others and consequently assists the code maintenance. Not only that,
through the code refinement, it results in better system performance by utilizing the
computing resources such as computing power, memory consumption while still performing
the correct functions.

Project Title References

Project 111
6.3 Project management issues
During the production of this project, there were disagreements between team
members regarding issues such as task allocation, adoption of design and etc. Each team
member felt that their tasks over allocated and requested for reduction in his task assignment.
Besides, there were disputes while designing the system, database and etc. and each thought
that their ideas are the better solution to the problem. To resolve these, effective
communication and frequent interaction have been brought into the team. Therefore,
whenever working with other human being, patience and respect must be fostered in order to
minimize the team conflicts and maximize the achievement in the team.

Aside from obvious communication issue, the team also exhibiting poor time
management in this project. Given that the deadline and the important milestones for this
project has been set and known from the beginning, the team still could not meet the deadline
and forced to delay the project again and again. Although it is unavoidable in most of the
software project, but, certain measures should be taken to mitigate its impact such as regular
checkpoint meeting to check the project progress and adopt necessary actions if it is under
schedule.

Last but not least, there were also unexpected situations or risks happened in this
project that caught the team unprepared. For example, a team members computer has
malfunction and lost all of his works. As a result, he not only has to reproduce all of his
previous workings, but the worst of it is that he has to do his work using other peoples
computer and still meeting the project deadline. An important lesson concluded from that is a
project team should not underestimate the potential risks that could occur in a project and in
best practice, they should carry out the risk management by identify risks, analysis risks, and
based on that to come up with the mitigation plan or contingency plan in case the risks have
befell.




Project Title References

Project 112
6.4 Evaluate Project against Objective
This project is developed to achieve four objectives. There are efficiency
improvement, sales improvement, business expansion and better user experience.

To some extent, this system has increased the efficiency in canteen daily business
transactions. As compare to the manual way of performing business transactions in the past,
this new computerized system has faster and higher calculation capability. Therefore, it has
increased the throughput of business transactions. Besides, given the correct input, the new
computerized system can generate zero error, unlike manual works done by human.

With increased efficiency in business transactions, this new computerized system can
also improve the sales in canteen and catering business. This system has sped up the current
business processes by replacing the manual works with computer and also increases its
accuracy. As a result, the students and the customers satisfactions of the services are
relatively improved and this will attract new potential customers to make order with the
canteen.

This system also supports and allows the expansion of the canteen business. When the
canteen business grows, this system can handle the increased business request as it speeds up
the business transactions and therefore, can tolerate large volume of businesses. In addition,
this system can be scaled up to meet and fulfill the requirements of the company future
growth.

Lastly, since this system was implemented in adherence to the user interface design
principles such as consistency, user familiarity, user guidance and etc. and common system
design standards, thus, this system can provide the user with better experience. As such, the
users are willing and glad to this system and this can raise the morale among the canteen staff
and cultivate a positive atmosphere within the working environment.




Project Title References

Project 113
6.5 Evaluate Project against Strength and Weakness
This system primarily using barcode scanner for selecting food in canteen ordering,
but, as a precaution in case the barcode scanner is malfunction, this system has provided an
alternative which is selecting food by using food pictures. Either by using barcode scanner or
food pictures in selecting food, the canteen staff does not need to manually key in the food
ordered by students which will slow down the ordering process. Besides, it is more user
friendly and less wrong food chosen will happen if barcode scanner or food picture is applied
rather than using the physical typing or the selection of text-based choices provided by the
system such as combo box.

Besides, this system also introduces the user password recovery feature which allows
a system user to retrieve his/her password in case he/she has forgotten. Given the right
username, this system can email the user password to an email of users choice. In addition,
the security of this process is enhanced by incorporating the security question and answer pair
in the retrieval process.

Despite the advantages mentioned, this system also has its own shortcomings. First
and foremost, the payment of the canteen order is inefficient as it is still require human effort.
Therefore, there are chances that the canteen staff might miscalculate change given to student
and this will cause loss in money to either the canteen or the student. Other than that, this
manual way of payment is slow and eventually, it may cause the long queue at the cashier
and subsequently decrease the student satisfaction of the service.

Besides, some of the functions and features in this system are simple, insufficient and
immature to fulfill more complicated business transaction. For instance, when defining the
contract between the canteen and the restaurant, there should be more fields and features
involve in it such as penalties enforcement in the case of contract violation. Also, this system
does not allow the user to specify the due date of the payment for the catering order and the
restaurant contract.



Project Title References

Project 114
6.6 Suggestion Future Improvement of the Project

First of all, this project can include the function to help the user to perform the
canteen order payment. Such function can be implemented using Radio Frequency
Technology or Near Field Communication technology which will exponentially increase the
efficiency and the accuracy in canteen order payment.

Furthermore, some of the functions and features in this system can be enhanced and
made complete to support real life transaction requirements. In adding contract to a
restaurant, system should allow the user to define the penalties of contract violation and if
possible, try to handle and execute the penalty on users behalf such as create due payment.
Also, for payment involving restaurant contract and catering order, the system should also
allow the user to specify the due date before which the payment must be made and when it is
overdue, the system should automatically overcharge for this payment.

Besides, this system should also let the user to specify the expiry date for food to be
ordered in canteen and provide mechanism for handling expired food such as alerting the user
by message or automatically remove the food from the canteen menu and etc.

Apart from food, this system should also introduce a module used to manage the
canteen inventory so that it can aid the canteen management to plan for material requirement,
achieve stock utilization, minimize the loss in purchasing and etc.

















Project Title References

Project 115
6.7 Personal Reflection
While I was developing this project, I have faced various problems. For example, I do
not know how to design my database so that it can support the system operations to help
performing the daily business transactions on users behalf. Therefore, I have sought for help
from my colleague at my internship company about my database design. He has showed me
several designs of some of the uncertainties that I have and even discussed about the
strengths and weaknesses of each of the design. In the end, I chose the design I thought best
in my situation and also within my understanding. I have also referred to some of the real life
application database designs that I found to aid in decision making.

Besides, in programming, I have also encountered numerous obstacles. A common
difficulty would be lack of programming knowledge. Sometimes, I was clear of the desired
effect or outcome that I wished but I did not know the implementation details or the specific
codes that can perform it. Thus, I went online and searched for the codes that do it and if
possible, try to understand it and run a few times to achieve my expectations. There were also
times that my research did not bring any results and I have no choice but to renounce my
initial thought and looked for other alternatives that can give the closest possible result. In
some cases like algorithm design, Internet does not provide the solution as it involves the
application of the existing programming concepts and knowledge that I already know.
Therefore, I have to come up with my own algorithm in order to produce the desired output.
It is not an easy task. First, I identified what are the things or operations that an algorithm
must do such as any user messages or calculations. After solving the smaller and paramount
portions in an algorithm, I sorted the execution order of these portions of codes as it will
affect the outcome of the algorithm. Once it was arranged, I ran a few times and observed the
output. If the expected output is generated, I will refactor the codes of this algorithm by
removing redundant codes or even add certain codes to improve the efficiency of this
algorithm.






Project Title References

Project 116
After carried out this project, I have gained the experiences of how to develop a
project from the beginning to the end in a proper way that I have not gone through before. In
this project, I have been exposed to the several phases in software project development and
understood in detail the tasks carried out in each phases along with its deliverables.
Therefore, I have grasped the fundamental knowledge and experiences of certain areas in
project development especially in programming. By coding this project, I have again
improved my experience, style, knowledge and other aspects in programming which not only
allows me to produce better program in the future, but also makes me more capable in finding
the bugs and the deficiencies a program may contain. Besides programming, I have also
involved myself in areas such as testing, designing, planning and etc. These experiences are
valuable assets for me in participation of any project development in the future.


















Project Title References

Project 117
R Re ef fe er re en nc ce es s
Beck, K 1999, Extreme Programming Explained: Embrace Change, Addison Wesley
Professional, Boston

Beedle, M, Bennekum, AV, Cockburn, A, Cunningham, W, Fowler, M, Highsmith, J ,
Hunt, A, J effries, R, Kern, J , Marick, B, Martin, RC, Schwaber, K, Sutherland, J ,
Thomas, D 2001, Principles behind the Agile Manifesto, viewed 5 October 2011, <
http://agilemanifesto.org/principles.html>.

Fernandez, DJ , Fernandez, J D 2008, Agile Project Management Agilism Versus
Traditional Approaches, The J ournal of Computer Information Systems, vol. 49, no.
2, pg. 10-19, viewed 7 October 2011, <
http://proquest.umi.com.tarcez.tarc.edu.my/pqdweb?index=0&did=1641412751&Srch
Mode=1&sid=4&Fmt=6&VInst=PROD&VType=PQD&RQT=309&VName=PQD&
TS=1318130445&clientId=16428>

S. B. Patil, Srikantha Rao, P. S. Patil 2011, Agile Principles as a Leadership Value
System in the Software Development: Are We Ready to be Unleashed?, Proceedings
of the International Conference & Workshop on Emerging Trends in Technology, pp.
765-766, viewed 7 October 2011, <
http://delivery.acm.org.tarcez.tarc.edu.my/10.1145/1990000/1980188/p765-
patil.pdf?ip=202.184.223.19&acc=ACTIVE%20SERVICE&CFID=46774682&CFT
OKEN=11683548&__acm__=1318131161_891e1814be401d072a2ac3a3041a5f4c>






Canteen and Catering Management System Chapter 3 : System Design

U Us se er r G Gu ui id de e
Login Module Login Screen













1. User has to key in his/her user name in the user name text field.
2. User has then key in his/her password in the user password text field.
3. Click on Login button after both step 1 and 2 have been done.
4. If user name or password is incorrect, notification message dialog will be displayed.








Canteen & Catering Management System User Guide

Project 119
Canteen Main Menu Module

To access the modules listed in the left panel:
1. Click on the wanted module.
2. The wanted module user interface will be displayed in the right panel which has set it as
J InternalFrame.









Canteen & Catering Management System User Guide


Food Management Module

1. At first, all the food records have retrieved from the database and being shown in the
JTable list.
2. User may perform search function which is only required to key in the food name, then
filtering functionality will be triggered and search by its name.
3. In order to perform new, edit, delete, save and cancel functions, user is required to click
on Detail View button.








2
3
Canteen & Catering Management System User Guide

<Continued>

4. User first comes into Summary View, he/she could only perform New function for the
very first step of adding new record.
5. Assumption: all fields details have been inserted and Save the record.
6. Information message will be displayed successfully message as New food already
added!

4
6
Canteen & Catering Management System User Guide

<Continued>

7. Search or select the record in the JTable list, then click on Detailed View button in
order to perform edit function.
8. Click on Edit button and particular fields would be enabled to make changes on them.
9. After amendments, user can click on Cancel button to abort the operation if proceed with
Yes, otherwise, No, the operation would be restored to defaulted information.


7.1
7.2
7.3
8 9
Canteen & Catering Management System User Guide

<Continued>












10. Click on save button to update the current operation.
11. Information message will be displayed successfully message as Record already
updated!





















9.1 9.2
10
Canteen & Catering Management System User Guide

<Continued>


12. Search or select the record in the JTable list, user can delete the record in either
Detailed View or Summary View.



























12.1
12.2
12.3
Canteen & Catering Management System User Guide

Restaurant Management Module





1. Click on Restaurant Module icon from the left panel and the desired J InternalFrame will
be displayed at the right panel.
2. There are three tabs options to be selected. At first, at Restaurant tab, Select the record
from JTable list or Search a record which has already contracted with restaurant.













1
2.1
2.2
Canteen & Catering Management System User Guide

<Continued>


3. User will notice theres a contract for particular restaurant which the status is still under
Negotiating.
4. In order to make the contract be effective, user is required to click the Detailed View
button in order to perform edit function.



5. User will then notice the edit and deletebuttons are enabled to be clicked for further
actions performed before making the contract to effective.
6. User can now click on Put Effective button

3
4
5.1 5.2
6
Canteen & Catering Management System User Guide












































7. Confirmation message will be displayed Are you sure you want to execute this
contract?, if Yes, the contract will be updated to Effective, and information message
will be displayed that Contract has been put effective. Otherwise, No, the action will
be turned back to defaulted.









7.1
7.2
7.3
Canteen & Catering Management System User Guide

Project 128
Payment Module



























































Canteen & Catering Management System User Guide

Project 129




























































Canteen & Catering Management System User Guide

Project 130




























































Canteen & Catering Management System User Guide

Project 131




























































Canteen & Catering Management System User Guide

Project 132
Report Module



























































Canteen & Catering Management System User Guide

Project 133

You might also like