HASSAN
HASSAN
Over the last few years, there have been a number of election observers who have suggested
introducing electronic voting election processes. A general observation is that as more
business is done using electronic mediums, it should not be difficult to carry out voting using
electronic equipment rather than turning up at the polling place on voting day to use paper
and pen. The Online Voting System (OVS) under implementation mainly addresses the
voting phase. Electronic voting using the OVS should be cheaper than the present paper
based arrangement. The phenomenal use of the Internet as a vehicle for improving
communication, access to information and electronic commerce has led to the claim that the
Internet could be used as either a replacement to attendance voting or as an additional voting
option. Throughout history, election fraud has occurred in many electoral processes from
which experience shows that the manual voting process is a major source of such vices and
violence in many Organizations.
The mechanism leading to fraud is manifested in registration places by corrupt officials who
are in a position to issue voter registration data capture forms to illegitimate individuals, stuff
ballot boxes, invalidate registration for opposition voters or even coerce voters. Therefore
OVS shall reduce the time spend making long queues at the polling stations during voting. It
shall also enable the voters to vote from any branch of the globe 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 resides a well-developed database using MYSQL that can provide 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 whom to vote for.
i
CONTENT
CHAPTER PARTICULARS PAGE
Certificate (i)
Company Certificate (ii)
Declaration (iii)
Acknowledgement (iv)
Contents (v)
List of Tables (vi)
List of Figures/Charts (vii)
List of Abbreviations & Appendix (viii)
Executive Summary / Abstract
1 INTRODUCTION
1.1 Introduction to the Research Study
1.2 Background of the Research Study
1.3 Aim and Objectives
1.4 Problem Statement
1.5 Scope & Limitation
1.6 Significance of the Study
1.7 Motivation
1.8 Outline of the Research
2 LITERATURE SURVEY
2.1 Introduction
2.2 Literature related to the Topic
2.3 Literature related to the Method & Results
2.4 Research Gaps
2.5 Summary of the Literature Reviewed
3 METHODOLOGY
3.1 Methodology
ii
3.2 Selection of Method/ Data/ Algorithms
3.3 Experimental Project & Research Study
3.4 Implementation of Project
3.5 Testing Methods
4 SUMMARY OF RESULTS
4.1 Results
4.2 Comparison of Results
4.3 Suggestions/Recommendation
5 CONCLUSION, SUMMARY & FUTURE WORK
5.1 Summary
5.2 Conclusion
5.3 Future Enhancements
REFERENCES
APPENDICES
I Plagiarism Report
II Work Plan
III Software Requirements and Design Document (if any)
iii
CHAPTER ONE
INTRODUCTION
1.1 Background
The Online voting system (OVS) also known as e-voting is a term encompassing several different
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 a web driven 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 submitted in a database which can be queried to find out who of the aspirants for
This system is geared towards increasing the voting percentage in Nepal 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 has to 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 participate 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 stated, the project ‘Online Voting' provides means for fast and convenient voting and access
1
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.
The current situation 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 paper work: The process involves too much paper work and paper storage which
3. Errors during data entry: Errors are part of all human beings; it is very unlikely for humans
4. Loss of registration forms: Some times, registration forms get lost after being filled in with
voters’ details, in most cases these are difficult to follow-up and therefore many remain
unregistered even though they are voting age nationals and interested in exercising their right
to vote.
5. Short time provided to view the voter register: This is a very big problem since not all
people have free time during the given short period of time to check and update the voter
register.
6. Above all, a number of voters end up being locked out from voting.
2
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
transmit data without network. Another example is to limit voter to input particular data, so that we
Validating the system to ensure that only legible voters are allowed to vote.
The aim of framework is to provide a common structure so that developers don’t have to redo
it from scratch and can reuse the code provided. In this way, frameworks allows us to cut out
It is focused on studying the existing system of voting in and to make sure that the peoples vote is
counts, for fairness in the elective positions. This is also will produce:
3
Less effort and less labor intensive, as the primary cost and focus primary on creating,
Increasing number of voters as individuals will find it easier and more convenient to vote,
Features
This system is a lot easier to independently moderate the elections and subsequently
Less capital, less effort, and less labor intensive, as the primary cost and effort will focus
Increased number of voters as individual will find it easier and more convenient to vote,
1.5 Methodology/Procedure
For the development of project the designing of database was done on PHPMYADMIN, back
end was coded in basic PHP and for frontend we used the same basic PHP codes.
Software methodologies are concerned with the process of creating software – not so much
the technical side but the organizational aspects. Several software development approaches
A framework is a standardized set of concepts, practices, and criteria for dealing with a common type
of problem, which can be used as a reference to help us approach and resolve new problems of a
similar nature.
4
Data and Information
Data collection plays an important role in a projects succession and also it plays an inevitable role in
the timely completion of the project. The data in the project includes contact information of the clients
and their respective feedbacks/complaints which is stored in a database. To assure safety, only the
Primary data are the first hand data. The necessary information was collected from day to day
observation, problems, instructions of supervisor. Queries and personal discussion with the staff of the
organization.
Informal discussion and interaction with the staff of the library department
The Secondary sources of data were collected in order to achieve the real and fact data as far as
Related websites
5
CHAPTER TWO
LITERATURE REVIEW
2.1 INTRODUCTION
Previously, voting for general and local elections are done by electors with voting papers and
voting boxes in which the voting papers are placed. This method reveals some kinds of
negative situations. Not being able to determine which party or person the stamp belongs to,
the probability of placing the voting papers in the wrong box, problems with counting the
votes, loss of time when there happen to be some objections, paper printing and expenditures
done for personnel are some of the disadvantages of the classical election system. The secret
ballot is a fundamental instrument for protecting the freedom of choice for voters. For this
reason, it is necessary to use new technologies for making the election system more trustable,
The electronic election system is set into use in some countries, especially in USA and
Europe, at the beginning of the nineties as a result of innovating technology and it became
more trustable by improving itself at the present day. Electronic voting is an activity of
Electronic voting is used in some countries in the world and there are also studies about it
(Babu and Padmavathamma, 2006). Electronic voting is used for parliamentary elections in
Australia in 2001 (Schoen and Faas, 2005), for student union elections in Austria in 2003
(Prosser et al., 2003), for municipal elections in Canada in 2003 (Nakhaie, 2006), for both
general and local elections in India in 2003 (Gorla, 2009). As a result of developments on
information technologies in recent years, public opinion polls and nation-wide general
elections will be realized faster and more effectively on the electronic environment.
6
Online voting entails the use of computers or smart electronic devices for voting processes
which eliminates the use of paper voting systems. Some e-voting systems are designed to
produce paper trail of the voting process as a means of double checking and confirming
manually the results of the electronic system. E-voting systems can be on or off the internet,
internet based system creates opportunities for remote voting centre which increases
accessibility and reduces queues at voting centres but it may be susceptible to identity fraud,
7
5. EmranAljarrah E-voting in Jordan: Volume 63, October
Assessing readiness 2016, Pages 860-867
and developing a
system
Election is the process that gives the citizens the rights to select candidates to represent them
in a democratic pattern. Election deals with the democracy and freewill of citizens, for this
reason voting process is considered to be very critical and sensitive process, therefore
8
election. These requirements can be defined as user conventions requirements and delivery of
secure voting process requirements. Due to the fast development of network technology the
world is going toward the use and implementation of the e-technology in every aspect of our
life including e-governments. Online voting becomes one of these technologies. Online
voting refers to the use of hardware and software to establish an electronic system, useful in
voting process, by generating an electronic ballot that replaces the paper ballot. E-voting was
providing remote system so the voter can cast his/her vote whenever and wherever he/she
can. These systems will increase voter’s participation and will speed up the votes counting.
Introducing remote voting technique over the internet (e-voting) will serve voter’s
convention. The main idea of this technology is to speed up the ballot counting and increase
voters’ participation by providing remote voting process and social interaction platforms.
which assist in creating a system that vast the vision of the current problems to overcome
these problems.
As the above points have been presented and dissected, a variety of technologies in a
different application have been used to make and design electronic voting systems. These
electronic systems can be used in, organizations, universities as well as democratic countries
many researchers have been done to improve these systems and reduce the errors may occur
The electronic election system is set into use in some countries, especially in USA and
Europe, at the beginning of the nineties as a result of innovating technology and it became
9
more trustable by improving itself at the present day. Electronic voting is an activity of
enables fast counting by electronic voting. Electronic voting is used in some countries in the
Electronic voting is used for parliamentary elections in Australia in 2001, for student union
elections in Austria in 2003, for municipal elections in Canada in 2003, for both general and
recent years, public opinion polls and nation-wide general elections will be realized faster and
more effectively on the electronic environment. Online voting entails the use of computers or
smart electronic devices for voting processes which eliminates the use of paper voting
systems. Some e-voting systems are designed to produce paper trail of the voting process as a
means of double checking and confirming manually the results of the electronic system.
CHAPTER THREE
METHODOLOGY
3.0 Introduction
The methodology chapter can begin with an opening statement as seen below:
This chapter gives an insight into the design, method, process and technique used in
generating and analyzing the data of the study. All the stages are captured under the
following sub-headings:
10
3.1 Software Process Model
3.8 Project Work Plan (Computer science), SRS Document/ SDD Document (SENG)
development work into distinct phases to improve design, product management, and project
11
Figure 3.1 Software Development Life Cycle (https://inoxoft.com/blog/7-
software-development-models-comparison-how-to-choose-the-right-one/)
1. Specification.
2. Design.
3. Validation.
4. Evolution.
12
1. Requirement Analysis
2. System Design
3. Implementation/Coding & Unit Testing
4. Testing, Integration And verification
5. Development
6. Maintenance
It goes from requirements > design > development > testing > deployment >
maintenance. (https://inoxoft.com/blog/7-software-development-models-comparison-how-to-
choose-the-right-one/, 2008).
13
The main advantage of Waterfall is that the model is in strict order with regards to the tasks
carried out and their timelines. Due to being fixed, the tasks can be easily divided between
software departments and monitored as to task completion. Clients may find the Waterfall
Model a reliable approach as they will be aware of the whole process from the start till finish
beforehand. As for the disadvantages of the Waterfall Model, there are some as well. For
instance, Waterfall has no revision of a task. The farther the application development goes
forward into the other stage the harder it is to go back and change its conceptual basics or
documentation.
• Structure minimizes wasted effort, so it works well for technically weak or inexperienced
staff.
Disadvantages
• Inflexible
• Higher chance of success over the waterfall model due to the early development of test
plans during the life cycle.
14
• Works well for small projects where requirements are easily understood.
Disadvantages
• This Model does not provide a clear path for problems found during testing phases
Disadvantages
The RAD Model allows for reduced development time and allows for more customer
feedback throughout the software development.
Disadvantages:
The applicability of the RAD Model is limited, as the project needs to be easily modularized
into several increments. It also requires highly-versed developers as well as excellent
modeling and planning skills. Issues with the final assembly of components could result in
unforeseen setbacks and the redeveloping of components to properly fit the rest.
15
3.4 Front end technologies
In this part, Description on Frontend technologies, software development tools and
programming languages that are used to create the user interface and experience of a website
or application.
Hypertext Markup Language (HTML 5) will be used for structural layout, Cascading Style
Sheets (CSS 3) for style, JavaScript scripting language for client side scripting, and bootstrap
5 for responsiveness.
Hypertext Preprocessor (PHP) will be used for server side scripting and MySQL for
that provides all needed and necessary routines for web development.
The integrated development environment (IDE) for the implementation is visual code studio,
it was chosen as the IDE because it is powerful, flexible, robust, simple user interface and
uses pure Win32 API and STL which ensures a higher execution speed and smaller program
size. It also has other features such as Syntax Highlighting, Syntax Folding, User Defined
16
CATEGORY DESCFRIPTION
3.8 Project Work Plan (Computer science), SRS Document/ SDD Document (SENG)
A work plan is a written document designed to streamline a project. The purpose is to create a
visual reference for the goal, objectives, tasks and team members who are responsible for
each area.
Implementation 1 month
Development 1 month
Testing 3 weeks
17
CHAPTER FOUR
4.0 Introduction
Software design is the process by which an agent creates a specification of a software artifact
intended to accomplish goals, using a set of primitive components and subject to constraints.
Software architecture is, simply, the organization of a system. This organization includes all
components, how they interact with each other, the environment in which they operate, and
the principles used to design the software.
Software testing methodologies are the various strategies or approaches used to test an
application to ensure it behaves and looks as expected.
Most known diagram type of the behavioral UML diagrams, Use case diagrams gives a
graphic overview of the actors involved in a system, different functions needed by those
actors and how these different functions are interacted. It’s a great starting point for any
project discussion because you can easily identify the main actors involved and the main
processes of the system.
18
Figure 1: Use case Diagram
Above figure represents Use Case Diagram of the project and is a useful technique for
identifying, clarifying, and organizing system requirements. It describes how a user uses a
system to accomplish a particular goal. Use cases help ensure that the correct system is
developed by capturing the requirements from the user's point of view.
Sequence Diagram
19
A sequence diagram is a type of interaction diagram because it describes how—and in what
order—a group of objects works together. A sequence diagram specifically focuses on
lifelines, or the processes and objects that live simultaneously, and the messages exchanged
between them to perform a function before the lifeline ends.
Above diagram represents Sequence Diagram of the project which is a type of interaction
diagram because it describes how—and in what order—a group of objects works together. A
sequence diagram specifically focuses on lifelines, or the processes and objects that live
simultaneously, and the messages exchanged between them to perform a function before the
lifeline ends.
20
4.2 Database Design
Database design is the organization of data according to a database model. The designer
determines what data must be stored and how the data elements interrelate. With this
information, they can begin to fit the data to the database model.
Admin
This table holds the records consisting of the names of the system administrators, their
username and passwords. An admin can be able to add more administrators in the admin
panel.
Table 3. 1 Database design for Admin
Register Voters
This table holds the records of the voters that are registered into the system. The table records
the Voter ID, the first and last name of the voter, password etc.
User Id Varchar 11
VoterID Varchar 20
FirstName Varchar 30
LastName Varchar 30
Middlename varchar 10
Password Varchar 60
21
Gender Varchar 50
Department Varchar 50
Registering Candidates
This table holds the records of the registered candidates, candidate id, candidates name,
User Id Int(11)
Position_Id Int(11)
FirstName Varchar(20)
LastName Varchar(20)
Gender Varchar(10)
Position Varchar(20)
Photo Varchar(100)
Casting Votes
This table holds records containing the vote’s id, voter id, and candidate id and position id
names.
22
FIELD NAME DATA TYPE SIZE
Id Varchar 11
Voter_Id Varchar 11
Candidate_Id Varchar 11
Position_Id Varchar 11
Positions
This table holds records containing the names of the different positions that candidates are
contesting for.
Id Int 11
Description Varchar 50
Max_vote Int 11
Priority Int 11
Election Registration
This table holds records containing the names of the different positions that candidates are
contesting for.
Election Id Int 11
Description Varchar 50
23
Status Int 11
VOTER LOGIN
ADMIN LOGIN
24
ADMIN DASHBOARD
CANDIDATES
25
VOTERS LIST
VOTING RESULT
26
4.2 Testing Methods
Software testing methodologies are the various strategies or approaches used to test an
application to ensure it behaves and looks as expected. However, when it comes to the
different types of QA testing, the only two types that come to anyone's mind are manual and
automated testing.
Unit testing refers to the testing certain functions and areas of the code. It gives the ability to
verify that all the functions work as expected. Eventually, it helps to identify failures in the
algorithms as well as logic to help improve the quality of the code that composes a certain
function.
27
Integration testing is basically a logical extension of unit testing. In simple words, two tested
units are combined into a component and the interface between them is tested. It identifies
problems that occur when different units are combined the different modules of this project
System testing tests the behavior of whole system as defined by the scope of the development
project. It might include tests based on risks as well as requirement specifications, business
process, use cases or other high level descriptions of system behavior, interactions with the
operating systems and system resources. It is most often the final test performed to verify that
the system meets the specification and its objectives. System testing has been performed at
the completion of each feature and is still taking place to make improvements on the existing
system.
Test Scenario ID Test Scenario Description Test Case ID Test Case Description
28
Enter none of the
TCS_PRS_005 Verify the login functionality TC_PRS_Login_005 credentials
29
Message: Please fill out this field Login Successful Fail
Message: Please fill out this field Error: Please fill out this field Pass
Message: Please fill out this field Error: Please fill out this field Pass
A test case is a specification of the inputs, execution conditions, testing procedure, and
expected results that define a single test to be executed to achieve a particular software
testing objective, such as to exercise a particular program path or to verify compliance with a
specific requirement.
CHAPTER FIVE
5.1 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 provides
the tools for maintaining voter’s vote to every party and it count total no. of votes of every
30
party. There is a database which is maintained by the admin in which all the names of voter
In this member who had registered his/her information on the database and when he/she want
to vote he/she has to login by his email/voterId and password and can vote to any candidate
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 very easy to use and it is vary less time consuming. It is very easy to
debug.
With the existing constraints, the developed systems is not what was planned initially. The
primary aim of this project has been met. All the objectives that were set out have been
completed and giving positive results in the ends. In the future some features that can be
added will be about the two factor authentication. Although the user requirements were
successfully met the application is not yet fully utilized because the users of this system are
just learning about the benefits and working of the system. The user testing and evaluation of
the application did however highlight rooms for the expansion. The application could
therefore be developed further as soon as the user is fully aware of its working.
REFERENCE
[1] Aggarwal, K. K., & Yogesh, S. (2008). Software Engeering (Third Edition).
Daryaganj,
31
E-voting System for Student Union Government Elections.TELKOMNIKA,
Vol.16,October 2018, pp.2155~2164.
[3] Babu GA, Padmavathamma M (2006). Optimally efficient multi authority secret
Ballot e- e
Bilgin, Adem Alpaslan Altun and Metin. (2011). Web based secure e-voting system
with
Democratic Values.
[5] https://www.w3schools.com/php/default.asp
[8] https://www.w3schools.com/php/default.asp
32