Top Banner
Inventory Control in Stores Spring 2005 Design Report Team: Dec05-09 Client: Senior Design Program Faculty Advisor: Dr. Degang Chen Team Members: Jeff Benson Frederick Brown Christopher Reed Brian Wagner REPORT DISCLAIMER NOTICE 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
60
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: seniord.ece.iastate.edu

Inventory Control in Stores

Spring 2005 Design Report

Team:Dec05-09

Client:Senior Design Program

Faculty Advisor:Dr. Degang Chen

Team Members:Jeff Benson

Frederick BrownChristopher Reed

Brian Wagner

REPORT DISCLAIMER NOTICE

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.

May 4, 2005

Page 2: seniord.ece.iastate.edu

Table of Contents

List of Figures.....................................................................................iiiList of Tables......................................................................................ivList of Acronyms/Definitions................................................................v1 Introductory Materials...................................................................1

1.1 Executive Summary................................................................................11.2 Acknowledgement...................................................................................11.3 Problem Statement.................................................................................1

1.3.1 General Problem Statement............................................................11.3.2 Solution Approach............................................................................1

1.4 Operating Environment...........................................................................21.5 Intended Users/Uses...............................................................................2

1.5.1 Intended Users.................................................................................21.5.2 Intended Uses..................................................................................2

1.6 Initial Assumptions and Limitations.........................................................21.6.1 Current Assumptions.......................................................................31.6.2 Current Limitations...........................................................................3

1.7 Expected End-Product and Other Deliverables.......................................41.7.1 Deliverables.....................................................................................4

2 End-Product Design......................................................................52.1 Approach Used.......................................................................................5

2.1.1 Design Objectives............................................................................52.1.2 Functional Requirements.................................................................52.1.3 Design Constraints...........................................................................62.1.4 Technical Approach and Considerations and Results.....................6

2.1.4.1 Technology Consideration........................................................72.1.4.2 RFID Connection......................................................................72.1.4.3 RFID Power Source..................................................................82.1.4.4 Software....................................................................................82.1.4.5 RFID Tag Type.........................................................................82.1.4.6 RFID Frequency Range............................................................92.1.4.7 RFID Antenna.........................................................................10

2.1.5 Testing Approach Considerations..................................................112.1.6 Project Continuation Recommendations........................................11

2.2 Detailed Design.....................................................................................122.2.1 Project Design................................................................................122.2.2 Software Design.............................................................................15

2.2.2.1 Classes...................................................................................152.2.2.2 Program Screenshots.............................................................17

3 Estimated Resources and Schedules.........................................283.1 Resource Requirements.......................................................................28

3.1.1 Personnel Effort Requirements......................................................283.1.2 Other Resource Requirements......................................................293.1.3 Financial Requirements.................................................................30

i

Page 3: seniord.ece.iastate.edu

3.2 Schedules.............................................................................................313.2.1 Project Schedule............................................................................313.2.2 Deliverable Schedule.....................................................................34

4 Closure Materials........................................................................354.1 Contact Information...............................................................................35

4.1.1 Client Contact Information.............................................................354.1.2 Faculty Advisor Contact Information..............................................354.1.3 Student Team Contact Information................................................35

4.2 Closing Summary..................................................................................36

ii

Page 4: seniord.ece.iastate.edu

List of Figures

Figure 2.2.1—1: System Flowchart....................................................................12Figure 2.2.1—2: Inventory Flowchart.................................................................13Figure 2.2.1—3: Customer Flowchart.................................................................14Figure 2.2.2—1: Screenshot of Main Inventory Window....................................17Figure 2.2.2—2: Add To Inventory Manually Screenshot...................................18Figure 2.2.2—3: Remove From Inventory Screenshot.......................................19Figure 2.2.2—4: Update Item Screenshot..........................................................20Figure 2.2.2—5: Check Out Inventory Manually Screenshot..............................21Figure 2.2.2—6: Return Item Screenshot...........................................................22Figure 2.2.2—7: Screenshot of Main Customer Window....................................23Figure 2.2.2—8: Add New Customer Screenshot..............................................24Figure 2.2.2—9: Delete Customer Screenshot...................................................25Figure 2.2.2—10: Update Customer Info Screenshot........................................26Figure 2.2.2—11: View Customer History Screenshot.......................................27Figure 3.2.1—1: Original Project Tasks Schedule..............................................32Figure 3.2.1—2: Revised Project Tasks Schedule.............................................33Figure 3.2.2—1: Original Project Deliverable Schedule.....................................34Figure 3.2.2—2: Revised Project Deliverable Schedule.....................................34

iii

Page 5: seniord.ece.iastate.edu

List of Tables

Table 2.1.4—1: Bar-code Versus RFID................................................................7Table 2.1.4—2: Active Tag Versus Passive Tag..................................................9Table 2.1.4—3: RFID Frequency Ranges..........................................................10Table 2.2.2—1: DVD Class Data........................................................................15Table 2.2.2—2: Customer Class Data................................................................16Table 3.1.1—1: Original Estimated Personal Effort Resource Requirement......28Table 3.1.1—2: Revised Estimated Personal Effort Resource Requirement.....28Table 3.1.2—1: Original Estimated Required Resources...................................29Table 3.1.2—2: Revised Estimate Required Resources....................................29Table 3.1.3—1: Original Estimated Project Costs..............................................30Table 3.1.3—2: Revised Estimated Project Costs..............................................30

iv

Page 6: seniord.ece.iastate.edu

List of Acronyms/Definitions

RFID – Radio frequency identification

GUI – Graphical user interface

RFID tag – A small object that can be attached to, or incorporated into a product that is used to store and retrieve data.

