Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 43

DESIGN AND IMPLEMENTATION OF ONLINE EX

AMINATION SYSTEM WITH


BY
JENNIE BINTA TSWANYA
191103022

SUBMITTED TO THE OFFICE OF UNDERGRADUA


TE RESEARCH
NILE UNIVERSITY OF NIGERIA, ABUJA.

IN PARTIAL FULFILMENT OF THE REQUIREMEN


TS FOR THE AWARD OF BACHELOR OF SCIENCE
HONOURS (B.Sc. Hons) DEGREE IN COMPUTER SC
IENCE

DEPARTMENT OF COMPUTER SCIENCE


FACULTY OF COMPUTING

JUNE 2024

SUPERVISOR: MR NASFIRU ABDULHAFEEZ

1
DECLARATION
I, JENNIE BINTA TSWANYA, hereby declare that this B.Sc. Project titled “DESI
GN AND IMPLEMENTATION OF ONLINE EXAMINATION SYSTEM WIT
H ANTI CHEATING SYSTEM” has been carried out by me under the supervision
of (Mr hamisu ). It has not yet been forwarded for a degree in any educational establis
hment. By using references, all information sources are explicitly acknowledged.

………………………… ………………………

Jennie Binta Tswanya Signature Date

CERTIFICATION
This Project Entitled “DESIGN AND IMPLEMENTATION OF ONLINE EXAMI
NATION WITH ANTI CHEATING MEASURES ” by (JENNIE BINTA TSWA

2
NYA) meets the requirements for the award of a Bachelor of Science (B.Sc.) in Comp
uter Science as a participation to wisdom and literary representation.

Prof. Nwojo Nnanna Agwu

-------------------------------------------- -----------------------
----------------
Head of Department (HOD) Date Signatur
e

Mr Abdulhafeez Nasiru

-------------------------------------------- ----------------------
--------------------
Project Supervisor Date Si
gnature

Prof. Benjamin Okike

------------------------------------------- ---------------------
--------------------
External Examiner Date Signature

Prof. Musa Muhammed

___________________________ _______________
---------------------
Dean, Faculty Date Signature

3
DEDICATION
I dedicated this study to Almighty God from the beginning of this program to the end.

I also pray for my parents for their guide and support. I also dedicate this work to my

fellow graduating students and my supervisor for their help and guidance.

4
ACKNOWLEDGMENT
. I am mostly grateful to My Lord God Almighty, who has destined me for this prog

ramme and for giving me grace and strength to carry out this research successfully.

My utmost appreciation goes to my supervisor, (Mr Abdulhafeez) for his assistance,

understanding, admonition and guidance for the success of this work. I would like to

also appreciate lecturers of the Faculty of Natural and Applied Science precisely, de

partment of Computer Science having imparted the necessary skill and knowledge r

equired to be a custodian of this degree and to all members of staff of Nile universit

y of Nigeria who were involved in the success of this research. To my father and mo

ther (Mr and Mrs. Paul Tswanya) for their unending support. To my brother (Solom

on Tswanya) for the multiple pep talks for the times i felt like giving up. Thank you

so very much for your brotherly care. Also, to my family and friends, your care and

support both physically and financially has been appreciated. Finally, to my fellow c

oursemates, for these four years of comradery and friendship to the end.

ABSTRACTION

5
Online examination systems are web platforms that can be used to conduct exa
ms, tests, and other evaluations in an online environment. They provide a more
convenient way of taking assessments, especially one taken by a large group of
people. Cheating is the act of using dishonest means to gain an unfair advantag
e over others in games, tests, competitions, etc. Cheating is a prevalent problem
in academics, as it does not let lecturers properly assess their students, nor does
it ensure students are equipped with the necessary skills in their chosen field. It
is important for us to understand this problem before we can start to solve it.

DECLARATION.....................................................................................................2
CERTIFICATION....................................................................................................4
DEDICATION.........................................................................................................5
ACKNOWLEDGMENT...........................................................................................6

6
ABSTRACTION......................................................................................................8
TABLE OF CONTENT...................................................................................................9
CHAPTER 1: INTRODUCTION...................................................................................10
1.1 INTRODUCTION/BACKGROUND OF STUDY...............................................10
1.2 PROBLEM STATEMENT................................................................................12
1.3 AIMS AND OBJECTIVES...............................................................................13
1.4 SCOPE AND LIMITATIONS SCOPE...............................................................14
1.5 DEFINITION OF TERMS................................................................................15
1.6 PROJECT JUSTIFICATION.............................................................................15
CHAPTER 2: LITERATURE REVIEW.........................................................................16
2.1 INTRODUCTION............................................................................................16
2.2 RELATED WORKS.........................................................................................18
CHAPTER 3: SYSTEM METHODOLOGIES..........................................................24
3.1 INTRODUCTION............................................................................................24
3.2 METHODOLOGY...........................................................................................25
3.3 JUSTIFICATION.............................................................................................32
3.4 SYSTEM REQUIREMENTS............................................................................33
3.4.1 FUNCTIONAL REQUIREMENTS..........................................................33
3.4.2 NON-FUNCTIONAL REQUIREMENTS.................................................33
3.5 SYSTEM DESIGN...........................................................................................34
3.5.1 ACTIVITY DIAGRAM...........................................................................34
3.5.2 USE CASE DIAGRAM.........................................................................36
3.5.3 CLASS DIAGRAM...............................................................................37

CHAPTER 1: INTRODUCTION

7
1.1 INTRODUCTION/BACKGROUND OF STUDY

Traditional pen and paper based exams face multiple problems, particularly the proble
m of students cheating. There are many methods students use to cheat in their exams.
These methods include looking at someone else’ paper and copying the answers, brin
ging and using unauthorized notes or study aids, and even tying to use unauthorized d
evices, such as smartphones, smart watches, and Bluetooth devices to access informati
on.

The online examination system is a technologically driven method of streamlining exa


mination-related tasks like defining exam patterns with question banks, defining exam
timers, creating objective/subjective question sections, and conducting exams using c
omputers or mobile devices in a paperless manner. [1]

Converting traditional pen and paper-based tests to online and paperless mode is affor
dable and scalable with the help of the online examination system.

Anyone with a browser-equipped computer, laptop, or mobile device can be used by c


andidates to take the exam.
For the objective question type, exam results can be produced promptly. [1]

Online Examination systems have been rising in use for some time now since the Cov
id-19 Pandemic and Global lockdown. While most systems have been taking cheating
into account and have been actively implementing and improving precautions against
it, these precautions are not perfect, and have yet to eliminate cheating altogether.

Cheating is the act of using dishonest means to gain an unfair advantage over others i
n games, tests, competitions, etc. There are many types of cheating that can happen in
an exam, such as: plagiarism, identity theft, copying another student's work, sharing a
nd exchanging answers, etc. All of these can lead to false passes and inaccurate result

8
s in accordance to a students actual skills, and degrades the academic integrity of an in
stitution.

1.2 PROBLEM STATEMENT


Online Examination systems have been rising in use for some time now since the Co
vid-19 Pandemic and Global lockdown. While most systems have been taking cheatin
g into account and have been actively implementing and improving precautions again

9
st it, these precautions are not perfect, and have yet to eliminate cheating altogether.
Multiple factors contribute

This Project will take these factors into account and implement these factors into an O
nline Examination System that would be difficult to cheat on for students of all
learning institutions, including Nile University.

1.3 AIMS AND OBJECTIVES

AIM

The aim of this project is to develop a functional website that will focus on facilitating
the ability to create and host online exams, as well as make it difficult for students to c
heat on the examination platform.

10
OBJECTIVES
The objective of this project are listed below as follows:

1. To develop a random number generator (RNG) to solve the problem of copyin


g each other’s answers.
2. To develop a tab locking feature to prevent students from leaving the exam’s
webpage.
3. To integrate an IP tracker and webcam monitoring to observe students behavio
ur.
4. To develop a User Interface that will allow students and lecturers to register,
make/take exams, see results and receive cheating reports.

1.4 SCOPE AND LIMITATIONS SCOPE


This work will be focused on the development of an online examination system that w
ill focus on both the lecturers and student’s user interfaces, were in the lecturers will b
e able to set exam questions, create exams,automatically mark exams and manage res

11
ults, monitor student activity during the exams, be notified if a student tries to leave th
e website, etc, and students will be able to take exams, see results once the exam has b
een submitted, should not be able to leave the website, etc.

LIMITATIONS

1. It is an application catered for general use


2. It will not prevent physical cheating methods, only digital ones
3. It may be prone to false positives

4. It will not facilitate face tracking of any kind.


5. I was unable to implement one of the features, IP tracking, due to financial con
straints.

1.5 DEFINITION OF TERMS


Random Number Generator (RNG): This is a system in which a sequence of numbers
or symbols cannot be reasonably predicted better than any random chance generated..

12
1.6 PROJECT JUSTIFICATION
As online examination systems become more common in use, it is important to uphol
d a sense of truthfulness to ourselves when assessing skill sets. However, there are tho
se that disregard this thought process, and only see to it that they pass no matter what,
by any means necessary. The development of cheating prevention measures in online
examination systems is essential for upholding academic integrity, ensuring fair evalu
ation, enhancing credibility, adapting to remote learning environments, protecting the
value of qualifications, and promoting academic honesty and ethics. These measures c
ontribute to the overall effectiveness and reliability of online assessments, benefiting s
tudents, educational institutions, employers, and society as a whole.

CHAPTER 2: LITERATURE REVIEW

2.1 INTRODUCTION
Exams are a method of evaluation that has been used to assess whether or not an indi
vidual has obtained the necessary skills to thrive in their chosen field of activity or not.
Evaluation done by exams provides a statistical view of the knowledge and skills a pe
rson has acquired, and more often than not is used to confirm a person’s required skill
set, map out a pattern of certain phenomena occurring in the human populous, etc.

13
Examinations, or tests of knowledge and skill, have been used as a method of evaluati
on for thousands of years. The earliest known exams were used in China during the H
an Dynasty (206 BC–220 AD), where candidates were tested on their knowledge of C
onfucian texts and other subjects in order to obtain a government position.

In ancient Greece, exams were used to select candidates for public office, and in the R
oman Empire, exams were used to determine who could become a lawyer or hold a pu
blic office. In mediaeval Europe, universities began to use exams as a way of testing s
tudents' knowledge, and the first recorded university exam was held at the University
of Bologna in Italy in 1209.

During the 19th century, exams became more widespread as the industrial revolution
created a need for standardized testing to evaluate workers' skills. The first
standardized test in the United States was the College Entrance Examination Board, w
hich was first administered in 1901.

In the 20th century, exams became more important as a way of measuring educational
achievement, and were used to determine college admissions, job qualifications, and e
ven immigration eligibility. However, concerns have been raised about the fairness an
d effectiveness of exams, as they may not accurately measure a person's true abilities
or potential.

Today, exams continue to be an important part of education and employment, but alte
rnative methods of evaluation, such as portfolios and project-based assessments, are al
so being used to provide a more holistic and accurate picture of a person's skills and k
nowledge.

The first online exams were introduced in the 1990s, as universities and other educati
onal institutions began to experiment with using the internet to administer tests. One o
f the earliest examples of online exams was the Virtual University project, which was
launched in 1994 by the University of Illinois at Urbana-Champaign. This project allo
wed students to take exams online, using a secure system that prevented cheating.

