You are on page 1of 75

LIST OF PUBLICATIONS

1. Darshan Bhavsar,Huzaib Sayyed,Ahtesham Shah,Kaif Shaikh, A Student At-


tendance System using Virtual Beacon, National Conference on Performance
Computing and Recent Applications-Paper ID-11,22nd February 2018 , De-
partment of Information Technology,Savitribai Phule Pune University, Pune.

2. Darshan Bhavsar,Huzaib Sayyed,Ahtesham Shah,Kaif Shaikh, A Student At-


tendance System using Virtual Beacon,Poster Competition under KJ’s Youth
Fest (Gravity 2018 ) organised by KJ’s College of Engineering and Manage-
ment Research , Pune on 23rd March 2018.

3. Darshan Bhavsar,Huzaib Sayyed,Ahtesham Shah,Kaif Shaikh, A Student At-


tendance System using Virtual Beacon, BJIT - BVICAM’s International Jour-
nal of Information Technology ISSN 0973 – 5658 Springer Journal No - 41870
,BJIT-D-18-00109R1(Partial Acceptance)

1
ACKNOWLEDGEMENT

With immense pleasure, We are presenting this project report on ”A Student At-
tendance System using Virtual Beacon” as a part of the curriculum of B.E.IT. We are truly
grateful to our project guide Prof. Sneha Tirth for her valuable guidance and encouragement.
Her encouraging words went along way in providing the patience and perseverance, which were
needed to complete this report successfully. We would like to express our sincere thanks to
Prof. Gajanan Arsalwad, H.O.D. IT department of Trinity College of Engineering and Re-
search. We would also like to thank all our project members and our parents who have directly
or indirectly guided and helped us in the preparation of this project and also for giving us an
unending support right from the stage this was conceived. We also acknowledge the research
work done by all word wide researchers in this field.

DARSHAN BHAVSAR
HUZAIB SAYYED
AHTESHAM SHAH
KAIF SHAIKH

2
ABSTRACT

Bluetooth Smart Low Energy Beacon is a wireless technology aimed at innovative


applications in tracking the user. The technology makes use of electronic tags to facilitate
automatic wireless identification, with a Bluetooth Smart Low Energy Beacon enabled device.
We are attempting to solve the problem of attendance monitoring using a Bluetooth Low En-
ergy Beacon. This application of Bluetooth Smart Low Energy Beacon to student attendance
improves the time taken during manual attendance and human errors and provides administra-
tors the statistics of attendance scores for use in further managerial decisions using their own
personal Android devices. This system solves the problem with the conventional system that it
took a long time for all the students to sign on attendance sheet and manual entering of data
for teachers/ professors. In order to spoil cheating students who try to register their attendance
illegally from outside the classroom, we employ a Virtual Beacon device to transmit a magic
number necessary for proper registration within the classroom and store data using Android
Devices.
Nomenclature: Mobile Device,Virtual Beacon,Private Server.

3
Contents

1 INTRODUCTION 12

1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.3 Relevance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4 Project Undertaken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.5 Organization of Project Report . . . . . . . . . . . . . . . . . . . . . . 14

2 LITERATURE SURVEY 16

2.1 Existing Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.1.1 Attendance System Using NFC Technology with Embedded


Camera on Mobile Device . . . . . . . . . . . . . . . . . . . . . 16

2.1.2 Face Detection System for Attendance of Class Students . . 16

2.1.3 An NFC Supported Attendance System in a University En-


vironment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.1.4 Automation of Attendances in Classrooms using RFID . . . . 17

2.1.5 Bluetooth Based Attendance Management System . . . . . . 18

2.1.6 Wireless attendance management system based on iris recog-


nition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.1.7 Fingerprint Based Student Attendance System Using GSM . 18

2.1.8 RFID: Management System for student’s attendance . . . . . 19

2.1.9 Aadhaar Based Biometric Attendance System Using Wire-


less Fingerprint Terminals . . . . . . . . . . . . . . . . . . . . . 19

4
2.2 Proposed System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.2.1 Goals of Proposed System . . . . . . . . . . . . . . . . . . . . . 20

2.3 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3 SPECIFICATION 22

3.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2 Hardware and Software Requirements . . . . . . . . . . . . . . . . . . 23

3.2.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.3 Front End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.4 Back End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3 Performance Requirement . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4 GlassFish Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.5 NetBeans IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.6 Android Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.7 Why Develop an Mobile App? . . . . . . . . . . . . . . . . . . . . . . . 25

4 DESIGN 27

4.1 UML Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.1.1 Use Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.1.2 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.1.3 Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.1.4 Data Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 30

5
4.1.5 Package Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.1.6 Component Diagram . . . . . . . . . . . . . . . . . . . . . . . . 34

4.1.7 Deployment Diagram . . . . . . . . . . . . . . . . . . . . . . . . 35

4.1.8 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.2 Mathematical Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2.1 System Specication . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2.2 Working . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.2.3 State Transition Diagram . . . . . . . . . . . . . . . . . . . . . 39

5 OUTLINING AND SCHEDULING 40

5.1 Estimation of Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.1.1 COCOMO Model . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.1.2 Terms of COCOMO Model . . . . . . . . . . . . . . . . . . . . 40

5.2 Cost Estimation of Project . . . . . . . . . . . . . . . . . . . . . . . . . 41

6 IMPLEMENTATION AND CODING 42

6.1 Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6.1.1 Beacon Generator . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6.1.2 Beacon Locator . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6.1.3 WebService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6.1.4 Send Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6.1.5 MonthlyAttendanceSheet . . . . . . . . . . . . . . . . . . . . . 50

6.2 Snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

6
6.2.1 Student Registration . . . . . . . . . . . . . . . . . . . . . . . . 54

6.2.2 Student Attendance . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.2.3 Teacher App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6.2.4 Admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

7 Results And Evaluation 62

7.1 Testing Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

7.2 Testing Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

7.3 Testing Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

7.4 TestCases and TestResults . . . . . . . . . . . . . . . . . . . . . . . . . 65

ADVANTAGES AND DISADVANTAGES 67

CONCLUSION 68

FUTURE SCOPE 69

REFERENCES 70

ANNEXURE 36

7
List of Figures

3.1 System Design Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.1 Use-Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.2 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.3 Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.4 Level 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.5 Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.6 Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.7 Package Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.8 Component Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.9 Deployment Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.10 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.11 State Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6.1 Student Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

6.2 Student Attendance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.3 Teacher App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6.4 Admin Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6.5 Admin Sign in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

6.6 After Sign in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

6.7 Add Teacher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

6.8 Add Subject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8
6.9 Day wise log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6.10 Month wise log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6.11 Send Email Send SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

9
List of Tables

7.1 TestCases and TestResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

7.2 TestCases and TestResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

10
A Student Attendance System using Virtual Beacon

Chapter 1: INTRODUCTION

1.1 Background

Beacon is a hardware transmitter device that broadcast their identifier to nearby portable
electronic device. The technology enables smartphones, tablets and other devices to perform
actions when in close proximity to a beacon. Bluetooth beacons use Bluetooth low energy
proximity sensing to transmit a universally unique identifier picked up by a compatible app or
operating system. The identifier and several bytes sent with it can be used to determine the
device’s physical location , track customers, or trigger a location based action on the device
such as a check in on social media or a push notification. Bluetooth beacon transmitters come
in a variety of form factors ,including small coin cell devices, USB sticks, and generic Bluetooth
4.0 capable USB dongles. Virtual beacons are also type of beacons in which the hardware is
reduced and maximum software is used. These beacons have many advantages over the stan-
dard beacon. The installation cost is minimised as no hardware is used. In this beacon all
the functionalities of the traditional beacon are mapped and it can be used easily. The virtual
beacon can be used as a software and is very handy and reduces the human efforts. On other
hand the accuracy of the virtual beacon is high as compared to the hardware beacon.

1.2 Overview

As student signature on attendance paper has been used for identifying the student for various
purposes including registration of attendance in the classroom. For example, attendance sheet
is provide to take attendance where student signature beside their respective name and roll
numbers. Using the attendance sheet the respective teacher/professor enters the information
of the present students information into database of attendance so that he/she is marked
present. The problem with this system is that it consumes much time as each student has to
do the same step over and over again till the end of semester. We can reduce the time for
attendance registration if we use multiple devices in parallel [5] to take attendance of students.
The idea to use the students own smartphones of which majority has the Android operating
system for attendance. In order to mark students attendance, we have made a software with all

Department of Information Technology, TCOER, Pune 11


A Student Attendance System using Virtual Beacon

the functionality of a beacon device compliant with the Bluetooth Low Energy specifications
(referred to as BLE beacon) to transmit a magic number to the Android devices within the
classroom. Requesting the magic number to be sent together with the student ID, we can
let only the present students in the classroom to send attendance and can determine cheating
students. The proposed system does the task like marking attendance more precisely and
decreasing paper work and errors like proxy, missing attendance by use of BLE (Bluetooth Low
Energy) beacon. But for avoiding the proxy of student we have added one extra functionality of
face detection [8] that is when student will get connected with beacon and give attendance the
photo of the student will be taken automatically from front camera of android device [7] and get
matched with the database. It make use of mobile devices to help with the attendance tracking
process but not specifically require the use of student owned mobile devices. The system uses
open source software to minimize development and maintenance costs and installation is fast
and simple. Our project focus on the analysis of the data and this project can reduce the
large workload of college. The output is in the form of virtualization of the data in the forms
of graphs and the future prediction from the data and is a real time in the form of sheets.
The portal sheet of database will automatically calculate the average attendance of the student
weekly , monthly as well as semester wise and if the attendance of the student is less than 75
percent the message will be send to the parent of the student or on the mail account of parent.
The software will also show the location [12] of the lecture which is currently ongoing when the
student will in the range .

1.3 Relevance

Attendance system is the integral part of any administration and cannot be ignored. Various
methods have been implied from decades in order to achieve maximum results and these meth-
ods are tend to consume a lot of time. Modern technology has resulted in advancement of
various techniques that could be used and consume less time. This project of the attendance
system while using a low energy bluetooth beacon is one of them.

Department of Information Technology, TCOER, Pune 12


A Student Attendance System using Virtual Beacon

1.4 Project Undertaken

Our project mainly focuses on the disadvantages of the traditional attendance method in which
calling out the names or roll numbers of students is done. It takes a fair amount of time of the
class in which something beneficial could be learnt. Our project uses the functionality of ble
beacon which is low energy bluetooth device that comes along with an application on android
device and is the most important part of the project. In this case there are two applications
which is the student application and the teacher application. The student application is the
beacon while the teacher application is the reciever. In this project the student turns on the
beacon via the application and his/her unique id is recieved by the teacher and the attendance
is marked. This project also has private server where all the records are stored. These records
can be sorted day wise, month wise ,yearly. Even a tentative defaulter list is generated and the
parents are informed of the defaulters via email.

1.5 Organization of Project Report

Chapter 1: Introduction
This chapter contains the Introduction, Motivation and basic idea about the project. In Back-
ground section we talk about the existing work done in this field and what we are doing in our
system. Also, how our system may help the teachers manage the time by reducing their efforts.

Chapter 2: Literature Survey


In this chapter the literature survey which has been carried out is shown. Our project relates
to other projects in many ways. In this chapter there are many existing approaches which are
similar to our project. We have referred to these topics for our project.

