PROJECT REPORT.
SECTION: BSE (2A)
SUBJECT: P-F
SUBMITTED BY:
AMNA KHLID (FA21-BSE-006/WAH)
SYED ALI MUZAHIR (FA21-BSE-008/WAH)
MHUMMAD USMAN (FA21-BSE-016/WAH)
SHIEKH LAIBA SALAM (FA21-BSE-018/WAH)
SUBMITTED TO:
MS. SAMIA RIAZ
DEPARTMENT OF SOFTWARE ENGINEERING, COMSATS WAH
PROJECT REPORT ON
PROJECT REPORT
ON
ONLINE
VOTING SYSTEM
ACKNOWLEDGEMENT
It is my pleasure to acknowledge you that I have received a project on
Online Voting System from my teacher.
My first sincere appreciation and gratitude goes to Mam Samia Riaz for her
guidance, constructive comments, valuable suggestions and inspirations. During
making of my Project, she helped me a lot.
DEFINITION OF TERMS
OVS - Online Voting System
Index
Abstract
Introduction To Online Voting System
Background Of Study
Significance Of Study
Objective of Project
Project Justification
Scope of Study
Old Methods of Voting
Security Issues of Online Voting
General Requirements
Problems with Existing Voting Registration System
Software and Hardware Required
Front-End & Back-End
Data Flow Diagram
ER Diagram
Database Architecture
Database Tables
Database Queries
Conclusion
Appendix (Snapshots)
ABSTRACT
The word “vote” means to choose from a list, to elect or to decide. The main goal
of voting (in a scenario involving the citizens of a given country) is to come up
with leaders of the people’s choice.
Most countries, Kenya not an exception have problems when it comes to voting.
Some of the problems involved include ridging votes during election, insecure or
inaccessible polling stations, inadequate polling materials and inexperienced
personnel.
This online voting/polling system looks to address the above issues. It should be
noted that with this system in place, the users, citizens in this case shall be given
ample time during the voting period. They shall also be trained on how to vote
online before the election time.
INTRODUCTION TO ONLINE VOTING SYSTEM
“ONLINE VOTING SYSTEM” is an online voting technique. In this system people
who have citizenship of Pakistan and whose age is above 18 years of age, and any
gender can give his\her vote online without going to any physical polling station.
In “ONLINE VOTING SYSTEM” a voter can use his\her voting right online without
any difficulty. He\She must be registered first for him/her to vote. Registration is
mainly done by the system NADRA. NADRA registers the voters on a special site of
the system visited by him only by simply filling a registration form to register
voter. Citizens seeking registration are expected to contact the system NADRA to
give their details. After the validity of them being citizens of Pakistan has been
confirmed by NADRA by comparing their details sent with those in existing
databases such as those as the Registrar of Persons, the citizen is then registered
as a voter.
After registration, the voter is assigned a secret Voter ID with which he/she can
use to log into the system and enjoy services provided by the system such as
voting. If invalid/wrong details are sent, then the citizen is not registered to vote.
BACKGROUND OF STUDY
The Online voting system (OVS) also known as e-voting is a term encompassing
several distinct types of voting embracing both electronic means of counting
votes. Electronic voting technology can include punched cards, optical scan voting
systems and specialized voting kiosks (including self-contained direct-recording
electronic voting systems or DRE). It can also involve transmission of ballots and
votes via telephones, private computer networks, or the internet.
Online voting is an electronic way of choosing leaders via application. The
advantage of online voting over the common “queue method” is that the voters
have the choice of voting at their own free time and there is reduced congestion.
It also minimizes on errors of vote counting. The individual votes are sent in a
database which can be queried to find out who of the aspirants for a given post
has the highest number of votes.
This system is geared towards increasing the voting percentage in Pakistan since it
has been noted that with the old voting method {the Queue System}, the voter
turnout has been a wanting case. With system in place also, if high security is
applied, cases of false votes shall be reduced.
With the “ONLINE VOTING SYSTEM”, a voter can use his\her voting right online
without any difficulty. He\She must register as a voter first before being
authorized to vote. The registration should be done prior to the voting date to
enable data update in the database.
However, not just anybody can vote. For one to take part in the elections, he/she
must have the requirements. For instance, he/she must be a registered citizen
i.e., must be 18 and above years old. As already said, the project ‘Online Voting'
supplies means for fast and convenient voting and access to this system is limited
only to registered voters.
Internet voting systems are appealing for several reasons which include People
are getting more used to work with computers to do all sorts of things, namely
sensitive operations such as shopping and home banking and they allow people to
vote far from where they usually live, helping to reduce absenteeism rate.
SIGNIFICANCE OF STUDY
The main purposes of OVS include:
Provision of improved voting services to the voters through fast, prompt
and convenient voting.
Reduction of the costs incurred by the Kenyan Electoral Commission during
voting time in paying the very many clerks employed for the sake of the
success of the manual system.
Check to ensure that the members who are registered are the only ones to
vote. Cases of “Dead People” voting are also minimized.
Online voting system (OVS) will require being very precise or cost cutting to
produce an effective election management system.
Therefore, crucial points that this (OVS) emphasizes on are listed below.
i. Require a smaller number of staff during the election.
ii. This system is a lot easier to independently moderate the elections
and then reinforce its transparency and fairness.
iii. Less capital, less effort, and less labor intensive, as the primary cost
and effort will focus primarily on creating, managing, and running a
secure online portal.
iv. Increased number of voters as individual will find it easier and more
convenient to vote, especially those abroad.
Objectives Of The PROJECT
The specific aims of the project include:
Reviewing the existing/current voting process or approach in Kenya.
Producing an automated voting system in Kenya.
Implementing a an automated/online voting system.
Validating the system to ensure that only legible voters are allowed to vote.
Project justification
The ONLINE VOTING SYSTEM-INDIA shall reduce the time spend making long
queues at the polling stations during voting. It shall also enable the voters to vote
from any part of the globe as explained since this is an online application available
on the internet. Cases of vote miscounts shall also be solved since at the backend
of this system exists a well-developed database using MYSQL that can supply the
correct data once it’s correctly queried. Since the voting process shall be open as
early as possible, the voters shall have ample time to decide when and for whom
to vote.
SCOPE OF STUDY
It is focused on studying the existing system of voting in Kenya and to make
sure that the peoples vote is counts, for fairness in the elective positions.
This is also will produce:
Less effort and less labor intensive, as the primary cost and focus primary
on creating, managing, and running a secure web voting portal.
Increasing number of voters as individuals will find it easier and more
convenient to vote, especially those abroad.
Old Methods of Voting
1. Paper-based voting: The voter gets a blank ballot and use a pen or a
marker to say he want to vote for which candidate. Hand-counted
ballots is a time and labor consuming process, but it is easy to
manufacture paper ballots and the ballots can be kept for verifying, this
type is still the most common way to vote.
2. Lever voting machine: Lever machine is peculiar equipment, and each
lever is assigned for a corresponding candidate. The voter pulls the lever
to poll for his favorite candidate. This kind of voting machine can count
the ballots automatically. Because its interface is not user-friendly
enough, giving some training to voters is necessary.
3. Direct recording electronic voting machine: This type, which is
abbreviated to DRE, integrates with keyboard; touch screen, or buttons
for the voter press to poll. Some of them lay in voting records and
counting the votes is very quickly. But the other DRE without keep
voting records are doubted about its accuracy.
4. Punch card: The voter uses metallic hole-punch to punch a hole on the
blank ballot. It can count votes automatically, but if the voter’s
perforation is incomplete, the result is probably determined wrongfully.
5. Optical voting machine: After each voter fills a circle correspond to
their favorite candidate on the blank ballot, this machine selects the
darkest mark on each ballot for the vote then computes the total result.
This kind of machine counts ballots rapidly. However, if the voter fills
over the circle, it will lead to the error result of optical scan.
Recent years, a considerable number of countries has adopted E-voting for their
official elections. These countries include America, Belgium, Japan and Brazil.
SECURITY ISSUES OF ONLINE VOTING
Foreign experience revealed that they are often confronted by security
issues while the online voting system is running. The origin of the security
issues was due to not only outsider (such as voters and attackers) but also
insider (such as system developers and administrators), even just because
the inheritance of some objects in the source code are unsuitable. These
errors caused the voting system to crash.
The proposed solutions were correspondingly outlined to hold back these
attacks. For example, to avoid hacker making incursion into the voting
system via network, we can design our system to send data without
network. Another example is to limit voter to input data, so that we can
prevent the command injection from running
Requirements:
1) Registration of the voter is done by ELECTION COMMISION OF INDIA.
2) ELECTION COMMISION OF INDIA can change the information any time if
needed.
3) Registration of the Voter depends upon the information filled by the
user.
4) Voter is given a unique ID and PASSWORD.
5) In the DATABASE information of every voter is stored.
6) Database shows the information of every user.
Problems with the Existing Voter Registration System
The problems of the existing manual system of voting include among others the
following:
1. Expensive and Time consuming: The process of collecting data and
entering this data into the database takes too much time and is expensive
to conduct, for example, time and money is spent in printing data capture
forms, in preparing registration stations together with human resources,
and there after advertising the days set for registration process including
sensitizing voters on the need for registration, as well as time spent on
entering this data to the database.
2. Too much paperwork: The process involves too much paperwork and
paper storage which is difficult as papers become bulky with the population
size.
3. Errors during data entry: Errors are part of all human beings; it is very
unlikely for humans to be 100 percent efficient in data entry.
4. Loss of registration forms: Sometimes, registration forms get lost after
being filled in with voters’ details, in most cases these are difficult to follow-
up and therefore many are still unregistered even though they are voting
age nationals and interested in exercising their right to vote.
5. Abbreviated time supplied to view the voter register: This is an excessively
big problem since not all people have free time during the given brief
period to check and update the voter register.
6. Above all, a number of voters end up being locked out from voting.
SOFTWARE REQUIREMENTS:
i. NetBeans IDE 12.6- The NetBeans IDE is an award-winning integrated
development environment available for Windows, Mac, Linux, and Solaris.
The NetBeans project consists of an open-source IDE and an application
platform that enable developers to rapidly create web, enterprise, desktop,
and mobile applications using the Java platform.
The NetBeans project is supported by a vibrant developer community and
offers extensive documentation and training resources as well as a diverse
selection of third-party plugins.
ii. JAVA coding-This is for advanced user who find PHP codes easy to work
with.
iii. Testing- is done via WAMPSERVER.
HARDWARE REQUIREMENTS:
Microsoft Windows XP Professional SP3/Vista SP1/Windows 10
Professional:
Processor: 800MHz Intel Pentium III or equivalent
Memory: 512 MB
Disk space: 750 MB of free disk space
Ubuntu 9.10:
Processor: 800MHz Intel Pentium III or equivalent
Memory: 512 MB
Disk space: 650 MB of free disk space
(BLOCK DIAGRAM)
FRONT – END AND BACK-END
In their most general meanings, the terms front end and back end refer to
the first and the end stages of a process flow. In Software Design, the front-end is
the part of a software system that deals with the user, and the back end is the
part that processes the input from the front-end. The separation of software
systems into "front ends" and "back ends" is a kind of abstraction that helps to
keep different parts of the system separated. The general idea is that the front-
end handles collecting input from the user, which can be in a variety of forms, and
processing it in such a way that it conforms to a specification that the back end
can use. The connection of the front-end to the back end is a kind of interface.
Front-end and back-end are terms used to characterize program interfaces
and services compared to the first user of these interfaces and services. (The
"user" may be a human being or a program.) A” front-end” application is one that
application users interact with directly. A "back-end" application or program
serves indirectly in support of the front-end services, usually by being closer to
the required resource or having the capability to communicate with the required
resource. The back-end application may interact directly with the front-end or,
perhaps more typically, is a program called from an intermediate program that
mediates front-end and back-end activities. These terms get more special
meanings in particular areas: -
(1) For software applications, front end is the same as user interface.
(2) Compilers, the programs that translate source code into object code,
are often composed of two parts: a front end and a back end. The front-end
handles checking syntax and detecting errors, while the back end performs the
actual translation into object code.
Data Base Tables: -
This project uses many tables:
Voter
Candidate
Voter Table: -
Field Name Data Type Description
Voter id Integer Login id for Voter (Primary key)
Name Varchar Name of the voter
Gender Varchar Gender of voter
Age Integer Age of voter
City Varchar City of voter
Security Varchar Security Question
Status Boolean Status of voter (he/she can vote or not)
Candidate Table: -
Field Name Data Type Description
Symbol Varchar Party Symbol (Primary key)
Name Varchar Name of the voter
Gender Varchar Gender of voter
Age Integer Age of voter
City Varchar City of voter
Count Integer Count the no of votes
CONCLUSION
This Online Voting system will manage the Voter’s information by which
voter can login and use his voting rights. The system will incorporate all features
of Voting system. It supplies the tools for keeping voter’s vote to every party and
it count total no. of votes of every party. In this user who is above 18 years’
register his/her information on the database and when he/she want to vote
he/she has to login by his voter id and can vote to any party only single time.
Voting detail store in database and the result is displayed by calculation. By online
voting system percentage of voting is increases. It decreases the cost and time of
voting process. It is quite easy to use, and it is varying less time consuming. It is
quite easy to debug.