Professional Documents
Culture Documents
Submitted by:
HIJITHMON.S.L
Partial Work done by:
HISHARA.N.S
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
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.
Place : Chavarcode
Date : 26-05-2010
DELCARATION
I, Hijithmon.S.L hereby declare that the project work entitled
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
Sign of Candidate
Place : Chavarcode
Date : 26-05-2010
ACKNOWLEDGEMENT
to our staff advisor Ms. SAJIMOL for their kind co-operation and guidance for
ABSTRACT
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
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:
2 All type of configuration such as exam date and time providing questions answers
and other criteria are updated through configuration wizard.
8 The result of exam will be noticed just after completing the exam.
User Characteristics:
Every user should be comfortable of working with computer and net browsing. He must
Constraints:
7 Limited to HTTP/HTTPS.
Communication Interface:
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.
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
Areas of services:
1 Synergy matrix
2 Software development
3 System Transportation
4 Maintenance outsourcing
5 Testing
6 Consulting
Overview of HTML
Internet. The original Internet of the HTML specification was to allow web authors to describe
This language is used to layout pages that are capable of displaying all the diverse kinds
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
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:
2 Control multiple frame navigation, plugs-ins or java applets based on user choices
in that HTML document.
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
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:
• The Document Object Model (DOM) for dynamic display of and interaction
with data
• XML and XSLT for the interchange and manipulation of data, respectively
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
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
1 Platform independence.
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
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
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.
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
R e q u e s t
J S P
W e b B r o w s e r
D B
R e s p o n s e
J a v a B e a n
A p p l i c a t i o n s e E r vn et e r r p r i s e s e r v e r
source software projects. The Apache projects are characterized by a collaborative, consensus
based development process, an open and pragmatic software license, and a desire to create high
quality software that leads the way in its field. Apache is not simply a group of projects sharing
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 Internet Integration.
The MS SQL Server 2000 database engine includes integrated XML support. It also has
the scalability, availability, and security features required to operate as the data storage
component of the largest Web sites. The SQL Server 2000 programming model is integrated
with the Windows DNA architecture for developing Web applications, and SQL Server 2000
supports features such as English Query and the Microsoft Search Service to incorporate user-
The same database engine can be used across platforms ranging from laptop computers
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
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.
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
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.
• A scheduling engine.
• Create scripts.
• Manage tables, views, stored procedures, triggers, indexes, rules, defaults, and
user-defined data types.
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
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
Tomcat is developed in an open and participatory environment and released under the
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.
statement to the database by using the statement object. Read the results and use them in the
program.
the driver for the specified database. The DRIVER MANAGER class is responsible for loading
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
try {
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.
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
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:
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.
(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
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
General
Software Specification
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.
5 Lack of Security
6 Time consuming.
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:
3 High security
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
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.
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.
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
L o g i n I n f o r m a t i o n
A d m i n i s t r a t o r A d m i n i s t r a t o r
L o g i n O n l i n e E x I na mf o ir n m a a t t i io o n n
S t a f f S t a f f
S y s t e m
L o g i n I n f o r m a t i o n
C a n d i d a t e C a n d i d a t e
U s e r n a m e ,
S t a f f P a s s w o r d L o g in
U s e r n a m e ,
P a s s w o r d O n l i n e E x a m i n a t
D a t a b a s e
C a n d id a t e
N e w U s e r S ig n U p
E x a m s e t in g s
Q u e s t io n
G e n e r a t io n
A d m in is t r a t o r L o g in
U s e r
M a n a g e m e n t
A d d / E d it
S u b je c t
Q u e s t i o n
S t a f f L o g in
E d it
Q u e s t i o n
E x a m
Q u e s t i o n
C a n d id a t e L o g in
R e s u l t
V i e w
3. SYSTEM DESIGN
System design is the process of developing specifications for a candidate system that
meet the criteria established in the system analysis. Major step in system design is the
preparation of the input forms and the output reports in a form applicable to the user.
The main objective of the system design is to use the package easily by any computer
operator. System Design is the creative act of invention, developing new inputs, a database,
offline files, method, procedures and output for processing business to meet an organization
objective. System design builds information gathered during the system analysis.
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
The following are the major input screens used for Online Examination application:
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.
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
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.
The overall objective in the development of database technology has been to treat data as
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.
Table 2: Question
Purpose: To store Questions (Question Bank).
Table 4: Examqn
Purpose: To store Questions for a particular exam.
Table 5: subject
Purpose: To store subject.
Field Name Data Type Size Constraint Description
Table 7: Result
Purpose: To store Results.
Field Name Data Type Size Constraint Description
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
3. User Module
4. Getting Exam
Model-view-controller
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
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).
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).
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.
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.
The Unified Modeling Language (UML) is a standard language devised for use in object-
oriented analysis and design. The UML can be used to visualize, specify, construct and
document the artifacts of a software-intensive system. The three main elements of the language
are: UML’s basic building blocks, the rules that dictate how these blocks may be put together
2 Sequence Diagram
3 Activity Diagram
4 Class Diagram
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:
Use Cases extend beyond pictorial diagrams. These are used for modeling the dynamic aspects
of the system.
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.
l o g i n
E x a m S e t t i n g
Q u e s t i o n c r e a t i o
U s e r M a n a g e m e n
A d m i n i s t r a t o r
A d d / R e m o v e
S u b j e c t s
l o g o u t
Fig.3.6.2 Use Case – Staff
l o g i n
E x a m S e t t in g
U s e r M a n a g e m e n t
S t a f f
l o g o u t
l o g in
R e g is t e r
E x a m
C a n d id a t e
l o g o u t
ACTIVITY DIAGRAMS
An activity diagram is a special kind of diagram that shows the flow from activity to
activity within a system. Activity diagrams address the dynamic view of a system. They are
especially important in modeling the function of a system and emphasize the flow of control
Activities ultimately result in some action that is made up of executable atomic computations
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
2 Transitions – they represent the path from one action or activity state to the next action
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
d i s p l a y l o g i n f o r m
E n t e r u s e r - id p a s s w d
& s u b m it
v a li d ?
n o
D is p l a y E r r o r M e s s a
y e s
O b t a i n r o le
r o l e ?
S t a f f C a n d i d a t e
D i s p a l y S t a f f p a g e D is p la y C a n d i d a t e p a g e
A d m in is t r a t o r
D i s p l a y A d m in is t r a t o r p a g e
Fig.3.6.5 Register Activity:
d is p la y r e g is t r a t io n f o r m
E n t e r d e t a i l s & s u b m i t
V e r i f y d e t a i l s
v a l i d ?
n o
D i s p l a y E r r o r m e s s a g
y e s
D i s p l a y " S u c c e s s s f u l "
Fig.3.6.6 Exam setting Activity:
d is p la y s e t t in g s f o r m
E n t e r E x a m d e t a i l s & s u b m i t
V e r i f y d e t a i l s
v a l i d ?
n o
D i s p l a y E r r o r m e s s a g
y e s
D is p l a y " S u c c e s s s f u l "
Fig.3.6.7 User management
U s e r m a n a g e m e n t f o r m
E d i t d e t a i ls & s u b m i t
V e r i f y d e t a i l s
v a l i d ?
n o
D i s p l a y E r r o r m e s s a
y e s
D i s p l a y " S u c c e s s s f u l "
Fig.3.6.8 Question Upload activity
Q u e s t io n U p lo a d f o r m
E n t e r Q u e s t io n & C h o i c e s
m a r k a n s w e r
V e r i f i c a t i o n
v a l id ?
n o
D is p l a y E r r o r m e s s a g e
y e s
D i s p l a y " S u c c e s s s f u l"
m o r e ?
y e s
n o
Fig 3.6.9 Edit Question activity
D is p la y Q u e s t io n
E d i t Q u e s t i o n & C h o i c e s
m a r k a n s w e r
V e r i f i c a t i o n
v a l i d ?
n o
D is p l a y E r r o r m e s s a g e
y e s
D i s p la y " S u c c e s s s f u l"
m o r e ?
y e s
n o
Fig 3.6.10 Create Exam Question activity
d is p la y e x a m s
C h o o s e E x a m
S e le c t Q u e s t i o n s
V e r if i c a t i o n
v a l i d ?
n o
D i s p l a y E r r o r m e s s a g e
y e s
D i s p l a y " S u c c e s s s f u l"
CLASS DIAGRAMS
A class diagram shows a set of classes, interfaces and collaborations and their
relationships. Class diagrams address the static design view of a system. Class diagrams that
1 Classes
2 Interfaces
3 Collaborations
4 Relationships
Q u e s t i o n L o a d Q u e s t i o n
q u e s t i o n : Q u e s t i o n
e i d : i n t s t a t e : b o o l e a n
q u e s t i o n : S t r i n g
o p t 1 : S t r i n g
o p t 2 : S t r i n g
E x a m Q u e s t i oo pn t 3 : S t r i n g g e t S t a t e ( ) : b o o l e a n
o p t 4 : S t r i n g
q n o : i n t g e t Q u e s t i o n ( ) : Q u e s t i o n
q u e s t i o n : S t r i n sg e t Q u e s t i o n ( ) : v o i d
o p t 1 : S t r i n g
o p t 2 : S t r i n g S u b je c t
o p t 3 : S t r i n g
o p t 4 : S t r i n g s i d : i n t
q i d : i n t s u b j e c t : S t r i n g
e i d : i n t s e t S u b j e c t ( ) : v o i d
g e t Q u e s t i o n ( ) : Q A u n e s s w t i oe rn g e t S u b j e c t ( ) : s u b j
s e t Q u e s t i o n ( ) : v o i d
q i d : i n t
a n s w e r : S t r i n g
s e t A n s w e r ( ) : v o iSd a v e Q u e s t i o n
g e t A n s w e r ( ) : A n s w e r
q u e s t i o n : Q u e s t i o n
a n s w e r : A n s w e r
s u b : S u b j e c t
g e t S t a t e ( ) : b o o l e a n
SEQUENCE DIAGRAMS
1 Class roles – Class roles describe the way an object will behave in context. The UML
object symbol can be used to illustrate class roles, but not for listing object attributes.
2 Activation – Activation boxes represent the time an object needs to complete a task.
3 Messages – Messages are arrows that represent communication between objects. Half-
arrow lines are used to represent asynchronous messages. Asynchronous messages are sent
from an object that will not wait for a response from the receiver before continuing its
tasks.
4 Lifelines – Lifelines are vertical dashed lines that indicate the object's presence over
time.
5 Destroying Objects – Objects can be terminated early using an arrow labeled "< <
the condition for exiting the loop at the bottom left corner in square brackets [ ].
Fig.3.6.12 Login Sequence:
u s e r < a c t o L r >o g i n f o r m C a n d i d a tE e x a m f o r m
u s e r i d , p a s s w o r d
v a l i d a t e ( u s e r i d , p a s s w o r d )
e r r o r
e r r o r m e s s a g e
g e t E x a m ( u s e r i d )
s t a r t E x a m ( u s e r i d , e x a m i d )
d i s p l a y
e r r o r
e r r o r m e s s a g e
4. CODING
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
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
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
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
/*
*********************************************************************
*/
USE `exam`;
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');
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);
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
Using Java as the programming platform allows efficient coding in as much as low level
SDK do not need to be written. However, as stated, for the intended purpose the performance
attributes are considered adequate. Structured error handling capabilities, Powerful unified
Integrated Development Environment (IDE). Integration with other languages such as C++ etc
improve efficiency of code developed using Java. In any case of future enhancement to a web-
based application, the modularized object oriented approach helps to use the same code with
slight modification.
5. SYSTEM IMPLEMENTATION
Implementation Plan
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,
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
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.
1 Unit Testing
2 Integration 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.
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.
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.
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.
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
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.
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
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.
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
1 Enhancement
2 Adapting
3 Correcting problems
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.
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
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
Web Reference
w3scoops.com
www.scribd.com