0% found this document useful (0 votes)
13 views26 pages

Online Quiz Application editing .pages

Uploaded by

HAMMAD RIZVI
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)
13 views26 pages

Online Quiz Application editing .pages

Uploaded by

HAMMAD RIZVI
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/ 26

Department of Computer Science & Engineering

ACKNOWLEDGEMENT

I would like to place on record my deep sense of gratitude to Mr. Srinivasan


Raju Sir for his generous guidance, help and useful suggestions.
I also wish to extend my thanks to my friends and colleagues for their
insightful comments and constructive suggestions to improve the quality of
this project work.

Mr. Srinivasan Raju

Hammad Rizvi(21scse1180292)

1
TABLE OF CONTENTS
SNO.

Page
geNo.

List Of Figures v
List of Tables v

Abstract 8

1. Introduction 8-1
0
1. GeneralIntroduction
2. ProblemStatement
3. Objective
4. Methodology
5. Organization
2. Literature Survey 11-26

3. System Development 27-34


4. Overall description of theproject
5. Functionaland Non-Functional requirements
6. Implementation details and issue

7. Performance Analysis 34-37

8. Agile Methodology

1
ABSTRACT

Web in simple terms means a network of Internet servers that are ready to
support some formatted documents and can be accessed by a web browser.
About these formatted documents these are formatted in HTML (Hypertext
mark-up language). Not these formatted documents create their links to their
type but they also support links to some documents including video,
graphics and audio files. Terms Web and Internet are interchangeably used
but they are not same. While Internet refers to global network of servers that
makes sharing of information, Web is the collection of information being
accessed via Internet. Also, we can say that Web is a service and Internet is
an infrastructure where web is a service on top of it. Alternatively, we can
say Web is just a portion of the Internet.This project deals with use of web
technology in the field of e-learning. Nowadays e-learning platform are
encouraged as lot of manual work is not done and also it helps in saving
time. People anywhere in the world with an internet connection can easily
use these platforms. Not only in this field but anyone connected to an
internet connection can use internet from any place in the world to shop
online, pay bills, read books or newspaper, book movie tickets, reservation
of buses or railway and many more.

1
Chapter 1

Introducti

on

1. INTRODUCTION

This project deals with use of web technology in the field of e-learning.
Nowadays e-learning platform are encouraged as lot of manual work is not
done and also it helps in saving time. People anywhere in the world with an
internet connection can easily use these platforms. Not only in this field but
anyone connected to an internet connection can use internet from any place
in the world to shop online, pay bills, read books or newspaper, book movie
tickets, reservation of buses or railway and many more.

Although the project is not exactly about teaching or studying but it is about
testing students’ knowledge on particular topic with the help of some
objective type questions with some options. Though some set of questions
cannot completely judge anyone’s knowledge but this project aims to help
students to evaluate themselves so that when after studying any particular
topic they can corelate their concepts and some concepts that were not clear
to them or those one which they have skipped can be presented to them in
the form of questions by their teacher. Thus, teacher can also know about
which concepts he or she should focus on as students are more often to give
wrong answers on it.

To build the web application JSP technology is used with HTML and CSS
with it. JSP stands for Java Server Pages which is a server-side technology
for programming. JSP enables the creation of dynamic (to be built on run
time) and platform independent method for building various Web-based
applications. With the help of JSP we 1can access a wide variety of Java
APIs which also
include JDBC API to access databases. JSP have extension .jsp. Like
Servlet, JSP files also need to be executed on a web server. In simple terms
we can say that HTML + Java is JSP which implies that a JSP file have both
HTML and Java code.

2. Problem Statement

The objective of Online Quiz application is to facilitate user friendly


platform by reducing the manual effort. In past days we have seen that quiz
were taken manually but with rise of technology we are able to conduct
them and generate scores automatically. Especially in the time of this
pandemic use of such applications is highly appreciated as schools and
colleges are very much affected.

3. Objective

