Date post: | 03-Jun-2018 |
Category: |
Documents |
Upload: | ghodghod123 |
View: | 217 times |
Download: | 0 times |
of 141
8/12/2019 EngWeiSengAIA 201112F
1/141
Canteen and Catering Management System Acknowledgement
CCaanntteeeennaannddCCaatteerriinngg
MMaannaaggeemmeenntt SSyysstteemm
By
ENG WEI SENG
SCHOOL OF ARTS AND SCIENCETUNKU ABDUL RAHMAN COLLEGE
KUALA LUMPUR
ACADEMIC YEAR
2011/2012
8/12/2019 EngWeiSengAIA 201112F
2/141
Canteen and Catering Management System
Project ii
CCaanntteeeennaannddCCaatteerriinnggMMaannaaggeemmeennttSSyysstteemm
By
ENG WEI SENG
Supervisor: Ms. WONG YIN CHENG
A project report submitted to the School of Arts and Scienceinpartial 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 ScienceTunkuAbdulRahmanCollege
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.
8/12/2019 EngWeiSengAIA 201112F
3/141
Canteen and Catering Management System Declaration
Project iii
DDeeccllaarraattiioonn
The project submitted herewith is a result of my own efforts in totality and in every
aspects of the project works. All information that has been obtained from other
sources had been fully acknowledged. I understand that any plagiarism, cheating or
collusion or any sorts constitutes a breach of College rules and regulations and would
be subjected to disciplinary actions.
__________________________
Students Name :Eng Wei Seng
Course :Advanced Diploma Cum Bachelor in Science
(Information Systems Engineering)
8/12/2019 EngWeiSengAIA 201112F
4/141
Canteen and Catering Management System Abstract
Project iv
AAbbssttrraacctt
This project is carried out as a partial fulfillment of the requirement
forAdvanced Diploma in Science cum BS Degree (Information Systems Engineering) toassess 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.
8/12/2019 EngWeiSengAIA 201112F
5/141
Canteen and Catering Management System Acknowledgement
AAcckknnoowwlleeddggeemmeenntt
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.
8/12/2019 EngWeiSengAIA 201112F
6/141
Canteen and Catering Management System Table of Contents
Project vii
TTaabblleeooffCCoonntteennttss
8/12/2019 EngWeiSengAIA 201112F
7/141
8/12/2019 EngWeiSengAIA 201112F
8/141
Canteen and Catering Management System Table of Contents
Project ix
6. Conclusion ...................................................................................................................... 109
6.1 Introduction .......................................... ........................................... .................................. 110
6.2 Link to Seminar ................................................................................................................ 1106.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 ........................................................ ........ 1146.7 Personal Reflection ...................................... .............................................. ............ 115 & 116
7. References ...................................................................................................................... 117
8. User Guide ........................................................................................................... 118 - 133
8/12/2019 EngWeiSengAIA 201112F
9/141
Canteen & Catering Management System Chapter 1:System Planning
Project 1
Chapter 1
System Planning
8/12/2019 EngWeiSengAIA 201112F
10/141
8/12/2019 EngWeiSengAIA 201112F
11/141
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.
8/12/2019 EngWeiSengAIA 201112F
12/141
Canteen & Catering Management System Chapter 1:System Planning
Figure1.3.0.1
TheHiera
rchicalChartoftheprojectscope
1.3 Project Scope
8/12/2019 EngWeiSengAIA 201112F
13/141
Canteen & Catering Management System Chapter 1:System Planning
1.4 Project Schedule
8/12/2019 EngWeiSengAIA 201112F
14/141
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 SengEng Wei Seng
Eng Wei Seng
2. Staff Maintenance Module Pay SikKok3. 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
8/12/2019 EngWeiSengAIA 201112F
15/141
Canteen & Catering Management System Chapter 1:System Planning
Project 7
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
8/12/2019 EngWeiSengAIA 201112F
16/141
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 SpecificationSoftware NetBeans IDE 6.9.1 and above
o (use for coding and its more familiar for own use)
Java SE Development Kit 6 Update 24o (machine independent)
Microsoft Word 2007/10o (use for documentation and for jotting notes purposes)
Microsoft Project 2010o (use for drawing Gantt chart)
Oracle 10g and aboveo (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 Java(open source in J2EE Frameworks UML & Modeling)
Database Oracle(includes many versions to the ANSI/ISO standard SQLlanguage and Oracle tools and applications provide additionalcommands.)
8/12/2019 EngWeiSengAIA 201112F
17/141
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
8/12/2019 EngWeiSengAIA 201112F
18/141
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, Jeffries, 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.
8/12/2019 EngWeiSengAIA 201112F
19/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 11
Chapter 2
Requirements Analysis
8/12/2019 EngWeiSengAIA 201112F
20/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 12
RReeqquuiirreemmeennttssAAnnaallyyssiiss
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 8th
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.
8/12/2019 EngWeiSengAIA 201112F
21/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 13
2.3 Fact Recording
2.3.1 Act ivi ty Diagram
8/12/2019 EngWeiSengAIA 201112F
22/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 14
8/12/2019 EngWeiSengAIA 201112F
23/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 15
8/12/2019 EngWeiSengAIA 201112F
24/141
8/12/2019 EngWeiSengAIA 201112F
25/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 17
8/12/2019 EngWeiSengAIA 201112F
26/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 18
8/12/2019 EngWeiSengAIA 201112F
27/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 19
8/12/2019 EngWeiSengAIA 201112F
28/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 20
8/12/2019 EngWeiSengAIA 201112F
29/141
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
8/12/2019 EngWeiSengAIA 201112F
30/141
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 Responses1. 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 FoodSearch 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 id3. 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
8/12/2019 EngWeiSengAIA 201112F
31/141
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 StaffMain 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
8/12/2019 EngWeiSengAIA 201112F
32/141
8/12/2019 EngWeiSengAIA 201112F
33/141
8/12/2019 EngWeiSengAIA 201112F
34/141
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 Responses1. 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 storethis 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 messageA-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
8/12/2019 EngWeiSengAIA 201112F
35/141
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
8/12/2019 EngWeiSengAIA 201112F
36/141
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 Menu2. 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 willclick 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
8/12/2019 EngWeiSengAIA 201112F
37/141
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 willprompt 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
8/12/2019 EngWeiSengAIA 201112F
38/141
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 Menu2. 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.
8/12/2019 EngWeiSengAIA 201112F
39/141
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 therestaurant 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 messageA-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
8/12/2019 EngWeiSengAIA 201112F
40/141
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 theentered 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
8/12/2019 EngWeiSengAIA 201112F
41/141
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 detailsAlternative 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.
8/12/2019 EngWeiSengAIA 201112F
42/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Figure2.3.3.1
TheInitialClassDiagram
2.3.3 Initial Class Diagram
8/12/2019 EngWeiSengAIA 201112F
43/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 35
2.4 Fact Analysis
2.4.1 General Descr ipt ion
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 manualmanner 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.
8/12/2019 EngWeiSengAIA 201112F
44/141
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.
8/12/2019 EngWeiSengAIA 201112F
45/141
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 Java.
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.
8/12/2019 EngWeiSengAIA 201112F
46/141
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 textfield 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.
8/12/2019 EngWeiSengAIA 201112F
47/141
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 boldtype 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.
8/12/2019 EngWeiSengAIA 201112F
48/141
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.
8/12/2019 EngWeiSengAIA 201112F
49/141
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 enterit into the system. Validation check will be performed on
inputted data to ensure the accuracy of the data. An error message will be
promptedif there is any incorrect input data.
Process System will calculatethe total amount for the order and then putthe
order in a queue.
Output A new order is finished added.
Order Sequencing
Process For a newly added order, system will enqueueit 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 addedto the queue.
Search Order
Input - Order taking staff will enterthe 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 printedon screen as notification.
Process The system will searchfor the record based on the key provided.
Output The related order information will be displayedon screen if there is any
match found. If there is no match found, an informational window withappropriate and friendly message will be promptedto the user.
8/12/2019 EngWeiSengAIA 201112F
50/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 42
Delete Order
Input Search order process will be initiatedfirst.
Process Staff can now deletethe selected record by clicking the provided delete
button. A confirmation window will be promptedto ask for users final
decision.
Output The selected record is deletedfrom the system with a successful message
indicates its removal.
Total Calculation
Process System will retrievethe price of a food for a particular order item in an
order and multiplyit with the quantity ordered for this order item in this
order. The total is then addedwith 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 displayedon the right field by the system.
8/12/2019 EngWeiSengAIA 201112F
51/141
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 entersrestaurant information into the system. Before it is been stored,
these inputs will be validatedits accuracy and if any mistake found, a
message will be printed.
Process A new record is created in the system to storethis 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 verifiedand if the inputs is incorrect, a dialog will be
promptedto remind the user.
Process Based on the information provided, the system will start searchfor that
particular record.
Output If the desired record is located, its relating information will be printedon
screen. On the contrary, if the record is not found, a message will be
displayto inform the user.
Edit Restaurant
Input System will start the searchprocess first.
Process The whole record information is displayedon screen and user can now editonly certain fields as some of the fields are unchangeable. If any mistake
occurs within, an error window will be pop outas a reminder.
Output System will keptthe latest changes of the record and a message is printed
at the end of the whole process.
8/12/2019 EngWeiSengAIA 201112F
52/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 44
Delete Restaurant
Input System will searchfor 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 displayedby the system.
Output The restaurant record is removedfrom the system and a window will be
promptedto end this deletion process.
Add Contract
Input Canteen management will enterall the contract detail into the system and
these inputs will be checkedto ensure its correctness. An error message will
bedisplayedif these information contain defect.
Process System will storethis new contract into database.
Output A window will pop outsaying that this new contract already been stored
into the system.
Search Contract
Input Canteen management will key inthe information which is specific per each
contract. A validationcheck will be performed to make sure the information
provided is logic and a dialog will be promptedif the information is not
correct.
Process System will use this information and start searchingfor this contract.
Output System will displaythe contract detail if there is any result returned. Else,
A message will be printedto tell the user that no record returned.
8/12/2019 EngWeiSengAIA 201112F
53/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 45
Edit Contract
Input System will start the searchingfirst.
Process Canteen management can now modifythe 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
displayan error message to correct the user.
Output When the action has completed, the system will keepthe changes
of this contract and printa window indicates that the modification is
saved.
Delete Contract
Input The desired contract will be searchedby the system first.
Process A confirmation message will be promptedto the user when he/she chooses
to delete the contract by pressing the delete button.
Output System will deletethe contract when user chooses yes in the previous
confirmation dialog and another dialog will be displayedwhen the contract
has been successfully removed.
Execute Contract
Input Search contract process will be initiatedfirst.
Process User will clickthe button to execute the contract and a window will be
promptedto 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 printedto indicate the success of executing a contract
Add Payment
Input Canteen management inputsthe payment information which will be
validatedinto the system. If these information are proved to be false, an
error message will be printedto ask user to re-input.
Process These information inputted are storinginto the system.
Output When the addition is done, system will display a dialog to the user
which contains the summary of the action.
8/12/2019 EngWeiSengAIA 201112F
54/141
8/12/2019 EngWeiSengAIA 201112F
55/141
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 enteredinto the system. A validationcheck
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 storedinto the system.
Output System will displaya dialog to inform the user that the new customer
information is being successfully stored.
Search Customer
Input User will enterthe unique customer information such as customer id which
identifies a customer in this subsystem. An error message will be printedif
mistake is found on the inputted data during data validation.
Process System will searchfor this particular customer using the key provided.
Output The whole information of the customer is displayedon screen if it is
located. Else if it cannot been located, system will printa dialog to
enlighten the user.
Edit Customer
Input Customer information where user wishes to delete will be searchedfirst.
Process User can now editthe fields which he/she would like to modify. Otherunchangeable fields are showed as read-only. A meaningful message
will be printedto correct the user if he/she makes a mistake in changing
the fields.
Output System will storedthe modified record and a window will pop outafter
the storing is complete.
8/12/2019 EngWeiSengAIA 201112F
56/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 48
Delete Customer
Input The desired record will be searchedfirst.
Process By clicking the delete button, a dialog will pop out ask for users
confirmation.
Output System will deletethe record from it and displaya message after its
removal.
8/12/2019 EngWeiSengAIA 201112F
57/141
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 enterthe order information into the system and before storing
the data, a validationcheck will be carried out and if the inputted data is
incorrect, a dialog will be promptedto warn the user.
Process A new order record is storinginto the system.
Output System will display a message after the record is correctlysavedinto the
system.
Search Order
Input To search an order, user must key inthe information which uniquely
identifies an order. Validationcheck will be conducted and an error message
willpop outif mistake found.
Process System will start the searchprocess for this particular order.
Output If the record found, system will displaythe related order information and if
the search returns no result, system will then displaya window to enlighten
the user.
Edit Order
Input System will searchfor the record which a user wants to edit.
Process User can now start to modifythe order but its unchanging fields are left
intact. An error message will be printedto alert the user if he/she makes
an inappropriate change.
Output System will updatethis record and displaya dialog after the update isfinish.
8/12/2019 EngWeiSengAIA 201112F
58/141
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 searchedfirst.
Process When the record is found, user can cancelthis 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 calculatethe 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 displayedin the
corresponding field.
Add Payment
Input Payment details are enteredinto the system it will be validatedto ensure
accuracy. If the inputs are faulty, system will printa dialog on monitor to
grab user attention to the error.
Process System will create a new record to holdthe new payment.
Output New payment is storedwith a successful message printto the user.
8/12/2019 EngWeiSengAIA 201112F
59/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 51
Search Payment
Input User have to inputkey value which represent a payment and if the format of
the value is inaccurate, user will be alertedby an error message.
Process The searchprocess is executed by the system.
Output The corresponding information of the payment is displayedon screen if it
is located. If not, a dialog will be popped outto notify the user.
Delete Payment
Input System will advance the searchprocess first.
Process User can now choose to deletethis record by clicking the delete button
provided. Before the actual erasure, system will displaya dialog to get
users affirmation.
Output The record is erasedfrom 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
displayedto get users affirmation.
Output Payment is considered postedand henceforth cannot be amended and
erased from system.
8/12/2019 EngWeiSengAIA 201112F
60/141
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 keepthis new food information.
Output System will printa message to the user once this food has been stored.
Search Food
Input Canteen management has to key inthe food information which will be
used for searching. An error message will be printedif defect is found
during data validation.
Process System will initiate the searchingprocess.
Output The food information are printedon screen once it is found.
Edit Food
Input The food which will be amended is searchedfirst.
Process User can now proceed with modifyingthe record. Before it is saved into
the database, system will make certain that the amendment is legitimate by
showinga message if the alteration is illogical.
Output The newest changes are savinginto the system and a window will be
promptedto notify the user.
8/12/2019 EngWeiSengAIA 201112F
61/141
Canteen & Catering Management System Chapter 2: Requirement Analysis
Project 53
Delete Food
Input System will advance the searchprocess first.
Process User can now choose to deletethis record by clicking the delete button
provided. Before the actual erasure, system will displaya dialog to get
users affirmation.
Output The record is erasedfrom the system. After that, a window will be shown
to notify the user that the record is deleted.
8/12/2019 EngWeiSengAIA 201112F
62/141
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.
8/12/2019 EngWeiSengAIA 201112F
63/141
8/12/2019 EngWeiSengAIA 201112F
64/141
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.
8/12/2019 EngWeiSengAIA 201112F
65/141
8/12/2019 EngWeiSengAIA 201112F
66/141
Canteen & Catering Management System Chapter 3: System Design
Project 58
SSyysstteemmDDeessiiggnn
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
8/12/2019 EngWeiSengAIA 201112F
67/141
Canteen & Catering Management System Chapter 3: System Design
Project 59
8/12/2019 EngWeiSengAIA 201112F
68/141
Canteen & Catering Management System Chapter 3: System Design
Project 60
8/12/2019 EngWeiSengAIA 201112F
69/141
Canteen & Catering Management System Chapter 3: System Design
Project 61
8/12/2019 EngWeiSengAIA 201112F
70/141
Canteen & Catering Management System Chapter 3: System Design
Project 62
8/12/2019 EngWeiSengAIA 201112F
71/141
Canteen & Catering Management System Chapter 3: System Design
Project 63
8/12/2019 EngWeiSengAIA 201112F
72/141
Canteen & Catering Management System Chapter 3: System Design
Project 64
8/12/2019 EngWeiSengAIA 201112F
73/141
Canteen & Catering Management System Chapter 3: System Design
Project 65
8/12/2019 EngWeiSengAIA 201112F
74/141
Canteen & Catering Management System Chapter 3: System Design
Project 66
Final Class Diagram
8/12/2019 EngWeiSengAIA 201112F
75/141
Canteen & Catering Management System Chapter 3: System Design
Project 67
State Chart Diagram
8/12/2019 EngWeiSengAIA 201112F
76/141
Canteen & Catering Management System Chapter 3: System Design
Project 68
Deployment Diagram
8/12/2019 EngWeiSengAIA 201112F
77/141
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
8/12/2019 EngWeiSengAIA 201112F
78/141
Canteen & Catering Management System Chapter 3: System Design
8/12/2019 EngWeiSengAIA 201112F
79/141
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.
8/12/2019 EngWeiSengAIA 201112F
80/141
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.
8/12/2019 EngWeiSengAIA 201112F
81/141
Canteen & Catering Management System Chapter 3: System Design
Click yes to abort the editing
The original information are restored
8/12/2019 EngWeiSengAIA 201112F
82/141
8/12/2019 EngWeiSengAIA 201112F
83/141
Canteen & Catering Management System Chapter 3: System Design
8/12/2019 EngWeiSengAIA 201112F
84/141
Canteen & Catering Management System Chapter 3: System Design
Project 76
3.4 Database Design
Entity Relationship Diagram (ERD)
8/12/2019 EngWeiSengAIA 201112F
85/141
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
8/12/2019 EngWeiSengAIA 201112F
86/141
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
8/12/2019 EngWeiSengAIA 201112F
87/141
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
8/12/2019 EngWeiSengAIA 201112F
88/141
8/12/2019 EngWeiSengAIA 201112F
89/141
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
JoinedDate 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
8/12/2019 EngWeiSengAIA 201112F
90/141
8/12/2019 EngWeiSengAIA 201112F
91/141
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
8/12/2019 EngWeiSengAIA 201112F
92/141
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, JoinedDate,
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)
8/12/2019 EngWeiSengAIA 201112F
93/141
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 withmaximum length
Example: The Report Datewould be followed by whathas parameterized beforethe report is generated.
8/12/2019 EngWeiSengAIA 201112F
94/141
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 Datewould be followed by whathas parameterized beforethe report is generated.
Example: 50 characters withmaximum lengthit has used Group By methodto query in SQL
8/12/2019 EngWeiSengAIA 201112F
95/141
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.
8/12/2019 EngWeiSengAIA 201112F
96/141
Canteen & Catering Management System Chapter 4:Programming
Project 88
Chapter 4
Programming
8/12/2019 EngWeiSengAIA 201112F
97/141
Canteen & Catering Management System Chapter 4:Programming
Project 89
PPrrooggrraammmmiinngg
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 Java languagesinceout of the handful
standalone application development languages, Java 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 toknow 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 Java language, therefore, Netbeans IDE is chosen as it is designed for Java
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.
8/12/2019 EngWeiSengAIA 201112F
98/141
8/12/2019 EngWeiSengAIA 201112F
99/141
Canteen & Catering Management System Chapter 4:Programming
Model
8/12/2019 EngWeiSengAIA 201112F
100/141
8/12/2019 EngWeiSengAIA 201112F
101/141
8/12/2019 EngWeiSengAIA 201112F
102/141
Canteen & Catering Management System Chapter 5: Software Testing
Project 94
Chapter 5
Software Testing
8/12/2019 EngWeiSengAIA 201112F
103/141
Canteen & Catering Management System Chapter 5: Software Testing
Project 95
SSooffttwwaarreeTTeessttiinngg
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 ofcode. 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.
8/12/2019 EngWeiSengAIA 201112F
104/141
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.
8/12/2019 EngWeiSengAIA 201112F
105/141
8/12/2019 EngWeiSengAIA 201112F
106/141
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
select