examination system online

142
ABSTRACT Current examination system provides less scope for justified evaluation because it takes handwriting into consideration while evaluation, which is an extrinsic parameter. At the same time current system provides minimum security to the answer sheets of the student from illegitimate modifications. So the proposing Electronic Descriptive Examination Management System is a computerized way of conducting present day paper-based descriptive examinations in a university. Proposed system allows the students to type the answers in the space provided for each question. When students submit the exam, system automatically collects all the questions and corresponding answers into a file and converts it into pdf and then uploads it to the server by encrypting the person-specific details. Staff related to corresponding subject can only access these answersheets for evaluation and allots marks base on the performance. Students can view their answer script and marks obtained for each question, when the results are announced. It improves transparency and credibility on the examination system. It will minimize the utilization of manpower to great extent.

Upload: ruthvik-reddy

Post on 15-Jan-2016

167 views

Category:

Documents


17 download

DESCRIPTION

Useful to check the uml diagrams of this project. Its an simple project with complexities,this document helps in sorting the issues.

TRANSCRIPT

Page 1: Examination system online

ABSTRACT

Current examination system provides less scope for justified evaluation because it

takes handwriting into consideration while evaluation, which is an extrinsic

parameter. At the same time current system provides minimum security to the answer

sheets of the student from illegitimate modifications. So the proposing Electronic

Descriptive Examination Management System is a computerized way of conducting

present day paper-based descriptive examinations in a university.

Proposed system allows the students to type the answers in the space provided

for each question. When students submit the exam, system automatically collects all

the questions and corresponding answers into a file and converts it into pdf and then

uploads it to the server by encrypting the person-specific details. Staff related to

corresponding subject can only access these answersheets for evaluation and allots

marks base on the performance.

Students can view their answer script and marks obtained for each question, when the

results are announced. It improves transparency and credibility on the examination

system. It will minimize the utilization of manpower to great extent.

Page 2: Examination system online

CONTENTS

CHAPTER 1: INTRODUCTION

1.1 Current Scenario 1

1.2 Problem Statement 1

1.3 Proposed Solution 1

CHAPTER 2: LITERATURE OVERVIEW

2.1 Existing System 3

2.2 Java 4

2.3 Java Script 6

2.4 Oracle 7

2.5 JDBC

2.5.1 JDBC overview 8

2.5.2 ODBC 8

2.5.3 The JDBC API 9

2.5.4 How JDBC works 9

2.5.5 JDBC API components 9

2.5.6 JDBC-ODBC bridge driver 11

2.6 JSP 18

CHAPTER 3: PROPOSED SYSTEM

3.1 Proposed System 19

3.2 Functions of the Stakeholders 20

3.3 Merits and Demerits 22

CHAPTER 4: PROBLEM ANALYSIS & SRS

4.1 PROBLEM ANALYSIS 23

4.1.1 Global Use-case Diagrams 23

4.1.2 Flow of Events 26

4.1.3 Activity Diagram 28

4.1.4 Use-case Realizations 30

4.1.5 Sequence Diagarms 31

4

Page 3: Examination system online

4.2 SYSTEM REQUIREMENT SPECIFICATION 46

4.2.1 Process Model 46

4.2.2 System Requirements 46

4.2.3 Application Features 47

CHAPTER 5: DESIGN

5.1 User Interface Design 50

5.2 Architecture Design 73

5.3 Data Base Design 76

5.3.1 Data Dictionary 76

5.3.2 Tables 77

5.4 Class Design 8

CHAPTER 6: TESTING

6.1 Psychology of Testing 90

6.2 Testing Objectives 90

6.3 Levels of Testing 91

6.4 Types of Testing 91

6.4.1 Unit Testing 91

6.4.2 Integration Testing 99

6.4.3 System Testing 100

6.4.4 Acceptance Testing 100

6.5 Criteria satisfied by Test cases 101

CHAPTER 7: CONCLUSION & FUTURE WORK 102

BIBILOGRAPHY 103

5

Page 4: Examination system online

LIST OF TABLES

5.3.2.1 Student 77

5.3.2.2 Staff 77

5.3.2.3 Courses table 78

5.3.2.4 Branches table 78

5.3.2.5 Subcodes table 78

5.3.2.6 Invigilator table 79

5.3.2.7 Admin table 79

5.3.2.8 Section1 table 80

5.3.2.9 Section2 table 80

5.3.2.10 Section3 table 81

5.3.2.11 Section4 table 81

5.3.2.12 Section5 table 81

5.3.2.13 Section1marks table 82

5.3.2.14 Section2marks table 82

5.3.2.15 Section3marks table 83

5.3.2.16 Section4marks table 84

5.3.2.17 Section5marks table 84

5.3.2.18 Total marks table 84

5.3.2.19 Absentees table 84

5.3.2.20 Debarred table 85

5.3.2.21 Techprob table 85

5.3.2.22 Pdffiles 85

6

Page 5: Examination system online

LIST OF FIGURESUse case diagrams

4.1.2.1 Overall Use case diagram of the system 27

Activity diagram

4.1.3.1 Overall Activity diagram of the system 29

Use case realizations

4.1.4.1 Use case realizations for main use cases 30

Sequence diagrams

4.1.5.1 Sequence diagram for Login 32

4.1.5.2 Sequence diagram for Exam settings 33

4.1.5.3 Sequence diagram for Student details 34

4.1.5.4 Sequence diagram for Staff details 35

4.1.5.5 Sequence diagram for Invigilator details 36

4.1.5.6 Sequence diagram for Take exam 37

4.1.5.7 Sequence diagram for Submit test 38

4.1.5.8 Sequence diagram for Cancel test 39

4.1.5.9 Sequence diagram for View results 40

4.1.5.10 Sequence diagram for Evaluate 41

4.1.5.11 Sequence diagram for Change marks 42

4.1.5.12 Sequence diagram for View marks 43

4.1.5.13 Sequence diagram for Invigilate 44

4.1.5.14 Sequence diagram for Feedback 45

3-tier architecture

5.2.1 Three Tier Architecture 73

5.2.2 Three tier distributed client/server architecture depiction 74

5.2.3 Functional Architecture 75

5.2.4 Technical Diagram 75

5.2.4 Technical Architecture Class diagram

5.4.1 Overall class diagram of the system 89

7

Page 6: Examination system online

ACRONYMS

JDBC : Java Database Connectivity

ODBC: Oracle Database Connectivity

SQL : Structured Query Language

JSP : Java Server Pages

HTML: Hyper Text Markup Language

CHAPTER 1

INTRODUCTION

1.1 CURRENT SCENARIO

Present system conducts the exam manually where the student has to write the

exams on the paper with a pen. Answer sheets of all the students will be handed over

to the invigilator. The invigilator will submit the bundle to the university. There the

concerned staff will do evaluation of the papers. The person who evaluated the paper

has to sign on the paper indicating that he himself has evaluated the paper. After

evaluating marks are allotted to the student basing on his performance and then feed

into the system.

1.2 PROBLEM DEFINITION

In this current system entire examination process is being conducted manually

where there is a lot of scope for security threats, improper evaluation. This system

places lot of burden over students in writing their exam, staff in evaluating the

answers and entering the marks separately in the system. It requires lot of man power

to conduct the exam. . It provides less security to the answer sheets of the students

from third party manipulations. As mentioned earlier, it takes extrinsic parameters

like handwriting, presentation into consideration for evaluation. It provides less

8

Page 7: Examination system online

transparency to the students from the evaluation process. It also requires lot of man

power for conducting the exams.

1.3 PROPOSED SOLUTION

Electronic descriptive examination managing system is a computerized way of

conducting present day paper-based descriptive examinations in a university by

providing much user-friendliness to students, staff and administrator.

Every student has to submit his user-id, password, and course, year of study,

branch, and subject-code details before taking the exam. After entering into the

system he can answer to the question paper in the text boxes provided to him under

each question. After writing the exam, the student has to submit the test to the server.

To protect the answer sheet from illegitimate modifications, the system converts it

into pdf before storing in the server. Depending on the subject code, answer sheets

belonging to a particular subject are automatically uploaded to corresponding staff’s

user. Staff member who is going to correct this particular subject can access these

answer sheets by logging into his account. After evaluating the paper, marks are

allotted for each answer depending on his performance. These marks will be entered

into the database by the staff after correcting the paper. This newly proposed system

provides better security, transparency and reduces the cost of conducting the

examinations.

CHAPTER 2

9

Page 8: Examination system online

LITERATURE OVERVIEW

2.1 EXISTING SYSTEM

Present system conducts the exam manually where the student has to write the exams

on the paper with a pen. Answer sheets of all the students will be handed over to the

invigilator. The invigilator will submit the bundle to the university. There evaluation

of the papers will be done by the concerned staff. The person who evaluated the paper

has to sign on the paper indicating that he himself has evaluated the paper. After

evaluating marks are allotted to the student basing on his performance. After marks

are allotted they are displayed to the students.

Merits and Demerits of the existing system

Merits:

1. The present system is applicable to any type of descriptive examination.

2. No need of having any computer knowledge to write the exam.

3. No chances of arising any technical problems during the process of writing,

evaluating the exam.