Chapter 3: Specification
This chapter contains details about the Architecture, Different technologies used in the system,
algorithms we used, etc. The Hardware and Software requirements, performance requirements
and the tools used to develop the system is also discussed. We are also stating why we used
Mobile Applications as our area of development.

Department of Information Technology, TCOER, Pune 13


A Student Attendance System using Virtual Beacon

Chapter 4: Design
This chapter consists of the most important part of the project which is the design. The design
gives us the basic understanding of the project. It consists of the class diagram, data flow
diagram which consists of the level, use case diagram, sequence diagram, activity diagram,
deployment diagram, component diagram, package diagram.

Chapter 5: Outlining and Scheduling


This chapter consists of the time estimation and different external factors affecting the system.
The cost evaluation and effort estimation is carried out in this chapter.

Chapter 6: Implementation
This chapter consists of the partial implementation of the project. It has the system design
architecture which shows the architecture of the project. Working of the project is also covered.
Some of the modules of our project are mentioned in this chapter.

Chapter 7: Results and Evaluation


This chapter contains the detailed description of the various test cases carried out on the system
to verify its functionality, security and robustness. We also discuss about the strategies used
to perform the test and the results of the test.

Department of Information Technology, TCOER, Pune 14


A Student Attendance System using Virtual Beacon

Chapter 2: LITERATURE SURVEY

Our project relates to other projects in many ways. we are using mobile computing domain in
our where we can solve the proxy issue in our application by using various image processing
algorithms. Whereas in other projects also they have used cloud There exist many approaches
which does not have an solution for proxy detection and management in bit complex with each
other.

2.1 Existing Approaches

2.1.1 Attendance System Using NFC Technology with Embedded


Camera on Mobile Device

This paper introduces a Near Field Communication (NFC) supported collage attendance system
for college students. To come out from all these issues we put NFC tag into service. Each tag
has a unique ID, precluding the duplication of a tag. These NFC tag are given to students
when they registered in college[6]. When student enter in class rooms and touch or move these
tag on lecturer mobile phone, NFC readers program will read these tags, identify the students
from their respective NFC tag and embedded camera will capture the face of particular student
then application send all the data to college server and in server side validation program will
check the data for validation (compare new data with previous data) if valid data found then
program will update the database as marking attendance otherwise mark student is absent.
These all done with one system no manual working this means no class time will be wasted.[7]

2.1.2 Face Detection System for Attendance of Class Students

This paper introduces a new automatic attendance management marking system, without any
interference with the regular teaching process. The system can be used also during exam sessions
or other teaching activities where attendance is obligatory. This system eliminates classical
student identification such as calling student names, or checking respective identification cards,
which can not only interfere with the teaching process, but also can be stressful for students
during exam sessions.[8]

Department of Information Technology, TCOER, Pune 15


A Student Attendance System using Virtual Beacon

2.1.3 An NFC Supported Attendance System in a University Envi-


ronment

In this approaches a smart attendance system using NFC that will simplify the attendance
process, by simply touching an attendance poster or the lecturer’s NFC based mobile device in
the class.NFC is a new, short range, high frequency, low bandwidth, and wireless communication
technology. NFC communication[7] is activated by touching two NFC enabled devices together,
or bringing them into close range. The range is usually few centimeters, and it operates at the
frequency of 13.56 MHz. The maximum data transfer rate is 424kbit/s. NFC is based on
Radio frequency Identification (RFID) thus its communication involves initiator and a target,
the initiator actively generates a Radio Frequency (RF) field that can be used as a signal to
power a passive target. The initiator (active) has its own internal power that can be used to
power the ICs that generate the outgoing signal; while the target (passive) has only ICs with
no internal power, which makes it to be in different forms like tags, stickers or cards.[6]

2.1.4 Automation of Attendances in Classrooms using RFID

This paper automates the design and implementation of students’ attendance management
system, taken into consideration easy access and time saving. Radio Frequency Identification
(RFID) and wireless technology are two technologies which will be applied as infrastructure in
the indoor environment. University Based Services (UBS) and tag IDs of the RFID [11] are
being used in this paper, in order to determine the attendance list for academic staff.How- ever,
manual attendance process during lecture time con- sumed valuable time and hard maintenance
task. Additional and miscellaneous applications include: electronic surveil- lance, protection
of valuable equipments against theft, con- trolled access to vehicles, Electronic Road-Pricing
(ERP) sys- tems, controlled access of personnel to secure or hazardous locations, time keeping
systems, animal and automatic identification of tools, identification of product variants and
process control in flexible manufacturing systems.[5]

Department of Information Technology, TCOER, Pune 16


A Student Attendance System using Virtual Beacon

2.1.5 Bluetooth Based Attendance Management System

This approach uses a Bluetooth and RFID reader application.This RFID reader gets the student
information[11] through student matrix card.After get the student information, it will send to
the computer in that class or lab. After that the individual in charge (professor, staff, and
student) must connect to the PC using Bluetooth to make his/her see the student attendant
in that class. These systems are to avoid student cheating about their attendant. At the same
time, this system will send a student attendance details to the lecturer e-mail after the class
dismiss. Bluetooth based new wireless applications can add comfort and security by automation
of the tasks earlier controlled manually. In this paper advantages of low cost, low power and
robustness of Bluetooth have been exploited to propose and execute two new consumer systems
in the form of a garage door opening system and an electronic attendance record system.[9]

2.1.6 Wireless attendance management system based on iris recog-


nition

These techniques, which use physical data, are receiving attention as a personal authentication
method that is more convenient than conventional methods such as a password or ID cards.
Biometric personal authenticcation uses data taken from measurements. Such data is unique
to the individual and remains so throughout one’s life. This technology has been applied for
controlling access to high-security facilities, but it is now being widespread developed in infor-
mation systems such as network, e-commerce, and retail applications. In these technologies,
iris recognition becomes the most mature and popular biometrics technology[1] used in au-
tomatic personal identification. In the beginning, the idea of using iris patterns for personal
identification was originally proposed in 1936 by ophthalmologist Frank Burch.[10]

2.1.7 Fingerprint Based Student Attendance System Using GSM

In this approach biometric recognition is required, the individual’s biometric characteristics


are recorded again. This time however, the identifying features are compared by the system
with the stored reference to determine if there is a close match.A unique feature of GSM[12],
not found in older analog systems, is the Short Message Service (SMS). SMS is a bidirectional

Department of Information Technology, TCOER, Pune 17


A Student Attendance System using Virtual Beacon

service for short alphanumeric (up to 160 bytes) messages. Messages are transported in a store-
and-forward fashion. For point-to-point SMS, a message can be sent to another subscriber to
the service, and an acknowledgement of receipt is provided to the sender. SMS can also be
used in a cell-broadcast mode, for sending messages such as traffic updates or news updates.
Messages can also be stored in the SIM card for later retrieval.[3]

2.1.8 RFID: Management System for student’s attendance

This approach uses Wireless and mobile telecommunication module is taught. Inside the class-
room there is one antenna/reader which has an embedded TCP server listening on port 8080 and
one external antenna that will read every tag at particular time where each tag will represent a
student. Using passive RFID tags [5] the antenna/reader will scan the tags by one button click
(or automatically) of our system application and the tags will be checked automatically all the
time and each match of student-tag will be recorded in database every 15 minutes.The system
will be presented in a web based platform which will be implemented using HTML, JavaScript
and CSS as front-end whereas MySQL and PHP 5.1.x scripting language as back-end.[11]

2.1.9 Aadhaar Based Biometric Attendance System Using Wireless


Fingerprint Terminals

In this approach a biometric attendance system is designed and implemented for efficient real
time monitoring as well as transparency in the management of student’s genuine attendance
using GSM based wireless fingerprint terminals[12] (WFTs). This system can be suitable to
deploy at the educational institutions. Each individual has a unique pattern of fingerprints
motivates the use of them for biometric authentication and are verified for finding the pres-
ence of the students in the institute. In this paper, two different approaches are discussed
to authenticate the captured fingerprint in the verification process. The first approach uses
data base created by the organization itself and the second approach uses the Aadhaar Central
Identification Repository (CIDR).[1]

Department of Information Technology, TCOER, Pune 18


A Student Attendance System using Virtual Beacon

2.2 Proposed System

Attendance is a main requirement of the schools and universities in most of the schools and
collages the teacher manually records the attendance of the students, this wastes valuable time
and energy. The proposed system of Student Attendance System using Virtual Beacon uses a
virtual beacon and the android device to take the attendance which saves the valuable time
as well as the energy. The designed system contains the Teacher,Student applications, Server,
Android Devices, Beacon connectivity and the relationship between each and every components
of the system through wifi of router. The attendance of student viewed and analyzed at the
server level. All the data is present at server which is sended by teacher. The Student when
login into student app then the mobile will create one unique beacon ID, and the app present in
the teacher’s mobile will locate all the beacon IDs present in the class and mark them present
then the app will send all the data towards the server to manage the database.The proposed
system of Attendance Management using Virtual Beacon has the capabilities to perform the
following functionalities.

• Take the attendance

• Calculate the attendance Week wise, Month wise and Semester wise

• Generate the sheet of overall attendance

• Send the message to the parent if attendance is less than 75

2.2.1 Goals of Proposed System

• To replace the traditional process of taking attendance, by the modern method.

• To make the better use of technology and the universality of the mobile phones.

• Main focus is to reduce the time and the energy consumed.

• In order to save the environment by making the system which is paper-free.

• To avoid the disturbance occured at the time of passing the attendance sheet in the
classroom.

Department of Information Technology, TCOER, Pune 19


A Student Attendance System using Virtual Beacon

2.3 Objective

This project is basically designed for taking attendance,which includes creating an individual
student beacon and scanned by teacher.But it also aims to achieve :-

• To provide accuracy of the data.

• To modernize traditional method.

• To provide data integrity.

• Analyze the drawback of existing system(manual system) and overcome in our project.

• To provide faster processing and reduce manual work.

Department of Information Technology, TCOER, Pune 20


A Student Attendance System using Virtual Beacon

Chapter 3: SPECIFICATION

3.1 Architecture

Figure 3.1: System Design Architecture

The system design architecture shows the Teacher, Student , Server , Devices and
Beacon connectivity and their relationship between them. Attendance of student is viewed and
managed at the server and can be analysed.

Department of Information Technology, TCOER, Pune 21


A Student Attendance System using Virtual Beacon

3.2 Hardware and Software Requirements

3.2.1 Hardware

• Pentium dual core or above

• HDD minimum 160 GB

• Smart Phone

3.2.2 Software

• Operating System Windows 7/8/10.

• Language : Java ,Swing(Java).

• IDE : Net Beans 7.2 , Android Studio

• Database MySQL

• Tool : GlassFish Server.

3.2.3 Front End

• Java

3.2.4 Back End

• SQL

3.3 Performance Requirement

Performance requirements should to be tracked from systems inception through its whole life-
cycle including design, development, testing, operations, and maintenance. They are the back-

Department of Information Technology, TCOER, Pune 22


A Student Attendance System using Virtual Beacon

bone of the performance engineering process. However different groups of people are involved
in each stage and they use their own vision, terminology, metrics, and tools that makes the
subject confusing when you go into details. The paper discusses existing issues and approaches
in the irrelationship with the performance engineering process.

3.4 GlassFish Server

Oracle GlassFish Server Oracle GlassFish Server is the world’s first implementation of the Java
Platform, Enterprise Edition (Java EE) 6 specification. Built using the GlassFish Server Open
Source Edition, Oracle GlassFish Server delivers a flexible, lightweight, and production-ready
Java EE 6 application server.

