+ All Categories
Home > Documents > Online Test Taking System

Online Test Taking System

Date post: 25-Dec-2015
Category:
Upload: muthuprakash123
View: 21 times
Download: 0 times
Share this document with a friend
Description:
Project Document for Online test taking system.
Popular Tags:
103
ONLINE TEST TAKING SYSTEM 1.ABSTRACT Online Examination System is a software solution, which allows a particular company or institute to arrange, conduct and manage examinations via an online environment. This can be done through the Internet, Intranet and/or Local Area Network environments. Some of the problems faced by manual examination systems are delays in result processing, filing poses a problem, filtering of records is not easy, The chance of loss of records is high and also record searching is difficult. Maintenance of the system is also very difficult and takes lot of time and effort. I intend to use the systems development life cycle (SDLC) which is a conceptual model used in project management that describes the stages involved in an information system development project. Java will be used to achieve the project because of its flexibility and English-Like Syntax. MYSQL Server will be used as the database management system. 1
Transcript
Page 1: Online Test Taking System

ONLINE TEST TAKING SYSTEM

1.ABSTRACT

Online Examination System is a software solution, which allows a particular

company or institute to arrange, conduct and manage examinations via an online

environment. This can be done through the Internet, Intranet and/or Local Area Network

environments.

Some of the problems faced by manual examination systems are delays in result

processing, filing poses a problem, filtering of records is not easy, The chance of loss of

records is high and also record searching is difficult. Maintenance of the system is also very

difficult and takes lot of time and effort.

I intend to use the systems development life cycle (SDLC) which is a conceptual

model used in project management that describes the stages involved in an information

system development project.

Java will be used to achieve the project because of its flexibility and English-Like

Syntax. MYSQL Server will be used as the database management system.

1

Page 2: Online Test Taking System

1.1 Introduction

Online Examination System is a software solution, which allows a particular

company or institute to arrange, conduct and manage examinations via an online

environment. This can be done through the Internet, Intranet and/or Local Area Network

environments.

Some of the problems faced by manual examination systems are delays in result

processing, filing poses a problem, filtering of records is not easy, The chance of loss of

records is high and also record searching is difficult. Maintenance of the system is also very

difficult and takes lot of time and effort. There are Four Module in this project and can

several sub Module.

Login

Admin

Teacher

Student

The Role of the Admin is to create Teacher, View the Teacher and Update and delete

the Teacher, and also Create , view, update and delete the exam for the Student. He Can

view Result of the all Student. He can also Create , view , update and delete the award

Details for the Student.

The Role of the Teacher is Create Student , View , update and Delete the Students.

And he can also Prepare the Question and Answer. Then he can Results of the all Students.

The Role the Students is Take the Exam for the particular Exam and Subject. Finally

View the Results.

2

Page 3: Online Test Taking System

2. PROBLEM DEFINITION AND METHDOLOGY

2.1 Existing system

The first problem is that there are loads of hard copied documents being generated

this beings us to the age-old discussion of keeping information in the form database versus

keeping the same on sheets of paper. Keeping the information in the form of hard copied

documents leads to the following problems.

Lack of space

Filling poses a problem

Filtering is not Easy

Result processing is slow due to paper work and requirement of staff.

2.2 Proposed System

To Solve these problems they required a computerized system to handle all the work

the required a web based application that will provide a working environment that will be

flexible and will provides case of work and will reduce the time for report generation and

other paper works.

The main purpose behind the proposed system is to provide a comphensive

computerized system, which can capture, collate and analyze the data from these wards and

evaluate the impact of the problem.

3

Page 4: Online Test Taking System

2.3 Module Description

Online Examination System is a software solution, which allows a particular

company or institute to arrange, conduct and manage examinations via an online

environment. This can be done through the Internet, Intranet and/or Local Area Network

environments. There are Four Module in this project and can several sub Module.

Login

Admin

Teacher

Student

LOGIN:

In this module Admin, Teacher and Student enters the username & password which

can be checked in the database and will be reject to home page if the user is already exists, if

not it will reply the error.

Admin:

The Role of the Admin is to create Teacher, View the Teacher and Update and delete

the Teacher, and also Create , view, update and delete the exam for the Student. He Can

view Result of the all Student. He can also Create , view , update and delete the award

Details for the Student.

Create Teacher

View Teacher

Create Exam

View Exam

View Results

Create Award

View Award

Teacher :

4

Page 5: Online Test Taking System

The Role of the Teacher is Create Student , View , update and Delete the Students.

And he can also Prepare the Question and Answer. Then he can Results of the all Students.

Create Student

View Student

Question & Answer

Results

Students :

The Role the Students is Take the Exam for the particular Exam and Subject. Finally

View the Results.

Take Exam

Results

3. REQUIREMENT ANALYSIS

5

Page 6: Online Test Taking System

3.1 Hardware Specification:

Processor : Intel Pendium Dual core

Ram : 2gb

Hard disk : 160 gb

Monitor : LCD monitor

Input units : Keyboard & mouse

3.2 Software Specification:

Operating System  :  Windows 7

Web Browser   :  Internet Explorer /chrome

Front-End Tool  :  Java

Back-End Tool  :  Mysql

IDE Tool : Net beans 7.3.1

4. SOFTWARE ENVIRONMENT:

ABOUT JAVA

6

Page 7: Online Test Taking System

Java technology is both a programming language and a platform. The Java

ProgrammingLanguageThe Java programming language is a high-level language that can be

characterized by all of the following buzzwords:

Simple Architecture neutral

Object oriented Portable

Distributed High performance

Multithreaded Robust

Dynamic Secure

Each of the preceding buzzwords is explained in The Java Language Environment , a white

paper written by James Gosling and Henry McGilton. In the Java programming language, all

source code is first written in plain text files ending with the .java extension. Those source

files are then compiled into .class files by the javac compiler. A .class file does not contain

code that is native to your processor; it instead contains bytecodes — the machine language

of the Java Virtual Machine1 (Java VM). The java launcher tool then runs your application

with an instance of the Java Virtual Machine.

An overview of the software development process.

Because the Java VM is available on many different operating systems, the same .class files

are capable of running on Microsoft Windows, the Solaris Operating System (Solaris OS),

Linux, or Mac OS. Some virtual machines, such as the Java HotSpot virtual machine,

perform additional steps at runtime to give your application a performance boost. This

include various tasks such as finding performance bottlenecks and recompiling (to native

code) frequently used sections of code.

7

Page 8: Online Test Taking System

Through the Java VM, the same application is capable of running on multiple

platforms.

The Java Platform

A platform is the hardware or software environment in which a program runs. We've already

mentioned some of the most popular platforms like Microsoft Windows, Linux, Solaris OS,

and Mac OS. Most platforms can be described as a combination of the operating system and

underlying hardware. The Java platform differs from most other platforms in that it's a

software-only platform that runs on top of other hardware-based platforms.

The Java platform has two components:

TheJava Virtual Machine

TheJava Application Programming Interface (API)

The general-purpose, high-level Java programming language is a powerful software

platform. Every full implementation of the Java platform gives you the following features:

Development Tools: The development tools provide everything you'll need for

compiling, running, monitoring, debugging, and documenting your applications. As

a new developer, the main tools you'll be using are the javac compiler, the java

launcher, and the javadoc documentation tool.

Application Programming Interface (API): The API provides the core

functionality of the Java programming language. It offers a wide array of useful

classes ready for use in your own applications. It spans everything from basic

objects, to networking and security, to XML generation and database access, and

more. The core API is very large; to get an overview of what it contains, consult the

Java SE Development Kit 6 (JDKTM 6) documentation.

Deployment Technologies: The JDK software provides standard mechanisms such

