Online Voting System Thesis
Online Voting System Thesis
G.P.D. Thilakshika
            2021
  Online Voting System (OVS)
             G.P.D.Thilakshika
University of Colombo School of Computing
                   2021
Declaration
The thesis is my original work and has not been submitted previously for a degree at this
or any other university/institute.
To the best of my knowledge it does not contain any material published or written by
another person, except as acknowledged in the text.
-----------------
Signature:                                                Date: 2021/11/27
This is to certify that this thesis is based on the work of Ms. G.P.D.Thilakshika under my
supervision. The thesis has been prepared according to the format stipulated and is of
acceptable standard.
Certified by:
Supervisor Name: Dr. Ajantha Atukorale
-----------------
                                            iii
Abstract
Online voting is a more convenient way for voting process which use less resources with
compare to manual voting process. Access online voting system through internet is more
convenient way for the most of the voters with rapid development of the technology. This
may be good solution for increasing the voter turnout at polls. Even so the security is the
most challenging aspect when consider about online voting.
This study is about a software solution for voting through the internet. This system provides
a way to record election data, process data and store them as digital information. Both
casting a vote and counting votes provide through this online voting system. Other than
voting, this system also able to create and handle voter, political party and candidates
details.
This project report is intended to include the first segment of the project which is the
introduction of the problem, its significance, scope, and other important points such as
purpose of the project and objectives of this study. Also first chapter state limitations of the
project scope.
The second segment will contain the software problem analysis where a comprehensive
literature review will be discussed. Functional and non-functional requirements also stare
in this chapter.
Then next segment includes the system design where numerous notation details would be
given as well as the representation of the various flowcharts, uses cases, dataflow diagrams
and structure charts.
As the next segment, an overview on the project implementation will also be discussed.
Testing and Evaluation is state as next segment. It provide detail description of test-cases
and results achieved through the testing process.
Finally summarization of project work and achievement through entire work clearly
defined as last section of the report.
                                               iv
Table of Contents
DECLARATION ............................................................................................................................................... III
ABSTRACT ........................................................................................................................................................IV
LIST OF FIGURES .......................................................................................................................................... VII
LIST OF TABLES ...........................................................................................................................................VIII
LIST OF ACRONYMS ......................................................................................................................................IX
CHAPTER 1 -                INTRODUCTION .................................................................................................................. 1
   1.1         OVERVIEW ............................................................................................................................................ 1
   1.2         MOTIVATION ........................................................................................................................................ 1
   1.3         STATEMENT OF THE PROBLEM............................................................................................................. 2
   1.4         OBJECTIVES .......................................................................................................................................... 3
   1.5         SCOPE OF THE STUDY ........................................................................................................................... 3
   1.6         FEASIBILITY STUDY.............................................................................................................................. 4
       1.6.1       FINANCIAL FEASIBILITY .......................................................................................................................... 4
       1.6.2       TECHNICAL FEASIBILITY ........................................................................................................................ 4
       1.6.3       RESOURCES FEASIBILITY ........................................................................................................................ 5
       1.6.4       RISK FEASIBILITY ....................................................................................................................................... 5
   1.7         STRUCTURE OF THE DISSERTATION ..................................................................................................... 5
CHAPTER 2 -                BACKGROUND .................................................................................................................... 6
   2.1         INTRODUCTION ..................................................................................................................................... 6
   2.2         REVIEW OF SIMILAR SYSTEMS ............................................................................................................ 6
       2.2.1    VOTING VIA BALLOT SHEETS ................................................................................................................. 6
       2.2.2    ELECTRONIC VOTE CASTING SYSTEMS .............................................................................................. 6
         2.2.2.1 “DIRECT-RECORDING ELECTRONIC VOTING SYSTEM” ........................................................... 6
         2.2.2.3 “REMOTE VOTING”................................................................................................................................ 7
   2.3         COMPARISON BETWEEN ONLINE VOTING SYSTEM AND SIMILAR SYSTEMS ........................................ 7
   2.4         EXISTING E-VOTING SYSTEMS ............................................................................................................ 8
       2.4.1       E-VOTING IN BRAZIL ................................................................................................................................. 8
       2.4.2       ELECTRONIC VOTING SYSTEMS IN BELGIUM .................................................................................. 8
       2.4.3       ELECTRONIC VOTING IN ESTONIA ....................................................................................................... 9
       2.4.4       ELECTRONIC VOTING SYSTEMS IN USA.............................................................................................. 9
       2.4.5       SUMMARY OF EXISTING E-VOTING SYSTEMS ................................................................................. 10
   2.5     REQUIREMENT ANALYSIS .................................................................................................................. 11
      2.5.1 FUNCTIONAL REQUIREMENTS ....................................................................................................... 11
      2.5.2 NON-FUNCTIONAL REQUIREMENTS .............................................................................................. 12
   2.6     RELATED DESIGN STRATEGIES ......................................................................................................... 12
