Upload
kumaresan-subramaniam
View
617
Download
5
Embed Size (px)
Citation preview
Waiter On Wheels – Group 6 System Analysis and Design
ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY
SYSTEM ANALYSIS AND DESIGN 2
FINAL DOCUMENTATION FOR WAITERS ON WHEELS
1
Waiter On Wheels – Group 6 System Analysis and Design
1.0 Introduction
Waiters on Wheels is a restaurant meal-delivery service started in 1997 by Sue and Tom
Bickford. To make a long story short, after the restaurant prepares the meal to order, it charges
Waiters on Wheels a wholesale price, and the customer pays retail plus a service charge and
tip. However, the business rapidly expanded, and the company realized they needed a
customer computer system to support their business operations. They hired my consultant firm
to help them define what sort of a system they needed.
Our development team consists of 3 members, Harry Ho Lap Cong, Haris Irawan, and Hew Jenn
Shyung. We started working on the project on 2nd October 2006 and the following is the
outcome of our project
2
Waiter On Wheels – Group 6 System Analysis and Design
1.0 Project Background
2.1 Logical Assumption
In the case study, some logical assumptions have been made. Among them are that
there will be 4 drivers or waiters on wheels, 2 at non-peak hours and all 4 at peak hours that
will deliver food ordered. Operation hours will be from 10.00 am to 12.00 am daily while peak
hours will be from 12.00 pm to 2.00 pm and 6.00 pm to 8.30 pm. Drivers that work full time
(peak and non-peak hours) will be paid RM 1,500.00 a month while part-time drivers (peak
hours only) will be paid RM 600.00 a month.
Besides that, there will be 2 operators taking orders during operation time. These 2
operators will be paid RM 1,200.00 a month.
Walkie-talkies will be provided for operators and drivers to ease communication.
Waiters on wheels will only be in operation around an area, Technology Park Malaysia,
Sri Petaling and around Bukit Jalil, and restaurants that are included in our services include 1
KFC restaurant, 2 mamak stalls, Restoran Jamal and Restoran Akmal, and 2 chinese coffeeshop,
Restoran Chuan Lee and Restaurant 888 which provide variety of Chinese food.
Service charges will be RM 2.00 per order from each restaurant and RM 1.00 per
kilometer from the restaurant to the destination.
Receipts will be given showing distance, price of order and service charges. Customers
need to sign the receipt upon delivery as acknowledgement of delivery.
3
Waiter On Wheels – Group 6 System Analysis and Design
2.2 Objective
1. To design a system that is cost-efficient
2. To design a system that is usable, scalable, and reliable
3. To design a system that is free of human error
4. To design a system that reduces delivery processing time
5. To design a system that is accessible to customers at the comfort of their homes via internet.
4
Waiter On Wheels – Group 6 System Analysis and Design
2.3 Problems Identification and Suggested Solution
1. Peak Hour
During peak hour (lunch hour and dinner time) the number of order would be
significantly high. While during non-peak hour, the number of order would be relatively
low. Therefore the company cannot afford to hire too many permanent drivers just to
cope with the peak hour and have no job for the drivers to do during non-peak hour.
This would be a waste of financial resource if the man power is not fully utilized.
Suggested Solution: Hiring 2 permanent drivers and 2 part-time drivers. This would cut
down the cost of hiring excessive drivers and man power would be fully utilized. This is
explained in detail in Logical Assumption
2. Prank Call
Prank call is a common problem in food delivery industry. For food delivery industry, a
prank call is the situation where a person orders food for someone else without the
receiver’s permission, and very often the receiver would refuse to accept the food and
pay for it. The utmost problem with prank call is that a big amount of order would be
placed and there will be no receiver. Not only it would waste the food but also waste
many aspects of resources from the delivery company such as driver’s time and vehicle
petrol.
Suggested Solution: When a customer orders food for the first time, he is required to
register himself in the delivery company database. During the registration process, the
customer will be prompted for his address. The address that he entered would be the
address the food will be delivered. In other words, he is not able to order food for
someone else. Once the customer is registered, the delivery company would collaborate
with Telekom Malaysia to ensure the phone number and the address does not conflict
with each other. Therefore, using a mobile phone is not able to make an order. A fix
number is required to avoid prank call.
5
Waiter On Wheels – Group 6 System Analysis and Design
3. Cancelling or changing order when meal is cooked.
Customers might change their mind. If any customer cancel or change the order after
the meal is cooked, it would place WoW in disadvantage.
Suggested Solution: As the customer change the order via calling the operator, the
operator explain to the customer that the food is already cook and the food will be on
their door step soon. However if the customer insists that he would like to cancel the
food and refuse to pay for it, the food will be return back to the restaurant. The
restaurant would sell the food to their customers in the restaurant with a cheaper price.
Besides, the delivery company would black list this particular customer who cancel or
change food order if he repeat raising the problem for second time in 6 months.
4. Difficulty finding delivery place.
It is common for driver from any industry to face the problem of difficulty of finding
targeted location. The drivers from WoW are required to deliver the food on time,
therefore failing to find the customer’s address would decrease the company credibility.
Suggested Solution: Each driver will be assigned a location as their respective location.
Whatever order come from that area will be handled by the respective driver. This
would allow the driver to be more familiar with “his location” so that he can accomplish
his task more effectively.
5. Customers are unsure of what to order.
Customers frequently ask for the menu from the operator as they are unsure of what to
order. The customers would shamelessly request the operator to list out all the available
food. This situation would slow down the operation of WoW because the operator is
unable to take other customers’ order if the phone is occupied by one particular
customer. And do not be surprise there are many customers would raise the same
problem.
6
Waiter On Wheels – Group 6 System Analysis and Design
Suggested solution: There will be a timer being installed in the operator telephone. One
call can only occupy the line for 2 minute. If one particular phone call exceed 2 minute, a
pre-recorded message will be play and the phone will be hung up. The pre-recorded
message is “We would like to apologize that your session has reach 2 minute and it is
expired, please call again to make your order.”
However if the operator notice that the customer is unable to make a decision of what
food to order, the operator will recommend the “Everyday Special” meal. If the
customer is still not satisfied with the “Everyday Special” meal, the operator would
invite the customer to visit the company webpage to see the full list of food menu.
7
Waiter On Wheels – Group 6 System Analysis and Design
2.4 Opportunity
By having such a system, Waiters on Wheels gains advantages as following.
Internet fees in Malaysia are much cheaper than other countries. For example, Telekom
Malaysia Streamyx is coming out with affordable and cheap internet package. By paying RM 66
per month, you can get 512kbps with unlimited access. Or if you need a faster connection
speed, you can get the 100Mbps for only RM88. Unlike other countries such as Australia, they
charge the internet fee by how many bytes you use every month. Because of that, Waiters on
Wheels’ customers does not need to worry about the phone bill because through internet,
phone call is free!
As everyone knows, Malaysia is a multi-racial country such as Malay, Indian, Chinese, Orang Asli
and etc. Every race have their own taste in food. For example coconut milk, chillies and belacan
are the main ingredients in Malay cooking while Chinese are more on rice. Because of Waiters
on Wheels offer different kind of food, it gains more and more business because people get
more choice on food.
In conclusion, Waiters on Wheels gains more advantages than disadvantages. Customers feel
satisfy not only because of the variety of food but also the delivery service system they have.
It’s easy, fast, and efficient.
8
Waiter On Wheels – Group 6 System Analysis and Design
2.0 Information Requirement
3.1 Summary of Fact Finding
According to what we have gone through the interview, we can see that McDonalds have a
very systematic way of management. There's always a backup available when something is
going wrong. McDonald has a call center. The server is located at India because there is
advanced but yet cheap. In case the server goes wrong, they have a backup server which is
located near KLCC, KL.
Each outlet has its own riders and each outlet has a distinct coverage area. If a customer
calls in from a location that is not covered, the automated system will tell the customer that
their area are not covered and directs them to the nearest outlet. Each outlet has their own
coverage areas because they want to make sure that orders will be delivered to customer in
30 minutes time. A rider usually only carry 1 order but if circumstances call for it, it can be
happen that rider carry more than 1 order.
Besides that, they have a roaster whereby says who would play the order taker, the runner
and the cashier on a given day. When the rider is on a trip, they carry cell phones along so
that when facing problem such as mechanical breakdown, they can call in to notify the
outlet.
Before setting out, the drivers take an amount of cash with them as change. This amount
taken is recorded, along with the amount of payment due to be collected. The driver
collects the amount from the customer, and returns everything to the outlet once he/she
returns. Everything is checked and logged, They have very strict policies with money
handling.
The riders are given an attendance allowance which is paid based on the time they spend on
standby at the outlet. They are given other allowances such as hand phone top up, laundry
and petrol. Of course, they are also given a fixed monthly salary.
9
Waiter On Wheels – Group 6 System Analysis and Design
10
Waiter On Wheels – Group 6 System Analysis and Design
3.2 Feasibility Studies 3.2.1 Schedule 3.2.1.1 Gantt Chart
11
Waiter On Wheels – Group 6 System Analysis and Design
12
Waiter On Wheels – Group 6 System Analysis and Design
13
Waiter On Wheels – Group 6 System Analysis and Design
3.1.2.1 PERT Chart
14
Waiter On Wheels – Group 6 System Analysis and Design
3.2.2 Technical
3.2.2.1 Hardware
In the system, there is a server and a desktop. The server contains the website and database for
customer information. An operator operates the desktop and stores information into the
server. When a customer who already has his or her information stored in the database calls,
the details of the customer will be shown on the desktop. If however a new customer calls, the
operator is required to fill in a form to store the customer’s details into the database. Below is
the optimal technical requirement to serve the system.
Comparison
of both desktops
shows that Dell is the
superior choice. This
is because among
others, it has the
cheaper price and
more value for money
15
Dell Dimension
E521
HP Business
Desktop d325
Microtower
Comparison
AMD Athlon 64
Processor 3500+
AMD Athlon XP
Processor 2800+
Dell has faster
processor
Windows XP Home
Edition
Windows XP Home
Edition
Same
512 MB DDR-2
SDRAM
256 MB DDR
PC2700 SDRAM
Dell has bigger
capacity RAM
160GB SATA HDD
3.0GB
40GB HDD Dell has bigger
capacity HDD
1-Year Limited
Warranty
Optional Upgrade
To 3 Years
3-Year Parts, 1-Year
Labour, 1-Year On-
Site Warranty
Same
Price : RM 1949 Price : RM 2399 Dell is cheaper
Waiter On Wheels – Group 6 System Analysis and Design
specifications. As shown above, it is clear that the Dell desktop is a better choice than the one
compared to it.
Dell PowerEdge SC
440
HP ProLiant ML 110 Comparison
Intel Pentium D
Processor 915,
2.80GHz, 800MHz
FSB
Intel Pentium 4
Processor, 3.0GHz,
800MHz FSB
2.8GHz is sufficient
for operation
2x2MB L2 Cache Integrated 1024kb
L2 ECC Cache
Dell has bigger
cache
512MB DDR-2 ECC
SDRAM
256MB PC3200
DDR SDRAM
Dell has bigger
capacity RAM
80GB SATA II HDD 80GB Ultra ATA
Drive
Same
48X CD-ROM 48X CD-ROM Same
1-Year Limited
Warranty
1-Year Limited
Warranty
Same
Price : RM 1749 Price : RM 2888 Dell is cheaper
Comparison in both servers above shows that Dell is a better choice. This is because,
Dell has better value for money specifications and the Dell server is much cheaper compared to
the one put in comparison with it.
16
Waiter On Wheels – Group 6 System Analysis and Design
3.2.2.2 Software
Technical feasibility is the process of proving that the concept is technically possible.
Example of the system itself we describe it as Computerized Inventory System:
A Computerized Inventory System is a computer program that tracks inventory and sometimes
creates automated replacement orders that the customer wants to.
Software requirements:
1. Operating System
All of computers must need Operating System. In this system, we use Windows XP
Professional to manage all of data. We use this operating system because it is very
simple and smart, easy to use, very comfortable and many people use this Operating
System.
Specifications for this Windows XP professional are:
Manufacturer Microsoft corporation
OS provided Microsoft Windows XP Professional
License type Complete package
Hard drive space Minimum 1.5 GB
Minimum processor Intel Pentium 233 MHz
RAM Minimum 64 MB
General License pricing standard
Price US$ 192.54
17
Waiter On Wheels – Group 6 System Analysis and Design
2. Microsoft Office
In order to complete our Operating System and for database storage, we need the
Microsoft Office. Microsoft Office professional edition 2003 is very completely useful for
this system because in the case of installing the Microsoft XP, the Microsoft Office is
some of the Microsoft package.
This Microsoft Office consists of Word, Excel, PowerPoint, and Access. Our database is
also using Microsoft access.
The new user price is US$499, but for upgrade price it will be US$329.
3. Antivirus
All systems that have connection with the internet should have antivirus. Because
antivirus able to against all illegal program that come when the computer connect to
internet. One of the best antiviruses in the world is Kaspersky Anti-Virus 6.0.
For this system we can use Kaspersky Anti-Virus 6.0 antivirus. More capabilities from
Kaspersky antivirus are protection from viruses, Trojans and worms, protection from
spyware, adware and other potentially junk program, scanning for archived files and
removable data storage device, instant database updates, simple and easy to use.
Price for this antivirus is US$39.95 for one year and US$63.92 for two years. We should
to choose this price for two years, because it is very save.
4. Firewall
Firewall is a type of security for internet connection. One type of firewall is ZoneAlarm.
ZoneAlarm is designed to protect your connected PC from hackers. This software
controls the door and allows which data can and cannot run from and to this computer.
18
Waiter On Wheels – Group 6 System Analysis and Design
And this software also blocks internet traffic while the computer not connects to the
internet.
Also Firewall is automatically install on the Microsoft XP Professional service pack 2 so
the user is more easy because of that special function.
The advantages for using this software are the computer is very safe, and this firewall is
very affective and easy to use for control our computer.
The price for this software is US$19.95.
5. Spyware
Spyware is type of virus that infects the computer by using the P2P (Peer to Peer).
Spyware is similar with Trojan horse. Spyware Doctor is the example of spyware the
function of spyware doctor is remover and protection. This software can erase all of
spyware, adware, Trojan horse, keyloggers, spybots, and adbots. Sometimes when we
opened a website, there will built-in with a popup. So, spyware Doctor will block this
site.
Price for this software is US$29.95.
19
Waiter On Wheels – Group 6 System Analysis and Design
3.2.3 Operational Feasibility
3.2.3.1 PIECES Framework
PERFORMANCE
The performance of the system is expected to have a higher respond time relatively compared
to a customer personally travel to a restaurant and order food. It is measured from the moment
the consumer steps out of his house door till the time when the food appears at the table is
estimated to be not more than 45 minutes. However with the smart implementation of the
"Waiters On Wheels" system, the estimated respond time taken is around 15 to 25 minutes.
The respond time here refers to the moment the customer call the "Waiters On Wheels" center
until the food arrive to his door. The bandwith of our service covers areas like Technology Park
of Malaysia, Bukit Jalil and Sri Petaling which are located in Kuala Lumpur. Customers from
these areas can most likely expect their food to arrive at their doorsteps within 10minutes upon
ordering.
INFORMATION
Customers can choose from the vast variety of food and place their order by browsing the
official online “waiter in wheels” menu containing the full list of food the restaurant caters This
online system of ordering is tailored to be user friendly placing the needs, wants and demands
of customers as their primary concern Upon careful selection of their desired food, simple step
by step instructions are given to surfers of the site directing them as to how to go about placing
their orders online. After placing their order, information regarding the method of payment and
various details of charges billed on them will be conveyed to the customer. Customers can also
choose to ring the center to retrieve information about the everyday ongoing special
promotion, or even directing their enquiries pertaining to large orders for the rise of special
occasions like birthdays, anniversaries or even company dinners. All these information is made
available serving the sole purpose of “convenience at the doorsteps of customers”
20
Waiter On Wheels – Group 6 System Analysis and Design
ECONOMY
The current economy status is that the Bickfords realize the demand from customers and as
they contracted with a lot of well known restaurant, the income is stabilized. However, the
Bickfords can increase their revenue by reducing cost. Since delivering service has been their
main service and ways of income, they need a lot of drivers so that different drivers can take
different orders and at the meantime drivers can meet their customer’s needs on time. Hence,
instate of using motorbikes that uses petrol, if possible, Bickfords can actually modify the
motorbikes engine so that they could use gas to run the motorbikes. It might be costly in the
beginning, but in the long run it defiantly can reduce a lot of transportation cost.
Bickfords can also create some package or set meals that include free drinks or discount rebate
for the regular customers. This not only can attract new customers but they could win the
loyalty of the regular customers.
CONTROL
The system will be used by three types of users.
The first type is administrator who has absolute power to alter the "contents" of the program.
It includes editing the menu such as deleting or adding a new food to the list and even changing
ice of certain items The second type will be the waiters. Their responsibility is to receive orders
from the call center directing them the location for them to collect the requested deliveries and
the respective destination the food has to be sent to. Upon completion of their deliveries to
their clients, they will send a response back to the call center informing them that they have
completed their task successfully. The third type of user would be the operator who is located
in the call center. Their duty is to receive the calls of customers, answering all their queries and
doubts and taking orders It is also within the responsibility of the operator to be utilizing the
system to work out the cost of the meal and direct available "Waiter On Wheels" to collect and
deliver the food.
21
Waiter On Wheels – Group 6 System Analysis and Design
EFFICIENCY
"Waiters On Wheels" will be utilizing 4 drivers as waiters. Among the 4 of them, 2 waiters will
undertake the role of full time workers while the other two will be expected to fill in lunch and
dinner hours. 2 operators will be stationed at the base where one will be working full time and
the other part time. The part timers will be a great addition during peak hours so as to assist
the full timers generating faster turn overs, increasing efficiency and ultimately their sales. Each
operator will be assigned a desktop computer to operate the system. Through the use of this
system, the operators will then be able to trace where the call is coming from and assign
available waiters to collect and deliver the food. Along the way of delivering food to the
customers, the waiters will be communicating with the operator through the use of cellphones.
Should a sudden incident occur where the food wasn’t able to successfully reach the
destination, the waiter would then be able to communicate with the operator and then the
operator will issue out new commands corresponding to the new situation, maximizing
efficiency.
SERVICE
The reliability of the system can be vividly demonstrated through the use of unique identity for
every user to log in to the system provide a very reliable system as every user of the system will
need to log in using their unique identity. Therefore the Chief Executive Officer of "Waiter On
Wheels" will be able to track any mistake that done by any user. In other words, the users
would not be able to doing "irresponsible" work to the system.
The content of the system can be edited from time to time by certain users (administrator). This
is specially designed by the developers of the system to make sure the system is flexible and
expandable.
22
Waiter On Wheels – Group 6 System Analysis and Design
3.2.4 Economical
3.2.4.1 Operational Cost
Types of Cost Cost (RM)ElectricityPetrol Motors MaintenanceSoftware LicenseLaborMarketing
24007300300
2700360005000
TOTAL 53700
3.2.4.2 Development Cost
Type of Cost Cost (RM)Software CostHardware CostSoftware developmentInstalling softwareTraining
25004000
1200040003000
TOTAL 25500
3.2.4.3 Benefit
Type of Benefit Cost (RM)Physical marketing cost savedMan power savedPhone bill savedNet profit
15000180008000
30000TOTAL 71000
23
Waiter On Wheels – Group 6 System Analysis and Design
3.2.4.4 Return of Investment
Year Cost Accumulated
Cost
Benefit Accumulated
Benefit
0 72900 72900 0 0
1 53700 126600 71000 71000
2 53700 180300 71000 142000
3 53700 234000 71000 213000
4 53700 287700 71000 284000
5 53700 341400 71000 355000
6 53700 395100 71000 426000
ROI = (Accumulated Benefit – Accumulated Cost) / Accumulated Cost
= (426000 – 395100) / 395100
= 0.7821
24
Waiter On Wheels – Group 6 System Analysis and Design
3.2.4.5 Break Even Chart
25
Waiter On Wheels – Group 6 System Analysis and Design
3.2.4.6 Payback Return (in RM)
Year 0 1 2 3 4 5 6 Total
Benefit 0 71000 71000 71000 71000 71000 71000 426000
Present
Value
Factor
(10%)
1 0.909 0.826 0.751 0.683 0.621 0.564
Present
Value
0 71000*
0.909
71000*
0.826
71000*
0.751
71000*
0.683
71000*
0.621
71000*
0.564
Total
0 64539 58646 53321 48493 44091 40044 309134
Cost 72900 53700 53700 53700 53700 53700 53700 395100
Present
Value
Factor
(10%)
1 0.909 0.826 0.751 0.683 0.621 0.564
Present
Value
72900 *1 53700*
0.909
53700*
0.826
53700*
0.751
53700*
0.683
53700*
0.621
53700*
0.564
Total
72900 48813 44356 40328 36677 33347 30286 306707
Total
Payback
Period
-72900 15726 14290 12993 11816 10744 9758 2427
26
Waiter On Wheels – Group 6 System Analysis and Design
4.0 Analyzing
4.1 Context Diagram
27
Waiter On Wheels – Group 6 System Analysis and Design
4.2 Data Flow Diagram Level 1
28
Waiter On Wheels – Group 6 System Analysis and Design
4.3 Data Flow Diagram Level 2 Process 3.0
29
Waiter On Wheels – Group 6 System Analysis and Design
4.4 Data Flow Diagram Level 2 Process 4.0
30
Waiter On Wheels – Group 6 System Analysis and Design
4.5 Entity Relationship Diagram
31
Waiter On Wheels – Group 6 System Analysis and Design
5.0 Physical Design
In any of the Methodologies, such as SDLC, SSADM, Waterfall Model, and RAD, the
Physical Design phase is one of the phases that come right after the Logical Design. In
SDLC or Systems Development Life Cycle, the Physical Design comes in the Fourth Stage,
which is designing the recommended system.
Physical Design is the Logical Systems Specification and Technical System specification
which are used to create a physical database design and a set of program specifications.
Another way of defining Physical Design define as “the phase of data base design
following the logical design that identified the actual data base tables and index
structures used to implement the logical design.”
The importance of having this Physical Design is to help us as well as assist us when it
comes to developing the system and testing the developed system during the
Implementation phase. The Physical Design becomes a blueprint of what the system
supposes to look like during the developing stage and becomes a basis for the
configuration and content of that blueprint.
When designing the system, there are a few guidelines which are needed to follow.
Detailed planning of the system
Logical design of the system
Identify the required fields which are needed based on the information given
Consistent design of the system such as colors, buttons, icon, and etc.
Conveniences of storing information which includes update and delete
information
Ensure that the system meets the purpose of which they are designed for
32
Waiter On Wheels – Group 6 System Analysis and Design
Design a friendly user system that is simple and attractive which includes the
Screen Design, Report Design, and Database Design
5.1 Screen Design
The four guidelines used to design the Screen Design are:
1. Screen Support Transportability of Knowledge
2. Screens must Be consistent
3. Screen design must Provide Feedback
4. Screens must Use Appropriate colors
5. Screen must Make the User Boss
5.1.1 Screenshots of Screen Design
33
Waiter On Wheels – Group 6 System Analysis and Design
(Loading Screen)
34
Waiter On Wheels – Group 6 System Analysis and Design
(Main Menu)
35
Waiter On Wheels – Group 6 System Analysis and Design
(Add Customer)
36
Waiter On Wheels – Group 6 System Analysis and Design
(Add Restaurant)
37
Waiter On Wheels – Group 6 System Analysis and Design
(Add Order)
38
Waiter On Wheels – Group 6 System Analysis and Design
(Edit Employee)
39
Waiter On Wheels – Group 6 System Analysis and Design
(Add Manager)
5.2 Database Design
40
Waiter On Wheels – Group 6 System Analysis and Design
Database design is the process of produce details of data model of a database that will
meet a user's requirements. Database design contains all the need of logical and
physical design preference and physical storage parameters needed to generate a
design in a Data Definition Language, which can then be used to create a database.
Database design can be used to describe many different parts of the design of an overall
database system. It can be thought as the logical design of the base data structures used
to store the data in the relational model these are the tables and views. However, the
term of database design could also be used to apply to the overall process of designing,
not just the base data structures, but also the forms and queries used as part of the
overall database application within the Database Management System or DBMS.
The guidelines developing the Database Design are:
Each record should contain a unique identifier as the primary key
Determine the relationships between different data elements
Apply data on the basis of the relationships to a logical structure.
41
Waiter On Wheels – Group 6 System Analysis and Design
(Customer Database Design)
(Employee Database Design)
42
Waiter On Wheels – Group 6 System Analysis and Design
(Manager Database Design)
(Order Database Design)
43
Waiter On Wheels – Group 6 System Analysis and Design
6.0 Implementation
Developing phase or the Implementation phase, which is “the last phase of the SDLC in
which the analyst ensures that the system is in operation and then allows users to take
over its operation and evaluation.”
“In the simplified software development methodology described in this course,
implementation is the process of constructing an actual artifact from a design. In
software development, this includes at least the steps of coding, testing and debugging.”
In other definition, Implementation is defined as “a class definition is split into an
interface and an implementation (the `what' and the `how'). The implementation defines
how the services offered in the interface are implemented.”
During the implementation phase, there few steps that we are required before finalizing
the system. To do this, we must conduct a system test to ensure that the system works
properly as well as running smoothly and most importantly is to meet the user’s needs
and the company’s objectives based on the system.
44
Waiter On Wheels – Group 6 System Analysis and Design
6.1 Selection of Development Tools
The Development Tools are the tools for consent to carry out during Developing phase or the
Implementation phase. The selections of Development Tools which are required for developing
the system are divided into 2 important tools. These tools will guide us to our basic
accomplishments.
Programming Tool – a tool which is used to develop the computer application or the
system program
Database Tool – a tool which is used to develop the database application or the
database system
6.1.1 Programming Tool
A programming tool is a program or application that software developers use to create,
debug, or maintain other programs and applications. The term usually refers to
relatively simple programs that can be combined together to accomplish a task, much as
one might use multiple hand tools to fix a physical object.
45
Waiter On Wheels – Group 6 System Analysis and Design
6.1.2 Database Tool
Database system or Database application is “a type of application that helps you keep
track of lists of information. Database applications make it easy to recall and update
information and to create reports of subsets of information.” To do that, we need the
Database Tool to assist us in creating such system.
Microsoft Access 2003
The tool that was used during developing the database system was Microsoft Access
2003 which can be known as a Database Management System or DBMS. It is a software
package that allows us to create such database which includes features such as adding,
changing, as well as deleting data in the database. It also sorts the data in the database
as well as retrieves back the data in the database, and it can create forms and reports
using the data in the database.
Microsoft Access is a relational database management system from Microsoft, packaged
with Microsoft Office Professional which combines the relational Microsoft Jet Database
Engine with a graphical user interface. It can use data stored in Access/Jet, SQL Server,
Oracle, or any ODBC-compliant data container. Skilled software developers and data
architects use it to develop powerful, complex application software. Relatively unskilled
programmers and non-programmer "power users" can use it to build simple
applications without having to deal with features they don't understand. It supports
substantial object-oriented (OO) techniques but falls short of being a fully OO
development tool.
46
Waiter On Wheels – Group 6 System Analysis and Design
6.2 Coding
Option Compare Database
Private Sub Form_Open(Cancel As Integer)
' Minimize the database window and initialize the form.
' Move to the switchboard page that is marked as the default.
Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'Default' "
Me.FilterOn = True
End Sub
Private Sub Form_Current()
' Update the caption and fill in the list of options.
Me.Caption = Nz(Me![ItemText], "")
FillOptions
End Sub
Private Sub FillOptions()
' Fill in the options for this switchboard page.
' The number of buttons on the form.
Const conNumButtons = 8
Dim con As Object47
Waiter On Wheels – Group 6 System Analysis and Design
Dim rs As Object
Dim stSql As String
Dim intOption As Integer
' Set the focus to the first button on the form,
' and then hide all of the buttons on the form
' but the first. You can't hide the field with the focus.
Me![Option1].SetFocus
For intOption = 2 To conNumButtons
Me("Option" & intOption).Visible = False
Me("OptionLabel" & intOption).Visible = False
Next intOption
' Open the table of Switchboard Items, and find
' the first item for this Switchboard Page.
Set con = Application.CurrentProject.Connection
stSql = "SELECT * FROM [Switchboard Items]"
stSql = stSql & " WHERE [ItemNumber] > 0 AND [SwitchboardID]=" & Me![SwitchboardID]
stSql = stSql & " ORDER BY [ItemNumber];"
Set rs = CreateObject("ADODB.Recordset")
rs.Open stSql, con, 1 ' 1 = adOpenKeyset
' If there are no options for this Switchboard Page,
' display a message. Otherwise, fill the page with the items.
If (rs.EOF) Then
Me![OptionLabel1].Caption = "There are no items for this switchboard page"
Else
While (Not (rs.EOF))
Me("Option" & rs![ItemNumber]).Visible = True48
Waiter On Wheels – Group 6 System Analysis and Design
Me("OptionLabel" & rs![ItemNumber]).Visible = True
Me("OptionLabel" & rs![ItemNumber]).Caption = rs![ItemText]
rs.MoveNext
Wend
End If
' Close the recordset and the database.
rs.Close
Set rs = Nothing
Set con = Nothing
End Sub
Private Function HandleButtonClick(intBtn As Integer)
' This function is called when a button is clicked.
' intBtn indicates which button was clicked.
' Constants for the commands that can be executed.
Const conCmdGotoSwitchboard = 1
Const conCmdOpenFormAdd = 2
Const conCmdOpenFormBrowse = 3
Const conCmdOpenReport = 4
Const conCmdCustomizeSwitchboard = 5
Const conCmdExitApplication = 6
Const conCmdRunMacro = 7
Const conCmdRunCode = 8
Const conCmdOpenPage = 9
' An error that is special cased.49
Waiter On Wheels – Group 6 System Analysis and Design
Const conErrDoCmdCancelled = 2501
Dim con As Object
Dim rs As Object
Dim stSql As String
On Error GoTo HandleButtonClick_Err
' Find the item in the Switchboard Items table
' that corresponds to the button that was clicked.
Set con = Application.CurrentProject.Connection
Set rs = CreateObject("ADODB.Recordset")
stSql = "SELECT * FROM [Switchboard Items] "
stSql = stSql & "WHERE [SwitchboardID]=" & Me![SwitchboardID] & " AND [ItemNumber]=" &
intBtn
rs.Open stSql, con, 1 ' 1 = adOpenKeyset
' If no item matches, report the error and exit the function.
If (rs.EOF) Then
MsgBox "There was an error reading the Switchboard Items table."
rs.Close
Set rs = Nothing
Set con = Nothing
Exit Function
End If
Select Case rs![Command]
' Go to another switchboard.50
Waiter On Wheels – Group 6 System Analysis and Design
Case conCmdGotoSwitchboard
Me.Filter = "[ItemNumber] = 0 AND [SwitchboardID]=" & rs![Argument]
' Open a form in Add mode.
Case conCmdOpenFormAdd
DoCmd.OpenForm rs![Argument], , , , acAdd
' Open a form.
Case conCmdOpenFormBrowse
DoCmd.OpenForm rs![Argument]
' Open a report.
Case conCmdOpenReport
DoCmd.OpenReport rs![Argument], acPreview
' Customize the Switchboard.
Case conCmdCustomizeSwitchboard
' Handle the case where the Switchboard Manager
' is not installed (e.g. Minimal Install).
On Error Resume Next
Application.Run "ACWZMAIN.sbm_Entry"
If (Err <> 0) Then MsgBox "Command not available."
On Error GoTo 0
' Update the form.
Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'Default' "
Me.Caption = Nz(Me![ItemText], "")
FillOptions
' Exit the application.51
Waiter On Wheels – Group 6 System Analysis and Design
Case conCmdExitApplication
CloseCurrentDatabase
' Run a macro.
Case conCmdRunMacro
DoCmd.RunMacro rs![Argument]
' Run code.
Case conCmdRunCode
Application.Run rs![Argument]
' Open a Data Access Page
Case conCmdOpenPage
DoCmd.OpenDataAccessPage rs![Argument]
' Any other command is unrecognized.
Case Else
MsgBox "Unknown option."
End Select
' Close the recordset and the database.
rs.Close
HandleButtonClick_Exit:
On Error Resume Next
Set rs = Nothing
Set con = Nothing
Exit Function52
Waiter On Wheels – Group 6 System Analysis and Design
HandleButtonClick_Err:
' If the action was cancelled by the user for
' some reason, don't display an error message.
' Instead, resume on the next line.
If (Err = conErrDoCmdCancelled) Then
Resume Next
Else
MsgBox "There was an error executing the command.", vbCritical
Resume HandleButtonClick_Exit
End If
End Function
53
Waiter On Wheels – Group 6 System Analysis and Design
6.3 Quality Assurance
Quality assurance can be defined as a planned and systematic procedure that is essential in
providing adequate confidence as assurance that the system will function properly and reliably.
It includes quality control that ascertains whether the system is performing up to standards and
has achieved the demand quality.
Quality Assurance covers all stages of this project, from the design to the development, and
installation of the system. One of the most widely used standards for quality assurance
management is the PDCA (Plan-Do-Check-Act) approach, which is also known as the Shewhart
cycle. The main goal of quality assurance is to ensure that the final product fulfills or exceeds
client expectations.
6.3.1 Quality Assurance Program
Quality represents the overall features and characteristics of the final product that has
the ability to satisfy the needs of its users. Quality Assurance Program can be defined as
a program where the plans are documented for implementing the quality system.
The importance of this program is the formal procedure of implementing quality
assessment and quality improvement techniques to guarantee the user or client that a
professional approach was undertaken. In order to achieve that objective, testing is
required to simulate the actual usage of the system.
54
Waiter On Wheels – Group 6 System Analysis and Design
6.3.2 Testing
Testing can be defined as the process of simulating a working environment to evaluate
the developed system to ensure conformity with the system specifications as well as to
identify the key differences between expected and actual results.
Testing is an important module in projects as it will aid in maintaining the system.
During this evaluation period, it will indicate to us whether the user or client is satisfied
with the performance of the developed system. As a result of testing, the quality of the
system could be determined.
Testing Objectives:
To certify that the database system is fully incorporated and efficient.
Identifying errors that may occur and provide solutions.
Analyze system processes and features.
Perform a final test of the system to make certain that the system meets
design specifications and requirements.
Ensure that the users are satisfied with the system.
6.3.3 Test Plan
A test plan is a well thought up plan that tests the system based mainly on the test
objectives. This includes the design and the coding of the overall system. The results of
this test plan would indicate to the developers the successfulness of the system.
55
Waiter On Wheels – Group 6 System Analysis and Design
There are four parts in the test plan which is identified as:
a) Unit Testing
- Test is conducted on every module to identify any signs of error that
occurs. This allows concentration in resolving the errors in the specific
modules.
b) Integration Testing
- Test is conducted to inspect the integration between the databases. This
is important to prohibit any unnecessary duplication of data.
c) System Testing
- Test conducted to benchmark the overall performance of the system.
This is to make sure the system is efficient at all times.
d) Acceptance Testing
- This is a test to obtain user acceptance and their ability to quickly adapt
to the new system.
6.3.4 Test Cases
Test cases are a standard part of software development that implements a
variety of important functions in the software. Such test cases make use of
identified inputs to allow comparison between the actual outputs obtained with 56
Waiter On Wheels – Group 6 System Analysis and Design
the expected accurate output. Test cases are often performed by developers
throughout developmental stages, to make sure that the software does not fail.
The main purpose of having test cases is to prove the value of the system and
also to reveal its disadvantages during the testing stages. These test cases are
conducted to expose errors, limitations of the system and programming errors of
any type before the system is fully implemented.
Test Case: Unit Testing
Test Procedure Expected Results
Actual Results
Consistency of data information? Yes Yes
Consistency of variable names and information input? Yes Yes
Functionality of the system? Yes Yes
Function of the Primary key? Yes Yes
Can the user edit the Primary key? No No
Record navigation removed? Yes Yes
Navigation bars removed? Yes Yes
Windows are movable? No No
Windows are resizable? No No
All views are restricted to those specified? Yes Yes
Can the records be retrieved during the ordering process? Yes Yes
Are all the relevant buttons functional? Yes Yes
Can the customer’s sales invoice be printed? Yes Yes
57
Waiter On Wheels – Group 6 System Analysis and Design
Can the reports be viewed? Yes Yes
Are the raw information properly arranged in report layouts? Yes Yes
Are all employees able to login? Yes Yes
Test Case: Integration Testing
Test Procedure Expected Results
Actual Results
Consistency of data information between each module? Yes Yes
Consistency of variable names between each module? Yes Yes
Consistency of information input between each module? Yes Yes
Navigation between each module? Yes Yes
Test Case: System Testing
Test Procedure Expected Results
Actual Results
Consistency of the time response in the layout? Yes Yes
Time response acceptance for searching the data? Yes Yes
Time response acceptance for printing the data? Yes Yes
Time response acceptance for editing the data? Yes Yes
Time response acceptance loading the images? Yes Yes
58
Waiter On Wheels – Group 6 System Analysis and Design
Test Case: Acceptance Testing
Test Procedure Expected Results
Actual Results
User finds it user-friendly of the screen layout? Yes Yes
User finds it user-friendly of the user interface? Yes Yes
User finds it user-friendly with the navigation buttons? Yes Yes
User finds it user-friendly of the output expectation? Yes Yes
User finds it user-friendly with the colors and images? Yes Yes
User finds it user-friendly with the colors and images? Yes Yes
6.3.5 Test Results
The result of the test that was carried out based on the system was a success.
The advantages of having the testing phase were to:
e) Provide confidence to the developers and the users
f) Indication that all bugs and problems are fixed before releasing the final
version
g) The need of users involvement helps to improve the system
The system started well with good progress, and end with good progress.
59
Waiter On Wheels – Group 6 System Analysis and Design
7.0 Critical Appraisal
7.1 By Harry Ho Lap Cong
This is the group assignment that we continue from last semester which we have done our
proposal and research. In this semester, we have built a system according of what we have
done last semester. In this group assignment, I has been dedicated to design the website. In
order to do the website, I have done some research on food types and prices on internet and
some famous restaurant among the people, take some food’s picture and post on the website.
To edit the photo, I use Adobe Photoshop CS2 to add some effect so that it looks nicer and
attractive. Besides that, I also use photoshop to create button for the menu bar. It looks simple
yet stylish. To complete the website, instead of using dreamweaver, I use Microsoft Frontpage
because I found that Microsoft Frontpage more easy to use and user friendly. To do all these
things, it does require some skills and I’ve recalled back what I have learnt before in previous
semester.
In the process of doing our assignment, we actually decided to use Microsoft Visual Basic as our
main system but because 3 of us not very familiar with Microsoft Visual Basic, we decide to use
Microsoft Access which is more easy to use. Haris was the one who take care of database job.
60
Waiter On Wheels – Group 6 System Analysis and Design
At last I want to thank you Haris and Jenn Shyung who always very helpful and willing to do
anything related to this assignment. And thank you to Ms Palvin who always gives us idea to
improve our system.
And this is the interface of our assignment.
61
Waiter On Wheels – Group 6 System Analysis and Design
8.0 Summary
In a nutsheel, WOW is a food delivery system which provide service that delivering food to the
customer. The customer will either make the order through a phone call or making order
online. Driver will be in the headquater every morning to print a list of what their tasks are for
the particular day. They would deliver food throughout the day. As they have completed a task,
they will inform the headquater that they are free so that the headquater can assign another
task to them.
For orders that the customers made through phone line, the operator would contact the driver
to pick up the food and deliver it to the customers’ door step. However, as the driver is on his
journey to pick up the food, the restaurant will start preparing the food. Hence, it’s expected
that as the driver reaches the restaurant, the restaurant would have get the food ready. In
other words, there will be no waiting time for the restaurant and the driver.
The first phase of developing a computerize system for Waiter On Wheels has been completed
successfully. Our group are very proud of our good team work throughout the first phase of the
development and are excited about developing the system for the second phase.
62
Waiter On Wheels – Group 6 System Analysis and Design
9.0 Appendix
Date : 7 March 2007
Time : 2.00 pm
Attendance : Harry, Haris, Jenn Shyung.
Discussions : Designing the webpage.
1. Design logo.
2. Find pictures of food.
3. Design the webpage.
4. Meeting adjourned.
Prepared by,
..........................................
( Hew Jenn Shyung )
63
Waiter On Wheels – Group 6 System Analysis and Design
Date : 17 March 2007
Time : 1.00 pm
Attendance : Harry, Haris, Jenn Shyung.
Discussions : Discussions on how to do the database.
1. Enter data into tables.
2. Create forms.
3. Meeting adjourned.
Prepared by,
..........................................
( Hew Jenn Shyung )
64
Waiter On Wheels – Group 6 System Analysis and Design
Date : 28 March 2007
Time : 3.00 pm
Attendance : Harry, Haris, Jenn Shyung.
Discussions : Discussions on using Microsoft Access to make program.
1. Create pages using Microsoft Access.
2. Meeting adjourned.
Prepared by,
..........................................
( Hew Jenn Shyung )
65
Waiter On Wheels – Group 6 System Analysis and Design
Date : 10 April 2007
Time : 5.00 pm
Attendance : Harry, Haris, Jenn Shyung.
Discussions : Discussions on completing the project.
1. Review documentation.
2. Compile works.
3. Meeting adjourned.
Prepared by,
..........................................
( Hew Jenn Shyung )
66
Waiter On Wheels – Group 6 System Analysis and Design
9.2 Sample Progression Report
To: Ms. Palvinderjit Kaur, SADN Lecturer
From: Group 6 - Harry Ho (Project Manager)
Subject: Progression Report of WOW System Development
Date: 13 December 2006
Group 6 consists of 4 members: Haris, Jenn Shyung, Voon Dih, and I - Harry. The team
has been working together for the past 6 weeks and completed certain tasks which are:
Date Collection and defining WOW system.
Operational Feasibility Report
Schedule Feasibility Report
Technical Feasibility Report
Economical Feasibility Report
Throughout the development of WOW, the team held 2 meetings in APIIT Library
Discussion Room 3 on Thursday evening. The role of each member has been clearly defined in
the meeting. Each member is satisfied with the position.
Data collection has been completed through interviewing McDonald. The data has been
shared among other groups as few (4) groups have been working together to gather relevant
data.
Operational Feasibility, Economical Feasibility and Schedule Feasibility Report have been
completed by Voon Dih as his role is the system analysis. Technical Feasibility Report has been
accomplished by Jenn Shyung and Haris as they are the designer and tester.
Currently the team is working smoothly. All the team members are giving commitment
to the development of WOW system. The term “inactive” member is not suitable for any of the
group member as all of the members are putting equal effort to make sure the development of
the system is running smooth.67
Waiter On Wheels – Group 6 System Analysis and Design
Prepared by,
____________________
Harry Ho
68
Waiter On Wheels – Group 6 System Analysis and Design
9.3 Workload Matrix
Harry Ho Lap
Cong Haris IrawanHew Jenn Shyung
Introduction
Logical
Assumption
Objective
Problem
Identification
Opportunity
Interview
Summary of
fact finding
Gantt Chart
Pert Chart
Work Load
Matrix
Operational
Feasibility
Technical
Feasibility
69
Waiter On Wheels – Group 6 System Analysis and Design
Economical
Feasibility
Methodologies
Context
Diagram
Summarize
Fact Finding
Data Flow
Diagram
ERD
Critical
Appraisal
Minutes of
Meeting
Progression
Report
Project
Summary
Summarize
Documentatio
n
70
Waiter On Wheels – Group 6 System Analysis and Design
I have seen this document and I do agree with it.
______________________ _______________________
(HEW JENN SHYUNG) (HARRY HO LAP CONG)
______________________
(HARIS IRAWAN)
71
Waiter On Wheels – Group 6 System Analysis and Design
9.4 Sample Interview
Who takes the calls?
We have a centralized call center. The server is located in India, as the technology there is
advanced, while the cost is low. Orders taken are relayed to branches from the main server.
If the main server is down, we have a local backup server, located somewhere in KL, near
KLCC.
Do outlets share riders?
No. Each outlet has a distinct coverage area, and the areas so not overlap between outlets.
What happens if a customer calls in from a location that is not covered?
The automated system tells the customer that their area is not covered and directs them to
the closest outlet.
What is the average delivery time (per round trip?)
30 minutes, including the time it takes to prepare the order.
How many riders are usually stationed at an outlet?
It depends on the outlet; this (Macro) outlet requires optimally 15 riders, whereas right now
we only have 10.
Do riders usually handle more than 1 order per trip?
Usually, no but if circumstances call for it, it can be arranged.
Scheduling is done manually?
Yes. We have a daily roster of people responsible for handling the day’s orders. The roster
says who would play the order taker, the runner and the cashier on a given day.
What if a customer over orders to the point where a single bike is unable to carry the full
load?
It is very unlikely that that might happen. In addition to the container you see behind every
bike, the riders also may use backpacks and supplementary containers to carry the load. In
72
Waiter On Wheels – Group 6 System Analysis and Design
event of even all that being not enough to take the load, multiple riders may be dispatched
to carry out that particular order.
How does the outlet communicate with the driver when he/she is on a trip?
The drivers carry cell phones, and can call in to notify the outlet of any problems he/she may
be facing, for example in case of a mechanical breakdown.
How is the money from the trip handled?
Before setting out, the drivers take an amount of cash with them as change. This amount
taken is recorded, along with the amount of payment due to be collected. The driver collects
the amount from the customer, and returns everything to the outlet once he/she returns.
Everything is checked and logged, as we have very strict policies with money handling.
Are the riders paid a fixed salary, or are they awarded based on the distance?
On top of an attendance allowance which is paid based on the time they spend on standby
at the outlet, they are given other allowances, for example, hand phone, laundry and petrol
allowance. They are also given a fixed monthly salary.
73
Waiter On Wheels – Group 6 System Analysis and Design
9.5 Bibliography
A. David and F. Guy, Information Systems Development Methodologies, Techniques & Tools
4th Edition, 2006, Singapore
Dell.com.my, 2006, Dell Servers, Storage and Networking [online], Malaysia, Availabe from
http://www1.ap.dell.com/content/products/category.aspx/enterprise?
c=my&cs=mybsd1&l=en&s=bsd [Accessed 2 January 2006]
E. Malcom, 2000, SSADM Version 4: A User’s Guide Second Edition, British
G. Mike, 1995, SSADM A Practical Approach, Great Britain
J. A. Hoffer et al, 2002, Modern Systems Analysis & Design Third Edition, New Jersey
74