Barcode Based Attendance System: Project Report

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

PROJECT REPORT

On

BARCODE BASED ATTENDANCE SYSTEM

Submitted in partial fulfilment for the award of the degree


of B. Tech in Computer Science & Engineering.

By

Abdeali Jaroli – 19BCE0190


Yash Agarwal – 19BCE0691
Manohar Kumar Singh – 19BCE2646

Software Engineering (CSE3001)

Under the guidance of

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

Date: Signature of the Candidate


CERTIFICATE
This is to certify that the thesis entitled “BARCODE BASED ATTENDANCE
SYSTEM” submitted by for the award of the degree of B.Tech. Computer Science
and Engineering, is a record of bonafide work carried out by him/her under our
supervision.
The contents of this report have 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.

The Project report fulfils the requirements and regulations of VIT and in our
opinion meets the necessary standards for submission.

Signature of the Guide Signature of HOD


ACKNOWLEDGEMENT

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.

I would like to express our gratitude to G VISWANATHAN (Chancellor), SEKAR

VISWANATHAN (Vice President), DR. ANAND A. SAMUEL (Vice-Chancellor), S


NARAYANAN (Pro-Vice Chancellor), for providing with an environment to work in and for
his inspiration during the tenure of the course.

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

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

1.2 Issues with Existing System.


Existing systems have various methods to record attendance such as Biometric method,
Manual method, Iris sensor method, Facial recognition method, etc. For all these methods
we require an external hardware which may be very expensive and even after that may not
function well under all circumstances. Biometric attendance systems require a large range
of infrastructure installations, such as fingerprint readers in each classroom.
LITERATURE SURVEY

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.

● Shoewu, Olaniyi, and Lawson (2011) proposed an electronic card-based


solution to the lecture attendance problem in higher institutions in the developing
countries. This system used a single chip computer based on subsystems interfaced
serially to the serial port of the digital computer. Sous of the limitations of this
system are that not all computer systems possess serial ports.

● Mahyidin (2008) also proposed a student attendance management system using


Radio Frequency Identification (RFID). The system makes use of student cards in
order to grant or denial the student from taking attendance. This technique also did
not identify individuals based on who he/she is which therefore, can lead to
impersonation.

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

● On the other hand, Saraswat and Kumar (2010), proposed fingerprint


verification techniques in taking attendance. Their proposed system makes use of
fingerprint verification by using extraction of minutiae technique and system that
automates the whole process of taking attendance.

● 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:-

The two screens which shall appear on the app.

1. The default screen

2. The screen for uploading attendance to the final database

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:

Generating Barcode For each new student, a Barcode must be


generated. The Barcode generated will get
mapped to the students’ information
Scanning Barcode The teacher will scan Barcode from each
student’s phone. The teacher should select
the class room number and timing first, and
then proceed to take attendance
Upload attendance to database After the scanning process, the teacher up-
loads the attendance to the database by
going through a portal
TECHNICAL SPECIFICATIONS

4.1 SYSTEM REQUIREMENTS

GENERAL:

Following are the minimum hardware and software requirements for the Android
Application to run on a device:

4.1.1 HARDWARE REQUIREMENTS:


● Processor Type : Any
● Speed : 1.4 GHZ
● Ram : 512 MB RAM
● Hard disk :1GBHD

4.1.2 SOFTWARE REQUIREMENTS


● Operating System : Android
● Operating System Series : Android Marshmallow 6.0 (or above)

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 −

● Microsoft® Windows® 10/8/7/Vista/2003 (32 or 64-bit)


● Mac® OS X® 10.8.5 or higher, up to 10.9 (Mavericks)
● GNOUS or KDE desktop
Following is the list of software's we will be using for our Android application programming.

● Java JDK5 or later version


● Java Runtius Environment (JRE) 6
● Android Studio

Android Studio is the official integrated development environment for Google's


Android operating system, built on JetBrains' IntelliJ IDEA software and designed
specifically for Android development. Android Studio provides a unified environment
where you can build apps for Android phones, tablets, Android Wear, Android TV,
and Android Auto. Structured code modules allow you to divide your project into
units of functionality that you can independently build, test, and debug.
System Design

5.1 Use Case Diagram


5.2 System Diagram

5.3 State-chart Diagram:-

5.4 Activity Diagram:-


5.5 Class Diagram:-

5.6 Sequence Diagram


CODE
The full code can be found in a zip file on the link given below:
https://drive.google.com/file/d/1oavusiPJelPSlstrTgiyKZ_CQHwnq7X/v
iew?usp=sharing
An APK file to install the app directly on mobile phones can
be found on the link below:
https://drive.google.com/file/d/1GJQTciGVOO_NNcRjzl7aC4C8iOw8U
Xq/view?usp=sharing
Sous sample code screenshots are shared for reference.
Results
Testing

Use Case ID: 1


Use Case Name:
Login
Created By:
Abdeali Last Updated By:
Date Created:
April 14, 2022 Date Last Updated:
Actors:
Teacher, Student, Database Administrator
Description:
The teacher, student and DB admin can login and check attendance details,
teachers can log attendance, students can read and DB admin can modify
Trigger
Teacher, Student or DB admin want to view/log
Preconditions:
In this case there is no precondition.
Post conditions:
• The attendance menu will be displayed
• The details about the attendance will be displayed.

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

Use Case Name: Registration

Created By: Abdeali Last Updated By:

Date Created: April14, Date Last


2022 Updated:

Actors: Teacher, Student

Description: The teacher and student can register with their college credentials to create a user on
the system.

Trigger To get access to attendance system

Preconditions: Check whether there is existing user with saus credentials

Post conditions: • The attendance system menu will be displayed.


• The details about attendance will be displayed which will be blank for the
first time.

Normal Flow • Student/teacher go to portal


• System displays text fields for user credentials
• Then the user clicks register and makes a profile

Alternative Flows: None

Exceptions: 2.0 Invalid search


If the user naus is invalid name, system displays error message.

Includes: None

Priority: High

Frequency of Use: Approximately 25000 users once in lifetius of usage

Business Rules: None

Special Requirements: Teacher/student shall be able to view the profile, which they have created.

Assumptions: None

Notes and Issues: None


Use Case ID: 3

Use Case Name: Take attendance

Created By: Manohar Last Updated By:

Date Created: April14, Date Last


2022 Updated:

Actors: Teacher, Student

Description: The teacher can log attendance that he/she has taken in class, Students can
answer attendance

Trigger To log attendance

Preconditions: Check whether attendance for saus day has been logged before

Post conditions: • The student information will be displayed


• The details about tius stamp of attendance and barcode will be displayed

Normal Flow • Teacher logs attendance by enabling barcode


• The system displays student information.

Alternative Flows: None

Exceptions: 3.0 Invalid search


If the bar code is being scanned by unauthorized student, system displays error
message.

Includes: None

Priority: High

Frequency of Use: Approximately 2000 users, average of 7-8 usage per day

Business Rules: None

Special Requirements: None

Assumptions: None

Notes and Issues: None


Use Case ID: 4

Use Case Name: Upload Attendance

Created By: Manohar Last Updated


By:

Date Created: April Date Last


14, 2022 Updated:

Actors: Teacher

Description: The teacher can upload attendance that he/she has taken in class by authorizing it.

Trigger To upload attendance

Preconditions: The teacher can check whether attendance for saus day has been logged before

Post conditions: • The student information will be displayed


• The details about tius stamp of attendance and barcode will be displayed

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

Alternative Flows: None

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

Business Rules: None

Special None
Requirements:
Assumptions: None

Notes and Issues: None

Use Case ID: 5

Use Case Name: Modify Attendance

Created By: Yash Last Updated


By:

Date Created: April Date Last


14, 2022 Updated:

Actors: Teacher, Database Administrator

Description: Teachers and DB Admins can manually modify attendance of a particular class

Trigger Tecaher or DB Admin wants to update or delete attendance

Preconditions: No preconditions

Post conditions: • The student information will be displayed