RFID scanner/reader – A device used to communicate with the RFID tags.

Passive RFID tag – A tag that does not have any internal power source and is powered by the scanner.

Active RFID tag – A tag that requires its own power source to operate.

RS232 – Recommended Standard IEEE 232 [computer serial interface].

v

Page 7: seniord.ece.iastate.edu

1 Introductory MaterialsThe following introductory material is required to develop a general idea of the project and express how the solution will come about.

1.1 Executive SummaryAn essential part of any business is being able to track inventory and sales. In order for a business to be successful, the inventory control system must be accurate and effective. To insure accuracy and effectiveness, automated data collection systems are used. These systems use technologies such as barcodes or RFID, of which barcodes are the most widely used. Barcode technology is inexpensive and can be effective, but is time-consuming and tedious when using it for inventory control. The new technology that is becoming available is radio frequency identification (RFID). The purpose of this project is to simulate an inventory control system using RFID technology that will show some of the benefits that it holds over the current barcode systems. This group will report on the advantages and disadvantages of RFID and show how it can be implemented in current business inventory systems.

1.2 AcknowledgementThe team would like to thank Professor John Lamont, Professor Ralph Patterson III, and Professor Degang Chen for their assistance in defining the project and support through its completion.

1.3 Problem StatementThis section defines the problem and states the problem solution.

1.3.1 General Problem StatementBarcode technology is the leader in inventory control at the present time. However, there are flaws in the technology that limit its effectiveness. The amount of data that can be stored in a barcode, the need for human intervention, and the necessity for line-of-site to transfer data, are a few issues that can be negated using other technology.

1.3.2 Solution ApproachThe use of RFID can, in many cases, enhance the effectiveness of inventory control. The team will research the possibilities of RFID technology, using the Internet and textbooks, and examine some of the improvements it has on the current barcode system. The team will identify issues that can be resolved with the use of RFID and demonstrate its effectiveness. This will be done by, first,

1

Page 8: seniord.ece.iastate.edu

analyzing the limitations of barcode technology, and then applying the new possibilities of RFID technology to propose solutions to correct some of the

current issues.

1.4 Operating EnvironmentThe operating environment for this RFID system will be indoors and outdoors. Since there are so many different types of businesses with inventory needs, there are many possible scanners and tags that are available. In many cases, the equipment must be able to operate in high traffic areas. The readability of the reader is affected by moisture and temperatures outside the range of 0 to 50C, so the operating environment must be dry and within that range. Retail stores and warehouses provide great operating environments for this type of system.

1.5 Intended Users/UsesThis section describes the intended users and uses of the final project.

1.5.1 Intended UsersThe intended users of the RFID inventory control system are retail businesses that hold and need to track inventory and sales to the business’ customers. This system will be setup to be mostly self-operated, but will require a trained staff member for troubleshooting and linkage of the system to the specific company software. An employee with sole responsibilities being the inventory system is recommended. In order for simplicity, the system will be developed for relatively easy setup and mild human interference, but will require overseeing. It is assumed that the system user will not apply moisture to the system or attempt to use the system outside of the temperature range. Nonprofit organizations and individuals can also benefit from this system.

1.5.2 Intended UsesThe RFID inventory control system is used to track inventory, sales, and customers. It will be designed for retail businesses that hold inventory. The system will be able to manage and track inventory and sales, collect data, and can be linked to a security system. The system will be able to scan in new items, display information about the item, write new information to the item tag, manage in and out of stock inventory, manage customers, and subtract items from inventory.

2

Page 9: seniord.ece.iastate.edu

1.6 Initial Assumptions and LimitationsThe design team will proceed with the project based on the assumptions and limitations listed within this section.

1.6.1 Current AssumptionsListed below are the current assumptions for the project.

RFID kit – The team will be able to purchase an RFID kit and it will come with proper instruction.

Interface – The team will be able to interface with the RFID reader.

RFID tags – The tags will be programmable.

Data – The data taken from the tags will be read to a setup database.

Software – The software will be Windows compatible.

System – The system will only track inventory going in/out of DVD rental business.

1.6.2 Current LimitationsListed below are the current limitations for the project.

Experience – The team doesn’t have any prior experience with RFID.

Cost – The project budget is $150 and the cost of RFID scanners and tags is, in most cases, more than this.

Time – The time available to learn the RFID software is limited.

Size – Although the size of the RFID system is not a significant restraint as it will be inside a retail store, this group has set a boundary of less than one cubic foot. This volume will contain the reader hardware, but the external antenna will not be included in this restraint.

Weight – Much like the size, this restraint is even less important to the overall product design, but a loose product weight limit has been set at five pounds. Once again, this includes only the main RFID hardware and excludes the antenna and PC that is running the inventory system.

Power – It is assumed that the power for the RFID unit will be constant, and this team also therefore assumes that power loss is not a concern. Because of this,

3

Page 10: seniord.ece.iastate.edu

an alternate form of power will not be necessary in the design of the RFID system.

RFID tag size – A size constraint is needed for the individual RFID tags, as they are required to fit inside DVD cases and other small items that a retailer may carry.

Standards – There is no set of standards established at the present time.

Temperature – The temperature range for this system to operate effectively is between 0 and 50C.

Liquid and metals – Radio frequency signal quality can be compromised in the presence of materials like metals and liquids.

Distance to read tag – Due to cost constraints the distance to read tag may be smaller than hoped for.

1.7 Expected End-Product and Other DeliverablesThe end product of this project will be contingent upon available funding and design time requirements.

1.7.1 DeliverablesListed below are the deliverables the team expects to complete by the end of the project.

