Вы находитесь на странице: 1из 67

ONLINE EXAMINATION

Submitted by:

HIJITHMON.S.L
Partial Work done by:

HISHARA.N.S

C.H.M.M. COLLEGE FOR ADVANCED STUDIES


Metca Land, Chavarcode, Palayamkunnu P.O
Thiruvananthapuram

PPROJECT REPORT
SUBMITTED IN PARTIAL FULFILLMENT OF THE
REQUIREMENTS FOR THE AWARD OF
BSc (COMPUTER SCIENCE) DEGREE OF
UNIVERSITY OF KERALA
2010
C.H.M.M. COLLEGE FOR ADVANCED STUDIES
Metca Land, Chavarcode, Palayamkunnu P.O
Thiruvananthapuram

DEPARTMENT OF COMPUTER SCIENCE

CERTIFICATE
This is to certify that the report on ONLINE EXAMINATION, is a bonafide
record of Project presented by Hijithmon.S.L (Reg.no: 08 801 003) towards partial
fulfillment for the award of the degree in B.Sc. computer Science by the University
of Kerala.

Staff in Charge Head of the Department

Place : Chavarcode
Date : 26-05-2010

DELCARATION
I, Hijithmon.S.L hereby declare that the project work entitled

ONLINE EXAMINATION submitted to Kerala University in partial fulfillment of

the requirements for the award of degree of BSc Computer Science is a record of

the original project work done by during the period of 26th May 2010 in CHMM

College For Advanced Studies.

Sign of Candidate

Place : Chavarcode

Date : 26-05-2010

ACKNOWLEDGEMENT

I extend my sincere gratitude towards Prof. SHIJIN.M Head of Department

for giving us his invaluable knowledge and wonderful technical guidance


I express my thanks to Mr. SAM RAJ our Computer Lab Instructor and also

to our staff advisor Ms. SAJIMOL for their kind co-operation and guidance for

preparing and presenting this seminar.

I also thank all the other faculty members of BSc.Computer Science

department and my friends for their help and support.

ABSTRACT

While virtual classroom have become reality with the advance of


networking and other technologies the traditional assessment methods still
dominate when it comes to exams. We can take the advantage of internet
technologies to conduct exams so students can enjoy any time anywhere flexibility
as well as maximize their learning.
Online Examination is a complete web application developed in J2EE (JSP
& Servlet) where examination can be done online. It’s a simple but powerful
project having many advanced features. Using this Online Exam system, we can
conduct any type of objective type examinations on line.
The questions are stored in the server database. When the user is ready to
take the exam, then the user id and exam id is passed to the database. Using this
same Question contents are retrieved from the server and displayed on the page
whenever the user requests for a question. On end of the exam, the result will be
displayed. The duration and no of questions per exam are set during exam
configuration time.

There are three wizards in the system configuration Administrator, staff and
candidate. The configuration wizard used in administrator level and can create new
exams, edit existing exams add new subject and user management etc. The staff
wizard can upload the questions and answers in subject wise. The candidate wizard
is the public page, where candidate can register for exams specifying the exam has
to take. All type of configuration such as exam date and time providing questions
answers and other criteria are updated through configuration wizard.

CONTENTS
1. INTRODUCTION
1.1. Project Overview
1.2. Organizational Profile
1.3. J2EE
1.4. MS SQL Server
2. SYSTEM ANALYSIS
2.1. Hardware & Software Specification
2.2. Existing System
2.3. Proposed System
2.4. Analysis Modeling & DFD
3. SYSTEM DESIGN
3.1. Input Design
3.2. Output Design
3.3. Database Design
3.4. Process Design
3.5. Architectural Design
3.6. UML Design
4. CODING
4.1. Program Code Preparation
4.2. Program Code
4.3. Code Efficiency
5. SYSTEM IMPLEMENTATION
6. SYSTEM TESTING
7. SYSTEM MAINTENANCE
8. SCOPE OF FUTURE ENHANCEMENT
9. CONCLUSION
10. REFERENCE

1. INTRODUCTION
The First phase of software development is system study analysis. The importance of

system analysis phase is the establishment of the requirements for the system to acquire

developed and installed. Analyzing the project to understand the complexity forms the vital part

of the system study. Problematic areas are identified and information is collected. Fact finding or

gathering is essential to any analysis of requirements. It is also highly essential that the analyst

familiarize himself with the objectives, activities and functions of organizations in which the

system is to be implemented.

System analysis includes investigation and possible changes to the existing system. At

the conclusion of the system analysis there is the system description and set of requirements for a
new system. If there is no such existing system then analysis only defines the requirements. This

new system may build a fresh or by changing the existing system. Development begins by

defining a model of the new system and continues this model to a working system. The model of

the system shows what the system must do to satisfy these requirements. Finally data modes are

converted to a database and processed to user procedures and computer programs.

1.1 Project Overview

Online Examination is a complete web application. There are three wizards in the system

configuration: Administrator, staff and candidate. The configuration wizard used in administrator

level and can create new exams, edit existing exams add new subject and user management etc.

The staff wizard can upload the questions and answers in subject wise. The candidate wizard is

the public page, where candidate can register for exams specifying the exam has to take

Application Requirements:

1 The system has three parts, administration, staff and candidate.

2 All type of configuration such as exam date and time providing questions answers
and other criteria are updated through configuration wizard.

3 Candidate can register for exam, delete, and edit profile.

4 The administrator can upload the questions in subject wise

5 The questions and answers are generated randomly


6 The question pattern of a particular question should keep changes each and every
time the question is selected for display.

7 An inactive candidate should automatically log off from the system.

8 The result of exam will be noticed just after completing the exam.

9 In built Question database for exam question

10 Access anywhere, anytime Application.

11 Exams and questions can be edited and deleted anytime.

User Characteristics:

Every user should be comfortable of working with computer and net browsing. He must

have basic knowledge of English too.

Constraints:

1 GUI is only in English.

2 Overall control goes to Administrator and limited function for Staff.

3 This system is working for single server.

4 There is no maintainability of back up so availability will get affected.

5 Questions are only objective.


6 The candidate may not go back to previous set of questions for resubmission.

7 Limited to HTTP/HTTPS.

Communication Interface:

8 Client on Internet will be using HTTP/HTTPS protocol.

1.2 Organizational profile

Turbo plus technologies Pvt. Ltd is one of the leading software development companies

in Kerala. It devised a cosmopolitan outlook necessary for the global competition of IT industry.

Allegation of technical expertise, competent software development skills and management

capabilities has enabled it to be an acclaimed software development company. It provides high

quality application development , maintenance reengineering and other IT consulting services to

industry verticals like Retail, Healthcare, E-Commerce Utilities telecommunication, Shipping

and transportation Banking and financial services and manufacturing. Its clients include several

industry market leaders .It offers its employees tremendous opportunities to work on cutting

edge technologies and concepts. The company focuses on business sectors in which it has strong

domain experience, including healthcare transportation and logistics, banking finance and

insurance retail and manufacturing. With a strong focus on corporate values and culture turbo

plus and its employees are committed to long term strategic partnership and providing values

beyond the contract to its customers.

Areas of services:

1 Synergy matrix

2 Software development
3 System Transportation

4 Maintenance outsourcing

5 Testing

6 Consulting

Overview of HTML

HTML is a hypertext markup language. It is the fundamental coding language of the

Internet. The original Internet of the HTML specification was to allow web authors to describe

the structure of a page.

This language is used to layout pages that are capable of displaying all the diverse kinds

of information that the web contains.

A web page is made up of elements each of which is defined by html code or tag. A tag is

always enclosed in angle brackets and most tags come in pair, with open and closing tags. The

Internet is exploded into technological to retrieve information around world.

Overview of JavaScript

On the Client-side in the HTML document Java Scripts are used to enhance web pages in

number of ways.

1 An author can use this script to make sure that the information a user entered into
a form would be of proper type. Instead of forcing the server or database to do the
data validation.

2 The host computer handles all the calculation work putting some of that otherwise
server work load may increase which slows down its performance.

In early Dec 1995, Netscape and Sun jointly announced the scripting language as

JavaScript. This is related to java in their syntactic ways. The JavaScript is useful in many ways

such as:

1 Distribute small collection of database like information and provide a friendly


interface to that data.

2 Control multiple frame navigation, plugs-ins or java applets based on user choices
in that HTML document.

3 Data preprocessed on the client before submission to a server.

As a main features of the JavaScript it provides following ones:

1 Mandatory checking - For example in the registration form of the customer the
fields marked * near the description should have values when we click the submit
button

2 Data-Entry Validation

3 Error Message Alerts - For example error messages such as “something is not a
number” can occur when the variable name singled out in this error message is most
likely a string value, a null value or no value.

Overview of Ajax

Ajax (Asynchronous JavaScript and XML), or AJAX, is a group of interrelated web

development techniques used for creating interactive web applications or rich Internet

applications. With Ajax, web applications can retrieve data from the server asynchronously in

the background without interfering with the display and behavior of the existing page. Data is

retrieved using the XML-Http Request object or through the use of Remote Scripting in
browsers that do not support it. Despite the name, the use of JavaScript, XML, and asynchrony is

not required.

The term Ajax has come to represent a broad group of web technologies that can be used

to implement a web application that communicates with a server in the background, without

interfering with the current state of the page. Ajax refers specifically to these technologies:

• XHTML and CSS for presentation

• The Document Object Model (DOM) for dynamic display of and interaction
with data

• XML and XSLT for the interchange and manipulation of data, respectively

• The XMLHttpRequest object for asynchronous communication

• JavaScript to bring these technologies together

Overview of Cascading Style Sheets (CSS)

CSS is a style sheet language used to describe the presentation of a document written in a

markup language. It’s most common application is to style web pages written in HTML and

XHTML, but the language can be applied to any kind of XML document, including SVG and

XUL.

CSS can be used locally by the readers of web pages to define colors, fonts, layout, and

other aspects of document presentation. It is designed primarily to enable the separation of

document content (written in HTML or a similar markup language) from document presentation

(written in CSS). This separation can improve content accessibility, provide more flexibility and

control in the specification of presentation characteristics, and reduce complexity and repetition

in the structural content. CSS specifies a priority scheme to determine which style rules apply if
more than one rule matches against a particular element. In this so-called cascade, priorities or

weights are calculated and assigned to rules, so that the results are predictable.

1.3 J2EE

JSP

Sun Microsystems released Java Server Pages (JSP) to add server side programming

functionalities to Java. JSP is a server side program that is similar in design and functionality to a

Java Servlet. A client to provide a web service calls it. The nature of which depends on the J2EE

application.

JSP technologies have facilitated the segregation of the work profiles of a web designer

and a web developer. Web designer can design and formulate the layout for the web page by

using HTML. A web developer working independently can use java code and other JSP specific

tags to code for the business logic. The simultaneous construction of the static and dynamic

content facilities the development quality of the application with increased productivity.

A JSP page after compilation generates a servlet and therefore incorporates all servlet

functionalities. Servlet and JSP share common features such as

1 Platform independence.

2 Creation of database driver web applications.

3 Server side programming capabilities.

Servlet

Servlet are java programs that can be deployed on a java enabled web server to enhance

and extent the functionality of the web server. Mainly I have used the servlet as the main
controller which controls the overall functionality of the system. Servlet can be used to develop a

variety of web-based application. As Servlet are written using java, they can make use of the

extensive power of java API, such as networking & URL access, multithreading, database

connectivity, internationalization, RMI and object serialization.

Servlet are efficient: The initialization code for a Servlet is executed only when the

Servlet is executed for the first time. Subsequently, the requests that are received by the

Servlet are processed by its service() method. This helps to increase the efficiency of the

server by avoiding creation of unnecessary processes.

1 Servlet are robust: As Servlet are based on java, they provide all the powerful
features of java such as exception handling and garbage collection.

2 Servlets are portable: Servlets are portable because they are developed in java.
This enables easy portability across web server.

3 Servlet are persistent: Servlet helps to increase performance of the system by


preventing frequent disk access. For Example: If a candidate log on to examination,
the candidate can perform many activities such as viewing his profile register for
exam etc. The candidate needs to be authenticated by checking for the user_id against
the database. Instead of checking for the user_id against database every time, Servlet
retain the Id in the servlet container using Http Session concept till the user logs out
of the web site.

Java Bean

Java Bean components are not considered as J2EE components by the J2EE

specification. They are written to manage the data flow between an application client or applet

and components running on the J2EE server or between server components and a database. Java

Beans components written for the J2EE platform have instance variables and get and set methods
for accessing the data in the instance variables. Java Beans components used in this way are

typically simple in design and implementation, but should conform to the naming and design

conventions outlined in the Java Beans component architecture.

Fig 2.1 Integrated architecture of JSP and Servlets

R e q u e s t
J S P

W e b B r o w s e r
D B
R e s p o n s e
J a v a B e a n

A p p l i c a t i o n s e E r vn et e r r p r i s e s e r v e r

Apache Tomcat 6.0


The Apache Software Foundation provides support for the Apache community of open-

source software projects. The Apache projects are characterized by a collaborative, consensus

based development process, an open and pragmatic software license, and a desire to create high

quality software that leads the way in its field. Apache is not simply a group of projects sharing

a server, but rather a community of developers and users.

Tomcat is the servlet container that is used in the official reference implementation for

the Java Servlet and Java Server Pages technologies. The Java Servlet and Java Server Pages
specifications are developed by Sun under the Java Community Process.

1.4 MS SQL Server

Microsoft SQL Server 2000 features include:

1 Internet Integration.

The MS SQL Server 2000 database engine includes integrated XML support. It also has

the scalability, availability, and security features required to operate as the data storage

component of the largest Web sites. The SQL Server 2000 programming model is integrated

with the Windows DNA architecture for developing Web applications, and SQL Server 2000

supports features such as English Query and the Microsoft Search Service to incorporate user-

friendly queries and powerful search capabilities in Web applications.

2 Scalability and Availability

The same database engine can be used across platforms ranging from laptop computers

running Microsoft Windows® 98 through large, multiprocessor servers running Microsoft

Windows 2000 Data Center Edition. SQL Server 2000 Enterprise Edition supports features such

as federated servers, indexed views, and large memory support that allow it to scale to the

performance levels required by the largest Web sites.

3 Enterprise-Level Database Features

The SQL Server 2000 relational database engine supports the features required to support

demanding data processing environments. The database engine protects data integrity while

minimizing the overhead of managing thousands of users concurrently modifying the database.

SQL Server 2000 distributed queries allow you to reference data from multiple sources as if it

were a part of a SQL Server 2000 database, while at the same time, the distributed transaction
support protects the integrity of any updates of the distributed data. Replication allows you to

also maintain multiple copies of data, while ensuring that the separate copies remain

synchronized. You can replicate a set of data to multiple, mobile, disconnected users, have them

work autonomously, and then merge their modifications back to the publisher.

1 Ease of installation, deployment, and use.

SQL Server 2000 includes a set of administrative and development tools that improve

upon the process of installing, deploying, managing, and using SQL Server across several sites.

SQL Server 2000 also supports a standards-based programming model integrated with the

Windows DNA, making the use of SQL Server databases and data warehouses a seamless part of

building powerful and scalable systems. These features allow you to rapidly deliver SQL Server

applications that customers can implement with a minimum of installation and administrative

overhead.

2 Data warehousing.

SQL Server 2000 includes tools for extracting and analyzing summary data for online

analytical processing. SQL Server also includes tools for visually designing databases and

analyzing data using English-based questions.

SQL Server Enterprise Manager is a graphical tool that allows for easy, enterprise-wide

configuration and management of Microsoft® SQL Server™ and SQL Server objects.

SQL Server Enterprise Manager provides:

• A scheduling engine.

• Administrator alert capability.


• Drag-and-drop control operations across multiple servers.

• A built-in replication management interface.

We can also use SQL Server Enterprise Manager to:

• Manage logins, permissions, and users.

• Create scripts.

• Manage devices and databases.

• Back up databases and transaction logs.

• Manage tables, views, stored procedures, triggers, indexes, rules, defaults, and
user-defined data types.

Databases in MS SQL Server

A database in Microsoft SQL Server consists of a collection of tables with data, and other

objects, such as views, indexes, stored procedures, and triggers, that are defined to support the

activities performed with the data. Before objects within the database can be created, you must

create the database and understand how to change the settings and the configuration of the

database. This includes tasks such as expanding or shrinking the database, or specifying the files

used to create the database.

Tables in MS SQL Server:

Tables are database objects that contain all the data in a database. A table definition is a

collection of columns in the same way a database is a collection of tables. Before data can be

stored in a database, you must understand how to create, modify, and maintain the tables within

your database. This includes tasks such as defining keys and adding or deleting columns from a

table.
BLOB

Blob is a binary large object that can hold a variable amount of data. The four different

blob types are- Tiny Blob, Blob, Medium Blob, and Large Blob. They differ in the length of

values they can hold. This data type is not used in this project. Blob columns are treated as

binary strings (byte strings).Text columns are treated as non-binary strings (character strings).

Blob columns have no character set and sorting and comparison are based on numeric values of

bytes in column values. Text columns have a character set and values are sorted and compared

based on the collation of character set. If a strict SQL model is not enabled and u assign value to

a blob or text column that exceeds the column’s maximum length, the value is truncated .The

blob column value can be regarded as a varbinary column that can be as large as the users need.

1 There is no trailing space removal for blob and text columns when values are
stored

2 For indexes on blob we must specify an index prefix length.

3 Blob and text columns cannot have default values.

Tomcat is developed in an open and participatory environment and released under the

Apache Software License. Tomcat is intended to be a collaboration of the best-of-breed

developers from around the world.

Java Database Connectivity (JDBC)

Sun offers a package Java. Sql that allows the Java programs to access relational database

management system. Through this Java database connectivity package, we can connect to

relational database and interact with the database. Many databases serve use vendor –specific

protocols. In the modern world of internet, one cannot expect that a user at a remote location
learns the nuts and bolts of the server database. To bridge this gap, Microsoft had developed

ODBC. ODBC provided a common application programmer interface to database clients. Now the

user has to learn only one interface to provide a uniform interface to a host of proprietary

databases. The life became easy for the user of the data and for the front-end developer.

Using JDBC to work with A Database:


Establish a connection between Java program and the database manager. Send a SQL

statement to the database by using the statement object. Read the results and use them in the

program.

Working With the Driver Manager:


In order to establish a connection with database the Java runtime environment must load

the driver for the specified database. The DRIVER MANAGER class is responsible for loading

and unloading devices.

Loading Drivers:

A database vendor typically writes JDBC driver’s era, they accept JDBC connection and

statements from one side and issue native calls to the databases from the other. Some database

vendors haven’t yet written JDBC drivers, but they have drivers that confirm to confirm to a

Microsoft standard-ODBC. The following code pre-loads a JDBC-ODBC bridge.

try {

Class forName (‘sun.jdbc.odbc.jdbcodbcDriver’);

} catch (ClassNotFoundException e){};

Using the Connection Class:


Once the driver has registered with the Driver Manager we can use it to connect it to the

database. Tell the Driver Manager that we want to connect to make a new connection. It will

invoke the driver and return a reference to the connection for us. We will need to specify the
location of the database, and for many database we will need the same user name and password.

For e.g. we can write:

Connection con=DriverManager.getConnection (“jdbd: odbc: datasource_name”);

When the Driver Manager gets a get connection () request, it takes the JDBC URL and

passes it to each registered driver in turn. The first driver recognizes the URL and says that it can

connect to establish the connection.

Using the Statement Object:


The connection class produces the statement using a method Create statement (). We can

use a statement object to hold the SQL statement. When we send statement object to the database

over the Connection, the database runs our SQL and returns a result set write code like this

example:

ResultSet rs=the Statement.executequery (“select * from payment”);

Handling the ResultSet


The Result Set class itself functions as a SQL cursor, allowing us to step through the data

from a SELECT statement one row at a time. To advance from one row to the next () Sun has

provided getType () methods for all the primitive types that SQL can store

JDBC provides a common database programming API for Java programs. It was

developed by Sun Microsystems. JDBC drivers are used to integrate the database servers to

receive the result from them. Database clients using JDBC send SQL statements to the database

servers and get the response from the servers. The database servers behave in the similar fashion

as the query has been received from the local client attached physically with the server.

The JDBC API specification is a “two-way street” not only does it define how the

application developer, will interact with a database, but it also defines how a JDBC driver must
be written in order to preserve interoperability.

Open Data Base Connectivity (ODBC)

ODBC provides the universal database connectivity Application Programming Interface

(API) that ensures application to access data in a wide range of proprietary databases. To use

Microsoft ODBC driver for Oracle, weaned Windows 95 or windows 98 and Oracle Client

Software install in the window System. A data source identifies a path to data that may include a

network library, server, database and other attributes. In order to connect to a data source, the

Driver Manager checks the Window registry for specific connection information. The Registry

entry created by ODBC Data Source Administration is used by the ODBC Drivers. This entry

contains information about each data source and its associated drivers. Open Database

Connectivity is a standard developed by Microsoft in order to simplify the development

applications that need to be independent of database platforms.

2. SYSTEM ANALYSIS
2.1. Hardware & Software Specification

Hardware Requirements
The selection of hardware is very important in the existence and proper
working of any software. When selecting hardware, the size and capacity
requirements are also important.

Minimum requirements
Requirement Client side Server side
Processor Intel Pentium II/AMD Processor Intel Pentium IV Processor
Running at 133 MHz running at 1 GHz

Hard Disk 10 GB 20GB

RAM 128MB 512MB

Requirements for Peak Performance

Requirement Client side Server side


Processor Intel Pentium IV /AMD Intel Pentium IV /AMD
Processor Running at 1 GHz Processor Running at 3 GHz

Hard Disk 20GB 40GB

RAM 512MB 2GB

General

1. Display Type : VGA/SVGA/LCD Monitor


2. Keyboard : Enhanced 104 Standard
3. Mouse : PS/2 2 Button

Software Specification

Technology Tools and respective versions

Programming language J2EE 1.6

Integrated Development Environment (IDE) Net Beans 6.0

Client Tier HTML, Ajax, Java Script, CSS

Presentation Tier JSP, Servlet

Database Microsoft SQL Server 2000

Web Server Tomcat Server 6.0

Operating System Windows 2000/XP


2.2. Existing System

Now there exist some discreet systems that help the users with minimal functionality. If it

is manual then involves lot of paper work and chances of error are high. If it is automated it

doesn’t include many features. Most systems don’t include the feature that allows instructors to

randomize the delivery of questions during an exam. Obviously they have features but lack some

other.

Limitations of Existing System

1 Difficulty in question uploads.

2 Result making is Tedious

3 Unavailability Question bank

4 No facility for randomization of Questions

5 Lack of Security

6 Time consuming.

Requirements for new System

New System has to nullify all the problems of existing system. First of all have to

minimize manual effort as much as possible. Due to reducing manual intervention security must

be cared very much. Reports are the another one important aspect, in existing whole process

done manually so there are lots of paper works, so not much difficult to create result in the

existing system. Online result generation must be more perfect and useful than existing system.

User interface have to design user friendly manner, because the user is not much know about the

system. Response for the user request should be fast only by that working of this new system

effective.
Requirements in short:

1 Fully automated web based examination software.

2 More user friendly

3 High security

4 Question banks are used.

5 Customized Exam Settings.

6 Centralized administrator controls

7 Register students online

2.3. Proposed System

Existing system has many disadvantages and all this demerits are nullified by proposed

system. Proposed system is a web application in which we can conduct exams view results

online. The system holds a central database for questions. It also stores the details about

examination and candidates. Examination Facility will be the primary objective.

Features of Proposed System

1 Customized Exam Settings: Examination date, time, duration and no. of


questions can be done while setting exam

2 Question data Bank: All questions for a particular exam are retrieved from a
question data bank.

3 Questions and options are generated randomly: After selecting questions for
particular exam, the order of questions for each candidate will be in random.

4 Question Security: Questions are stored in the database not in files.


5 Online Results: Candidates can view their results after completing exam.

6 Easy use of Interface.

2.4. Analysis Modeling

At a technical level, software engineering begins with a series of modeling that lead to

complete specification of requirements and comprehensive design representation for the software

to be built. The analysis model, actually a set of models is the technical representation of a

system. Most important methods proposed for analysis modeling are structured analysis and

object-oriented analysis. In structured analysis, we create models that depict information content

and flow. We partition the system functionally and behaviorally and we depict the essence of

what must be built. This method relies on data modeling to create the basis for a comprehensive

model.

At the core of analysis model lies the data dictionary the repository that contains

description of all data objects consumed or produced by the software. Entity relationship and

dataflow diagram surround the core of the model. The model consists of 3 inter related pieces of

information: the data objects, the attributes that describes the data objects to another. A data

object is a representation of any composite information that must be understood by the software.

These basic elements provide the basis for understanding the information domain of a problem.

Data Flow Diagrams

The Data Flow Diagrams are the main process-modeling tool for information systems.

DFDs represent a situation from the viewpoint of the data and they are a technique to assist the

analysis of processes in the system. A DFD graphically document the boundaries of a system,

showing the movement of information between a system and its environment as well as
information flows within the system thereby aiding communication between users and

developers.

The DFDs may be used to represent a system or software at any level of abstraction.

They can be partitioned into different levels representing the increasing information flow and

functional details. DFDs thus provide a mechanism for functional modeling as well as

information flow modeling. The top level or level 0 DFD known as Context Diagram consist of a

single process which describes the system at the highest level of abstraction. The further levels

showing more details are depicted by level 1, level 2 etc.

The DFDs of our system are shown below:

Context Level Diagram for Exam System

L o g i n I n f o r m a t i o n
A d m i n i s t r a t o r A d m i n i s t r a t o r

L o g i n O n l i n e E x I na mf o ir n m a a t t i io o n n
S t a f f S t a f f
S y s t e m

L o g i n I n f o r m a t i o n
C a n d i d a t e C a n d i d a t e

Level 1 Diagram for Login Process


A d m in i s t r a t oU r s e r n a m e ,
P a s s w o r d

U s e r n a m e ,
S t a f f P a s s w o r d L o g in

U s e r n a m e ,
P a s s w o r d O n l i n e E x a m i n a t
D a t a b a s e
C a n d id a t e

N e w U s e r S ig n U p

Level 2 Diagram for Administrator

E x a m s e t in g s

Q u e s t io n
G e n e r a t io n

A d m in is t r a t o r L o g in

U s e r
M a n a g e m e n t

A d d / E d it
S u b je c t

Level 2 Diagram for Staff


U p l o a d
Q u e s t i o n

Q u e s t i o n
S t a f f L o g in

E d it
Q u e s t i o n

Level 2 Diagram for Candidate

E x a m
Q u e s t i o n

C a n d id a t e L o g in

R e s u l t
V i e w

3. SYSTEM DESIGN
System design is the process of developing specifications for a candidate system that

meet the criteria established in the system analysis. Major step in system design is the

preparation of the input forms and the output reports in a form applicable to the user.

The main objective of the system design is to use the package easily by any computer

operator. System Design is the creative act of invention, developing new inputs, a database,

offline files, method, procedures and output for processing business to meet an organization

objective. System design builds information gathered during the system analysis.

3.1 INPUT DESIGN


Input design is the process of converting the user-originated inputs to a computer-based

format. The design for handling input specifies how data are accepted for computer processing.

Input design is a part of overall system design that needs careful attention and if includes

specifying the means by which actions are taken. A system user interacting through a

workstation must be able to tell the system whether to accept input produce a report or end

processing. The collection of input data is considered to be the most expensive part of the system

design. Since the inputs have to be planned in such a manner so as to get the relevant

information extreme care is taken to obtain the information. If the data going into the system is

incorrect then the processing and outputs will magnify these errors. The major activities carried

out are

1 Collection of needed data from the source

2 Conversion of data into computer accepted from

3 Verification of converted data

4 Checking data for accuracy

The following are the major input screens used for Online Examination application:

Login Screen : used for providing user id and password.

Registration form : used for storing the details of different users.

Add Exam form : The input screen used to add various examination details.

Edit Exam form : The input screen used to edit examination details.

Create Question form : used by Admin to set up question for a particular exam.

Upload Question form : used by staff to upload question.

Edit Question form : used by staff to edit questions an item.


Add Subject form : used by the Admin to add the subjects.

3.2 OUTPUT DESIGN

The output design has been done so that the results of processing should be

communicated to the user. Effective output design will improve the clarity and performance of

outputs. Output is the main reason for developing the system and the basis on which they will

evaluate the usefulness of the application.

