You are on page 1of 51

KIRIRI WOMEN’S UNIVERSITY OF SCIENCE AND TECHNOLOGY

PROJECT TITLE
BIOMETRIC CLASS ATTENDANCE SYSTEM

BY
Juliana Mumbi Kiendi
(DBT/099/17)

SUPERVISOR:Dr Njuguna

1
DECLARATION AND APPROVAL
DECLARATION
I hereby declare that this project “Biometric class attendance system” is my own work and

has to the best of my acknowledgment it has never been submitted to any other institution

of higher learning for any award.

Students Name: Juliana Mumbi Kiendi Registration number: DBT/099/2017

2
ACKNOWLEDGEMENT
I express my sincere gratitude to the almighty God for taking me through my course
especially the time of this project. I appreciate my supervisor Dr Njuguna for the
supervision and support that he gave, which helped the progression and smoothness of the
project. The co-operation was much indeed appreciated. My sincere gratitude goes to the
entire department of Directorate of Computing and e-learning for guiding me through.

3
ABSTRACT

Monitoring student attendance in the Kenya has become a prime concern for
Universities in recent months. All biometric techniques obviate the need to carry a
token or card, or to remember several passwords, and reduce the risk of lost,
forgotten or copied passwords, stolen tokens or over the shoulder attacks. This project
shall focus on using fingerprint recognition, mainly due to the low-cost of devices for
deployment and high user acceptance. Fingerprint recognition has traditionally been
used for data access amongst a mobile population with increasingly portable devices,
but it can also be employed for monitoring purposes, and this project defines how it
could be used in this context to provide a fingerprint-based student attendance
register.

4
Contents
DECLARATION AND APPROVAL......................................................................................................................2
DECLARATION............................................................................................................................................2
ACKNOWLEDGEMENT............................................................................................................................3
ABSTRACT.....................................................................................................................................................4
CHAPTER ONE...............................................................................................................................................7
1.0 background information.....................................................................................................................7
1.1 project overview and organizational profile........................................................................................7
1.2 statement problem.............................................................................................................................8
1.3 objective............................................................................................................................................10
1.3.1 main objective.........................................................................................................................10
1.3.2 specific objectives...................................................................................................................10
1.4 scope of study...................................................................................................................................11
1.5 justification........................................................................................................................................11
1.6 methodology.....................................................................................................................................11
CHAPTER TWO............................................................................................................................................13
LITERATURE REVIEW...................................................................................................................................13
2.1 introduction......................................................................................................................................13
2.2. review of theories / concepts...........................................................................................................13
2.2.1 biometrics review...........................................................................................................................16
2.2.2 types of biometric systems.............................................................................................................19
2.2.3 importance of biometric systems...................................................................................................23
2.2.4 database system review.................................................................................................................23
2.2.5 database language review..............................................................................................................24
2.2.6 tools to be used by the system.......................................................................................................24
CHAPTER THREE..........................................................................................................................................26
ANALYSIS AND DESIGN................................................................................................................................26
3.1system analysis...................................................................................................................................26
3.1.1 introduction to the current system............................................................................................26
3.1.2 proposed system............................................................................................................................27
3.1.3 requirement gathering and analysis...............................................................................................28

5
3.1.3.1 functional requirement...............................................................................................................28
3.1.3.2 Non-functional Requirement.......................................................................................................28
3.1.4 Model of the Existing System.........................................................................................................30
3.2 SYSTEM ANALYSIS..............................................................................................................................31
3.2.1. Introduction to Design..................................................................................................................31
3.2.2 Detailed System..............................................................................................................................31
3.2.2.1 data flow diagram.......................................................................................................................31
3.2.2.2 context analysis diagram.............................................................................................................35
3.2.3 decision tree / table.......................................................................................................................37
3.2.4 entity relationship diagram............................................................................................................38
Chapter Summary...................................................................................................................................40
CHAPTER FOUR...........................................................................................................................................41
IMPLEMENTATION AND TESTING............................................................................................................41
4.1 Introduction to Coding and Implementation.....................................................................................41
4.2 Testing and Validation.......................................................................................................................41
4.2.1 unit testing.....................................................................................................................................41
Unit Testing.........................................................................................................................................41
4.2.2 integration testing..........................................................................................................................42
4.2.3 System Testing................................................................................................................................42
4.3 Chapter Summary/Conclusion..........................................................................................................42
CHAPTER FIVE.............................................................................................................................................43
RECOMMENDATION....................................................................................................................................43
5.1 summary...........................................................................................................................................43
5.2 Lessons Learned................................................................................................................................44
5.2.1 Problems (Limitations)...................................................................................................................45
5.2.2 Solutions to Problems.............................................................................................................45
5.3 Recommendations............................................................................................................................46
Based on the research, we recommend that:.....................................................................................46
5.4 SAMPLE CODE...................................................................................................................................47
CHAPTER SIX...............................................................................................................................................51
conclusion...........................................................................................................................................51