Demonstration – The demonstration will include a working model of a sample inventory control system using RFID technology. The system will be linked to the team’s made-up company data. The team will show how a tag is scanned, the information that can be collected, and how that information can be linked to a database. Initial research will also be included.

Documentation – The documentation will assist the user during operation of the inventory system.

Weekly e-mails – These will update the instructors, advisors, and clients involved with the project on the work completed the previous week and ask recipients about any issues that have arisen during the previous week. They will also serve as a plan for the upcoming week.

Project plan – The project plan outlined the basic objective of the project and included information about design restrictions, estimation of work, supplies necessary, and the process being used to develop the product.

4

Page 11: seniord.ece.iastate.edu

Project poster – The project poster is a large, graphical description of the basic components, operation, and design of the project.

Oral presentation of the design results – The team will give an oral presentation describing the progress achieved and the final design.

Design report – Describes progress made during the first semester and outlines the project plan for the second semester.

Final design report – A final report due at the end of the year detailing all aspects of the design process.

5

Page 12: seniord.ece.iastate.edu

2 End-Product DesignThe end-project section of this report gives the client a brief description of all of the design constraints the inventory control system is designed around as well as the deliverables in this project.

2.1 Approach UsedThe approach used section of this report examines each of the components that the group considered in the design of this project.

2.1.1 Design ObjectivesBased on the problem statement, there are several necessary objectives that the system must meet. These objectives include the following:

Easy to use – The system will need to be easy to use once it has been setup. It will be a stand-alone system and will require minimum human interface with the system itself in order to perform its functions.

Low maintenance – Once setup, the system will be able to function with little input from an operator. The database will be updated automatically and will only require an employee to oversee the process. The software will be equipped with an override feature that would allow the employee to take control.

Utilize RFID capabilities – The system will display some of the nice features that RFID technology has to offer. These features will demonstrate some of the benefits of using RFID over barcode technology.

2.1.2 Functional RequirementsThe design objectives lead to the functional requirements of the inventory control system of the rental store, which are as follows:

Scanning capability- The system will scan the RFID tags located on items and membership cards using an RFID scanner.

Data storage/management- The design will collect and store data from the RFID reader or scanner on a computer using a R232 serial connection.

Software- Software will be used to collect and process the retail information for the data.

Data control-The system will allow manual entry into the database for adding membership and items.

5

Page 13: seniord.ece.iastate.edu

2.1.3 Design ConstraintsListed below are the constraints the team intends on following throughout the design.

Cost – The overall cost for the RFID hardware necessary to complete the project shall not exceed $150.

Size – Although the size of the RFID system is not a significant restraint as it will be inside a retail store, this group has set a boundary of less than one cubic foot. This volume will contain the reader hardware, but the external antenna will not be included in this restraint.

Weight – Much like the size, this restraint is even less important to the overall product design, but a loose product weight limit has been set at five pounds. Once again, this includes only the main RFID hardware and excludes the antenna and PC that is running the inventory system.

Power – It is assumed that the power for the RFID unit will be constant, and this team also therefore assumes that power loss is not a concern. Because of this, an alternate form of power will not be necessary in the design of the RFID system.

DVD – Tag will not be able to be removed from DVD.

Customer – Only one customer can walk by reader at a time.– Each customer must have membership card with RFID tag on it.– Customers must be at least three seconds apart.– Each customer must hold membership card and items being rented

within reader’s reading distance.– Each customer must walk slowly by reader to allow enough time to read

in membership card and items.– Each customer won’t walk by scanner again with items just rented.

System user – A trained employee of the business is the only one who can add inventory into system.

2.1.4 Technical Approach and Considerations and ResultsThis section describes the different types of technology and approach used to design the team’s inventory system.

6

Page 14: seniord.ece.iastate.edu

2.1.4.1 Technology Consideration

For a system solution, there are two possible inventory control scanning techniques that were considered. The technologies that were considered were bar coding, and RFID. The advantage of having bar code is that it is inexpensive, and has the potential to scan items from 40 feet away with 100 percent of accuracy. The disadvantages to having bar code are that it can only scan and read one bar code at a time, and requires line of sight to scan the bar code. The advantages for using RFID scanning techniques are the user can scan many RFID tags simultaneously, does not require line of sight to read each tag, and has a unique identification number with more data. The disadvantages to having RFID are that it can scan only items within a few feet, and scanning accuracy is less than 100 percent. Table 2.1.4—1 explains the advantages and disadvantages of bar code versus RFID. The technology chosen is to use RFID over bar coding because it is designed more for an inventory control environment and already has all the features needed in one convenient package. Depending on the type of product there are some advantages of RFID over bar coding. RFID is well suited for high-value products and also for high volume distribution centers where RFID can speed the velocity of the goods through the receiving and shipping process. RFID is a much better technology in "track and trace" applications where the user wants to be able to track goods through the supply chain.

Table 2.1.4—1: Bar-code Versus RFID

Bar Codes RFID Tags

Require line of sight to scan bar codes

Can only scan and read one bar code at a time

Can be scanned from 30 or 40 feet away from label

Scan accuracy nearly 100% Can scan several hundred scans per

minute with no reduction in throughput or line speeds

Cannot scan an entire pallet of case labels without breaking down the pallet and rebuilding

If a specific license plate label (a reusable tote) is lost, you must visually inspect all labels to find the correct one

Don't require line of site to read each tag Can scan many RFID tags simultaneously Scan/read distance limited to a few feet for

low-cost, passive tags Scan accuracy of 100% can be achieved,

but difficult Dwell time required to scan all tags on a

pallet or a tag on a case traveling on a conveyor can reduce line speed and throughput

