Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Hybrid Attendance Management System Using Rfid and Biometric Technology

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 89
At a glance
Powered by AI
RFID technology uses radio waves to transfer data from an electronic tag to a reader for identification purposes. The proposed system aims to use RFID tags and readers to track employee attendance and address current issues with manual tracking.

RFID (Radio Frequency Identification) is a technology that uses radio waves to transfer data from an electronic tag to a reader to uniquely identify objects. In the proposed system, RFID tags will be used on employee cards to track their attendance by reading the tags with a reader.

The general objectives are to contribute to ICT knowledge and develop an efficient attendance system. The specific objectives are to design, develop, and implement an attendance management system for the ministry that includes a database to store employee records and fingerprints for authentication.

PART 1

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.

1.1 FIELD AND SUBJECT AREA OF STUDY


The field of study is Information technology and my subject area of study is Software
Development.

1.2 STUDY OBJECTIVES


The study objectives are grouped into two:
1.2.1 General Objectives:
The proposed research, RFID based attendance management system for Rivers State Ministry of
Commerce and Industry in the public sector, is targeted not only to contributing to the general
knowledge of ICT but to develop an efficient system to maximize the effective use of modern
data approach to management practices in terms of attendance.
The main objective of the system is to uniquely identify a person in a secure way through the use
of RFID technology. The system will store employees basic information and monitor their
1

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:

To design and develop an Attendance Management System in the public sector,

specifically Rivers State Ministry of Commerce and Industry.


To develop a database that will store employees records and basic information.
To include a biometric fingerprint feature into the system for authentication and security

purposes.
To monitor and generate attendance reports on the employees at certain stages of work
(weekly, monthly or annually).

1.3 PROBLEM STATEMENT


Currently, one of the major problems being faced by the Rivers State Ministry of Commerce and
Industry is the time consuming manual attendance.
The current manual system of taking attendance is done by signing a ruled notebook called the
attendance book which is placed at the reception for all employees to sign in upon arrival.
According to a worker at the ministry, the employees are supposed to sign in upon their arrival
and sign out when leaving but the staff do not bother to sign out.
Some employees do not go to work rather they ask a colleague to sign in for them and they easily
get away with not coming to the office.
Due to the large number of civil servants in the ministry, it is very difficult to keep track of the
attendance of each worker.
The attendance books used over the years are stored in a file room and this is no longer a modern
way of storing data. It also makes it very difficult to retrieve a particular employees attendance
record.
The proposed system is going to solve this problem by using RFID technology. Radio
Frequency Identification (RFID) is an automatic identification method, relying on storing and

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.

Fig 1.1.1- Waterfall Model [29]

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.

1.5 BACKGROUND AND JUSTIFICATION OF PROJECT


1.5.1 Background Statement
In a developing country such as Nigeria, lots of latest technologies such as RFID, Bluetooth and
so on are being introduced and developed and it is therefore important for organizations to adapt
to these technologies in order to improve their quality of workers and management.
The Rivers State Ministry of Commerce and Industry currently uses the manual method of
attendance which requires employees to write their names, time of arrival and signature upon
entry into the organization. This system lacks automation, where a number of problems may
arise. Having a system that can automatically capture employees attendance by flashing their
cards to the RFID reader can really save time and troubles

1.5.2 Justification of study


4

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.

1.6 EXPECTED OUTCOME OF THE PROJECT


The expected outcome of this project is to develop an efficient attendance management system
using both biometric fingerprint and RFID technology for the Rivers State Ministry of
Commerce and Industry which would be able to accurately maintain records of their employees
attendance.

1.7 SAFETY, ENVIRONMENTAL AND ECONOMIC ASPECTS


The proposed system is economically feasible because the cost involved in purchasing the
hardware and the software is almost negligible as compared to the man-hours lost due to
employee lateness and absenteeism, which results in loss of revenue. Cost such as salaries of
employees hired to operate this system are also nominal, because working with this system does
not require a highly qualified professional. The operating-environment costs are marginal. The
less time involved also helps in its economic feasibility.

1.8 PROJECT IMPLEMENTATION SCHEDULE


5

The proposed system, as planned for, would be completed in two parts:

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:

Fig1.1.2: Project Timelines

1.9 PRESENTATION OF THESIS


6

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.

2.2 ORGANIZATIONAL BACKGROUND


The Rivers State Ministry of Commerce and Industry is responsible for the regulation,
development, and promotion of Rivers States trade and commerce through formulation of
international trade, commercial and industrial policies and implementations of the various
provisions thereof.
The basic role of the ministry is to facilitate the creation of an enabling environment and
infrastructure for accelerated growth of both local and international trade. The ministry
formulates implements and monitors trade policies which provide the basic framework of policy
and strategy to be followed for promoting exports and trade. The Trade policy is periodically
reviewed to incorporate changes necessary to take acre of emerging economic scenarios both in
the domestic and international economy.
The Ministry is also entrusted with the responsibilities of multilateral and bilateral commercial
relations, state trading, export promotion, trade facilitation & development and regulation of
certain export oriented industries and commodities.

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.

2.2.1 DEPARTMENT OF COMMERCE


The department is entrusted with formulating and implementing local and foreign
trade policy and responsibilities relating to multilateral and bilateral commercial relations, state
trading, export promotion measures, and development and regulation of certain export oriented
industries and commodities.
In order for the smooth functioning, the Department is divided into eight divisions:

Administrative and General Division

Finance Division

Economic Division

Trade Policy Division

Foreign Trade Territorial Division

State Trading & Infrastructure Division

Supply Division

Plantation Division

The subjects under the administrative control of the Department include:

International trade

State trading

Management of the States Trade Services

2.2.2 DEPARTMENT OF INDUSTRIAL POLICY & PROMOTION


This department is responsible for formulation and implementation of promotional and
developmental measures for growth of the industrial sector, keeping in view the national
priorities and socio-economic objectives. While individual administrative ministries look after
the production, distribution, development and planning aspects of specific industries allocated to
them, Department of Industrial Policy & Promotion is responsible for the overall Industrial
Policy.
Policy and Promotion is also responsible for intellectual property rights relating to patents,
designs, trademarks, and geographical indication of goods and oversees the initiative relating to
their promotion and protection.

2.3 THE IMPORTANCE OF ATTENDANCE MANAGEMENT


Attendance management is important to every single organization; it can determine whether or
not a business will be successful in the future. Businesses will have to keep a track of employees,
this being their main concern and a lot of other things.
Monitoring attendance helps in the long term for a business, as an employer will be able to tell
which employees arrive early, which arrive late and who has the most absences without any valid
reason. This could help an employer in deciding which employees are most suitable to work in
the business, having employees who arrive to work on time means that the day-to-day tasks of
the organization will be fulfilled.

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.

2.3.1 REWARDING EMPLOYEES WITH GOOD ATTENDANCE

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.

2.3.2 THE EFFECTS OF ABSENCES IN ATTENDANCE MANAGEMENT

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.

2.3.3 HOW ATTENDANCE IS TAKEN

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

No back-up data exist of commencing and ending times.

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

No verification exist on captured time;

register and the employee

Time consuming task when it needs to be


replaced
Register is easy to destroy
No protection against theft

13

2.3.4 THE NEED FOR AUTOMATED ATTENDANCE MANAGEMENT IN RIVERS STATE


MINISTRY OF COMMERCE AND INDUSTRY

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

2.4 LITERATURE REVIEW OF RELATED WORKS


A number of related works exist in literature, application of RFID Technology to different areas
and specifically to the area of attendance monitoring problems.
In Implementation of an Improved secure system detection for E passport by using EPC
RFID tags, World Academy of Science, Engineering and Technology Journal, Volume 6,pp15.], authors Mohamed A.B, Abdel-Hamid A and Mohamed K.Y designed and implemented a
model of a secured and portable embedded reader system to read the biometric data from the
electronic passport. The authors attempted to solve problems of reliability, security and privacy
in E-passports by authenticating holder online using Global System of Mobile Communications
(GSM) network. The GSM network is the main interface between identification center and the epassport reader. The communication data is protected between server and e-passport reader by
using AES to encrypt data for protection while transferring through GSM network.

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

2.5 RADIO FREQUENCY IDENTIFICATION (RFID) TECHNOLOGY


RFID stands for Radio Frequency Identification, which is a wireless communication technology
that is used to uniquely identify tagged objects or people. RFID systems have been widely used
in many application areas, such as inventory control, product tracking through manufacturing
and assembly, parking lot access and control, container or pallet tracking, ID badges and access
control, equipment or personnel tracking in hospitals, etc.[1,3]
RFID systems use radio waves to transmit information from an integrated circuit tag through a
wireless communication to a host computer. These systems consist of three components that are
the tag (transponder), the reader (interrogator) and the host computer (controller).
16

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

2.5.1 EVOLUTION OF RFID TECHNOLOGY

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.

2.5.2 SOME OF TODAYS APPLICATIONS OF RFID:

Supply chain management