As internet technology continued to develop, online exams became more sophisticate


d and easier to administer. In the early 2000s, online testing systems began to emerge

14
that allowed institutions to create and administer tests online, and to grade them auto
matically.

Today, online exams are widely used in education and in many other fields, such as pr
ofessional certification, licensing, and recruitment. They offer a number of advantages
over traditional paper-and-pencil exams, such as greater accessibility, flexibility, and
convenience. Online exams can be taken from anywhere with an internet connection,
and they can be tailored to the specific needs of individual students or test-takers.

However, online exams also present a number of challenges, such as concerns about s
ecurity, cheating, and technical issues. Institutions must take steps to ensure that onlin
e exams are administered securely and that the results are reliable and valid. Despite t
hese challenges, online exams are likely to become increasingly important in the years
to come, as more and more testing moves online.

With the possibility of success at risk, comes the determination to do everything in on


e's power to achieve their goal, whether their methods are honest or not. Thus enters t
he concept of cheating.

Cheating refers to using fraudulent and/or ill gotten means to gain an unfair advantage
in a number of situations, such as a game, a competition, or an exam. It can take on m
any different forms, but for an examination, cheating may look like: copying someone
else's work or answers, Sharing answers with other students during an exam or assign
ment, Using unauthorised materials, such as notes or electronic devices, during an exa
m or assignment, Altering or falsifying data in research or academic work, Plagiarisin
g someone else's work by not giving proper credit or attribution.

2.2 RELATED WORKS

15
A research article by Liu Wei et al, describes a fingerprint based technology to identit
y authentication in the online examination system. It can be used from the candidates'
sign in process to the login process. For the purposes of enrollment or login, each clie
nt in our framework needs a fingerprint sensor.

The user's old login information needs to be modified in the database; in most cases, t
he password would be updated to the user's fingerprint template information; in some
cases, other databases are required. If the system is intranet-based, the examination se
rver should be equipped with an identity authentication mechanism. Otherwise, if the
system uses the internet, the identity authentication system may require a second serv
er and a load-balancing service because there may be a large number of applicants and
concurrency needs to be taken into account.[2]

In a paper done by Prince Ana and Paul Tawo Bukie [3], the team discussed about a w
ay to implement and design an Online Examination administration system for universi
ties. The system was designed for multiple choice questions only, and implemented m
ultiple features, such as automated marking, real time monitoring system using face tr
acking technology, a timer, a preparation system used to mange question storage, stor
e test IDs, schedule exams,an auto grading system, etc. The system used the Waterfal
l modeling as its methodology, which in turn implement the use of three (3) important
techniques: Logical Data Modeling (LDM), Data Flow Modeling (DFM), and Entity
Event Modeling (EEM). [3]
Another paper by Leslie Ching Ow Tiong and HeeJeong Jasmine Lee [4] discussed th
e multiple possible ways to prevent online cheating using Deep Learning Approach. It
states multiple methods that can be used to prevent cheating in an online learning envi
ronment. The team specified three (3) main methods that can be used to prevent onlin
e cheating, which can be summarized as follows:

1. Network security methods : This method tackled the issue of a trusted third pa
rty needed to maintain discipline. The suggested approach included oblivious transmis
sion and visual cryptography, enabling alias generation for both students and monitor
s. The pupils' identities would be preserved because they would only be made known
during the exam, which was a referenced system from a paper done by Lenzini et al,
on writing exams without supervision from trusted parties. [5]

16
2. Plagiarism Detection Methods and Tools: This method tackled the issues that
come with plagiarism tools. Plagiarism is easily one of the most common forms of ch
eating, so plagiarism checking tools are a popular way of making sure students did not
use unauthorized materials during the course of the exam. However, this can easily be
bypassed by changing the syntax of the code in the answers. It was also noted that in a
study done by D. Pawelczak [6], plagiarism detection is often working with an alread
y pre established threshold value that is used to calculate the similarity between works,
and that problems with this threshold value leads to in accurate assessments. As such,
a solution was proposed by Herra et al.[7] were the team created an unique language-
neutral mechanism that guards against plagiarism without the need for code comparis
on or instructor participation in programming classes.

3. Biometric Methods: The presence of an examinee is vital in an online exam, a


nd without the presence of physical supervisors, it is even more difficult determine su
ch a factor. Thus, some solutions were devised to combat this issue. One of these solut
ions was proposed by Wlodarczyk [8] which made use of the head pose detection app
roach, were facial landmarks that can be accurately localized are used to determine th
e user's gaze direction in addition to facial identification.

After carefully reviewing these methods, a solution was reached, in which the team de
cided to implement two (2) systems: a network ip detection system, to monitor the IP
addresses of students and a behaviour detection system, to monitor the physical behav
iours of students.

Another paper done by Amr Jadi discusses a newly proposed cheating detection
method that could be used for online exams during the Covid-19 Pandemic . The
paper discusses this new method which is a system based on convolutional neural
networks (CNN), as well as touches on some existing proctoring methods utilized in
online examinations. These existing methods include secured online authentication
ID, secured examination browser setup, preventing mobile phones, live proctoring,
etc. The new method does not allow any other application to be used on the system
while the exam is taking place. However, necessary materials such as calculators, data
sheets, online documents, etc, for particular students (engineering, medical,

17
mathematics, etc,) are kept in a special folder on the system that can be accessed
during the exam. During the exam, each student and their computer screen will be
recorded and stored in a database for remote proctoring. The images obtained from
these recordings are processed via the geometric approach, which is an image
processing technique used to identify different facial features.