Output design phase of the system is concerned with the Convergence of information to
the end user - friendly manner. The output Design should be efficient, intelligible so that system
relationship with the end user is improved and there by enhancing the process of decision
making.

Exam Info form : This output screen enables the administrator to view details of
Examination
Exam form : This output screen enables the user to take exam.
Result form : This output screen enables the Candidates to view result.

3.3 DATABASE DESIGN

The overall objective in the development of database technology has been to treat data as

an organizational resource and as an integrated whole. Database Management System allows

data to be protected and organized separately from other resources. Database is an integrated

collection of data. This is the difference between logical and physical data.

List Of tables

1 user
2 examinfo
3 question
4 answer
5 examqn
6 subject
7 result

Table 1: User
Purpose: To store Candidates appearing in exam.

Field Name Data Type Size Constraint Description

userid varchar 50 Primary Key User id

username varchar 50 User name

passwd varchar 50 Password

eid int 4 Exam id

Table 2: Question
Purpose: To store Questions (Question Bank).

Field Name Data Type Size Constraint Description

qid int 4 Primary Key Question id

question varchar 200 Question

opt1 varchar 100 Option 1

opt2 varchar 100 Option 2

opt3 varchar 100 Option 3

opt4 varchar 100 Option 4

sid int 4 Foreign Key Subject id


Table 3: Answer
Purpose: To store Answers.

Field Name Data Type Size Constraint Description

qid int 4 Primary Key Question id

answer varchar 100 Answer

Table 4: Examqn
Purpose: To store Questions for a particular exam.

Field Name Data Type Size Constraint Description

qno int 4 Primary Key Question number

question varchar 200 Question

opt1 varchar 100 Option 1

opt2 varchar 100 Option 2

opt3 varchar 100 Option 3

opt4 varchar 100 Option 4

qid int 4 Foreign Key Question id

eid int 4 Foreign Key Exam id

Table 5: subject
Purpose: To store subject.
Field Name Data Type Size Constraint Description

sid int 4 Primary Key subject id

subject varchar 100 Subject

Table 6: Exam info


Purpose: To store Exam details.
Field Name Data Type Size Constraint Description

eid int 4 Primary Key Exam id

title varchar 50 Exam Title

datetime smalldatetime 4 Date & Time

hour smallint 2 Duration

minute smallint 2 Duration

noq int 4 No. of Questions

Table 7: Result
Purpose: To store Results.
Field Name Data Type Size Constraint Description

qid int 4 Primary Key Question id

answer varchar 100 Answer


3.4 PROCESS DESIGN

The processes involved in Online Examination are:

1. Administrator Module

Administrator has the overall control of the system. The main functions are create
examination, question generation and user management.

2. Staff Module

Staff simply upload question using upload form.

3. User Module

User has to register first in order to take exam.

4. Getting Exam

Registered users can logon to Exam by providing user id and password

3.5 ARCHITECTURAL DESIGN

Model-view-controller

Model-view-controller (MVC) is an architectural pattern used in software engineering.

Successful use of the pattern isolates business logic from user interface considerations, resulting

in an application where it is easier to modify either the visual appearance of the application or

the underlying business rules without affecting the other. In MVC, the model represents the

information (the data) of the application and the business rules used to manipulate the data, the

view corresponds to elements of the user interface such as text, checkbox items, and so forth, and
the controller manages details involving the communication to the model of user actions such as

keystrokes and mouse movements.

As an architectural pattern

MVC is often seen in web applications, where the view is the actual JSP page, and the

controller is the code that gathers dynamic data and generates the content within the JSP. Finally,

the model is represented by the actual content, usually stored in a database or in XML nodes, and

the business rules that transform that content based on user actions.

Though MVC comes in different flavors, control flow generally works as follows:

1. The user interacts with the user interface in some way (e.g. presses a button).

2. A controller handles the input event from the user interface.

3. The controller notifies the model of the user action, possibly resulting in a change
in the model's state.

4. A view uses the model (indirectly) to generate an appropriate user interface. The
view gets its own data from the model. The model has no direct knowledge of the view.

5. The user interface waits for further user interactions, which begins the cycle
anew.

Here a controller handles the user request instead of another JSP. The controller is implemented
as a Servlet. The following steps are executed when the user submits the request.

1. The Controller Servlet handles the user’s request. (This means the hyperlink in
the JSP should point to the controller servlet).

2. The Controller Servlet then instantiates appropriate JavaBeans based on the


request parameters (and optionally also based on session attributes).

3. The Controller Servlet then by itself or through a controller helper communicates


with the middle tier or directly to the database to fetch the required data.

4. The Controller sets the resultant JavaBeans (either same or a new one) in one of
the following contexts – request, session or application.

5. The controller then dispatches the request to the next view based on the request
URL.

6. The View uses the resultant JavaBeans from Step 4 to display data. Note that

there is no presentation logic in the JSP. The sole function of the JSP in Model 2

architecture is to display the data from the JavaBeans set in the request, session or

application scopes.

Advantages of MVC Architecture

With MVC you can have as many controller servlets in your web application. In fact you

can have one Controller Servlet per module. However there are several advantages of having a

single controller servlet for the entire web application. A single controller servlet for the web

application lets you centralize all the tasks in a single place leads to elegant code and easier to

maintain.

3.6 UML DESIGN

The Unified Modeling Language (UML) is a standard language devised for use in object-

oriented analysis and design. The UML can be used to visualize, specify, construct and

document the artifacts of a software-intensive system. The three main elements of the language

are: UML’s basic building blocks, the rules that dictate how these blocks may be put together

and the common mechanisms that apply throughout the UML.

A diagram is a graphical presentation of a set of elements, most often rendered as a


connected graph of vertices and arcs. Several kinds of diagrams can be created using the UML.

UML design includes

1 Use Case Diagram

2 Sequence Diagram

3 Activity Diagram

4 Class Diagram

USE CASE DIAGRAMS

Use Case diagrams identify the functionality provided by the system (use cases), the

users who interact with the system (actors), and the association between the users and the

functionality. Use Cases are used in the Analysis phase of software development to articulate

the high-level requirements of the system. The primary goals of Use Case diagrams include:

1 Providing a high-level view of what the system does

2 Identifying the users ("actors") of the system

3 Determining areas needing human-computer interfaces

Use Cases extend beyond pictorial diagrams. These are used for modeling the dynamic aspects
of the system.

Use Case Diagram Components

1 Use Case - Use cases are drawn using ovals. These ovals are labeled with verbs
that represent the system's functions.

2 System - System boundaries are drawn using a rectangle that contains use cases.
3 Actors - Actors are the users of a system.

4 Relationships -Illustrates relationships between an actor and a use case with a


simple line.

Fig.3.6.1 Use Case – System Administrator

l o g i n

E x a m S e t t i n g

Q u e s t i o n c r e a t i o

U s e r M a n a g e m e n

A d m i n i s t r a t o r
A d d / R e m o v e
S u b j e c t s

l o g o u t
Fig.3.6.2 Use Case – Staff

l o g i n

E x a m S e t t in g

U s e r M a n a g e m e n t

S t a f f

l o g o u t

Fig.3.6.3 Use Case – Candidate

l o g in

R e g is t e r

E x a m

C a n d id a t e

l o g o u t
ACTIVITY DIAGRAMS

An activity diagram is a special kind of diagram that shows the flow from activity to

activity within a system. Activity diagrams address the dynamic view of a system. They are

