Paperless Restaurant - Project Plan
Document Sample


Restaurant Automation
Design Report
Project Code
May07-14
December 13, 2006
Client
Senior Design
Faculty Advisor
Dr. Manimaran Govindarasu
Technical Advisor
Dr. Randall L. Geiger
Team Members
Chris Ford
Sean McVeigh
Obioma Ohia
Nichole Taylor
Anthony VanSant
DISCLAIMER: This document was developed as a part of the requirements of an electrical and computer
engineering course at Iowa State University, Ames, Iowa. This document does not constitute a professional
engineering design or a professional land surveying document. Although the information is intended to be accurate,
the associated students, faculty, and Iowa State University make no claims, promises, or guarantees about the
accuracy, completeness, quality, or adequacy of the information. The user of this document shall ensure that any
such use does not violate any laws with regard to professional licensing and certification requirements. This use
includes any work resulting from this student-prepared document that is required to be under the responsible charge
of a licensed engineer or surveyor. This document is copyrighted by the students who produced this document and
the associated faculty advisors. No part may be reproduced without the written permission of the senior design
course coordinator.
TABLE OF CONTENTS
Section Description Page
1 Executive Summary ........................................................................................... 1-1
2 Project Statement............................................................................................... 2-1
2.1 Project Purpose .............................................................................................. 2-1
2.2 Operating Environment.................................................................................. 2-1
2.3 Intended Use and Users.................................................................................. 2-1
2.4 Assumptions and Limitations......................................................................... 2-2
2.4.1 Assumptions .......................................................................................... 2-2
2.4.2 Limitations............................................................................................. 2-2
2.5 Expected Project Product and Other Deliverables......................................... 2-2
3 Approach and Design ......................................................................................... 3-1
3.1 Handheld Approach ....................................................................................... 3-1
3.1.1 Design Objectives.................................................................................. 3-1
3.1.2 Functional Requirements....................................................................... 3-2
3.1.3 Technical Approach Considerations and Results.................................. 3-4
3.1.3.1 Platform .................................................................................... 3-4
3.1.3.2 Programming Language ........................................................... 3-5
3.1.3.3 Wireless Communications........................................................ 3-5
3.1.4 Testing Approach Considerations ......................................................... 3-6
3.1.5 Recommendations Regarding Project Continuation/Modification ....... 3-7
3.2 Detailed Design of Handheld (hardware) ...................................................... 3-7
3.2.1 Hardware Development Kit................................................................... 3-7
3.2.2 ICOP Technology eBox-II .................................................................... 3-9
3.2.3 Credit Card Reader.............................................................................. 3-10
3.2.4 USB Wireless Network Card .............................................................. 3-11
3.2.5 Bluetooth Converter ............................................................................ 3-12
3.2.6 Printer .................................................................................................. 3-12
3.3 Detailed Design of Handheld (software) ..................................................... 3-13
3.3.1 Inputs .................................................................................................. 3-13
3.3.1.1 Touch Screen .......................................................................... 3-13
3.3.1.2 Credit Card Reader ................................................................. 3-13
3.3.2 User Interface ..................................................................................... 3-13
3.3.3 Program Modules ............................................................................... 3-14
3.3.3.1 Update/Start Up Module......................................................... 3-14
3.3.3.2 Order Module ......................................................................... 3-14
3.3.3.3 Edit Order Module.................................................................. 3-14
3.3.3.4 Payment Module..................................................................... 3-15
3.3.4 Communications................................................................................. 3-15
3.3.4.1 Socket Programming .............................................................. 3-15
3.3.4.2 Communication Between Handheld and Other Devices ........ 3-16
i
TABLE OF CONTENTS (Con’t)
Section Description Page
3.4 Central Computer Approach ........................................................................ 3-17
3.4.1 Design Objectives............................................................................... 3-17
3.4.2 Functional Requirements.................................................................... 3-17
3.4.3 Design Constraints ............................................................................. 3-18
3.4.4 Technical Approach Considerations and Results............................... 3-19
3.4.5 Testing Approach Considerations ...................................................... 3-19
3.4.6 Recommendations Regarding Project Continuation/Modification .... 3-20
3.5 Detailed Design of Central Computer (hardware) ....................................... 3-20
3.5.1 Dell GX270 ......................................................................................... 3-21
3.5.2 Linksys Wireless-B Broadband Router............................................... 3-21
3.6 Detailed Design of Central Computer (software) ........................................ 3-22
3.6.1 Inputs ................................................................................................... 3-23
3.6.1.1 User Input ............................................................................... 3-23
3.6.1.2 Handheld Device Input via Wireless Communication ........... 3-23
3.6.2 Networking in the Java Application.................................................... 3-23
3.6.3 System Communication ...................................................................... 3-25
3.6.4 User Interfaces..................................................................................... 3-25
3.6.5 Application Flow................................................................................. 3-27
4 Estimated Resources and Schedules ................................................................. 4-1
4.1 Estimated Resource Requirement .................................................................. 4-1
4.2 Estimated Schedule Requirement .................................................................. 4-5
5 Project Team Information ................................................................................ 5-1
6 Summary............................................................................................................. 6-1
7 References........................................................................................................... 7-1
LIST OF FIGURES................................................................................................. ii
LIST OF TABLES ................................................................................................. iii
ACRONYMS AND ABBREVIATIONS .............................................................. iv
ii
TABLE OF CONTENTS (Con’t)
LIST OF FIGURES
Figure Description Page
Figure 1 Project’s product components ............................................................................. 2-3
Figure 2 Functionality chart of the handheld device ......................................................... 3-3
Figure 3 Intel PXA27x Processor Developer's Kit ............................................................ 3-8
Figure 4 ICOP Technology eBox-II .................................................................................. 3-8
Figure 5 Magtek Mini USB credit card reader .................................................................. 3-9
Figure 6 NETGEAR 802.11B wireless USB adapter ...................................................... 3-10
Figure 7 Components of the IOGEAR Wireless Print Adapter Kit for USB Printers
(GBP201KIT)..................................................................................................... 3-10
Figure 8 GUI for the handheld device ............................................................................. 3-11
Figure 9 Example of order arrays .................................................................................... 3-12
Figure 10 Socket diagram .................................................................................................. 3-13
Figure 11 The state machine of how the handheld device will operate............................. 3-14
Figure 12 Linksys Wireless-B Broadband Router ............................................................. 3-19
Figure 13 Server and Client Communication .................................................................... 3-20
Figure 14 The state machine of how the central computer will operate............................ 3-22
Figure 15 The state machine of how the kitchen display will operate............................... 3-23
Figure 16 Revised Estimated Project Schedule ................................................................... 4-6
Figure 17 Original Estimated Project Schedule................................................................... 4-7
Figure 18 Revised Deliverables Schedule ........................................................................... 4-8
Figure 19 Original Deliverables Schedule........................................................................... 4-9
LIST OF TABLES
Tables Description Page
Table 1 Revised Estimated Personnel Manhour Effort Requirements for Each............... 4-1
Table 2 Original Estimated Personnel Manhour Effort Requirements for Each .............. 4-2
Table 3 Revised Required Resources ............................................................................... 4-2
Table 4 Original Required Resources ............................................................................... 4-3
Table 5 Revised Estimated Project Costs ......................................................................... 4-4
Table 6 Original Estimated Project Costs......................................................................... 4-5
iii
ACRONYMS AND ABBREVIATIONS
WHOS Wireless Handheld Ordering System
HDK hardware development kit
LCD liquid crystal display
GUI graphical user interface
PCMCIA Personal Computer Memory Card International Association
VPN Virtual Private Network
MSDN Microsoft Developer Network
iv
1
Executive Summary
In many restaurants when a waiter takes an order from the customer they must write the order
down and then enter it into a computer at one central location. The order is then printed out in the
kitchen. When it is time to pay the waiter must go back to the central location and print out a
copy of the customer’s bill. If the customer wants to pay with a credit card the waiter then has to
take the customer’s credit card back to the computer at the central location to scan it in and then
print the receipt. The current system wastes a lot of time because the waiter keeps going to and
from the customer and the computer at the central location. It also wastes paper since the order
must be written down, printed out in the kitchen, and finally a paper receipt must be given to the
customer.
The purpose of this Project is to develop a handheld device that can be used take an order while
the waiter is standing at the table and send the order directly to a screen in the kitchen. When the
customer is done eating the waiter will be able to show the customer their bill on the handheld
device and, if the customer chooses to pay with a credit card, the device will be able to scan the
credit card and print out a receipt without having to leave the customer. This system will reduce
the time the waiter takes to obtain and process an order and settle the bill with the customer. The
device will also eliminate some paper used because the only printout is the customer’s credit
card receipt.
This report contains a description of the design that the May 07-14 group will use to complete
the Project on time. The report contains sections that address the following issues: operating
environment; intended users; assumption and limitations; the end product; detailed design of the
Project; costs; and schedule to be used for the completion of the project. The end product will be
used in the demonstration, modification/continuation recommendation for the Project.
A change made to the project, since the Project Plan is a revision in the cost estimate for the
Project. The revision is being made due to financial constraints and the fact that some Project
items needed to be changed because they would be either too expensive to purchase or were
unable to be donated. The cost estimate also reflects the actual cost of items purchased by the
team for each of the items required to complete the Project.
The planned demonstration is going to be the same as the Project Plan, but included within this
report is an alternate demonstration if one the handheld devices is unable to be obtained via
donation, as it is very expensive. If this occurs, the alternate demonstration stipulates the use of a
handheld like device that is readily available within the Department of Electrical and Computer
Engineering.
1-1
2
Project Statement
This section will outline the purpose of the Project and identify conditions that will need to be
satisfied as part of the development of a paperless restaurant system.
2.1 Project Purpose
The purpose of the Project is to develop a Wireless Handheld Ordering System (WHOS) to be
used in a restaurant. The system will accept order information and send it to the kitchen while the
waiter is standing at the customer’s table. The system needs the ability to notify the waiter when
the order is done. When the customer has finished their meal, the waiter will be able to display
their bill and print a final receipt that will be given to the customer. If the customer is paying by
credit card the waiter will be able to swipe the credit card information using the WHOS. The
system will be able to keep track of all orders taken each day.
The WHOS will consist of a handheld device (hereinafter called “product”) which will be able to
communicate wirelessly to output screens in the kitchen and to a central computer used to
record/document all orders. The device will be modeled by using a Hardware Development Kit
(HDK) based on the Intel PXA270. All inputs into the WHOS will be done using a Liquid
Crystal Display (LCD) touch screen. Receipts given to customers will be printed from a thermo
printer connected to the system using Bluetooth communications. All the programming for the
devices will be done using Microsoft Visual C++.
2.2 Operating Environment
The product will need to be used both indoors and outdoors, weather permitting. It will not be
required to work in the rain or any other extreme weather conditions. It will be stored at room
temperature in a dry place but must be able to perform at non-condensing ambient temperatures.
Other wireless devices are possible sources for interference.
2.3 Intended Use and Users
The product is intended to be used by waiters in a restaurant environment. Customers will also
use the device to provide their electronic signature or debt card pin number. Orders will be
received in the kitchen where the cook will be able to view and arrange the orders.
The product will be designed so it can be easily used by an adult. All parts of the system will be
easy to learn with a minimal amount of training. The requirements for using the product are basic
reading and writing skills. The WHOS will require initially to be installed by technical personnel
but menu changes, data interrogation and record reporting will be able to be accomplished by
someone with limited computer skills.
2-1
2.4 Assumptions and Limitations
To limit the Project’s definition and scope to a manageable form, we have identified the
following assumptions and limitations.
2.4.1 Assumptions
1. Product will not be state of the art – Research shows that the resources are
unattainable to make a state of the art product.
2. Since the prototype will be developed using a HDK it will not be handheld. The
final commercial product can easily be developed from the prototype.
3. A maximum of 12 units will be used at once.
4. The maximum distance of transmission is within 10 meters (32 feet), about the
range of Bluetooth [1].
5. There will be a maximum of 5 simultaneous transmissions.
6. Handheld devices are able to be recharged throughout the day – The way in which
this will occur will be like a Pocket PC.
7. Central computer will be located to maximize coverage.
8. Model can be developed into a handheld device.
2.4.2 Limitations
1. Wireless and Bluetooth distance – Approximately 10m for Bluetooth and much
larger depending on the structure of the building for Wireless.
2. Power supply – This means the size of the battery used will limit the amount of
time the device can be used before it needs to be recharged.
3. Size and type of monitor available in the kitchen.
4. The cost for items needed to complete the Project. May need to tone down the
demo.
5. The lack of programming skills due to the team being made of just electrical
engineers.
2.5 Expected Project Product and Other Deliverables
The expected Project product is a model of a WHOS that is ready for prototyping. The model
WHOS will use simplified restaurant management software for demonstration. The following
components will be available at the end of the Project:
1. Handheld device – Intel PXA270 HDK;
2. Computer monitor – displays the orders to the kitchen;
3. Wireless printer – compact and prints receipts;
4. Central computer – keeps track of orders and makes updates to the system; and
5. Model – portrays final product.
2-2
A graphical representation of the Project’s product components and how they communicate with
each other is shown in Figure 1.
Figure 1: Project’s product components
2-3
3
Approach and Design
The following section will discuss in detail the approach used to develop the WHOS, the design
of the components and the system. The first device to be discussed will be the handheld device
and then the central computer will follow.
3.1 Handheld Approach
The following is the approach used to determine how the handheld device will be designed.
3.1.1 Design Objectives
The design solution should meet all these objectives:
• Develop a model of a handheld device
Part of the solution will include a model of the handheld device based on a
development platform. The model should emulate an actual handheld device in
most areas, except for mobility considerations
• Wireless communication
The model handheld device must be capable of two-way communication with a
central computer. The handheld will be used to send orders, and card
authorizations, receive notices, updates, and any other information necessary
• Bill tabulation and payment methods
The wireless device must be able to calculate bills, swipe cards, receive signatures
and personal identification numbers and send a receipt to be printed. This will
allow the waiter to conduct all business tableside.
• Software that allows input of customer’s order
The handheld device must have software that contains the menu and allows the
waiter to input a customer’s order and allow the waiter some degree of order
customization. In addition, the menu must be customizable, and able to be
changed wirelessly from the central computer.
3-1
• Database that tracks orders
A database needs to be developed for the central computer that allows it to track
all the orders made during a period of time.
• Ease of Use
All devices and software must be easily used. The software on the handheld needs
a stylus that allows quick and easy navigation.
3.1.2 Functional Requirements
The following requirements are specified in order to successfully complete the Project.
• Sending a customers order to the kitchen
The handheld device model must be able to send customers’ orders to another
computer.
• Receiving notices from the kitchen
The handheld device model must be able to receive any notices from another
computer on the restaurant’s network.
• Sending order information to an “accounting database” on the central computer
The handheld device model must be able to send order information to another
computer for tracking,
• Receive menu customizations from the central computer
The handheld device model must be able to receive any customizations that a
customer desires from the menu. The menu software on the handheld device must
be able to update the menu on the device accordingly
• Display all menu information defined by software
The handheld device model must be able to run and display any information about
the menu.
• Touch screen capabilities
The handheld device model must have touch screen capabilities to navigate the
menus and for input.
3-2
• Receive credit card information via a magnetic card swipe
The handheld device model must be able to communicate with a card reader and
receive credit card information via a magnetic card swipe. The touch screen can
be used for electronic signatures and pin entry.
• Communicate card information to the central computer for verification
The handheld device model must be able to authorize card transactions by
communicating with the central computer for card verification.
• Send receipt information to a printer
The handheld device model must be able to send information to printer for
hardcopies of any transactions.
• Stylus that allows easy navigation
The stylus must allow quick navigation of menus
A flow chart representing the above is shown in Figure 2.
Functionality Chart
Handheld Device
User Input Interface Communication
Touch Screen Card Reader Computer Screen Update Menu Receive Order Send Order Print Bill
Status Status
Send to Program Send to Program Read Card Send to Program Verification
Receive/Send Send Order to
Credit Information Kitchen
Table Select
Main Menu
Take Order Payment Edit Order
Send Order Cancel Order Cash Credit/Debit Check Resend Order
Send
Figure 2: Functionality chart of the handheld device
3-3
The project must run under the following constraints:
• Cost
All expenses for this Project must fall within budget. This will entail searching for
either the most cost efficient or cheapest solutions.
• Communications
Bluetooth communications has the associated constrains: range of Bluetooth
wireless is approximately 20 meters (66 feet) and Bluetooth devices can handle a
maximum of 7 devices simultaneously.
• Mobility
The Project product will be a model of the handheld device. This model, however,
will be a stationary device that runs on power provided externally. The product
will not be able to be tested for all the criteria of a handheld device (size, weight,
power consumption, etc) due to budgetary constraints.
3.1.3 Technical Approach Considerations and Results
The following technologies were considered for implementation in the final design:
3.1.3.1 Platform
A review of platforms on which to complete the Project were considered. The platforms
considered were using a Tablet PC to build a prototype, using a HDK, or using an
eBox-II kit.
Tablet PC
The Tablet PC had the distinct advantage of being a mobile device
compared to the other platforms. This would allow a prototype of WHOS
to be developed. However, developing the operating system for the Tablet
PC would be considerably more difficult than other platforms. Also,
integration of the many hardware components would be more difficult
because Tablet PC’s are not designed to maximize hardware integration.
Hardware Development Kit(HDK)
The HDK is a platform specifically designed for development projects.
Toward this end, the Kit allows easy integration of hardware components
and simplifies the development of the operator system. Disadvantages of
the HDK are the cost and the lack of mobility. However, designing the
WHOS on a HDK would produce a workable prototype.
3-4
eBox-II
The eBox-II is another development tool for design projects. The eBox-II
runs a compiled Windows CE operating system. The operating system
comes with many hardware drivers to ease integration. Also, these boxes
are readily available to the team. However, development on the eBox-II is
somewhat cumbersome, plagued with long compile times and a steep
learning curve.
Selected Approach
The platform chosen was the HDK because it would simplify the
development and the integration of the Project.
3.1.3.2 Programming Language
The programming language to use for the WHOS development was reviewed. The
languages considered were Visual C++ and Java.
Visual C++
Visual C++ language is based on C++ which is familiar to many members
of the WHOS team. Additional components assist in developing GUIs,
often without writing much additional code.
Java
Java is another language that lends itself to development of GUIs. There
are a lot of libraries, scripts, and other example code available freely on
the internet.
Selected Approach
The language chosen for the WHOS development was Visual C++. The
WHOS team is more familiar with C++ and Visual C++ allows menu
based generation of GUIs, simplifying the development process.
3.1.3.3 Wireless Communications
The wireless communication method for the system was reviewed. The methods
considered were Bluetooth and WiFi.
Bluetooth
Bluetooth is a wireless communication method for low power, short-
range, secure communications. It allows quick and easy integration of
3-5
different devices. However, only a limited number of devices can
communicate simultaneously using Bluetooth.
WiFi
WiFi is a wireless communication method often employed for larger
networks. It allows farther ranges and can be more secure than Bluetooth,
but it consumes more power and is more difficult to integrate devices.
Selected Approach
The wireless communication method chosen was to use both WiFI and
Bluetooth. WiFi’s range and its ability to have simultaneous users
communicate at the same time will make communicating with the central
computer to be easier, while Bluetooth will allow easier integration of
multiple close range devices, such as a printer, and consumes less power.
3.1.4 Testing Approach Considerations
The software must be tested to ensure it meets the design objectives, therefore, the software
will be tested during and after development. Testing during development will consist of
testing functional blocks individually after they have been completed. Testing after
development will consist of “run-throughs” that will test different scenarios, such as the
following ordering and payment scenarios.
Scenario 1
A customer orders one menu item and pays using cash.
Scenario 2
Customers at table one place three orders from the menu and customers at table two
order six items from the menu. Table one pays using a debit card and table two pays
using a credit card.
Scenario 3
Customers at table one orders five items from the menu, customers at table two order
four items from the menu and customers at table three order nine items from the menu.
Table two adds one item to their order, table three removes one item from their order,
and table one changes two items in their order. Table three pays using credit card, table
two pays using a debit card and table one pays using cash.
A successful test of these scenarios will consist of an order successfully being delivered to
the central computer for processing, a bill being paid and a receipt printed.
3-6
3.1.5 Recommendations Regarding Project Continuation/Modification
The recommended continuation for the Project regarding the handheld is to give the ability
for each handheld device in a restaurant to have a unique ID so that the central computer will
know which waiter took the order.
It is recommended that a way be added for the handheld to communicate securely between
the central computer and the handheld. The best way for this to occur is through a VPN
connection to the server so that sensitive information such as pin numbers and credit card
information is protected from people who use sniffing software to steal people’s information.
It is recommended that a way be added for a waiter to log-in and log-out of the handheld so
that multiple waiters could use one handheld and an employer can track each waiter’s order.
It is recommended that a prototype of the handheld device with all of the required items be
developed.
It is recommended that manager functionality be added to the handheld.
It is recommend that the GUI be made more robust by building upon this Projects design so it
is more user friendly and has more options such as customizing each individual menu item to
a customer’s request..
A potential modification that might be made to the Project is the use of the HDK due to its
cost and the possibility of not being able to get one donated. If this were to occur then the
eBox-II will be used. Currently, we are using the eBox-II as the primary development
platform until an HDK can be obtained. If the eBox-II were continue to be used then there
will be no touch screen and the demonstration will need to use a mouse to simulate the touch
screen. This is the only modification; everything else stated in the Project Plan and in the
design report will be able to be completed.
3.2 Detailed Design of Handheld (hardware)
The following contains detailed information regarding the hardware to be used for the Project.
3.2.1 Hardware Development Kit
The Intel PXA27x hardware development kit was chosen because of it’s capabilities to run
Microsoft Windows CE, and Microsoft Visual C++. The HDK combines a PXA27x process,
networking capability, USB and other output ports, and a fully integrated touch screen. The
hardware development kit has the following options:
• Processor – Intel PXA270;
• Memory Support
o 64 MB Intel StrataFlash memory
3-7
o 128 MB of SDRAM
o 128 MB M-System NAND Flash memory
• Audio Codecs
o AC’97 Audio and Touch Codec (Wolfson WM9713)
o PCM audio support for cellular header
• Ethernet
o 10/100 Base-T Ethernet controller (SMSC 9115)
• LCD
o 10.4” VGA TFT LCD
o LED backlight, dimming control
• Input
o 5-wire resistive touch screen
o Keypad 5-way navigation
• USB
o 1 x full-speed client or OTG
o 2 x full-speed host
• Serial
o Full function RS232 port
o Standard RS232 port
o IrDA SIR/FIR
o Bluetooth UART TTL level port
• Memory Card Expansion
o Two 4-bit SDIO slots
o PCMCIA Type II interface
• Expansion slots
o Cellular expansion header (GSM and CDMA)
o Peripheral expansion bus
o FLASH substitution header
o Video/camera interface header
o SSP connector with power
o I2C connector
o Power substitution header for PMIC
• Power
o 3.6V lithium-ion primary battery header
o Speedstep supported core voltage
o Smart battery SM-Bus I/F
o Batter removal logic
3-8
• Debug
o JTAG interface
• Keyboard
o USB keyboard[2]
Figure 3: Intel PXA27x Processor Developer's Kit[3]
3.2.2 ICOP Technology eBox-II
The ICOP eBox-II hardware development kit was chosen because of its capabilities to run
Microsoft Windows CE 5.0 and Microsoft Visual C++. The eBox-II combines an x86
compatible processor, ethernet networking capability, USB and other input/output ports, and
memory in to a compact case seen in the Figure 4.
Figure 4: ICOP Technology eBox-II[4]
3-9
The eBox-II has the following features and specifications:
• Processor – 200 MHz Vortex86 system-on-chip (equivalent to the SiS550);
• Memory – 128 MB SDRAM;
• Disk – EIDE interface;
• Ethernet – 10/100 Mbps Realtek 8100B with PXE boot;
• CRT/LCD video controller:
o AGP Rev 2.0 Compliant
o Shared system memory area up to 128 MB
o Up to 1920 X 1440 resolution in “true color”
• Other input/output ports:
o USB X 3
o PS/2 keyboard/mouse
o Parallel
• Real Time Clock with lithium battery backup;
• BIOS – AMI BIOS;
• Audio
o AC97 V2.1 CODEC
o Microphone, line in/out connections
• Power Requirements – single voltage, +5Volts at 1.7 Amps, with ACPI support;
• Dimensions – 5.2 X 2.5 X 4.4 inches; and
• Operating temperature – 20 to 60 degrees C[4].
3.2.3 Credit Card Reader
A Magtek Mini USB credit card reader will be used for this Project. This particular credit
card reader was chosen because it has the following desired features and specifications.
• Powered by USB (No external power supply required);
• Dual and three track capability;
• Bi-directional read capability;
3-10
• Reads encoded cards that meet ISO, ANSI and AAMVA standards;
• Up to 1,000,000 passes with ISO-conforming cards;
• Includes USB interface;
• Card speed – 3 – 50 inches per second[5].
Figure 5: Magtek Mini USB credit card reader[5]
3.2.4 USB Wireless Network Card
A NETGEAR 802.11B wireless USB adapter type MA 111 will be used in this project
because it is capable of connecting to the eBox-II via a 1.1 USB port. The important
specifications and system requirements for this device are as follows:
• System requirements
o Pentium class PC
o Available USB port
o Windows 98SE, Me, 2000 or XP
o 2 MB of free hard drive space
• Specifications
o Radio data rate – 1,2,5.5,11 Mbps (auto rate capable)
o Modulation type – direct sequence spread spectrum (DSSS)
o Frequency – 2.412 ~ 2.462 GHz
o Encryption – 40/64 bit and 128-bit WEP encryption
o Bus interface – USB 1.1
o Electromagnetic compliance – FCC part 15 class B and class E
o Enviromental specifications – temperature range 0 to 60 degrees C,
humidity level 5-95%, non condensing[6]
3-11
Figure 6: NETGEAR 802.11B wireless USB adapter[6]
3.2.5 Bluetooth Converter
A Bluetooth converter will be used in order to convert a standard printer into a wireless
printer. The IOGEAR Wireless Print Adapter Kit for USB Printers (GBP201KIT) was
chosen for our application, because it has the following features:
• Enables the computer and USB printer with Bluetooth wireless technology and
allows it to wirelessly send print jobs to a USB printer;
• Plug and play, easy to install;
• Bluetooth class 2 device with a range of 66 feet;
• Supports data rates of 723 Kbps; and
• Allows sharing a printer with up to 7 Bluetooth devices
A picture of the all of the components in the kit are shown in Figure 7. The device with the
USB port will plug into the handheld device, and will be responsible for sending all the
information to be printed. The other device will connect to the printer, and will receive all
information that needs to be printed.
Figure 7: Components of the IOGEAR wireless print adapter kit for USB printers (GBP201KIT)[7]
3.2.6 Printer
For this Project, the only requirement for the printer is that it be capable of connecting
through a standard USB port. This insures that it will be compatible with the Bluetooth
conversion device listed above.
3-12
3.3 Detailed Design of Handheld (software)
The following details information regarding the software that will be developed and used with
the handheld.
3.3.1 Inputs
There are two types of inputs that the handheld device will use, input from the touch screen
and input from the card reader.
3.3.1.1 Touch Screen
The user will be able to select different menu options by touching them on the
handheld’s touch screen.
3.3.1.2 Credit Card Reader
The credit card reader will be able to convert the information stored on the magnetic
strip of a credit card into data that the handheld device is capable of understanding.
3.3.2 User Interface
The GUI for the handheld device will consist of three regions. The first region will consist of
the bottom half of the handheld’s display. This region is where all menu options will be
displayed. The second region consists of the buttons along to the top right side of the display.
This second region is where all permanent buttons will be displayed. The final region is the
display window in the top left corner of the handheld’s display. It will show all order
information, the price of each item, and a running tally of all items in the current order. The
following figure shows the GUI for the handheld device
Figure 8: GUI for the handheld device
3-13
3.3.3 Program Modules
The handheld’s main programming module will consist of many smaller modules which it
will call upon as needed. The following is a break down of the functionality of each sub
module.
3.3.3.1 Update/Start Up Module
The purpose of this module is to initialize all menus and submenus by reading them
from the central computer. After it has read in all the menus and submenus it will save
them in the handheld’s memory. Finally it will display the top level menu on the screen
of the devices.
3.3.3.2 Order Module
The purpose of this module is to convert the user’s selection into an array that
represents an order. Each array will be a fixed length where each column corresponds
to a specific submenu. When the user makes a selection the module reads in the
selection and then displays the corresponding submenu, it will then repeat this process
until it reaches the final submenu, upon which point it will display the top level menu
again. Each selection in each menu will be assigned a specific value that will be
inserted into the array, in the column that corresponds to that specific menu. Orders will
be grouped together and saved as a specific table number so they can be accessed by
various other modules. An example of what a two person order may look like is
displayed in the figure below.
Menu 3
Order 1 [4 0 1 5 0 0]
[2 1 0 0 2 1]
Figure 9: Example of order arrays
This module will also be responsible for printing all information about the order
including; item, all subsequent options for the item, and the total cost of all items in the
display window. The final functions this model will contain will be a cancel order
function. When the cancel button is pressed the current order will be eliminated.
3.3.3.3 Edit Order Module
The purpose of this model is to make it so the waiter can come back and correct any
mistakes they may have made to an order. The user will be asked to select which table
needs to have their order changed. The program will then display all order information
for that table, and ask the user which person’s order needs to be changed. It will then
3-14
allow the order to be edited. Once the waiter is done editing the order, the program will
then be sent the updated order to the kitchen program and the central computer.
3.3.3.4 Payment Module
The payment menu will be accessed by selecting the payment button on the touch
screen. The payment button will be one of the permanent buttons located on the upper
right side of the touch screen. The payment submenu will have three options: cash,
check, debit, and credit. The cash and check option will have the same basic
functionality. They will read the value typed by the server and then provide the correct
amount of change to give. It will then keep a running tally of all cash and checks taken
in by the server. The debit option will allow the user to enter their pin number and then
send that information to the central computer where it will contact the appropriate bank
to remove the money from the customer’s banking account. The credit option will
enable the program to read information from the card swipe and then send it to the
central computer to be verified. If accepted it will then keep a running tally of all credit
card payments for that day. The final function of the module is to send all bill
information to the printer so a hard copy may be given to the customer. The bill will
have an itemized list of all items ordered with their price, and the method of payment
used to pay the bill.
3.3.4 Communications
The handheld device and the central computer will communicate using a wireless network.
On the software level the two systems will communicate using sockets.
3.3.4.1 Socket Programming
Sockets are one of the easiest ways for two computers to communicate with each other.
When the handheld device (client) needs to communicate with the central computer
(server) it will create a socket. This socket will correspond to a socket on the server
with a specific port identification. When the client socket connects with the server
socket it creates a link between the two computers which information can be passed
along. After communications with the server are finished the connection will be broken
until the next time the client needs to communicate with the server in which case the
connection will be remade. The sockets that will be used will be unidirectional, so if the
central computer needs to communicate with the handheld device the central computer
will become the client and the handheld will become the server. The same process will
occur just the roles will be reversed. The following figure shows a basic diagram for
how socket programming works.
3-15
Figure 10: Socket diagram [8]
3.3.4.2 Communication between Handheld and Other Devices
The handheld device needs to have the capability to communicate with all of the
devices in the system. The most import of which is the central computer. In order for
the handheld to achieve its desired functionality the following information must be
sent/received to/from the correct location.
• Send order information to the central computer;
• Send credit card verification to the central computer;
• Send order to kitchen display;
• Send bill to be printed to Bluetooth printer;
• Receive menu updates from the central computer;
• Receive credit card verification from central computer; and
• Receive order status form kitchen.
3-16
Handheld
Start
Normal
Operation
Acknowledged
Finished Updating
Ready to Send
Update Notice
Pay with Card
Passed/Failed
Send
Update Order
Menu Authorize
Card Timeout
Timeout
Figure 11: The state machine of how the handheld device will operate.
3.4 Central Computer Approach
The following addresses the design objectives, the functional requirements, and the design
restraints of the central computer system. It also looks at some technical and testing approach
considerations.
3.4.1 Design Objectives
The approach to designing the central computer system is to research networking in Java and
to learn about MySQL so that the application will be written well and will run smoothly. The
central computer team already has knowledge regarding both of these, and is currently
researching them for this specific project. All of the elements of the central computer system
have already been chosen and the team has access to them.
The central computer application needs to run as smoothly as possible on the computer. It
should be easy to use and understand right from start-up. It needs to run without error at all
times, as the business of a restaurant is depending upon it. Also, the application’s graphical
interfaces must be very simple and professional-looking.
3.4.2 Functional Requirements
The Project includes a set of functional requirements for the central computer system. These
elements must be included for the Project to be considered a success.
3-17
Inventory and order history
The central computer system must be able to keep track of the restaurant’s order history
and automatically update the restaurant’s inventory, which the user will be able to
create and update as more items come into the restaurant.
Graphical user interface
All applications that interact with the user on the central computer system must have a
simple, easy-to-understand graphical user interface to allow for easy user navigation.
User-created menus
The central computer system must allow the user to create and edit menus for use on
the handheld device.
Kitchen-based display
There must be a display in the kitchen that will display the orders to the cooks and also
give them the ability to prioritize the orders and confirm order completion for waiter
notification.
Communication with the handheld
The central computer must be able to establish a connection with the handheld so the
handheld can read/write information to/from the MySQL database and so the systems
can notify each other of either new orders or complete orders.
3.4.3 Design Constraints
The Project requirements for the central computer system also include some design restraints,
which are described as the following:
Cost
The overall product budget is $150, but the goal is to keep the cost for the central
computer system as low as possible. That is why all the software being used is available
for free. An affordable desktop computer that is already available for testing will be
used, as well.
User interfaces
All user interfaces on the central computer system must be presented in a simple,
graphical interface to allow for easy user navigation.
3-18
Minimal wireless communications
The central system must be designed to allow the overall system to work with minimal
communication between the two systems. The less the two systems have to interact
over the network, the lower the risk of communication errors. This will also allow for
more handheld systems to interact with the central computer system at once.
3.4.4 Technical Approach Considerations and Results
The technical approach for the central computer system consists of starting with the original
plan and seeing how well it works and if it fails, then change the plan to make the system
work to meet the system requirements.
Research
Thorough research is an ongoing process that is still being done to understand all the
elements needed to make the central computer function properly. Most of this research
is being done on networking through Java and about using MySQL as a database. The
research completed to date has concluded that this software will offer what the system
needs to function.
Wireless communication
A wireless router has been chosen that should be able to handle the information being
passed between the two systems. The software is also being designed to allow for a
minimal number of communications between the central computer and the handheld by
having the handheld only send in order information and having the central computer
take care of the everything else based on that information.
3.4.5 Testing Approach Considerations
All testing for the central computer system will be done continuously by project members
throughout development to ensure success when all of the elements are brought together. The
first thing that will be developed is the database system for the central computer. This will be
created with a non-graphical user interface. Once it has been tested to make sure that the
databases can be created and accessed, a graphical user interface (GUI) can be developed.
Then communications between the central computer and the eBox-II will be tested. This will
first be done under ideal circumstances (close proximity with minimal obstruction) to make
sure the connections can be established and that the programs have been developed properly.
The wireless system can then be tested by putting the system into a more realistic
environment, with a greater distance between the two systems, with the eBox-II moving
during communication, and with obstructions such as walls and tables and people in between
the two systems. The wireless communication is one of the most important testing elements.
If packets are transferred successfully, then wireless communications will be considered
success in that regard. Transfer speed will also be tested. The goal is to minimize the time it
takes for the systems to communicate with one another to as quickly as possible, with no
3-19
slower than a few seconds being the desired speed. Once these two things have been tested
and work, the rest of the system will be developed and the final system tested in a realistic
environment one last time before project presentation. The team hopes to have an opportunity
to test the system in an actual restaurant environment to uncover any possible problems that
may remain unseen in a laboratory environment. Final testing will be done by various people
with little to no engineering background and with no initial understanding of this system. The
idea here is to ensure that someone just hired as a server for a restaurant would be able to
easily utilize this system if needed. In the final tests, the following will be tested:
• Ability to create and edit menus;
• Ability to view/edit inventory and order history;
• Effectiveness of graphical user interfaces;
• Ease/difficulty in understanding how to use applications;
• Wireless communications with the eBox-II;
• Proper kitchen display; and
• Overall practicality of using system in a restaurant environment.
3.4.6 Recommendations Regarding Project Continuation/Modification
For recommendations on the continuation of the Project would be to add the ability of secure
connection between the handheld and the computer system. The way in which this can be
done is to setup a VPN server on the central computer that would enable secure wireless
communications between the handheld and the server so that when credit card information is
sent between the handheld and the central computer the information would be free from
people who might be able to sniff out of the air someone’s credit information or pin number.
Another recommendation for the project for continuation would be to make the database and
the GUI more robust so the user could do more like create specialized menu for each day and
to have the ability to communicate to the handhelds when an item in the kitchen is no longer
available.
As for modifications for the currently planned project the current proposed plan and design
are still viable and achievable and do not need to be modified.
3.5 Detailed Design of Central Computer (hardware)
The following is a detailed look at the design of the central computer system which will process
orders coming from the handheld device and display them on a kitchen monitor, as well as use
order information to update the restaurant’s item database and order history. The central
3-20
computer system will have software that will allow users to create, edit, and select menus and
update information on the wireless handheld device.
3.5.1 Dell GX270
The Dell GX270 was chosen as the computer for the central computer system because it is a
multi-purpose desktop computer with the capabilities to run the applications that will be
created for it. It was also chosen because there are multiple of these machines available to the
team for testing purposes. In reality, the applications will be made to be able to be installed
on any modern desktop computer running on a Windows operation system. A similar
computer will be used for the kitchen display, though it will likely be a laptop running an
application on the Dell GX270 via a remote desktop connection.
The Dell GX270 has the following features and specifications that may apply to this project:
• Processor – Intel 865G chipset, Intel® Pentium® 4 processor with 800 MHz front
side bus and hyper-threading support or 533 MHz front side bus (depending on
processor) and 512K L2 cache or Celeron® processor with 400 MHz front side
bus and 128K L2 cache;
• Memory – .4 DIMM slots (SF chassis only has two); non-ECC dual channel
shared2 DDR SDRAM system memory (333Mhz or 400Mhz) up to 4GB on the
SD and SMT chassis;
• Ethernet – One RJ45 port;
• Other input/output ports:
o Eight USB 2.0
o PS/2 keyboard/mouse
o One Ethernet (RJ45)
• Video controller- Integrated Intel Extreme® Graphics 2;
• Power supply – small form factor 160W, small desktop 210W, small mini-tower
250W[9].
3.5.2 Linksys BEFW11S4 Wireless-B Broadband Router
The Linksys BEFW11S4 Wireless-B Broadband Router has been chosen as an affordable and
reliable router that will be able to handle the requirements of this system. It has the following
features and specifications that make it a choice wireless router for this Project:
• Standards: IEEE 802.3, IEEE 802.3u, IEEE 802.11b;
• Protocol: CSMA/CD;
3-21
• Channels: 11 channels (US, Canada), 13 channels (Europe) 14 channels (Japan);
• Ports:
o Internet: one 10/1000 RJ-45 port for cable/DSL modem connection
o LAN: four 10/100 RJ-45 switched ports
• Speed: 10/100Mbps (half duplex) 20/200 (full duplex);
• Cabling Type: UTP category 5 or better;
• Dimensions: 7.31" x 6.16" x 1.88" (186 mm x 154 mm x 48 mm);
• Unit weight: 16 oz. (0.45 kg);
• Power: external, 5V DC, 2A;
• Certifications: FCC, CE, WiFi, UPnP;
• Operating temp: 0ºC to 40ºC (32ºF to 104ºF);
• Storage temp: -20ºC to 70ºC (-4ºF to 158ºF);
• Operating humidity: 10% to 85%, non-condensing; and
• Storage humidity: 5% to 90%, non-condensing[10]
[10]
Figure 12: Linksys BEFW11S4 broadband router
3.6 Detailed Design of Central Computer (software)
The following is an overview of the software design for the applications running on the central
computer system. The applications will be written in Java 5.0, and MySQL will be used for
database support. One Java application will be used for the kitchen monitor user interface (which
will be accessed by a computer in the kitchen over remote desktop connection) and the other for
some communication with the handheld and for the user to create/edit menus, view order history,
and view/edit the inventory. MySQL databases will store all inventory, order, menu, and pricing
3-22
information. These databases will be accessed from the Java application through MySQL client
software for Java.
3.6.1 Inputs
The application on the central computer will use two types of input: user input via a keyboard
and/or mouse and information being directly received from the handheld via wireless
communication.
3.6.1.1 User Input
The user will have the capability to input information into the central computer through
some different applications. If the user is accessing the database, he/she will be able to
create/edit/choose menus, as well as view/update the restaurant inventory and view/edit
the order history.
If the user is at the kitchen-based computer, he/she will use a touch screen to either
prioritize orders that are on the screen or send a message to the handheld confirming
that the order has completed.
3.6.1.2 Handheld Device Input via Wireless Communication
The application on the central system will receive and send information to and from the
handheld through a wireless router. Using socket programming (Java 5.0 has classes
designed for networking, including the Socket() class) the application will be able to
receive and deliver information to/from the handheld.
3.6.2 Networking in the Java Application
The application on the central system will listen for a connection request from the handheld,
and establish connection upon such a request. This idea is shown in the following diagram:
Figure 13: Server and client communication[11]
The two will then be able to communicate by writing to or reading from their sockets. The
following is a simple application displaying a test communication between the handheld and
the central computer. The comments give insight as to the function of each part.
3-23
// open appropriate Java libraries
import java.io.*;
import java.net.*;
public class CentralComputer {
public static void main(String[] args) throws IOException {
// create variables
Socket wirelessSocket = null;
PrintWriter out = null;
BufferedReader in = null;
// try-catch block protects program from errors if the machine
// can not be found or if internet connection is unavailable
try {
// set Socket variable to the machine on the network named “eBox”,
// with 7 being the port number through which the server listens
wirelessSocket = new Socket("eBox", 7);
// This sets up a Printwriter object that can be used to print to “eBox”.
out = new PrintWriter(wirelessSocket.getOutputStream(), true);
// This sets up a BufferedReader object that can be used to read from “eBox”.
in = new BufferedReader(new InputStreamReader(wirelessSocket.getInputStream()));
// catch possible errors
} catch (UnknownHostException e) {
System.err.println("Don't know about machine: eBox.");
System.exit(1);
} catch (IOException e) {
System.err.println("Couldn't get I/O for " + "the connection to: eBox.");
System.exit(1);
}
// creates a BufferedReader object that can be used to read user
// input on this machine.
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
String userInput;
// this loop takes any user input, prints it out to “eBox”, waits
// for a response, then prints that to this machine.
while ((userInput = stdIn.readLine()) != null) {
out.println(userInput);
System.out.println("eBox: " + in.readLine());
}
// closes all I/O connections
out.close();
in.close();
3-24
stdIn.close();
wirelessSocket.close();
}
}
Essentially, the above program sends a message to the handheld and prints out a response. It
may not be useful directly for the project, but it shows in simple terms how the two systems
can communicate. It will also serve as a simple program to test communications between the
central computer and the handheld.
3.6.3 System Communication
MySQL is database software that is available free over the internet. It runs on commands
given by the user (much like a language such as Java or C++). The very useful thing about
MySQL for the purposes of the project is that there is client software available that allows a
program running in either Java or C++ to directly speak to the databases and create, edit, and
read from databases. This database system will work as follows:
There will be a database for: the restaurant inventory; the order history; each menu created;
and each table in the restaurant. Each table database will have a row for each person sitting at
the table, and each column will be used for information pertaining to each person’s specific
order. Every time an order is placed by the handheld the central computer will process the
order and notify the kitchen that a new order has arrived. The kitchen display application
then will be sent the order information and display the order on the monitor in the kitchen.
The central computer can also take care of using the order information to update the
inventory and order history, which will minimize the number of communications between the
handheld and the central system over the network.
3.6.4 User Interfaces
The application on the central computer system will have a few different uses, each requiring
its own graphical user interface.
For creating/editing menus, the GUI will consist of a series of options that the user can select
with a mouse or keyboard. These will allow the user to select from choosing a menu, creating
a menu, or editing a previously created menu.
3-25
Central Computer View
Start Inventory
Finished
Inventory
Update Menu Edit
Normal Finished
Operation
Customize
Menu Finished Updating
Edit
Order Done Inventory
Acknowledged
Receive from HH
Finished Updating Acknowledged
Tally
Inventory
Send
Menu Send to
Updates Send to
Finished Kitchen
Handheld
Timeout
Timeout
Timeout
Figure 14: The state machine of how the central computer will operate.
For the kitchen display, the GUI will consist of a simple series of boxes, each containing an
order. They will be displayed from left to right, top to bottom, in the order they were received
by the handheld. The user will be able to use the touch screen to click and drag these boxes
around the screen if they need to change order priority.
Start Kitchen Display
Normal
Operation
Finished
Finished
Edit Orders
Incoming Order
Meal Done
Finished
Add Manual
Order Edit
Remove/
Send
Notice
Timeout
Figure 15: The state machine of how the kitchen display will operate.
3-26
3.6.5 Application Flow
When the main central computer application starts up, it will establish connection with the
handheld through the wireless router. It will set up a simple server that will continuously look
for information coming from the handheld. This is basically waiting for an order to be
placed. The program will then notify the kitchen that a new order has been placed and what it
is and display it on the monitor. The program will also use this information to update the
database. This process will be going on continuously and automatically as long as the
application is running.
At the same time, the central computer will also be able to display the options for the user,
should they need to create/choose menus or view the database. If the user chooses to create a
menu, the program will display a form with numerous blank entries, in which the user can
type in main categories (appetizers, salads, entrees, etc.). After pressing enter, the program
will display these categories. By clicking on one of these categories, another form will be
displayed, again showing blank entries into which the user can type in sub-categories, and so
on (for example, salad sub-categories would be various different salads and the sub-
categories of each of these may be possible salad dressing options). After entering all desired
items, the user can complete and save the menu. This can be accessed from the “Choose
Menu” section, which will allow the user to edit the menu or select it to be sent to the
handheld.
3-27
4
Estimated Resources and Schedules
This Section presents the estimated resources and schedules that will be used to estimated time
for each part of the phase of the Project and identify the cost of the Project. The first part will
present the estimated resources required for completing the Project. The second part will present
the schedule and how much time will be spent on each phase of the Project.
4.1 Estimated Resource Requirement
The estimated resources requirements are broken down into three categories: personnel and
estimated manhours for each task; equipment/material inventory list and associated costs for
each item; and the estimated total cost of the Project.
Table 1 shows the tasks required to complete the Project and the corresponding manhours to
complete each task. The hours given for each team member closely relate to their expertise in
programming and how much responsibility they will assume for a given task. Table 1 does not
Table 1: Revised Estimated Personnel Manhour Effort Requirements for Each Task
Personnel Name Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Total
Chris Ford 6.50 14.0 21.0 40.0 44.0 11.5 4.6 42.0 183.60
Sean McVeigh 7.00 19.0 14.0 49.0 36.0 14.0 4.2 56.0 199.20
Obioma Ohia 5.50 13.0 15.5 48.0 38.0 9.5 5.0 35.0 169.50
Nichole Taylor 5.75 11.5 16.0 43.0 46.0 12.0 5.0 45.0 184.25
Anthony VanSant 5.25 12.5 13.5 45.0 36.0 13.0 5.2 38.0 168.45
Total 30.0 70.0 80.0 225.0 200.0 60.0 24.0 216.0 905.00
Task 1 – Problem Definition
Task 2 – Technology Considerations and Selections
Task 3 – End Product Design
Task 4 – End Product Prototype Implementation
Task 5 – End-Product Testing
Task 6 – End-Product Documentation
Task 7 – End-Product Demonstration
Task 8 – Project Reporting
show any change from the original manhours given in the Project Plan. The reason for this is that
it is still believed these estimations are still the best estimation of how the project will be
completed. The original manhours from the Project Plan is shown below in Table 2.
4-1
Table 2: Original Estimated Personnel Manhour Effort Requirements for Each Task
Personnel Name Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Total
Chris Ford 6.50 14.0 21.0 40.0 44.0 11.5 4.6 42.0 183.60
Sean McVeigh 7.00 19.0 14.0 49.0 36.0 14.0 4.2 56.0 199.20
Obioma Ohia 5.50 13.0 15.5 48.0 38.0 9.5 5.0 35.0 169.50
Nichole Taylor 5.75 11.5 16.0 43.0 46.0 12.0 5.0 45.0 184.25
Anthony VanSant 5.25 12.5 13.5 45.0 36.0 13.0 5.2 38.0 168.45
Total 30.0 70.0 80.0 225.0 200.0 60.0 24.0 216.0 905.00
Task 1 – Problem Definition
Task 2 – Technology Considerations and Selections
Task 3 – End Product Design
Task 4 – End Product Prototype Implementation
Task 5 – End-Product Testing
Task 6 – End-Product Documentation
Task 7 – End-Product Demonstration
Task 8 – Project Reporting
The equipment/materials necessary to complete the Project and the associated costs are shown in
Table 3. The cost information for each item comes from going to supply companies on the
internet that provided these items. Most of the items located in the list are free because either the
team already owns the items or they can be easily obtained from the Department of Electrical
and Computer Engineering. In the instance of the HDK the cost is an estimate for now. It is
hoped that this item will be donated by Intel in which case the cost will be nothing. Showing the
cost provides a good cost estimate of how much something like this costs and how it affects the
budget. The references of where the prices came from are all contained in Section 7.
Table 3: Revised Required Resources
Item Team Hours Other Hours Cost
Parts and Materials:
a. Hardware Development Kit Assembly[12] 3 0 ~$1,399.00
b. ICOP Technology eBox-II 0 0 Free
c. Magtek Mini USB Credit Card Reader[13] 0 0 $67.20
d. NETGEAR 802.11B Wireless USB Adapter 0 0 Free
e. Bluetooth Printer Adapter[14] 0 0 $54.00
f. Miscellaneous Parts 0 0 $20.00
g. Print Project Poster 8 0 $50.00
h. Dell Dimension GX270 0 0 Free
i. Linksys BEFW11S4 Wireless Router 0 0 Free
Software:
a. Microsoft Windows CE .NET 5.0 0 0 Free
b. Microsoft Visual Studio Pro 2005 w/MSDN Pro 0 0 Free
Totals 11 0 $1,590.20
To better understand the origin of the items in Table 3 it is necessary to review the original plan
equipment/material list. The original plan equipment/material list is presented in Table 4 and
shows the costs for each of the item that were needed for the Project. It was believed initially that
all of the items could be obtained through donations and that the estimated costs were developed
4-2
to give an idea of how much it would cost to get all of the items necessary to complete the
Project. Since the Project Plan was first presented, we have determined that the ideal
equipment/material to complete the Project will not be realized and we have revised the required
equipment/material resources in Table 3. It is necessary to present the original items to show
what it will take to complete the Project under ideal conditions.
Table 4: Original Required Resources
Item Team Hours Other Hours Cost
Parts and Materials:
a. Hardware Development Kit Assembly[12] 3 0 $1,399
b. Card Swipe[13] 0 0 $75.80
c. Wireless 802.11g PCMCIA Card[15] 0 0 $59.99
d. Bluetooth Printer[16] 0 0 $725.00
e. Bluetooth Adapter[17] 0 0 $30.00
f. Miscellaneous Parts 0 0 $20.00
g. Print Project Poster 8 0 $50.00
h. Dell Dimension B110[18] 0 0 $569.00
i. Linksys WRT54G Wireless Router[19] 0 0 $49.99
Software:
a. Microsoft Windows CE .NET 4.2[20] 0 0 $995.00
b. Microsoft Visual Studio Pro 2005 w/MSDN Pro[21] 0 0 $644.00
Totals 11 0 $4,617.78
The total cost of the Project includes both the cost for the equipment/materials and the labor.
Labor costs were calculated by assuming that the team personnel would receive $10.50 per hour
for working on the Project. The cost per hour was multiplied by the total hours each person is
estimated to work to get the total cost for one team member to work on the Project. The $10.50
per hour comes from an estimate of what a recently graduated engineer (does not include
benefits markup) would make per hour and what an intern would make on an internship. The
cost estimate for the Project is shown in Table 5. This information is a revised estimated project
cost from the original plan. The change is due to the equipment/materials needed to complete the
Project has changed, thus the estimated project costs were updated to reflect these changes and
also the labor cost has decreased due to new estimates in labor.
4-3
Table 5: Revised Estimated Project Costs
Item W/O Labor With Labor
Parts and Materials:
a. Hardware Development Kit Assembly ~$1,399.00 ~$1,399.00
b. ICOP Technology eBox-II Free Free
c. Magtek Mini USB Credit Card Reader $67.20 $67.20
d. NETGEAR 802.11B Wireless USB Adapter Free Free
e. Bluetooth Printer Adapter $54.00 $54.00
f. Miscellaneous Parts $20.00 $20.00
g. Print Project Poster $50.00 $50.00
h. Dell Dimension GX270 Free Free
i. Linksys BEFW11S4 Wireless Router Free Free
Subtotal $1,590.20 $1,590.20
Software:
a. Microsoft Windows CE .NET 5.0 Free Free
b. Microsoft Visual Studio Pro w/MSDN Pro Free Free
Subtotal Free Free
Labor at $10.50 per hour:
a. Ford, Chris $1,927.80
b. McVeigh, Sean $2,091.60
c. Ohia, Obioma $1,779.75
d. Taylor, Nichole $1,934.63
e. VanSant, Anthony $1,768.73
Subtotal $9,502.51
Total $1,590.20 $11,092.71
Table 6 is presented for purposes of showing the that the ideal case for completing the Project. It
was unrealistic to think that all the equipment/material could be obtained through donations and
that the least ideal case is the realistic way of completing the project.
4-4
Table 6: Original Estimated Project Costs
Item W/O Labor With Labor
Parts and Materials:
a. Hardware Development Kit $1,399 $1,399
b. Card Swipe $75.80 $75.80
c. Wireless 802.11b PCMCIA Card $59.99 $59.99
d. Bluetooth Printer $725.00 $725.00
e. Bluetooth Adapter $30.00 $30.00
f. Miscellaneous Parts $20.00 $20.00
g. Project Poster $50.00 $50.00
h. Dell Dimension B110 $569.00 $569.00
i. Linksys WRT54G Wireless Router $49.99 $49.99
Subtotal $2,978.78 $2,978.78
Software:
a. Microsoft Windows CE .NET 4.2 $995.00 $995.00
b. Microsoft Visual Studio Pro w/MSDN Pro $644.00 $644.00
Subtotal $1,639.00 $1,639.00
Labor at $25.00 per hour:
a. Ford, Chris $4,590.00
b. McVeigh, Sean $4,980.00
c. Ohia, Obioma $4,237.50
d. Taylor, Nichole $4,606.25
e. VanSant, Anthony $4,211.25
Subtotal $22,625.00
Total $4,617.78 $27,242.28
4.2 Estimated Schedule Requirement
The estimated schedule has two components: task start and finish schedule; project deliverables
schedule. The revised estimated schedule for when a task begins and ends is shown in Figure 16,
which is on the following page and the original schedule is shown in Figure 17. The revised
deliverables schedule is shown in Figure 18 and the original deliverables schedule is shown in
Figure 19. These schedules have not changed since the original plan. We perceive these
schedules are still achievable for this Project.
4-5
ID Task Name
Sep '06 Oct '06 Nov '06 Dec '06 Jan '0 7 Feb '07 Mar '07 Apr '0 7 May
27 3 10 17 24 1 8 15 22 29 5 12 19 26 3 10 17 24 31 7 14 21 28 4 11 18 25 4 11 18 25 1 8 15 22 29
1 Project Definition
2 Project Definition Completion
3 End User(s) and End Use(s)
4 Constraint Identification
5 Technology Considerations
6 Identification of Technologies
7 Identification of Criteria
8 Technology Research
9 Technology Selection
10 End-Product Design
11 Identification of Requirements
12 Design Process
13 Document Design
14 Prototype Implem entation
15 Identification of Limitations
16 Implementation of Prototype
17 End-Product Testing
18 Test Planning
19 Test Development
20 Actual Testing
21 Result Evaluation
22 Test Documentation
23 End-Product Documentation
24 End-user Documentation
25 Maintence Documentation
4-6
26 End-Product Demonstration
27 Demonstration Planning
28 Faculty Advisor(s) Demonstration
29 Client Demonstration
30 Industrial Review Panel Demonstration
31 Project Reporting
32 Unbound Project Plan
33 Bound Project Plan
34 Unbound Design Report
35 Bound Design Report
36 Project Poster
37 Unbound Final Report
38 Bound Final Report
39 Weekly Email Reporting
Figure 16: Revised Estimated Project Schedule
ID Task Name
Sep '06 Oct '06 Nov '06 Dec '06 Jan '0 7 Feb '07 Mar '07 Apr '0 7 May
27 3 10 17 24 1 8 15 22 29 5 12 19 26 3 10 17 24 31 7 14 21 28 4 11 18 25 4 11 18 25 1 8 15 22 29
1 Project Definition
2 Project Definition Completion
3 End User(s) and End Use(s)
4 Constraint Identification
5 Technology Considerations
6 Identification of Technologies
7 Identification of Criteria
8 Technology Research
9 Technology Selection
10 End-Product Design
11 Identification of Requirements
12 Design Process
13 Document Design
14 Prototype Implem entation
15 Identification of Limitations
16 Implementation of Prototype
17 End-Product Testing
18 Test Planning
19 Test Development
20 Actual Testing
21 Result Evaluation
22 Test Documentation
23 End-Product Documentation
24 End-user Documentation
25 Maintence Documentation
4-7
26 End-Product Demonstration
27 Demonstration Planning
28 Faculty Advisor(s) Demonstration
29 Client Demonstration
30 Industrial Review Panel Demonstration
31 Project Reporting
32 Unbound Project Plan
33 Bound Project Plan
34 Unbound Design Report
35 Bound Design Report
36 Project Poster
37 Unbound Final Report
38 Bound Final Report
39 Weekly Email Reporting
Figure 17: Original Estimated Project Schedule
ID Task Name
Sep '06 Oct '06 Nov '06 Dec '06 Jan '0 7 Feb '07 Mar '07 A pr '0 7 May
27 3 10 17 24 1 8 15 22 29 5 12 19 26 3 10 17 24 31 7 14 21 28 4 11 18 25 4 11 18 25 1 8 15 22 29
1 Project Reporting
2 Unbound Project Plan 9/22
3 Bound Project Plan 10/10
4 Unbound Design Report 11/10
5 Bound Design Report 12/13
6 Project Poster 2/27
7 Unbound Final Report 3/30
8 Bound Final Report 5
9 Class Presentation 4/10
10 Industrial Review Presentation 4/25
11 Weekly Email Reporting
Figure 18: Revised Deliverables Schedule
4-8
ID Task Name
Sep '06 Oc t '06 Nov '06 Dec '06 Jan '0 7 Feb '07 Mar '07 Apr '0 7 May
27 3 10 17 24 1 8 15 22 29 5 12 19 26 3 10 17 24 31 7 14 21 28 4 11 18 25 4 11 18 25 1 8 15 22 29
1 Project Reporting
2 Unbound Project Plan 9/22
3 Bound Project Plan 10/10
4 Unbound Design Report 11/10
5 Bound Design Report 12/13
6 Project Poster 2/27
7 Unbound Final Report 3/30
8 Bound Final Report 5
9 Class Presentation 4/10
10 Industrial Review Presentation 4/25
11 Weekly Email Reporting
Figure 19: Original Deliverables Schedule
4-9
5
Project Team Information
The following information identifies who the client is for the Project and the contact information
for all of the team members, the faculty advisor and technical advisor that will be used in the
completion of the Project.
Client
Senior Design
Faculty Advisor Technical Advisor
Dr. Manimaran Govindarasu Dr. Randall Geiger
3219 Coover Hall 351 Durham Hall
Ames, IA 50011-3060 Ames, IA 50011-2252
Office Phone: (515) 294-9175 Office Phone: (515) 294-7745
Fax: (515) 294-8432 Fax: (515) 294-1152
Email: gmani@iastate.edu Email: rlgeiger@iastate.edu
Project Team
Christopher Ford Nichole Taylor
Electrical Engineering Electrical Engineering
15411 Horton Avenue 1400 Coconino Rd #213
Urbandale, IA Ames, IA 50014
Home Phone: (515) 975-7088 Home Phone: (563) 505-4735
Email: cford@iastate.edu Email: nikkit@iastate.edu
Sean McVeigh (Project Manager) Anthony Vansant
Electrical Engineering Electrical Engineering
420 South 4th Street #11 123 Sheldon Ave #13
Ames, IA 50010 Ames, IA 50014
Home Phone: (515) 233-3360 Home Phone: (515) 708-1291
Email: smcveigh@iastate.edu Email: vansant@iastate.edu
Obioma Ohia
Electrical Engineering
103 Stanton Ave #25
Ames, IA 50014
Home Phone: (515) 710-9177
Email: oohia@iastate.edu
5-1
6
Summary
Although this device will not be a marketable product, the concept of the product will be proven.
Restaurant waiter will have a wireless handheld device that will allow the waiter to place orders,
receive payments and print receipts all with one device. Specifically, the device will incorporate
an LCD touch screen, a magnetic card swipe, and a Bluetooth printer which will allow
restaurants to increase the efficiency of the restaurants order/billing and inventory system and
reduce the amount of paper used. Restaurants may find the idea of this device to be an attractive
option, therefore such a system has a potential for success in commercial applications.
6-1
7
References
[1]
"Bluetooth Frequently Asked Questions Components." MobileInfo.Com. MobileInfo. 18 Sept.
2006 <http://www.mobileinfo.com/Bluetooth/FAQ.htm>.
[2]
"Untitled Document." BSQUARE Corporation. 8 Nov. 2006 <http://www.bsquare.com/dld-
files/images/270_technical_specs.asp>.
[3]
”Intel PXA27x Processor Developer's Kit." Download.Intel.Com. Intel Corporation.
14 Sept. 2006
<ftp://download.intel.com/design/pca/applicationsprocessors/manuals/27882705.pdf>.
[4]
"Low-Cost Platform Supports Windows CE Contest." WindowsForDevices.com. 6 Nov. 2006
<http://www.windowsfordevices.com/news/NS2983372021.html>.
[5]
"Card Reading > Magstripe > Swipe > Mini." Magtek. 6 Nov. 2006
<http://www.magtek.com/products/card_reading/magstripe/swipe/mini/specs_usb.asp>.
[6]
"MA111 - 802.11b Wireless USB Adapter." NETGEAR. 6 Nov. 2006
<http://www.netgear.com/Products/Adapters/BWirelessAdapters/MA111.aspx>.
[7]
"IOGEAR: Expand Your Connectivity." IOGEAR. 6 Nov. 2006
<http://www.iogear.com/main.php?loc=product&Item=GBP201KIT>.
[8]
"Socket Programming." Troubleshooters.Com. 6 Nov. 2006
<http://www.troubleshooters.com/codecorn/sockets/>.
[9]
"gx270-Spec.Pdf." 6 Nov. 2006 <http://www.scs.fsu.edu/classroom/Dell/gx270-spec.pdf>.
[10]
"Linksys.com - Products/Wireless/Basic Networking/Broadband Routers/Wireless-
B/BEFW11S4." Linksys. 6 Nov. 2006
<http://www.linksys.com/servlet/Satellite?c=L_Product_C2&childpagename=US%2FLa
yout&cid=1115416826220&packedargs=site%3DUS&pagename=Linksys%2FCommon
%2FVisitorWrapper>.
[11]
"What is a Socket? (the Java Tutorials > Custom Networking > All About Sockets)." Sun
Microsystems. 6 Nov. 2006
<http://java.sun.com/docs/books/tutorial/networking/sockets/definition.html>.
[12]
"PXA270 - PhyCORE-XScale/PXA270 Rapid Development Kit." 9 Oct. 2006
<http://www.phytec.com/products/rdk/ARM-XScale/phyCORE-XScale-PXA270.html>.
7-1
[13]
"Tracks 1, 2, & 3 Credit Card Reader." BarcodesInc. Barcodes Inc. 7 Sept. 2006
<http://barcodesinc.com/cats/credit-card-readers/1-2-3.htm>.
[14]
"Bluetooth Print Adapter Kit for USB Prints (IOGEAR-GBP201KIT)." PriceGrabber.Com. 7
Nov. 2006
<http://www.pricegrabber.com/p__IOGEAR_Bluetooth_Print_Adapter_Kit_for_USB_Pr
inters,__7411747>.
[15]
"NetGear WG511 54 Mbps WL PC Card (NetGeat - WG511)." PriceGrabber.Com. 9 Oct.
2006 <http://amdmb.pricegrabber.com/search_getprod.php/masterid=691890>.
[16]
"Auto ID Solutions by Integrated Labeling Systems, Inc." 11 Sept. 2006
<http://www.product-
catalog.com/preview_item.cfm?line=Intermec%20PB20%20Direct%20Thermal%20Port
able%20Printer&page_name=vendor&manu=Intermec&item=&BAToken=ils>.
[17]
"Network Adapter Bluetooth USB Wireless Networking." PriceGrabber.Com. 9 Oct. 2006
<http://amdmb.pricegrabber.com/search_attrib.php/page_id=371/popup2%5B%5D=40:1
012/popup1%5B%5D=50:227/popup3%5B%5D=10:264>.
[18]
"Basic Desktops." Dell. Dell Inc. 20 Sept. 2006
<http://www.dell.com/content/products/features.aspx/featured_basdt?c=us&cs=19&l=en
&s=dhs>.
[19]
"Linksys WRT54G Wireless G-Router." Amazon.Com. Amazon. 20 Sept. 2006
<http://www.amazon.com/Linksys-WRT54G-Wireless-G-Router/dp/B00007KDVI>.
[20]
"BSQARE Store." BSQUARE. BSQUARE Corporation. 21 Sep 2006
<http://store.bsquare.com/catalog/index.cfm?fuseaction=product&theParentId=142&id=2
469>.
[21]
"Visual Studio 2005 Professional Edition w/MSDN Pro." Pricegrabber.com. Price Grabber.
21 Sep 2006 <http://amdmb.pricegrabber.com/search_getprod.php/masterid=13954436>.
7-2
Get documents about "