A paper done by Daria Bylieva , Victoria Lobatyuk, and Tatiana Nam of Peter the
Great St.Petersburg Polytechnic University studies the attitude of students towards
academic dishonesty in the e-learning process via surveys. The publication states that
the constant development of learning and training systems in education programs
different behaviours of interaction and expression in students. These behaviours
include newly formed ways of academic dishonesty. The rate of academic dishonesty
often varies in different environments of the world, as the paper also discusses the
results of other surveys conducted in other nations. Academic dishonesty in Russia is
at a rate of 73% according to their data set in the ‘Monitoring the economy of
education.’ The university had it’s lecturers and several analyst experts conduct a
survey of a pool of students (214 participants) for this research. The results state that
students were inclined to use different methods of academic dishonesty in e-learning
environments, including traditional cheating methods such as plagiarism, exam
impersonation, and falsely reporting on technical problems.

In a paper done by Fakhroddin Noorbehbahani, Azadeh Mohammadi and


Mohammad Aminazadeh, the team compiles a systematic review of over 50 academic
publications on online cheating, done from January 2010 to February 2021 . The
review aims to become a valuable reference for instructors and researchers in the field
of education for a thorough understanding of cheating detection, mitigation and
prevention. The paper specifies a list of inclusion and exclusion criteria in order to
determine which articles would be included in the review or not. These publications
have been sourced from many different datasets such as Google Scholar, Web of
Science and Scopus. The result is a comprehensive and organized list of behaviours,
reasons and various prevention methods of cheating in an exam.

Another paper by Istiak Ahmad, Fahad AlQurashi, Ehab Abozinadah, Rashid


Mehmood discusses an online Deep-Learning based proctoring system that uses facial

18
recognition, eye blinking and object detection techniques. The paper elaborates on the
disadvantages of physical learning spaces, such as the inflexibility of the participants
of the school, accessibility difficulties, etc, and supports an online learning
environment as a better alternative method. The system employs the use of biometric
methods such as face tracking and eye blinking to detect stationary images and
suspicious behaviour from students. The system was also able to detect external
resources such as books, phones, tablets and laptops.

S/No Author and year of p Title of Paper Purpose of Stu Methodology Limitations
ublication dy
[7] A. Franklyn-Sto “Undergraduate che To research the A set of questio This is a pape
kes, S. E. Newstead, ating: Who does wh frequency ans s nnaires was use on the behavio
1995. at and why?” eriousness of v d to gather data al research on s
arious cheating for the research. udent cheating
methods, as we there was no sy
ll as reasons to tem implement
why Undergrad d.
uate students c
heat.
[3] P. Ana, P. T. Bu “Design and imple To design and i Waterfall model The system on
kie, 2015 mentation of online mplement an o was used to desi y accounted fo
examination bjective based gn and create th objective exam
administration syste online examina e system. s.
m for universities” tion system
[4] L. C. O. Tiong, H. J. “E-cheating Prevent To research dif Deep Learning The system di
J. Lee ion Measures: Dete ferent ways to Approach was u not implement
ction of prevent cheatin sed to gather dat tab locking fea
Cheating at Online g during online a, and the team ure.
Examinations Using examinations a used an IP detec
Deep nd to develop a tion agent and a
Learning Approach sutable method behavioural ana
- A Case Study” from these obs lysis agent to m
ervations onitor students

[8] Z. Khanam and M, “Implementation of To implement f Perceptual hash


N. Ahsan pHash algorithm fo acial recognitio functions were
r face recognition in n using pHash used as they are
secure remote onlin and Image com a set of compara
e examination syste parison algorit ble has function
m” hm prevent che s which can be

19
ating used to scan and
compare faces
within an alread
y registered dat
abase.
[9] S. Suta, P. Sontakke, “Electronic Test Sy To implement Electronic Asse There were no
Prof. S. Pusdeka stem” and online exa ssment heating preven
mination platfo on methods
rm
[10] S. M. Al-Saleem, H. “Security Considera To suggest wa A combination
Ullah tions and Recomme ys of ensuring of multiple bio
ndations in security in onli metric methods
Computer-Based Te ne testing platf of identity verifi
sting” orms cation
[11] V.Selvi, R.Sankar, “The Design and Im To design and i Intrusion detecti
R.Umarani plementation of On- mplement Fire on systems, VP
Line Examination U wall security in Ns, Firewalls, a
sing to examination nd other various
Firewall security” systems types of securit
y measures wer
e used.
[12] M. B. Abisad, B. D. “Towards Academi To design and i Trained Neural
Gerardo, L. A. Vea, c Affect Modelling mplement a fac networks and an
R. P. Medina through Experiment ial recognition d experimental
al system to moni algorithm to det
Hybrid Gesture Rec tor student eng ermine the posit
ognition Algorith agement during ion of the head
m” online exams and to verify wh
ether the studen
ts were engaged
or not.
[13] S. Jun, L, Hui G, Ha “Research and Deve To design and i Use of Cloud A
ng, Z. Li-dong lopment of Intellige mplement an in PI Face++ to sto
nt Online telligent online re and recogniz
Examination Monit examination sy e registered face
oring System” stem with moni s
toring systems

20
21
CHAPTER 3: SYSTEM METHODOLOGIES

3.1 INTRODUCTION
System methodologies used in software development refer to systematic approaches a
nd frameworks employed to design, develop, and manage software systems. These me
thodologies provide structure and guidance throughout the software development life
cycle, ensuring efficiency, quality, and successful project outcomes.

One widely adopted software system methodology is the Waterfall model, which follo
ws a sequential, linear approach. It involves distinct phases, including requirements ga
thering, system design, implementation, testing, deployment, and maintenance. Each
phase is completed before moving on to the next, ensuring a well-defined and structur
ed process.

Another popular methodology is Agile, which emphasizes flexibility, collaboration, a


nd iterative development. Agile methodologies, such as Scrum and Kanban, break the
development process into small, incremental units called sprints. Cross-functional tea
ms work collaboratively, continuously delivering working software and gathering fee
dback to incorporate into subsequent iterations.