The main objective of this Online Quiz Application is to provide an online platform
for both teachers and students so that teacher can take various tests or assignments in
the form of quiz and students after going through a concept can assess him/herself by
the quiz questions being uploaded by teacher thus also reducing the manual paper
work.
The project presents the following features:
• Making of a quiz.
• Taking of quiz.

1
• Registration of teachers and students.
• Any type of queries from users.

4. Methodology
The methodology used in this project include repetition of design, code and
implementation then testing and analyzing the result. Further when repeating the
phases again, new functionalities are added to the project. This methodology is called
agile methodology.

For example, while creating the basic structure and less of focus on creative interface
first iteration of the phases was done. After evaluation in each cycle more focus on
interface and debugging was done.

1
5. Organization of Report

Chapter 1 gives a general introduction about the JSP


Chapter 2 gives the literature survey related to Java Server Pages, HTML, CSS and other
technology used.
Chapter 3 deals with how the various design and development.
Chapter 4 deals with the type of model used for making the product and what are the
performance of the product and how can further improvement be made on that product
Chapter 5 finally conclude this report with a conclusion and also specifying the future
vision for the product

1
CHAPTER 2

Literature Survey

Web in simple terms means a network of Internet servers that are ready to support some
formatted documents and can be accessed by a web browser. About these formatted
documents these are formatted in HTML (Hypertext mark-up language). Not these
formatted documents create their links to their type but they also support links to some
documents including video, graphics and audio files. Terms Web and Internet are
interchangeably used but they are not same. While Internet refers to global network of
servers that makes sharing of information, Web is the collection of information being
accessed via Internet. Also, we can say that Web is a service and Internet is an
infrastructure where web is a service on top of it. Alternatively, we can say Web is just a
portion of the Internet.

Particularly whenever a client surfing web makes a request to web server, it first find
resources and then sends some return response in HTML to the browser and a web
browser know how to display them to client. Web pages are the documents written in
HTML which provides meaning and some structure to any web content and collection of
these web pages is called a website which consists of static files. A web application
however is same as a website but with dynamic functionality like where user can
manipulate the restricted data. A website seems to be too informational while a web
application is interactive. User spend more of its time reading, listening or viewing a
website but in a web application like social media applications where user spend a lot of
interaction or banking application that performs
1
transactions on customer’s input. Authentication can also be a point of difference between
website and web application. Since in a web application, interaction of user is high and
manipulation of data is there, therefore user accounts must be secured in order to prevent
unauthorized access and any leakage of sensitive data. Most of the web application
requires authentication but for the informational websites it is not obligatory. An example
for this can be that while reading any news or article you don’t need to go through any
authentication process but to comment on it that includes interaction you have to go
through a log in process.

HTTP which is Hypertext Transfer Protocol is a set of protocols that is used by clients
and servers to communicate on web. HTTP protocol defines how messages are to be
formatted and transmitted between client and the server and what actions should be taken
by Web servers and browsers in response to various commands. Basically, HTTP is a
TCP/IP based communication protocol, that is used to deliver data which includes HTML
files, image files, query results, etc. on the World Wide Web. HTTP is the foundation of
data communication for the World Wide Web since 1990.

HTTP represents Hyper Text Transfer Protocol. WWW is about correspondence between
web customers and servers. Communication between customer PCs and web servers is
finished by sending HTTP Requests and accepting HTTP Responses

• A client (a program or browser) sends a HTTP request to the web


• A web server gets the solicitation
• The server runs an application to process the request
• The server restores an HTTP response.
• The client gets the response.
HTTP is a simple and powerful protocol because:

• Connectionless:

1
An HTTP client which might be a browser will initiate an HTTP request to the
server. The server processes the request and sends a response back after which
client disconnect the connection. In this way we can say that client and server
only know about each other only during the current request is initiated and
response is received. For further requests new connection is made like client and
server are new to each other.

• Media Independent:

It means, any type of data can be sent by HTTP as long as both the client and the
server know how to handle the data content.