as the Java Web Start software and Java Plug-In software for deploying your

applications to end users.

8

Page 9: Online Test Taking System

User Interface Toolkits: The Swing and Java 2D toolkits make it possible to create

sophisticated Graphical User Interfaces (GUIs).

Integration Libraries: Integration libraries such as the Java IDL API, TM API, Java

Naming and Directory InterfaceTM ("J.N.D.I.") API, Java RMI, and Java Remote

Method Invocation over Internet Inter-ORB Protocol Technology (Java RMI-IIOP

Technology) enable database access and manipulation of remote objects.

Why Java's a Better Programming Language

If that were all Java was, it would still be more interesting than a <marquee> or

<frame> tag in some new browser beta, but there's a lot more. Java isn't just for web sites.

Java is a programming language that can do almost anything a traditional programming

language like FORTRAN, Basic or C++ can do. However Java has learned from the

mistakes of its predecessors. It is considerably easier to program and to learn than those

languages without giving up any of their power.

The Java language shares many superficial similarities with C, C++, and Objective

C. For instance, loops have identical syntax in all four languages, However, Java is not

based on any of these languages, nor have efforts been made to make it compatible with

them.

Java is sometimes referred to as C++++--. James Gosling invented Java because C++

proved inadequate for certain tasks. Since Java's designers were not burdened with

compatibility with existing languages, they were able to learn from the experience and

mistakes of previous object-oriented languages. They added a few things C++ doesn't have

like garbage collection and multithreading (the ++) and they threw away C++ features that

had proven to be better in theory than in practice like multiple inheritance and operator

overloading (the --). A few advanced features like closures and parameterized types that the

Java team liked were nonetheless left out of the language due to time constraints. There's

still argument over whether the right choices were made. Parameterized types (templates to

C++ programmers) may be added in a later revision of Java.

9

Page 10: Online Test Taking System

Java has learned a lot from previous languages. Let's look at some of the advantages

Java offers programmers.

Java is Simple

Java was designed to make it much easier to write bug free code. According to Sun's

Bill Joy, shipping C code has, on average, one bug per 55 lines of code. The most important

part of helping programmers write bug-free code is keeping the language simple.

Java has the bare bones functionality needed to implement its rich feature set. It does

not add lots of syntactic sugar or unnecessary features. The language specification for Java

is only about eighty pages long compared to a couple of hundred pages for C and even more

for C++. Despite its simplicity Java has considerably more functionality than C.

Because Java is simple, it is easy to read and write. Obfuscated Java isn't nearly as

common as obfuscated C. There aren't a lot of special cases or tricks that will confuse

beginners.

About half of the bugs in C and C++ programs are related to memory allocation and

deallocation. Therefore the second important addition Java makes to providing bug-free

code is automatic memory allocation and deallocation. The C library memory allocation

functions malloc() and free() are gone as are C++'s destructors.

Java is an excellent teaching language, and an excellent choice with which to learn

programming. The language is small so it's easy to become fluent in it. The language is

interpreted so the compile-link-run cycle is much shorter. (In fact, the link phase is

eliminated entirely.) The runtime environment provides automatic memory allocation and

garbage collection so there's less for the programmer to think about. Java is object-oriented

(unlike Basic) so the beginning programmer doesn't have to unlearn bad programming habits

when moving into real world projects. Finally, it's very difficult (if not quite impossible) to

10

Page 11: Online Test Taking System

write a Java program that will crash your system, something that you can't say about any

other language.

Java is Object-Oriented

Object oriented programming was the catch phrase of computer programming in the

1990's. Although object oriented programming has been around in one form or another since

the Simula language was invented in the 1960's, it really took hold in modern GUI

environments like Windows, Motif and the Mac. In object-oriented programs data is

represented by objects. Objects have two sections, fields (instance variables) and methods.

Fields tell you what an object is. Methods tell you what an object does. These fields and

methods are closely tied to the object's real world characteristics and behavior. When a

program runs messages are passed back and forth between objects. When an object receives

a message, it responds accordingly as defined by its methods.

Object oriented programming is alleged to have a number of advantages including:

Simpler, easier to read programs

More efficient reuse of code

Faster time to market

More robust, error-free code

In practice object-oriented programs have been just as slow, expensive and buggy as

traditional non-object-oriented programs. In large part this is because the most popular

object-oriented language is C++. C++ is a complex, difficult language that shares all the

obfuscation of C while sharing none of C's efficiencies. It is possible in practice to write

clean, easy-to-read Java code. In C++ this is almost unheard of outside of programming

textbooks.

11

Page 12: Online Test Taking System

Java is Platform Independent

Java was designed to not only be cross-platform in source form like C, but also in

compiled binary form. Since this is frankly impossible across processor architectures, Java is

compiled to an intermediate form called byte-code.

A Java program never really executes natively on the host machine. Rather a special

native program called the Java interpreter reads the byte code and executes the

corresponding native machine instructions. Thus to port Java programs to a new platform,

all you need to do is run it with an interpreter written for the new platform. You don't even

need to recompile. Even the compiler is written in Java. The byte codes are precisely

defined, and remain the same on all platforms.

The second important part of Java's cross-platform savvy is the elimination of

undefined and architecture dependent constructs. Integers are always four bytes long, and

floating point variables follow the IEEE 754 standard for computer arithmetic exactly. You

don't have to worry that the meaning of an integer is going to change if you move from a

Pentium to a PowerPC. In Java everything is guaranteed.

However the virtual machine itself and some parts of the class library must be

written in native code. These are not always as easy or as quick to port as pure Java

programs. This is why for example, there's not yet a version of Java 1.2 for the Mac.

Java is Safe

Java was designed from the ground up to allow for secure execution of code across a

network, even when the source of that code was untrusted and possibly malicious.

This required the elimination of many features of C and C++. Most notably there are no

pointers in Java. Java programs cannot access arbitrary addresses in memory. All memory

access is handled behind the scenes by the (presumably) trusted runtime environment.

Furthermore Java has strong typing. Variables must be declared, and variables do not change

types when you aren't looking. Casts are strictly limited to casts between types that make

12

Page 13: Online Test Taking System

sense. Thus you can cast an int to a long or a byte to a short but not a long to a Boolean or an

int to a String.

Java implements a robust exception handling mechanism to deal with both expected and

unexpected errors. The worst that a Java program can do to a host system is bringing down

the runtime environment. It cannot bring down the entire system.

Most importantly Java applets can be executed in an environment that prohibits them from

introducing viruses, deleting or modifying files, or otherwise destroying data and crashing

the host computer. A Java enabled web browser checks the byte codes of an applet to verify

that it doesn't do anything nasty before it will run the applet.

However the biggest security problem is not hackers. It's not viruses. It's not Visual Basic

worms transmitted by Outlook Express. It's not even insiders erasing their hard drives and

quitting your company to go to work for your competitors. No, the biggest security issue in

computing today is bugs. Regular, ordinary, non-malicious, unintended bugs are responsible

for more data loss and lost productivity than all other factors combined. Java, by making it

easier to write bug-free code, substantially improves the security of all kinds of programs.

Java is High Performance

Java byte codes can be compiled on the fly to code that rivals C++ in speed using a "just-in-

time compiler." Several companies are also working on native-machine-architecture

compilers for Java. These will produce executable code that does not require a separate

interpreter, and that is indistinguishable in speed from C++. While you'll never get that last

ounce of speed out of a Java program that you might be able to wring from C or FORTRAN,

the results will be suitable for all but the most demanding applications.

As of May, 1999, the fastest VM, IBM's Java 1.1 VM for Windows, is very close to C++ on