Lean software development, inspired by lean manufacturing principles, focuses on eli


minating waste and maximizing customer value. It emphasizes streamlining processes,
reducing unnecessary features, and delivering value quickly and efficiently.

DevOps is a methodology that promotes close collaboration between development an


d operations teams. It aims to automate software development, testing, and deploymen
t processes, enabling faster and more reliable delivery of software systems.

In recent years, there has been an increased adoption of hybrid methodologies, such as
DevOps with Agile or Lean, to combine the benefits of different approaches and meet
specific project requirements.

22
These software system methodologies aim to improve efficiency, enhance collaborati
on, and ensure the delivery of high-quality software systems. By selecting and tailorin
g the appropriate methodology based on project needs, organizations can optimize the
ir software development processes and achieve successful outcomes.

3.2 METHODOLOGY
There are many different methodologies that could have been used for this project. So
me of these include:

1. Waterfall Methodology:
The Waterfall methodology is a linear and sequential approach to software developme
nt. It follows a predefined set of phases, where each phase is completed before movin
g to the next. The typical phases include requirements gathering, system design, imple
mentation, testing, deployment, and maintenance.

Advantages:
- Clear structure: The sequential nature of the Waterfall methodology provides a clear
and well-defined structure, making it easy to understand and follow.
- Documentation-focused: Waterfall emphasizes thorough documentation at each phas
e, ensuring a comprehensive understanding of the system and facilitating maintenance
and future enhancements.
- Well-suited for stable requirements: It works best when the requirements are well-un
derstood and unlikely to change significantly throughout the project.

Disadvantages:
- Lack of flexibility: Waterfall's rigid and linear nature makes it difficult to accommod
ate changes once a phase is completed, leading to potential delays and increased costs
if changes are introduced late in the process.
- Limited customer involvement: Customer involvement is typically limited to the init
ial requirements gathering phase, which may result in a final product that does not full
y meet the customer's evolving needs.

23
- Late detection of issues: Testing occurs towards the end of the development cycle, w
hich can lead to late detection of defects or design flaws, making it more challenging t
o address them effectively.

2. Agile Methodology:
Agile is an iterative and flexible approach that focuses on collaboration, adaptability,
and delivering working software in incremental iterations. The Agile methodology pr
omotes adaptive planning, continuous feedback, and frequent communication among
cross-functional teams.

Advantages:
- Flexibility and adaptability: Agile allows for changes and modifications throughout t
he development process, enabling teams to respond to evolving requirements and mar
ket dynamics effectively.
- Customer involvement: Customers and stakeholders are actively engaged throughout
the development cycle, providing regular feedback and ensuring that the final product
aligns with their expectations.
- Early delivery of value: Agile's incremental approach enables the delivery of workin
g software in short iterations, ensuring that value is realized early in the project.

Disadvantages:
- Potential scope creep: The flexibility of Agile can lead to scope creep, where require
ments keep expanding beyond the original project scope, potentially impacting timeli
nes and budgets.
- Emphasis on collaboration: Agile methodologies require effective collaboration and
communication among team members. If teams are not co-located or lack proper com
munication channels, it can hinder productivity and progress.
- Documentation challenges: Agile favors working software over comprehensive docu
mentation, which can make it challenging to maintain a detailed project record.

3. Waterfall with Backtracking:


Waterfall with Backtracking is an adaptation of the traditional Waterfall methodology
that allows for limited flexibility and iteration. It follows the basic Waterfall phases b
ut incorporates feedback loops to revisit and revise earlier stages if needed.

24
Advantages:
- Greater flexibility: The inclusion of backtracking loops enables revisiting and revisi
ng earlier stages, accommodating changes and improvements in the project without st
arting from scratch.
- Well-defined structure: Similar to the Waterfall methodology, it provides a clear stru
cture and documentation at each phase, facilitating project management and team coor
dination.

Disadvantages:
- Complexity: Introducing backtracking loops adds complexity to the development pr
ocess, requiring careful planning and coordination to ensure efficient execution.
- Potential for increased time and cost: Iterative loops can lead to additional time and
cost if significant changes are required, potentially impacting project schedules and bu
dgets.

4. Scrum Methodology:
Scrum is an Agile framework that emphasizes collaboration, self-organization, and ite
rative development. It consists of short development cycles called sprints, typically la
sting 1-4 weeks, during which cross-functional teams deliver potentially shippable inc
rements of software.

Advantages:
- Flexibility and adaptability: Scrum allows for frequent adaptation and change, enabli
ng

teams to respond quickly to evolving requirements and market demands.


- Increased transparency: Scrum promotes transparency through daily stand-up meetin
gs, sprint reviews, and retrospectives, ensuring that all team members have visibility i
nto the project's progress and challenges.
- Empowered teams: Scrum encourages self-organization and empowers teams to mak
e decisions, fostering a sense of ownership and accountability.

Disadvantages:

25
- Learning curve: Scrum requires a shift in mindset and may require some time for tea
ms to become proficient in the methodology and its practices.
- Dependency on team collaboration: Scrum heavily relies on effective collaboration a
nd communication among team members. If collaboration is lacking, it can hinder pro
gress and impact project outcomes.
- Difficulty in estimating time and effort: The flexible nature of Scrum can make it ch
allenging to estimate accurately how much work can be accomplished in each sprint,
potentially affecting project planning and delivery timelines.

It's important to note that the selection of a methodology should be based on the speci
fic project requirements, team dynamics, and organizational context. Tailoring and co
mbining methodologies may also be beneficial to achieve the best outcomes.Sure! Le
t's delve into the details of each system methodology and explore their advantages and
disadvantages:

1. Waterfall Methodology:
The Waterfall methodology is a linear and sequential approach to software developme
nt. It follows a predefined set of phases, where each phase is completed before movin
g to the next. The typical phases include requirements gathering, system design, imple
mentation, testing, deployment, and maintenance.

26
Figure 3.1 Waterfall with backtracking methodology

Advantages:
- Clear structure: The sequential nature of the Waterfall methodology provides a clear
and well-defined structure, making it easy to understand and follow.
- Documentation-focused: Waterfall emphasizes thorough documentation at each phas
e, ensuring a comprehensive understanding of the system and facilitating maintenance
and future enhancements.
- Well-suited for stable requirements: It works best when the requirements are well-un
derstood and unlikely to change significantly throughout the project.

Disadvantages:
- Lack of flexibility: Waterfall's rigid and linear nature makes it difficult to accommod
ate changes once a phase is completed, leading to potential delays and increased costs
if changes are introduced late in the process.
- Limited customer involvement: Customer involvement is typically limited to the init
ial requirements gathering phase, which may result in a final product that does not full
y meet the customer's evolving needs.
- Late detection of issues: Testing occurs towards the end of the development cycle, w
hich can lead to late detection of defects or design flaws, making it more challenging t
o address them effectively.

2. Agile Methodology:
Agile is an iterative and flexible approach that focuses on collaboration, adaptability,
and delivering working software in incremental iterations. The Agile methodology pr
omotes adaptive planning, continuous feedback, and frequent communication among
cross-functional teams.

Advantages:
- Flexibility and adaptability: Agile allows for changes and modifications throughout t
he development process, enabling teams to respond to evolving requirements and mar
ket dynamics effectively.

27
- Customer involvement: Customers and stakeholders are actively engaged throughout
the development cycle, providing regular feedback and ensuring that the final product
aligns with their expectations.
- Early delivery of value: Agile's incremental approach enables the delivery of workin
g software in short iterations, ensuring that value is realised early in the project.

Disadvantages:
- Potential scope creep: The flexibility of Agile can lead to scope creep, where require
ments keep expanding beyond the original project scope, potentially impacting timeli
nes and budgets.
- Emphasis on collaboration: Agile methodologies require effective collaboration and
communication among team members. If teams are not co-located or lack proper com
munication channels, it can hinder productivity and progress.
- Documentation challenges: Agile favors working software over comprehensive docu
mentation, which can make it challenging to maintain a detailed project record.

3. Waterfall with Backtracking:


Waterfall with Backtracking is an adaptation of the traditional Waterfall methodology
that allows for limited flexibility and iteration. It follows the basic Waterfall phases b
ut incorporates feedback loops to revisit and revise earlier stages if needed.

Advantages:
- Greater flexibility: The inclusion of backtracking loops enables revisiting and revisi
ng earlier stages, accommodating changes and improvements in the project without st
arting from scratch.
- Well-defined structure: Similar to the Waterfall methodology, it provides a clear stru
cture and documentation at each phase, facilitating project management and team coor
dination.

Disadvantages:
- Complexity: Introducing backtracking loops adds complexity to the development pr
ocess, requiring careful planning and coordination to ensure efficient execution.

28
- Potential for increased time and cost: Iterative loops can lead to additional time and
cost if significant changes are required, potentially impacting project schedules and bu
dgets.

4. Scrum Methodology:
Scrum is an Agile framework that emphasises collaboration, self-organisation, and ite
rative development. It consists of short development cycles called sprints, typically la
sting 1-4 weeks, during which cross-functional teams deliver potentially shippable inc
rements of software.

Advantages:
- Flexibility and adaptability: Scrum allows for frequent adaptation and change, enabli
ng

teams to respond quickly to evolving requirements and market demands.


- Increased transparency: Scrum promotes transparency through daily stand-up meetin
gs, sprint reviews, and retrospectives, ensuring that all team members have visibility i
nto the project's progress and challenges.
- Empowered teams: Scrum encourages self-organization and empowers teams to mak
e decisions, fostering a sense of ownership and accountability.

Disadvantages:
- Learning curve: Scrum requires a shift in mindset and may require some time for tea
ms to become proficient in the methodology and its practices.
- Dependency on team collaboration: Scrum heavily relies on effective collaboration a
nd communication among team members. If collaboration is lacking, it can hinder pro
gress and impact project outcomes.
- Difficulty in estimating time and effort: The flexible nature of Scrum can make it ch
allenging to estimate accurately how much work can be accomplished in each sprint,
potentially affecting project planning and delivery timelines.

It's important to note that the selection of a methodology should be based on the speci
fic project requirements, team dynamics, and organisational context. Tailoring and co
mbining methodologies may also be beneficial to achieve the best outcomes.

29
3.3 JUSTIFICATION
When considering the selection of a methodology for my project, there are several fac
tors to consider. My justification for using the Waterfall with Backtracking in my pro
ject are as stated below:

1. Clear Structure and Documentation: The Waterfall with Backtracking methodology


provides a clear and well-defined structure for your project. With its sequential phases,
you can ensure that each stage is completed before moving forward, allowing for a sy
stematic and organized approach. This structure also promotes comprehensive docum
entation at each phase, ensuring a thorough understanding of the system and facilitatin
g future maintenance and enhancements.

2. Limited Flexibility with Controlled Iteration: While the traditional Waterfall metho
dology lacks flexibility, the inclusion of backtracking loops in Waterfall with Backtra
cking allows for limited flexibility and iteration. This means that if changes or improv
ements are required during the development process, you can revisit and revise earlier
stages without starting the entire project from scratch. It provides a balance between t
he structure of Waterfall and the adaptability needed for potential changes.

3. Well-suited for Stable Requirements: If your project has stable and well-understood
requirements that are unlikely to change significantly, Waterfall with Backtracking ca
n be an appropriate choice. It allows you to follow a linear progression through the ph
ases, which is ideal when there is a high level of certainty regarding the project scope
and requirements.

