dcm.uhcl.edudcm.uhcl.edu/capf09g2/files/TR-2.docx · Web viewWe take the opportunity to thank our...
Transcript of dcm.uhcl.edudcm.uhcl.edu/capf09g2/files/TR-2.docx · Web viewWe take the opportunity to thank our...
MiniCheck Pro+TM V1.3CSCI 6838 Capstone Project
Technical Report
Version 2.0
University of Houston Clear Lake
Fall 2009
Submission Date: 12/ 4/ 2009
Project Guide:Dr. Kwok-Bun Yue
Project Mentor:Mr. Bruce Brenner
Team Members:Fujie Sheng
Chia-Ling Yang
Yunis Al-Qawasmeh
S Kedare
Monika
MiniCheck Pro+™ V 1.3 Version 2
Acknowledgement
We take the opportunity to thank our instructor Dr. Kwok-Bun-Yue for giving us
opportunity to work on real world project and providing us with very valuable and critical
feedbacks throughout the capstone project. We further extend our gratitude to our mentor
Mr. Bruce Brenner for the continuous support, guidance and motivation he has provided us
throughout the capstone project.
We would like to thank Mr. Gomee Samaraweera for his continuous support and guidance
to our team. We would also like to thank Mr. Daniel C Holdgreiwe (Computer Sciences
Corporation), USCIS VIS technical support at the Department of Homeland Security for
continuously helping us with E-verify. We would also like to thank Mr. Abby from
previous capstone team (spring 2009 Team #6) for providing us with the required
information which helped us in solving the critical issues.
2
MiniCheck Pro+™ V 1.3 Version 2
Abstract
The MiniCheck-OCR, Inc has developed a suite of applications known as the MiniCheck
MGR™, MiniCheck ID™ and MiniCheck ID Pro™ to scan, validate and process checks
and data from magnetic stripes or barcodes. MiniCheck ID Pro+TM V1.3’s aim is to
enhance, improve and merge the existing architecture and functionality of MiniCheck ID
Pro+TM V1.2 and MiniCheck DL Utility.
In MiniCheck ID Pro+TM V1.2 when a user swipes an ID and credit card through the
magnetic stripe reader, the raw data electronically encoded on the card is parsed and
converted into meaningful information, which is displayed in the user interface. MiniCheck
ID Pro+TM V1.2 support credit card processing through a payment gateway called
Authorize. Net. MiniCheck ID Pro+TM V1.2 also continued enhancing on E-Verify which
was incorporated by the previous capstone team. User can use E-Verify to check the
employee’s employment eligibility to work in United States. Whereas, MiniCheck DL
Utility uses updated parser that supports even those driver licenses and state issued ID
cards that do not follow AAMVA standards.
MiniCheck ID Pro+TM V1.3 application integrates the code of MiniCheck ID Pro+TM V1.2
with the code of MiniCheck DL Utility. Our project will continue to use the flexible
C#/.NET Framework and Microsoft Access for the database. The application further
enhances the features of E-Verify which were done by previous capstone team. The
application incorporates new functionality to use the birthday information, captured from
the driver license, to provide customizable age verification alert. The application uses PC
Guard, a leading product for protecting software applications from unauthorized use. One
of the main concerns with our project is that we do not have Software Development Kit
3
MiniCheck Pro+™ V 1.3 Version 2
from Atalasoft which is used for converting barcodes from image to raw data as
MiniCheck-OCR, Inc has only one license which was previously used by the capstone
teams. But now this license is with MiniCheck DL Utility’s team. Our team need Atalasoft
license to scan the front side of driver license or state issued ID card to capture the image
of the individual.
.
4
MiniCheck Pro+™ V 1.3 Version 2
Table of Contents
Acknowledgement……………………………………………………………………… 2
Abstract………………………………………………………….................................. 3 - 4
1. Introduction…………………………………………………………………………… 6 - 7
2. Requirement analysis…………………………………………………………………8 - 10
3. Design and Implementation……………………………………………………… 11 - 14
2.1 Architecture Diagram………………………………………………………………... 11
2.2 Flow Chart..........................................................................................…...................... 12
2.3 Technologies used………………………………………………………..………….. 13
2.4 Software Development Model………………………………………………………. 13
2.5 Implementation Issues………………………………………….................................. 13
4. Features Implemented………………………………………………………………14 - 17
5. Testing …………………………………………………………………………………. 18
6. Final Deliverables……………………………………………………………………… 18
7. Conclusions…………………………………………………………………………….. 18
8. References………………………………………………………………........................ 19
Appendix A …………………………………………………………………… 20 - 22
Team roles and contribution
Appendix B…………………………………………………….……………… 23 - 41
B.1 Images of ScannersB.2 Screen Shots
Appendix C………………………………………………………………………. 42
Technical Terms
5
MiniCheck Pro+™ V 1.3 Version 2
1. Introduction
In day-to-day life most of the people uses their credit cards for purchasing grocery,
shopping, very often, even at some places they need to show their IDs for identification.
But some people steal the identity of other people, by carrying fraud cards, even such
people can steal personal information such as SSN (Social Security Number), etc and can
miscarry certain bogus transactions.[7]
To stop such bogus use of identity and misuse of personal information, MiniCheck-OCR,
Inc has developed three main applications viz. MiniCheck MGR™, MiniCheck ID™ and
MiniCheck DL Utility™. MiniCheck-OCR, Inc has developed a suite of application,
MiniCheck MGR™, for electronically processing checks. MiniCheck ID™ provides the
ability to validate a photo ID such as a driver’s license or state issued ID card in order to
prevent losses due to fraud. Whereas MiniCheck ID Pro™ adds to MiniCheck ID™ the
ability to process credit card transactions. Whereas MiniCheck DL Utility™ parses and
validate, even those, photo ID, such as DL or state issued ID, which does not follow
AAMVA*1 standards, as different state ID has their own standard.
MiniCheck ID Pro+™ V1.3 is a project in continuation. The main aim of this project is to
use MiniCheck OCR, Inc’s MiniCheck DL Utility™ as a basic platform and merge
important models from MiniCheck ID Pro+™ V1.2, to build a refined application.
The previous capstone team in Spring 2009 (Team #6) developed an applications called
MiniCheck ID Pro+TMv1.2 which supports reading, parsing and displaying the
electronically encoded information in the magnetic stripes and barcodes found on driver’s
___________________________________________________
1American Association of Motor Vehicle Administrators
6
MiniCheck Pro+™ V 1.3 Version 2
licenses and state issued ID cards which follow AAMVA standards. Integrated the
application E-VERIFY, which is the information data base through Homeland Security for
verifying an employee’s right to work in the US [1]. MiniCheck ID Pro+™ V1.2 also
parses the credit card information for a secure transaction, which uses Authorize.Net
application as a gateway to maintain transaction security and integrity. MiniCheck DL
Utility™ doesn’t integrate E-Verify and Authorize.Net services.
MiniCheck ID Pro+TM V1.3 is an enhancement to the existing applications. MiniCheck ID
Pro+™ V1.3 modifies MiniCheck DL Utility™ by integrating many features, like, reading
Credit Cards with the intention of processing them through Authorize.Net and E-verify to
verify employee’s status and eligibility to work in US. We have further implemented an
automatic comparison between any common information contained on a credit card to the
corresponding information contained in the magnetic stripe or barcode on a driver’s
license, which helps to verify if any there is any bogus card present.
7
MiniCheck Pro+™ V 1.3 Version 2
2. Requirements Analysis Design and Implementation
a) Calculate age and generate ALERTS regarding age based restrictions
Our application will capture birthday information whenever user will swipe
the driver license or state issued ID card and will provide customizable age
verification alert.
b) Fully support reading Credit Card and process them through Authorize. Net
Authorize. Net is a payment gateway which is used for secure transaction
with credit card.
c) Integrate E-Verify functionality from MiniCheck ID Pro+™ V1.2 to MiniCheck
DL Utility™
MiniCheck ID Pro+™ V1.2 is the application developed by previous
capstone team (spring 2009). Their application continued to enhance functionality
of E-Verify. E-Verify functionality was developed by MiniCheck ID Pro+™
capstone team (fall 2008). User can use E-Verify to verify individual’s
employment eligibility to work in United States. MiniCheck ID Pro+™ V1.2 also
uses Authorize. Net a payment gateway to process credit card transaction.
MiniCheck DL Utility™ is the application developed by MiniCheck-OCR,
Inc. team and it is the real world implication. Their application has updated parser
that supports even those driver licenses and state issued ID cards that do not follow
AAMVA standards. Their application has successfully integrated various devices
like Mini USB 3-Track MSR (Magtek), CardScan business card scanner, MICR
8
MiniCheck Pro+™ V 1.3 Version 2
Image (Magtek), Excella STX (Magtek) to scan and read credit cards and state
issued ID cards.
MiniCheck ID Pro+™ V1.3 application integrates the functionality from
MiniCheck ID Pro+™ V1.2 to MiniCheck DL Utility™, as MiniCheck DL
Utility™ has not yet been integrated to the functionalities like Authorize.Net and
E-Verify, thus making our project work on real world implication.
d) Maintain database for credit card transactions and for E-Verify
The team will create two databases using Microsoft Access. One will be
used to store information of credit card transaction and other to store case number
of E-Verify applications. User gets case number when they successfully submit
their initial verification form (I-9 form) used to verify employees eligibility to
work in United States. These case numbers are used to check the status of their
application.
e) Automatically compare between any common information contained on a credit
card to the corresponding information contained on a driver’s license or state
issued ID
The MiniCheck ID Pro+™ V1.3 application aims to enhance the
functionality of automatic comparison between any common information
contained on a credit card to the corresponding information contained on a driver’s
license or state issued ID on MiniCheck DL Utility™.
9
MiniCheck Pro+™ V 1.3 Version 2
f) To improve GUI (graphical user interface)
Our application aims to make the graphical user interface more users
friendly. Below attached are the screen shots of the same in appendix
g) Make functionality compatible with Windows XP and Vista and Windows 7
All features and functionality should be checked thoroughly to ensure they
work reliably with both Windows XP and Vista. Also, if possible than try to make
it compatible with Windows 7 also.
h) Integrating different scanner into existing application
Make sure that after integrating the functionality from MiniCheck ID
Pro+™ V1.2 to MiniCheck DL Utility™, our application MiniCheck ID Pro+™
V1.3 works well with different scanners.
i) Integrating PC Guard for protecting software applications from unauthorized use
Our application will use PC Guard which is a secure, reliable, compatible
and easy to use software protection system. PC Guard protects the computer from
file corruption, viruses, hacking and tampering, unwanted software installation,
accidental or intentional damage to the hard drives.
10
MiniCheck Pro+™ V 1.3 Version 2
3. Design and Implementation
3.1 Architecture Diagram
Figure 1. Architecture Diagram
When registered user swipes the card then MiniCheck ID Pro+™ V1.3 parse the data and
check which card is been swiped and open particular form to perform the next operations.
If it is the DL or any government issued ID then it will parse the data and scan the image of
ID or DL, after parsing data it will verify age and generate appropriate alert. If card is
credit card then it will pop up the particular form to make a payment, for payment it will
use the authorize.net as a gateway for secure transaction. The MiniCheck ID Pro+V1.3 will
save the information of the transaction and E-Verify case, which can be used afterward to
search the transaction done by credit card and case record ID of E-Verify response. PC
Guard is the utility which secure the code, and using PC Guard one can offer trial version
and register version of the MiniCheck ID Pro+v1.3.
11
MiniCheck Pro+™ V 1.3 Version 2
3.2 Flow Diagram
Whenever user swipes the card our application automatically detects if it a credit card or a
state issued ID card. Using E-Verify one can check the employment eligibility of the
person to work in United States. Authorize.Net is used to process credit card transaction.
This is explained using data flow diagram.
12
MiniCheck Pro+™ V 1.3 Version 2
Fig.2 Flow diagram
3.3 Technologies used
The application developed by MiniCheck ID Pro+™ V1.2 and MiniCheck DL Utility™
both uses C#/.NET framework. So even our application continue to use C#/.NET
framework. MS Access is used to create the database to store the transaction details of
credit card and for E-Verify to store case record of the employee. We also use web service
and XML technology to communicate with E-Verify interface and server. Atalasoft
software is used to convert raw images of barcode into useful information.
3.4 Software Development Model
While enhancing and improving upon the existing architecture and functionality of the
MiniCheck ID DL Utility application, we have used waterfall model where application is
divided into different phases like requirements analysis, design, implementation, testing
and maintenance.
3.5 Implementation Issues
Our project is to merge functionalities from MiniCheck ID Pro+™ V1.2 to MiniCheck
DL Utility™. When our team executed the project done by the previous capstone team
spring 2009(Team #6), the issue we faced was compiling those codes as it was giving
many compilation time errors. Almost half of the semester we were trying to solve this
issue. Finally we were able to understand that the entire problem is occurring because
of missing DLL files. So our team had to write almost all the codes from scratch.
13
MiniCheck Pro+™ V 1.3 Version 2
Other issue faced by our team was about Atalasoft license. Atalasoft is one of the
essential basic of our program and it need to be installed and configured on our
developing team machine. The problem was that MiniCheck has only one license which
was usually being used by previous capstone teams. But in our case MiniCheck had
already installed its license to other machine, so our team had to work without Atalasoft
software. So, our team worked with trial version of Atalasoft License, which is
available on the Atalasoft website for its online user’s. Our team downloaded trial
version of Atalasoft software on one of the machine, we got it running, but it had
limited access and will expire in 30 days.
The other issue was with PC Guard license. There was only one license to work with
and it was installed on MiniCheck DL Utility™’s team machine. Our team had to
remove the license from their machine and transfer it to one of our machine.
4. Features Implemented
4.1 Age Verification
The team implemented the functionality that automatically extract birthday information
from driver license or state issued ID cards to verify ages for alcohol, tobacco-related
products and fireworks to display appropriate messages.
4.2 Authorize. Net
The other feature implemented in MiniCheck ID Pro+™ V1.3 is Authorize.Net in our main
navigation form. Authorize.Net is a payment gateway for secure credit card transaction.
Whenever user swipe the credit card, FormDemo_CreditCard window appears which
automatically converts all the encoded information from the magnetic stripe of the card into
14
MiniCheck Pro+™ V 1.3 Version 2
readable form. When user clicks on the make payment button other window appears which
says that the transaction was successful and gives user the Transaction ID.
4.3 E-Verify
Our application further enhances the functionality of E-Verify and integrates it into
MiniCheck DL Utility™ application. E-Verify is an Internet-based system that allows user
to verify employees eligibility to work in United states. This feature is shown as one of the
options in our main navigation form. When the user select’s E-Verify then E-Verify login
window appears, after successfully logging in using Username and Password which is
provided by Department of Homeland Security, we have the option for Initial Verification
and View Case Status.
When Initial verification option is selected to verify employment eligibility of a user I-9
form appears, now the user have option either to fill the required fields manually or swipe
the state issued ID card either drivers license or State ID card and the encoded information
from the magnetic stripe is parsed and automatically stored in the I-9 form. When user
click on submit button he will get the message with submission successful along with his
case number.
When the View Case Status option is selected, then other window appears asking for the
case verification number, after submitting the case number the user can see the status of his
application. The three kind of response a user can receive are:
a) Employee Authorized that means that employee is authorized to work in United States.
15
MiniCheck Pro+™ V 1.3 Version 2
b) SSA Referral means that there is problem with employee’s social security at Social
Security Administration (SSA) during verification process. In this case the employees have
to go to SSA to solve the issue.
c) DHS Referral means that Department of Homeland Security (DHS) is not able to verify
employee’s information and the employee is send DHS Tentative Nonconfirmation (TNC)
result. Thus, the case is send to Immigration Status Verifier to verify it.
4.4 PC Guard for .NET
MiniCheck ID Pro+™ V1.3 uses PC guard, a software protection system which is secure, reliable and compatible to protect our software from copyright infringement.
PC Guard:
Protects application from unauthorized use by providing user activation code.
Protect your software from reverse engineering and analyzing.
Easily create demo version of our application with execution, date, fixed date and timer limitations.
e.g. 10 days trial; 30 days trial; 90 days trials; 10 times trial, 20 times trial
After registration it gives an key (password) to access the application, so the registered user can use all functions of application after activation.
Application sends a activation key to user after submitting form by email and another email to MiniCheck OCR team to notify the new user.
4.5 Database for storing credit card transaction and for E-Verify
Our team has created an option button under Authorize.Net named transactions which is a
database, where all the transactions details are stored and has four options to search for the
particular transaction. Similarly, our team has created database for E-Verify and if user
16
MiniCheck Pro+™ V 1.3 Version 2
forgot his case number then he can search in the database by selecting the appropriate
search by value.
4.6 GUI (Graphical User Interface) improvement
Team has made the Graphical User Interface more users friendly. We have optimized
and refined the GUI according to our requirements. Where user has the option in the main
navigation form as to use E-Verify, Authorize.Net or can click on help button if need the
help.
4.7 Automatic comparison between credit card and any state issued ID card
The application we developed support reading Credit Cards which is processed through
Authorize.Net. Team has also created a feature so that we can automatically compare
common information contained on a credit card to the corresponding information contained
in the magnetic stripe or barcode on a driver’s license. Below attached the screen shot for
the same.
4.8 Windows Compatibility
The previous capstone teams have worked on this project using Windows XP and Vista
operating system. Our team has made this project Windows XP, Vista as well as Windows
7 compatible.
17
MiniCheck Pro+™ V 1.3 Version 2
5. Testing
Testing is one of the critical tasks in our application. Our team used Integration testing
method where we simultaneously tested the new features implemented in our project for its
consistency and reliability. Team tested using different credit cards and state issued ID
cards for automatic comparison between common information in these two cards.
6. Final Deliverables
The final deliverable is an .exe file, flash demo, source code and technical report. The .exe
file will install the MiniCheck ID Pro+™ V1.3 to the system. The flash demo will show
the working of entire project. Finally, source code and technical report will be submitted
along with the application package as a deliverable.
7. Conclusion
The application MiniCheck ID Pro+™ V1.3 is an enhancement to MiniCheck ID
Pro+™ V1.2. All the requirements have been met. Users have the advantage to use E-
Verify to verify employee’s eligibility to work in United States. The user can also use
Authorize.Net as a secure way to process credit card transaction. It was a great experience
to work as a team on the real time project.
18
MiniCheck Pro+™ V 1.3 Version 2
8. References
[1] E-Verify Module, Department of Homeland Security,
“http://www.dhs.gov/files/programs/gc_1185221678150.shtm “
[2] Credit card transaction gateway, Authorize.Net, www.authorize.net
[3] Software Development Model, “www.wikipedia.com”
[4] MiniCheckID Pro+™, Fall 2008 Capstone Team#1, “http://dcm.uhcl.edu/capf08g1”
[5] MiniCheckID Pro+™v1.2, Spring 2009 Capstone Team#6,
“http://dcm.uhcl.edu/cap09g6/ “
[6] Image and barcode parser, Atalasoft , “www.atalasoft.com”
[7] Homeland Security Group, “Identity Theft”,http://www.isp.state.id.us/ID%20Theft.pdf”
[8] MiniCheck OCR Team, “MiniCheck DL Utility™”
[9] Demo Builder, “http://www.demo-builder.com/index.html?src=gde&gclid=CLWXnb-yu54CFQdiswodSVn2mg ”
[10] PC Guard for .NET, “http://www.sofpro.com/pcgw32.htm ”
[11] Install Shield, “http://www.flexerasoftware.com/products/installshield.htm”
Appendix A: Team roles and contribution
19
MiniCheck Pro+™ V 1.3 Version 2
A.1 Team role
1. Fujie ShengMajor: Computer Information SystemRole: Team Leader/ Programmer/ Integrating tester
2. Chia-Ling YangMajor: Computer ScienceRole: Programmer/ Webmaster/ System Support
1. Yunis Al-QawasmehMajor: Computer ScienceRole: Programmer/ Integrating Tester/ System Support
2. S KedareMajor: Computer ScienceRole: Programmer/ Researcher/ Documentation
3. Monika Major: Computer ScienceRole: Programmer/ Database Administrator/ Documentation
20
MiniCheck Pro+™ V 1.3 Version 2
A.2 Team Contribution
Task Fujie Yunis Chia-Ling Kedare MonikaRequirement Analysis
20% 20% 20% 20% 20%
Research Work 17.5% 30% 17.5% 17.5% 17.5%
Team Website 15% 15% 40% 15% 15%
Coding
1. 1. E-Verify
2. 2. Authorize.Net
3. 3. PC Guard4.
16.7%
18.7%
25%
25%
18.7%
16.7%
25%
22%
16.7%
16.7%
18.7%
25%
16.7%
22%
16.7%
User Interface 25% 25% 16.7% 16.7% 16.7%
Documentation 16.7% 16.7% 16.7% 25% 25%
Data base 18.7% 22% 22% 18.7% 18.7%
21
MiniCheck Pro+™ V 1.3 Version 2
Testing 20% 20% 20% 20% 20%
Communication with Mentor and Instructor
20% 20% 20% 20% 20%
Creating API & Installer
22% 22% 18.7% 18.7% 18.7%
22
MiniCheck Pro+™ V 1.3 Version 2
Appendix B:
B.1 Images of Scanners used
MagTek USB Mini Card (black)
USB MagTek Excella STX
USB card scan
USB MICR Image
23
MiniCheck Pro+™ V 1.3 Version 2
B.2 Screen Shots
Fig 1. Main Navigational form of MiniCheck ID Pro+™ V1.3
Fig 2. Swipe card now
24
MiniCheck Pro+™ V 1.3 Version 2
Fig 3. This window appears when user swipe state issued ID card.
Fig 4. Scanned ID image
25
MiniCheck Pro+™ V 1.3 Version 2
Fig 5: Populated information and image form and age verification alert.
26
MiniCheck Pro+™ V 1.3 Version 2
Fig 6: Output screen when credit card information matches with driver license or state
issued ID card
Fig 7. Output screen when credit card information does not match with driver license or
state issued ID card.
27
MiniCheck Pro+™ V 1.3 Version 2
Fig 8. From for Credit card transaction
Fig 9 Response for approved transaction along with transaction ID
Fig 10. Database for credit card transaction with search options
28
MiniCheck Pro+™ V 1.3 Version 2
Fig 11. Example of search options
Fig. 12 Screen for printing transaction from database
29
MiniCheck Pro+™ V 1.3 Version 2
Fig 13. Sign In form of E-Verify utility
Fig. 14 Options under E-Verify
30
MiniCheck Pro+™ V 1.3 Version 2
Fig 15.Initial verification ( I-9) Form
31
MiniCheck Pro+™ V 1.3 Version 2
Fig 16. Response for submitted form along with case number
32
MiniCheck Pro+™ V 1.3 Version 2
Fig 17:
Fig 18:
33
MiniCheck Pro+™ V 1.3 Version 2
Fig 19. Database for E-Verify with search options
Fig 20. Example of search option
34
MiniCheck Pro+™ V 1.3 Version 2
Fig 21: screen shot of Activation option
Fig 22: Until the user activates using key all other options are disabled
35
MiniCheck Pro+™ V 1.3 Version 2
Fig 23: Until the user activates using key all other options are disabled
Fig 24: Asking for activation code in order to enable all features
36
MiniCheck Pro+™ V 1.3 Version 2
Fig 25: new user have to register to get activation code
Fig 26: Activation code is send to users email
37
MiniCheck Pro+™ V 1.3 Version 2
Fig 27: successful activation message
Fig 28: all features are now enabled which was previously disabled
38
MiniCheck Pro+™ V 1.3 Version 2
Fig 29: all features are now enabled which was previously disabled
39
MiniCheck Pro+™ V 1.3 Version 2
Appendix C: Acronyms and Abbreviations
1. DL – Driver License
2. ID – Identification Card
3. GUI – Graphical User Interface
4. E-Verify – Employee Verification
5. DHS – Department of Homeland Security
6. SSA – Social Security Administration
7. TNC – Tentative Nonconfirmation
8. AAMVA – American Association of Motor Vehicle Administrators
9. HTML – Hypertext Markup Language
40