Sie sind auf Seite 1von 66

A

Project Report
on

ONLINE EXAMINATION SYSTEM


(Major Project)
submitted in partial fulfillment of the requirement
for the award of the
Degree of

B.Tech IT/CS
(Name Of The College)

Under the supervisions of

Submitted by
( Enrol.No )

(College Name & Address)

CERTIFICATE

This is to certify that ______________a student of B.Tech has


submitted her dissertation entitled On Line Examination System
under my/our guidance. The matter embodied in this dissertation
has not been submitted so far for the award of any degree.

Guide

Project Approval

The Project entitled On Line Examination System by ___________ is


approved in partial fulfillment of the requirement of the Degree of

HOD

Examiner
(Internal)

Examiner
(External)

ABSTRACT
Online Examination System Software is a multi-user software to be developed for
Central bank Lucknow. It is real life Project..The details of the institution are given at
annexure1. This project aims to evaluate the gained knowledge of the participants at
the end of the training programme. This system software will be accessible to all
participants who have a valid id (roll number). It provide the following facilities:

Conduct of Online examination.

Questions come in random order.

Summary Report of examination.

Option to skip the particular question.

Detail of participant along with his/her photograph at their exam screen.

Time out facility with warning message.

All the works done by Mouse from entering roll number to viewing result.

Review of marked question as and when required by trainee.

Keywords
The different keywords used in the project are:

Generic technology keywords:

Databases, Programming

Specific Technology Keywords :

Oracle, Oracle Developer, Shell Script.

Project type Keywords :

Analysis, Design, Coding, Testing, Implementation


and User interface.

Functional component of the project


Following are the functional need of the system. More functionality can be added to
enhance the application.
1.

Trainee must have a valid id which is his/her roll number to login to the
examination.

2.

When one roll number is login then its not possible to re-login again and one
trainee can login at only-one system.

3.

When the trainee login then the photo and other personal detail shown at their
screen till the examination is not ended.

4.

Trainee is able to see only previous question (just back) and option to skip the
question.

5. Trainee can see the result along with summary of the examination.
6.

All the work done by using Mouse from entering the roll number to view
the result.

7. Time out facility with warning messages of the elapsed time.


8. Provide the review of each question of the paper Online.
9. Proper help to be provided as and when requested by the Trainee.

ACKNOWLEDGEMENT
Exchange of ideas generates the new object to work in a better way whenever a person is helped
and cooperated by others his heart is bound to pay gratitude to them.
I feel privileged to acknowledge my sincere gratitude to our Project Guide Mr. Pramod Dixit
for constant encouragement, guidance, invaluable direction and meticulous attention during the
project work.
My sincere thanks to ________________, Project co-coordinator, for providing whole-hearted
cooperation.
I wish to convey my sincere thanks to ________________(Dean), Faculty Of Engineering and
Technology , and all those who directly or indirectly have contributed their assistance in
finishing out this project successfully.

Regards
(NAME)

CONTENTS
Page No.
CHAPTER 1 : OVERVIEW OF ONLINE EXAMINATION SYSTEM

CHAPTER 2: REQUIREMENT ANALYSIS

8-9

2.1 Problem statement


2.2 Functional requirement
2.3 Non-functional requirement
CHAPTER 3: TECHNOLOGY USED
3.1 DBMS and SQL

10-30

3.2 PL/SQL
3.3 Oracle database 10g
3.4 Oracle developer 10g
CHAPTER 4: SYSTEM ANALYSIS AND PLANNING
4.1 Work breakdown structure

31-35

4.2 Dependency between task


4.3 Assign task duration
CHAPTER 5: SOFTWARE DESIGN
5.1 Data flow diagram

36-42

5.1.1Context level DFD


5.1.2 1-level DFD for administrator
5.1.3 1- level DFD for trainee
5.2 ER diagram
5.3 Database dictionary
CHAPTER 6: IMPLEMENTATION

43-45

CHAPTER 7: CONCLUSIONS

46-56

CHAPTER 1
OVERVIEW OF ONLINE EXAMINATION SYSTEM
We are developing an application entitled Online Examination System which is used
to reinforce Finacle Core Banking Training and make it more productive and result
oriented. Training Centre decide to take examination test in order to evaluate the
gained knowledge of the trainee at the end of the training programme.
It is systematic and secure system which is implemented in a Central Bank regional
training college, Lucknow.In order to use this examination software fulfilled:
Trainee must have a valid id which is his/her roll number to login to the exam.
When one roll number is login then its not possible to re-login again and one user
can login at only-one system. When the user login then the photo and other personal
detail shown at their screen till the exam is not ended. User is able to see only
previous question (just back) and option to skip the question.
All the work is done by using Mouse from entering the roll number to view the result.
The software provides time out facility with warning messages of the elapsed time. It
also provides the review of each question of the paper Online. Proper help is provided
as and when requested by the user.

CHAPTER 2
REQUIREMENT ANALYSIS

2.1 Problem Statement


Trainers felt it was very cumbersome to evaluate test copies, award marks and inform
trainees about the result of the test within a few hours. A user friendly On Line
Examination System Software is developed to facilitate trainers for seamless conduct
of the examination.

2.2 Functional Requirements


Following are the functional requirement of the software system:
1) User must have a valid roll number which is used to login at the system to start the
examination.
2) When one roll number is login then its not possible to re-login again and one user
can login at only-one system.
3) When the user login then the roll number, name and photo shown at their examination
screen till the examination is not completed.
4) User is able to see only previous question (just back) and option to skip and review
the question.
5) User can see the result of the exam at end of examination.
9

6) All the work is done by using Mouse from entering the roll number to view the result.
7) Time out facility with warning message of the elapsed time.
8) Provide the review of each question of the paper.
2.3 Non-Functional requirements
The non-functional requirements of the software system are:
Maintainability:
System should be able to be maintained easily and with no special needs. Most of
the maintenance should be done automatically by the system with no interaction by
the user.
Portability:
System must be able to run on different machines so that it can be better used in
all the machines.
Extensibility:
System must be extensible so that future needs can be taken care off.
Serviceability:
System must be able to provide durable rendering of its services by taking care of
all required possibilities.

10

CHAPTER 3
Technology Used
The various technologies used in the software system are:

SQL and DBMS

PL/SQL

Oracle 10g

Oracle 10g developer

3.1 SQL and DBMS


A database management system (DBMS) is computer software designed for the
purpose of managing databases based on a variety of data models.
A DBMS includes:
1. A modeling language to define the schema of each database hosted in the DBMS,
according to the DBMS data model.
2. Data structures (fields, records, files and objects) optimized to deal with very large
amounts of data stored on a permanent data storage device (which implies relatively
slow access compared to volatile main memory).
3. A database query language and report writer to allow users to interactively interrogate
the database, analyze its data and update it according to the users privileges on data.
4. A transaction mechanism, that ideally would guarantee the ACID properties, in order
to ensure data integrity, despite concurrent user accesses (concurrency control), and
fault tolerance.

11

DBMS Benefits
The various benefits of DBMS are:

Improved strategic use of corporate data

Reduced complexity of the organizations information systems environment

Reduced data redundancy and inconsistency

Enhanced data integrity

Application-data independence

Improved security

Reduced application development and maintenance costs

Improved flexibility of information systems

Increased access and availability of data and information.

A database can be regarded as having two major components, and these are the data
and the software needed to manage the data. There are a variety of terms used to
describe the software and the two most commonly used are:
Database Management System
Information Management system and the terms are often used interchangeably.
A database/information management system can be classified as:

Networked

Hierarchical

Relational

Text

Geographical or Spatial

Flat File
12

Before we consider each of the above classification it is useful to have certain criteria
to work with these databases. They are:
There must be a way of

describing the data - this means the ability to handle a variety of data types including
numbers (integers and reals), text (often of varying length), currency, dates, times,
logical or boolean, spatial data, graphical objects maps, census data, satellite image
data, vector and raster data

relationship that exists between the data items, i.e. what structure the data has or what
structure can be imposed on the data

getting the data into the database

examining the data

generating reports based on the data.


A typical database system will therefore have to provide ways of achieving the above
tasks. Most commercial systems will also provide a variety of ways of making each
of the above tasks easier, i.e. the use of menu driven front ends to guide the user
through each of the stages in the design and implementation of a complete database
system.

Categories of Databases
The various categories of databases are discussed below:
Flat File Systems
Historically these kinds of systems were the first to be developed. An analogy
that is useful is that of a filing cabinet full of files. This is the basis of a flat file
system. There is often no significant structure, and this generally means applications
using systems like this are quick to develop. Indices are generally used to improve the
performance of the overall system.
These systems are widely available on most computer systems, from micros to
mainframes. Most systems available on micros are in fact flat file systems. Many
however call themselves relational - a popular buzz word, and much over-used in
13

advertisements for database packages. Micro based flat file systems are relative cheap
in software terms, and generally, but not always, perform poorly with large volumes
of data. Program language interfaces are available for many systems, and some
commonly available languages are C, COBOL, Pascal, FORTRAN, assembler and
PL/1.
Networked Systems
The term essentially describes the logical and physical view of the data as a group of
records with links between records - and hence a network of data and links. A key
concept in this kind of system is that of a navigation path required to get to the data
item or record of interest, i.e. the way you move round the mesh to get at the data you
want.
Hierarchical Systems
The term describes the view of the data - in this case as a hierarchy. Again we have
the problem of only being able to access data by navigation - in this case through the
hierarchy. The key concept with the relational model is the view of the data as a table.
This has proved to be a very useful concept and has enabled relationships between
data items and records to be expressed not through physical links as with the
networked and hierarchical approaches, but through properties of data in one or more
tables. Let us consider how we get at the information on a Senior Analyst in the
Advisory Group. All we do is search the two domains of interest (which may or may
not be indexed) for data values that satisfy our criteria, i.e. we search the Group
domain for people in Advisory, and the Title domain for Senior Analyst. Adding new
domains is relatively easy, and hence design decisions are rarely as problematic as
with the network and hierarchical data models.
Database management systems have evolved from hierarchical to network to
relational models. The most widely accepted database model is the relational model.
Oracle extends the relational model to an object-relational model, which makes it
possible to store complex business models in a relational database.
14

Some DBMS Commercial Packages available in the market are:

Hierarchical Model - IMS

Network Model - IDMS

Relational Model - Oracle, DB2

The Relational Model


In 1970 an IBM researcher, Dr. E. F. Codd, came up with a better waythe relational
data model. In this model, the database management system (DBMS) itself keeps
track of all table relationships independent of hardware or outside programming
languages. In the relational model, the user only needs to understand the logical
structure of data, not how it is physically stored. In this model data is represented in
simple two-dimensional tables (relations), which consist of rows (tuples) and columns
(attributes). A relational database is simply a collection of tables.

The relational model has three major aspects:


Structures are well-defined objects (such as tables, views, indexes, and so on) that
store or access the data of a database. Structures and the data contained within
them can be manipulated by operations.
Operations are clearly defined actions that allow users to manipulate the data and
structures of a database. The operations on a database must adhere to a predefined
set of integrity rules.Integrity rules are the laws that govern which operations are
allowed on the data and structures of a database. Integrity rules protect the data
and the structures of a database.
A relational database is a database that conforms to the relational model, and refers
to a database's data and schema (the database's structure of how those data are
arranged). Common usage of the term "Relational database management system"
technically refers to the software used to create a relational database, but sometimes
mistakenly refers to a relational database.
15

Strictly, a relational database is a collection of relations (frequently called tables).


Other items are frequently considered part of the database, as they help to organize
and structure the data, in addition to forcing the database to conform to a set of
requirements.

Relational database terminology


Relational database theory uses a different set of mathematical-based terms, which
are equivalent, or roughly equivalent, to SQL database terminology. The table below
summarizes some of the most important relational database terms and their SQL
database equivalents.

Relational term

SQL equivalent

relation, base relvar

table

derived relvar

view, query result

tuple

row

attribute

column

Relations or tables
A relation is defined as a set of tuples that all have the same attributes. This is usually
represented by a table, which is organized into rows and columns. In a relational
database, all the data stored in a column should be in the same domain. In practice
this means that values stored in a single column must all be of the same data type and
conform to the same constraints.
The relational model specifies that the tuples of a relation should have no specific
order and that the tuples, in turn, should impose no order on the attributes. In the
16