CHAPTER 3 -                DESIGN ................................................................................................................................ 14
   3.1      INTRODUCTION ................................................................................................................................... 14
   3.2      SYSTEM ARCHITECTURE .................................................................................................................... 14
   3.3      SYSTEM DESIGN ................................................................................................................................. 15
      3.3.1 DATA FLOW DIAGRAM (DFD) ...................................................................................................... 19
      3.3.2 USE CASE DIAGRAM ...................................................................................................................... 20
      3.3.3 USE CASES SCENARIO................................................................................................................... 21
      3.3.4 SEQUENCE DIAGRAMS .................................................................................................................. 29
       3.3.4.1 SEQUENCE DIAGRAM FOR ADMINISTRATOR DASHBOARD ...................................................... 29
       3.3.4.2 SEQUENCE DIAGRAM FOR SYSTEM USER DASHBOARD ........................................................... 30
       3.3.4.3 SEQUENCE DIAGRAM FOR VOTING PROCESS ........................................................................... 32
CHAPTER 4 -                IMPLEMENTATION ......................................................................................................... 33
                                                                                    v
   4.1         SYSTEM IMPLEMENTATION................................................................................................................ 33
   4.2         SYSTEM MODULES ............................................................................................................................. 33
CHAPTER 5 -                 TESTING AND EVALUATION ........................................................................................ 40
   5.1         INTRODUCTION ................................................................................................................................... 40
   5.2         TEST PLAN .......................................................................................................................................... 40
   5.3         TEST CASES ......................................................................................................................................... 41
       5.3.1       ADMINISTRATOR DASHBOARD ............................................................................................................ 41
       5.3.2       AUTHORIZED OFFICER DASHBOARD ................................................................................................. 42
       5.3.3       VOTING ......................................................................................................................................................... 43
       5.3.4       VIEW RESULT ............................................................................................................................................. 43
       5.3.5       VOTER REGISTRATION ........................................................................................................................... 44
       5.3.6       POLITICAL PARTY REGISTRATION .................................................................................................... 44
       5.3.7       CANDIDATE REGISTRATION ................................................................................................................. 44
       5.3.8       CHANGE VOTER DETAILS ...................................................................................................................... 45
       5.3.9       CHANGE POLITICAL PARTY DETAILS ............................................................................................... 45
       5.3.10        CHANGE CANDIDATE DETAILS ....................................................................................................... 45
   5.4         TESTS CONDUCTED ON SYSTEM TESTING .......................................................................................... 46
       5.4.1       UNIT TESTING ............................................................................................................................................ 46
       5.4.2       INTEGRATION TESTING .......................................................................................................................... 46
       5.4.3       SYSTEM TESTING ...................................................................................................................................... 46
       5.4.4       USABILITY TESTING................................................................................................................................. 46
       5.4.5       COMPATIBILITY TESTING ..................................................................................................................... 46
       5.4.6       SECURITY TESTING .................................................................................................................................. 47
                                                                                       vi
List of Figures
                                                                        vii
List of Tables
                                                                       viii
List of Acronyms
                                            ix
Chapter 1 - Introduction
1.1 Overview
Most of the countries use their governing system of democracy. Main activity in democracy
is select the representative through electoral process. Most of the countries use paper ballots
until now. But with the rapid development of technology most of the services provide
through internet. So these voting procedures should also change accordingly. Money
transactions and many more critical services handled using internet. Therefore voting via
internet can be considered also. The internet voting may be next revolution in our life.
This study is about a software solution for voting through the internet. This system provide
a way to record election data, process data and store them as digital information. Both
casting a vote and counting votes provides through this online voting system. Online voting
may become quickest, cheapest and most efficient way to held elections and count votes,
since it only consist of simple process and require a few worker with in the process. This
online voting system is accessible to every eligible voter with simple user friendly
interfaces.
1.2 Motivation
When consider percentage of voting last few years, it clearly shows vote casting is limited
to nearly 75%.That shows 25% voters do not cast their vote. The one of a main purpose of
this study is increase the voting percentage though out the country. Here we need to
consider all aspects that make voting percentage decrease. People who are outside their city
do not wish to come to their city just for voting because of expenses and transportation
problems. Some people who works in different cities may not be able attend the voting
although they wish to attend. Some people who are on duty during the election they may
not get the chance to attend for voting. Peoples with disabilities also may not attend for
voting. Disable people cannot access to polling booths easily, but they can easily access
online voting system through internet from anywhere. And also by using online voting
system voters can vote their own free time within given time period without worrying
polling centers. This system will lead to increase the participation to election voting with
use of internet.
Another main purpose of this study is reduce expenditure for election. For every election
government has to spend huge amount of money. During the election government has to
hire lot of staff for election duties such as security, vote counting and so on. The
government has to spend considerable amount of money for printing paper ballots. But the
online voting system will able to reduce expenditure by reducing staff members. The
                                              1