6
CHAPTER ONE
1.0 background information
Managing student attendance during lecture periods has become a difficult challenge. The
manual system of taking attendance is done on paper by the use of pen, students write
their names, index numbers and sign on a sheet of paper, this makes the system unreliable
because students can write names for friends who are not in class. Also, the ability to
compute the attendance percentage becomes a major task as manual computation
produces errors, and also wastes a lot of time. For the stated reasons, an efficient
attendance management system using biometrics is designed. This system takes
attendance electronically with the help of a finger print device and the records of the
attendance are stored in a database. Attendance is marked after student identification.

1.1 project overview and organizational profile


Biometrics or biometric authentication refers to the identification of humans by their
characteristics or traits. In Computer science, biometrics is used as a form of
identification and access control. It is also used to identify individuals in groups that are
under surveillance. Biometric identifiers are the distinctive, measurable characteristics
used to label and describe individuals. It serves as a tool that utilizes the measurement of
biometric characteristics on the human body, revolutionizing the security industry.
Characteristics on the human body are nearly impossible to forge, including such things
as iris and fingerprint shapes, which make much more secure tools of measurement than
alternative techniques, such as keypads and passwords.
There are several different biometric technologies and devices that are available, each
measuring different characteristics. The two categories of biometric identifiers include
physiological and behavioral characteristics. A biometric device would identify by one's
voice, DNA, hand print or behavior. Behavioral characteristics are related to the
behavior of a person, including but not limited to: typing rhythm, gait, and voice, Jainet
al. (1999).

7
Many different aspects of human physiology, chemistry or behavior can be used for
biometric authentication. The selection of a particular biometric to be used in a specific
application involves a weighting of several factors. Jain et al. (1999) identified seven
such factors to be used when assessing the suitability of any trait for use in biometric
authentication;

i Universality means that every person using a system should possess the trait.

ii Uniqueness means the trait should be sufficiently different for individuals in


the relevant population such that they can be distinguished from one another.

iii Permanence relates to the manner in which a trait varies over time. More
specifically, a trait with 'good' permanence will be reasonably invariant over time
with respect to the specific matching algorithm.

iv Measurability (collectability) relates to the ease of acquisition or measurement


of the trait. In addition, acquired data should be in a form that permits subsequent
processing and extraction of the relevant feature sets.

v Performance relates to the accuracy, speed, and robustness of technology used


(see performance section for more details).

vi Acceptability relates to how well individuals in the relevant population accept


the technology such that they are willing to have their biometric trait captured and
assessed.

1.2 statement problem


The traditional way of taking attendance of students in class has been quite helpful but
not efficient and effective. Due to technology advancement, the traditional pen-paper
attendance, has become obsolete challenging. The traditional way also involves the

8
situation where lecturers have to take the attendance of students on daily basis and
calculate the student attendance percentage throughout the semester, and come out with
their own student attendance report. Students could easily respond or write name on
behalf of their friends purposely to fill in the class attendance. The following are some of
the problems;

9
As the student population increases, names on the attendance sheet also increases.
Keeping these attendance sheets becomes a problem and to add to it no proper backup is
done. Termites, flood, fire and other things that can also destroy the sheet. But the issue is
for how long the attendance sheets can be kept.
 Impersonation is another problem with the old system. Some students
sign/respond in some cases, for students who are absent and this doesn’t make the
attendance credible.
 Sometimes the attendance sheet either gets lost or misplaced by some of the
students.
 It takes a lot of time to check attendance of all students available for a lecture.
Students have to wait for long; before lectures begins. Lecturers have to take their
time to make sure all students have checked in correctly before the lecture begins.
 Also the tabulation of hitherto collected data of student attendance, is quite hectic
and tedious.

1.3 objective
This Attendance Management system seeks to develop a computer-based attendance
system for kiriri women’s university, Computer Department.

1.3.1 main objective

The main objective of this project is to develop a secure attendance system for Computer
Department of kiriri women’s university.

1.3.2 specific objectives

i To develop an electronic system to manage student attendance.


ii To develop a system to measure the performance of students.
iii To develop an effective and efficient method for student roll call.
iv To improve upon the taking of attendance by making it easier and faster.

10
1.4 scope of study
The problems identified and stated are aimed to be solved by the system. The system is
however to ensure security, access control, reliability, efficiency and better performance.
The system will have the bio data of every student, and check the daily attendance of
every student using the device. The system will also tabulate the attendance collected for
the semester and print out the data processed on a sheet of paper.

1.5 justification

This problem is a real-time issue that is affecting the school currently, records of student’s
attendance is kept in a sheet of paper or note book. This is dangerous because the paper
or the note book can easily get lost because it is not protected. Undertaking research and
gathering information to build this Automated Fingerprint Attendance System (AFAS)
will also go a long way to help the polytechnic grow, because this system can be used for
so many years. It is open for upgrades of its features.

1.6 methodology

Every project needs a process model to help the developers establish their goal. A process
model is an abstract, generalization of the software development process. The reason for
choosing a process model includes the following;

i. Create a defined software development process.


ii. Improve communication, thus implementation and training of users.
iii. Helps build a quality project.

