0% found this document useful (0 votes)
19 views101 pages

02 - 07 Final Project

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

02 - 07 Final Project

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

A

Project Report
on
Online Test Application

Submitted by:
Sumit Kumar (Roll No. 02)
Registration No -: 204202100887
Umang Verma (Roll No. 07)
Registration No -: 204202100864
Session: (2020-23)

Under the Supervision of:


Sunil Kumar

Submitted to:
Department of Computer Application
Patna College
Patna University, Patna
1.
GUIDE CERTIFICATE

This is to certify that the project entitled “Online Test


Application” submitted for the partial fulfilment of the
requirements for the degree of the Bachelor of
Computer Application of Patna University.

Mr. Sumit Kumar and Mr. Umang Verma worked


under my supervision and guidance and that no part of this
report has been submitted for the award of any other degree,
diploma, followship or other similar title or prizes and that
the work has been published in a journal or magazine.

Guided by: Sunil Kumar

2.
CERTIFICATE OF APPROVAL
This is to certify that the project entitled
" Online Test Application”
developed by
Sumit Kumar (Roll No. 02)
Registration No -: 204202100887
Umang Verma (Roll No. 07)
Registration No -: 204202100864
of
Department of Computer Science, for the session of
2020 – 2023 of Patna College is
worthy of consideration for the partial fulfilment of
the requirement for the
award of degree of B.A. in Computer Application
from Patna University.

………………………. …………………………
INTERNAL EXAMINER EXTERNAL EXAMINER

…………………………….
HEAD OF DEPARTMENT

3
DECLARATION
We hereby declare that the Project Report
entitled “Online Test Application” submitted
for partial fulfilment of the requirements for
the degree of B.A. in Computer
Application of Patna College, Patna
University and not submitted for the award
of any other degree or diploma or any
followship or other similar title or prizes.

Date:

4
Acknowledgements
In Successfully Completing this project, many people
helped us. We would like to thank all those who are
related to this project.
Firstly, we would like to express our special thanks of
gratitude to Sunil Kumar as well as our Co-Ordinator of
department Dr. Avinash Kumar who gave us the golden
opportunity to do this wonderful project on the topic
“Online Test Application”, which also helped us in
doing a lot of research and we came to know about so
many new things we are really thankful to them. His
constant guidance, encouragement and valuable
feedback led us to this successful completion of this
project.
We learnt a lot about this project. There directions and
suggestions helped in the completion of this project.
Finally, we would also like to thank our parents and
friends who helped us a lot in finalizing this project
within the limited time frame.

5
Contents
S. Topic Page No
No
1. Abstract 08 – 09
2. Introduction 10 – 12
3. Motivation 13 – 16
4. Objectives 17 – 19
5. Requirement Analysis 20 – 21
6. Entity Relationship Diagram 22 – 22
7. Data Flow Diagram 23 – 29
8. Functionality of Online Test 30 – 30
Application
9. Coding of online Test 31 – 68
Application
10. Implementation 69 – 75
11. Testing 76 – 76
12. Testing objective 77 – 88
13. Output 89 – 92
14. Limitation 93 – 94
15. Conclusion 95 – 97
16. Summery 98 – 99
17. Future Enhancement 100 – 100
18. Bibliography 101 – 101

6
Lists of Figures
Fig About the figures
.No
1. Architecture of Online Test Application
2. Use Case Diagram
3. Entity Relationship Diagram
4. Data Flow Diagram ( Context Level or Zero
level)
5. Data Flow Diagram ( First Level )
6. Data Flow Diagram ( Second Level )
7. White Box Testing
8. Black Box Testing
9. Testing process
10. Output Screenshot ( Enter Your Name )
11. Output Screenshot ( Name Entry )
12. Output Screenshot ( Welcome & Instructions )
13. Output Screenshot ( Question 1 )
14. Output Screenshot ( Question 3 )
15. Output Screenshot ( Submission of test )
16. Output Screenshot ( Result of the test )

7
Today, Online Test System is considered a fast
developing examination method because of its
accuracy and speed. It is also needed less
manpower to handle the examination. Almost
all organizations today, are managing their
exams by online test application, since it
reduces student's time in examinations.

As result of this, the result is calculated in less


time. It also helps diminishing the need for
paper. According to today’s requirement
Online Test Application is significantly
important to the educational institution to
prepare the exams, saving the time and
effort that is required to check the exam
papers and to prepare the results reports.

8
Online Test Application system helps the
educational institutions to monitor their
students and keep eyes on their progress. The
best use of this system in Scholastic Institute
and training centres because it helps in
managing the exams and get the results in easy
and an efficient manner.

Until today the preparing for exams and


preparing the results was performed
manually, this required more time to
complete.

9
❖ Online Test Application System is a
technology-driven way to simplify
examination activities like defining exam
patterns with question banks, defining
exam timer, objective/ subjective question
sections, conducting exams using the
computer or mobile devices in a paperless
manner.
❖ Online tests eliminate the need for printed
exam papers, answer sheets, and physical
invigilation, resulting in significant time and
cost savings. There's no need to print and
distribute test materials or allocate physical
spaces for exams.

❖ Online test applications can provide


instant feedback and immediate test
results to participants. Once the exam is
completed, scores and performance

10
summaries can be generated automatically,
allowing test-takers to receive instant
feedback on their performance.

❖ Organizations can also easily monitor


the progress of the student that they
give through an examination. As a result of
this, the result is calculated in less time.

❖ Online test applications provide


convenience and flexibility to both test
administrators and participants. Tests can
be taken remotely from any location with
an internet connection, eliminating the
need for physical presence in a specific
venue.

❖ By eliminating the need for paper-based


tests, online test applications contribute to
reducing paper waste and have a positive
environmental impact. This aligns with

11
sustainability goals and promotes eco-
friendly practices.

❖ Overall, online test applications offer


numerous benefits, including convenience,
cost savings, enhanced security, instant
feedback, data analysis, scalability,
accessibility, and environmental
sustainability. These advantages make
them an increasingly popular choice for
educational institutions, certification
programs, and various assessment
purposes.

12
Motivation
1. Security of Examination Paper

❖ Papers and answer sheets are physically


accessible in offline exams. This can increase the
risk of unauthorized access, tampering, or theft.

❖ There is less risk of security breaches with


online exams since exam materials are not
handled physically.

❖ Online exam applications can incorporate


various anti-cheating measures, such as question
randomization, time limits, and question banks.
Collaboration and cheating by sharing answers
are difficult with these measures.

❖ Additionally, online testing tools, including


live video monitoring and screen sharing, can
help detect cheating behaviours.
❖ There is also a possibility for the paper to get
leaked while passing it to different examination

13
centres, this risk is eliminated by the use of an
online examination system.

2. Quick Result Processing

❖ Online exams deliver accurate and instant