printing cost of ballot sheets also eliminated though this online voting system. Voting via
internet is also decrease the manual work load.
Speed up the counting process and release result quickly is another main target of this study.
Manual voting process is time consuming and it takes more than 12 hours to release results.
In Online voting, counting is done by system itself. When a voter cast his/her vote, system
increments vote count automatically. Then the system can published final result as soon as
election time period over.
This study also address the counting errors. In manual voting process counting is done by
humans. It may lead to counting errors. But in this online system there is no room for errors
in vote counting.
Another purpose of this online voting system is reduction of cheating on elections. There
are many people who registered more than one area to cast their votes multiple times. By
using online voting system, it is possible to eliminate those kind of situations.
After considering those factors carrying out voting through internet will be the best way for
the voting process in the future. This study address each and every aspect of above
mentioned problems.
When considering all over the world, lots of e- voting systems have been using now. But
political electoral systems rarely used because of several issues. Most of the countries still
use manual voting process because of lack of technology resources and resource persons.
Sri Lanka still uses manual voting process. Online voting systems are available for
download from web sites freely (phppoint, 2017). But these online systems cannot use in
our country. Because system should be unique and well planned proper system for all Sri
Lankan voters
                                              2
1.4     Objectives
The main objective of this study is providing a better voting mechanism for people to cast
their vote using the internet.
The electoral of Sri Lanka still remains as manual. The manual electoral process carry out
different problems. Online voting system is mainly design as an effective solution to
overcome problems arises in manual voting process. This online voting (e-voting) system
suggest to provide electronic way of choosing representatives via web application.
This system is design to improve the current voting process in the following ways.
        In manual voting system, voters have to attend their polling centers in person.
          By using this online voting system people can cast their votes through online
          without attending any polling booth to cast their votes.
        Although manual process counting is done by humans online voting system
          calculates vote count through system.
        Online voting speed the counting process while manual counting is time
          consuming.
        Online voting system reduce election cost by considerable amount.
        Online voting system provide security that makes more difficult to commit
          cheating during the election
   The online voting system is a web based system that provides an electronic way to vote
   casting.
      Main features of this program can be listed as follows.
                                              3
   Generate Reports
                                           4
              Most of the tools and technologies mentioned above are freely available.
              Initially this web application runs on the local host. So it is clear that this
              online voting system technically feasible.
              The most important aspect of feasibility study is, consider the resources that
              needed while developing the software product. Main resources needed for
              this system developments are listed as follows.
                   Programming device (Laptop or desktop)
                   SMS Gateway
                   Programming tools (freely available)
This dissertation consists of the following sections. Section 2 is about system requirement
analysis and review of similar systems. Section 3 provide design of the online voting system
by using database table structures, structure charts and important pseudo codes. Section 4
give a critical evaluation of the system. Finally conclude in section 5 indicating a summary
of the results of the project.
                                              5
Chapter 2 - Background
2.1 Introduction
Traditional voting needs to follow different steps for preparing the elections, such as setting
a list of candidates, print ballot sheets, provide a better way to check voter identification,
provide a secret way to vote casting and so on. It is necessary to include these features when
developing the online voting system.
This chapter discussed about existing voting system and technologies of those systems. An
analysis of requirements of the system also discusses.
This section is discusses about similar electronic voting mechanism use to vote casting.
Some of the electronic voting systems and their features are listed below.
       “Paper based electronic voting systems” are voting systems that provide an
       electronic procedure to count votes. The voters cast their votes through ballot sheets.
       The vote counting is done through an electronic device. This mechanism reduces
       the counting mistakes. These systems use optical scanning systems. (Antonyan,
       2010)
       A more recent invention used for election is called direct-recording electronic voting
       system (DRE). The DRE voting system is a computer screen to display ballot sheet
       with push button or touch screen. The machine processes data with computer
                                              6
      software and records voting data and ballot images in memory component. This
      machine not only used for casting votes it also used to get print a ballot for tallying
      if other electronic tabulation techniques like optical scanning is used. (Fischer,
      2007)
      Here the vote casting is done using a computer which is connected to the internet.
      After casting vote, the voting details are transmitted to the remote database through
      internet. These systems allow the voter to log in to the system by providing a secure
      PIN or any other secure method. After logging to the system, voter is able to cast
      their votes. The votes will be sent to the remote database. (Krimmer & Volkamer,
      2014)
