Professional Documents
Culture Documents
Online Voting System Using Python
Online Voting System Using Python
Online Voting System Using Python
1
TABLE OF CONTENT
INTRODUCTION 3–5
PROJECT ANALYSIS 6 – 10
CONCLUSION 50
2
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.
Purpose of project:
Scope of project:
Background of Study
In every democratic setting with persons of differing and inconsistent opinions, decisions
must be made between several options. This happens in business environment, educational
environment, social organizations, and mostly in governance. One of the ways of making
such a decision is through voting. Voting is a formal process of expressing individual
opinions for or against some motion. In the governance sector of many organisation this
process is always used as a means of selecting or electing a leader. One of the key areas
where voting is applied is in election. Election is the formal process of selecting a person for
public office or of accepting or rejecting a political proposition by voting.
3
Voting System Overview
Voting as a term encompasses a broad range of voting systems that apply elements in one or
more steps of the cycle. There are many levels to voting in a broad sense which could be
collation, verification, internet voting, remote online voting e.t.c. Following the definition of
a system as anything that takes an input and gives an output, an voting system is any system
that can offers both electronic and online voting. It could also incorporate registration,
verification, collation, remote online voting and real-time result display. An voting system
generally comprises the following for it to work efficiently:
Voting system serves to reduce the cumulative costs of running and increase voters
participation in election system as it offers voters an easy and convenient way to vote and
most importantly, it is a panacea to the issue of long distances covered by voters to a specific
destination for their votes to be counted, and also it combat the issues of ballot box snatching
which is rampart in the conventional election process.
Problem Statement
The present voting system applicable has proved inefficient as the voters’ registration
process is slow, the manual collation of results takes time and gives room for result
manipulation, also the inaccessible nature of election venues which includes the long
distances to be covered by voters’ to their registered location increases voters’ apathy
towards the election processes, and finally the issues of ballot box snatching and damage
4
and other election violence and issues associated with the traditional ballot paper voting all
defiles the purpose of voting in election process as a formal process of expressing individual
opinions for or against some motion.
In the quest to design a successful system to tackle the issues stated in the problem
statement, the aim and objectives of the project are outlined below.
Aim
The aim of this project is to design and implement a low cost automated real-time voting
system.
Objectives
2. Design and develop a software platforms for voter registration, election voting,
real-time election results collation and monitoring and mostly for voters remote
access to elections.
3. Design and develop an administration dashboard for the election administrators.
4. Run simulations and compare the results of the designed voting system and other
voting systems.
5
PROJECT ANALYSIS
Existing system:
The voter has to visit the booths to vote a candidate so there is wastage of time.
The voter has to manually register into the voter List. Also vote counting has to be done
manually.
All the information of the voter or candidate is to be filling in manually.
Voter must be present in his/her constituency to give his/her vote.
The existing system of Election is running manually.
There are electronic voting machines used which increases the cost of carrying out the
election.
Proposed system:
o Security
o Booth capturing
6
SOFTWARE SYSTEM CONFIGURATION:
FEASIBILITY STUDY
Feasibility study is an essential part for developing any software we study present
manual system, we calculation to cot required for maintaining various record.
The space required for keeping the cost of manual staff and time required for manual
system was more.
A feasibility study is carried out to select the best system that must performance
requirement and its working ability in an organization. The feasibility of the system has been
done in five types:
7
Operational feasibility:
The system must be evaluated from the technical point of view. The assessment of
this feasibility must be based on an outline design of the system requirement in the terms of
input, output, programs and procedures, Having identified an outline system, the
investigation must go on suggest the type of equipment, required method developing the
system, of running the system once it has been designed.
Considering various user for the application w have done operational feasibility of the
proposed operationally and easy to use by the users. The application must capable of
performing some automatic operation which helps the user for easy functionality
Operational feasibility measures how well the solution will work in the organization
and how will end-user & management feels about the system? Proposed system as helpful for
all the stakeholders associated with the organization. It will allow the employees to have up-
to-date information regarding all the aspects of their respective departments. The decision-
making process will also become faster with the use of data integration, consolidation and
computation power available at all the nodes in the organization.
On studying the operational feasibility of the project, the following conclusions could
be derived.
Developed system will provide the adequate throughput and all necessary
information to end-users.
It will provide efficient and cost-effective access to up-to-date data.
If installed within suitable environment, system will do operations under
environment of limited resources.
Thus, it is operationally feasible to develop the propose system.
8
Technical feasibility:
Technical feasibility tries to answer the following questions to make the software
feasible to develop.
The software or tools necessary for building or running the application are easily
available or not?
The compatibility amongst software exists or not?
Are developers aware of these technologies?
What about the alternative of these chosen technologies?
Schedule feasibility:
Projects are initiated with specific deadline. We need to evaluate whether the
deadlines are mandatory or desirable. Time is the one of the critical factor in the development
of any system but this kind of feasibility is hardly perfect in any system.
9
Economical feasibility:
The developing system must be justified by cost and benefit. Criteria to ensure that
effort is concentrated on project, which will give best, return at the earliest. One of the
factors, which affect the development of a new system, is the cost it would require.
The following are the some of the important financial questions asked during
preliminary investigation:
Since the system is developed as part of project work, there is no manual cost to
spend for the purposed system. Also the resources are already available, it give an indication
of the system is economically possible for development.
Implementation feasibility:
Under the study of Implementation feasibility, we’ve got to draw the finger to the
certain issues, like
10
METHODOLOGY AND SYSTEM DESIGN
Dataflow diagram:
LEVEL 1 DFD:
11
Fig: level DFD
LEVEL 2 DFD:
12
DFD FOR VOTING:
LEVEL 2 DFD:
13
DFD FOR ADMINISTRATOR
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. Vote
1 Administrator
Party Description
Parliament Participants
Administrator
Assembly Participants
Fig. Administrator
Description:
15
This is the use case for the administrator in which he can perform various operations
like enter party description, parliament participant’s details and assembly participant 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.
Post conditions:
The administrator can perform various operations like enter party description,
parliament participant’s details and assembly participant’s details
Main flow:
2. Voter
Registration
Parliament vote
Assembly vote
Fig. Voter
Description:
16
This is the usecase for the Voter where the voter can register and he vote for
parliament as well as assembly. He can view the participant’s 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 parliament as well as assembly. He can view
the participant’s 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:
Name
Attributes
Operations
17
Conceptual Model
Party’s
MP and MLA Records according to party Description
-Name: char -Party Name: char
-Age: int Administrator -MP Name: char
-Birth place: char
-Participating place: char
- UserName: Char -MLA Name: char
- Password: Char
getUserName ( ) . getPartyDetails ( )
-Educational Back ground: char getPartyMP ( )
-Property value: int getPartyMLA ( )
get Password ( )
-Police Record: char setPartyMessage ( )
getLeaderMessage ( )
setParticipantDesc ( )
getMPParticipantDetail ( )
getMLADetails ( )
getPoliceRecords ( ) Enter Data
setPoliceRecords( )
getEducationRecord ( ) Registration
setEducationRecord () -NSSN: varchar
getPropertyValue( ) -First Name: char
setPropertyValue( ) -Last Name: char
-Date of birth: int
-Division: char
-Village: char
voter
-Enter Vote
getPartyDe
getPartyDetails ( ) tails ( )
getPartyMP ( )
getPartyMLA ( )
getNssn ( )
setNssn ( )
getVoterId( )
setVoterId( )
getDateofBirth( )
setDateofBirth( )
getDivision( )
setDivision( )
getVellage( )
set
18
Conceptual Model
19
Party Diagram:
-Age: int
Registration
-NSSN: varchar
-First Name: char
-Last Name: char
-Date of birth: int
-Division: char
-Village: char
20
Sequence Diagrams
These are the diagrams, which uses the objects of the classes and shows the action sequence.
With these diagrams, we can know the sequence of the commands.
When the administrator enters the username and password then the database is
verified and if these are valid, then the administrator can get the administrator session. Here,
he can add the data and he can modify the files. The arrows shown in the diagrams will tell us
about the command from one operation to another operation class. The tail of the arrow
contains from class and the head of the arrow contains to the class.
21
Collaboration Diagrams
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.
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.
22
Database Design
NSSN Registration:
Voting Registration:
Congo participants
Tdpparticipents:
23
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
Fig4.6.4 Table Name: tdpparticipents
Trsparticipents:
Trsparticipents:
Bjpparticipents:
Rudhranethraparticipents:
24
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
Fig4.6.8 Table name:rudhranethraparticipents
Otherparticipents:
CongrasMP:
Congress MLA:
25
TDPMP:
TDPMLA:
TRSMP:
26
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null
TRSMLA:
BJPMP:
BJPMLA:
27
Fig4.6.17 Table name:BJPMLA
RudhranethraMP:
RudhranehraMLA:
OthersMP
OthersMLA
28
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
Methodology
Research purpose
In the information age, it seems that the application of information technology is an in-
dispensable tendency for the evolution of organizations in 21st century, regardless of public
or private organizations. The application of information technology into public affairs
briefly includes the electronic democracy, which is governance-oriented, and government,
which is service-oriented. Voting being a vital part of the services being offered by
Government would lead the application of information technology to improve the efficiency
of public sector obviously and the participation of the citizen through the electronic forum.
The purpose of this research is to identify the factors affecting the election process in the
ways they can be eliminated.
Research approach
There are two main research approaches used in scientific work, quantitative and qualitative.
The main difference between these two is that the aim of quantitative research is to find
explanation to a phenomenon or a situation that can be generalized to other people and
places while in qualitative research the aim is to gain deeper understanding of a phenomena
or a situation.
29
Quantitative approach will be used to discover the issues that threatens the election process
in especially as it relates to voters.
We are making use of existing data already collected by previous literature on Nigerian
elections to analyze the election process and derive a conclusion on how to eliminate the
issues.
Research conclusion
Based on the reviewed data collected on previous conducted elections in the main issue with the
election was the issue of voters apathy towards the electoral system which is as result of many factor
such as inaccessible registration and voting venue, election violence that could lead to loss of lives,
result manipulation and so on.
A system that serves to increase voters participation in the electoral process is the remedy to these
issues at hand. Voting system serves to provide a remedy for the inaccessible registration and voting
venue as eligible citizens can be registered and vote at their place of residence for their votes to
count for their particular place of origin. It also provides a means to eliminate ballot box snatching as
votes are counted as they are cast. There is also less room for result manipulation because the result
get updated and displayed to all as votes are being counted.
Several system development methodologies are suitable for this project, they are briefly discussed
below.
Table: Selection based on project requirement and type of project with associated risk
Do we change Yes No
requirements No No
quite
often?
Can we define No Yes
requirements Yes Yes
early
in the cycle
Requirements are Yes Yes
indicating a No No
complex system
to be built
Project type and risk
31
Are resources (time, No No No
money, people, etc) Yes
scarce?
From figure above, the steps for a waterfall model can be briefly explained as:
Requirements analysis and specification: The first phase involves understanding what
needs to design and what is its function, purpose, etc. Here, the specifications of the input
and output or the final product are studied and marked.
System Design: The requirement specifications from the first phase are studied in this phase
and system design is prepared. System Design helps in specifying hardware and system
requirements and also helps in defining overall system architecture.
Implementation and Testing: With inputs from system design, the system is developed and
constructed and tested.
32
Integration and System Testing: The system is deployed and tested in the environment of
operation. Operation and Maintenance: This step occurs after installation, and involves
making modifications to the system or an individual component to alter attributes or
improve performance.
The requirements for an voting system to be developed to model the election at the Federal
level and provide a remedy to voters’ apathy is itemized below as:
2. The system should allow voters to be able to register against their place of origin
from any place of residence or convenience.
3. The system should permit voters to be able to vote for their place of origin from
any place of residence or convenience.
4. The registration and collection of voters card should be done at once.
7. The system administrative dashboard for administrators should have access control.
8. The system electronic device should have a local database for verification purpose.
9. The system electronic device should have a built-in battery storage capability.
33
10. The votes should be transmitted over a secured wireless protocol.
System Design
The design of the system to meet the requirements above is depicted in the system block
diagram as shown in figure below and the system flowchart is shown below too in figure.
34
Figure 3.4: System Functional Flowchart
As can be seen above in figure 3.3, the system block diagram can be divided into;
1. Software design
2. Hardware design
Software Design
The software consists of all the software platforms needed for the system functioning and
their interactions. The figure below shows a block diagram of the software part of the
system.
35
Figure: Software Design Block Diagram
Administrator Dashboard
36
Figure: Flowchart of Administrator Dashboard
The Administrator dashboard has four sections of which basic CRUD operations can be
performed on their corresponding data. These sections are:
Voters
Admin
Election
Device
Registration Platform
37
This is where the voters are registered prior to an election. The setup of the registration
platform consists of a computer running Windows operating system and must have the
following peripherals:
A card reader
A fingerprint scanner
A camera
The registration software application has features the enables voters registration, which
involves collecting voters data and storing the data in the database through the server. It
interfaces with other built-in programs to be able to interact with the fingerprint scanner,
card reader and camera hardware used for capturing different user data. The program
flowchart is shown below.
38
Figure : Flowchart for Voter
Registration
1. Voter names
2. Gender
3. Date of Birth
4. State
6. Phone number
7. Email
8. Marital status
9. Occupation
10. Fingerprints
Voting Interface
The voting interface is the software that will run. The flowchart for the voting interface is
shown below.
39
Figure: Flowchart of Voting Interface
Result Interface
The result interface design is such that anyone can have access to election results, hence
no authentication is required to access this service. Nevertheless, data is transmitted over
secure protocols to insure integrity of the results being shown. The result interface
program flowchart is shown below.
40
Figure : The Result Interface Flowchart
Database
41
Figure : E-voting System ER Diagram
MODULE DESCRIPTION
Voting Form:
There is voting form in the project through which the voter can vote to the candidate
which they want to give but before that voter have to fill various details about him after fill
42
the information they get unique number by this help of that unique number voter can give his
vote to member that are participating in elections.
Party form:
There another form known as party form in this form there are different party and
very details about party the member that standing in election and the information like agenda
and leader message, party details.
Member form:
Member form in this form there is information about member for example like
background, financial background, police background.
In this form voter have to login and after getting in the project voter can vote and
have to fill details about him/her and very single details about him after fill information he
get unique number and then he can vote.
In this form the voter can choose different party and then they can give vote to
different party they have many opinions and can choose the right party and can give the vote.
In this form all details about the party and history about the party and the member
who are practicing for them and the member which they have giving sit for different post like
MLA/MP.
Result form:
This is the last form. In this form voter get the information that he had vote for the
party successful and there is a thank you page in the end.
43
FUTURE SCOPE & LIMITATION
Future scope:
44
Over the years, there have been many issues relating to electronic voting and
electronic voting systems. Various companies and software specialist have tried to develop a
system that will address electronic voting issues, but all have been unable to develop and
optimal system, or even anywhere near optimal. Society has not been able to develop a
universal, secure, user friendly and private electronic voting system.
Many electronic systems have been developed, but all have fallen short one way or another.
Often with some segment of society being left out. By continuous research, Dr. Gilbert and
his (Prime III) team have developed a unique system known nowhere else in the world.
They have developed the Prime III electronic voting system which is somewhat of an
untouchable system compared to others, and it is the only system that is universal enough to
capture votes from all persons in society. The two main voting procedures that have been
used by developers in electronic voting are Mark-Sense ballots where the user shades in their
vote and the other is Direct Recording Elections (DRE’s) which allows users to vote via
touch (Kohno, Stubblefield & Rubin). Both have fallen short in being universal, in a sense
that mark-sense ballots can only be used for sighted voters or those with hands, and issues
also arise when the scanner is unable to detect the darkest mark (Kohno, Stubblefield &
Rubin). In reference to the DRE’s, again the issue arises if the user is blind or does not have
any hands. There are also many other issues with these systems such as security
vulnerabilities. There are other smaller systems, however many have not been developed
enough to be used in general elections.
To make use of this project one should have basic knowledge of handling a computer
and internet.
45
If the internet connection fails it can fail the project.
46
CONCLUSION
This “ONLINE 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 by authorized user only, a level of security is provided.
47
BIBLIOGRAPHY & REFERENCE
Reference:
Bibliography:
Bryan Basham, Kathy Sierra, Bert Bates, “Head First Servlets & JSP”
o 4th Edition, O’Reily Publishers, 2004.
Grady Booch, James Rumbaugh, Ivar Jacobson, “The UML
o User Guide” 1st Edition, Addison Wesley, 1998.
PankajJalote, “An integrated Approach to Software
o Engineering” 2nd Edition, Narosa Publishing House, 2000.
Roger.S.Pressman, “A Practitioner’s Approach to Software
o Engineering” 6th Edition, McGraw-Hill Publishers, 2004.
Herbert Schildt, “ Java 2:Complete Reference”, 5th Edition,
o McGraw-Hill Publishers, 2003.
Python Programming (J2EE 1.4) Black Book, Kogent solutions
o Inc.Dreamtech Press, 2007.
48