Online Voting Management System Project Report

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 110

A project report on

Secure Voting
For

DURGA SOFTWARE SOLUTIONS

In partial fulfillment of the requirements


For the award

MASTER OF COMPUTER APPLICATION

BY
Ms.P.PRANITHA RANI
HT.NO:121-06-026
Ms.J.ARUNA
HT.NO:121-06-052

DEPARTMENT OF COMPUTER APPLICATIONS


RISHI UBR PG COLLEGE FOR WOMEN
(Affiliated to Osmania University,Hyderabad,A.P.)

1
2008

ACKNOWLEDGEMENT

The satisfaction and euphoria that accompany the successfully


completion any task would be incomplete without the mention of the
people who made it possible, whose constant guidance and
encouragement take pleasure in presenting before you my project, Which
is the result of a studied blend of both research and acknowledge have
pleasure in doing this at DURGA SOWFTWARE SOLUTIONS.

We express my sincere and deep gratitude to my beloved


Correspondent Ms.Rajasree and principal , Mr.Raja Mohan of Rishi UBR
PG College for providing right academic at their presence made us
entire task appreciable.

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.

Finally ,My thanks to all my friends who have directly or indirectly


helped me in completing the task successfully.

2
DECLARATION

I here by declare that the results embodied in this dissertation


entitled “Secure Voting” submitted to the Department Of
Computer science, Rishi UBR PG College affiliated to Osmania
University in partial fulfillment of requirement for the award of Master
Of Computer Applications Is developed by me and I here by declare
that this project report has not been submitted to any other college or
University.

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

6. Software and Hardware requirements 31

7. Data Base Design Tables 34

8. Overview of JAVA Technologies 43

9. Oracle 66

10. HTML 73

11. Input and Output Screens 81

12. Software Testing 102

13. Conclusion 106

14. Bibliography 108

4
1.Organization Profile

Durga Software Solutions is established as an Independent Development,


Consulting and Training Organization Catering to Clients unique Business
needs offering well designed corporate and placement oriented courses as well
as optimized small and medium enterprise solutions. It’s agreed that the most
valuable asset and only true competitive advantage of any organization are the
people on its team. Having the right people in the right jobs can make the
differences that’s why Durga Software Solutions is promoted and lead by a
team of professionals providing creative and competitive domain in best of
Intellectual Environment.

We specializes in the Development of custom software application and offshore


software outsourcing services Durga Software Solutions develop software
based on the latest and state of the art Technology or standards and offer a full
range of services to help Clients by optional level of satisfaction.
Our services:-
 Custom Application Development
 Web Enabled Services
 Enterprise Application Development
 E-Commerce Solutions
 Application Integration
 Software Re-Engineering

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.

One vision is focused on becoming a great community for computer science


and technology professionals and educators who are Dedicated to providing
the best possible learning opportunities, keen to grow professionally by learning
about the most recent trends and developments in technology and eager to
implement effective solution strategies and shares these best practices with
their peers.

To accomplish the goals of vision statement Durga Software Solutions.

 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

Online Secure Voting is a fully web based voting software


solution based on network security. With the access control capabilities and the
reliability, the network security has tremendously increased in providing
authenticity and security.

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.

Security is provided by RSA algorithm which is an ASSYMETRIC cryptographic


algorithm with a pair of keys used for encryption and decryption.

7
8
INTRODUCTION:

Elections allow the populace to choose their representatives and express


their preferences for how they will be governed. Naturally, the integrity of
the election process is fundamental to the integrity of democracy itself.
The election system must be sufficiently robust to withstand a variety of
fraudulent behaviors and must be sufficiently transparent and
comprehensible that voters and candidates can accept the results of an
election. Unsurprisingly, history is littered with examples of elections being
manipulated in order to influence their outcome.

PROBLEM DEFINITION:

The design of a “good” voting system, whether electronic or using


traditional paper ballots or mechanical devices must satisfy a number of
sometimes competing criteria. The anonymity of a voter’s ballot must be
preserved, both to guarantee the voter’s safety when voting against a
malevolent candidate, and to guarantee that voters have no evidence that
proves which candidates received their votes. The existence of such
evidence would allow votes to be purchased by a candidate. The voting
system must also be tamper-resistant to thwart a wide range of attacks,
including ballot stuffing by voters and incorrect tallying by insiders. A
voting system must be comprehensible to and usable by the entire voting
population, regardless of age, infirmity, or disability. Providing accessibility
to such a diverse population is an important engineering problem and one
where, if other security is done well, electronic voting could be a great
improvement over current paper systems. Flaws in any of these aspects

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.

FEATURES OF ELECTRONIC VOING MACHINE:

An Electronic Voting Machine consists of two Units – a Control Unit


and a Balloting Unit – joined by a five-meter cable.
The Control Unit is with the Presiding Officer or a Polling Officer and
the Balloting Unit is placed inside the voting compartment.
Instead of issuing a ballot paper, the Polling Officer in-charge of the
Control Unit will press the Ballot Button.
This will enable the voter to cast his vote by pressing the blue button
on the Balloting Unit against the candidate and symbol of his choice

10
DISADVANTAGES OF EVM:

If we want to engineer a repoll, we can bring an electromagnetic


pulse generator near an EVM and erase its memory.
The EVMs could also be interfered with after the election but before
counting. All electronic circuits are susceptible to electromagnetic
interference. Even when EVMs are kept physically sealed inside a
strong room, an expert who knows the resonant frequencies of the
circuits could remotely send signals from a distance away.
It is also not known what physical shocks EVMs can withstand.
Cost of EVM is also a major drawback.
This system does not avoid the manual work that is associated with
the previous ballot system.

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.

Types of Online voting:


According to our previous definition, we can classify Online voting in two
categories:
A. POLL-SITE VOTING:
This type of electronic voting takes place when voters personally attend
a specific place to cast their votes, usually through electronic devices
such as touch screen voting terminals. The identity of the voter is verified
with conventional methods (IDs, Passports, etc.).

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.

The advantages offered by Online voting:


 Greater speed and accuracy in the tallying of votes.
 Greater savings in material costs in the printing and distribution of
paper ballots.
 Greater accessibility for the disabled.
 Flexibility in the modification of ballot lay outs.
 Support of multiple languages.
 Better access to information regarding voting options.
 Prevention of involuntary errors when filling the ballot.
When the electronic vote is remote, in addition to the previous advantages,
further benefits are provided:

 Economies of scale as the size of the electoral roll increases.


 Greater mobility and convenience for voters.
 Potential increase of participation in the voting process.

The proposed system is a fully web based voting software


solution which makes efficient use of the developments in both Information
Technology and Network Security. With the access control capabilities and the
reliability, the Network Security has tremendously increased in providing
authenticity and security.
FEATURES:

We provide the following features in our secure voting system:

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:

As part of this investigation, feasibility analysis of the project is


conducted Primarily whether a project that was initiated by somebody has to be
considered for further development or not will be decided through preliminary
investigation. When the outcome of this feasibility analysis is fine, then request
for the project is approved. This study will be done in these three areas:
operational, technical and financial. Let us consider each area in brief.

Technical Feasibility:

This test focuses on the feasibility of technical environment required for


the development and implementation of the project. First we have to verify

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

A Use Case is a set of scenarios that describes an interaction


between a user and a system. A Use Case diagram displays the relationships
among actors and use cases. The two main components of a use case diagram
are use cases and actors

Actor Use Case

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

Fig. 4.4 Administrator

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

Fig. 4.5 Voter

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

Mainflow : The voter can register and he vote for


parlament as well as assembly. He
can view the participants details.

Class Diagram

Class Diagrams are widely used to describe the types of objects in a


system and their relationships. Class Diagrams model class structure, and
contents using design elements such as classes, packages and objects.
Classes are composed of three things:

They are as follows:

 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

During analysis of the problem domain, a conceptual model should be


developed based on the real-life entities within the problem space. The entities
in a conceptual model have less to do with the software components of the
system and more to do with the physical entities that are fundamental to the
business. The conceptual model usually illustrates the concepts, the
relationships between them, and the attributes that belong to each concept.
The behavior usually is not represented in this type of model. The conceptual
model is developed from a set of use-cases for the system. The purpose of
building the model is to help identify the entities that most likely will become
classes in the design stage and to help better understand the problem domain.

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

Fig: 4.7 Sequence Diagram

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.

Fig: 4.8 Collaboration Diagram

The above given is the collaboration diagram of the administration


session. Here, we can get the details of the commands according to their
sequence. 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. All the operations can be viewed here according to their
number.

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

Table Name: votingregistration


Fieldname Type Width Description
NSSN Varchar2 30 Foreign key
VOTERID Varchar2 30 Primary key
FIRSTNAME Varchar2 40 Not Null
LASTNAME Varchar2 30 Not Null
Date Date 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

Table Name : tdpparticipents


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

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

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

Table name : bjpparticipents


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

Table name : rudhranethraparticipents


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

Table name : CongrasMP


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

Table name : CongrasMLA


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

Table name : TDPMP

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

Table name : TDPMLA


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

Table name : TRSMP


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

40
POLICERECORD Varchar2 10 Not Null

Table name : TRSMLA


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

Table name :BJPMP


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

Table name :BJPMLA


Fieldname Type Width Description
PARTY Varchar2 30 Not Null
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE 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

Table name : rudhranethraMP


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

Table name : rudhranehraMLA


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

Table name : OthersMP


Fieldname Type Width Description

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

Table name : OthersMLA


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

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.

OVERVIEW FROM USER POINT OF VIEW :

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.

As a result, any election, citizen consultation or electoral process carried out by


electronic means must bear in mind these points and the way to deal with them
effectively. This can only be achieved by an appropriate combination of
physical, procedural and technological measures.

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:

a. Network and systems security


 Protection against non-authorized access (firewalls, user
management...)
 Protection of communications

b. Voters' remote authentication


 Digital signature.
 Biometrics such as Fastest Face Recognition and Fingerprint Punch
Clock.
 PIN codes plus personal data.
c. Assurance of the electoral requirements, considering the existence of
technicians with privileged access to the voting system

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

ARCHITECTURE OF VOTING SYSTEM:

48
Components participating in the Voting process

Now we will examine the components of the Voting System:


* Vote Forwarding Server (VFS) – authenticates the voter with the means of ID-
card, displays the candidates of voter’s constituency to the voter and receives
the encrypted and digitally signed e-vote. The e-vote is immediately sent to the
Vote Storage Server and the confirmation received from there is then forwarded
to the voter. Ends its work after the close of advance polls.
* Vote Storage Server (VSS) – receives e-votes from the VFS and stores them.
After the close of advance polls removes double votes, cancels the votes by
ineligible voters and receives and processes e-vote cancellations. Finally it
separates inner envelopes from outer envelopes and readies them for the Vote
Counting Application.
* Vote Counting Application (VCA) – offline component to which crypted votes
are transmitted with the digital signatures removed. The Vote Counting Server

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.

OVERVIEW OF JAVA TECHNOLOGY

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

Java is loosely based on c++ syntax, and is meant to be Object-Oriented


Structure of java is midway between an interpreted and a compiled language.
The java compiler into Byte Codes, which are secure and portable across
different platforms, compiles JAVA programs. These byte codes are essentially
instructions encapsulated in single type, to what is known as a java virtual
machine (JVM) that resides in standard browser .JVM verifies these byte codes
when downloaded by the browser for integrity. JVM is available for almost all
OS. JVM converts these byte codes into machine specific instructions at
runtime.

 Java is actually a platform consisting of three components


 Java programming language.
 Java library of classes and interfaces.
 Java Virtual Machine.

FEATURES OF JAVA

 JAVA is object-oriented language and supports encapsulation,


inheritance, polymorphism and dynamic binding, but does not support
multiple inheritances. Every thing in java is an object except some
primitive data types.
 JAVA is portable architecture neutral that is java programs once
compiled can be executed on any machine that is enabled.
 JAVA is distributed in its approach and used for Internet programming.

 JAVA is robust, secured, high performing and dynamic in nature.

52
 JAVA supports multithreading. There for different parts of the program
can be executed at the same time.
JAVA IS PORTABLE:

One of the biggest advantages of JAVA offers is that it is portable. An


application written in Java will run on all major platforms. Any computer with a
Java based browser can run the applications or applets written in the Java
programming language. A programmer no longer has to write one program to
run on a Machine, and so on. In other words, with Java, developers write their
programs only once. The virtual machine is what gives Java is cross platform
capabilities rather than being compiled into machine language, which is
different for each Operating Systems and computer architecture, Java code is
compiled into bytes codes. With other languages, the program codes compiled
into language that the computer could understand. The problem is that other
computer with different machine instruction set cannot understand that
language. Java code, on other hand is compiled into byte codes rather than
machine language.

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.

JAVA AND INTERNET:

Java is strongly associated with Internet and known as Internet


programming language.
Internet users can use java to create applet programs and run them
locally using java enabled browser search as hot java. Applets can be
downloaded from remote machine via Internet and run it on local machine.

JAVA AND WORLD WIDE WEB :

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:

Java environment includes a large number of tools, which are a part of


the system known as java development kit (JDK) and hundreds of classes,
methods, and interfaces grouped into packages forms part of java standard
library (JSL).
JAVA ARCHITECTURE:

Java architecture provides a portable, robust, high performing


environment for development. Java provides portability by compiling the byte
codes for the java virtual machine, which are then interpreted on each platform
by the runtime environment. JAVA also provides stringent compile and runtime
checking and automatic memory management in order to ensure solid code.

JAVA VIRTUAL MACHINE:

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:

Servlets provide a Java-based solution used to address the problems currently


associated with doing server-side programming, including inextensible scripting
solutions, platform-specific APIs, and incomplete interfaces.
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 - object byte codes that can be dynamically loaded off the net. They
differ from applets in that they are faceless objects (without graphics or a GUI
component). They serve as platform independent, dynamically loadable,

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:

 They’re faster and cleaner than CGI scripts


 They use a standard API (the Servlets API)
 They provide all the advantages of Java (run on a variety of
servers without needing to be rewritten).

SERVLET LIFECYCLE:
Each servlet has the same life cycle:

 A server loads and initializes the servlet


 The servlet handles zero or more client requests
 The server removes the servlet

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.

When the destroy method runs, another thread might be running a


service request. The Handling Service Threads at Servlet termination section
shows you how to provide a clean shutdown when there could be long-running
threads still running service requests.

USING THE DESTROY METHOD:

The destroy method provided by the HttpServlet class destroys the


servlet and logs the destruction. To destroy any resources specific to your
servlet, override the destroy method. The destroy method should undo any
initialization work and synchronize persistent state with the current in-memory
state.

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.

ADVANTAGES OF THE SERVLET API:


One of the great advantages of the Servlet API is protocol independence. It
assumes nothing about:
 The protocol being used to transmit on the net
 How it is loaded
 The server environment it will be running in

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.

JAVA DATABASE CONNECTIVITY:

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?

Simply put, JDBC makes it possible to do three things:


 Establish a connection with a database
 Send SQL statements
 Process the results.

JDBC VERSUS ODBC AND OTHER APIS

At this point, Microsoft's ODBC (Open Database Connectivity) API is that


probably the most widely used programming interface for accessing relational
databases. It offers the ability to connect to almost all databases on almost all
platforms.
So why not just use ODBC from Java? The answer is that you can use
ODBC from Java, but this is best done with the help of JDBC in the form
of the JDBC-ODBC Bridge, which we will cover shortly. The question now
becomes "Why do you need JDBC?" There are several answers to this
question:

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.

TWO-TIER AND THREE-TIER MODELS:

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)

HTTP, RMI, or CORBA calls


Application
Server (Java)
JDBC Server machine (business

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.

JDBC DRIVER TYPES:

The JDBC drivers that we are aware of at this time fit into one of four
categories:

 JDBC-ODBC bridge plus ODBC driver


 Native-API partly-Java driver
 JDBC-Net pure Java driver
 Native-protocol pure Java driver

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

WHAT IS THE JDBC- ODBC BRIDGE?

The JDBC-ODBC Bridge is a JDBC driver, which implements JDBC operations


by translating them into ODBC operations. To ODBC it appears as a normal
application program. The Bridge implements JDBC for any database for which
an ODBC driver is available. The Bridge is implemented as the

Sun.jdbc.odbc Java package and contains a native library used to access


ODBC. The Bridge is a joint development of Intersolv and JavaSoft

65
JDBC CONNECTIVITY:

The JDBC provides database-independent connectivity between the J2EE


platform and a wide range of tabular data sources. JDBC technology allows an
Application Component Provider to:

 Perform connection and authentication to a database server

 Manager transactions

 Move SQL statements to a database engine for preprocessing and


execution

 Execute stored procedures


 Inspect and modify the results from Select statements.

RESULT SET ENHANCEMENTS:

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

Oracle is a relational database management system, which organizes


data in the form of tables. Oracle is one of many database servers based on
RDBMS model, which manages a seer of data that attends three specific
things-data structures, data integrity and data manipulation. With oracle
cooperative server technology we can realize the benefits of open, relational
systems for all the applications. Oracle makes efficient use of alt systems
resources, on all hardware architecture; to deliver unmatched performance,
price performance and scalability. Any DBMS to be called as RDBMS has to
satisfy Dr.E.F.Codd's rules.

68
DISTINCT FEATURES OF ORACLE

 ORACLE IS PORTABLE :

The Oracle RDBMS is available on wide range of platforms ranging from


PCs to super computers and as a multi user loadable module for Novel
NetWare, if you develop application on system you can run the same
application on other systems without any modifications.

 ORACLE IS COMPATIBLE :

Oracle commands can be used for communicating with IBM DB2


mainframe RDBMS that is different from Oracle, that is Oracle compatible with
DB2. Oracle RDBMS is a high performance fault tolerant DBMS, which is
specially designed for online transaction processing and for handling large
database applications.

 MULTITHREADED SERVER ARCHITECTURE :

Oracle adaptable multithreaded server architecture delivers scalable high


performance for very large number of users on all hardware architecture
including symmetric multiprocessors (sumps) and loosely coupled
multiprocessors. Performance is achieved by eliminating CPU, I/O, memory
and operating system bottlenecks and by optimizing the Oracle DBMS
server code to eliminate all internal bottlenecks.

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 :

These rules are used for valuating a product to be called as relational


database management systems. Out of 12 rules, a RDBMS product should
satisfy at least 8 rules +rule called rule 0 that must be satisfied.

RULE 0 : FOUNDATION RULE :

For any system that is to be advertised are claimed to be relational


DBMS. That system should manage database with in it self, with out using an
external language.

RULE l : INFORMATION RULE :

All information in relational database is represented at logical level in


only one way as values in tables.

70
RULE 2 : GUARANTEED ACCESS :

Each and every data in a relational database is guaranteed to be


logically accessibility by using to a combination of table name, primary key
value and column name.

RULE 3 : SYSTEMATIC TREATMENT OF NULL VALUES :

Null values are supported for representing missing information and


inapplicable information. They must be handled in systematic way, independent
of data types.

RULE 4 : DYNAMIC ONLINE CATALOG BASED RELATION


MODEL :

The database description is represented at the logical level in the same


way as ordinary data so that authorized users can apply the same relational
language to its interrogation as they do to the regular data.

RULE 5 : COMPRHENSIVE DATA SUB LANGUAGE :

A relational system may support several languages and various models


of terminal use. However there must be one language whose statement can
express all of the following : Data Definitions, View Definitions, Data
Manipulations, Integrity, Constraints, Authorization and transaction boundaries.

RULE 6 : VIEW UPDATING :

Any view that is theoretical can be updatable if changes can be made to


the tables that effect the desired changes in the view.

71
RULE 7 : HIGH LEVEL UPDATE INSERT and DELETE :

The capability of handling a base relational or derived relational as a


single operand applies not only retrieval of data also to its insertion, updating,
and deletion.

RULE 8 : PHYSICAL DATA INDEPENDENCE :

Application program and terminal activities remain logically unimpaired


whenever any changes are made in either storage representation or access
method.

RULE 9 : LOGICAL DATA INDEPENDENCE :

Application programs and terminal activities remain logically unimpaired


whenever any changes are made in either storage representation or access
methods.

RULE 10 : INTEGRITY INDEPENDENCE:

Integrity constraints specific to particular database must be definable in


the relational data stored in the catalog, not in application program.

RULE 11 : DISTRIBUTED INDEPENDENCE :

Whether or not a system support database distribution, it must have a


data sub-language that can support distributed databases without changing the
application program.

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.

ORACLE SUPPORTS THE FOLLOWING CODD'S RULES :

Rule 1: Information Rule (Representation of information)- YES.

Rule 2: Guaranteed Access-YES.

Rule 3: Systematic treatment of Null values-YES.

Rule 4: Dynamic on-line catalog-based Relational Model-YES.

Rule 5: Comprehensive data sub language-YES.

Rule 6: View Updating-PARTIAL.

Rule 7: High-level Update, Insert and Delete-YES.

Rule 8: Physical data Independence-PARTIAL.

Rule 9: Logical data Independence-PARTIAL.

Rule 10: Integrity Independence-PARTIAL.

Rule 11: Distributed Independence-YES.

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.

DESIGN PRINCIPLES AND METHODOLOGIES

Software is developed or engineered; it is not manufactured in the classical


Sense.

Software doesn't wear out. Software is not susceptible to the


environmental maladies that cause hardware to wear out. Therefore failure
curve of the Software is not linear. Undiscovered defects will cause high failure
rates rely in the life of a program. However, these are corrected and the curve
flattens down. The idealized curve is a gross simplification of actual failure
models. Although the industry is moving toward component-based assembly,
most software continues to be custom built. When we build a system or
product, it is important to go through a series of predictable steps-a roadmap
that helps you create a timely, high-quality result.

The road map that we follow is called a 'software process' Software


engineers and their managers adapt the process to their needs and then follow
it. In addition, the people who have requested the software play a role in the
software process. The process that we adopt depends on the software we are
building. One process might be appropriate for creating software for an aircraft
avionics system, while an entirely different process would be indicated for the
creation of a web site. The work products constitute documents and data
product as a consequence of the software engineering activities defined by the
process. A number of software process accessbility mechanism enable
organizations to determine the 'maturity' of a software process. However, the
quality, timeliness and long-term availability of the product you build are the
best indicators of the efficacy of the process that we use.

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 :

The application of a systematic, disciplines, quantifiable approach to the


development operation and maintenance of software is the application of
engineering to software. The Study of approaches as the bedrock that supports
the software engineering is the quality focus. Total quality management and
similar philosophies foster a continuous process improvement culture and this
culture ultimately leads to the development of increasingly more mature
approaches to software engineering. The foundation for the software
engineering is the process layer. Process defines a framework for a set of key
process areas that must be established for effective delivery of software
engineering technology.

Software engineering methods provide the technical know how for


building software. Methods encompass a broad array of tasks tat includes
requirements analysis, design, program construction, testing and support.

Software engineering tools provide automated or semi-automated


support for the process and the methods. When tools are integrated so that
another can use information created by one tool, a system for the support of
software development, called computer-aided software engineering, is
established. The work associates with the software engineering can be
categorized into three generic phases, regardless of application area, project
size, or complexity. Each phase addresses one or more of the question. The
definition phase focuses on what. During this phase we attempt to identity what
information is to be processed, what function and performance are desired,

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.

The software engineer attempts to define how data are to be structured,


how function is to be implemented, how interfaces are to be characterized, how
the design will be translated into a programming language and how testing will
be performed. The support phase focuses on change associated with error
correction, adoptions required as the software's environment evolves, and
changes due to enhancements brought about by changing customer
requirements. Four types of change are encountered during the support phase.

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 :

Over time, the original environment (e.g., CPU, Operating System,


business rules, external product characteristics) for which the software was
developed is likely to change. Adaptive maintenance results in modification to
the software to accommodate changes to its external environment. .

ENHANCEMENT :

As software is used, the customer/user will recognize additional


functions that will provide benefit. Perfect maintenance extends the software
beyond its original functional requirements.

80
PREVENTION :

Computer software deteriorates due to change, and because of this,


preventive maintenance, often called software reengineering must be
conducted to enable the software to serve the needs of its end users. In
essence, preventive maintenance makes changes to computer programs so
that can be more easily corrected, adapted and enhanced.

To solve actual problems in an industry setting, a software engineering


or a team of engineers must incorporate a development Strategy that
encompasses the process, methods, and tools layers and the generic phases
discussed above. This strategy is often referred to as process model or a
software engineering paradigm. A process model for software engineering is
chosen based on the nature of the project and application, the methods and
tools to be used, and the controls and Deliverables that are required. All
software development can be characterized as a problem solving loop in which
four distinct stages are encountered; status quo, problem definition, technical
development, and solution integration. Status quo "represents the current state
of affairs'; problem definition identifies the specific problem to be solved;
technology development solves the problem through the application of some
technology, and solution integration delivers the results to those who requested
the solution in the first place.
Regardless of the software project, all of the stages status quo, problem
definition, technical development and solution integration coexist
simultaneously at some level of detail.

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 extent of testing a system is controlled by many factors, such as the


risks involved, limitations on resources, and deadlines. In light of these issues,
we must deploy a testing strategy that does the ’Best’ job of finding defects in a
product within the given constraints. There are many testing strategies, but
most testing uses a combination of these black box testing, white box testing,
top-down testing and bottom-up testing. However, no strategy or combination of
strategies truly can prove the correctness of a system; it can establish only its
acceptability.

Black Box Testing:

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:

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.

Statement Testing Coverage:

The main idea of statement testing coverage is to test every statement in


the objects method by executing it at least once.

Branch Testing Coverage:

The main idea behind branch testing coverage is to perform


enough tests to ensure that every branch alternative has been executed at
least once under some test.

Top-Down Testing:

Top-down testing assumes that the main logic or object interaction


and system messages of the application need more testing than an individual
objects method or supporting logic. A top-down strategy can detect the serious
design flaws early in the implementation. Testing the user-interface using a top-
down approach means testing interfaces navigation. This serves two purposes,
according to conquer. First, the top-down approach can list the navigation
through the screens and verify that it matches requirements. Second, users can
use, at an early stage, how the final application will look and feel.

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.

The users can obtain the required information with ease


and accuracy from the system. Various validation techniques are used to
implement for the accuracy of data for the user. Since the System can be used
bye authorized user only, a level of security is provided.

109
12.BIBILIOGRAPHY

[1] Bryan Basham, Kathy Sierra, Bert Bates, “Head First Servlets &

JSP”

4th Edition, O’Reily Publishers, 2004.

[2] Grady Booch, James Rumbaugh, Ivar Jacobson, “The UML

User Guide” 1st Edition, Addison Wesley, 1998.

[3] Pankaj Jalote, “An integrated Approach to Software

Engineering” 2nd Edition, Narosa Publishing House, 2000.

[4] Roger.S.Pressman, “A Practitioner’s Approach to Software

Engineering” 6th Edition, McGraw-Hill Publishers, 2004.

[5] Herbert Schildt, “ Java 2:Complete Reference”, 5th Edition,

McGraw-Hill Publishers, 2003.

[6] Java Server Programming (J2EE 1.4) Black Book, Kogent solutions

Inc.Dreamtech Press, 2007.

110

You might also like