Another remote voting method is vote casting though GSM network. The voting is done
using SMS. These methods can be considered as growing areas under remote voting.
                                             7
       Remote Voting                 Voting details are transmitted to the remote
                                      database through internet.
                                     Voters need to provide PIN to login to the system.
      By using this system, voters can cast their votes from any location. It will lead to
      reduce cost and time. It will also increase the voting percentage.
      In 1991 Belgium tested two types of electronic voting systems. One is based on
      touch panels and other is electronic ballot sheets which are marked by using a light
      pen. For these e-voting mechanisms they have to spend a considerable amount of
      expenditure.
      After that they use OMR technology to mark ballot sheets. It becomes successful
      and give no problems. Although this method successful, it only address vote
      counting.
      In 2003, they introduce another electronic voting mechanism. Here votes can cast
      their votes through the electronic voting system. The system includes a printer
                                             8
   which will provide a receipt. Voter need to approve paper receipt and put the receipt
   into the box. After the election is over, all paper votes’ count and compare with the
   electronic vote count. This method shows accuracy of vote count. But this method
   leads to considerable amount of money for an election. (Cock, 2010)
   But using this online voting system which cast vote through internet, it can reduced
   the cost considerable amount. Because there is no need to spend money for voting
   machines and other equipment.
   Estonia become the first nation to hold legally binding general election over the
   internet. Estonian ID card is a regular and mandatory smart card which has secure
   remote authentication and legally binding digital signature.
   Voter can change their electronic vote unlimited number of times. It also possible
   to vote through internet or polling stations.
   Estonia develop their e-voting system by implementing verification of the vote for
   any individual voter. Smartphone application use to scan QR code from desktop
   screen to displays the name and number of the candidate the vote was cast. There
   are individual verification stored for the voter to verify that the vote cast was stored
   on vote collecting server. But there is no direct way to verify that the vote was also
   tallied as cast.
   Electronic voting in the United States involves several types of machines such as
   touch screens for voters to mark choices, scanners to read paper ballots, scanners to
   verify signatures of non-voted ballots, and web servers to display tallies to the
   public. Apart from that, there are also computer systems to maintain voter
   registration.
   In an optical scan voting system each voter's choices are marked on pieces of paper,
   which then go through a scanner. The scanner creates an electronic image of each
   ballot, interprets it, creates a tally for each candidate, and usually stores the image
   for later review (Herrnson, et al., 2008)
                                          9
  2.4.5      Summary of existing e-voting systems
“Voter - verified         Votes via e-system vote    Confidence in the    High cost
paper audit               receipt also produce.      voting results
trail (VVPAT)
system in India”
(Bhuyan, 2019)
                                            10
2.5    Requirement Analysis
        Identifying functional requirements and design and develop the system to achieve
these requirements are very important. Some of the functional requirements need to achieve
through the system shows below.
    Register voters – By using this feature new voter can register to the system. After
     Successful registration username and password send to the registered users via
     SMS.
    Registered voter login – Registered voters can log in to the system by providing
     username and password. Registered users can view details and registered users can
     update basic information like phone number. Changing other critical details done
     by election department. Registers voters can request for make changes.
    Register Candidate- Candidate can register with the system by providing required
     details.
    Voting process – Voter log in to system by providing NIC and password. (Password
     is providing by election department by sending SMS to registered phone number).
     After log in to system voter can vote to desired party through simple interface.
 Check Results - Any person can view result through result display interface.
    Generate Reports – Generate different types of reports (vote count district vise
     and provincial vise, Vote count of each candidate)
                                             11
   2.5.2       Non-Functional Requirements
        These are basic requirements any online voting system must satisfy.
       Scalability – The system must able to expand for future requirements.
       Flexibility – The system should cope with other technologies without any
        hesitation.
       Mobility – Ability of the system to provide a way to cast their votes without any
        restriction of the location.
       Democracy – Any voter cannot vote more than one time.
       Security – Votes should not be manipulated during the voting process.
When developing the online voting system it should consider different design strategies
and need to carefully select the best design strategy for implementation.
There are many open source software projects which are similar to this online voting
system, is freely available on the internet. Other than that many source codes also available
in web. The system should unique to Si Lankan society and people. Therefore this system
needs to address all aspects relevant to Sri Lankan manual voting system. Develop a system
from scratch makes the system more secure.
While developing the system, it is need to consider the hardware environment. If the system
developed as standalone application it may be secure but the cost will be increased by
considerable amount. Because it need to set up standalone application on each and every
personal computer at all the polling booths in all over the country. There’s no need to set
up personal computers or pooling booths in online voting. In online voting, voter needs to
consider only about stable internet connection. With the growing of internet coverage the
internet voting is cheaper than other voting methods.
In online voting it is need to consider servers. Because servers able to handle all the request
of voters. Otherwise system becomes fails.
Linux environment more secure if the e voting system developed as standalone application.
But the software solution is target for online voting it will not depends on system software.
It can access through any device as long as good internet facility provided.
To achieve good design strategy it is need to consider cost, security, accuracy, performance
and so on. Internet voting is the best way to achieve cost effectiveness. Because government
no need to hire huge election duty staff and no need to print ballot sheets. It will lead to
reduce electoral expenses with considerable amount. But in online voting, it is need to
consider all the security threats. Public trustworthiness very important to the voting system.
                                              12