• Stateless Protocol:

By Stateless Protocols we mean the type of network protocols in which Client


send request to the server and server response back according to current state. For
the execution of server response, it does not require the server to retain session
information or a status about each other.

Some examples of Stateless Protocol are

HTTP (Hypertext Transfer Protocol), UDP (User Datagram Protocol), DNS


(Domain Name System)

As HTTP is connectionless and it is because HTTP is a stateless protocol. Each


command is executed independently, without any knowledge of the commands
that came before it. The server and client are known about each other only during
a particular request. After execution of that request/response both of them forget
each other.

Servlet

Servlet can be defined in different ways. In simple language we can say that it is a

1
technology which resides on the server side and is used to create web application. Because
of the Java language it is robust and scalable.

It is also an API which provides many different classes as well as interfaces. The most
important feature of servlet is that it extends capabilities of the server thus creating
dynamic web pages. They are also able to handle complex requests that is obtained from
the web server.

1
When a client requests a file from the server then the server can respond in two ways. If
the file that the client is asking is static then it as already built. Server will already have
that file and send it in response. But in case the file that client seeks for is dynamic then it
has to be built during run time. In that case server goes to a helper application called Web
container that contains servlets which is a java file that which take request and process it
and provides response in form of an HTML page. Some examples of Web containers are
Apache Tomcat, Glassfish, Web spheres etc. But requesting an Html file and in response
of it using a java file
i.e. a servlet can’t be done without the help of a special file within the web container. This
file is called Deployment descriptor which is a web.xml file. This file provides a mapping
that for which request which servlet should be called.

Servlet is a class which extends HttpServlet which provides many different features to the
class and some of them include taking request from the client, processing of the request
etc.

Execution of Servlets:
1
In the execution of Servlets following are some of the basic steps:
• The clients send the request to the web server.
• A request is received by the web server
• The request is intercepted for static (html files) or dynamic files.
• If dynamic, the request is passed to the corresponding servlet.
• The servlet processes the request and provides a response.
• The servlet sends the response back to the web server and the web server sends
this response to the client.
• Finally, the browser on client side displays it on the screen

CGI vs Servlet

1
The use of Servlet is like other Web server expansions, for example, Common Gateway
Interface (CGI) contents and Hypertext Preprocessor (PHP). In any case, Java Servlets are
increasingly adequate since they understand the impediments of CGI, for example, low
execution and low degree versatility. Before Servlets we had CGI (Common Gateway
Interface) and it was utilized as a standard route by the internet browser to send client's
solicitation to Application Program and get a response from it. Information is passed to
and fro among server and application. CGI is really an outer application which is
composed by utilizing any of the languages like C or C++ and this is liable for preparing
customer requests and producing dynamic web pages.

In CGI whenever any request is made by the client for the dynamic Web pages, following
operations are performed by the Web server:

• Firstly, it tries to find the web page that is requested.


• A new process is created to handle the client’s request.

1
• Web server then invokes the CGI application within the process and the
information is further passed to the server.
• Gathers the response from CGI application.
• Annihilates the procedure, readies the HTTP reaction and sends it to the customer.

Thus, we can draw an inference that in case of CGI, for each request process has to be
created and destroyed each time by the server. So, for handling a smaller number of
clients this technology seems fair but if number of clients increases more time will be
required to handle the requests and thus it also increases burden on the server.

The CGI and Servlet are the projects which live inside the web or application server and
helps the correspondence between the web server and the client to create the web content
powerfully. CGI and servlet can be separated in light of the fact that they work in various
habits and have particular usefulness and highlights. Following are some key differences
between CGI and servlets which also indicates that why Servlets are more often used as
compared to CGI (Common Gateway Interface)

Servlet CGI(Common
Gateway
Interface)
Data Sharing Possible Not Possible

Cost Less Expensive More Expensive

Cookies Can be Handled Cannot be Handled

Portability Portable and Efficient Not Portable

Speed Faster Slower

