Online Examination

June 14, 2016 | Author: HIJITHMON | Category: Types, Research, Science
Share Embed Donate


Short Description

Download Online Examination...

Description

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

W

e b

B

r o

e q u e s t

w

J S

P

s e r D

R

e s p

o

n

B

s e

J a v

A

p

p

a B

l i c

e a n

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 opensource 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 userfriendly 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

Processor

Intel

Pentium

Server side 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

A

C

d

m

S

t a f f

a n

i n

d

L

o

g

i n

L

o

g

i n O

i s t r a t o

i d

L o a t e

g

r

i n

Level 1 Diagram for Login Process

I n

f o

r m

a t i o

A

d

n

m

i n

i s t r a t 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 y s t e m

I n

f o

r m

a

t i o

C

n

a n

d

i d

a t e

r

A

d m

S

C

i s t r a t oU r s e r n

in

P

t a f f

a n

d

id

a s s w

a m e , o r d

U P

s e r n a s s w

a m e , o r d L

U P

s e r n a s s w

a m e , o r d

o

g

in

O D

n l i n e E x a m a t a b a s e

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

A

d m

in is t r a t o r

G

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

M

U s e r a n a g e m

L o g in

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

Level 2 Diagram for Staff

e n t

i n

a t

U

p

Q

S

t a f f

L

o

g

l o a d e s t i o n

u

Q

in

E Q

d u

it e s t i o

u

e s t i o

n

n

Level 2 Diagram for Candidate

E

C

a n

d

id a t e

L

o

x

a m

Q

u e s t i o

R

e s u

n

g in

V

l t

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 objectoriented 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

E

i n

x

a m

Q

u

U

A

d

m

i n

i s t r a t o

r

A

d

d

g

M

u

t

g

n

c

a n

a g

/ R e m o b j e c t s

u

o

e t t i n

e s t i o

s e r

S

l o

S

v

e

r e a t i o

e m

e n

Fig.3.6.2 Use Case – Staff

l o

g i n

E

U S

x a m

s e r

M

S

e t t in g

a n a g

t a f f

l o

g o

u

t

Fig.3.6.3 Use Case – Candidate

l o g

R

e g is t e r

E C

a n d

id

in

x a m

a t e l o g

o u t

e m

e n 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

E

i s p

l a y

l o

g

i n

f o

n t e r u s e r - id & s u b m it v

a li d

p

O

D

i s p a l y

S

b

D

d

D

is p l a y

E

r r o r

M

e s s a

e s

t a i n

r o

r o l e

?

S t a f f t a f f p a g e

a s s w

?

n o

y

r m

C

A

d

i s p l a y

A

a n d

m

d

le

i d a t e D is p

in

is t r a t o

m

in

la y

C

a n d

r

is t r a t o

r

p

a g

e

i d a t e

p

a g

e

Fig.3.6.5 Register Activity:

d is p la y

E

n

t e r

V

r e g is t r a t io n

d

e t a i l s

e r i f y v

a l i d

n

y

D

i s p

d

&

s u

b

f o r m

m

i t

e t a i l s ?

o

D

i s p

l a y

E

e s

l a y

" S

u

c

c

e s s s f u

l "

r r o

r

m

e s s a g

Fig.3.6.6 Exam setting Activity:

d is p la y

E

n

t e r

V

E

x

s e t t in g s

a m

e r i f y

d

d

e t a i l s

&

s u b

is p

l a y

o

" S

i t

?

D

i s p

l a y

y e s

D

m

e t a i l s

v a l i d

n

f o r m

u

c

c

e s s s f u

l "

E

r r o

r

m

e s s a g

Fig.3.6.7 User management

U

s e r

E

d

V

i t

m

d

a n a g e m

e t a i ls

e r i f y v

d

D

i s p

l a y

s u

b

f o r m

m

i t

i s p

l a y

e t a i l s

a l i d

n

y

&

e n t

?

o

D

e s

" S

u

c

c

e s s s f u

l "

E

r r o

r

m

e s s a

Fig.3.6.8 Question Upload activity

Q

E

n

u e s t io n

t e r

m

Q

u

a n

e r i f i c

n

D

i s p

&

f o r m

C

h

o i c

l a y

a t i o n ?

o

e s

n o

" S o

e s

e r

D

is p l a y

e s

m

y

n

s w

v a l id

y

p lo a d

e s t io

a r k

V

U

r e

u c ?

c

e s s s f u

l"

E

r r o

r

m

e s s a g

e

Fig 3.6.9 Edit Question activity

D

E

d

is p la y

i t

Q

m

a r k

V

u

a n

e r i f i c

i s p

la y

C

h

o

i c

o

n

?

o

o

r e

e s

e r

a t i o

" S

e s

n

&

D

is p

l a y

e s

m

y

n

s w

a l i d

n

y

u e s t io n

e s t i o

v

D

Q

u

c ?

c

e s s s f u

l"

E

r r o

r

m

e s s a g

e

Fig 3.6.10 Create Exam Question activity

d is p la y

C

S

h

o

o

e le c

V

s e

t

Q

y l a y

x

u

s

a m

e s t i o

a t i o

a l i d

n

i s p

E

e r if i c v

D

e x a m

n

s

n

?

o

D

i s p

l a y

e s " S

u

c

c

e s s s f u

l"

E

r r o

r

m

e s s a g

e

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

E q n q u o p o p o p o p q i d e i d

x o e t t t t

a m

: i n s t i o 1 : S 2 : S 3 : S 4 : S : i n t : i n t

g e t Q s e t Q

Q

u

e q o o e s t i oo o

t n t t t t

: r r r r

S i i i i

n n n n

g g g g

i d u p p pn p

u

: e t t t t

s 1 2 3 4

g e t Q t r i n sg e t Q

i n t : : : :

e s t i o t i o S S S S

n t t t t

: r r r r

S i i i i

n n n n

L

a d

Q

q u e s t i o s t a t e : b

n o

n t r i n

g

g g g g

g

o

e t S

u e s t i o n ( ) : Q u e s t i o u e s t i o n ( ) : v o i d

u : o

e s t i o

Q u e s t i o l e a n

t a t e ( ) :

s i d s u b

s e t A g e t A

n s w n s w

b

o

u

b

: i n t j e c t

s e t S g e t S

g

a v e Q u e s w e r s t i o n : Q w e r : A n : S u b j e c

e t S

t a t e ( )

l e a n

:

t i o

n

u e s t i o s w e r t b

o

o

je c :

t S

t r i n

g

u b j e c t ( ) : v o u b j e c t ( ) : s u

g

e r ( ) : v o iSd e r ( ) : A n s q u e a n s s u b

o

n

n S

u e s t i o n ( ) : Q A u n e s s w t i oe rn 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

n

n

l e a n

i d b j

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. Halfarrow 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

<

u

a c

t o L r >o

s e r i d

,

p

g

i n

f o

a s s w v

r m

o

C

g

e t E

r

m

a l i d

x

a m

e s s a g

( u

a t e ( u

s e r i d

m

e s s a g

a tE e x

a m

f o

s e r i d

,

p

a s s w

o

r d

)

r

) x

e r r o r

i d

e

s t a r t E

e r r o

d

r d

e r r o e r r o

a n

e

a m

r

( u

s e r i d , e x a m d i s p l a y

i d

)

r m

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 webbased 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. 4

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

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF