Online Voting Management System Project Report
Online Voting Management System Project Report
Secure Voting
For
BY
Ms.P.PRANITHA RANI
HT.NO:121-06-026
Ms.J.ARUNA
HT.NO:121-06-052
1
2008
ACKNOWLEDGEMENT
It’s out pleasure to our appreciation for the coorporation encouragement and
valuable guidance of Mr. N. Nagoore Babu ,center head for giving us an
opportunity to do the project.I also like to thank Mr.M.Sunil Kumar project
guide who has continuously helped and gave valuable suggestions to
guide us in the successful completion of the project work.
2
DECLARATION
DATE:
P.PRANITHA RANI
PLACE:HYDERABAD J.ARUNA
3
INDEX
Content Pageno
1. Organization Profile 5
2. Abstract 7
3. Introduction 8
4. Feasibility Study 14
5. UML Diagram 17
9. Oracle 66
10. HTML 73
4
1.Organization Profile
5
The training and learning division is also supported by the placement well,
which helps the candidates to attend interviews in IT majors and come out with
flying colors. The perfect blend of people, vision and technology can result in
innovative solutions. The range of functional experience and skill set provide
company the right foundation to explore the realms of emerging technologies
and to develop solutions for the future.
Offers learning resources, real time enterprise projects and aptitude and
technical exam activates to update information technology professionals.
Endeavors the exchange of ideas and resources, discussion of issues,
and collaboration with professional peers.
Strives to keep IT professionals informed of new technologies, features
products and initiatives.
We strive to provide you with an enjoyable, and rich enlightening
experience with increased comfort and effectiveness in utilizing
information technology.
Promotes interactive practices to help people achieve maximum learning
potential
6
ABSTRACT
The present system conducts the elections manually, which takes lot of effort
for conducting, maintaining and evaluating the voting process. This Automation
helps in overcoming all the above mentioned problems and also helps in
avoiding any kind of tempering that can be done. Rather than employing
expensive consultants to print and mail paper ballots or setup and manage your
elections, secure voting puts the power of online voting in the hands of election
administrators.
This project makes use of Java Servlets which provides a Java-based solution
used to address the problems currently associated with doing server-side
programming. Servlets are objects that conform to a specific interface that can
be plugged into a Java-based server. Servlets are to the server-side what
applets are to the client-side.
7
8
INTRODUCTION:
PROBLEM DEFINITION:
9
of a voting system, however, can lead to indecisive or incorrect election
results.
PRESENT SYSTEM:
Presently elections are being conducted with electronic voting machines, which
has revolutionized election conducting process in the last decade.
10
DISADVANTAGES OF EVM:
11
PROPOSED SYSTEM:
We speak of electronic voting when casting of votes is carried out by the voter
directly by electronic means, thus obtaining an end to end digital vote .The use
of paper and other physical systems is optional and auxiliary.
12
B. REMOTE ELECTRONIC VOTING:
This type of online voting takes place when voters cast their vote from
any location with access to the Internet via mobile telephone, PCs,
PDAs, etc. The methods used to identify the voter are via digital
signature, biometrics, PIN codes, etc.
13
Voter can vote online with the help of his citizenship id. This is the
number on the voter’s citizenship card.
User’s choice is encrypted and sent to the server where it is decrypted
and updated in the database maintaining the secrecy of, which party a
particular voter voted for.
We also provide facility for the contestants to upload their agenda and
other information about their parties.
We provide a facility for a administrator to maintain all the administrative
activities.
At the end of the elections we declare the results with all the details of election.
14
FEASIBILITY ANALYSIS:
Technical Feasibility:
15
whether the necessary technology exists or can be acquired to undertake the
project. If any technical shortcomings are noted, the project is not feasible. If
such technology exists, we’ve to check whether that technical equipment can
handle the data required to use the proposed system. If the proposed project
involves networking, we’ve to examine whether the proposed system provides
adequate response to the requests irrespective of the location and users. Also,
the technical guarantees of accuracy, reliability, ease of access, and data
security should be considered and the expandability of the project is to be
tested.
Economical Feasibility:
As part of this, the costs and benefits associated with the proposed system
are compared and the project is economically feasible only if tangible or
imaginable benefits overweight costs.
The proposed system will minimize the time and effort involved in
maintaining registers, books and files. This results in cost savings. Since the
necessary hardware and software are already are available. The system
development costs will be significantly low. So the proposed system is
economically feasible.
Operational Feasibility:
There is sufficient support for the project from the Organization. The
proposed system is acceptable to the users. So the proposed system is
operationally feasible.
16
17
CONTEXT LEVEL DFD:
18
LEVEL 1 DFD:
19
LEVEL 2 DFD:
20
DFD FOR VOTING:
LEVEL 2 DFD:
21
DFD FOR ADMINISTRATOR
22
Use Case Diagrams
An actor represents a user or another system that will interact with the
system your modeling. A use case is an external view of the system that
represents some action the user might perform in order to complete a task. The
use case diagrams in our project are drawn for:
1. Administrator
2. Voter
23
1. Administrator
Party Description
Parlament Participants
Administrator
Assembly Participants
24
Use case name : Administrator
Description:
This is the use case for the administrator in which he can perform various
operations
like enter party description, parliament participants details and assembly
participants details.
Actor : Administrator
Preconditions:
The administrator should enter a valid Username and password in login
screen to perform the operations. Addition of record is done if the record does
not exist in the database. Modification of a record is done for an existing record.
Postconditions:
The administrator can perform various operations like enter party
description, parliament participants details and assembly participants details
Mainflow:
The administrator can perform operations like enter party description,
parliament participants details and assembly participants details The
administrator enters the details in the various screens provided accordingly.
3. Voter
Registration
Parliament vote
Assembly vote
User name : Voter
Description : This is the usecase for the Voter where
the voter can register and he vote for
25
parlament as well as assembly. He
can view the participants details.
Actor : Voter
Preconditions : The voter enters the URL and the
homepage for the voter opens up.
Postconditions : When the voter enters the proper URL
he can view all the data but he cannot
edit anything. Only he can register
and vote the participants
Class Diagram
Name
Attributes
Operations
26
MP and MLA acts as acts as Party’s Description
1
Records according to 1
party 1
Administrator 1 - Party Name: char
-MP Name: char
-Name: char -MLA Name: char
-Age: int - UserName: Char
-Birth place: char - Password: Char
-Participating place: char getPartyDetails ( )
-Educational Back ground: getUserName ( ) getPartyMP ( )
char get Password ( ) getPartyMLA ( )
-Property value: int setPartyMessage ( )
-Police Record: char getLeaderMessage ( )
1 setParticipantDesc ( )
Enter Data
getMPParticipantDetail ( ) *
getMLADetails ( ) Registration
getPoliceRecords ( )
setPoliceRecords( ) -NSSN: varchar
getEducationRecord ( ) -First Name: char
setEducationRecord ( ) -Last Name: char
getPropertyValue( ) -Date of birth: int
setPropertyValue( ) -Division: char
-Village: char
voter
-Enter Vote
1
getPartyDetails ( )
getPartyDetails ( )
getPartyMP ( ) *
getPartyMLA ( )
getNssn ( )
setNssn ( )
getVoterId( )
setVoterId( )
getDateofBirth( )
setDateofBirth( )
getDivision( )
setDivision( )
getVellage( )
set
27
Conceptual Model
28
MP and MLA
Records according to acts as acts as Party’s Description
party 1
1
1 1
-Name: char Administrator -Party Name: char
-Age: int -MP Name: char
-Birth place: char -MLA Name: char
-Participating place: char -UserName: char
-Educational Back ground: -Password: char
char
-Property value: int
-Police Record: char
1
Enter Data
*
Participant Details
and vote
Views voter
-Particip-ant name: char &
-Location: char Gives -Enter Vote
-Status: char Feedback
-Description: char
1
*
Registration
-NSSN: varchar
-First Name: char
-Last Name: char
-Date of birth: int
-Division: char
-Village: char
29
Sequence Diagrams
These are the diagrams, which uses the objects of the classes and shows the
action sequence. With these diagrams, we can know the sequence of the
commands. .
When the administrator enters the username and password then the
database is verified and if these are valid, then the administrator can get the
administrator session. Here, he can add the data and he can modify the files.
The arrows shown in the diagrams will tell us about the command from one
operation to another operation class. The tail of the arrow contains the from
class and the head of the arrow contains the to class.
Collaboration Diagrams
30
The collaboration diagrams are the diagrams generated from the
sequence diagrams. Here we can see the sequence numbering for the
commands. The boxes are the objects of the classes.
31
32
SOFTWARE & HARDWARE REQUIREMENTS:
Environment:
Development Environment:
Software Environment:
OS : Windows XP SP2
JDK: JDK 1.5
J2EE Server : Apache Tomcat-5.0
Database : oracle
Technologies: jsp, servlets
Browser : Internet Explorer 6
Hardware Environment:
CPU : Intel Pentium IV 1.8 GHz speed
DDRAM – 256 MB
Operating Environment:
The minimum server specifications for the system are:
Software Environment:
OS : Windows XP SP2
JDK : JDK 1.5 or later version
J2EE Server : Apache Tomcat-5.0
Database : oracle
Hardware Environment:
CPU : Intel Pentium IV 1.8 GHz speed
DDRAM – 256 MB
33
Deployment Environment
User of the system need to have machine with following configurations
Software Environment:
CPU : Intel Pentium III 533 MHz speed or higher
RAM – 128 MB
Hardware Environment:
OS : Windows XP SP2
Browser : Internet Explorer 6
34
35
Table name: nssnregistration
Fieldname Type Width Description
NSSN Varchar2 20 Primary key
FIRSTNAME Varchar2 20 Not Null
LASTNAME Varchar2 20 Not Null
DOB Date Not Null
NATIONALITY Varchar2 20 Not Null
GENDER Varchar2 8 Not Null
STATE Varchar2 20 Not Null
FATHER NAME Varchar2 15 Not Null
DISTRICT Varchar2 20 Not Null
MANDAL Varchar2 20 Not Null
VILLAGE Varchar2 20 Not Null
HNO Varchar2 20 Not Null
36
Table name : congparticipents
Fieldname Type Width Description
PERSON Varchar2 30 Not Null
PARTY Varchar2 30 Not Null
POST Varchar2 10 Not Null
PERSONDESC Varchar2 40 Not Null
PLACE Varchar2 30 Primary key
37
Table name : trsparticipents
Fieldname Type Width Description
PERSON Varchar2 30 Not Null
PARTY Varchar2 30 Not Null
POST Varchar2 10 Not Null
PERSONDESC Varchar2 40 Not Null
PLACE Varchar2 30 Primary key
38
Table name : otherparticipents
Fieldname Type Width Description
PERSON Varchar2 30 Not Null
PARTY Varchar2 30 Not Null
POST Varchar2 10 Not Null
PERSONDESC Varchar2 40 Not Null
PLACE Varchar2 30 Primary key
39
Fieldname Type Width Description
PARTY Varchar2 30 Not Null
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE Varchar2 10 Not Null
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null
40
POLICERECORD Varchar2 10 Not Null
41
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null
42
PARTY Varchar2 30 Not Null
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE Varchar2 10 Not Null
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null
43
9.1 JAVA
44
PURPOSE & SCOPE:
This specification design document will detail the design of an online voting
system. This electronic voting system will enable an eligible voter to vote at any
polling site statewide during an election period.
USER CHARACTERISTICS:
This electronic voting system will not prevent any eligible voter from correctly,
securely and properly casting a ballot during the election period. Users with
special assistance and specific needs may require alternative ballots. These
alternative ballots that may exist in audio, video or Braille forms are beyond the
scope of this document.
This specification design document will detail the design of an Online voting
system .This electronic voting system will enable a valid voter to vote at any
polling site statewide during an election period. Every poll site statewide will
have identical architectures. A central voter registration database (VRDB) will
contain all eligible voter information. A current copy of VRDB must be available
at each poll site prior to the election period. An eligible voter, John Smith,
presents identification to the poll worker, registration verifier (RV), for
authentication. The RV looks up the identification information of John Smith and
verbally verifies all information including address, zip code and county.
CONSTRAINTS:
45
Online Voting implies:
The use of Online voting (poll-site or remote voting) presents a new scenario
with new challenges for the security and trust in the electoral processes. The
following are the main challenges that should be taken into account:
The digital nature of the votes in themselves, without any paper-based
backup.
The existence of a complex technological infrastructure between the
voter and the electoral authorities.
Security measures are necessary in Online Voting in order to inspire trust in the
electronic voting processes. Several technological security measures are
required that can be classified on three levels:
46
Voter privacy has to be guaranteed at the same time that voters have to
be properly identified
The protection of the digital ballot box, against external attacks (hackers)
and internal attacks (administrators of the system), in order to guarantee:
The secrecy of partial results.
The integrity of the votes cast (neither elimination nor modification)
Prevention of addition of bogus votes
Voter self-verification of the correct treatment of his/her vote, without
allowing vote-buying or coercion.
NETWORK DIAGRAM:
SYSTEM ARCHITECURE:
47
* Voter – Voter with his/her PC. Creates an encrypted and digitally signed vote
and sends it to the Central System.
* Voting System – System component that is under the responsibility of the
Election conducting Committee. Receives and processes the votes until the
composite results of Online-voting are output.
* Key Management – Generates and manages the key pair(s) of the system.
The public key (keys) are integrated into Voter’s applications, private key(s) are
delivered to Vote Counting Application.
* Evaluation– solves disputes and complaints, using logged information from
the Voting System.
The Voting System is also dependent of two other parties:
* Compiler of voter lists (The Population Register),
* Compiler of candidate lists (ECC itself).
48
Components participating in the Voting process
49
uses the private key of the system, tabulates the votes and outputs the results
of e-voting.
E-VOTING PROCEDURES
In this section we will describe in greater detail the behavior of the components
present in the general architecture of the system during different stages of e-
voting.
Key Management :
The key management procedures and the security scheme used are one of the
most critical points of the system on which the fulfillment of the main
requirements of the system (privacy and secrecy of voting) depends. What
follows is not a final description of the measures and procedures, but we will
outline the main concept, main risks and possible solutions.
The main tool to guarantee the secrecy of voting in the system is asymmetric
cryptography. A system key pair is generated, the public component of which is
integrated into client software and is used to encrypt the vote. The private
component of the key pair is used in the Vote Counting Application to decrypt
the vote. It is of utmost importance that the use of private key is possible only
for counting the votes in
the VCA The privacy and secrecy of an e-voter can be compromised by a
simultaneous occurrence of two security hazards: a party appears in the
system (or outside the system) who has access to both the private key of the
system as well as the digitally signed votes. Even though this data is separated
in the system, the risk remains. A one and only private key is probably a lot
easier to protect than the digitally signed e-votes – the latter pass through
several system components (Voter, VFS, VSS) and data
transfer channels, consequently, the danger of leaked e-votes are higher. Thus
for ensuring the security the main focus should be on key management.
The private key is subject to two dangers:
50
* Compromise or becoming publicly available. The occurrence of this would
enable the parties in possession of digitally signed e-votes to determine who
cast a vote in favor of whom, thus compromising the privacy of the voter.
* Corruption. The private key carrier may be destroyed, lost or be corrupted
because of a technical error. When this occurs it becomes impossible to
decrypt the e-votes and all the electronically cast e-votes are lost. This is a
critical danger and therefore two key pairs should be used simultaneously in the
system. The key pair is generated in a Hardware Security Module (HSM) in
such a way that the private component never leaves the module. The
generation of the key pair and use of private key is maintained by key
managers, there should be several of them.
The procedures of key management, meaning the generation of the key pair
and PINs, delivery of the public component to the vendor of client application,
preservation of the private component, its backup and delivery to the VCA must
be subject to audit supervision and should be described in a separate
document.
HISTORY OF JAVA
Java language was developed by James Gosling and his team at sun
Microsystems and released formally in 1995. Its former name is oak. Java
Development Kit 1.0 was released in 1996 to popularize java And is freely
available on Internet.
51
OVERVIEW OF JAVA
FEATURES OF JAVA
52
JAVA supports multithreading. There for different parts of the program
can be executed at the same time.
JAVA IS PORTABLE:
These byte codes go to the Java Virtual Machine, which executes them
directly or translates them into the language that is understood by the machine
running it. In summery, these means that with the JDBC API extending Java, a
programmer writing Java code can access all the major relational databases on
any platform that supports the Java Virtual Machine.
JAVA IS OBJECT-ORIENTED:
53
The Java programming language is object oriented, which makes
program design focus on what you are dealing with rather than on how you are
going to do. This makes it more useful for programming in sophisticated
projects because one can break the things down into understandable
components. A big benefit is that components can then be reused. Objected
oriented languages use the paradigm of classes. In simplest term, a class
includes both data and functions to operate on the data. You can create an
instance of a class, also called object, which will have all the data members and
functionality of its class. Because of this, you can think of a class as being like
template, with each object being specific instance of a particular type of class.
The class paradigm allows one to encapsulate data so that specific data
values are function implementation cannot seen by those using the data
Encapsulation make the changes in code without breaking other programs.
54
World Wide Web is an open-ended information retrieval system
designed to use in the distributed environment. This system contains web
pages that provide both information and controls. We can navigate to a new
web page in any direction. This is made possible worth HTML java was meant
to be used in distributed environment such as Internet. So java could be easily
incorporated into the web system and is capable of supporting animation
graphics, games and other special effect. The web has become more dynamic
and interactive with support of java. We can run a java program on remote
machine over Internet with the support of web.
JAVA ENVIRONMENT:
When we compile the code, java compiler creates machine code (byte
code) for a hypothetical machine called java virtual machine (JVM). The JVM
will execute the byte code and overcomes the issue of portability. The code is
55
written and compile for one machine and interpreted all other machines. This
machine is called java virtual machine.
SERVLETS:
INTRODUCTION:
The Java web server is JavaSoft's own web Server. The Java web server is
just a part of a larger framework, intended to provide you not just with a web
server, but also with tools. To build customized network servers for any Internet
or Intranet client/server system. Servlets are to a web server, how applets are
to the browser.
ABOUT SERVLETS:
56
plugable helper byte code objects on the server side that can be used to
dynamically extend server-side functionality.
For example, an HTTP Servlets can be used to generate dynamic HTML
content. When you use Servlets to do dynamic content you get the following
advantages:
SERVLET LIFECYCLE:
Each servlet has the same life cycle:
57
The life cycle of a servlet is controlled by servlet-container in which the
servlet has been deployed. When a HTTP request is mapped to a servlet,
the container performs the following steps.
# If an instance of the servlet does not exist, the Web container
# Loads the servlet class.
# Creates an instance of the servlet class.
# Initializes the servlet instance by calling the init() method .
# Invokes the service method, passing HttpServletRequest and
HttpServletResponse objects as parameters.
INITIALIZING A SERVLET:
When a server loads a servlet, the server runs the servlet's init method.
Initialization completes before client requests are handled and before the
servlet is destroyed.
INITIALIZATION PARAMETERS:
58
The second version of the init method calls the getInitParameter( )
method. This method takes the parameter name as an argument and returns a
String representation of the parameter's value.
The specification of initialization parameters is server-specific. In the
Java Web Server, the parameters are specified with a servlet is added then
configured in the Administration Tool. For an explanation of the Administration
screen where this setup is performed, see the Administration Tool: Adding
Servlets online help document. If for one reason, you need to get the parameter
names, use the getParameterNames( ) method.
DESTROYING A SERVLET:
Servlets run until the server destroys them, for example at the request of
a system administrator. When a server destroys a servlet, the server runs the
servlet's destroy method. The method is run once; the server will not run that
servlet again until after the server reloads and reinitializes the servlet.
59
The following example shows the destroy method that accompanies the init
method shown previously: The destroy method shown above expects all client
interactions to be completed when the destroy method is called, because the
servlet has no long-running operations.
ATTRACTIVENESS OF SERVLETS:
There are many features of Servlets that make them easy and attractive to use.
These include:
Easily configured using the GUI-based Admin tool
Can be loaded and invoked from a local disk or remotely across
the network.
Can be linked together, or chained, so that one Servlets can call
another Servlets, or several Servlets in sequence.
Can be called dynamically from within HTML pages, using server-
side include tags.
Are secure - even when downloading across the network, the
Servlets security model and Servlets sandbox protect your system
from unfriendly behavior.
60
These qualities are important, because it allows the Servlet API to be
embedded in many different kinds of servers. There are other advantages to
the Servlet API as well. These include:
It’s extensible - you can inherit all your functionality from the base
classes made available to you.
it's simple, small, and easy to use.
FEATURES OF SERVLETS:
Servlets are persistent. Servlet are loaded only by the web server
and can maintain services between requests.
Servlets are fast. Since Servlets only need to be loaded once,
they offer much better performance over their CGI counterparts.
Servlets are platform independent.
Servlets are extensible. Java is a robust, object-oriented
programming language, which easily can be extended to suit your
needs
Servlets are secure.
Servlets can be used with a variety of clients.
What Is JDBC?
JDBC is a Java API for executing SQL statements. (As a point of interest,
JDBC is a trademarked name and is not an acronym; nevertheless, JDBC is
often thought of as standing for Java Database Connectivity. It consists of a set
of classes and interfaces written in the Java programming language. JDBC
61
provides a standard API for tool/database developers and makes it possible to
write database applications using a pure Java API.
Using JDBC, it is easy to send SQL statements to virtually any relational
database. One can write a single program using the JDBC API, and the
program will be able to send SQL statements to the appropriate database. The
combinations of Java and JDBC lets a programmer write it once and run it
anywhere.
What Does JDBC Do?
1. ODBC is not appropriate for direct use from Java because it uses a C
interface. Calls from Java to native C code have a number of drawbacks
in the security, implementation, robustness, and automatic portability of
applications.
2. A literal translation of the ODBC C API into a Java API would not be
desirable. For example, Java has no pointers, and ODBC makes
copious use of them, including the notoriously error-prone generic
62
pointer "void *". You can think of JDBC as ODBC translated into an
object-oriented interface that is natural for Java programmers.
3. ODBC is hard to learn. It mixes simple and advanced features together,
and it has complex options even for simple queries. JDBC, on the other
hand, was designed to keep simple things simple while allowing more
advanced capabilities where required.
4. A Java API like JDBC is needed in order to enable a "pure Java"
solution. When ODBC is used, the ODBC driver manager and drivers
must be manually installed on every client machine. When the JDBC
driver is written completely in Java, however, JDBC code is
automatically installable, portable, and secure on all Java platforms from
network computers to mainframes.
The JDBC API supports both two-tier and three-tier models for database
access.
In the two-tier model, a Java applet or application talks directly to the database.
This requires a JDBC driver that can communicate with the particular database
management system being accessed. A user's SQL statements are delivered
to the database, and the results of those statements are sent back to the user.
The database may be located on another machine to which the user is
connected via a network. This is referred to as a client/server configuration,
with the user's machine as the client, and the machine housing the database as
the server. The network can be an Intranet, which, for example, connects
employees within a corporation, or it can be the Internet.
63
In the three-tier model, commands are sent to a "middle tier" of services, which
JAVA
Application Client machine
JDBC
DBMS-proprietary protocol
DBMS
Database server
then send SQL statements to the database. The database processes the SQL
statements and sends the results back to the middle tier, which then sends
them to the user. MIS directors find the three-tier model very attractive because
the middle tier makes it possible to maintain control over access and the kinds
of updates that can be made to corporate data. Another advantage is that when
there is a middle tier, the user can employ an easy-to-use higher-level API
which is translated by the middle tier into the appropriate low-level calls. Finally,
in many cases the three-tier architecture can provide performance advantages.
Java applet or
Html browser
Client machine (GUI)
Logic)
DBMS-proprietary protocol
DBMS
Database server
Until now the middle tier has typically been written in languages such as C or
C++, which offer fast performance. However, with the introduction of optimizing
compilers that translate Java bytecode into efficient machine-specific code, it is
becoming practical to implement the middle tier in Java. This is a big plus,
64
making it possible to take advantage of Java's robustness, multithreading, and
security features. JDBC is important to allow database access from a Java
middle tier.
The JDBC drivers that we are aware of at this time fit into one of four
categories:
JDBC-ODBC BRIDGE:
If possible, use a Pure Java JDBC driver instead of the Bridge and an ODBC
driver. This completely eliminates the client configuration required by ODBC. It
also eliminates the potential that the Java VM could be corrupted by an error in
the native code brought in by the Bridge (that is, the Bridge native library, the
ODBC driver manager library, the ODBC driver library, and the database client
library).
65
JDBC CONNECTIVITY:
Manager transactions
The JDBC 1.0 API provided result sets that had the ability to scroll in a
forward direction only. Scrollable result sets allow for more flexibility in the
processing of results by providing both forward and backward movement
through their contents. In addition, scrollable result sets allow for relative and
absolute positioning. For example, it's possible to move to the fourth row in a
scrollable result set directly, or to move directly to the third row following the
current row, provided the row exists. The JDBC API allows result sets to be
directly updated, as well.
66
67
INTRODUCTION
68
DISTINCT FEATURES OF ORACLE
ORACLE IS PORTABLE :
ORACLE IS COMPATIBLE :
FEATURES OF ORACLE :
69
Most popular RDBMS in the market because of its ease of use
Client/server architecture.
Data independence.
Ensuring data integrity and data security.
Managing data concurrency.
Parallel processing support for speed up data entry and online
transaction processing used for applications.
DB procedures, functions and packages.
Dr.E.F.CODD's RULES :
70
RULE 2 : GUARANTEED ACCESS :
71
RULE 7 : HIGH LEVEL UPDATE INSERT and DELETE :
72
RULE 12 : NON SUB-VERSION :
If a relational system has low level language, that low language cannot
use to subversion or by pass the integrity rules and constraints expressed in
the higher level relational language.
73
Rule 12: Non-subversion- YES
74
HTML (hyper text markup language) is a language used to create hyper
text documents that have hyper links embedded in them. it consists of tags
embedded in the text of a document with HTML. We can build web pages or
web documents. it is basically a formatting language and not a programming
language. The browser reading the document interprets mark up tags to help
format the document for subsequent display to a reader. HTML is a language
for describing structured documents. HTML is a platform independent. WWW
(world wide web) pages are written using HTML. HTML tags control in part the
representation of the WWW page when view with web browser. The browser
interpretes HTML tags in the web document and displays it.
75
Different browsers show data differently. Examples of browsers used to be web
pages include:
Netscape
Internet Explorer
The idea behind hypertext is that instead of reading text in rigid linear
structure you can easily jump from one point to another point. You can navigate
through the information based on interest and preferences.
HYPER MEDIA :
HTML pages with audio and video files linked to them are called
Hypermedia HTML is platform independent.
HTML is platform independent.
If you can access Internet, you can access WWW, irrespective of your
Operating System and the Operating System of the Web Server your access.
All you require to view and download the HTML files, which are on the WWW,
are a browser and Internet connection. Web is distributed.
The information on the WWW is distributed throughout the world. You can
access it easily with a few mouse clicks. You don't have to store it on your
machine.
Information on the web is dynamically updateable. As the information is
at the use where it is published, the people who publish it can change it any
time.
The Web is interactive. You can click on a hot spot and retrieve another
page. You can design screens that look like forms and people can select from
several choices, fill in information slots or select a butt9n to do a particular
action.
76
HTML is a language for describing structured documents.
HTML describes the structure of documents-lists, heading, paragraphs
etc. Elements of web document are labeled through the usage of HTML tags. It
is the tags describe the documents. Anything that is not a tag is part of the
document itself.
HTML does not describe page layout World for windows of Douts
AmiPro for example, have different styles for headings, size and indentation
HTML do not have all these.
Based on the platform, exact placement or appearances of any element will
change.
There may be or may nit be fonts installed. So your formatted text will
appear differently on different machine platforms.
By separating the structure of the document and its appearance, a program that
reads and understands HTML can make formatting decision based on
capabilities of the individual platform. In addition to providing the networking
functions to retrieve documents, Web browsers are also HTML formats. They
parse and format documents and display them on screen. Different browsers
access data differently.
ADVANTAGES :
An HTML document is small and hence easy to send over the net. It is
small because it does not include format information.
HTML documents are cross platform compatible and divide independent.
You only need a HTML readable browser to view them, Font names, locations
etc., are not required. Currently the standard that is fully supported is HTML
2.0, HTML 3.0.
It supports :
Centered and right aligned text.
77
Tables.
Math equation.
Text and image alignment.
78
Software engineering is the establishment and use of sound engineering
principles in order to obtain economically software that is reliable and works
efficiently on real machines.
SOFTWARE ENGINEERING :
79
what system behavior can be expected, what interfaces are to be established,
what design constraints exists, and what validation criteria rare required
defining a successful systems.
CORRECTION :
Even with the best quality assurance activities, it is like that the customer
will uncover the defects in the software. Corrective maintenance changes the
software to correct defects.
ADOPTION :
ENHANCEMENT :
80
PREVENTION :
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
SYSTEM TESTING:
Providing high quality software means providing users with products that
meet their needs and expectations. The essence of high quality is customer
satisfaction. Testing may be conducted for different reasons. Quality assurance
testing looks for potential problems in proposed design. Usability testing on the
other hand, test how well the interface fits user needs and expectations .To
ensure user satisfaction with the finished product, user satisfaction must be
measured along the way as the design takes from.
Testing Strategies:
The concept of the black box is used to represent a system whose inside
workings are not available for inspection .In black box, a test item is treated as
“block”, since it’s logic is unknown at that known is what goes in and what
comes out, or the input and output. In black box testing, you can learn what the
box does but nothing about how this conversation is implemented.
White box testing assumes that the specific logic is important and must be
tested to guarantee the system’s proper functioning. The main use of the white
box is in error based testing, when you already have tested all objects of an
105
application and all external or public methods of an object that you believe to be
of greater importance.
One form of white box testing, called path- testing, makes
certain that each path in a objects method is executed at least once during the
testing.
Top-Down Testing:
Bottom-Up Testing:
Bottom-up testing starts with the details of the system and proceeds to higher
levels by a progressive aggregation of details enter they collectively fit the
requirements for the system. This approach is more appropriate for testing the
106
individual objects in system. Here, you test each object then combine them and
test their interaction and messages passed among objects by utilizing the top-
down approach.
In the bottom-up testing, you can start with methods and classes that
call or rely on no others.
Test Cases:
To have a comprehensive testing scheme, the test must cover all the
methods or a good majority of them. All the services of your system must be
checked by at least one test. To test a system, you must construct some test
input cases, and then describe how the output will look .Next, perform the tests
and compare the outcome with the expected output. The good news is that the
use-case developed during analysis can be used to describe the usage test
cases.
107
108
This “ONLINE SECURE VOTING SYSTEM” has been developed successfully
and tested with the sample client connections, from different systems. The
benefits of this system are considerable.
It is observed that the users are able to use the system easily. As
all the users are provided with the information required by them in GUI so the
user with minimum basic knowledge about the computer can be able to operate
the system easily.
109
12.BIBILIOGRAPHY
[1] Bryan Basham, Kathy Sierra, Bert Bates, “Head First Servlets &
JSP”
[6] Java Server Programming (J2EE 1.4) Black Book, Kogent solutions
110