relational model specific tuples are retrieved by using the projection operator over the
relation. The relational selection operation is equivalent to the SQL SELECT query,
possibly with a WHERE clause to limit results. In the relational model attributes must
be referenced explicitly by name in all operations, while the SQL standard allows
both unnamed columns in result sets and the shorthand asterisk (*) notation in
queries.
The SQL standard requires columns to have a defined order. All data stored in a
computer must have an order, as the memory of a computer is linear. Also, when the
data are returned, there must be an order in which the data are returned because
transfer protocols are also linear. Note, however, that in SQL the order of columns
and rows returned in a result set is never guaranteed unless explicitly specified by the
user.
Relvars
A relvar is a "relation variable". In a relational database, all data are stored and
accessed via relations. The data that are actually stored in the database are stored as
relations. These relations are sometimes called "base relvars". This is equivalent to a
"table". Other relvars do not have their data stored in them, but are a result of
applying relational operations, to other relvars. These relvars are sometimes called
"derived relvars", meaning that their information is derived from other sources. These
are equivalent to "views" or "queries". Derived relvars are convenient in that though
they may grab information from several relvars, it is presented externally as a single
relvar for a simpler perspective. Also, it can be used as an abstraction layer.
Derived relvars are not always considered part of a relational database, partially
because they are not essential to the functioning of the database.
Data domain
A data domain (or usually just domain), is the set of possible values for a given
attribute. Because it does constrain the values the data can hold, it could be
considered a constraint, but because attributes must specify a domain, it could just be
17

considered part of the relation's definition. Mathematically, a domain can be


expressed as "all values for this attribute must be an element of the specified set."
In relational database implementations every data type has an associated data domain.
The character data value 'ABC', for instance, is not part of the data domain for an
integer attribute. The integer value '123', however, is part of the data domain for an
integer attribute.

Constraints
Constraints are a way of providing restrictions on the kinds of data that can be stored
in the relations. These are usually defined (formally) in the form of expressions that
result in a boolean value, indicating whether or not the constraint holds. Constraints
are a way of implementing business rules into the database.
Under the strictest sense, constraints are not considered part of the relational database,
but because of the integral role that they play in organizing data, they are usually
considered part of the database.
In practice, constraints provide users the ability to further restrict and refine the data
domain for a given attribute. For instance, constraints can be used to restrict the data
domain of an integer attribute to the values '1' to '10'.
Keys
A tuple usually represents some object and its associated data, whether that object is a
physical object or a concept. A key is a kind of constraint that requires that the object,
or critical information about the object, is not duplicated. For example, a family might
like to have a constraint such that no two people in the immediate family have the
same name. If information about family members were stored in a database, a key
could be placed over the family member's name. In a University, they have no such
luxury. Each student is typically assigned a Student ID, which are used as keys for
individual students stored in the school database. Keys can have more than one
18

column, for example, a nation may impose a restriction that a province can't have two
cities by the same name. So, when cities are stored in a relation, there would be a key
defined over province and city name. This would allow for two different provinces to
have a town called Springfield (because their province would be different), but not
two cities with the same name in the same province. A key over more than one
attribute is called a compound key. Theoretically, a key can even be over zero
attributes. This would enforce that there cannot be more than one tuple in the relation.

Foreign keys
A foreign key is not a key by the previous definition. Rather, a foreign key is a
reference to a key in another table, meaning that the referencing tuple has, as part of
its attributes, the values of a key in the referenced tuple that corresponds to the
relationship.
A foreign key could be described formally as "For all tuples in the referencing
relation projected over the referencing attributes, there must exist a tuple in the
referenced relation projected over those same attributes such that the values in each of
the referencing attributes match the corresponding values in the referenced
attributes".
Transition constraints
A transition constraint is a way of enforcing that the data don't enter an impossible
state because of a previous state. For example, it shouldn't be possible for a person to
change from being "married" to being "single, never married". The only valid states
after "married" might be "divorced", "widowed", or "deceased".
Other constraints
Other constraints of various different kinds can be created to enforce various kinds of
business rules. They can be as simple as "the number of cars an individual owns must
be non-negative" or complex patterns like "If the work that an employee performs is
'Hazardous Materials Transport' then that employee's age must be at least 18 years,
19

and the employee's certifications must include 'Hazard endorsement', and company
insurance for that employee must include life insurance."
Stored procedures
A stored procedure is executable code that is associated with the database. Stored
procedures usually store how to perform common operations, like inserting a tuple
into a relation, or gathering statistical information about usage patterns. Frequently
they are used as an application programming interface (API) for security or
simplicity. These are usually written as Imperative programming code extending the
Data Definition Language and/or the Data Manipulation Language for the DBMS.
Stored procedures are not always considered part of a relational database, partly
because they are not essential to the functioning of the database.
Indices
An index is a way of providing quicker access to the data in a relational database.
Indices can be created on any combination of attributes on a relation. Then when
tuples in a relation need to be looked up, similar to how a book's index works, the
index can be accessed. Rather than having to check all of the tuples, the index tells
the DBMS where the tuple is. Indices are usually implemented via B+ trees.
Indices are usually not considered part of the database, as they are considered an
implementation detail, though indices are usually maintained by the same group that
maintains the other parts of the database.

Relational operations
Queries made against the relational database, and the derived relvars in the database
are expressed in a relational calculus or a relational algebra. In his original relational
algebra, Dr. Codd introduced eight relational operators in two groups of four
operators each. The first four operators were based on the traditional mathematical set
operations:
20

The union operator combines the tuples of two relations and removes all duplicate
tuples from the result. The relational union operator is equivalent to the SQL UNION
operator.

The intersection operator produces the set of tuples that two relations share in
common. Intersection is implemented in SQL in the form of the INTERSECT
operator.

The difference operator acts on two relations and produces the set of tuples from the
first relation that do not exist in the second relation. Difference is implemented in
SQL in the form of the EXCEPT or MINUS operator.

The cartesian product of two relations is a join that is not restricted by any criteria,
resulting in every tuple of the first relation being matched with every tuple of the
second relation. The cartesian product is implemented in SQL as the CROSS JOIN
join operator.
The remaining operators proposed by Dr. Codd involve special operations specific to
relational

The selection, or restriction, operation retrieves tuples from a relation, limiting the
results to only those that meet specific criteria, i.e. a subset of terms of set theory. The
SQL equivalent of selection is the SELECT query statement with a WHERE clause.

