Professional Documents
Culture Documents
(A Project report submitted in the partial fulfillment of the requirements for the award of the Degree of)
Submitted By
ABDUL KHADHIR M ALPIN MILTON A
(REG.NO: 2221128006) (REG.NO:
2221128007)
April – 2024
BONAFIDE CERTFICATE
DECLARATION
(A.ALPIN MILTON)
ACKNOWLEDGEMENT
First and foremost we would like to THANK GOD for the successful completion of this
project.
We give our grateful thanks to our parents , family members and friends.
.
We are delightful to thanks Rev. Dr. S. Sebastian, Secretary of our college for
providing us all the necessary facilities to accomplish this project work successfully.
We express our sincere thanks to Rev.Dr.S. John Vasantha Kumar, Principal of our
college for his encouragement throughout this project work.
( M.ABDUL KHADHIR
&
A.ALPIN MILTON)
CONTENT
Page No
1. INTRODUCTION 01
2 .SYSTEM ANALYSIS 03
3 .SYSTEM SPECIFICATION 06
3.3.3.INTRODUCTION TO SQL 08
4.SYSTEM DESIGN 12
4.1.MODULE DESCRIPTION 12
4.2.ARCHITECTURE 14
4.5.USECASE DIAGRAM 17
4.6.DATABASE DESIGN 18
5.1.TESTING INTRODUCTION 21
5.2.TESTING METHODS 21
5.3.UNIT TESTNG 22
5.4.INTEGRATION TESTING 22
5.5.VALIDATION TESTING
5.6.TESTING CASES 23
5.7.SYSTEM IMPLEMENTATION 24
5.7.1.INTRODUCTION 24
6.1.CONCLUSION 26
6.2.FUTURE ENHANCEMENTS 27
7.BIBLIOGRAPHY 33
8.APPENDIX 36
Online Exam System is a full-fledged system which is beneficial for both teachers and
students. With this site, Administrator can allow authorized entry of users which includes
faculties and students.
Faculties are the one who register on the site and conduct timed exams in their respective
courses. They can add questions in the test by selecting the available settings.
The tests added by faculties are available to students who can attempt the test and get
score then and there. Thus the purpose of the site is to provide a system that saves the efforts and
time of both the teachers and the students.
Online Exam System is a web application that establishes a network between the faculties
and the students. Faculties enter on the site the questions they want in the exam. These questions
are displayed as a test to the eligible students. The answers enter by the students are then
evaluated and their score is calculated and saved. This score then can be accessed by the faculties
and administrator to evaluate their performance.
Online Exam System provides the platform but does not directly participate in, nor is it
involved in any tests conducted. Questions are posted not by the site, but users of the site.
The administrator keeps an eye on the overall functioning of the system which includes
how many users are using the site, how many tests are added by which faculty, how many
students have given those tests and view the score of any student.
The system entitled “Online Exams System” is application software, which aims at providing
services to the institutes and providing them with an option of selecting the eligible students by
themselves.
The purpose of on-line test system is to take online test in an efficient manner
and no time wasting for checking the paper. It provides online facility to Institutes to conduct
online exams and to Students to give online exams. Institutes (i.e the faculties in institute) can
enter and edit the questions in test. Students can login and give their respective exams and view
their score then and there. The main objective of on-line test simulator is to efficiently evaluate
the candidate thoroughly through a fully automated system that not only saves lot of time but
also gives fast results
The main objective of the online examination system is to provide equal opportunity to every
student who is not going to the exam due to the lack of geographical areas.
Online Examination System is a cost-effective, scalable way to convert traditional pen and
paper-based exams to online and paperless mode. Candidates can appear for the exam using any
desktop, laptop, or mobile device with a browser. Exam results can be generated instantly for the
objective type of questions.
2.SYSTEM ANALYSIS
2.1.EXISTING SYSTEM
Defines project goals into defined functions and operation of the intended application and
analyzes end-user information needs.
Describes desired features and operations in detail, including screen layouts, business rules,
process diagrams, pseudo-code and other documentation.
Existing system is a manual one in which users are maintaining books to store the information
like Student Details, Instructor Details, Schedule Details and feedbacks about students who
attempted exam as per schedule.. It is very difficult to maintain historical data.
DISADVANTAGE
The following drawbacks of existing system emphasize the need for computerization:
This application is used to conduct online examination. the students can sit at individual
terminals and login to write the exam in the given duration. . thequestions have to be given to the
students. this application will perform correction, display the result immediately and also store it
in database. this application provides the administrator with a facility to add new exams. this
application provides the instructor add questions to the exam, modify questions in the exam in a
particular exam. this application takes care of authentication of the administrator, instructor as
well as the student.
ADVANTAGE
Online Examination Tool is to provide better information for the users of this system for better
results for their maintenance in student examination schedule details and grading details.
2.3.SYSTEM STUDY
2.3.1.FEASIBILITY ANALYSIS
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
2.3.2 TECHNICAL FEASIBILITY
Since there will not be much difficulty in getting required resources for the
development and maintaining the system as well. All the resources needed for the development
of the software as well as the maintenance of the same is available in the organization here we
are utilizing the resources which are available already.
2.3.3.ECONOMICAL FEASIBILITY
3.SYSTEM SPECIFICATION
RAM : 4 GB
Monitor : LG 23”
Mouse : 2 buttons
3.2. SOFTWARE REQUIREMENTS
4. Software Description
PHP is a scripting language originally designed for producing dynamic web pages. It has
evolved toinclude a command line interface capability and can be used in standalone
graphical applications. While PHP was originally created by RasmusLerdorf in 1995, the
main implementation of PHP is now produced by ThePHP Group and serves as thede
factostandard for PHP as there is no formal specification. PHP is freesoftware released
under the PHP License, however it is incompatible with
4.1.2MVC ARCHITECTURE
DATABASE
A database management, or DBMS, gives the user access to their data and helps
them transform the data into information. Such database management systems include dBase,
paradox, IMS, SQL Server and SQL Server.
These systems allow users to create, update and extract information from their
database. A database is a structured collection of data. Data refers to the characteristics of
people, things and events. SQL Server stores each data item in its own fields.
In SQL Server, the fields relating to a particular person, thing or event are
bundled together to form a single complete unit of data, called a record (it can also be referred
to as raw or an occurrence). Each record is made up of a number of fields. No two fields in a
record can have the same field name.
SQL Server stores records relating to each other in a table. Different tables are
created for the various groups of information. Related tables are grouped together to form a
database.
Every table in SQL Server has a field or a combination of fields that uniquely
identifies each record in the table. The Unique identifier is called the Primary Key, or simply the
Key. The primary key provides the means to distinguish one record from all other in a table. It
allows the user and the database system to identify, locate and refer to one particular record in
the database.
When a field is one table matches the primary key of another field is referred to
as a foreign key. A foreign key is a field or a group of fields in one table whose values match
those of the primary key of another table.
Not only does SQL Server allow you to link multiple tables, it also maintains
consistency between them. Ensuring that the data among related tables is correctly matched is
referred to as maintaining referential integrity.
SQL SERVER is one of the leading database management systems (DBMS) because it
is the only Database that meets the uncompromising requirements of today’s most demanding
information systems. From complex decision support systems (DSS) to the most rigorous online
transaction processing (OLTP) application, even application that require simultaneous DSS and
OLTP access to the same critical data, SQL Server leads the industry in both performance and
capability.
SQL SERVER is a truly portable, distributed, and open DBMS that delivers unmatched
performance, continuous operation and support for every database.
SQL SERVER RDBMS is high performance fault tolerant DBMS which is specially
designed for online transactions processing and for handling large database application.
SQL SERVER with transactions processing option offers two features which contribute
to very high level of transaction processing throughput, which are: The row level lock manager
1.ENTERPRISE-WIDE DATA SHARING
The unrivaled portability and connectivity of the SQL SERVER DBMS enables all the
systems in the organization to be linked into a singular, integrated computing resource.
2.PORTABILITY
SQL SERVER is fully portable to more than 80 distinct hardware and operating systems
platforms, including UNIX, MSDOS, OS/2, Macintosh and dozens of proprietary platforms.
This portability gives complete freedom to choose the database server platform that meets the
system requirements.
3.OPEN SYSTEMS
SQL Server’s networking and distributed database capabilities to access data stored on
remote server with the same ease as if the information was stored on a single local computer. A
single SQL statement can access data at multiple sites. You can store data where system
requirements such as performance, security, or availability dictate.
5.UNMATCHED PERFORMANCE
The most advanced architecture in the industry allows the SQL SERVER DBMS to deliver
unmatched performance
5.SYSTEM DESIGN
5.1.MODULE DESCRIPTION
1.ADMIN PHASE
a. Admin login
b.Dashboard.
c.Master data.
Department
class
course
lecturer
students
d. Relation.
Class - lecturer
department – course
e.Question bank.
f.Exam result.
g.User management.
h.Settings.
i. logout.
2. TEACHER PHASE
a. Teacher login.
b. Dashboard.
c. Question bank.
d. Exam.
f. Exam result.
g. Logout.
3. STUDENT PHASE
a. Student login.
b. Dashboard.
c. Exam result.
f. Logout.
3. ABOUT US
4. CONTACT US
1. ADMIN PHASE
In particular, this Online Exam System project in PHP CodeIgniter focuses mainly on
keeping track of questionnaires as well as exam records. Also, the system displays all the
categories with their respective details. In addition, the system allows managing students,
teachers, and examination schedules. Evidently, this project contains an admin panel with a
student and teacher panel. In an overview of this web application, an administratorhas full
control over the system. He/she can manage users, classes, departments, courses, question sets,
and their relations. Here, each and every sectionhasits own respective details such as name and
other important details. However, the admin has the right to set a student/teacher’s account. By
default, the system automatically sets these users’ login details as their ID.
Even though an admin can access and manage all the questionnaires available in the
system, the system restricts viewing all under the teacher’s panel. To be precise, a teacher can
only view his/her subject’s question sets. Whereas, the administrator can view each and every
question set with a filter option based upon the available courses. Another thing is that the
administrator can list out every student’s examination result. Here, the system allows
downloading students’ report cards. Besides, the admin can oversee record highlights and clear
up the system’s record with a single click.
2. TEAHER PHASE
On one hand, the teacher has some important roles in maintaining proper flow within
the system. This particular user can conduct examinations, set question papers, and check his/her
student’s results. The very first step of conducting an examination is that teacher requires to set a
bundle of question sets for a certain course. For this, the user has to provide questions, five
options, select the correct answer, and set question weight. And now, here comes the main thing
of this project; Exam management. Likewise, the user has to provide various details such as
examination name, number of questions, date & time with question pattern. Here, the system
offers two types of patterns: Random and Sort. After completion, the system automatically
generates a token code which is a mandatory part for the students in order to join their online
examinations.
3. STUDENT PHASE
On the other hand, comes the main feature of this project. The main role of a student’s
account is to attend online examinations. Nevertheless, the student can proceed with attending
available examinations. In fact, all the examinations are formed as Multiple Choice Questions.
Here, the student needs to provide a token code for the particular examination. Also, the student
should make sure about the examination date and time. Else, the system won’t allow entering
and attending examinations. At last, the system generates the student’s result under the Result
section where he/she can easily list out or even downloadit. In addition, the system strictly
restricts users to attend examinations multiple times.
With it, the system provides a token for every examination record. This particular
token code must be shared with the students which later works as a kind of verification during
their examination period. Also, the teacher account can have a detailed report on his/her
student’s results. The result shows highest/lowest marks on each with average scores and other
important details. Moreover, the teacher has the right to manage examinations anytime. In fact,
this particular feature is only set for teachers; meaning even the administrator does not have any
control over the examination management system. All the duties and rules are to be handled by
the teacher’s account.
5. AVAILABLE FEATURES
Teacher Panel
Student Panel
Administrator Panel
Student Management
Teacher Management
Set Relations
Set Questionnaires
3. ABOUT US
The about us module has a functionality used to display the details
4.CONTACT US
The Contact us module has a functionality to contact the admin through this module and
clarify their doubts
5.2 Architectural Design
5.3 Data Flow Diagram
User case
5.4 Database Design
A table is a data structure that organizes information into rows and columns. It
can be used to both store and display data in a structured format. For example, database store
data in table so that information can be quickly accessed from specific rows. Websites often use
table to display multiple rows of data on page. Spreadsheets combine both purpose of a table by
storing and displaying data in structured format.
Databases often contain multiple tables, with each one designed for a specific
purpose. For example, a company database may contain separate table for employees, clients
and suppliers. Each table may include its own set field, based on what data the table needs to
store. In database tables, each field is considered a column, while each entry (or record), is
considered a row. A specific value can be accessed from the table by requesting data from an
individual column and row.
1.student details:
2.Teacher details
3. course
4.class
Field Data type Constraint
class_id int(10) Primary key
class_name char(20) Not null
5.test
Field Data type Constraint
Id int(3) Not null
lect_id int(10) Not null
course_id int(10) Not null
test_name Var char(20) Not null
no_of_ques int(10) Not null
time int(6) Not null
type char(30) Not null
Srt_date datetime Not null
token Var char(10) Not null
5.SYSTEM TESTING AND IMPLEMENTATION
In SDLC, STLC, V Model, Unit testing is first level of testing done before
integration testing. Unit testing is a Whitebox testing technique that is usually performed by the
developer. Though, in a practical world due to time crunch or reluctance of developers to tests,
QA engineers also do unit testing.
Integration testing is the process of testing the interface between two software
units or modules. It focuses on determining the correctness of the interface. The purpose of
integration testing is to expose faults in the interaction between integrated units. Once all the
modules have been unit tested, integration testing is performed.
User Acceptance Testing (UAT), or application testing, is the final stage of any
software development or change request lifecycle before go-live. UAT meaning the final stage
of anydevelopment process to determine that the software does what it was designed to do in
real-world situations. Actual users test the software to determine if it does what it was designed
to do in real-world situations, validating changes made and assessing adherence to their
organization’s business requirements. The main purpose of acceptance testing is to validate end-
to-end business flow.
5.7.1 INTRODUCTION
Implementation is the stage in the project where the theoretical design is turned
into a working system. The implementation phase constructs, installs, and operates the new
system. The most crucial stage in achieving a new successful system is that it will work
efficiently and effectively.
There are several activities involved while implementing a new project. They are
End User Implementation means only those specific portions of End User
Products, developed through the use of a Company Toolkit, that (a) implement and are
compliant with all or part of the required portions of Structured Storage for the sole purpose of
implementing and being compliant with such required portions of the AAF Specification; and
(b) are branded with a trademark owned or controlled by End User.
software development is part of every business not just for software companies
themselves, but for every company which relies on software to deliver on their core business.
Thus, understanding the key tenets of Successful Software Implementation and Delivery is
valuable in any organization.
SYSTEM DESIGN
System design is the phase that bridges the gap between problem domain and the
existing system in a manageable way.
6.1 CONLUSION
Automated: Online examination system is fully automatic. It is therefore quite accurate and
valuable for both students and teachers. It also completely eliminates the necessity for
traditional pen-paper based examinations.
Modern Infrastructure: Universities and colleges need a modern online examination system to
analyze and enhance student results. To be able to meet the needs of our clients, we have
invested in the greatest infrastructure available.
Reliable & Secure: Amazon Web Services (AWS), the world’s most dependable cloud
provider, powers our application. These are the same services that power Facebook & Twitter.
Flexible & Accessible: The candidates/students can take the assessment or examination by
logging into the online examination system during class or at home with the use of their own
devices. Apart from this, They also get the opportunity to see their results and answers as instant
feedback about their knowledge or understanding of their chosen topics..
Quick Result Processing: The results of the online assessment are calculated practically
instantaneously and given to the students, Through an online examination system. In paper-
based assessments, however, evaluating the answer is a lengthy process and prone to human
mistakes.
Cost-effective: In the online examination, the examination cost is very minimal. All the
necessary processes are carried out digitally. The whole evaluation process is also done online
with the help of online cutting-edge AI technology thus reducing the cost of logistics.
Thus, With the use of a systematic online examination system, it has become quite simple for an
organization to carry out periodic and ongoing online assessments.
7. BIBLIOGRAPHY
BOOK REFERENCE
http://en.wikipedia.org/wiki/Web Audit_automation_system
http://www.koha.org/about-koha/
http://www.kohadocs.org/usersguide/ch01.html
http://www.kohadocs.org/usersguide/ch01s01.html
http://www.kohadocs.org/usersguide/ch01s02.html
http://www.kohadocs.org/usersguide/ch01s03.html
http://www.kohadocs.org/usersguide/ch01s04.html
WEBSITE REFERENCE
https://www.iconfinder.com/
www.studytonight.com
www.tutlane.com
www.jQuery.com
https://dotnet.microsoft.com/
https://procodeguide.com/
https://www.sensibledev.com/
https://www.c-sharpcorner.com/
https://www.javatpoint.com/
8. APPENDIX
<?php
$query = $this->db->get($table)->num_rows();
return $query;
}
$this->db->select('*');
$this->db->from($table);
$this->db->where($pk, $id);
$this->db->join($table, $field);
$this->db->order_by($field, $sort);
$query = $this->db->get();
return $query;
}
}
$this->db->select('a.id');
$this->db->from('users a');
$this->db->where_not_in('b.group_id', ['1']);
return $this->db->get()->result();
$this->load->helper('file');
$this->db->truncate($tb);
}
$this->db->query('SET FOREIGN_KEY_CHECKS = 1');
delete_files('./uploads/bank_soal/');
$users = $this->not_admin();
return;
}
public function create($table, $data, $batch = false)
} else {
return $insert;
} else {
return $insert;
$this->db->where_in($pk, $data);
return $this->db->delete($table);
/**
* Data Kelas
*/
$this->datatables->from('kelas');
$this->datatables->join('jurusan', 'jurusan_id=id_jurusan');
return $this->datatables->generate();
$this->db->where_in('id_kelas', $id);
$this->db->order_by('nama_kelas');
$query = $this->db->get('kelas')->result();
return $query;
}
/**
* Data Jurusan
*/
$this->datatables->select('id_jurusan, nama_jurusan');
$this->datatables->from('jurusan');
return $this->datatables->generate();
$this->db->where_in('id_jurusan', $id);
$this->db->order_by('nama_jurusan');
$query = $this->db->get('jurusan')->result();
return $query;
}
/**
* Data Mahasiswa
*/
$this->datatables->from('mahasiswa a');
return $this->datatables->generate();
$this->db->select('*');
$this->db->from('mahasiswa');
$this->db->join('kelas', 'kelas_id=id_kelas');
$this->db->join('jurusan', 'jurusan_id=id_jurusan');
return $this->db->get()->row();
}
$this->db->select('id_jurusan, nama_jurusan');
$this->db->from('kelas');
$this->db->join('jurusan', 'jurusan_id=id_jurusan');
$this->db->order_by('nama_jurusan', 'ASC');
$this->db->group_by('id_jurusan');
$query = $this->db->get();
return $query->result();
$this->db->order_by('nama_jurusan', 'ASC');
return $this->db->get('jurusan')->result();
} else {
$this->db->select('jurusan_id');
$this->db->from('jurusan_matkul');
$this->db->where('matkul_id', $id);
$jurusan = $this->db->get()->result();
$id_jurusan = [];
$id_jurusan[] = $j->jurusan_id;
$id_jurusan = null;
$this->db->select('*');
$this->db->from('jurusan');
$this->db->where_not_in('id_jurusan', $id_jurusan);
$matkul = $this->db->get()->result();
return $matkul;
return $query->result();
/**
* Data Dosen
*/
$this->datatables->from('dosen a');
return $this->datatables->generate();
return $query->row();
/**
* Data Matkul
*/
$this->datatables->select('id_matkul, nama_matkul');
$this->datatables->from('matkul');
return $this->datatables->generate();
return $this->db->get('matkul')->result();
$this->db->where_in('id_matkul', $id);
$this->db->order_by('nama_matkul');
$query = $this->db->get('matkul')->result();
} else {
return $query;
}
/**
*/
$this->datatables->from('kelas_dosen');
$this->datatables->join('kelas', 'kelas_id=id_kelas');
$this->datatables->join('dosen', 'dosen_id=id_dosen');
$this->datatables->group_by('dosen.nama_dosen');
return $this->datatables->generate();
$this->db->select('dosen_id');
$this->db->from('kelas_dosen');
$this->db->where_not_in('dosen_id', [$id]);
$dosen = $this->db->get()->result();
$id_dosen = [];
$id_dosen[] = $d->dosen_id;
$id_dosen = null;
$this->db->from('dosen');
$this->db->where_not_in('id_dosen', $id_dosen);
return $this->db->get()->result();
$this->db->from('kelas');
$this->db->join('jurusan', 'jurusan_id=id_jurusan');
$this->db->order_by('nama_kelas');
return $this->db->get()->result();
}
public function getKelasByDosen($id)
$this->db->select('kelas.id_kelas');
$this->db->from('kelas_dosen');
$this->db->join('kelas', 'kelas_dosen.kelas_id=kelas.id_kelas');
$this->db->where('dosen_id', $id);
$query = $this->db->get()->result();
return $query;
/**
*/
$this->datatables->from('jurusan_matkul');
$this->datatables->join('matkul', 'matkul_id=id_matkul');
$this->datatables->join('jurusan', 'jurusan_id=id_jurusan');
$this->datatables->group_by('matkul.nama_matkul');
return $this->datatables->generate();
}
$this->db->select('matkul_id');
$this->db->from('jurusan_matkul');
$this->db->where_not_in('matkul_id', [$id]);
$matkul = $this->db->get()->result();
$id_matkul = [];
$id_matkul[] = $d->matkul_id;
$id_matkul = null;
$this->db->select('id_matkul, nama_matkul');
$this->db->from('matkul');
$this->db->where_not_in('id_matkul', $id_matkul);
return $this->db->get()->result();
}
public function getJurusanByIdMatkul($id)
$this->db->select('jurusan.id_jurusan');
$this->db->from('jurusan_matkul');
$this->db->join('jurusan', 'jurusan_matkul.jurusan_id=jurusan.id_jurusan');
$this->db->where('matkul_id', $id);
$query = $this->db->get()->result();
return $query;
$this->datatables->from('tb_soal a');
$this->datatables->where('a.matkul_id', $id);
$this->datatables->where('a.dosen_id', $dosen);
<?php
$this->datatables->from('m_ujian a');
if($id!==null){
$this->datatables->where('dosen_id', $id);
return $this->datatables->generate();
$this->datatables->from('m_ujian a');
$this->datatables->where('d.id_kelas', $kelas);
return $this->datatables->generate();
$this->db->select('*');
$this->db->from('m_ujian a');
$this->db->where('id_ujian', $id);
return $this->db->get()->row();
}
public function getIdDosen($nip)
return $this->db->get()->row();
$this->db->select('COUNT(id_soal) as jml_soal');
$this->db->from('tb_soal');
$this->db->where('dosen_id', $dosen);
return $this->db->get()->row();
$this->db->select('*');
$this->db->from('mahasiswa a');
$this->db->where('nim', $nim);
return $this->db->get()->row();
}
public function HslUjian($id, $mhs)
$this->db->from('h_ujian');
$this->db->where('ujian_id', $id);
$this->db->where('mahasiswa_id', $mhs);
return $this->db->get();
$ujian = $this->getUjianById($id);
$this->db->from('tb_soal');
$this->db->where('dosen_id', $ujian->dosen_id);
$this->db->where('matkul_id', $ujian->matkul_id);
$this->db->order_by($order);
$this->db->limit($ujian->jumlah_soal);
return $this->db->get()->result();
}
$this->db->from('tb_soal');
$this->db->where('id_soal', $pc_urut_soal_arr);
return $this->db->get()->row();
$this->db->select('list_jawaban');
$this->db->from('h_ujian');
$this->db->where('id', $id_tes);
return $this->db->get()->row()->list_jawaban;
$this->datatables->select('c.nama_matkul, d.nama_dosen');
$this->datatables->from('h_ujian a');
$this->datatables->group_by('b.id_ujian');
$this->datatables->where('d.nip', $nip);
return $this->datatables->generate();
if($dt===false){
$db = "db";
$get = "get";
}else{
$db = "datatables";
$get = "generate";
$this->$db->from('mahasiswa a');
$this->$db->join('kelas b', 'a.kelas_id=b.id_kelas');
return $this->$db->$get();
$this->db->select_min('nilai', 'min_nilai');
$this->db->select_max('nilai', 'max_nilai');
$this->db->select_avg('FORMAT(FLOOR(nilai),0)', 'avg_nilai');
$this->db->where('ujian_id', $id);
return $this->db->get('h_ujian')->row();
1. LOGIN PAGE
2. ADMIN DASHBOARD
3. LECTURER DASHBOARD
ADD LECTURER
3. STUDENT
ADD STUDENT
4. CREATE QUESTION