CPU-intensive operations that don't involve a lot of disk I/O or GUI work; C++ is itself only

a few percent slower than C or FORTRAN on CPU intensive operations.

13

Page 14: Online Test Taking System

It is certainly possible to write large programs in Java. The Hot Java web browser, the

JBuilder integrated development environment and the javac compiler are large programs that

are written entirely in Java.

Java is Multi-Threaded

Java is inherently multi-threaded. A single Java program can have many different processes

executing independently and continuously. Three Java applets on the same page can run

simultaneously with each getting equal time from the CPU with very little extra effort on the

part of the programmer. This makes Java incredibly responsive to user input. It also helps to

contribute to Java's robustness and provides a mechanism whereby the Java environment can

ensure that a malicious applet doesn't steal all of the host's CPU cycles.

Unfortunately multithreading is so tightly integrated with Java, that it makes Java rather

difficult to port to architectures like Windows 3.1 or the PowerMac that don't natively

support preemptive multi-threading.

There is another cost associated with multi-threading. Multi-threading is to Java what

pointer arithmetic is to C; that is, a source of devilishly hard to find bugs. Nonetheless, in

simple programs it's possible to leave multi-threading alone and normally be OK.

Java is Dynamic(ly linked)

Java does not have an explicit link phase. Java source code is divided into .java files,

roughly one per each class in your program. The compiler compiles these into .class files

