Académique Documents
Professionnel Documents
Culture Documents
ABSTRACT
This project uses a biometric concept to facilitate the attendance system in educational
institutes. It uses the most reliable way of uniquely identifying students through fingerprint
reading. Such type of application is very useful in school as well as in college for daily
attendance. Through this application we can keep a systematic track of student’s attendance.
This project enables the easy way of maintaining class attendance with fewer efforts.
It can be later implemented for the teaching staff. The purpose of developing attendance
management system is to computerized the tradition way of taking attendance. Another
purpose for developing this software is to generate the report automatically at the end of the
session or in the between of the session. The project requires a fingerprint reader for finger
detection. Every student can login to the system through finger detection. The fingerprint of
the student is compared with the one stored in database and if it matches then attendance is
marked for that particular student. The system also generates a brief report of attendance
from the database according to subject-wise or date-wise as required. A defaulter list can be
generated through system. Admin has the option to take a print of the reports and defaulter
list thus generated.
CHAPTER 1
INTRODUCTION
1.1 Using fingerprint recognition system for attendance management
Student academic attendance is very important since it will affect the
students from gaining knowledge and skills as well as their grades. This project
has related about the student attendance system through the matching of their
fingerprint to confirm their attendance. The main purpose of carrying out this
project is to develop a hybrid student attendance system for which desktop-
based application is developed to obtain the attendance of student by fingerprint
and post/review the attendance results using web-based student attendance
system. As we know, there is one and only one fingerprint occurs in the world
for each person which will never has duplication. So, fingerprint attendance
system can be known as the best authentication to detect the individual student
attendance record. In addition, according to the technology nowadays, it is not
unusual anymore to take the attendance of students through their fingerprint.
Nowadays, most universities and colleges are still using the traditional
attendance system which requires student to sign on a piece of paper every time
they attend a class throughout the whole semester. Using the traditional
attendance system, we can obviously see that there are few problems such as it
will be no backup for the attendance records once the lecturer accidentally lost
the attendance sheet, course mate help those who did not attend the class sign
the attendance which also known as buddy-signing as well, hard in analyzing
and tracking student performances based on attendance factor, student lack of
knowledge and skills due to the poor attendance in attending classes, and etc. It
is important to overcome these problems since it will help in improving the
academic performance of students as well as the teaching environment of the
lecturers. Hence, the purpose of carrying out this project is to prevent unwanted
situation occur and to find out the problems that causes these problems as well
as find the solutions to overcome these problems. Thus, through the problems
analyzed, the objective of this project is to develop a desktop-based and web-
based fingerprint student attendance system in recording their attendance
effectively in every class in order to prevent student skip classes. Next, the
developed system will provide the report generation regarding to the student
attendance in order to assist the lecturer/staff in analyze and tracking the student
attendance. By implementing the developed system, lecturers will no more
facing the empty classroom every time while they are lecturing in front the
stage. Other than that, student will not be able to ask their buddy to sign for
them anymore since the system requires their fingerprint to prove their
attendance in the class. In addition, it will be easier to evaluate and analyze the
student performance based on their attendance since the system will record the
attendance more accurately and efficiently with minimum possible error.
CHAPTER 2
SYSTEM SPEDIFICATIONS
• RAM : 4 GB
• FINGERPRINT
Object oriented.
Component oriented.
Easy to learn.
Structured language.
The .Net framework is a revolutionary platform that helps you to write the following
types of applications:
Windows applications
Web applications
Web services
The .Net framework applications are multi – platform applications. The framework
has been designed in such a way that it can be used from any of the following languages:
Visual Basic, C#, C++, Jscript, and COBOL, etc.All these languages can access the
framework as well as communicate with each other.
The .Net framework consists of an enormous library of codes used by the client
languages like VB.Net. These languages use object - oriented methodology.
Windows Forms
ADO.Net
The last two are free. Using these tools, you can write all kinds of VB.Net programs
from simple command - line applications to more complex applications. Visual Basic Express
and Visual Web Developer Express edition are trimmed down versions of Visual Studio and
has the same look and feel. They retain most features of Visual Studio. In this tutorial, we
have used Visual Basic 2010 Express and Visual Web Developer (for the web programming
chapter). You can download it from here. It gets automatically Istalled in your machine.
Please note that you need an active internet connection for installing the express edition.
Introduction to SQL
Oracle SQL includes many extensions to the ANSI/ISO standard SQL language, and
Oracle tools and applications provide additional statements. The Oracle tools SQL*Plus and
Oracle Enterprise Manager let you run any ANSI/ISO standard SQL statement against an
Oracle database, as well as additional statements or functions that are available for those
tools.
Although some Oracle tools and applications simplify or mask SQL use, all database
operations are performed using SQL. Any other data access method circumvents the security
built into Oracle Database and potentially compromises data security and integrity.
SQL Statements:
All operations performed on the information in Oracle Database are run using
SQL statements. A statement consists of identifiers, parameters, variables, names, datatypes,
and SQL reserved words. SQL reserved words have special meaning in SQL and cannot be
used for any other purpose. For example, SELECT and UPDATE are reserved words and
cannot be used as table names.
Only complete SQL statements can be run. A fragment such as the following
generates an error indicating that more text is required before a SQL statement can run:
SELECT last_name;
Data manipulation language (DML) statements query or manipulate data in existing schema
objects. They enable you to:
Retrieve or fetch data from one or more tables or views (); fetches can be scrollable
(see "Scrollable Cursors").
Lock a table or view, temporarily limiting other users' access (LOCK TABLE).
DML statements are the most frequently used SQL statements. Some examples of DML
statements are:
’14-FEB-1988’,1600,500,30);
When a DML statement encounters an error, the statement can continue processing
while the error code and the associated error message text is logged to an error logging table.
This is particularly helpful to long-running, bulk DML statements. After the DML operation
completes, you can check the error logging table to correct rows with errors.
New syntax is added to the DML statements to provide the name of the error logging
table, a statement tag, and a reject limit. The reject limit determines whether the statement
should be aborted. For parallel DML operations, the reject limit is applied for each slave. The
only values for the reject limit that are precisely enforced on parallel operations are zero and
unlimited.
With data conversion errors, Oracle Database tries to provide a meaningful value to log for
the column. For example, it could log the value of the first operand to the conversion operator
that failed. If a value cannot be derived, then NULL is logged for the column.
Data definition language (DDL) statements define, alter the structure of, and drop schema
objects. DDL statements enable you to:
Create, alter, and drop schema objects and other database structures, including the
database itself and database users (CREATE, ALTER, DROP).
DDL statements implicitly commit the preceding commands and start new transactions. Some
examples of DDL statements are:
Transaction control statements manage the changes made by DML statements and group
DML statements into transactions. They enable you to:
Undo the changes in a transaction, since the transaction started or since a savepoint
(ROLLBACK).
Alter the current session by performing a specialized function, such as enabling and
disabling the SQL trace facility (ALTERSESSION).
Enable and disable roles (groups of privileges) for the current session (SET ROLE).
System control statements change the properties of the Oracle database instance. The
only system control statement is ALTERSYSTEM. It enables you to change settings (such as
the minimum number of shared servers), terminate a session, and perform other tasks.
Embedded SQL statements incorporate DDL, DML, and transaction control statements
within a procedural language program. They are used with the Oracle precompilers.
Embedded SQL statements enable you to:
Oracle Database automatically notices when applications send similar SQL statements
to the database. The SQL area used to process the first occurrence of the statement
is shared—that is, used for processing subsequent occurrences of that same statement.
Therefore, only one shared SQL area exists for a unique statement. Because shared SQL
areas are shared memory areas, any Oracle Database process can use a shared SQL area. The
sharing of SQL areas reduces memory use on the database server, thereby increasing system
throughput.
Parsing
Parsing is one stage in the processing of a SQL statement. When an application issues a
SQL statement, the application makes a parse call to Oracle Database. During the parse call,
Oracle Database:
Determines whether the process issuing the statement has privileges to run it.
Oracle Database also determines whether or not there is an existing shared SQL area
containing the parsed representation of the statement in the library cache. If so, the user
process uses this parsed representation and runs the statement immediately. If not, Oracle
Database generates the parsed representation of the statement, and the user process allocates a
shared SQL area for the statement in the library cache and stores its parsed representation
there.
Note the difference between an application making a parse call for a SQL statement and
Oracle Database actually parsing the statement.
A parse call by the application associates a SQL statement with a private SQL area.
After a statement has been associated with a private SQL area, it can be run
repeatedly without your application making a parse call.
A parse operation by Oracle Database allocates a shared SQL area for a SQL
statement. Once a shared SQL area has been allocated for a statement, it can be run
repeatedly without being reparsed.
Both parse calls and parsing can be expensive relative to execution, so perform them as
seldom as possible.
See Also:
"Overview of PL/SQL"
Although parsing a SQL statement validates that statement, parsing only identifies errors that
can be found before statement execution. Thus, some errors cannot be caught by parsing. For
example, errors in data conversion or errors in data (such as an attempt to enter duplicate
values in a primary key) and deadlocks are all errors or situations that can be encountered and
reported only during the execution stage.
Query Processing
Queries are different from other types of SQL statements because, if successful, they return
data as results. Whereas other statements simply return success or failure, a query can return
one row or thousands of rows. The results of a query are alwaysin tabular format, and the
rows of the result are fetched (retrieved), either a row at a time or in groups.
Several issues relate only to query processing. Queries include not only
explicit SELECT statements but also the implicit queries(subqueries) in other SQL
statements. For example, each of the following statements requires a query as a part of its
execution:
In particular, queries:
Can require the describe, define, and fetch stages of SQL statement processing.
SQL Processing
This section introduces the basics of SQL processing. It starts with a flowchart of
typical SQL statement execution which generally covers most types of SQL statements.
Followed by a general description of the stages of SQL statement processing, and then a
section indicating how the flowchart and description may differ for different types of SQL
statements.
CHAPTER 3
SYSTEM ANALYSIS
3.1 EXISTING SYSTEM
There is some strength that can be found in the desktop-based attendance system. First
of all, the system can be known as a computerized system that reduces the workload of the
users in managing the attendance records. Compared to the traditional attendance system, it
offered costeffectiveness since it reduces the paper needed to process the data of the student
attendance records. In addition, it will also help the lecturers save up a lot of time in
recording the attendance of the students throughout the whole semester.
3.2 DISADVANTAGE
No backup for the attendance records once the lecturer accidentally lost the
attendance sheet.
Throughout the whole semester, lecturer will only record and evaluate the student
attendance through a piece of attendance sheet.
Almost last few weeks before the semester end, the student attendance will be key-in
to the current system by lecturer in order to generate the bar-list report.
But if the lecturer lost the attendance sheet, which mean the record will be lost as well
and lecturer will end up unable to enter the correct attendance records to the system at
the last few weeks of the semester.
Student Module
In the student module, it allows the user to enter the information of all students in a
school, college, and university. There is some functionality provided in the student module
which includes view student records, enter new student records, and update student records.
Fingerprint Module
In the fingerprint module, it is used to store the fingerprint of all the student into the
system for future matching while the student attend every class for the subjects they had
registered before. First of all, students will require to registers their fingerprint into the
system while first coming to the school, college or university after successfully applies as a
student in that school. Then, every time they attend a class, they will need to scan their
fingerprint through the hardware provided within a class in order to do fingerprint matching
with the fingerprint record that had been stored in the system. Attendance will be
automatically signed by the system once the student’s fingerprint match the fingerprint record
in the system. If the fingerprint of the student does not exist in the system while doing
matching, system will prompt out message showing “Invalid fingerprint” whereas once the
matching successful, system will also prompt out successful message showing “Attendance
taken” to let the student know.
Attendance Module
In the attendance module, it is used to take the attendance of the student who attends
the classes. First of all, for those students who late to class more than 15 minutes will be
automatically known as absent by the system. It is because due to the university’s policy,
students are considered late and attendance will not be taken after 15 minutes. So same to this
system if following the university’s policy, student’s attendance will not be taken for those
who late for more than 15 minutes. However, if the student coming late with a reason and it is
accepted by the lecturer, the lecturer will have the right to manually change the attendance
status of the student through the website provided.
Report Module
In the report module, it is used to let the users generate the report regarding to the
student attendance record. First of all, every time the class ended, the student attendance list
record for that class will be automatically sent to the system and stored. The report will be
student attendance for whole semester as well as auto calculated bar-list report at the end of
the semester. It is to ease the lecturer and user in analyzing the student attendance for the
whole semester. In addition, the system will automatically calculate each individual student
attendance percentage for that semester and come out with bar-list report that automatically
showing the name of student who had been barred. User will only need to generate the report
without do much calculation and customization.
CHAPTER 5
SYSTEM DESIGN
The input design is the link between the information system and the user. It comprises
the developing specification and procedures for data preparation and those steps are
necessary to put transaction data in to a usable form for processing can be achieved by
inspecting the computer to read data from a written or printed document or it can occur by
having people keying the data directly into the system. The design of input focuses on
controlling the amount of input required, controlling the errors, avoiding delay, avoiding
extra steps and keeping the process simple. The input is designed in such a way so that it
provides security and ease of use with retaining the privacy. Input Design considered the
following things:
OBJECTIVES
1.Input Design is the process of converting a user-oriented description of the input into a
computer-based system. This design is important to avoid errors in the data input process and
show the correct direction to the management for getting correct information from the
computerized system.
2. It is achieved by creating user-friendly screens for the data entry to handle large volume of
data. The goal of designing input is to make data entry easier and to be free from errors. The
data entry screen is designed in such a way that all the data manipulates can be performed. It
also provides record viewing facilities.
3.When the data is entered it will check for its validity. Data can be entered with the help of
screens. Appropriate messages are provided as when needed so that the user will not be in
maize of instant. Thus the objective of input design is to create an input layout that is easy to
follow
A quality output is one, which meets the requirements of the end user and presents the
information clearly. In any system results of processing are communicated to the users and to
other system through outputs. In output design it is determined how the information is to be
displaced for immediate need and also the hard copy output. It is the most important and
direct source information to the user. Efficient and intelligent output design improves the
system’s relationship to help user decision-making.
1. Designing computer output should proceed in an organized, well thought out manner; the
right output must be developed while ensuring that each output element is designed so that
people will find the system can use easily and effectively. When analysis design computer
output, they should Identify the specific output that is needed to meet the requirements.
3.Create document, report, or other formats that contain information produced by the system.
The output form of an information system should accomplish one or more of the following
objectives.
Future.
Trigger an action.
Confirm an action.
CHAPTER 6
SYSTEM TESTING
TYPES OF TESTS
Unit testing involves the design of test cases that validate that the internal program
logic is functioning properly, and that program inputs produce valid outputs. All decision
branches and internal code flow should be validated. It is the testing of individual software
units of the application .it is done after the completion of an individual unit before
integration. This is a structural testing, that relies on knowledge of its construction and is
invasive. Unit tests perform basic tests at component level and test a specific business
process, application, and/or system configuration. Unit tests ensure that each unique path of a
business process performs accurately to the documented specifications and contains clearly
defined inputs and expected results.
Functional tests provide systematic demonstrations that functions tested are available
as specified by the business and technical requirements, system documentation, and user
manuals.
System testing ensures that the entire integrated software system meets requirements.
It tests a configuration to ensure known and predictable results. An example of system testing
is the configuration oriented system integration test. System testing is based on process
descriptions and flows, emphasizing pre-driven process links and integration points.
White Box Testing is a testing in which in which the software tester has knowledge of
the inner workings, structure and language of the software, or at least its purpose. It is
purpose. It is used to test areas that cannot be reached from a black box level.
6.6 Black Box Testing
Black Box Testing is testing the software without any knowledge of the inner
workings, structure or language of the module being tested. Black box tests, as most other
kinds of tests, must be written from a definitive source document, such as specification or
requirements document, such as specification or requirements document. It is a testing in
which the software under test is treated, as a black box .you cannot “see” into it.
Unit testing is usually conducted as part of a combined code and unit test phase of the
software lifecycle, although it is not uncommon for coding and unit testing to be conducted as
two distinct phases.
Field testing will be performed manually and functional tests will be written in detail.
Test objectives
Features to be tested
Test Results:
All the test cases mentioned above passed successfully. No defects encountered.
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional
requirements.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.
CHAPTER 7
CONCLUSION AND FUTUREWORK
Fingerprint recognition attendance system will be developed to replace the traditional
attendance system that are currently widely using by many colleges and universities. This
project will be considered succeed once hybrid student attendance is developed. This system
is designed to make the whole attendance taking process to become more reliable,
convenient, efficient, and accurate. Besides that, with the implementation of biometric
technology will help in reduce errors and attendance data will be able to compile in easier
way.
This project is designed to aim in eliminating spotted problems during the initial
analysis. The problems spotted are includes buddy-signing, loss of attendance sheet, skip
class issue, and hard in analyzing student attendance record from time-totime. These
problems are the major problems faced by most colleges and universities. If view from the
Pareto analysis side which also known as 80-20 rule, 80 percent of the problems are always
caused by the 20 percent problems. In short, it means that most of the problems faced are
mostly because of the usage of traditional student attendance system. Therefore, this project
is designed in effort to eliminate these problems. Some solution had been applied to eliminate
these problems which includes the use of biometric technology, change the current system to
fully-computerized system, provide easier way to generate report, and student lateness policy
to eliminate “lastminute come in take attendance” kind of student.
With the proposed solutions, obviously seen not only can eliminate these spotted
problems but at the same time also promote a very reliable ways in managing the student
attendance record. On the other hand, from the survey questionnaire data, most of the
participants are agree that student attendance in a class to increase their knowledge is very
important. Last but not least, college/university with good academy students is also very
important as it will affect that college/university reputation.
CHAPTER 8
REFERENCES
1. Information or article from a website with authors: Ivanilson, F. et al.
(2012). Developing an automatic attendance register system for CPUT.
Available at: [Accessed 10 July 2014].
2. Subramaniam, H. et al. (2013). Bar Code Scanner Based Student
Attendance System (SAS). Available at: [Accessed 11 July 2014].
Marvia, D. (2011, June 5). Review of Literature for Improving Attendance
in Secondary Schools. Available at: [Accessed 13 July 2014].
3. Hasnieza, M. (2005). Monitoring Attendance School through SMS.
Available at: [Accessed 16 July 2014].
4. Pallavi, V. et al. (2013, October 10). Fingerprint Based Student
Attendance System Using GSM. Available at: [Accessed 16 July 2014].
5. Rishabh, M. et al. (2011, May 9). Student Attendance System Based on
Fingerprint Recognition and One-to-Many Matching. Available at:
[Accessed 17 July 2014].
6. Mohd Zamzury, A. (2008, April). Attendance Management System using
Fingerprint Scanner. Available at: [Accessed 21 July 2014].
7. Abhishek, Jha. (2011). Classroom Attendance System Using Facial
Recognition System. Available at: [Accessed 22 July 2014].
8. Mohammad, A. et al. (2013, December). Integrated System for
Monitoring and Recognizing Students during Class Session. Available at:
[Accessed 23 July 2014].
CHAPTER 9
APPENDICES
9.1 SOURCE CODE
Dim cou As Long
Private wincount As Integer
mStudentId = ""
If CmbApplnNo.ListIndex <> -1 Then
mStudentId = Right(CmbApplnNo.Text, 8)
End If
Ftcon.BeginTrans
'Checking duplicate
tNo = 0
mStudentId = ""
If CmbApplnNo.ListIndex <> -1 Then
mStudentId = Right(Trim(CmbApplnNo.Text), 8)
End If
If mStudentId = "" Then
mStudentId = GetTranNo("StudentID", "", "")
End If
sql = "Select count(*) as cnt from M_StudentDetails where cancelled <> 'Y' and
studentID <> '" & mStudentId & "' and Applnno = '" & Trim(TxtApplnno.Text) & "'"
tNo = GetVal(sql, "cnt", 0, Ftcon)
If tNo > 0 Then
Ftcon.RollbackTrans
MsgBox "Application No. already exists", vbInformation
TxtApplnno.SetFocus
Exit Sub
End If
mAdd = " "
mAdd = Padr(TxtAdd1.Text, 113, " ") & Padr(TxtAdd2.Text, 112, " ")
afld = Array("StudentID", "ApplnNo", "Applndate", "StudentName", "YearID",
"DOB", "SchoolID", "ClassID", "SectionID", "Sex", "Address", "Pincode",
"CityID", "StateID", "ResiPhone", "MobilePhone", "Cancelled", "ModUserId",
"ModUserdate")
vfld = Array(mStudentId, Trim(UCase(TxtApplnno.Text)), IIf(IsDate(MskDate) =
True, Format(MskDate.Text, "dd/MMM/yyyy"), Format(GetServerDate,
"dd/MMM/yyyy")), Trim(TxtStudentName.Text), Right(Trim(CmbYear.Text), 8),
Format(DtPDOB.Value, "dd/MMM/yyyy"), Right(Trim(CmbSchoolName.Text), 8),
Right(Trim(CmbClassName.Text), 8), Right(Trim(CmbSectionName.Text), 8),
IIf(OptMale.Value = True, "M", "F"), mAdd, Trim(TxtPincode.Text), mCityID,
mStateID, Trim(TxtResPhone.Text), Trim(TxtMobileNo.Text), "N", mCurUserID,
Format(GetServerDate(), "dd/MMM/yyyy HH:MM:SS"))
Ftcon.Execute ("Update M_StudentDetails set cancelled = 'Y' where studentid = '" &
mStudentId & "' and cancelled <> 'Y'")
sql = GetSQLString("M_StudentDetails", "I", afld, vfld)
Ftcon.Execute (sql)
Exit Sub
Ftcon.BeginTrans
tNo = GetVal("Select count(*) as cnt from M_Year where YearName = '" &
Trim(TxtYear.Text) & "' and YearID <> '" & mYearID & "' and cancelled <> 'Y'",
"cnt", 0, Ftcon)
If tNo > 0 Then
Ftcon.RollbackTrans
MsgBox "Year Exist", vbCritical
TxtYear.SetFocus
Exit Sub
End If
If mYearID = "" Then
mYearID = GetTranNo("YearID", "", "")
End If