Development and Implementation of An Online Examination System: A Case Study at Information and Communications University-Zambia
Development and Implementation of An Online Examination System: A Case Study at Information and Communications University-Zambia
posed to hold any form of Face to Face learning 2. Developing a model that will allow the examina-
with students. This closer has impacted many learn- tion department to create, schedule, monitor and
ing institutions and has disturbed the learning cur- download online examinations.
riculum. To mitigate this challenge, many learning
institutions, including the information and commu- 3. Developing a model that will enable students to
nications university, have decided to develop sys- have access to scheduled examinations. The sched-
tems that will enable them to hold virtual classes uled examination should be based on the semester
and virtual examinations. The information and courses the student is doing.
communications university has decided to develop
and implement an online examinations system. The 4. Developing a mechanism that will enable online
proposed system will take advantage of and inte- examinations to uphold examination ethics.
grate the already existing technologies to come up
with a robust online examinations system that will 1.3 Research Questions
enable students to write their end of semester ex- The above specific objectives will be implemented
aminations online. The system will enable the ex- based on the following research questions (RQ).
aminations department to schedule examinations
for each examination day. With the scheduled ex- RQ1: How can the examination department be able
aminations, the department will be able to set the to conduct online examinations?
day when each examination will be written. They
will also be able to set the time when the examina- RQ2: What mechanisms can be put in place to up-
tion will start and end. Based on the scheduled ex- hold examination ethics while holding online ex-
aminations, the students will be able to log into the aminations?
system and have access to the examination ques-
tions. The examination questions that the students
will be able to access will be based on the courses II) CHAPTER TWO: RESEARCH
they are doing in that particular semester. The ex- LITERATURE REVIEW
amination department will be able to administer
two types of examination questions; open book 2.1 Introduction
questions and short answer question. The student In this chapter, the researcher explains the concepts
will be able to download the open book question and technologies used and how they are used. Also,
and upload the answers in the system. With the in this chapter, the works of other researchers who
short answer questions, the student will be able to have worked on related works are discussed under
answers the questions directly in the system. the review of related literature, to aid the researcher
in solving the research objectives.
1.2 Research Objectives 2.2 Theoretical Background
The main objective of this research is to develop The technologies that will be used to develop the
and implement an online examination system that proposed system are all web-based. The technolo-
will allow students at the Information and Commu- gies include the laravel framework, Javascript and
nications University to write examinations online. relational database technology (MySQL).
The research aims to achieve the following objec-
tives; 2.2.1 Laravel Framework
1. Developing a model that will allow students to Laravel is the main building technology that is used
write examinations online. in the development of the proposed system. Laravel
is an Open Source framework that was developed
2
in 2011 by Taylor Otwell. Its main goal is to try and requests and pass data from the Model to the Views.
ease the development process for developers by Thus, a Controller can be considered as the link
simplifying the repetitive tasks used in most of to- between our Model and Views.
day’s web applications. Laravel offers a robust set
The following features are some of Laravel's key
of tools and an application architecture that incor-
design points.
porates many of the best features of frameworks
like CodeIgniter, Yii, ASP.NET MVC, Ruby on Bundles have provided a modular packaging
Rails, Sinatra and others. Laravel is a full-stack system since the release of Laravel 3, with bundled
framework that employs a "Model-view-control- features already available for easy addition to
ler" (MVC) architecture. applications. Furthermore, Laravel 4 uses
Composer as a dependency manager to add
An MVC is a software design pattern that is com-
framework-agnostic and Laravel-specific PHP
monly used for developing user interfaces that di-
packages available from the Packagist repository.
vide the related program logic into three intercon-
nected elements. This is done to separate internal Application logic is an integral part of developed
representations of information from the ways infor- applications, implemented either by using
mation is presented to and accepted from the user. controllers or as part of the route declarations.
Furthermore, it separates the logic of the applica-
tion from the representation layer of the application Reverse routing defines a relationship between the
and allows the web application to have many links and routes, making it possible for later
different views from a single common model. changes to routes to be automatically propagated
into relevant links. When the links are created by
A Model is the central component of the pattern. It using names of existing routes, the appropriate
is the application's dynamic data structure, uniform resource identifiers (URIs) are
independent of the user interface. It directly automatically created by Laravel.
manages the data, logic and rules of the application.
It is the mode by which the developer can Restful controllers provide an optional way for
manipulate the data. It consists of a layer residing separating the logic behind serving HTTP GET and
between the data and the application. The data itself POST requests.
can be stored in various types of database systems Class auto loading provides automated loading of
such as MySQL or even simple XML or Excel files. PHP classes without the need for manual
Views are the visual representation of our web maintenance of inclusion paths. On-demand
application (presentation layer), they are loading prevents the inclusion of unnecessary
responsible for presenting the data that the components, so only the used components are
Controller received from the Model (business loaded.
logic). They can be easily built using the Blade View composers serve as customizable logical code
template language that comes with Laravel or units that can be executed when a view is loaded.
simply using plain PHP code. The blade is driven
by template inheritance and sections. When Laravel Blade Template Engine: Laravel framework is
renders these Views it examines first their file known for its inbuilt lightweight templates that help
extension, and depending on it being either in creating amazing layouts using dynamic content
“blade.php” or simply“.php”, determines if Laravel seeding. It has multiple widgets incorporating CSS
treats our View as a Blade template or not. and JS code with solid structures. The blade also
provides a set of its control structures such as
The primary function of a Controller is to handle conditional statements and loops, which are
3
internally mapped to their PHP counterparts. back” using the same said file.
Furthermore, Laravel services may be called from
Database Seeder class provides a way to populate
Blade templates, and the template engine itself can
database tables with selected default data that can
be extended with custom directives.
be used for application testing or be performed as
Eloquent ORM (object-relational mapping) is an part of the initial application setup.
advanced PHP implementation of the active record
Unit testing is provided as an integral part of
pattern, providing at the same time internal
Laravel, which itself contains unit tests that detect
methods for enforcing constraints on the
and prevent regressions in the framework. This
relationships between database objects. Following
feature enables Laravel to run many tests to ensure
the active record pattern, Eloquent ORM presents
that new changes done by programmers do not
database tables as classes, with their object
unexpectedly break anything in the web application.
instances tied to single table rows. The Eloquent
Unit tests can be run through the provided artisan
ORM provided with Laravel includes a simple PHP
command-line utility.
Active Record implementation which lets the
developer issue database queries with a PHP syntax Automatic pagination simplifies the task of
where instead of writing SQL code, methods are implementing pagination, replacing the usual
simply chained. Every table in the database manual implementation approaches with
possesses a corresponding Model through which automated methods integrated into Laravel.
the developer interacts with the said table.
Form request is a feature of Laravel that serves as
Query builder provides a more direct database the base for form input validation by internally
access alternative to the Eloquent ORM. Instead of binding event listeners, resulting in automated
requiring SQL queries to be written directly, invoking of the form validation methods and
Laravel's query builder provides a set of classes and generation of the actual form.
methods capable of building queries
programmatically. It also allows selectable caching Homestead - a Vagrant virtual machine that
of the results of executed queries. provides Laravel developers with all the tools
necessary to develop Laravel straight out of the box,
Schema class provides a database-agnostic way of including, Ubuntu, Gulp, Bower and other
managing all database related work such as creating development tools that are useful in developing
or deleting tables and adding fields to an existing full-scale web applications.
table. It works with a multitude of database systems
supported by Laravel and MySQL being the default Artisan: Allow performing the majority of those
one. The Schema class has the same API across all tedious and repetitive programming tasks that
of these database systems. many developers avoid performing manually.
Artisan even helps developers to create their
Migrations provide a version control system for commands and do convenient things with it. These
database schemas, making it possible to associate artisans can also be utilized to create the database
changes in the application's codebase and required structure, a skeleton code, and build their migration
changes in the database layout. They allow us to that becomes pretty easy-to-manage the database
change the database schema and describe and system.
record all those specific changes in a migration file.
Each Migration is usually associated with a Schema Libraries & Modular: Laravel is also popular due to
Builder to effortlessly manage our application's its Object-oriented libraries, as well as many other
database. Migration can also be reverted or “rolled pre-installed libraries, and these libraries are not
found in other PHP frameworks. This framework is
4
divided into individual modules that adopt modern 2.3 Review of Related Literature
PHP principles allowing developers to build There is a growing number of researches that is
responsive, modular, and handy web apps. being done focusing on developing better ways to
manage online examinations systems and online
Security: Laravel takes care of web application
learning systems. The majority of these researches
security within its framework. It uses hashed and
are focused on different parts of the system. Some
salted password that means the password would
of these researches include;
never save as the plain text in a database.
Additionally, this PHP website development
The Online Examination System is a software
framework uses prepared SQL statements that
solution, which allows any industry or institute to
make injection attacks unimaginable.
arrange, conduct and manage examinations via an
2.2.2 JavaScript online environment (Deepankar Vishwas Kotwal el
JavaScript is combined with HTML and CSS to tel, 2016). It can be done through the
create dynamic HTML pages. JavaScript is Internet/Intranet and/Local Area Network
commonly used on the internet to create web pages environments. Some of the problems faced during
that respond to user actions, like when the user manual examination systems are the delays that
moves a mouse pointer over an image or clicks a occur in result processing. The chance of losing
form button. JavaScript was used for the client-side records is high, as well as record searching is
scripting and security, it was also integrated with difficult. Maintenance of the system is also very
jQuery and ajax to create Model Windows used in difficult and takes a lot of time and effort. Online
the application like: examination is one of the crucial parts of the online
education system. It is efficient, fast enough and
i. Generating Print preview display reduces a large amount of material resource. An
ii. To ensure the registrant does not submit empty examination system is developed based on the web.
forms This paper describes the principle of the system,
iii. To ensure that the information requested is what presents the main functions of the system, analyzes
the user enters using the JAVASCRIPT regular the auto-generating test paper algorithm, and
expression to match the data submitted. discusses the security of the system.
2.2.3 Relational Database Online Education became far too popular in the last
The database used for storing information in this few decades serving as a powerful platform for
project application is MySQL. MySQL is the most sharing knowledge among international groups and
widely used open-source relational database individuals (Aakash Trivedi, 2010). The motive of
management system (RDBMS). The SQL phrase Online Education is to utilize the potential of the
stands for Structured Query Language. MySQL is a World Wide Web to extend education far beyond
popular choice of a database for use in web its present limits. But the full potential of www is
applications and is a central component of the not utilized as there is no relevant technique
widely used LAMP open-source web application implemented by which we can examine the
software stack (and other 'AMP' stacks). LAMP is knowledge of candidates on a mass level. As a
an acronym for Linux, Apache, MySQL, result, we are unable to appreciate hidden talents
Perl/PHP/Python. from different parts of the world. Here we are
proposing a new approach for online examinations
which counters almost all the drawbacks noticed in
the traditional online examination techniques. The
examination model provides a relevant scheme for system is stable and reliable based on feedback on
question presentation and tackles all major its application in several colleges.
challenges faced by online examination systems.
Web-based Examination System is an effective
Karadeniz (2009) studied the impact of paper- solution for mass education evaluation (Zhen Ming
based, web-based, and mobile-based assessments et al, 2003.). They developed a novel online
on students’ achievement. A group of 38 students examination system based on a Browser/Server
experimented for 3 weeks. Significant differences framework which carries out the examination and
were found between the scores achieved by the auto-grading for objective questions and operating
students in the second week but not in the first week. questions, such as programming, operating
The paper revealed that students had a positive Microsoft Windows, editing Microsoft Word,
attitude towards web-based and mobile-based Excel and PowerPoint, etc. It has been successfully
assessments due to ease of use, comprehensive and applied to the distance evaluation of basic operating
instant feedback. Moreover, most favoured tests skills of computer science, such as the course of
were web-based and the least favoured were paper- computer skills in Universities and the nationwide
based. examination for the high school graduates in
Zhejiang Province, China.
Gary et al (2008) at the University of New South
Wales; Sydney studied the effect of online Another paper proposed a web-based online
formative assessment on learning. The outcomes examination system (Rashid et al, 2002.). The
support the contention that integrated well designed system carries out the examination and auto-
online formative assessments can have significant grading for students’ exams. The system facilitates
positive effects on learning. Web-based formative conducting exams, collecting answers, auto-
assessments also support equity and inclusiveness marking the submissions and production of reports
by allowing students to attempt each assessment for the test. It supports many kinds of questions. It
anonymously on multiple occasions at any time. was used via the Internet and is therefore suitable
for both local and remote examination. The system
Another paper by LIU Na el tel (2007) discusses could help lecturers, instructors, teachers, and
the designing and application process for an online others who are willing to create new exams or edit
examination system. Online examination system, a existing ones as well as students participating in the
new type of examination forms, which includes exams. The system was built using various open-
online examination, online marking, paper source technologies AJAX, PHP, HTML, and
evaluation, online checking and so on, implements MYSQL database.
standardized tests in a fair, reasonable, and large-
scale manner. The system design process is based III) CHAPTER THREE: RESEARCH M
on the design and application of university online- ETHDOLOGY
examination system. It conforms to the criterion of
3.1 Introduction
digital campus teaching system application
To address the key research objectives, the
software. It adopts the combination of PHP+
researcher used a qualitative method and a
MySQL which is believed to be the best tool to
combination of primary and secondary sources.
design the system according to the teaching
The study area, data sources, sampling techniques,
features of its school. The network structure it
data collection methods and ethical considerations
applies is the B/S structure mode. This article also
are discussed under this section.
instructs design concept, method and process. The
3.2 The Study Area tment, systems engineer’s office, quality assura
According to Fraenkel and Warren studies, nce committee and student union representative
population refers to the comprehensive set of s. A total of 15 representatives was selected a
individuals (subjects or events) possessing familiar nd put in one room to brainstorm and come u
characteristics in which the researcher is interested. p with ideas. The sample size for the brainsto
The population of the study was determined based rm has been considered based on the role the
on the need requirement at the Information and y play at the institution.
Communications University. This data collection 3.5 Data Collection Methods
was conducted from January 03, 2020, to June 03, Data collection methods were focused on seco
2020, from selected members of staff and student ndary and primary data collections, which mos
union representatives at the information and tly focused on qualitative data as defined in t
communication university. he previous section.
greater the chance of producing a radical and objective, the criteria by which the ideas were
effective solution. subjected to include;
online. When the student sits for physical 4. The current system uses an old version of
examinations, the results of the students are PHP. Old versions of PHP are said to be
uploaded and the student can view the results from prone to SQL injections.
their account. 5. The AIMS system is not user friendly, in the
sense that the system does not adapt to
When a student is logged in, some of the different screen sizes.
functionalities that they can be able to access
include; 4.4 Analysis of the Proposed System
The proposed online examination system is a web-
1. Read messages on the notice board sent by based application that will enable students to write
the institution semester examinations online. The new system
2. Access semester courses. They can when designed will enable the institution to
download study materials, Assignment and conduct semester online examinations taking into
Projects for a particular course in a semester. considerations examinations ethics. Below are how
3. Take Online Quiz for a particular course. this can be achieved:
4. Register for semester physical examination
5. Make semester registration by submitting
deposit payments.
6. View payment history 1. The system will be an enhancement of the
7. View semester results existing system and will be utilizing the
existing database.
4.3 Problem Associated with the Existing Sy 2. The system will only allow a student to log
stem into the system from one device. It will not
The current system has been able to deliver most of allow multiple logins from one student.
the institutions' requirements concerning service 3. Once a student has login into the system,
delivery to students. But with the current situation he/she will only be able to view the courses
of the COVID-19 pandemic, the system does not they are doing in that semester and have
give provision for the institution to conduct online been scheduled for examination on that
examinations. With the current system, a student particular day.
can take an online quiz for a particular course, in a 4. Once a student clicks on a course he/she is
semester. But some of the challenges with the quiz supposed to be sitting for, they are taken to
system include; a page that gives them instructions for that
particular examination.
1. The quiz system only takes into 5. After reading the instructions for that
consideration one form of questions. It only particular examination, they can click on
gives multiple-choice questions. Enter Exam Room and have access to the
2. The quiz system does not take into examination paper.
consideration the malpractice of students 6. Each examinable course has a stipulated
while taking the quiz questions. limit number of minutes that it is supposed
3. The quiz system does not limit the time in to be running for. when the stipulated time
which a student should be able to take the elapses, the student is logged out of the
quiz questions. examination room.
7. The examination will be either open book
exam, short answer or both. Open book
11
examination allows students to download of the system regardless of the limitations that may
the examination question paper and submit exist. The Object-Oriented Design stage refines the
handwritten answers in the system within Object-Oriented Analysis model and applies the
the stipulated time. Short answer needed technology and other implementation
examination allows students to give short requirements. The design stage focuses on
answers to questions within the system. describing the objects, their attributes, behavior,
and interactions. The input for object-oriented
4.5 Methodology design is provided by the output of the object-
During the development of the system, Object- oriented analysis.
Oriented Analysis and Design (OOAD)
methodology were used. Object-oriented analysis
and design is a technical approach that used in the
analysis and design of applications or system by Unified Modeling Language (UML) is a
applying the object-orientated concepts, and standardized general-purpose modelling language
develop a set of graphical system models during the in the field of object-oriented software engineering.
development life cycle of the software. In the UML includes a set of graphic notation techniques
OOAD methodology two stages are involved; to create visual models of object-oriented software
Object-Oriented Analysis and Object-Oriented systems. This notation is the design tool that is
Design. In the Object-Oriented Analysis, being used for modelling in this research. The UML
developers work with users and domain experts to used in the research includes: Use Case diagrams
define what the system is supposed to do. The and Class diagrams..
major goal of the analysis stage is to create a model
12
14
15
exam_date date
start_time 20 varchar
end_time 20 varchar
type 1 int
status 2 varchar
created_at timestamp
updated_at timestamp
16
Id [pk] 15 int
exam_events_id [f_pk] 15 int
question_name text
question_number 15 int
question_type 1 tinyint
created_at timestamp
updated_at timestamp
of three “tiers” or “layers” of logical computing. The three tiers are Presentation tier, Applicatio
n tier and Data tier. The presentation tier is the front-end layer in the 3-tier architecture and con
sists of the user graphical interface. This user interface is accessible through a web browser or a
web-based application and is used to display information useful to the end-user. The middle tier
connects the presentation tier and the data tier. The middle tier is also called application tier or
business logic. The application tier contains the functional business logic of the application syste
m and drives the application’s core capabilities. The application tier of this system is found in t
he controllers and runs on the server. The data tier is the tier that is responsible for storing the
data of the system. It comprises of the database/data storage system and data access layer. The d
ata stored is accessed by the application layer via API calls. The database management system u
sed for developing this system is MySQL database server.
The aarchitecture of the system is shown below.
Server
Presentation Tier Application Tier Data Tier
Figure 4:
Login
Form
18
Figure 5: Se
lect Course
to Schedul
e Exam Fo
rm
Figure 6: S
chedule Op
en Book/ S
hort Answ
er Exam F
orm
Figure 7:
Schedule
Open Book
Exam Form
19
Figure 8:
Edit
Scheduled
Exam
Form
Figure 9:
Compose
New
Message
Form
20
21
22
23
24
Figure 17:
View Today's
Running
Exams
Figure 18:
View Exam
Paper
Instructions
Figure 19:
View Exam
Paper
Questions
25
26
27
Figure 25: Program Flow Chart to Gain Access into The System
28
V) CHAPTER FIVE: SYSTEMS IMPLE Code can work with any Git repository either
MENTATION locally or remotely and offers visual symbols to
resolve the conflicts before the code commits.
5.1 Introduction
Implementation of the online examination system iv) VS Code comes with a built-in debugger helps
is concerned with the preparation of resources, such accelerate code editing, compiling and debugging
as hardware and software, that are required for the looping. By default, VS Code comes with the
optimal functionality of the newly designed system. ability to support NodeJS and can debug anything
It is also concerned with the evaluation of the that is transpiled to JavaScript.
performance of the newly designed system by
subjecting it to tests and ensuring that the required v) VS Code provides additional language service
resources meet the designed objective. features such as Peek Definition, Go to Definition,
Find All References, and Rename Symbol. These
5.2 Choice of Development Environment features are very useful and help the developer to
The development environment that was used to code and debug fast.
develop the online examination system was a visual
studio code (VS Code). VS Code is an Integrated 5.3 Deployment Platform
Development Environment that was developed by The program source code will be deployed on the
Microsoft Company and it is cross-platform. It can Linux Operating System that is hosted by a hosting
be installed on Microsoft Windows operating company called Bluehost. The database is going to
system, Linux Operating system and Mac be deployed on XAMMP. XAMPP contains both
Operating System. VS Code is a super-fast, Apache server and MySQL relational database
lightweight Source Code text editor that is used to server. The system is going to be accessed through
view, edit, run and debug source code for the Uniform Resource Locator (URL)
applications. The researcher found using VS Code http://sis.icuzambia.net/
as the most ideal development environment. The
list below gives some reasons why the VS Code 5.4 Implementation Architecture
was chosen as the development environment. In the implementation of the proposed system, the
architecture is designed using the laravel
i) Visual Studio Code comes with IntelliSense for framework. The laravel framework allows the
the programming language. IntelliSense is a term views of the presentation layer to be designed using
used for a variety of code editing features such as HTML as the User Interface, the logic of the
code completion, content assistance and code application is designed in the controllers. The logic
hinting. in the controllers handles any backend
functionalities of the application. The application
ii) Visual Studio Code comes with an inbuilt can communicate with the MYSQL database
Integrated command line terminal that initially through the model. The model is responsible for
starts at the root folder of the opened project. establishing communication with the database, and
in this instance, we are using the MYSQL database
iii) Visual Studio Code has a built-in Git integration.
server.
This makes it easy to instantly see any changes that
are made in the project. Git can easily be initialized 5.5 Software Testing
in VS Code and be able to perform Git commands
The unit testing approach was adopted in testing the
such as commit, pull, push, rebase, publish, and
codes written. The procedure adopted for the unit
check the changes in the files. Additionally, VS
test is;
29
1. The module interface is tested to ensure that VI) CHAPTER SIX: SUMMARY AND C
information properly flows into and out of the ONCLUSION
program unit under test.
6.1 Summary
2. The local data structure is examined to ensure In this paper, an online examination system was
that data stored temporarily maintained its integrity developed and implemented at the University of
during all steps in an algorithm’s execution. Information and Communications University,
Zambia. The developed system is an examination
3. All the statements are executed at least once and system that enables students to write the end of
error handling paths are tested semester examinations online. The examinations
are prepared by the lecturers and monitored by the
5.6 Documentation examinations department. The system helps the
Documentation of any system is very important in university to overcome the challenge that most
the development of the software application. This universities are faced with around the country.
is because documentation makes the software Universities around the country are not allowed to
application easier to all users, and if an application hold any physical examinations. This is because of
is not well documented it becomes difficult to use. the COVID-19 pandemic. The government of
The researcher has taken the step to document the Zambia had given a directive to restrict the number
system for users that are going to be using the of group gatherings to 50 people. To conform to the
system as either a system user or as a system directives of the government, ICU Zambia has
administrator. developed the online examination system to enable
students to write examinations online. The cost of
5.7 Hardware Requirements holding physical examinations will drastically and
The software application designed needed the significantly be reduced as there will be no costs
following hardware for the effective operation associated with holding physical examinations. The
of the newly designed system: system is designed using the Laravel framework.
The top-down approach was adopted as the
i. Any computer that can go to the internet implementation approach for this project research.
ii. At least 500MB of Random-Access Memor This involves breaking the complex system into
y (RAM) subsystems and then into modules for easy study
iv. At least 80GB hard disk. and understanding. The system architecture is
vi. An Uninterruptible Power Supply (UPS) U divided into three basic parts. The first is the front
nits end that shows the user interface designed with
5.8 Software Requirements PHP, HTML and JavaScript, the back-end model
The software requirements for this system incl which connects the application to the database
ude: server and different tables, at the middle is the
i. Any Linux Operating System. controller; which provides the logic of the
ii. Structured Query Language (MySQL) application and connectivity between the front end
iii. PHP version 7 and the back end. The user interfaces are interactive,
iv. OpenSSL PHP Extension and provisions are made for the security of data
v. PDO PHP Extension stored. The use of the examination system is
vi. Mbstring PHP Extension relatively simple and the I.T knowledge
vi. Laravel Framework requirement for its usage is also relatively minimal.
The system can further be expanded and more
features can be added to strengthen and better it .
30
31
32