Khanh HuynhProject Leader
Dat TuSystems Analyst
Sandy FungTeam Representative
Patrick de LeonLead Programmer
Ching Fei ChanDocumentation Specialist
Hoiyin LeungPresentation Leader
Bao LamProgrammer
PHASE IV
OVERVIEW• Business Scenario of Inventory
Control System • models, the RTE process itself • Account Management Subsystem RTE
process • demo video • Business Scenario of implementing
RFID • go over how RFID works (show FLASH
animation) • talk about business impact and RFID • talk about hardware and hardware • conclude and tie RTE and RFID
together
patrick
• models, the RTE process itself, and how easy it is to add another "feature" (e.g. inventoryshrinkage report, etc.) to the application.
FrmMain
+ FrmMain ( )# Dispose ( )- InitializeComponent ( )- Main ( )- devInitialize ( )- loginCheck ( )
FrmUserManagement
+ FrmUserManagement ( )# Dispose ( )- InitializeComponent ( )- bntCancel_Click ( )
FrmMainMenu
+ FrmMainMenu ( )# Dispose ( )- InitializeComponent ( )- actManageEnd ( )- hideAllControls ( )- showMainMenu ( )- btnAccount_Click ( )- devInitialize ( )- actManageEnd ( )- btnExit_Click ( )- invManageEnd ( )- btnInventory_Click ( )- tranManageEnd ( )- btnTransaction_Click ( )
- _FrmMainMenu
0..1
FrmAccountManagement
+ FrmAccountManagement ( )# Dispose ( )- InitializeComponent ( )- devInitialize ( )- bntExit_Click ( )- usrManageEnd ( )- bntUserAccount_Click ( )- hideControls ( )- showControls ( )- actManageEnd ( )- btnClientAccount_Click ( )
- _FrmAccountManagement0..1
- _FrmUserManagement0..1
FrmClient
+ FrmClient ( )# Dispose ( )- InitializeComponent ( )- bntCancel_Click ( )
- _FrmClient0..1
FrmLogin
+ FrmLogin ( )# Dispose ( )- InitializeComponent ( )- bntLogin_Click ( )- bntExit_Click ( )
- _FrmLogin
0..1
The classes that we have created, then provided the corresponding class diagrams.
The Account Section
FrmMain
+ FrmMain ( )# Dispose ( )- InitializeComponent ( )- Main ( )- devInitialize ( )- loginCheck ( )
FrmMainMenu
+ FrmMainMenu ( )# Dispose ( )- InitializeComponent ( )- actManageEnd ( )- hideAllControls ( )- showMainMenu ( )- btnAccount_Click ( )- devInitialize ( )- actManageEnd ( )- btnExit_Click ( )- invManageEnd ( )- btnInventory_Click ( )- tranManageEnd ( )- btnTransaction_Click ( )
- _FrmMainMenu
0..1
FrmInvMenu
+ FrmInvMenu ( )# Dispose ( )- InitializeComponent ( )- btnMenu_Click ( )- btnInv_Click ( )- devInitialize ( )- btnShipping_Click ( )- btnRecieving_Click ( )- invEnd ( )- shpEnd ( )- recEnd ( )- hideAll ( )- showMenu ( )- btnProduct_Click ( )- proEnd ( )
- _FrmInvMenu
FrmRecieving
+ FrmRecieving ( )# Dispose ( )- InitializeComponent ( )- btnBack_Click ( )
FrmShipping
+ FrmShipping ( )# Dispose ( )- InitializeComponent ( )- btnBack_Click ( )
FrmInventoryChk
+ FrmInventoryChk ( )# Dispose ( )- InitializeComponent ( )- btnBack_Click ( )
- _FrmRecieving0..1 - _FrmShipping0..1 - _FrmInventoryChk0..1
FrmProduct
+ FrmProduct ( )# Dispose ( )- InitializeComponent ( )- btnBack_Click ( )
- _FrmProduct0..1
The Transaction Section
FrmMain
+ FrmMain ( )# Dispose ( )- InitializeComponent ( )- Main ( )- devInitialize ( )- loginCheck ( )
FrmMainMenu
+ FrmMainMenu ( )# Dispose ( )- InitializeComponent ( )- actManageEnd ( )- hideAllControls ( )- showMainMenu ( )- btnAccount_Click ( )- devInitialize ( )- actManageEnd ( )- btnExit_Click ( )- invManageEnd ( )- btnInventory_Click ( )- tranManageEnd ( )- btnTransaction_Click ( )
- _FrmMainMenu
0..1
FrmTransMenu
+ FrmTransMenu ( )# Dispose ( )- InitializeComponent ( )- devInit ( )- hisDone ( )- salDone ( )- reqDone ( )- hideControls ( )- showMenu ( )- btnSaleOrder_Click ( )- btnRequisitionOrder_Click ( )- btnTransHistory_Click ( )- btnBack_Click ( )
- _FrmTransMenu
0..1
FrmTransRequisition
+ FrmTransRequisition ( )# Dispose ( )- InitializeComponent ( )- btnBack_Click ( )
FrmTransSale
+ FrmTransSale ( )# Dispose ( )- InitializeComponent ( )- btnBack_Click ( )
FrmTransHistory
+ FrmTransHistory ( )# Dispose ( )- InitializeComponent ( )- btnBack_Click ( )
- _FrmTransRequisition0..1 - _FrmTransSale0..1 - _FrmTransHistory0..1
The Inventory Section
FrmUserManagement
+ FrmUserManagement ( )# Dispose ( )- InitializeComponent ( )- bntCancel_Click ( )
FrmClient
+ FrmClient ( )# Dispose ( )- InitializeComponent ( )- bntCancel_Click ( )
ObjUser
+ ID : string+ Fname : string+ Lname : string+ Phone : string+ Address : string
ObjManagerObjEmployeeObjDockWorker
ObjClient
ProcAccUsers
- _ProcAccUsers0..1
- _ObjUser0..1
ProcAccClient
- _ProcAccClient0..1
- _ObjClient0..1
Initial Class Diagram for Account Section
ObjUser
- ID : string- Fname : string- Lname : string- Phone : string- Address : string+ «property» UserID : string+ «property» UserFirstName : string+ «property» UserLastName : string+ «property» UserLevel : string+ «property» Password : string- Level : string- strPasword : string
+ ObjUser ( )+ ObjUser ( )+ SaveCurrentUserInfo ( )+ «get» UserID ( )+ «set» UserID ( )+ «get» UserFirstName ( )+ «set» UserFirstName ( )+ «get» UserLastName ( )+ «set» UserLastName ( )+ «get» UserLevel ( )+ «set» UserLevel ( )+ «get» Password ( )+ «set» Password ( )
ObjManagerObjEmployeeObjDockWorker
The Class Diagram After Synchronizing
FrmMain
+ FrmMain ( )# Dispose ( )- InitializeComponent ( )- Main ( )- devInitialize ( )+ loginCheck ( )
FrmLogin
+ FrmLogin ( )# Dispose ( )- InitializeComponent ( )- bntLogin_Click ( )- bntExit_Click ( )- txtPassword_Enter ( )
- _FrmLogin
0..1
FrmMainMenu
+ FrmMainMenu ( )# Dispose ( )- InitializeComponent ( )- actManageEnd ( )- hideAllControls ( )- showMainMenu ( )- btnAccount_Click ( )- devInitialize ( )- actManageEnd ( )- btnExit_Click ( )- invManageEnd ( )- btnInventory_Click ( )- tranManageEnd ( )- btnTransaction_Click ( )- FrmMainMenu_Load ( )
- _FrmMainMenu0..1
FrmAccountManagement
+ FrmAccountManagement ( )# Dispose ( )- InitializeComponent ( )- devInitialize ( )- bntExit_Click ( )- usrManageEnd ( )- bntUserAccount_Click ( )- hideControls ( )- showControls ( )- actManageEnd ( )- btnClientAccount_Click ( )
- _FrmAccountManagement
0..1
FrmClient
+ FrmClient ( )# Dispose ( )- InitializeComponent ( )- bntCancel_Click ( )
- _FrmClient0..1
FrmUserManagement
+ FrmUserManagement ( )# Dispose ( )- InitializeComponent ( )- bntCancel_Click ( )- FrmUserManagement_Load ( )- userLevelChecked ( )- setTextUserLevel ( )- cboUser_SelectedIndexChanged_1 ( )- txtUserLevel_TextChanged ( )- bntUpdate_Click ( )- bntNew_Click ( )- bntDelete_Click ( )- bntSave_Click ( )- updateUserList ( )- resetTextField ( )- radDocker_Click ( )- radUser_Click ( )- radManager_Click ( )
- _FrmUserManagement0..1
ProcAccLogin
- strSouce : String = "Provider=Microsoft.Jet.OLEDB.4.0;" + @" Data Source=inventory.mdb"- strSQL : String
+ SetupDbConnection ( )+ getUserID ( )+ getUserLastname ( )+ getFirstName ( )+ validateUser ( )
- _ProcAccLogin0..1
ProcAccController
- strSouce : String = "Provider=Microsoft.Jet.OLEDB.4.0;" + @" Data Source=inventory.mdb"
+ ProcAccController ( )+ SetupDbConnection ( )+ getUserID ( )+ getUserLastname ( )+ getFirstName ( )
- _ProcAccController
ObjClient
- _ObjClient
0..1
ObjEmployee
ObjDockWorker
ObjUser
- ID : string- Fname : string- Lname : string- Phone : string- Address : string+ «property» UserID : string+ «property» UserFirstName : string+ «property» UserLastName : string+ «property» UserLevel : string+ «property» Password : string- Level : string- strPasword : string
+ ObjUser ( )+ ObjUser ( )+ SaveCurrentUserInfo ( )+ «get» UserID ( )+ «set» UserID ( )+ «get» UserFirstName ( )+ «set» UserFirstName ( )+ «get» UserLastName ( )+ «set» UserLastName ( )+ «get» UserLevel ( )+ «set» UserLevel ( )+ «get» Password ( )+ «set» Password ( )
- _ObjUser
- clsUser
- _ObjUser
ObjManager
The rest of the coding and synching for the Account Section are as follows:
RFID Overview
• Radio Frequency Identification (RFID)
• RFID is simply an enhanced barcode that can be read from a distance.
• Passive RFID most used is 915Mhz frequency range.
• The Wal-Mart, Target, Best Buy,
Albertsons, and the Department of Defense are examples of users of this most basic form of RFID technology.
RFID Overview
The current standards are:
•Class 0 (read only) •Class 1 (read-write)•Class 0+ (Matrics)•Generation II
RFID in Distribution Center
• The advantage of RFID: It is always looking for RFID tags.
• It watches for tags to move through a dock door and report the information about the product movement.
• RFID helps ensure an accurate product shipment count.
Accuracy Count
• As cartons are being palletized, a pallet tag is created.
• RFID reader scans pallet tag for a list of carton tags.
• As each carton move through the dock door, RFID scan the carton tag and compare it with the list.
• It shows “green” light if the carton is on the list, or “red” light if it’s not.
Impact on Business Operations
• Safety and security• Mobile asset management • Complex process simplification
Safety and Security• Reduction or elimination of theft
• Tracked and traced
• Applied to important, sensitive or valuable documents
• Human security
Mobile Asset Management
• Millions of dollars invested in mobile/moveable assets
• Thousands of mobile assets moving through daily
Complex Process Simplification
• Lengthy "chain of custody”
• Updated with history every step in the process
• Greatly simplify the process.
Security in RFID systems
• Forgery of tags
• Unwanted tracking of customers
• Unauthorized access to the tag’s memory
• Solution: Authentication
Security Authentication
• A communication system providing authentication can reject access to non authorized parties.
• Security gates can query the ILS (Intelligent Library System) to determine its security status
• Tag may contain a security bit which would be turned on and off by circulation or self-check reader stations.
Passive RFID Tags• “Traditional” tags
– Tag = antenna(detect signal) + chip(store data)
– programmed at manufacture / on installation– powered by the high power electromagnetic
field generated by the antennas – chip/antenna reflect back an extremely weak
signal containing the data– Collision Detection – recognition of multiple
tags in the read range to read individual tags
• If manufactured in billions, tags will come down in price from $0.80 to $0.05 in the next 2 years.
Active Tags
• Battery Powered tags– Have much greater range – 100m– Hold much more information – Kbytes– Can integrate sensing technology
• Temperature, GPS
– Can signal at defined time– Multiple tags can be recorded at once
• Used for higher value items– Electronic
• Cost between $20 and $40 per item• Life between 2 – 4 years
RFID Handheld Reader
• read and write to tags & smart labels
• provides an easy migration path from bar codes to RFID tags
• available with a variety of interfaces for simple connection to any host
• cost-effective product ($ 500)• lightweight and durable• great look and feel• for healthcare & commercial
applications
RFID Reader + Antenna
• Extended read range• High data rates• Large number of tags
reading• High sensitivity• Software configurable
to read/write tags• Circular/linear Polarized
Antenna• Price: $ 3399
Multi-Protocol Printer/Encoders for RFID Tags
• 4-inch Bar code label printing
• Flexibility in tag placement
• Statistics tracking of number of goods
• Eliminates costs
• Price: $ 4995