Barcode Based Attendance System: Project Report
Barcode Based Attendance System: Project Report
Barcode Based Attendance System: Project Report
On
By
Prof. Manjula R
DECLARATION
I hereby declare that the thesis entitled “BARCODE BASED ATTENDANCE
SYSTEM ” submitted by us, for the award of the degree of B.Tech. Computer
Science and Engineering, is a record of bonafide work carried out by us under the
supervision of Prof. Manjula R.
We further declare that the work reported in this thesis has not been submitted
and will not be submitted, either in part or in full, for the award of any other
degree or diploma in this institute or any other institute or university.
Place: Vellore
The Project report fulfils the requirements and regulations of VIT and in our
opinion meets the necessary standards for submission.
It is our pleasure to express with deep sense of gratitude to Prof. Manjula R., Assistant
Professor (Senior), School of Computer Science and Engineering, Vellore Institute of
Technology, for her constant guidance, continual encouragement, understanding; more than
all, she taught us patience in our endeavour. Our association with her is not confined to
academics only, but it is a great opportunity on our part of work with an intellectual and expert
in the field of Software Engineering.
In jubilant moodweexpress ingeniously our whole-hearted thanks to all teaching staff and
members working as limbs of our university for their not-self-centred enthusiasm coupled with
timely encouragements showered on us with zeal, which prompted the acquirement of the
requisite knowledge to finalize our course study successfully.wewould like to thank our parents
for their support.
It is indeed a pleasure to thank our friends who persuaded and encouraged us to take up and
complete this task. At last but not least,weexpress our gratitude and appreciation to all those
who have helped us directly or indirectly toward the successful completion of this project.
TABLE OF CONTENTS
CHAPTER 1 7
INTRODUCTION 7
Issues 7
CHAPTER 2 8
LITERATURE SURVEY 8
CHAPTER-3 9
PROPEOSED SYSTEM 9
User Interface 9
Hardware Interface 9
Software Interface 10
Communication Interface 10
Functional Requirements 10
Basic View 10
CHAPTER-4 11
Technical Specification 11
System Requirements 11
Hardware Requirements 11
Software Requirements 12
Technologies Learnt 12
CHAPTER 5 13
System Design
5.1 Use case Diagram 13
5.2 System Diagram 13
5.3 State chart Diagram 14
5.4 Activity Diagram 14
5.5 Class Diagram 15
5.6 Sequence Diagram 15
CHAPTER 6 16
Sample Code 16
CHAPTER 7 22
Results 22
CHAPTER 8 26
Testing 26
CHAPTER 9 40
Conclusion 40
CHAPTER 10 41
References 41
ABSTRACT
With this project, we aim to develop a system using which attendance can be registered using
Bar codes. The current system uses separate hardware that tends to be expensive, and does not
function properly at all times. For instance, biometric readers aren't able to recognize biometrics
on sous occasions, or under certain circumstances.
To eliminate this, codes are an optimal option. They can even be scanned using devices like
mobile phones, removing the need for any additional hardware. Furthermore, they tend to be
faster and more reliable.
For our system, we will generate a unique code for each student, which contains all the
significant information about that student. When it is scanned, the student's credentials recorded
can be used to mark attendance. The credentials can even be stored in a database, which in turn
allows the relevant teacher to perform any operations that may be required.
New functions can be added to the system by the developers on a requirement based model as
and when required. This is possible because this will only entail the addition of new queries to
This functionality will enable the development of other UI plugins which can make the
experience more direct. However, that is outside of the scope of this project as this only focuses
on the core product. The queries can be created and modified as and when required, by the
database administrator. This product is aimed to be a replacement for the current biometric
based attendance system that is widely in use nowadays. Biometric attendance systems require
a large range of infrastructure installations, such as fingerprint readers in each classroom. Our
app is meant to require minimum hardware, so much so that it can be implemented using
handheld devices like mobiles that are already in common use.
INTRODUCTION
1.1 Motivation
This system will be designed to improve upon the efficiency of conventional attendance
registration systems. A bar code reader (mobile phone, specialized equipment, etc.) will be
used to scan a student’s bar code. Once it is scanned, it will be stored in the database
associated with that course.
A variety of relevant queries can then be performed on that database to cater to various
needs. New functions can be added to the system by the developers on a requirement-
based model as and when required. This is possible because this will only entail the
addition of new queries to the already existing software.
The targeted audience for this project are the respective professors, certain subjects or
‘clients’ for testing purposes and once, the project is approved by the Data Centre,
Vellore Institute of Technology, the clients should mainly consist of students,
teacher/faculty, staff and administrative staff of any academic institution and after
further developments, it is intended to be used in legal and corporate firms as well.
There are numerous proposals for Automatic Attendance Management Systems in the
literature and in the market. Nowadays, barcodes are frequently used in most industries
supermarkets, and wherever information needs to be read automatically.
● Victor, Jonathan, Reece, and Lemire (2003) presented a system that is based
on a student wolfpack club tracking system to improve the process of student
wolfpack club ticket distribution for athletic events. This system did not,
however, integrate any aspect of student attendance monitoring.
● Xue (2009), discusses a prototype system that uses facial recognition technology
to monitor and authenticate user or student for attendance taking. A neural network-
based algorithm was implemented to carry out face detection, and an eigenface
method was employed to perform facial recognition. The experimental results
demonstrate the feasibility of near-real-tius continuous user verification for high-
level security information systems
PROPOSED SYSTEM
User Interface:-
Hardware Interfaces:-
The hardware component which is of the most value to our product is the camera or else
any sort of Barcode scanner. When a barcode is scanned, then via a decrypt algorithm, the
Barcode image captured by the scanner/ camera is sent through in the form of decrypted
data to the local database .This marks the attendance of the respective student .The various
devices that can be finally supported are any of those which have android compatibility
and smart features including a camera like Barcode scanner (hardware connected to a
laptop), smartphone, tablet, etc.
Software Interfaces:-
The operating systems on which the final product can run on are all the recent builds of
android OS till the latest release Android Pie. Android Studio has been used for the creation
of the smartphone app in the language Java The Barcodes algorithm is an older algorithm
used by other Barcodes based apps as well and the connection of the app with the database
has been done via SQL lite. Alternatives like our SQL and SQL+ can also be well utilised.
When a Barcode gets scanned the decrypt algorithm is run on the app and then the data of
the student is collected and sent to the local database which is based upon SQL lite. After
the entire scanning process, the user uploads the data from the local database to the final
database to the final database via the click of a button. For the generation of a new Barcode,
an older algorithm is being used which will generate an entirely new Barcode for each and
every specific student.
Communications Interfaces:-
The application will require a connection to a network function properly. This will
ensure t hat the functions of the application work as intended, with timely updates being
made to the central database . The server where the database is being maintained will
also, in turn, require a stable connection to the internet. This can be achieved via WiFi or
via physical tethering, depending upon the ap- plication.
Functional Requirements:-
1. The students will be allotted unique QR codes. An external service will be used to
generate the relevant QR codes. These will then be assigned to the students. These can be
printed on ID cards and naus tags, among others.
2. The faculty will be provided with the applications, either on their phones or on a separate
device (up to the discretion of the authorities). This application will then be used to scan
each student’s code.
3. Once a code is scanned, the details stored within will be uploaded to a database. There
will be separate databases within that database, each pertaining to a different courses. The
attendance scanned in a particular class will be registered under that particular course’s
attendance.
4. The database will allow different queries to be posed as and when required by the users
Basic view:
GENERAL:
Following are the minimum hardware and software requirements for the Android
Application to run on a device:
Technologies Learnt
1. Java Programming
Java is a powerful general-purpose programming language. It is used to
develop desktop and mobile applications, big data processing,
embedded systems, and so on. According to Oracle, the company that
owns Java, Java runs on 3 billion devices worldwide, which makes Java
one of the most popular programming languages.
Java can be used to create complete applications that may run on a
single computer or be distributed among servers and clients in a
network. It can also be used to build a small application module or
applet (a simply designed, small application) for use as part of a Web
page. We have used Java as the language to develop our application.
2. Android Studio
System Requirements
Operating systems −
Normal Flow
• The student wants to view attendance of classes
• The System displays the attendance logged by teacher
• Then student selects class whose attendance is to be viewed
Alternative Flows:
None
Exceptions:
1.0 Invalid search
If the user naus or password is invalid name, system displays error message.
Includes:
None
Priority:
High
Frequency of Use:
Teacher, Students approximately 20000, on an average of 4-5 times every day
Business Rules:
None
Special
Requirements: Teacher and student will be able to modify user credentials
Assumptions:
None
Notes and Issues:
Use Case ID: 2
Description: The teacher and student can register with their college credentials to create a user on
the system.
Includes: None
Priority: High
Special Requirements: Teacher/student shall be able to view the profile, which they have created.
Assumptions: None
Description: The teacher can log attendance that he/she has taken in class, Students can
answer attendance
Preconditions: Check whether attendance for saus day has been logged before
Includes: None
Priority: High
Frequency of Use: Approximately 2000 users, average of 7-8 usage per day
Assumptions: None
Actors: Teacher
Description: The teacher can upload attendance that he/she has taken in class by authorizing it.
Preconditions: The teacher can check whether attendance for saus day has been logged before
Normal Flow • The teacher upload attendance by confirming if all students have recorded
their attendance
• Then the teacher can click upload button
• This authorizes it by asking teacher for credentials
• Then teacher clicks upload to log that day’s attendance
Exceptions: Invalid search: If the teacher user naus is invalid name, system displays error
message.
Includes: None
Priority: High
Frequency of Use: Approximately 500 teachers, average of one usage per day
Special None
Requirements:
Assumptions: None
Description: Teachers and DB Admins can manually modify attendance of a particular class
Preconditions: No preconditions
Includes: None
Priority: High
Frequency of Use: Approximately 500 teacher, average of one usage per day
Special The teacher or is asked to re-enter the user naus and password if invalid.
Requirements:
Assumptions: none
Description: The database admin saves the data uploaded by teachers to central database
Includes: None
Priority: High
Assumptions: none
Notes and Issues: None
Description: The teacher and students can view attendance that was taken in class, Students can
query incorrect attendance.
Includes: None
Priority: High
Frequency of Use: Approximately 25000 teachers and students, average of one usage per day
Special None
Requirements:
Assumptions: None
Description: DB Admin manually adds a new user either a teacher or student in case they are not
able to.
Normal Flow 1. Database administrator compares existing database for new user value
2. If not present then creates new user and gives necessary permissions
None.
Includes: None
Priority: High
Special None
Requirements:
Assumptions: none
Description: The administrator maintains the user information in the database which can be
queried by teachers and school office authorities
Post conditions: The teacher and school office authorities query the database and view information.
Normal Flow 1. The administrator adds all the uploaded student information.
2. The teacher and office enter their queries.
3. The database serves their query
Includes: None
Priority: High
Frequency of Use: Approximately 100 authorities, average of one usage per day
Special The administrator continuously updates the student information as they get uploaded.
Requirements:
Assumptions: none
Project Number: PC
Project Name: Barcode based Attendance System
The Barcode based Attendance System will allow students to give
Description: attendance by simply getting the barcode on their ID cards scanned.
Date Updated:
Overview
Test plan objectives - To ensure that the Barcode based attendance system will
function consistently and reliably in accordance with current
operations.
- welook to compare different attendance taking methods with the
Barcode based attendance system.
- The software product aims to replace existing biometric system
which require specialised machines.
Testing Assumptions - Barcode scanner attendance system which is used to manage the
attendance details are already implemented and tested and there is
no direct interaction between Barcode based attendance system and
Conventional Attendance taking system.
- It is assumed that student can give attendance using the Barcode
based attendance system which is already tested.
- The attendance record can be used by the authorities at the
institution(Teacher, School Office).
Risks & Contingencies The following risks apply to the testing process and may impact either the
proposed date of readiness for the deployment of Barcode based
attendance system, or the comprehensive level of testing that can be
performed in each of the Functional Units:
- - The actual deployment of Barcode based attendance system may
take longer to perform than anticipated, as the conventional
Attendance taking system is also using the saus database.
Test Scope
Features to be Tested All records and interfaces affected by the Barcode attendance system will be
tested. These include:
- Login
- Registration
- Uploading attendance
- Viewing attendance
- Querying Database
- Database used for storing the attendance record.
Features Not to be Tested - Data integrity and system functionality contained within the other
attendance taking systems and which is not barcode based attendance
system, will not be tested under the scope of this project.
Testing Approach The following approach will be used to test the Barcode based
Attendance System
- system integration & system testing will be conducted to
provide an initial stable testing environment as follows:
• Integration Testing: Ensure operability of online
reservation application within each of the new modules.
• System Testing: Ensure that all the test databases are
accessible for testing.
- Test cases and associated scripts for user acceptance testing are
created.
- For testing the functional specification the unit testing is
performed by the developer.
- After Integration, system and acceptance testing user sign-off is
performed.
- Once user sign-off is received, then the actual deployment is
performed.
Test Documents The following test documents will be created and maintained
throughout the project lifecycle:
- Barcode based Attendance system Test Plan
- Master test case lists for each of the following functional units:
Login, Upload attendance, View attendance, Modify
Attendance, Add User, Logout.
- Test case scripts for each test case recorded in the master test case
list
- Log of all problems encountered during the testing phase of the
project
Test Case Pass/Fail Each Test Case will be evaluated against the acceptance criteria as outlined
Criteria in the test case scripts to determine if the test passed or failed. In the case
of a failure, the tester will assign a severity to the problem using the
appropriate priority rating system established within Tracker for each
application.
Suspension/ Test Cases that do not run to completion will be evaluated on a case by case
Resumption Criteria basis to determine if the testing must start over or resuus at the point where
the failure occurred. In extremely long test cases, checkpoints will be
established for resumption in the middle of a test case where appropriate. In
general, a test may be resumed in the middle when the error is not critical.
Problem Logging/ Errors identified through testing will be logged. Resolve the problem
Resolution according to the deemed severity level, and update the master test case list.
Once the problem has been fixed, record the resolution into the database. The
failed test case will then be retested using the saus test case script that
detected the error in order to verify that the problem has been rectified.
Resources
Environmental Needs In order to conduct comprehensive end-to-end system and user testing
are the networked system where the functional and non- functional
testing is performed.
Future scope of this project would most likely spread to areas with a
high number of members such as office complexes, gyms, airport
security groups, railway staff offices and other government offices.
This product is aimed to be a replacement for the current biometric
based attendance system that is widely in use nowadays. Our app is
meant to require minimum hardware, so much so that it can be
implemented using handheld devices like mobiles that are already in
common use. New functions can be added to the system by the
developers on requirement-based model as and when required. This is
possible because this will only entail the addition of new queries to
the already existing software. This functionality will enable the
development of other UI plugins which can make the experience more
direct. However, that is outside of the scope of this project as this
only focuses on the core product. The queries can be created and
modified as and when required, by the database administrator.
References
• https://developer.android.com/studio
• https://developer.android.com/guide/topics/manifest/manifest-
intro?gclid=CjwKCAiA4o79BRBvEiwAjteoYPFc_rBxWMjSnZJLM
SAGgIErFz3nofIZmqzRf_9XjXopyTcYgpMJThoCesoQAvD_BwE
& gclsrc=aw.ds
• https://code.tutsplus.com/tutorials/learn-java-for-android-
development-introduction-to-java--mobile-2604
• https://developer.android.com/docs