Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
SUPERVISOR’S DECLARATION
I hereby declare that I have read this thesis and in my opinion, this thesis is adequate in
terms of scope and quality for the award of the degree of Bachelor of Computer Science
(Software Engineering) with Honours.
_______________________________
(Supervisor’s Signature)
Full Name : DR. ZAFRIL RIZAL BIN M AZMI
Position : SENIOR LECTURER
Date : 11 December 2018
STUDENT’S DECLARATION
I hereby declare that the work in this thesis entitled “INTEGRATED LAB DOOR
ACCESS CONTROL” is based on my original work except for quotations and citations
which have been duly acknowledged. I also declare that it has not been previously or
concurrently submitted for any other degree at Universiti Malaysia Pahang or any other
institutions.
_______________________________
(Student’s Signature)
Full Name : CHENG WEI QUAN
ID Number : CB15137
Date : 11 December 2018
ii
INTEGRATED LAB DOOR ACCESS CONTROL (iLDAC)
CHENG WEI QUAN
Thesis submitted in fulfillment of the requirements
for the award of the degree of
Bachelor of Computer Science (Software Engineering / Computer Systems &
Networking / Graphics & Multimedia Technology)
Faculty of Computer Systems & Software Engineering
UNIVERSITI MALAYSIA PAHANG
DECEMBER 2018
iii
ACKNOWLEDGEMENTS
First of all, I would like to thank to the Universiti Malaysia Pahang for giving me
a chance to continue my study. Next, I want to thank all the lecturer who teaching me the
useful knowledge in my life. I would also like to express my sincere gratitude to my
supervisor, Dr. Zafril Rizal Bin M Azmi for his guidance throughout the development of
my final year project entitled “Integrated Lab Door Access Control”.
Furthermore, I would like to thank to my academic advisor, Dr. Rohani Binti Abu
Bakar for sharing her expertise, encouragement and advice to me throughout my study in
UMP. Next, I would like to thank to my friends and course mates, who had always share
me their knowledge and help me to break through difficulties.
Last but not least, I would like to extend my gratefulness to my parents who have
always support me since I was born. Without their continuous encouragement and
financial support, I could not be complete my final year project smoothly.
iv
ABSTRAK
Sistem Kawalan Akses Pintu Lab Bersepadu adalah aplikasi mudah alih yang
disepadukan dengan teknologi RFID. Sistem ini dibangunkan untuk mengelakkan
masalah tiada rekod untuk masuk / keluar pengguna dari makmal, pengguna lupa
membawa kad akses, memudahkan pengguna menyerahkan borang permintaan untuk
menggunakan makmal, dan mengurangkan penggunaan masa pada kunci pintu secara
manual . Objektif projek ini adalah untuk mengkaji pelaksanaan teknologi RFID dalam
aplikasi mudah alih iLDAC. Selain itu, projek ini adalah untuk membangunkan aplikasi
mudah alih yang bersepadu dengan teknologi RFID untuk memperbaiki sistem yang sedia
ada. Objektif terakhir projek ini adalah untuk menguji fungsi dan keberkesanan teknologi
RFID dalam aplikasi mudah alih iLDAC. Sistem ini tersedia untuk Android, iOS, dan
Windows. Walau bagaimanapun, terdapat beberapa kekangan apabila menggunakan
sistem pada Windows. Sistem ini mempunyai 4 jenis pengguna, iaitu pembantu makmal,
pelajar, pensyarah, dan admin. Teknologi yang digunakan dalam projek ini termasuk
Rangka Kerja Ionic, TypeScript, CSS, HTML5, dan Arduino. Metodologi yang
digunakan dalam projek ini adalah Pembangunan Agile. Hal ini kerana metodologi ini
membolehkan perubahan dan peningkatan dapat dibuat walaupun terlambat dalam
kitaran pembangunan. Sistem Kawalan Akses Pintu Lab Bersepadu mempunyai beberapa
fungsi iaitu melihat laporan, menghasilkan laporan, mengemukakan borang permintaan,
menguruskan permintaan, mengunci pintu, membuka pintu menggunakan aplikasi, dan
memberitahu pengguna untuk meninggalkan makmal. Sistem ini telah diuji oleh klien
menggunakan Ujian Penerimaan Pengguna (UAT). Hasil yang diuji menunjukkan
bahawa sistem berfungsi dengan baik, bebas bug, dan memenuhi keperluan pengguna
seperti dinyatakan dalam Spesifikasi Keperluan Perisian.
v
ABSTRACT
Integrated Lab Door Access Control system is a mobile application that integrated with
RFID technology. The system is developed to prevent the problem of no record for check-
in/out of users from lab, users forgot to bring access card, ease the users to submit request
form to use lab, and reduce the time consuming on manually lock the door. The objectives
of this project is to study the implementation of RFID technology in iLDAC mobile
application. Besides, this project is to develop a mobile application that integrated with
RFID technology in order to improve the existing system. The last objective of this
project is to test the functionality and effectiveness of RFID technology in iLDAC mobile
application. The system is available for Android, iOS, and Windows. However, there are
some constraints when use the system on Windows. The system has 4 type of users, which
are lab assistant, student, lecturer, and admin. The technology that applied in this project
include Ionic Framework, TypeScript, CSS, HTML5, and Arduino. The methodology
that applied in this project is Agile Software Development. This is because this
methodology allow the developers to make changes and improvement even though it is
late in the development cycle. This help to increase the client satisfaction since meeting
with client can be done frequently. Integrated Lab Door Access Control system have
several functions which are view report, generate report, submit request form, manage
request, lock the door, open the door using application, and notify the users to leave the
lab. This system has been tested by client using User Acceptance Test (UAT). The tested
result shows that the system is working well, bug free, and meet the user requirements as
stated in Software Requirement Specification.
vi
TABLE OF CONTENT
DECLARATION
TITLE PAGE
ACKNOWLEDGEMENTS iii
ABSTRAK iv
ABSTRACT v
TABLE OF CONTENT vi
LIST OF TABLES x
LIST OF FIGURES xi
LIST OF ABBREVIATIONS xiii
CHAPTER 1 INTRODUCTION 1
1.1 BACKGROUND 1
1.2 PROBLEM STATEMENT 2
1.3 OBJECTIVE 3
1.4 SCOPE 4
1.5 SIGNIFICANCE 4
1.6 THESIS ORGANIZATION 5
CHAPTER 2 LITERATURE REVIEW 6
2.1 INTRODUCTION 6
2.2 REVIEW ON OPEN SOURCE BOARD 6
2.2.1 Arduino 6
2.2.2 Raspberry Pi 7
vii
2.2.3 BeagleBoard 8
2.2.4 Comparison between Open Source Boards 8
2.3 TECHNOLOGIES USED 9
2.3.1 Radio-Frequency Identification (RFID) 9
2.3.2 Near Field Communication (NFC) 10
2.3.3 Bluetooth Low Energy Beacons 10
2.4 REVIEW ON MOBILE APPLICATIONS 11
2.4.1 Hybrid Apps 12
2.4.2 Native Apps 13
2.4.3 Web Apps 13
2.5 COMPARISON OF MOBILE APP FRAMEWORK 14
2.5.1 Ionic Framework 14
2.5.2 Xamarin 15
2.5.3 React Native 15
2.6 REVIEW ON EXISTING SYSTEM 16
2.6.1 Nitgen Fingkey Access 16
2.6.2 Zicom Proximity Access Control System 17
2.6.3 MiLocks Keyless Entry Door Lock 18
2.6.4 Comparison On Existing System 19
CHAPTER 3 METHODOLOGY 20
3.1 INTRODUCTION 20
3.2 METHODOLOGY 20
3.2.1 Agile Software Development Methodology 20
3.2.2 Agile Software Development Phases 21
3.3 HARDWARE AND SOFTWARE 26
viii
3.3.1 Hardware Requirement 26
3.3.2 Software Requirement 27
3.4 GANTT CHART 27
3.5 GENERAL ARCHITECTURE AND PACKAGE MODULE 27
3.5.1 General Architecture 27
3.5.2 Package module 28
CHAPTER 4 RESULTS AND DISCUSSION 29
4.1 Introduction 29
4.2 Implementation Process 29
4.2.1 Normal Users 29
4.2.2 Admin 35
4.2.3 Lecturer and Student 40
4.2.4 Lab Assistant 48
4.2.5 Hardware Setup 55
4.2.6 Database (Firebase) 57
4.3 Testing and Result Discussion 58
4.3.1 Summary of Testing Result 58
CHAPTER 5 CONCLUSION 60
5.1 Introduction 60
5.2 Project Constraints 60
5.3 Future Work 61
REFERENCES 62
APPENDIX A GANTT CHART 64
ix
APPENDIX B SOFTWARE REQUIREMENT SPECIFICATION (SRS) 65
APPENDIX C SOFTWARE DESIGN DOCUMENTATION (SDD) 99
APPENDIX D USER ACCEPTANCE TEST (UAT) 122
x
LIST OF TABLES
Table 1.1 Problem statement in project 2
Table 1.2 Scope in project 4
Table 2.1 Comparison between open source boards 8
Table 2.2 Comparison between RFID, NFC, and Beacons 11
Table 2.3 Comparison between native apps, web apps, and hybrid apps. 13
Table 2.4 Comparison between 3 different types of mobile frameworks 16
Table 2.5 Comparison between existing systems with proposed system 19
Table 3.1 Hardware Requirement 26
Table 3.2 Software Requirement 27
Table 4.1 Summary result of UAT 58
xi
LIST OF FIGURES
Figure 2.1 Nitgen Fingkey Access 17
Figure 2.2 Zicom Proximity Access Control System 18
Figure 2.3 MiLocks Keyless Entry Door Lock 18
Figure 3.1 Basic principles of Agile methodology 21
Figure 3.2 Phases in Agile SDLC (FORSYTH, 2013) 22
Figure 3.3 Use case of iLDAC 23
Figure 3.4 Context diagram of iLDAC 24
Figure 3.5 Architecture of system 28
Figure 4.1 Login Page of iLDAC 30
Figure 4.2 Warning message for authentication process 30
Figure 4.3 Code of authentication process (home.ts) 31
Figure 4.4 Code of authentication process (auth.service.ts) 31
Figure 4.5 Code of differentiate the pages shown to users (menu.ts) 32
Figure 4.6 Sign Up Page 33
Figure 4.7 Warning message about the Sign Up restrictions 33
Figure 4.8 Alert Message for invalid User ID and different password inserted 34
Figure 4.9 Code of Sign Up process (signup.ts) 34
Figure 4.10 Code of Sign Up process (auth.service.ts) 34
Figure 4.11 Full user information and filtered user information 35
Figure 4.12 Code of updateFilter Function (adminmain.ts) 36
Figure 4.13 User Interface of Add New User 36
Figure 4.14 Alert Message for duplicate User ID 37
Figure 4.15 Code of Add New User (addnewuser.ts) 38
Figure 4.16 Options appeared when click on the row 39
Figure 4.17 Code of show action sheet when click on the row (adminmain.ts) 39
Figure 4.18 Update User Page 40
Figure 4.19 Open Door function 41
Figure 4.20 Random code being send to users through email 42
Figure 4.21 Code of email code function (opendoor.ts) 42
Figure 4.22 Alert message for generated code expired 43
Figure 4.23 Toast message appeared when door is opened 44
Figure 4.24 Toast message appeared when press the exclamation mark 45
Figure 4.25 Action sheet appeared for user to select image source 45
xii
Figure 4.26 Code of takePicture function (requestlab.ts) 46
Figure 4.27 Profile page and change password page of users 47
Figure 4.28 Code of change password (changepassword.ts) 47
Figure 4.29 “Success” notification received from lab assistant LA001 48
Figure 4.30 Code of showDetails function (notification.ts) 48
Figure 4.31 User interface of manage request 49
Figure 4.32 Code of approve the request form (managerequest.ts) 50
Figure 4.33 Code of reject the request form (managerequest.ts) 50
Figure 4.34 Lab users in the lab at the moment 51
Figure 4.35 Code of notify users (managelab.ts) 52
Figure 4.36 Code of lock/unlock lab (managelab.ts) 52
Figure 4.37 Report of check-in/out from labs 53
Figure 4.38 Success alert message pop out to lab assistant 54
Figure 4.39 Code of generate and export report 1 (report.ts) 54
Figure 4.40 Code of generate and export report 2 (report.ts) 55
Figure 4.41 Hardware Setup 56
Figure 4.42 Result of access door successfully 56
Figure 4.43 Result of failed to access door 57
Figure 4.44 Overview of database 57
Figure 4.45 Database of user information 58
xiii
LIST OF ABBREVIATIONS
SDLC Software Development Life Cycle
RFID Radio-Frequency Identification
NFC Near Field Communication
BLE Bluetooth Low Energy
SASS Syntactically Awesome Style Sheets
SRS Software Requirement Specification
SDD
UMP
UAT
Software Design Document
Universiti Malaysia Pahang
User Acceptance Test
iLDAC Integrated Lab Door Access Control
1
CHAPTER 1
INTRODUCTION
1.1 BACKGROUND
A laboratory is a facility that carry out scientific experimentation, observation,
practice in a field of study, or research in a controlled condition. There are many kinds of
costly apparatus, machines, equipment, chemicals, and materials in those labs. Besides,
some of the materials and chemicals is very dangerous and may cause health problem to
the human. Laboratory work is all about Research & Development (R&D), and it play an
important role in take our nation to a new heights instead of lagging behind other
countries. There are various security threats that faced by mostly laboratories included
physical attack, theft of intellectual property, and unauthorized disclosure of sensitive
information. To counter the threats faced, a high reliability access control system is
needed to control the accessibility in order to secure the laboratory.
There are two main type of access control system – biometric based and physical
based in which biometric based identify users through fingerprint, face recognition, and
other individuals characteristics where physical based identify users by ID card or enter
password. There are many existing physical access control system, for example smart
card access system, key fob access system swipe card access system, keypad access
system, mobile access system, etc. The main reasons of apply all of these system is to
prevent the unauthorized entry of persons and removal of laboratory assets.
iLDAC is a mobile application that integrate with RFID technology to control the
accessibility in/out from the laboratory no matter it is computer lab or chemical lab. A
Radio-Frequency Identification (RFID) system is made up of two parts, which are a
tag/card and a reader. With the RFID system, lab users can unlock the door easier instead
of using traditional method which consume times to find the key. Besides that, sanitation
2
is an important issue for all the chemical lab since an experiment result may be altered
by unexpected matter. Since iLDAC enable only authorised persons to enter the labs, as
a result, there is no risk of contamination from outsiders to enter chemical labs. This is
also very helpful to protect the assets of laboratory since the price of some material,
apparatus, computer and machine is extremely high. Besides, the lab assistant can also
review the record of that person’s having check in/out from the laboratory, and check
whoever is inside the labs on time. Lab assistant can check the door status whether door
is locked or unlocked through iLDAC application and lock the door when it is needed.
1.2 PROBLEM STATEMENT
There are few problem statement in this project and will be listed in the Table 1.1.
Table 1.1 Problem statement in project
Problem Description Effect
Door is forgotten to be
locked.
Sometimes, the lab assistant
or student forgot to lock the
labs door after they leave
from there.
Unauthorised person
may enter the lab.
High value equipment,
apparatus and material
in lab being stolen.
Forgot to bring card There are sometimes users
forgot to bring their access
card to access the door.
Users unable to enter
the lab.
No record of users who
access the laboratory.
The users does not fill in the
check-in/out form prepared
in the lab.
No record to be
reviewed when high
value equipment,
apparatus, and material
being stolen.
It is inconvenience for users
to submit request form to
faculty.
Users want to use lab during
night time to do their tasks.
Lab is often locked after
working hours, student and
lecturer unable to access it
during night time.
Task cannot be
completed before the
due date.
3
1.3 OBJECTIVE
The goal of this project is to develop an android mobile application that integrated
with access control system to improve the security level of lab with the following
objectives:
i. To study the implementation of RFID technology in iLDAC mobile application.
ii. To develop a mobile application that integrated with RFID technology in order to
improve the existing system.
iii. To test the functionality and effectiveness of RFID technology in iLDAC mobile
application.
62
REFERENCES
(21 11, 2017). Retrieved from altexsoft: https://www.altexsoft.com/blog/mobile/pros-and-cons-of-
xamarin-vs-native/
Advantages of RFID | Disadvantages of RFID. (2012). Retrieved from RF Wireless World:
http://www.rfwireless-world.com/Terminology/Advantages-and-Disadvantages-of-RFID.html
AltexSoft. (19 2, 2018). Retrieved from altexsoft:
https://www.altexsoft.com/blog/engineering/xamarin-vs-react-native-vs-ionic-cross-platform-
mobile-frameworks-comparison/
Blaz. (13 3, 2015). Indoor Positioning, Tracking and Indoor Navigation with Beacons. Retrieved
from locatify: https://locatify.com/blog/indoor-positioning-systems-ble-beacons/
Boriev, Z. V., Sokolov, S., & Nyrkov, A. (2015). Review of modern biometric user authentication and
their development prospects. IOP Conference Series: Materials Science and Engineering.
CASTLE, A. (4 12, 2013). Everything You Need to Know about The Beaglebone Black. Retrieved
from Tested: http://www.tested.com/art/makers/459278-everything-you-need-know-about-
beaglebone-black/
Chou, J. (15 6, 2016). Retrieved from konkakt: https://kontakt.io/blog/extensive-guide-to-bluetooth-
beacons/
DiCola, T. (6 5, 2014). Embedded Linux Board Comparison. Retrieved from adafruit:
https://learn.adafruit.com/embedded-linux-board-comparison/overview
Duroc, Y., & Tedjini, S. (2018). RFID: A key technology for Humanity. Comptes Rendus Physique,
64-71.
Farrell, A. (2007). Selecting a Software Development Methodology based on Organizational
Characteristics.
63
FingerTec. (19 10, 2017). Retrieved from FingerTec: http://www.fingertectips.com/2017/10/nfc-vs-
beacon-which-is-right-for-you.html
FORSYTH, A. (Feb, 2013). My Global IT. Retrieved from
http://www.myglobalit.com/blog/waterfall-vs-agile-models-software-development
George, N. (28 8, 2017). Strengths and Weaknesses of Hybrid Mobile Applications. Retrieved from
projectmates: https://www.projectmates.com/blog/blog-2017-strengths-and-weaknesses-of-
hybrid-mobile-apps.aspx
Gupta, A., & Gaffar H., A. (2016). Hybrid Application Development using Ionic Framework &
AngularJS. International Journal of Innovative Research in Computer Science & Technology
(IJIRCST).
Jobe, W. (2013). Native Apps vs. Mobile Web Apps.
Jobe, W. (2013). Native Apps vs. Mobile Web Apps . International Journal of Interactive Mobile
Technologies.
Meike, R. (24 10, 2012). Raspberry Pi vs. Arduino Vs. BeagleBone – What’s The Difference?
Retrieved from Makezine: https://makezine.com/2013/04/15/arduino-uno-vs-beaglebone-vs-
raspberry-pi/
Osetskyi, V. (2017). SDLC Models Explained: Agile, Waterfall, V-Shaped, Iterative, Spiral.
Pandit, V., & Lao, T. (2015). Applying Agile Software Principles to the Medical Device Life Cycle.
redhat. (n.d.). Retrieved from opensource.com: https://opensource.com/resources/raspberry-pi
Rouse, M. (4, 2017). IoTAgenda. Retrieved from TechTarget:
https://internetofthingsagenda.techtarget.com/definition/RFID-radio-frequency-identification
Utsav Jambusariaa, N. K. (2015). Secure Smartphone Unlocking using NFC. Procedia Computer
Science 45, 465 – 469.