Can scan all cases on a pallet with single pass through a portal reader

Can read and locate a specific RFID tag (attached to that same tote) more quickly

Source:http://www.industryweek.com/Columns/Asp/columns.asp?ColumnId=1062

2.1.4.2 RFID Connection

As far as the physical connection between the PC and the RFID system is concerned, only two main options are currently offered. Most systems contain RS232, or serial, for an interface, but some are also becoming available with USB as well. Usually, the main concern in deciding which of these two

7

Page 15: seniord.ece.iastate.edu

connections to go with would be determined by the speed necessary for transfer. Serial is much slower than USB, but works fine for applications in which high speed isn’t necessarily required. Serial is also much more prominent among RFID systems today, as well as being a common occurrence on most PCs. For this reason, the team has decided to go with a serial RS232 connection between the PC and the RFID unit.

2.1.4.3 RFID Power Source

Both 120 volts AC power and DC power from 9 volt batteries are found in RFID systems today. AC power technology is beneficial over battery power because no charging is needed. Power outages are a concern for this technology, though, as a battery backup would be required if the RFID system were to continue working in these power loss conditions. Battery power from a 9 volt battery eliminates this concern, but introduces the concern of loss of power due to a dead battery. Because power outages are not a concern for this group, and a constant power supply is assumed to be achieved from AC power via a 120 volt power socket, this group has decided to go with AC power over battery power. The options, though, are thus narrowed down in terms of choices for RFID systems available with AC power. If this becomes a problem, the team will adapt an AC to DC power converter to their RFID system which will enable them to use 120 volt AC power.

2.1.4.4 Software

The choices for software on this inventory control system are almost limitless. For a back-end, software to run the actual RFID system, the current options can be anywhere from C, BASIC, to assembly language. As C is probably one of the most common languages still used today, the team has decided to write any back-end software with this language. Options for the software in which the user will interact with the database were chosen to be Java, Perl/Tk, or some form of dynamic web language such as PHP. Benefits of using any of these languages would be the possibility of making a user friendly GUI that the user would be able to interact with. Since it is assumed that the software and database is to run on one machine and a network of machines isn’t necessary, dynamic web pages were no longer needed. Java, then, was chosen for a front-end software language because of the ease of programming GUI applications over Perl/Tk.

2.1.4.5 RFID Tag Type

There are four different types of RFID tags. There are the read only and read and write tags. Then there are the active tags and the passive tags. Read only tags allow the RFID scanner to read from the tag. Read and write tags let the RFID scanner read and write different information from the tags. As a result, the team has chosen the reading and writing capabilities because of the different options

8

Page 16: seniord.ece.iastate.edu

of changing the information of the tags. These options will benefit the team when creating a database for the inventory control system.

The other types of tags that an RFID scanner can read are active and passive tags. Active tags have continuous power available, requires a lower signal from the reader and can read 1000’s of tags up to 100 meters. Active tags also are very expensive and require a battery. Passive tags can read a few hundred tags, doesn’t require a battery and are very cheap. Passive Active tags also require being very close to the RFID reader while scanning. The advantages and disadvantages of having active tags versus passive are shown in Table 2.1.4—2. For the inventory control system, the team has chosen passive tags. The reason for this selection is that passive tags are inexpensive and do not require a battery.

Table 2.1.4—2: Active Tag Versus Passive TagActive Tag Passive Tag

Tag power source Internal to tag Energy transferred using RF from reader

Tag battery Yes NoAvailability of power

Continuous Only in field of reader

Required signal strength to tag

Very Low Very High

Range Up to 100m Up to 3-5mMulti-tag reading 1000’s of tags up to

100 mphFew hundred within 3m of reader

Data storage 128Kb or read/write with search and access

128Kb of read/write

2.1.4.6 RFID Frequency Range

For an RFID scanner/reader there are 4 different type of frequency ranges used. The frequency ranges used are low, high, ultra high and microwave frequency. The low frequency range is at a frequency of 125k hertz at a read range of less than 10 centimeters. The high frequency range is at a frequency of 13.56k hertz at a read range of 1 meter. The ultrahigh frequency range is at a frequency of 900M hertz at a read range of less than 7 meters. The microwave frequency range is at a frequency of 2.4Ghertz at a read range of less than 10 meters. Each frequency is used for different applications. For the inventory control system the team has chosen 13.56k hertz reader. Most RFID reader and tags are at the 13.56k hertz range in the US. Table 2.1.4—3 explains the different types of frequency ranges and the applications of each frequency range.

9

Page 17: seniord.ece.iastate.edu

Table 2.1.4—3: RFID Frequency RangesFrequency Read Range Example

Application

LF 125kHz Less than 10cm Smart Card technology, animal tagging, security access

HF 13.56kHz ≈1m Small item management, supply chain, anti-theft, library

UHF 900Mhz ≈7m Large item management, supply chain, transportation vehicle ID

Microwave 2.4Ghz 10m+ Large item management, supply chain, transportation vehicle ID

2.1.4.7 RFID Antenna

As far as the connection between the RFID reader and the RFID tags is concerned, only two main options are currently offered. Most systems contain internal antenna for an interface, but some are also becoming available with external antenna. Usually, the main concern in deciding which of these two connections to go with would be determined by the distance a reader can scan an RFID tag. An internal antenna reading range is much lower than external antenna, but works fine for applications in which reading range is not necessarily required. Internal antennas are built into most RFID readers. External antennas are expensive and most connect to a certain reader. For this reason, the team has decided to go with an internal antenna as a connection between the RFID reader and the RFID tags.

10

Page 18: seniord.ece.iastate.edu