Stores and libraries have used electronic article surveillance, a 1-bit form of RFID for theft
control, since the 1960s. EAS tags indicate whether an item has been bought or properly checked
out; a clerk will usually deactivate the tag at checkout. By extension, RFID tags are basically
EAS tags augmented with additional data storage and processing. Low-cost RFID tags promise
to expedite supply chain processes, from moving goods through loading docks to managing the
terabytes of data collected from these goods.
The US Department of Defense and various retailers are already conducting RFID trials at the
pallet, case and item levels. Wal-Mart even issued a mandate requiring its top 600 suppliers to
adopt pallet-level RFID tagging in January 2007
Automatic payment
Automatic payment is another popular RFID application. Various industry sectors have
conducted trials of RFID-enhanced cashless payment technology, from RFID-augmented credit
cards and public transportation tickets to RFID-like Near Field Communication in consumer
devices.
Electronic toll collection using E-Z Pass is widespread. E-Z Pass is a car tracking with RFID
tagged license plate or windshield. The active E-Z Pass transponder attaches to a cars
windshield or front license plate; as the car drives over a toll road, the transponder sends account
information to equipment in the toll collection lanes. The toll then automatically deducts from a
19

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]

2.5.3 THE EVOLUTION

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

2.6 COMPONENTS OF RADIO FREQUENCY IDENTIFICATION SYSTEM


RFID has the following main components and Fig 2.1.1 shows the basic components of RFID
systems and concepts.

RFID Tag
RFID Reader
RFID Antenna
The Middleware
PC /Database

Fig 2.1.1- components of RFID system [3]

2.6.1 RFID TAGS


22

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).

Fig 2.1.2 Different types of RFID tags

2.6.2 RFID READER


23

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]

2.6.4 THE MIDDLEWARE


24

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]

2.6.5 BACKEND DATABASE

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]

2.7 SOFTWARE DEVELOPMENT KIT (SDK)


A Software Development Kit (SDK) is typically a set of development tools that allows a
software engineer to create applications for a certain software package, software framework,
hardware platform, computer system, video game console, operating system, or similar platform.
It may be something as simple as an application programming interface in the form of some files
to interface to a particular programming language or include sophisticated hardware to
communicate with a certain embedded system.
Common tools include debugging aids and other utilities often presented in an IDE. SDKs also
frequently include sample code and supporting technical notes or other supporting
documentation to help clarify points from the primary reference material.
A fingerprint SDK is a software toolkit that allows the integration of biometric fingerprint
recognition into various applications. They will typically utilize either DLL or ActiveX (COM)
25

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.

2.7.1 ZK FINGER SOFTWARE DEVELOPMENT KIT

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.

2.7.2 ZK FINGER SDK FEATURES:

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

256 or 1024 bytes


Allows 1:1Verification capability with a stored fingerprint template.
Makes use of the DRAM memory for 1: N Matching. Normally, all the stored templates

are buffered into the RAM memory for quick 1: N Matching.


ZK Finger SDK currently supports many OS platforms, for development purposes,
sample source codes in Visual C++ 6.0, C++ Builder 5.0, Visual Basic 6.0, and Delphi
5.0 are provided, the use of (DLL) and ActiveX components are all demonstrated using
the ZK Finger SDK program samples.
26

2.8 ACTIVE X CONTROL


Active X Control is a term used to denote reusable software components that are based on
Microsoft Component Object Model (COM). Active X controls provides encapsulated reuse
functionality to programs and they are typically but not always visual in nature.
Example, an Active X control might implement a spreadsheet functionality similar to Microsoft
Excel, which would be visual in nature, but it might also implement a functionality to upload or
download files from a file transfer protocol, FTP site which is not visual in nature unless it
incorporates some sort of download progress display.

2.9 BIOMETRIC IDENTIFICATION


Biometrics can be explained as a field of science that uses computer technology to identify
people based on physical or behavioral characteristics, such as fingerprints and voice scans.
"Bio" in the name refers to the living physiological traits that are measured, while "metrics"
refers to the quantitative analysis that provides a positive identification of a unique individual
Biometrics can be clarified by, identification, verification and time. Identification and
verification are positioned in contrast to one another whereby identification is also known as 1:N
matching - a process whereby one fingerprint obtained from a biometric scan is compared
against a database of templates to determine the correct template. This process can also confirm
if any of the prints exist within the database.

2.9.1 HOW BIOMETRIC IDENTIFICATION WORKS

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

Biometrics uses six major identification or verification operations, namely:


i
ii
iii
iv
v
vi

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.

vi. Signature verification

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

Biometric identifications may violate privacy.[5,8]

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.

Fig 2.1.3- Minutiae of Fingerprint [15]

Terminations are the points at which a ridge stops.


Bifurcations are the point at which one ridge divides into two.
Dots are very small ridges.
32

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.

Fig 2.1.4- Different minutiae patterns [15]

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:

Fingerprint patterns cannot be forged or gotten like a password.


Fingerprints cannot be forgotten like a password.
The physical attributes of fingerprints are much hader to fake than identity cards.
Fingerprints cannot be misplaced like an access card.

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.

2.9.5 FINGERPRINT MATCHING

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]

2.9.6 FINGERPRINT SCANNER

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]