11
This system will be developed based on the Prototyping of the System Development Life
Cycle. Prototyping is a system development methodology that focuses on building
applications based on a sample system and the system is being acted on as things are
being replicated. This methodology was chosen because the user gets to interact with the
system whilst the system is being improved on. Hence it allows for the detection of errors
and where there needs to be improvements. The structure of Prototyping is designed to
ensure that the developer builds the system such that the users interact with it. A good
system depends on knowledge of alternatives because the more information you have
about problems and solutions, the easier it is to make good decisions. Prototyping is a
type of Rapid Application Development methodology.

Figure 1.6 Prototype Diagram

12
CHAPTER TWO
LITERATURE REVIEW

2.1 introduction

Information security is concerned with the assurance of confidentiality, integrity and


availability of information in all forms (www.education.stateuniversity.com, Monday,
May 4, 2015, 18:57 GMT). There are many tools and techniques that can support the
management of information security. But system based on biometric has evolved to
support some aspects of information security. Biometric authentication supports the facet
of identification, authentication and non-repudiation in information security. Biometric
authentication has grown in popularity as a way to provide personal identification.
Person’s identification is crucially significant in many applications and many areas.
Biometric is used to identify the identity of an input sample when compared to a
template, used in cases to identify specific people by certain characteristics. Standard
validation systems often use multiple inputs of samples for sufficient validation, such as
particular characteristics of the sample. So, the advantage claimed by biometric
authentication is that they can establish an unbreakable one-to-one correspondence
between an individual and a piece of data.

2.2. review of theories / concepts

Class attendance facilitates learning in a variety of ways. Lectures supplement reading


assignments. Classroom presentations present information differently than the text.
Discussion and elaboration of topics provides current information that may not be found
in the textbook. Hearing the comments and questions of others can answer your
questions. Instructors can use class discussion to enhance critical thinking skills. They
can pose questions that require students to make connections between concepts and
relate what they are learning to real life. The more students analyze and examine

13
material, the better their retention will be. As you can see, attending class on a regular
basis gives you much more than just credit for attendance.
Most people who fail a course did not attend classes regularly. Regular class attendance
requires discipline and time management skills. These skills are beneficial no matter
what career path you choose. Attending class also increases a student’s interaction with a
variety of faculty members. This raises the likelihood of finding mentors and role models
who can help guide their academic, career, and personal development.

Students seem to be aware that class attendance is important. In a recent survey, only 8%
of students reported that getting class notes from a missed class is as useful as attending
class. This 8% who thought borrowed notes were as good as going to class had
significantly lower reported grade point averages than those who valued class attendance
more than borrowed notes. Also reported was a strong relationship between the number
of absences and the final course grade. Even though the majority of students reported
that attending class was important, about two-thirds said that they would miss more
classes if they could get missed notes directly from their instructor. Students miss class
for a variety of reasons. Some of the most frequent reasons are because they need to
complete other course work, find the class boring, are ill, or have social obligations.

Some professors are very textbook-oriented. You will run into some who read the text
rather than provide extraneous information in their lecture. You may think this is a waste
of your time to attend class. It is not. While your instructor is reciting the text, you are
hopefully absorbing the information and in turn, decreasing your study time later on. If
you pay attention in class, you may be surprised by how much you can cut your study
time later on. No textbook can explain something to you like another person can.
Missing an occasional class is not the end of the world. Professors understand that you
may become sick or have other legitimate reasons to not be in class. If you come to class
on a regular basis and participate, your instructor will know that missing class is not the
norm for you. Let your professor know that you will not be in class. Get class notes from
a fellow classmate.

14
Some college faculties believe that students should be allowed to decide whether to
attend class. Others believe that attendance should be mandatory. Regardless of your
opinion, expectations regarding attendance should be clearly explained for each class.
Attendance objectives should also be attainable. Students are often more willing to
comply with policies when they understand why the policies exist. Communicating
attendance expectations conveys a level of adult-to-adult respect between students and
faculty. Remember, there may be consequences for missing class. These consequences
should be conveyed along with attendance policies. Skipping class can be a fast track to
poor performance, increased stress and anxiety, lower GPA’s, dropping classes, and even
dropping out of school. Realize that going to class is not a decision that needs to be
made.

15
2.2.1 biometrics review

Biometrics (ancient Greek: bios ="life", metron ="measure") refers to two very different
fields of study and application. The first, which is the older and is used in biological
studies, including forestry, is the collection, synthesis, analysis and management of
quantitative data on biological communities such as forests. Biometrics in reference to
biological sciences has been studied and applied for several generations and is somewhat
simply viewed as "biological statistics".
Authentication is the act of establishing or confirming something (or someone) as
authentic, that is, that claims made by or about the thing are true
European explorer Joao de Barros recorded the first known example of fingerprinting,
which is a form of biometrics, in China during the 14th century. Chinese merchants used
ink to take children's fingerprints for identification purposes. In 1890, Alphonse
Bertillon studied body mechanics and measurements to help in identifying criminals.
The police used his method, the Bertillonage method, until it falsely identified some
subjects. The Bertillonage method was quickly abandoned in favor of fingerprinting,
brought back into use by Richard Edward Henry of Scotland Yard. Karl Pearson, an
applied mathematician studied biometric research early in the