This web based online voting system will provide vote casting at any place at any time. So
the vote casting percentage will be eventually increasing with the system. When consider
above facts, voting system design as web based solution will be the best choice.
                                           13
Chapter 3 - Design
3.1   Introduction
      Online voting system is designed for Sri Lankan voters. This system needs to
      address all aspects relevant to Sri Lankan manual voting process. Design a system
      from scratch makes the system more convenient and secure.
      The online voting system is basically design for voting over internet using electronic
      ballots. Online voting system includes preparations before the poll, the actual voting
      process, counting of votes and provide results after closed the poll.
HTML
HTTP
                                                   SMS
                                                 Messaging
                                                  Server                  Web Pages
                                            14
3.3   System Design
      The system design will show the overall architecture of the system. The following
      block diagram indicates basic components and their interaction among the
      components. Each component capable of providing one or more functionalities.
Administrator Dashboard
                                           15
            Figure 3. 3 Flowchart for Administration Dashboard
Registration Platform
Voting Interface
The voter can log in to the election portal by providing username and password.
Authenticated user who login to the system can view the ballot sheet. After login, a
voter can cast their votes by selecting relevant political party and submit the ballot
sheet. Voter get a SMS message to their mobile number after completing their vote
casting successfully. Flowchart for voting process is shown below.
                                      16
                  Figure 3. 4 Flowchart for Voting Process
Tallying Phrase
Vote counting is done by automatically. The vote count can view, while voting on
process. The public can view number of votes acquired for each party Result can
view anyone using a web application. Administrators and authorized system users
of election commission are responsible to generate necessary reports.
                                    17
Database
The design of the database is one of a main activity of a software development process.
The relational model database design of the online voting system shows below.
                                          18
   3.3.1      Data Flow Diagram (DFD)
The information flow throughout the system can view via DFD. (Bangerter, 2010) This
DFD specify the software and people involved in the information flow. Voter, political
party, candidate and admin are external entities to the system. System has main processes
and some are divided in to sub processes.
Admin is an entity who responsible for many processes of the system. Admin responsible
for managing voters, handling voting process, generate reports and publish election results.
Registering voter is done by admin. Manage voter has three sub processes which are add
voter, update voter and delete voter.
After candidate is register with the system, manage candidate is take place. Manage
candidate is decompose in to three sub processes. Those are add candidate, update
candidate and delete candidate. All the information store and retrieve from the central
database throughout system processes.
                                            19
   3.3.2      Use case Diagram
The actions are performed by the different users can view through the use case diagram.
Following use case diagram represent the functionalities of the online voting system.
System mainly deal with four actors’ names voter, admin, and candidate and system user.
Each actor interacted with one or more use cases.
Voter can perform four action through system which are view registered details, request for
update details, vote for candidate and view election results. To perform each action voter
must to log in to the system.
Candidate is another important actor of the system. Candidate need to register with the
system to perform other actions like view registered details and request for update details.
System user is another actor who deals with the system. System user need to log in to the
system to perform any action. Voter registration, update/delete voter details, approve
candidate registration and update/delete candidate are actions perform by the system user.
Admin is an actor who can perform all the system user actions. Other than those actions
manage voting process, provide user levels and manage full application is up to admin user.
                                            20
   3.3.3      Use Cases Scenario
 Use case name: Request for Update Critical Voter Details               ID:2
 Primary actor: Voter                                        Priority : medium
 Brief Description:
 Voter should edit requited field to update and make request for update.
 Pre-Conditions: Registered voter should login to the online voting system
 Basic Flow:
    1. Voter need to login to the voting system
    2. Voter clicks the “Change details” button
    3. The system prompts the details of relevant voter
    4. Voter clicks on edit button
    5. Voter edit the necessary information
    6. Voter submit the request by click on Submit button.
                                            21
Table 3. 3 Update of Voter Details
                                          22
Table 3. 5 Political Party Registration
                                             23
Table 3. 7 Candidate Registration
 Basic Flow:
    1. Political party log in to the voting system
    2. Clicks the “View Party Details” button
    3. The system prompts the details of relevant party
    4. Political party clicks on edit button
    5. Political party edit the necessary information
    6. Political party submit the request by click on Submit button.
                                            24
Table 3. 9 Update Candidate Details
                                            25
 Table 3. 11   Log in/Log out
                                          26
Table 3. 13 View Election Results
                                           27
Table 3. 15 System User Registration
                                           28
3.3.4 Sequence Diagrams
                                             29
                  Login