3.5 NetBeans IDE

NetBeans IDE is a free, open source, integrated development environment (IDE) that en-
ables you to develop desktop, mobile and web applications. The IDE supports application
development in various languages, including Java, HTML5, PHP and C++. The IDE pro-
vides integrated support for the complete development cycle, from project creation through
debugging, proling and deployment. The IDE runs on Windows, Linux, Mac OS X, and
other UNIX-based systems. The IDE provides comprehensive support for JDK 8 technolo-
gies and the most recent Java enhancements. It is the rst IDE that provides support for
JDK 8, Java EE 7,andJavaFX2.The IDEfully supports JavaEE using the latest standards for
Java,XML,Webservices,and SQL and fully supports the GlassFish Server,the reference imple-
mentation of Java EE.

3.6 Android Studio

NetBeans IDE is a free, open source, integrated development environment (IDE) that enables
you to develop desktop, mobile and web applications. The IDE supports application devel-
opment in various languages, including Java, HTML5, PHP and C++. The IDE provides
integrated support for the complete development cycle, from project creation through debug-

Department of Information Technology, TCOER, Pune 23


A Student Attendance System using Virtual Beacon

ging, proling and deployment. The IDE runs on Windows, Linux, Mac OS X, and other
UNIX-based systems. The IDE provides comprehensive support for JDK 8 technologies and
the most recent Java enhancements. It is the rst IDE that provides support for JDK 8, Java EE
7,and JavaFX2.The IDE fully supports JavaEE using the latest standards for Java,XML,Web
services,and SQL and fully supports the GlassFish Server,the reference implementation of Java
EE.

Feature:

• Android-specic refactoring and quick xes

• Template-based wizards to create common Android designs and components

• Support for building Android Wear apps.

• Built-in support for Google Cloud Platform, enabling integration with Google Cloud
Messaging and App Engine

• C++ and NDK support

• Instant Run to push changes to your running app without building a new APK

• A fast and feature-rich emulator and Deep Code Analysis

3.7 Why Develop an Mobile App?

Smartening up the attendance system is going mainstream. And this hi-tech area is supposed
to simplify and improve our management[18]te in a matter of minutes. We, potential users,
expect all these devices to think and x the new level of comfort, integrity and entertainment
quality for us.For a majority of student ,the Virtual Beacon concept looks a bit complicated to
understand but gadgets tend to be too smart and much time consuming. This project is going
to outline current situation and trends in Attendance Management market, spell out challenges
for Attendance Management face when offering technology to potential colleges or university
and nally, will demonstrate benets of a decision to develop a Student Attendance Management
app.

Department of Information Technology, TCOER, Pune 24


A Student Attendance System using Virtual Beacon

Benefits of Mobile Apps :

• Reduces cost.

• Easy to access or operate.

• Boost Data Management.

• Maintenance are easier.

• User Friendly.

Department of Information Technology, TCOER, Pune 25


A Student Attendance System using Virtual Beacon

Chapter 4: DESIGN

4.1 UML Diagrams

4.1.1 Use Case

Figure 4.1: Use-Case Diagram

A use case diagram is used to show the interaction with systems and it is a graphical
representation of the actors who will interact with our system and also depict the overall
functionality.In this use case the actors are Student and Teacher indirectly interacting with
use cases.The cases which Student are the interacting are the registration ,login, on bluetooth,
select the subject name with its code , take the live photo whereas the Teacher actor interacts
with registration,login, on the virtual beacon app.

Department of Information Technology, TCOER, Pune 26


A Student Attendance System using Virtual Beacon

4.1.2 Class Diagram

Figure 4.2: Class Diagram

The Class diagram shows the conceptual view of the overall system.[14] The diagram
having classes like Student, Virtual Beacon,StudentSystem ,Registration,Database, Teacher.
Class diagrams can also be used for data modeling. All the members of all the classes and
methods are public.All these classes have their respectively functionalities.According to classes
one or many student as well as teachers can have relation with only one Student App.Teacher
class have association with virtual beacon class for the purpose of transmission of UID.

Department of Information Technology, TCOER, Pune 27


A Student Attendance System using Virtual Beacon

4.1.3 Activity Diagram

Figure 4.3: Activity Diagram

Activity diagrams are graphical representations of work flows[17] of stepwise activities


and actions with support for choice, iteration and concurrency. Activity diagrams show the
overall flow of control.The diagram represent the flow how the application changes its behaviour
as per the activity happen.As the user login or register then it asks for it if you’re a student or
teacher which relates that change of activity have taken place.Activities are such as Initiate,scan
for session,take live photo, analyze, attendance less create defaulter list.

Department of Information Technology, TCOER, Pune 28


A Student Attendance System using Virtual Beacon

4.1.4 Data Flow Diagram

DFD Level 0

Figure 4.4: Level 0

DFD Level 0 is also called a Context Diagram. It’s a basic overview of the whole
system or process being analyzed or modeled. It’s designed to be an at-a-glance view, showing
the system as a single high-level process, with its relationship to external entities. The Unique
Student ID is taken as in input and Student Attendance as an output. Bluetooth Beacon is
an function used in this model.The flow goes from Student Id to beacon initializating session
to scanning of Id to Student Attendance. Every student has his own unique ID which will be
given as input to the beacon function which is transmitting the session id will be scanned by
student and then combine them and produces an output of marking attendance.

Department of Information Technology, TCOER, Pune 29


A Student Attendance System using Virtual Beacon

DFD Level 1

Figure 4.5: Level 1

DFD Level 1 provides a more detailed breakout of pieces of the Context Level Dia-
gram.It highlight the main functions carried out by the system, as you break down the high-level
process of the Context Diagram into its subprocesses. In DFD level 0 we had two sides one
was Student and another was Teacher. In teacher domain the teacher is assigned according to
session name and ID. The flow goes now to application where the teacher domain starts trans-
mitting the session id where the student can scan for it.The application process the ID and
then the flow goes to the web sheet or port where the student UID and session ID is combined
and stored in it. Analyzing of records can be done here.

Department of Information Technology, TCOER, Pune 30


A Student Attendance System using Virtual Beacon

DFD Level 2

Figure 4.6: Level 2

DFD Level 2 then goes one step deeper into parts of Level 1. It may require more
text to reach the necessary level of detail about the system’s functioning.The Teacher,Student
are the input as well output and the Application and Beacon is a kind of function where all
processing is done. All these processed data flows to Sheet or Portal.The teacher initiate the
session and passing these values to the application function. The Student having its own UID
and the session ID which is transmitted by the Beacon function where it is scanned by Student
and these flows to the Application giving all these values. All these values are the combination
of user UID and the session ID which are encapsulated which states that that user is present
in that session.These encapsulated packet now flows to Sheet or portal where all these record
are stored to maintain or update the attendance.Analyzing the records as per the requirement
can be done in this sheet or portal.

Department of Information Technology, TCOER, Pune 31


A Student Attendance System using Virtual Beacon

4.1.5 Package Diagram

Figure 4.7: Package Diagram

Package diagram is UML structure diagram which shows packages and dependencies
between the packages. Model diagrams allow to show different views of a system, for example,
as multi-layered application model.A package is rendered as a tabbed folder - a rectangle with
a small tab attached to the left side of the top of the rectangle. If the members of the package
are not shown inside the package rectangle, then the name of the package should be placed
inside.This is the package diagram of student attendance system with beacon.In our diagram
there are seven packages of names Student,Android application,UID,Android API,Beacon ap-
plication,Bluetooth and SQLite.Members of the package may be shown outside of the package
by branching lines from the package to the members. A plus sign (+) within a circle is drawn
at the end attached to the namespace (package). This notation for packages is semantically
equivalent to composition.In above diagram Android application,Android API and Bluetooth
are the members of the Beacon application.

Department of Information Technology, TCOER, Pune 32


A Student Attendance System using Virtual Beacon

4.1.6 Component Diagram

Figure 4.8: Component Diagram

Components are wired together by using an assembly connector to connect the re-
quired interface of one component with the provided interface of another component[16]. An
assembly connector is a connector that is de ned from a required interface or port to a pro-
vided interface or port. When using a component diagram to show the internal structure of
a component, the provided and required interfaces of the encompassing component can dele-
gate to the corresponding interfaces of the contained components. Above given diagram is a
component diagram of smart student attendance system using beacon.In this diagram there
are six components of names Bluetooth,Student,Android API,Beacon Application,SQLite and
Android Application.Dotted arrow represents the dependancy between two components.

Department of Information Technology, TCOER, Pune 33


A Student Attendance System using Virtual Beacon

4.1.7 Deployment Diagram

Figure 4.9: Deployment Diagram

Deployment diagram is a structure diagram which shows architecture of the system


as deployment (distribution) of software artifacts to deployment targets. Artifacts represent
concrete elements in the physical world that are the result of a development process.The term
Deployment itself describes the purpose of the diagram. Deployment diagrams are used for
describing the hardware components, where software components are deployed. Component
diagrams and deployment diagrams are closely related.Node is a deployment target which rep-
resents computational resource upon which artifacts may be deployed for execution.Node is
shown as a perspective, 3-dimensional view of a cube. In this diagram there are six nodes
namely UID,Beacon application,MYSQL,Server,Android API and Android application.Dotted
line the diagram is known as Manifestation.Manifestation is an abstraction relationship which
represents concrete physical rendering (implementation) of one or more model elements by an
artifact or utilization of the model elements in the construction or generation of the artifact.
An artifact manifests one or more model elements.

Department of Information Technology, TCOER, Pune 34


A Student Attendance System using Virtual Beacon

4.1.8 Sequence Diagram

Figure 4.10: Sequence Diagram

A sequence diagram is an interaction diagram that shows how processes operate with
one another and in what order[15]. It is a construct of a Message Sequence Chart. A sequence
diagram shows object interactions arranged in time sequence. It depicts the objects and classes
involved in the scenario and the sequence of messages exchanged between the objects needed
to carry out the functionality of the scenario. Sequence diagrams are sometimes called event
diagrams or event scenarios.The sequence have objects and classes such as Student, Teacher
,UID,Application . These object interact with each other using message sequnece and giving
acknowledgement.Also showing the lifeline of the component till where they interact with each
other.In application has its own task which is shown by self message.

Department of Information Technology, TCOER, Pune 35


A Student Attendance System using Virtual Beacon

4.2 Mathematical Model

A mathematical model is a description of a system using mathematical concepts and language.


The process of developing a mathematical model is termed mathematical modeling. Mathe-
matical models are used in the natural sciences (such as physics, biology, earth science, mete-
orology) and engineering disciplines (such as computer science, articial intelligence), as well as
in the social sciences (such as economics, psychology, sociology, political science). Physicists,
engineers, statisticians, operations research analysts, and economists use mathematical models
most extensively. A model may help to explain a system and to study the effects of different
components, and to make predictions about behaviour

4.2.1 System Specication

SET THEORY

1. U =[ S ,E ,I ,O ,Ds ,NDs ,F ,Su , Fa ]

2. S=Start State

3. E=End State

4. I=Set of Input

(a) I= [ i1 ,i2 ,i3 , . . . . . . , in ]

(b) i1=BeaconID

(c) i2=UserID

5. O= Set of Output

(a) O=[ O1 ,O2 ,O3 ,. . . . . . .. On ]

(b) O1=Register Student

