0% found this document useful (0 votes)
388 views62 pages

QR Code Based Attendence Major Project

Attendance system
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
388 views62 pages

QR Code Based Attendence Major Project

Attendance system
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 62

A

PROJECT REPORT
on
QR CODE BASED ATTENDENCE SYSTEM

Submitted in partial fulfilment of the requirement

for the award of the Degree of

BACHELOR OF TECHNOLOGY
in

COMPUTER SCIENCE AND ENGINEERING


by
R. RANJITHA 21TP5A0519

P. SWETHAMBIKA 21TP5A0517

T. POOJITHA 20TP1A05C0

J. MAHESH 20TP1A05F9

Under the esteemed guidance of

MS. N. SUDEEPTHI REDDY


Assistant professor-CSE

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

SIDDHARTHA INSTITUTE OF ENGINEERING AND TECHNOLOGY

ACCREDITED BY NBA, NAAC, AICTE & Affiliated to JNTUH

Vinobha Nagar, Ibrahimpatnam, R.R. District, PIN-501 506

2023-2024

1
DEPARTMENT OF COMPUTER SCIENCE AND
TECHNOLOGY

CERTIFICATE

This is to certify that the Project report entitled “QR CODE BASED ATTENDENCE
SYSTEM” is a bonafide work done and submitted by R. RANJITHA (21TP5A0519),
P.SWETHAMBIKA (21TP5A0517), T.POOJITH (20TP1A5C0), J.MAHESH (20TP1A05F9),
during the academic year 2023-2024, in partial fulfillment of the requirement for the award
of BACHELOR OF TECHNOLOGY IN COMPUTER SECIENCE AND ENGINNERING
from Jawaharlal NehruTechnological University Hyderabad, is a bonafide record of work
carried out by them under the guidance and supervision.
Certified further that to the best of our knowledge, the work in this dissertation has not
been submitted to any other institution for the award of any degree or diploma.

INTERNAL GUIDE HEAD OF THE DEPARTMENT

PROJECT COORDINATOR EXTERNAL EXAMINER

2
ACKNOWLEDGEMENT
The satisfaction of completing this project would be incompelte without mentioning our
gratitude towards all the people who have supported us. Constant guidance and
encouragement have been instrumental in the completion of this project.
First and foremost, we thankful the Chairman, Secretory and Principal for availing
infrastructural facilities to complete the major project in time.
We offer our sincere gratitude to our internal guide MS. N. SUDEEPTHI REDDY,
Assistant Professor, CSE Department,Siddhartha Institute of Engineering Technology for
his immense support, timely cooperation, and valuable advice throughout the course of our
project work.
We would like to thank the Head of Department, Professor Dr. P. SUNITHA, for her
meticulous care and cooperation throughout the project work.
We are thankfull to Mr. MD. BASITH, Project Coordinator, Assistant Professor, CSE
Department,Siddhartha Institute of Engineering and Technology for his supportive
guidelines and for having provided the necessary help for carrying forward this project
without any obstacles and hindrances.
We also thank the Project Review Committee Members for their valuable suggestions.

3
DECLARATION

We here by declare the project report entitled “QR CODE BASED ATTENDENCE
SYSTEM” is an original work done and submitted to the CSE Department, Siddhartha
Institute of Engineering and Technology, affiliated to Jawaharlal Nehru Technological
University Hyderabad, in partial fulfilment of the requirement for the award of Bachelor
of Technology in CSE and it is a record of bonafide project work carried out by us under
the guidance of MS. N. SUDEEPTHI REDDY, Assistant Professor. .
We further declare that the work reported in this project has not been 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.

R. RANJITHA 21TP5A0519

P. SWETHAMBIKA 21TP5A0517

T. POOJITHA 20TP1A05C0

J. MAHESH 20TP1A05F9

4
TABLE OF CONTENTS

ABSTRACT vi

LIST OF FIGURES vii

ABBREVATIONS viii

CHAPTER NO. TITLE PAGE NO.

CHAPTER 1. INTRODUCTION 1-9

1.1 OVERVIEW 1

1.2 HISTORY 2

1.3 MOTIVATION 3

1.4 PROBLEM DEFINITION 4

1.5 OBJECTIVE 5

1.6 APPLICATIONS 6

1.7 PERFORMANCE EVALUATION 7-9

CHAPTER 2. LITERATURE SURVEY 10-11

2.1 INTRODUCTION 10

2.2 RELATED WORK 10

2.3 RESEARCH GAPS 11

CHAPTER 3. SYSTEM ANALYSIS 12-20

3.1 EXISTING SYSTEM 12-14

3.2 PROPOSED SYSTEM 15-18

3.3 DRAWBACKS 19-20

CHAPTER 4. SYSTEM DESIGN 20-31

4.1 CLASS DIAGRAM 20-22

4.1.1 SEQUENCE DIAGRAM 24-25

4.2 COLLABOTRATION DIAGRAM 26

4.3 DEVELOPMENT DIAGRAM 27


5
4.4.ACTIVITY DIAGRAM 28

4.42 SAMPLE CODE 29-31


CHAPTER 5. IMPLEMENTATION 32-45

CHAPTER 6. TESTING 46-48

CHAPTER 7. SCREENSHOTS 49-58

CHAPTER 8. CONCLUSION 59

CHAPTER 9. REFERENCES 60

6
LIST OF FIGURES

FIGURE NO. DESCRIPTION PAGE NO

Figure 4.1 Class Diagram 26

Figure 4.2 Design case 20

Figure 4.3 Planning stage 21

Figure 4.4 Definition Stage 18

Figure 4.5 Use case 25

Figure 9.1 Sequence Diagram 26

Figure 9.2 Count Plot 27

Figure 9.3 Collaboration Diagram 27

Figure 9.4 GUI 28

Figure 9.5 Component Diagram 29

Figure 9.6 Developmental Diagram 30

Figure 9.7 Activity Diagram 31

Figure 9.8 Data flow 32

7
ABBREVATIONS

MRI: Magnetic Resonance Imaging

CNN: Convolutional Neural Network

NLP: Natural Language Processing

CART: Classification and Regression Tree

UML: Unified Modelling Language

DFD: Data Flow Diagram

GUI: Graphic User Interface

IOT: Internet of Things

WORA: Write Once Run Anywhere

JDBC: Java Database Connectivity

ODBC: Open Database Connectivity

RAM: Read-Only Memory

GB: Gigabyte

8
QR Code Based Attendance System
1. INTRODUCTION:

Nowadays, it is very important to finish the job fast, learn something new, get higher results as
easy and efficiently as you can. Every sector, especially in the education process and in the
business world, needs management systems that will enable them to have adequate control and
management in the development of learning or work. Considering all these advantages and
benefits, we thought that the process of education at the university, in particular, needs an online
system to manage student attendance. Among others, regular attendance is a basic and most
important criterion throughout the education system. Consequently, the student might lose the
right to sit an exam if attendance criterion is not met. Moreover, if students exceed the number
of allowed absences, they might also lose the right to sit final exams. Given that, the manual
method which is currently used, give space for more calculation errors. We proposed and
developed a better web-based system to help overcome such issues. It is fully responsive to
mobile phones, tablets and various computer systems users. The proposed model provides data
security and whole class or individual student attendance data can be accessed quickly and
easily, moreover, the report is automatically generated by the professor. The purpose of the
internet-based attendance system is to computerize the traditional way of registering attendance
and to provide an easier and smarter way to track institutions attendance nowadays, based on a
unique code for each professor and student known as QR code. At the beginning of each course,
to confirm their attendance, users (professors and students) are required to scan their unique
QR code assigned to them during or at the beginning of each lecture, using QR reading devices
within the classrooms. Based on this, the lecture and student attendance record and other
necessary data will be recorded. The system will help a lot in improving student attendance in
particular courses they need to attend and will save a lot of time. This paper consists of three
sections: the first part deals with the related papers; the second part details the proposed
framework; and the last part details the implementation plan according to a case study
conducted at University of Tetova – North Macedonia.

1.1 Objective of the project:

In higher education institutions, student participation in the classroom is directly related to their
academic performance. However, the majority of student attendance registration is still

9
conventionally done, which is tedious and time-consuming, especially for those courses that
involve large numbers of students. Over the years, attendance management has been conducted
manually at most of the universities. To overcome the manual attendance issues, we proposed
and implemented a smart attendance system with the aim to encourage the potential use of the
Quick Response (QR) code as a future attendance management system, to track and record
student attendance in lectures and exercises for all relevant courses, as an aim of this paper.

2. LITERATURE SURVEY:

“Attendance Management System (AMS) with fast track analysis,”

Fast track analysis for Attendance Management System (AMS) is designed to facilitate the
lecturer in monitoring student attendance during lecture session. Monitoring attendance is
crucial especially for large group of students. Lecturers have difficulties to verify student's
attendance during class and would take up some time. Error in key in the attendance into the
system is also likely when transferring the attendance into the main system, with no way to
trace the mistakes once the class is over. Late comers would be overlooked due to recording on
the time they join the classes. Hence, a new system was innovated applying simple mechanism
which consists of RFID data logger and data analysis using ASP.net. The system is portable
and quick to verify attendances within 5 minutes regardless, of the size of the class.

“Effective and efficient attendance tracking system using secret code,”

Students' attendance taking and tracking are important in order to monitor students'
performance in class. More often than not, students' performance is closely related to their
attendance. Good attendance usually leads to good performance and vice versa. Therefore, any
problems related to students' attendance should be identified as early as possible so that
appropriate measures can be taken to address them. However, tracking students' attendance,
especially if done manually, can be tedious and time consuming, especially for classes will
large number of students. Not to mention issues related to attendance taking such as signatures
forgery where other students are signing on behalf of their absence friends. To address this
issue, a unique and secure attendance tracking system is proposed. The system automates most
of the steps involved in tracking students' attendance. To address the issue of signature forgery,
secret code using MD5 hashing algorithm is implemented as part of the system so that each
student will be given a unique code each day to be used for signing attendance. Implementation

10
of the system shows that the time taken to track students' attendance using this system can be
significantly reduced and the secret code is able to prevent signature forgery amongst students.
“Attendance Management System,”

In today's era regardless of the field of study or preference for defining data (quantitative,
qualitative), accurate data collection is essential for maintaining the integrity of research.
Selection of appropriate method and the device used for data acquisition reduces chances of
errors occurring. Proposed system has a small handy hardware, a remote server and software
components for acquisition of data manually or from sensors electronically. It could be used in
doing survey's, closed loop control monitoring systems in industries, hospitals, attendance
management system of schools and colleges etc. This paper presents a design and framework
for taking attendance in schools and colleges, for making troublesome process of taking and
compiling of attendance simple and efficient. As its targeted users are educational institutes
where there is a requirement of affordable, user friendly, portable, energy efficient and secure
automated system. Hence this prototype provides an amalgamated solution for replacing
existing conventional attendance system with embedded attendance system. Main advantages
are its very low cost, small size, efficient with low energy consumption.

“QR Code Based Smart Attendance System”,

In this era of technology smart phones play a significant role in our day to day life. Nowadays
smart phones can solve most of the problem very quickly and easily. It has made life of every
person simple and easier with different social app, commercial app, problem solving app, app
for education and marketing etc. Followed by the technology the paper purposed a system that
will handle a problem for recording the attendance. The proposed system is a couple of two
applications, one for generating the QR Code by entering the student details and second
application for taking the attendance and generating the attendance in CSV or XLS format. The
teacher will need to scan the QR code of the particular student in order to confirm their
attendance. The paper discusses how the system verifies student identity to eliminate false
registrations. The system deals with the management and evaluation of attendance of all
students. The student QR code will be provided to professor for taking their attendance. The
professor handling the subjects is responsible to mark the attendance for all students of the
group or class. The attendance will be marked as 0 and 1, 0 for absent and 1 for present in the
database of the particular student row in the table. The student attendance reports will be
generated in CSV and XLS sheet for further use.

11
“A Students Attendance System Using QR Code”

Smartphones are becoming more preferred companions to users than desktops or notebooks.
Knowing that smartphones are most popular with users at the age around 26, using smartphones
to speed up the process of taking attendance by university instructors would save lecturing time
and hence enhance the educational process. This paper proposes a system that is based on a QR
code, which is being displayed for students during or at the beginning of each lecture. The
students will need to scan the code in order to confirm their attendance. The paper explains the
high level implementation details of the proposed system. It also discusses how the system
verifies student identity to eliminate false registrations.

3. SYSTEM ANALYSIS

3.1Existing System

There are quite a number of previous researches in the field of computer science developed
students attendance tracking system to improve record taking in class using different
technologies. For example, RFID or near field communication (NFC) technology An example
of application that Jainetal has developed is a desktop application in which a list of all registered
students in a particular course is displayed when the class commences. Attendance is registered
by clicking off a checkbox next to student’s name that are present, and then for marking their
presence a register button is clicked.

Disadvantages of Existing System:

Less Accuracy

3.2Proposed System