The following diagram outline the interaction among system user and system user
dashboard. System user need to perform different actions through online voting system.
Add new voter, update/delete voter, accept candidate registration and update delete
candidate are main action need to perform by system user. To perform those tasks system
user need to login with login interface. Login interface communicate with database and
check login details valid or not. If login details are valid, system can login to the system
user dashboard.
System user need to interact with ‘Register voter’ interface to add new voter to the system.
System user need to fill necessary information of relevant voter and click on insert button
on user interface. UI will communicate with database and save voter details. If details are
successfully inserted to the database user can view success message through interface.
System user need to interact with ‘update/delete voter details’ UI to update or delete voters.
System user need to select voter through UI and send message to the database to
                                             30
update/delete voter. The database send message to user interface indicating operations’
success or failure.
After candidate register with the system, system user need to accept candidate according to
guidelines. To carry out this task system user need to interact with accept candidate
registration UI. After check validity of provided information, user interface communicate
with the database and send message indicating success or failure of the registration process.
This message can view through ‘accept candidate registration’ user interface.
System user need to interact with ‘update/delete candidate details’ UI to update or delete
candidates. System user need to select candidate through UI and send message to the
database to update/delete candidate. The database send message to user interface indicating
operations’ success or failure.
Login
                                             31
   3.3.4.3    Sequence Diagram for Voting Process
The following diagram outline the interaction among voter and voting process. To cast a
vote voter need to login with login interface. Login interface communicate with database
and check login details valid or not. If login details are valid, voter can view main voting
panel.
Voter need to interact with ‘Main voting panel’ interface to vote for a candidate. Voter need
to select candidate he/she need to vote and click on vote now button on user interface. The
user interface communicate with the database record the choice. Database send a message
to voter and user interface indicating success of the action.
After completing voting, voter need to logout from the system by using logout button on
user interface.
                                             32
Chapter 4 - Implementation
The system design convert into the working product is the main goal of system
implementation.
This online voting system is implemented using Net Beans IDE, PHP, MySQL database,
HTML, CSS, Bootstrap and JAVA Script. Bootstrap is toolkit for UI design. FPDF report
generating tool use to report generating in this study.
As mentioned above Net Beans IDE use as the software development application that
provides good facilities for software development. Net Beans is open source software IDE
which can work on many platforms such as Windows and Linux. Net Beans is great tool
which is very easy to use. It provides great compatibility to other software tools.
The Language used in coding is PHP. PHP is an open source language which is mostly
used for web application development. PHP also support for html, JavaScript. Most of the
web servers support for PHP installation. It is available open source language pack which
means any user can use this without making any payment.
MySQL is database management system which is widely use all over the world. MySQL
databases are typically use these type of web applications and accessed using PHP
This System consists of several modules such as admin panel, voter’s portal, candidate’s
portal, and voting process, result generating process and displaying results. Interfaces use
to connecting one module to another. Below diagram shows routine of each and every
module in system
Implementation comprises of different modules or web forms and other supporting files
such as the style sheet, and a master page. Below shows them one after the other.
                                            33
                      Figure 4. 1 Module Interaction of the System
    config.php
This file is created in such a way that it has a single connection string which is used by all
the modules. See the code below.
                                             34
 Home page
The Home is a provide links to most of the other pages. See design below
 Login Page
  Every system user need to log in to the system. After inserting login details system
  decide relevant user group and direct to the relevant page accordingly. See design
  and major code below.
                                    36
     Voting Page
This page provides voter to cast their vote. After submitting their vote system increased the
vote cast accordingly. See design and major code below
                                             37
 Admin dashboard panel
                                           38
This code segment help to draw pie chart according to vote count.
                                    39
Chapter 5 - Testing and Evaluation
5.1 Introduction
System testing is used to find the weakness of the integrated system. Main purpose is testing
is capture the errors and checking the system is working well according to the parameters
established for it. System testing usually begins at the earlier stage of system development
life cycle. Testing plan starts immediately after requirement analysis which lead to identify
weaknesses before the design phase begun. During design phase, it is possible to come up
with different testing approaches like unit testing, integration testing and system testing.
Doing different testing approaches at the earlier stage gives the ability to explore some of
weakness and mistakes such as poor naming convention of variables, data connectivity
issues, inconsistencies in fixing the requirements and so on.
A test plan like any other plan is defined as a series of tests activities that will be conducted
during test. It also serves as a checklist which is used to determine which testing step is to
be done first and which is to be done last and with which tool and methodology is to be
implemented. It is important to understand that a test plan is nothing but a piece or
collection of document which is organized in a well-structured form by following a specific
defined standard. In this project, the following criteria were set as part of the plan for
conducting a successful testing on the system.
                                               40
5.3    Test cases
 Check for      Enter admin’s user name                  Display error           Display error
 login          Enter admin’s password                   message indicating      message indicating
 failure        Click on “login” button                  username or             username or
                                                         password invalid        password invalid
 Check for      Select the data relevant to admin form   Display admin data      Admin data
 all the data   database.                                                        displayed
 relevant to    Display relevant data
 admin
 displayed
 Check for      Click on “logout” button                 Session clear and       Redirected to the
 successful                                              redirect to home page   home page
 logout
                                           41
    5.3.2 Authorized Officer Dashboard