16
20th century at University College of London. He made important discoveries in the field
of biometrics through studying statistical history and correlation, which he applied to
animal evolution. His historical work included the method of moments, the Pearson
system of curves, correlation and the chi-squared test. In the 1960s and '70s, signature
biometric authentication procedures were developed, but the biometric field remained
fixed until the military and security agencies researched and developed biometric
technology beyond fingerprinting.
Biometrics authentication is a growing and controversial field in which civil liberties
groups express concern over privacy and identity issues. Today, biometric laws and
regulations are in process and biometric industry standards are being tested. Face
recognition biometrics has not reached the prevalent level of fingerprinting, but with
constant technological pushes and with the threat of terrorism, researchers and biometric
developers will stimulate this security technology for the twenty-first century. In modern
approach, Biometric characteristics can be divided in two main classes:
 Physiological are related to the shape of the body and thus it varies from person to
person Fingerprints, Face recognition, hand geometry and iris recognition are some
examples of this type of Biometric.
 Behavioral are related to the behavior of a person. Some examples in this case are
signature, keystroke dynamics and of voice. Sometimes voice is also considered to
be a physiological biometric as it varies from person to person. Behavioral
characteristics specify
‘what you do’.

A biometric system can provide two functions. One of which is verification and the
other is Authentication. So, the techniques used for biometric authentication has to be
stringent enough that they can employ both these functionalities simultaneously.
Currently, cognitive biometrics systems are being developed to use brain response to
odor stimuli, facial perception and mental performance for search at ports and high
security areas. Other biometric strategies are being developed such as those based on
gait (way of walking), retina, Hand veins, ear canal, facial thermogram, DNA, odor and
scent and palm prints. In the near future, these biometric techniques can be the solution

17
for the current threats in world of information security. Of late after a thorough research
it can be concluded that approaches made for simultaneous authentication and
verification is most promising for iris, finger print and palm vain policies. But whatever
the

18
method we choose, main constraint will be its performance in real life situation. So,
application of Artificial System can be a solution for these cases. We have given
emphasis on the Iris recognition. According to us, after detection of an iris pattern, the
distance between pupil and the iris boundary can be computed. This metric can be used
for the recognition purposes because this feature remains unique for each and every
individual. Again, an artificial system can be designed which will update the stored
metric as the proposed feature may vary for a particular person after certain time period.
After doing the manual analysis of the above discussed method, we have got a
satisfactory result. Due to the dynamic modification of the proposed metric, the rejection
ration for a same person reduces by a lot. The work is being carried out to make the
system viable.

2.2.2 types of biometric systems


Reliable authorization and authentication has become an integral part of every man’s life
for a number of routine applications. Biometrics is automated method of recognizing a
person based on a physiological or behavioral characteristic. Biometrics though in its
nascent form has a number of tractable aspects like security, data integrity, fault
tolerance and system recovery. It is considered a reliable solution for protecting the
identity and the rights of individuals as it recognizes unique and immutable features.
Biometrics is used for two authentication methods:

 Identification: This involves establishing a person's identity based only on


biometric measurements. The comparator matches the obtained biometric with the ones
stored in the database bank using a 1:N matching algorithm for identification.
Verification: It involves confirming or denying a person's claimed identity. A basic
identity (e.g. ID number) is accepted and a biometric template of the subject taken is
matched using a 1:1 matching algorithm to confirm the person’s identity.

19
The validity of a biometric system cannot be measured accurately, and can only be
enumerated on the occurrence of errors like the chance of accepting an intruder i.e. the
False Accept Rate (FAR) and conversely the probability of rejecting a genuine
individual i.e. False Reject Rate (FRR) which could turn out to be detrimental to any
system.

20
Figure 2.2.2.1 Authentication methods

Fingerprint Recognition involves taking an image of a person's fingertips and records its
characteristics like whorls (ridges form circularly around a central point on the finger),
arches (the ridges enter from one side of the finger, rise in the center forming an arc, and
then exit the other side of the finger), and loops (the ridges enter from one side of a finger,
form a curve, and then exit on that same side).

21
The Arch Pattern The Loop Pattern The Whorl Pattern

Fig. 2.2.2.2 The three basic fingerprint patterns.

Also with the patterns of ridges, furrows, and minutiae, fingerprint matching can be
achieved in three ways:

 Minutiae based matching stores minutiae as a set of points in a plane and the points
are matched in the template and the input minutiae.
 Correlation based matching superimposes two fingerprint images and correlation
between corresponding pixels is computed.
 Ridge feature based matching is an advanced method that captures ridges, as
minutiae capturing are difficult in low quality fingerprint images.

22
2.2.3 importance of biometric systems

Uniqueness: The various biometrics systems have been developed around unique
characteristics of individuals. The probability of 2 people sharing the same biometric data
is virtually nil.
Cannot be shared: Because a biometric property is an intrinsic property of an individual,
it is extremely difficult to duplicate or share (you cannot give a copy of your face or your
hand to someone!).
Cannot be copied: Biometric characteristics are nearly impossible to forge or spoof,
especially with new technologies ensuring that the biometric being identified is from a
live person.
Cannot be lost: A biometric property of an individual can be lost only in case of serious
accident.

2.2.4 database system review