The projection operation is essentially a selection operation in which duplicate tuples


are removed from the result. The SQL GROUP BY clause, or the DISTINCT
keyword implemented by some SQL dialects, can be used to remove duplicates from
a result set.

The join operation defined for relational databases is often referred to as a natural
join. In this type of join, two relations are connected by their common attributes.
SQL's approximation of a natural join is the INNER JOIN join operator.

The relational division operation is slightly more complex operation, which involves
essentially using the tuples of one relation (the dividend) to partition a second relation
(the divisor). The relational division operator is effectively the opposite of the
cartesian product operator (hence the name).

21

Other operators have been introduced or proposed since Dr. Codd's introduction of
the original eight including relational comparison operators and extensions that offer
support for nesting and hierarchical data, among others.

Normalization
Normalization was first proposed by Dr. Codd as an integral part of the relational
model. It encompasses a set of best practices designed to eliminate the duplication of
data, which in turn prevents data manipulation anomalies and loss of data integrity.
The most common forms of normalization applied to databases are called the normal
forms. Normalization trades reducing redundancy for increased information entropy.

3.2

PL/SQL
22

PL/SQL is Oracle's fourth-generation language and supports rapid development of


RDBMS code. PL/SQL stands for "Procedural Language extensions to SQL" and
provides a procedural wrapper for SQL statements. A procedural language is one in
which programmers specify step-by-step statements to be carried out or evaluated. In
contrast, SQL statements describe what data to get not how to get it. PL/SQL was
initially developed for automating SQL transactions but has since been transformed
into a substantial development platform for complex applications.
It is a robust language that supports a wide rage of data types, strong data-typing
enforcement, subroutines, conditional and iterative logic, and sophisticated error
handling. Almost any SQL statement can be used in PL/SQL program without any
special preprocessing.
Advantages of PL/SQL
The various advantages of PL/SQL are:
1) PL/SQL can be used to automate and repeat complex data manipulation. PL/SQL can
break down complex or unmanageable SQL statements into simpler steps.
2) PL/SQL code can be shared, thus reducing development time.
3) PL/SQL can offer performance improvements by reducing network traffic.
4) PL/SQL adds programming constraints that are not native to SQL. PL/SQL.
5) PL/SQL is a valid alternative to SQL when there is little or no requirement to return
large quantities of data.
6) PL/SQL can often add to program functionality and program efficiency.

Structure of PL/SQL
A PL/SQL program is made up of a series of statements. A statement is terminated
with a semicolon (;). PL/SQL is a block-oriented language: all code is organized into
one or more blocks demarked by BEGIN and END statements. These blocks provide a
degree of structure to PL/SQL-based programs, making it easier to both develop and
23

maintain the code. Every PL/SQL program is structured as a block containing up to


four sections (some are optional under certain circumstances):
Header
Relevant for named blocks only. The Header determines the way the name block or
program must be called.
Declaration Section
The Declaration Section is the part of the block that declares variables, cursors, and
sub-blocks that are referenced in the execution and exception sections. When you
declare variables, you must specify a legal name, a data type, and (optionally) an
initial value or constraint. Variables can be specified by direct reference to a datatype
or anchored to the datatype of previously existing variable or data structure. PL/SQL
allows a variable's data type to be based on an existing variable, database table or
database column. The anchoring data structure can be a column in a database table, the
entire table itself, a programmer-defined record, or a local PL/SQL variable.
Execution Section
The section that handles exceptions to normal processing (warnings and error
conditions). PL/SQL allows developers to raise and handle errors in a very flexible
and powerful way, using the exception handler architecture. When an exception occurs
(is raised) the executing section immediately terminates. Control is passed to the
exception section. In other words, no matter how a particular exception is raised, it is
handled by the same exception handler in the exception section. Some exceptions have
been predefined by Oracle in the STANDARD package.
You can also declare your own except exceptions.
Anonymous Block
An anonymous block has three parts:(1)

Declaration Section optional


24

(2)

Executable Section

(3)

Exception Section -- optional.


An anonymous block is different from stored procedure and packages, which are
compiled once and can then be executed repetitively. In contrast, an anonymous block
is compiled and executed every time it is submitted to the server. When submitted,
anonymous blocks go through much the same parsing process as standalone SQL
statements. A search of the shared pool is performed for a matching PL/SQL block and
if not found, the block is parsed and stored in the shared pool. Parsing PL/SQL blocks
is a time-consuming process. Because stored procedures are stored in the database in
compiled form, they normally do not need to be compiled when executed, only when
created.
Stored Procedures
Stored procedures are callable PL/SQL program units that exist as objects in an Oracle
database schema. Stored procedures are a way of storing software within the Oracle
database. Anything that you can develop in a PL/SQL script can be saved as a stored
procedure.
Procedures
A procedure is a named PL/SQL block that can take parameter and be invoked. You
use a procedure anywhere you want to encapsulate a set of actions and optional return
one or more values in the parameter list. Procedures are key building blocks of
modular code, allowing you to both consolidate and reuse your programming logic.

Syntax:CREATE [OR REPLACE] PROCEDURE procedure_name


