Current Attendance Tracking System:
Papers Waste of resources Bins full of papers Signatures Cheating (Illegal)
Presentation Outline
Objective Background
Biometrics Fingerprint Sensors Database Application Server
System Requirements System Architecture Database Design Prototype Implementation
Application Server Fingerprint Terminal Emulator Web Interface
Testing Security Conclusion Demo
3
Objective
To implement a system that track attendance using:
Database system:
Track of all information
Fingerprints:
Identity Recognition
Automatically generates absent warning
4
Background
5
Biometrics
What Biometric is?
Types of Biometrics: Properties Fingerprints are unique for each finger of a person non-intrusive, hands-free, continuous and accepted by most users Easy to implement It does not require physical contact with a scanner, Expensive. These methods of personal authentication are well established. Uses the dynamic analysis of a signature to authenticate a person.
Fingerprints Face Recognition Speaker Recognition Iris Recognition Hand and Finger Geometry Signature Verification
6
Fingerprint Sensors
Fingerprint sensors Optical Ultrasonic how its work? Capture a digital image of the fingerprint. Use very high frequency sound waves to enter the epidermal layer of skin. Use the principles associated with capacitance in order to form fingerprint images. price 50 -100 $ 500-1000 $
Capacitance
100-150 $
Thermal Sensors
Use the same pyro-electric material that is used in infrared cameras.
Low radio frequency (RF) signal is applied to the user’s finger.
200 $
RF Sensors
200 $
7
Database
Files Vs. DBMS
Files Complex Code for Queries Security of Data
RDBMS
8
Application Server
Using PHP under LAMP (GNU/Linux , Apache , MySQL, PHP) CodeIgniter:
Open source PHP web application framework Small footprint MVC structured code (Model-View-Controller) Internal security features (XSS Filtering, Encryption classes, input validation classes)
9
System Requirements
Non-Functional Requirements
Cost-effective
Open source
Usability
10
System Requirements
Functional Requirements
Instructor enable the terminal (tracking) Students register attendance (fingerprint) Record absentees Send notification email to them Generate warnings automatically Instructor detailed reports of attendance in his classes (web interface)
11
System Use-Case Diagram
12
ECCE5009
Wednesday Class Started
8:00am
ECCE5009
Wednesday End of the Class
10:00am
Attendees • Ishaq • Al Muatasim
13
System Architecture
Decentralized Vs. Centralized. Factors - Fingerprints Capacity - Labor work Centralized Wins !! - Flexibility
14
System Architecture
15
ER Diagram
16
Database Design
17
Prototype Implementation
18
Application Server
All responses are encoded in JSON (JavaScript Object Notation)
Binary Data are Base64 encoded
Provide a pre-defined tasks to the fingerprint terminal
Authorize instructors Provide a list of students along with their fingerprints in the current class using instructor id & current date and time Add absent students to the database.
Limit what users can do with the database.
19
Fingerprint Terminal Emulator
Written in Java Object Oriented Programming paradigm Using Eclipse as an integrated development environment Futronic Fingerprint Software Development Kit for fingerprint matching “json_simple” for JSON encoding & decoding Communicate with the Application server using HTTP protocol Emulate both the numbered keyboard and the LCD screen Communicate with the fingerprint sensor using Futronic Fingerprint SDK
20
Web Interface
Levels of Access
One level Instructor
Functions:
Detailed Report of Students’ Attendance in a Section View, edit absence records Email Approve Warnings
21
Testing
Validation Testing
Fingerprint Terminal Database Web Interface
Release Testing
Class Attendance Tracking Database System
22
Security
Avoid Security By Obscurity Allow only authorized users to gain access Restrictive regarding which characters to allow in URL strings Filter the data as if it were tainted Validate the data to ensure it confirms the correct type, length and size Escape the data before submitting it into the database All cookies are encrypted
23
Conclusion
Engineering Aspects
Sustainability & Manufacturability
Prototype Implementation
Economic
24
Conclusion
Standards
Fingerprint Terminal Emulator
Java Standard Edition 6 (1.6) XHTML 1.0 (A Reformulation of HTML 4 in XML 1.0) Cascading Style Sheets 2.1 (CSS 2.1) ECMAScript (aka. JavaScript) ECMA-262 specification and ISO/IEC 16262 Hypertext Transfer Protocol -- HTTP/1.1 (RFC 2616) JSON (JavaScript Object Notation) (RFC 4627) 25
Web Interface
Communication
Conclusion
Why SQU should adapt this solution?
Environment (paperless) Lower total-cost of ownership Time-effective Easy and fast access to data Less human error (more affective tracking system)