(c) O2=Attendance Record

6. Ds=Deterministic State (User Found in Database)

7. NDs=Non-Deterministic State (User not Found in Database)

Department of Information Technology, TCOER, Pune 36


A Student Attendance System using Virtual Beacon

8. F=Set of function

(a) F=[ f1 ,f2 ,f3 ,. . . . . . . . . . . . . . . , fn ]

(b) f1=Add Teacher()

(c) f2=Add Subject()

(d) f3=Student Registration()

9. Su == Success Condition = Attendance Record Generated Successfully

10. Fu == Failure Condition = Record Not Generated

4.2.2 Working

1. Initiate the Server.

2. Administrator login-in into the Admin-App.

3. Administrator Add Teacher and gives UserID and Password to each Teacher.

4. Administrator Add Subject with respective Year and Branch.

5. Student initiate with Server IP address with Teacher grants permission to register.

6. During Lecture , Teacher login to Teacher-App and navigate to its respective lecture and
start Lecture(session).

7. Student login to Student-App and just toggle On for attendance.

8. Teacher-App will collect all the Student ID and after end lecture send all record to Server.

9. Respective Teacher or Administrator on Admin-App can view all the attendance month
wise,day wise.

10. Admin-App auto generate defaulter and provide facility to notify their Parent.

11. Admin-App creates Excel Sheet of all Student data for further procedure.

Department of Information Technology, TCOER, Pune 37


A Student Attendance System using Virtual Beacon

4.2.3 State Transition Diagram

Figure 4.11: State Transition

.
q1=New Beacon Registration.
q2=Reading new Beacons.
q3=Verification of Beacons.
q4=Attendance Marking.
q5=Attendance Report Generation.

Department of Information Technology, TCOER, Pune 38


A Student Attendance System using Virtual Beacon

Chapter 5: OUTLINING AND SCHEDULING

5.1 Estimation of Project

5.1.1 COCOMO Model

The Constructive Cost Model(COCOMO)is an algorithmic software cost estimation model


developed by Barry W. Boehm. The model uses a basic regression formula with parameters
that are derived from historical project data and current as well as future project characteristics.
COCOMO Model became one of the most widely used and discussed software cost estimation
models in the industry. It has evolved in to a more comprehensive estimation model, called
COCOMO II.Like its predecessor, COCOMO II is actually a hierarchy of estimation model that
address application composition model early design stage model and post architecture model.
1. Application Composition Model: Used during the early stages of software engineering when
prototyping of user interfaces, consideration of software and system interaction assessment of
performance and evaluation of technology maturity are paramount.
2. Early Design Stage Model: Used once requirement have been stabilized and basic software
architecture has been established.
3. Post-Architecture-Stage Model: Used during the construction of the software.

5.1.2 Terms of COCOMO Model

Equation for estimation is as follows:

Ef f ort = a ∗ KLOC b

Duration = c ∗ Ef f ortd

Staf f ing = Ef f ort/Duration

Department of Information Technology, TCOER, Pune 39


A Student Attendance System using Virtual Beacon

5.2 Cost Estimation of Project

Effort = 16.5308376482437 (in person/months)


where, a = 3.6
b = 1.12
KLOC = 3.9 (in thousands)

Duration = 6.67333934865247 (in months)


where, c = 2.5
d = 0.35

Staffing = 2.47714626584690 (recommended)

Note : Results calculated using COCOMO calculator application.

Department of Information Technology, TCOER, Pune 40


A Student Attendance System using Virtual Beacon

Chapter 6: IMPLEMENTATION AND COD-


ING

6.1 Coding

6.1.1 Beacon Generator

1 public v o i d c r e a t e b e a c o n ( View view )


2 { i f (Name . getText ( ) . t o S t r i n g ( ) . l e n g t h ( ) ==0)
3 {
4 Toast . makeText ( M a i n A c t i v i t y . t h i s , ” Enter Student Name” , Toast .
LENGTH SHORT) . show ( ) ;
5 } e l s e i f ( Mobile . getText ( ) . t o S t r i n g ( ) . l e n g t h ( ) <10 | | Mobile . getText ( ) .
t o S t r i n g ( ) . l e n g t h ( ) >10)
6 {
7 Toast . makeText ( M a i n A c t i v i t y . t h i s , ” I n v a l i d Mobile ” , Toast .LENGTH SHORT) .
show ( ) ;
8 } e l s e i f ( ! v a l i d a t e E m a i l ( Email . getText ( ) . t o S t r i n g ( ) ) )
9 {
10 Toast . makeText ( M a i n A c t i v i t y . t h i s , ” Enter v a l i d Email ID ” , Toast .
LENGTH SHORT) . show ( ) ;
11 } e l s e i f ( ParentMobile . getText ( ) . t o S t r i n g ( ) . l e n g t h ( ) <10 | | ParentMobile .
getText ( ) . t o S t r i n g ( ) . l e n g t h ( ) >10)
12 {
13 Toast . makeText ( M a i n A c t i v i t y . t h i s , ” I n v a l i d Mobile ” , Toast .LENGTH SHORT) .
show ( ) ;
14 } e l s e i f ( ! v a l i d a t e E m a i l ( ParentEmail . getText ( ) . t o S t r i n g ( ) ) )
15 {
16 Toast . makeText ( M a i n A c t i v i t y . t h i s , ” Enter v a l i d Parent Email ID ” , Toast .
LENGTH SHORT) . show ( ) ;
17 } else
18 {
19 System . out . p r i n t l n ( ” 8 8 8 8 8 8 b88888888888888888888888888888888888888
Method C a l l e d ” ) ;
20 beacon = new Beacon . B u i l d e r ( )
21 . s e t I d 1 ( ” 0 x” + SID . getText ( ) . t o S t r i n g ( ) )
22 . s e t I d 2 ( ” 0 x” +”1122”)

Department of Information Technology, TCOER, Pune 41


A Student Attendance System using Virtual Beacon

23 . s e t I d 3 ( ” 0 x” +”AABB” )
24 . s e t M a n u f a c t u r e r ( 0 x0118 )
25 . setTxPower ( −59)
26 . s e t D a t a F i e l d s ( Arrays . a s L i s t ( new Long [ ] { 0 l } ) )
27 . build () ;
28 Toast . makeText ( M a i n A c t i v i t y . t h i s , ” S u c e s s f u l l y IBeacon Created ” ,
Toast .LENGTH SHORT) . show ( ) ;
29 R e g i s t e r T a s k t a s k=new R e g i s t e r T a s k ( ) ;
30 task . execute () ;
31 }

6.1.2 Beacon Locator

2 p r o t e c t e d v o i d onCreate ( Bundle s a v e d I n s t a n c e S t a t e ) {
3

4 s u p e r . onCreate ( s a v e d I n s t a n c e S t a t e ) ;
5

6 setContentView (R. l a y o u t . a c t i v i t y s t a r t ) ;
7 Log . e (TAG, ” A p p l i c a t i o n S t a r t e d ” ) ;
8 d i s t = ( TextView ) findViewById (R. i d . d i s t ) ;
9 // l v =( L i s t V i e w ) findViewById (R. i d . l i s t V i e w ) ;
10 manager = BeaconManager . g e t I n s t a n c e F o r A p p l i c a t i o n ( t h i s ) ;
11

12 s t u d e n t s= new Vector<Student >() ;


13

14 manager . g e t B e a c o n P a r s e r s ( ) . add ( new BeaconParser ( )


15 . setBeaconLayout ( ”m:2 −3=0215 , i :4 −19 , i :20 −21 , i :22 −23 , p :24 −24 , d
:25 −25”) ) ;
16 manager . bind ( t h i s ) ;
17 }
18

19 @Override
20 p r o t e c t e d v o i d onDestroy ( ) {
21 s u p e r . onDestroy ( ) ;
22 manager . unbind ( t h i s ) ;
23 }
24

25 @Override
26 p u b l i c v o i d on Be ac o nSe r vic e Co nne ct ( ) {

Department of Information Technology, TCOER, Pune 42


A Student Attendance System using Virtual Beacon

27 f i n a l Region r e g i o n=new Region ( ” myBeacons ” , n u l l , n u l l , n u l l ) ;


28

29 {
30 manager . s e t M o n i t o r N o t i f i e r ( new M o n i t o r N o t i f i e r ( ) {
31

32

33 @Override
34 p u b l i c v o i d d i d E n t e r R e g i o n ( Region r e g i o n ) {
35 try {
36 Log . d (TAG, ” d i d E n t e r R e g i o n ” ) ;
37 manager . s t a r t R a n g i n g B e a c o n s I n R e g i o n ( r e g i o n ) ;
38

39

40 } c a t c h ( RemoteException e ) {
41 e . printStackTrace () ;
42 }
43

44 }
45

46 @Override
47 p u b l i c v o i d d i d E x i t R e g i o n ( Region r e g i o n ) {
48 try {
49 Log . d (TAG, ” d i d E x i t R e g i o n ” ) ;
50 manager . stopRangingBeaconsInRegion ( r e g i o n ) ;
51

52

53 } c a t c h ( RemoteException e ) {
54 e . printStackTrace () ;
55 }
56

57 }
58

59 @Override
60 p u b l i c v o i d d i d D e t e r m i n e S t a t e F o r R e g i o n ( i n t i , Region r e g i o n ) {
61

62 }
63 }) ;
64

65 manager . s e t R a n g e N o t i f i e r ( new R a n g e N o t i f i e r ( ) {
66 S t r i n g Id , Major , Minor ;

Department of Information Technology, TCOER, Pune 43


A Student Attendance System using Virtual Beacon

67

68 @Override
69 p u b l i c v o i d didRangeBeaconsInRegion ( f i n a l C o l l e c t i o n <Beacon>
beacons , Region r e g i o n ) {
70 // s t u d e n t s=new Vector<Student >() ;
71

72

73 try {
74 Thread . s l e e p ( 1 0 0 0 0 ) ;
75

76 } catch ( InterruptedException e ) {
77 e . printStackTrace () ;
78 }
79

80 i d =””;
81

82 f o r ( Beacon onebeacon : b e a co n s )
83 {
84

85

86 s t u d e n t=new Student ( ) ;
87 // i d+=””+onebeacon . g e t I d 1 ( ) +”\n\n ” ;
88 S t r i n g beaconID=””+onebeacon . g e t I d 1 ( ) ;
89 S t r i n g r e s u l t = beaconID . r e p l a c e A l l
(”[\\ −\\+\\.\\ˆ: ,]” ,””) ;
90 s t u d e n t . ID =r e s u l t ;
91

92 b o o l e a n found=f a l s e ;
93 f o r ( Student s : s t u d e n t s )
94 {
95

96 i f ( s . ID . e q u a l s ( s t u d e n t . ID ) )
97 {
98 found=t r u e ;
99 break ;
100

101 }
102 }
103 i f ( ! found )
104 { i d+=s t u d e n t . ID+”\n\n ” ;

Department of Information Technology, TCOER, Pune 44


A Student Attendance System using Virtual Beacon

105 s t u d e n t s . add ( s t u d e n t ) ;
106 }
107

108 }
109

110 d i s t . p o s t ( new Runnable ( ) {


111 @Override
112 p u b l i c v o i d run ( ) {
113

114 d i s t . setText ( id ) ;
115 }
116 }) ;
117

118 }
119 }) ;
120

121

122

123 try {
124 manager . s t a r t M o n i t o r i n g B e a c o n s I n R e g i o n ( r e g i o n ) ;
125

126 } c a t c h ( RemoteException e ) {
127 e . printStackTrace () ;
128 }
129

130 }
131

132 }
133

134 public c l a s s AttendanceTask e x t e n d s AsyncTask<S t r i n g , Void , S t r i n g >


135 {
136

137 @Override
138 p r o t e c t e d S t r i n g doInBackground ( S t r i n g . . . a r g 0 ) {
139 // TODO Auto−g e n e r a t e d method s t u b
140

141 r e s p =( S t r i n g ) S e r v e r . c a l l S e r v i c e ( a t t e n d a n c e ,
142 ” Attendanceupdate ” , ” o b j ” , f a l s e ) ;
143 System . out . p r i n t l n ( ” Responce”+r e s p ) ;
144

Department of Information Technology, TCOER, Pune 45


A Student Attendance System using Virtual Beacon

145 return ””;


146 }
147

148 }
149 }