Check for      Enter officer’s user name                  Display error            Display error
login          Enter officer’s password                   message indicating       message
failure        Click on “login” button                    username or              indicating
                                                          password invalid         username or
                                                                                   password invalid
Check for      Select the data relevant to officer form   Display officer data     Officer data
all the data   database.                                                           displayed
relevant to    Display relevant data
officer
displayed
Delete         Login to officer dashboard                 Delete political party   Political party
Political      Search for political party details from    details                  details are deleted
Party          server
               Delete political party details
Update         Log in to officer dashboard                Update political party   Political party
Political      Search for political party details from    details                  details are
Party          server                                                              updated
               Update political party details
Delete         Search for voter details from database     Delete relevant voter    Voter details are
voter          server                                     details                  deleted
               Delete voter details
Update         Search for voter details from server.      Update relevant voter    “Voter details are
voter          Update voter details                       details.                 updated” message
                                                          Send message to          shown.
                                                          voter’s mobile
                                                          number if password
                                                          or username updated.
Log out        Click log out button                       Redirect officer to      Redirect officer
                                                          home screen              to home screen
                                            42
    5.3.3 Voting
Login failed    Input officer user name         If password or username         Display messages
                Input officer password          incorrect display message       showing “username
                Click the login button          showing “username or            or password invalid”
                                                password invalid”.              or “You already
                                                Otherwise show the message      voted”
                                                “You already voted”
Display          Automatically query the data   Show ballot sheet               Show ballot sheet
ballot sheet     from the server and show
                 ballot sheet
Voting           Select political party name    Vote count increased            Vote count
                 Click the submit button        accordingly.                    increased.
                                                Send successful message to      Successful message
                                                the voters registered phone     send to the voters
                                                no and redirect to the home     registered phone no
                                                page                            and redirected to the
                                                                                home page
                                          43
    5.3.5 Voter Registration
                                              44
    5.3.8 Change Voter Details
                                                45
5.4   Tests conducted on system testing
      This begins as soon as starting the system design. The modules were tested one after
      the other in order to detect any irregularities such as errors or mistakes. And based
      on that, every single interface tested as soon it was created.
      After all the modules were completely tested as per unit testing, the next thing was
      to begin testing those modules which have to be integrated with others for them to
      be able to produce the expected result. In this point connectivity between the front
      end and the back end was tested. This is very important at this stage because having
      an integral part communicating with the other part is what shows a sign of success
      in the testing. Other system interfaces were also tested to ensure that the mouse and
      keyboard events such as clicking, scrolling and typing are having effects on the
      respective interfaces.
      At this point, all elements were put together under one roof to ensure that there is
      constant flow and exchange of data within all the components and without any error
      small or big.
      In this testing segment, the system was able to prove how easy and understandable it
      is to its users. The interfaces were made easy, so much so that any person can operate
      it. However, different use scenarios were involved, all in ensuring good atmosphere
      for operation.
      This is a very crucial aspect to tackle as compatibility is one of the major concerns
      for many users. Different people are having different devices with different
      architecture and platforms. In that regard, we had to ensure that the system could
      cater for all the needs of the users. Especially issues related to browser. This project
      is a web based application. Therefore, there is a serious concern for users who would
                                             46
want to access the site using mobiles and other types of handheld devices. And in
response to that, we made sure that the voting system is operate with the bootstrap
platform which makes it easier to manipulate by all form of browsers. And all the
tested devices gave a very good and positive results.
As mentioned above, below shows some user interfaces that use to access voters
portal though smart phone. It proves that most of the required interfaces are working
fine with mobile devices.
As a matter of fact, security is one of the major concern of our users. This includes
the questions like are our votes secured and safe from any illegal alteration? And in
tackling that, the system ensured that proper login system is provided, and also,
system ensured that both the voters and admin have restricted access to the voting
environment. Nevertheless, we cannot deny the fact that not much have been done
under security testing, but with time, we hope to achieve a better security
infrastructure by considering better ways to improve the system security wise.
                                      47
