You are on page 1of 28

Online voting system 1.

INTRODUCTION
In the everyday life most of us indulge with the online transactions. This is because of the rapid improvement in the e-commerce technologies. Internet technologies have conquered each and every sector of today's businesses. Everything from buying to selling, checking bills online, transferring money into different account, sending and receiving emails and even the education industries are getting online. The idea behind developing an online voting system was to improve and speed up the process of traditional way of voting. The eligible voters would be able to vote from any part of the world through the internet. Another big advantage of using online system will be that it would reduce the amount of manpower used to conduct the voting. A voting system is a method by which voters make a choice between options, often in an election. A voting system enforces rules to ensure valid voting, and how votes are counted and aggregated to yield a final result. Common voting systems are majority rule, proportional representation or plurality voting with a number of variations and methods such as preferential voting. Online Voting System is a web based application. Online Voting System is a voting software. It consists of four groups, namely General voter Candidate/Nominee Inspector Administrator

Page 1

Online voting system


As we move on in this project we will go through different stages in the completion of this project. These stages are set down to number of objectives and they are: To look at the current system of voting i.e. traditional way. Investigate the other kinds of technologies that are live in voting process. Analyses of the system. Design the new system. Develop the database of the system. Develop the front end of the system Test the system. Implementation of the system.

Page 2

Online voting system 2. LITERATURE REVIEW


This section of the report will discuss the traditional voting system, the way it is used to conduct the election. The issues with the traditional system that inspires to develop an online application for this purpose. Then this report throw the light on what online voting system is and reason to develop such application. This is done by filling up the voter registration form. This form is available at the local councils and these days also available online. These details are kept in electoral registers. If the voter does not have his details already registered in the electoral register, he can fill this form either by hand and post it to the Local council or fill it online and submit it there and then. Deadline for registering the vote is also set which is normally two weeks before the Election Day. In the last twelve years since the technological boom, advanced technology has allowed individuals to cast votes over the internet for elections. In one study, Mieke Loncke and Jos Dumortier conducted an evaluation of an online voting system that was implemented in Geneva and concluded that participation among voters increased by twenty percent after government officials implemented online voting (73). Since then, researchers and security experts have looked at past incidents regarding security issues with voting online. This review provides an insight on the evolution of the debate regarding online voting and its security landscape.

Page 3

Online voting system 3. TECHNICAL DETAILS ABOUT PROJECT


Front end : HTML ,JSP Back end : MYSQL System Requirement :
Hardware : 1.RAM-512MB 2.Hard disk-250GB 3.Processor-2.10GHz

Software : jdk 1.7.0 , NETBEANS 7.3.1 MYSQL

Page 4

Online voting system 4. FIGURES


4.1 E-R DIAGRAM

4.1 Fig.E-R Diagram Above is the E-R diagram of online voting system.In this there are four attributes namely voter,nominee,administrator,and inspector. The voter has three entities namely v_name i.e.Voter name,v_id i.e. voter id,and voter address.The address again has three sub-entities i.e. city,state and street.The admistrator,inspector and nominee also have the same attributes such as administrator id,administrator name,inspector id,inspector name,nominee id,nominee name and also they have the same entity i.e. their addresses.The relationship between the attributes are shown with the help of diamond shape.The administrator is the head in the voting process. The administrator suggests/appoints an inspector.The inspector can take watch/ inspects the voter and the nominee.The inspector and the administrator also have the right to block the voter if the voter is performing any illegal task. The voter can see the profile of the nominee to decide that to whom the vote is to be given.

Page 5

Online voting system

4.2 DATA FLOW DIAGRAM

4.2 Fig.Data Flow Diagram The general online voting system has been divided into six phases. These are Registration Authentication Voting and saving the votes Managing the votes Counting the votes Auditing In the first phase of the registration the voters are registered and given the login details to log into the system.

Page 6

Online voting system


In the second phase the voters are authenticated by the system and verified if the voter has the right to access the system. In the third phase the voters cat the votes and the system saves the votes into the system. In the fourth phase votes are managed, sorted and prepared for the counting. In the fifth phase the votes are decrypted and counted. In the sixth and the final phase the system checks whether he eligible voters voted and if their votes counted for the final tally.

4.3 USE CASE DIAGRAM

4.3 Fig.Use Case Diagram The voting system consist of four groups : Voter Inspector Administrator Nominee

Page 7

Online voting system

4.3.1 Voter:

Fig 4.3.1 Voter Voter is a person who is able to give the vote to the nominee for giving the vote the voter can also see the profile of the nominee to decide that to whom the vote is given 4.3.2 Inspector:

Fig 4.3.2 Inspector


Page 8

Online voting system

Inspector is a person who is appointed by the Administrator to inspects all the voting process. If the voter can give the vote illogically or without any Id proof then the inspector may block that particular voter. Inspector can take the advice from the Administrator.

4.3.3 Nominee:

Fig 4.3.3 Nominee Nominee is a person to whom the voter is giving the vote. The nominee have the particular Id by using this Id the voter can easily give the vote to the particular nominee as they want.

Page 9

Online voting system


4.3.4 Administrator:

Fig 4.3.4 Administrator Administrator have all the right about voting. The Administrator calculate the votes at the end of the voting process and display the result. The Administrator may block the voters if some illegal activities are performed.

Page 10

Online voting system

Chapter 2- Hardware/ Software requirements:


TOOLS:

FRONT-END BACK-END

: :

NETBEANS 6.8 MYSQL SQL

PLATFORM:

WINDOW XP.

HARDWARE AND SOFTWARE ENVIRONMENT


HARDWARE ENVIRONMENT:

PROCESSOR RAM STORAGE CAPACITY

: : :

Pentium Dual Core II G (2.0 GHZ) 2 GB 500GB

Page 11

Online voting system

Technical Feasibility
The Technical Feasibility of the software system developed is centered around the existing computer system (hardware and software etc.) and to what extent it can support the proposed addition. Its various aspects are discussed hereby.

Hardware Feasibility
The hardware feasibility of the software under development will be as a under

1. The present hardware setup of the organization may be sufficient for running the software applications to be developed.

2. System Support Group of the company provides the entire hardware requirement for the proposed system as and when needed.

3. Two servers will be used to manage the application.

Software Feasibility

The software feasibility of the software under development can be stated as under:

1. The new application requires .Net framework 1.1 which is available in the company.

2. System Support Group of the company provides the entire software requirement for the proposed system as and when needed.

Page 12

Online voting system Economic Feasibility: Cost and Benefit Analysis


The Economic Feasibility study or the Cost / benefit analysis gives the picture of various costs and benefits and rules associated with the system. The various costs and benefits associated with the system under development will be as under. The feasibility will evaluate over a five-year period.

Costs:

Since it is an External project for the company, there will be cost benefit analysis in terms of resources according to the company policy, which cannot be declared.

Moreover the application being developed will assume Windows NT as its server and license from Microsoft for .Net.

Benefits:

1. Since it is an External project for the company, it help company in achieving financial support for further company development.

2. It helps client to sale the product to the property managers around the world.

3. It overall helps the community in managing the things like property.

Operational Feasibility
The Operational Feasibility of the system relates to the fact that, to what level the proposed system is able to achieve its objectives, for which it is designed. The various factors that decide the operational feasibility of the system are as under: System Performance Growth Potential Page 13

Online voting system


User friendliness / User Training Security Issues

System Performance

The proposed system would be able to achieve the required performance level, it will be meant to achieve. System Performance can be classified into two major components namely:

System Response Time The Response Time for fetching the data and displaying on the interface of the entire system is likely to be minimal. System Accuracy

The system under design is accurate to the desired level in its operations. The user interface provides all the desired information related to that interface accurately.

Growth Potential Since the proposed system is likely to be designed using object oriented approach in such a way that it can be expanded and made more powerful with the changing requirements of the user as and when needed.

Security issues The System designed gets login id and password of the end user automatically from his login and displays the relevant screen for him/her. The application has its data in the MS-Access database, which is Run in only Office 2000 and Operating sytem will be Windows 2000 professional. Appropriate backup of the code and the database will be regularly taken, so as to not have a crisis situation in the event of a server crash. Page 14

Online voting system

Page 15

Online voting system

SYSTEM ANALYSIS
In software engineering the SDLC concept underpins many kinds of software development methodologies. These methodologies form the framework for planning and controlling the creation of an information system the software development process.

Systems development phases


The System Development Life Cycle framework provides system designers and developers to follow a sequence of activities. It consists of a set of steps or phases in which each phase of the SDLC uses the results of the previous one. A Systems Development Life Cycle (SDLC) adheres to important phases that are essential for developers, such as planning, analysis, design, and implementation, and are explained in the section below. A number of system development life cycle (SDLC) models have been created: waterfall, fountain, spiral, build and fix, rapid prototyping, incremental, and synchronize and stabilize. The oldest of these, and the best known, is the waterfall model: a sequence of stages in which the output of each stage becomes the input for the next. These stages can be characterized and divided up in different ways, including the following Project planning, feasibility study: Establishes a high-level view of the intended project and determines its goals.