The proposed system by authors on aims to record all student participation based on the
generated unique QR code of each course for each class day. The instructors, in turn, copy this
QR code and paste it on the first slide to be displayed in the lecture. If the instructor policy is
to allow late students in his class and would like to mark them as present or late, then the QR
code should also be copied on one of the four corners of as many slides as the instructor wishes.
When the students are in class, the first thing that should be done is to pull out their smart
phones, open the Mobile Module, and scan the QR code, then the Server Module runs an
identity check on the registered students. These days it is required to keep up with the latest

12
technologies, especially in the field of education. Educational institutions have been looking
for ways to enhance the educational process using the latest technologies. Seeing as everything
moves towards digitalization, we think that this system is pretty much necessary for the
University. In this paper, we have described a proposed system that incorporates QR codes and
devices connected to internet in taking student attendance. This study shows that the QR code,
a multi-faceted and popular feature of smart devices, can be used as an efficient method of
recording attendance, replacing the old, traditional way of calling name lists in class The
proposed system provides better security than the traditional methods, including eliminating
chances of students signing up for others who may not be present. Even though similar
platforms are already developed, we believe that the proposed platform will be more attractive
for several reasons: It has a great advantage, among all types of code scanning technology; the
QR Code attendance system is the most accurate and efficient method of maintaining
attendance in a database and controlling it from any intelligent device rather than wasting paper.

Advantages of Proposed System:

High Accuracy.

Modules Information:

To implement this project author has designed following module

Admin module: admin can login to application by using username and password as ‘admin’
and ‘admin’ and then can ADD New Employee Details and then application will generate QR
CODE on EMPLOYEE ID and then admin can download that image and give to employee and
employee can show that image to QR CODE scanner to mark attendance. Admin can view all
employee details and then can view employee attendance by using start and end date.
Employee Login Module: employee can login to system by using his ID and can view his
attendance from start and end date selection
QR CODE WEBCAM SCANNER: employee has to show his QR CODE image from his
mobile to webcam and then webcam will read QR CODE and mark attendance.
Only one attendance for each employee for each day will be marked.

FUNCTIONAL REQUIREMENTS:

SOFTWARE REQIREMENTS:

System Atributes:

13
1. Username
Data base Requirements:

No need

USECASE:

• Use cases - Use cases describe the interaction between the system and external users
that leads to achieving particular goals.

• Each use case includes main elements:

1. Admin module
2. Employee Login Module
3. QR CODE WEBCAM SCANNER

User Stories:employee can view all present days date and current payable salar

Work down Structure:

14
Prototype:

python 3.7.0 or 3.7.4 opencv-

python==4.5.1.48 keras==2.3.1

tensorflow==1.14.0

protobuf==3.16.0 h5py==2.10.0

sklearn-extensions==0.0.2

scikit-learn==0.22.2.post1

15
Numpy

Pandas

Models and Diagrams:

NON-FUNCTIONAL REQUIREMENT:

Usability: Usability is a quality attribute that assesses how easy user interfaces are to use. The
word "usability" also refers to methods for improving ease-of-use during the design
process.(how it was handle entire project easy)

Security:the quality or state of being secure: such as. a : freedom from danger : safety. b :
freedom from fear or anxiety. c : freedom from the prospect of being laid off job security.

Readability: Readability is the ease with which a reader can understand a written text.

Performance: the execution of an action. : something accomplished : deed, feat. : the


fulfillment of a claim, promise, or request : implementation. 3. : the action of representing a
character in a play.

Availability: the quality or state of being available trying to improve the availability of
affordable housing. 2 : an available person or thing.

Scalability: Scalability is the measure of a system's ability to increase or decrease in


performance and cost in response to changes in application and system processing demands.

3.3. PROCESS MODEL USED WITH JUSTIFICATION

SDLC (Umbrella Model):


16
SDLC is nothing but Software Development Life Cycle. It is a standard which is used by
software industry to develop good software.

Stages in SDLC:

Requirement Gathering
Analysis
Designing
Coding Testing

Maintenance

Requirements Gatheringstage:

The requirements gathering process takes as its input the goals identified in the high-level
requirements section of the project plan. Each goal will be refined into a set of one or more
requirements. These requirements define the major functions of the intended application, define
operational data areas and reference data areas, and define the initial data entities. Major

17
functions include critical processes to be managed, as well as mission critical inputs, outputs
and reports. A user class hierarchy is developed and associated with these major functions, data
areas, and data entities. Each of these definitions is termed a Requirement. Requirements are
identified by unique requirement identifiers and, at minimum, contain a requirement title and
textual description.

These requirements are fully described in the primary deliverables for this stage: the
Requirements Document and the Requirements Traceability Matrix (RTM). The requirements
document contains complete descriptions of each requirement, including diagrams and
references to external documents as necessary. Note that detailed listings of database tables and
fields are not included in the requirements document.

The title of each requirement is also placed into the first version of the RTM, along with the
title of each goal from the project plan. The purpose of the RTM is to show that the product
components developed during each stage of the software development lifecycle are formally
connected to the components developed in prior stages.

In the requirements stage, the RTM consists of a list of high-level requirements, or goals, by
title, with a listing of associated requirements for each goal, listed by requirement title. In this
hierarchical listing, the RTM shows that each requirement developed during this stage is
formally linked to a specific product goal. In this format, each requirement can be traced to a
specific product goal, hence the term requirements traceability.

18
The outputs of the requirements definition stage include the requirements document, the RTM,
and an updated project plan.

Feasibility study is all about identification of problems in a project.

No. of staff required to handle a project is represented as Team Formation, in this case
only modules are individual tasks will be assigned to employees who are working for
that project.

Project Specifications are all about representing of various possible inputs submitting
to the server and corresponding outputs along with reports maintained by administrator.

Analysis Stage:

The planning stage establishes a bird's eye view of the intended software product, and uses this
to establish the basic project structure, evaluate feasibility and risks associated with the project,
and describe appropriate management and technical approaches.

The most critical section of the project plan is a listing of high-level product requirements, also
referred to as goals. All of the software product requirements to be developed during the
requirements definition stage flow from one or more of these goals. The minimum information
for each goal consists of a title and textual description, although additional information and
references to external documents may be included. The outputs of the project planning stage
19
are the configuration management plan, the quality assurance plan, and the project plan and
schedule, with a detailed listing of scheduled activities for the upcoming Requirements stage,
and high level estimates of effort for the out stages.

Designing Stage:

The design stage takes as its initial input the requirements identified in the approved
requirements document. For each requirement, a set of one or more design elements will be
produced as a result of interviews, workshops, and/or prototype efforts. Design elements
describe the desired software features in detail, and generally include functional hierarchy
diagrams, screen layout diagrams, tables of business rules, business process diagrams, pseudo
code, and a complete entity-relationship diagram with a full data dictionary. These design
elements are intended to describe the software in sufficient detail that skilled programmers may
develop the software with minimal additional input.