especially important in modeling the function of a system and emphasize the flow of control

among objects. An activity is an ongoing monatomic execution within a state machine.

Activities ultimately result in some action that is made up of executable atomic computations

that result in a change in state of the system or a return of a value.

Activity Diagram Components

1 Activity states and action states – action states are executable atomic computations.

They are the states of a system each representing the execution of an action. Action states

are atomic i.e., events may occur but the work of the action state is not interrupted.

Activity states are not atomic i.e., they may be interrupted and they take some time to

complete. An action state is a special case of an activity state.

2 Transitions – they represent the path from one action or activity state to the next action

or activity state. It is denoted by a simple directed line.

3 Objects – objects can also be involved in the flow of control associated with an activity

diagram. Not only the flow of an object through the activity diagram, but how its role, state

and attribute values change can also be depicted.

Some of the Activity Diagrams are shown next page:


Fig.3.6.4 Login Activity:

d i s p l a y l o g i n f o r m

E n t e r u s e r - id p a s s w d
& s u b m it

v a li d ?

n o
D is p l a y E r r o r M e s s a

y e s

O b t a i n r o le

r o l e ?

S t a f f C a n d i d a t e
D i s p a l y S t a f f p a g e D is p la y C a n d i d a t e p a g e

A d m in is t r a t o r

D i s p l a y A d m in is t r a t o r p a g e
Fig.3.6.5 Register Activity:

d is p la y r e g is t r a t io n f o r m

E n t e r d e t a i l s & s u b m i t

V e r i f y d e t a i l s

v a l i d ?

n o
D i s p l a y E r r o r m e s s a g

y e s

D i s p l a y " S u c c e s s s f u l "
Fig.3.6.6 Exam setting Activity:

d is p la y s e t t in g s f o r m

E n t e r E x a m d e t a i l s & s u b m i t

V e r i f y d e t a i l s

v a l i d ?

n o
D i s p l a y E r r o r m e s s a g

y e s

D is p l a y " S u c c e s s s f u l "
Fig.3.6.7 User management

U s e r m a n a g e m e n t f o r m

E d i t d e t a i ls & s u b m i t

V e r i f y d e t a i l s

v a l i d ?

n o
D i s p l a y E r r o r m e s s a

y e s

D i s p l a y " S u c c e s s s f u l "
Fig.3.6.8 Question Upload activity

Q u e s t io n U p lo a d f o r m

E n t e r Q u e s t io n & C h o i c e s

m a r k a n s w e r

V e r i f i c a t i o n

v a l id ?

n o
D is p l a y E r r o r m e s s a g e

y e s

D i s p l a y " S u c c e s s s f u l"

m o r e ?

y e s

n o
Fig 3.6.9 Edit Question activity

D is p la y Q u e s t io n

E d i t Q u e s t i o n & C h o i c e s

m a r k a n s w e r

V e r i f i c a t i o n

v a l i d ?

n o
D is p l a y E r r o r m e s s a g e

y e s

D i s p la y " S u c c e s s s f u l"

m o r e ?

y e s

n o
Fig 3.6.10 Create Exam Question activity

d is p la y e x a m s

C h o o s e E x a m

S e le c t Q u e s t i o n s

V e r if i c a t i o n

v a l i d ?

n o
D i s p l a y E r r o r m e s s a g e

y e s

D i s p l a y " S u c c e s s s f u l"
CLASS DIAGRAMS

A class diagram shows a set of classes, interfaces and collaborations and their

relationships. Class diagrams address the static design view of a system. Class diagrams that

include active classes address the static process view of a system.

Class Diagram Components

1 Classes

2 Interfaces

3 Collaborations

4 Relationships

Fig. 3.6.11. Class Diagram

Q u e s t i o n L o a d Q u e s t i o n
q u e s t i o n : Q u e s t i o n
e i d : i n t s t a t e : b o o l e a n
q u e s t i o n : S t r i n g
o p t 1 : S t r i n g
o p t 2 : S t r i n g
E x a m Q u e s t i oo pn t 3 : S t r i n g g e t S t a t e ( ) : b o o l e a n
o p t 4 : S t r i n g
q n o : i n t g e t Q u e s t i o n ( ) : Q u e s t i o n
q u e s t i o n : S t r i n sg e t Q u e s t i o n ( ) : v o i d
o p t 1 : S t r i n g
o p t 2 : S t r i n g S u b je c t
o p t 3 : S t r i n g
o p t 4 : S t r i n g s i d : i n t
q i d : i n t s u b j e c t : S t r i n g
e i d : i n t s e t S u b j e c t ( ) : v o i d
g e t Q u e s t i o n ( ) : Q A u n e s s w t i oe rn g e t S u b j e c t ( ) : s u b j
s e t Q u e s t i o n ( ) : v o i d
q i d : i n t
a n s w e r : S t r i n g

s e t A n s w e r ( ) : v o iSd a v e Q u e s t i o n
g e t A n s w e r ( ) : A n s w e r
q u e s t i o n : Q u e s t i o n
a n s w e r : A n s w e r
s u b : S u b j e c t
g e t S t a t e ( ) : b o o l e a n
SEQUENCE DIAGRAMS

It is a kind of an interaction diagram. An interaction diagram shows an interaction.

Sequence diagrams describe interactions among classes in terms of an exchange of messages

over time i.e. it emphasizes the time-ordering of messages.

Sequence Diagram Components

1 Class roles – Class roles describe the way an object will behave in context. The UML

object symbol can be used to illustrate class roles, but not for listing object attributes.

2 Activation – Activation boxes represent the time an object needs to complete a task.

3 Messages – Messages are arrows that represent communication between objects. Half-

arrow lines are used to represent asynchronous messages. Asynchronous messages are sent

from an object that will not wait for a response from the receiver before continuing its

tasks.

4 Lifelines – Lifelines are vertical dashed lines that indicate the object's presence over

time.

5 Destroying Objects – Objects can be terminated early using an arrow labeled "< <

destroy > >" that points to an X.

6 Loops – A repetition or loop within a sequence diagram is depicted as a rectangle. Place

the condition for exiting the loop at the bottom left corner in square brackets [ ].
Fig.3.6.12 Login Sequence:

u s e r < a c t o L r >o g i n f o r m C a n d i d a tE e x a m f o r m

u s e r i d , p a s s w o r d
v a l i d a t e ( u s e r i d , p a s s w o r d )

e r r o r
e r r o r m e s s a g e

g e t E x a m ( u s e r i d )
s t a r t E x a m ( u s e r i d , e x a m i d )
d i s p l a y

e r r o r
e r r o r m e s s a g e
4. CODING

4.1. Program Code preparation

Overview
When considered as a step in software engineering, coding is viewed as a natural

consequence of design. However, programming language characteristics and coding style can

profoundly affect software quality and maintainability.

The coding step translates a detail design representation into a programming language

realization. The translation process continues when a compiler accepts source code as input and

produces machine-independent object code as output. The initial translation step in detail design

to programming language is a primary concern in the software engineering context. Improper

interpretation of a detail design specification can lead to erroneous source code.

Style is an important attribute of source code and can determine the intelligibility of a

program. The elements of a style include internal documentation, methods for data declaration,

procedures for statement construction, and I/O coding and declaration. In all cases, simplicity