2.1.5 Testing Approach ConsiderationsThis section describes all of the testing approach used for the inventory control system.

In order to test the validity and accuracy of the inventory control system the team must first setup the inventory software and link it to the RFID reader. Once this is done, the team will program a number of tags, using the reader, and proceed to scan these tags and see how the information communicates with the software. Success will be evaluated by verifying that the information on the tag scanned, shows up in the team’s database. Once this is verified, the team will perform tests to examine the features of the system, such as scanning multiple tags, scanning tags outside the line-of-site, and automatic updating of the database. These tests will be done by scanning more than one tag at a time, scanning tags with an obstruction in between the tag and scanner, and verifying that when tags are scanned in and out of inventory the same occurs within the database.

The testing for the inventory control system will take place in the lab with at least two members of the team present. At least two tags will be necessary along with a windows-based computer, the team’s software application, the RFID reader, and a RS232 serial connection linking the computer with the reader.

The results and analysis of each test will have to be stored and documented by at least one individual present during the testing, so that the group can have an accurate depiction of the system’s functionality.

2.1.6 Project Continuation RecommendationsThis section gives the team’s recommendation for the continuation of this project. The recommendation includes work to be done next semester and work that could be added for future projects.

Based on the progress made on the project and the outlook for completion, the recommendation is to continue the project as it was originally planned. The project is currently on track to meet its goals and the goals remain valid and attainable. There are no changes necessary, at this time, for the project to be completed successfully.

Next semester will be devoted to interfacing the software with the hardware of the system. This will include finishing the software database and linking it to the reader. Once this is complete, testing will begin on the system.

Once the team has successfully completed this project, there are other considerations for continuation beyond next semester. Other directions for this project to move in could be to apply the current team’s system to a client within industry, which would involve a change over of the client’s current system to RFID technology and customizing it to their specific needs.

11

Page 19: seniord.ece.iastate.edu

2.2 Detailed DesignThe detailed design section of the report will discuss the features that will be implemented into the inventory control system. First it will focus on the software and how it will be put together to create an inventory control system. Next it will tell the information that will be stored in the databases. Finally it will show some of the screenshots from the program and what each of them does for the overall program.

2.2.1 Project DesignThis section will list and show how the project is put together. It will highlight what parts of the project will communicate with the other parts.

Listed below is a list of parts that are used to implement the project. RFID reader – The device used to interface with RFID tags. PC computer – The computer will run the software necessary to run the

inventory control system. It will store all of the data to track the inventory. RFID tags – A component that is used to track individual inventory items. RS232 serial cable – A component used to connect the RFID reader to

the PC computer.

Figure 2.2.1—1: System Flowchart

Figure 2.2.1—1 shows how the main components of the system will communicate with one another. The keyboard/mouse will be able to interface with the GUI. As the user clicks on buttons and tabs the GUI will change to correspond to the selection. Tags that are read in by the RFID reader will go to the database to be added or removed and the results of both will change the database to satisfy the situation and update the GUI to show the change.

12

Page 20: seniord.ece.iastate.edu

Figure 2.2.1—2: Inventory Flowchart

Figure 2.2.1—2 shows the flowchart of the inventory through the GUI. The program will start out and retrieve data from the “Inventory Database.” The data retrieved from the database will be displayed on the computer screen. Now the user can click on any of the following to change data in the databases:

Add to inventory manually – User enters product data into the database Remove from inventory – User deletes product data from the database Update item – User updates product data Check out inventory manually – User checks out items from inventory Return item – User adds item back into database

After modifying any of the databases the main GUI will be updated to correspond to the change.

13

Page 21: seniord.ece.iastate.edu

Figure 2.2.1—3: Customer Flowchart

Figure 2.2.1—3 shows the flowchart of the customers through the GUI. The program will start out the same way as mentioned in Figure 2.2.1—2. Instead of following inventory data, the user will select the customer GUI to begin the retrieval of customer data. The data retrieved from the database will be displayed on the computer screen. Now the user can click on any of the following to change data in the databases:

Add new customer – User enters a new customer into the database Delete customer – User deletes a customer from the database Update customer info – User updates a customer’s information View customer history – User views the customer’s information

After modifying any of the databases the main GUI will be updated to correspond to the change.

14

Page 22: seniord.ece.iastate.edu

2.2.2 Software DesignThe software design section will explain the components that will work together to create the inventory control software. First it will explain the classes that will be used in the software. Then it will show screenshots of the program and give details as to how the GUI will work together to create a system that manages to control inventory.

2.2.2.1 Classes

This section will discuss the classes that are going to be used for the inventory control software. The two main classes that will be used to store data are Customer and DVD. These will hold all of the information necessary to identify each customer and DVD.

DVDThe DVD class will store all information about a DVD into a database. It will create a convenient way to obtain all information stored on a DVD.

Table 2.2.2—4: DVD Class DataType Name Information it Stores About the

DVDstring Name Name of DVDstring Genre Type of movieinteger DVDIdentificationNumbe

rUnique identification number for DVD

integer YearMade Year movie was madeboolean CheckedOut Is movie checked out?date DueBack Date movie is to be returned if

checked outdate CheckOut Date the movie was checked out if

it’s currently checked outinteger CustomerIdentification Unique identification number for

Customerfloat Price Price of DVD

Table 2.2.2—1 shows all of the data that will be stored inside of the DVD class. This will be used to identify and track each DVD that is rented.

15

Page 23: seniord.ece.iastate.edu

CustomerThe Customer class will be used to store information about customers into a database. It will create a convenient way to obtain all information stored on a customer.

Table 2.2.2—5: Customer Class DataType Name Information it

Stores About the Customer