results.
❖ A paper-based examination involves many
phases, which causes the paper evaluation
process to take a long time and is prone to
human mistake.
3. Get rid of Examination Centres

❖ Wherever the candidate is, the exam can be


taken using an online test application. A web
camera and microphone can be used to conduct
test surveillance. Such a method of conducting an
exam is called Remote Proctoring. When an exam
is held remotely, hundreds of thousands of
students can take the test without having to pay for
travel or accommodation.

❖ This also addresses the issue of scheduling


exams across multiple exam centres, engaging
14
invigilators, providing security to these centres,
and so on.

4. Reduced Logistical Costs

❖ The logistics cost for an online exam is


minimal. Technology is used to handle the
examination process.
❖ The processing of results is also done online,
which lowers the cost of logistics.
❖ In a paper-based exam, the logistics cost is high,
since a lot of factors like exam centres, hiring
invigilators, etc, has to be considered. As Question
papers and answer sheets must be provided on time
to approved exam centres.

❖ Also, there needs to be a system to collect back


answer sheets from all exam centres to a central
location for further processing.

5. End users

15
Online examination system is predominantly
used by:-

❖ Schools
❖ Colleges
❖ Universities
❖ Coaching institutes
❖ Government exam bodies and
❖ Corporate companies to conduct online
assessments at ease.

16
• The primary goal of this application is to allow
users to take tests online and display results
instantly.
• Here we provide a fixed time limit in which the user
has to answer the question. Otherwise, the test will
be stopped immediately.
• In this application we are going to provide and alert
when two minutes are remaining.
• In the result we are going to provide the following
information :-

❖Total marks obtained


❖Percentage of marks obtained
❖Correctness of every question attempts.

• We are going to use JAVA Language .


• Architecture of Online Test Application.

17
• Multiple choice, fill in the blanks, and free text. These
are the options you can use with our online test
application. Having more than one option is
necessary to check several types of knowledge. Not
all examination can be checked with multiple choice
questions.

• The online test can be created for people who


have been invited or who must log in with a
username and password.

18
•The main aim of developing this Online test
application is to provide all college students a
platform for test without manual efforts.
• This system not only saves lot of time but also

provides fast results in case of any consideration.

• It takes a long time to go over all of the answers.


Having the answers checked automatically and
instantly will thus pay off in the long run. It is less work
for the exam creator, and participants do not have to
wait as long for the results of their exams.
Assassinating two birds with one stone.

• User-friendly systems are not only needed for the


creator, but also for participants. It has a lot of
options, but is still something you can figure out
without needing a manual. Of course, an online test
application is different, but still has some similarities.
Once an online test application is not user-friendly,
creators and participants will move on to another
application. This is obviously something you don't
want to happen.

19
Requirement Analysis
➢ User Interfaces
❖ Login Screen:
Fields available on this screen are:-
➢ Login Name
❖ Entering Questions: Various Fields are:-
• Questions
• Options (4)
• Correct Answer
❖ Exam Details Screen:
Various Fields are:
• Exam Name
• No. Of Questions
• Time Limit
• Passing Marks
❖ Result Displaying Screen:
Various Fields are:
• No. Of Correct Questions
• No. Of Incorrect Questions
• Total Marks
• Result(Pass/Fail)

➢ Hardware Interfaces
❖ Screen resolution of at least 800X600 is required for
proper and complete viewing of screens.
❖ Higher resolution will be accepted.

20
➢ Software Interfaces
❖ Any windows-based operating system: -
• JAVA
Communication Interfaces
• None
Functional Requirements
❖ This section gives a functional requirement that
applicable to the Online Examination system.
❖ There are three sub modules in this phase.

• Candidate module.
• Examiner module.
• Administrator module.
• Result rankings module.
• Discussion Forum module.

➢ Behaviour Requirement
❖ Use Case Diagram

21
Fig. No. - 2

Entity Relationship Diagram

Fig. No. - 3

22
Data Flow Diagram
• Data flow diagram for Online Test
Application is used to create an
overview of online examination system
without going in too much detail.
• The Online Test Application is used to
take student examination online with
the help of computer system. This
process saves a lot of time in
evaluation process and result can also
be prepared instantly.

• The overall Exam System is


represented and described using input,
processing and output in DFD. The
DFD diagram for Online Test
Application provides information about
the inputs and outputs of each process
and entity of entire system such as
student, exam administrator, question
paper, questions etc.

23
• There are many inputs and outputs of
an online test application, such as
students, exam administrators,
question papers, and questions, in the
DFD diagram, which shows the inputs
and outputs of each process and
entity.
• As an example, the DFD diagram
below shows the inputs and outputs of
the Online Test Application, for
example, the inputs and outputs of the
students, the exam administrators, the
question papers, and the question
itself.

• This diagram shows the inputs and


outputs of each process and entity, like
the students, exam administrators,
question papers, and test questions, in
the context of Online Test Application.

• In terms of Online Test Application, the


DFD diagram is used for showing the
24
inputs and outputs of each process
and entity, such as students, exam
administrators, question papers, and
questions, that takes place within the
application.

➢ Following are Online Test Application


1. DFD level zero level, one level , two level
2. Context Level (0 Level) DFD
3. First Level Data Flow Diagram (1 Level
DFD)
4. Second Level Data Flow Diagram ( 2
Level DFD)

Context Level (0 Level) DFD


The Zero Level DFD for Online Test System
depicts the overall process of online testing. It
is meant to be an abstract representation of
the overall system. This is also known as an
Online Test Application context diagram, in
which the entire system is represented as a
single process with its relationships to

25
external entities such as admin, students, and
so on.

In this data flow diagram, you will see the


general process done during exam process.

First Level Data Flow Diagram


The first level DFD (1st Level) of the Online
Test Application displays more processing
details. Level 1 DFD describes all of the major
subprocesses that comprise the entire
system. It also identifies the data store of the
student record, which contains all of the

26
student's data, and the OES Master Record,
which contains several master data used
throughout the system such as class data,
subject data, question data, and so on, and
which will be used during various other
processes such as student registration,
question paper setup, online examination,
and so on.

❖ The important process to be carried out


are:
• Student Registration
• Login & Access Management
• OES Master & Question Paper Setup
• Conduct Examination
• Certificate & Report
• The level 1 DFD for Online Test Application
provides a broad overview but go into
greater depth than context level
diagram.

27
Fig. No. - 5

Level 2 DFD for Online Test


❖ The first level (1St level) DFD of Online
Examination System represents how the
system is divided into sub systems and
the second level provides more details
about OES Master & Question Paper

28
Setup and Conduct online examination
such as:
• Class/course entry,
• Exam subject entry,
• Question entry,
• Exam paper setup,
• Conduct examination,
• Prepare result,
• Exam Paper Record etc.

Diagram of Level 2 DFD for Online


Test Application