Platform Do not depend on platform Platform Dependent

Dependency
1
Error Easy Not much powerful
Handling
Process Creation Processes are For each client request a separate
created according to process is created
the client’s
request type.
Security Attacks can be resisted More vulnerable

JSP vs Servlets

Developed by Sun Java Server Pages is a type of text document and contains text in static
and dynamic form. The static data comprises of text-based format including HTML, XML
files and to express the dynamic content JSP elements can be used. While servlet acts like
an intermediator between the request being sent by the client and application on server
side, JSP is simply a text document. There are many different reasons why JSP is used
which are shown in the following table but some of the very prominent among them is
that it becomes easier to code when creating html file dynamically through JSP. For
example, we have to change background colour of the web page using servlet that is
a .java file we have to write out HTML code for changing background in println ()
statements and for more such modifications it might become a tedious job. In JSP we
write our java codes inside html. The java code is written inside the delimiters which
identifies that this part of the text inside the body of html code of .jsp file is actually a
java code. But in a web container we cannot run JSP. The JSP get converted into servlets
and that is why we must have knowledge of servlets to further work in JSP.

Point of Difference Servlet JSP

Implementation Servlets are written Jsp which is primarily a


in

1
Java and .java is created text document is written
in HTML and Java code
is
written inside the html tags
Type of requests Can process But JSP can process
protocol requests of all only in HTTP request.
type
Performance Faster Slower

Ease in writing Code Hard Easier in comparison


with Servlets
Session Management By default not enabled Automatically enabled.
(Handling of
multiple requests)

Modification Time Consuming Much Faster

MVC (Model- As servlet accepts a Jsp provide the response


View- Controller) request and sends a that is sent by the servlet
• Model->Data response we can say so it plays the role of
• View->User that in MVC we can View.
Interface
view Servlet as a
• Controller-
Controller
>Process that
handle input

Java Server Page Life Cycle


1
Finally, the web browser handles the dynamically-generated HTML page inside the HTTP
response and we see the output exactly as if it was a static page.

Some other literary works were also studied, some of them which were not covered are as
following:

Developing dynamic website using an online website builder that is Weebly for
Viking Fortune [Md. Shamsul Arafin Yi Jiang]- Laurea University of Applied Sciences

After reading this literature we learnt about how a web site is not just an platform to share
videos, blogs, article but also a marketing tool. Also, the words web pages and websites
which are sometimes used as same are not exactly same but website in fact is collection of
the web pages. It has also elaborated the difference between static and dynamic web
pages. Since the arrival of Internet how website have turned out to be an important thing
in field of business. Customer now expects in terms of performance, services, price and
many other functionalities as e-commerce has been introduced. Creation of website for
any organization helps it to have better connectivity with their clients for better
knowledge of client’s expectation, their feedback and providing them product and service
description.

Web Usability: A Literature Review[Giselle Joy Esmeria1 and Rosemary R. Seva]


Industrial Engineering Department, De La Salle University Science and Technology
Complex

This literature talks about an important nonfunctional requirement for any website or a
web application that is usability. As defined Usability is scope of any service or a product
which is constantly used by a certain set of clients to reach their objective with keeping in
mind the efficiency and satisfaction. Alternatively, it can also be said that how easy a user
finds to use any product. This nonfunctional requirement can also be a game changer as it
is an important management thing that any organization should keep in mind as
success of business also

1
depends on it. More business opportunities can be achieved if adequate usability is present in
business website.

Chapter-3
System
Development

1. Description of the Online Quiz Application:

This project aims to solve the problem of manual work of teachers that is done during
checking and testing of the students and help in saving the time. In this era of
technology, our aim is always to build something that is efficient and saves time.

This project tries to solve both these issues and the users whether he or she is a teacher
or a student who are using it don’t need any special kind of skills to use it. Thus like
any other web application or social media application this application is also built so
that user can deal with it in an interactive way.

Different functionalities provided by this application are:

• Examiner or teacher can put questions on it.