4. Risk Mitigation: Waterfall with Backtracking can help mitigate risks by incorporati
ng feedback loops. By revisiting earlier stages, you have the opportunity to identify an

30
d address any potential issues or shortcomings early on, reducing the chances of enco
untering major problems later in the project. This iterative aspect enhances the projec
t's overall risk management and increases the likelihood of delivering a successful pro
duct.

5. Team Experience and Familiarity: If your team has prior experience and familiarity
with the Waterfall methodology, transitioning to Waterfall with Backtracking can be r
elatively smooth. Since it maintains the core principles of Waterfall, team members ca
n leverage their existing knowledge and expertise while embracing the additional flexi
bility offered by the backtracking loops.

3.4 SYSTEM REQUIREMENTS

3.4.1 FUNCTIONAL REQUIREMENTS


The following are the functional requirements for the proposed system. Some of these
requirements were determined by low level diagrams such as use case and activity dia
grams.:

1. The system should be able to accept student and lecturer login data
2. The system should have a stored database for student login
3. The system should implement the tab locking feature
4. The system should take note of and flag students that exhibit behaviours in
alignment with the system’s cheating criteria during the examination

31
3.4.2 NON-FUNCTIONAL REQUIREMENTS
These are the non-functional requirements of the proposed system:
1. The system should be able to facilitate multiple students at once.
2. The system should have a user friendly interface for both students and lecturer
s.
3. The system should be easy to maintain and update.
4. The system should be able to be used on multiple browsers and devices.

3.5 SYSTEM DESIGN


This section is important as it details the diagrams that define the requirements of the
system.

3.5.1 ACTIVITY DIAGRAM

An activity diagram is a type of UML (Unified Modeling Language) diagram that vis
ually represents the flow of activities or processes within a system, business process,
or software application. It illustrates the sequence of actions, decision points, and con
current activities involved in achieving a particular goal or outcome. Activity diagram
s use nodes to represent activities or tasks, arrows to indicate the flow of control betw
een activities, and decision points to show branching or conditional behaviour within t
he process. They provide a clear and intuitive visualization of how activities are
organized and how they interact with each other in a system.

32
Figure 3.1 Activity diagram for Manual online examination and cheating prevention s
ystem

33
Figure 3.2 Activity Diagram for Automatic Online Examination and Cheating
prevention System

34
3.5.2 USE CASE DIAGRAM

A Use Case diagram is a visual representation in the Unified Modeling Language (U


ML) that depicts the interactions between actors (users or external systems) and a syst
em under consideration. It illustrates the functional requirements of a system by captu
ring different use cases or scenarios that describe the actions and behaviors of actors a
nd the system. Use Case diagrams consist of actors, use cases, and their relationships.
Actors represent the entities that interact with the system, while use cases represent sp
ecific functionalities or actions that the system can perform. The relationships betwee
n actors and use cases depict the communication and interaction between them, showc
asing how the system supports the needs and goals of its users. Use Case diagrams ser
ve as a valuable tool for capturing system requirements, understanding system functio
nality, and facilitating communication among stakeholders.

35
Figure 3.2 Use case diagram for examination system

Figure 3.3 Use case diagram for cheating prevention system

3.5.3 CLASS DIAGRAM

A Class diagram is a visual representation in the Unified Modeling Language (UML)


that illustrates the structure and relationships of the classes, objects, and their interacti
ons within a system. It provides a static view of the system's architecture, focusing on
the classes and their attributes, methods, and associations. Class diagrams depict the p
roperties and behaviours of classes, including their relationships such as inheritance, a

36
ggregation, and composition. They showcase the structure of the system by detailing t
he classes, their attributes, and the methods they possess. Class diagrams help in
visualizing the overall system design, understanding the relationships and dependenci
es between classes, and facilitating the development and maintenance of software syst
ems.

Figure 3.4 Class diagram for the examination system

In this class diagram, the various classes and functions in this class diagram include:
1. Student: logs into the system, writes exams, and receives results
2. lecturer: logs into the system, creates exams, receives reports
3. Cheating Report: a report generated by the system after an exam if a student
meets any of the system’s cheating criteria
4. ID: A unique number used to identify different individuals
5. Course: the subject the exam is under.
6. Login: All users of the system will be able to register and access the web
application via the login page.
7. viewExams: Lets an eligible student be able to see an available exam

37
8. takeExams: Lets an eligible student access and take an available exam
9. submitAnswers: Allows students who have taken the exam to submit their
answers
10. markExams(manual): Allows a lecturer to mark the student’s answers for a
manual exam
11. manageExamAccess: Allows a lecturer to specify which students may take an
exam
12. setResults(manual): Allows a lecturer to return the results for a manual exam
13. markExams(automatic): Allows the system to mark the student’s answers in
an automatic exam
14. setResults(automatic): Returns a students score at the end of an automatic
exam
15. viewResults: Retrievers and displays the student’s score.
16. shuffleQuestions: Randomizes the order of questions that appear in the exam
for each student.
17. createExams(manual and automatic): lets the lecturer create the exam.
18. lockTab: Triggers the tab locking function at the beginning of the exam
19. flagStudent: Takes note of student that has performed any action within the
cheating criteria during the exam
20. createReports: compiles all the information of all the flagged students into
one tabular report.
21. sendReport: Sends the compiled report to the lecturer
22. reciveReports: lets the lecturer receive the cheating report and notifies them.
23. viewReports: Allows a lecturer to see received reports
24. manageLecturerProfiles: Lets the admin manage and maintain the lecturer’s
account
25. manageStudentAccess: Lets the admin manage whether may access their
profiles or not.