29
Functionality of Online Test
Application
❖ Admin can add, edit and delete master
records for online exam such as:
Class/course
Subject etc.
❖ Admin can add, edit and delete question.
❖ Admin can prepare examination paper
❖ Admin can add, edit and delete
examination schedule
❖ Student can register online.
❖ Student can participate in online
examination and submit their answers.
❖ Admin can prepare result
❖ Students can print certificate of examination.
After viewing this level, you will have a better
understanding of where data input goes and
where output data comes from. This Level 2 Data
Flow Diagram depicts a detailed process of online
examination as well as data that flows into the
system.

30
Coding of online TesT
AppliCATion

import java.awt. *;
import java.awt. event.*;
import javax.swing.*;

class QuestionSeries{
static String info ="Java Online Test
Week \n \nINSTRUCTIONS:\nThere are
25 questions in this test and 25 minutes to
complete them all.\nThe finish button is
highlighted in blue when you reach the
end of the test. \nClicking the finish button
will display the results with the correct
answers marked in light red. \n \nThe
timecounter begins when you click on the
'start' button \n \nBest of luck!\n";

static String []question ={


"Question 1:\nWhat is the result of
attempting to compile and run the
following program?\n\npublic class
JavaAppclass{\npublic static void
31
main(String args){\n String myString =
\"javaprograms\";\n System.out.println(m
yString);\n }\n}\n",

"Question 2:\nWhat is the result of


attempting to compile and run the
following program with \n\n>javac
JavaApp.java\n>java JavaApp\n\nclass
TryFirst{\n String myString =
\"javatest\";\n}\n\nclass
JavaApp{\n\npublic static void
main(String[] arg){\n
System.out.println(new
TryFirst().myString);\n}\n}\n",

"Question 3: \nWhat is the result of


attempting to compile and run the
following program with \n>javac
JavaApp.java\n>java JavaApp\n\nclass
MyJavaApp{ \n String myString =
\"elephants\"; \npublic static void
main(String[] arg){
\n System.out.println(myString); \n }
\n}\n",

32
"Question 4:\nWhat is the result?\n\nclass
JavaApp{ \n public static void
main(String[] a){ \n String textstr =
\"hello\";\n for (int i=4; i<5;
i++)\n System.out.println(str); \n }
\n}\n",

"Question 5:\nWhat is the result


here?\n\nclass MyJavaApp{ \n public
static void main(String[] a){ \n int
j=0;\n for (int i=0; i<3; i++)
j=j+i;\n System.out.println(j); \n } \n}\n",
"Question 6:\nWhat is the result?\n\nclass
MyJavaApp{ \n public static void
main(String[] a){ \n int num1;\n int
num2 = 7;\n num2= num1 * 2
+3;\n System.out.println(num2); \n }
\n}\n",

"Question 7:\nWhat is the result?\n\nclass


MyJavaApp{ \n int num1;\n public static
void main(String[] a){
\n number1=2;\n int number2 =
7;\n number2= number1 * 2

33
+3;\n System.out.println(number2); \n }
\n}\n",

"Question 8:\nWhat is the result?\n\nclass


JavaApp{ \n static int number1 =
4;\n public static void main(String[] a){
\n number1=2;\n int number2 =
7;\n number2= number1 * 2
+3;\n System.out.println(number2); \n }
\n}\n",

"Question 9:\nWhat is the result?\n\nclass


JavaApp{ \n static int number1 =
3;\n public static void main(String[]
arg)\n int number2 = 7;\n number2=
number2 + number1 * 2
+3;\n System.out.println(number2); \n }
\n}\n",
"Question 10:\nWhat is the result of
compiling and running the following
code?\n\nclass JavaApp{ \n public static
void main(String[] a){\n int x = (int)
(Math.random());\n System.out.println(x)
; \n } \n}\n",

34
"Question 11:\nWhat is the
result?\n\nclass Tryclass{ \n static String
text = \"rabbit\";\n public static void
main(String[] a){\n int num =
text.length;\n System.out.println(num);
\n } \n}\n",

"Question 12:\nWhat would be the result


here?\n\nclass Myclass{ \n public static
void main(String[] a){\n char
[]rabbit={'a','b','c','d'};\n int num =
rabbit.length;\n System.out.println(num);
\n } \n}\n",

"Question 13:\nWhat is the result


here?\n\nclass JavaApp{ \n public static
void main(String[] a){\n int number =
10;\n String mystr =
Integer.toBinaryString(number);\n Syste
m.out.println(mystr); \n } \n}\n",
"Question 14:\nWhat would be the result if
we were to run this program with\n>java
MyJavaApp hello java world ?\n\nclass
MyJavaApp{ \npublic static void
main(String[]
35
args){\n System.out.println(args[1]); \n }
\n}\n",

"Question 15:\nWhat is the result of this


program?\n\nclass MyJavaApp{ \n public
static void main(String[] a){\n double d
=1.75;\n int i =
d;\n System.out.println(i++); \n } \n}\n",

"Question 16:\nWhat is the result of this


program?\n\nclass MyJavaApp{ \n public
static void main(String[] a){\n int 1stNum
= 5;\n int 2ndNum = 3;\n double d
=1.25
+1stNum/2ndNum;\n System.out.println(
d); \n } \n}\n",

"Question 17:\nWhat is the result of this


program?\n\nclass MyJavaApp{ \n public
static void main(String[] arg){\n int Num1
= 5;\n int Num2 = 4;\n double d =1.25
+Num1/Num2;\n System.out.println(d);
\n } \n}\n",
"Question 18:\nWhat is the result of this
program?\n\nclass TryJavaApp{ \n static
36
float f;\n public static void main(String[]
ar){\n int Number = 5;\n f =
1.25; \n System.out.println(f*4); \n }
\n}\n",

"Question 19:\nWhat is the result of this


program?\n\nclass JavaApp{ \n static
float f;\n public static void main(String[]
ar){\n int Num = 2;\n f = (float)1.25 *
2; \n System.out.println(f * Num); \n }
\n}\n",

"Question 20:\nWhat is the result of this


program?\n\nclass HelloJavaApp{ \n
public static void main(String[]
ar){\n byte num = 64;\n num +=
num;\n System.out.println(num); \n }
\n}\n",

"Question 21:\nWhat is the result of this


program?\n\nclass JavaApp{ \n public
static void main(String[] a){\n double d =
1.56789;\n long num =
Math.round(d);\n System.out.println(num
); \n } \n}\n",
37
"Question 22:\nWhat is the result of this
program?\n\nclass JavaApp{ \n public
static void main(String[] a){\n double d =
1.56789;\n int num = (int)Math.round(d *
d);\n System.out.println(num); \n }
\n}\n",

"Question 23:\nWhat is the result of this