A database is an integrated collection of data records, files, and other database objects. A
database system is a term that is typically used to encapsulate the constructs of a data
model, database Management system (DBMS) and database. A database management
system (DBMS) is a software package with computer programs that control the creation,
maintenance, and the use of a database A data captured by an information system is stored
in files and databases. A file is a collection of similar records while a database is a
collection of interrelated files. Database design is the process of translating logical data
model into physical database schemas. A database schema of a database system is its
structure described in a formal language supported by the database management system
(DBMS) and refers to the organization of data to create a blueprint of how a database will
be constructed (divided into database tables).
A database system offers scalability, data sharing among user groups, balancing of
conflicting user requirements, enforcement of standards, controlled redundancy, effective
security, flexibility and data dependency.

23
2.2.5 database language review
Data Languages are database languages used to create and maintain database on
computer. There are large numbers of database languages like Oracle, MySQL, and MS
Access. DBase, FoxPro etc. SQL statements commonly used in Oracle and MS Access
can be categorized as data definition language (DDL) and data manipulation language
(DML).
Data Definition Language (DDL) describes the portion of SQL that allows you to create,
alter, and destroy database objects. These database objects include schemas, tables,
views, sequences, catalogues, indexes, and aliases.
Data Manipulation Language (DML) describes the portion of SQL that allows you to
manipulate or control your data. A popular data manipulation language is that of
Structured Query Language (SQL), which is used to retrieve and manipulate data in a
relational database.

2.2.6 tools to be used by the system

 MySQL
 Visual C#

24
MySQL
MySQL is an open source, SQL Relational Database Management System (RDBMS) that
is free for many uses (more detail on that later).According to (w3schools.com) SQL is a
standard computer language for accessing and manipulating databases. SQL stands for
Structured Query Language. It is an ANSI standard computer language, allows you to
access a database, can execute queries against a database, can retrieve data from a
database and it is easy to learn.

Early in its history, MySQL occasionally faced opposition due to its lack of support for
some core SQL constructs such as sub selects and foreign keys. Ultimately, however,
MySQL found a broad, enthusiastic user base for its liberal licensing terms, perky
performance, and ease of use. Its acceptance was aided in part by the wide variety of other
technologies such as PHP, Java, Perl, Python, and the like that have encouraged its use
through stable, well-documented modules and extensions.

MySQL has not failed to reward the loyalty of these users with the addition of both sub
selects and foreign keys as of the 4.1 series.
Database in general are useful, arguably the most consistently used family of software
products — the “killer product” of modern computing. Like many competing products,
both free and commercial, MySQL isn’t a database until you give it some structure and
form.

25
CHAPTER THREE

ANALYSIS AND DESIGN


3.1system analysis

3.1.1 introduction to the current system


With the existing system; the management of students in the department is done manually
by paper work. For each course the lecturer pass a sheet of paper around where every
student writes his/her name, index number and sign. It is a time consuming process which
wastes the time of both lecturer and students. The lecturer will have to keep the
attendance sheet in a safe place to avoid losing or being damaged by natural disasters
such as flood or insect attacks. Sometimes the lecturer also gets frustrated from this
situation and also it is not reliable because a student can write name, index number and
sign for a friend who is not in class. The manual work is human error prone. The reports
generated sometimes contain errors. We need to use a system that can easily authenticate
students, keep proper student attendance records, remove or eliminate possible human
errors, make taking of attendance easier and faster and reliable.

26
3.1.2 proposed system

The proposed system for attendance-taking would be done individually by students via a
biometric device that is a finger-print device. When students have their first day of classes,
or perhaps a week of orientation, each one is enrolled into the system. Every students’
fingerprint will be scanned and recorded. All other information of students will be
recorded as well and whenever a student enters the lecture hall, he or she will be scanned
to be counted present. A full history of all students, lecturers, departments and absence
would be constantly available to be reported on. The proposed system would provide
reports on attendance, absence, lateness and balances remaining for each student. The
proposed system would be cost effective in the sense that the cost of paper purchasing will
be eliminated completely. The system will also be time effective because the calculations
will now be automated. The reports that would be generated at the end of every semester
would contain no errors and would be highly accurate as the data will be required.

27
3.1.3 requirement gathering and analysis.
Data collected sources are referred to as primary data. They are original data collected for the
current investigation. Interviews and questioners will be used in collecting the data on the
target group. Secondary data is the name given to data collected from secondary sources.
They are data already gathered and perhaps published by another group. Literature including
relevant textbooks, thesis, manuals, and all relevant documents on the subject will be view
for the need of secondary data.

3.1.3.1 functional requirement.


The following are the main functions of the system that should be required by the
users:
i. Keeping (saving) data in the database.
ii. Retrieving of data from the database.
iii. Avoiding duplication of student attendance records in the database.
iv. Should be able to register courses that should be done in the department.
v. Register student to the data base.
vi. Helps students to update their information

3.1.3.2 Non-functional Requirement

The software requirements for this project are;


 Windows 2000, 2003, windows XP, Vista and above. It would also support all 32-
bit windows operating systems.
 Database Management System (DBMS) and
 Visual C#