2.0.0 MICROSOFT VISUAL STUDIO


Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is
used to develop computer programs for Microsoft Windows, as well as web sites, web
applications and web services. Visual Studio uses Microsoft software development platforms
such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store
and Microsoft Silverlight. It can produce both native code and managed code.
Visual Studio includes a code editor supporting IntelliSense as well as code refactoring. The
integrated debugger works both as a source-level debugger and a machine-level debugger. Other
built-in tools include a forms designer for building GUI applications, web designer, class
designer and database schema designer. It accepts plug-ins that enhance the functionality at
almost every level including adding support for source-control systems and adding new toolsets
like editors and visual designers for domain-specific languages or toolsets for other aspects of
the software development lifecycle.
Visual Studio supports different programming languages and allows the code editor and
debugger to support nearly any programming language, provided a language-specific service
exists. Visual Studio supports languages by means of language services, which allow any
programming language to be supported by the code editor and debugger. It also provides a
language-specific service has been authored including:
C++ (via Visual C++)
VB.NET (via Visual Basic .NET)
C# (via Visual C#).

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

Fig 3.1.1- The Process Flow Chart For The Project

START

DEFINE PROJECT
OBJECTIVES

RESEARCH AND
LITERATURE REIVIEW

GET FAMILIAR WITH


VB2012 AND C#

SOFTWARE CODING
AND GUI DESIGN

TEST THE SYSTEM

INTEGRATE WITH
HARDWARE
TEST THE SYSTEM

TROUBLESHOOT

FINAL TESTING & IMPLEMENTATION

40
STOP

3.2 CURRENT SYSTEM (Manual System)


Through the information gathered during a brief interview with an employee of the Rivers State
Ministry of Commerce And Industry, it was revealed that the organization currently has no
automated attendance system which means that , the current management is paper-based
meaning every detail are written down manually on paper.
The employees record their attendance by writing their details in a book upon arrival every
morning and with the large amount of workers in the organization, it is a very difficult task for
the supervisors of the departments to manage the attendance records.
In addition, every work is done manually include the calculations to generate report. This is quite
a hard task and it may cause calculations errors and contribute to the repetitions of work. The
repetition of work is time consuming and the generated reports must be checked many times to
ensure that the report is accurate. Moreover the loss of a single record may lead to difficulty of
report generation during the end of months or year.

3.3 THE PROPOSED SYSTEM (Overview)


The Attendance system is based on the working principles of the combination of both RFID and
Biometric system, using Visual Studio 2012, as an IDE (Integrated Development Environment)
to develop and run the system. The Attendance system works in such a format that RFID Tags
which have unique numbers (identities) are matched to an employee. This means that each
employee is given an RFID card that is unique to him/her. Passive RFID Tags were chosen
because they dont need a power source to operate, as they are stimulated when they get close to
the electromagnetic field created by the RFID reader.
This Attendance system operates in such a way that when an employee passes the RFID tag close
to the RFID reader, the number associated with the tag is captured by the reader, and sent to the
application, which displays the employees details in the database, also displaying the
employees picture for verification, the system will furthermore need to scan the employees
finger print for authentication and then record the time of attendance in the database.
The flowchart of the system is shown below
41

START

READ EMPLOYEE
CARD/TAGS

No

Enrolled?

Yes
VERIFY EMPLOYEE
FINGERPRINT

No

Enroll New Employee


Bio-Data and details
registered

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

Fig 3.1.2- Flowchart of the proposed attendance system using


RFID and Biometric technology

3.4 SYSTEM DEVELOPMENT


42

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.

3.5 HARDWARE DESIGN CONSIDERATIONS


The hardware components required for the development of this attendance management system
are:
RFID tag
RFID reader
Biometric fingerprint scanner

3.5.1 RFID TAG


In RFID systems, a tag consists of a silicon device and antenna circuit. The purpose of the
antenna circuit is to induce an energizing signal and to send a modulated RF signal. The read
range of tag largely depends upon the antenna circuit and size. The tag can be mobile or
stationary and be scanned by stationary or mobile readers respectively, using radio waves. The
tag can be encoded with a unique identifier, allowing tagged items to be individually identified
by the reader. In each scanning case, a reader must scan the tag for the data it contains and then
send that information to a database, which interprets the data stored on the tag. The tag, reader,
and database are the key components of an RFID system.[9]
Different Types of RFID
There are several versions of RFID that operate at different radio frequencies. The choice of
frequency is dependent on the business requirements and read environment. Three primary
frequency bands are being used for RFID:
_ Low Frequency (125/134KHz) Most commonly used for Attendance & access control,
_ High -Frequency (13.56 MHz) Used where medium data rate and read ranges up to about
1.5 meters are acceptable. This frequency also has the advantage of not being susceptible to
interference from the presence of water or metals.

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

3.5.2 RFID READER