[(argument [{IN | OUT \ IN OUT}] type,

[(argument [{IN | OUT \ IN OUT}] type)] { IS | AS}


procedure_body
25

Functions
A function is similar to a procedure except that a function must have a RETURN
clause in the header, and at least one RETURN statement in the executable section. A
function without a RETURN statement will compile with errors.
Syntax:CREATE [[OR REPLACE] FUNCTION function_name
[(argument [{IN | OUT | IN OUT }] type,

[(argument [{IN | OUT | IN OUT }] type)]


RETURN return_type { IS | AS}
Procedure_body

Packages
A package consists of a specification and a body. Packages provide a mechanism to
logically group smaller program units together. Packages encapsulate procedures and
functions. The first step to creating a package is to create its specification. The
specification is the interface to your applications.

The syntax for the package

specification is:
CREATE [ OR REPLACE ] PACKAGE package_name
IS | AS
Public type and item declareations
Subprogram specification
END package_name;

After the specification is created, you create the body of the package. A package body
contains the procedure and function logic identified in the package specification. Any
procedure or function identified in the package specification must be created in the
package body and must match the package specification definition. The syntax for the
package body is:
CREATE [OR REPLACE] PACKAGE BODY package_name
IS|AS
26

Private type and item declarations


Subprogram bodies
END package_name;

Trigger
A trigger is a stored subprogram that executes implicitly whenever a particular event
takes place. A trigger can be either an application trigger or a database trigger.
Application triggers are used extensively in Developer/2000
triggers can be defined

only

on

tables,

Forms.
not

on

Database
views.

The syntax for creating a trigger is:


CREATE [OR REPLACE] TRIGGER trigger_name
{BEFORE | AFTER } trigger_event ON table_name
[[REFERENCING correlation_name ] FOR EACH ROW [ WHEN
trigger_condition ]
trigger_body;

CURSORS
One of the most important features of PL/SQL is the ability to handle data one row at
a time. Starting with PL/SQL Version 2.0's cursors, you can attain much finer control
over manipulation of information in the database. Cursors in PL/SQL can be opened,
fetched from, and closed. PL/SQL has two types of cursors: implicit and explicit.

3.3 Oracle Database 10g


27

Oracle Database 10g is the first database designed for enterprise grid computing. It
cuts costs of management while providing the highest possible quality of service. In
addition to numerous quality and performance enhancements, Oracle Database 10 g
significantly reduces the costs of managing the IT environment, with a simplified
installation, greatly reduced configuration and management requirements, automatic
performance diagnosis and SQL tuning.
These and other automated management capabilities help to improve DBA and
developer productivity and efficiency.

2.4 Oracle developer 10g


Oracle SQL Developer is a free graphical tool for database development. With SQL
Developer, one can browse database objects, run SQL statements and SQL scripts, and
edit and debug PL/SQL statements. You can also run any number of provided reports,
as well as create and save your own. SQL Developer enhances productivity and
simplifies your database development tasks.
SQL Developer can connect to any Oracle Database version 9.2.0.1 and later and runs
on OS namely Windows, Linux and Mac OSX.
Oracle Database 10g is available in four editions, each suitable for different
development and deployment scenarios. Oracle also offers several additional optional
database products that enhance the capabilities of Oracle Database 10g for specific
application requirements. The following are the available editions of Oracle Database
10g:
Oracle Database 10g Standard Edition One delivers unprecedented ease-fuse,
power, and price/performance for workgroup, department-level, and internet/intranet
applications. From single-server environments for small Businesses to highly
distributed branch environments.

28

It includes all the facilities necessary to build business critical applications. Standard
Edition One can only be licensed on servers with a maximum capacity of two
processors.
Oracle Database 10g Standard Edition (SE) delivers the unprecedented ease of use,
power, and performance of Standard Edition One, with support for larger machines
and clustering of services with Real Application Clusters. It can be licensed on single
servers with a maximum capacity of four processors, or on a cluster of servers
supporting up to a maximum of four processors.
Oracle Database 10g Enterprise Edition (EE) provides efficient, reliable, secure data
management for mission-critical applications such as high volume on-line transaction
processing (OLTP) environments, query intensive data warehouses, and demanding
Internet applications. Oracle Database Enterprise Edition provides the tools and
functionality to meet the availability and scalability requirements of todays missioncritical applications for the enterprise. It contains all of the components of the Oracle
Database, and can be further enhanced with the purchase of the options and packs.
Oracle Database 10g Personal Edition supports single user development and
deployment that require full compatibility with Oracle Database Standard Edition One,
Oracle Database Standard Edition, and Oracle Database Enterprise Edition. By
bringing the award-winning functionality of Oracle Database 10g to the personal
workstation, Oracle offers a database that combines the power of the worlds most
popular database with the ease of use and simplicity you would expect in a desktop
product.
Oracle Database Personal Edition, Oracle Database Standard Edition, Standard Edition
One, and Oracle Database Enterprise Edition include a common set of application
development features including SQL object-relational capabilities, PL/SQL and Java
programmatic interfaces for writing stored procedures and triggers. Applications
written for any of these editions of Oracle Database will run with the others, although
Oracle Database 10g Enterprise Edition provides additional performance, scalability,
availability and security functions that are generally transparent to application
developers. The APIs supported with Oracle Database 10g Enterprise Edition are
29

generally also supported with Oracle Database 10g Personal Edition and Oracle
Database 10g Standard Edition, with exceptions related to the functionality associated
with optional additional products only available with Oracle Database 10g Personal
Edition and Oracle Database 10g Enterprise Edition such as Oracle OLAP or Oracle
Data Mining.
Oracle Database 10g Standard Edition and Oracle Database 10g Personal Edition are
both 100 percent compatible with Oracle Database 10g Enterprise Edition on many
different platforms.

Oracle Developer Suite 10g


Oracle Developer Suite is the most complete and integrated development environment,
combining the power of application development and business intelligence tools in a
single suite that is based on the latest industry standards. Oracle Developer Suite lets
developers quickly build high-quality transactional applications, which can be
deployed to multiple channels - including portals, Web services, and wireless devices.
Developer Suite Components
The various components of developer suite are:
1. Oracle Forms
Oracle Forms (part of the Oracle Developer Suite - formerly Developer 2000 or
D2K) is a Rapid Application Development (RAD) environment for developing
database applications using Oracle's PL/SQL database language.
Oracle Forms accesses the Oracle database and generate a default form that presents
the data. The source form (*.fmb) is compiled into an "executable" (*.fmx), that is run
(interpreted) by the forms runtime module. The form is used to view and edit data in
business applications. Various GUI elements, such as buttons, menus, scrollbars, and

30

graphics can be placed on the form. This minimizes the need to program common and
tedious operations.
As is normal with event driven interfaces, the software implements a complex
algorithm, consisting of special functions called triggers, which occur at critical steps
in the processing of records, the receipt of keyboard strokes, and the receipt of mouse
movements.
Oracle Forms therefore generally consists of modifying the contents of these triggers
in order to alter the default behavior.

2. Oracle Reports
Oracle Reports is a tool for developing reports against data stored in an Oracle
database. Oracle Reports consists of Oracle Reports Developer (a component of the
Oracle Developer Suite) and Oracle Application Server Reports Services (a
component of the Oracle Application Server).
Output formats
The reports can be delivered directly to a printer or saved in the following formats:

1)

HTML

2)

RTF

3)

PDF

4)

XML

31

CHAPTER 4
SYSTEM ANALYSIS AND PLANNING
4.1 Planning
Planning is deciding in advance what to do? How to do it? When to do it? And who
should do it? It bridges the gap from where the organization is to, where it wants to
be. The planning function involves establishing goals and arranging them in logical
order.
The steps in planning are:

Create Work Breakdown Structure

Create Dependencies Between Tasks

Assign Task Duration

32

4.1 Work Break-Down Structure


Online Examination
System

Analysis

GUI

Design

Database

Coding

M1

Testing

Implementation

M2
M1 : Examination
Module
M2 : MIS Report
module

33

4.2 Dependency Between task

Analysis
Databa
se
Design
GUI
Coding
Testing
Implementation

34

4.3 Assign Task Duration

REQUIREMENT

ANALYSIS

DESIGNING
CODING AND
TESTING
IMPLEMENTATI
ON

15
Jan

14
Feb

15
Mar

14
Apr

14
May

1 unit = 30 days

35

4.2 Analysis
In system analysis we analyze all requirement and all specifications. There are two
phases in our project:
1. Requirements Gathering
We gather some major requirements as:

First we interviewed the trainers (faculty) and trainee for

processing.

Study the entire examination system to collect all possible

information.

Measure all input data and then output requirement.

Notice all functions required by user.

2. Analysis on gathered data


For clearly understand the requirements, we do this activity, some steps are:
Understand exactly what is the problem?
What are the possible solutions of the problem?
What exactly the data input and exactly what data output?
What complexity we may face during development?

36

CHAPTER 5
SOFTWARE DESIGN
Linear Sequential Model was used in designing of this software. This is some time
called the waterfall model; this suggests a systematic, sequential, approach to software
development that begins at the system level and progresses through analysis, design,
coding, testing and support.

5.1 Tools used


The different tools used in designing are:
Data dictionary
Data flow diagrams
ER diagram
5.1.1 Data Dictionary
Data dictionary consists of description of all the data used in the system. It consists of
logical characteristics of current systems data stores including name, description, aliases,
contents and organization. Data dictionary serves as the basis for identifying database
requirements during system design. Data dictionary is a catalog, a depositary of the
elements in the system.
Roll_number table:
Column name

Data type (size

constraint

Description

ROLL_NUMBER

number (2)

Primary key

Stores trainee roll


number

NAME

Varchar2(34)

Not null

Trainee name
37

Login Table:
Column name

Data type (size)

Description

ROLL_NUMBER

number (2)

Stores trainee roll number

PR table:
Column
name
qno

Data type
(size)
number (2)

constraint

Description

Primary key

Question
number

question

Varchar2(40
00)
Varchar2(40
00)

Not null

Question

Not null

Varchar2(40
00)
Varchar2(40
00)
Varchar2(40
00)
Varchar2(40
00)

Not null

Right answer
of the
question
First choice

ans
choice1
Choice2
choice3
choice4

Not null
Not null
Not null

Second
choice
Third choice
Fourth
choice

38

Answer Table
Column
name
Roll_numb
er

Data type (size)

Description

Number(2)

constrain
t
Not null

name

Varchar2(30)

Not null

qno

number (2)

Primary
key

Name of
trainees
Question
number

ques

Varchar2(4000)

Not null

Question

Ans1

Varchar2(4000)

Not null

choice1

Varchar2(4000)

Not null

Right answer
of the
question
First choice

choice2

Varchar2(4000)

Not null

choice3

Varchar2(4000)

Not null

choice4

Varchar2(4000)

Not null

marks

Number(3)

rans

Varchar2(1)

Not null

Roll no of
trainees

Second
choice
Third choice
Fourth
choice
Marks
obtained
Right answer

39

5.1.2Data Flow Diagrams

5.1.2.1 Context Level DFD

Request

Login

TRAINEE

Acknowledge
Login

ADMINISTRATOR
Acknowledge

ONLINE
EXAMINATION
SYSTEM

Acknowledge

Request
Acknowledge

TRAINEE
ASSESSMENT
REPORT
TRAINEE
PERFORMANCE
REPORT

40

5.1.2.2 1-Level DFD for Administrator


Authentication

Login
Login

Ack

ADMINISTRATOR

View
Trainee
Record

View
Questions

ADMIN
Ack

Exam
Information

Manage
Exam

Trainee
Record

Trainee
Information

ROLL_NUMBER

Question
Record

Question
Detail

QST

41

5.1.2.3 1-Level DFD for Trainee


TRAINEE

Check
Availability

Login

Ack

Exam
start

Ack
Record Roll
Number

Retrieve
Begin Exam

Exam
Processing
Answer

View Marks

Record
Answer

Retrieve

Marked
Questions

Review
Question

LOGIN
ROLL_NUMBER

QST

Questions

ANSWER
check

Evaluate
Answer
Result

Marks
Total Marks

42

5.1.3 ER Diagram

pwd

uname

ADMINISTRATOR

name

Roll_number

MANAGES

ROLL_NUMBER

MAKE

SETS

HAS

question

ans
choice1

qno

n
LOGIN
1

pr
Roll_number

HAS
1

Choice2

rans

choice4

marks

choice3

name

ANS

Roll_number
qno
question
ans1

choice4
Choice3

choice2

choice1

Requirements
Hardware
40 GB HARDISK SPACE
256 MB RAM.
Pentium 4 processor.
Software
Windows 2000/XP/Red Hat Linux (RHEL 5)
Oracle 10g
Oracle developer 10g
43

CHAPTER 6
TESTING
System testing is an expensive but critical process that can take as much as 50
percent of the budget for program development. The common view of testing held by
users is that it is performed to prove that there are no errors in the program. Testing is
the process of executing a program with the explicit intention of finding errors that is,
making the program fail. A successful test, then is one that finds an error.
TESTING OBJECTIVES
The main objectives of testing are:

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

A goal test case is one that has a probability of finding an as yet undiscovered
error.

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

TESTING PRINCIPLE
The various testing principles are:

All tests should be traceable to customer requirements.

Test should be planned long before testing begins.

The testing should begin in the small and progress towards testing in the
large.

Exhaustive testing is not possible.

To be most efficient, testing should be conducted by an independent third


party.

44

There are two general strategies for testing software:

Code Testing
The code-testing strategy examines the logic of the program. In this kind of
testing, analyst develops test cases that result in executing every instruction in
the program or module; that is, every path through the program is tested. A
path is a specific combination of conditions that is handled by the program

Specification Testing
To perform specification testing, the analyst examines the specifications stating
what the program should do and how it should perform under various conditions.
Then test cases are developed for each condition or combination of conditions and
submitted for processing.
This strategy treats the program as if it were a black box; we do not look into the
program to study the code and is not concerned about whether every instruction or
path through the program is tested.
TESTING TECHNIQUES

Types of testing

White box testing

Black box testing

45

White box testing


Features of white box testing are:

White Box testing which is performed early in the testing process

.It guarantee that all the independent paths within the module have been
exercised at least once

Exercise all logical decisions on their true and false sides.

Execute all loops at their boundaries and within their operational bounds.

Exercise internal data structure to assure their validity

Black box testing


Features of white box testing are:

Black box testing to be applied during later stage of testing.

Black box testing focuses on the functional requirement of the software

Incorrect or missing functions.

Interface errors.

Errors in the data structure or external database access.

Performance errors.

Initialization and termination errors

46

CHAPTER 7
IMPLEMENTATION
7.0

GETTING STARTED

7.1 Logging On
After the customary briefing about the on line examination by the programme
coordinator, trainees are asked to move to the examination room. In the examination
room, on every computer desk top an icon with the name of ON LINE
EXAMINATION is displayed as shown in fig (7.0.0). A participant has just to click
the shown icon to start the examination proceedings. After clicking the said icon the
main screen of the examination will pop up as shown in fig (7.0.1)

Fig (8.0.0)

47

Fig (7.0.1)

7.2System Menu
On clicking examination menu tool bar it gets expanded to sub menu items as
Shown in the fig (7.0.2)

48

Fig 7.0.2
On selecting begin examination button the main examination screen will be displayed
as shown in fig (7.0.3) and participants will be required to select their pre allotted roll
numbers. Roll number along with their name is shown to ease their choice of

49

selection

in

case

they

forgot

their

pre-assigned

roll

numbers.

Fig (7.0.3)
A validation check is imposed if a trainee does not select his or her roll number. An
alert message will pop up automatically on screen advising the candidate roll number
can not be blank. This is mandatory item. As shown in fig (7.0.4)

Fig 7.0.4
50

After selecting right roll number and name as shown in fig (7.0.5). a candidate
has just to click begin examination button. As soon as the said button is pressed
questions along with relevant choices will pop up as shown in fig (7.0.5).

Fig 7.0.5
The participant is now expected to choose the right answer by clicking the radio
button on left pan of the screen for example in the fig(7.0.5) a participant has
selected choice (B). After selecting the desired choice a participant has to press
Submit Answer button. This is essential for evaluating the answer. Participant
has two other available choices for instance a) He or she may want to skip the
question or b) He or she may want to mark this question for future review. For
a) a participant has to press skip this question button at the top right pan of the
question block. The moment one presses skip question button next question will
automatically be populated in the screen. and for b) he has to choose Mark This
Question for review radio button and press submit button. Next question will
automatically follow.
The other two buttons namely Previous Question and Next Question are meant
for navigating purpose. For example if one wants to go back to previous
question for revising the choice, one may choose/click Previous Question

51

button. After having revised the choice and if one wants to go further, one may
choose Next Question Button accordingly.
In the main exam screen you will see digital clock, date and remaining time at
the top. Remaining time will inform you how many minutes are left for the
exam. When last five minutes are left for the exam you will have an alert
message on the screen informing only five minutes are left as shown in fig
(8.0.5)

Fig 7.0.5
Let us assume that you have completed all the questions and want to review
marked questions now. All you have to do is select review menu item which will
further be expanded to review marked question sub menu item. Just select this
item by clicking from the menu tool bar as shown in fig (7.0.6).

52

Fig 7.0.6
Having selected the item you will see next screen for reviewing the marked
questions as displayed in fig (7.0.6).
All you have to do at this point is just to click on Review Now button. As soon
as you press the start button all the marked question(s) by you will be displayed
one by one. Answering procedure for review question is same as answering
other unmarked questions (Screen itself is self explanatory in this regard) as
shown in fig (7.0.7)

Fig 7.0.7

53

7.3 Result of the Examination


Now that you have had a complete examination, its time to see your score i.e
how you fared in the examination. Facility is provided in software that a
candidate can view his or her score immediately on completion of the
examination. Many validation checks are enforced to insulate result section so
that one can not manipulate marks and answers etc. Candidate desirous of
viewing his or her result needs to choose result menu item from the menu tool
bar as shown in fig (7.0.8).
Having selected the result menu item following screen will be displayed. User
has just to click the button Click to see result button. Result of the candidate
will be shown as fig (7.0.9). However while choosing the result menu option the
candidate is alerted by a message saying are you sure to view the result as once
you see the result you will not be allowed to login in the system again.
This message is meant to avoid inadvertent selection of the result menu in
between examination. The moment one presses the button his roll number, name
and photograph will be filled in the Result Ticket along with marks and
percentage in non updatable mode.

54

Fig (7.0.8)

55

Fig 7.0.9
After having seen the result the candidate has only one choice i.e. exit from the
examination. Once exit from the examination a candidate can not logged in
second time in same day. If tried second time he or she would be declined by an
alert message as shown in fig (7.0.9) You have already logged in

56

Fig (7.1.0)

57

CHAPTER 8
CONCLUSIONS
a) Random Questions: In the examination participants will get questions in
random fashion i.e. two adjacent persons will never have similar question
ordering.
b) Summary Report: This software generates a summary report of the
examination along with graphical representation analysis of the examination
result of all the candidates. This report is very handy for our Director at the time
of Valediction. He may discuss the result in one to one basis and advice for
further improvement if any. The report is shown in fig (8.0.1) and fig (8.0.2)
c) Time saving approach: Time is of essence in an objective type on line test.
This software was expressly designed with that intrinsic objective in view. From
entering roll number to viewing the result a candidate does not require to use
keyboard. All the operations are managed through click of mouse only. This
saves time appreciably.

Future Enhancement
The next version will be developed with a feedback option and assessment of
examination using higher version of Oracle database and Oracle developer. The
trainees provide feedback about the training they undergone and about the
instructor.

58

Fig (8.0.1)

Fig (8.0.1)

59

REFERENCES
:
1. Ivan Bayross ,SQL, PL/SQL: The Programming Language With Oracle
2. Ivan Bayross ,Commercial Application Development Using Oracle
Developer 2000 Forms 6i

Websites:
For developing this project we have taken some valuable helps from the
following websites:
1. www.oracle.com
2. www.w3schools.com
3. www.wikipedia.org

60

ANNEXURE 1
About Central Bank Institute of Information and
Technology(CENTRAL BANK OF INDIA)
1.1 Introduction
CENTRAL BANK OF INDIA has been promoted by Central Bank and is
registered as an autonomous non - profit making society. It has been dedicated
to the nation.
The institute has been set up in a newly built campus at Gomti Nagar, Lucknow.
It is envisaged to be a premier institute of information technology having stateof-the-art infrastructure and excellent academic environment.
The main objective in setting up the institute is to provide contemporary
training in respect of usage of IT in developing operations and business of
banking, finance and insurance on the one hand and undertake R&D endeavor
for developing suitable IT products and solutions in such areas on the other.
It shall serve to be a model institution of international standards for
demonstrating the use of information technology in the management of entire
gamut of banking and para banking areas.
CENTRAL BANK OF INDIA would have competitive edge over other in-house
institutions of different banks etc. as it would be driven by broader perspective
and liberal integration with other academic and professional bodies in India as
well as abroad for infra structural support in conducting its programmers
including study material, training aids, visiting faculty and joint academic
pursuits.

61

A lot more about CENTRAL BANK OF INDIA can be known at www.Central


Bank of India.com

1.2 Main Objective


The Institute is having the following Objectives

Conducting Training Programmes, Seminars and Conferences relating to


various facets of IT driven banking and finance.

Adopting latest IT aids like Internet, VSAT, e-learning, Video-Conferencing


etc. for assimilation and dissemination of knowledge and expertise.

Showcasing of various IT products and solutions relating to developments


and innovations in the area of finance and management.

Developing training aids and study materials including CBT, designing &
testing of IT based products solutions and services etc.

Developing software relating to Banking, Insurance and Finance.


Conducting study programmes and awarding Diploma and Certificate
courses as Deemed University independently or in association with other
inland or overseas institutions

Providing Consultancy Services to Government agencies, other public and


private institutions and others in the aforesaid areas.

1.3 Genesis
The Central Bank of India has been promoted by Central Bank as an
autonomous body and has been dedicated to the Nation with an object to impart
contemporary training in respect of usage of IT in developing operations and

62

business of Banking, Finance and Insurance. It serves to International standard


for demonstrating the use of information technology in the management of
entire gamut of banking and para-banking areas.
CENTRAL BANK OF INDIA has competitive edge over other in-house
institutions of different banks as it is driven by broader perspective and liberal
integrations with other academic and professional bodies in India as well as
abroad for infrastructural support in conducting its programs as well as for the
preparation of study material, training aids and arranging for visiting faculty and
joint pursuits.

1.4 MISSION
To make CENTRAL BANK OF INDIA a self-sustaining institute of
international standard having the status of a deemed university and having
organic linkages with other national and transnational academic institutions in
the area of IT, in various fields of universal banking, in a span of 10 years.

63

2.1About Neptune Software Trainers


(A Division of Neptune Software Groups)
Neptune, founded in 1999 in London, has a rich history in delivering mission-critical core
systems to the banking and financial services sector. Having delivered end-to-end solutions
to over 60 financial services institutions, Neptune has the proven experience needed to
meet the requirements of internationally recognised banking practices.
In 2008, Neptune launched Rubikon, a new generation banking platform. Rubikon is a
100% Java solution, based on J2EE technology and built on a Service-Oriented
Architecture. It supports both grid and cloud computing on the Oracle 10g platform,
offering a basketful of cost and operational benefits to users. In the same year, Neptune
achieved a top 5 ranking in the IBS Sales League of international banking systems vendors.
Neptune now has 6 locations of its own in EMEA plus a development centre in Chennai,
and is continuing to develop its global partner network. Since 2005, Neptune has
demonstrated constant process improvement by regularly passing ISO 9001:2000 TickIT
audits, including in 2008. In addition, Neptune is proud of its track record of delivering ontime and within budget as well as high customer satisfaction levels.
In February 2009 Neptune were evaluated and selected to be among four vendors shortlisted for an Oracle UK Partner Award in the Emerging Business in Technology
category. This nomination was thanks to the uniquely collaborative architecture of Rubikon
and its integrated, exception-based business process management that extends to the mobile
delivery of services.
The Training Division of ours is situated across all the Software Technology Parks of India

64

VISION
Empowering clients with sustainable competitive advantage by providing innovative
business software solutions and excellent services within a cost effective bottom line.

MISSION
Deliver client success through innovation. Harness our deep business domain knowledge
and technical expertise to provide end-to-end integration of technology with business
processes. Bring trust and personal responsibility to all relationships.

65

2.2 About Software Technology Parks


India has earned itself a reputation of an IT superpower. Software Technology Parks of
India has played a seminal role in accomplishing this status. Today, STPIs across over
the country are synonymous with excellent Infrastructure and Statutory support aimed
at furthering growth of Information Technology in the country.
Software Technology Parks of India (STPI), is a society set up by the Ministry of
Information Technology, Government of India in 1991, with the objective of
encouraging, promoting and boosting the Software Exports from India.
STPI maintains internal engineering resources to provide consulting, training and
implementation services. Services cover Network Design, System Integration,
Installation, Operations and maintenance of application networks and facilities in
varied areas.
Process development is based on the Quality Management System. STPI centres also
adhere to ISO 9001 certification.
Objectives of STPI

The objectives of the Software Technology Parks of India are:


(a)

To promote the development and export of software and software services


including Information Technology (IT) enabled services/ Bio- IT.

(b)

To provide statutory and other promotional services to the exporters by


implementing Software Technology Parks (STP)/ Electronics and Hardware
Technology Parks (EHTP) Schemes and other such schemes which may be
formulated and entrusted by the Government from time to time.

(c)

To provide data communication services including value added services to IT /


IT enabled Services (ITES) related industries.

(d)

To promote micro, small and medium entrepreneurs by creating conducive


environment for entrepreneurship in the field of IT/ITES.

66

Das könnte Ihnen auch gefallen