The hardware requirements include;

 Fingerprint scanner
28
 Minimum computer hardware requirement:
 1.6 GHz CPU
 384 MB RAM
 1024x768 of Display

 Recommended computer hardware requirement:


 2.2 GHz or higher CPU
 1 GB or more RAM
 1280x1024 of Display

29
3.1.4 Model of the Existing System

Start

No Is Yes
Student Write Name,
in Class? Write Index Number,
Sign

Stop

30
3.2 SYSTEM ANALYSIS

3.2.1. Introduction to Design

This stage of the system development generate system specification, process modeling,
data modeling that will be used, thus, creating the context diagram, Data Flow Diagram
(DFD) and the entity relationship diagram (ERD) of the new system. After the Design,
there must be development and implementation phase which consist of codding, testing
and documentation. Testing will happen after the system’s codes have been written and
executed. After coding and testing, the system should be documented so that it can be
read and understood.

3.2.2 Detailed System

3.2.2.1 data flow diagram


A data flow diagram (DFD) is a graphical representation of the "flow" of data through an
information system, modeling its process aspects. A DFD shows what kinds of information
will be
input to and output from the system, where the data will come from and go to, and where
the data
will be stored. It does not show information about the timing of processes, or information
about
whether processes will operate in sequence or in parallel
When it comes to conveying the information of how data flows through systems (and how
that data
is transformed in the process), data flow diagrams (DFDs) are the method of choice over
technical
descriptions based on these three principal reasons. (Le Vie & Donald, 2000)

1. DFDs are easier to understand by technical and nontechnical audiences


2. DFDs can provide a high level system overview, complete with boundaries and
connections to other systems
3. DFDs can provide a detailed representation of system components.

31
DFDs help system designers and others during initial analysis stages visualize a current
system or
one that may be necessary to meet new requirements.
Systems analysts prefer working with DFDs, particularly when they require a clear
understanding
of the boundary between existing systems and postulated systems. (Le Vie & Donald,
2000)

32
This rectangular shape represents all external entity, represents the sources or
destinations of data, which may be people, programs, organizations that
interact with the system but are outside its boundary.

This rounded rectangle represents processes, which take data as input,


process the data, and give an output. The processes and procedures which is
numbered and named to indicate occurrence in the system flow.

Arrows are used to represent data flows, which are either electrical data or
physical data.

Open-ended rectangles representing data stores, including electronic stores


such as databases or XML files and physical stores such as or filing cabinets
or stacks of paper.

33
ADMINISTRATOR

LOG-IN PROCESS

ADMIN LOG-IN
ADMIN

STUDENT LECTURER
ENTRY ENTRY

DATA

LECTURER
STUDENT

REPORT ATTENDANCE
GENERATION ENTRY

REPORT

ATTENDANCE ATTENDANCE
LECTURER

Fig. 3.2.2.1
Data flow diagram for attendance system

34
3.2.2.2 context analysis diagram

A System Context Diagram (SCD) in software engineering and systems engineering is a


diagram that represents the actors outside a system that could interact with that system.
This diagram is the highest level view of a system, similar to Block diagram, showing a,
possibly software-based, system as a whole and its inputs and outputs from/to external
factors.

This Context Diagram confines the scope of the project to an agreed limit by obtaining
agreement from the customer on the data flows that are included in the scope of a project.
The Context Diagram focuses on relationships with external entities and identifies the
information that is exchanged between these external entities and the business system
under review. The external entities themselves are outside the scope of the project but the
data flows between the entities and the business system are within the project scope.

Below is the context analysis diagram for our proposed system.


ACCESSING STUDENTS DAIRLY CLASS ATTENDANCE USING A BIOMETRIC DEVICE

ADMINISTRATOR

REGISTER STUDENT

ENTER COURSE SCHEDULE

BIOMETRIC
FINGER PRINT SCAN
ATTENDANCE SYSTEM

STUDENT LECTURER

FINAL REPORT ATTENDANCE


STATISTICS

Fig.3.2.2 Context Analysis Diagram for the attendance system


3.2.3 decision tree / table
A decision tree takes as input an object or situation described by a set of properties, and
outputs a yes/no decision. Decision trees therefore represent Boolean functions. It is also a
method of showing the relationship of each condition and its permissible actions. The
diagram resembles branches on a tree, hence the name. (Olivas, 2007)

START

STUDENT ENTERS

NO YES
IS STUDENT
REGISTERED?

SEE SCAN
ADMINISTRATOR

COMPARISM TEST

REGISTRATION
PROCESS
YES
IS
FINGERPRIN
T CORRECT?
CHECK IN
REGISTER STUDENT STUDENT

STORE
RECORD NO

STOP REJECT

Fig. 3.2.3 Decision tree for the attendance system


3.2.4 entity relationship diagram

Building an E-R diagram required the use of a number of notational conventions to model
the concepts defined. The E-R diagrams was developed using a smart drawing package
(Concept Draw Office Package). This tool provided easy to use functions that facilitated
consistency of the data work flow diagram. Object classes (called entities) are represented
as rectangles, relationships are represented as diamonds and attributes of the entities are
represented as ovals.
Entity relationship diagram can also be defined as the diagrammatic representation of a
database design. The essence of this entity relationship diagram is to provide a detailed,
graphical and logical representation of data for an organization or business area. They are
commonly used diagrams that show how data are organized in an information system.
They are extremely required in project development to provide a facilitated mode of
comprehension.
LOG IN LECT.NAME
PASSWORD
LECT.ID