Chapter 6 - Conclusion
The electronic voting is a challenging field. Electronic voting rapidly developed in past few
years. The reason for that is development of new technologies. The detailed analysis of this
study shows it has both positive and negative aspects.
Here, the election administrators can provide election results easily and quickly when
compare with manual voting. The online voting system allows voters to cast their votes
through internet without attending to polling booth. Therefore by using this type of method
for voting process will be lead to increase voting percentage. There are many benefits of
such a system like fast accessing, improved security, easiness of maintain voting
information and reduction of utilization of resources. According to the facts of this study
emphasis, the online voting has more advantages when compare with manual voting.
This system provides anonymity which means the voter’s identification is impossible. If
the system not able to achieve this, it will definitely lead to voter manipulation. On the
other hand the system has no proper way to detect any un-matching result. This is a negative
aspect of the system. This issue needs to address the future development of the study.
Most challenging part of this system is security handling. Online voting has many security
threats. To overcome some of the security issues, here the system use SMS facility. The
system sends user name and password to the voter as SMS. But it maybe not sufficient to
address these type of critical system. So the system need to use different type of
cryptographic technology to send those messages. But this system not use that technology
for implementation. For future development of this study need to address security issues
thoroughly.
The system only developed for presidential election processes of Sri Lanka. This system
need to extend for parliamentary elections as future work. This system also need to improve
security as mentioned earlier. The system need to improve web accessibility for disable
people. It is also need to provide different language platform for system users.
                                             48
List of References
Antonyan, T., 2010. State-Wide Elections, Optical Scan Voting Systems, and the Pursuit of Integrity.
January.p. 15.
Athuraliya, A., 2013. What is Sequence Diagram? Complete Guide with Examples. [Online]
Available at: https://creately.com/blog/diagrams/sequence-diagram-tutorial/
[Accessed 10 March 2021].
Bangerter, J., 2010. Data Flow Diagram Symbols, Types, and Tips. [Online]
Available at: https://www.lucidchart.com/blog/data-flow-diagram-tutorial
[Accessed 10 March 2021].
Bhuyan, D. J., 2019. Effectiveness of Electronic Voting Machine in the Electoral System of India: New
Opportunities and Challenges. 2 July, 8(2), p. 8.
Cock, D. D., 2010. Electronic Voting in BelgiumPast and Future. s.l., s.n., p. 38.
Fischer, E. A., 2007. The Direct Recording Electronic Voting Machine (DRE) Controversy: FAQs and
Misperceptions, s.l.: Congressional Research Service.
Gerlach, J. & Gasser, U., 2009. Three Case Studies from Switzerland:, s.l.: Berkman Center Research.
Goldsmith, B. & Ruthrauff, H., 2013. Case Study Report on Brazil Electronic Voting: 1996 to Present.
s.l., United States Agency for International Development (USAID).
Gonggrijp, R., Hengeveld, W.-J. & Hotting, E., n.d. RIES - Rijnland Internet Election System:a cursory
study of published source code. [Online]
Available at: http://wijvertrouwenstemcomputersniet.nl/images/4/41/VoteID_2009_-_RIES.pdf
[Accessed 8 Febuary 2021].
Herrnson, P. S., Niemi, R. G., Hanmer, M. J. & Bederson, B., 2008. The Current State of Electronic
Voting in the United States. p. 25.
Krimmer, R. & Volkamer, M., 2014. The Development of Remote E-Voting Around the World: A
Review of Roads and Directions. s.l., s.n., p. 16.
Nwogu, E., 2016. Supervised Public Network Direct Recording Electronic Voting (PNDRE Voting) on
Existing Global System for Mobile Communication Infrastructure; a Panacea for Cheap E-voting
System Implementation in Nigeria. 3(2), p. 9.
                                                    49
Wikimedia Foundation, 2021. Vote counting in the Philippines. [Online]
Available at: https://en.wikipedia.org/wiki/Vote_counting_in_the_Philippines
[Accessed 8 February 2021].
                                                50
Appendices
                                            51
The administrator can view reports which are vote count based on each province, district
or polling division vice.
                                           52
Vote count report based on district vice
                                           53
Vote count report based on polling division vice
                                         54
Through system admin can get a report about percentage of voters used their votes in
each province.
Through system admin can get a report about percentage of voters used their votes in
each district.
                                           55
Through system admin can get a report about percentage of voters used their votes in
each polling division.
Through system admin can get a report about vote count for each political party based on
each province.
                                           56
                                 User Guide for Voters
   1. Voter Registration
After you access to the home page, you can see the following screen. Then you have to click
on the voter’s portal.
                                                                             Click on “Voters
                                                                             Registration”
                                             57
        Then you can view following window. Fill the information correctly and click on “Register”
        button. Then you will get a SMS to your registered phone number. After accepting your
        registration request by GS of your village you will get the username and password to the
        registered mobile number. If you not get any response within a week you can contact GS of
        your village
                                                   58
   2. Change Voter Details
After you access to the home page, you can see the following screen. Then you have to click
on the voter’s portal
To login to the system, enter your username and password through following window.
                                             59
        Then you can view your information. To change information click the “Change Details”
        button.
        Then you can see following window. Change the details and click on submit button. To
        change critical information click on the link in red color.
                                                   60
   3. Vote for Election
After you access to the home page, you can see the following screen. Then you have to click
on the “E-voting presidential election 2021”
Click here
To login to the system, enter your username and password through following window.
                                             61
Then click on “select” button and Then click on submit button.
                                                                   Click on
                                                                   “Submit”
62