containing byte code. Each .java file generally produces exactly one .class file. (There are a

few exceptions we'll discuss later, non-public classes and inner classes).

The compiler searches the current directory and a few other well specified places to find

other classes explicitly referenced by name in each source code file. If the file you're

compiling depends on other, non-compiled files, then the compiler will try to find them and

compile them as well. The Java compiler is quite smart, and can handle circular

14

Page 15: Online Test Taking System

dependencies as well as methods that are used before they're declared. It also can determine

whether a source code file has changed since the last time it was compiled.

More importantly, classes that were unknown to a program when it was compiled can still

be loaded into it at runtime. For example, a web browser can load applets of differing

classes that it's never seen before without recompilation.

Furthermore, Java .class files tend to be quite small, a few kilobytes at most. It is not

necessary to link in large runtime libraries to produce an executable. Instead the necessary

classes are loaded from the user's local system.

Java is Garbage Collected

You do not need to explicitly allocate or deallocate memory in Java. Memory is allocated as

needed, both on the stack and the heap, and reclaimed by the garbage collector when it is no

longer needed. There are no malloc(), free(), or destructor methods. There are constructors

and these do allocate memory on the heap, but this is transparent to the programmer.

Most Java virtual machines use an inefficient, mark and sweep garbage collector. Some

more recent virtual machines have improved matters quite a bit by using generational

garbage collection.

To sum up, Java is a safe, robust, garbage-collected, object-oriented, high-performance,

multi-threaded, interpreted, architecture-neutral, cross-platform, buzzword-compliant

programming language.

AWT

The Abstract Window Toolkit (AWT) package enables you to create GUIs in your applets

and applications. Different Windows API from different platforms were looked at and

components were identified that were common to all of them. The AWT API communicates

with the platform's native API's as to give your application the native look and feel. Because

they associate with their own native screen resources, AWT components are called

15

Page 16: Online Test Taking System

heavyweight components. Swing components do not associate with native resources and are

called lightweight components. The AWT consists of components, both container and non-

container ones (eg. Button, Checkbox, Choice, ...) Container components (eg. Frame,

Dialog, Window, Panel) control the layout of other components. As containers are

themselves components, they can be placed inside other containers. Check out these links

and subcategories on how to create and work with these containers and components.

Subcategories

Button

Canvas

Checkbox and RadioButton

Choice

Color

Data Transfer (java.awt.datatransfer.*)

Dialog

Drag and Drop (java.awt.dnd.*)

Event

Font

Frame

Graphics

Insets

Input Method Framework

Label

Layout Managers

List

Menu, MenuItem

Robot

Scrollbar

ScrollPane

Textfield, TextArea

Toolkit

Swing

Swing is not an acronym. It packages a set of GUI components. Unlike AWT components,

that are associated to native screen resources (heavyweight), Swing components draw

themselves on the screen (lightweight). This results in slower execution but a Swing

application will look the same on all platforms. Because Swing supports pluggable look-

and-feel, you could have a Windows look in your Unix environment (if you would ever

want that). Check out the numerous subcategories for code examples for each component!

16

Page 17: Online Test Taking System

Subcategories

javax.swing.border.*

javax.swing.text.*

javax.swing.undo.*

JComponent

Top-Level Containers (JApplet,

JDialog, JOptionPane, JFrame)

General-Purpose Containers

(JPanel, JScrollPane, JSplitPane,

JTabbedPane, JToolBar)

Special-Purpose Containers

(JDesktop, JInternalFrame,

JLayeredPane, JRootPane)

Atomic Controls (JButton,

JCheckBox, JRadioButton,

JComboBox, JList, JMenu,

JSlider, JTextField)

Uneditable Atomic Controls

(JLabel, JProgressBar, JToolTip)

Editable Atomic Controls

(JColorChooser, JFileChooser,

JTable, JTextArea, JEditorPane,

JTree)

HTMLEditorKit

RTFEditorKit

Swing Events

Swing Look and Feel

Netbeans Ide

NetBeans is an integrated development environment (IDE) for developing primarily

with Java, but also with other languages, in particularPHP, C/C++, and HTML5.[2] It is also

an application platform framework for Java desktop applications and others. The NetBeans

IDE is written in Java and can run on Windows, OS X, Linux, Solaris and other platforms

supporting a compatible JVM.

The NetBeans Platform allows applications to be developed from a set of modular software

components called modules. Applications based on the NetBeans Platform (including the

NetBeans IDE itself) can be extended by third party developers.

The NetBeans Team actively support the product and seek feature suggestions from the

wider community. Every release is preceded by a time for Community testing and feedback

17

Page 18: Online Test Taking System

NetBeans Platform

Framework for simplifying the development of Java Swing desktop applications. The

NetBeans IDE bundle for Java SE contains what is needed to start developing NetBeans

plugins and NetBeans Platform based applications; no additional SDK is required.

Applications can install modules dynamically. Any application can include the Update

Center module to allow users of the application to download digitally signedupgrades and

new features directly into the running application. Reinstalling an upgrade or a new release

does not force users to download the entire application again.

The platform offers reusable services common to desktop applications, allowing developers

to focus on the logic specific to their application. Among the features of the platform are:

User interface management (e.g. menus and toolbars)

User settings management

Storage management (saving and loading any kind of data)

Window management

Wizard framework (supports step-by-step dialogs)

NetBeans Visual Library

Integrated development tools

NetBeans IDE is a free, open-source, cross-platform IDE with built-in-support for Java

Programming Language.

18

Page 19: Online Test Taking System

NetBeans IDE

NetBeansIDE  is an open-source integrated development environment. NetBeans

IDE supports development of all Java application

types(JavaSE(including JavaFX), JavaME, web, EJB and mobile applications out of the box.

Among other features are an Ant-based

projectsystem, Maven support,refactorings, versioncontrol (supporting CVS, Subversion, Gi

t, Mercurial and Clearcase).

Modularity:

All the functions of the IDE are provided by modules. Each module provides a well

defined function, such as support for the Java language, editing, or support for

the CVS versioning system, and SVN. NetBeans contains all the modules needed for Java

development in a single download, allowing the user to start working immediately. Modules

also allow NetBeans to be extended. New features, such as support for other programming

languages, can be added by installing additional modules. For instance, Sun Studio, Sun

Java Studio Enterprise, and Sun Java Studio Creator from Sun Microsystems are all based

on the NetBeans IDE.

License: From July 2006 through 2007, NetBeans IDE was licensed under Sun's Common

Development and Distribution License (CDDL), a license based on the Mozilla Public

License (MPL). In October 2007, Sun announced that NetBeans would henceforth be

offered under a dual license of the CDDL and the GPL version 2 licenses, with the GPL

linking exception for GNU Classpath..

Integrated modules :These modules are part of the NetBeans IDE.

NetBeans Profiler

The NetBeans Profiler is a tool for the monitoring of Java applications: It helps

developers find memory leaks and optimize speed. Formerly downloaded separately, it is

integrated into the core IDE since version 6.0.

The Profiler is based on a Sun Laboratories research project that was named JFluid.

That research uncovered specific techniques that can be used to lower the overhead of

19

Page 20: Online Test Taking System

profiling a Java application. One of those techniques is dynamic bytecode instrumentation,

which is particularly useful for profiling large Java applications. Using dynamic bytecode

instrumentation and additional algorithms, the NetBeans Profiler is able to obtain runtime

information on applications that are too large or complex for other profilers. NetBeans also

support Profiling Points that let you profile precise points of execution and measure

execution time NetBeans GUI Builder.

GUI design tool

Formerly known as project Matisse, the GUI design-tool enables developers to prototype

and design Swing GUIs by dragging and positioning GUI components.

The GUI builder has built-in support for JSR 295 (Beans Binding technology), but the

support for JSR 296 (Swing Application Framework) was removed in 7.1.

NetBeans JavaScript editor

The NetBeans JavaScript editor provides extended support for JavaScript, Ajax, and  CSS.

JavaScript editor features comprise syntax highlighting, refactoring, code completion for

native objects and functions, generation of JavaScript class skeletons, generation

of Ajax callbacks from a template; and automatic browser compatibility checks.

CSS editor features comprise code completion for styles names, quick navigation through

the navigator panel, displaying the CSS rule declaration in a List View and file structure in a

Tree View, sorting the outline view by name, type or declaration order (List & Tree),

creating rule declarations (Tree only), refactoring a part of a rule name (Tree only).

Bootstrap (front-end framework)

Bootstrap is a free collection of tools for creating websites and web applications. It

contains HTML and CSS-based design templates for typography, forms, buttons, navigation

and other interface components, as well as optional JavaScript extensions. It is the most

popular project on GitHub and has been used by NASA and MSNBC among others.

20

Page 21: Online Test Taking System

Ature

Bootstrap is compatible with the latest versions of all major browsers. It gracefully degrades

when used on older browsers such as Internet Explorer 8.

Since version 2.0 it also supports responsive design. This means the layout of web pages

adjusts dynamically, taking into account the characteristics of the device used (PC, tablet,

mobile phone).

Bootstrap is open source and available on GitHub. Developers are encouraged to participate

in the project and make their own contributions to the platform.

Recently, community members have translated Bootstrap's documentation into various

languages, including Chinese, Spanish and Russian.[6]

Structure and function

Bootstrap is modular and consists essentially of a series of LESS stylesheets that implement

the various components of the toolkit. A stylesheet called bootstrap.less includes the

components stylesheets. Developers can adapt the Bootstrap file itself, selecting the

components they wish to use in their project.

Adjustments are possible to a limited extent through a central configuration stylesheet. More

profound changes are possible by the LESS declarations.

The use of LESS stylesheet language allows the use of variables, functions and operators,

nested selectors, as well as so-called mixins.

Since version 2.0, the configuration of Bootstrap also has a special "Customize" option in

the documentation. Moreover, the developer chooses on a form the desired components and

adjusts, if necessary, the values of various options to their needs. The subsequently

generated package already includes the pre-built CSS style sheet.

Grid system and responsive design comes standard with a 940 pixel wide, grid layout.

Alternatively, the developer can use a variable-width layout. For both cases, the toolkit has

four variations to make use of different resolutions and types of devices: mobile phones,

21

Page 22: Online Test Taking System

portrait and landscape, tablets and PCs with low and high resolution. Each variation adjusts

the width of the columns.

Understanding the CSS stylesheet

Bootstrap provides a set of stylesheets that provide basic style definitions for all key HTML

components. These provide a uniform, modern appearance for formatting text, tables and

form elements.

Re-usable components

In addition to the regular HTML elements, Bootstrap contains other commonly used

interface elements. These include buttons with advanced features (e.g. grouping of buttons

or buttons with drop-down option, make and navigation lists, horizontal and vertical tabs,

navigation, breadcrumb navigation, pagination, etc.), labels, advanced typographic

capabilities, thumbnails, warning messages and a progress bar.

JavaScript components

Bootstrap comes with several JavaScript components in the form of jQuery plugins. They

provide additional user interface elements such as dialog boxes, tooltips, and carousels.

They also extend the functionality of some existing interface elements, including for

example an auto-complete function for input fields. In version 2.0, the following JavaScript

plugins are supported: Modal, Dropdown, Scrollspy, Tab, Tooltip, Popover, Alert, Button,

Collapse, Carousel and Typeahead.

An implementation of Twitter Bootstrap using the Dojo Toolkit is also available. It is

called Dojo Bootstrap and is a port of the Twitter Bootstrap plugins. It uses 100% Dojo

code and has support for AMD (Asynchronous Module Definition).

Likewise, Bootstrap controls for AngularJS are also available; they are called UI Bootstrap.

This port reuses some Bootstrap markup.

22

Page 23: Online Test Taking System

MY SQL DATABASE:

MySQL, the most popular Open Source SQL database management system, is developed,

distributed, and supported by Oracle Corporation.

MySQL is a database management system.

A database is a structured collection of data. It may be anything from a simple shopping

list to a picture gallery or the vast amounts of information in a corporate network. To add,

access, and process data stored in a computer database, you need a database management

system such as MySQL Server. Since computers are very good at handling large amounts

of data, database management systems play a central role in computing, as standalone

utilities, or as parts of other applications.

MySQL databases are relational.

A relational database stores data in separate tables rather than putting all the data in one

big storeroom. The database structures are organized into physical files optimized for

speed. The logical model, with objects such as databases, tables, views, rows, and

columns, offers a flexible programming environment. You set up rules governing the

relationships between different data fields, such as one-to-one, one-to-many, unique,

required or optional, and “pointers” between different tables. The database enforces these

rules, so that with a well-designed database, your application never sees inconsistent,

duplicate, orphan, out-of-date, or missing data.

The SQL part of “MySQL” stands for “Structured Query Language”. SQL is the most

common standardized language used to access databases. Depending on your

programming environment, you might enter SQL directly (for example, to generate

reports), embed SQL statements into code written in another language, or use a language-

specific API that hides the SQL syntax.

SQL is defined by the ANSI/ISO SQL Standard. The SQL standard has been evolving

since 1986 and several versions exist. In this manual, “SQL-92” refers to the standard

released in 1992, “SQL:1999” refers to the standard released in 1999,

and “SQL:2003” refers to the current version of the standard. We use the phrase “the

SQL standard” to mean the current version of the SQL Standard at any time.

23

Page 24: Online Test Taking System

SQL software is Open Source.

Open Source means that it is possible for anyone to use and modify the software.

Anybody can download the MySQL software from the Internet and use it without paying

anything. If you wish, you may study the source code and change it to suit your needs.

The MySQL software uses the GPL (GNU General Public License), to define what you

may and may not do with the software in different situations. If you feel uncomfortable

with the GPL or need to embed MySQL code into a commercial application, you can buy

a commercially licensed version from us. See the MySQL Licensing Overview for more

information (http://www.mysql.com/company/legal/licensing/).

The MySQL Database Server is very fast, reliable, scalable, and easy to

use.

If that is what you are looking for, you should give it a try. MySQL Server can run

comfortably on a desktop or laptop, alongside your other applications, web servers, and

so on, requiring little or no attention. If you dedicate an entire machine to MySQL, you

can adjust the settings to take advantage of all the memory, CPU power, and I/O capacity

available. MySQL can also scale up to clusters of machines, networked together.

MySQL Server was originally developed to handle large databases much faster than

existing solutions and has been successfully used in highly demanding production

environments for several years. Although under constant development, MySQL Server

today offers a rich and useful set of functions. Its connectivity, speed, and security make

MySQL Server highly suited for accessing databases on the Internet.

MySQL Server works in client/server or embedded systems.

The MySQL Database Software is a client/server system that consists of a multi-threaded

SQL server that supports different backends, several different client programs and

libraries, administrative tools, and a wide range of application programming interfaces

(APIs).

We also provide MySQL Server as an embedded multi-threaded library that you can link

into your application to get a smaller, faster, easier-to-manage standalone product.

24

Page 25: Online Test Taking System

A large amount of contributed MySQL software is available.

MySQL Server has a practical set of features developed in close cooperation with our

users. It is very likely that your favorite application or language supports the MySQL

Database Server.

MySQL databases are relational.

A relational database stores data in separate tables rather than putting all the data in one

big storeroom. The database structures are organized into physical files optimized for

speed. The logical model, with objects such as databases, tables, views, rows, and

columns, offers a flexible programming environment. You set up rules governing the

relationships between different data fields, such as one-to-one, one-to-many, unique,

required or optional, and “pointers” between different tables. The database enforces these

rules, so that with a well-designed database, your application never sees inconsistent,

duplicate, orphan, out-of-date, or missing data.

The SQL part of “MySQL” stands for “Structured Query Language”. SQL is the most

common standardized language used to access databases. Depending on your

programming environment, you might enter SQL directly (for example, to generate

reports), embed SQL statements into code written in another language, or use a language-

specific API that hides the SQL syntax.

SQL is defined by the ANSI/ISO SQL Standard. The SQL standard has been evolving

since 1986 and several versions exist. In this manual, “SQL-92” refers to the standard

released in 1992, “SQL:1999” refers to the standard released in 1999,

and “SQL:2003” refers to the current version of the standard. We use the phrase “the

SQL standard” to mean the current version of the SQL Standard at any time.

The MySQL Database Server is very fast, reliable, scalable, and easy to

use.

If that is what you are looking for, you should give it a try. MySQL Server can run

comfortably on a desktop or laptop, alongside your other applications, web servers, and

so on, requiring little or no attention. If you dedicate an entire machine to MySQL, you

can adjust the settings to take advantage of all the memory, CPU power, and I/O capacity

available. MySQL can also scale up to clusters of machines, networked together.

25

Page 26: Online Test Taking System

You can find a performance comparison of MySQL Server with other database managers

on our benchmark page.

MySQL Server was originally developed to handle large databases much faster than

existing solutions and has been successfully used in highly demanding production

environments for several years. Although under constant development, MySQL Server

today offers a rich and useful set of functions. Its connectivity, speed, and security make

MySQL Server highly suited for accessing databases on the Internet.

MySQL Server works in client/server or embedded systems.

The MySQL Database Software is a client/server system that consists of a multi-threaded

SQL server that supports different backends, several different client programs and

libraries, administrative tools, and a wide range of application programming interfaces

(APIs).

We also provide MySQL Server as an embedded multi-threaded library that you can link

into your application to get a smaller, faster, easier-to-manage standalone product.

A large amount of contributed MySQL software is available.

MySQL Server has a practical set of features developed in close cooperation with our

users. It is very likely that your favorite application or language supports the MySQL

Database Server.

26

Page 27: Online Test Taking System

Database:

A database is simply a collection of used data just like phone book. MySQL database

include such objects as tables, queries, forms, and more.

Tables:

In MySQL tables are collection of similar data. With all tables can be organized

differently, and

contain mostly different information- but they should all be in the same database file. For

instance we may have a database file called video store. Containing tables named

members,tapes, reservations and so on. These tables are stored in the same database file

because they are

often used together to create reports to help to fill out on screen forms.

Fields

Fields are places in a table where we store individual chunks of information.

Primary key and other indexed fields:

MySQL use key fields and indexing to help speed many database operations. We can tell

MySQL, which should be key fields, or MySQL can assign them automatically.

Controls and objects:

Queries are access objects us display, print and use our data. They can be things like

field labels that we drag around when designing reports. Or they can be pictures, or titles for

reports, or boxes containing the results of calculations.

Queries and dynasts:

Queries are request to information. When access responds with its list of data, that

response constitutes a dynaset. A dynamic set of data meeting our query criteria. Because of

the way access is designed, dynasts are updated even after we have made our query.

27

Page 28: Online Test Taking System

Forms:

Forms are on screen arrangement that make it easy to enter and read data. we can

also print the

forms if we want to. We can design form our self, or let the access auto form feature.

Reports:

Reports are paper copies of dynaset. We can also print reports to disk, if we like. Access

helps us to create the reports. There are even wizards for complex printouts.

Properties:

Properties are the specification we assigned to parts of our database design. We can define

properties for fields, forms, controls and most other access objects.

28

Page 29: Online Test Taking System

5. DESIGN

5.1 Data Flow Diagram

Data flow diagram is a means of representing system at any level of details

with a graphic network of symbols showing data flows, data stores, and data processes and

data sources.

The purpose of data flow diagram is to provide a semantic bridge between

users and system developers. The diagrams are graphical, eliminating thousands of words,

logical representations, modeling what system does: hierarchical, showing systems at any

level of details: and jargon less allowing user understanding and reviewing.

The goal of data flow diagramming is to have a commonly understood model of a

system. The diagram is the basis of structured system analysis. Data flow diagram area

supported by other techniques of structured system analysis such as data structured diagram,

ms data dictionaries and procedure representing such as decision tables, decision trees and

structured English.

The basic elements of DFD are

Circle: Used to represent function

Arrows: Used to represent data flow

Rectangle: Used to represent external entities

Open Rectangle: Used to represent data store.

29

Page 30: Online Test Taking System

External Entity

Represent Data Flow

Represents Data Stores

Represents a process that transforms

Incoming data into outgoing flow

Process

Specifies the transformation that is applied to the input to produce output.

External Entity

This represents any outside agency, which interacts with the system. Usually this is

an element, from that the system inputs or to which the system outputs go. A common.

Example if external entity is person or a group of persons.

Data Flow

This represents the flow of data between two processes or between a process and an

external entity or between a process and a data store.

30

Page 31: Online Test Taking System

login

create viewcreate viewcreate view

Admin Module:

Username, password

login

viewaward

login exam result storestore store

31

Admin

Teacher Exam Result Awards

View

End Process

Page 32: Online Test Taking System

login

create view

Teacher Module:

Username,password

login

store

student question result

32

Teacher

Students Question Results

Create Question View Result

End Process

Page 33: Online Test Taking System

login

Student Module:

student

viewstore

question Result

33

Take Exam

View Result

Page 34: Online Test Taking System

5.2 Use Case Diagram:

Login

Create Teacher

Create Student

Create Exam

Question Prepare

Take Test

Results

Admin

Students

Awards

Teacher

34

Page 35: Online Test Taking System

5.3 Class Diagram:

View Award

award name : VarcharExam : Varcharprice : double

Edit()Delete()

Admin - Login

username : VarcharPassword : Varcharrole : Varchar

Submit()

Create Teacher

firstname : VarcharLastname : Varcharemail : Varcharusername : VarcharPassword : Varchar

Add Teacher()Reset()

Create Exam

exame name : VarcharSubject : VarcharDate : Date

add exam()reset()

Create Award

award name : VarcharExam : VarcharPrice : double

add award()reset()

View Result

regno : IntegerExam name : VarcharSubject : VarcharMarks : Integer

Result()

View Teacher

firstname : VarcharLastname : Varcharemail : Varcharusername : Varcharpassword : Varchar

Edit()Delete()

view Exam

Exam Name : VarcharSubject : VarcharDate : Date

Edit()Delete()

35

Page 36: Online Test Taking System

Class Diagram – Teacher

Teacher-Login

username : VarcharPassword : VarcharRole : Varchar

Submit()Clear()

Create Student

Name : VarcharRegisterno : StringGender : VarcharDate of Birth : Dateemail : Varcharusername : VarcharPassword : Varcharmobile no : Integer

Add Student()Reset()

View Student

Name : VarcharRegister No : StringGender : VarcharDate of Birth : DateEmail : Varcharusername : VarcharPassword : VarcharContact no : Integer

Edit()Delete()

Create Exam

examname : VarcharSubject : VarcharQuestion : Varcharchoice A : VarcharChoice B : VarcharChoice C : VarcharChoice D : VarcharAnswer : Varchar

Add Question()Reset()

result

Register no : Integerexam : VarcharSubject : VarcharMark : Integer

View()

36

Page 37: Online Test Taking System

Class Diagram : Student

Student - Login

username : VarcharPassword : VarcharRole : Varchar

Submit()Clear()

Exam Prepage

Select Exam : VarcharSelect Subject : Varchar

Submit()

Take Question

Question : VarcharChoice A : VarcharChoice B : VarcharChoice C : VArchar

Submit()

results

mark : Integer

View()

37

Page 38: Online Test Taking System

5.4 DATABASE DESIGN

Table Design

Table design is a collection of interrelated data items. The table for the new

system is designed by the techniques of the relational table’s management System. It

provides flexibility in the storage and retrieval of the data in the order to anticipate the need

to meet unexpected requirements. Normalization can be done which is a process of

simplifying the relationship between data elements to produce successive simple and

manageable record structures. The following tables are used in the system.

Table - 1Table Name: LoginPrimary Key - id

S.NO FIELd NAME DATA TYPE SIZE DESCRIPTION

1 Id Int 5 Unique id for each record

2 Fname Varchar 30 First Name for the Admin or Teacher or Student

3 Lname Varchar 30 Last Name for the Admin or Teacher or Student

4 Email Varchar 30 Email Id for the Admin or Teacher or Student

5 Username Varchar 30 User Id for the Admin or Teacher or Student

6 Password Varchar 30 Password for the Admin or Teacher or Student

7 Role Varchar 30 Role

Table – 2

38

Page 39: Online Test Taking System

Table Name: ExamPrimary Key- id

S.No Field Name Data Type Size Description

1 Id int 11 Unique id for each record

2 Name Varchar 30 Name for Exam

3 Subject varchar 30 Subject for Exam

4 Date Date 10 Date

Table Name -3Table Name:questionPrimary Key: id

S.No Field Name Data Type Size Description

1 Id Int 5 Unique Id for Each Record

2 Question Varchar 30 Question

3 Subject Varchar 30 Subject

4 Choice1 Varchar 30 Choice

5 Choice2 Varchar 30 Choice

6 Choice3 Varchar 30 Choice

7 Choice4 Varchar 30 Choice

8 Answer Varchar 30 Answer

9 Exam Varchar 30 Exam

Table Name -4

39

Page 40: Online Test Taking System

Table Name:studentPrimary Key: id

S.No Field Name Data Type Size Description

1 Id Int 5 Unique Id for Each Record

2 Regno Inter 5 Regno for Student

3 Name Varchar 30 Name for the Student

4 Gender Varchar 30 Gender for Students

5 Dob Varchar 30 Date of Birth for Students

6 Email Varchar 30 Email for Students

7 Username Varchar 30 Username for Students

8 Password Varchar 30 Password for Students

9 Contactno Bigint 10 Contact Number for Students

Table – 5Table Name: resultPrimary Key- id

S.No Field Name Data Type Size Description

1 Id int 11 Unique id for each record

2 Exam Varchar 30 Name for Exam

3 Subject varchar 30 Subject for Exam

4 Regno Int 5 Register Number for Students

5 Mark Int 5 Marks for students

Table – 6

40

Page 41: Online Test Taking System

Table Name: AwardPrimary Key- id

S.No Field Name Data Type Size Description

1 Id int 11 Unique id for each record

2 Name Varchar 30 Name for Students

3 Exam varchar 30 Exam

4 Price Big int 10 Price

6. SYSTEM IMPLEMENTATION

41

Page 42: Online Test Taking System

Implementation is the stage in the project where the theoretical design is turned into

a working system and is giving confidence on the new system for the users that it will work

effectively. The last and the most important phase of the system Development Life Cycle is

the system implementation. It involves careful planning, investigation of the current system

and its constraints on implementation, design of methods to achieve the change over, an

evaluation, of change over methods.

Apart from planning major task of preparing the implementations are education and

training of users. The more complex the system being implemented, the more involved will

be the system analysis, and the design effort, required just for implementation. An

implementation coordination committee based on policies of individual organization has

been appointed. The implementation process begins with repairing a plan for the

implementation of the system.

After the system is implemented successfully, training of the users is one of the most

important subtasks of the developer. For this purpose user manuals are prepared and handled

over to the user to operate the developed system. Both the Hardware and software securities

are made to run the developed systems successfully in future.

7. SYSTEM TESTING

42

Page 43: Online Test Taking System

Result And Discussion

It is highly user friendly

Easy for user management

Less Error Prone

Faster performance

Generates accurate results

Performance And Evaluation

Many users has been made to work on the system and the performance of the system

is found to be satisfactory. The system was found to be working fine all the aspects

including

Data accuracy

Speed

Data Manipulation

Desired Results and so on..

Testing

Software testing represents the ultimate review of specification, design and coding.

Glen Myres states a number of rules that can serve well as testing objectives.

Testing has several purposes:

To affirm the quality of the project.

To find and eliminate any errors from previous stage.

To validate the software and to eliminate the operational reliability of the system.

Testing is a process of executing a program with the intent of finding an error.

A good test case is one that has a high probability of finding an as yet undiscovered

error. A successful test is one that uncovers an as yet undiscovered error.

Testing is a set of activities that can be planned in advance and conducted

systematically. The primary objective for test case design is to drive a set of tests

that has the highest likelihood for uncovering defects in the software. Testing begins

43

Page 44: Online Test Taking System

at the module level and works ‘outward’ towards the integration of the entire

software.

Thus a series of testing are performed for the proposed system before the

system is ready for user acceptance. It involves the following activities.

Testing Strategies

Unit Testing

Unit testing focuses on testing the individual module. In this testing tests are

performed for individual entity or elements in order to rectify the very minor errors.

Unit testing focuses verification effort on the smallest unit of software design i.e.,

the software module. It is done at the very grass root level. The candidate system is

subjected to this test and the results are verified. Each module is checked for its

consistency. Data validation is checked to avoid incorrect flow of data with in the

system. The system is subjected to this test and the results are verified.

Each of the entry screens and reports were tested with data. Boundary

conditions are tested to ensure that modules operate properly at boundary. Execution

time and response time for each module were checked and they were found to be a

few seconds. The modules were checked by giving some unexpected inputs for

which the appropriate error messages were displayed and such entries were not

accepted by the application.

White Box Testing

White Box Testing also called Glass Box Testing is a test case design method

that uses the control structure of the procedural design to derive test cases. Using

the white box testing method we can guarantee that all independent paths within a

module have been exercised at least once.

It exercises all the logical decisions on their true and false sides. It executes

all loops at their boundaries and within their operational bounds and exercise internal

data structures to ensure their validity.

44

Page 45: Online Test Taking System

Black Box Testing

Black box testing focuses on the functional requirements of the software. It

enables the programmer to derive sets of input conditions that will fully exercise all

functional requirements for a program. Black box testing is not an alternate to white

box testing techniques. Rather it is a complementary approach that is likely to

uncover a different class of errors than white box testing. It attempts to find error in

the following categories.

Incorrect or Missing Functions, Interface Errors.

Interface Errors

Behavior or Performance errors

Initialization and Termination errors.

Integration Testing

Integration testing is a systematic testing for constructing the program structure. The

relationship between different modules is checked in integration testing for the overall

performance of the system.

In this test the integration of various models are tested for their inter-navigational

ease of use and their compatibility with each other.

It is a systematic technique for constructing the program structure while at the same

time conducting tests to uncover errors associated with interfacing. The major emphasis lies

on the effects of modification if any are made to any one of the module are there any change

in the performance of the remaining modules and study of their effects and rectifying them.

The testing operation conducted after combining all the system modules to check for

the correctness of the output is called Integration Testing. Even though a successful unit

testing is performed, it is necessary to check the output of the system after the successful

integration, since the links of integrity may lead to erroneous results. This test is done using

test cases and the results are proved to be consistent.

45

Page 46: Online Test Taking System

System Testing

Integration testing is a systematic technique for constructing the program structure,

while at the same time conducting tests to uncover errors associated with Interfacing. That

is the program is constructed and tested in small segments, which makes it easier to isolate

and correct.

System testing is actually a series of different tests, whose primary purpose is to test

the completed system in it’s entirely as a whole exercise. Although each test has different

purpose, we should verify that all the system elements have been properly integrated and

perform the allocated functions.

Performance Testing

Performance test was conducted to identify the bottlenecks involved in the system

and the evaluated the amount of execution time spent on various parts of the unit. The

response time for each of the activities performed by the verified and is found to reasonable.

This test is conducted to check for the performance of the system with varying volume of

data. The system is made to function on all week-days with varying volumes of inputs. The

output is verified and the results are accurate.

Functional Testing

Functional testing involves excising the code with nominal input values of with input

values of which the expected values are known i.e., the functions of specified module are

verified with these by using the result of which are known and then results are obtained and

compared with the results expected. Functional tests were performed for each module to test

whether the functional requirement of each of the module is satisfied. The functional test

ensures that the system produces the required results for the given inputs under typical

operating conditions.

46

Page 47: Online Test Taking System

Verification

Verification test is carried out to verify whether the software function works

correctly. It should verify whether the software satisfies all the requirements that are

expected by the users. During design to use imaginary data for testing, but after to verify

whether the software function works correctly for the real data.

Validation

Validation testing is used to check whether the data given, as input is a valid data or

not. The wordpad is checked by performing the various word processing tasks. The video

and audio player is checked by play the different format of video and audio files. The

picture viewer is checked by viewing the different types of images. In this way validation is

performed in this project.

47

Page 48: Online Test Taking System

8. Coding:

packagedao;importbeans.Beans;importjava.math.BigInteger;importjava.security.SecureRandom;importjava.sql.Connection;importjava.sql.Date;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;importjava.util.Random;importjava.util.logging.Level;importjava.util.logging.Logger;importutil.Utility;

public class Dao {

Connection con = null;PreparedStatementpstmt = null;

ResultSetrs;publicArrayList<Beans>login(Beans bean) throws SQLException{ArrayList<Beans> list = new ArrayList<Beans>();

try{//log.info("Before checking Admin login Details..");con = Utility.createConnection();

String query;if(bean.getRole().equals("Student")){query= "select * from student where username=? and password=?";

pstmt = con.prepareStatement(query);pstmt.setString(1, bean.getUsername());pstmt.setString(2, bean.getPassword());

rs = pstmt.executeQuery();

while(rs.next()){Beans bean1= new Beans();

con = Utility.createConnection();String query = "insert into exam(name,subject,date) values(?,?,?)";

//log.info("Before checking Admin login Details..");

48

Page 49: Online Test Taking System

// Random r=new Random();

//bean.setUsername(bean.getFname()+ r.nextInt(100)); // pg=new passwordgenerator(); // bean.setPassword(pg.nextSessionId());

con = Utility.createConnection();String query = "update login set

username=?,password=?,role=?,fname=?,lname=?,email=? where id=?";

pstmt = con.prepareStatement(query);

pstmt.setString(1, bean.getUsername());pstmt.setString(2, bean.getPassword());pstmt.setString(3, bean.getRole());pstmt.setString(4, bean.getFname());

pstmt.setString(5, bean.getLname());pstmt.setString(6, bean.getEmail());

pstmt.setInt(7, bean.getId());result=pstmt.execute();

//log.info("After checking Admin login Details..");}catch(Exception e){

//log.error("Exception",e );e.printStackTrace();

}finally{pstmt.close();con.close();

}

return result; } publicbooleanupdateexam(Beans bean) throws SQLException {boolean result=false;try{

con = Utility.createConnection();String query = "update exam set name=?,subject=?,date=? where id=?";

pstmt = con.prepareStatement(query);

pstmt.setString(1, bean.getExamname());pstmt.setString(2, bean.getSubject());pstmt.setDate(3, bean.getDate());pstmt.setInt(4, bean.getId());

result=pstmt.execute();

49

Page 50: Online Test Taking System

//log.info("After checking Admin login Details..");}catch(Exception e){

//log.error("Exception",e );e.printStackTrace();

}finally{pstmt.close();con.close();

}

return result; } publicbooleanupdateaward(Beans bean) throws SQLException {boolean result=false;try{

con = Utility.createConnection();String query = "update awad set name=?,exam=?,Price=? where id=?";

pstmt = con.prepareStatement(query);

pstmt.setString(1, bean.getAwardname());pstmt.setString(2, bean.getExamname());pstmt.setLong(3, bean.getPrice());pstmt.setInt(4, bean.getId());

result=pstmt.execute();

//log.info("After checking Admin login Details..");}catch(Exception e){

//log.error("Exception",e );e.printStackTrace();

}finally{pstmt.close();con.close();

}

return result; } publicbooleanupdatestudent(Beans bean) throws SQLException {boolean result=false;try{

con = Utility.createConnection();

50

Page 51: Online Test Taking System

String query = "update student set regno=?,name=?,gender=? ,dob=?,email=?,username=?,password=?,contactno=? where id=?";

pstmt = con.prepareStatement(query);

pstmt.setString(1, bean.getRegno());pstmt.setString(2, bean.getStudentname());

pstmt.setString(3, bean.getGender());pstmt.setDate(4, bean.getDob());pstmt.setString(5, bean.getEmail());pstmt.setString(6, bean.getUsername());

pstmt.setString(7, bean.getPassword());pstmt.setLong(8, bean.getContactno());

pstmt.setInt(9, bean.getId());result=pstmt.execute();

//log.info("After checking Admin login Details..");}catch(Exception e){

//log.error("Exception",e );e.printStackTrace();

}finally{pstmt.close();con.close();

}

return result; } publicArrayList<Beans>showteacher(String query) throws SQLException{ Statement st;ArrayList<Beans> list = new ArrayList<Beans>();try{con = Utility.createConnection();st= con.createStatement();

rs=st.executeQuery(query);

}catch(Exception ex){ex.printStackTrace(); }while(rs.next()){

Beans bean1= new Beans();bean1.setUsername(rs.getString("username"));

bean1.setRole(rs.getString("role"));

51

Page 52: Online Test Taking System

bean1.setId(rs.getInt("id"));bean1.setPassword(rs.getString("password"));bean1.setFname(rs.getString("fname"));bean1.setLname(rs.getString("lname"));bean1.setEmail(rs.getString("email"));

list.add(bean1);}

return list; }publicArrayList<Beans>showexamname(String query) throws SQLException{ Statement st;ArrayList<Beans> list = new ArrayList<Beans>();try{con = Utility.createConnection();st= con.createStatement();

rs=st.executeQuery(query);

}catch(Exception ex){ex.printStackTrace(); }while(rs.next()){

Beans bean1= new Beans();bean1.setExamname(rs.getString("name"));

bean1.setSubject(rs.getString("subject"));

list.add(bean1);}

return list; }publicArrayList<Beans>showexam(String query) throws SQLException{ Statement st;ArrayList<Beans> list = new ArrayList<Beans>();try{con = Utility.createConnection();st= con.createStatement();

rs=st.executeQuery(query);

}catch(Exception ex){ex.printStackTrace(); }while(rs.next()){

52

Page 53: Online Test Taking System

Beans bean1= new Beans();bean1.setExamname(rs.getString("name"));

bean1.setId(rs.getInt("id"));bean1.setSubject(rs.getString("subject"));bean1.setDate(rs.getDate("date"));

list.add(bean1);}

return list; }publicArrayList<Beans>showresult(String query) throws SQLException{ Statement st;ArrayList<Beans> list = new ArrayList<Beans>();try{con = Utility.createConnection();st= con.createStatement();

rs=st.executeQuery(query);

}catch(Exception ex){ex.printStackTrace(); }while(rs.next()){

Beans bean1= new Beans();bean1.setRegno(rs.getString("regno"));

try{con = Utility.createConnection();pstmt = con.prepareStatement(query);pstmt.setInt(1, bean.getId());rs=pstmt.executeQuery();System.out.println(bean.getId());while(rs.next()){ Beans bean1= new Beans();

bean1.setExamname(rs.getString("name"));bean1.setSubject(rs.getString("subject"));bean1.setDate(rs.getDate("date"));

list.add(bean1);}

}catch(Exception ex){ex.printStackTrace(); }return list;

53

Page 54: Online Test Taking System

}publicArrayList<Beans>showawardwhere(Beans bean) throws SQLException{ String query="select name,exam,Price from awad where id=?";ArrayList<Beans> list = new ArrayList<Beans>();try{con = Utility.createConnection();pstmt = con.prepareStatement(query);pstmt.setInt(1, bean.getId());rs=pstmt.executeQuery(); //System.out.println(bean.getId());while(rs.next()){ Beans bean1= new Beans();

bean1.setAwardname(rs.getString("name"));bean1.setExamname(rs.getString("exam"));bean1.setPrice(rs.getLong("Price"));

list.add(bean1);}

}catch(Exception ex){ex.printStackTrace(); }return list; }publicArrayList<Beans>showstudentwhere(Beans bean) throws SQLException{ String query="select * from student where id=?";ArrayList<Beans> list = new ArrayList<Beans>();try{con = Utility.createConnection();pstmt = con.prepareStatement(query);pstmt.setInt(1, bean.getId());rs=pstmt.executeQuery(); //System.out.println(bean.getId());while(rs.next()){ Beans bean1= new Beans();

bean1.setStudentname(rs.getString("name"));bean1.setRegno(rs.getString("regno"));bean1.setDob(rs.getDate("dob"));bean1.setGender(rs.getString("gender"));bean1.setUsername(rs.getString("username"));bean1.setPassword(rs.getString("password"));bean1.setContactno(rs.getLong("contactno"));

54

Page 55: Online Test Taking System

bean1.setEmail(rs.getString("email"));list.add(bean1);

}

}catch(Exception ex){ex.printStackTrace(); }return list; }publicbooleandeleteteacher(int id){try {con = Utility.createConnection(); String query = "delete from login where id=?";pstmt=con.prepareStatement(query);pstmt.setInt(1, id);pstmt.execute(); } catch (Exception ex) {Logger.getLogger(Dao.class.getName()).log(Level.SEVERE, null, ex); }

return true; }publicbooleandeleteexam(int id){try {con = Utility.createConnection(); String query = "delete from exam where id=?";pstmt=con.prepareStatement(query);pstmt.setInt(1, id);pstmt.execute(); } catch (Exception ex) {Logger.getLogger(Dao.class.getName()).log(Level.SEVERE, null, ex); }

return true; }publicbooleandeleteaward(int id){try {con = Utility.createConnection(); String query = "delete from awad where id=?";pstmt=con.prepareStatement(query);pstmt.setInt(1, id);pstmt.execute(); } catch (Exception ex) {

55

Page 56: Online Test Taking System

Logger.getLogger(Dao.class.getName()).log(Level.SEVERE, null, ex); }

return true; }publicbooleandeletestudent(int id){try {con = Utility.createConnection(); String query = "delete from student where id=?";pstmt=con.prepareStatement(query);pstmt.setInt(1, id);pstmt.execute(); } catch (Exception ex) {Logger.getLogger(Dao.class.getName()).log(Level.SEVERE, null, ex); }

return true; }classpasswordgenerator{privateSecureRandom random = new SecureRandom();public String nextSessionId() {return new BigInteger(130, random).toString(32); } }

}

56

Page 57: Online Test Taking System

9. Screen Shots:

Home Page:

Login:

57

Page 58: Online Test Taking System

Admin Home Page:

58

Page 59: Online Test Taking System

Create Teacher:

59

Page 60: Online Test Taking System

View Teacher:

60

Page 61: Online Test Taking System

Create Exam:

61

Page 62: Online Test Taking System

View Exam:

62

Page 63: Online Test Taking System

Edit Exam:

63

Page 64: Online Test Taking System

Delete Exam:

64

Page 65: Online Test Taking System

Create Award

65

Page 66: Online Test Taking System

Teacher Home Page:

66

Page 67: Online Test Taking System

Create Student:

67

Page 68: Online Test Taking System

View Student:

68

Page 69: Online Test Taking System

Delete Student:

69

Page 70: Online Test Taking System

Create Question:

70

Page 71: Online Test Taking System

View Result:

71

Page 72: Online Test Taking System

Student Pre Exam Page:

72

Page 73: Online Test Taking System

Student Test Page:

73

Page 74: Online Test Taking System

Student Results:

74

Page 75: Online Test Taking System

10. Conclusion

Computerization is needed in this Shrinking world, where centralization is also

required with globalization. Conducting online test is a step in this direction to ease the

current structure of examination. This way of conducting test on one of the most secure

operating system and with highly sophisticated technology is cost effective and save time

too.

This way of conducting test not only save time but also lessens student’s and

teacher’s frustration. It is an easier way of giving examination, any person across the globe

can appear for the examination.

75

Page 76: Online Test Taking System

11. Future Enhancement

It has vast future scope, as it is not made for client server level so we can make it for client server level too.

Every type of exam can be conducted online and it will lessen the teacher’s frustration.

We can also conduct tests for various subjects and various difficulty levels.

76

Page 77: Online Test Taking System

12. Biblography

Books:

The Complete Reference Java2 By:-Herbert Schildt

Programming with Java By:-E Balagurusamy

Websites:

www.java.sun.com

www.google.co.in

www.en.wikipedia.org

77

Page 78: Online Test Taking System

78


Recommended