ADMINISTRATOR ATTENDANCE SYSTEM LECTUREER

STUDEN REGISTERED
T STUDENT
DETAIL
REGISTERED
COURSES

INDEX
COURS CREDIT NUMBER GENDER
E ID HOUR

LEVEL
COURSE NAME
NAME

LEVEL

FIRST OTHER
NAME NAME
SURNAME

Fig. Entity relationship diagram for attendance system


Chapter Summary

Having developed this system, we hope that it will go a long way of completely
replacing the existing system and enhancing the attendance taking process of the school.
Based on the findings above, it can be concluded that problems and errors are inevitable
in the manual system. This is based on the fact that the manual system is subject to
human errors when the volume of data increases and the problem of Impersonation.
This completed documentation and the system defines the entire scope of the project, its
mission statement and the ultimate end result with broad timelines. It also clearly reflects
the interdependencies required to successfully complete the initiative.
CHAPTER FOUR

IMPLEMENTATION AND TESTING

4.1 Introduction to Coding and Implementation

The task of code testing is to test program classes, functions, modules as separate code
units and check their interactions. As a rule, it is accompanied by development of special
test classes, start functions, test data sets, design and execution of appropriate test cases.
Implementation is the carrying out, execution, or practice of a plan, a method, or the
design, idea, model, specification, standard and or policy of the project. As such, the
implementation follows the preliminary thinking in order for the project to be
successfully executed.

4.2 Testing and Validation


Testing is the major quality-control measure used during software development. Its basic
function is to detect errors in the software. Thus, the goal of testing is to uncover
requirement, design, and coding errors in the program. Forms of testing;

 Unit Testing
 Integration Testing
 System Testing

4.2.1 unit testing

Unit Testing
Unit testing involves testing every unit or subsystem independently. The overall system
includes several sub systems or components working together to meet the systems goal
or requirements. On the development of the units or components they were tested to
ensure they are working fine and efficiently. Errors and bugs found were fixed and
corrected immediately. This gives an avenue to the second phase or stage of testing
which is the integration test.
4.2.2 integration testing
Integration testing involves the test of how the components or units will integrate and
work together. The subsystems after been developed will have to be combined together to
for a larger system or subsystem. Since these components were developed separately when
they are being integrated together they may not work properly as expected to, that is why
they have to be tested together to ensure that they are working. After testing and confirmed
that they are working fine then other component can be integrated to the previous
integration and they are tested again, as one integration.

4.2.3 System Testing


The last testing phase is the systems testing after all the subsystems have been integrated
and form one or the system has to be tested finally as one. The whole subsystem
integration is tested as one whole component. This system test produced some system
errors which were tackled. The output of the system test is the final working product.
The system users and operators were also involved in this level of testing.

4.3 Chapter Summary/Conclusion


This chapter is the project closure phase. It includes the outcome of the testing and
experimental results in chapter four. The strengths and weakness of the system is stated
here as well as future enhancement to make room for upgrades and maintenance.The
design development process was given much attention in terms of database design, the
implementation of the dataflow diagram and the analyzing of the system using the
context analysis diagram. This helped in the setting up the relationships between
external and internal factors of the whole process. Testing was done comprehensively to
remove all bugs in order that the software works efficiently.
CHAPTER FIVE
RECOMMENDATION

This chapter is the project closure phase. It includes the outcome of the testing and

experimental results in chapter five. The strengths and weakness of the system is stated

here as well as future enhancement to make room for upgrades and maintenance.

5.1 summary

In all, the system is guaranteed to yield effective results when used. Having studied the

trend of taking attendance in All Nations University College, the system was developed

by analyzing the flaws of the current system and implementing the necessary procedures

to meet these flaws head on. The design development process was given much attention

in terms of database design, the implementation of the dataflow diagram and the

analyzing of the system using the context analysis diagram. This helped in the setting up

the relationships between external and internal factors of the whole process. Testing was

done comprehensively to remove all bugs in order that the software works efficiently.
5.2 Lessons Learned

These are the problems we uncounted during the project and how we overcame those, or

found workaround.
5.2.1 Problems (Limitations)

 Biometric identification systems are extremely expensive including its Software


Development Kit (SDK).
 The fingerprint reader can only take one fingerprint at a time during the

enrolment process, this slows down the enrolment process since all ten

fingerprints all captured and stored in a reference library.

 It is not valid for arthritic persons, since they cannot put the fingers on the
scanner properly.
 Possibility of type I and type II errors. This is the rejection of authorized persons

and the acceptance of unauthorized persons respectively. This limitation is

common to all Biometric devices.

 The system is limited if the necessary setups are not available for the

administrator to implement and effectively setup the whole system.

5.2.2 Solutions to Problems

 The system is user friendly and very flexible to implement in terms of database