RFID reader is used to activate passive tag with RF energy and to extract information from the
tag. For this function, the reader includes RF transmission receiving and data decoding sections.
In addition, the reader includes a serial communication (RS-232) capability to communicate with
the host computer.
This system will be designed with CR10 RFID Series which are designed to read (CR10E/M) &
write (CR10M/W) proximity cards. They are connected to PC through USB Port (Plug & play).
They allow high speed transactions and incorporate LED indicators.CR10M/W includes
communication protocol for development and its compatible with Windows O.S 32 bits. CR10E
and CR10M are compatible with all kind of windows O .S and reads the same serial number as
ZK Software devices. The CR10 RFID module at its core generates a magnetic field through its
integrated antenna at 125 kHz, or 134 kHz. The Passive tags also have an in-built antenna that
tunes to the same frequency. When the tag comes near the range of the reader module, it draws
power form the electromagnetic field to power itself. Once powered, they modulate the magnetic
field which is detected by the RFID reader. This way, the Tags transmit their data to the Reader
module.[28]
.

Fig 3.1.3- Connectivity diagram between a ZK CRI0E reader and a computer [28]

45

3.5.3 FINGERPRINT SCANNER


Fingerprint scanner which captures the image will be connected to a personal computer which:
houses the database, runs the comparison algorithm and simulates the application function. The
fingerprint scanner will be connected to the computer via its USB interface.
There are 2 types of fingerprint scanners; capacitive scanners and optical scanners. For this
project the fingerprint reader to be used is the optical scanner. Optical fingerprint capture devices
have the longest history and use of these categories, dating back to the 1970s. Optical fingerprint
imaging involves capturing a digital image of the print using visible light. This type of sensor is,
in essence, a specialized digital camera. The top layer of the sensor, where the finger is placed, is
known as the touch surface. Beneath this layer is a light-emitting phosphor layer which
illuminates the surface of the finger. The light reflected from the finger passes through the
phosphor layer to an array of solid state pixels (a charge-coupled device) which captures a visual
image of the fingerprint. A scratched or dirty touch surface can cause a bad image of the
fingerprint.
A disadvantage of this type of sensor is the fact that the imaging capabilities are affected by the
quality of skin on the finger. For instance, a dirty or marked finger is difficult to image properly.
Also, it is possible for an individual to erode the outer layer of skin on the fingertips to the point
where the fingerprint is no longer visible. It can also be easily fooled by an image of a fingerprint
if not coupled with a "live finger" detector. However, unlike capacitive sensors, this sensor
technology is not susceptible to electrostatic discharge damage

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]

Fig 3.1.5- How fingerprint is captured with Optical scanners [17]

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]

3.5.4 FINGERPRINT MATCHING


There are a number of different strategies through which fingerprint identification can be done,
among which verification through minutia points is the most simple and easy [15].
ZK Finger SDK categorization method:
Fingerprints are divided mainly into 5 categories: Arch, left loop, right loop, tented arch, whorl,
if categorization is used in the first instance, the matching speed will be greatly increased.
Arch: Fingerprint lines start from side of the finger and end at the other side, do not return and on
the core points and delta point.
Tented Arch: Like an arch fingerprint, but graphic Center upward rise in the vertical direction,
equivalent to a core and a delta on the same vertical line.
Left Loop: To the left is Left Loop. There is a core and a delta at the lower left.
Right Loop: To the right is Right Loop. There is a Core and a delta at the lower right.
Whorl: At least one fingerprint stripe rotate into a closed curve around the center, there are two
core points in center, a triangular point on each side when the cores are not in the same vertical
line, here will form a double helix [26]
48

.
ARCH

LEFT LOOP

RIGHT LOOP

WHORL

TENTED ARCH

Fig 3.1.6- The 5 categories of fingerprints [26]

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.

3.5.4.1 Minutiae based matching algorithm


Minutiae and patterns are very important in the analysis of fingerprints since no two fingers have
been shown to be identical.

Fig 3.1.7- Minutiae matching [25]

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]

Fig 3.1.8 Diagram showing ridge endings and bifurcations [21]

50

The building blocks of a fingerprint recognition system are:

IMAGE
ACQUISITI
ON

EDGE
DETECTIO
N

THINNING

FEATURE
EXTRACTIO
N

CLASSIFI
ER

Fig 3.1.9- Building blocks of fingerprint recognition [25]

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]

3.6 SOFTWARE DESIGN CONSIDERATIONS


3.6.1 SOFTWARE DEVELOPMENT MODEL: Waterfall Model
Waterfall development is a software development model involving a phased progression of
activities, marked by feedback loops, leading to the release of a software product.
It's a framework for software development in which development proceeds sequentially through
a series of phases, starting with system requirements analysis and leading up to product release
and maintenance. Feedback loops exist between each phase, so that as new information is
uncovered or problems are discovered, it is possible to go back a phase and make appropriate
modification. Progress flows from one stage to the next, much like the waterfall that gives the
model its name.
The waterfall model is very simple to understand and use. In this model, each phase must be
completed fully before the next phase can begin. This type of model is basically used for the
project which is small and there are no uncertain requirements. At the end of each phase, a
review takes place to determine if the project is on the right path and whether or not to continue
or discard the project. In this model the testing starts only after the development is complete.
In waterfall model phases do not overlap.[29]

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.