string FirstName first namestring LastName last namestring MiddleName middle namestring StreetAddress street addressinteger CustomerIdentification unique identification

numberstring City cityinteger ZipCode zip codeinteger PhoneNumber phone numberstring Email email addressinteger CreditCard credit card numbervector of DVD class MoviesCurrentlyCheckedOut DVDs currently

checked outvector of DVD class MoviesAlreadyRented DVDs already rentedinteger CreditCardMonth expiration month of

credit cardinteger CreditCardYear expiration year of

credit cardstring CreditCardType type of credit cardstring DriverLicense driver’s license

number

Table 2.2.2—2 shows all of the data that will be stored inside of the Customer class. This will be used to identify and track each DVD that each customer rents.

16

Page 24: seniord.ece.iastate.edu

2.2.2.2 Program Screenshots

The following figures relate to how a user will interface with the inventory. The user should be able to filter the inventory to view, add to the inventory, remove from inventory, update items, check out inventory manually, and return items manually.

Figure 2.2.2—4: Screenshot of Main Inventory Window

Figure 2.2.2—1 is the first screenshot of the inventory control software. This will open up once the program has been executed. It will retrieve all of the attributes from the DVD class and display them in a table in the center of the screen. Initially the table will display the entire inventory. Near the top there will be a dropdown menu to choose if the user wants to see the entire inventory, in stock items, checked out items, items added since last time program was ran, and overdue items.

The RFID reader will constantly be trying to read tags while the user is working with the GUI. To add something to the inventory with the reader that is not in the database, the user must put the item beside the reader and a message should pop up on the screen that gives all of the information on the item and adds it to the inventory once the reader reads the tag.

17

Page 25: seniord.ece.iastate.edu

Figure 2.2.2—5: Add To Inventory Manually Screenshot

Figure 2.2.2—2 is a screenshot of a window that would pop up if the user clicked on the button “Add to Inventory Manually” from Figure 2.2.2—1. This is included in case there happen to be technical difficulties with the RFID reader. The user will still be able to add items to the database. This prompts the user to enter the name of the movie. The user will select from a list the genre that the movie falls under. The user must also create a unique identification number that will identify this DVD. The user will also enter the year that the movie was created to help identify the movie. When the user has filled out all of the fields the user can click on the “Add” button. This will add it to the DVD inventory if all of the fields are filled out. If the fields aren’t filled out, the program will prompt the user to fill them out and try adding it again.

18

Page 26: seniord.ece.iastate.edu

Figure 2.2.2—6: Remove From Inventory Screenshot

Figure 2.2.2—3 is a screenshot of a window that will pop up if the user clicks on the button “Remove From Inventory” from Figure 2.2.2—1. The user will select the method that he/she wishes to search through the database to find the inventory item that he/she wants to delete. Then the user will fill in the textbox to satisfy the corresponding search. Next the user should be able to hit the “Search” button to look up the item in the database. The results will be displayed inside of the “Results” box seen in Figure 2.2.2—3. The user will then select which one he/she wants to delete by selecting a checkbox next to the item. This will ensure that the user does want to delete the selected item and make sure it is the right item since the search may likely return numerous results. Clicking the “Delete” button will remove the items that are selected from the database.

19

Page 27: seniord.ece.iastate.edu

Figure 2.2.2—7: Update Item Screenshot

Figure 2.2.2—4 is a screenshot of a window that will pop up if the user clicks on the button “Update Item” from Figure 2.2.2—1. First the user will select the type of search he/she wishes to make from the dropdown menu. Next the user fills out the corresponding textbox beside the dropdown menu and clicks the “Search” button. This will update the results in the “Results” section of the screenshot. The “Movie Name” will have a dropdown menu to select which movie he/she is searching for in case there is more than one movie in the same search. For each movie he/she selects in the dropdown menu the information will update all of the related fields. If the movie is checked out, the field beside “Checked Out:” will say “Yes” and show the corresponding dates that is was checked out and due to be returned. The “Customer Information” will display any information that is needed to identify the customer such as name, phone number, identification number, and anything else that may be of use.

20

Page 28: seniord.ece.iastate.edu

Figure 2.2.2—8: Check Out Inventory Manually Screenshot

Figure 2.2.2—5 is a screenshot of a window that will pop up if the user clicks on the button “Check out Inventory Manually” from Figure 2.2.2—1. This will allow a user to check out an individual if there is a malfunction with the RFID reader. In order to do this, the software will need to know the DVD’s identification number which will be located on/beside the RFID tag. The customer’s identification number must also be known, this will be printed on a card that has an RFID tag on it. This will identify the customer by a unique number given to each customer. The user must enter both identification umbers into the text fields and click the corresponding buttons. The program will then display the information necessary to verify that the number was entered correctly. This will consist of a name, genre, and year for the DVD and name, phone number, and address of the customer. The user must then be able to select the date that the DVD is due back. The default time will be two days after the DVD was checked out. In order to complete the rental, the user must click on “Check Out.” This will save any necessary data to the database.

21

Page 29: seniord.ece.iastate.edu

Figure 2.2.2—9: Return Item Screenshot

Figure 2.2.2—6 is a screenshot of a window that will pop up if the user clicks on the button “Return Item” from Figure 2.2.2—1. This will allow the user to return an item if the RFID reader isn’t functioning. The user will enter in the DVD identification number next to or on the RFID tag. The user will then click the “Search” button to find the movie’s name and the customer who checked it out. The user should make sure that the name of the movie is correct and click the “OK” button. The database will then update the movie information as being returned.

22

Page 30: seniord.ece.iastate.edu

The following figures relate to the customer information that is stored in the database and different ways that it can be shown, added to, removed from, updated, and viewed customer history.