Systems analysis, requirements definition: Refines project goals into defined functions and operation of the intended application. Analyzes end-user information needs.

Systems design: Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudocode and other documentation.

Implementation: The real code is written here. Integration and testing: Brings all the pieces together into a special testing environment, then checks for errors, bugs and interoperability.

Acceptance, installation, deployment: The final stage of initial development, where the software is put into production and runs actual business. Page 16

Online voting system

Maintenance: What happens during the rest of the software's life: changes, correction, additions, moves to a different computing platform and more. This, the least glamorous and perhaps most important step of all, goes on seemingly forever.

System analysis The goal of system analysis is to determine where the problem is in an attempt to fix the system. This step involves breaking down the system in different pieces to analyze the situation, analyzing project goals, breaking down what needs to be created and attempting to engage users so that definite requirements can be defined. Requirements analysis sometimes requires individuals/teams from client as well as service provider sides to get detailed and accurate requirements....often there has to be a lot of communication to and from to understand these requirements. Requirement gathering is the most crucial aspect as many times communication gaps arise in this phase and this leads to validation errors and bugs in the software program. Design In systems design the design functions and operations are described in detail, including screen layouts, business rules, process diagrams and other documentation. The output of this stage will describe the new system as a collection of modules or subsystems. The design stage takes as its initial input the requirements identified in the approved requirements document. For each requirement, a set of one or more design elements will be produced as a result of interviews, workshops, and/or prototype efforts. Design elements describe the desired software features in detail, and generally include functional hierarchy diagrams, screen layout diagrams, tables of business rules, business process diagrams, pseudocode, and a complete entity-relationship diagram with a full data dictionary. These design elements are intended to describe the software in sufficient detail that skilled programmers may develop the software with minimal additional input design Implementation Modular and subsystem programming code will be accomplished during this stage. Unit testing and module testing are done in this stage by the developers. This stage is intermingled with the next in that individual modules will need testing before integration to the main project. Testing The code is tested at various levels in software testing. Unit, system and user acceptance testings are often performed. This is a grey area as many different opinions exist as to what the stages of

Page 17

Online voting system


testing are and how much if any iteration occurs. Iteration is not generally part of the waterfall model, but usually some occur at this stage. Following are the types of testing:

Defect testing Path testing Data set testing. Unit testing System testing Integration testing Black box testing White box testing Regression testing Automation testing User acceptance testing Performance testing Production process that ensures that the program performs the intended task.

Operations and maintenance The deployment of the system includes changes and enhancements before the decommissioning or sunset of the system. Maintaining the system is an important aspect of SDLC. As key personnel change positions in the organization, new changes will be implemented, which will require system updates.

Systems Analysis and Design