• Students are required to answer these questions.

• Also, students can see their result

• Calculation of result by calculating correct answers.

As it is very clear that when the home screen is first shown to the user the first thing
that he or she is required to do is to select the type of user as this application

1
mark list will be accessible to the teacher.

When the user is logged in as student, then student will get the options of which
test he or she wants to take. Accordingly, student will be redirected to the quiz
under takequiz.jsp. After the completion of the test by the student he or she will
be able to see result of the test. Also, student has option to raise certain queries.

2. Functional and Non-Functional Requirement

2.1. Functional Requirement


Functional requirements for this project

• Oracle or MySQL any one of these database

• Eclipse IDE

• Apache Tomcat

• Web browser used is Google Chrome

2.2. Nonfunctional Requirement


Some Nonfunctional requirements are:

• Compatibility in different web browsers.


• Usability which defines that the ease in using the product by the client.
• To use the application user must be registered.
• Security is another issue which must be keeping in mind as
user’s personal data should not be put on the stake.

30
Student can see the following page while searching for quizzes related to any subject by
searching the name of the subject.

1
For teacher to make any quiz above type of form will be displayed on the screen. Fristly
teacher have to put the question followed by the 4 options and then the correct answer of
the question followed by a subjective description if any about the answer so that if the
students wants further description of the correct answer he or she can refer to it. Also in
the decription refernce can be written for example page number of the book or internet
resources so that student can refer to it.

1
2. Implementation Issue

The various issue faced in implementation were related to the application are
following:

• User have to log in first to do any kind of interaction with the applicationif
not a user he or she need to register first.

• To attract more users to the application, it should be more interactive and


theme should be matching to the type of application. For example, this site
quizzes are on state’s general knowledge so various images that are used
should be related to that.

• Since there is no time limit in completing the quizzes which is also a future
scope of the application, students can search on internet to find the answer
thus they will not be evaluated in an honest way.

• User may sometime hesitate to provide details like email and contact
especially while putting their queries.

1
Chapter 4

Performance

Analys

4.1 Agile Methodology

During making of this project Agile methodology was used. We already know that
there are many adavantages of agile method in comparision with the waterfall method.
Client describe its need and expectations in the beginning and with the constant
evaluation and iteration of several phases it works better to meet customer’s
expectation. Any kind of modidfication can be easily achieved by following this
methodology. In making of this project initially more emphasis was given to the basic
structure that is simple login page then redirection to the quiz and then the scores. By
constant iteration of different phases,

1
Chapter

Conclusi

on
After completion of this project we have concluded that this web application works as
per the need and requirement of the client and is user friendly. Also this mini
project helped me to understand the design, code and implementation processes
which are performed while making any project. Many concepts were revised and
many of them were very new which were learnt in making of this web application.

1. FUTURE SCOPE
This project has a vast scope as many other functionalities can be added to it. In first place
a timer cab added to each quiz. Due to no limited time for the test students can find
answerers to the questions anywhere else which ultimately will not be an honest
evaluation of their result. Also, to prevent this many other functionalities can be added to
the user side especially to the student like restricting any kind of switching of tabs in the
browser and introduction of webcam for more honest evaluation of the students. More
creative way of showing result and deletion of test by adding an administrative part to the
system can be done. In the administrative part addition and deletion of user can be done.

1
References

• https://www.javatpoint.com/jsp-architecture

• https://www.tutorialspoint.com/servlets-tutorial

• https://www.edureka.com/jsp/

• https://www.researchgate.net/publication/

• https://www.geeksforgeeks.com/jsp-architecture/

• https://guru99.com/servlets/

• Developing dynamic website using an online website builder that is


Weebly for Viking Fortune [Md. Shamsul Arafin Yi Jiang]- Laurea
University of Applied Sciences

• Web Usability: A Literature Review [Giselle Joy Esmeria1 and Rosemary


R. Seva] Industrial Engineering Department, De La Salle University
Science and Technology Complex

You might also like