Figure 2.2.2—10: Screenshot of Main Customer Window

Figure 2.2.2—7 is a screenshot of the window that would be shown if the user clicked on the “Customer” tab from Figure 2.2.2—1. This will show a spreadsheet that will initially show all of the customers in the database along with any relevant information to identify each one such as: name, phone number, address, identification number, if they currently have any DVDs rented, and if there are any late DVDs. The user will be able to select different ways to filter the information from the dropdown menu beside the label “Customer View.” Some choices offered will be: show all customers, show customers who currently do or don’t have a DVD checked out, and customers who have late DVDs.

23

Page 31: seniord.ece.iastate.edu

Figure 2.2.2—11: Add New Customer Screenshot

Figure 2.2.2—8 is a screenshot of the window that will pop up if the user clicked on the “Add New Customer” button from Figure 2.2.2—7. The user will have to fill in all of the corresponding fields in order to add the customer. If all of the fields don’t have data in them, it won’t allow the user to add the customer to the database. The account number should be determined by the program, so that there is no overlap in numbers given out. The user will then hold a card that has a writeable tag with no data on it up to the RFID reader. The reader will be searching for this card until one is found. At this point data will be written onto the card to identify the reader. Data will consist of the customer’s name, phone number, address, and account number. Once the tag is written, the reader will read the tag to verify that the tag is correct and pop up a window that gives all of the information on that card, so the user can determine it was correct. At this point the customer can use the card to rent DVDs.

Each customer will have to have a driver’s license with them to check out DVDs. This will be used to verify a customer even if two people have the same name. The driver’s license can also be used to check out a customer.

24

Page 32: seniord.ece.iastate.edu

Figure 2.2.2—12: Delete Customer Screenshot

Figure 2.2.2—9 is a screenshot of the window that will pop up if the user clicked on the “Delete Customer” button from Figure 2.2.2—7. The user will select the method that he/she wishes to search through the database to find the customer that he/she wants to delete. Then the user will fill in the textbox to satisfy the corresponding search. Next the user should be able to hit the “Search” button to look up the person in the database. The results will be displayed inside of the “Results” box seen in Figure 2.2.2—9. The results will include any information necessary to identify the customer such as: name, phone number, address, and account number. The user will then select which one he/she wants to delete by selecting a checkbox next to the item. This will ensure that the user wants to delete the selected person and make sure it is the right person since the search may likely return numerous results. Clicking the “Delete” button will remove the customers that are selected from the database.

25

Page 33: seniord.ece.iastate.edu

Figure 2.2.2—13: Update Customer Info Screenshot

Figure 2.2.2—10 is a screenshot of a window that will pop up if the user clicks on the button “Update Info” from Figure 2.2.2—7. First the user will select the type of search he/she wishes to make from the dropdown menu. Next the user will type the item that he/she is searching for in the textbox beside the dropdown menu and click the “Search” button. This will update the results in the “Results” section of the screenshot. The “Last Name, First Name” will have a dropdown menu to select which customer the user is searching for in case there is more than one customer in the same search. The customer’s identification number can’t be changed by the user to ensure that there aren’t two identical numbers. All other information other than the last name and first name can be changed. The only way that the database can be updated is if all of the fields have the appropriate data in them and the customer’s card has the correct identification number on it. This will ensure that only the owner of the card can change information about themselves. To ensure that the card is correct the user will click the “Update” button and the RFID reader will read the card and make sure that the identification number is the same. If it is the same, the reader will rewrite the tag to update all of the fields stored on it. Then it will read the card and a pop up window will display the updated information. Now the database will be updated with the changed data.

26

Page 34: seniord.ece.iastate.edu

Figure 2.2.2—14: View Customer History Screenshot

Figure 2.2.2—11 is a screenshot of a window that will pop up if the user clicks on the button “View Customer History” from Figure 2.2.2—7. The user will determine what type of search he/she wants to do at the top of the screen in the dropdown menu. Then put the corresponding information into the textbox and click “Search.” This will update the “Customer Information” section with the first person to be returned in the search. The user will be able to select a different person from the search from the dropdown menu beside “Last Name, First Name” if more than one person matches the search. The user will have to verify the person with either the phone number, address, or identification number. The history of the customer should be printed in a spreadsheet form on the bottom half of the screen. This will display information such as movie name, genre, date checked out, date to be returned, if DVD is overdue, and DVD identification number. This data can then be filtered from a list of choices found on the dropdown menu beside “History View.” Some of the choices that should be available are view all DVDs rented, view all DVDs customer is currently renting, and view all DVDs that are overdue.

27

Page 35: seniord.ece.iastate.edu

3 Estimated Resources and SchedulesThe following sections will be the team’s best estimates of resources and schedules needed to complete the project.

3.1 Resource RequirementsThe following sections will cover an original and revised estimate of the expected contribution of each team member’s personal effort, other resources, and financial requirements needed to complete the project.

3.1.1 Personnel Effort RequirementsA project is successful when each team member contributes the necessary time and effort to each task. Table 3.1.1—1 is an original estimate of the personal effort for each team member for the duration of the project. Table 3.1.1—2 is a revised estimate of the personal effort for each team member for the duration of the project.

Table 3.1.1—6: Original Estimated Personal Effort Resource RequirementTeam Members Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 TotalBenson, Jeffery 15 20 48 30 13 12 11 49 198Brown, Frederick 19 16 46 33 18 11 15 42 200Reed, Christopher 13 17 43 37 15 14 10 44 193Wagner, Brian 18 15 45 32 17 10 13 47 197Total 65 68 182 132 63 47 49 182 788