4. This existing system is familiar to all the actors of the system for the long

time, so it is easy to conduct exam in this pattern.

5. Evaluator can mark the mistakes done by the student on answer paper with red

ink so that he can easily understand why he has reduced the marks for the

answer written by the student when he review the answer sheet.

Demerits:

1. It provides less security to the answer sheets from third party manipulations.

2. It is costly process which requires resources like pens, papers and lot of man

power to maintain security to the answer sheets.

3. It is bit difficult to handle because it involves entering marks on answer-sheet

as well as in database separately thereby increasing the redundancy of work.

4. Existing pattern of examination doesn’t provide ideal justice in evaluating the

answer of the student, because it implicitly gives priority to hand writing of the

student which should not be taken into the consideration.

10

Page 9: Examination system online

2.2 JAVA

Java was conceived by James Gosling, Patrick Naughton, Chris Warth, Ed

Frank, and Mike Sherdian at Sun Microsystems in 1991.

Features of Java:

Simple & Secure

Java was designed to be easy for the professional programmer to learn and use

effectively. The ability to download java applets with confidence that no harm could

be done and that no security will be breached is considered by many to be the single

most important aspect of java.

Robust

The multiplatform environment of web places extraordinary demands on a

program, because the program must execute reliably in a variety of systems. Thus, the

ability to create robust programs was given priority in the design of Java. To gain

reliability, Java restricts you in a few key areas, to force you to find mistakes early in

the program development. At the same time, Java frees you in the form having to

worry about many of the common causes of programming errors. Because java is a

strictly typed language, it checks your code at compile time.

Multi-Threaded

Java was designed to meet the real-world requirement of creating interactive,

networked programs. To accomplish this, Java supports multithreaded programming

which allows you to write programs that do many things simultaneously.

Distributed

Java is designed for the distributed environment of the Internet, because it

handles TCP/IP protocols. This feature brings an unparallel level of abstraction to

client/server programming.

Dynamic

11

Page 10: Examination system online

Java programs carry with them substantial amounts of runtime type

information that is used to verify and resolve accesses to objects at run-time. This

makes it possible to dynamically link code in a safe and expedient manner.

Encapsulation

Encapsulation is the mechanism that binds together code and the data it

manipulates, and keep both safe from outside interference and misuse. It can be

thought of as a protective wrapper that prevents the code and data from being

arbitrarily accessed by other code defined outside the wrapper.

Inheritance

Inheritance is the process by which one object acquires the properties of

another object. This is important because it supports the concept of hierarchical

classification without the use of hierarchies, each object would need to define all of its

characteristics explicitly. However, by use of inheritance, an object need only define

those qualities that make it unique within its class. It can inherit its general attributes

from its parents.

Polymorphism

Polymorphism is a feature that allows one interface to be used for a general

class of actions more generally, the concept of polymorphism is often expressed by

the phrase “One Interface, Multiple Methods”. This means that it is possible to design

a generic interface to a group of related activities. This helps reduce complexity by

allowing the same interface to be used to specify a general class of action.

2.3 JAVA SCRIPT

JavaScript is a scripting language most often used for client-side web

development. The language is best known for its use in websites (as client-side

JavaScript) but is also used to enable scripting access to objects embedded in other

applications. "JavaScript" is a trademark of Sun Microsystems

12

Page 11: Examination system online

Popular Scripting language:

JavaScript has simple rules and procedures that make it easier to use and learn for

programmers. This has made JavaScript a popular client-side scripting language.

Interpreted Language:

It is an interpreted language, meaning that it can be used or executed with ease

without pre-compilation.

Advantages of JavaScript:

Cross-browser support, validating data on the client, and being able to create more

sophisticated user interfaces. Other advantages include the fact that you don't need

any extra tools to write JavaScript, any plain text or HTML editor will do, so there's

no expensive development software to buy. It's also an easy language to learn, and

there's a thriving and supportive online community of JavaScript developers and

information resources

2.4 ORACLE

Features of Oracle

Oracle provides efficient and effective solution with the following features:

Client/Server(distributed Processing) environment: To take full advantage of a

given network, oracle allows processing the database server and the client programs.

Large Databases and space Management: Oracle supports the large of data of

terabytes in size. To make efficient hardware devices, t allows full uses.

Many concurrent database users: Oracle supports large numbers executing a

variety of database on the same data.

13

Page 12: Examination system online

Controlled Availability: Oracle can selectively control database level of sub data.

Portability: Oracle software is ported to work with operating systems. Applications

can be ported to any operating systems modifications.

Compatibility: Oracle software is compatible with standards, including most

industrial operating systems. Applications can be used on virtually any systems

modification.

Connect ability: Oracle software allows different environment and operating systems

to share the network.

Oracle security:

Manageable Security: To Protect against unauthorized use, oracle provides fail-safe

security and monitor data access. These are used to manage the data and for providing

security.

2.5 JDBC

The JDBS API provides universal data access from the Java programming

language. Using the JDBC 3.0 API, we can access virtually any data source, from

relational databases to spreadsheets and flat files. JDBC technology also provides a

common base on which tools and alternate interfaces can be built.

2.5.1 JDBC Overview

Java database Connectivity is a java API for executing SQL statements. It consists

of a set of classes and interfaces written in java programming language that makes it

easy to send SQL statements to virtually any relational database, in other words, with

the JDBC API. It is not necessary to access an Oracle database, another program to

access an Informix database, and so on. One can write a single program using the

JDBC API, and the program will be able to send SQL statements to appropriate

database. With a program written in java, one also doesn’t have to worry about

writing different programs to run on different platform. The combination of Java and

JDBC lets a programmer to write it once and run it anywhere.

14

Page 13: Examination system online

2.5.2 ODBC

ODBC (Open Database Connection) is a way to connect any front-end tool to

any back-end database engine .A front –end tool is one which is used to provide a

user interface using which the user will be able to manipulate the data. Aback-end is

responsible for the actual manipulation of the database on the request of the front –

end, as well as for the storage and retrieval of information. Often a back-end is also

called as a server and front –end as a client. Every database software provides an

ODBC driver which follows all the specifications to the ODBC compliant, It is this

ODBC driver converts the request to match the implementation specified at the server

side. Another important features of the ODBC is that it provides a client an

opportunity to connect multiple databases simultaneously, which could be residing at

different physical locations.

What does JDBC do?

Especially JDBC does three things:

Establishing the connection to database.

Send SQL statements.

Process the results.

2.5.3 The JDBC API

The JDBC API is designed to allow developers to create database front-ends

without needing to continually rewrite their code. The ability to create robust,

platform independent applications and web-based applets prompted developers to

consider using java to develop front-end connectivity solutions.

2.5.4 How JDBC Works

JDBC provides application developers with a singular API that is uniform and

database independent. The API provides a standard to write to, and a standard that

takes all of various application designs into account. The solution is a set of java

interfaces that are implemented by the driver. The driver translates the standard JDBC

15

Page 14: Examination system online

calls into a specific call required by the database it supports. The application can be

written once and moved to the various drivers. The application multi-tier database

design is also known as Middleware. In addition to providing developers with a

uniform and DBMS independent framework, JDBC also provides a means of allowing

developers to return the specific functionality that their database vendor offers. JDBC

and ODBC are based on “X/ Open SQL 0Command Level Interface “. Having the

same conceptual base allows work on the API to proceed quickly and makes

acceptance of the API easier.

2.5.5 The JDBC API Components

In general there are two levels of interfaces in the JDBC API. The application

layer where the developer uses the API to make calls to the database via SQL and

retrieve the results, and the Driver layer which handles all communication with a

specific driver implementation.

The application developer needs to use only the standard API interfaces in

order to guarantee JDBC compliance. The driver developer is responsible for

developing the code that interfaces to the database and supports the JDBC application

level calls. There are four interfaces that every driver layer must implement, and one

class that bridges the Application and Driver layers.

The four interfaces are the Driver, Connection, Statement and Result Set. The

driver interface implementation is where the connection to the database is made. In

most applications, the driver is accessed through the Driver Manager class, providing

one more layer of abstraction for the developer. The Driver vendor implemented the

connection, Statement and Result set interfaces.

These interfaces represent methods that the application developer will treat as

real object classes and allow the developer to create statement and retrieve results.

The Driver Layer

16

Page 15: Examination system online

The driver class is an interface implemented by the driver vendor. The other

important class is the Driver Manager class, which sits between the Driver and

Applications layers. The Driver Manager is responsible for the loading and unloading

drivers and making connections through drivers. The Driver Manager also provides

features for logging and database timeouts.

The Driver Interface

Ever JDBC application or applet must have at least one JDBC driver, and each

driver is specific to the type of DBMS used. The driver interface allows the Driver

interface class. Drivers use a String to locate access database. The syntax of this

String is very similar to URL String. The purpose of this String is to separate the

application from the driver developer.

The network protocol driver

With a network protocol java driver, JDBC calls are translated by this driver

into DBMS independent protocol and send to middle-tier server over a socket. The

middle-tier code contacts variety of databases on behalf of the client. This approach

also deals specifically with issues relating to network security, including passing data

to firewalls.

The native protocol drivers

