Professional Documents
Culture Documents
E Voting System
E Voting System
E Voting System
By
BIT 19-16
DEPARTMENT OF INFORMATION TECHNOLOGY
SCHOOL OF COMPUTING AND INFORMATICS TECHNOLOGY
Supervisor
June, 2019
i
ii
iii
DEDICATION
We would like to dedicate this project report to our parents.
iv
ACKNOWLEDGEMENT
We give thanks, glory and honor to God for blessing us throughout the entire project and
granting us strength, health, courage and life. We also acknowledge our research supervisor, Mr.
Lwomwa Joseph for his support, correction and guidance throughout this project period. May
God reward his endeavors.
v
TABLE OF CONTENTS
DECLARATION ........................................................................................ Error! Bookmark not defined.
DEDICATION ............................................................................................................................................. iv
ACKNOWLEDGEMENT ............................................................................................................................ v
1.4 Significance......................................................................................................................................... 3
vi
2.1.1 Paper-based voting ....................................................................................................................... 4
METHODOLOGY ..................................................................................................................................... 11
vii
3.10 Ethical Consideration ...................................................................................................................... 16
viii
6.4 Recommendation .............................................................................................................................. 49
REFERENCES ........................................................................................................................................... 50
APPENDICES ............................................................................................................................................ 52
MAKERERE UNIVERSITY...................................................................................................................... 52
ix
LIST OF TABLES
Table 4.4: Opinion whether student voting processes are easy and fast ....................................... 21
Table 4.5. How election results are shared with and disseminated among stakeholders.............. 22
Table 4.8: Data dictionary for External Entities in the level 1 DFD ............................................ 29
Table 4.9: Data dictionary for Data stores in the level 1 DFD ..................................................... 29
x
LIST OF FIGURES
Figure 4.3: Context Diagram for the student e-Voting system ..................................................... 27
Figure 4.4: Level 1 Data Flow Diagram for the student e-Voting system .................................... 28
Figure 5.5. List of candidates of given positions for a voter to choose from ............................... 41
xi
LIST OF ABBREVIATIONS
IT Information Technology
xii
ABSTRACT
Much as students in the College of Computing and Information Science (CoCIS), Makerere
University can physically vote for their leaders, the current voting process involves a lot of
lengthy paper work procedures and requires students to move to the polling station in order to
cast their vote. In this lengthy process, the students have to provide their credentials to the
administrators/officials at the polling stations and then they verify the information provided and
the students are given ballot papers in order to complete the voting process. This process is
tiresome and time consuming, which increases the rate of students’ absenteeism from voting.
These students’ voting problems were bridged through the implementation of the student e-
Voting system that provides an easier way of voting that does not require ones’ physical
presence in order to cast their vote.
The project scope was limited to CoCIS, Makerere University. The objectives of the project
were fulfilled using a number of tools and techniques. In objective one, the researchers carried
out a study using data collection tools like questionnaires and interview guides. In objective two,
the project was designed using data flow diagrams and entity relationship diagrams. In objective
three, the system was developed using HTML, PHP, CSS, JavaScript, jQuery, MySQL, and
Bootstrap. In objective four, the developed system was tested using techniques such as black-box
and white-box testing of different units as well as the whole integrated system. The system was
validated by taking it to the users to confirm whether it meets the user requirements. A validation
questionnaire was provided to the users and results were analyzed using excel spreadsheet. From
the results of validation, it was realized that the users of the developed system confirmed that it
was; scalable (90%), authenticates users (95%), efficient (95%), effective (90%), user friendly
(85%) and flexible (95%).
Therefore based on the findings of the study, the researchers recommended that the developed
student e-Voting system should be adopted and deployed for efficient and effective e-Voting of
student leaders remotely using all types of devices not limited to laptops, tablets and smart
phones connected to the internet.
xiii
CHAPTER ONE
INTRODUCTION
1.0 Introduction
Universities around the world are increasingly considering the replacement of traditional paper-
based voting schemes with electronic voting systems (Willem, Spencer & Saurav & 2016). A
particular form of such e-voting systems are those which allow voters to cast their votes over the
internet, so-called remote mobile voting systems also known as m-voting systems. In this project,
the general term e-voting will be used in reference to remote e-voting over the internet, and with
voting the researchers refer to polls, elections, referenda, and other forms of collective decision
making. Thus, Willem, Spencer and Saurav (2016) define an m-Voting System as a web-based
system that facilitates the running of elections and surveys online.
Mobile voting is an electronic way of choosing leaders via a web driven application. The
advantage of mobile 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 to a database which can be queried to find out who
of the aspirants for a given post has the highest number of votes.
Willem, Spencer and Saurav (2016) asserted that for an m-voting system to be ideal, four
attributes must be satisfied: anonymity, scalability, speed, and accuracy. Therefore, the student
m-Voting system has been developed to simplify the process of organizing student elections in
the College of Computing and Information Science (CoCIS), Makerere University and make it
convenient for voters to vote remotely from their personal smart mobile phones, laptops,
computers in the computer laboratories or home computers while taking into consideration
security, anonymity and providing auditing capabilities.
1
The voting process at CoCIS usually has inconsistencies and inconveniences which have made
the whole process inefficient hence leading to dissatisfaction of various involved parties (Xoddo,
2019). These inconsistencies and inconveniences include corruption, long queues to cast votes,
records not being well kept, long time taken during vote counting, just to mention but a few. All
these mentioned above leads to false results produced. In this project, the student m-Voting
system enhances an electronic way of choosing leaders remotely via internet enabled devices
such as a smart mobile phone or laptop. It minimizes on errors of vote counting. The individual
votes are submitted to a database which can be queried to find out who of the aspirants for a
given post has the highest number of votes.
The system is also geared towards increasing the voting percentage in the college since it has
been noted that with the old voting method (the Queue System), the voter turnup has been a
wanting case.
1.2 Objectives
1.2.1 Main Objective
The main objective is to develop a student e-Voting system that enables the students of CoCIS to
easily and conveniently vote for their leaders remotely.
i. To review literature and carry out a study about the current voting system used at CoCIS,
analyse and identify the requirements for the student e-Voting system for CoCIS.
ii. To design the student e-Voting system that enables the students of CoCIS to vote for their
leaders remotely.
2
iii. To implement the student e-Voting system that enables the students of CoCIS to vote for
their leaders remotely.
iv. To test and validate the student e-Voting system.
1.4 Significance
Internet voting allows the casting of electronic ballots from virtually any location around the
world, helping to reduce students’ absenteeism rate. Thus, the student e-Voting system enables
students to easily, remotely and conveniently vote for their chosen leaders.
The university and the college incur minimal costs when the student e-Voting system is used
compared to the much costs that were incurred on printing papers such as ballot papers. Thus,
other colleges with in the university can also adopt the new technology, the student e-Voting
system.
The findings of the study contributed to existing stock of knowledge as far as e-Voting systems
are concerned. Future researchers on related studies will use this study for domain knowledge
enhancement.
3
CHAPTER TWO
LITERATURE REVIEW
2.0 Introduction
This chapter focuses on the existing literature that is related to m-Voting systems. The literature
was sourced from; internet sources, text books, and journals.
4
2.2 Categories of Voting Systems
There are mainly two categories of voting systems, that is, paper-based voting systems and
internet voting systems.
Internet voting allows the casting of electronic ballots from virtually any location around the
world (Mellon, Peixoto & Sjoberg, 2017). Elections may be organized in many different ways.
Paper-based elections make use of paper ballots, while automated elections make use of some
kind of voting machines that automate the voting and/or tabulation procedures. When the voting
machines are actually implemented by computers, it is electronic voting. Online voting systems
5
are much more formal than online polling systems, because they seek (or should seek) to
accurately reflect the voters' preferences (Bochsler, 2010).
Mobile voting is an electronic way of choosing leaders via a web driven application (Germann &
Serdült, 2017). The advantage of mobile 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 (Kremer, Mark & Ben, 2010). The individual votes are
submitted to a database which can be queried to find out who of the aspirants for a given post has
the highest number of votes.
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 which allow people to vote far from where they usually live, helping
to reduce absenteeism rate (Schneier, 2015).
Nzoka, et al (2013) suggested online voting as a solution to curb the challenge of cheating in
elections and provide a baseline for online voting system, such a system should provide a high
level of security and establish five core requirements of an electronic voting system to address
issues of privacy, authentication, anonymity, uniqueness and coercion.
According to Zissis (2011), online voting system shows that web technologies can be harnessed
to facilitate voting processes and one no longer needs to be physically at the Campus setting to
exercise their democratic rights as students. The system exposes a web interface through which
students login and cast their votes during the election period. In Kenya, universities and colleges
have to rely on the human clerk electoral processes (Feldman, 2015).
6
2.1 Related Systems
Table 2.1: Table showing the examples of related voting systems
System Description Strengths Weaknesses
Paper- The voter gets a blank i. Paper Ballots iv. Expensive and Time
based ballot and uses a pen or a Are Easily consuming
ballots marker to tick the Understood v. Too much paper work
system candidate he desires to by Voters vi. Errors during data
vote for. Hand-counted ii. Paper Ballot entry
ballots are a time and Systems vii. Loss of registration
labour consuming process, Easily forms
although it is easy to Accommoda viii. Cases of some voters
manufacture paper ballots te Additional being locked out of the
and the ballots can be Voters at voting premises.
retained for verification. Low Cost
iii. Voters Can
Continue to
Vote in the
Event of
Equipment
Failure
Lever Lever machine is peculiar i. It auto- ii. They were very fragile
voting equipment, and each lever counts the machines, once they
machine is assigned to a votes, the fall over, they would
system corresponding candidate. counter get spoilt.
The voter pulls the lever inside the
to vote for his favourite machine
candidate. This kind of keeps track
voting machine can count of the votes,
up the ballots therefore
automatically. Because its there are few
interface is not user- chances of
7
friendly enough, giving vote
some training to voters is miscounting.
necessary.
Punch card The voter uses metallic i. Voters iii. While the ballot is in
system hole-punch to punch a cannot easily the automatic machine,
hole on the blank ballot. It verify that the voter can punch
can count votes their ballots holes in it but is unable
automatically, but if the are properly to see the ballot itself.
voter’s perforation is punched Once removed from
incomplete, the result is the machine, the voter
ii. If there is a
probably determined can see the holes, but
hand count
wrongly. without the ballot
of punched-
labels printed on the
card ballots,
machine, the voter is
the counters
unable to tell what
cannot easily
those holes mean.
interpret
improperly
made
punches.
8
2.6 Comparative Evaluation
This section focuses on the comparison of the related existing systems, according to their
features as shown in table 2.2, with the student e-Voting system.
2.7 Conclusion
Table 2.2 shows that the existing systems, for instance the Paper-based ballot system, lever
voting machine system, DRE, punch card system have some common and different features. The
student e-Voting system has not only got the same features as the mentioned systems but it also
has other unique features, for instance, the capability to enable voters to vote remotely using
various devices such as a smart phones, tablets and laptops connected to the internet, making it
unique from the other existing systems as evaluated. They can also keep track of the election
9
results as the voting process is going on. That is; a graphical report showing the status of the
election results as voting is going on.
10
CHAPTER THREE
METHODOLOGY
3.0 Introduction
This chapter presents the research design, study population, sample size and selection, data
collection methods, data collection instruments, validity and reliability, procedure of data
collection, data management and analysis and measurement of variables, data structures that
were employed in research study to determine the requirements, system analysis and design as
well as system development, testing and evaluation.
3.1Research design
The study used a qualitative survey research design to provide a more comprehensive picture of
each aspect of the study. A research design is a detailed outline of how an investigation took
place (Creswell, 2012). The study also used a survey research method, which was a non-
experimental, descriptive research method. Surveys were useful when the researchers wanted to
collect data on phenomena that could not be directly observed. Other advantages of the survey
were; it was economical, and allowed a collection of a reasonable amount of data from the study
population, and also facilitated standardization of the data collected (Bhattacherjee, 2011) and a
disadvantage of the survey method was its artificiality.
11
3.2.1 Sample Size
A sample is the actual group from which data is collected (Shahrokh & Dougherty, 2014) and it
is a subset of the population and should be a typical representation of the larger group. At least
30% of the total population is representative (Shahrokh & Dougherty, 2014). Thus, the study was
conducted on a convenience sample of eighty (81) respondents, who included both 75 students
and 6 staff (that is, EC officials at CoCIS) formed the sample of the study. The target population
was selected because it was central and pivotal to the topic under study and because of that, the
researchers were in position to obtain the relevant information to the study. The sample size was
adequate enough to generate unbiased results.
Simple random sampling technique was also used to collect information from students (Sekaran
& Bougie, 2013). This technique had high generalizability of findings; hence it was suitable for a
large study population. The researchers allocated a number to every student respondent of the
accessible population, place the numbers in a container then picked numbers at random. The
subjects corresponding to the numbers picked were included in the sample.
12
3.3 Sources of Data
The researchers used both primary and secondary data. Primary data about the existing paper-
based voting system was obtained from the university documents, interviews with members of
staff and questionnaires with students. Secondary data was used from online journals, text books,
articles and other literature available about e-voting systems.
Primary data was collected using the interview guide (appendix B) to guide the researchers in
conducting face-to-face interviews. This guide consisted of a list of questions which the
researchers used in collecting data (Jacobsen et al, 2002). These questions helped the study to
stay focused and thus enabled the researchers to collect necessary information.
13
The study issued out 75 questionnaires, which were successfully completed by the respondents
(students), hence the response rate generated was 100%. Five (05) other respondents (EC
officials) were interviewed.
The documentary review checklist was used to collect secondary data. It constituted the list of
items of information that were obtained from documents, records and other materials. In order to
secure measurable data, the items that were included in the schedule were limited to those that
could be uniformly secured from a large number of case histories or other records.
To analyse qualitative data, the researchers organized statements and responses to generate
useful conclusions and interpretations based on the research objectives (Sekranan, 2003).
Qualitative data analyses for the study objectives involved analysis of themes of interview data.
Interview response were reviewed, sorted and classified into related themes. Once the themes
were established, data was evaluated and analyzed to determine consistency, credibility and
usefulness of the information to support the qualitative data requirements for the study.
To analyse quantitative data, values were entered in excel corresponding to different variables on
the questionnaire. Results of analysis were presented inform of bar graphs and statistical tables.
14
3.6 System Analysis and Design
The student e-Voting system was designed based on the functional and non-functional
requirements which described the parameters and the data that were incorporated into the system.
The researchers used DFDs (context diagram and level one data flow diagram) and entity
relationship diagram (ERD) to model the conceptual design of the system. According to Dillman
(2012), DFDs and ERDs were used because they are easier to understand by technical and non-
technical audiences; provided a high-level system overview, complete with boundaries and
connections to other systems and provided a detailed representation of the system components.
15
3.9 System Testing and Validation
The student e-Voting system was tested by the researchers, using sample data, on the basis of
error rates to verify that it met design requirements. Thereafter, the student e-Voting system was
taken to the users for validation to ensure that it operates to their satisfaction.
Testing was done before and after the student e-Voting system was put to use. It was done in
phases.
i) Unit Testing: Unit testing was carried out on individual modules of the student e-Voting
system to ensure that they were fully functional as separate units.
ii) Integration Testing: The researchers carried out integration testing after the different
modules were integrated to make a complete system. Integration testing was carried out to ensure
that the modules are compatible and that they could be integrated to form a complete working
student e-Voting system.
iii) User Acceptance Testing [UAT]: The researchers further carried out user acceptance tests
to check for any errors that could arise.
The researchers had to seek assistance from research assistants to help them with the location
and distribution of questionnaires to the respondents. These problems were solved by sparing
16
time by the researchers with the respondents to explain the purpose of the research and the
interpretation of the items on the questionnaires.
3.12 Conclusion
In conclusion, the researchers used the qualitative and quantitative research methods, applying
both secondary and primary data collection approaches in order to interact as much as the
researchers could with the empirical and theoretical levels. Whenever the first hand data or
secondary data was collected, the researchers kept the criteria of validity and reliability in their
minds. Therefore, to meet these demands, all respondents in CoCIS were informed about the
content of the analysis before the actual interviews.
17
CHAPTER FOUR
SYSTEM ANALYSIS AND DESIGN
This chapter highlights the results of evaluation made about the performance of the current
voting system and the identified requirements. It also focuses on the analysis and design of the
student e-Voting system at CoCIS.
Thus the researchers also realized from the interviews with some EC officials and the survey
questionnaire filled by the students that the current voting system at CoCIS involves a lot of
lengthy paper work procedures and requires students to move to the polling station in order to
cast their vote. In this lengthy process, the students have to provide their credentials to the voting
officials at the polling stations and then the voting officials verify the information provided and
the students are given ballot papers in order to complete the voting process. This process is
tiresome and time consuming, which increases the rate of students’ absenteeism from voting.
The respondents thus recommended that the student e-Voting system should be implemented so
that it provides an easier way of voting that does not require ones’ physical presence in order to
cast their vote. Therefore, the student e-Voting system enhances an electronic way of choosing
leaders remotely via internet enabled devices such as a smart mobile phones or laptops. It
minimizes on errors of vote counting. The individual votes are submitted to a database which can
be queried to find out who of the aspirants for a given post has the highest number of votes.
The system is also geared towards increasing the voting percentage in the college since it has
been noted that with the old voting method (the Queue System), the voter turnout has been a
wanting case.
18
4.2 Requirements specification
4.2.1 Data Analysis Results
a) Response rate
The total sample size of the study was 81 respondents (75 students and 6 EC officials in CoCIS).
The study issued out 75 questionnaires, which were successfully completed by the respondents
(students), hence the response rate generated was 100%. Six (06) other respondents (EC
officials) were interviewed.
The background characteristics of the respondents included gender, age, and year of study. The
results of the findings were presented and analyzed in the sections below.
b) Respondents’ gender
The sex distribution of the respondents is as shown in the table below.
Table 4.1: The respondents’ gender
Gender Frequency Percent (%)
M 44 58.7
F 31 41.3
Total 75 100.0
19
c) Age bracket of the respondents
Respondents were required to indicate their age bracket and their responses were as shown in the
table below.
Table 4.2. Distribution of respondents according to their age
Age Frequency Percent (%)
Total 75 100.0
d) Year of study
Respondents were required to indicate their year of study at CoCIS and their responses were as
shown in the table below.
Table 4.3. Length of service with e-Voting
Length of services Frequency Percent (%)
Year 1 4 5.3
Year 2 38 50.7
Year 3 26 34.7
20
Year 4 7 9.3
Total 75 100.0
From table 4.3, 4 (5.3%) of the respondents were in year 1, 38 (50.7%) year 2, 26 (34.7%) year
3, and 7 (9.3%) year 4. Hence the percentage of respondents was significantly higher among
respondents who were in year 2 at CoCIS. This implies that majority of contesting leaders are
often in year 2 of study at CoCIS.
Table 4.4: Opinion whether student voting processes are easy and fast
Opinion Frequency
Yes 31 (41.3%)
No 44 (58.7%)
21
reports from paper files, sometimes data can get lost when the paper files are misplaced or burnt
accidentally, data can easily be modified and thus loses integrity and accuracy.
g) How election results are shared with and disseminated among stakeholders
Respondents were asked about how election results are shared with and disseminated among
election officials, the college administration, students and the results are shown in the table
below.
Table 4.5. How election results are shared with and disseminated among stakeholders
Statement Frequency
Total 75 (100%)
22
Table 4.6: Suggestion for the e-Voting system development
Implementation of the new Frequency
system
Yes 53 (70.7%)
No 22 (29.3%)
a) User Requirements
The researchers interviewed the intended users of the system and collected first-hand information
about what the expected features of the student e-Voting system and the following were the
findings:
23
The user requirements also include; Functional and non-functional requirements for the student
e-Voting system, which are highlighted in the following sub-sections.
b) Functional requirements
These are statements of services the system should provide, how the system should react to
particular inputs and how the system should behave in particular situations. May state what the
system should not do.
The student e-Voting system should provide the following functions:
i. It should compile the voter register by EC official before voting day
ii. It should keep records of EC officials that would use the system in compiling the voter
register, generation of PIN codes for voters and the officials with the authority to view
and declare election results.
iii. It should enable registration of candidates, voters and EC officials
iv. It should enable a voter to vote a candidate
v. It should not accept any vote cast after the voting process is closed
vi. It should enable users to generate voting reports of election results including details of
election results for each position, elected candidates and losers of the elections can be
generated and printed.
c) Non-Functional Requirements
Non-functional requirements are requirements which specify the criteria that can be used to
judge the operation of a system. Thus the student e-Voting system should do the following:
i. Ease of use: The general and administrative view/interface should be easy to use and
intuitive.
ii. Security: The system should prevent unauthorized access to the system with user
authentication.
iii. Reliability: It should have no downtime and it should be able to handle multiple
concurrent users.
iv. Performance: It should have a quick response time.
v. Scalability: It should have a database that can handle large amounts of data and also be
able to expand in future
24
4.3 System Design
This section includes the system architecture, process and data modeling of the student e-Voting
system.
User (student)
Server for the student
User (EC official) eVoting system
25
results. The web browser sends a HTTP request to the web server, and the web server retrieves
the requested information from the database. The reports (election results) are then sent back to
the web browser by the web server as a HTTP response which is finally received by the user.
Process
Data store
26
Context Diagram for the student e-Voting system
Administrator
Login
feedback
Post
User User Post
information
information details Login
details
details
27
b) Level 1 Data Flow Diagram for the student e-Voting system
Figure 4.4: Level 1 Data Flow Diagram for the student e-Voting system
1.0 Register user Enables the administrator to register all the users in the e-
Voting system.
2.0 Authenticate user Enables the system to check if the login credentials of the
users are valid/correct.
3.0 Add post Enables the administrator to add a post into the system.
28
4.0 Cast vote Enables the voter to cast a vote for a candidate
ii. Data dictionary showing the description of External Entities in the level 1 Data Flow
Diagram
Table 4.8: Data dictionary for External Entities in the level 1 DFD
Entity Description
Voter The person that casts a vote in favor of his/her liked candidate
Electoral_commission The person that generates the voting reports and announces the
winner of the election
iii. Data dictionary showing the description of Data stores in the level 1 Data Flow
Diagram
Table 4.9: Data dictionary for Data stores in the level 1 DFD
Data store Name Description
29
4.3.3 Data Modeling
A data model is a formal way of representing the data that are used and created by a system.
ii. An Administrator is the person that registers users in the system. The Administrator entity
set is a child class of a user entity set and can be defined by the adminId. The adminId is
unique for each Administrator.
iii. A candidate is a person who contests for a post of leadership. A candidate can be identified
by the candidateId, authorization_code, and current_votes. The candidateId is unique for
every candidate.
iv. A voter is a registered user that casts a vote for a particular candidate for the post of
leadership. A voter can be identified by the voterId and current_votes. The voterId is
unique for every voter.
v. A post is a specific field of leadership with defined roles. A post can be identified by the
postId, post, and role. The postId is unique for every post.
vi. A vote is used to choose or elect the leaders by the majority. A vote can be identified by
voteId and cast_date. A voteId is unique for every vote.
Registers
Administrator User
1..1 1..*
PK adminId PK userId
An administrator can register one or many users while a user can be registered by an
administrator. Hence the cardinality is 1:M
30
ii. Candidate – Vote relationship
Owns
Candidate Vote
1..1 1..*
PK candidateId PK voteId
A candidate can own one or many votes while a vote can be owned by a candidate. Hence the
cardinality is 1:M
Has
Post Vote
1..1 1..*
PK postId PK voteId
A post can have one or many votes while a vote can be for a post. Hence the cardinality is 1:M
Casts
Voter Vote
1..1 1..1
PK voterId PK voteId
A voter can cast a vote while a vote can be cast by a voter. Hence the cardinality is 1:1
Adds
Administrator Post
1..1 1..*
PK adminId PK postId
An administrator can add one or many posts while a post can be added by an administrator.
Hence the cardinality is 1:M
31
vi. User- administrator, voter, EC_Staff or candidate relationship
user
PK userId
{Mandatory, Or}
A User can either be an administrator, voter, EC_Staff or candidate but not both. Hence a
{Mandatory, Or} relationship
Figure 4.5: Relationships between Entities
{Mandatory, Or}
1..1
administrator
EC_Staff voter candidate
PK adminId
authorization_code PK ecId PK voterId PK candidateId
userId (FK) userId (FK) current_votes authorization_code
userId (FK) current_votes
1..1 userId (FK)
1..1
adds casts 1..1
1..1
Vote
1..* PK voteId owns
post cast_date
voterId (FK)
PK postId candidateId (FK) 1..*
post postId (FK)
role
adminId (FK) 1..*
1..1 has
32
d) Logical Design
User {userId (PK), firstname, lastname, gender, dob, role, dept, username, password}
Primary key: userId
Foreign key: None
Vote {voteId (PK), cast_date, voterId (FK), postId (FK), candidateId (FK)}
33
a) Data Dictionary of the Entity Relationship Diagram
This section presents the structure of the relations to be constructed in the database during
implementation.
i. Structure of User relation
Table 4.10: User relation
34
current_votes, Varchar (5) Not null.
userId(FK) Varchar (5) Not null. Foreign key references User (userId)
userId(FK) Varchar (5) Not null. Foreign key references User (userId)
35
v. Structure of Vote relation
Table 4.14: Vote relation
voterId (FK) Varchar (5) Not null. Foreign key references voter (voterId)
postId (FK) Varchar (5) Not null. Foreign key references post (postId)
candidateId (FK) Varchar (5) Not null. Foreign key references candidate
(candidateId)
36
CHAPTER FIVE
SYSTEM IMPLEMENTATION, TESTING AND VALIDATION
ii. Middle-end
PHP Hyper-text Pre-Processor is the server-side scripting language that was used to develop
the middle-end of this system.
37
iii. Back-end
My Structured Query Language (MySQL) is a relational database system, which was used to
implement the back-end layer of the system. Thus, this tier comprises of the database
management system (DBMS) software that manages and provides access to the data. Information
is stored and retrieved from the database.
i. Step 1: Registration
The admin is responsible for registering the candidates for different posts, which are also
registered in the system as shown in figure 5.1 and 5.2 respectively.
a. Candidate Registration page
38
b. Voter Registration page
The voter (student) has to sign up to create an account so that he/she can be able to access the
system to cast a vote for his/her preferred candidate as shown in the figure below. The student
has to register with a valid student number in order to complete the registration process.
Otherwise the system cannot allow him/her to register to use the system.
39
Figure 5.3. List of Voters Page
40
Figure 5.4. Voter Login Page
Figure 5.5. List of candidates of given positions for a voter to choose from
After selecting a candidate to vote for, the next thing is to submit the vote for the candidates of
choice as shown in the figure above.
41
Figure 5.6. Voting closure alert page
However, the system allows him/her to view the status of the election results by clicking on the
button “View Results”, pointing out the winning candidate.
42
Step 4: Vote Graphical Report
After confirming the vote or escaping the vote for the last position, a congratulatory message and
the list of all the candidates the voter voted for would be displayed to the voter for verification.
Figure 5.4 demonstrates a graph of candidates per position voted for by a voter.
While voting is in progress, candidates can monitor the status of election results from the
beginning of the election till the end of the election. Figure 5.7 also shows a status report of
election results because every time a voter votes, the graph dynamically updates instantly. Thus
the voters can keep track of the winning candidates for respective posts during the whole process
of voting instead of waiting for closure time for the electoral commission to announce the
winners.
43
5.3 System Testing
The objectives of testing the system included the following: to establish that the software worked
satisfactorily as per the requirements, to prove that the program is error free, and to certify that
the software functioned correctly and could be used in production.
System testing was done at two stages namely unit testing and integration testing. In unit testing,
each of the result processing modules of the system was tested independently by the developer to
ensure that they were fully functioning. This enabled the developer to easily identify errors as
small units were tested independently. For example, the developers tested if the system could
accept invalid data and it was confirmed that it could not as shown in the figure below.
While in integration testing, the system was tested for conformity with requirements after all
modules had been put together and the system as a whole was tested to authenticate that general
system requirements has been met. Thus, the results from the integration test of this project were
satisfactory. Integration was also aimed at ensuring that modules were compatible and they could
44
be integrated to form a complete working system. In summary, the system was approved for
deployment by the testing team having satisfied the testing objectives.
45
Table 5.1 shows that the student e-Voting system has an average acceptance score of 91.7%,
which implies that it enables the users to conveniently vote from anywhere, such as their work
places, places of residence or around the university. Users can also use the system to easily
generate reports about elections. Therefore table 5.1 shows that the student e-Voting system is
scalable, efficient, effective, user friendly, flexible and authenticates users when logging in.
46
CHAPTER SIX
DISCUSSION, LIMITATIONS, CONCLUSIONS AND RECOMMENDATIONS
6.0 Introduction
This chapter highlights the summary and conclusions about the student e-Voting system as well
as the recommendations about what features can be added in the project by other developers in
future.
6.1 Discussion
This sub-section focuses on the summary about how the objectives of the study were addressed.
The objective of preliminary study was achieved by using data collection methods like;
interviews and questionnaires during the research study and it was because they are coupled with
merits that made it convenient for the researchers to acquire the necessary information. For
example;
i. The researchers posed face-to-face questions to the respondents with the help of the
interview guide.
ii. The researchers administered questionnaires to the respondents at CoCIS in order to
collect first hand data about the current ways through which student voting is done. The
collected data was analyzed using excel spreadsheet, which was easy to use.
For system analysis and design of the system, the researchers studied the requirement
specifications of the system and used structured design methodologies, which included data flow
diagrams for process modeling while the entity relationship diagram for data modeling.
The system was developed using open source and easy to use technologies like Bootstrap,
HTML, PHP, CSS, Javascript and MySQL. The system was tested by running units of the
system independently in order to identify and debug syntax errors. Different modules of the
system were also integrated and tested as a whole. For system validation, the prototype version
of the system was given to the users to use in order to prove whether it meets their user
requirements or not.
47
Therefore, the student e-Voting system was successfully developed, tested, and found to be
working as expected. It has some qualities such as reduction in the cost of processing, reduction
in time spent while searching for device information as well as processing election results This
makes it superior to the previous ways through which students could use to vote for their leaders,
which required lengthy paper work procedures.
6.2 Limitations
Among the limitations, there was unreliable internet connectivity, insufficient funds to sustain
the researchers throughout the project, low response rate by some of the interviewees and harsh
weather conditions during the field study. Furthermore, there was under estimation of the scope
of the project resulting into delay of the completion of the project. This meant need for more
resources in terms of time, effort and money on the side of the researcher however despite of all
these short comings, the researcher managed to accomplish the development plan successfully.
The other limitation of the study that the researchers faced was lack of ample time for efficient
and detailed investigation of the problem.
6.3 Conclusions
The objective of preliminary study was achieved by using both primary and secondary data
collection methods. The collected data was analyzed using excel spreadsheets. System analysis
and design of the system was achieved by using data flow and entity relationship diagrams. The
system was developed using technologies like HTML, PHP, CSS, bootstrap and MySQL. The
system was tested and validated and was confirmed to be working well according to the specified
user requirements.
The purpose of this system was to ensure election results verification auditing and confidence in
the student e-Voting system. After the development and implementation of the system, updates
were done based on the challenges faced during the implementation of this system until this final
system was developed. This system was very helpful in ensuring confidence of voters in e-voting
since the voters could monitor the voting status with a real time and dynamic graphical status
report. A valid voter registration (student) number during registration could be required from a
voter to register and vote aimed in preventing voter impersonation. MD5 encryption mechanism
48
used in encrypting user passwords, Voter registration or student number in the votes table in the
database was meant to ensure security and privacy of voters and users.
6.4 Recommendation
The researchers recommend the implementation of these verification methods in e-voting
systems to help build voters confidence in e-voting systems. We recommend future research into
the development and implementation of e-voting system to ensure high security while ensuring
user friendliness. Moreover, with the advancement in technologies, biometric measures such as
face and finger print recognition algorithms could be applied to enhance security and improve
credibility of online voting systems. Thus, biometric verification could also be implemented to
login a voter instead of the generation of Pin Codes.
Social Institutions which have democratic processes should embrace web technologies to
manage their voting processes as this will improve their effectiveness of rendering such
processes and save them from huge costs and time. The application of web-based approaches in
solving voting processes should be applied even in managing national elections in developing
countries, especially Uganda.
49
REFERENCES
Alex, H. (2015). The New South Wales iVote System: Security Failures and Verification Flaws in
a Live Online Election” Retrieved from http://arxiv.org/abs/1504.05646v2.
Bochsler, D. (2010). Can Internet voting increase political participation? (PDF). Centre for the
Study of Imperfection in Democracies.
Carsten, S. (2014) Review of the Vote System. DemTech Group. Retrieved from
http://vec.vic.gov.au/files/demtech.pdf.
Chris, C. (2014). a Verifiable Voting System” Retrieved from http://arxiv.org/abs/1404.6822v3.
Craig, B. (2015) The use of vote in the Victorian State Election. Retrieved from
http://arxiv.org/abs/1504.07098v1.
Feldman, H. (2015). Security Analysis of the Diebold AccuVote-TS Voting Machine. Usenix.
Germann, M; Serdült, U. (2017). Internet voting and turnout: Evidence from Switzerland.
Electoral Studies. 47: 1–12.
Gurchetan S.G, Mark D.R, Sergiu B, Peter Y.A.R. (2013). Caveat Coercitor: coercion-evidence
in electronic voting. 34th IEEE Symposium on Security and Privacy, 2013
Kobie, N. (2015). Why electronic voting isn't secure – but may be safe enough. The Guardian.
ISSN 0261-3077. Archived from the original on 2017-03-08.
Mellon, J; Peixoto, T; Sjoberg, F. M. (2017). Does online voting change the outcome? Evidence
from a multi-mode public policy referendum. Electoral Studies. 47: 13–24.
50
Nzoka, J. M. Muthama, N. M. Mung’ithya, N. M. (2013). Taita Taveta University College E-
Voting System: A Web Based Approach to Elections Management. International Journal
of Intelligent Information Systems. Vol. 2, No. 5, 2013, pp. 70-76. doi:
10.11648/j.ijiis.20130205.11
Osho, Y. (2015). E-voting in Nigeria: A survey of voters' perception of security and other trust
factors. 2015 International Conference on Cyberspace (CYBER-Abuja): 202–211.
Roland, W. (2015) Lessons Learned for E-Voting: A Case Study of the VEC vVote Project. Tech.
rep. UNSW-CSE-TR-201509. (To appear). UNSW Computer Science and Engineering.
Retrieved from https://www.cse.unsw.edu.au/~reports/.
Schneier, B. (2015). What's Wrong With Electronic Voting Machines?. Schneier on Security.
Xoddo, P. (2019). iElector: A package for online voting. The new vision, Uganda. Wednesday,
March 21st, 2019.
Zissis, D. (2011). Securing e-Government and e-Voting with an open cloud computing
architecture. Government Information Quarterly. 28 (2): 239–251.
doi:10.1016/j.giq.2010.05.010.
51
APPENDICES
APPENDIX A: QUESTIONNAIRE
MAKERERE UNIVERSITY
Dear respondent,
We are students from Makerere University pursuing a Bachelor’s degree in Information
Technology. As a partial requirement for the award of the undergraduate degree, we are
conducting an academic research on student voting system at CoCIS. All responses provided will
be treated with utmost confidentiality and will be presented in a statistical form, and used for
only academic purposes. Therefore, we kindly request you to spare some time and truly answer
this questionnaire.
SECTION A: BACKGROUND OF THE RESPONDENT
18 – 25
26 – 30
31 – 35
35 – 40
41 – 50
Above 51
52
4. How far away is your residence from CoCIS?
Less than 5km 6kms – 10kms Over 10kms
5. How long would it take you to travel from home to CoCIS for voting purpose?
Less than 30mins 30 mins – 1hr Over 1hr
6. How effective is the method mentioned in 3 above?
Slightly Effective Moderately Effective Very Effective
7. Out of 5 with 1 being the lowest and 5 the highest rating, how would you rate the current
student voting system?
1 2 3 4 5
8. What are the other challenges faced by using the mentioned method in 3?
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
………………………………………………………………………………………………
9. Do you recommend the implementation of the student e-Voting system for CoCIS?
Yes No
53
APPENDIX B: QUESTIONNAIRE FOR SYSTEM VALIDATION
Scale: Strongly Agree (1), Agree (2), Not Sure (3), Disagree (4) and Strongly Disagree (5)
Feature Question Options
54
APPENDIX C: INTRODUCTION LETTER
55