and clarity are key characteristics. An offshoot of coding style is the execution time and/or

memory efficiency that is achieved.

Coding is the phase in which we actually write programs using a programming language.

In the coding phase, design must be translated into a machine readable form. If design is

performed in a detailed manner, coding can be accomplished mechanistically. It was the only

recognized development phase in early or unsystematic development processes, but it is just one

of several phases in a waterfall process. The output of this phase is an implemented and tested

collection of modules.
4.2. Program code

/*

SQLyog Community Edition- MySQL GUI v8.14

MySQL - 5.1.34-community : Database - exam

*********************************************************************

*/

/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,


UNIQUE_CHECKS=0 */;

/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,


FOREIGN_KEY_CHECKS=0 */;

/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE,


SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;

/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

CREATE DATABASE /*!32312 IF NOT EXISTS*/`exam` /*!40100 DEFAULT


CHARACTER SET latin1 */;

USE `exam`;

/*Table structure for table `examinfo` */

DROP TABLE IF EXISTS `examinfo`;

CREATE TABLE `examinfo` (

`eid` int(2) unsigned NOT NULL DEFAULT '0',

`title` varchar(45) DEFAULT NULL,

`edate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

`duration` time DEFAULT NULL,

`noq` int(3) unsigned DEFAULT NULL,


`qlist` varchar(200) DEFAULT NULL,

PRIMARY KEY (`eid`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

/*Data for the table `examinfo` */

insert into `examinfo`(`eid`,`title`,`edate`,`duration`,`noq`,`qlist`) values


(1,'cc','2010-02-02 11:33:00','09:33:00',3,'3,5,6');

/*Table structure for table `qnbank` */

DROP TABLE IF EXISTS `qnbank`;

CREATE TABLE `qnbank` (

`qid` int(10) unsigned NOT NULL AUTO_INCREMENT,

`question` varchar(1000) NOT NULL,

`opt1` varchar(200) NOT NULL,

`opt2` varchar(200) NOT NULL,

`opt3` varchar(200) NOT NULL,

`opt4` varchar(200) NOT NULL,

`answer` varchar(200) NOT NULL,

`subject_name` varchar(45) NOT NULL,

PRIMARY KEY (`qid`)

) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1;

/*Data for the table `qnbank` */

insert into
`qnbank`(`qid`,`question`,`opt1`,`opt2`,`opt3`,`opt4`,`answer`,`subject_na
me`) values (3,'A 2MB PCM(pulse code modulation) has','32 channels','30
voice channels & 1 signaling channel','31 voice channels & 1 signaling
channel','32 channels out of which 30 voice channels, 1 signaling channel, &
1 Synchronization channel','31 voice channels & 1 signaling
channel','Computer'),(5,'Max number of satellite hops allowed in voice
communication is :','only one','more han one','two hops','four hops','two
hops','Computer'),(6,'What is the max. decimal number that can be
accommodated in a byte ?','128','256','255','512','255','Computer'),
(7,'Conditional results after execution of an instruction in a micro processor
is stored in','register','accumulator','flag register','flag register part of
PSW(Program Status Word)','flag register part of PSW(Program Status
Word)','Computer'),(8,'Frequency at which VOICE is sampled is','4 Khz','8
Khz','16 Khz','64 Khz','16 Khz','Computer'),(9,'Line of Sight is','Straight
other','none','Tx & Rx should be visible to each other','Physics'),(10,'Purpose
of PC(Program Counter) in a MicroProcessor is','To store address of TOS(Top
Of Stack)','To store address of next instruction to be executed','count the
number of instructions','to store base address of the stack','To store address
of next instruction to be executed','Computer'),(11,'What action is taken
when the processor under execution is interrupted by a non-maskable
interrupt?','Processor serves the interrupt request after completing the
execution of the current instruction','Processor serves the interrupt request
after completing the current task','Processor serves the interrupt request
immediately','Processor serving the interrupt request depends upon the
priority of the current task under execution','Processor serves the interrupt
request immediately','Computer'),(12,'The status of the Kernel
is','task','process','not defined','none of the above','process','Computer'),
(14,'Max number of satellite hops one','two hops','four hops','four
hops','Computer');

/*Table structure for table `tbl_user` */

DROP TABLE IF EXISTS `tbl_user`;

CREATE TABLE `tbl_user` (

`uid` int(10) unsigned NOT NULL AUTO_INCREMENT,

`user_name` varchar(45) DEFAULT NULL,

`login_name` varchar(45) DEFAULT NULL,

`passwd` varchar(45) DEFAULT NULL,

PRIMARY KEY (`uid`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

/*Data for the table `tbl_user` */

insertinto`tbl_user`(`uid`,`user_name`,`login_name`,`passwd`,`utype`,`eid`
)values(1,'administrator','admin','admin','admin',1),
(5,'dd','dd2','dd','candidate',1),(6,'Deepak','Deepak6','deepak','candidate',1);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;


/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;

/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;

/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

4.3. Code Efficiency

Usage of Java & J2EE technology tends to trade expediency for efficiency. Coding in

this project is done in such a better way, which means it is not the most efficient code possible.

However, as stated, for the intended purpose the performance attributes are considered adequate.

The only efficiency considered so far as code is concerned that makes sense is the

efficiency in generating code (i.e. coding productivity). The need for making code compact and

concise may be countered productive when maintenance is undertaken.

Using Java as the programming platform allows efficient coding in as much as low level

SDK do not need to be written. However, as stated, for the intended purpose the performance

attributes are considered adequate. Structured error handling capabilities, Powerful unified

Integrated Development Environment (IDE). Integration with other languages such as C++ etc

improve efficiency of code developed using Java. In any case of future enhancement to a web-

based application, the modularized object oriented approach helps to use the same code with

slight modification.
5. SYSTEM IMPLEMENTATION
Implementation Plan

Implementation is an activity that is contained throughout the development phase. It is

the process of bringing a developed system into operational use and turning it over to the user.

The new system and its components are to be tested in a structured and planned manner. A

successful system should be delivered and users should have the confidence that the system

would work efficiently and effectively. The more complex the system being implemented the

more involved will be the system analysis and design effort required for implementation.

Implementation is the stage of the system when the theoretical design is turned into

working system. The implementation involves careful planning investigation of the current

system and its constraints on implementing, design of methods to achieve the change over,

training of user over procedure and evaluation change over method.

There are three types of implementation:

1 Implementation of a computer system to replace a manual system. The problems


encountered are converting files, training users, creating accurate files, and verifying
printouts for integrity.

2 Implementation of a new computer system to replace an existing one. This is


usually a difficult conversion. If not properly planned, there can be many problems.
Some larger computer systems have taken as long as a year to convert.

3 Implementation of a modified application to replace an existing one using the


same computer. This type of conversion is relatively easy to handle, provided there are
no major changes in files.

6. SYSTEM TESTING
Testing is the penultimate step of software development. An elaborate testing of data is

prepared and the system is using test data. While doing testing, errors are noted and correction is

made. The users are trained to operate the developed system .Both hardware and software

securities are made to run the developed system successfully.

System testing is aimed at ensuring the system works accurately before live operation

commences. Testing is vital to the system. System testing makes a logical assumption that if all

parts of the system are correct, the goal will be successfully achieved. The candidate system is

subjected to a verity of tests: Online Response, Volume, Stress Recovery & Security and Usable

tests. A series of testing are performed for the proposed system before the system is ready for

user acceptance testing. Nothing is complete without testing, as it is vital success of the system.

The entire testing process can be divided into 3 phases

1 Unit Testing

2 Integration Testing

3 Final/ System testing

6.1. UNIT TESTING

Unit testing focuses verification effort on the smallest unit of software designs the

module. To check whether each module in the software works properly so that it gives desired
outputs to the given inputs. All Validations and conditions are tested in the module level in the

unit test .Control paths are tested to ensure the information properly flows into, and out of the

program unit and out of the program unit under test. Boundary condition is tested to ensure that

the modules operate at boundaries. All independent paths through the control structure ensure

that all statements in a module have been executed at- least once.

6.2. BLACK BOX TESTING

This testing method focuses on the functional requirements of the software. It attempts to

find out the error of the following categories such as incorrect and missing functions, interface

error, error in data structure, performance error and initialization and termination errors.

6.3. WHITE BOX TESTING

This testing method is also called path testing. It is a test case design method that uses the

control structure of the procedural design to drive test case. In this system, Unit testing has been

successfully handled. The test data was given to each and every module in all respects and got

the desired output. Each module has been tested found working properly.

6.4. INTEGRATION TESTING

The major concerns of integration testing are developing an incremental strategy that will

limit the complexity of entire actions among components as they are added to the system.

Developing a component as they' are added to the system, developing an implementation &

integration schedules that will make the modules available when needed, and designing test

cases that will demonstrate the viability of the evolving system, Though each program works

individually, they should work after linking them together. Data may be lost across interface and

one module can have an adverse effect on another. Subroutines, after linking, may not do the
desired function expected by the main routine. Integration testing is a systematic technique for

constructing program structure while at same time, conducting test to uncover errors associated

with the interface .In the testing, the programs are constructed and tested in small segments.

6.5. DATA VALIDATION TESTING

Data validation is done to see whether the corresponding entries made in the tables are

correct. Proper validations are done in case of insertion and updating of tables. If any such case

arises, then proper error messages or warning, if any, has to be displayed.

THE DIFFERENT TEST CASES ARE:

1 Guarantee that all independent parts within a module have been exercised at least
once.
2 Exercise all logical decision on their true / false side.
3 Exercise all loops at their boundaries and within their operational bounds.
4 Exercise internal data structure to ensure their validity.
5 Each module was tested and the tested modules were linked and integration test
was carried out.
6.6. PASSWORD TESTING

The login process is tested with some separate login trials. Password is mainly meant for
security. Incorrect will be screened .Also already created passwords won't be allowed to use
again.

TEST DATA

The system analyst will provide the test data, specially designed to show that the system

will operate successfully in all its aspects and produce expected results under expected

conditions. Preparation of test data and the checking of results should be carried out in

conjunction with the appropriate users and operational departments. Also the extent to which the
system should be tested must be planned.

THE MAIN OBJECTIVES OF SYSTEM TESTING ARE

1 To ensure during operation the system will perform as per specification.


2 To make sure that the system meets user's requirements during operation.
3 To verify that the controls incorporated in the system function as intended.
4 To see that when correct inputs are fed to the system the outputs are correct.
5 To make sure that during operation, incorrect input and output will be deleted.
The scope of a system test should include both manual operations and computerized.

Operation system testing is a comprehensive evaluation of the programs, manual procedures,

computer operations and controls. System testing is the process of checking if the developed

system is working according to the original objectives and requirements. All testing needs to be

conducted in accordance to the test conditions specified earlier.

6.7. ACCEPTANCE TESTING

An acceptance test has the objective of selling the user on the validity and reliability of

the system it verifies that the system procedures operate to system specification and that the

integrity of vital data is maintained. I tested the system with a large collection of records. The

system is found to be user friendly and working efficiently. All the above testing was

successfully done.
7. SYSTEM MAINTENANCE
Maintenance corresponds to restoring something to original conditions, covering a wide
range of activities including correcting codes and design errors and updating user support.
Maintenance is performed most often to improve the existing software rather than to a crisis or
risk failure. The system would fail if not properly maintained.

The software maintenance is an important one in the software development because we


have to spend more efforts for maintenance. Software maintenance is to improve the software
quality according to the requirements.

After a system is successfully implemented, it should be maintained in a proper manner.


The need for system maintenance is to make the system adaptable to the changes in the system
environment. There may be social, economical or technical changes, which affect system being
implemented. Software product enhancements may involve providing new functional
capabilities, improving user displays and mode of interaction, upgrading the performance
characteristics of the system. So only through proper system maintenance procedures, the system
can be adapted to cope with these changes.

We may define maintenance by describing four activities that are undertaken to after a
program is released for use.

The first maintenance activity occurs because it is unreasonable to assume that software
testing will uncover all latent errors in a large software system. During the use of any large
program, errors will occur and be reported to the developer. The process that includes the
diagnosis and correction of one or more errors is called corrective maintenance.

The second activity that contributes to a definition of maintenance occurs because of the
rapid change that is encountered in every aspects of computing. Therefore, adaptive maintenance
– an activity that modifies software to properly interface with a changing environment is both
necessary and commonplace.

The third activity that may be applied to a definition of maintenance occurs when a
software package is successful. As the software is used, recommendations for new capabilities,
modifications to existing functions, and general enhancements are received from users. To
satisfy requests in this category, perfective maintenance is performed. This activity accounts for
the majority of all efforts expended on software maintenance.

The fourth maintenance activity occurs when software is changed to improve future
maintainability or reliability, or to provide a better basis for future enhancements. Often called
preventive maintenance, this activity is characterized by reverse engineering and re-engineering
techniques.

In the software maintenance to improve our software there are two types available

4 Reverse Engineering

5 Re-Engineering

By using these two techniques, quality of the software can be improved.

1 Reverse Engineering means that to update the existing software.

2 Re-Engineering means that entirely modifying the existing software.

Maintenance activities involved the following three concepts.

1 Enhancement

2 Adapting

3 Correcting problems

Software product Enhancement may involve providing new functional capabilities,


improving user displays and modes of integration, updating external documents and internal
documentation, or updating the performance characteristics of a system.
8. SCOPE OF FUTURE ENHANCEMENT

Nothing can be done in single step. Obviously online examination application has some

future enhancements. The enhancements that can improve the value of this application are the

following:

1. Descriptive answering.

2. Facility for feedback on test questions and results.

3. Sound can be included as part of question.

4. Video can be included as part of question.

5. Animations can be included as part of question

9. CONCLUSION
The conventional examination system where the students have to travel examination

centers or take proctored exams. Online examination system takes the advantage of internet
technologies to conduct exams and results are published without any delay.

Almost every project is subjected to change depending on the client’s requirements. The

system and the architecture of the proposed system is a compatible one, so addition of new

modules can be done without much difficulty. Since this module has its unique properties it can

extend further to make this system a complete one.

The application was implemented and tested with real data and were found to be error

free. Also, the system is protected from any unauthorized access .All the necessary validations

are carried out on this project, so that any kind of users can make use of this application and

necessary messages makes them conscious of the error they have made.

10. REFERENCE

 Book Reference

 Java2 Third Edition – The Complete Reference

 Web Reference

 w3scoops.com

 www.scribd.com

Вам также может понравиться