setup and administration

 The system has administrator privileges, making the administrator the sole head

in execution of the system. This makes the database secure.

 The use of the biometric device to verify (identify) student identity makes it

easier to minimize the possibility of students taking attendance more than once.
5.3 Recommendations

Well developed software can take a number of years to be completed; these include the

software going through series of researches and tests. This is because the software is

developed in a relatively short period and a number of operations which were earlier

intended could not be achieved.

Based on the research, we recommend that:

 Stakeholders in the department should be involved in the implementation of the


software.

 Stakeholder should also make funds available to purchase fingerprint scanner to

implement the project and also for development this kind of projects in the

department.

 The department should constantly update the software when necessary after its

implementation.

 The system can be further developed to meet the limitations stated.

 A more complex security measure in the form of access methods and authorization

can be designed for the system to meet the ever changing technology.
5.4 SAMPLE CODE

using System;
using System.Drawing;
using System.Windows.Forms;
using Suprema;
using System.Data.SqlClient;
using UFE30_DatabaseDemoCS;
using System.Data;
using System.IO;
using System.Text;

namespace Suprema {
public partial class UFE30_DatabaseDemo : Form {

//===============================================================
==========//
UFScannerManager m_ScannerManager;
UFScanner m_Scanner;
UFDatabase m_Database;
UFMatcher m_Matcher;
string m_strError;
int m_Serial;
string m_UserID;
int m_FingerIndex;
byte[] m_Template1;
int m_Template1Size;
byte[] m_Template2;
int m_Template2Size;
string m_Memo;
//
const int MAX_USERID_SIZE = 50;
const int MAX_TEMPLATE_SIZE = 1024;
const int MAX_MEMO_SIZE = 100;
//
const int DATABASE_COL_SERIAL = 0;
const int DATABASE_COL_USERID = 1;
const int DATABASE_COL_FINGERINDEX =
2; const int DATABASE_COL_TEMPLATE1 =
3; const int DATABASE_COL_TEMPLATE2 =
4; const int DATABASE_COL_MEMO = 5;

public UFE30_DatabaseDemo() {
InitializeComponent();
}
private void UFE30_DatabaseDemo_Load(object sender, EventArgs
e) {

m_ScannerManager = new UFScannerManager(this);


m_Scanner = null;
m_Database = null;
m_Matcher = null;

m_Template1 = new byte[MAX_TEMPLATE_SIZE];


m_Template2 = new byte[MAX_TEMPLATE_SIZE];

cbScanTemplateType.SelectedIndex = 0;
}

private void UFE30_DatabaseDemo_FormClosing(object sender,


FormClosingEventArgs e) {
btnUninit_Click(sender, e);
}

//===============================================================
==========//

//===============================================================
==========//
/ <summary>
/ The main entry point for the application.
/ </summary>
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new UFE30_DatabaseDemo());

//===============================================================
==========//
private void btnClear_Click(object sender, EventArgs e)
{ tbxMessage.Clear();

pbImageFrame.Image = null;

}
private void AddRow(int Serial, string UserID, int
FingerIndex, bool bTemplate1, bool bTemplate2, string Memo)
{

private void UpdateDatabaseList()


{
if (m_Database == null) {
return;
}

UFD_STATUS ufd_res;
int DataNumber;
int i;

ufd_res = m_Database.GetDataNumber(out DataNumber);


if (ufd_res == UFD_STATUS.OK) {
tbxMessage.AppendText("UFDatabase GetDataNumber:
" + DataNumber + "\r\n");
} else {
UFDatabase.GetErrorString(ufd_res, out
m_strError);
tbxMessage.AppendText("UFDatabase GetDataNumber:
" + m_strError + "\r\n");
return;
}

//lvDatabaseList.Items.Clear();

for (i = 0; i < DataNumber; i++) {


ufd_res = m_Database.GetDataByIndex(i,
out m_Serial, out m_UserID, out
m_FingerIndex, m_Template1, out m_Template1Size, m_Template2, out
m_Template2Size, out m_Memo);
if (ufd_res != UFD_STATUS.OK) {
UFDatabase.GetErrorString(ufd_res, out
m_strError);
tbxMessage.AppendText("UFDatabase
GetDataByIndex: " + m_strError + "\r\n");
return;
}

AddRow(m_Serial, m_UserID, m_FingerIndex,


(m_Template1Size != 0), (m_Template2Size != 0), m_Memo);
}
42
}

private void DrawCapturedImage(UFScanner Scanner)


{
Graphics g = pbImageFrame.CreateGraphics();
Rectangle rect = new Rectangle(0, 0, pbImageFrame.Width,
pbImageFrame.Height);
try
{
CHAPTER SIX
conclusion
Having developed this system, we hope that it will go a long way of completely
replacing the existing system and enhancing the attendance taking process of the school.
Based on the findings above, it can be concluded that problems and errors are inevitable
in the manual system. This is based on the fact that the manual system is subject to
human errors when the volume of data increases and the problem of Impersonation.This
completed documentation and the system defines the entire scope of the project, its
mission statement and the ultimate end result with broad timelines. It also clearly reflects
the interdependencies required to successfully complete the initiative.

You might also like