Assurance Project Work
Assurance Project Work
ATTENDANCE SYSTEM
BY
IKOGWE ASSURANCE
PSC1808845
UNIVERSITY OF BENIN,
BENIN CITY,
JUNE 2023
FRONTEND IMPLEMENTATION OF AN ONLINE QR CODE-BASED
ATTENDANCE SYSTEM
BY
IKOGWE ASSURANCE
PSC1808845
JUNE 2023
CERTIFICATION
This is to certify that this project work was carried out by IKOGWE ASSURANCE with
Matriculation Number PSC1808845 under my supervision. It is adequate and satisfactory,
both in scope and content, for the award of Bachelor of Science (B.sc) Degree in Computer
Science of the University of Benin
i
APPROVAL
This project work is hereby approved in partial fulfilment of the requirements for the award
of Bachelor of Science (B.Sc.) Degree in Computer Science from the University of Benin.
ii
DEDICATION
This project is dedicated to God Almighty for giving me the strength and wisdom to see it
through to completion, and even throughout my stay in the University of Benin (UNIBEN). It
is also dedicated to my parents; Mr and Mrs Ikogwe and my brother Master Benedict Ikogwe;
for their love, support and guidance throughout my academic journey.
iii
ACKNOWLEDGEMENT
My utmost acknowledgement goes to God Almighty for giving me the strength, wisdom and
direction throughout my academic journey. I would like to express my gratitude to my project
supervisor who is also the Head of the Department Of Computer Science, Prof. (Mrs.) A.O.
Egwali for her consistent guidance towards ensuring the successful completion of this
project.
I would also like to specially thank my project coordinator Dr. (Mrs.) A.R. Usiobaifo, and
other lecturers in the Department of Computer Science who I have been opportune to cross
paths with, and have impacted me immensely these past few years: Prof. G.O. Ekuobase, Dr.
F.O. Oliha, Prof. K.C. Ukaoha, Prof. A.A. Imiavan, Prof. (Mrs.) F. Egbokhare, Prof. (Mrs.)
V.V.N. Akwukwuma, Prof. F.I. Amadin, Prof. (Mrs.) S. Konyeha, Prof. (Mrs.) V.I. Osubor,
Dr. (Mrs.) Aziken, Dr. F.O. Chete, Dr. (Mrs) R.O. Osaseri, Dr. J.C. Obi, Mr. P. E.B. Imiefoh,
Mr. I.E. Obasohan, Mr. S.O.P. Oliomogbe, Mr. K.O. Otokiti, Mr. I.E. obayagbonna, Mrs. R.I.
Izevbizua, Mr. E.C. Igodan, Miss L.O.Usiosefe, Mr J. Okhuoya, Prof. F.A.U. Imouokhome,
Mrs. J.I. Adun, Dr. E. Nweli and Mr. D.N. Idehen.
Finally, I also want to appreciate those who contributed to the success of this project: Abada
Emmanuel Obaro, Felix Frank-Felix Ikechukwu, Omoruyi Esther Iyobosa, Onyibe
Chukuwuazonim Justina, Oriakhi Cletus, and Osariemen Dainel Osazee. I would also like to
thank my family and friends for their support, words of encouragement, and consistent
guidance throughout this project.
iv
TABLE OF CONTENTS
CERTIFICATION....................................................................................................................i
APPROVAL.............................................................................................................................ii
DEDICATION........................................................................................................................iii
ACKNOWLEDGEMENT......................................................................................................iv
TABLE OF CONTENTS.........................................................................................................v
LIST OF FIGURES...............................................................................................................vii
LIST OF TABLES................................................................................................................viii
ABSTRACT.............................................................................................................................ix
CHAPTER ONE.......................................................................................................................1
INTRODUCTION....................................................................................................................1
1.0 Background Study.......................................................................................................1
1.1 Motivation...................................................................................................................3
1.2 Problem Definition......................................................................................................3
1.3 Goal and Objectives....................................................................................................4
1.4 Scope of Research.......................................................................................................4
1.5 Research Methodology................................................................................................4
1.6 Research Significance.................................................................................................4
CHAPTER TWO.....................................................................................................................6
LITERATURE REVIEW........................................................................................................6
2.1 Examination Attendance System: An Overview.........................................................6
2.2 Examination Attendance System in Nigeria Federal Universities..............................9
2.3 Traditional / Manual Attendance System..................................................................10
2.3.1 Roaster Method..................................................................................................11
2.3.2 Sign-Up Sheet....................................................................................................11
2.3.3 Seating Plans......................................................................................................11
2.4 Disadvantages of Traditional Attendance System.....................................................12
2.5 Automated Attendance System.................................................................................13
2.5.1 Biometric: Face Recognition Attendance System..............................................13
2.5.2 Radio Frequency Identification Technologies...................................................14
2.5.3 Biometric: Fingerprint Attendance System........................................................15
2.5.4 Bar Code Attendance System.............................................................................16
v
2.5.5 Qr Code Attendance System..............................................................................17
2.6 Benefits of Modern Attendance System....................................................................18
2.7 Qr Code Based Online Attendance System...............................................................20
2.8 Why Qr Code Based Online Attendance System......................................................23
2.9 Related Works...........................................................................................................24
CHAPTER THREE...............................................................................................................27
SYSTEM ANALYSIS AND DESIGN..................................................................................27
3.1 System Analysis........................................................................................................27
3.2 Analysis of Existing System......................................................................................27
3.3 Problem of Existing System......................................................................................29
3.4 Overview of Proposed System..................................................................................29
3.5 Proposed System Architecture and Interface............................................................30
3.6 System Design...........................................................................................................35
3.7 System Design Tools.................................................................................................35
3.8 System Design Tool: UML.......................................................................................36
3.9 UML – Use Case Diagram........................................................................................36
3.10 UML – State Machine Diagram................................................................................40
3.11 UML – Class Diagram...............................................................................................41
CHAPTER FOUR..................................................................................................................44
SYSTEM IMPLEMENTATION..........................................................................................44
4.1 Software Implementation Tools................................................................................44
4.2 User Documentation – System Testing.....................................................................45
4.3 Screenshots of the Running System..........................................................................47
4.4 System Usability Evaluation.....................................................................................52
CHAPTER FIVE....................................................................................................................56
SUMMARY AND CONCLUSION.......................................................................................56
5.1 Summary....................................................................................................................56
5.2 Conclusion.................................................................................................................57
REFERENCES.......................................................................................................................58
APPENDIX.............................................................................................................................61
vi
LIST OF FIGURES
LIST OF TABLES
vii
viii
ABSTRACT
Attendance tracking during examinations is one of the most important activities in any
institution, as it directly influences the integrity of the examination process. So far the manual
methods adopted like use of seating plans, examination pass, roaster call, etc. have proven to
be inadequate, extremely time consuming and labor intensive amongst other disadvantages.
This project emphasis on the need to adopt more automated methods of attendance tracking
during examinations, these methods includes biometric attendance systems, bar code
attendance systems, radio frequency identification attendance systems, etc. Taking into
consideration the constraints and the scope of the project which is the University Of Benin,
Department Of Computer Science, the method proposed by this project is an Online QR
code-based Attendance System.
However, this project focuses on only the front-end implementation of this automated
attendance system, where students can upload their course registration slips, download their
QR Code Slip and the attendance is recorded by scanning the QR code on this slip. This
project makes use of the Object oriented approach to system analysis and design; use case,
class and state machine diagrams were used to represent designs for the system architecture.
These designs served as the framework for the system, the system can handle the whole
process of attendance tracking, from student validation to providing an attendance record for
the various courses offered by the Department Of Computer Science.
ix
CHAPTER ONE
INTRODUCTION
There’s also the use sign-in sheet where students sign in their names and provide their
identification number and exam booklet number. Lastly, another traditional method is
the use of seating plans, students sits according to their assigned serial number, and
their attendance is verified by matching their presence with the seating plan.
However, with the advancement in technology and the explosion of the internet and the
World Wide Web, methods such as online attendance systems; which involves the
students logging into a designated platform with their credentials and taking their
attendance digitally has been developed. This method is ineffective, as a student not
slated for the examination can partake in the process, compromising the integrity of the
examination process.
1
Another method is the bar-coded or scannable examination cards, issued to the
students by the university and swapped upon entry into the examination halls. The
student’s attendance is then automatically recorded. This method also has
disadvantages; it requires a barcode scanner, which emits light and collects reflected
light to decode the barcode. It is labor intensive (must be scanned individually) and
susceptible to environmental damage. If scratched or crumpled, barcodes may cause
problems in scanning (RF, 2012).
QR codes are easier to read than barcodes, as you have to aim the barcode scanner in
line with the bar code; a QR code can be scanned even with a mobile phone, also when
you have many items to capture, you won’t have to align the mobile phone precisely
every time. QR codes work even when damaged; they have a high error correction
margin. So even if around 30% of the code is unreadable (erased, damaged, dirty), the
code still works (Rentman, 2011).
This system is built specifically for the University of Benin, Department of Computer
Science, beforehand; the department makes use of examination pass to ensure that
students present have registered for their courses, as they submit their course
registration slips to obtain their examination pass and the sign in sheets to account for
the student’s booklet number for cases of missing scripts.
2
This project is concerned with creating an alternative to the examination pass; as it is
immensely stressful for the students, they have to queue up at the department before
getting their exam pass. It also stands the risk of falsehood, during the just concluded
examination, a student (Frank-Felix, 2023) testified concerning how another student
made a fake copy of the examination pass. The proposed system as stated above, is an
online QR code-based attendance system with two sides, the user side where the
students sign in to the online platform with their emails and matriculation number,
upload their course registration slip, from there we get to know the examinations the
student is slated for. The student is then given a pdf file containing the unique QR code
as well as his/her details, this QR code is then scanned, to take the student’s attendance
for that examination. At the end of the day, the lecturer can login in at the administrator
side of the platform to get the examination attendance for each course.
1.1 Motivation
Examinations are an integral part of any institution, an attendance system must be in
place to checkmate malpractice and ensure the overall integrity of the entire process. In
federal universities, where lecturers have to deal with a large population of students,
manual means of taking attendance will not stand the test of time. It therefore means
that there is a need to leverage on existing technologies so as to provide a stress-free,
fast, less labor-intensive method of accounting for the student’s attendance in
examinations.
3
examination is still not catered for; as students can present fake ID’s which the said
invigilator may fail to identify. With the advancement of technology, the methods
invented are either time consuming, requires a lot of resources to implement or labor
intensive. There is a need for a system that will not break the pockets of the university,
less labor intensive and takes advantage of technology.
4
1. It would help the department ensure that every student registers their course,
thereby curbing the issues arising from late/no registration of courses by
students.
2. It would help the department account for the examination attendance of
students for every semester with ease; even providing a permanent record of
examination attendance that will not consume any physical space, as against
the use of papers.
3.
5
CHAPTER TWO
LITERATURE REVIEW
The concept of examination was invented in the late 19th century by an American
Businessman and a philanthropist named Henry Fischel; China was the first country to
implement this concept nationwide and conducted the first-ever examination known as
the Imperial Examination (Aishwarya, 2023). The imperial examination was introduced
by the Sui Dynasty in 605 Ad to recruit candidates for specific government posts, the
system was considered to select people based on merit rather than birth (Aishwarya,
2023).
This concept has grown beyond China and its now adopted in most, if not all parts of
the world as a system for grading of not just candidates of a particular government post,
but also in job recruitment by companies and majorly in academics for grading students’
performance in all aspects, that is in sports, in academics, etc.
Examinations usually require the physical presence of the students, however due to the
COVID19 pandemic, a number of activities previously undertaken on campus are
becoming online activities; this includes exams, so we now have physical and online
exams (Frederiks, 2021). Regardless of whether it’s a physical or online exam, there are
majorly three (3) types of examinations namely:
6
or a formula sheet. You may also be required to hand in your notes or formula
sheet with your exam paper. (Frederiks, 2021)
3. Open Examination: These exams allow you to have access to any printed or
written material and a calculator (if required) during the exam. If you are
completing your exam online, you may also be able to access online resources.
The emphasis in open book exams is on conceptual understanding and
application of knowledge rather than just the ability to recall facts. (Frederiks,
2021)
With the concept of examination introduced, there arises the need for an appropriate
attendance system for the following reasons:
Examination attendance system spans from using the pen and paper approach to taking
leverage of technology using automated systems. So, therefore there are two main types
of attendance systems namely:
Regardless of the type of attendance system used, an attendance system must consist of
two components namely:
7
2.2 Examination Attendance System in Nigeria Federal Universities
In Nigeria, most federal universities make use of the examination sign-up sheet in
conjunction with the student’s identification card (ID card) as their examination
attendance system. In the University Of Benin, the focus of this research paper; all her
faculties and departments alike adopts this attendance system for their examination
process.
This research paper focuses on the Department of Computer Science; where students are
required to register their courses online, pay their respective dues and then collect their
examination pass from the department. A picture of the examination pass is shown
below
On the slated day for an examination, the examination pass serves as a means of
authenticating the student, as you can see in Figure 1 above, it contains the students
name, matriculation number, passport photograph and the list of courses the student
registered. A sign-up sheet is also used as to take the attendnace of the student, that is to
verify that a student was present in the exam hall for his/her exam.
This sign-up sheet contains the following fields: serial number, name, matriculation
number, faculty code (e.g PSC for Physical Science), department code (e.g CSC for
Computer Science), the examination booklet number and the student’s signature; a
structure is seen below
8
Figure 2 - Examination Sign-up Sheet.
With the population of students’ federal universities, such as the University Of Benin
have to cater for; you guess right! This traditional method is very ineffective and
incredibly time wasting, as well as labor intensive. Before going forward, it is necessary
to reiterate that this research paper focuses on the University Of Benin, Department of
Computer Science, analysing her examination system and providing an alternative
solution to the current system.
Manual examination attendance systems can vary between universities and even across
different departments within the same university, but some of the known methods are:
i. Roaster Method
ii. Sign-in Sheet
iii. Seating Plans
Each of these methods is briefly discussed in subsequent sub sections below. In manual
examination attendance system, student ID card is usually used for the authentication
process. Student ID checks entail confirming the identities of students by contrasting
9
their physical characteristics with the identification cards supplied by their universities.
Prior to entering the exam room or during the exam session, invigilators may ask
students to submit their ID cards for visual inspection.
This technique aids in preventing unauthorized people from utilizing false identities or
taking the exam on behalf of others. Student ID checks offer a manual method to verify
the legitimacy of students and guarantee that only those who have enrolled for the exam
take part.
A printed list or roster containing the picture and other details of the student who have
enrolled for a specific exam is used for roaster checks. Exam overseers or invigilators
call out student names to confirm attendance or ask them to sign next to their names on
the roaster.
Invigilators can manually record student attendance using this technique. It makes it
easier to account for and accurately grade pupils who show up for the test. Checks for
roasters might be made at the entry to the exam room or when the test takers receive and
turn in their answer papers.
Students personally offer their signatures or write their names on physical sheets or
forms on which sign-up papers are used to record their attendance during exams. These
sheets are often passed out to students before to or during the exam, and invigilators or
exam supervisors collect them. Sign-up sheets act as a manual record of attendance,
enabling vigilance personnel to confirm each student's attendance. Students affirm their
participation in the exam and recognize their attendance by signing or writing their
names.
Here, individual students are given specific seats or positions within the exam room
according to seating plans. Typically, these strategies are developed beforehand and
shared with the students in advance of the test. Invigilators check for attendance during
10
the exam by comparing occupied seats to the designated seating arrangement. Seating
arrangements help with attendance tracking, order maintenance, and cheating
prevention, among other things.
Invigilators can quickly detect absentees or unauthorized individuals during the exam
by assigning each student to a specific seat. A disciplined and regulated method of
managing attendance during exams is provided by seating plans. They provide accurate
attendance tracking, make it easier to identify pupils who are present, and contribute to
the integrity and fairness of the testing environment.
Although manual attendance systems have been in use for a while, they have a number
of shortcomings. In order to address these drawbacks and enhance attendance
monitoring procedures, many institutions are switching to digital solutions, such as the
online QR code-based attendance systems. These disadvantages include:
1. Incredibly Time-Consuming:
Particularly in large educational institutions, manual attendance methods can be
quite time-consuming. During each examination, manually recording attendance can
take up a significant amount of time, including calling out names, checking IDs, and
distributing sign-up sheets.
11
4. Paper-Driven and Prone to Misplacement or Tampering:
Physical paper-based records, like sign-up sheets or attendance registers, are the
foundation of many manual attendance systems. The system is subject to problems
like misplacing, losing, or purposeful tampering because of this reliance on paper.
Paper-based solutions run a higher risk of losing attendance data as a result of
handling errors or mishaps.
An automatic attendance system is an educational ERP system that records the students’
attendance in an institution, unlike the traditional attendance system; the automatic
attendance software enables the faculty to record, store, and monitor students’
attendance history (Ahmed, 2021).
There are several ways in which attendance can be automated; they include (Ahmed,
2021) :
Due to the recent development of machine learning and neural networks, face
recognition applications still help greatly, accurately and efficiently. The attendance
monitoring system is a very important process in all institutions, several facial
12
recognition attendance systems has been developed, each with its strengths and
weaknesses, and used in different fields. This type of automated attendance system
generally consists of steps such as image acquisition, database development, pre-
processing, and face detection (Khaled, 2022).
13
receive signals back from the tag. It is used to read or write information on a tag and
passing that information to a system for storage and processing (Rajan, 2012).
14
Figure 5 – Biometric Fingerprint Attendance System (Vitasek, 2021)
A barcode is a set of parallel lines and spaces with various widths that serves as a visual
representation of data. It is used to store and transmit data in a machine-readable format
about a good, thing, or object. Barcodes are frequently seen on retail items, books from
the library, shipping labels, and a variety of other objects.
A barcode's primary function is to encode data in a way that makes it simple for readers
or scanners to scan and decode it. These readers employ laser beams to recognize the
barcode's contrasting patterns of black bars and bright gaps. Depending on the type of
barcode symbology utilized, the information contained in the barcode can be expressed
as numbers, letters, or a combination of both.
Each student receives a special bar code that serves as a representation of their
identification in the bar code attendance system. Students provide their bar code on a
printed ID card or a mobile device during exams so that it can be read by a bar code
reader. The student's attendance is noted in a digital database when the scanner reads the
code. Figure 6 below shows the image of a bar code
15
Figure 6 - Bar Code Attendance System
QR or Quick Response Codes are matrix barcodes that can be easily read by
smartphones and dedicated QR reading devices. QR code was designed by Denso-Wave
for the automotive industry in Japan, 1994. The inventor has made open source and free
for human being, QR codes also store data in both directions and can be scanned
vertically or horizontally (Rehman, 2018).
Although it has more features like in terms of storage a barcode can represent up to 25
characters, a QR code can go up to 2500 (Rentman, 2011) and the fact that barcode
scanning requires special device called Barcode scanner which emits light and collects
reflected light to decode the Barcode (RF, 2012); the QR code attendance system
functions similarly to the bar code system. Smartphones or special QR code scanners
can read QR codes, which are more information-dense than regular bar codes. Figure 7
below shows the image of a QR code
16
Figure 7 - QR Code Attendance System
1. Less Time-Consuming:
The amount of time needed to take attendance is greatly decreased by automated
solutions. Students can rapidly check in or out using techniques like scanning QR
codes, swiping ID cards, or biometric recognition thanks to automated systems. By
streamlining the process, both students and teachers can benefit from time savings
that free up more time for practical teaching and learning activities.
2. Not Labor-Intensive:
Automated attendance solutions don't require staff members to manually record
attendance. Once configured, the system runs without the requirement for on-going
management or assistance from numerous staff members. This lessens the workload
on administrative staff and frees them up to concentrate on other crucial tasks.
17
4. Data Integrity and Tamper-Proof:
Data generated automatically by electronic methods in automated attendance
systems is less vulnerable to manipulation or tampering. Since digital records are
often saved safely in databases, it is challenging for unauthorized parties to change
attendance information. Thus, the reliability and correctness of attendance records
are guaranteed.
Smartphone usage has revolutionized the world to many settings including that of the
education system with numerous potential and realized benefits. While the functions of
smartphones, such as text messaging, multimedia, and Internet connectivity, may seem
purely recreational, they can be used within the academic institution to manage
student’s attendance to speed up the process of taking attendance by academic
18
instructors, hence reduces time, human errors and redundant works as compared to the
manual attendance system (Rehman, 2018).
Figure 8 shows the statistics of smart phone users from 2017-2022, you’ll notice that the
number as grown exponentially over the years, almost every house hold, if not all have
access to a smart phone.
The Qr-code based online attendance system leverages on this smart phone technology
as a tool for recording the participation of students in an examination by storing the
student’s data on a QR code which is then scanned to account for that student’s
attendance.
Attendance systems using bar codes and QR codes provide effective, automated
attendance tracking during exams. The bar code system is easy to use and reasonably
priced, but the QR code system offers other advantages including greater data capacity,
smartphone compatibility, and contactless operation.
19
University of Benin, Department of Computer Science, her operations, financial
constraints, etc. into consideration QR code presents itself as the only logical way to go
in terms of attendance tracking.
20
needs or specialized technology, it is an affordable option for educational
institutions with tight budgets. Additionally, creating and dispersing QR codes is a
simple procedure that needs little staff or student training.
5. Cross-Platform Compatibility:
QR codes can be included into a variety of digital platforms, including online
portals, mobile apps, learning management systems (LMS), and mobile applications.
By ensuring smooth connection with current educational tools, this compatibility
promotes a strong digital ecosystem. In contrast, barcode or RFID systems can
experience compatibility issues, which would restrict their adaptability and
integration options.
As the most popular option for automatic attendance management, the online QR code-
based attendance system stands out for its accessibility to all users, non-intrusive
operation, affordability, and real-time data collection capabilities. QR codes have
unparalleled versatility and ease of use when compared to facial recognition,
fingerprint, barcode, and RFID systems, making them perfect for various educational
contexts. Adopting online QR code-based attendance solutions is a crucial step towards
streamlined attendance management and a digitally empowered learning environment as
educational institutions aim for better efficiency and effectiveness.
21
Talib (2018) research paper discusses the use of a QR code-based attendance system
during exams; the technology generates QR codes for each student and each exam,
which are scanned by a mobile application. With a focus on QR code-based solutions,
Abdalkarim (2022) paper reviews the research on smart attendance systems.
Sujyot (2023) paper proposes an attendance system that uses QR codes to identify
students, teachers, and other staff members, making it a fast and efficient way to keep
track of attendance. In the study by Ebenezer (2021), the attendance system makes use
of QR code for attendance taking developed for Ajayi Crowther University.
22
a focus on QR based in general, highlighting the
solution. advantages of QR code
system over the rest.
Abdullahi, Muhammad 2018 To design and develop an Design: UML
Bashir, Nura, Zahra’u examination eligibility Front-end: JavaScript,
Musa, Jiya, Lawal Musa verification system CSS, HTML5
(EEV) using QR code. Back-end: PHP and
MySQL
Sujyot Raut, Prajwal Bhure, 2023 To develop a system that The system consists of two
Parag Bariye, Ashish uses QR codes to identify main components:
Nandeshwar, Prof. Jayant students, teachers, and Back-end: managing the
Adhikari other staff members, database of users, classes,
making it a fast and and attendance records.
efficient way to keep Front-end: user interface
track of attendance that allows teachers and
students to interact with
the system
Ebenezer Oyebode, Taiwo 2021 To develop an attendance Methodology: SDLC
Oyedepo system that uses QR code SDLC model: V-model
for Ajayi Crowther Implementation language:
University PHP
23
CHAPTER THREE
This chapter provides a model of the development process while offering an overview
of the system design and system analysis.
System analysis is a crucial stage in the life cycle of software development that entails a
thorough analysis of an existing system or the specifications for a new system. In order
to create efficient solutions, a system's features, components, processes, and interactions
must be understood, documented, and defined.
There are several methods of system analysis and design, the two major methods
include:
The Object-Oriented Analysis and Design (OOAD) Method (OOAD) was used for this
project because the main goal of OOAD is to provide an effective and well-organized
software solution that solves practical issues. Understanding the issue domain, creating
modular, reusable components, and making sure the resultant system is scalable,
maintainable, and adaptive to changing requirements are all key components of the
OOAD methodology.
As stated in chapter two, the existing system is a traditional attendance system which
includes the use of an examination pass shown in Figure 2.1 above; this pass serves as a
means of authentication. It is prepared from the student’s course registration slip; it
contains the student’s passport photograph, name, matriculation number, and the
registered courses.
For the actual attendance tracking a signup sheet is used, the students enter their serial
numbers, names, matriculation number, faculty and department codes, booklet number
24
and signature. This is used to record the attendance for each course, any student whose
details do not appear on the sheet is assumed to be absent for that examination.
A lot of time and resources is spent preparing and printing this examination card for
each student, considering the huge population the department has to cater for. There is
also the risk of forgery of this examination pass, which will tamper with the integrity of
the entire examination process as a result of impersonation.
The signup sheet is a paper driven approach, it can be tampered with as a student can
write for another student who wasn’t present for the examination, there’s also the issue
of misplaced signup sheet, with this there will be no attendance record for that
examination process. With all these put into consideration, tilting to more modern
approaches of examination attendance tracking is the best way to go.
As stated in chapter two, the following are the problems of the traditional attendance
system adopted by universities:
1. Due to activities like name calling, ID checks, and sign-up sheet distribution,
manual attendance methods, particularly in larger institutions, take up a
significant amount of time during sessions or events.
2. Relying on physical paper records, like sign-up sheets, makes manual systems
susceptible to issues such as loss, misplacement, or intentional tampering,
risking data integrity.
3. Manual systems demand resources for document printing, and administrative
efforts to manage attendance data, leading to higher costs compared to
automated solutions.
4. Manual data entry is prone to human errors like typos or omissions when
transferring attendance information to spreadsheet, rosters, or databases,
potentially affecting record accuracy.
25
3.4 Overview of Proposed System
1. It will enable students to upload their course registration slip in pdf format only.
2. It will provide a QR code slip for the students that contain their details and
unique QR code obtained from their uploaded course registration slip.
3. It will enable admins to view and download student’s data which consists of the
student’s name, matriculation number, the number of courses registered, and the
data registered.
4. It will enable admins to view the exam attendance summary which consist of the
courses code, courses title, number of student’s registered and present for each
course
5. It will provide admins with a QR code scanner for taking the attendance of each
student for a particular course.
6. The system will enable the admin to view and download the attendance record
of each course.
7. The system will make provision for only one admin i.e. the super admin who
will be able to add and remove other admins
26
Student’s details is
Student’s course generated
registration slip is stored
Student downloads
Student’s Attendance slip from profile
is recorded and stored
As stated earlier, Figure 3.1 above shows the system architecture that is the different
components that makes up the system, Figure 3.2 below shows the system interface
which shows how these different components interact with each other. It starts with a
login as an admin (lecturer) or a user (student). From the student side, the students can
either view their profile or download their QR code slip just after uploading their course
registration slips.
At the admin end, the lecturer can take attendance or download the attendance data for a
particular course, but first has to select the course at the Exam Attendance Page or
Courses Page respectively, then he/she can scan the students QR code or download the
attendance record.
27
Admin Select
(Lecturer) user Student
Login Login
Upload course
registration slip
Take Download Course
Attendance Attendance
28
3.6 System Design
The process of defining the architecture, interfaces, and data for a system that complies
with particular requirements is known as system design. It is a multidisciplinary field
that entails trade-off analysis, weighing competing requirements, and making choices
regarding design decisions that will have an impact on the entire system. A methodical
approach to developing and engineering systems is necessary for system design.
The creation of precise plans, diagrams, and specifications for software systems is aided
by the use of system design tools. System architectures, components, interactions, and
other design elements can be represented visually with the help of these tools. Common
types of system design tools include:
2. Data Flow Diagram (DFD): A data flow diagram is a tool used to explain the
movement of data through a system and the operations or processing that it
carries out. It displays how data enters the system from external sources, how it
travels from one process to another, and how it is logically stored. Making a
context diagram is a good idea. Every symbol used in the context diagram is also
acceptable in the DFD.
29
4. Entity- Relation Diagram: This displays the entities and connections that the
data describes. It can refer to a group of people, places, things, occasions, or
even concepts. These relationships include:
A use case diagram is a dynamic or behaviour diagram in UML that models the
functionality of a system using actors and use cases. The actors are people or entities
operating under defined roles within the system. The use cases are a set of actions,
services, and functions that the system needs to perform. In this context, a "system" is
something being developed or operated, such as a website.
30
Actors These are the people who
Use case interact with the system. An
actor is a person, a group, or an
external system that interacts
with the application or system.
They must be external data
producers or consumers.
Use case A use case is a collection of
tasks, services, and operations
System name that the system must carry out.
It aids in capturing the system's
features and how users interact
with it without delving into the
system's implementation's
internals.
System The term "system" refers to the
complete software application
or software system in question.
It depicts the system being
analysed, created, or simulated,
which is the subject of the use
cases.
Relationship This represents the association
or connection between different
<<include>>
elements within the diagram.
There are three main types of
<<extend>>
relationships namely:
1. Association: It represents a
simple relationship between
two elements. It shows that one
element is associated with or
related to another element in
31
some way.
2. Include: This is used to
show that one use case includes
or incorporates the
functionality of another use
case. It represents a behaviour
that is common to multiple use
cases and is included as a step
within each of them
3. Extend: It indicates that one
use case can be enhanced by
another use case. It represents
alternative behaviour that may
be added under specific
conditions.
Student Profile
Sign Up
Upload Course
Registration
Student slip
Download slip
containing
unique QR code
32
Figure 3.11 Use case Diagram for Student Profile
Admin Dashboard
Sign Up Select
Student
<<include>>
New
View <<include>> Student
Students
Select
Course
<<include>>
View
Lecturer (admin) Attendance
<<include>>
Download
Attendance
list
Take
Attendance
<<include>> <<include>>
Scan QR
code
Select
Course
33
3.10 UML – State Machine Diagram
A state machine is any device that stores the status of an object at a given time and can
change status or cause other actions based on the input it receives. State diagrams
mainly depict states and transitions. States are represented with rectangles with rounded
corners that are labelled with the name of the state. It illustrates the states and transitions
of an object or system. In the context of the online QR code-based attendance system,
the state machine for a student's attendance status can be marked, not marked, scan QR
code etc.
34
composite state or state
machine, denoted by a
circle with an X through it.
Display Error
message
35
One of the more popular types in UML is the class diagram, popular among software
engineers to document software architecture, class diagrams are a type of structure
diagram because they describe what must be present in the system being modelled.
QRCODE
+image: jpg
USER (STUDENT)
+storeStudentDetails()
+name: string 36
+matriculation number: string
+email: string ADMIN (LECTURER)
Figure 3.14 Class Diagram for the Attendance System
CHAPTER FOUR
SYSTEM IMPLEMENTATION
This project focuses on only the front end implementation of an online QR based
attendance system; the following software tools were used:
37
was to create interactive user interfaces, handle user input, manipulate
data, and perform various actions on a web page without requiring a page
reload.
2. Implementation Framework: Frameworks are pre-built groups of code and
tools that serve as the basis for creating applications in software development.
By providing reusable elements, patterns, and conventions, they give an
organized approach to development. The frameworks used during this project
are:
a. ReactJs: This is a JavaScript front-end framework focused on building
dynamic and interactive user interfaces for web applications. It excelled
in creating component-based architectures, managing UI state, handling
user interactions, and efficiently updating the DOM.
b. Tailwind CSS: This is a CSS framework focused on simplifying the
process of styling web applications by providing a collection of utility
classes that cover a wide range of design aspects. It was particularly
useful for rapidly creating responsive designs and maintaining consistent
styling across an application.
3. Implementation Platforms: Visual Studio Code (VS Code) is a widely popular,
free, and open-source code Integrated Development Environment developed by
Microsoft. It is an excellent choice for building web applications, regardless of
the operating system you are using and integration to Version Control System
like Git and Github which was the remote Version Control System.
4. Deployment Platforms: For making the web application available to all users, it
was deployed using vercel. Vercel is a cloud platform designed to facilitate the
deployment and hosting of web applications and websites. It specializes in
providing a seamless experience for developers to deploy projects, particularly
those built using modern frameworks like ReactJs.
5. Operating System: This project is a full web application that was built using the
Windows operating system, a very user friendly and developer-friendly system.
38
System testing is a vital stage in the software development life cycle that entails
thorough testing of a software application or system as a whole. System testing tries to
make sure that all parts and modules of the program function properly as an integrated
system and adhere to the requirements. The following was tested:
39
Figure 4.15 Admin and Student's Login Page
Figure 4.1 shows the login page of NACOSS SMP for the admins and students; the
admins login with their “email address” and “password” while the students login with
their “email address” (preferably their university email) and their “matriculation
numbers”.
40
Figure 4.16 NACOSS SMP Student’s Upload Page
Figure 4.2 shows the upload page, where the students have to upload their course
registration slip in .pdf format as downloaded from their student’s kofa page.
Figure 4.17 NACOSS SMP Student’s Profile Page and QR Code Slip
41
As soon as the student uploads his or her course registration slip, a slip contain his or
her unique QR code is sent via the email he or she provided while logging in, Figure 4.3
above shows this and the student’s profile page which includes all the student details i.e.
Student’s Name, Student’s Matriculation Number, Student’s Current Level and the
Student’s Registered Courses as drawn from the uploaded course registration slip.
In Figure 4.4 above, the snapshot on the left shows the details of students that have
uploaded their course registration slip and this data can be downloaded for each level;
the details are gotten from the slip, it includes student’s name, matriculation number,
number of courses, date of course registration. Clicking on a student leads the admin to
another page, the snapshot on the right of Figure 4.4; this shows the student’s name and
matriculation number on one card, the student’s QR code on the other card, and the
courses registered cards on the right side of the page.
42
Figure 4.19 Exam Attendance Page
Figure 4.5 shows each course to be done per semester, including the number of students
registered for the course, as well as the number of students present for the examination
which is derived from the number of students QR slip scanned during the day of the
slated examination. Clicking on a course takes the admin to the take attendance page
shown in Figure 4.6 below.
43
Figure 4.20 Take Attendance Page and the QR Code Scanner
The admins can take attendance for a particular course on the take attendance page
which is shown on the snapshot on the left in Figure 4.6. The snapshot on the right
shows the QR code scanner which scans the QR code on a student’s QR code slip and
then records the attendance of the student for that particular course.
The attendance data is a csv file, to download it the admin has to navigate to the courses
page on the admin dashboard which is shown in the left snapshot in Figure 4.7, it
contains the course code, title, credit and a button to view attendance for a particular
44
course. On click of the “View Attendance” button, the user is directed to another page
that contains the attendance data for that course which includes the names and
matriculation number of every student present for the examination whose QR code slip
was scanned. The page also contains an “Export CSV” button that downloads the
attendance data for each course.
Figure 4.22 Manage Admins Page (View, Add, and Delete admins)
NACOSS SMP makes room for only one admin which is known as the super admin,
which is the Head of Department (HOD); this super admin can in turn add other lecturer
(course advisers for each level) as admins, Figure 4.8 provides the pages for adding and
removing admins.
The System Usability Scale (SUS) is a widely used questionnaire-based tool for
assessing the usability and user-friendliness of software, websites, and digital systems.
John Brooke invented it in the 1980s, and it has since become a popular tool for
analysing user experiences. The SUS consists of a series of questions that users must
answer to offer a quantitative measure of usability that may be used to compare
different systems or track development over time.
The SUS is especially useful for gaining insights about users' perceptions of a system's
general usability. It covers both subjective and objective aspects of usability, providing
45
vital feedback to designers and developers on how well a system corresponds with user
expectations and needs.
The SUS questionnaire comprises ten statements, and participants respond to each
statement using a 5-point Likert scale, ranging from "Strongly Disagree" to "Strongly
Agree." The scale includes options:
1. Strongly Disagree.
2. Disagree.
3. Neutral.
4. Agree.
5. Strongly Agree.
The SUS is scored by converting the replies into numerical values and then applying a
formula to calculate the final usability score. The possible values range from 0 to 100,
with higher scores suggesting improved usefulness. A SUS score of 70 or more is
considered above average, while a score of 85 or higher indicates great usability.
The SUS score can provide vital insight into how well an Online Attendance and
Student Management System project is meeting user needs and expectations. The SUS
questionnaire can be used to collect feedback on the system's usability, user-
friendliness, and overall experience from peers who are trying the system. This
feedback can assist to uncover strengths and weaknesses in the system's design and
functionality, allowing for changes to the user experience and the creation of a platform
that is more closely aligned with the needs of its users.
46
Source: https://uiuxtrend.com/measuring-system-usability-scale-sus/
The usability test questionnaire was created using the following clear and concise
questions. The system was then tested with ten users and feedback was gathered using
this questionnaire.
47
Table 4.5 User’s Usability Scores Table
User 1 52.5
User 2 90.0
User 3 77.0
User 4 47.5
User 5 65.0
User 6 92.5
User 7 85.0
User 8 72.5
User 9 50.5
User 10 82.5
Total 715
Based on the table above, the total usability score is 715. The average score which is
gotten by dividing the total score by the number of users (10 users) is 71.5. According
to the SUS Grade and Rating Table in Fig 4.10 above, the average usability score of the
system falls at the 68 - 80.3 mark, therefore the system can be classified as good to use.
48
CHAPTER FIVE
5.1 Summary
The students login with their emails and matriculation number and are then directed to a
page where they are to upload their course registration slip, the information on this slip
is used to create a profile for them and a QR code slip is sent to their mails, this slip
contains their unique QR code which holds the information on their course registration
slip. The Students Page of the admin dashboard automatically updates after each student
completes their upload, this data can be downloaded for each level. To take attendance
the admin navigates to the Exam Attendance Page and selects the particular course, a
QR code scanner is then use to record the attendance of the students.
To view the attendance data, the admin navigates to the Courses Page where he/she
selects a course and gets redirected to a page where the course attendance can be
downloaded as a csv file. The web application only provides room for one admin which
49
is known as the super admin; this super admin can in turn add and remove admins by
navigating to the Mange admin Page.
5.2 Conclusion
This project covers the attendance system used by different universities during their
examinations; it narrowed it down to federal universities in Nigeria and then finally
taking the Department of Computer Science, University Of Benin. It analysed the
traditional method of examination attendance tracking used namely examination pass,
sign-up sheets, etc. It also highlights the disadvantages of traditional attendance tracking
and emphasizes on the need of a manual attendance system. The solution introduced is
NACOS SMP; an Online QR code-based Attendance System which leverages on
technology (internet, smart phones and QR codes) to provide a less labor intensive,
faster, and efficient way of attendance tracking during examinations.
50
REFERENCES
Aisha Talib, B. A.-S. (2018, October). Effect of implementing 'QR Code Attendance
System' during Examination in SHCT-Limits and Possibilities. Retrieved July
18, 2023, from Research Gate:
https://www.researchgate.net/publication/328306138_Effect_of_implementing_'
QR_Code_Attendance_System'_during_Examination_in_SHCT-
Limits_and_Possibilities
Aishwarya, R. (2023, January 25). Who Invented Exams? - Origin of Exams, History.
Retrieved July 10, 2023, from Get My Uni:
https://www.getmyuni.com/articles/who-invented-exams
Alena, D. (2020, March 27). Top 5 Face Recognition Attendance Software – Free &
Premium. Retrieved July 19, 2023, from gigasource.io: https://gigasource.b-
cdn.net/wp-content/uploads/2020/01/attendance-img2.png
Cheah, M. M.-S. (2015). Sensors-enabled Smart Attendance Systems Using NFC and
RFID Technologies. International Journal of New Computer Architectures and
their Applications, 5(1) 19 -28.
51
ETCS. (2023). Employee Time Clocks – Compare Cloud Based Time Tracking
Software. Retrieved July 19, 2023, from Employee Time Clock Systems:
https://employeetimeclocksystem.com/wp-content/uploads/2016/12/rfid-based-
attendance-system.jpg
Frederiks, e. (2021). Academic Success. Retrieved July 18, 2023, from Types of Exams:
https://usq.pressbooks.pub/academicsuccess/chapter/types-of-exams/
Khaled, A. J. (2022). An attendance system for exams using face recognition Based on
MTCNN and OpenCV algorithms. International Science and Technology
Journal, 1 - 12.
Rentman, B. (2011). QR codes vs barcodes: Which should you use for equipment?
Retrieved June 24, 2023, from Rentman Blog: https://rentman.io/blog/qr-vs-
52
barcodes-what-should-you-use-for-your-av-equipment
Sasu, D. D. (2023, Feburary 6). Universities in Nigeia - statistics and facts. Retrieved
June 25, 2023, from Statista: https://www.statista.com/topics/8520/university-in-
nigeria/#topicOverview
Vitasek, e. (2021, March 23). Here’s How To Choose The Best Biometric Attendance
System According To Your Organization Size. Retrieved July 19, 2023, from
The World Financial Review:
https://worldfinancialreview.com/wp-content/uploads/2021/03/Biometric-
copy.png
53
APPENDIX
SOURCE CODE
USER PAGES
Login Page
return (
<section className="user">
<Header />
<Form
user={"student"}
firstInputPlaceHolder={"Email"}
secondInputPlaceHolder={"Matric. No"}
firstInputId={"name"}
secondInputId={"mat-no"}
firstInputType={"name"}
secondInputType={"text"}
for={true}
/>
</section>
54
);
Upload Page
return (
<Header2 />
</section>
);
Success Page
55
return (
<Header3 />
<Successful />
</section>
Profile Page
return (
<Header2 />
</section>
);
56
ADMIN PAGES
Login Page
return (
<section className="user">
<Header />
<Form
user={"admin"}
firstInputPlaceHolder={"Email"}
secondInputPlaceHolder={"Password"}
firstInputId={"email"}
secondInputId={"password"}
firstInputType={"email"}
secondInputType={"password"}
for={false}
/>
</section>
);
57
Students Page
import {
AdminNav,
AdminHeader,
AdminControls,
StudentsData,
} from "../../Components/AdminComponents";
document.body.style.opacity = "1";
58
const [filteredData, setFilteredData] = useState([]);
useEffect(() => {
if (!cookies.adminToken) {
navigate("/admin/login");
}, []);
// console.log("param", page);
return axios.get(`${import.meta.env.VITE_DB_URL}/smp/admin/all/${page}`, {
headers: {
},
});
});
// console.log("data", data?.data);
// console.log("isError", isError);
59
if (isError) {
cookies.remove("adminData");
cookies.remove("adminToken");
navigate("/admin/login");
function formatDate(dateString) {
function formatData(dataArray) {
return {
id: dataItem._id,
img: "",
name: dataItem.fullName,
matricNo: dataItem.matriculationNo,
noOfCourses: dataItem.courses.length,
60
dateRegistered: formatDate(dataItem.created_at),
};
});
useEffect(() => {
if (!cookies.adminToken) {
navigate("/admin/login");
}, []);
return (
<AdminControls
firstButton={true}
secondButtonText={"New Student"}
secondButton={true}
setSearch={setSearch}
studentData={data?.data.data}
setFilteredData={setFilteredData}
61
/>
</section>}
<StudentsData
studentData={data?.data.data}
totalPages={data?.data.totalCount}
/>
)}
{search && (
<StudentsData
studentData={filteredData}
totalPages={data?.data.totalCount}
/>
)}
</div>
</section>
);
62
Student Details Page
import {
AdminNav,
AdminHeader,
StudentDetails,
} from "../../Components/AdminComponents";
const { id } = useParams();
useEffect(() => {
if (!cookies.adminToken) {
navigate("/admin/login");
63
}
}, []);
return axios.get(`${import.meta.env.VITE_DB_URL}/smp/admin/student/${id}`, {
headers: {
},
});
});
// console.log("data", data?.data);
// console.log("isError", isError);
// if (isError) {
// cookies.remove("adminData");
// cookies.remove("adminToken");
// navigate("/admin/login");
// }
return (
64
<section className="admin flex flex-row h-screen">
</div>
</section>
);
Courses Page
import {
AdminNav,
AdminHeader,
AdminControls,
CoursesData,
} from "../../Components/AdminComponents";
65
const navigate = useNavigate();
useEffect(() => {
if (!cookies.adminToken) {
navigate("/admin/login");
}, []);
return (
<CoursesData />
</div>
</section>
);
import {
66
AdminNav,
AdminHeader,
AdminControls,
CourseAttendanceData,
} from "../../Components/AdminComponents";
67
useEffect(() => {
if (!cookies.adminToken) {
navigate("/admin/login");
}, []);
"course-attendance",
() => {
return axios.post(
`${import.meta.env.VITE_DB_URL}/smp/admin/getAttendanceByCode`,
courseCode,
},
headers: {
},
);
);
68
console.log("data", data?.data);
console.log("isError", isError);
return (
<AdminControls
firstButton={false}
secondButton={true}
secondButtonText={"Export CSV"}
/>
</div>
</section>
);
import {
69
AdminNav,
AdminHeader,
ExamAttendanceData,
AdminControls,
} from "../../Components/AdminComponents";
useEffect(() => {
if (!cookies.adminToken) {
navigate("/admin/login");
}, []);
return (
70
<AdminHeader title={"Exam Attendance"} />
<AdminControls
firstButton={false}
secondButtonText={"Take Attendance"}
secondButton={true}
/>
<ExamAttendanceData />
</div>
</section>
);
import {
AdminNav,
AdminHeader,
TakeAttendance,
} from "../../Components/AdminComponents";
71
export default function AdminTakeAttendance() {
console.log("course", course);
useEffect(() => {
if (!cookies.adminToken) {
navigate("/admin/login");
}, []);
return (
</div>
</section>
72
);
import {
AdminNav,
AdminHeader,
AdminsListData,
AdminsAdd,
} from "../../Components/AdminComponents";
73
const showModal = () => {
setOpenModal(true);
setapplyModalStyle(false);
};
setOpenModal(false);
setapplyModalStyle(true);
};
return axios.post(`${import.meta.env.VITE_DB_URL}/smp/admin/allAdmin`, {
headers: {
},
});
});
console.log("data", data?.data);
console.log("isError", isError);
return (
74
<div className="admin w-screen h-screen">
<section
}`}
>
<button
onClick={showModal}
>
Add Admin
</button>
</div>
</section>
</div>
);
75
}
return (
Qr Code Scanner
</h2>
</div>
);
76