3.6.3 Disadvantages of waterfall model


Once an application is in the testing stage, it is very difficult to go back and change something
that was not well-thought out in the concept stage.

No working software is produced until late during the life cycle.

High amounts of risk and uncertainty.

Not a good model for complex and object-oriented projects.

Poor model for long and ongoing projects.

Not suitable for the projects where requirements are at a moderate to high risk of
changing.
57

3.6.4 When to use the waterfall model:

This model is used only when the requirements are very well known, clear and fixed.

Product definition is stable.

Technology is understood.

There are no ambiguous requirements

Ample resources with required expertise are available freely

The project is short.

3.6.5 APPLICATION PROGRAM


The application program is going to be developed with Microsoft C# programming language
using Microsoft visual Studio 2012 is an IDE (Integrated Development Environment), and it will
provide a user interface for the Attendance Management System.
The advantages of Microsoft C# programming language are its robustness, easy to program, has
an excellent database connectivity, runs on the two most common operating system platforms
(Windows and Unix) and it has a larger user community that provides online support.
Programming in Visual C# provides the user with the ability to utilize a combination of visually
arranged components or controls on a form, specifying attributes and actions of those
components, and writing additional lines of code for more functionality.
The GUI will be developed using C# programming language in the Microsoft visual studio 2012
IDE. The GUI developed will contain the registration menu to store basic information of the
employees such as name, department, picture and most importantly, the fingerprint into the
database. The system will be designed to successfully store and retrieve the data stored in the
database.

3.6.6 DATABASE DEVELOPMENT


Database consists of all the recorded data in different fields. In the attendance management
system, the back end of the software, which is the database, will be developed using MySQL.
58

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

3.6.7 ADVANTAGES OF USING MYSQL IN DATABASE DEVELOPMENT


Scalability and flexibility
The MySQL database server provides the ultimate in scalability, sporting the capacity to handle
deeply embedded applications with a footprint of only 1MB to running massive data warehouses
holding terabytes of information. Platform flexibility is a stalwart feature of MySQL with all
flavors of Linux, UNIX, and Windows being supported. And, of course, the open source nature
of MySQL allows complete customization for those wanting to add unique requirements to the
database server.
High Performance
A unique storage-engine architecture allows database professionals to configure the MySQL
database server specifically for particular applications, with the end result being amazing
performance results. Whether the intended application is a high-speed transactional processing
system or a high-volume web site that services a billion queries a day, MySQL can meet the most
demanding performance expectations of any system. With high-speed load utilities, distinctive
memory caches, full text indexes, and other performance-enhancing mechanisms, MySQL offers
all the right ammunition for today's critical business systems.

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

Comprehensive Application Development


One of the reasons MySQL is the world's most popular open source database is that it provides
comprehensive support for every application development need. Within the database, support can
be found for stored procedures, triggers, functions, views, cursors, ANSI-standard SQL, and
more. For embedded applications, plug-in libraries are available to embed MySQL database
support into nearly any application. MySQL also provides connectors and drivers (ODBC,
JDBC, etc.) that allow all forms of applications to make use of MySQL as a preferred data
management server. It doesn't matter if it's PHP, Perl, Java, Visual Basic, or .NET, MySQL offers
application developers everything they need to be successful in building database-driven
information systems.
Management Ease
MySQL offers exceptional quick-start capability with the average time from software download
to installation completion being less than fifteen minutes. This rule holds true whether the
platform is Microsoft Windows, Linux, Macintosh, or UNIX. Once installed, self-management
features like automatic space expansion, auto-restart, and dynamic configuration changes take
much of the burden off already overworked database administrators. MySQL also provides a
complete suite of graphical management and migration tools that allow a DBA to manage,
troubleshoot, and control the operation of many MySQL servers from a single workstation. Many
third party software vendor tools are also available for MySQL that handle tasks ranging from
data design and ETL, to complete database administration, job management, and performance
monitoring.
Lowest Total Cost of Ownership
By migrating current database-drive applications to MySQL, or using MySQL for new
development projects, corporations are realizing cost savings that many times stretch into seven
figures. Accomplished through the use of the MySQL database server and scale-out architectures
that utilize low-cost commodity hardware, corporations are finding that they can achieve
amazing levels of scalability and performance, all at a cost that is far less than those offered by
proprietary and scale-up software vendors. In addition, the reliability and easy maintainability of
61

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

4.2 SCOPE OF THE PROJECT


This software system will be the attendance management system for Rivers State Ministry of
Commerce and Industry. The attendance system makes use of the RFID detection system to
calculate attendance of employees in the organization. This software has been designed to reduce
the labor of manual attendance for employees in the organization. It also aims at building
accuracy in taking attendance electronically and thus reducing human error so that the salaries
are also calculated accurately. The cost of implementation of the system is only one time as the
RFID chips are light and cheap containing information up to a few binary digits. The chip is
rewritable and so is the information that is stored in the database corresponding to the chip code.
A variety of reports can be produced to give the information on the attendance of employees.
4.3 PROJECT DESCRIPTION
The Attendance system is based on the working principles of the combination of both RFID and
Biometric technology, using Visual Studio 2012, as an IDE (Integrated Development
Environment) to develop and run the system. The hybrid attendance management system consists
of the following devices: ZK CR10 RFID reader, ZK CR10E/M RFID tag, ZK fingerprint
scanner, system interfaces and databases. This system is developed to make sure that the devices
capture accurate data, verify the identity using RFID, authenticate using biometrics and can
interact with the information system accurately and efficiently.
This attendance system operates in such a way that RFID Tags which have unique numbers
(identities) are matched to an employee. This means that each employee is given an RFID card
that is unique to him/her. When an employee passes the RFID tag close to the RFID reader, the
number associated with the tag is captured by the reader, and sent to the application, which
displays the employees details in the database, also displaying the employees picture for
verification, the system will furthermore need to scan the employees finger print for
authentication and then record the time of attendance in the database.
The ZK CR10 RFID cards are the size of a credit card and are white in color. The employee IDcard information even can be printed on the RFID card itself. This means that there are no extra
efforts required or no extra trouble is caused for carrying this card since employees always carry
their ID cards in industries.

63

4.3.1 Hardware Architecture


There are 4 major hardware used in the development of this system; they are:
RFID Reader
RFID Tags
Laptop Computer
Fingerprint Scanner

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 fingerprint scanner used is ZK Fingerprint reader.

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

Fig 4.1.0 Sequence diagram of the system

4.4 DESIGN APPROACH


65

4.4.1 Programming Language and Operating System


The programming language used in the development of this attendance management system is
Microsoft C# programming language using Microsoft visual Studio 2012 is an IDE (Integrated
Development Environment), due to its rich IDE, intuitive Graphical User Interface tools and
hardware friendly framework.
The database structure is designed in MySQL. The database is a very simple and efficient
structure that supports easy modification and maintenance. It contains tables that represent a
single subject which consists of relatively distinct fields, keeping the redundant data to an
absolute minimum.
The system was designed on Windows7 platform. The operating system was used because of its
large user base and functional services for hardware communications.

4.5 APPLICATION FLOW


This describes the operations of the main modules of the software application and their
connections. It consists of three main phases namely: Enrollment, encoding, and attendance
phase.
The Enrollment phase provides the user with a form to register an employee on the softwares
database and prepare the data for encoding onto the RFID tag. During enrollment, the biometrics
of the user is captured and the unique features are extracted and stored in a database as a
template for the subject along with the employee picture and details.
The objective of the enrolment module is acquire an employees details ID and fingerprints into a
database. These features form a template that is used to determine the identity of the employee,
formulating the process of authentication. The enrolment process is carried out by an
administrator in the attendance system.
The Encoding phase transfers the employee details into the RFID tag for the attendance system.
Some of the information to be saved on the RFID tag includes staff id, Picture, Department,
Surname, Other Names and Fingerprint data. The system will keep records of the card serial
number given to each employee to avoid counterfeiting of the cards. This system is equipped
with very interactive forms for ease of access and user friendliness.

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?

Enroll New Employee


Bio-Data and details
registered

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

4.6 PRODUCT FUNCTIONS:


The key functions of the application include:

Perform accurate automated employee attendance


Generate Monthly / Yearly Attendance Reports
Error free tag identifier detection
Automatic Attendance data Collection
Easy scalability to incorporate more records
Integrity and security in data storage

Other functions of the system are as follows:


-Identifying the employees in the organization
-Tracking of late coming and absence including holidays, sick leave, training, business trips,
changed/unscheduled shift work etc.,
-Calculation of time worked during working days and holidays,
-Balancing holidays, work time and overtime,
-Producing reports including employees absence, overtime or punctuality by personnel criteria
such as department, position, day, month etc.,
4.7 USER CHARACTERISTICS
There are three basic users of this system:
a

Administrator b) Employee c) Operator.


Admin System administrator, a person with an average I.T background who looks
after the system and has access to all rights and permissions in the system. He is the backend user of the system.

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

System management SYSTEM

Assign RFID cards

Query requests

Attendance entry
ATTENDANCE
Employee registration
MANAGEMEN
T SYSTEM
Employee verification

ADMINISTRA
TOR

employee attendance

Employee verification
HEAD OF
DEPARTMENTS/SUPE
RVISOR