Table 3.1.1—7: Revised Estimated Personal Effort Resource RequirementTeam Members Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 TotalBenson, Jeffery 15 30 53 30 13 12 11 49 213Brown, Frederick 19 26 51 33 18 11 15 42 215Reed, Christopher 13 27 48 37 15 14 10 44 208Wagner, Brian 18 25 70 32 17 10 13 47 232Total 65 108 222 132 63 47 49 182 868

28

Page 36: seniord.ece.iastate.edu

3.1.2 Other Resource RequirementsTable 3.1.2—1 is the original estimate of the original and revised financial budget of materials needed to complete the project. Table 3.1.2—2 is the revised estimate of the original and revised financial budget of materials needed to complete the project. The items used are parts from the design process and planning process of the project.

Table 3.1.2—8: Original Estimated Required ResourcesItems Team Hours Other Hours Cost

Parts and Materials

a. Project Poster 15 0 $65.00b. RFID Kit 50 0 $210.00c. Bound Project Plan

2 0 $25.00

Total 67 0 $300.00

Table 3.1.2—9: Revised Estimate Required ResourcesItems Team Hours Other Hours Cost

Parts and Materials

a. Project Poster 15 0 $30.00b. RFID Kit 55 0 $250.00c. Bound Project Plan

2 0 $3.00

Total 72 0 $283.00

29

Page 37: seniord.ece.iastate.edu

3.1.3 Financial RequirementsThis section covers an estimate the original and revised total financial amount required to contribute to the project. An original estimate of the total cost is shown in Table 3.1.3—1. The revised estimate is show in Table 3.1.3—2.

Table 3.1.3—10: Original Estimated Project CostsItem Without Labor With Labor

Parts and Materials:Project Poster $65.00 $65.00RFID Kit $210.00 $210.00Bound Project Plan $25.00 $25.00

Subtotal $300.00 $300.00Labor ($10.50 per hour)Benson, Jeffery $0.00 $2079.00Brown, Frederick $0.00 $2100.00Reed, Christopher $0.00 $2026.50Wagner, Brian $0.00 $2068.50

Subtotal $0.00 $8274.00

Total $300.00 $8574.00

Table 3.1.3—11: Revised Estimated Project CostsItem Without Labor With Labor

Parts and Materials:Project Poster $30.00 $30.00RFID Kit $250.00 $250.00Bound Project Plan $3.00 $3.00

Subtotal $283.00 $283.00Labor ($10.50 per hour)Benson, Jeffery $0.00 $2236.50Brown, Frederick $0.00 $2257.50Reed, Christopher $0.00 $2184.00Wagner, Brian $0.00 $2436.00

Subtotal $0.00 $9114.00

Total $283.00 $9397.00

30

Page 38: seniord.ece.iastate.edu

3.2 SchedulesThe key to having a successful project is meeting schedules and deadlines. The team has developed the following section to display the schedule for the duration of the project.

3.2.1 Project ScheduleDuring a project it is important to develop a schedule for the tasks that need to be accomplished for the project. Figure 3.2.1—1 on the following page displays the original project tasks and subtasks that will be completed throughout the proposed project calendar. Figure 3.2.1—2 on the following page displays the revised project tasks and subtasks that will be completed throughout the proposed project calendar.

31

Page 39: seniord.ece.iastate.edu

Figure 3.2.1—15: Original Project Tasks Schedule

32

Page 40: seniord.ece.iastate.edu

Figure 3.2.1—16: Revised Project Tasks Schedule

33

Page 41: seniord.ece.iastate.edu

3.2.2 Deliverable ScheduleFigure 3.2.2 displays what date the original project deliverables are due. Figure 3.2.3 displays what date the revised project deliverables are due. This schedule will cover both semesters of the project. The schedule will be used as a guidance tool for approaching deadlines.

Figure 3.2.2—17: Original Project Deliverable Schedule

Figure 3.2.2—18: Revised Project Deliverable Schedule

34

Page 42: seniord.ece.iastate.edu

4 Closure Materials

This section contains contact info of the whole team including the faculty advisor and student team members.

4.1 Contact Information

Listed below is the contact information for the faculty advisor and student team members.

4.1.1 Client Contact Information

The client for this project is the Senior Design Program at Iowa State University.

4.1.2 Faculty Advisor Contact Information

Dr. Degang Chen329 DurhamAmes, IA 50011Phone: 515-294-6277Fax: 515-294-8432E-mail: [email protected]

4.1.3 Student Team Contact Information

Jeff BensonCprE1320 Gateway Hills #502Ames, IA 50014Phone: N/ACell: 507-398-6801E-mail: [email protected]

35

Page 43: seniord.ece.iastate.edu

Frederick BrownEE2101 Oakwood Rd #304Ames, IA 50014Phone: 515-292-4469Cell: N/AE-mail: [email protected]

Chris ReedEE2220 Martin GilmanAmes, IA 50012Phone: 515-572-6035Cell: 319-651-5522E-mail: [email protected]

Brian WagnerCprE2717 West Street #4Ames, IA 50014Phone: N/ACell: 563-380-6351E-mail: [email protected]

4.2 Closing SummaryInventory control, especially in retail situations, can consist of any number of areas from overall tracking design down to the proprietary software and hardware used. The goal of this team is to develop a functional inventory control system focusing on one specific situation in order to prove that their tracking methods will work successfully. Since rising technology is always something to be experimenting with, the team has chosen to design the system and track the inventory based on RFID technology, as it is becoming more and more popular and cost effective every day. The team hopes to solve this problem by developing an example of a fully functional inventory control including tracking software vital to its function as well as any hardware needed for completion within the allotted time.

36