program?\n\nclass MyJavaApp{\npublic
static void main(String[] arg){\n double
doub1 = 1.51;\n int number1 = (int)
(doub1
+0.5);\n System.out.println(number1);
\n double doub2 = -1.51;\n int
number2 = (int) (doub2
+0.5);\n System.out.println(number2);
\n } \n}\n",

"Question 24:\nWhat is the result of this


program?\n\nclass TryApp{ \npublic static
void main(String[] arg){\n int num =
4;\n num = (num + 4/2) %
num+1;\n System.out.println(num); \n }
\n}\n",
38
"Question 25:\nWhat is the
result?\n\nclass MyApp{ \n public static
void main(String[] ar){\n for(int i=0; i<3;
i++)\n for(int j=1; j<3;
j++)\n System.out.print(j+i+\",\"); \n }
\n}\n"
};

static String [][]answers ={{"It will not


compile as the main method String is not
an array\n","It will compile but there will be
a runtime error if we try to run it with:-
\n>java JavaApp\n","The program is fine,
but we will need another program to run it
and get the output.\n","It will compile and
run and output \"java\" to the
screen\n"},{"It will not compile as you
cannot have 2 java source files on the
same page\n"," \nIt will output
\"javatest","It will not compile as the String
myString is not-static and it is being
accessed from a static method\n"," \nIt
compiles but there is no output at
39
runtime\n"},{" \nFine - it will output
elephants\n","Runtime error MyJavaApp is
not public\n","Compiler error myString is a
non-static variable being accessed in a
static method\n","Compile error in the
main() method\n"},{" \nIt will output
hello\n","The output will
be \nhello\nhello\n"," \nNo output the for
loop needs a ' ; ' at the end\n","
\nCompilation error for loops have to start
with a zero\n"},{" \n3\n"," \n6\n"," \n4\n","
\n2\n"},{" \n17\n"," \n5\n"," \n3\n","It won't
compile\n"},{" \n14\n"," \n7\n"," \n17\n","
\nError.\n"},{" \n16\n"," \n14\n"," \n7\n","
\nError\n"},{" \n15\n"," \n23\n"," \n50\n","
\nError\n"},{" \n1\n"," \nYou cannot predict
the random result\n"," \n0\n","
\nError\n"},{" \n6\n"," \n5\n"," \n0\n","
\nError\n"},{" \n4\n"," \n3\n"," \n0\n","
\nError\n"},{" \n00001010\n"," \n10\n","
\n1010\n"," \nError\n"},{"hello java
world\n"," \nhello\n"," \njava\n","
\nworld\n"},{" \n1.75\n"," \n2\n"," \n3\n","
\nError\n"},{" \n3.25\n"," \n2.25\n"," \n2.2...
and a very long number\n"," \nThe code
40
will not compile\n"},{" \n2.5\n"," \n2.25\n","
\n2.2 ... -something and a very long
number\n"," \nThe code will not
compile\n"},{" \nError float f is not
initialised\n"," \noutput: 5\n"," \noutput:
5.0\n"," \nError, this is not a valid way to
initialise a float type variable\n"},{"
\n4.0\n"," \n5\n"," \n5.0\n"," \nError, it will
not compile\n"},{" \n128\n"," \n-128\n","
\n1\n"," \nError, number is out of
range\n"},{" \n1\n"," \n2\n"," \n1.0\n","
\nError\n"},{"3. - and to 15 decimal
places\n"," \n2\n"," \n3\n"," \nError\n"},{" 2
\n-2\n"," 1\n-2\n"," 2\n-1\n"," 1\n-1\n"},{"
\n1\n"," \n3\n"," \n4\n","
\n6\n"},{"1,2,2,3,3,4\n","1,2,3,3,4,6\n","1,2,
3,4\n"," \n0,1,1,2,2,3,3,4\n"} };

static int []n =


{2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1};
static String []choice=
{"23","2","3","1","1","4","4","3","4","3","4","1
","3","3","4","4","2","4","3","2","2","3","3","2
","1"};
41
static int tally = choice.length;
static String testtitle="Java Programming
Online Test";
static int timeLimit =10;
static int passMark = 15;
}

/* OnlineTest class */

public class OnlineTest extends JFrame


{
static String studentname =" ";
static int TOTAL=0;

static
{
try
{
TOTAL = QuestionSeries.tally;

/* The input window */

42
studentname =
JOptionPane.showInputDialog(" Enter
your name: ");
if(studentname.length() < 1)
studentname = "Anonymous ";
else
studentname = studentname.trim()
+ " ";
}
catch(NullPointerException e)
{
System.exit(0);
}
}

int seconds, minutes;


int quesnum, itemCheck, mark;
final String TESTTITLE =
QuestionSeries.testtitle;
final int TIMELIMIT =
QuestionSeries.timeLimit;
final int PASS =
QuestionSeries.passMark;
String []answers = new String[TOTAL];

43
JButton []choice_button = new
JButton[6];
JTextArea answerboxes[] = new
JTextArea[4];
JCheckBox []boxes = new
JCheckBox[4];
JTextPane pane = new JTextPane();
JLabel student, choose, message,
timecounter, testresult;
boolean start_test, check_answer,
allowRestart, finishtest;
Northwindow panelNorth = new
Northwindow();
Southwindow panelSouth = new
Southwindow();
Centerwindow panelCenter = new
Centerwindow();

/* OnlineTest Constructor */
protected OnlineTest()
{
for (int i=0; i<TOTAL; i++)
answers[i] ="";

44
getContentPane().setLayout(new
BorderLayout() );
getContentPane().add("North",
panelNorth);
getContentPane().add("South",
panelSouth);
getContentPane().add("Center",
panelCenter);
int width = 0, height=0;
if(java.awt.Toolkit.getDefaultToolki
t().getScreenSize().getWidth()<799)
{
width= 640;
height=460;
}
else
{
width=720;
height=540;
}
setSize(width,height);
Dimension dim =
java.awt.Toolkit.getDefaultToolkit().getScr
eenSize();

45
setLocation((dim.width-width)/2,
(dim.height-height)/2);
}
`
/**
** Northwindow class
**/

class Northwindow extends JPanel


{

/**
** Northwindow constructor
**/

public Northwindow()
{
setLayout(new GridLayout(2,2));
setBackground(new Color(230,
230, 255));
student = new JLabel("\t Welcome
: "+studentname+" to the Online Java
Test");

46
student.setFont(new
Font("",Font.BOLD,16) );
message = new JLabel();
message.setForeground(Color.blu
e);
add(student);
add(message);
add(new JLabel(" ") );
add(new JLabel(" ") );
setBorder(BorderFactory.createEt
chedBorder() );
}
}

/**
** Southwindow class
**/

class Southwindow extends JPanel


{
public Southwindow()
{

47
String []key =
{"","start:","next:","finish:","check
next:","check previous:"};
for(int i=0;
i<choice_button.length; i++)
{
choice_button[i] = new
JButton(key[i]);
choice_button[i].addActionLis
tener(new ActionHandler() );
if(i !=0)
add(choice_button[i]);
}
setBorder(BorderFactory.createEt
chedBorder() );
}
}

/**
** Centerwindow class
**/

class Centerwindow extends JPanel


{
48
public Centerwindow()
{
setLayout(new GridLayout(1,2) );
JScrollPane west = new
JScrollPane(pane);
pane.setForeground(Color.red);

pane.setFont(new Font
("monospaced",0,12) );
pane.setText(QuestionSeries.info);
pane.setEditable(false);
JPanel east = new JPanel();
east.setLayout(new
BorderLayout() );
JPanel northEast = new JPanel();
northEast.setBackground(new
Color(230, 230, 255) );
east.add("North", northEast);
JPanel westEast = new JPanel();
westEast.setLayout(new
GridLayout(6,1) );
east.add("West", westEast);
JPanel centerEast = new JPanel();
centerEast.setLayout(new
GridLayout(6,1) );
49
centerEast.setBackground(new
Color(255,255,200));
east.add("Center",
centerEast);
timecounter = new JLabel("There
are "+ TOTAL +" questions in total");
timecounter.setFont(new Font
("Arial",Font.BOLD,16) );
timecounter.setForeground(new
Color(0,90,20) );
northEast.add(timecounter);
westEast.add(new JLabel(" "));
String []boxs = {" A ", " B ", " C ", "
D "};
for(int i=0; i<boxes.length; i++)
{
boxes[i] = new
JCheckBox(boxs[i]);
boxes[i].addItemListener(new
ItemHandler() );
westEast.add(boxes[i]);
}
westEast.add(new JLabel() );
choose = new JLabel(" CHOOSE
CORRECT ANSWERS");
50
choose.setBorder(BorderFactory.c
reateEtchedBorder() );
centerEast.add(choose);
JScrollPane panes[] = new
JScrollPane[4];
for(int i=0; i<answerboxes.length;
i++)
{
answerboxes[i] = new
JTextArea();
answerboxes[i].setBorder(Borde
rFactory.createEtchedBorder() );
answerboxes[i].setEditable(false
);
answerboxes[i].setBackground(
Color.white);
answerboxes[i].setFont(new
Font("",0,12) );
answerboxes[i].setLineWrap(tru
e);
answerboxes[i].setWrapStyleW
ord(true);
panes[i] = new
JScrollPane(answerboxes[i]);
centerEast.add(panes[i]);
51
}
if(TIMELIMIT >0)
testresult = new
JLabel(studentname+", You have only :
"+TIMELIMIT+" minutes to complete.");
else
testresult = new JLabel("There is
no time limit for this test");
testresult.setBorder(BorderFactory
.createEtchedBorder() );
centerEast.add(testresult);
add(west);
add(east);
}
}

/**
** ActionHandler class to handle all the
action events from the buttons.
**/

class ActionHandler implements


ActionListener
{
52
/* actionPerformed method */

public void
actionPerformed(ActionEvent evt)
{
String source =
evt.getActionCommand();
if(source.equals("start:"))
{
choice_button[1].setVisible(false
);
start_test=true;
allowRestart=true;
if(TIMELIMIT >0)
new Timer(); // inner Timer class
panelSouth.remove(choice_butt
on[1]); //start
displayquestion();
}
if(start_test)
{
if(source.equals("previous:"))
{
recordanswer();
53
quesnum--;
if(quesnum == -1)
quesnum=TOTAL-1;
checkteststatus();
displayquestion();
}
if(source.equals("next:"))
{
recordanswer();
quesnum++;
if(quesnum == TOTAL-1)
finishtest=true;
if(quesnum == TOTAL)
quesnum=0;
checkteststatus();
displayquestion();
}
if(source.equals("finish:"))
{
if (finishtest)
{
recordanswer();
quesnum = 0;
choice_button[4].setBackgr
ound(Color.lightGray);
54
timecounter.setForeground
(Color.blue);
timecounter.setFont(new
Font ("Arial",0,14) );
start_test=false;
check_answer=true;
panelSouth.add(choice_bu
tton[0]);
mark_ques();
displayquestion();
checkteststatus();
calculateResult();
}
else
JOptionPane.showMessageD
ialog(null,"Cycle through all questions
before pressing finish", "User
Message",JOptionPane.INFORMATION_
MESSAGE);
}
}

if (check_answer)
{
if(source.equals("check next:"))
55
{
quesnum++;
if(quesnum == TOTAL)
quesnum=0;
mark_ques();
displayquestion();
checkteststatus();
}
if(source.equals("check
previous:"))
{
quesnum--;
if(quesnum == -1)
quesnum=TOTAL-1;
mark_ques();
displayquestion();
checkteststatus();
}
}
validate();
}

56
/* Timer class */

class Timer extends Thread


implements Runnable
{
public Timer()
{
new Thread(this).start();
}
public void run()
{
while(start_test)
{
try
{
Thread.sleep(1000);
seconds++;
if(seconds % 60 == 0 &&
seconds != 0)
{
seconds -= 60;
minutes++;
}

57
timecounter.setText(" Time
Counter: "+minutes+" mins : "+seconds+"
secs ");
if(minutes==TIMELIMIT)
{
start_test=false;
endTest();
}
}
catch(InterruptedException
ex)
{
System.out.print(ex);
}
}
}
}

/* check test status method */

public void checkteststatus()


{
if((quesnum == TOTAL-1) &&
(start_test))

58
choice_button[3].setBackground(C
olor.green);
else
choice_button[4].setBackground(C
olor.lightGray);
if(answers[quesnum].length() >0)
{
for(int i=0;
i<answers[quesnum].length(); i++)
boxes[Integer.parseInt(answers[
quesnum].substring(i,i+1) )-
1].setSelected(true);
}
else
for(int i=0; i<boxes.length; i++)
boxes[i].setSelected(false);
}

/* display question method */

public void displayquestion()


{
int j = quesnum+1;

59
pane.setText(QuestionSeries.ques
tion[quesnum]);
if(start_test)
message.setText("Question "+j+"
out of "+TOTAL);
for (int i=0; i<4; i++)
answerboxes[i].setText(QuestionS
eries.answers[quesnum][i]);
if(start_test)
{
String temp="";
if(QuestionSeries.n[quesnum]==
1)
temp="<html>&nbsp;&nbsp;&nb
sp;Choose only
<b>ONE</b> Option</html>";
else
if(QuestionSeries.n[quesnum]==2)
temp="<html>&nbsp;&nbsp;Cho
ose <b>TWO </b> Options</html>";
else
if(QuestionSeries.n[quesnum]==3)
temp="<html>&nbsp;&nbsp;Cho
ose <b>THREE</b> Options</html>";
else
60
temp="<html>&nbsp;&nbsp;<b>
ALL are true</b> true</html>";
choose.setText(temp);
}
else
{
timecounter.setText(" Your
choices are shown in the boxes");
choose.setText(" Correct
answers are marked in light red.");
}
}

/* record answer method */

public void recordanswer()


{
String tmp = "";
for(int i=0; i<boxes.length; i++)
if(boxes[i].isSelected() )
tmp +=i+1;
answers[quesnum] = tmp;
}

61
/* endTest method */

public void endTest()


{
message.setText("TIME OVER:
please press 'finish'");
choice_button[2].setEnabled(false)
;
choice_button[3].setEnabled(false)
;
choice_button[4].setEnabled(true);
}

/* mark_ques() method to highlight


correct answers */

public void mark_ques()


{
for(int i=0; i<answerboxes.length;
i++)
answerboxes[i].setBackground(Col
or.white);

62
for(int i=0;
i<QuestionSeries.choice[quesnum].length
(); i++)
answerboxes[Integer.parseInt(Que
stionSeries.choice[quesnum].substring(i,i+
1))-1].setBackground(Color.red);
if(QuestionSeries.choice[quesnum
].equals(answers[quesnum]))
message.setText("Answer correct,
well done!");
else
message.setText("Sorry, you got
this one wrong.");
}

public void calculateResult()


{
mark=0;
double temp=0.0;
java.text.DecimalFormat df = new
java.text.DecimalFormat("#0.#");
for(int i=0; i<TOTAL; i++)
if(QuestionSeries.choice[i].equals(
answers[i]))
mark++;
63
temp=(double)mark;
if(temp/TOTAL*100 >=PASS)
testresult.setText("Well done "+
studentname.substring(0,studentname.ind
exOf(' ') )+", you passed");
else
testresult.setText(" Better luck
next time
"+studentname.substring(0,studentname.i
ndexOf(' ') ) );
student.setText(" Final score for
"+studentname+": "+mark+" out of
"+TOTAL+": "+df.format(temp/TOTAL*10
0)+"%");
new Resultwindow().show();
}
}

/* Resultwindow class */

class Resultwindow extends JFrame


{
Resultwindow()
{
64
super( studentname+" results: " +
(mark*100/TOTAL
>=PASS?"PASS":"FAIL") );
Container cont =
getContentPane();
cont.setLayout(new
GridLayout(TOTAL/2+3,5,2,5) );
cont.setBackground(new
Color(255,220,255) );
cont.add(new JLabel(" "+"Marks:
"+mark+"/"+TOTAL+":
"+"Percentage: "+(mark*100/TOTAL)+"%
") );
for(int i=0; i<3; i++)
cont.add(new JLabel() );
String temp[] = new
String[TOTAL];
for(int i=0; i<TOTAL; i++)
{
if(QuestionSeries.choice[i].equal
s(answers[i]))
temp[i]="correct";
else
temp[i]="wrong";
}
65
for(int i=0; i<TOTAL; i++)
cont.add(new JLabel(" Question
"+(i+1)+": "+temp [i]) );
pack();
setLocation(200,200);
}
}

/* ItemHandler class */

class ItemHandler implements


ItemListener
{
public void
itemStateChanged(ItemEvent evt)
{
if(start_test)
{
for(int i=0; i<boxes.length; i++)
if(boxes[i].isSelected() )
itemCheck++;
if(itemCheck >
QuestionSeries.n[quesnum])
66
{
java.awt.Toolkit.getDefaultTo
olkit().beep();
if(QuestionSeries.n[quesnum]
==1)
JOptionPane.showMessageD
ialog(null,"<html><font size='4'
color='00308a'><center>" + "There is only
"+QuestionSeries.n[quesnum]+"
possible<br> answer to question
"+(quesnum+1) + "<html>","User
Information
Message",JOptionPane.INFORMATION_
MESSAGE);
else
JOptionPane.showMessageD
ialog(null,"<html><font size='4'
color='00308a'><center>"+ "There are
only "+QuestionSeries.n[quesnum]+"
possible<br> answers to question
"+(quesnum+1)+ "<html>","User
Information
Message",JOptionPane.INFORMATION_
MESSAGE);
}
67
itemCheck=0;
}
}
}

/* main method */

public static void main(String [] args)


{
OnlineTest frame = new
OnlineTest();
frame.setTitle(" "+QuestionSeries.t
esttitle);
frame.setDefaultCloseOperation(
EXIT_ON_CLOSE );
frame.setVisible(true);
}
}

68
Implementation
The implementation of online exam software
consists primarily of three activities or phases.
To ensure the success of the online exam
software implementation, all three phases must
be carried out professionally. Let us take a
closer look at them.

➢ Pre Examination Activity


• This step includes a variety of tasks such as
managing the question bank, defining the exam
pattern, and so on. The subject matter expert
or the paper setter can create a question bank.

• Eklavya platform has defined an independent


role for them and provided them with their
independent credentials. They can log into the
system and define the question bank for the
online exam for their respective subjects.

• Consider the following scenario: there are 500


subjects to be considered for examination at a

69
university. The university may have 400-500
teachers or professors who are subject matter
experts.

• Thus, an English teacher or professor can log into


the system and define the question bank for
various English exams for different streams such
as B.A., B.com. or B.Sc.

• The subject matter expert can prepare the


question bank based on various aspects such as
difficulty level of the exam, marks associated with
each question and question type such as
subjective or objective question.
• They can also map different attributes such as
topic name associated with the questions. Hence,
the paper setter can map multiple topics
associated with one question.

• The validity or authenticity of the questions is


critical for exam success. As a result, Eklavya
has made it possible for subject matter experts
to validate the questions. The subject matter
70
expert can use this feature to import questions
in Word format or by using Excel or Word
templates.

• There is also a facility to define questions related


to mathematical equations or chemical reactions.
This means that questions which include
mathematical or chemical symbols, images,
graphs and statistics can also be defined using
Eklavvya’s online exam software.

• Therefore, Eklavvya helps the subject matter


expert to set multiple question banks for various
different subjects who enables him/her to select
any one of the many question banks randomly
and assign it to the candidates for online exam.

• However, in order to make this process


methodical or process-oriented, subject matter
experts must be trained to use the online exam
software efficiently and effectively.

• Eklavvya also provides a facility for moderation


wherein the moderators can log into the system
71
and verify if the questions banks are as per the
syllabus, if the questions are as per the
requirement, if the difficulty level of the
questions banks is matching the question types,
whether the marks defined are correct or not,
etc. This helps to achieve quality and accuracy
which is crucial while defining the question
banks.

➢ Online Examination Activity

• Before beginning with the exam, the candidates


appearing for the exam need to go through a
mock test for practice.
• This would make them comfortable in handling
many different facets of online examination. The
mock exams conducted by Eklavvya can provide
them the best opportunity wherein they can get
accustomed to using the online exam software.

• Eklavvya provides many means and modes where


you can define the mock exams for the
candidates. Apart from mock exams, training

72
videos are also provided for the convenience of
the candidates.

• Thus if the mock exams are conducted


successfully for the candidates, then the
candidates would not face any difficulties during
the actual exam as all of their queries will be
resolved during the mock exam process.

• Also if the pre examination activities are carried


out accurately and the examination schedule is
also defined correctly, then the candidates will be
able to log into the system and begin with the
online exam on the correct date and time as per
the schedule. The appropriate question paper will
also get loaded on their systems.

• For example, if the exam has a fixed schedule,


such as 10 a.m. to 12 p.m., the Fix Schedule
option can be selected. However, if the exam is
60 minutes long, the exam window is open
from 10 a.m. to 12 p.m., and candidates are
permitted to login and take the exam at any

73
time between 10 a.m. and 12 p.m., the Flexible
Schedule option can be selected.

➢ Post Examination Activity

• The Examiner is responsible for evaluation of the


answer sheets written or typed by the candidate.
Thus, the examiner plays a key role in the post-
examination phase.

• The role of the examiner is defined by Eklavya in


the system. In case of subjective exams, Eklavya’s
online exam software provides facility for the
examiner to log into the system by selecting the
role, entering other details such as name, mobile
number, email id, and then selecting the
respective subjects for which he/she is responsible
for the evaluation of answer scripts.

• Eklavya also provides an option to assign an


examiner to a particular exam. The examiner who
has been assign for evaluation for any exam can log
into the system to access the answer scripts
belonging to the candidates.

74
• Thus, Eklavya's online exam software includes
numerous features that make evaluating
multiple subjective answer sheets extremely
simple and painless.

• At the end, Eklavya’s online exam software provides


APIs which can be used to export the exam results
easily in your system. These results can be exported
in Excel or PDF format as well.

• Thus, we can conclude that the three phases of pre-


examination activity, actual online exam activity and
post-exam activity are essential for the success of any
online examination.

75
Testing
• Testing is the process of running a program in
the hopes of finding an error. Testing is an
essential component of software quality
assurance because it provides the final review of
specification, design, and coding. System testing
is a critical stage.

• Testing is an intriguing anomaly in the software.


Thus, before the proposed system is ready for
user acceptance testing, a series of tests are
performed. A good test case is one that has a
high likelihood of uncovering a previously
unknown error. A successful test is one that
reveals a previously unknown error.

76
Testing Objective :
• The objective our test plan is to find and report as
many bugs as possible to improve the integrity of
our program. Although exhaustive testing is not
possible, we will exercise a broad range of tests to
achieve our goal.

• The testing application will be used as an


important tool, but we would like to ensure that it
could be run on a variety of platforms with little
impact on performance or usability.

➢ Testing Principles

• All tests should be able to be traced back to end-


user requirements.
• Tests should be planned long before testing
begins
• Testing should begin on a small scale and progress
towards testing in large scale.
• Exhaustive testing is not possible.
• For maximum effectiveness, testing should be
performed by an independent third party.

77
• The primary objective for test case design is to
derive a set of tests that has the highest possibility
for uncovering problems in software.

To accomplish this objective two different


categories of test case design techniques are used.
They are

•White box testing.


•Black box testing.

➢ White-box testing:

White box testing, also known as clear box testing


or structural testing, focuses on examining the
internal structure and implementation of the
software system. Testers who perform white box
testing have access to the system's source code,
architecture, and design details. They possess
knowledge of the internal logic, data flows, and
control paths within the system.

78
Fig. No. – 7

➢ Black-box testing:

Black box testing, also known as functional testing


or behavioural testing, focuses on the system's
external behaviour without considering its
internal structure or implementation details.
Testers who perform black box testing do not
have access to the system's source code or
internal knowledge. They evaluate the system
solely based on its specifications, requirements,
and observable inputs and outputs.

79
Fig. No. – 8

➢ Testing strategies:
A strategy for software testing must accommodate
low-level tests that are necessary to verify that all
small source code segment has been correctly
implemented as well as high-level tests that validate
major system functions against customer
requirements.

➢ Testing fundamentals:

Testing is the process of running a program to


look for errors. A good test case is one that has a

80
high chance of discovering an undiscovered error.
If the testing is successful, the errors in the
software are discovered. Testing cannot
demonstrate the absence of defects; it can only
demonstrate the presence of software defects.
➢ Testing Information flow:

The pattern of information flow for testing. There


are two types of input available to test the process.
A software requirements specification, a design
specification, and source code are all part of the
software configuration.
Test configuration includes test plan and test cases
and test tools. Tests are conducted and all the
results are evaluated. That is test results are
compared with expected results. When erroneous
data are uncovered, an error is implied and
debugging commences.

➢ Unit testing:

Unit testing is critical for verifying the code


generated during the coding phase, so the goal is

81
to test the internal logic of the modules.
Important paths are tested using the detailed
design description as a guide to uncover errors
within the modules' boundaries. These tests were
performed during the programming stage.
ViennaSQL units were all successfully tested.

➢ Integration testing :

Integration testing focuses on unit tested modules


and build the program structure that is dictated by
the design phase.

➢ System testing:

System testing examines the system's integration


of each module. It also looks for differences
between the system and its original goal, current
specification, and system documentation.
Individual module compatibility is the primary
concern. The entire system will be tested here to
see if it is working properly, if the specified path
ODBC connection is correct, and if it is producing
output.

82
These verifications and validations are performed
by providing input values to the system and
comparing the results to the expected output.
Topdown testing is being implemented here.

➢ Acceptance Testing:

This testing is done to ensure that the system is


ready for implementation. When the system is
finished, acceptance testing begins. Its goal is to give
the end user confidence that the system is ready for
use. It entails the planning and execution of
functional, performance, and stress tests to
demonstrate that the implemented system meets
its requirements. Tools that have special importance
during acceptance testing include:
Test coverage Analyzer – records the control paths
followed for each test case.

➢ Timing Analyzer – also called a profiler, reports the


time spent in various regions of the code are areas
to concentrate on to improve system
performance.

83
➢ Coding standards – To inspect code for deviations
from standards and guidelines, static analysers and
standard checkers are used.
➢ Test Cases:
Test cases are derived to ensure that all statements
in the program have been executed at least once
during testing and that all logical conditions have
been executed.
Using White-Box testing methods, the software
engineer can drive test cases that
• Guarantee that logical decisions on their true and
false sides.
• Exercise all logical decisions on their true and
false sides.
• Execute all loops at their boundaries and within
their operational bounds.
• Exercise internal data structure to assure their
validity.
The test case specification for system testing has to
be submitted for review before system testing
commences.
84
➢ Process Overview :

• The following represents the overall low of the


testing process:
• Identify the requirements to be tested. All test
cases shall be derived using the current Program
Specification.
• Identify which particular test(s) will be used to
test each module.
• Review the test data and test cases to ensure that
the unit has been thoroughly verified and that
the test data and test cases are adequate to
verify proper operation of the unit.
• Identify the expected results for each test.
• Document the test case configuration, test data,
and expected results.
• Perform the test(s).
• Document the test data, test cases, and test
configuration used during the testing process.
This information shall be submitted via the
Unit/System Test
Report (STR).

85
• Successful unit testing is required before the unit
is eligible for component integration/system
testing.
• Unsuccessful testing requires a Bug Report Form
to be generated. This document shall describe
the test case, the problem encountered, it's
possible cause, and the sequence of events that
led to the problem. It shall be used as a basis for
later technical analysis.
• Test documents and reports shall be submitted. Any
specifications to be reviewed, revised, or updated
shall be handled immediately.

86
Testing Process:

Fig. No. - 9
The diagram above outlines the Test Process
approach that will be followed.
• Project organization entails developing a
System Test Plan, Schedule, and Test
Approach, as well as assigning responsibilities.
• Design/Build System Testing entails
determining Test Cycles, Test Cases, Entrance
& Exit Criteria, Expected Results, and so on. In
general, the Test Team will identify test
conditions/expected results in collaboration
with the Development Team. The Test Team
87
will then identify the necessary Test Cases
and Data. The Program Specifications
Document is used to generate the test
conditions.
• Design/Build Test Procedures includes setting
up procedures such as Error Management
systems and Status reporting.

• Build Test Environment includes


requesting/building hardware, software and
data setups.

• System tests identified in the Design/Build


Test Procedures will be carried out. All results
will be documented, and Bug Report Forms will
be completed and submitted to the
Development Team as needed.

• Signoff happens when all pre-defined exit


criteria have been achieved.

88
Output:

➢ In the Output Section we will show you


the screenshots of the project (Online
Test Application)

Fig. No. - 10

89
Fig. No. - 11

Fig. No. - 12

90
Fig. No. - 13

Fig. No. - 14

91
Fig. No. - 15

Fig. No. - 16

92
Limitations
LIMITATIONS OF EXISTING SYSTEM We
investigated XYZ College and discovered that
the existing system required manual entry of
the details of students who were already
registered. And getting every student to the
examination centre is extremely difficult.
Online examination systems are required to
prepare registration/application forms,
question papers for students, and to manually
print a large number of numbers. Calculating
how many students registered and manually
verifying the details of each student in a
month is difficult and time consuming. It not
only takes a lot of time, but it also costs a lot
of money because it takes a lot of manpower
to do that. Another factor that must be
considered is the possibility of errors. The
existing system's limitation is the limitation of
existent system is that it is not all
personalized. It can't be used for personal and
93
immediate reference. Even the staff members
can make quick entries if the responsible
person is absent. More time require for
creating question paper. Time to check right
and wrong answers, Manually Calculating
Marks. Human erroneousness. Limitation of
Number of students can give papers at a Time.
Require Teacher to monitor examination
centre.

94
Conclusion
The main objective or motive behind
developing this application is to the remove the
need of the traditional (in-class examinations).
This in turn may end up saving some energy and
resources for the human being and thus could
prove environment friendly. If this concept or
application is implemented globally, it will save
massive amounts of resources that will be
beneficial to the human race because the
application will completely eliminate the need
for in-class examinations if the design is fully
evolved over time. This means that the student
can take the examination from anywhere in the
world.
Also, this application can come in handy when
the professor wants to take a surprise quiz in
the class and if the student is not present in the
class, still he has the option of attending the
exam and scoring some points rather than

95
missing the exam and losing all the points. All
the entities that are involved in the process of
School/College Education can make their lives
easier with the applications that are meant for
a similar purpose like this application has.
According to the registration process, the
administrator will be able to add subjects and
professors per semester. The Administrator will
also have the authority to remove any subjects
that are no longer offered in the current
semester. The professor can create exams to
which he can add questions, or he can modify
the existing questions that he has already
entered. The professor can also assign practice
exams to students so that they can become
familiar with the level or type of questions that
may be asked in the actual exam. If the exam is
theory, the he can set the marks per section of
the answer and if the examination is multiple
choice questions, then the professor has to
provide the correct answers at the time of

96
creating the questions. The application will
automatically provide the score for those exams
once the student answers all the questions. The
professor has the option to view the class
statistics in the graphical format. The student
can choose to answer all the questions in the
examination set by the professor. The student
can also choose to take the practice exams and
answer those questions set by the professor.
Because no design is ever perfect and complete,
the design and scope of the application will
evolve over time. But, for the time being, this is
the first attempt to put into action the ideas
and thoughts that I had for assisting people in
the field of education, making their lives easier
and adding luxury to their lives.

97
Summary
This document contains the Online Examination
Synopsis. Online examination benefits students
of schools, colleges, and institutes by providing a
quick and easy way to take the exam. It also
provides results immediately following the
exam. To take the exam, students must enter a
valid user id and password. This examination
project includes a time limit for completing the
exam. After finishing the exam, the user can view
their results.

The purpose of this project is to develop Online


Examination System. This is a web based Online
Examination System which will help in
conducting the Online Examination. The Online
Examination System project provides a web
application which will considerably reduce the
time required to give the exam and know the
results. This project will provide an efficient

98
platform both for the students and the teachers,
by enabling examinations to be taken online.

Online Examination System consists of some


pages of questions and the student has to write
answers or they have to select the correct
answers of those questions by selecting
appropriate choice.
The main purpose of
designing the Online Examination System is to
reduce the time of taking examinations of the
students manually. There are some advantages
factors of this system which are given below:
• The Online Examination System reduces time
of taking manual examination of students.
• This system will work efficiently and correctly
as far as computer technology is concerned.
• This system will provide better security and
transparency in the examination.

99
Future Enhancement
This application avoids the manual work and the
problems concern with it. It is an easy way to
obtain the information regarding the different
scheduled examinations information that are
Currently issued.
Future work: The current system only supports
multiple choice and free response questions;
however, the system can be enhanced to
support other types of questions such as fill in
the blanks, true or false, and so on. Because the
current system does not support images, images
and diagrams cannot be included in exams,
making it difficult to ask certain questions.
Because it stores critical student score data, the
application can be extended with a higher level
of security.
We can add a search option as an
enhancement. We can use this site to directly
search for specific student information.

100
Bibliography
• Programming With JAVA – E Balagurusamy

• Computer Science with Java – Sumita Arora

Websites:
• www.java2s.com

• www.javatpoint.com

• www.tutorialspoint.com/java/

• www.w3schools.com

101

You might also like