smart doorbell system using fingerprint authentication€¦ · smart doorbell system using...

70
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 لعاليـتعـليم ا وزارة الــعـلمي والـبـحث ال جامـعـة صـنـعـاءمعـلومات اللحاسوب وتكـنولوجـيا كلية اـمـعـلـومـات قـســم نـظـم ال

Upload: hoanghanh

Post on 04-Jun-2018

247 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

وزارة الـتعـليم العالي

والـبـحث الــعـلمي

جامـعـة صـنـعـاء

كلية الحاسوب وتكـنولوجـيا المعـلومات

قـســم نـظـم الـمـعـلـومـات

Page 2: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 3: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 4: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 5: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 6: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 7: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 8: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 9: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

2

Smart DoorBell System Using Fingerprint Authentication

1. CHAPTER ONE:

INTRODUCTION

Page 10: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 11: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 12: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 13: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 14: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 15: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

8

Smart DoorBell System Using Fingerprint Authentication

2- CHAPTER TWO:

LITERATURE REVIEW

Page 16: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 17: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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)

Page 18: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 19: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 20: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 21: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

14

Smart DoorBell System Using Fingerprint Authentication

3- CHAPTER THREE:

REQUIREMENTS SPECIFICATION

Page 22: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 23: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 24: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 25: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 26: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 27: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 28: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 29: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 30: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 31: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 32: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 33: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 34: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 35: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

28

Smart DoorBell System Using Fingerprint Authentication

Figure 7: Sequence Diagram: Enroll New User

Figure 8: Sequence Diagram: Manage Users

Page 36: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

29

Smart DoorBell System Using Fingerprint Authentication

Figure 9: Sequence Diagram: Update User Record

Figure 10: Sequence Diagram: Delete User

Page 37: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

30

Smart DoorBell System Using Fingerprint Authentication

Figure 11: Sequence Diagram: Access Home

3.4.3.2. Class Diagram:

Figure 12: Class Diagram

Page 38: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 39: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

32

Smart DoorBell System Using Fingerprint Authentication

Figure 14: Statechart Diagram: Fingerprint Module

3.4.4.2. Activity Diagrams:

Figure 15: Activity Diagram: Login

Page 40: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

33

Smart DoorBell System Using Fingerprint Authentication

Figure 16: Activity Diagram: Enroll New User

Page 41: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 42: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 43: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 44: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

37

Smart DoorBell System Using Fingerprint Authentication

4- CHAPTER FOUR:

SYSTEM IMPLEMENTATION

Page 45: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 46: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 47: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 48: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 49: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 50: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 51: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 52: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 53: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 54: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 55: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 56: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 57: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

50

Smart DoorBell System Using Fingerprint Authentication

5- CHAPTER FIVE:

RECOMMENDATIONS

Page 58: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 59: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 60: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

53

Smart DoorBell System Using Fingerprint Authentication

Page 61: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

54

Smart DoorBell System Using Fingerprint Authentication

Page 62: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

55

Smart DoorBell System Using Fingerprint Authentication

Page 63: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

56

Smart DoorBell System Using Fingerprint Authentication

Page 64: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.

Page 65: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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)

Page 66: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 67: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 68: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 69: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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

Page 70: Smart DoorBell System Using Fingerprint Authentication€¦ · Smart DoorBell System Using Fingerprint Authentication ... DoorBell System assures ... Implement a simple and effective

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.