Retrieve attendance records


OPERATOR/U
SER

Employee attendance records

Verified employee records

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

Fingerprint and rfid card

Verification confirmation

Verify
employee

Generate RFID card

confirm verification

OPERATOR
/USER

attendance entry

Record
employees
attendance

6
Generate
attendance
reports

Employee attendance record

70

SUPERVISOR/
HEAD OF
DEPARTMENT

Attendance reports

monthly
reports
ACCOUNTS
DEPARTMENT

Fig 4.1.3 Level 0 Data Flow Diagram of the system

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

Modify & delete


records

Enrolls employee

Administrator

Generate report

Review report

72

Accounts
Dept.

supervisor

Pay salary

Fig 4.1.3 Use case Diagram of the system


4.8.2 Design Constraints
Programming languages: The server program that resides on the computer shall be written in
C# using the Microsoft Visual Studio development kit and MySQL for the database
development.
Database: MySQL Server shall be used as the systems database management system. The
database shall be stored on the server.
Development tools: Visual Studio and MySQL shall be used as the primary development tool
to build the server and client programs.
Operating environment temperature and humidity: The system shall be able to function in
both indoor and outdoor environments, even though the system will mostly be used in interior
offices under optimum temperatures (20~25C) and humidity (30~40%).

4.9 SPECIFIC REQUIREMENTS


4.9.1 External Interface Requirements
Hardware Interfaces
Screen resolution of at least 800*600 required for proper and complete viewing of screen,
Fingerprint scanner for taking employees fingerprint
RFID Reader for reading employee cards
Printer is also required for printing of reports.
Software Interfaces

73

Any windows-based Operating system, My SQL Server as the DBMS-for database.


Communications Interface
View of Power and Communication Port
Electrical outlet using for connecting the power
Ethernet port: Using for network connection with the computer through Ethernet Serial port jack
Using for network connection with the computer through.
USB slot: Connect USB peripheral devices such as fingerprint sensor, RFID reader and so on.

74

Fig 4.1.4 Entity Relationship Diagram of the system

4.10 PERFORMANCE REQUIREMENTS


The software is designed for automating attendance management system using fingerprint and
RFID devices.
The software will support simultaneous user access if there are multiple terminals.
Fingerprint and textual information will be handled by the software.
For normal conditions, 95% of the transactions should be processed in less than5 seconds.

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

Maintainability: The application is to be designed so that it is easily maintained. Also it should


allow incorporating new requirements in any module of system.
According to the type of institute the proper module can be designed based on pre-existing
templates.
Portability: The application will be easily portable on any Operating System.
Sustainability: The system is expected to live for at 10 least years or until a new version is
released to replace it.

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

[27] Jaiin, A. and Pankanti, S.,


Classification and Conference. page
[28]www.zktechnology.com
[29]ait LN4.1.1 software engineering
and models

Table structure for table departments

[30] International Journal of Scientific &

id
department_
name
status

Research Volume 4, Issue 2, February-2013


5518 IJSER 2013
http://www .ijser.org

Column

[31] Center for Promoting Ideas,


www.ijastnet.com 195

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

Table structure for table employee


attendances

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

Table structure for table employees

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;

Table structure for table

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;

Table structure for table

byte[] left_temp_1 = null;

staff_ranks

byte[] left_temp_2 = null;


Column
id
rank_name
status

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

Table structure for table


Column

byte[] left_temp_3 = null;

Type

byte[] right_temp_2 = null;

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

byte[] right_temp_1 = null;


Null

Default

No
No
Yes
No
No
No

NULL
Staff
Active

bool left_index_2 = false;

C# Source code for


and verifying an
on the system:

bool left_index_3 = false;

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;

bool right_index_0 = false;

bool left_index_4 = false;

registering
employee

bool right_index_1 = false;


bool right_index_2 = false;
bool right_index_3 = false;

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);

byte[][] g_RegTmps = new byte[3][];


byte[] g_RegTmp = new byte[2048];
byte[] g_VerTmp = new byte[2048];

if (right_temp_2 != null)
{
rad_r2.BackColor = Color.Green;
Console.Beep();

const int MESSAGE_FP_RECEIVED = 0x0400 + 6;

}
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

for (int i = 0; i < dtBiodata.Rows.Count; i++)


{
var bioRow = dtBiodata.Rows[i];
//The two thumbs

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;
}
}

catch (Exception xi) { }


returnifret;
(!Information.IsDBNull(bioRow["left_3"]))
{

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

ret = ZKFinger10.BIOKEY_VERIFY(g_biokeyHandle, (byte[])bioRow["right_3"],

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

Fig 5.1.1 Enrollment and registration of a new employee

87

Capturing of employee fingerprint:

Fig 5.1.2 verification of registered employees

Fig 5.1.3 Management menu for employees


88

89

You might also like