smart doorbell system using fingerprint authentication€¦ · smart doorbell system using...
TRANSCRIPT
Smart DoorBell System Using Fingerprint Authentication
Smart DoorBell System
Using Fingerprint Authentication
Project Team Members:
Hashim Fuad Al-Qataberi
Muhammed Abdurrahman Al-Mutawakkel
Project Supervisor:
Dr. Nagi Al-Shaibany
This Project was Submitted in Partial Fulfillment of the Requirements for
the Bachelor’s Degree of Information Systems
2014 - 2015
Ministry of Higher Education
& Scientific Research
Sana’a University
Faculty of Computer & IT
Information Systems Department
وزارة الـتعـليم العالي
والـبـحث الــعـلمي
جامـعـة صـنـعـاء
كلية الحاسوب وتكـنولوجـيا المعـلومات
قـســم نـظـم الـمـعـلـومـات
i
Smart DoorBell System Using Fingerprint Authentication
DEDICATION
This work is dedicated to our families for their unconditional
support. A special feeling of pride and gratitude to our parents who set
everything ready to provide us with a suitable studying environment and
whose words of encouragement and support had a powerful effect in our
souls. Special thanks go to our sisters and brothers who stood by us during
the development of this project.
ii
Smart DoorBell System Using Fingerprint Authentication
ACKNOWLEDGEMENT
We would like to express our utmost gratitude to our supervisor Dr. Nagi
Al-Shaibany for his priceless time and endless encouragement and support.
Thank you for believing in us. Thank you for being very tolerant and
patient with us especially during the tougher times .
We extend our heartfelt gratitude to our teacher Eng. Marwa Alhadi for
her encouragement. Thanks for being such a wonderful motivator.
We would like also to extend our gratitude to Eng. Neama Abdulaziz for
her continuous support during the different phases of the project
development and for helping us throughout this document.
Finally, we thank every single person who has assisted us in our project,
either by a suggestion, an idea, a complement, or even a single word.
Thanks for all of you, and for your contribution in this project.
iii
Smart DoorBell System Using Fingerprint Authentication
TABLE OF CONTENTS DEDICATION .............................................................................................................................................................. I ACKNOWLEDGEMENT .......................................................................................................................................... II TABLE OF CONTENTS .......................................................................................................................................... III LIST OF FIGURES .....................................................................................................................................................V LIST OF TABLES ..................................................................................................................................................... VI
ABSTRACT ................................................................................................................................................................. 1
1. CHAPTER ONE: INTRODUCTION .............................................................................................................. 2
1.1. INTRODUCTION ..................................................................................................................................................... 3 1.2. BACKGROUND ........................................................................................................................................................ 3 1.3. PROBLEM STATEMENT ...................................................................................................................................... 3 1.4. OBJECTIVES OF THE SYSTEM .......................................................................................................................... 4 1.5. ACCEPTANCE CRITERIA ..................................................................................................................................... 4 1.6. SYSTEM DEFINITION ........................................................................................................................................... 4 1.7. PURPOSE ................................................................................................................................................................... 4 1.8. SYSTEM GOAL ......................................................................................................................................................... 4 1.9. USER CHARACTERISTICS .................................................................................................................................. 5 1.10. SYSTEM LIMITATIONS AND CONSTRAINTS ............................................................................................. 5 1.11. ASSUMPTIONS AND DEPENDENCIES ........................................................................................................... 5 1.12. SCOPE ......................................................................................................................................................................... 5 1.13. METHODOLOGIES ................................................................................................................................................. 6
1.13.1. System Development Life Cycle ........................................................................................................... 6 1.13.2. Requirements Gathering ......................................................................................................................... 6 1.13.3. System Modeling ......................................................................................................................................... 6
1.14. RELATED WORK .................................................................................................................................................... 7 1.15. PROJECT PLAN ........................................................................................................................................................ 7
2- CHAPTER TWO: LITERATURE REVIEW ................................................................................................. 8
2.1. FEASIBILITY STUDY ............................................................................................................................................. 9 2.1.1. Technical Feasibility.................................................................................................................................. 9
2.1.1.1. Technical Feasibility - Hardware ........................................................................................................................ 9 2.1.1.2. Technical Feasibility - Software ........................................................................................................................... 9
2.1.2. Scheduling Feasibility ............................................................................................................................ 10 2.1.3. Economic Feasibility .............................................................................................................................. 10 2.1.4. Operational Feasibility .......................................................................................................................... 11
2.1.4.1. Performance: .............................................................................................................................................................. 11 2.1.4.2. Information:................................................................................................................................................................ 11 2.1.4.3. Economic: .................................................................................................................................................................... 11 2.1.4.4. Control/Security: ..................................................................................................................................................... 11 2.1.4.5. Efficiency: .................................................................................................................................................................... 12 2.1.4.6. Services: ........................................................................................................................................................................ 12
2.1.5. Social and Ethical Considerations (Cultural) .............................................................................. 12 2.1.6. Legal Feasibility........................................................................................................................................ 12 2.1.7. Conclusion .................................................................................................................................................. 12
2.2. FACT FINDING TOOLS ...................................................................................................................................... 13 2.2.1. Sampling of Existing Systems ............................................................................................................. 13 2.2.2. Research and Site Visits ........................................................................................................................ 13 2.2.3. Questionnaires. ......................................................................................................................................... 13
iv
Smart DoorBell System Using Fingerprint Authentication
3- CHAPTER THREE: REQUIREMENTS SPECIFICATION ..................................................................... 14
3.1. INTRODUCTION .................................................................................................................................................. 15 3.2. FUNCTIONAL REQUIREMENTS .................................................................................................................... 15 3.3. NON-FUNCTIONAL REQUIREMENTS ........................................................................................................ 15
3.3.1. Usability: ...................................................................................................................................................... 15 3.3.2. Dependability: ........................................................................................................................................... 16 3.3.3. Performance: ............................................................................................................................................. 16 3.3.4. Supportability: .......................................................................................................................................... 17 3.3.5. Pseudo Requirements: .......................................................................................................................... 17 3.3.6. Validation: ................................................................................................................................................... 17
3.4. SYSTEM MODELS ................................................................................................................................................ 17 3.4.1. Scenarios: .................................................................................................................................................... 17
3.4.1.1. Login: ............................................................................................................................................................................. 17 3.4.1.2. Enroll New User: ...................................................................................................................................................... 17 3.4.1.3. Mange Users: .............................................................................................................................................................. 18 3.4.1.4. Access Home: ............................................................................................................................................................. 18
3.4.2. Use Case Modeling: ................................................................................................................................. 18 3.4.2.1. Use Case Actors:........................................................................................................................................................ 19 3.4.2.2. Use Case Details: ....................................................................................................................................................... 20
3.4.3. Object Modeling: ...................................................................................................................................... 27 3.4.3.1. Sequence Diagrams: ............................................................................................................................................... 27 3.4.3.2. Class Diagram: ........................................................................................................................................................... 30
3.4.4. Dynamic Modeling: ................................................................................................................................. 31 3.4.4.1. State Chart Diagrams: ............................................................................................................................................ 31 3.4.4.2. Activity Diagrams: ................................................................................................................................................... 32
3.4.5. Database Modeling: ................................................................................................................................ 35 3.4.5.1. ERD: ................................................................................................................................................................................ 35 3.4.5.2. ER Schema: .................................................................................................................................................................. 36
4- CHAPTER FOUR: SYSTEM IMPLEMENTATION ................................................................................. 37
4.1. OVERVIEW ............................................................................................................................................................ 38 4.2. DATABASE BUILDING ...................................................................................................................................... 38
4.2.1. USERS table: ............................................................................................................................................... 38 4.2.2. FINGERPRINTS table: ............................................................................................................................ 38 4.2.3. MINUTIAE table: ...................................................................................................................................... 38
4.3. INTERFACE BUILDING ..................................................................................................................................... 39 4.4. INTEGRATION AND SYSTEM TESTS (IST) ............................................................................................... 46
4.4.1. System Testing: ........................................................................................................................................ 46 4.4.2. Integration Testing: ................................................................................................................................ 46
4.4.2.1. Test System Installation: ...................................................................................................................................... 47 4.4.2.2. Test Log-in ................................................................................................................................................................... 48 4.4.2.3. Test Add User ............................................................................................................................................................. 48 4.4.2.4. Test Edit user ............................................................................................................................................................. 49 4.4.2.5. Test Change Password .......................................................................................................................................... 49
5- CHAPTER FIVE: RECOMMENDATIONS ................................................................................................ 50
5.1. OVERVIEW ............................................................................................................................................................ 51 5.2. SUGGESTIONS ...................................................................................................................................................... 51 5.3. FUTURE PLANS ................................................................................................................................................... 51 5.4. RECOMMENDATIONS....................................................................................................................................... 51
APPENDIX A: SURVEY ......................................................................................................................................... 52 APPENDIX B: SOURCE CODE ............................................................................................................................ 57 REFERENCES .......................................................................................................................................................... 63
v
Smart DoorBell System Using Fingerprint Authentication
LIST OF FIGURES
Figure 1: The Waterfall Model .......................................................................................................................... 6
Figure 2: Gantt chart............................................................................................................................................. 7
Figure 3: Project Schedule .............................................................................................................................. 10
Figure 4: Use Case Model ................................................................................................................................. 18
Figure 5: Sequence Diagram: Login by Fingerprint.............................................................................. 27
Figure 6: Sequence Diagram: Login by Password ................................................................................. 27
Figure 7: Sequence Diagram: Enroll New User ...................................................................................... 28
Figure 8: Sequence Diagram: Manage Users ........................................................................................... 28
Figure 9: Sequence Diagram: Update User Record ............................................................................... 29
Figure 10: Sequence Diagram: Delete User ............................................................................................. 29
Figure 11: Sequence Diagram: Access Home .......................................................................................... 30
Figure 12: Class Diagram ................................................................................................................................. 30
Figure 13: Statechart Diagram: User Interface ....................................................................................... 31
Figure 14: Statechart Diagram: Fingerprint Module............................................................................ 32
Figure 15: Activity Diagram: Login ............................................................................................................. 32
Figure 16: Activity Diagram: Enroll New User ....................................................................................... 33
Figure 17: Activity Diagram: Manage Users ............................................................................................ 34
Figure 18: Activity Diagram: Update User Record ................................................................................ 34
Figure 19: Activity Diagram: Delete User ................................................................................................. 34
Figure 20: Activity Diagram: Access Home .............................................................................................. 35
Figure 21: Entity Relationship Diagram .................................................................................................... 35
Figure 22: ER Schema ....................................................................................................................................... 36
Figure 23: Language Screen ........................................................................................................................... 39
Figure 24: Owner Details Tab Page - Installation .................................................................................. 39
Figure 25: Fingerprints Tab Page - Installation ..................................................................................... 40
Figure 26: Password Tab Page - Installation ........................................................................................... 40
Figure 27: Home Info Tab Page - Installation ......................................................................................... 41
Figure 28: Login Window ................................................................................................................................ 41
Figure 29: Main Menu ....................................................................................................................................... 42
Figure 30: User Details Tab Page - Enrollment Screen ....................................................................... 42
Figure 31: Fingerprints Tab Page - Enrollment Screen ...................................................................... 43
Figure 32: Management Window ................................................................................................................. 43
Figure 33: Edit User Window ........................................................................................................................ 44
Figure 34: General Settings Tab Page - Settings Window .................................................................. 44
Figure 35: Password Tab Page - Settings Window ............................................................................... 45
Figure 36: Home Info Tab Page - Settings Window. ............................................................................. 45
Figure 37: About Window ............................................................................................................................... 46
vi
Smart DoorBell System Using Fingerprint Authentication
LIST OF TABLES Table 1: User Characteristics ............................................................................................................................ 5
Table 2: Economic Feasibility ........................................................................................................................ 11
Table 3: Actor Details (User) ......................................................................................................................... 19
Table 4: Actor Details (Authorized User) ................................................................................................. 19
Table 5: Actor Details (Admin) ..................................................................................................................... 19
Table 6: Use Case Details (Login by Password) ..................................................................................... 20
Table 7: Use Case Details (Login by Fingerprint) .................................................................................. 21
Table 8: Use Case Details (Enroll New User)........................................................................................... 22
Table 9: Use Case Details (Manage Users) ............................................................................................... 23
Table 10: Use Case Details (Update User Record) ................................................................................ 24
Table 11: Use Case Details (Delete User) .................................................................................................. 25
Table 12: Use Case Details (Access Home)............................................................................................... 26
1
Smart DoorBell System Using Fingerprint Authentication
ABSTRACT
Smart DoorBell System is a doorbell with a built-in access
authorization system based on fingerprint recognition technology that
captures the fingerprint of the person seeking access to the house. Smart
DoorBell System assures a more efficient and more secure way of house
access by means of comparing the scanned fingerprint with the stored
fingerprints in the database and then decides what to do next. It utilizes an
individual authentication method in order to decide whether to
automatically open the door or just ring the doorbell.
2
Smart DoorBell System Using Fingerprint Authentication
1. CHAPTER ONE:
INTRODUCTION
3
Smart DoorBell System Using Fingerprint Authentication
1.1. INTRODUCTION
This chapter provides a general introduction about the Smart DoorBell System. The
chapter describes the proposed system. It also includes the objectives of the project, the
problems of the existing systems, the methodologies we used for data gathering,
analysis, and design.
1.2. BACKGROUND
Fingerprint-based identification has been one of the most successful biometric
techniques used for personal identification. Positive identification of individuals is an
essential societal requirement. As more interactions take place electronically, it becomes
even more important to have electronic verification of a person’s identity. Biometric
solutions provide secure, effective, and efficient identification of individuals in a wide
array of applications and contexts. The deployment of biometric solutions will
ultimately create a safer and more convenient society.
Although there are so many biometric systems that use fingerprint identification, there
are no systems that are especially designed to suit a family house. Other systems have
so many drawbacks that make them inconvenient for home use, or they just do not meet
the customers’ needs and desires. Similar systems lack the primary features for making
it suitable for house use, such as, cost, simplicity, and mechanism.
1.3. PROBLEM STATEMENT
The traditional door access system faces so many challenges. In the traditional system,
you use a key to open the door, which means that you must not forget taking the keys
with you and carry them in every place you go. That may increase the possibility of
losing the keys or simply being stolen, which makes your property in an unsafe
condition. The potential of losing, forgetting, or stealing the keys has many sequences
such as, inability of accessing the property, possibility of gaining access to the property
by an unauthorized person, and the need to change all the door locks.
Another problem associated to the traditional system is the low rate of usability.
Entering the key then turning it to open the door after searching it inside the bag or the
pocket is a boring and a time consuming method. There are so many circumstances that
you need to consider in your mind before using the traditional system such as, a jammed
key because of the cold weather, a broken key, or even a non-working door lock.
4
Smart DoorBell System Using Fingerprint Authentication
1.4. OBJECTIVES OF THE SYSTEM
1) Implement a simple and effective approach for automatic house entrance by
using a fingerprint identification device that acts as a doorbell (Smart Doorbell).
2) Securing houses with biometric fingerprint technology.
3) Provide a suitable method for controlling door access for houses and small
buildings.
1.5. ACCEPTANCE CRITERIA
This project as a whole will be deemed as successful if:
1) Users have a need for increased security, and they believe that our system
increases security.
2) Smart DoorBell System is more convenient to use than previous/alternative
systems.
3) Users trust the functionality of the system and believe that it will do what it is
intended to do.
4) Users have a prior knowledge about the functionality and usefulness of
biometric identification systems in general and biometric access control systems
in specific.
1.6. SYSTEM DEFINITION
Smart DoorBell System is an integrated biometric access control system that is
specifically designed and developed to satisfy the needs of houses and small buildings.
Smart DoorBell is based on fingerprint authentication technology that identifies the
fingerprint of the user and then decides what to do next.
1.7. PURPOSE
The purpose of our project is to design and assemble a biometric access control system
that uses fingerprint identification technology and make it available and affordable for
houses.
1.8. SYSTEM GOAL
The main goal of our project is to implement a simple and effective approach for
automatic house entrance by using a fingerprint identification device that acts as a
doorbell.
5
Smart DoorBell System Using Fingerprint Authentication
1.9. USER CHARACTERISTICS
This system is designed to target specific users and accommodate specific conditions.
The potential users of our system will deal with are divided into two categories,
authorized users and visitors; we will discuss them in detail below:
Table 1: User Characteristics
1.10. SYSTEM LIMITATIONS AND CONSTRAINTS
The limitations and constraints that may hinder the progress of our project are:
1) The estimated budget to complete the project is not well defined.
2) The quality of materials is not as specified.
3) The prices of materials are escalating.
4) The resources are not available when needed.
5) Project deadlines are changing.
1.11. ASSUMPTIONS AND DEPENDENCIES
During system development, the major assumptions are:
1) The required materials are available whenever we need them.
2) The desired quality of materials is available.
3) The prices of materials are stable.
4) The project resources are available when needed.
5) No events will interfere with the project schedule.
6) The project deadlines will not change.
1.12. SCOPE
Smart DoorBell System is designed to provide home’s occupants with the ability of
accessing home using their fingerprint instead of traditional systems (e.g. keys).
Category Age Qualifications Permissions
- Authorized user 15 -> Above
- Has at least 2
enrolled
fingerprints
- Access Home.
- If the user is
admin, they can
manage users
- Visitor Any
- No specific
qualifications
required
- Ring the bell
6
Smart DoorBell System Using Fingerprint Authentication
1.13. METHODOLOGIES
1.13.1. System Development Life Cycle
In system development, so many methodologies govern the way a system is developed.
As every project has its own properties and nature, our project is more concerned with
the documentation at first so that the configuration of the project can be built correctly
later. This suggests that the project requirements must be very clear and well known.
After analyzing the nature of the project, we decided to use the waterfall development
life cycle methodology. The waterfall methodology requires that requirements must be
very well known and clearly defined. It also offers a full and complete documentation of
the project before the physical existence of the system.
Figure 1: The Waterfall Model
1.13.2. Requirements Gathering
Requirements gathering step is a main step during system development. It specifies the
needs of the user that will be implemented in the system. So many methods and ways
can be used to gather system requirements. In our project, we used two methods, direct
interviews and questionnaires through printed surveys.
1.13.3. System Modeling
UML (Unified Modeling Language) is a standard notation for the modeling of real-
world objects as a first step in developing an object-oriented design methodology. There
are so many ways to model a system using UML. In our project, we will implement a
Use Case Model, Sequence Diagrams, Activity Diagrams, and State Chart. Beside the
UML models, we will provide a block diagram that shows the different parts of the
system, and a circuit representation to provide a clear view about how electric parts of
the system are connected and linked.
7
Smart DoorBell System Using Fingerprint Authentication
1.14. RELATED WORK
1) FYP-personalized Garage Door Opener.
2) Electronic System for Personal Access Control for Fingerprint Recognition,
Remote Authentication in Database Through a WLAN.
3) A Review of Biometric Technique for Securing Corporate Stored Data.
4) Biometric Access Control System.
5) Mini-project Documentation on Biometric Based Access Control Systems.
6) Fingerprint Security Door.
7) Fingerprint Recognition Using MATLAB.
8) Locker Opening and Closing System Using RFID, Fingerprint, Password, and
GSM.
9) ECE738 Project: A Survey of Image-Based Biometric Identification Methods:
Face, Fingerprint, Iris, And Others.
10) Door-Access-Control System Based on Finger-Vein Authentication.
1.15. PROJECT PLAN
Figure 2: Gantt chart
8
Smart DoorBell System Using Fingerprint Authentication
2- CHAPTER TWO:
LITERATURE REVIEW
9
Smart DoorBell System Using Fingerprint Authentication
2.1. FEASIBILITY STUDY
A feasibility study, also known as feasibility analysis, is an analysis of the viability of
an idea. It describes a preliminary study undertaken to determine and document a
project’s viability. The results of this analysis are used in making the decision whether
to proceed with the project or not. The study is the first time in a project development
process that show whether the project creates a technical and economically feasible
concept.
2.1.1. Technical Feasibility
Assessing technical feasibility is to evaluate whether the new system will perform
adequately and whether an organization has the ability to construct the proposed system
or not. The technical assessment helps answer questions such as whether the technology
needed for the system exists, how difficult it will be to build, and whether the firm has
enough experience using that technology.
2.1.1.1. Technical Feasibility - Hardware
Microcontroller: Microcontroller is a very small, very powerful microcomputer
that performs a previously entered code that defines the system functionality.
Fingerprint sensor: A device that reads a user’s fingerprint and compares it with
the stored fingerprints in the database.
Electric door lock: This device receives an electric signal from the
microcontroller, which causes the door to be opened in case there is a match in
the database.
Doorbell: The bell receives an electric signal from the microcontroller that
triggers the bell and causes it to ring in case no match of a fingerprint found in
the database.
Power supply: An external power supply to guarantee a full-time working
system. The public power supply may not be trustworthy.
Memory card: A large-size memory chip for storing database transactions.
2-way microphone/speaker device.
Other parts of the electronic circuit such as, wires, relays, transistors, diodes,
LEDs, etc.
PC: to perform the processes of login, enroll new user, and manage users and
system.
2.1.1.2. Technical Feasibility - Software
Windows vista or higher.
Smart DoorBell Software Suite.
10
Smart DoorBell System Using Fingerprint Authentication
2.1.2. Scheduling Feasibility
Assessing schedule feasibility is to assess the duration of the project to be completed
before it is useful. In this part, we are estimating how long the system will take to
develop.
The following figure shows how we divided the 182 days into four section according to
the development life cycle.
Figure 3: Project Schedule
The figure above describes the project schedule in detail. It shows the deadlines of the
project as well as the milestones whose handover on time is mandatory.
2.1.3. Economic Feasibility
Economic evaluation is a vital part of investment appraisal, dealing with factors that can
be quantified, measured, and compared in monetary terms. The results of an economic
evaluation are considered with other aspects to make the project investment decision as
the proper investment appraisal helps to ensure that the right project is undertaken in a
manner that gives it the best chances of success.
Initiation Phase: 7 days
Task Period
Meetings 3 days: (8/11 – 11/11/2014)
Preparing System Proposal 3 days: (12/11 – 14/11/2014)
Proposal Handover 1 day: (15/11/2014)
Analysis Phase: 114 days
Task Period
System Definition & Introduction 29 days: (17/11 – 15/12/2014)
Requirements Analysis 64 days: (16/12/2014 – 17/2/2015)
System Analysis Review 15 days: (18/2 – 4/3/2015)
SRS Handover 1 day: (5/3/2015)
First System Presentation 5 days: (14/3 – 18/3/2015)
Design Phase: 25 days
Task Period
Interfaces Design 7 days: (21/3 – 27/3/2015)
System Design Documentation 10 days: (28/3 – 6/4/2015)
System Design Review 7 days: (7/4/ - 13/4/2015)
SDS Handover 1 day: (14/4/2015)
Implementation Phase: 36 days
Task Period
System Implementation & Prototyping 20 days (15/4 – 4/5/2015)
Preparing Final Document 10 days: (5/5 – 14/5/2015)
Final System Presentation 9 days: (15/5 – 23/5/2015)
11
Smart DoorBell System Using Fingerprint Authentication
Cost Analysis:
Table 2: Economic Feasibility
2.1.4. Operational Feasibility
Assessing operational feasibility is to gain an understanding of whether the proposed
system will likely to solve the business problems, or take advantage of the opportunities
or not. According to the PIECES standard:
2.1.4.1. Performance:
Throughput : The system will read the fingerprint of a new user and store
it in the database in a short time span ranging between 20 – 30 seconds.
Response Time: The system response time will not exceed 10 seconds.
2.1.4.2. Information:
Input: the system should only collect necessary data and information
about the user, and prevent system failure in case of invalid input has
been inserted by the user.
Stored Data: the data will be stored in an efficient way to assure correct
data storage, and to assure that there are no contradictions in the
database.
Output: the system will restore the data easily and efficiently without
causing the system to break down or fail. Only the desirable data and
information will be restored and put in its right places.
2.1.4.3. Economic:
Cost: the total cost of the system as estimated previously in the economic
feasibility is 403$.
2.1.4.4. Control/Security:
The system grants control over its resources and data only to authorized
people , i.e. administrators, to assure security and privacy of users’
information.
Unit Quantity Price
Microcontroller Unit 1 60.00$
Fingerprint Sensor 1 120.00$
Relays 3 30.00$
Electric strike Lock 1 25.00$
Bell (Buzzer) 1 5.00$
Large-capacity Rechargeable Battery 1 50.00$
AC DC Converter 1 50.00$
Memory Chip 1 10.00$
Microphone/Speaker device 2 30.00$
Electric Switch 1 3.50$
Breadboard (Kit) 1 20.00$
Total 403.50
12
Smart DoorBell System Using Fingerprint Authentication
2.1.4.5. Efficiency:
The system makes the process of entering houses easier and more
efficient by the use of fingerprints.
The system enhanced the way in which the users’ access home by storing
their fingerprints, which saves times of entering the house.
2.1.4.6. Services:
The final category in PIECES framework is essentially the functional requirements
of the system that associate with services. And here we demonstrate what does the
system needs to do in order to solve the problem? And what processes need to be
performed?
System Needs: the system needs to authenticate the users’ fingerprints.
Processes: the system captures the user’s fingerprint and then decides
wither to open the door or to ring the bell.
2.1.5. Social and Ethical Considerations (Cultural)
In accordance with the society, we live in and the conservative culture of that society,
we put in our minds a consideration that some people may reject our system. However,
when we interviewed a sample of the targeted layer of people, we found that our system
is acknowledged and welcomed by those people. That increases the opportunity that the
number of people who may reject the system will decrease as soon as the system is
deployed in some places.
2.1.6. Legal Feasibility
Legal feasibility determines whether the proposed system conflicts with the legal
requirement or not. The idea of our system is that all data and information of the user is
stored in the system itself and no one other than the owner himself/herself will gain
access to that information. Our system does not conflict with any legal issue; our
system, in the first place, solves security issue, which is considered a societal service
more than anything else is.
2.1.7. Conclusion
In accordance with the previous sections of this feasibility study, and according to the
research we conducted, our system -Smart DoorBell System Using Fingerprint
Authentication- is considered feasible, viable, and applicable. This conclusion comes
after deep searches and long studies to measure how the system will withstand the risks
it will encounter. We put in our minds that we must measure the durability of the system
and for how long it will remain viable and meet the user needs.
13
Smart DoorBell System Using Fingerprint Authentication
2.2. FACT FINDING TOOLS
2.2.1. Sampling of Existing Systems
This is considered to be the most important method we used to get a full and thorough
look about the system, the technologies used, the electronic parts employed, the
resources obtained, and even the algorithms that they make use of. According to
previous documentations, we collected a sufficient amount of information about other
systems that have a similar idea of ours.
2.2.2. Research and Site Visits
Research and site visits are considered as reliable sources of information. It was the
main method we used to find related works and previous system documentations. We
have conducted a deep research to get to the information that will help us during the
system development.
2.2.3. Questionnaires.
In order to know user feedback about the system, we have conducted a questionnaire
that helped in defining user requirements. Our questionnaire targeted a sample of the
house owners. This step comes to achieve two goals: the first one is to know the
response of the user about the system; the second goal is to promote our system and
introduce it to the people.
14
Smart DoorBell System Using Fingerprint Authentication
3- CHAPTER THREE:
REQUIREMENTS SPECIFICATION
15
Smart DoorBell System Using Fingerprint Authentication
3.1. INTRODUCTION
This chapter describes the requirements of the system. Requirements are divided into
two types, user requirements and system requirements. The chapter also contains system
model diagrams such as, use case diagram, class diagram, sequence diagram, activity
diagram, and entity relationship diagram.
3.2. FUNCTIONAL REQUIREMENTS
The Functional Requirements of the system detail the specific functions to be performed
or accomplished by the system.
1. The system should read fingerprints and fingerprint image files.
2. The system should allow authorized users to access home.
3. The system should ring the doorbell in case an unauthorized user requested
access to home.
4. The system should allow the administrator to login using their fingerprint or a
password
5. The system should allow the admin to logout
6. The system should view all users for administrator
7. The system should allow the admin to add new users
8. The system should allow the admin to delete an existing user
9. The system should allow the admin to modify an existing user’s details
10. The system should allow the admin to promote a user into admin
11. The system should allow the admin to change system password
3.3. NON-FUNCTIONAL REQUIREMENTS
Non-functional requirements, as the name suggests, are requirements that are not
directly concerned with the specific services delivered by the system to its users. They
may relate to emergent system properties such as reliability, response time, and store
occupancy. Alternatively, they may define constraints on the system implementation
such as the capabilities of I/O devices or the data representations used in interfaces with
other systems.
3.3.1. Usability:
The system provides a help and support in all interfaces for the user to interact with
the system.
The user can use the system by reading help and support.
The system is expected to be efficient to use, which means it may take less time to
accomplish the authentication task to access home.
The system is expected to be easy to learn.
16
Smart DoorBell System Using Fingerprint Authentication
3.3.2. Dependability:
Reliability:
The system should operate as the user requires.
The system should have a back-up power sources in case that electricity goes
off.
The system should restart itself within 20 seconds in case of system failure.
Robustness:
The system should reject any false or invalid input (e.g. entering something
other than a fingerprint).
The system should handle up to 100 users and operate under 80% of
performance at least.
Safety:
The system shall not cause life-threatening damage to the users.
The system shall not operate in case of electric shock.
Security:
The system provides fingerprint authentication and password to prevent the
system from unauthorized access.
The user must enroll two fingerprints for each hand at least to be registered
in the system.
The system shall not grant access for an unauthorized person.
3.3.3. Performance:
Response Time:
The system response time for every request conducted by the user must not
exceed 10 seconds.
Throughput:
The system should read the fingerprint of a new user and store it in the
database in a short time span ranging between 20 – 30 seconds.
Availability:
The system should be available 24 hours for access.
The system will be out of work just in case there is a need to enroll new user
or manage users’ information by the admin of the system.
Accuracy:
The system should read a user's fingerprint accurately.
The system should make the right decision when a user swipes their
fingerprint.
17
Smart DoorBell System Using Fingerprint Authentication
3.3.4. Supportability:
Adaptability:
The system should be able to adapt with other home automation systems.
The system shall adapt with enhancements and new devices (e.g. LCD
screen).
Maintainability:
Installation of a new version shall leave all database contents and all personal
settings unchanged.
No method in any object may exceed 200 lines of code.
Internationalization:
The system should enable the user choose the preferred language of the
system (i.e. Arabic or English).
Portability:
The system should be portable and easy to carry.
The system shall be easy to mount into and dismount out of its casing.
3.3.5. Pseudo Requirements:
The system should standalone and should not require other hardware or any
networking.
The system should be provided with special casing to protect it from being
corrupted and from different weather conditions.
3.3.6. Validation:
Requirements validation is a quality assurance step. This step is usually performed and
undertaken after requirements elicitation or analysis. Validation of requirements
consists of checking system completeness, correctness, and consistency. So after we
complete requirements elicitation and analysis we will perform this step to assure wither
our system satisfies the user requirements or not.
3.4. SYSTEM MODELS
3.4.1. Scenarios:
3.4.1.1. Login:
The admin of the system, after connecting the system to the computer, logs into the
system either by entering a password or by swiping his fingerprint on the fingerprint
sensor. This process gives the admin full control over the system’s functions and
services.
3.4.1.2. Enroll New User:
After the system admin has logged into the system, the admin can add or enroll a new
user by pressing the (Add User) button to give the user the authority to access home
using their fingerprint. This process requires the admin and the user to be completed.
18
Smart DoorBell System Using Fingerprint Authentication
3.4.1.3. Mange Users:
The Admin can manage users who has already been enrolled into the system. The
Admin has the choice whither to update users’ information (e.g. add more fingerprints)
or delete a user by selecting a specific user from the users list. This gives the admin the
ability to view all users stored in the database, and manage the users.
3.4.1.4. Access Home:
The users of the system (i.e. administrators, authorized users, and visitors) swipe their
fingerprints on the fingerprint sensor, which is located near the door, to request access
to home. After reading the fingerprints, the system matches them with those stored in
the database. If the system finds a match the door pops open, but if no match found, the
bell rings to notify the occupants that someone is at the door.
3.4.2. Use Case Modeling:
A use case diagram is a graphic depiction of the interactions among the elements of a
system. A use case is a methodology used in system analysis to identify, clarify, and
organize system requirements. The use case should contain all system activities that
have significance to the users.
Figure 4: Use Case Model
19
Smart DoorBell System Using Fingerprint Authentication
3.4.2.1. Use Case Actors:
The Unified Modeling Language defines a use case actor as “An actor specifies a role
played by a user or any other system that interacts with the subject.” The actors that
interact with use cases in our system are:
Table 3: Actor Details (User)
Table 4: Actor Details (Authorized User)
Table 5: Actor Details (Admin)
Actor Thumbnail Admin Unique ID AC03
Actor Type And Stereotype
Primary Secondary
Direct Indirect
Person External System
Actor Description This actor depicts the Admin of the system.
Actor Relationships
This actor communicates with the Login, Enroll New
User, and Manage Users use cases,. This actor
Specializes the Authorized User actor (AC02).
Actor Thumbnail Authorized User Unique ID AC02
Actor Type And Stereotype
Primary Secondary
Direct Indirect
Person External System
Actor Description This actor depicts the authorized users that can access
home using their fingerprints.
Actor Relationships
This actor communicates with the Update User Record
and the Access Home use cases. This actor Specializes
the User actor (AC01) and Generalizes the Admin
actor (AC03).
Actor Thumbnail User Unique ID AC01
Actor Type And Stereotype
Primary Secondary
Direct Indirect
Person External System
Actor Description This actor depicts the users of the system in general.
Actor Relationships This actor communicates with the Enroll New User use
case. This actor Generalizes Authorized User (AC02).
20
Smart DoorBell System Using Fingerprint Authentication
3.4.2.2. Use Case Details:
Table 6: Use Case Details (Login by Password)
Use case name: Login by Password Unique ID: UC02
Area: Smart DoorBell System
Actor(s): Admin
Description: This use case describes the process by which the admin logs into the
system using a password
Triggering Event: The admin connects the system to a PC and starts the system software
Trigger type: External Temporal
Steps Performed (Main Path) Information for Steps
1. The system displays the logon screen Login window
2. The Admin clicks on Login by Password Login window
3. The Admin enters the password Login window, entered password
4. The Admin clicks on OK Login window
5. The system verifies the password Password record, entered password
6. The system sets access permissions Login window
7. The system displays the main window Main window
Extensions and Alternative Scenarios Information for Steps
6. The entered password is invalid Login window, entered password
7. Error message is sent to the admin Login window, error pop-up window
8. Go to step 2 Login window
Preconditions: The system is connected to the PC
Post conditions: Admin is on the main window
Assumptions: The entered password has already been registered into the system
Requirements Met: Allows the Admin to log into the system
Outstanding Issues: Will the Admin be able to connect the system safely?
Priority: High
Risk: High
21
Smart DoorBell System Using Fingerprint Authentication
Table 7: Use Case Details (Login by Fingerprint)
Use case name: Login by Fingerprint Unique ID: UC03
Area: Smart DoorBell System
Actor(s): Admin
Description: This use case describes the process by which the admin logs into the
system using their fingerprint
Triggering Event: The admin connects the system to a PC and starts the system software
Trigger type: External Temporal
Steps Performed (Main Path) Information for Steps
1. The system displays the logon screen Login window
2. The system asks the Admin to swipe his
finger Login window
3. The admin swipes his finger Login window, fingerprint
4. The system validates the fingerprint Fingerprint
5. The system captures the fingerprint Fingerprint
6. The system checks fingerprint minutiae Fingerprint
7. The system extracts the fingerprint features Fingerprint minutia
8. The system compares the extracted features
to those stored in the database
Fingerprint feature,
fingerprints’ features records
9. The system sets access permissions Login window
10. The system displays main window Main window
Extensions and Alternative Scenarios Information for Steps
9. The system receives an invalid fingerprint Login window, fingerprint
10. Error message is sent to the admin Login window, error pop-up window
11. Go to step 2 Login window
Preconditions: The system is connected to the PC
Post conditions: Admin is on the main window
Assumptions: The user who has swiped his fingerprint is registered as an admin
Requirements Met: Allows the Admin to log into the system
Outstanding Issues: Will the Admin be able to connect the system safely?
Priority: High
Risk: High
22
Smart DoorBell System Using Fingerprint Authentication
Table 8: Use Case Details (Enroll New User)
Use case name: Enroll New User Unique ID: UC04
Area: Smart DoorBell System
Actor(s): Admin, User
Description: This use case describes the process by which the Admin enrolls a new
User to the system by adding all required user details and their
fingerprints
Triggering Event: The Admin connects the system to a PC and clicks on Enroll New
User button
Trigger type: External Temporal
Steps Performed (Main Path) Information for Steps
1. The Admin clicks on Enroll button Main page
2. The system displays the User Enrollment page User Enrollment page
3. The Admin enters the first name, last name, and
user type User Enrollment page, username
4. The Admin clicks the Next button User Enrollment page
5. The system displays the fingerprint enrollment
page Fingerprint Enrollment page
6. The Admin selects a finger to enroll Fingerprint Enrollment page
7. The User places his finger on the scanner Fingerprint Enrollment page
8. The scanner reads the fingerprint image after
checking that its valid and acceptable Fingerprint Enrollment page, fingerprint
9. The system views the fingerprint enrolled to the
Admin and the User Fingerprint Enrollment page, fingerprint
10. The system Marks out the enrolled finger on the
resembling palette Fingerprint Enrollment page, enrolled fingerprint
11. Repeat steps from 4 to 7 until all required
fingerprints are enrolled Fingerprint Enrollment page
12. The Admin clicks the Save button Fingerprint Enrollment page, user information
13. The system enrolls the user Fingerprint Enrollment page, user information
14. The system displays success message Success Message
Extensions and Alternative Scenarios Information for Steps
8. The scanner fails to read the fingerprint Fingerprint Enrollment page, fingerprint
9. Go to step 6 Fingerprint Enrollment page
12. The Admin clicks the Cancel button Fingerprint Enrollment page
13. The system ignores the entered information fingerprint Enrollment page
14. The system displays the Main page Main page
Preconditions: The Admin has logged into the system
Post conditions: The user is enrolled successfully
Assumptions: The user is not enrolled into the system and all required info is valid
Requirements Met: Allows the Admin to Add users
Outstanding Issues: Should the system queries all user information if the user fingerprint is
already enrolled
Priority: High
Risk: Medium
23
Smart DoorBell System Using Fingerprint Authentication
Table 9: Use Case Details (Manage Users)
Use case name: Manage Users Unique ID: UC05
Area: Smart DoorBell System
Actor(s): Admin
Description: This use case allows the Admin to manage users by selecting a
specific user from the users list then the admin has the choice wither
to update the user’s information, delete the user, or do nothing.
Triggering Event: The admin clicks manage button on the main window
Trigger type: External Temporal
Steps Performed (Main Path) Information for Steps
1. The Admin clicks the Mange Users button Main window
2. The system displays the Manage window Manage window,
Manage Users button is clicked
3. The system queries all users and shows
them in a grid view
Manage window,
User records
4. The admin clicks on Back button Manage window, Back button is clicked
5. The system displays Main window Main window
Extensions and Alternative Scenarios Information for Steps
6. The Admin selects a user record Manage window, User records
7. If the admin clicks on the Edit button then
go to use case Update User Record
Manage window,
Edit button is clicked
8. If the admin clicks on the Delete button then
go to use case Delete User
Manage window,
Delete button is clicked
Preconditions: The Admin is logged into the system
Post conditions: The Admin completed his task successfully
Assumptions: There are users previously registered into the system
Requirements Met: Allows the Admin to manage users
Outstanding Issues: Should the system view users types in the grid view?
Priority: Medium
Risk: High
24
Smart DoorBell System Using Fingerprint Authentication
Table 10: Use Case Details (Update User Record)
Use case name: Update User Record Unique ID: UC08
Area: Smart DoorBell System
Actor(s): Admin, Authorized User
Description: This use case allows the admin to change user information (Update)
Triggering Event: The Admin selects a user record and clicks the Edit button
Trigger type: External Temporal
Steps Performed (Main Path) Information for Steps
1. The Admin selects a user record Manage window, User records
2. The Admin clicks on the Edit button Manage window, Selected User record
3. The system displays a window that contains
the selected user’s information
Update window,
Selected User record
4. The Admin can change or update a users
information
Update window,
Selected User record
5. If the Admin want to add more fingerprints
for the user then the user must be present
Update window,
Selected User record
6. The Admin clicks on the Save button Update window, Updated User information
7. The system displays success message Update window, Confirmation message
Extensions and Alternative Scenarios Information for Steps
6. The Admin clicks on the Cancel button Update window
7. The system displays the Manage window Manage window
8. If The new user information is invalid then
go to step 4
Update window,
Invalid user information
Preconditions: The Admin is on the Manage window
Post conditions: The User record has been updated successfully
Assumptions: The Admin has already logged into the system. All updated
information is valid.
Requirements Met: Allows the Admin to update user information
Outstanding Issues: Should the system allow the Admin to change stored user
fingerprints?
Priority: Medium
Risk: Low
25
Smart DoorBell System Using Fingerprint Authentication
Table 11: Use Case Details (Delete User)
Use case name: Delete User Unique ID: UC09
Area: Smart DoorBell System
Actor(s): Admin
Description: This use case describes the process by which the admin wants to
delete a specific Authorized User from the system database.
Triggering Event: The Admin selects a user record and clicks the Delete button
Trigger type: External Temporal
Steps Performed (Main Path) Information for Steps
1. The Admin selects a user record Manage window, User records
2. The Admin clicks on the Delete button Manage window, Selected User record
3. The system displays a message to ensure
deletion Manage window
4. The Admin clicks Ok Confirmation message
5. The system displays a success message Manage window, Confirmation Message
Extensions and Alternative Scenarios Information for Steps
4. The Admin clicks Cancel Confirmation message
5. The system returns to the Manage window Manage window
Preconditions: The Admin is on the Manage window
Post conditions: The User record has been deleted successfully
Assumptions: The Admin has already logged in. There more than one enrolled user
Requirements Met: Allows the Admin to delete a user
Outstanding Issues: Should the system allow the Admin to suspend a user instead of
deleting him/her?
Priority: Medium
Risk: Medium
26
Smart DoorBell System Using Fingerprint Authentication
Table 12: Use Case Details (Access Home)
Use case name: Access Home Unique ID: UC06
Area: Smart DoorBell System
Actor(s): Authorized User
Description: This use case describes the process by which the an Authorized User
access home
Triggering Event: The User swipes his finger on the fingerprint scanner
Trigger type: External Temporal
Steps Performed (Main Path) Information for Steps
1. The user swipes his fingerprint Fingerprint
2. The system processes the user’s
fingerprint Fingerprint
3. The user’s fingerprint is identified
successfully Fingerprint, Fingerprint Records
4. The system unlocks the door for the user
Extensions and Alternative Scenarios Information for Steps
2. The fingerprint sensor fails to read the
swiped fingerprint
3. Go to step 1
3. The user’s fingerprint is not identified Fingerprint, Fingerprint Records
4. The system rings the bell to notify the
house occupants
Preconditions: The fingerprint sensor is on
Post conditions: The User accesses home
Assumptions: The fingerprint sensor is operating.
The user is at the door and has swiped his/her fingerprint.
The user’s fingerprint is enrolled in the system.
Requirements Met: Allows the Authorized Users to access home
Outstanding Issues:
Priority: High
Risk: High
27
Smart DoorBell System Using Fingerprint Authentication
3.4.3. Object Modeling:
3.4.3.1. Sequence Diagrams:
Figure 5: Sequence Diagram: Login by Fingerprint
Figure 6: Sequence Diagram: Login by Password
28
Smart DoorBell System Using Fingerprint Authentication
Figure 7: Sequence Diagram: Enroll New User
Figure 8: Sequence Diagram: Manage Users
29
Smart DoorBell System Using Fingerprint Authentication
Figure 9: Sequence Diagram: Update User Record
Figure 10: Sequence Diagram: Delete User
30
Smart DoorBell System Using Fingerprint Authentication
Figure 11: Sequence Diagram: Access Home
3.4.3.2. Class Diagram:
Figure 12: Class Diagram
31
Smart DoorBell System Using Fingerprint Authentication
3.4.4. Dynamic Modeling:
3.4.4.1. State Chart Diagrams:
Figure 13: Statechart Diagram: User Interface
32
Smart DoorBell System Using Fingerprint Authentication
Figure 14: Statechart Diagram: Fingerprint Module
3.4.4.2. Activity Diagrams:
Figure 15: Activity Diagram: Login
33
Smart DoorBell System Using Fingerprint Authentication
Figure 16: Activity Diagram: Enroll New User
34
Smart DoorBell System Using Fingerprint Authentication
Figure 17: Activity Diagram: Manage Users
Figure 18: Activity Diagram: Update User Record
Figure 19: Activity Diagram: Delete User
35
Smart DoorBell System Using Fingerprint Authentication
Figure 20: Activity Diagram: Access Home
3.4.5. Database Modeling:
3.4.5.1. ERD:
Figure 21: Entity Relationship Diagram
36
Smart DoorBell System Using Fingerprint Authentication
3.4.5.2. ER Schema:
Figure 22: ER Schema
USERS
USER_ID FIRST_NAME LAST_NAME DATE_ENROLLED DATE_MODIFIED USER_TYPE
FINGERPRINTS
FINGERPRINT_ID USER_ID FINGER
MINUTIAE
MINUTIAE_ID FINGERPRINT_ID X_COORDINATE Y_COORDINATE ANGEL
37
Smart DoorBell System Using Fingerprint Authentication
4- CHAPTER FOUR:
SYSTEM IMPLEMENTATION
38
Smart DoorBell System Using Fingerprint Authentication
4.1. OVERVIEW
This chapter provides an explanation of how to develop this project. It also gives a brief
view about the tools and programs used during the implementation of the project. This
chapter will explain the process of the database building, interface building, and the
process of system integration and testing.
Smart DoorBell System is composed of two parts, software and hardware. From the first
time the idea of Smart DoorBell came to our minds, we intended to perform the two
parts and accomplish the system as a whole, but the lack of time, resources, and funds
that is caused by the miserable situation the country lives, we were not able to
implement the hardware part. This issue led to negative influences on the software also,
such as, the inability of handling different user types and the inability of logging into
the system using the fingerprint.
4.2. DATABASE BUILDING
The database of our project contains three main tables for storing user’s and
fingerprint’s information, and two auxiliary tables to store the password and house
information.
4.2.1. USERS table:
Name Type Null? Key USER_ID INT NO PRIMARY KEY
FIRST_NAME VARCHAR NO
LAST_NAME VARCHAR NO
DATE_ENROLLED DATETIME NO
DATE_MODIFIED DATETIME NO
USER_TYPE VARCHAR NO
4.2.2. FINGERPRINTS table:
Name Type Null? Key FINGERPRINT_ID INT NO PRIMARY KEY
USER_ID INT NO FOREIGN KEY
FINGER VARCHAR NO
4.2.3. MINUTIAE table:
Name Type Null? Key MINUTIAE_ID INT NO PRIMARY KEY
FINGERPRINT_ID INT NO FOREIGN KEY
X_COORDINATE INT NO
Y_COORDINATE INT NO
ANGLE INT NO
39
Smart DoorBell System Using Fingerprint Authentication
4.3. INTERFACE BUILDING
After getting the database prepared, application program should be constructed and
implemented in some programming environment to enable the users to communicate
with the database. Graphical User Interface (GUI) is intended to be built up as a basic
structure of the program.
Figure 23: Language Screen
This snapshoot shows the first screen of the system installation process, which allows
the user to choose the system language.
Figure 24: Owner Details Tab Page - Installation
This snapshoot shows the Owner Details tab page of the installation wizard of the
system. This screen asks the owner to insert the first name and last name then to click
on the next button to navigate to the fingerprints tab page.
40
Smart DoorBell System Using Fingerprint Authentication
Figure 25: Fingerprints Tab Page - Installation
This snapshoot shows the Fingerprints tab page of the Installation wizard of the system.
This screen asks the owner to enroll at least two fingerprints by clicking on a finger then
swiping that finger on the fingerprint reader.
Figure 26: Password Tab Page - Installation
This snapshoot shows the Password tab page of the Installation wizard. This screen
allows the owner to specify a password for the system.
41
Smart DoorBell System Using Fingerprint Authentication
Figure 27: Home Info Tab Page - Installation
This snapshoot shows the House Information tab page of the Installation wizard. This
screen enables the owner to store house information. By clicking on the Save button the
system stores all the information inserted during the installation process.
Figure 28: Login Window
This snapshoot shows the Login window. This screen asks the user to swipe their finger
to login. It also enables login to the software by password with less privileges.
42
Smart DoorBell System Using Fingerprint Authentication
Figure 29: Main Menu
This snapshoot shows the Main Menu of the system. This window enables the user to
enroll new users, manage users, and change the settings.
Figure 30: User Details Tab Page - Enrollment Screen
This snapshoot shows the User Details tab page of the Enrollment window. This screen
asks the user to insert the first name, last name, and the user type of the new user.
43
Smart DoorBell System Using Fingerprint Authentication
Figure 31: Fingerprints Tab Page - Enrollment Screen
This snapshoot shows the Fingerprints tab page of the Enrollment window. This screen
asks the user to enroll at least two fingers. Enrolled fingers appear in the green color.
Figure 32: Management Window
This snapshoot shows the Management window. This window shows the enrolled users
of the system, and it enables the user to edit or delete users.
44
Smart DoorBell System Using Fingerprint Authentication
Figure 33: Edit User Window
This snapshoot shows the Editing Window. This screen appears when the user selects a
user in the Management window then clicks on the Edit User button. It allows the user
to edit the user’s first name, last name, and type. This screen also enables the user to
add new fingerprints or delete enrolled ones.
Figure 34: General Settings Tab Page - Settings Window
This snapshoot shows the General tab page of the Settings window. This screen enables
the user to change the language of the system
45
Smart DoorBell System Using Fingerprint Authentication
Figure 35: Password Tab Page - Settings Window
This snapshoot shows the Password tab Page of the Settings window. This screen gives
the user the ability to change the system password by typing the current password and
then inserting the new password twice to confirm the new password.
Figure 36: Home Info Tab Page - Settings Window.
This snapshoot shows the Home Information tab Page of the Settings window. This
screen allows the user to change home and owner information
46
Smart DoorBell System Using Fingerprint Authentication
Figure 37: About Window
This snapshoot shows the About window. This screen gives an overview about Smart
DoorBell, what it is, what it is for, and who are its developers. It also provide the e-
mails of the developing team members.
4.4. INTEGRATION AND SYSTEM TESTS (IST)
4.4.1. System Testing:
Our system testing is completed in two steps. The first is a unit testing of each module
of the system. This is completed by the programmer and performed before the code is
added to the system’s source tree. Unit testing consists of verifying the interfaces that
allow data to properly flow into and out of the object, and that the underlying data
structures are proper and sound for storing their intended data. The second step is
integration testing.
4.4.2. Integration Testing:
Integration testing involves systematically executing the interface for each use case with
the intent of exposing errors. An error is counted in either of the following cases:
1. An unexpected behavior occurs on the entry of well formatted user input.
2. The system does not degrade gracefully under incorrect user input.
Ensuring that both of the above statements are false for every entry into the forms
representing every implemented use case of the system serves as verification of our
system.
47
Smart DoorBell System Using Fingerprint Authentication
Provided below are the raw documents from the integration testing. The format of these
documents shall be a brief description of the functionality followed by a list of all of the
input fields of the interface. Next will read a list of step describing input given to the
system and its corresponding resultant outcome. Any exceptional cases are noted in a
final bug list.
4.4.2.1. Test System Installation:
Desired Functionality: This interface should process the submission of the system
installation. It will perform simple checking of each field to ensure that system
owner has filled out the proper information for each of its required information
and update the database only if all fields are correct.
- Owner Details
Field Requirements
First name Non -empty string
Last name Non –empty string
Test steps Result
Click fingerprint or next Fail : no first name
Fill in first name fail : no last name
Fill in both first name and last
name
success
BUG list : NO BUGS
- Fingerprints
Field Requirements
Write hand at least two fingers must be registered
Last name at least two fingers must be registered
Test step Result
Click on password FAIL: no fingers enrolled
Enroll one finger FAIL: require two fingers at least
Enroll tow fingers SUCCESS
BUGS List : NO BUGS
- Password
Field Requirements
Old password Non-empty String matches password
New password Non-empty String
Re type password Non-empty String matches new password
48
Smart DoorBell System Using Fingerprint Authentication
Test steps Results
Fill in password Fail : invalid password
Fill in new password Fail :No password
Fill in both password and new
password
Fail : No re-type password
Fill in all required fields SUCCESS
BUGS list : NO BUGS
4.4.2.2. Test Log-in
Desired functionality: This interface should process the submission of login into
system. . It will perform simple checking of password field to ensure that system
owner has filled out the proper password and login through the system
successfully.
Field Requirements
password No –empty string
Test steps Result
Click login Fail : No password
Fill in password Fail : invalid password
Refill in password SUCCESS
BUGS : NO BUGS
4.4.2.3. Test Add User
Desired Functionality: This interface should process the submission of user
enrollment . It will perform simple checking of each field to ensure that system
owner has filled out the proper information for each of its required information
and update the database only if all fields are correct.
Field Requirements
First name No –empty string
Last name No-empty string
fingers Require at least two fingers
Test steps Result
Click fingers Fail : No first name
Fill in first name Fail : No last name
Fill in both first name and last
name
Fail : No fingers registered
Register one finger Fail : require at least two fingers
Fill in both first name and last
name and register two fingers
SUCCESS
BUGS :NO BUGS
49
Smart DoorBell System Using Fingerprint Authentication
4.4.2.4. Test Edit user
Desired functionality :
Modify one or more fields in the user information
Checks:
first name cannot be empty
last name cannot be empty
fingers must be at least two fingers
Steps :
Click on Edit user
Input a new first name: succeed
Input a new last name: succeed
Add new fingers : succeed
BUGS :
NO BUGS
4.4.2.5. Test Change Password
Desired Functionality:
Change the old password to a new one
Check field :
Old Password: Must be a non-empty string
New Password: Must be a non-empty string
Re-type New Password: Must be a non-empty string and match New
Password
Steps:
- Input old password:
failed for an empty string: error message "please check that you have
inserted the correct password and that new password and the confirmation
password match then try again"
failed for incorrect password: error message " please check that you have
inserted the correct password and that new password and the confirmation
password match then try again "
- Input new password:
failed for an empty string: error message " please check that you have inserted the
correct password and that new password and the confirmation password match
then try again "
- Input new password again:
failed if it does not match the previous one: error message " please check that you
have inserted the correct password and that new password and the confirmation
password match then try again "
succeeded if everything is correct
BUGS: NO BUGS
50
Smart DoorBell System Using Fingerprint Authentication
5- CHAPTER FIVE:
RECOMMENDATIONS
51
Smart DoorBell System Using Fingerprint Authentication
5.1. OVERVIEW
This chapter intends to provide future researchers and students some suggestions and
recommendations to develop and enhance Smart DoorBell System.
5.2. SUGGESTIONS
For those who want to start from where we stopped, we suggest the following:
1. Integrate a fingerprint sensor with our software using a compatible software
development kit (SDK).
2. Adding extra features into our software, such as, users’ privileges, ability of
user suspension, and logs.
3. Provide a prototype of the system during the final presentation.
5.3. FUTURE PLANS
Smart DoorBell System is a system that can be integrated with any other system to
upgrade it into a house automation system. To reach that goal we intend to perform the
following:
• Provide different versions of the system for different user needs (e.g. adding
more sensors in different locations, controlling more doors, providing logs
and registers, etc.)
• Create a web-based system to support users and provide system controlling
over the web.
• Integrate more systems in Smart DoorBell such as, audio system, video
camera, touch screens, etc.
• Upgrade the system into house automation system.
5.4. RECOMMENDATIONS
In order to develop our system we recommend performing the following:
1. Communicating with us –Smart DoorBell System development team– in
order to get more information and details about the system.
2. Providing the development team with reports about the progress of the
system during different phases.
3. Discussing and sharing new ideas with the development team in order to get
the intended help.
52
Smart DoorBell System Using Fingerprint Authentication
APPENDIX A:
SURVEY
As we have mentioned before, we have conducted a survey to measure the user
acceptance towards Smart DoorBell System. The survey results are as shown below:
93% of the respondents were employees. 85% of which have used fingerprint
recognition systems before, but merely 9% of them used it in a access control system.
This result suggests the idea of Smart DoorBell is novel & new.
73% of the people who responded to the survey and have already used a fingerprint
recognition system see that the main barriers that face installing fingerprint access
control systems at homes are the lack of such systems and the expensive prices of
installing them. That proves that putting Smart DoorBell System into production and
distribution is a good idea.
Other results of the survey are:
- 57% of the respondents find it important to install fingerprint access control
system at home, while 28% find it not so important.
- 35.7% of the respondents are strongly convinced on using fingerprint access
control systems at home to replace traditional systems. 35.7% are less
convinced. 28.6% are reluctant.
In the following pages we attached a sample of the survey the was conducted.
53
Smart DoorBell System Using Fingerprint Authentication
54
Smart DoorBell System Using Fingerprint Authentication
55
Smart DoorBell System Using Fingerprint Authentication
56
Smart DoorBell System Using Fingerprint Authentication
57
Smart DoorBell System Using Fingerprint Authentication
APPENDIX B:
SOURCE CODE - Hover effects code on fingers (e.g. right index and middle fingers):
private void r_index_MouseHover(object sender, EventArgs e) { if (r_index.BackColor == SystemColors.ActiveBorder) r_index.BackColor = SystemColors.Highlight; } private void r_index_MouseLeave(object sender, EventArgs e) { if (r_index.BackColor != Color.LimeGreen) r_index.BackColor = SystemColors.ActiveBorder; }
private void r_middle_MouseHover(object sender, EventArgs e) { if (r_middle.BackColor == SystemColors.ActiveBorder) r_middle.BackColor = SystemColors.Highlight; } private void r_middle_MouseLeave(object sender, EventArgs e) { if (r_middle.BackColor != Color.LimeGreen) r_middle.BackColor = SystemColors.ActiveBorder; }
- Effect on fingers when clicked during enrollment (e.g. left middle finger):
private void l_middle_Click(object sender, EventArgs e) { if (l_middle.BackColor == SystemColors.Highlight) { DialogResult result = MessageBox.Show("Do you want to enroll this finger?", "enroll?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); switch (result) { case DialogResult.Yes: l_middle.BackColor = Color.LimeGreen; count++; break; case DialogResult.No: break; } } }
The count++ is used to determine whether the number of enrolled fingers meets the
minimum number of fingers required to save the user. The count variable increases by 1
after clicking on ‘Yes’ button to confirm the finger enrollment.
58
Smart DoorBell System Using Fingerprint Authentication
- Saving user details and fingerprints into the database:
private void save_button_Click(object sender, EventArgs e) { if (first_name_textBox.Text != "" & last_name_textBox.Text != "" & user_type_comboBox.Text != "" & count >= 2) { SqlConnection conn = new SqlConnection("Server = THINKPAD\\SQLEXPRESS; Trusted_Connection = yes; Database = SDBS"); SqlCommand max = conn.CreateCommand(); max.CommandText = "SELECT MAX(USER_ID) FROM USERS"; conn.Open(); int users = ((int)max.ExecuteScalar()); users += 1; conn.Close(); SqlCommand insert = new SqlCommand(); insert = conn.CreateCommand(); insert.CommandText = @"INSERT INTO USERS (USER_ID, FIRST_NAME, LAST_NAME, DATE_ENROLLED, DATE_MODIFIED, USER_TYPE)" + "VALUES ( @ID, @FIRST, @LAST, GETDATE(), GETDATE(), @TYPE);"; insert.Parameters.Add("@ID", SqlDbType.Int); insert.Parameters["@ID"].Value = users; insert.Parameters.Add("@FIRST", SqlDbType.VarChar); insert.Parameters["@FIRST"].Value = first_name_textBox.Text; insert.Parameters.Add("@LAST", SqlDbType.VarChar); insert.Parameters["@LAST"].Value = last_name_textBox.Text; insert.Parameters.Add("@TYPE", SqlDbType.VarChar); insert.Parameters["@TYPE"].Value = user_type_comboBox.Text; conn.Open(); insert.ExecuteNonQuery(); conn.Close(); if (r_index.BackColor == Color.LimeGreen) { SqlCommand FP = new SqlCommand(); FP = conn.CreateCommand(); FP.CommandText = @"INSERT INTO FINGERPRINTS (USER_ID, FINGER) VALUES (@UID, 'r_index');"; FP.Parameters.Add("@UID", SqlDbType.Int); FP.Parameters["@UID"].Value = users; conn.Open(); FP.ExecuteNonQuery(); conn.Close(); } if (r_middle.BackColor == Color.LimeGreen) { SqlCommand FP = new SqlCommand(); FP = conn.CreateCommand(); FP.CommandText = @"INSERT INTO FINGERPRINTS (USER_ID, FINGER) VALUES (@UID, 'r_middle');"; FP.Parameters.Add("@UID", SqlDbType.Int); FP.Parameters["@UID"].Value = users; conn.Open(); FP.ExecuteNonQuery(); conn.Close(); } if (r_ring.BackColor == Color.LimeGreen)
59
Smart DoorBell System Using Fingerprint Authentication
{ SqlCommand FP = new SqlCommand(); FP = conn.CreateCommand(); FP.CommandText = @"INSERT INTO FINGERPRINTS (USER_ID, FINGER) VALUES (@UID, 'r_ring');"; FP.Parameters.Add("@UID", SqlDbType.Int); FP.Parameters["@UID"].Value = users; conn.Open(); FP.ExecuteNonQuery(); conn.Close(); } if (r_pinky.BackColor == Color.LimeGreen) { SqlCommand FP = new SqlCommand(); FP = conn.CreateCommand(); FP.CommandText = @"INSERT INTO FINGERPRINTS (USER_ID, FINGER) VALUES (@UID, 'r_pinky');"; FP.Parameters.Add("@UID", SqlDbType.Int); FP.Parameters["@UID"].Value = users; conn.Open(); FP.ExecuteNonQuery(); conn.Close(); } if (r_thumb.BackColor == Color.LimeGreen) { SqlCommand FP = new SqlCommand(); FP = conn.CreateCommand(); FP.CommandText = @"INSERT INTO FINGERPRINTS (USER_ID, FINGER) VALUES (@UID, 'r_thumb');"; FP.Parameters.Add("@UID", SqlDbType.Int); FP.Parameters["@UID"].Value = users; conn.Open(); FP.ExecuteNonQuery(); conn.Close(); } if (l_index.BackColor == Color.LimeGreen) { SqlCommand FP = new SqlCommand(); FP = conn.CreateCommand(); FP.CommandText = @"INSERT INTO FINGERPRINTS (USER_ID, FINGER) VALUES (@UID, 'l_index');"; FP.Parameters.Add("@UID", SqlDbType.Int); FP.Parameters["@UID"].Value = users; conn.Open(); FP.ExecuteNonQuery(); conn.Close(); } if (l_middle.BackColor == Color.LimeGreen) { SqlCommand FP = new SqlCommand(); FP = conn.CreateCommand(); FP.CommandText = @"INSERT INTO FINGERPRINTS (USER_ID, FINGER) VALUES (@UID, 'l_middle');"; FP.Parameters.Add("@UID", SqlDbType.Int); FP.Parameters["@UID"].Value = users; conn.Open(); FP.ExecuteNonQuery(); conn.Close();
60
Smart DoorBell System Using Fingerprint Authentication
} if (l_ring.BackColor == Color.LimeGreen) { SqlCommand FP = new SqlCommand(); FP = conn.CreateCommand(); FP.CommandText = @"INSERT INTO FINGERPRINTS (USER_ID, FINGER) VALUES (@UID, 'l_ring');"; FP.Parameters.Add("@UID", SqlDbType.Int); FP.Parameters["@UID"].Value = users; conn.Open(); FP.ExecuteNonQuery(); conn.Close(); } if (l_pinky.BackColor == Color.LimeGreen) { SqlCommand FP = new SqlCommand(); FP = conn.CreateCommand(); FP.CommandText = @"INSERT INTO FINGERPRINTS (USER_ID, FINGER) VALUES (@UID, 'l_pinky');"; FP.Parameters.Add("@UID", SqlDbType.Int); FP.Parameters["@UID"].Value = users; conn.Open(); FP.ExecuteNonQuery(); conn.Close(); } if (l_thumb.BackColor == Color.LimeGreen) { SqlCommand FP = new SqlCommand(); FP = conn.CreateCommand(); FP.CommandText = @"INSERT INTO FINGERPRINTS (USER_ID, FINGER) VALUES (@UID, 'l_thumb');"; FP.Parameters.Add("@UID", SqlDbType.Int); FP.Parameters["@UID"].Value = users; conn.Open(); FP.ExecuteNonQuery(); conn.Close(); } MessageBox.Show("User enrolled successfully!", "SUCCESS", MessageBoxButtons.OK, MessageBoxIcon.Information); main_window main = new main_window(); this.Hide(); main.Show(); } else { MessageBox.Show("Sorry, you must enroll at least two fingers!", "ATTENTION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
61
Smart DoorBell System Using Fingerprint Authentication
- Clicking on a finger in the Edit User interface (e.g. right thumb): private void r_thumb_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection("Server = THINKPAD\\SQLEXPRESS; Trusted_Connection = yes; Database = SDBS"); SqlCommand delete = new SqlCommand(); delete = conn.CreateCommand(); SqlCommand enroll = new SqlCommand(); enroll = conn.CreateCommand(); if (r_thumb.BackColor == Color.LimeGreen) { DialogResult result = MessageBox.Show("Do you really want to delete this fingerprint?", "Delete?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); switch (result) { case DialogResult.Yes: r_thumb.BackColor = SystemColors.ActiveBorder; delete.CommandText = @"DELETE FROM SDBS.dbo.FINGERPRINTS WHERE USER_ID ="+uid+" AND FINGER = 'r_thumb';"; conn.Open(); delete.ExecuteNonQuery(); conn.Close(); fingers--; MessageBox.Show("Fingerprint deleted successfully!", "DELETED", MessageBoxButtons.OK, MessageBoxIcon.Information); break; case DialogResult.No: break; } } if (r_thumb.BackColor == SystemColors.Highlight) { DialogResult result = MessageBox.Show("Do you want to enroll this finger?", "enroll?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); switch (result) { case DialogResult.Yes: r_thumb.BackColor = Color.LimeGreen; enroll.CommandText = "INSERT INTO FINGERPRINTS (USER_ID, FINGER) VALUES (" + uid + ", 'r_thumb');"; conn.Open(); enroll.ExecuteNonQuery(); conn.Close(); fingers++; MessageBox.Show("Fingerprint enrolled successfully!", "ENROLLED", MessageBoxButtons.OK, MessageBoxIcon.Information); break; case DialogResult.No: break; } } }
62
Smart DoorBell System Using Fingerprint Authentication
- Saving user edits:
private void save_button_Click(object sender, EventArgs e) { //MessageBox.Show(uid); if (First_Name_textBox.Text != "" & Last_Name_textBox.Text != "") { SqlConnection cnn = new SqlConnection("Server = THINKPAD\\SQLEXPRESS; Trusted_Connection = yes; Database = SDBS"); SqlCommand u_update = new SqlCommand(); u_update = cnn.CreateCommand(); u_update.CommandText = @"UPDATE SDBS.dbo.USERS SET FIRST_NAME = @FIRST, LAST_NAME = @LAST, DATE_MODIFIED = GETDATE(), USER_TYPE = @TYPE WHERE USER_ID = @ID;"; u_update.Parameters.Add("@FIRST", SqlDbType.VarChar); u_update.Parameters["@FIRST"].Value = First_Name_textBox.Text; u_update.Parameters.Add("@LAST", SqlDbType.VarChar); u_update.Parameters["@LAST"].Value = Last_Name_textBox.Text; u_update.Parameters.Add("@TYPE", SqlDbType.VarChar); u_update.Parameters["@TYPE"].Value = User_Type_comboBox.Text; u_update.Parameters.Add("@ID", SqlDbType.Int); u_update.Parameters["@ID"].Value = uid; cnn.Open(); u_update.ExecuteNonQuery(); cnn.Close(); MessageBox.Show("User updated successfully!", "SUCCESS", MessageBoxButtons.OK, MessageBoxIcon.Information); main_window main = new main_window(); main.Show(); this.Hide(); } }
- Populating the DataGridView in the Manage Users interface:
private void managment_window_Load(object sender, EventArgs e) { string cnn = "Server = THINKPAD\\SQLEXPRESS; Trusted_Connection = yes; Database = SDBS"; string select = "SELECT USER_ID AS ID, FIRST_NAME, LAST_NAME, DATE_ENROLLED AS 'DATE ENROLLED', DATE_MODIFIED AS 'DATE MODIFIED', USER_TYPE AS TYPE FROM USERS;"; DataTable table = new DataTable(); table.Locale = System.Globalization.CultureInfo.InvariantCulture; SqlDataAdapter adptr = new SqlDataAdapter(select, cnn); SqlCommandBuilder builder = new SqlCommandBuilder(adptr); adptr.Fill(table); BS.DataSource = table; GridView.ReadOnly = true; GridView.DataSource = BS; }
63
Smart DoorBell System Using Fingerprint Authentication
REFERENCES
[1] Idris, Nesredin, Engida, Yonas, Birara, Micheal, & Afework, Yohannes, Car Rent and
Online Reservation System for Budget Car Rent (BCR) Bahirdar Branch. Bachelor’s Diss.,
Bahirdar University, 2012.
[2] Liu, Wen, Fingerprint Recognition, Bachelor’s Diss., Carlow Institute of Technology, 2010.
[3] Scaria, Francis, Teddy, George, & Kurian, Renjit, Personalized Automatic Garage Door
Opener, Bachelor’s Diss., Rajagiri School of Engineering And Technology.
[4] Sukhai, Nataliya B., Access Control & Biometrics, Research Paper, InfoSecCD
Conference’04, October 8, 2004, Kennesaw, GA, USA.
[5] Akazue M. and Efozia, N. F., A Review of Biometric Technique for Securing Corporate
Stored Data, Research Paper, Abraka, Nigeria, Delta State University, Proceedings of the
International Conference on Software Engineering and Intelligent Systems 2010, July 5th-9th,
Ota, Nigeria.
[6] Sara Nasser, Sergiu Dascalu, and Gregory Vert, User Interface Design of the Interactive
Fingerprint Recognition (INFIR) System, Bachelor’s Diss., University of Nevada Reno ,
USA,2005.
[7] Bell, Eric, Sending Data from a computer to a microcontroller using a UART (Universal
Asynchronous Receiver/Transmitter), Research Paper, 04/05/2013.
[8] Jesus M. Almendros-Jime Nez, And Luis Iribarne, Describing Use-Case Relationships with
Sequence Diagrams, University of Almeria, Spain, Received 16 December 2005, revised 24
July 2006
[9] Natarajan, Bharath, Area access control systems: Zone management and personnel tracking,
Master of Science in Engineering Management, University of South Florida, July 12,2005.
[10] Fingerprint Recognition Project- Implementation Code Projects Codes,
http://www.codemiles.com, accessed 2015.
[11] Add Fingerprint Scan-based Security to Your .NET Applications,
http://dilipkakadiya.blogspot.com, accessed 2015.
[12] Passing Data Between Windows Forms C#, VB.Net, http://net-informations.com, accessed
2015.
[13] A Framework in C# for Fingerprint Verification - CodeProject,
http://www.codeproject.com, accessed 2015.
[14] Zain S. Barham, Fingerprint Recognition using MATLAB, Bachelor’s Diss.,
5/17/2011.