6.1.3 WebService

1 public void initDatabase ( ) {


2

3 S t r i n g c o n n e c t i o n = ” j d b c : mysql : / / l o c a l h o s t / db14576 ” ;
4 String user = ” root ”;
5 S t r i n g password = ” r o o t ” ;
6 try {
7 C l a s s . forName ( ” com . mysql . j d b c . D r i v e r ” ) . n e w I n s t a n c e ( ) ;
8 con = DriverManager . g e t C o n n e c t i o n ( c o n n e c t i o n , u s e r , password ) ;
9 System . out . p r i n t l n ( ” Database Connectiomn Ok” ) ;
10 } catch ( Exception e ) {
11 System . out . p r i n t l n ( ” E r r o r o p e n i n g d a t a b a s e : ” + e ) ;
12 }
13 }
14

15 Object s t r i n g T o O b j e c t ( S t r i n g i n p ) {
16 byte b [ ] = Base64 . decode ( i n p ) ;
17 Object r e t = n u l l ;
18 try {
19 ByteArrayInputStream b i s = new ByteArrayInputStream ( b ) ;
20 O b j e c t I n p u t i n = new ObjectInputStream ( b i s ) ;
21 r e t = ( Object ) i n . r e a d O b j e c t ( ) ;
22 bis . close () ;
23 in . close () ;
24 } catch ( Exception e ) {
25 System . out . p r i n t l n ( ”NOT DE−SERIALIZABLE : ” + e ) ;
26 }
27 return ret ;
28 }
29

30 S t r i n g o b j e c t T o S t r i n g ( Object o b j ) {
31 byte [ ] b = n u l l ;
32 try {

Department of Information Technology, TCOER, Pune 46


A Student Attendance System using Virtual Beacon

33 ByteArrayOutputStream bos = new ByteArrayOutputStream ( ) ;


34 ObjectOutput out = new ObjectOutputStream ( bos ) ;
35 out . w r i t e O b j e c t ( o b j ) ;
36 b = bos . toByteArray ( ) ;
37 } catch ( Exception e ) {
38 System . out . p r i n t l n ( ”NOT SERIALIZABLE : ” + e ) ;
39 }
40 r e t u r n Base64 . encode ( b ) ;
41 }
42

43 @WebMethod( operationName = ” h e l l o ” )
44 p u b l i c S t r i n g h e l l o (@WebParam( name = ”name ” ) S t r i n g t x t ) {
45 return ” Hello ” + txt + ” ! ” ;
46 }
47

48 @WebMethod( operationName = ” AdminSignup ” )


49 p u b l i c S t r i n g AdminSignup (@WebParam( name = ” o b j ” ) S t r i n g o b j ) {
50 initDatabase () ;
51 Admin admin = new Admin ( ) ;
52 admin = ( Admin ) s t r i n g T o O b j e c t ( o b j ) ;
53 try {
54

55 S t r i n g s q l = ” i n s e r t i n t o admin v a l u e s ( ’ ” + admin . uname + ” ’ , ’ ” +


admin . name + ” ’ , ’ ” + admin . e m a i l + ” ’ , ’ ” + admin . d e s i g n a t i o n + ” ’ , ’ ” + admin .
password + ” ’ ) ” ;
56 System . out . p r i n t l n ( s q l ) ;
57 stmt = con . c r e a t e S t a t e m e n t ( R e s u l t S e t . TYPE SCROLL INSENSITIVE ,
R e s u l t S e t .CONCUR UPDATABLE) ;
58 i n t i = stmt . executeUpdate ( s q l ) ;
59

60 return ” s u c c e s s f u l l y Registered ”;
61

62

63 } catch ( Exception e ) {
64 System . out . p r i n t l n ( ” E r r o r i n i n s e r t i n g Data . . ” + e ) ;
65 e . printStackTrace () ;
66 }
67 return null ;
68 }
69

Department of Information Technology, TCOER, Pune 47


A Student Attendance System using Virtual Beacon

70 @WebMethod( operationName = ” AdminSignin ” )


71 p u b l i c S t r i n g AdminSignin (@WebParam( name = ” o b j ” ) S t r i n g o b j ) {
72 //TODO w r i t e your i m p l e m e n t a t i o n code h e r e :
73 initDatabase () ;
74 Admin admin = new Admin ( ) ;
75 admin = ( Admin ) s t r i n g T o O b j e c t ( o b j ) ;
76 System . out . p r i n t l n ( ” ” + admin . uname + ”” + admin . password ) ;
77 try {
78 S t r i n g s q l = ” s e l e c t ∗ from admin where admin id =’” + admin . uname +
” ’ and password =’” + admin . password + ” ’ ” ;
79 stmt = con . c r e a t e S t a t e m e n t ( R e s u l t S e t . TYPE SCROLL INSENSITIVE ,
R e s u l t S e t .CONCUR UPDATABLE) ;
80 r e s u l t S e t = stmt . executeQuery ( s q l ) ;
81 i f ( r e s u l t S e t . next ( ) )
82 {
83 r e t u r n ” s u c c e s s f u l l y Login ” ;
84 }
85 } catch ( Exception e ) {
86 System . out . p r i n t l n ( ” E r r o r : ” + e ) ;
87 }
88 return ” login Failed ”;
89 }

6.1.4 Send Email

2 p u b l i c c l a s s E mai ler {
3

4 p u b l i c s t a t i c v o i d sendEmail ( S t r i n g to , S t r i n g s u b j e c t , S t r i n g msg ,
5 S t r i n g from , f i n a l S t r i n g userName , f i n a l S t r i n g password ) {
6 P r o p e r t i e s p r o p e r t i e s = new P r o p e r t i e s ( ) ;
7 p r o p e r t i e s . put ( ” m a i l . smtp . auth ” , ” t r u e ” ) ;
8 p r o p e r t i e s . put ( ” m a i l . smtp . s t a r t t l s . e n a b l e ” , ” t r u e ” ) ;
9 p r o p e r t i e s . put ( ” m a i l . smtp . h o s t ” , ”smtp . g m a i l . com ” ) ;
10 p r o p e r t i e s . put ( ” m a i l . smtp . p o r t ” , ” 5 8 7 ” ) ;
11 S e s s i o n s e s s i o n = S e s s i o n . g e t I n s t a n c e ( p r o p e r t i e s , new A u t h e n t i c a t o r ( ) {
12 protected PasswordAuthentication getPasswordAuthentication ( ) {
13 r e t u r n new P a s s w o r d A u t h e n t i c a t i o n ( userName , password ) ;
14 }
15 }) ;

Department of Information Technology, TCOER, Pune 48


A Student Attendance System using Virtual Beacon

16

17 try {
18 Message message = new MimeMessage ( s e s s i o n ) ;
19 message . setFrom ( new I n t e r n e t A d d r e s s ( from ) ) ;
20 message . s e t R e c i p i e n t s ( Message . R e c i p i e n t T y p e .TO,
21 InternetAddress . parse ( to ) ) ;
22 message . s e t S u b j e c t ( s u b j e c t ) ;
23 message . s e t T e x t ( msg ) ;
24 T r a n spo r t . send ( message ) ;
25 System . out . p r i n t l n ( ” Message send s u c c e s s f u l l y . . . . ” ) ;
26 } catch ( MessagingException e ) {
27 throw new RuntimeException ( e ) ;
28 }
29 }
30 }

6.1.5 MonthlyAttendanceSheet

