Hybrid Attendance Management System Using Rfid and Biometric Technology
Hybrid Attendance Management System Using Rfid and Biometric Technology
Hybrid Attendance Management System Using Rfid and Biometric Technology
CHAPTER 1
Radio Frequency Identification (RFID) is a technology that uses radio waves to transfer data
from an electronic tag called an RFID tag or label, which is attached to an object through a
reader for the purpose of identification.
The main concept behind this RFID based attendance system is to take the attendance, as well as
provide security of the employees of the Rivers State Ministry of Commerce and Industry. Its
ability to uniquely identify each employee based on their RFID tagged card and their fingerprints
makes the process of providing security easier.
The workers only need to show their RFID card to the reader and scan their fingerprint, and then
the time at which the card was shown will be noted down in the micro controller memory.
attendance to work. This will reduce the stress of manually signing in and getting inaccurate
records.
1.2.2 Specific Objectives:
In achieving the general objectives, this research work will specifically concentrate on achieving
the following:
purposes.
To monitor and generate attendance reports on the employees at certain stages of work
(weekly, monthly or annually).
remotely retrieving data using the RFID tags. Normally, the RFID comprises of two main parts:
the RFID reader and the RFID tag.
1.4 METHODOLOGY
We intend to use to the Waterfall development model, as shown in Figure 1 below, for the
proposed system.
The waterfall model involves a phased progression of activities which include: requirement
analysis, design, implementation, testing, installation and maintenance.
Our purpose for choosing this method is developing this system sequentially starting from the
requirements analysis leading up to the implementation, testing and maintenance because we
could encounter errors, problems and uncover new information between the phases but we can
still go back and make the appropriate modifications.
For the hardware components of this system, we intend using a ZK 125 KHz read-and-write
proximity card and a compatible ZK CR10E USB proximity enrollment terminal as the RFID
reader which will be used as an interfacing device to read the data from the card and interact with
the database.
For the biometric module, a fingerprint scanner connected to the system would be used. It will be
used to scan each employees fingerprint on the time of arrival. This biometric module will
completely eliminate every opportunity of impersonation and guarantee better security to the
workers in the organization
The system will be developed with C# and MySQL. I am choosing this programming language
because is it secured and simple to understand.
MySQL will be used to create the back-end database.
The proposed RFID based employee attendance system would record and calculate the
attendance of the employees in the organization and reduce the labor of manual attendance.
Since the Ministry currently uses the conventional method of manual attendance, this system
would ensure accuracy in taking attendance electronically and thus reducing human error.
The implementation of this system will prompt employees to come to work early and the
percentage of employee attendance will increase because the opportunity of someone else
signing in for a colleague would be very limited and to completely eliminate this problem, a
video camera would be installed at the RFID access point.
The development of this system will be of great benefit to the Rivers State Ministry of
Commerce and Industry. RFID technology usage can increase the standard and reputation of the
organization in the eye of Rivers State.
The system, when implemented, will enable the administration get full reports of employee
attendance.
Part one would occupy the preliminary investigation, system analysis and design
and is expected to be completed by December, 2014.
Part two is expected to be completed in May, 2015 and encompasses the design,
coding, testing and implementation of the proposed system, including the final
presentation.
A plan of all the tasks required to be done during the course of this project is
shown in Figure1.1.2 below:
Chapter 1 will be devoted to: General introduction and summary of the proposed topic.
Chapter 2: Literature and System Review which will focus on history of existing attendance
system.
Chapter 3 will be concerned with the Methodology that will be used in developing the
system.
Chapter 4: Design and Analysis of the System. In this chapter, the proposed system is
analyzed into details and its importance discussed expansively where context level diagrams,
dataflow diagrams and flowcharts will be used to explain the system further.
Chapter 5: Testing and Implementation of the proposed system; Implementation of the
computer software goes on after the design. The system will be tested and reviewed to reveal
errors. In this chapter also, the conclusion and recommendation is made.
CHAPTER 2
LITERATURE REVIEW
7
2.1 INTRODUCTION
In the process of system development, literature reviews are conducted to understand the theory,
methods and technologies associated with systems that have been developed. This chapter will
contain background research on the organization and comparative studies of the existing
attendance management system.
This project only involves the development of the software component of the attendance
management system. The Attendance management system will be developed using RFID and
Biometric technology. Through this chapter, studies on the technologies, equipment and
techniques used will be discussed briefly.
The Rivers State Ministry of Commerce and Industry administers two departments, the
Department of Commerce and the Department of Industrial Policy & Promotion.
The Ministry is headed by a Permanent Secretary Ms. Kadilo Brown, who has held the post since
Wednesday 2nd October, 2013. She is assisted by an Additional Secretary & Financial Advisor,
four Additional Secretary and eleven Joint Secretaries & Joint Secretary level officers and a
number of other senior officers.
Finance Division
Economic Division
Supply Division
Plantation Division
International trade
State trading
10
Employees within an organization should know about their employers attendance and absence
policy, so that they are aware of what is required of them.
Attendance management is also a health and safety procedure something in which that has to be
carried out. It is important because in case of an emergency that was to arise in a workplace like
a fire, then if they register in the company they will know how many people are inside a
building. It is important to manage a set of workforce as it can lead to higher profits as well as an
increase in productivity.
If you have a look on the other side of what will happen if a business does not manage their
attendance, it will mean that they will have no sort of information to look back on in case if it is
needed in the future. They also will not be able to keep a track on their employees on a day-today basis which means there is no leadership in place.
Some employers may choose to reward an individual employee because they have very good
attendance or could be something else. A lot of businesses have reward system in place based on
attendance this is because it motivates staff as well as if employees turn up on time it will save
the business a lot of money, absences cause businesses to lose money. An example of this is
Royal mail they were giving out free cards and vouchers to their employees with the highest
attendance. Royal mail reported that attendance levels have risen 11% - 1,000 workers a day since it was launched last August.
Attendance management is really important as a business can reward employees which will
combat absences. But there are some that oppose to rewarding employees as they believe they
are getting extra credit for just turning up to work. But rewarding employees will bring higher
staff motivation inside the work place, work being done quicker and also employees actually
enjoying to come to work.
11
Managing attendance can also be a factor in which a business can manage absences. Absences in
a business can cause it to lose a huge amount of money as well as the productivity inside the
company, because when one person is missing it has a huge impact on the rest of the business. If
a business can manage or measure attendance the employer will be able to tell how much time is
being lost/delayed. They will be able to look into this and see in what way to tackle this problem.
The only way they will be able to tell the amount of absences is to manage their attendance.
Minimizing absences absolutely to the lowest will mean that the business will have a higher
financial reward.
There are many reasons why an individual employee may be absent such as health and lifestyle
factors, workplace factors and stress factors these all relate in some way or another. Absence
from work is now costing employers over 600 per employee per year on average, Absence costs
business 11.6 billion a year. This is a huge figure when looked into, so it is vital that a business
manages their attendance properly. Not all businesses will have the same absence policy or
attendance management policy; it will vary from business to business. Notifying absences will be
different so an employee has to know what their business policy is.
There are many ways in which an organization can monitor attendance. This varies from
business to business, some organizations may just use an attendance sheet, some may use online
and recently a lot of businesses have been using RFID and finger print recognition which is also
very reliable. Each of these methods has their positive and negative sides.
Nowadays everything is done through technology, over the last couple of decades technology has
vastly improved leading it to be used by many businesses. Businesses can monitor attendance the
simple way by having a sign in sheet which can be very quick and convenient, but however this
system could be outdated in a business organization and can easily get lost.
The absence of technology in the Rivers State Ministry of Commerce And Industry has led to the
usage of manual employee attendance records to substantiate proof of attendance.
12
The manual attendance register was the best alternative prior to the discovery of biometric and
RFID technology to manage employee attendance. Interactions between supervisors and
subordinates take place on a daily basis and promote a healthy working environment. During a
brief interview with a worker at the ministry, the following has been identified with the use of the
manual attendance register, namely that:
There is no confirmation if the data was captured on time or if it was verified and signed
by the supervisor;
The register is easy to destroy and there is also a high risk it of getting lost. It will be a
time consuming task to replace a lost manual attendance register; and
The analysis of the benefits and risks of the manual attendance register can be tabled as follows
Benefits
It was used as the best alternative prior to the
Risks
Limited reporting on results;
development of biometrics
100% human interaction present between the
13
The manual method of attendance management in the Ministry is however time consuming,
stressful and laborious because the valuable time that could otherwise been used for settling into
the office is dedicated to employees attendance taking and sometimes not accurate.
In addition to all these challenges, the attendances are recorded manually by each employee and
therefore are prone to personal errors. There arises a need for a more efficient and effective
method of solving this problem. A technology that can solve this problem and even do more is
the combined use of RFID and biometric technology.
RFID is considered to be the most easy and fast way of detecting the physical objects like
humans, products etc. as it has an ability to detect the objects using radio frequency. This makes
RFID most efficient, easy, secure, and safe hence more advantageous with low overhead as
compared to conventional method. But as RFID can only help to answer the question who
I am? and not am I really the person who is entering? It is necessary to use a combined
RFID-Biometric system to take the attendance.
On the matter of access, it was discovered that the possession of the manual attendance is not
secured by any password while the automated attendance system will utilize RFID and biometric
technology to obtain access to the attendance register database.
The manual attendance register does not have any security measures in place to prevent the
register from getting lost or destroyed, while the automated attendance system will be protected
by daily backups.
The responsibility to register attendance in the manual attendance register is the responsibility of
the employee. The responsibility to clock on the biometric scanner will reside with the employee
and the employer will be responsible to maintain the captured data on a daily basis.
No completion frequency of the manual attendance register exists allowing opportunity to
inflate the operational time worked by the employee, while the automated attendance register
will conduct real time capturing according to the synchronized time on the computer server.
14
Interaction with employees and supervisors takes place with both attendance systems as evidence
with the manual attendance register upon request and the biometric reports on a daily basis. The
automated attendance reports will be utilized as the basis for interaction with subordinates.
The accessibility of readily available attendance data as captured within the manual attendance
register has not been determined because this function has been decentralized to the relevant
directorates. The accessibility of automated attendance reports at any given time will be
confirmed with the backups made on the computer server.
The completion of the manual attendance register allows that the attendance data be captured on
a later date, or in advance, while the automated attendance system will require the employee to
be present to scan in or out.
The scalability of attendance data in the manual attendance register is limited to the amount of
pages in the register while the automated system will have unlimited space with the option to
expand hard drive space
15
Nambiar A.N in A supply chain perspective of RFID Systems, World Academy of Science,
Engineering and Technology Journal, Volume 6,pp1-5 reviewed the current research application
of RFID to different areas with emphasis on application for supply chain management and
developed a taxonomic framework to classify literature which enables swift and easy content
analysis to help identify areas for future research.
Lui C.M and Chen L.S, authors of "Applications of RFID technology for improving
production efficiency in an Integrated-circuit packaging house," in the International Journal
of Production Research, vol 47, no. 8, pp. 2203-2216 reviewed the use of RFID in an integrated
circuit(IC) packaging house to resolve inventory transaction issues. His study suggests that RFID
contributes significant improvements to the water receiving process and the inventory transaction
process that reduce labor cost and man-made errors.
In RFID SensNet Lab (2005), A white paper on Automatic Attendance System. Texas A & M
University, Texas, USA., an automated attendance management system was implemented both in
electronic and mobile platform using stationary matrix AR 400 RFID reader with four circulatory
polarized antennae and Symbol MC9000-Ghandheld RFID reader respectively. In the electronic
platform, the attendance management system
RFID Tags are uniquely and universally identified by an identification sequence, governed by the
rubrics of EPC global Tag Data Standard (which defines the guidelines of how key identifiers
must be encoded on the tag to define industry based standardization). A tag can either be
passively activated by an RFID reader or it can actively transmit RF signals to the reader.
The RFID reader, through its antenna, communicates with the tags in its wireless range and
collects information about the objects to which tags are attached. The reader, whose effective
range is based on its operational frequency, is designed to operate at a certain frequency. The
operational frequency of the reader ranges from 125 KHz 2.4 GHz.
The Middleware encompasses all those components that are responsible for the transmission of
germane information from the reader to the backend management systems. The Middleware can
include hardware components like cables and connectivity ports and software components like
filters that monitor network performance of the system.
The Backend database stores individual tag identifiers to uniquely identify the roles of each tag.
The database stores record entries pertaining to individual tags and its role in the system
application.
Compared to other automatic identification technologies, like optical barcode systems, RFID has
several advantages, such as tag data can be read automatically without line of sight, through
some materials, simultaneously tag reading and from a range of several meters.
The RFID system is interdependent on its core components to achieve maximum efficiency and
optimum performance of the application. Due to its high degree of flexibility, the system can be
easily adopted for an array of applications ranging from small scale inventory cabinets to
multifarious and highly agile supply chain management systems. Although, the cost of
incorporating this technology has restricted its outreach, the technology promises to have
untapped potential[3]
17
Historical perspective
RFIDs primary prerequisite was the advent of radio technology. Since Guglielmo Marconi first
transmitted radio signals across the Atlantic in 1901, radio waves have been an important way to
send messagesfrom Morse code to the first voice broadcast in 1906. Scientists also discovered
that they could use radio waves for more than just message transmission. In 1935, Alexander
Watson-Watt showed how his new invention, radar, could use radio waves to locate physical
objects. Radar found its first big application during World WarII, where it detected incoming
aircraft by sending out pulses of radio energy and detecting the echoes that came back. Radar
energys re-radiation was a form of on-off modulation that indicated an aircrafts presence or
absence. However, radar operators still had no way to identify their own forces, presenting a
major military weakness. (Some people hypothesize that the US could have prevented the attack
on Pearl Harbor if its radar had been able to identify as well as detect. A Diamond Head, Hawaii,
radar station allegedly spotted the incoming airplanes but dismissed them as American aircraft
arriving from the mainland.) The Germans attempted to solve the identification problem by
simultaneously rolling their aircraft in response to a signal from the ground radar station. This
would change the radar reflections polarization, creating a distinctive blip on the radars. This
crude system was the first demonstration of active RFID using electromagnetic backscatter. The
British responded by creating IFF, where long range transponders actively modulated the
reradiated ground radar signal so the aircraft itself didnt have to. Parallel to these developments,
Harry Stockman of the US Air Force Materiel Command published Communications by Means
of Reflected Power, the first public description of RFID technology.[4,9]
Modern perspective
A half-century later, RFID systems hardly seem recognizable. Modern RFID tags, like other
pervasive technologies (such as sensor motes), represent a culmination of the evolution toward
wireless infrastructure and low-cost embedded computers. RFID tags are now the size of a grain
of rice and have built-in logic (microchip or state machine), a coupling element (analog front-end
with antenna), and memory (pre-masked or electrically erasable-programmable read only
18
memory). Passive and semi active tags use RFID readers power to communicate, while active
tags use battery power for greater range. Individuals can typically read low-frequency tags (125
135 kHz) up to 30cm away, high frequency tags (13.56 MHz) up to 1 m away, ultra highfrequency tags (2.45GHz) up to 7m away and active tags100m away or more.
Despite these modern features, RFID hasnt changed as suddenly as we think. Many of todays
familiar RFID applications have roots deep in the past.
prepaid account. Although customers consider the E-Z Pass hip and modern, the technology was
patented in 1977 and has been deployed since the 1980s.
Access control
Contactless access control with RFID is popular for securing physical locations, such as office
buildings and university campuses.
Charles Walton first invented an RFID-based access control system in 1973. It involved an
electronic lock that opened with an RFID key card. The passively powered key card, which
Schrage sold for US$1.25, was a 36-square-inch circuit board loaded with chips and analog
components. Today, RFID-based access cards are the size of a credit card and assist with policing
border access.
The US Department of Homeland Security and the International Civil Aviation Organization also
plan to use passive RFID to police airport access. By 2015, the ICAO wants to replace all
passport with digital passports that store encrypted biometric data on an RFID chip. The DHS
also wants to use passive RFID to record who is entering or leaving the US across land routes.
Animal tracking
RFID-tagged animals are already common. Applications vary from identifying runaway pets to
tracking cattle from pastures to the grocers freezer. Cows and chips first met in the 1970s in
American microwave-based systems and European inductively powered systems (see figure 3).
Since then, various parties have used RFID-based animal tracking to monitor cows, pigs, cats,
dogs, and even fish to control outbreaks of animal diseases such as avian influenza (bird flu) or
bovine spongiform encephalopathy(mad cow disease) and most recently, the Ebola Virus.
RFID has also been used to track people. Manufacturers have created wearable RFID wristbands,
backpacks, and clothing to track prisoners, school children, and even the elderly.
Applied Digital created an injectable RFID tag called the Verichip. This sub dermal RFID chip
stores personal data that can be read at various venues such as nightclubs and hospitals.
Other applications
RFID tagging lets physical objects be represented in cyberspace and entered into databases.
Candidates include clothes (to be queried by smart washing machines), packaged foods (to be
20
queried by smart refrigerators), medicine bottles (to be queried by smart medicine cabinets),
rental cars, airline baggage, library books, banknotes, drivers licenses, employee badges, and
even surgical patients (to avoid mix-ups).Both the opportunities and the threats are enormous.[2]
Despite modern RFIDs gradual evolution, comparing older RFID systems with modern RFID
systems reveals several trends.
RFID tag characteristics
RFID tags are both shrinking and multiplying. Theyre smaller, and there are more of them,
especially in the supply chain. The proportion between active and passive tags is also changing;
IFF and early RFID systems used mostly active tags, while most modern applications use passive
RFID tags.
Application characteristics
Today, RFID is used for much more than just identification. RFID tags have been reinvented as
data-bearing devices. Accordingly, modern applications require network connectivity to permit
the exchange of data with back-end management systems(which then necessitates the
development of industry-wide standards for air interfaces and on-tag data formats). Another
modern twist is that the desired RFID application functionality might change within a tags
lifetime. When an RFID tag changes hands, the new owner might consider the old function
undesirable or even an attackfor example, tracking supply-chain RFID tags after a customer
buys the tagged item.
System perimeters
Modern RFID systems have no clear system perimeters. The users arent well-defined, and RFID
tag ownership has become less clear. With IFF, the military was always the owner. However,
with modern RFID, an individual could own an RFID tag but a separate third party could own
the tags data (for example, the issuing government could retain sovereignty over the data on a
digital passport).[3]
21
RFID Tag
RFID Reader
RFID Antenna
The Middleware
PC /Database
A tag consists of a microchip that stores a unique sequence identifier that is useful in identifying
objects individually. The sequence is a numeric serial, which is stored in the RFID memory. The
microchip includes minute circuitry and an embedded silicon chip. The tag memory can be
permanent or re-writable, which can be re-programmed electronically by the reader multiple
times. Tags are designed specific to its applications and environment.
For example, paper-thin tags are attached to books in a library management system.
Tags are available in various shapes and sizes. Tags that are initiated by the reader are known as
Passive tags, whilst those that do not require external initiation are called Active tags. A SemiPassive tag exists, which has the features of both Active and Passive tags. Each tag type has its
distinct characteristics.
Tags are operable on Microwave (2.4 2.5 GHz), Ultra High Frequency (UHF) (860 1500
MHz), High Frequency (HF) (13.56 MHz) and Low Frequency (LF) (125 kHz).
The reader is the most fundamental part of the RFID system. It reads raw data from the tag and
transmits it to the middleware for further processing. The reader attempts to interrogate the tags
at varying frequencies. The reader communicates by transmitting a beam of impulses, which
encapsulate commands to the tag and listens for the tags response. The reader also contains built
in anti-collision processes, which allows the reader to read multiple tags simultaneously. The
reader is connected to the computer for data processing via a USB cable or over a wireless
connection.
Depending on mobility, RFID readers are classified into two different types: fixed RFID and
mobile RFID. If the reader reads tags in a stationary position, it is called fixed RFID. These
fixed readers are set up specific interrogation zones and create a "bubble" of RF energy that can
be tightly controlled if the physics is well engineered. This allows a very definitive reading area
for when tags go in and out of the interrogation zone.
On the other hand, if the reader is mobile when the reader reads tags, it is called mobile RFID. In
our system we are using RFID reader RS232, which Supports EM410x Series Unique Tags
works at industry-standard 125KHZ Frequency. Its Range is up to 8-12cm. [13]
2.6.3 RFID ANTENNA
The antenna is medium through which the tag and reader communicate with each other. It
antenna can activate a passive tag and transfer data by emitting wireless impulses that has
electromagnetic properties. The antenna comes in various forms.
They come in following types: (1) Stick antennas, (2) Di-pole or multi-pole antennas, (3) Beamforming or phased-array element antennas, (4) Circular polarized, (5) Gate antennas, (6) Patch
antennas, (7) Linear polarized, (8) Adaptive antennas, and (9) Omnidirectional antennas .[13,14]
It is a communication interface to interpret and process data being fed by the readers into
information. It takes into account all relevant ports of communication and a software application
to represent this information.
The middleware is an interface that manages the flow of data from the reader and transmits it
efficiently to the backend database management systems. The middleware monitors the number
of tags present in the system and extracts relevant information from the readers. [13]
The backend database primarily deals with the storage of relevant information recorded by the
reader and communicated by the middleware. For example, the middleware in an automated
security control system will store all tag readings taken by the reader in the database. This helps
create log entries for the system.[11]
to interface with the integrated application. By referencing these DLL or COM objects,
developers are able to utilize the fingerprint functionality from within a desired application.
Fingerprint SDKs provide a basic framework of functions to talk to a fingerprint scanner, capture
an image, extract the unique minutiae data from the image, and compare two sets of extracted
minutiae data. All of the more complex features and functionality are built upon this framework.
ZK Finger SDK currently supports Windows 9x/2000/NT and Linux OS Platforms. Under
Windows environment, the SDK comes in both DLL and ActiveX formats. For Linux
environment, the relevant drivers and files are provided. ZK Finger SDK is an extremely
powerful tool that provides system integrators ease of interface. As long as the image is
obtainable, the SDK will be able to extract fingerprint templates from any type of sensors. The
images can be from Bitmap in memory or taken from various image files in BMP, JPG, TIFF,
GIF formats with 256 grey scale levels. It can do automatic classification of fingerprints and
conduct 1 - M identification matches of up to 10,000 per second.
Ability to extract minutia through fingerprint images, and files. The size of the file is
about 256 bytes to about 1024 bytes depending on the extraction method. There are 3
types of extraction method: fingerprint images, bitmap file handle, and two-dimensional
byte array.
The enrolled or registered fingerprint template can be obtained by 1 - 3 repeated
placements of the fingers on the sensor; the size of the enrolled templates varies between
Identification uses a biometric device to determine the corresponding person from a database
containing many identities, or decides if a particular individual is enrolled or not. Authentication,
27
also known as 1:1 matching or identity verification, takes place whereby the system verifies the
biometric input of one scanned fingerprint against a single biometric record. The system will
correspond by a Yes if the scanned print matches a saved template on the server or a No if it
does not match. During registration a unique identifier will engage to determine if the new
enrolment has been previously captured. Time is recognized as a factor that impedes on all
development within the technological domain. Biometrics is not being affected by behavioral
characteristics such as state of health or the passage of time. Biometrics is dependent on the
physical characteristics on the fingertips of every human being.
2.9.2 THE IDENTIFICATION OF BIOMETRICS
fingerprint
iris
hand geometry
facial recognition
speech identification
Recognition.
i. Fingerprints
Fingerprints are the most commonly used biometric method. The development of fingerprint
technology has developed and become indispensable in biometric time and attendance use,
identification, access control and computer user log in.
Fingerprint recognition is based on four types of technology, namely:
a) Frustrated total internal reflection (FTIR) as the oldest live scan method. A camera with
infrared ability views the reflected signal from the prism as the finger touches a side of the prism.
An image size of 1 inch x 1 inch is converted to a 500 dots per inch (dpi) image using a charged
coupled device (CCD) or complementary metal oxide semiconductor (CMOS) processor camera
28
b) CMOS capacitance focuses on the appearance of ridges and valleys of the fingerprint to create
different impressions. A finger needs to touch the CMOS chip guard to reveal the image of the
ridges and valleys [8].
c) Thermal measurements occur by means of pyro-electric material in the sensor which measures
temperature changes as the finger is swiped over the sensor to produce an image. The person
who makes use of the biometric device needs to be alive due of the operation of live scan
technology which measures temperature. Constant measurements of fingerprint quality are
obtained to verify the best possible image against the sample template. The skin elasticity of a
living person allows that the biometric scanner obtains a detailed image sample.
d) Ultrasonic beams scan over the fingerprint surface to measure the ridge depth from the
reflected signal. Due to the size of the images more time will be required to process the data rich
scans.
ii. Iris
Iris verification is the latest type of biometric and has proven to be accurate and stable. Every
person has a rich texture within the iris and distinguishes one person from another. The texture
for this type of scanning is obtained from the pupil and sclera which form the iris. The
recognition between iris and retinal recognition are different because the latter has a greater level
of complexity than iris identification. The level of complexity in iris scanning will influence the
cost to operate and maintain the scanning system.
iii. Hand geometry
Hand geometry is a user friendly biometric whereby the characteristics of the hand are measured
and transferred onto a template. This system has limitations because it compares characteristics
such as lines within the palm of the hand that may be similar to another persons. This
availability of similar hand characteristics projects a high false accept rate (FAR) allowing a high
29
level of false acceptances and a high false reject rate (FRR) which will reject a high number of
correct scans during the operational stage.
iv. Facial recognition
Facial recognition can be clarified as an ancient biometric used by everyone on earth. The natural
appearance of the face makes it more acceptable to identify individuals at face value than
biometrics because recognition takes place without any electronic device. The limitation of face
recognition lies in the existence of people with identical facial characteristics, such as identical
twins. This limitation in facial recognition, as a dependable identification method, lies within
physical and image changes. Physical changes include aging, personal appearances such as
make-up, glasses, facial hair, hairstyle and disguise. Image change is brought forward by light
variation, camera variation and the compression of images that alter the appearance of the face.
Images with 600 dots per inch (dpi) and 1000 dpi compression experience a change in
appearance whereby the 1000 dpi image appears to be smoother because more dpi is used to
complete the detail of the image. Images with a higher dpi count appear to be more detailed
and allow more data for interpretation over a longer period because more information needs to be
processed).
v. Speech identification
Speech identification relies on the reception of sound from the person who requests access.
Sound has little security measures and can be substituted with little or no effort. The brain is the
most sophisticated part of the body allowing the ability for voice manipulation in order to gain
access during the speaker identification process.
30
Signatures represent the oldest method of authorization whereby the signature of the individual
in question allows permission towards an instruction or agreement. The manual attendance
register was based on this technology and employees signed the attendance register to confirm
attendance. Signature verification is considered as the oldest biometric which requires a
handwriting expert to distinguish the originality of a written document. The international use of
signatures as an authorization tool emphasizes the importance of having technology available to
equip signatures with security measures.
2.9.3 THE BENEFITS OF BIOMETRICS IN ATTENDANCE MANAGEMENT
The use biometrics in attendance management has more advantages than disadvantages in
contrast to the manual attendance register. Biometric devices can assist with the positive
identification of individuals and act without any discrimination. The verification standards are
applicable to all persons who scan for attendance and no room will be allowed for impersonation.
Biometric systems function without any supervision and the time for roll call has been
eliminated. The development of biometric technology grants access to a variety of employee
attendance reports which outweigh disadvantages. The in and out clocking data are captured
in real time with no scope for compromising clocking times. The biometric time and attendance
system operates as a stand-alone device during power failure. Various reports can be extracted
and analyzed to determine employee trends. The biometric technology operates on a voice over
internet protocol (VOIP) network saving additional cost in cabling and connection to the server.
Savings on the salary budget will be possible because the working times of employees will be
correct.
The following are risks involved with the use of biometrics in attendance management.
It operates with electricity and will require back-up batteries during power failure.
Some scientists are of the opinion that the accuracy of biometric technology can decrease the
confidence in human aptitude. Humans can develop a lack of confidence.
Electronic equipment can malfunction and the allowance of 1% failure during a breakdown can
have fatal results.
31
2.9.4 FINGERPRINT
Fingerprints are one of those bizarre twists of nature. Human beings happen to have built-in,
easily accessible identity cards. People have tiny ridges of skin on their fingers because this
adaptation was extremely advantageous to the ancestors of the human species.
Finger skin is made up of friction ridges with pores. These friction ridges are created during the
course of life and only the general shape is genetically defined. A friction ridge remains the same
all lifelong; only growing up to adult size. The picture below shows the example pattern of
minutiae- minutiae are the discontinuities of the ridges in a fingerprint.
Islands are ridges that are slightly longer than dots, occupying a middle space between two
temporarily divergent ridges.
Ponds or lakes are empty spaces between two temporarily divergent ridges.
Spurs are a notch protruding from a ridge. Bridges are small ridges joining two longer adjacent
ridges.
Crossovers are two ridges which cross each other.
Deltas are the points, normally at the lower left and right hand of the fingerprint, around which a
triangular series of ridges center.
Advantages of fingerprints
33
Fingerprints are a unique marker for a person, even an identical twin, and while two prints may
look basically identical at a glance, a trianed investigator or an advanced software can pick out
clear, defined differences. Some of the advantges of fingerpints are:
Disadvantages of fingerprint
Fingerprints are very effective, but as effective as they are, they are certainly not infallible and
they do have major disadvantages.
Optical scanners cant always distinguish between the picture of a finger and the finger itself,
and capacitive scanners can sometimes be fooled by a mold of a persons finger, meaning that if
someone gains access to an authorized users fingerprints, that person can trick the scanner.
A critical step in automatic fingerprint matching is to automatically and reliably extract minutiae
from the input fingerprint images. In order to ensure that the performance of an automatic
fingerprint identification or verification system will be robust with respect to the quality of the
fingerprint images, it is essential to incorporate a suitable fingerprint technique.
Fingerprint matching techniques can be divided into two categories:
Minutiae-based approach: minutiae based technique first finds the minutiae points and map
their relative placement on the finger. This technique however has some difficulties. It is difficult
to extract the minutiae points when the fingerprint is of low quality. There is also difficulty in
matching different sized minutiae patterns.
34
Local ridge structures cannot be completely characterized by minutiae. Also this approach does
not take into account the global pattern of ridges and furrows.
Correlation-based approach: in this approach Gabor filters are used to extract features directly
from the gray level fingerprint. This approach is able to overcome some of the difficulties of the
minutiae-based approach. However, it has some of its own shortcomings. Correlation-based
approach requires the precise location of a registration point and is affected by image translation
and rotation.[15.16,18]
A fingerprint scanner system has two basic jobs; it needs to get an image of the finger, and it
needs to determine whether the pattern of the ridges and valleys in this image matches the ridges
and valleys in the pre-scanned images.
The most common ways of getting an image of a persons fingerprint are through optical
scanning and capacitive scanning. They both come up with the same image but they go about the
identification and verification differently.
Optical scanner
The heart of an optical scanner is a Charge Coupled Device (CCD), the same light sensor system
used in digital cameras and camcorders. A CCD is simply an array of light-sensitive diodes
called photosites, which generate an electrical signal in response to light photons. Each photosite
records a pixel, a tiny dot representing the light that hit the spot. Collectively, the light and dark
pixels form an image of the scanned scene (in this case, a finger). An analog to-digital converter
in the scanner system processes the analog electrical signal to generate a digital representation of
this image.
Capacitive Scanner
35
Just like optical scanners, capacitive fingerprint scanners generate an image of the ridges and
valleys that make up a fingerprint, but instead of sensing the print using light, the capacitors use
electric current. The main advantage of a capacitive scanner is that it requires a real fingerprinttype shape rather than the pattern of light and dark that makes up the visual impression of a
fingerprint. This makes the system harder to trick. Additionally, since they use a semi-conductor
chip rather that a CCD unit, capacitive scanners tend to be more compact than optical devices.
[7]
36
It also supports XML/XSLT, HTML/XHTML, JavaScript and CSS. Languages specific versions
of Visual Studio also exist which provide more limited language services to the user. These
individual packages are called Microsoft Visual Basic, Visual J#, Visual C#, and Visual C++.
Code editor
Like any other IDE, it includes a code editor that supports syntax highlighting and code
completion using IntelliSense for variables, functions, methods, loops and LINQ queries.
IntelliSense is supported for the included languages, as well as for XML and for Cascading Style
Sheets and JavaScript when developing web sites and web applications. The code editor is used
for all supported languages.
The Visual Studio code editor also supports setting bookmarks in code for quick navigation.
Other navigational aids include collapsing code blocks and incremental search, in addition to
normal text search and regex search.
Visual Studio features background compilation. As code is being written, Visual Studio compiles
it in the background in order to provide feedback about syntax and compilation errors, which are
flagged with a red wavy underline. Warnings are marked with a green underline. Background
compilation does not generate executable code, since it requires a different compiler than the one
used to generate executable code.
Debugger
Visual Studio includes a debugger that works both as a source-level debugger and as a machinelevel debugger. It works with both managed code as well as native code and can be used for
debugging applications written in any language supported by Visual Studio. In addition, it can
also attach to running processes and monitor and debug those processes. If source code for the
running process is available, it displays the code as it is being run. If source code is not available,
it can show the disassembly. The Visual Studio debugger can also create memory dumps as well
as load them later for debugging. Multi-threaded programs are also supported. The debugger can
be configured to be launched when an application running outside the Visual Studio environment
crashes.
37
Microsoft Visual C#
Microsoft Visual C#, Microsoft's implementation of the C# language, targets the .NET
Framework, along with the language services that lets the Visual Studio IDE support C# projects.
While the language services are a part of Visual Studio, the compiler is available separately as a
part of the .NET Framework. The Visual C# 2008, 2010 and 2012 compilers support versions
3.0, 4.0 and 5.0 of the C# language specifications, respectively. Visual C# supports the Visual
Studio Class designer, Forms designer, and Data designer among others.
38
CHAPTER 3
METHODOLOGY
3.1 INTRODUCTION
This chapter seeks to provide further review, crystallization and challenges of the existing system
under research. The chapter will also provide further insight into the various methods and
technologies used to solve these current problems of manual attendance in the development of
the system.
For this system, the focus is more on the main part of the software which is designing the basic
Graphical User Interface (GUI) that can integrate with the hardware components of the system.
The GUI will be developed in Object Oriented programming language for the front end while the
backend can be based on developing the relational database management system. Below is the
process flow chart of the project.
39
START
DEFINE PROJECT
OBJECTIVES
RESEARCH AND
LITERATURE REIVIEW
SOFTWARE CODING
AND GUI DESIGN
INTEGRATE WITH
HARDWARE
TEST THE SYSTEM
TROUBLESHOOT
40
STOP
START
READ EMPLOYEE
CARD/TAGS
No
Enrolled?
Yes
VERIFY EMPLOYEE
FINGERPRINT
No
Compare fingerprint
with template stored in
the database
Match?
DATABASE
Yes
REGISTER TIME-IN/OUT
ENABLE DEPARTURE
TIME
STOP
The major factors in designing this attendance management system include: choosing the
hardware and software components and integrating both to work together, defining the system
working mode (verification or identification), dealing with poor quality images and other
programming language exception, and defining administration and optimization policy.
43
_ Ultra High-Frequency (850 MHz to 950 MHz) offer the longest read ranges of up to
approximately 3 meters and high reading speeds.
RFID tags are further broken down into two categories:
_ Active RFID Tags are battery powered. They broadcast a signal to the reader and can transmit
over the greatest distances (100+ meters). Typically they cost more and are used to track high
value goods like vehicles and large containers of goods. Shipboard containers are a good
example of an active RFID tag application.
_ Passive RFID Tags do not contain a battery. Instead, they draw their power from the radio
wave transmitted by the reader. The reader transmits a low power radio signal through its
antenna to the tag, which in turn receives it through its own antenna to power the integrated
circuit (chip)
For the Rivers State Ministry of Commerce and Industry, the system will designed using a
125KHz passive read/write RFID tag. The use of these cards will enable cost-effective issuance
of secure radio frequency identification (RFID) credentials for the organization.
The cards can fit easily into a wallet or purse, or may be attached to a lanyard or keychain via a
standard clip aperture. The cards offer universal compatibility with a broad variety of proximity
readers, and deliver highly consistent read ranges that are unaffected by body shielding or
variable environmental conditions, even when close to keys and coins.
The tags are almost indestructible, can be read even if covered with dirt or submerged and tags
have unalterable permanent serial code that prevents tampering and the passive, battery-free
design allows for an infinite number of reads.
The proposed RFID system offers many advantages to this design application using this passive
125KHz RFID tag such as:
Electronic tags can be embedded into employees conventional means of identification
(employee ID card).
The electronic tag can be read during motion.
No batteries are needed; no line of sight required for wireless communication between the tag
and the reader.
Cards may be pre-programmed to customer requirements, and pre-printed with custom artwork.
44
Fig 3.1.3- Connectivity diagram between a ZK CRI0E reader and a computer [28]
45
Optical scanners operate on the principal of frustrated total internal reflection (FTIR). A laser
light illuminates a fingerprint placed on a glass surface (platen). The reflectance of this light is
captured by a charged coupled device (CCD) array- a CCD is simply an array of light-sensitive
diodes called photosites, which generate an electrical signal in response to light photons. The
amount of reflected light is dependent upon the depth of ridges and valleys on the glass and the
finger oils between the skin and glass. The light that passes through the glass into valleys is not
reflected to the CCD array, whereas light that is incident upon ridges on the surface of the glass
46
(more precisely, the finger oils on the ridges that constitute the ridge-to-glass seal) is reflected..
[17,21]
For this system, the ZK fingerprint reader will be used to capture image of the employees
fingerprints. Using the ZK Fingerprint Reader, the ZK Finger Software Development Kit (SDK)
toolbox provided by ZK Technology is going to be used as an interface between the fingerprint
reader and the attendance software.
ZK fingerprint SDK provides a basic framework of functions to talk to a fingerprint scanner,
capture an image, extract the unique minutiae data from the image, and compare two sets of
extracted minutiae data. Some of these functions and algorithms provided by the SDK are stated
below:
The ZK Finger SDK is a high speed and accurate 1: Many Fingerprint Matching algorithm
catered largely for software developers. When using ZK Finger SDK for 1: N identification
(2000-6000 fingerprints), there is no requirement to input a name or a PIN number. Identification
can be preceded with ease within 1-5 seconds.
ZK Finger SDK allows easy integration to the applications of the users. It opens the interface of
dealing with various image, it can support scanner and fingerprint sensor (The resolution of the
image>= 300DPI).
47
ZK Finger SDK algorithm is able to filter noises, enhance the contrast of ridge and trough. Even
from the fingerprint with bad quality (dirty, cuts, scars, dry, wet), the algorithm is able to extract
accurate minutia points.
ZK Finger SDK Matching algorithm allows the identification or verification of 0 to 360 degree
rotation of the live fingerprint. With state-of-the-art techniques, the matching can still be
conducted at a high speed despite the different orientation angles of the finger (Approximate
Matching Speed of 3000 Match/sec, even for fingers with low minutia points (<=10), a
fingerprint normally would have >= 15 minutia points.)
ZK Finger SDK Matching algorithm does not require complete minutia points such as (core,
delta, etc); it can make identification successfully based on several essential or critical minutia
points.[28]
.
ARCH
LEFT LOOP
RIGHT LOOP
WHORL
TENTED ARCH
ZK Finger SDK Matching algorithm does not require complete minutia points such as (core,
delta, etc); it can make identification successfully based on several essential or critical minutia
points.
The minutia based algorithm is widely used for fingerprint authentication. It focuses on the
endings of ridges and bifurcations. Consequently the central area in fingerprint image is very
important and this algorithm keenly relies on the quality of the input images. Global and local
characteristics of fingerprints are used for identification of individuals. Global features are the
49
ones that can be seen with naked eye like ridges, pattern area and delta while local characteristics
are the minutia points.
Fingerprint ridges are not continuous as there are a number points at which ridges change and
end and these points are called minutia points. The unique identifying features are provided by
these minutia points. A raw image is taken from the sensor and algorithms are implemented on
the image to enhance it and further extract the minutia points directly from this representation.
This procedure provides a much more efficient and reliable result as compared to other methods
of fingerprint verification.
Most automatic systems for fingerprint comparison are based on minutiae matching. Minutiae
are local discontinuities in the fingerprint pattern. A total of 150 different minutiae types have
been identified. In practice only ridge ending and ridge bifurcation minutiae types are used in
fingerprint recognition.[16,18,21]
50
IMAGE
ACQUISITI
ON
EDGE
DETECTIO
N
THINNING
FEATURE
EXTRACTIO
N
CLASSIFI
ER
a) Image Acquisition
A number of methods are used to acquire fingerprints. Among them, the inked impression
method remains the most popular one. Inkless fingerprint scanners are also present eliminating
the intermediate digitization process.
Fingerprint quality is very important since it affects directly the minutiae extraction algorithm.
Two types of degradation usually affect fingerprint images:
1) The ridge lines are not strictly continuous since they sometimes include small breaks (gaps);
2) Parallel ridge lines are not always well separated due to the presence of cluttering noise. The
resolution of the scanned fingerprints must be 500 dpi while the size is 300 x 300.
b) Edge Detection
An edge is the boundary between two regions with relatively distinct gray level properties. In
practice, the set of pixels obtained from the edge detection algorithm seldom characterizes a
boundary completely because of noise, breaks in the boundary and other effects that introduce
spurious intensity discontinuities. Thus, edge detection algorithms typically are followed by
linking and other boundary detection procedures designed to assemble edge pixels into
meaningful boundaries.
51
c) Thinning
An important approach to representing the structural shape of a plane region is to reduce it to a
graph. This reduction may be accomplished by obtaining the skeleton of the region via thinning
(also called skeletonizing) algorithm.
The thinning algorithm while deleting unwanted edge points should not:
Remove end points.
Break connectedness
Cause excessive erosion of the region
d) Feature Extraction
Extraction of appropriate features is one of the most important tasks for a recognition system.
The feature extraction method is explained below:
A multilayer perceptron (MLP) of three layers is trained to detect the minutiae in the thinned
fingerprint image of size 300x300.
The first layer of the network has nine neurons associated with the components of the input
vector. The hidden layer has five neurons and the output layer has one neuron. The network is
trained to output a 1 when the input window in centered on a minutiae and a 0 when it is not.
. The networking will be trained using:
The back propagation algorithm with momentum and learning rate of 0.3.
The Al-Alaoui back propagation algorithm.
Once the network is trained, the next step is to input the prototype fingerprint images to extract
the minutiae. The fingerprint image is scanned using a 3x3 window given.
52
e) Classifier
After scanning the entire fingerprint image, the resulting output is a binary image revealing the
location of minutiae. In order to prevent any falsely reported output and select significant
minutiae, two more rules are added to enhance the robustness of the algorithm:
1) At those potential minutiae detected points, we re-examine them by increasing the window
size by 5x5 and scanning the output image.
2) If two or more minutiae are close together (few pixels away) we ignore all of them.
To insure translation, rotation and scale-invariance, the following operations will be performed:
The Euclidean distance d(i) from each minutiae detected point to the center is calculated. The
referencing of the distance data to the center point guarantees the property of positional
invariance.
The data will be sorted in ascending order from d(0) to d(N), where N is the number of detected
minutiae points, assuring rotational invariance.
The data is then normalized to unity by shortest distance d (0), i.e: dnorm(i) =d(0)/d(i); This
will assure scale invariance property.
In the algorithm described above, the center of the fingerprint image was used to calculate the
Euclidean distance between the center and the feature point. Usually, the center or reference
point of the fingerprint image is what is called the core point. A core point, is located at the
approximate center, is defined as the topmost point on the innermost upwardly curving ridgeline.
The core point is located at the center of the fingerprint image.
After extracting the location of the minutiae for the prototype fingerprint images, the calculated
distances will be stored in the database along with the ID or name of the person to whom each
fingerprint belongs.
53
The last phase is the verification phase where testing fingerprint image:
1) Fingerprint image is inputted to the system
2) Minutiae are extracted
3) Minutiae matching: comparing the distances extracted minutiae to the one stored in the
database
4) Identify the person[25]
54
Fig 3.2.0 Diagram showing the phases in the waterfall model [29]
In general, the waterfall model may be considered as having six distinct phases, described
below:
Requirements analysis: This first step is also the most important, because it involves gathering
information about what the customer needs and defining, in the clearest possible terms, the
problem that the product is expected to solve. Analysis includes understanding the customer's
business context and constraints, the functions the product must perform, the performance levels
it must adhere to, and the external systems it must be compatible with. Techniques used to obtain
this understanding include customer interviews, use cases, and "shopping lists" of software
features. The results of the analysis are typically captured in a formal requirements specification,
which serves as input to the next step.
Design: This step consists of "defining the hardware and software architecture components,
modules, interfaces, and data...to satisfy specified requirements. It involves defining the
55
hardware and software architecture, specifying performance and security parameters, designing
data storage containers and constraints, choosing the IDE and programming language, and
indicating strategies to deal with issues such as exception handling, resource management and
interface connectivity. This is also the stage at which user interface design is addressed,
including issues relating to navigation and accessibility. The output of this stage is one or more
design specifications, which are used in the next stage of implementation.
Implementation: This step consists of actually constructing the product as per the design
specification(s) developed in the previous step. Typically, this step is performed by a
development team consisting of programmers, interface designers and other specialists, using
tools such as compilers, debuggers, interpreters and media editors. The output of this step is one
or more product components, built according to a pre-defined coding standard and debugged,
tested and integrated to satisfy the system architecture requirements. For projects involving a
large team, version control is recommended to track changes to the code tree and revert to
previous snapshots in case of problems.
Testing: In this stage, both individual components and the integrated whole are methodically
verified to ensure that they are error-free and fully meet the requirements outlined in the first
step. An independent quality assurance team defines "test cases" to evaluate whether the product
fully or partially satisfies the requirements outlined in the first step. Three types of testing
typically take place: unit testing of individual code modules; system testing of the integrated
product; and acceptance testing, formally conducted by or on behalf of the customer. Defects, if
found, are logged and feedback provided to the implementation team to enable correction. This is
also the stage at which product documentation, such as a user manual, is prepared, reviewed and
published.
Deployment/Installation of system: This step occurs once the product has been tested and
certified as fit for use, and involves preparing the system or product for installation and use at the
customer site. Delivery may take place via the Internet or physical media, and the deliverable is
typically tagged with a formal revision number to facilitate updates at a later date.
56
Maintenance: This step occurs after installation, and involves making modifications to the
system or an individual component to alter attributes or improve performance. These
modifications arise either due to change requests initiated by the customer, or defects uncovered
during live use of the system. Typically, every change made to the product during the
maintenance cycle is recorded and a new product release is performed to enable the customer to
gain the benefit of the update.
3.6.2 Advantages of waterfall model
The waterfall model, as described above, offers numerous advantages for software developers.
First, the staged development cycle enforces discipline: every phase has a defined start and end
point, and progress can be conclusively identified by both developer and client. The emphasis on
requirements and design before writing a single line of code ensures minimal wastage of time
and effort and reduces the risk of schedule slippage, or of customer expectations not being met.
Getting the requirements and design out of the way first also improves quality; it's much easier to
catch and correct possible flaws at the design stage than at the testing stage, after all the
components have been integrated and tracking down specific errors is more complex. Finally,
because the first two phases end in the production of a formal specification, the waterfall model
can aid efficient knowledge transfer when team members are dispersed in different locations.
Not suitable for the projects where requirements are at a moderate to high risk of
changing.
57
This model is used only when the requirements are very well known, clear and fixed.
Technology is understood.
There will be a main login form designed for the administrator. This will provide security and
restrict unauthorized access into the database. Information of employee and finger print image
will be stored in the database. Time of attendance will be stored in the database automatically
through the biometric verification.
Details stored into the database will include Employee id, Employee name, Picture, Status,
Department, Address, Phone number, Date of birth, Finger print
59
High Availability
Rock-solid reliability and constant availability are hallmarks of MySQL, with customers relying
on MySQL to guarantee around-the-clock uptime. MySQL offers a variety of high-availability
options from high-speed master/slave replication configurations, to specialized Cluster servers
offering instant failover, to third party vendors offering unique high-availability solutions for the
MySQL database server.
Robust Transactional Support
MySQL offers one of the most powerful transactional database engines on the market. Features
include complete ACID (atomic, consistent, isolated, durable) transaction support, unlimited
row-level locking, distributed transaction capability, and multi-version transaction support where
readers never block writers and vice-versa. Full data integrity is also assured through serverenforced referential integrity, specialized transaction isolation levels, and instant deadlock
detection.
Strong Data Protection
Because guarding the data assets of corporations is the number one job of database professionals,
MySQL offers exceptional security features that ensure absolute data protection. In terms of
database authentication, MySQL provides powerful mechanisms for ensuring only authorized
users have entry to the database server, with the ability to block users down to the client machine
level being possible. SSH and SSL support are also provided to ensure safe and secure
connections. A granular object privilege framework is present so that users only see the data they
should, and powerful data encryption and decryption functions ensure that sensitive data is
protected from unauthorized viewing. Finally, backup and recovery utilities provided through
MySQL and third party software vendors allow for complete logical and physical backup as well
as full and point-in-time recovery.
60
MySQL means that database administrators don't waste time troubleshooting performance or
downtime issues, but instead can concentrate on making a positive impact on higher level tasks
that involve the business side of data.
PART 2
CHAPTER 4
SYSTEM DESIGN AND ANALYSIS
4.1 INTRODUCTION
This chapter deals with development and analysis of the proposed system. This chapter will
provide a description of the proposed system, the processes, flow of data and requirements
needed to run the system. It will include data flowchart diagrams, ERD diagram, context
diagram, activity diagram and Use case diagram of the proposed system.
The aim of this document is to provide a detailed description of the attendance management
system using both RFID and Biometric technology, its parameters and goals. This document will
fully describe all the functional and nonfunctional requirements, design constraints, hardware
and software requirements and other factors necessary to provide a complete and comprehensive
description of the Attendance Management System. This document further describes the project's
target users, its user interface and how the potential users see the product and its functionalities.
62
63
The reader used in this system is ZK CR10E reader which is designed to read
(CR10E/M) & write (CR10M/W) proximity cards. It is connected to PC through USB
Port (Plug & play). CR10E reader is compatible with all kind of windows O .S.
The RFID Tags used in this system are ZK CR10E/M 125KHz passive read/write RFID
tags.
The hardware setup was a very simple and straight forward process. The RFID card reader is
connected to the PC via the USB interface. The RFID tag interacted with any active RFID reader
within range and performed the sequence as instructed by the software. The fingerprint scanner is
also connected to the PC via the USB interface. The PC was pre-equipped with the Windows7
operating system with a minimum hardware requirement of 4GB RAM, 450 GB Hard Disk
Drive, 2.20GHz Processor.
4.3.2 Software Architecture
This is the application architecture which shows how to transform the logical design in to basic
system coding to create the system. The result of this phase is application interface, database and
system design specification. Microsoft c# in Visual Studio2012 IDE was used as the
programming language and MySQL server as the Database.
Software Interface Front End Client: Microsoft C#
Data Base Server: MySQL
Back End: MySQL
64
66
The Attendance phase is the most functional part of the software where an employee is
authenticated new attendance instance is created and properly recorded on the database.
This phase keeps tracking the activity of each employee as regards to their attendance in a
particular department and provides a detailed report for the user in charge.
The fingerprint data stored on the RFID card along with other details is read into the computer
memory. The stored data will be used to authenticate the fingerprint of the user that was captured
in real time by the fingerprint scanner. This system is fully automated from the data collection to
the reporting with little or no effort from the user.
The flowchart of the system is shown below
START
READ EMPLOYEE
CARD/TAGS
No
Enrolled?
Yes
VERIFY EMPLOYEE
FINGERPRINT
No
Compare fingerprint
with template stored in
the database
Match?
DATABASE
Yes
REGISTER TIME-IN/OUT
Update database with
Time-In/Out
ENABLE DEPARTURE
TIME
STOP
67
Fig 4.1.1 Flowchart of the attendance management system using RFID and Biometric
technology
68
Employee Actor carrying the RFID code and a member of the organization. He is the
front-end user of the system
Operator/User An employee of the organization who operates the front end of the
system at the front desk/entry gate. The operator uses the software to identify and
authenticate the validity of other employees when they arrive.
Every user of the software should be an employee of the organization.
The presence of the employees within the organization can be calculated by detecting the code in
the chip carried by them and thus calculate their working hours.
Head of Departments and Supervisors can view their employees attendance date and month
wise.
The users can search for the employees' information stored in the organization database and the
user is responsible for any misuse of the device.
The accessibility of information varies according to the type of user.
The concerned authorities get a generated report of the attendance of the employees after a
uniform time interval.
Employee details
EMPLOYEE
Receive salary
Query requests
Attendance entry
ATTENDANCE
Employee registration
MANAGEMEN
T SYSTEM
Employee verification
ADMINISTRA
TOR
employee attendance
Employee verification
HEAD OF
DEPARTMENTS/SUPE
RVISOR
Pay salary
Monthly attendance reports
ACCOUNTS
DEPARTMEN
T
69
Fig 4.1.2 Context level Data Flow Diagram of the attendance management system
details
EMPLOYEE
files
1
Get employee
details and
biometric
data
employee record
D1 employee
2
registration records
D2 registration
employee registration
Register
employee
registration confirmationADMINISTRAT
OR
3
RFID card
Assign
RFID card
Verification confirmation
Verify
employee
confirm verification
OPERATOR
/USER
attendance entry
Record
employees
attendance
6
Generate
attendance
reports
70
SUPERVISOR/
HEAD OF
DEPARTMENT
Attendance reports
monthly
reports
ACCOUNTS
DEPARTMENT
4.8 CONSTRAINTS:
This explains the various conditions and environments in which there could be limitations or
restrictions in the operation of the system. It includes both system constraints and design
constraints.
4.8.1 System Constraints:
The RFID reader and fingerprint reader are connected with the user/ operators desktop computer
so the response time of the system is depends on it.
The GUI is only in English Language.
Without RFID card number present the employee will be considered as absent.
Only registered employees are authorized to use the services. For unauthorized users, the
systems will not be accessible.
On the desktop computer of the operator, the program will not perform according its
functionality:
If the power source is off.
If the server used for this product cannot work properly.
If the RFID reader and fingerprint machine which are connected to proctors desktop computer
have a problem.
71
Verify employee
Operator
Take attendance
View attendance
Employee
Enrolls employee
Administrator
Generate report
Review report
72
Accounts
Dept.
supervisor
Pay salary
73
74
4.11 STANDARDS
The server program shall be able to work under Windows XP, Windows Vista, Linux, and the
Mac OS operating systems. The server requires that the Visual Studio and MySQL runtime
environment be installed on the computer.
The computer hardware specifications must meet the minimum requirements of 2.3 GHz CPU
speed, 2.0GB of RAM, and at least 10 GB of hard disk space for database storage. The proctor
program shall be able to function on all computers that have the Visual Studio Environment
installed.
4.12 SOFTWARE SYSTEM ATTRIBUTES
The necessary qualities of software products are:
Security: The application is password protected and also any updating of new product entries and
order processing is done by only privileged users. Not all stakeholders can change data. Through
proper verification and channel, data can be modified or added.
75
CHAPTER 5
5.1 RESULTS AND DISCUSSION
The results of the development of the hybrid attendance system are presented in Fig 4.1.1 to
Figure 4.1.3. These show the Home Screen interface used to access the main features of the
attendance system software such as registration of employee data, encoding of the data into the
RFID card and creating the actual attendance. On the click of a button, the corresponding action
was triggered without closing the home screen to allow the user to switch to another function
without having to restart the program.
The employee registration interface which captured the students personal data, their fingerprint
details and saved it in the database for further use such as encoding is presented in Fig 4.1.1. This
interface captured the essential data only to improve the performance of the attendance system
and reducing the amount of overhead data encoded into the RFID card. When the user clicked on
the fingers, the interface scanned and displayed the image of the finger placed on the scanner.
After all necessary data had been provided; the user could now click on the button Save to save
the employees data in the database.
The attendance interface which generates the actual attendance with biometric authentication of
each user trying to use their RFID card is shown in Fig 4.1.2. This interface continuously
scanned for RFID card in range. When the card is detected, the interface read the data on the card
76
and prompts the owner for a fingerprint authentication. If the authentication is successful, the
user data adds to the attendance list else the user data is discarded
5.2 CONCLUSION AND FUTURE WORK
This research has shown how a system relying on both RFID and biometric technology may be
developed. This system is flexible, which means that it may be extended by adding more
modules. The cards that have been employed for this specific system are RFID cards, and the
algorithm used has shown stable and reliable results; moreover, this algorithm has secured
important data that we have stored on these cards. These cards can be put to use at companies,
schools, and other institutions and may replace ID cards. As demonstrated, personnel and
employees, alike, can use these cards for many purposes; additional functions can always be
incorporated into the system and greater security provided to the cards. RFID technology
continues to develop, and the time has come for us to avail ourselves of its promise and
convenience.
The main aim of this research has been to demonstrate potential uses of RFID-technology and
build a system reliant on it. This paper developed hybrid RFID with biometric security attendance
system which eliminates the need for a lot of paper work and help in tracking record of events such as
employees absentee with dates which can still help organizations to have a global look. It combined the
flexibility of RFID technology and the security of fingerprint biometrics.
For the future work, this research could be extended by adding more modules and making some
updates or changes. Some new modules could be added, like Library system, Access
Control( door lock) System, Payment system, Parking lot system, and so on.
Simultaneously, other cards should be checked and be replaced, because cards which were used
for this research seemed to be secure less, and new cards should have enough memory size so
that more data can be stored inside of them.
Furthermore, the possibility of incorporating some additional tools like GPS, GSM technology
and so on is considered, and the project for implementing such a system has already started.
5.3 RECOMMENDATIONS
Every good engineering design innovation has limitations. This passive RFID based attendance
monitoring system is not without limitation as a data collection technology with accurate and
77
timely data entry. Hence, the limitation of this design would be improved upon in future by
considering the following recommendations:
By incorporating a facial recognition application that would serve to further increase the
biometric security of the system against impersonation by erring staff.
Adding a camera which will be connected to the system to take the pictures of employees during
registration rather than using the pictures saved on the system.
Usage of High Frequency (HF) active RFID tags against passive Low frequency (LF) RFID tags
for better performance and flexibility of users
REFERENCES
[1] Nambiar A.N, (2009), A supply chain perspective of RFID Systems, World Academy of
Science, Engineering and TechnologyJournal, Volume 6, pp1-5.
[2] Intermec Technologies Corp., "RFID Overview: Introduction to Radio Frequency
Identification, RFID Journal, 2006.
[3] RFID, 1 Oct. 2001;
www.aimglobal.org/technologies/rfid/resources/shrouds_of_time.pdf.
[4] The History of RFID Technology, RFIDJ., 20 Dec. 2005;
www.rfidjournal.com/article/articleview/1338/1/129.
[5] Identification Friend or Foe IFF Systems:IFF Questions & Answers, Dean Boys, 20 Dec.
2005; www.dean-boys.com/extras/iff/iffqa.html.
[6] H. Stockman, Communication by Means of Reflected Power, Proc. IRE, Oct. 1948,pp.
11961204.
[7] chalker, Jr, Spooner R.J(1982). Automated time and attendance systems. US Patent.
Dept. of Ordnance and Gunnery, US Naval Academy, Chapter 16: Radar and Optics, Naval
Ordnance and Gunnery, Vol. 2, FireControl, 1958;
www.eugeneleeslover.com/USNAVY/CHAPTER-16-A.html.
[8] Stair & Reynolds, 2001:105; Ratha et al., 2009:5
[9] RFID Journal. (2003). Gillette Confirms RFID Purchase. RFID Journal. Available at:
http://www.rfidjournal.com/article/articleview/258/1/1/.
[10] Krane, J. (2003). Benetton clothing to carry tiny tracking transmitters.Associated Press.
78
[11] Albrecht, K., and McIntyre, L. (2005). Spychips : How Major Corporations and Government
Plan to Track Your Every Move with RFID. Nelson Current Publishing.
[13] J. Schwieren1, G. Vossen, A Design and Development Methodology for Mobile RFID
Applications based on the ID-Services MiddlewareArchitecture, IEEE Computer Society,
(2009), Tenth International Conference on Mobile Data Management: Systems, Service and
Middleware.
[14] J. Bohn, Prototypical implementation of location-aware services based on a middleware
architecture for super-distributed RFID tag infrastructures, Pers Ubiquit omputing, (2008)
Journal 12:155-166
[15] Diaz, Raul (2007). "Biometrics: Security Vs Convenience". SecurityWorld Magazine.
Retrieved 30 August 2010.
[16] Jain, L.C. et al. (Eds.). 1999. Intelligent Biometric Techniques in Fingerprint and Face
Recognition. Boca Raton, FL: CRC Press.
[17] Digital Image Processing by Gonzalez, chapter 9.
http://www.fmrib.ox.ac.uk/~steve/susan/thinning/node2.html
[18] W.F. Leung, S.H. Leung, W.H. Lau and A. Luk, "Fingerprint Recognition Using
Neural Network", proc. of the IEEE workshop Neural Network for Signal Processing, pp.
226-235, 1991.
[19] A. Jain, L. Hong and R. Boler, Online Fingerprint Verification, IEEE trans, 1997,
PAMI-19, (4), pp. 302-314
[20] Introduction to Biometrics, http://ics1.mk.co.kr/file/cd104/biometrics1.pdf.
[21] L. Hong, Y. Wan, A.K. Jain, Fingerprint image enhancement: Algorithm and
performance evaluation, IEEE Trans. Pattern Anal. Machine Intell, 1998, 20 (8), 777
789.
[22] Q. Zhang and K. Huang, Fingerprint classification based on extaction and analysis of
singularities and pseudoridges, 2002
[23] http://www.owlnet.rice.edu/~elec301/Projects00/roshankg/elec301.htm
[24] A. Luk, S.H. Leung,A Two Level Classifier For Fingerprint Recognition, in Proc.
IEEE 1991 International Symposium on CAS, Singapore, 1991, pp. 2625-2628.
[25] "Guide to Fingerprint Recognition" Digital Persona, Inc. 720Bay Road Redwood City, CA 94063
USA, http://www.digitalpersona.com
[26] L. Hong, A.K. Jain,"Classification of Fingerprint Images",MSU Technical Report, MSU Technical
Report MSUCPS:TR98-18, June (1998).
79
id
department_
name
status
Column
Type
Nu
ll
int(11)
varchar(10
0)
enum('Activ
e',
'Inactive')
No
No
Fingerprint
1-4.
Defa
ult
processes
Engineering
ISSN 2229-
No
USA
Column
APPENDICES
id
staff_id
time_in
time_out
Column
id
attendanceDate
initiatedBy_id
APPENDIX A
Type
expected_time_
in
int(11)
expected_time_
date
out
int(11)
attendance_dat
e
Type
Nu
ll
int(11)
int(11)
varchar(
5)
varchar(
5)Null
varchar(
5)
No
varchar(
5)No
No
date
No
No
No
Defa
ult
No
No
Yes
Default
NULL
No
DATA DICTIONARY
Table structure for table
attendance days
Column
right_2
right_3
right_4
status
blob
id
first_name
middle_nam
e
last_name
gender
tel
blob
nationality
blob
marital_stat
enum('Active', 'Inactive')
us
email
staff_id
Type
Nul
l
int(11)
varchar(50)
varchar(50)
No
No
No
varchar(50)
enum('Male',
'Female')
varchar(20)
varchar(50)
enum('Singl
e', 'Married')
varchar(50)
varchar(100)
No
No
Yes
No
Yes
No
Yes
No
No
Defau
lt
Male
NULL
NULL
NULL
Single
Active
No
No
80
byte[] left_fing_1=null;
schedules
byte[] left_fing_2=null;
byte[] left_fing_3=null;
Column
id
mon
tue
wed
thur
fri
sat
sun
start_Time
end_time
Type
Null
byte[] left_fing_4=null;
Default
int(11)
tinyint(4)
tinyint(4)
tinyint(4)
tinyint(4)
tinyint(4)
tinyint(4)
tinyint(4)
varchar(5)
varchar(5)
No
byte[] right_fing_0=null;
No
No
byte[] right_fing_1=null;
No
No
byte[] right_fing_2=null;
No
No
byte[] right_fing_3=null;
No
No
byte[] right_fing_4=null;
No
byte[] left_temp_0 = null;
staff_ranks
Type
id
username
staff_id
password
access_level
status
Null
Default
int(11)
byte[] left_temp_4 = null; No
varchar(100)
No
enum('Active', 'Inactive')
byte[] right_temp_0 = null;No
Type
int(11)
byte[] right_temp_3 = null;
varchar(100)
int(11)
byte[] right_temp_4 = null;
varchar(50)
bool left_index_0 = false;
enum('Staff', 'Administrator')
enum('Active', 'Inactive')
bool left_index_1 = false;
APPENDIX B
users
Default
No
No
Yes
No
No
No
NULL
Staff
Active
using System;
using
System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
registering
employee
81
{
rad_l3.BackColor = Color.Green;
Console.Beep();
using
using
using
using
using
using
using
using
using
using
System.Threading;
System.Runtime.InteropServices;
System.IO;
System.Configuration;
System.Drawing.Imaging;
System.Data.EntityClient;
MySql.Data.MySqlClient;
Microsoft.VisualBasic;
MessagingToolkit.QRCode.Codec;
MessagingToolkit.QRCode.Codec.Data;
using Sample.Reports;
namespace Sample
{
public partial class MainFrm: Form
{
bool gConnected = false;
byte[] g_FPBuffer;
int g_FPBufferSize = 0;
bool g_bIsTimeToDie = false;
IntPtr g_Handle = IntPtr.Zero;
IntPtr g_biokeyHandle = IntPtr.Zero;
IntPtr g_FormHandle = IntPtr.Zero;
int g_nWidth = 0;
int g_nHeight = 0;
bool g_IsRegister = false;
int g_RegisterTimeCount = 0;
int g_RegisterCount = 0;
const int REGISTER_FINGER_COUNT = 3;
}
else
rad_l3.BackColor = Color.FromArgb(64, 0, 0);
if (left_temp_4 != null)
{
rad_l4.BackColor = Color.Green;
Console.Beep();
}
else
rad_l4.BackColor = Color.FromArgb(64, 0, 0);
//right finger
if (right_temp_0 != null)
{
rad_r0.BackColor = Color.Green;
Console.Beep();
}
else
rad_r0.BackColor = Color.FromArgb(64, 0, 0);
if (right_temp_1 != null)
{
rad_r1.BackColor = Color.Green;
Console.Beep();
}
else
rad_r1.BackColor = Color.FromArgb(64, 0, 0);
if (right_temp_2 != null)
{
rad_r2.BackColor = Color.Green;
Console.Beep();
}
else
rad_r2.BackColor = Color.FromArgb(64, 0, 0);
[DllImport("user32.dll", EntryPoint =
"SendMessageA")]
public static extern int SendMessage(IntPtr hwnd,
int wMsg, IntPtr wParam, IntPtr lParam);
string image_path;
if (right_temp_3 != null)
{
rad_r3.BackColor = Color.Green;
Console.Beep();
}
else
rad_r3.BackColor = Color.FromArgb(64, 0, 0);
byte[] left_fing_0=null;
//byte[] right_img_3=null;
bool right_index_4 = false;
public MainFrm()
{
InitializeComponent();
//ORM = new partimanagerEntities();
}
string getRawConstr()
{
82
string rawConstr="";
if (constr != "")
{
rawConstr = constr.Trim();
rawConstr = rawConstr.Trim('"');
}
return rawConstr;
}
string ExistingVerifiable_MembershipID = "";
void BeepVerify()
{
//if (!
Information.IsDBNull(bioRow["membershipID"]))
//ExistingVerifiable_MembershipID =
bioRow["membershipID"].ToString();
if (!Information.IsDBNull(bioRow["left_0"]))
{
ret =
ZKFinger10.BIOKEY_VERIFY(g_biokeyHandle,
(byte[])bioRow["left_0"], g_VerTmp);
if (ret > 0)
{
ExistingVerifiable_MembershipID =
bioRow["staff_id"].ToString();
= false;
left_temp_0 = (byte[])bioRow["left_0"];
//currentRad = rad_l0;
break;
if (left_temp_0 != null)
{
rad_l0.BackColor = Color.Green;
Console.Beep();
}
else
{
}
else
rad_l0.BackColor = Color.FromArgb(64, 0, 0);
}
if (left_temp_1 != null)
{
rad_l1.BackColor = Color.Green;
Console.Beep();
}
else
rad_l1.BackColor = Color.FromArgb(64, 0, 0);
if (left_temp_2 != null)
{
rad_l2.BackColor = Color.Green;
Console.Beep();
}
else
rad_l2.BackColor = Color.FromArgb(64, 0, 0);
if (left_temp_3 != null)
if (right_temp_4 != null)
{
rad_r4.BackColor = Color.Green;
Console.Beep();
// txtMembershipID
//currentRad = null;
left_temp_0=null;
}
if (!Information.IsDBNull(bioRow["right_0"]))
{
ret =
ZKFinger10.BIOKEY_VERIFY(g_biokeyHandle,
(byte[])bioRow["right_0"], g_VerTmp);
if (ret > 0)
{
ExistingVerifiable_MembershipID =
bioRow["staff_id"].ToString();
right_temp_0 =
(byte[])bioRow["right_0"];
//currentRad = rad_r0;
break;
}
else
right_temp_0 = null;
//currentRad = null;
}
if (!Information.IsDBNull(bioRow["left_1"]))
{
ret =
ZKFinger10.BIOKEY_VERIFY(g_biokeyHandle,
(byte[])bioRow["left_1"], g_VerTmp);
if (ret > 0)
{
}
else
rad_r4.BackColor = Color.FromArgb(64, 0, 0);
}
MySqlTransaction dbTran;
int DbVerify()
{
83
// currentRad = null;
ExistingVerifiable_MembershipID = "";
txtPrompt.Text = "Please put your finger on the sensor";
//clearRadios();
int ret = 0;
try
{
//Get Raw connectionstring\
MySqlConnection BioCon = new MySqlConnection(getRawConstr());
MySqlDataAdapter AdapBioData = new MySqlDataAdapter("SELECT * FROM employees
WHERE rfid_code=@rfid_code and staff_id IS NOT NULL", BioCon);
AdapBioData.SelectCommand.Parameters.AddWithValue("@rfid_code", txtRFID.Text);
DataTable dtBiodata = new DataTable();
AdapBioData.Fill(dtBiodata);
// int counter=BioData.Count();
left_temp_0 = null;
left_temp_1 = null;
left_temp_0 = null;
left_temp_2 = null;
left_temp_3 = null;
left_temp_4 = null;
right_temp_0
right_temp_1
right_temp_2
right_temp_3
right_temp_4
=
=
=
=
=
null;
null;
null;
null;
null;
84
ExistingVerifiable_MembershipID =
bioRow["staff_id"].ToString();
left_temp_1 =
(byte[])bioRow["left_1"];
//currentRad = rad_l1;
break;
}
else
left_temp_1 = null;
//currentRad = rad_l1;
}
if (!
Information.IsDBNull(bioRow["right_1"]))
{
ret =
ZKFinger10.BIOKEY_VERIFY(g_biokeyHa
ndle, (byte[])bioRow["right_1"],
g_VerTmp);
if (ret > 0)
{
ExistingVerifiable_MembershipID =
bioRow["staff_id"].ToString();
right_temp_1 =
(byte[])bioRow["right_1"];
//currentRad = rad_r1;
break;
}
else
right_temp_1 = null;
//currentRad = null;
}
//End first fingers
if (!
Information.IsDBNull(bioRow["left_2"]))
{
ret =
ZKFinger10.BIOKEY_VERIFY(g_biokeyHa
ndle, (byte[])bioRow["left_2"],
g_VerTmp);
if (ret > 0)
{
break;
}
else
right_temp_2 = null;
//currentRad = null;
}
}
ExistingVerifiable_MembershipID =
bioRow["staff_id"].ToString();
}
left_temp_2 = (byte[])bioRow["left_2"];
//currentRad.BackColor
= Color.Green;
//currentRad = rad_l2;
}
break;
catch (MySqlException
yi) {
}
MessageBox.Show(this,
yi.Message, "Error",
else
left_temp_2 = null;
MessageBoxButtons.RetryCancel,
//currentRad
MessageBoxIcon.Error);
} = null;
}
}
ret =
ZKFinger10.BIOKEY_VERIFY(g_biokeyHandle,
(byte[])bioRow["left_3"], g_VerTmp);
void PassFingersBLOB(byte[]
bio_print)
if (ret > 0)
{
{
//MySqlConnection
dbConnect=new =
ExistingVerifiable_MembershipID
bioRow["staff_id"].ToString();
MySqlConnection();
left_temp_3
= (byte[])bioRow["left_3"];
MySqlCommand
FingCommand
= new
//currentRad = rad_l3;
MySqlCommand();
break;
FingCommand.Connection
= dbConnect;
}
//FingCommand.CommandTimeout
=
else
200;
left_temp_3 = null;
//currentRad = null; = dbTran;
FingCommand.Transaction
}
if (left_index_0
== true)
if (!Information.IsDBNull(bioRow["left_4"]))
this.left_fing_0
= bio_print;
{
ret =
ZKFinger10.BIOKEY_VERIFY(g_biokeyHandle,
if (txtMembershipID.Text != "")
(byte[])bioRow["left_4"],
g_VerTmp);
{
tryif (ret > 0)
{
{
ExistingVerifiable_MembershipID =
if (dbConnect.State ==
bioRow["staff_id"].ToString();
ConnectionState.Closed)
left_temp_4 = (byte[])bioRow["left_4"];
//currentRad
= rad_l4;
dbConnect.Open();
break;
}
FingCommand.CommandText =
else
"update employees
set left_0=@left_0
where
left_temp_4
= null;
staff_id=@staff_id";
//currentRad = null;
}
FingCommand.Parameters.AddWithValue("@left_
0", this.left_fing_0);
//Verify the rest of right fingers
if (!Information.IsDBNull(bioRow["right_2"]))
FingCommand.Parameters.AddWithValue("@staff
{
_id", txtMembershipID.Text.Trim());
ret =
ZKFinger10.BIOKEY_VERIFY(g_biokeyHandle,
int comit =
(byte[])bioRow["right_2"],
g_VerTmp);
FingCommand.ExecuteNonQuery();
if (ret > 0)
{
ExistingVerifiable_MembershipID =
FingCommand.ExecuteNonQuery();
bioRow["staff_id"].ToString();
//dbTran.Commit();
right_temp_2 = (byte[])bioRow["right_2"];
rad_l0.BackColor
= Color.Green;
//currentRad = rad_r2;
Console.Beep();
if (!
Information.IsDBNull(bioRow["right_3"]))
{
85
g_VerTmp);
if (ret > 0)
{
ExistingVerifiable_MembershipID = bioRow["staff_id"].ToString();
right_temp_3 = (byte[])bioRow["right_3"];
//currentRad = rad_r3;
break;
}
else
right_temp_3 = null;
//currentRad = null;
}
g_VerTmp);
if (!Information.IsDBNull(bioRow["right_4"]))
{
ret = ZKFinger10.BIOKEY_VERIFY(g_biokeyHandle, (byte[])bioRow["right_4"],
if (ret > 0)
{
ExistingVerifiable_MembershipID = bioRow["staff_id"].ToString();
right_temp_4 = (byte[])bioRow["right_4"];
//currentRad = rad_r4;
break;
}
else
right_temp_4 = null;
//currentRad = null;
APPENDIX C
screenshots of the system
86
87
89