With a native protocol java driver, JDBC calls are converted directly to the

network protocol used by the DBMS server in this driver, the database vendors

support a network socket, and the JDBC drivers communicates over a socket

connection directly to the database server. However, because the network protocol is

defined by the vendor and is typically proprietary, the driver usually is available only

from the database vendor.

2.5.6 JDBC-ODBC bridge driver (Type-1)

17

Page 16: Examination system online

A bridge driver provided with JDBC can convert the JDBC calls into any type

of database simultaneously. This approach is a recommended one since ODBC

drivers, which are industry standard as of now, would make an application truly

portable access database.

Implementation of JDBC-ODBC Bridge

Java application submits an SQL statement through the JDBC driver. The

JDBC driver translates the request to an ODBC call. The ODBC driver then converts

the request again and presents it to the database interface. The results of the request

are then fed back through the same channels but in reverse.

JDBC-ODBC Connectivity

Seven basic steps to JDBC:

There are seven basic steps to use JDBC to accessing a database.

1. Importing the java.sql package.

2. Load and register the driver.

3. Establish a connection to the database server.

4. Create a statement.

5. Execute the statement.

6. Retrieve the results.

7. Close the statement and connection.

1. Importing the java.sql package:

The JDBC API is a set of classes and interfaces. The package name for these

classes and interfaces to be imported is java.sql.

Import java.sql.*;

2. Load and register the driver:

It includes two steps:

18

Page 17: Examination system online

Loading the driver: To load the driver class.forName () method is used.

Class.forName (“weblogic.jdbc.oci.Driver”);

The class. For Name () method takes the complete package name of the driver as

its argument.

Registering the driver: all drivers are required to register themselves at load

time.The driver itself calls the Driver Manager register Driver () method at load time

to ensure that the driver is properly registered. This method is never have to be called

explicitly by an application.

3. Establishing a connection to the database server:

The standard method of establishing a connection to the database is to call Driver

Manager. Get Connection () method. It takes at least two arguments. The first is a

string representing the URL of the database followed by a set of login properties, such

as the user name and password.

Connection conn = DriverManager.getConnection (jdbc: weblogic: Oracle:

fool:”,” username”,” password”);

4. Create a statement: A statement object is to created from which to execute the

query.

There are three types of statements classes

1. Statement

2. Prepared statement

1. Statement: Statement stmt=conn.createstatement ();

2. Prepared statement: Prepared Statement stmt=conn.preparedStatement

(SQLquery);

5. Execute the statement:

19

Page 18: Examination system online

The method used to execute a simple query is a Statement.executeQuery ().

ResultSet rs=stmt1.executequery (“select * from proxymapping”);

The execute Query () method takes an SQL query string as an argument and

returns the results of the query as a ResultSet object. The executeUpdate method is

used to the database results.

6. Retrieve the results:

Results are stored in a ResultSet object. The “get” method retrieves the data

from the ResultSet and converts it to Java type. Each “get” method is used to retrieve

a different Java type.

7. Close the statement and connection:

The final steps in any database application should be to close the connection

and any open statements. While it is not absolutely that we close every connection

and its statement object, it is highly recommended.

Stmt.close ();

Conn.close ();

The JDBC 3.0 API is comprised of two packages:

1. The java.sql package

2. The javax.sql package, which adds server-side capabilities

JDBC Technology Drivers

To use the JDBC API with a particular database management system, we need

a JDBC technology-based driver to mediate between JDBC technology and the

database. Depending on various factors, a driver might be written purely in the Java

programming language or in a mixture of the Java programming language and Java

Native Interface (JNI) native methods.

The latest SDK includes a JDBC-ODBC Bridge driver that makes most Open

Database Connectivity (ODBC) drivers available to programmers using the JDBC

API. JDBC-ODBC Bridge Driver describes the current status of this software.

JDBC URL Syntax and Structure

20

Page 19: Examination system online

JDBC follows the bellow syntax:

JDBC :< subprotocol>:<subname>

Where <subprotocol> defines the types of driver, and <subname> provides the

network-encoded name

For example:

JDBC: oracle: products

Here the database called the products.

The driver connect () the method is the most important method and it is called

by the driver manager to obtain a connection object. The connection object is the

string point of the JDBC application layer. The connection object used to create

statement object that perform object queries. The drivers connect () method typically

performs the following steps:

Check to see if the given URL String is valid.

Opens the TCP connection to the host and port number specified.

Attempts to access the named database table(if any) returns an instance of a

connection object.

The Driver Manager Class

The driver manager class is actually a utility class used to manage JDBC

drivers. The class provides methods to obtain connection through a driver register and

deregister drivers, setup login and set login timeout for database access. Drivers are

registered with the driver manager class, either at initialization of the Driver Manager

class, or when an instance of driver is created.

The Application Layer

The application layer encompasses three interfaces that are implemented at the

driver layer but are used by the developer. The three main interfaces are connection,

Statements and Result set. A connection object is obtained from the driver

implementation through the DriverManager.getConnection () method call. Once a

21

Page 20: Examination system online

connection manager object is returned, the application developer may create a

statement object to issue against the database. The result of statement id a result set

object, which contains the result of the particular statement (if any).

Connection Basic

The connection interface represents a session with the database connection

provided by the driver. Typically database connections include the ability to control

changes made to the actual data stored through the transaction. The primary use of the

connection interfaces is to create a statement.

Connection con=null;

Statement stmt=null;

Con=DriverManager.getConnection(url);

Stmt=con.createStatement();

This statement may be used to send SQL statement that return a single result

in a ResultSet object reference. Statements that need to be called a number of times

with slight variations may be executed more efficiently using a prepared statement.

The connection interface is also used to create a callable statement whose purpose is

to execute stored procedures.

Statement Basics

A statement is vehicle of sending SQL queries to the database and retrieving a

set of results. Statements can be updates, insertion, deletion of the queries. Statement

may or may not returns a ResultSet object depending on the statement method used.

The executeUpdate () method.

For example, is used to execute SQL statements that don’t expect a result.

SQL statements that returns a single result can use the executeQuery () method. This

method returns a single ResultSet object. The execute () method is a general-purpose

method that can return either a single ResultSet or multiple ResultSets. The method

returns a Boolean flag that is used to determine whether there are more ResultSets.

Result Set Basics

22

Page 21: Examination system online

The Result Set interface defines methods for accessing the table of data

generated as the result of executing a statement Result Set column values may be

accessed any order, they are indexed and may be selected by either the name or the

number of the columns. Result Set maintains the position of the current row, starting

with the first row of the data returned. The next () method moves to the next row of

the data.

Result Set Metadata

Besides being able to read data from a Result Set object, JDBC provides an

interface to allow a developer to determine what type of data is returned. The

ResultSetMetaData interface is similar to database Metadata interface is concept, but

it is specific to the current Result Set.

The Result Set Meta Data is useful in dynamically determining the Metadata

of the Result Set returned from a stored procedure.

JDBC Drivers

Drivers come in different varieties according to their construction and type of

database they are intended to support java soft categorizes database drivers in four

ways.

The JDBC-ODBC Bridge Driver

The JDBC-ODBC Bridge is a JDBC driver that provides translation of JDBC

called to ODBC operation. The JDBC-ODBC Bridge Driver is implemented with

ODBC binary code and, in some cases client library as well. The bridge driver is

made up of three parts:

A set of C library that connect the JDBC to ODBC driver

manager.

The ODBC driver manager.

The ODBC driver.

23

Page 22: Examination system online

Using a JDBC-ODBC bridge driver, application will speak directly to the

JDBC interface classes. Because ODBC calls are made using binary C calls, the client

must have a local copy of the ODBC Driver Manager, and the client side libraries

The Native Library-To Java Driver

This driver uses native C language library calls to translate JDBC to the native

client library. These drivers use C language libraries that provide vendor specific

functionality and tie these libraries to the JDBC.

2.6 JSP

JSP is a J2EE component which uses java as its scripting language’s with java

will be more flexible and robust. JSP has many more advantages.

Write once run anywhere

JSP technology is platform independent, both in its dynamic web pages, its

web servers, and its underlying server components. we can write jsp pages on any

platform, run them on any web server or web enabled application server, and access

them from any web browser. We can also build the server components on any

platform and run them on any server.

High Quality Tool Support

The write once, run away where properties of JSP allows the user to choose

best of breed tools. Additionally, an explicit goal of the java server pages design is to

enable the creation of high portable tools.

Reuse of Components and Tag Libraries

The JSP technology emphasizes the use of reusable components such as

JavaBeans components. Enterprise JavaBeans components and tag libraries. These

components can be used in interactive tools for component development and page

composition. This saves considerable development time while giving the cross

24

Page 23: Examination system online

platform power and flexibility of the java programming language and other scripting

languages.

Separation of Dynamic and Static content

The java server pages technology enables the separation of static content from

dynamic content that is inserted into the static templates. This greatly simplifies the

creation of content.

CHAPTER 3

PROPOSED SYSTEM

3.1 OVERVIEW

Electronic descriptive examination managing system is a computerized way of

conducting present day paper-based descriptive examinations in a university by

providing much user-friendliness to students, staff, invigilators and administrator.

Every student has to submit his userid, course, year of study, branch, and subject-code

details before taking the exam. After entering into the system he can answer to the

question paper. He has to answer the question paper in the text area provided to him

for each question. After writing the exam, the student has to upload answered

document to the server. To protect the answer sheet from illegitimate modifications,

we have to convert it into pdf before storing in the server. Depending on the subject

code, answer sheets belonging to a particular subject are automatically uploaded to

corresponding staff’s user. Staff member who is going to correct this particular

subject can access these answer sheets by logging into his account. After evaluating

the paper, marks are allotted for each answer depending on his performance. These

marks will be entered into the database by the staff after correcting the paper.

Invigilator after writing the exam gives the feedback about the examination process,

which will be collected by staff when he logged into the system. In the evaluation

process, staff after need to input marks obtained for each question irrespective of

choice, the system automatically chooses answers with highest marks into account

25

Page 24: Examination system online

thereby reducing burden on the staff. Administrator maintains the system in order to

allot require resources for achieving the functionality.

The Stakeholders of the System are:

1. student

2. staff

3. invigilator

4. administrator

3.2 FUNCTIONS OF STAKEHOLDERS

1. Student: He is one of the important stake-holder of the system. He uses the

system for writing exams and also to view the results

a. Writing the exam: He can take the exam by just signing into the system.

He has to answer the questions in the text area provided to him by clicking any

question from the question paper.

b. Uploading the answer paper: After writing the examination he has to

submit the exam. After submitting the exam, it will be stored in the database.

The student has to submit the answer sheet with in the time provided to him. If

he is unable to submit the answer sheet with in time, we remove edit privilege

of the answer sheet. Within the grace time he has to submit the answered

document. Otherwise paper is not considered.

c. Viewing the results: Student has the privilege of viewing the results after

writing the exam.

2. Staff : Staff member is also an active user of the system who uses the system

to evaluate papers and to allot marks.

a. Evaluating the answer papers: Staff related to concerned subject can

evaluate the answer sheets by logging into their account. Prior to that

we decode the students Hall Ticket number to hide person specific

information of the student, thereby improving the security.

b. Allotting marks: After evaluation of paper, he just submits the marks

allotted to the student to the database.

26

Page 25: Examination system online

c. Viewing Marks: He can have quick glance to the marks of all students

who take the exam in that instance.

d. Updating Marks: He also has a privilege of changing marks allotted

to the students.

e. View Attendance: He can view the attendance details of the

examination.

2. Administrator: He is the person who enjoys all privileges over the system.

He can delete/add students and staff. He can also perform many privileged

activities like setting model of question paper, loading question papers etc.

a. Update Student details: He can add, delete, view, change details of

the student.

b. Update Staff details: He can also add, delete, view, change details of

the student.

c. Update Invigilator Details: He also assigns and removes invigilators

to the examinations by giving them special user-id and password.

d. Load question paper: He loads the question paper into the database

before the examination for any subject, for any course by submitting

course, branch, year and subject details.

3. Invigilator: He authenticates the exam process by providing the feed back on

the examination to the administrator. Basing on his feed back necessary action

will be taken by the administrator.

a. Feedback on Absentees: Submits the user-id's of all those students

who keep absent for the particular exam

b. Feedback on Debarred candidates: Submits user-id's of those

students who got debarred on the basis of violation of examination

rules by coping the exam.

c. Feedback on Technical problems: Submits the user-id's of those

students who are unable to take the exam due to technical problems

occurred during the process of examination.

27

Page 26: Examination system online

3.3 MERITS AND DEMERITS

Merits:

1. It is well secured pattern of conducting examinations, because once the student

submits the exam no body has a right to change the content of the paper.

2. It also protects the answersheets by hiding them from others except

administrator and the concerned staff.

3. It is very easy to handle the exams using this system because it reduces man

power, cost, and burden to all the stakeholders in handling the examinations.

4. It doesn’t take unnecessary parameters like handwriting into consideration in

allotting marks to the student, thereby providing efficiency in evaluating the

paper.

5. It reduces the redundancy of work to great extent.

6. It also provides security and justice in evaluating the answer-sheets by

encoding the hall ticket number so that the evaluator can not know to whom

this paper belongs.

7. It provides good user-friendliness to students in writing the examinations, staff

in evaluating the examinations, administrator in changing the settings of the

system.

8. It allows administrator to change the question paper model, staff, students and

loading question paper into the database with less burden.

Demerits:

1. It is not that much convenient to the students in the beginning unless they are

well familiar with the computer usage.

2. In this pattern evaluating the paper for the second, third time involves same

complexity as the first time because the mistakes encountered during first

evaluation are not stored for reference.

28

Page 27: Examination system online

CHAPTER 4

PROBLEM ANALYSIS AND SYSTEM REQUREMENTS

SPECIFICATIONS

4.1 PROBLEM ANALYSIS

4.1.1 Global Use-case System

Identification of actors:

Actor: Actor represents the role a user plays with respect to the system. An actor

interacts with, but has no control over the use cases.

Graphical representation:

Actor

An actor is someone or something that:

Interacts with or uses the system.

Provides input to and receives information from the system.

Is external to the system and has no control over the use cases.

Actors are discovered by examining:

Who directly uses the system?

Who is responsible for maintaining the system?

External hardware used by the system.

Other systems that need to interact with the system.

29

<<Actor name>>

Page 28: Examination system online

Questions to identify actors:

Who is using the system? Or, who is affected by the system? Or, which groups

need help from the system to perform a task?

Who affects the system? Or, which user groups are needed by the system to

perform its functions? These functions can be both main functions and

secondary functions such as administration.

Which external hardware or systems (if any) use the system to perform tasks?

What problems does this application solve (that is, for whom)?

And, finally, how do users use the system (use case)? What are they doing

with the system?

The actors identified in this system are:

1. Students

2. Administrator

3. Staff

4. Invigilator

Identification of usecases:

Usecase: A use case can be described as a specific way of using the system from a

user’s (actor’s) perspective.

Graphical representation:

A more detailed description might characterize a use case as:

Pattern of behavior the system exhibits

A sequence of related transactions performed by an actor and the system

Delivering something of value to the actor

Use cases provide a means to:

capture system requirements

communicate with the end users and domain experts

test the system

Use cases are best discovered by examining the actors and defining what the actor

will be able to do with the system.

30

Page 29: Examination system online

Guide lines for identifying use cases:

For each actor, find the tasks and functions that the actor should be able to

perform or that the system needs the actor to perform. The use case should

represent a course of events that leads to clear goal.

Name the use cases.

Describe the use cases briefly by applying terms with which the user is familiar.

This makes the description less ambiguous

Questions to identify use cases:

What are the tasks of each actor?

Will any actor create, store, change, remove or read information in the

system?

What use case will store, change, remove or read this information?

Will any actor need to inform the system about sudden external changes?

Does any actor need to inform about certain occurrences in the system?

What usecases will support and maintains the system?

Can all functional requirements be performed by the usecases?

The use cases that are identified in this system are:

Login

Exam settings

Student details

Staff details

Invigilator details

Take exam

Submit test

Cancel exam

View results

Evaluate

Change marks

View marks

Invigilate

Report feedback

31

Page 30: Examination system online

4.1.2 Flow of events

A flow of events is a sequence of transactions (or events) performed by the

system. They typically contain very detailed information, written in terms of what the

system should do, not how the system accomplishes the task. Flow of events are

created as separate files or documents in your favorite text editor and then attached or

linked to a use case using the Files tab of a model element.

A flow of events should include:

When and how the use case starts and ends

Use case/actor interactions

Data needed by the use case

Normal sequence of events for the use case

Alternate or exceptional flows

Construction of use case diagrams:

Use-case diagrams graphically depict system behavior (use cases). These

diagrams present a high level view of how the system is used as viewed from an

outsider’s (actor’s) perspective. A use-case diagram may depict all or some of the

use cases of a system.

A use-case diagram can contain:

actors ("things" outside the system)

use cases (system boundaries identifying what the system should do)

Interactions or relationships between actors and use cases in the system

including the associations, dependencies, and generalizations.

Relation ships in use-cases:

1. Communication:

The communication relationship of an actor in a use-case is shown by

connecting the actor symbol to the use-case symbol with a solid path. The actor is said

to communicate with the use-case.

32

Page 31: Examination system online

2.Uses:

A Uses relationship between the usecases is shown by generalization arrow

from the use-case.

3. Extends:

The extends relationship is used when we have one use-case that is similar to

another use-case but does a bit more. In essence it is like subclass.

Fig 4.1.2.1 Overall use case diagram of the system

33

Evaluate

change Marks

View Marks staff

login

<<include>>

<<include>>Take Exam

<<include>>

submit

cancel

Review

<<extend>>

view results

<<include>>

student

StudentDetails StaffDetails InvigilatorDetailsExam Settings

Administrator

Adminlogin

<<include>>

<<include>>

<<include>><<include>>

InvigilateReport Feedback

Invigilator

<<include>>

<<include>>

Page 32: Examination system online

4.1.3 Activity diagram

Activity diagrams provide a way to model the workflow of a business

process, code-specific information such as a class operation. The transitions are

implicitly triggered by completion of the actions in the source activities. The main

difference between activity diagrams and state charts is activity diagrams are activity

centric, while state charts are state centric. An activity diagram is typically used for

modeling the sequence of activities in a process, whereas a state chart is better suited

to model the discrete stages of an object’s lifetime.

An activity represents the performance of task or duty in a workflow. It

may also represent the execution of a statement in a procedure. You can share

activities between state machines. However, transitions cannot be shared.

An action is described as a "task" that takes place while inside a state or activity

Actions on activities can occur at one of four times:

on entry ---- The "task" must be performed when the object enters the

state or activity.

on exit ---- The "task" must be performed when the object exits the state

or activity.

do ---- The "task" must be performed while in the state or activity and

must continue until exiting the state.

on event ---- The "task" triggers an action only if a specific event is

received.

An end state represents a final or terminal state on an activity diagram or state

chart diagram.

A start state (also called an "initial state") explicitly shows the beginning of a

workflow on an activity diagram.

Swim lanes can represent organizational units or roles within a business

model. They are very similar to an object. They are used to determine which

34

Page 33: Examination system online

unit is responsible for carrying out the specific activity. They show ownership

or responsibility. Transitions cross swim lanes

Synchronizations enable you to see a simultaneous workflow in an activity

diagram Synchronizations visually define forks and joins representing parallel

workflow.

A fork construct is used to model a single flow of control that divides into

two or more separate, but simultaneous flows. A corresponding join should

ideally accompany every fork that appears on an activity diagram. A join

consists of two of more flows of control that unite into a single flow of

control. All model elements (such as activities and states) that appear between

a fork and join must complete before the flow of controls can unite into one.

An object flow on an activity diagram represents the relationship between an

activity and the object that creates it (as an output) or uses it (as an input).

set staff details

assign invigilators

set question paper

invigilate the exam

login

check type

invigilator

report feedback

write exam

student

submit answer paper

view result

get feedback

staff

evaluate answer paper

submit results

administrator

set student details

StaffStudentInv igilatorAdministrator

4.1.3.1 Overall activity diagram of the system

35

Page 34: Examination system online

Use-case Realizations

Use case realization is nothing but an instance of a use case which involves the

identification of a possible set of classes, together with an understanding of how those

classes might interact to deliver the functionality of the use case. The set of classes is

known as collaboration.

takeexamTake-exam

submit-testSubmit-test

Viewmarks viewmarks

Cancel-testcancel-test

Fig 4.1.4.1 Usecase realization for main use-cases

36

Page 35: Examination system online

4.1.5 Sequence Diagram

A sequence diagram is a graphical view of a scenario that shows object

interaction in a time-based sequence what happens first, what happens next. Sequence

diagrams establish the roles of objects and help provide essential information to

determine class responsibilities and interfaces.

There are two main differences between sequence and collaboration diagrams:

sequence diagrams show time-based object interaction while collaboration diagrams

show how objects associate with each other.

A sequence diagram has two dimensions: typically, vertical placement

represents time and horizontal placement represents different objects.

Object: An object has state, behavior, and identity. The structure and behavior of

similar objects are defined in their common class. Each object in a diagram indicates

some instance of a class. An object that is not named is referred to as a class instance.

The object icon is similar to a class icon except that the name is underlined: An

object's concurrency is defined by the concurrency of its class.

Message: A message is the communication carried between two objects that trigger

an event. A message carries information from the source focus of control to the

destination focus of control.

The synchronization of a message can be modified through the message specification.

Synchronization means a message where the sending object pauses to wait for results.

Link: A link should exist between two objects, including class utilities, only if there

is a relationship between their corresponding classes. The existence of a relationship

between two classes symbolizes a path of communication between instances of the

classes: one object may send messages to another. The link is depicted as a straight

line between objects or objects and class instances in a collaboration diagram. If an

object links to itself, use the loop version of the icon.

37

Page 36: Examination system online

Sequence diagrams for our system

: User : login interface : login control system : Database1: Enter login details

2: submit detials to control system

4: check user validity with the database

3: Handle the submitted data

5: Give appropirate priviliges

6: Access the priviliges

Fig 4.1.5.1 Sequence diagram for login

38

Page 37: Examination system online

: Administrator : Exams settings interface : Examsettings control class : Database

1: Login

2: select operation

3: Provide selected operation's interface

4: Enter data

5: Forward the data

6: Handle the data

7: Perform selected operation

8: Interact with the database

9: Give acknowledgement

Fig 4.1.5.2 Sequence diagram for Exam settings

39

Page 38: Examination system online

: Administrator : Student details interface : student details control system

: Database

1: Logs in

2: Select an operation to perform

3: provide selected operation's interface

4: Enter the details needed

5: submit details to control system

6: Handle the data

8: Interact with the database

9: send acknowledgmemnt to administrator

7: perform selected operation

Fig 4.1.5.3 Sequence diagram for student details

40

Page 39: Examination system online

: Administrator : staff details interface : Database : staff details control system

1: Login

2: select operation

3: provide selected operation's interface

4: Enter the data needed

5: submit details

6: Handle submitted data

7: perform selected operation

8: Interact with the database

9: Provide acknowledgment to the administrator

Fig 4.1.5.4 Sequence diagram for staff details

41

Page 40: Examination system online

: Administrator : Invigilator details interface : Invigilator details

control system : Database

1: Login

2: Select operation

3: Provide selected operation's interface

4: Enter data

5: submit data to invigilator control system

6: Handle data

7: Perform selected operation

8: Interact with the database

9: Give acknowledgment

Fig 4.1.5.5 Sequence diagram for invigilator details

42

Page 41: Examination system online

: student : Display question paper, time : Take exam control

class1: Login

3: Select questions to answer

4: Answer the questions

5: Autosave the answers frequently

6: Save the answers

2: Display question paper, timeleft.

8: Submit the test

7: Send warning when time is up

Fig 4.1.5.6 Sequence diagram for take-exam use-case

43

Page 42: Examination system online

: student : Submittest interface : Submittest control class

: Database

1: Click submit link

2: Ask confirmation

3: Give confirmation

4: Forward submit confirmation

5: Collect all answerws written

6: Attach encripted user id on answer document

7: convert to pdf format

8: Store the pdf file in database

9: Give acknowledgement

Fig 4.1.5.7 Sequence diagram for submit test

44

Page 43: Examination system online

: student : Cancel interface : Cancel control class

1: click cancel exam link

2: Ask confirmation regarding cancellation

3: Confirm cancellation

4: Forward confirmation

5: Delete all the answers in the text boxes

6: Give acknowledgement

Fig 4.1.5.8 Sequence diagram for cancel use-case

45

Page 44: Examination system online

: student : view results interface : view results control

system : Database

1: Login

2: Request marks

3: Submit details

4: Retrieve marks obtained

5: Forward results

6: View marks

Fig 4.1.5.9 Sequence diagram for view-results use-case

46

Page 45: Examination system online

: staff : Evaluate interface : Evaluation control system

: Database

1: Login

2: Select unevaluated answer sheet

3: Evaluate the paper

4: Allot the marks for all answers

5: Submit marks

6: Enter data in the database

7: Give acknowledgement

Fig 4.1.5.10 Sequence diagram for evaluate use-case

47

Page 46: Examination system online

: staff : Change marks interface : Change marks control system : Database

1: Login

3: Enter changed marks

2: Display existing marks

4: Forward newly alloted marks

5: update the changed marks

6: Give acknowledgement

Fig 4.1.5.11 Sequence diagram for change-marks use-case

48

Page 47: Examination system online

: staff : View marks interface : View marks control

system : Database

1: Enter encrypted userid

2: Submit

3: Handle data

4: retreive marks from database

5: Submit

6: View marks

Fig 4.1.5.12 Sequence diagram for view-marks use-case

49

Page 48: Examination system online

: Invigilator : student : Feedback Interface1: Guide the students

2: Invigilate the Exam process

3: Take necessary actions

4: Access feedback interface

Fig 4.1.5.13 Sequence diagram for invigilate use-case

50

Page 49: Examination system online

: Invigilator : Feedback Interface : Feedback control system

: Database

1: Login

2: Give Feed back

3: Submit feedback

4: Store feedback in database

5: Give acknowledgement

Fig 4.1.5.14 Sequence diagram for feedback use-case

51

Page 50: Examination system online

4.2 SYSTEM REQUREMENTS SPECIFICATIONS

4.2.1 Process model

To solve actual problems in an industry setting, a software engineer or a team of

engineers must incorporate a development strategy that encompasses that process,

methods, and tools. This strategy is often referred to as process model or a software

engineering paradigm.

A process model for software engineering is chosen based on the nature of the

project and application, the methods and tools to be used and the controls and the

deliverables that are required.

So, our application is based on the Object Oriented Approach. In this model we

design the UML diagrams like Use case, Activity, Sequence, Collaboration and Class

diagrams.

4.2.2 System requirements

Hardware requrements:

Hard Disk Drive – 40 to 80 Gb

  Processor 2.2 GHz Pentium P3 (or) P4.

  Ram – 256MB Minimum

.  56k Faster Internet Connection

Software requirements:

Programming Languages : Java

 Operating System : Windows 95/98/XP

Server : Apache Tomcat 5.0

Data Base : Oracle 9i

52

Page 51: Examination system online

4.2.3 Application Features:

Modules:

1) Administrator Module

2) Student Module

3) Staff Module

4) Invigilator Module

MODULE 1

Administrator Module: Administrator is the actor who interacts with this module.

He is the person who maintains the system and it is the main module of the system.

It involves much basic functionality.

Functionality:

1. Updating student details

2. Updating staff details

3. Updating invigilator details

4. Setting exam details

1. Updating student details: It involves many functions related to students like

Add student, delete student, delete all students, viewing a particular student

details, viewing all student details and promoting students.

2. Updating staff details: It involves many functions related to staff like assign staff

to a subject, delete staff, delete all staff members, view staff member details, view

all staff details.

3. Updating invigilator details: It involves updating the details of the invigilators

like assigning the invigilator for a particular exam and deleting a invigilator if

needed.

4. Exam setting details: It involves exam setting details like inserting new subject,

deleting existing subjects, setting question paper for a paper, deleting question

paper for a subject, viewing question paper for a subject etc.

53

Page 52: Examination system online

MODULE 2

Student Module: Student interacts with this system after logging into the system by

selecting login type as student. After logging he has many student functionalities to

perform.

Functionality:

1. View instructions

2. Take exam

3. View results

1. View instructions: It contains instructions that are to be followed while writing

the exam.

2. Take exam: Here the student will take the exam in the text boxes provided under

each question. A clock will be displayed through out the exam process for the

time period of 3 hours. After writing the exam, student has to submit the answer

sheet in time.

3. View results: The student after submitting the exam, the answered sheet will be

evaluated by the staff and the results are entered into the database. Then he can

view the results obtained.

MODULE 3

Staff module: Staff interacts with the system by logging into the system by setting

login type as staff.

Functionality:

4. Evaluate answer sheets

5. Allot marks

6. View marks

1. Evaluate answer sheets: Staff who deals the particular subject can access the

answered sheets of that particular subject belonging to the students, by

downloading the pdf documents which contains the answers written by the

students.

54

Page 53: Examination system online

2. Allot Marks: Staff after evaluating the paper, submits the marks to the system by

selecting the marks need to be allotted in a drop down box for each question and

each section.

3. View Marks: This enables the staff to view the marks allotted to each student for

each question in every section and also he can view the total marks obtained.

MODULE 4

Invigilator Module: Invigilator interacts with the system for giving the feedback and

also authenticates the process of examination. Feedback can be given under three

functionalities.

Functionality:

1. Report absentees

2. Report debarred

3. Report technical problems

4. Report Absentees: Invigilator reports the userid's of the students who dint come

to the exam.

5. Report debarred: He reports the candidates who got debarred for violating the

rules of examination.

6. Report Technical problems: Reports the details of the candidate who are unable

to complete the exam due to technical problems of the system.

55

Page 54: Examination system online

CHAPTER 5

DESIGN

5.1 USER INTERFACE DESIGN

Home page

56

Page 55: Examination system online

Admin Login

Admin Invalid Login Page

57

Page 56: Examination system online

Admin First Page

Student details page

58

Page 57: Examination system online

Add Student Page

59

Page 58: Examination system online

Add Student output

Delete Student page

Delete Student output

60

Page 59: Examination system online

View all students page

View all students output

61

Page 60: Examination system online

Staff Details

62

Page 61: Examination system online

Add Staff page

63

Page 62: Examination system online

Add Staff output

64

Page 63: Examination system online

View all Staffs Page

View all Staffs output

View Staff

65

Page 64: Examination system online

View staff output

66

Page 65: Examination system online

Exam Setting Page

67

Page 66: Examination system online

Add New subject

Add New subject output

Delete Question Paper

68

Page 67: Examination system online

Delete question paper failure page

Load Question Paper

69

Page 68: Examination system online

Load question paper Submit

Load question paper acknowledgement

70

Page 69: Examination system online

View Question paper

View Question paper output

71

Page 70: Examination system online

Students Login

Students First Page

72

Page 71: Examination system online

Question paper & answer space

Submit Answer sheet

73

Page 72: Examination system online

Submit test with alert

Submit test Acknowledgement page

74

Page 73: Examination system online

PDF Generation in server

Answer Sheet in PDF format along with questions

75

Page 74: Examination system online

Staff Login

Staff first page

76

Page 75: Examination system online

Allotment & submitting of marks

Staffs view of students’ marks

77

Page 76: Examination system online

View of Marks allotted

View results by students after login

78

Page 77: Examination system online

5.2 ARCHITECHTURE DESIGN

79

Page 78: Examination system online

3-Tier Architecture:

The three-tier software architecture (a.k.a. three layer architectures) emerged

in the 1990s to overcome the limitations of the two-tier architecture. The third tier

(middle tier server) is between the user interface (client) and the data management

(server) components. This middle tier provides process management where business

logic and rules are executed and can accommodate hundreds of users (as compared to

only 100 users with the two tier architecture) by providing functions such as queuing,

application execution, and database staging.

Fig 5.2.1 Three Tier Architecture

The three tier architecture is used when an effective distributed client/server

design is needed that provides (when compared to the two tier) increased

performance, flexibility, maintainability, reusability, and scalability, while hiding the

complexity of distributed processing from the user. These characteristics have made

three layer architectures a popular choice for Internet applications and net-centric

information systems.

80

Page 79: Examination system online

Technical Details:A three tier distributed client/server architecture includes a user system

interface top tier where user services (such as session, text input, dialog, and display

management) reside.

Fig 5.2.2 Three tier distributed client/server architecture depiction

Advantages of Three-Tier:

Separates functionality from presentation.

Clear separation - better understanding.

Changes limited to well define components.

Can be running on WWW.

Effective network performance.

Functional Architecture:-

1. FUNCTIONAL VIEW OF REGISTRATION:

-> A request for Registration is sent to the server from the client.

-> These client details from registration server are stored in database.

-> The server retrieves the Employee details and sends it back to the client after

registration is done successfully.

81

Page 80: Examination system online

Fig 5.2.3 Functional Architecture

Fig 5.2.4 TECHNICAL DIAGRAM

5.3 DATABASE DESIGN

5.3.1 Data Dictionary

82

Request for register as a studentGenerates user-id, password,course, branch year & sem

Generates user-id, password,course, branch year & sem

Stores Student details

SERVER RDBMSCLIENT

HTTP

Request

HTTPResponse

JDBC

JDBC

SERVERRDBMSCLIENT

Page 81: Examination system online

Features of data dictionary:

The volume of data in most information system applications is substantially

more than a single user can easily keep track of data dictionaries are an integral

component of structural analysis since dataflow diagrams by themselves do not fully

describe the subject of the investigation. The data dictionary provides additional

information about the system.

What is data dictionary?

A data dictionary is a repository of the elements in the system. As the name

suggest, these elements center on data and the way they are structured to meet user

requirements and organization needs. In a data dictionary we will find a list of all

elements composing the data flowing through a system. The major elements are data

flows, data stores and process. The data dictionary stores details and descriptions of

these elements.

Why is data dictionary important?

Analysis use data dictionaries for five important reasons

1. To manage the details in large systems

2. To communicate a common meaning for all elements

3. To document the features of the system

4. To facilitate analysis of details in order to evaluate characteristics and

determine where the changes are made.

5. To locate errors and omissions in the system.

5.3.2 Tables

STUDENT TABLE

83

Page 82: Examination system online

Attribute Data type Size Mandatory Key

Name Varchar2 15 Not null

User-id Varchar2 15 Not null Primary key

Password Varchar2 15 Not null

Course Varchar2 5 Not null References courses(course)

Branch Varchar2 15 Not null

Year Number 1 Not null

Semester Number 1 Not null

TABLE 5.3.2.1

STAFF TABLE

Attribute Data type Size Mandatory Key

Name Varchar2 15 Not null

Use-rid Varchar2 15 Not null Primary key

Password Varchar2 15 Not null

Sub-code Varchar2 5 Not null Unique, References subcds(sbcode)

TABLE 5.3.2.2

COURSES TABLE

Attribute Data type Size Mandatory Key

84

Page 83: Examination system online

Courses Varchar2 15 Not null Primary key

TABLE 5.3.2.3

BRANCHES TABLE

Attribute Data type Size Mandatory Key

Branch Varchar2 15 Not null Primary key

TABLE 5.3.2.4

SUBCODES TABLE

Attribute Data type Size Mandatory Key

Subcode Varchar2 10 Not null Primary key

Course Varchar2 5 Not null References courses(course)

Branch Varchar2 15 Not null

Year Number 1 Not null

Semester Number 1 Not null

TABLE 5.3.2.5

INVIGILATOR TABLE

Attribute Data type Size Mandatory Key

85

Page 84: Examination system online

Invi-id Varchar2 15 Not null Primary key references staff(userid)

Password Varchar2 15 Not null

Userid Varchar2 15 Not null References staff(userid)

TABLE 5.3.2.6

ADMIN TABLE

Attribute Data type Size Mandatory Key

Userid Varchar2 15 Not null Primary key

Password Varchar2 15 Not null

TABLE 5.3.2.7

SECTION1 TABLE

Attribute Data type Size Mandatory Key

Subcode Varchar2 5 Not null Primary key references

86

Page 85: Examination system online

sbcode(sbcode)Q1 Varchar2 150 Not null

Q2 Varchar2 150 Not null

Q3 Varchar2 150 Not null

Q4 Varchar2 150 Not null

Q5 Varchar2 150 Not null

Q6 Varchar2 150 Not null

Q7 Varchar2 150 Not null

Q8 Varchar2 150 Not null

Q9 Varchar2 150 Not null

Q10 Varchar2 150 Not null

Q11 Varchar2 150 Not null

Q12 Varchar2 150 Not null

Q13 Varchar2 150 Not null

Q14 Varchar2 150 Not nullTABLE 5.3.2.8

SECTION2 TABLE

Attribute Data type Size Mandatory Key

Subcode Varchar2 15 Not null Primary key references sbcode(sbcode)

Q21 Varchar2 150 Not null

Q22 Varchar2 150 Not null

TABLE 5.3.2.9

SECTION3 TABLE

Attribute Data type Size Mandatory Key

Subcode Varchar2 15 Not null Primary key references

87

Page 86: Examination system online

sbcode(sbcode)Q31 Varchar2 150 Not null

Q32 Varchar2 150 Not null

TABLE 5.3.2.10

SECTION4 TABLE

Attribute Data type Size Mandatory Key

Subcode Varchar2 15 Not null Primary key references sbcode(sbcode)

Q41 Varchar2 150 Not null

Q42 Varchar2 150 Not null

TABLE 5.3.2.11

SECTION5 TABLE

Attribute Data type Size Mandatory Key

Subcode Varchar2 15 Not null Primary key references sbcode(sbcode)

Q51 Varchar2 150 Not null

Q52 Varchar2 150 Not null

TABLE 5.3.2.12

SECTION1MARKS TABLE

Attribute Data type Size Mandatory Key

Subcode Varchar2 5 Not null references sbcode(sbcode)

88

Page 87: Examination system online

User-id Varchar2 15 Not null References student(userid)

Q1 Number 1 Not null

Q2 Number 1 Not null

Q3 Number 1 Not null

Q4 Number 1 Not null

Q5 Number 1 Not null

Q6 Number 1 Not null

Q7 Number 1 Not null

Q8 Number 1 Not null

Q9 Number 1 Not null

Q10 Number 1 Not null

Q11 Number 1 Not null

Q12 Number 1 Not null

Q13 Number 1 Not null

Q14 Number 1 Not null

Primary key is the combination of both subcode & user-idTABLE 5.3.2.13

SECTION2MARKS TABLEAttribute Data type Size Mandatory Key

Subcode Varchar2 15 Not null Primary key references sbcode(sbcode)

User-id Varchar2 15 Not null References student(userid)

Q21 Number 2 Not null

Q22 Number 2 Not null

Primary key is the combination of both subcode & user-idTABLE 5.3.2.14

SECTION3MARKS TABLE

89

Page 88: Examination system online

Attribute Data type Size Mandatory Key

Subcode Varchar2 15 Not null Primary key references sbcode(sbcode)

User-id Varchar2 15 Not null References student(userid)

Q31 Number 2 Not null

Q32 Number 2 Not null

Primary key is the combination of both subcode & user-idTABLE 5.3.2.15

SECTION4MARKS TABLE

Attribute Data type Size Mandatory Key

Subcode Varchar2 15 Not null Primary key references sbcode(sbcode)

User-id Varchar2 15 Not null References student(userid)

Q41 Number 2 Not null

Q42 Number 2 Not null

Primary key is the combination of both subcode & user-id

TABLE 5.3.2.16

SECTION5MARKS TABLE

90

Page 89: Examination system online

Attribute Data type Size Mandatory Key

Subcode Varchar2 15 Not null Primary key references sbcode(sbcode)

User-id Varchar2 15 Not null References student(userid)

Q51 Number 2 Not null

Q52 Number 2 Not null

Primary key is the combination of both subcode & user-id

TABLE 5.3.2.17

TOTALMARKS TABLE

Attribute Data type Size Mandatory Key

Subcode Varchar2 15 Not null Primary key references sbcode(sbcode)

User-id Varchar2 15 Not null References student(userid)

TOTALMARK Number 2 Not null

Primary key is the combination of both subcode & user-id

TABLE 5.3.2.18

ABSENTIES TABLE

Attribute Data type Size Mandatory Key

Subcode Varchar2 15 Not null Primary key references sbcode(sbcode)

User-id Varchar2 15 Not null References student(userid)

Primary key is the combination of both subcode & user-idTABLE 5.3.2.19

DEBARRED TABLE

Subcode Varchar2 15 Not null Primary key

91

Page 90: Examination system online

references sbcode(sbcode)

User-id Varchar2 15 Not null References student(userid)

TABLE 5.3.2.20

TECHPROB TABLE

Attribute Data type Size Mandatory Key

Subcode Varchar2 15 Not null Primary key references sbcode(sbcode)

User-id Varchar2 15 Not null References student(userid)

Primary key is the combination of both subcode & user-idTABLE 5.3.21

PDFFILES TABLE

Attribute Data type Size Mandatory Key

Subcode Varchar2 15 Not null Primary key references sbcode(sbcode)

User-id Varchar2 15 Not null References student(userid)

Files Long raw Not null

Primary key is a combination of userid & password

Table 5.3.2.22

5.4 CLASS DESIGN

92

Page 91: Examination system online

Identification of analysis classes:

A class is a set of objects that share a common structure and common

behavior (the same attributes, operations, relationships and semantics). A class is an

abstraction of real-world items.

There are 4 approaches for identifying classes:

1. Noun phrase approach:

2. Common class pattern approach.

3. Use case Driven Sequence or Collaboration approach.

4. Classes , Responsibilities and collaborators Approach

1. Noun Phrase Approach:

The guidelines for identifying the classes:

a. Look for nouns and noun phrases in the usecases.

b. Some classes are implicit or taken from general knowledge.

c. All classes must make sense in the application domain ; Avoid

computer implementation classes – defer them to the design stage.

d. Carefully choose and define the class names.

After identifying the classes we have to eliminate the following types of

classes:

a. Redundant classes.

b. Adjective classes..

2. Common class pattern approach:

The following are the patterns for finding the candidate classes:

a. Concept class.

b. Events class.

c. Organization class

d. Peoples class

e. Places class

f. Tangible things and devices class.

93

Page 92: Examination system online

3. Usecase driven approach:

We have to draw the sequence diagram or collaboration diagram. If there is

need for some classes to represent some functionality then add new classes which

perform those functionalities.

4. CRC approach:

The process consists of the following steps:

a. Identify classes ' responsibilities ( and identify the classes )

b. Assign the responsibilities

c. Identify the collaborators.

Identification of responsibilities of each class:

The questions that should be answered to identify the attributes and methods of a class

respectively are:

1. What information about an object should we keep track of?

2. What services must a class provide?

Identification of relationships among the classes:

Three types of relationships among the objects are:

Association: How objects are associated?

Super-sub structure: How are objects organized into super classes and sub classes?

Aggregation: What is the composition of the complex classes?

Association:

The questions that will help us to identify the associations are:

1. Is the class capable of fulfilling the required task by itself?

2. If not, what does it need?

3. From what other classes can it acquire what it needs?

Guidelines for identifying the tentative associations:

94

Page 93: Examination system online

-- A dependency between two or more classes may be an association. Association

often corresponds to a verb or prepositional phrase.

-- A reference from one class to another is an association. Some associations are

implicit or taken from general knowledge.

Some common association patterns are:

Location association like part of, next to, contained in…..

Communication association like talk to, order to ……

We have to eliminate the unnecessary association like implementation associations,

ternary or n-ary associations and derived associations.

Super-sub class relationships:

Super-sub class hierarchy is a relationship between classes where one class is

the parent class of another class (derived class).This is based on inheritance.

Guidelines for identifying the super-sub relationship, a generalization are

1. Top-down: Look for noun phrases composed of various adjectives in a class

name. Avoid excessive refinement. Specialize only when the sub classes have

significant behavior.

2. Bottom-up: Look for classes with similar attributes or methods. Group them by

moving the common attributes and methods to an abstract class. You may have to

alter the definitions a bit.

3. Reusability: Move the attributes and methods as high as possible in the hierarchy.

4. Multiple inheritances: Avoid excessive use of multiple inheritances. One way of

getting benefits of multiple inheritances is to inherit from the most appropriate class

and add an object of another class as an attribute.

95

Page 94: Examination system online

StaffDetailsname : Stringsubject : String

setName()getName()setSubject()getSubject()

StudentDetailsregdNo : Stringname : Stringyear : Integersemester : Integerbranch : String

setRegdNo()getRegdNo()setName()getName()setYear()getYear()setSemester()getSemester()setBranch()getBranch()

MarksDetailsstudentRegdNo : StringsubjectCode : Stringmarks : Integer

setStudentRegdNo()getStudentRegdNo()setSubjectCode()getSubjectCode()setMarks()getMarks()

<<entity class>>

0..n 10..n 1

1

0..n

1

0..n

QuestionPapersubjectCode : Stringsections : StringquestionNumbers : Integerquestions : StringsubjectName : String

setQuestionNumbers()getQuestionNumers()setSubjectCode()getSubjectCode()setQuestions()getQuestions()setSubjectName()getSubjectName()

<<entity class>>

1

1

1

1

1 0..n1 0..n

1

1

1

1

InvigilatorDetailsname : String

authenticateStudent()conductTest()

1

0..n

1

0..n1..n

1

1..n

1

5.4.1 Overall class diagram of the system

96

Page 95: Examination system online

CHAPTER 6

TESTING

TESTING:

Testing is the process of detecting errors. Testing performs a very critical role

for quality assurance and for ensuring the reliability of software. The results of testing

are used later on during maintenance also.

6.1 PSYCHOLOGY OF TESTING

The aim of testing is often to demonstrate that a program works by showing

that it has no errors. The basic purpose of testing phase is to detect the errors that may

be present in the program. Hence one should not start testing with the intent of

showing that a program works, but the intent should be to show that a program

doesn’t work. Testing is the process of executing a program with the intent of finding

errors.

6.2 TESTING OBJECTIVES

The main objective of testing is to uncover a host of errors,

systematically and with minimum effort and time. Stating formally, we can say,

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

error.

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

A good test case is one that has a high probability of finding error, if it

exists.

The tests are inadequate to detect possibly present errors.

The software more or less confirms to the quality and reliable standards.

97

Page 96: Examination system online

6.3 LEVELS OF TESTING

In order to uncover the errors present in different phases we have the

concept of levels of testing. The basic levels of testing are as shown below…

Client Needs

Requirements

Design

Code

6.4 TYPES OF TESTING

Unit Testing

Integration Testing

System Testing

Acceptance Testing

6.4.1 Unit Testing

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

module. Using the detailed design and the process specifications testing is done to

uncover errors within the boundary of the module. All modules must be successful in

the unit test before the start of the integration testing begins.

In this project each service can be thought of a module. There are so many

modules like Login, Admin module which further involves student details, staff

details, invigilator details, exam settings etc, student module which contains exam and

results sub modules, staff module and invigilator module. As a part of unit testing we

98

Acceptance Testing

System Testing

Integration Testing

Unit Testing

Page 97: Examination system online

tested every program or function separately after coding of that particular program.

We tested whether the program is meeting the requirements placed by the

requirements phase. If not we modified programs according to our requirements.

In this application developer tests the programs up as system. Software units

in a system are the modules and routines that are assembled and integrated to form a

specific function. Unit testing is first done on modules, independent of one another to

locate errors. This enables to detect errors. Through this, errors resulting from

interaction between modules initially avoided. We followed basic flow testing where

we Showed screens for every path of flow for login page thereby proving cyclometric

complexity of the program.

99

Page 98: Examination system online

login paper

login with out entering user-id

100

Page 99: Examination system online

login with out password

login without type

101

Page 100: Examination system online

login without year

login without subcode

102

Page 101: Examination system online

Login with invalid userid & password

Login page after all entries are submitted correctly

103

Page 102: Examination system online

Results of Testing for our Application

1. Others login (successful)

2. Others login (unsuccessful)

3. Set question paper (successful)

Result: Success

Conditions Verified: yes

Expected Results: Success login

Action Performed: Enter valid login details without leaving any field

Pre Conditions: Database Connectivity

Test Description: provide student/staff/invigilator rights by checking type

Test Case: Others Login (successful)

Result: Success

Conditions Verified: yes

Expected Results: Display error message\alert box regarding the error

Action Performed: Enter invalid login details\leave any field without blank

Pre Conditions: Database Connectivity

Test Description: Report error message

Test Case: Others Login (unsuccessful)

Result: Success

Conditions Verified: yes

Expected Results: Give acknowledgement to admin after loading questions

Action Performed: select fields course, branch, year, sem and subject, enter all questions

Pre Conditions: Database Connectivity

Test Description: Provide access for load successfully

Test Case: Set question paper (successful)

104

Page 103: Examination system online

4. Set question paper (unsuccessful)

5. Take Exam (successful)

6. Take Exam (unsuccessful)

Result: Success

Conditions Verified: yes

Expected Results: Give proper error message describing the error

Action Performed: leaving details \ leave any field blank\ already existing

Pre Conditions: Database Connectivity

Test Description: Restrict access access to load successfully\display error message

Test Case: Set question paper (unsuccessful)

Result: Success

Conditions Verified: yes

Expected Results: Allow student to take exam

Action Performed: Submit valid Student details like user-id, password, subcode etc.

Pre Conditions: Database Connectivity, login as student, set question paper

Test Description: Allow the student to take test

Test Case: Take Exam (successful)

Result: Success

Conditions Verified: yes

Expected Results: Give warning message like invalid user/ question paper not set

Action Performed: Submit Invalid details like user-id, password, subcode etc.

Pre Conditions: Database Connectivity, login as student, set question paper

Test Description: Restrict the student to take test

Test Case: Take Exam (unsuccessful)

105

Page 104: Examination system online

7. Submit exam (successful)

8. Submit exam (unsuccessful)

6.4.2 Integration Testing

After the unit testing we have to perform integration testing. The goal here is

to see if modules can be integrated properly, the emphasis being on testing interfaces

between modules. This testing activity can be considered as testing the design and

hence the emphasis on testing module interactions.

In this project integrating all the modules forms the main system. When

integrating all the modules I have checked whether the integration effects working of

any of the services by giving different combinations of inputs with which the two

services run perfectly before Integration.

Result: Success

Conditions Verified: yes

Expected Results: Give “successfully uploaded your answer sheet” message

Action Performed: Submit the answer paper with in given time 3 hours

Pre Conditions: Student login, Database Connectivity, take exam

Test Description: Disable the user to submit question paper with error message \ alert box

Test Case: Submit exam (successful)

Result: Success

Conditions Verified: yes

Expected Results: Report error message

Action Performed: Submitting the answer sheet after time out

Pre Conditions: Database connectivity, student login, access take exam link

Test Description: Disable the user to submit question paper with error message \ alert box

Test Case: Submit exam (unsuccessful)

106

Page 105: Examination system online

After the completion of unit testing, we tested the functionality of entire

system by integrating all the modules.

For example, in order a student to write an exam for a subject first he must be

added as a student to that course by admin, and also question paper must also

be loaded into the database for that subject. So here student module is

depending on admin module. So we checked whether all students added by the

admin are able to access the system to write the exams of their respective

courses or not.

In this way integration testing is followed also to test the interaction among all

modules so that the functionality of one module may not affect the

functionality of another module in adverse way.

6.4.3 System Testing

Here the entire software system is tested. The reference document for this

process is the requirements document, and the goal as to see if software meets its

requirements.

In the system testing we tested the entire system basing on System

requirements specification document i.e., whether the functionality we proposed in

document is achieved or not. Here we achieved every thing what ever we specified

write from the login, taking exam, pdf conversion, evaluation to viewing results by

the student.

6.4.4 Acceptance Testing

Acceptance Test is performed with realistic data of the client to demonstrate

that the software is working satisfactorily. Testing here is focused on external

behavior of the system; the internal logic of program is not emphasized.

Test cases should be selected so that the largest number of attributes of an

equivalence class is exercised at once. The testing phase is an important part of

software development. It is the process of finding errors and missing operations and

also a complete verification to determine whether the objectives are met and the user

107

Page 106: Examination system online

requirements are satisfied. Our system underwent acceptance test from people who

are not involved in the project.

6.5 Criteria Satisfied by Test Cases

1) Test cases that reduced by a count that is greater than one, the number

of additional test cases that much be designed to achieve reasonable

testing.

2) Test cases that tell us something about the presence or absence of

classes of errors, rather than an error associated only with the specific

test at hand.

In order to test the over all system only one method of testing is not enough, so we

have done wide range of tests to validate the functionality of the system.

108

Page 107: Examination system online

CHAPTER 7

CONCLUSION & FUTURE WORK

Proposed Electronic Descriptive Examination Management System achieved

better transparency, security and maintainability. It also saves lot of manpower, time

and logistics to conduct the examination, evaluate the answer scripts and announcing

the results.

In the proposed system we are unable to include rich text editor, which

supports drawings. So this can be carried out in future. We can extend the system to

different levels of stakeholders with different privileges.

109

Page 108: Examination system online

BIBILOGRAPHY

1. Ali Bahraini (2003),”Object Oriented Analysis And Design using UML”, 2nd

Edition Tata McGraw-Hill.

2. Herbert Schildt (2002),”Java 2 Programmers Reference”, 1st edition, MCGraw -

Hill companies.

3. Jason Hunter William Crawford and Paula Ferguson (1999) ,”Java Servlet

Programming”, 2nd Edition.

4. Roger S.Pressman (2002),”Software Engineering: A Practioners Approach”, 5th

Edition, Tata MCGraw-Hill.

WEBSITES

1. WWW.java.sun.com

2. WWW.w3schools.com

110