CHAPTER 4: SYSTEM IMPLEMENTATION


In this chapter, we shall discuss the active implementation of the requirements of the s
ystem in this chapter.

38
.

4.1 SYSTEM IMPLEMENTATION


This project

4.2 TOOLS USED


The tools used in the implementation of this project are as follows:
1. HTML
2. CSS
3. JavaScript
4. Python
5. Django
6. PHP
7. MySQL
8. XAMPP control panel
9. Visual Studio Code (code editor)

HTML
HTML (Hypertext Markup Language) is the standard markup language used for creati
ng and structuring web pages. It provides a set of tags and attributes that define the str
ucture, content, and presentation of the elements within a web document. HTML tags
are used to mark up various elements such as headings, paragraphs, images, links, tabl
es, forms, and more. By using HTML, web developers can create and organise the con
tent of a web page, define its layout, and enable the inclusion of multimedia elements
and interactivity through scripting languages like JavaScript. Web browsers interpret
HTML code and render it into the visual representation that users see when accessing
a website.

39
CSS

CSS (Cascading Style Sheets) is a style sheet language used to describe the presentati
on and visual styling of HTML (or XML) documents. It provides a set of rules and pr
operties that define how elements within a web page should be displayed, including th
eir layout, colour, typography, and other visual aspects. By using CSS, web developer
s can separate the content and structure of a web page from its presentation, allowing f
or greater flexibility and easier maintenance. CSS allows the application of styles to in
dividual elements, groups of elements, or the entire document, and it supports various
selectors, inheritance, and cascading rules to control the style hierarchy. Web browser
s interpret CSS code and apply the specified styles to render the HTML elements acco
rdingly, resulting in the desired visual appearance of the web page.

JAVASCRIPT

JavaScript is a high-level, interpreted programming language primarily used for addin


g interactivity and dynamic behaviour to web pages. It is a versatile scripting languag
e that allows developers to create interactive features, handle events, manipulate conte
nt, and communicate with servers. JavaScript can be embedded directly into HTML d
ocuments or included as external script files. It supports a wide range of functionalitie
s, such as manipulating the HTML Document Object Model (DOM), performing calc
ulations, creating animations, validating forms, making asynchronous requests, and m
uch more. JavaScript is executed by web browsers, making it a fundamental technolog
y for front-end web development. Additionally, JavaScript has expanded its reach bey
ond the browser and is now used for server-side development (Node.js), mobile app d
evelopment (React Native, Ionic), and even desktop applications (Electron).

PYTHON

40
Python is an open source computer programming language that is used to build
websites and softwares, automate tasks, and conduct data analysis. It is a versatile,
beginner-friendly, general use language that can be used to make a wide variety of
applications as well as many other tasks such as automation of tasks, data analysis,
machine learning, software testing and prototyping, web development, everyday tasks
etc. It’s simple syntax and easy structure make it easy to use and learn, making it one
of the most popular languages to learn [14].

DJANGO
Django is a free, open source framework based on the Python programming language.
It is a high level framework that encourages rapid development and clean, pragmatic
designs [15]. Its primary goal is to lessen the amount of code needed in a program as
well as implementing the core coding principle of ‘Don’t Repeat Yourself’ (DRY) as
to not repeat data throughout the system.

PHP
PHP (Hypertext Preprocessor) is a server-side scripting language designed for web de
velopment. It is widely used for creating dynamic web pages and web applications. P
HP code is embedded within HTML code, allowing developers to mix PHP and HTM
L to create dynamic content and interact with databases, handle form data, manage ses
sions, and perform various server-side tasks. PHP is easy to learn and widely supporte
d by web servers, making it a popular choice for building dynamic websites. It offers
a vast collection of built-in functions and libraries that simplify common web develop
ment tasks, such as file handling, database connectivity, and handling HTTP requests.
PHP can be used with different database management systems, such as MySQL, Postg
reSQL, and SQLite, making it suitable for building database-driven applications.

MySQL

MySQL is an open-source relational database management system (RDBMS) that is


widely used for storing and managing structured data. It provides a reliable, scalable,
and high-performance solution for managing databases in various applications, rangin
g from small personal projects to large-scale enterprise systems. MySQL follows the r
elational database model, where data is organised into tables with predefined schemas,

41
and relationships can be established between tables using primary and foreign keys. It
supports SQL (Structured Query Language) for querying, modifying, and managing d
ata within the database. MySQL offers features such as transactions, data replication,
security controls, and support for multiple storage engines, giving developers flexibilit
y in choosing the best approach for their specific needs. It is commonly used in conju
nction with web applications and is compatible with various programming languages
and frameworks.

XAMPP CONTROL PANEL

XAMPP Control Panel is a graphical user interface (GUI) tool that provides a conveni
ent way to manage and control the XAMPP server stack. XAMPP is a software packa
ge that includes several components required for web development, such as Apache H
TTP Server, MySQL database server, PHP, and Perl. The XAMPP Control Panel allo
ws users to start, stop, and monitor these services with a few clicks, eliminating the ne
ed for manual command-line operations. Additionally, the control panel provides acce
ss to configuration files, log files, and other settings for each component, making it ea
sier to manage and troubleshoot the server stack. It also offers options to configure se
curity settings and manage add-ons and extensions. The XAMPP Control Panel simpli
fies the process of setting up a local web development environment and provides a use
r-friendly interface for managing the various components included in the XAMPP pac
kage.

4.3 SYSTEM REQUIREMENTS


Functional Requirements
1. A computer with at least 4GB of RAM

42
2. An active internet connection
3. At least 200 MB of ROM
4. An operating system of Windows 7 and above

Non-Functional Requirements
1. The web app should be able to run on commonly used web browsers a
nd their latest versions
2. The web app should be able to handle multiple visitors at once
3.

43

You might also like