When the design document is finalized and accepted, the RTM is updated to show that each
design element is formally associated with a specific requirement. The outputs of the design
stage are the design document, an updated RTM, and an updated project plan.

Development (Coding) Stage:

The development stage takes as its primary input the design elements described in the approved
design document. For each design element, a set of one or more software artifacts will be
produced. Software artifacts include but are not limited to menus, dialogs, and data

20
management forms, data reporting formats, and specialized procedures and functions.
Appropriate test cases will be developed for each set of functionally related software artifacts,
and an online help system will be developed to guide users in their interactions with the
software.

The RTM will be updated to show that each developed artifact is linked to a specific design
element, and that each developed artifact has one or more corresponding test case items. At this
point, the RTM is in its final configuration. The outputs of the development stage include a
fully functional set of software that satisfies the requirements and design elements previously
documented, an online help system that describes the operation of the software, an
implementation map that identifies the primary code entry points for all major system
functions, a test plan that describes the test cases to be used to validate the correctness and
completeness of the software, an updated RTM, and an updated project plan.

Integration & Test Stage:

During the integration and test stage, the software artifacts, online help, and test data are
migrated from the development environment to a separate test environment. At this point, all
test cases are run to verify the correctness and completeness of the software. Successful
execution of the test suite confirms a robust and complete migration capability. During this

21
stage, reference data is finalized for production use and production users are identified and
linked to their appropriate roles. The final reference data (or links to reference data source files)
and production user list are compiled into the Production Initiation Plan.

The outputs of the integration and test stage include an integrated set of software, an online
help system, an implementation map, a production initiation plan that describes reference data
and production users, an acceptance plan which contains the final suite of test cases, and an
updated project plan.

Installation & Acceptance Test:

During the installation and acceptance stage, the software artifacts, online help, and initial
production data are loa ded onto the production server. At this point, all test cases are run to
verify the correctness and completeness of the software. Successful execution of the test suite
is a prerequisite to acceptance of the software by the customer.

22
After customer personnel have verified that the initial production data load is correct and the
test suite has been executed with satisfactory results, the customer formally accepts the delivery
of the software.

The primary outputs of the installation and acceptance stage include a production application,
a completed acceptance test suite, and a memorandum of customer acceptance of the software.
Finally, the PDR enters the last of the actual labor data into the project schedule and locks the
project as a permanent project record. At this point the PDR "locks" the project by archiving
all software items, the implementation map, the source code, and the documentation for future
reference.

23
Maintenance:

Outer rectangle represents maintenance of a project, Maintenance team will start with
requirement study, understanding of documentation later employees will be assigned work and
they will undergo training on that particular assigned category. For this life cycle there is no
end, it will be continued so on like an umbrella (no ending point to umbrella sticks).

3.4. Software Requirement Specification

3.4.1. Overall Description

A Software Requirements Specification (SRS) – a requirements specification for a software


system is a complete description of the behavior of a system to be developed. It includes a set
of use cases that describe all the interactions the users will have with the software. In addition
to use cases, the SRS also contains non-functional requirements. Nonfunctional requirements
are requirements which impose constraints on the design or implementation (such as
performance engineering requirements, quality standards, or design constraints).

System requirements specification: A structured collection of information that embodies the


requirements of a system. A business analyst, sometimes titled system analyst, is responsible for
analyzing the business needs of their clients and stakeholders to help identify business problems
and propose solutions. Within the systems development lifecycle domain, the BA typically
performs a liaison function between the business side of an enterprise and the information
technology department or external service providers. Projects are subject to three sorts of
requirements:

• Business requirements describe in business terms what must be delivered or


accomplished to provide value.

• Product requirements describe properties of a system or product (which could be one


of several ways to accomplish a set of business requirements.)

• Process requirements describe activities performed by the developing organization. For


instance, process requirements could specify .Preliminary investigation examine project
feasibility, the likelihood the system will be useful to the organization. The main objective of
the feasibility study is to test the Technical, Operational and Economical feasibility for adding

24
new modules and debugging old running system. All system is feasible if they are unlimited
resources and infinite time. There are aspects in the feasibility study portion of the preliminary
investigation:
• ECONOMIC FEASIBILITY

A system can be developed technically and that will be used if installed must still be a good
investment for the organization. In the economical feasibility, the development cost in creating
the system is evaluated against the ultimate benefit derived from the new systems. Financial
benefits must equal or exceed the costs. The system is economically feasible. It does not require
any addition hardware or software. Since the interface for this system is developed using the
existing resources and technologies available at NIC, There is nominal expenditure and
economical feasibility for certain.

OPERATIONAL FEASIBILITY

Proposed projects are beneficial only if they can be turned out into information system. That
will meet the organization’s operating requirements. Operational feasibility aspects of the
project are to be taken as an important part of the project implementation. This system is
targeted to be in accordance with the above-mentioned issues. Beforehand, the management
issues and user requirements have been taken into consideration. So there is no question of
resistance from the users that can undermine the possible application benefits. The wellplanned
design would ensure the optimal utilization of the computer resources and would help in the
improvement of performance status.

• TECHNICAL FEASIBILITY

Earlier no system existed to cater to the needs of ‘Secure Infrastructure Implementation


System’. The current system developed is technically feasible. It is a web based user interface
for audit workflow at NIC-CSD. Thus it provides an easy access to .the users. The database’s
purpose is to create, establish and maintain a workflow among various entities in order to
facilitate all concerned users in their various capacities or roles. Permission to the users would
be granted based on the roles specified. Therefore, it provides the technical guarantee of
accuracy, reliability and security.

3.4.2. External Interface Requirements

25
User Interface

The user interface of this system is a user friendly python Graphical User Interface.
Hardware Interfaces

The interaction between the user and the console is achieved through python capabilities.

Software Interfaces

The required software is python.

SYSTEM REQUIREMENT:

HARDWARE REQUIREMENTS:
Processor - Intel i3(min)

Speed - 1.1 GHz


RAM - 4GB(min)
Hard Disk - 500 GB
Key Board - Standard Windows Keyboard
Mouse - Two or Three Button Mouse
Monitor - SVGA

SOFTWARE REQUIREMENTS:

Operating System - Windows10(min)


Programming Language - Python

4. SYSTEM DESIGN

4. SYSTEM DESIGN

CLASS DIAGRAM:

The class diagram is the main building block of object oriented modeling. It is used both for
general conceptual modeling of the systematic of the application, and for detailed modeling
translating the models into programming code. Class diagrams can also be used for data
modeling. The classes in a class diagram represent both the main objects, interactions in the
application and the classes to be programmed. In the diagram, classes are represented with
boxes which contain three parts:

26
• The upper part holds the name of the class
• The middle part contains the attributes of the class
• The bottom part gives the methods or operations the class can take or undertake

USECASE DIAGRAM:

A use case diagram at its simplest is a representation of a user's interaction with the system
and depicting the specifications of a use case. A use case diagram can portray the different types
of users of a system and the various ways that they interact with the system. This type of
diagram is typically used in conjunction with the textual use case and will often be accompanied
by other types of diagrams as well.

add new employeee details


start webcam

view your attendence view employee details

user admin

view atendence
logout

logout 1
exit

SEQUENCE DIAGRAM:
A sequence diagram is a kind of interaction diagram that shows how processes operate with
one another and in what order. It is a construct of a Message Sequence Chart. A sequence

27
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 typically associated with
use case realizations in the Logical View of the system under development. Sequence diagrams
are sometimes called event diagrams, event scenarios, and timing diagrams.

user start view your logout exit


webcam attendence

start webcam

successfully start webcam

view your attendence

successfully view your attendence

logout

successfully logout

exit

successfully exit

admin add new employe view employee view logout 1


e details details attendence

add new employee details

successfully add new employee details

view employee details

successfully view employee details

view attendence

successfully view attendence

logout 1

successfully logout 1

28
COLLABORATION DIAGRAM:
A collaboration diagram describes interactions among objects in terms of sequenced messages.
Collaboration diagrams represent a combination of information taken from class, sequence, and
use case diagrams describing both the static structure and dynamic behaviour of a system.

view employee
start view your add new employee details
webcam attendence details
11: view employee details
1: start webcam
3: view your attendence 10: successfully add new employee details
12: successfully view employee details
2: successfully start webcam 9: add new employee details
4: successfully view your attendence
admin
user
5: logout 13: view attendence

7: exit
16: successfully logout
6: successfully logout 14: successfully view attendence
8: successfully exit

logout view
exit logout 1 15: logout 1 attendence

COMPONENT DIAGRAM:
In the Unified Modelling Language, a component diagram depicts how components are wired
together to form larger components and or software systems. They are used to illustrate the
structure of arbitrarily complex systems.
Components are wired together by using an assembly connector to connect the required
interface of one component with the provided interface of another component. This illustrates
the service consumer - service provider relationship between the two components.
add new employe
e details
start
webcam

view employe
view your e details
attendence

admin
user
view
logout attendence

logout 1
exit

DEPLOYMENT DIAGRAM:

29
A deployment diagram in the Unified Modeling Language models the physical deployment
of artifacts on nodes. To describe a web site, for example, a deployment diagram would show
what hardware components ("nodes") exist (e.g., a web server, an application server, and a
database server), what software components ("artifacts") run on each node (e.g., web
application, database), and how the different pieces are connected (e.g. JDBC, REST, RMI).

The nodes appear as boxes, and the artifacts allocated to each node appear as rectangles within
the boxes. Nodes may have sub nodes, which appear as nested boxes. A single node in a
deployment diagram may conceptually represent multiple physical nodes, such as a cluster of
database servers.
add new
start employe
webcam

view you view


r employe

admin
user

view
logout attende

exit logout 1

ACTIVITY DIAGRAM:

Activity diagram is another important diagram in UML to describe dynamic aspects of the
system. It is basically a flow chart to represent the flow form one activity to another activity.
The activity can be described as an operation of the system. So the control flow is drawn from
one operation to another. This flow can be sequential, branched or concurrent.

30
Data flow :

Data flow diagrams illustrate how data is processed by a system in terms of inputs and outputs.
Data flow diagrams can be used to provide a clear representation of any business function.
The technique starts with an overall picture of the business and continues by analyzing each
of the functional areas of interest. This analysis can be carried out in precisely the level of
detail required. The technique exploits a method called top-down expansion to conduct the
analysis in a targeted way.

As the name suggests, Data Flow Diagram (DFD) is an illustration that explicates the passage
of information in a process. A DFD can be easily drawn using simple symbols. Additionally,
complicated processes can be easily automated by creating DFDs using easy-to-use, free
downloadable diagramming tools. A DFD is a model for constructing and analyzing
information processes. DFD illustrates the flow of information in a process depending upon
the inputs and outputs. A DFD can also be referred to as a Process Model. A DFD demonstrates
business or technical process with the support of the outside data saved, plus the data flowing
from the process to another and the end results.

31
5. IMPLEMETATION

5.1 Python

Python is a general-purpose language. It has wide range of applications from Web development
(like: Django and Bottle), scientific and mathematical computing (Orange, SymPy, NumPy) to
desktop graphical user Interfaces (Pygame, Panda3D). The syntax of the language is clean and
length of the code is relatively short. It's fun to work in Python because it allows you to think
about the problem rather than focusing on the syntax.

History of Python:

Python is a fairly old language created by Guido Van Rossum. The design began in the late
1980s and was first released in February 1991.

Why Python was created?

In late 1980s, Guido Van Rossum was working on the Amoeba distributed operating system
group. He wanted to use an interpreted language like ABC (ABC has simple easy-to-understand
syntax) that could access the Amoeba system calls. So, he decided to create a language that was
extensible. This led to design of a new language which was later named Python.

32
Why the name Python?

No. It wasn't named after a dangerous snake. Rossum was fan of a comedy series from late
seventies. The name "Python" was adopted from the same series "Monty Python's Flying
Circus".

Features of Python:

A simple language which is easier to learn

Python has a very simple and elegant syntax. It's much easier to read and write Python programs
compared to other languages like: C++, Java, C#. Python makes programming fun and allows
you to focus on the solution rather than syntax.

If you are a newbie, it's a great choice to start your journey with Python.

Free and open-source

You can freely use and distribute Python, even for commercial use. Not only can you use and
distribute software’s written in it, you can even make changes to the Python's source code.

Python has a large community constantly improving it in each iteration.

Portability

You can move Python programs from one platform to another, and run it without any changes.

It runs seamlessly on almost all platforms including Windows, Mac OS X and Linux.

Extensible and Embeddable

Suppose an application requires high performance. You can easily combine pieces of C/C++ or
other languages with Python code.

This will give your application high performance as well as scripting capabilities which other
languages may not provide out of the box.

A high-level, interpreted language

33
Unlike C/C++, you don't have to worry about daunting tasks like memory management,
garbage collection and so on.