1 public void getAllRecord ( ) {


2

3 @SuppressWarnings ( ” unchecked ” )
4

5 p r i v a t e v o i d initComponents ( ) {
6

7 s e t D e f a u l t C l o s e O p e r a t i o n ( j a v a x . swing . WindowConstants . EXIT ON CLOSE) ;


8 setUndecorated ( true ) ;
9

10 j S e l e c t D a t e . s e t T e x t ( ” S e l e c t S t a r t Date ” ) ;
11 j S e l e c t D a t e . a d d A c t i o n L i s t e n e r ( new j a v a . awt . e v e n t . A c t i o n L i s t e n e r ( ) {
12 p u b l i c v o i d a c t i o n P e r f o r m e d ( j a v a . awt . e v e n t . ActionEvent e v t ) {
13 jSelectDateActionPerformed ( evt ) ;
14 }
15 }) ;
16

17 t x t f r o m d a t e . s e t H o r i z o n t a l A l i g n m e n t ( j a v a x . swing . J T e x t F i e l d .CENTER) ;
18

19 j L a b e l 3 . s e t H o r i z o n t a l A l i g n m e n t ( j a v a x . swing . SwingConstants .CENTER) ;


20 jLabel3 . setText (” Class ”) ;
21

22 jClassComboBox . a d d A c t i o n L i s t e n e r ( new j a v a . awt . e v e n t . A c t i o n L i s t e n e r ( ) {

Department of Information Technology, TCOER, Pune 49


A Student Attendance System using Virtual Beacon

23 p u b l i c v o i d a c t i o n P e r f o r m e d ( j a v a . awt . e v e n t . ActionEvent e v t ) {
24 jClassComboBoxActionPerformed ( e v t ) ;
25 }
26 }) ;
27

28 j L a b e l 4 . s e t H o r i z o n t a l A l i g n m e n t ( j a v a x . swing . SwingConstants .CENTER) ;


29 j L a b e l 4 . s e t T e x t ( ” Branch ” ) ;
30

31 jButto n 1 . s e t F o n t ( new j a v a . awt . Font ( ” Tahoma ” , 1 , 1 1 ) ) ; // NOI18N


32 jButto n 1 . s e t T e x t ( ”BACK” ) ;
33 jButto n 1 . a d d A c t i o n L i s t e n e r ( new j a v a . awt . e v e n t . A c t i o n L i s t e n e r ( ) {
34 p u b l i c v o i d a c t i o n P e r f o r m e d ( j a v a . awt . e v e n t . ActionEvent e v t ) {
35 jButton1ActionPerformed ( evt ) ;
36 }
37 }) ;
38

39 jButto n 6 . s e t T e x t ( ”EXIT” ) ;
40 jButto n 6 . a d d A c t i o n L i s t e n e r ( new j a v a . awt . e v e n t . A c t i o n L i s t e n e r ( ) {
41 p u b l i c v o i d a c t i o n P e r f o r m e d ( j a v a . awt . e v e n t . ActionEvent e v t ) {
42 jButton6ActionPerformed ( evt ) ;
43 }
44 }) ;
45

46 j T a b l e 1 . setModel ( new j a v a x . swing . t a b l e . DefaultTableModel (


47 new Object [ ] [ ] {
48 { null , null , null , null } ,
49 { null , null , null , null } ,
50 { null , null , null , null } ,
51 { null , null , null , null }
52 },
53 new S t r i n g [ ] {
54 ” T i t l e 1 ” , ” T i t l e 2 ” , ” T i t l e 3 ” , ” T i t l e 4”
55 }
56 ));
57 j S c r o l l P a n e 1 . setViewportView ( j T a b l e 1 ) ;
58

59 jButto n 3 . s e t T e x t ( ” Save As ” ) ;
60 jButto n 3 . a d d A c t i o n L i s t e n e r ( new j a v a . awt . e v e n t . A c t i o n L i s t e n e r ( ) {
61 p u b l i c v o i d a c t i o n P e r f o r m e d ( j a v a . awt . e v e n t . ActionEvent e v t ) {
62 jButton3ActionPerformed ( evt ) ;

Department of Information Technology, TCOER, Pune 50


A Student Attendance System using Virtual Beacon

63 }
64 }) ;
65

66 j P a n e l 1 . s e t B o r d e r ( j a v a x . swing . Bord e rFact ory . c r e a t e T i t l e d B o r d e r ( ” ” ) ) ;


67

68 jButto n 7 . s e t T e x t ( ” S e a r c h ” ) ;
69 jButto n 7 . a d d A c t i o n L i s t e n e r ( new j a v a . awt . e v e n t . A c t i o n L i s t e n e r ( ) {
70 p u b l i c v o i d a c t i o n P e r f o r m e d ( j a v a . awt . e v e n t . ActionEvent e v t ) {
71 jButton7ActionPerformed ( evt ) ;
72 }
73 }) ;
74

75 j L a b e l 2 . s e t F o r e g r o u n d ( new j a v a . awt . C o l o r ( 5 1 , 5 1 , 2 5 5 ) ) ;
76 j L a b e l 2 . s e t T e x t ( ” format : MM/DD/YYYY ” ) ;
77

78 j L a b e l 5 . s e t F o r e g r o u n d ( new j a v a . awt . C o l o r ( 0 , 5 1 , 2 5 5 ) ) ;
79 j L a b e l 5 . s e t T e x t ( ” format : MM/DD/YYYY” ) ;
80

81 jCheckBox1 . s e t T e x t ( ” Send E m a i l l ” ) ;
82

83 j a v a x . swing . GroupLayout l a y o u t = new j a v a x . swing . GroupLayout (


getContentPane ( ) ) ;
84 getContentPane ( ) . s e t L a y o u t ( l a y o u t ) ;
85 layout . setHorizontalGroup (
86 l a y o u t . c r e a t e P a r a l l e l G r o u p ( j a v a x . swing . GroupLayout . Alignment .LEADING
)
87 . addGroup ( l a y o u t . c r e a t e S e q u e n t i a l G r o u p ( )
88 . addContainerGap ( )
89 . addGroup ( l a y o u t . c r e a t e P a r a l l e l G r o u p ( j a v a x . swing . GroupLayout .
Alignment . TRAILING)
90 . addGroup ( l a y o u t . c r e a t e P a r a l l e l G r o u p ( j a v a x . swing . GroupLayout
. Alignment . LEADING, f a l s e )
91 . addGroup ( l a y o u t . c r e a t e S e q u e n t i a l G r o u p ( )
92 . addGroup ( l a y o u t . c r e a t e P a r a l l e l G r o u p ( j a v a x . swing .
GroupLayout . Alignment .LEADING)
93 . addGroup ( l a y o u t . c r e a t e S e q u e n t i a l G r o u p ( )
94 . addComponent ( j L a b e l 3 , j a v a x . swing .
GroupLayout . PREFERRED SIZE, 4 9 , j a v a x . swing . GroupLayout . PREFERRED SIZE)
95 . addGap ( 1 8 , 1 8 , 1 8 )
96 . addComponent ( jClassComboBox , j a v a x . swing .

Department of Information Technology, TCOER, Pune 51


A Student Attendance System using Virtual Beacon

GroupLayout . PREFERRED SIZE, 9 2 , j a v a x . swing . GroupLayout . PREFERRED SIZE)


97 . addPreferredGap ( j a v a x . swing . L a y o u t S t y l e .
ComponentPlacement .RELATED)
98 . addComponent ( j L a b e l 4 , j a v a x . swing .
GroupLayout . PREFERRED SIZE, 9 7 , j a v a x . swing . GroupLayout . PREFERRED SIZE) )
99 . addGroup ( l a y o u t . c r e a t e S e q u e n t i a l G r o u p ( )
100 . addGap ( 1 5 , 1 5 , 1 5 )
101 . addGroup ( l a y o u t . c r e a t e P a r a l l e l G r o u p ( j a v a x . swing .
GroupLayout . Alignment . LEADING, f a l s e )
102 . addComponent ( jButton4 , j a v a x . swing . GroupLayout .
DEFAULT SIZE , j a v a x . swing . GroupLayout . DEFAULT SIZE , S h o r t .MAX VALUE)
103 . addComponent ( jButton5 , j a v a x . swing . GroupLayout .
DEFAULT SIZE , j a v a x . swing . GroupLayout . DEFAULT SIZE , S h o r t .MAX VALUE) ) )
104 . addGroup ( l a y o u t . c r e a t e S e q u e n t i a l G r o u p ( )
105 . addGap ( 6 8 0 , 6 8 0 , 6 8 0 )
106 . addComponent ( j But ton 3 )
107 . addGap ( 1 8 , 1 8 , 1 8 )
108 . addComponent ( jButton6 , j a v a x . swing . GroupLayout .
PREFERRED SIZE, 8 1 , j a v a x . swing . GroupLayout . PREFERRED SIZE) ) )
109

110 );
111

112 pack ( ) ;
113 }// </ e d i t o r −f o l d >
114

115 p r i v a t e v o i d j S e l e c t D a t e A c t i o n P e r f o r m e d ( j a v a . awt . e v e n t . ActionEvent e v t ) {


116 D l g S e l e c t D a t e g e t d a t e = new D l g S e l e c t D a t e ( n u l l , t r u e ) ;
117 getdate . s e t V i s i b l e ( true ) ;
118 S t r i n g s e t D a t e = g e t d a t e . myDate ;
119 txtfromdate . setText ( setDate ) ;
120 System . out . p r i n t l n ( ” s t a r t Date i s : : ” + s e t D a t e ) ;
121 }
122

123 p r i v a t e v o i d j B u t t o n 1 A c t i o n P e r f o r m e d ( j a v a . awt . e v e n t . ActionEvent e v t ) {


124 setVisible ( false ) ;
125 new MainFrame ( ) . s e t V i s i b l e ( t r u e ) ;
126 }
127 }
128 }
129 }

Department of Information Technology, TCOER, Pune 52


A Student Attendance System using Virtual Beacon

6.2 Snapshot

6.2.1 Student Registration

This is the interface of student registration. Student first have to register and the system
allocates one unique ID to the student. This interface generates the unique beacon ID auto-
matically.

Figure 6.1: Student Registration

Department of Information Technology, TCOER, Pune 53


A Student Attendance System using Virtual Beacon

6.2.2 Student Attendance

This interface comes when teacher starts session. Student just have to on the toggle button.
When the student will start toggle button then only the teacher app can find that student.

Figure 6.2: Student Attendance

Department of Information Technology, TCOER, Pune 54


A Student Attendance System using Virtual Beacon

6.2.3 Teacher App

This interface shows the teacher app. When teacher starts session and student starts or turns
on the toggle button then the teacher app shows the IDs of all the present students

(a) Snapshot 1 (b) Snapshot 2

Figure 6.3: Teacher App

Department of Information Technology, TCOER, Pune 55


A Student Attendance System using Virtual Beacon

6.2.4 Admin

These are the interfaces of admin. After login admin can add teacher, add subject, see day
wise log and monthly attendance.

Figure 6.4: Admin Interface

Department of Information Technology, TCOER, Pune 56


A Student Attendance System using Virtual Beacon

Figure 6.5: Admin Sign in

Figure 6.6: After Sign in

Department of Information Technology, TCOER, Pune 57


A Student Attendance System using Virtual Beacon

Figure 6.7: Add Teacher

Figure 6.8: Add Subject

Department of Information Technology, TCOER, Pune 58


A Student Attendance System using Virtual Beacon

Figure 6.9: Day wise log

Figure 6.10: Month wise log

Department of Information Technology, TCOER, Pune 59


A Student Attendance System using Virtual Beacon

(a) Send Email (b) Send SMS

Figure 6.11: Send Email Send SMS

Department of Information Technology, TCOER, Pune 60


A Student Attendance System using Virtual Beacon

Chapter 7: Results And Evaluation

A test case in software engineering is a set of conditions or variables under which a tester
will determine whether an application or software system is working correctly or not. The
mechanism for determining whether a software program or system has passed or failed such
a test is known as a test oracle. In some settings, an oracle could be a requirement or use
case,while in others it could be a heuristic. It may take test cases to determine that a software
program or system is considered sufciently scrutinized to be released. Test cases are often
referred to as test scripts,particularly when written. Written test cases are usually collected
into test suits.

7.1 Testing Introduction

Software Testing is the process of executing a program or system with the intent of nding
errors. Or, it involves any activity aimed at evaluating an attribute or capability of a program
or system and determining that it meets its required results

7.2 Testing Objectives

Test objectives can typically be grouped into the following categories:


1. Functional correctness:
Validation that the application correctly supports required business processes and transactions:
List all of the business processes that the application is required to support. Also list any stan-
dards for which there is required compliance.

2. Authorization:
Verication that actions and data are available only to those users with correct authorization:List
any key authorization requirements that must be satised, including access to functionality and
data.

3. Service level:
Verication that the system will support the required service levels of the business. This includes

Department of Information Technology, TCOER, Pune 61


A Student Attendance System using Virtual Beacon

system availability, load, and responsiveness: List any key performance indicators(KPIs) for
service level, and the level of operational effort required to meet KPIs.

4. Usability:
Validation that the application meets required levels of usability.

7.3 Testing Strategies

The following are the different types of testing:


1. Unit testing: The basic units of the system are login, insert data, register patient, reg-
ister doctor, display all patients. All the units from the system are working as desired by us.
Unit testing refers to tests that verify the functionality of a specic section of code, usually at
the function level.These types of tests are usually written by developers as they work on code
(white- box style), to ensure that the specic function is working as expected.

2. BlackBox testing: All the forms in our system are tested by giving the desired and
undesired input formats to them,but the show appropriate error messages and validations on
test failure. The Black-box testing is a method of software testing that tests the functionality
of an application as opposed to its internal structures or workings. Specic knowledge of the
applications code/internal structure and programming knowledge in general is not required.
There is no knowledge of the test objects internal structure.

3. Integration testing: All the individual modules like the Email module, SMS module,
Data sensing module, Naive Bayes processing all were clubbed together to check if they work
as desired and test results proves all the test cases very passed by the system making it robust.
It is the phase in software testing in which individual software modules are combined and tested
as a group. It occurs after unit testing and before system testing. Integration testing takes
as its input modules that have been unit tested,groups them in larger aggregates,applies tests
dened in an integration test plan those aggregates, and delivers as its output the integrated
system ready for system testing.

4. Functional testing: Basic functionality of our system are Sensing data, processing the
sensed data, creating alerts on abnormal conditions, send email and SMS on abnormal condi-

Department of Information Technology, TCOER, Pune 62


A Student Attendance System using Virtual Beacon

tions. All the functionality are working. Its a type of GUI testing where functionality of an
application is tested. Testing of all features and functions of system software, hardware, etc.
to ensure requirements and specications are met. Functionality testing of software is testing
conducted on a complete,integrated system to evaluate the systems compliance with its specied
requirements.

5. System testing: System testing is a series of tests whose primary purpose is to fully
exercise the computer based system. Although each test has a different purpose, all work to
verify that system elements have been properly integrated and perform allocated functions. .

6. Security testing: It veries that protection mechanism built in to a system will pro-
tect if from improper penetration. During security testing, tester plays the role of individual
to desires to penetrate the system.

Department of Information Technology, TCOER, Pune 63


A Student Attendance System using Virtual Beacon

7.4 TestCases and TestResults

Table 7.1: TestCases and TestResults

TC Test Case Title Test Condition Expected Result Actual result


ID
TC01 Open Application Verify open applica- Student Application Student Application
tion from device should open regis- is opening registra-
tration page if its tion page if first time
first time and if not and opening give at-
first time application tendance interface if
should open directly not first time
give attendance
interface
TC02 Registration Verify to register user Application should Application is check-
check valid email ing valid email ad-
address and 10 digit dress and 10 digit mo-
mobile number to bile number to regis-
register user tering user
TC03 Login Page Verify Login Page Application should Application verifying
from application verify username and username and pass-
password if both valid word if both valid
user should get logged user is getting logged
in in
TC04 Unique ID Generation Verify Generated ID Student Applica- Student Application
tion should generate is generating Unique
Unique ID only at first ID only at first time
time of registration of registration
TC05 Check Registration Verify mobile number Application should Application is not ac-
page from registration page not accept characters cepting characters in
in mobile number field mobile number field
and its showing only
number keyboard

Department of Information Technology, TCOER, Pune 64


A Student Attendance System using Virtual Beacon

Table 7.2: TestCases and TestResults

TC06 Check working of Verify Teacher app is Teacher application Teacher application
Teacher app accepting proper en- should show student showing student IDs
tries IDs of all branches but of all the branches
mark the attendance but marking the at-
of respected branch tendance of respected
branch
TC07 Check overall atten- Verify attendance of Admin system should Admin system is
dance of students the student shown by show attendance of showing attendance
admin system student day wise and of students day wise
month wise and month wise
TC08 Check send Email and Verify email and SMS The Application Admin system is
message function sended by application should send Email sending Email and
to the parent and SMS to the par- SMS to the parents
ents if attendance is if attendance of the
less than 75 percent student is less than
75 percent

Note: Testing should be performed manually

Department of Information Technology, TCOER, Pune 65


A Student Attendance System using Virtual Beacon

ADVANTAGES AND DISADVANTAGES

Advantages:

• In our project the teachers wont have to maintain the traditional papers on which the
attendance used to be taken as the data of the students is maintained on the private
server.

• In addition the teachers wont have to make a separate defaulters list by calculating
attendance of each and every student.

• This project will avoid the disturbance caused while passing on the attendance sheet as
well as it would consume less time.

• The defaulters parents will get an e-mail regarding the attendance.

• It does not require any additional hardware just the students mobile phone.

Disadvantages:

• Every student must be having an android smartphone.

• Proxy is one big disadvantage of our project as the student may carry his friends phone
to college.

• If the students phone runs out of battery the teacher will then manually have to update
the attendance.

Department of Information Technology, TCOER, Pune 66


A Student Attendance System using Virtual Beacon

CONCLUSION

Student Attendance Management System using Bluetooth Low Energy, Web-based Manage-
ment and Android Devices is developed using many softwares like Android SDK , Netbeans
IDE, MySQL, Wordpress,etc. The system eventually reaches a stable state where all the bugs
are eliminated. It operates at the highest efficiency and all the teachers and users associated
with the system understands its advantage. The system solves the intended problem as per
requirements. Thus reducing the human effort which was a time consuming process this project
has endless advantages over the traditional attendance management system and a better future
scope.

Department of Information Technology, TCOER, Pune 67


A Student Attendance System using Virtual Beacon

FUTURE SCOPE

Paper Attendance can be improvised by using many techniques ,using beacon was one of the
technique.Functionalities can be added or improvised in attendance management using BLE
Beacon can be:

• For proxy avoidance live photo of student is taken which is then compared with the photo
in database but using more advanced algorithm(image processing alogirthhm) results can
be achieved more accurate.

• The range of bluetooth can be restricted to a limited extend as per the requirement.

Department of Information Technology, TCOER, Pune 68


A Student Attendance System using Virtual Beacon

REFERENCES

[1] Takayuki Nagai, Ryuichi Matsuba, Shinichirou Kubota, Toshi Hiro Kita, Shirou Kitamura,
Yasuhiro Migita, Yasuo Musashi, Kenichi Sugitani, Masashi Toda, Hiroshi Nakano, ”Aad-
haar Based Biometric Attendance System Using Wireless Fingerprint Terminals”, Journal
of Academic Computing and Networking, vol. 17, pp. 67-76, 2013.

[2] Ichimura Takumi, Kamada Shin, ”Smart Office Energy Management System Using Blue-
tooth Low Energy Based Beacons and a Mobile App”, Symposium on Mobile Interactions
2013, pp. 139-140, Mar. 2013.

[3] O. T. Arulogu, A. Olatunbosun, O. A. Fakolujo, O. M. Olaniyi, ”Fingerprint Based Student


Attendance System Using GSM”, International Journal of Scientific Engineering Research,
vol. 4, no. 2, 2013.

[4] S. Shukla, S. Shah, P. Save, ”RFID Based Attendance Management System”, International
Journal of Electrical and Computer Engineering, vol. 3, no. 6, pp. 784-790, 2013.

[5] H.M. Al-Barhamtoshy, A.H. Altalhi, A.S. Mashat, ”Automation of Attendances in Class-
rooms using RFID”, International Journal of Scientific Engineering Research, vol. 5, no.
2, 2014.

[6] Vishal Bhalla, Tapodhan Singla, Ankit Gahlot, Vijay Gupta, ”An NFC Supported At-
tendance System in a University Environment”, International Journal of Innovations in
Engineering and Technology (IJIET).

[7] Ankita Agrawal, Ashish Bansal, ”Attendance System Using NFC Technology with Embed-
ded Camera on Mobile Device”, International Journal of Information and Computation
Technology, vol. 3, no. 3, pp. 131-138, 2013.

[8] S. Kardy, M. Smaili, ”Face Detection System for Attendance of Class Students”, Scientific
Research and Essays, vol. 5, no. 12, pp. 1428-1435, June 2010.

[9] Pallavi Verma, Namit Gupta, ”Bluetooth Based Attendance Management System”, Inter-
national Journal of Science and Research (IJSR), pp. 2319-7064.

[10] P Subpratatsavee, ”Wireless attendance management system based on iris recognition” in


, IEEE, May 2010.

Department of Information Technology, TCOER, Pune 69


A Student Attendance System using Virtual Beacon

[11] Muhammad Fuzaill, ”RFID: Management System for students’ attendance”, International
journal of multidisciplinary sciences and engineering, vol. 5, no. 4, April 2014.

[12] B.V. Santosh Krishna, ”GPS and GPRS based Automated Attendance system”, Engg.
Journals Publication, 2010.

[13] Nurbek Saparkhojayev1, Selim Guvercin, ”An Attendance Management System for
moodle Using Student Identification Card ”, IJCSI International Journal of Computer
Science Issues, vol. 9, no. 3, May 2001.

Websites
[14] Here the explanation of the class diagram can be viewed.
https://en.wikipedia.org/wiki/Class diagram

[15] On this site the detailed explanation about the Sequence Diagram can be read and under-
stood.
https://en.wikipedia.org/wiki/Sequence diagram

[16] Explanation of what and why the components are important in the UML diagrams is given
here.
https://en.wikipedia.org/wiki/Component diagram

[17] Activity diagram can be understood from here.


https://en.wikipedia.org/wiki/Activity diagram

[18] Why to use Mobile Applications.


http://stackoverow.com/questions/1072904/advantages-of-mobileapplications-over-
desktop-applications

Department of Information Technology, TCOER, Pune 70


BIJIT - BVICAM’s International Journal of Information Technology
Trinity College of Engineering and Research TCOER, Pune

A STUDENT ATTENDANCE SYSTEM USING VIRTUAL BEACON


Darshan Bhavsar Huzaib Sayyed Ahtesham Shah Kaif Shaikh Prof. Sneha Tirth
Abstract – The normal or traditional way of taking For avoiding the proxy of student we have added one extra
attendance in colleges or universities are through manual functionality of face detection that is when every student's
paper which is hectic to handle, too time consuming, beacon will get created and proceed to give attendance the
photo of the student will be taken automatically from front
wastage of papers and also creates disturbance in
camera of android device and get matched with the database.
classroom. Some other ways such as fingerprint, face It make use of mobile devices to mark with the attendance
scanner, RFID etc. had some issues related to it and were registration process and the tracking or management does not
not that efficient. The Bluetooth Low Energy hardware individually require the use of student mobile devices
Beacon is a wireless technique for locating the user and because it is automatically generated and updated. The
they have electronic chips which can be used for used system uses open source software and packages to reduce the
wireless identification. We are trying to improve the development and maintenance costs and installation is fast
and simple. Our project main goal is the analysis of the data
traditional way of attendance management using a Virtual
and this project can reduce the large workload of colleges
Beacon. This Virtual Beacon application for student and universities. The output or the marked attendance is in
attendance reduces the time taken during manual the form of graphical data or in the forms of graphs and the
attendance, less disturbances, human errors and data is future prediction from the data and is a real time in the form
automatically updated, low cost and provides teachers the of sheets. There will be an portal which be locally hosted
statistics of attendance scores accordingly for use in which will have sheet of database and will automatically
further reports. The main issue of proxy attendance is also calculate the average attendance of the student daily, weekly,
monthly as well as semester wise and if the attendance of
solved which was the major drawback of some technology.
particular student is less than 75 per cent the message will be
send to the parent of the student or on the mail account of
Index Terms: Attendance management, fingerprint, RFID, parent. The software will also show the location of the
BLE Hardware Beacon, avoid proxy, less time, e- lecture which is currently on going when the student will in
attendance. the range.

NOMENCLATURE:
2.0 BEACON (HARDWARE)
VIRTUAL BEACON In BLE Beacon, BLE stands for Bluetooth Low Energy. BLE
Beacon is a device which broadcast the signals at a fixed time
1.0 INTRODUCTION interval. Beacon is a device which is used to identify the
As student signature on attendance paper is used for portable devices which are present in the range of the beacon.
identifying whether the student was absent or present in the Devices which are present in the range of beacon sends the
classroom. For example, attendance sheet is given to take universal unique ID to the beacon through which the beacon
attendance and student signature along with their respective
can find the physical location of the device, can able to find
name and roll numbers. Using these attendance sheet the
teacher has to enter the information from the sheet into the clients or customers, also can send the notification on the
database of particular class so that he/she is marked present device or can perform any action which is location based,
or absent. The issue with this type of old way is that it even can find the distance between beacon and the device
consumes a lot of time and each student has to do the same which is in the range of beacon. One of the application of
procedure every time till the end of semester. We can reduce beacon is to provide the messages at particular interesting
this time need for attendance if we use mobile devices to take point like shop, railway station, hotel or many specific areas.
attendance. The idea to use the students own device because
For example one beacon is located at one of the shop in the
in today's digital days everyone has as a smartphone which
can be used for attendance. As the mobile devices uses Wi-Fi market when any of the portable device will come in the range
and Bluetooth which consumes less power. The main of beacon then the device will send universal unique id to the
methodology used in our attendance registration is done by beacon and then beacon will send push notification on the
using Virtual Beacon. This Virtual Beacon is created for device by which the user of portable electronic device can
every student and its ID is viewed on teacher app. The find out which offer is running in the shop. The beacon is only
designed system does the task like marking attendance more a one way transmitter which transmits the signal and one
accurately and reduces the manual paper work and avoid
specific app will be necessary to make the communication
proxy, and low power consumption.
with the beacon, it shows that when the device with app
huzaif.sayed@gmail.com , darshanbhavsar144@gmail.com, installed will come in the surrounding of transmitter then
ahteshamshah780@gmail.com, roccokaif@gmail.com beacon will do its work. Bluetooth low energy beacons uses
A STUDENT ATTENDANCE SYSTEM USING VIRTUAL BEACON

the Bluetooth 4.0 because the Bluetooth 4.0 consumes the less the student will be considered. The unique feature in this is
power. The life of the battery depends on companies which GSM which is not present in the older analogy systems. [2]
manufactures the device. BLE Beacons consumes less power
as compare to the regular classic beacon. Life of the battery
4.0 VIRTUAL BEACON
ranges in between 1 moth to 48 months. Beacons are now
available in the form of USB dongle. Virtual beacon is nothing but the beacon as a software. By
considering all the functionality of hardware beacon we have
created the virtual beacon. The virtual beacon performs the
same functionality like the physical beacon. Virtual beacon
minimizes the cost because no need to buy the hardware as
well as reduces the hardware installation cost. Accuracy of
the virtual beacon is more as compare to the physical beacon
as well as range of virtual beacon is more the physical
beacon only transmits the signal and finds the nearby devices
but in case of virtual beacon the beacon directly uploads the
data to the server, there is no need to upload the data
manually. Also the virtual beacon consumes the low energy
as compare to the physical beacon. The working of virtual
beacon is, the app fetches the nearby virtual beacons
3.0 RELATED SYSTEM repeatedly which are present in the range, whenever the
device enters in the region the app asks for the services
1. Attendance System Using NFC Technology with which are provided by local cloud server then after entering
Embedded Camera on Mobile Device: into the range the app shows the contents which is to be
This paper represents the Near Field Communication (NFC) shown to the particular portable device user.
based attendance system for students of collage. To reduce
all the workload of the teachers we put the NFC tag in which
each tag contains unique ID to avoid the duplication of the
tag. One NFC tag is allotted to every student when registers
in college. When the student enters in the class room then
student touches the tag to the mobile phone of the teacher
and the embedded camera takes the picture of the student.
Then application sends data to the server and if student data
is valid then attendance get marked. [6]

2. Face Detection System for Attendance of Class Students


This paper represents the new attendance management
system without using any interface with classic process of
teaching. This system also can use at the time of exam
sessions or any other activity where the attendance is
mandatory. This technology reduces the more manual work
like announcing the roll numbers of the students, checking
every students name and taking signature etc. [7]

3. Wireless attendance management system based on iris


5.0 ANDROID APPLICATION
recognition
This system uses the physical data to verifying the student
and taking the attendance of the student. The physical data A. SYSTEM OVERVIEW
authentication is more efficient as compare to that of
username and password. The physical data is unique for each The designed system shows the Teacher, Student, and Server,
and every individual’s that why the iris recognition is more Devices and Beacon connectivity and the relationship
efficient to take the attendance and avoid the proxies. [9] between each and every components of the system. The
attendance of student viewed and managed and analysed at
4. Fingerprint Based Student Attendance System Using the server level. All the data is present at server which is
GSM sended by teacher. The Student when login into student app
In this type of approach the biometric recognition is very
essential, the biometric record of every student is required. then the mobile will create one unique beacon ID, and the app
When the student will give the biometric fingerprint in the present in the teacher's mobile will locate all the beacon IDs
class then this fingerprint will get match with the recorded present in the class and mark them present then the app will
fingerprint and if both will match then only the attendance of send all the data towards the server to manage the database.
BIJIT - BVICAM’s International Journal of Information Technology
Trinity College of Engineering and Research TCOER, Pune

number of Virtual Beacons created by every student will


appear in that region and will be stored in the database
automatically without any manually efforts. The teacher can
view the current lecture attendance or can manually edit the
attendance.

C. SESSION FOR ATTENDANCE


This is the major part of taking attendance of students using
android which is major operating system of smartphones.
This domain helps in finding out which students are present
in particular class at respective interval of time. The student
android application will be allocated with a unique hex
decimal value respectively which will stored inside the
android application. Student session application will act as a
transmitter where it will transmit the unique hex value which
is allocated to respective student. On the other end
simultaneously the teacher application will act as a receiver
for hex decimal values. Teacher application will enter the
lecture name and start scanning for available students in
respective class. On students application devices will
transmitter its particular respective ID to get placed in
A. REGISTRATION OF STUDENTS database of teacher application device. Once the ID’s gets
stored in teacher android device, teacher will stop scanning
This is one of the main domain in our project which includes for device. Then teachers application will forward the
first of all registration of student details in the database which Respective ID’s, lecture ID, teacher ID to the main database
is authorized by a particular administrator. This registration on portal.
of every student can be done only once. During the
registration of new student all the details such as Name,
Year, Branch, Mobile number, E-mail ID, parent E-mail ID
are entered and this can be done only once because during
every registration a Unique Universal Id is allocated for
every registration. So whenever that student opens that
application he/she can directly login into their account. So
every student will have only one registered mobile devices.
During the lectures the student will have to only search the
particular lecture which is currently on-going as soon as the
student selects a lecture their own or individual Virtual
Beacon will be created and its ID will be transmitted inside
the limited region. So that on the teacher side this ID will be
displayed and directly stored in the database (sheet of that
particular lecture) and he/she will be marked. 5. PORTAL
This is the main domain where calculation and mathematical
UUID Name Year Branch MobNo. E-ID Parent E- function take place for attendance. After the teacher
ID application sends the data of respective students to portal
55...f0a Abc BE IT 99..20 A@a.com P@a.com where attendance database is stored. The database calculates
the attendance of students using the queries. This domain will
have the permission to access by admin and teacher only.
B. REGISTRATION OF TEACHERS The admin and teacher can view and access information of
respective class, Students, by weekly, monthly and yearly.
This side of domain also requires initial registration which is
Done by an authorized administrator. This admin will 6. FLOWCHART
register the teacher will details such as Name, Subject Name, This diagram is the graphical representations of work flows
Subject ID, Year, Branch, Mobile Number, Email ID, of stepwise activities and actions with support for choice,
Username, and Password. As the teacher's account will have iteration and concurrency. This diagrams show the overall
all data predefined, they just have to select it. During the flow of control. The diagrams represent the flow how the
lectures for attendance marking the teacher will have select application changes as per activites. Activities are such as
the class with respective year and branch and the subject Initiate, scan for session, take live photo, analyse, attendance
name or ID. This will create a network or a region so that the less create datasheet
A STUDENT ATTENDANCE SYSTEM USING VIRTUAL BEACON

improvised in attendance management using Virtual Beacon


can be:
Fig. A Student Attendance System using Virtual Beacon 1) For proxy avoidance live photo of student is taken which
is then compared with the photo in database but using more
advanced algorithm (image processing algorithm) results can
Be achieved more accurate.
2) The range of Bluetooth can be restricted to a limited
extend as per the requirement.