• The details about tius stamp of attendance and barcode will be displayed

Normal Flow • The teacher or db administrator logs in


• Then they provide their credentials.
• The attendance details of a particular class are displayed
• Authenticate the teacher or admin
• Then allow them to modify data either update or delete.

Alternative Flows: None

Exceptions: 4.0 Invalid search


Incomplete information or invalid credentials
The information entered by teacher or admin may be incomplete.

Includes: None

Priority: High

Frequency of Use: Approximately 500 teacher, average of one usage per day

Business Rules: None

Special The teacher or is asked to re-enter the user naus and password if invalid.
Requirements:
Assumptions: none

Notes and Issues: None

Use Case ID: 6

Use Case Name: Save in Database

Created By: Yash Last Updated By:

Date Created: April 14 ,2022 Date Last Updated:

Actors: Database administrator

Description: The database admin saves the data uploaded by teachers to central database

Trigger Submission of attendance details

Preconditions: The teachers upload details and confirm that it is validated.

Post conditions: If authorized data will be saved.

Normal Flow • Database admin logs in


• Then he finds the uploaded data from the teacher
• Then he pushes the changes to central DB periodically

Alternative Flows: None

Exceptions: 5.0 Invalid search

In case of unauthorized upload, the data would not be saved.

Includes: None

Priority: High

Frequency of use Approximately 5 admins, average of one usage per day

Business Rules: None

Special Daily updation of the database information is mandatory


Requirements:

Assumptions: none
Notes and Issues: None

Use Case ID: 7

Use Case Name: View Class Attendance

Created By: Abdeali Last Updated By:

Date Created: April 14, 2022 Date Last Updated:

Actors: Teacher, Student

Description: The teacher and students can view attendance that was taken in class, Students can
query incorrect attendance.

Trigger To view attendance.

Preconditions: Check whether attendance has been logged before viewing.

Post conditions: • The student information will be displayed


• The details about tius stamp of attendance and barcode will be displayed
• Outcous of present or absent will be displayed.

Normal Flow • Student or Teacher logs in


• The system displays student attendance information.

Alternative Flows: None

Exceptions: 6.0 Invalid search.

Wrong information’s provided by the student/teacher

Includes: None

Priority: High

Frequency of Use: Approximately 25000 teachers and students, average of one usage per day

Business Rules: None

Special None
Requirements:

Assumptions: None

Notes and Issues: None


Use Case ID: 8

Use Case Name: Add User

Created By: Abdeali Last Updated By:

Date Created: April 14, 2022 Date Last Updated:

Actors: Database administrator

Description: DB Admin manually adds a new user either a teacher or student in case they are not
able to.

Trigger To add a new user

Preconditions: In case user does not exist

Post conditions: Updating of the database informations about new user

Normal Flow 1. Database administrator compares existing database for new user value
2. If not present then creates new user and gives necessary permissions

Alternative Flows: None

Exceptions: 7.0 Invalid search

None.

Includes: None

Priority: High

Frequency of Use: Approximately 5 admins, average of 0-1 usage per day

Business Rules: None

Special None
Requirements:

Assumptions: none

Notes and Issues: None


Use Case ID: 9

Use Case Name: Query Database

Created By: Abdeali Last Updated By:

Date Created: Sepemeber 14, 2022 Date Last Updated:

Actors: Teacher, School Office

Description: The administrator maintains the user information in the database which can be
queried by teachers and school office authorities

Trigger Consecutive need to monitor database information for discrepencies

Preconditions: The administrator adds the passenger information to the database.

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

Alternative Flows: None

Exceptions: 8.0 Invalid search


None

Includes: None

Priority: High

Frequency of Use: Approximately 100 authorities, average of one usage per day

Business Rules: None

Special The administrator continuously updates the student information as they get uploaded.
Requirements:

Assumptions: none

Notes and Issues: None


Test Plan

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.

Project Manager: Abdeali

Date Updated:

Project Test Plan

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.

Staffing Requirements Developer


Conclusion and Future Enhancement

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

You might also like