Likewise, when you run Python code, it automatically converts your code to the language your
computer understands. You don't need to worry about any lower-level operations.

Large standard libraries to solve common tasks

Python has a number of standard libraries which makes life of a programmer much easier since
you don't have to write all the code yourself. For example: Need to connect MySQL database
on a Web server? You can use MySQLdb library using import MySQLdb .

Standard libraries in Python are well tested and used by hundreds of people. So you can be sure
that it won't break your application.

Object-oriented

Everything in Python is an object. Object oriented programming (OOP) helps you solve a
complex problem intuitively.

With OOP, you are able to divide these complex problems into smaller sets by creating objects.

Applications of Python:

1. Simple Elegant Syntax

Programming in Python is fun. It's easier to understand and write Python code. Why? The
syntax feels natural. Take this source code for an example:

a=2b=3

sum = a + b

print(sum)

34
2. Not overly strict

You don't need to define the type of a variable in Python. Also, it's not necessary to add
semicolon at the end of the statement.

Python enforces you to follow good practices (like proper indentation). These small things can
make learning much easier for beginners.

3. Expressiveness of the language

Python allows you to write programs having greater functionality with fewer lines of code.
Here's a link to the source code of Tic-tac-toe game with a graphical interface and a smart
computer opponent in less than 500 lines of code. This is just an example. You will be amazed
how much you can do with Python once you learn the basics.

4. Great Community and Support

Python has a large supporting community. There are numerous active forums online which can
be handy if you are stuck.

5.2 Sample Code:

from django.shortcuts import render from

django.template import RequestContext from

django.contrib import messages from django.http import

HttpResponse import os from django.core.files.storage

import FileSystemStorage import pymysql import

datetime import pyqrcode

35
import png from pyqrcode

import QRCode

global username

def test(request): if

request.method == 'GET':

return render(request, 'test.html', {})

def AdminLoginAction(request):

global username if

request.method == 'POST':

username = request.POST.get('t1', False) password =

request.POST.get('t2', False) if username == 'admin'

and password == 'admin': context=

{'data':'welcome '+username} return

render(request, 'AdminScreen.html', context)

else

context= {'data':'login failed. Please retry'} return render(request, 'AdminLogin.html',


context) def AdminLogin(request): if request.method == 'GET':

return render(request, 'AdminLogin.html', {})

def UserLogin(request):

if request.method == 'GET':

return render(request, 'UserLogin.html', {})

36
def index(request): if

request.method == 'GET'

return render(request,

'index.html', {})

def AddEmp(request): if

request.method == 'GET':

return render(request, 'AddEmp.html', {})

def ViewEmpAttendanceAction(request):

if request.method == 'POST':

empid = request.POST.get('t1', False) from_date

= request.POST.get('t2', False) to_date =

request.POST.get('t3', False) from_dd =