ACKNOWLEDGEMENT

With immense pleasure, I am presenting this project report


on "A Student Attendance System using Virtual Beacon" as a
part of the curriculum of B.E.IT. I am truly grateful to project
guide Prof. Sneha Tirth for her valuable guidance and
encouragement.
Her encouraging words went a long way in providing the
patience and perseverance, which were
Needed to complete this research paper successfully. We
would like to express my sincere thanks to Prof. Suvarna
Pawar, H.O.D. IT department of Trinity College of
Engineering and Research. I would also like to thank all my
project members and my parents who have directly or
indirectly guided and helped me in the preparation of this
seminar and also for giving me an unending support right
from the stage this was conceived. I also acknowledge the
research work done by
all word wide researchers in this field.

REFERENCES

[1] Takayuki Nagai, Ryuichi Matsuba, Shinichirou Kubota,


Toshi Hiro Kita, Shirou Kitamura, Yasuhiro Migita, Yasuo
Musashi, Kenichi Sugitani, Masashi Toda, Hiroshi Nakano,
"Aadhaar Based Biometric Attendance System Using
Wireless Fingerprint Terminals", Journal
of Academic Computing and Networking, vol. 17, pp. 67-76,
2013.
[2] O. T. Arulogu, A. Olatunbosun, O. A. Fakolujo, O. M.
Olaniyi, "Fingerprint Based Student Attendance System
9.0 CONCLUSION AND FUTURE SCOPE Using GSM", International Journal of Scientic Engineering
Research,
Student Attendance Management System using Bluetooth vol. 4, no. 2, 2013.
Low Energy, Web-based Management and Android Devices [3] S. Shukla, S. Shah, P. Save, "RFID Based Attendance
is developed using many software’s like Android SDK , Management System", International Journal of Electrical and
NetBeans IDE, MySQL, Wordpress,etc. The system Computer Engineering, vol. 3, no. 6, pp. 784-790, 2013.
eventually reaches a stable state where all the bugs are [4] H.M. Al-Barhamtoshy, A.H. Altalhi, A.S. Mashat,
eliminated. It operates at the highest efficiency and all the "Automation of Attendances in Classrooms using RFID",
teachers and users associated with the system understands its International Journal of Scientifc Engineering Research, vol.
advantage. The system solves the intended problem as per 5, no. 2, 2014.
requirements. Thus reducing the human effort which was a [5] Vishal Bhalla, Tapodhan Singla, Ankit Gahlot, Vijay
time consuming process this project has endless advantages Gupta, "An NFC Supported Attendance System in a
over the traditional attendance management system and a University Environment", International Journal of
better future scope. Innovations in
Future Scope of our Project will may have Attendance Engineering and Technology (IJIET).
improvisation by using many techniques, using beacon was [6] Ankita Agrawal, Ashish Bansal, "Attendance System
one of the technique. Functionalities can be added or Using NFC Technology with Embedded Camera on Mobile
BIJIT - BVICAM’s International Journal of Information Technology
Trinity College of Engineering and Research TCOER, Pune

Device", International Journal of Information and


Computation
Technology, vol. 3, no. 3, pp. 131-138, 2013.
[7] S. Kardy, M. Smaili, "Face Detection System for
Attendance of Class Students", Scientic
Research and Essays, vol. 5, no. 12, pp. 1428-1435, June
2010.

[8] Pallavi Verma, Namit Gupta, "Bluetooth Based


Attendance Management System", Inter-
national Journal of Science and Research (IJSR), pp. 2319-
7064.
[9] P Subpratatsavee, "Wireless attendance management
system based on iris recognition" in , IEEE, May 2010.

You might also like