The Systems Analysis and Design (SAD) is the process of developing Information Systems (IS) that effectively use of hardware, software, data, process, and people to support the companys business objectives.
[Phases

System Analyst (IT Department) analyzes, and implements information systems, researches problems, plans solutions, recommends software and systems, and coordinates

development to meet business or other requirements.

Page 18

Online voting system

Analysis is an investigation, careful assessment, study, a research, observations, and understanding the situation or a problem. Design is the process of finding solution to the problem, recommending solution creating blueprints and alike.

SOFTWARE/PACKAGE USED
A high-level programming language developed by Sun Microsystems. Java was originally called OAK, and was designed for handheld devices and set-top boxes. Oak was unsuccessful so in 1995 Sun changed the name to Java and modified the language to take advantage of the burgeoning World Wide Web. Java is an object-oriented language similar to C++, but simplified to eliminate language features that cause common programming errors. Java source code files (files with a .java extension) are compiled into a format calledbytecode (files with a .class extension), which can then be executed by a Java interpreter. Compiled Java code can run on most computers because Java interpreters and runtime environments, known as Java Virtual Machines (VMs), exist for most operating systems, including UNIX, the Macintosh OS, and Windows. Byte code can also be converted directly into machine language instructions by a just-in-time compiler (JIT). Java is a general purpose programming language with a number of features that make the language well suited for use on the World Wide Web. Small Java applications are called Java applets and can be downloaded from a Web server and run on your computer by a Javacompatible Web browser, such as Netscape or Microsoft Internet Explorer.

Java is a programming language originally developed by James Gosling at Sun Microsystems (which is now a subsidiary of Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from Cand C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode (class file) that can run on any Java Virtual Machine (JVM) regardless of computer architecture. Java is a general-purpose, concurrent, classbased, object-oriented language that is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere". Java is currently one of the most popular programming languages in use, and is widely used from application software to web applications.

Page 19

Online voting system


The original and reference implementation Java compilers, virtual machines, and class libraries were developed by Sun from 1995. As of May 2007, in compliance with the specifications of the Java Community Process, Sun relicensed most of its Java technologies under the GNU General Public License. Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java, GNU Classpath, and Dalvik.

Principles of Java
There were five primary goals in the creation of the Java language:
1. It should be "simple, object oriented, and familiar". 2. It should be "robust and secure". 3. It should be "architecture neutral and portable". 4. It should execute with "high performance". 5. It should be "interpreted, threaded, and dynamic".

Java Platform
One characteristic of Java is portability, which means that computer programs written in the Java language must run similarly on any supported hardware/operating-system platform. This is achieved by compiling the Java language code to an intermediate representation called Java bytecode, instead of directly to platform-specific machine code. Java bytecode instructions are analogous to machine code, but are intended to be interpreted by a virtual machine (VM) written specifically for the host hardware. End-users commonly use a Java Runtime Environment (JRE) installed on their own machine for standalone Java applications, or in a Web browser for Java applets. Standardized libraries provide a generic way to access host-specific features such as graphics, threading, and networking. A major benefit of using bytecode is porting. However, the overhead of interpretation means that interpreted programs almost always run more slowly than programs compiled to native executables would. Just-in-Time compilers were introduced from an early stage that compile bytecodes to machine code during runtime. Over the years, this JVM built-in feature has been optimized to a point where the JVM's performance competes with natively compiled C code.
Page 20

Online voting system

Implementations Sun Microsystems officially licenses the Java Standard Edition platform for Linux, Mac OS X,and Solaris. Although in the past Sun has licensed Java to Microsoft, the license has expired and has not been renewed. Through a network of third-party vendors and licensees,[24] alternative Java environments are available for these and other platforms. Sun's trademark license for usage of the Java brand insists that all implementations be "compatible". This resulted in a legal dispute with Microsoft after Sun claimed that the Microsoft implementation did not support RMI or JNI and had added platform-specific features of their own. Sun sued in 1997, and in 2001 won a settlement of US$20 million, as well as a court order enforcing the terms of the license from Sun.As a result, Microsoft no longer ships Java with Windows, and in recent versions of Windows, Internet Explorer cannot support Java applets without a third-party plugin. Sun, and others, have made available free Java run-time systems for those and other versions of Windows. Platform-independent Java is essential to the Java EE strategy, and an even more rigorous validation is required to certify an implementation. This environment enables portable serverside applications, such as Web services, Java Servlets, and Enterprise JavaBeans, as well as with embedded systems based on OSGi, using Embedded Java environments. Through the new GlassFish project, Sun is working to create source implementation of the Java EE technologies. a fully functional, unified open

Sun also distributes a superset of the JRE called the Java Development Kit (commonly known as the JDK), which includes development tools such as the Java compiler, Javadoc, Jar, and debugger. Performance Programs written in Java have a reputation for being slower and requiring more memory than those written in C.However, Java programs' execution speed improved significantly with the introduction of Just-in-time compilation in 1997/1998 for Java 1.1,the addition of language features supporting better code analysis (such as inner classes, StringBuffer class, optional assertions, etc.), and optimizations in the Java Virtual Machine itself, such as HotSpot becoming the default for Sun's JVM in 2000. To boost even further the speed performances that can be achieved using the Java language, Systronix made JStik, a microcontroller based on the aJile Systems line of embeddedJava processors. In addition, the widely used ARM family of CPUs has hardware support for executing Java bytecode through its Jazelle option.
Page 21

Online voting system

Automatic memory management Java uses an automatic garbage collector to manage memory in the object lifecycle. The programmer determines when objects are created, and the Java runtime is responsible for recovering the memory once objects are no longer in use. Once no references to an object remain, the unreachable memory becomes eligible to be freed automatically by the garbage collector. Something similar to a memory leak may still occur if a programmer's code holds a reference to an object that is no longer needed, typically when objects that are no longer needed are stored in containers that are still in use. If methods for a nonexistent object are called, a "null pointer exception" is thrown. One of the ideas behind Java's automatic memory management model is that programmers can be spared the burden of having to perform manual memory management. In some languages, memory for the creation of objects is implicitly allocated on the stack, or explicitly allocated and deallocated from the heap. In the latter case the responsibility of managing memory resides with the programmer. If the program does not deallocate an object, a memory leak occurs. If the program attempts to access or deallocate memory that has already been deallocated, the result is undefined and difficult to predict, and the program is likely to become unstable and/or crash. This can be partially remedied by the use of smart pointers, but these add overhead and complexity. Note that garbage collection does not prevent "logical" memory leaks, i.e. those where the memory is still referenced but never used. Garbage collection may happen at any time. Ideally, it will occur when a program is idle. It is guaranteed to be triggered if there is insufficient free memory on the heap to allocate a new object; this can cause a program to stall momentarily. Explicit memory management is not possible in Java. Java does not support C/C++ style pointer arithmetic, where object addresses and unsigned integers (usually long integers) can be used interchangeably. This allows the garbage collector to relocate referenced objects and ensures type safety and security.
As in C++ and some other object-oriented languages, variables of Java's primitive data types are not objects. Values of primitive types are either stored directly in fields (for objects) or on the stack (for methods) rather than on the heap, as commonly true for objects (but see Escape analysis). This was a conscious decision by Java's designers for performance reasons. Because of this, Java was not considered to be a pure object-oriented programming language. However, as of Java 5.0, autoboxing enables programmers to proceed as if primitive types were instances of their wrapper class. Page 22

Online voting system 5. TESTING


Testing is the last stage of software development before we are release the product to the customer. During testing we try to make sure that the product does exactly what it is suppose to do. It is the culmination of our efforts to produce a high quality product, and it depends on work products reaching back to the standards and verification plans we develop during the analysis and specification stages.

5.1 UNIT TESTING


In unit testing, we have to focus on the smallest unit of the software design.Unit testing is normally considered as an adjunct to the coding step.The design of unit tests can be performed before coading begins or after source code has been generated. A review of design information provides guidance for establishingmtest cases that are likely to uncover errors in each of the categories earlier.Each test case should be coupled with a set of expected results. In most applications a driver is nothing but amain program that accept test case data,passes such data to the component ,and prints relevant results

Page 23

Online voting system 6. ADVANTAGES

Convenience: Online voting system will provide citizens the comfort of voting from their own place at their own time. This will also helps citizens who are abroad and using special mail ballot to send their vote. Also the people who are out of the country for the military services can be advantaged by this project. Security: The importance of security in elections cannot be overstated. The future of the country and the people residing there depends on it. The acceptance of the online voting system depends upon how secure the online voting system is? Online voting has serious threats from the hacker and everyone who has intention to fraud in the elections. Appeal to young voters: Online voting would appeal young voters to vote. The voter turnout among young people is particularly low. The Canadian survey shows that 64% of the young voters who did not vote would prefer to vote online. Reduce the expenses: The online voting system will help reduce the expenses involved in the setting up the polling sites and saves money in printing and mailing the paper ballot. It will also reduce the expenses on the manpower. Speed is high: As it is an web based application to count the votes rapidly.

Page 24

Online voting system FUTURE SCOPE


The online voting system is the vast area to improve and research on. This is the reason that none of the countries have actually fully adopted this system on the behalf of the paper based system. If more time is allowed we would like to change and improve lot in this system. we would like to introduce the admin side in the application so that the same system could be used for different polls. we will try to make admin side user friendly so that it is each for the administrator to create new polls, edit the existing polls by simply using the forms. This will save lot of time and resources for the end users. Another thing we would like to work on this project is that we would like to create the ballot paper that have area names and the candidates participating in that area. we would also like to work on the security of the applications. we will work more on the cryptographic and encryption technologies that could be implemented to improve the system's security. The system can be made more user friendly by adding technologies like speech recognition for the people with the disabilities.

Page 25

Online voting system CONCLUSION


This project offers the voters to vote easily through internet. Vote counting is also made easy by the OVS .After registration, the voter is assigned a secret Username and Password with which people can use to log into the system and enjoy services provided by the system such as voting. Only the administrator can have the permission to check the result. If individual/wrong details are submitted then the citizen is not register to vote. This project has given vast knowledge on the different computing technologies .We have learned a lot during the implementation of this system. We also studied about the data flow diagram, E-R diagram and use case diagram and also studied about overall procedure of voting. During the implementation of this project we also know about which testing type is useful or beneficial for this project.

Page 26

Online voting system REFERENCES

WEBSITES:
http://www.fec.gov/pages/lever.htm http://avirubin.com/e-voting.security.html

BOOKS:

JAVA PROGRAMMING (By: E Balagurusamy) DATABASE MANAGEMENT SYSTEM (By: Arun K.Majumder)

Requirement:
On the first page of HTML,we want multiple options for voting such as college voting, mayor,In online voting system, the particular person stand for the election i.e Nominee is fill up the registration form then submit the form. Then administrator select the perticular persons who satisfy all the condition of the nominee. The person who register for the voter he\she assign the secret user name and password. Condition for the registration is that the person completed 18 years of age.

Page 27

Online voting system

Page 28

You might also like