str(datetime.datetime.strptime(from_date, "%d-

%b-%Y").strftime("'%Y-%m-

%d'")) to_dd = str(datetime.datetime.strptime(to_date, "%d-%b-%Y").strftime("'%Y-

%m-%d'")) presence_days = 0

salary = 0 columns = ['Employee ID', 'Presence

Date'] output = '<table border=1 align=center

37
width=100%>' font = '<font size="" color="black">'

output += "<tr>" for i in range(len(columns)):

output += "<th>"+font+columns[i]+"</th>" output += "</tr>"

con = pymysql.connect(host='127.0.0.1',port = 3306,user = 'root', password = 'root', database

= 'qrattendance',charset='utf8') with con:

cur = con.cursor()

cur.execute("select salary FROM addemp where emp_id='"+empid+"'")

rows = cur.fetchall()

for row in rows:

salary = row[0]

break

con = pymysql.connect(host='127.0.0.1',port = 3306,user = 'root', password = 'root', database


= 'qrattendance',charset='utf8')
with con:

cur = con.cursor()

cur.execute("select * from attendance where emp_id='"+empid+"' and presence_days between


"+from_dd+" and "+to_dd)

rows = cur.fetchall() for

row in rows:

presence_days = presence_days + 1

38
output += "<tr>" output +=

"<td>"+font+str(row[0])+"</td>" output +=

"<td>"+font+str(row[1])+"</td></tr>"

output += "<tr><td>"+font+"Number of Presence Days :


"+str(presence_days)+"</font><td>"+font+"Total Salary = "+str(((salary/30) *

presence_days))+"</td></tr>" context= {'data': output} return render(request,

'AdminScreen.html', context)

def ViewEmpAttendance(request):

if request.method == 'GET':

font = '<font size="" color="black">'

output = '<tr><td>'+font+'Choose&nbsp;Employee&nbsp;ID</td><td><select name="t1">'

con = pymysql.connect(host='127.0.0.1',port = 3306,user = 'root', password = 'root', database =


'qrattendance',charset='utf8')
with con:

cur = con.cursor()

cur.execute("select emp_id FROM addemp")

rows = cur.fetchall() for

row in rows:

output += '<option value="'+row[0]+'">'+row[0]+'</option>'

output += "</select></td></tr>" context= {'data1': output}

return render(request, 'ViewEmpAttendance.html', context)

39
def ViewAttendance(request):

if request.method == 'GE return

render(request,

'ViewAttendance.html', {})

def ViewAttendanceAction(request):

if request.method == 'POST':

global username empid = username

from_date = request.POST.get('t1', False)

to_date = request.POST.get('t2', False)

from_dd = str(datetime.datetime.strptime(from_date, "%d-%b-%Y").strftime("'%Y-%m-


%d'"))
to_dd = str(datetime.datetime.strptime(to_date, "%d-%b-%Y").strftime("'%Y-%m-%d'"))

presence_days = 0 salary = 0 columns = ['Employee ID', 'Presence Date'] output =

'<table border=1 align=center width=100%>' font = '<font size="" color="black">'

output += "<tr>" for i in range(len(columns)):

output += "<th>"+font+columns[i]+"</th>" output

+= "</tr>"

con = pymysql.connect(host='127.0.0.1',port = 3306,user = 'root', password = 'root', database =

'qrattendance',charset='utf8') with co cur = con.cursor()

cur.execute("select salary FROM addemp where emp_id='"+empid+"'")

40
rows = cur.fetchall()

for row in rows:

salary = row[0]

break

con = pymysql.connect(host='127.0.0.1',port = 3306,user = 'root', password = 'root', database

= 'qrattendance',charset='utf8') with con:

cur = con.cursor()

cur.execute("select * from attendance where emp_id='"+empid+"' and presence_days between


"+from_dd+" and "+to_dd rows = cur.fetchall() for row in rows:

presence_days = presence_days + 1

output += "<tr>" output +=

"<td>"+font+str(row[0])+"</td>" output +=

"<td>"+font+str(row[1])+"</td></tr>"

output += "<tr><td>"+font+"Number of Presence Days :


"+str(presence_days)+"</font><td>"+font+"Total Salary = "+str(((salary/30) *
presence_days))+"</td></tr>" context=

{'data': output} return render(request,

'UserScreen.html', context) def ViewEmp(request):

if request.method == 'GET': columns = ['Employee

ID', 'Employee Name', 'Contact No', 'Email ID',

'Gender', 'Address',

41
'Designation', 'Salary'] output = '<table border=1

align=center width=100%>' font = '<font size=""

color="black">' output += "<tr>" for i in

range(len(columns)):

output += "<th>"+font+columns[i]+"</th>" output += "</tr>"

con = pymysql.connect(host='127.0.0.1',port = 3306,user = 'root', password = 'root', database

= 'qrattendance',charset='utf8') with con: cur = con.cursor()

cur.execute("select * FROM addemp")

rows = cur.fetchall() for row in rows:

output += "<tr>" output +=

"<td>"+font+str(row[0])+"</td>" output +=

"<td>"+font+str(row[1])+"</td>" output +=

"<td>"+font+str(row[2])+"</td>" output +=

"<td>"+font+str(row[3])+"</td>" output +=

"<td>"+font+str(row[4])+"</td>" output +=

"<td>"+font+str(row[5])+"</td>" output +=

"<td>"+font+str(row[6])+"</td>" output +=

"<td>"+font+str(row[7])+"</td></tr>" context=

{'data': output} return render(request,

'AdminScreen.html', context)

42
def UserLoginAction(request):
global username if

request.method == 'POST':

username =

request.POST.get('t1', False)

index = 0

emp_name = None

con = pymysql.connect(host='127.0.0.1',port = 3306,user = 'root', password = 'root', database

= 'qrattendance',charset='utf8') with con:

cur = con.cursor()

cur.execute("select emp_id, emp_name FROM addemp")

rows = cur.fetchall() for

row in rows: if row[0]

== username:

emp_name = row[ index = 1

break if index == 1:

context= {'data':'welcome '+emp_name} return

render(request, 'UserScreen.html', contex else:

context= {'data':'login failed. Please retry'} return

render(request, 'UserLogin.html', context) def

43
DownloadAction(request): if request.method ==

'POST': global username

print("===="+username) infile =

open("AttendanceApp/static/qrcodes/"+username+".png

", 'rb')data = infile.read() infile.close response =

HttpResponse(content_type='image/png')

response['Content-Disposition'] = 'attachment;

filename=%s' % username+".png" return response

def AddEmpAction(request): if request.method == 'POST':

global username empid =

request.POST.get('t1', False) empname =

request.POST.get('t2', False) contact =

request.POST.get('t3', False) gender =

request.POST.get('t4', False) email =

request.POST.get('t5', False) address =

request.POST.get('t6', False)

designation = request.POST.get('t7', False)

salary = request.POST.get('t8', False)

output = "none"

44
con = pymysql.connect(host='127.0.0.1',port = 3306,user = 'root', password = 'root', database

= 'qrattendance',charset='utf8') with con:

cur = con.cursor()

cur.execute("select emp_id FROM addem

rows = cur.fetchall() for row in rows: if row[0] == empid:

output = empid+" employee already exists"

break if output == 'none': db_connection = pymysql.connect(host='127.0.0.1',port =

3306,user = 'root', password = 'root', database = 'qrattendance',charset='utf8') db_cursor =

db_connection.cursor() student_sql_query = "INSERT INTO

addemp(emp_id,emp_name,contact_no,gender,email,address,designation,salary)
VALUES('"+empid+"','"+empname+"','"+contact+"','"+gender+"','"+email+"','"+address+"','"
+designation+"','"+salary+"')"

db_cursor.execute(student_sql_query)

db_connection.commit() url = pyqrcode.create(empid)

url.png('AttendanceApp/static/qrcodes/'+empid+'.png',

scale = 6) username = empid

print(db_cursor.rowcount, "Record Inserted") if

db_cursor.rowcount == 1:

output = 'New Employee Details added with Employee ID : '+empid

context= {'data':output} return render(request, 'Download.html', context)

45
6. TESTING:
Implementation and Testing:

Implementation is one of the most important tasks in project is the phase in which one has to
be cautions because all the efforts undertaken during the project will be very interactive.
Implementation is the most crucial stage in achieving successful system and giving the users
confidence that the new system is workable and effective. Each program is tested individually
at the time of development using the sample data and has verified that these programs link
together in the way specified in the program specification. The computer system and its
environment are tested to the satisfaction of the user.
The implementation phase is less creative than system design. It is primarily concerned with
user training, and file conversion. The system may be requiring extensive user training. The
initial parameters of the system should be modifies as a result of a programming. A simple
operating procedure is provided so that the user can understand the different functions clearly
and quickly. The different reports can be obtained either on the inkjet or dot matrix printer,
which is available at the disposal of the user. The proposed system is very easy to implement.
In general implementation is used to mean the process of converting a new or revised system
design into an operational one.

Testing

Testing is the process where the test data is prepared and is used for testing the modules
individually and later the validation given for the fields. Then the system testing takes place
which makes sure that all components of the system property functions as a unit. The test data
should be chosen such that it passed through all possible condition. Actually testing is the state
of implementation which aimed at ensuring that the system works accurately and efficiently
before the actual operation commence. The following is the description of the testing strategies,
which were carried out during the testing period.

System Testing

Testing has become an integral part of any system or project especially in the field of
information technology. The importance of testing is a method of justifying, if one is ready to
move further, be it to be check if one is capable to with stand the rigors of a particular situation
cannot be underplayed and that is why testing before development is so critical. When the
46
software is developed before it is given to user to use the software must be tested whether it is
solving the purpose for which it is developed. This testing involves various types through
which one can ensure the software is reliable. The program was tested logically and pattern of
execution of the program for a set of data are repeated. Thus the code was exhaustively checked
for all possible correct data and the outcomes were also checked.

Module Testing

To locate errors, each module is tested individually. This enables us to detect error and correct
it without affecting any other modules. Whenever the program is not satisfying the required
function, it must be corrected to get the required result. Thus all the modules are individually
tested from bottom up starting with the smallest and lowest modules and proceeding to the next
level. Each module in the system is tested separately. For example the job classification module
is tested separately. This module is tested with different job and its approximate execution time
and the result of the test is compared with the results that are prepared manually. The
comparison shows that the results proposed system works efficiently than the existing system.
Each module in the system is tested separately. In this system the resource classification and
job scheduling modules are tested separately and their corresponding results are obtained which
reduces the process waiting time.

Integration Testing

After the module testing, the integration testing is applied. When linking the modules there
may be chance for errors to occur, these errors are corrected by using this testing. In this system
all modules are connected and tested. The testing results are very correct. Thus the mapping of
jobs with resources is done correctly by the system.

Acceptance Testing

When that user fined no major problems with its accuracy, the system passers through a final
acceptance test. This test confirms that the system needs the original goals, objectives and
requirements established during analysis without actual execution which elimination wastage
of time and money acceptance tests on the shoulders of users and management, it is finally
acceptable and ready for the operation.
Test Case Name Test Case Test Steps Test

47
Test Desc. Step Expected Actual Test Priority
Case Case
Id
Status
01 Admin module Verify If Admin we cannot we can do High High
Admin do any further
modulemay
moduleor not operations
not upload further
operations

02 Employee Login Verify If Employee we cannot we can do High High


Login do any further
Module Employee
operations
Login Module further
not be operations
Module or
Done
not
03 QR CODE Verify QR If QR CODE we cannot we can do High High
further
WEBCAM CODE WEBCAM do any
operations
WEBCAM SCANNER further
SCANNER
operations
SCANNER may not be
or not done

7. SCREENSHOTS:

All details will be stored in MYSQL database and to run project install MYSQL database and
PYTHON 3.7 and then copy content from ‘DB.txt’ file and then paste in MYSQL console to
create database.

Now double click on ‘run.bat’ file to start python web server and get below screen

48
In above screen python web server started and now open browser and enter URL as
‘http://127.0.0.1:8000/index.html’ and press enter key to get below page

In above screen click on ‘Admin Login’ link to get below login screen

49
In above screen admin is login and after login will get below screen

In above screen admin can click on ‘Add New Employee Details’ link to get below screen to
add employee details

50
In above screen admin is adding NEW Employee Details and then press button to get below
screen

In above screen employee details added and now click on ‘Click Here to Download QR Code
Image’ button to download QR image and get below output

51
In above screen in browser status bar we can see QR image is downloaded and admin will give
this image to employee and he can saved this image in mobile and then can show this image
from his mobile to WEBCAM to mark his attendance and now open that image and view QR
CODE like below screen

In above screen we can see QR code and now in application click on ‘View Employee Details’
link to get below details

52
In above screen admin can view all employee details and now to mark attendance double click
on ‘RunWebCam.bat’ file to get below screen

In above screen click on ‘Start Webcam’ button to start web cam and get below screen

53
In above screen webcam started and now employee has to show QRCODE from his mobile like
below screen and once QR code detected then system will mark attendance

In above screen to webcam I am showing QRCODE and once detected then will get below
screen

54
In above screen we got dialog box saying ‘attendance saved in database’ and each employee
each day only one time webcam will scan his QRCODE and if he want again then delete all
rows from database. Now go to previous application and then click on ‘View Attendance’ link
like in below screen

In above view attendance screen admin can view all employee names in drop down box and he
can select desired employee name and then choose start and end date like below screen

55
In above screen admin selected employee id and then select start and end date and then press
‘get Attendance’ button to get below screen

In above screen in first column we can see employee ID and in second column we can see date
on which he was present and in last column we can see his payable salary by calculating all
present days. Now logout and login as employee

56
In above screen employee can login by using his ID and then press button to get below screen

In above screen employee can click on ‘View Your Attendance’ link to get below screen

57
In above screen employee can select start and end date and then press button to view his
attendance for selected days

In above screen employee can view all present days date and current payable salary.

Similarly you can add any number of employees and go for attendance and view it

58
8. CONCLUSION:

These days it is required to keep up with the latest technologies, especially in the field of
education. Educational institutions have been looking for ways to enhance the educational
process using the latest technologies. Seeing as everything moves towards digitalization, we
think that this system is pretty much necessary for the University. In this paper, we have
described a proposed system that incorporates QR codes and devices connected to internet in
taking student attendance. This study shows that the QR code, a multi-faceted and popular
feature of smart devices, can be used as an efficient method of recording attendance, replacing
the old, traditional way of calling name lists in class. This system was developed after
reviewing and analyzing the existing manual system and an analysis of the systems used by
other Universities. This affordable QR code-based attendance system enables lecturers to speed
up the process of recording attendance, especially in a large classroom and would save them
valuable teaching time. The proposed system provides better security than the traditional
methods, including eliminating chances of students signing up for others who may not be
present. Even though similar platforms are already developed, we believe that the proposed
platform will be more attractive for several reasons: It has a great advantage, among all types
of code scanning technology; the QR Code attendance system is the most accurate and efficient
method of maintaining attendance in a database and controlling it from any intelligent device
rather than wasting paper. The acceptance of QR code by students and educators is critical to
the successful implementation of this technology. Therefore, it is important to understand the
factors that affect student and lecturer intentions to use the QR code for this purpose.

9. REFERENCES:

[1]. Punch Card, available at: https://www.computerhope.com/jargon/p/punccard.htm, last


accessed: 03 Jan 2020

[2]. Punch card attendance system, available at: http://www.bioenabletech.com/punch-


cardattendance-system.html, last accessed: 03 Jan 2020

[3]. M. A. Abas, T. B. Tuck, and M. Dahlui, “Attendance Management System (AMS) with fast
track analysis,” in 2014, International Conference on Computer, Control, Informatics and Its
Applications (IC3INA), 2014, pp. 35–40.

59
[4]. T. J. Zhi, Z. Ibrahim, and H. Aris, “Effective and efficient attendance tracking system using
secret code,” in Proceedings of the 6th International Conference on Information Technology
and Multimedia, 2014, pp. 108– 112.

[5]. S. K. Jain, U. Joshi, and B. K. Sharma, “Attendance Management System,” Masters


Project Report, Rajasthan Technical University, Kota.

[6]. A. Manori, N. Devnath, N. Pasi, and V. Kumar, “QR Code Based Smart Attendance
System”, Int. J. Smart Bus. Technol., vol. 5, no. 1, pp. 1–10, Jul. 2017.

[7]. FadiMasalha and NaelHirzallah, “A Students Attendance System Using QR Code”,


International Journal of Advanced Computer Science and Applications vol. 5, no.3, pp. 75-79,
Jan. 2014.

[8]. What is a QR Code?, available at: https://www.the-qrcode-generator.com/whats-a-


qrcode,last accessed: 07 Jan 2020

60
63 | P a g e

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy