You are on page 1of 60

MOBILE VOTING SYSTEM (MVS)

By

CSC11-54
Net-Centric Computing
DEPARTMENT OF COMPUTER SCIENCE
SCHOOL OF COMPUTING AND INFORMATICS TECHNOLOGY

A Project Report Submitted to the School of Computing and Informatics Technology


for the Study Leading to a Project in Partial Fulfillment of the
Requirements for the Award of the Degree of Bachelor of
Science in Computer Science of Makerere University.

Supervisor
MR. JOAB AGABA
Department of Networks
School of Computing and Informatics Technology, Makerere University
jagaba@cit.mak.ac.ug, +256-41-540628, Fax: +256-41-540620

June, 2011.

Declaration

We Group CSC11-54 do hereby declare that this Project Report is original and has not been
published and/or submitted for any other degree award to any other University before.
GROUP MEMBERS:

Names

Registration Number

OYITE DAVID ROBINSON

08/U/1429

KAWAIDA DAVID

08/U/1418

OCHOLA JACOB

08/U/1426

LUTAAYA JOSEPH

08/U/16799/PS

Signature

Approval
This Project Report has been submitted for Examination with the approval of the following
supervisor.

Signed:

_______________________

Date:

_______________________

Mr. Agaba Joab


Bsc (CS), MSc
Department of Networks
College of Computing and Information Sciences

ii

Dedication
This project is dedicated to our loved ones, families, comrades and all those who have
contributed to our studies and to our Lord Jesus Christ for His grace we worked together as a
team to accomplish this project.

iii

Acknowledgment
First of all, we glorify the Lord Jesus Christ who enabled us to merge ideas throughout this
period so as to achieve and present a solution to the task we were handling.
We would also like to appreciate our supervisor Mr. Joab Agaba for the inestimable support,
guidance and encouragement offered to us during this projects undertaking.

We also extend our gratitude to our family members and friends whose support, tireless efforts
and prayers gave us the faith to accomplish this project.
May God richly bless you all!

iv

Table of Contents
Declaration ................................................................................................................................... i
Approval ..................................................................................................................................... ii
Dedication .................................................................................................................................. iii
Acknowledgment ....................................................................................................................... iv
Table of Contents ........................................................................................................................ v
List of Tables ............................................................................................................................. ix
List of Figures ............................................................................................................................. x
List of Abbreviations and Acronyms ......................................................................................... xi
Abstract ..................................................................................................................................... xii
Chapter 1 ....................................................................................................................................... 1
Introduction ................................................................................................................................... 1
1.1 Background ........................................................................................................................... 1
1.2 Problem Statement ................................................................................................................ 1
1.3 Main Objective...................................................................................................................... 1
1.3.1 Specific Objectives ........................................................................................................ 2
1.4 Scope ..................................................................................................................................... 2
1.5 Significance ........................................................................................................................... 2
Chapter 2 ....................................................................................................................................... 4
Literature Review ......................................................................................................................... 4
2.1 Introduction ........................................................................................................................... 4
2.2 Mobile Voting Systems......................................................................................................... 4
2.2.1 Risks............................................................................................................................... 5
2.2.2 Challenges ...................................................................................................................... 5
2.3 Usage of Mobile Voting Systems ......................................................................................... 7
2.3.1 The Current Voting Process ........................................................................................... 8
2.4 Examples of Existing Voting Systems .................................................................................. 9
v

2.4.1 Makerere University e-voting System ........................................................................... 9


2.4.2 Mobile Voting in Estonia ............................................................................................... 9
2.4.3 The EU CyberVote Project .......................................................................................... 10
2.5 Comparison between the Existing Voting Systems and the Proposed Mobile Voting
System ....................................................................................................................................... 11
2.6 Conclusion .......................................................................................................................... 11
Chapter 3 ..................................................................................................................................... 12
Methodology ................................................................................................................................ 12
3.1 Data Collection Techniques ................................................................................................ 12
3.1.1 Interviews ..................................................................................................................... 12
3.1.2 Documentation Review ................................................................................................ 12
3.2 System Analysis and Design ............................................................................................... 12
3.2.1 System Analysis ........................................................................................................... 12
3.2.2 System Design ............................................................................................................. 13
3.3 System Implementation Tools ............................................................................................ 13
3.3.1 Implementation Tools .................................................................................................. 13
3.4 Systems Testing and Validation ........................................................................................ 15
3.4.1 Testing.......................................................................................................................... 15
3.4.2 Validation ..................................................................................................................... 15
Chapter 4 ..................................................................................................................................... 16
System Study, Analysis and Design ........................................................................................... 16
4.1 System Study ...................................................................................................................... 16
4.1.1 Workflow for the Voting Process ................................................................................ 16
4.1.2 Weaknesses of the Existing Systems ........................................................................... 17
4.2 System Analysis .................................................................................................................. 17
4.2.1 User Requirements ....................................................................................................... 17
4.2.2 Functional Requirements ............................................................................................. 18
4.2.3 Non-Functional Requirements ..................................................................................... 18
vi

4.3 System Design .................................................................................................................... 18


4.3.1 Process Modeling ......................................................................................................... 19
4.3.2 Description for the level1 DFD.................................................................................... 22
4.3.3 Architectural Design for the System ............................................................................ 24
4.4 Data Modeling .................................................................................................................... 24
4.4.1 Data Requirements ....................................................................................................... 25
4.4.2 Identification of Entities and the Associated Attributes .............................................. 26
4.4.3 Modeling Relationships between Entities .................................................................... 27
4.4.4 The Entity Relationship Diagram (ERD) ..................................................................... 28
4.4.6 Mapping ERD to Relational Schema ........................................................................... 29
Chapter 5 ..................................................................................................................................... 31
System Implementation .............................................................................................................. 31
5.1 Introduction ......................................................................................................................... 31
5.2 System Functions ................................................................................................................ 31
5.2.1 Functions provided to all Users. .................................................................................. 31
5.2.2 Functions provided to the Voter. ................................................................................. 31
5.2.3 Functions provided to the Registrar. ............................................................................ 31
5.2.4 Functions provided to the Returning Officer. .............................................................. 31
5.3 System Map ........................................................................................................................ 32
5.4 System Requirements.......................................................................................................... 33
5.4.1 Hardware Requirements............................................................................................... 33
5.4.2 Software Requirements ................................................................................................ 33
5.5 Sample Screenshots ............................................................................................................ 35
5.5.1 The Election Administration Pages ............................................................................. 35
5.5.2 The Election Results Page ........................................................................................... 36
5.5.3 The Mobile Voters Interfaces ..................................................................................... 37
5.6 System Testing and Validation Results .............................................................................. 38
vii

5.6.1 System Testing Results .................................................................................................... 38


5.6.2 Validation Results ............................................................................................................ 39
Chapter 6 ..................................................................................................................................... 40
Summary, Recommendations and Conclusion......................................................................... 40
6.1 Summary ............................................................................................................................. 40
6.2 Recommendations ............................................................................................................... 40
6.3 Conclusion .......................................................................................................................... 40
References .................................................................................................................................... 41
Appendices ................................................................................................................................... 43
Appendix I: ............................................................................................................................... 43
Appendix II: .............................................................................................................................. 44
Appendix III: ............................................................................................................................. 45

viii

List of Tables
Table 1: Comparison between the existing systems and the proposed MVS ................................ 11
Table 2: Description of Processes ................................................................................................ 22
Table 3: Description of Data Stores ............................................................................................. 22
Table 4: Description of Data Reports........................................................................................... 22
Table 5: Description of External Entities ..................................................................................... 23
Table 6: Identification of Entities and Associated Attributes ....................................................... 26
Table 7: The Candidate table ....................................................................................................... 29
Table 8: The Voter table ............................................................................................................... 29
Table 9: The Course table ............................................................................................................ 29
Table 10: The Position table ......................................................................................................... 30
Table 11: The Hall table ............................................................................................................... 30
Table 12: The Vote table ............................................................................................................... 30
Table 13: Hardware Requirements............................................................................................... 33
Table 14: Software Requirements ................................................................................................. 34

ix

List of Figures
Figure 4.1: Flowchart for the manual voting process .................................................................. 16
Figure 4.2: Context Diagram for the Mobile Voting System ........................................................ 19
Figure 4.3: Level1 DFD for the Mobile Voting System ................................................................ 21
Figure 4.4: Architectural Design for the System .......................................................................... 24
Figure 4.5: Relationship between Voter and Course ................................................................... 27
Figure 4.6: Relationship between Voter and Hall ........................................................................ 27
Figure 4.7: Relationship between Candidate and Position .......................................................... 27
Figure 4.8: Relationship between Voter and Vote. ....................................................................... 27
Figure 4.9: Relationship between Candidate and Vote ................................................................ 27
Figure 4.10: Relationship between Vote and Position ................................................................. 28
Figure 4.11: The ERD for Mobile Voting System ......................................................................... 28
Figure 5.1: System Map showing functions provided by the system to each user ........................ 32
Figure 5.2: The Mobile Voting Systems login page and Homepage. .......................................... 35
Figure 5.3: The Edit Voter Register Page. ................................................................................... 36
Figure 5.4: The Election Results Page. ........................................................................................ 36
Figures 5.5 5.8: The Mobile Voters Login & Authentication Interfaces.................................. 37
Figures 5.9 5.12: The Mobile Voters Electronic Ballot Interfaces. ......................................... 37

List of Abbreviations and Acronyms


3G

Third Generation

Ack

Acknowledgment (or feedback)

AJAX

Asynchronous JavaScript and XML

CLDC

Connected, Limited Device Configuration

DFD

Dataflow Diagram

DISD

Department of Innovations and Software Development

DRE

Direct Recording Electronic

ERD

Entity Relationship Diagram

EU

European Union

FSB

Front Side Bus

GSM

Global System for Mobile communication

HTML

Hyper Text Markup Language

ICT

Information and Communication Technology

JTWI

Java Technology for Wireless Industry

MIDP

Mobile Information Device Profile

MVS

Mobile Voting System

MySQL

My Simple Query Language

PHP

Hypertext Preprocessor

RO

Returning Officer

SCIT

School of Computing & Informatics Technology

XML

Extensible Markup Language

xi

Abstract
This report presents a mobile voting system project tailored for Makerere University. The project
was an important area for development because the efficiency, reliability and security of the
procedures used to conduct preceding elections were jeopardized by numerous irregularities. The
aim of this project was to develop an interactive voting system with which users can participate
using their mobile phone and retrieve real-time results on a web-based platform. It involved three
phases: the development of a front-end to the voting system; the development of a method of
interaction with mobile phones, and the development of a web-based administration tool.
Information for system study was gathered using tools such as interviews and study of relevant
literature. DFDs and ERDs were used in the analysis and design of the system. The technologies
used in the implementation of the objectives of this study included, Java, AJAX, PHP and the
Database Management System employed was MySQL. The outcome of the project was an
integrated system capable of online registration, receiving votes from mobile phones, tallying the
received votes and real-time display of results over the web. Upon successful testing and system
validation, we believe that the system can administer election processes fairly, effectively and
efficiently.

xii

Chapter 1
Introduction
1.1 Background
Voting is a formal indication of a choice between two or more candidates or courses of action,
expressed typically through hand-counted paper ballots or by show of hands [1]. In democratic
societies, voting is an important tool to collect and reflect peoples opinions. Traditionally, voting is
conducted in centralized locations called polling stations. Voters go to these polling stations and cast
their votes under the supervision of authorized parties. The votes are then counted manually once the
voting process has ended and later the results are declared. Like all other aspects of democracy,
voting requires transparency, participation and accountability. To increase the efficiency and
accuracy of voting procedures, computerized voting systems have been developed to help in
collecting and counting the votes. These include Lever Voting Machines, Punched Cards for Voting,
Optical Mark-Sense Scanners and Direct Recording Electronic (DRE) voting systems [2].
However, the voting systems in most institutional bodies in the past have been marred with
irregularities which have jeopardized this democratic process. Hence the need for improvement in the
voting system through mobile technologies as a means of attaining the democracy most people
advocate for is paramount.

1.2 Problem Statement


Due to the irregularities involved in the voting process such as delays in tallying, poor attendance due
to distant poll-sites, increased cost of conducting elections, lack of transparency and poll-site voting
limitations (such as queues), there is need to develop a Mobile Voting System to curb these problems.

1.3 Main Objective


The general objective of the study is to develop a Mobile Voting System (MVS) for Makerere
University.
1

1.3.1 Specific Objectives


The specific objectives for the Mobile Voting System are;
1. To carry out an investigation on the electoral process in Makerere University
2. To design a Mobile Voting System to support voting at Makerere University
3. To implement the system.
4. To test and validate the system.

1.4 Scope
The system will be limited to elections held at the school level in Makerere University which include;
the School President, Vice President, Finance Minister and other members of the cabinet. Emphasis
will be on the School of Computing and Informatics Technology (SCIT) but it can also serve as a tool
in conducting elections in other schools and colleges.

1.5 Significance
Business around the world has widely, of recent, been conducted using electronic means.
Governments have come to realize the benefits of automating several processes due to efficiency and
relatively low cost as compared to traditional means. As the digital age continues to grow, only time
will tell until almost every human-handled process becomes computerized. Furthermore,
governments are getting more involved in developing the ICT sector due to the pressure imposed by
other governments and regulatory bodies for fear of lagging behind.
Mobile communication of recent has taken the world by storm and its getting bigger and better. Due
to the numerous advantages they offer, a number of government and private business processes are
being carried out under this platform. A case in point is the Mobile Money service provided by
Mobile Telecommunications Companies in Uganda that enable users to pay water bills, electricity
bills, tax, send and receive money, et al.
Augmenting the current voting systems with mobile voting will enhance the voting process by
increasing voter participation. Below are other advantages that mobile voting systems offer;
1. Reduced costs in the materials required for printing and distributing ballots.
2. It permits access to more information regarding voting options and processes also.
2

3. Efficiency and accuracy in placing and tallying votes and displaying the results to the voters.
4. Minimal chances of invalid votes due to the use of option buttons to represent candidates.
5. Flexibility as mobile voting can support multiple languages, and the flexible design allows upto-the minute ballot modifications.
6. The same development concept can be used and applied in other fields of research to support
researchers in collecting and analyzing peoples opinions and views.

Chapter 2
Literature Review
2.1 Introduction
This chapter includes a critical look at the existing research and case studies that have significance
with this research project. It has been done by consulting other peoples work in order to understand
and investigate the problem of the research project. In conducting literature review, scholarly articles,
books and other sources relevant to a particular issue, area of research or theory has been surveyed.
After reviewing all materials, a description, summary, and critical evaluation of each work is granted.
The automation of business and governmental processes has long been a success story in many
countries. As the use of mobile phones for voice and data communication increase, users continue to
demand for more services to be offered by mobile phones due to the comfort they present. Recently a
number of governments have employed e-voting systems in some of their elections and referendums
using mostly computer terminals and a few with mobile voting systems.
There is need to review the literature because it is important to know exactly what has been going on,
the system in use and identification of gaps and inefficiencies so as to come up with the appropriate
solution that will lead to the enhancement of the electoral process in Makerere University. Therefore
using different sources we have managed to analyze and compare the existing voting systems and we
have concluded that there is need for improvement.

2.2 Mobile Voting Systems


Mobile Voting System (MVS) is a system that will operate in parallel with the existing manual and
automated voting processes. It will enable legitimate voters to cast their vote from wherever they
please using their mobile devices unlike other means that require the voter to appear at the polling
station. This will help alleviate the nuisance of long queues at poll-sites which waste a lot of time. It
4

will also ease the vote-counting process which will be done instantly as the voting progresses and a
graphical display will be available on a site (attached to the system) for all stakeholders to view
progress, hence ensuring transparency.
Mobile voting falls under a category of voting called e-voting, which is short for electronic voting,
and refers to the option of using electronic means to vote in referendums and elections. There are
systems such as DRE voting machines that record the vote without that vote being transmitted over
the Internet or another network. The interface of a DRE machine can be a touch screen or a scanner
that scans the ballot paper where the voter marked the vote.
The vote is then registered and stored in the voting machine. Then there is voting over the Internet
that uses a PC with an Internet-connection to cast the vote and send it to be stored in another remote
computer. Personal Digital Assistants (PDAs), telephones or mobile phones can also be used to cast
a vote electronically [3].
Besides its hype and advantages over traditional voting systems, MVS reliability, security and
transparency are still issues that limit its deployment in many countries. Bradly et al [3], points out
the risks and challenges faced by electronic voting systems as follows;

2.2.1 Risks
1. Third parties: Unauthorized intervention of third parties in the voting process. Given the
current state of information technology, there is no guarantee, that a programme would not be
manipulated to allow the storage and printing of a form or document different from the one
appearing on the screen.
2. Errors and technical malfunctions: More difficult to detect and identify the source of errors
and technical malfunctions than with conventional procedures.
3. Unreliability: Possibility that fully digitized system would fail to produce results and lack
physical back-up records, making a public recount difficult or impossible.

2.2.2 Challenges
1. Security: In the context of remote e-voting, special attention should be given to the process
guaranteeing a free and secret vote. Only entitled voters are allowed to cast a vote and this
requires that every voter be authenticated (e.g. by using a PIN -Personal Identification
Number or TAN -Transaction Number or by the use of digital signature) and their right to
5

vote verified. In order to prevent multiple votes being cast or other misuse, a record must be
made and checked in order to establish whether the voter has already cast a vote. There must
be an electronic separation between the vote and the identification of the voter.
2. Reliability: Mobile Voting Systems have to interact with some database server, or some other
server, over a network. There might be instances when this network goes down during the
voting process which may cause a potential voter to miss out on casting his/her vote,
especially when he/she planned to use the system with no aim of going to the poll-site.
Keeping the network stable and available during the voting process is a challenge that MVS
application developers need to consider.
3. Skepticism: Networks have been widely used all around the world in a number of sectors due
to their benefits. The internet is the worlds largest network, with billions of dollars in
transactions being carried out over it per fiscal year. Nevertheless, a large number of people,
especially in developing countries where internet technologies are beginning to gain ground,
still doubt the power that it brings into speeding up communication and information sharing.
As governments begin to adopt e-voting, Mobile Voting for that matter, people doubt the
security and transparency of such schemes just as they do for the internet.
Besides these challenges and risks, Mobile Voting Systems can still be trusted as a platform to
conduct free and fair elections in a secure and transparent manner given that they are well
implemented. Mutual authentication, integrity, voter anonymity and system accountability are some
of the critical functional requirements that Mobile Voting Systems should have. If all these and some
other requirements are well catered for in the system, then it can be a success which is a high
possibility [4].
Mobile Voting Systems are composed of several interacting agents, the Vote Collector, the Vote
Manager, the Vote Authority, the Candidate, and the Voters. The Vote Authority (VA) is responsible
for registering candidates for elections and commissioning Vote Managers. The Vote Collector (VC)
is a mobile agent mandated by a stationary Vote Manager (VM) agent to collect votes from stationary
voting agents (VOs). The arrangement of the system in such components can ensure a stable system
suitable for voting [5].

2.3 Usage of Mobile Voting Systems


Citizens around the world recognize and embrace the benefits of e-Government services such as
online tax filing, license renewal, and benefits claims. Now governments are initiating strategies that
support e-democracy and in doing so, engaging more citizens in democratic processes. This briefly
addresses the highly formal processes of e-democracy, e-voting in particular, to offer governments
and democratic-based entities worldwide the infrastructures, applications, and services necessary to
implement and manage reliable, secure e-voting systems.
Today, the development and widespread use of information technologies is changing the way people
view voting processes and, ultimately, the way they vote.

Mobile Voting Systems offer multiple advantages over traditional paper-based voting systemsadvantages that increase citizen access to democratic processes and encourage participation.
Manish et al [6] explains these advantages as below;
1. Reduced costs: E-voting systems reduce the materials required for printing and distributing
ballots. Internet based voting, in particular, offers superior economies of scale in regard to the
size of the electoral roll.
2. Increased participation and voting options: E-voting offers increased convenience to the
voter, encourages more voters to cast their votes remotely, and increases the likelihood of
participation for mobile voters. Additionally, it permits access to more information regarding
voting options.
3. Greater speed and accuracy placing and tallying votes: E-voting's step-by-step processes
help minimize the number of miscast votes. The electronic gathering and counting of ballots
reduces the amount of time spent tallying votes and delivering results.
4. Greater accessibility for the disabled and the sick: Because they support a variety of
interfaces and accessibility features, e-voting systems allow citizens with disabilities-especially
the visually impaired-to vote independently and privately.
5. Flexibility: E-voting can support multiple languages, and the flexible design allows up-to-theminute ballot modifications.

According to Lumu [7], an article on the aftermath of 18th February 2011 presidential elections in
Uganda, invalid votes accounted for 4% of the votes. This makes the issue of invalid votes in manual
voting systems a big problem. However, with a mobile voting system, there will be little or no invalid
votes due to the use of option buttons on the electronic ballots to represent candidates.

2.3.1 The Current Voting Process


According to the Electoral Commission Board [8], Constitutionalism, rule of law and good
governance are the fundamental pillars of democracy. Democracy, irrespective of whatever form it
takes in different national domains must not lose its universal sense of a government of the people, by
the people and for the people. This is why democratic leadership in any country should only be
accessed through a free and fair electoral process which is the foundation of true democracy.
Mugisha [9], lists the steps used in the manual electoral process as follows;
1. Formulating legislation, through Parliament, that will guide and support any election process.
2. Calling of elections,
3. Registration of candidates,
4. Preparation and display of voters register at polling stations
5. Voting at polling stations
6. Counting and tallying of votes,
7. Declaration of results by the Electoral Body
A citizen of Uganda of or above 18 years who is registered has the right to vote in a parish or ward
where he or she is registered as a voter for public elections and referenda. That person cannot be
compelled to vote in any election in Uganda under the present constitution. A person, however, is not
qualified to vote in an election if he/she is not a registered voter. The guidelines to be followed when
voting in elections and referenda can be found in articles 68 (1), (2), (3), (4) and (5) of the
constitution of Uganda. Articles 59 (1), (2), (3), and (4) also identify the citizens who are eligible for
voting and the role of the state and the parliament in the electoral process [10].

2.4 Examples of Existing Voting Systems


2.4.1 Makerere University e-voting System
According to the Department of Innovations and Software Development (DISD), School of
Computing and Informatics Technology [11], In March 2009, Makerere University office of the Dean
of Students approached DISD and requested that an application be developed that could help to
alleviate, among other things, election rigging, loss of votes, disparities in regard to how many voters
registered and the number of votes counted and any other election malpractices that have plagued the
university over the years. The system was supposed to be used in the Makerere University Guild
elections.
A prototype of the system was used in the Guild Representative Council Elections at the Halls of
Residence where the students were electing student leaders. Basing on this, the system was enhanced
and is now ready to be used in the entire Guild elections. Because of the projects success, Makerere
University Administration asked the Department to maintain it for future election that shall be
conducted at the University.
The system had the following capabilities;
1. It does instant counting; counts the voters who have voted instantly
2. Instantly counts the voters who have voted for a particular candidate
3. Gives overall count and tallies the votes for each candidate
4. Can provide option of manual counting of votes by printing the ballot papers that were ticked in
case one doubts its results
5. It totally eliminates the involvement of human force during the counting and tallying the results
6. In less than a minute, the winner is known

2.4.2 Mobile Voting in Estonia


Estonia is a small country hidden away on the shores of the Baltic Sea and Gulf of Finland. Despite
its small size and population, it has already made a significant contribution to the communications
world, being home to much of the R & D that has gone into the skype application now used by some
370 million people globally.

In 2008, Estonia became the first country to allow voting in nationwide general elections to be done
online. The online turnout wasnt very great only about 3.5% of registered voters but it signaled
again that the country holds its own when it comes to technology.
Now, Estonia has again landed itself in the global technology spotlight. Its parliament voted to allow
voting via mobile phones Mobile Voting. Though it wont actually implement the process until the
2011 general elections, it is the first country to pass such a law.
Estonias mobile penetration rate was rated at more than 120% in 2008. The first question that comes
to mind is regarding the security of such endeavor. Following 2009 elections, officials said there were
no instances of hacking, fraud, or other malicious activity with the online voting process [12].

2.4.3 The EU CyberVote Project


In September 2000, the European Commission launched the CyberVote project with the aim of
demonstrating fully verifiable on-line elections guaranteeing absolute privacy of the votes and using
fixed and mobile Internet terminal. The project involved partners from industries: EADS Matra
Systmes & Information of France, Nokia Research Centre of Finland, and British
Telecommunications of the United Kingdom, universities: K.U.Leuven Research & Development of
Belgium, Technische Universiteit Eindhoven of The Netherlands, and potential users: Freie
Hansestadt Bremen of Germany, Mairie d'Issy-les-Moulineaux of France, Kista Stadsdelsnmnd of
Sweden.
The CyberVote project involved the development of an e-voting system that was tested in different
elections in 2002-2003. The first test was held on 11 December 2002 in the French town of Issy-lesMoulineaux. 860 voters have elected their representatives to the city boroughs' counsels
electronically. The second test took place in Germany on 13-15 January 2003 at the Bremen
University. The trial covered the elections of the three University's representative bodies: the
university council, the councils of the different university departments and the student council with a
total of 47 voters casting their votes electronically. The last test took place in the Swedish Kista with
the participation of the elderly citizens in Kista. Much work was needed to attract voters aged over
55. The trial was open all day during the week of 27-31 January 2003. At the end of that period, 226
voters had participated in the electronic voting.

10

Other countries that have employed mobile voting systems in some of their referenda and elections
include; Australia, Austria, Belgium, Brazil, Canada, France, Germany, India, Ireland, Norway,
Portugal, Spain, Switzerland, The Netherlands, UK and USA [3].

2.5 Comparison between the Existing Voting Systems and the Proposed
Mobile Voting System
The table below illustrates the comparison between the existing voting systems in use and the
proposed mobile voting system.
Table 1: Comparison between the existing systems and the proposed MVS
Identifying attributes

MVS

MUK e-Voting

Estonias Mobile Voting

Web support

Yes

Yes

No

Area applied

University level

School/Hall level

Country-wide

Languages used

Java,
HTML, HTML, PHP and PKI, Python, C, HTML
PHP, AJAX and MySQL
and PHP
MySQL

Technology Used

Web application

Web based

GSM chip and Software

Customizable

Yes

No

No

Hardware dependent

No

No

Yes

Security

More secure

Secure

Most secure

2.6 Conclusion
A socioeconomic and technological look into the future predicts that most business transactions,
client support services will be mobile-aided. The imminent response from mobile users through the
use of mobile phones will provide the inexpensive voting option as this technology will promote mass
participation and it will ensure secure voting. Therefore the need to ensure democracy and to support
voting process through the relevant mobile technologies is paramount now than ever before.

11

Chapter 3
Methodology
3.1 Data Collection Techniques
3.1.1 Interviews
Interviews are a forum for talking to people and they may be structured, unstructured or semistructured. We conducted interviews with the stakeholders; the School cabinet ministers to identify
and specify functional and non-functional requirements to determine requirement specification. Our
interviews were both semi-guided and unguided and also contained both closed and open ended
questions as we obtained the data mainly about the operation of the existing system; its problems,
strength, information flow and processing of the current system.

3.1.2 Documentation Review


We reviewed the relevant documents, guides and laws governing the voting system in use for the past
years. We also studied the processing methods used to come up with the accurate records. The most
preferred sources of our documents reviews were in the form of the Constitution of Uganda, other
books of literature, internet resources and journals. We were able to gather information on concepts
and challenges of the current voting system. We also examined reports from the manual system
which helped us to identify the inputs, processes and outputs of the system.

3.2 System Analysis and Design


3.2.1 System Analysis
Systems analysis is the process of identifying and summarizing data with the intent to extract useful
information and develop conclusions.
In system analysis requirements were determined. The requirements included functional and nonfunctional base on the system study.
12

3.2.2 System Design


1. Process Modeling: This was achieved by use of Data Flow Diagrams to show processes and
external entities in the system and the end product was a detailed description of processes
involved (process models). The information used in building the Data Flow Diagram was
obtained from the Data Dictionary.
2. Data Modeling: This was achieved using Entity-Relationship Diagrams to show the data
requirements and model. This yielded the structure of relations in the relational schema
(database).

3.3 System Implementation Tools


This is whereby the physical realization of the database and the application design was done. This
involved the implementation of both the database and the application programs. It was achieved using
the Data Definition Language (DDL) of the selected Database Management System (DBMS).

3.3.1 Implementation Tools


In the implementation stage, the following tools were used; WAMP/Apache server, MySQL, PHP,
AJAX, JavaScript, Notepad++, Windows operating system, and NetBeans (as the development
environment).
3.3.1.1 WampServer/Apache Server
WampServer is a free server bundle that uses Apache server. When installed on the system, it
includes Apache, MySQL, and PHP. Apache is a popular web server that many ISPs and individuals
use to host web pages. We installed Apache on our system as a web server. Pages were stored in the
systems special folder which was accessible on the network via the machines IP address. In order
for pages to be viewed on the Internet, the files were stored in the www directory.
3.3.1.2 PHP
Hypertext Preprocessor is an open source server side programming language extensively used for
web scripts. It is a popular server-side scripting language designed specifically for integration with
HTML, and is used (often in conjunction with MySQL) in Content Management Systems and other
web applications. It is available on many platforms, including Windows, Unix/Linux and Mac OS X,
and any open source software. We built our content management system using this tool.

13

3.3.1.3 MySQL
MySQL is an open source Relational Database Management System (RDBMS) that uses Structured
Query Language (SQL), the most popular language for adding, accessing, and processing data in a
database. Because it is open source, anyone can download MySQL and tailor it to their needs in
accordance with general public license. MySQL is noted mainly for its speed, reliability, and
flexibility.
We used MySQL because it is designed as a multi-tasking/ multi-user database, which is one of the
main requirements for a database.
3.3.1.4 HTML
HTML, referring to Hypertext Markup Language, is the predominant markup language for web
pages. It provides a means to describe the structure of text-based information in a document by
denoting certain text as links, headings, paragraphs, lists, among others and to supplement that text
with interactive forms, embedded images, and other objects. HTML is written in the form of tags,
surrounded by angle brackets. HTML can also describe, to some degree, the appearance and
semantics of a document, and include embedded scripting language code which can affect the
behavior of Web browsers and other HTML processor.
We used Notepad++ environment to construct both HTML and PHP pages that served on the content
management system.
3.3.1.5 Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995.
It is the underlying technology that powers state-of-the-art programs including utilities, games, and
business applications. The use of technology to support business processes and policies in place
attracts the innovations of embedded systems. We wrote java applications (MIDlets) that were to be
embedded in mobile phones or simulated to support the voting processes of mobile voting system.
3.3.1.6 AJAX
Asynchronous JavaScript and XML (AJAX) is of late the most dynamic approach to real-time
running of web applications. This tool enabled us to display in real-time the votes each candidate
scored during the election process along with the respective chart to graphically represent the voting
results.

14

3.4 Systems Testing and Validation


3.4.1 Testing
This is the process of executing application programs with the intent of finding errors, using careful
planned test strategies and realistic data the system will be methodically and rigorously tested to
uncover faults in the application programs and the database structure. The faults were corrected and
the process was repeated until the system was proven to be working according to users specification
and performance requirements.
This was achieved by:
i.

Testing the system performance, efficiency, disk space and its throughput to ensure proper
functioning of the system.

ii.

Checking the compatibility of the system with different operating systems for example
Windows XP, Linux and Windows 7.

iii.

Testing for security issues like resistance to remote attacks and authentication procedures.

3.4.2 Validation
The validation process for the Mobile Voting System provided a high degree of assurance that
specific processes consistently provide products which met predetermined specifications and quality
attributes. It involved identifying compliance to quality management procedures, life cycle definition,
specifications, for example; user requirements specification and functional specification,
documentation controls and various items of documentation for example user manuals and
administrator documentation and testing procedures.

15

Chapter 4
System Study, Analysis and Design
4.1 System Study
From the data gathered about the existing systems through interviews and review of existing
documents (documentation review), we found that manual voting systems are widely used in
Makerere University elections.
Further analysis of the manual voting system yielded a flow chart that shows the manual voting
process right from registration of candidates and voters to declaration of the winning candidate.
Figure 4.1 below shows manual voting process

4.1.1 Workflow for the Voting Process

Figure 4.1: Flowchart for the manual voting process


16

4.1.2 Weaknesses of the Existing Systems


The existing manual and electronic voting processes have disadvantages or weaknesses as described
below;
1. No option for voters who may not be readily available for poll-site voting since they may be
sick, busy at their work places or their homes are far from the polling stations.
2. Manual voting, counting and tallying of votes may take a long time to accomplish. Official
results are not declared until after 48 hours of vote counting and tallying.
3. Auditing of manual votes is also a burden since it may require critical analysis of ballot papers,
boxes, votes and other voting material used in the voting process.
4. Miscalculations in the counting and tallying process may arise since humans are prone to
making errors in such manual processes.
5. The existing electronic system was weak and prone to attacks hence hackers could manipulate
the voting processes due to poor encryption of voting data.

4.2 System Analysis


Data collected was analyzed in order to identify user, functional, non-functional, software and
hardware requirements that guided the design and implementation of the Mobile Voting system to
automate the manual voting process.

4.2.1 User Requirements


These are statements, in a natural language, of what services the system is expected to provide and
the constraints under which it must operate. Below are the user requirements for the system;
1. Allow mobile users to cast their votes efficiently and effectively
2. Process users tasks as fast as possible
3. Provide a user friendly interface with interface metaphors, mapping, affordances, constraints,
visibility, feedback and other user friendly qualities of an interface.
4. Be able to provide error control and recovery process to a user in case errors are committed in
data entry; so as to allow for error-free and accurate data input.
5. The user shall expect predictable results/information from the system after a given request. This
information shall also be consistent.

17

6. Users shall be able to access the system at any time during the voting period, that is, the system
shall provide high reliability during the voting period.

4.2.2 Functional Requirements


These are statements of services the MVS should provide, how the system should react to particular
inputs and how the system should behave in particular situations.
1. The system shall authenticate all users provided correct credentials are supplied.
2. The registrar shall be able to register voters and candidates using the system.
3. The system shall generate a voters register after all voters and candidates are registered.
4. The system shall send e-ballots to mobile voters on request.
5. The system shall dynamically count and tally votes during the voting process.
6. The returning officer and the voters shall be provided with a view of the vote results on a web
page.

4.2.3 Non-Functional Requirements


These are requirements that are not directly concerned with the specific functions delivered by the
system. They relate to emergent system properties such as reliability, response time and storage
capabilities of the system.
1. The system shall provide fast processing to all user requests.
2. The system shall provide platform independence. It shall be developed using platform
independent programming languages like JAVA, scripting languages like AJAX, PHP and the
markup language HTML.
3. The system shall be built on the principle of the 3-tier (Model-View-Controller) architecture. In
this architecture, the modification of any layer shall not affect the consequent layers of the
system.
4. The system shall conform to all the voting etiquette and standards ratified in the constitution of
Uganda and the Electoral Commission Act.

4.3 System Design


The MVS system design defines the architecture, components/subsystems, modules, interfaces and
data for the system to satisfy specified requirements. It defines a physical/diagrammatical
representation of the system and what processes are involved. However, it does not show how the
18

processing takes place. In system design the following tools and techniques were used; process
modeling and data modeling.

4.3.1 Process Modeling


In process modeling a Context Diagram (Figure 4.2) and the Level 1 DFD (Figure 4.3) were modeled.
The context diagram shows the overall context of the system and how it interacts with the external
entities while the Level 1 DFD shows the major sub processes identified in the MVS. Data obtained
from the DFD and context diagram are collectively used to yield the data dictionary.
4.3.1.1 Context Diagram for the Mobile Voting System
Login

Login

details

details
Returning
Login feedback

Voter

and ballot

Login Ack/Feedback

Mobile

Voting System

Cast vote

Vote count/tally
and Results

Ack of vote
Login
details

Registrar

Login feedback
Voter + candidate
registration
Figure 4.2: Context Diagram for the Mobile Voting System

19

Officer

Key Symbols

Symbol

Name

Process

Data flow

Data Report

Data Store

External Entity

20

4.3.1.2 Level1 DFD for the Mobile Voting System

Figure 4.3: Level1 DFD for the Mobile Voting System

21

4.3.2 Description for the level1 DFD


The tables below give a description of all design objects used in developing the system. They include
Processes, Data flows, Data stores, Data reports and the External entities involved in the system.
4.3.2.1 Description for Processes
Table 2: Description of Processes
Process
Authentication

Description
Validates authentic users to access the system, and blocks
unauthorized access

Candidate Registration

Registration of participating candidates

Voter Registration

Registration of voters

Process Voters Register

Generates the voters register

Voting

Formats voters choice for storage and tallying

Vote Tallying

Tallies the votes counted

4.3.2.2 Description for Data Stores


Table 3: Description of Data Stores
Data store

Description

User data

Users credentials eg username, password, etc

Candidate data

Details about a candidate eg name, position etc

Voter data

Details about a voter eg voter ID

Votes

Stores the votes cast

4.3.2.3 Description for Data Reports


Table 4: Description of Data Reports
Data report

Description

Voters Register

Shows all valid (registered) voters

Tally Report

Shows the vote tally results

22

4.3.2.4 Description for External Entities


Table 5: Description of External Entities
Entity

Description

Voter

Mobile user who uses a mobile interface to login, requests


for ballots and cast his/her vote

Registrar

Registers voters and candidates and generates the voters


register

Returning Officer

Announces results (The outcome of voting). Also audits


the voting outcome, and generates an audit report.

23

4.3.3 Architectural Design for the System


The architectural design shows how the MVS is comprised of the different subsystems namely
Data Collection, Data Processing, Data Storage and Data Display. The figure below shows an
architectural diagram of the mobile voting system.

Figure 4.4: Architectural Design for the System

4.4 Data Modeling


From the information obtained from the data dictionary, a data model was built. This was done by
identifying data requirements for the MVS database, identification of entities and their attributes
making up the system and relationships between these entities. From this an Entity Relationship
Diagram (ERD) was obtained.

24

4.4.1 Data Requirements


Below are the data requirements that were based on to obtain entities for the MVS database;

1. Candidate
Data to be stored by the candidate (aspirant for one of the positions being elected for) entity
include; voter ID (student number), candidate Name, position ID, election ID, Number of Votes
and photo.
2. Voter
Students and candidates are both voters. Information about voters include; voter ID, First Name,
Last Name, Course ID, Gender, Hall ID, Password and Status.
3. Position
Each candidate aspires to be elected for one position. The Position entity stores the Position ID
and Position Name.
4. Course
A voter at Makerere University can pursue only one course. Information to be obtained from the
course entity is Course ID and Course Name.
5. Hall
Besides the courses, students also are attached or reside in halls. The Hall entity stores the Hall
ID and Hall Name.
6. Vote
A voter casts vote to candidate, which is later tallied. The Vote entity stores the voter ID,
candidates voter ID and position ID.

25

4.4.2 Identification of Entities and the Associated Attributes


Table 6: Identification of Entities and Associated Attributes
Entity

Attributes

Voter

voterID
firstName
lastName
courseID
hallID
gender
password
status

Candidate

voterID
candidateName
positionID
noOfVotes
photo

Position

positionID
positionName

Course

courseID
courseName

Hall

hallID
hallName

Vote

voteID
voterID
positionID
candidateID

26

4.4.3 Modeling Relationships between Entities


Relationships between entities identify all possible associations between the entities. It also gives the
corresponding multiplicities (participation and cardinality). The result is an ERD.

Figure 4.5: Relationship between Voter and Course


Each course is offered by 1 or more voters and each voter can offer 1 and only 1 course.

Figure 4.6: Relationship between Voter and Hall


Each voter resides in 1 and only 1 hall, but each hall can accommodate 1 or more voters.

Figure 4.7: Relationship between Candidate and Position


Each position is contested by 1 or more candidates and each candidate contests for 1 and only 1
position.

Figure 4.8: Relationship between Voter and Vote.


A voter can cast only one vote and a vote is casted by 1 and only 1 voter.

Figure 4.9: Relationship between Candidate and Vote


A candidate can get 0 or many votes and each vote is cast to 1 and only 1 candidate.
27

Figure 4.10: Relationship between Vote and Position


A vote is made for 1 and only 1 position and each position can have 0 or more votes.

4.4.4 The Entity Relationship Diagram (ERD)


The ERD below shows the entities, their attributes and the relationships between these entities. The
relationships further indicate the multiplicities between these entities.

Figure 4.11: The ERD for Mobile Voting System


28

4.4.6 Mapping ERD to Relational Schema


4.4.6.1 Candidate
Table 7: The Candidate table
Field Name

Data Type

Constraint

candidateID

int(10)

Primary Key, Not null

candidateName

varchar(50)

Not null

positionID

int(10)

Foreign Key, Not null

noOf Votes

int(10)

Null

photo

text

Null

4.4.6.2 Voter
Table 8: The Voter table
Field Name

Data Type

Constraint

voterID

int(10)

Primary Key, Not null

first Name

varchar(20)

Not null

last Name

varchar(20)

Not null

hallID

varchar(5)

Foreign Key, Not null

course ID

varchar(5)

Foreign Key, Not null

gender

char(1)

Null

password

varchar(40)

Not null

status

int(1)

Null

4.4.6.3 Course
Table 9: The Course table
Field Name

Data Type

Constraint

courseID

varchar(5)

Primary Key, Not null

courseName

varchar(30)

Not null

29

4.4.6.4 Position
Table 10: The Position table
Field Name

Data Type

Constraint

positionID

int(10)

Primary Key

positionName

varchar(50)

Not null

4.4.6.5 Hall
Table 11: The Hall table
Field Name

Data Type

Constraint

hallID

varchar(8)

Primary Key, Not null

hallName

varchar(20)

Not null

4.4.6.6 Vote
Table 12: The Vote table
Field Name

Data Type

Constraint

voteID

int(10)

Primary Key, Not null

voterID

int(10)

Not null

positionID

int(10)

Not null

candidateID

int(10)

Not null

30

Chapter 5
System Implementation
5.1 Introduction
This section describes the implementation of the design models in of the system and also shows the
different results generated by the system. Therefore screenshots of the system will be displayed to
show how the system displays results given a command.

5.2 System Functions


This section specifies the functions the system provides to all its users and external entities. It gives
functions the system provides to the mobile user, registrar, and the returning officer.

5.2.1 Functions provided to all Users.


The system allows for authentication of users and security by prompting for usernames and
passwords and also having an option of password recovery.

5.2.2 Functions provided to the Voter.


The system enables the mobile voter to request for an e-ballot, cast his/her vote during the voting
period, log the voter out in case of a network failure or in the occasion of a voter receiving phone
call, and provide feedback to the user after each request.

5.2.3 Functions provided to the Registrar.


The system allows the registrar to register voters and candidates and later generate a report the
voters register.

5.2.4 Functions provided to the Returning Officer.


The system will count and tally votes being cast, and provide a view of the candidates progress and
the entire voting process on web display. These are done in real time and enable the returning officer
to view the progress.
31

The system also provides the returning officer with a report depicting the final outcome of the voting
process.

5.3 System Map

Mobile User

Login

Registrar

Returning
Officer

1. Authenticate the user


2. Send the user an e-ballot as a feedback of a successful
login
3. Provide feedback on login failure
4. Enable the voter to cast vote using the e-ballot
5. Provide feedback on a successful or failed voting attempt
6. Logout the user incase of network failure or receives a
call during voting

1. Authenticate the registrar


2. Provide a web interface for the registrar to add voters to
edit voter register and to manage candidates and the
respective
3. Provide a voters register report to the registrar
4. Provide feedback on all action performed by the registrar

1. Authenticate the returning officer


2. Count and tally votes in real time
3. Provide a real time view of the voting progress on a web
interface
4. Print a report on the voting outcome
5. Provide feedback to the returning officer on success and
failure of any tasks he/she performs

Figure 5.1: System Map showing functions provided by the system to each user
32

5.4 System Requirements


System requirements include hardware and software requirements that will be sufficient for the
smooth operation of the system.

5.4.1 Hardware Requirements


These are the minimum hardware requirements of hardware resources required for the system. To
ensure faster processing of data, a system (server) with processor speed of at least 1GHz, 512MB
RAM and storage space of at least 20GB to handle all cast votes, ballots and registered candidates
and voters.
The mobile phone on the other hand has to be java enabled to support the application developed that
presents the voter with an electronic ballot. The mobile phone should have a minimum storage space
of 320 kilobytes either on the phones memory or the phones memory card.
The table below summarizes the hardware requirements;
Table 13: Hardware Requirements
Hardware

Minimum requirements

Reason

CPU Speed

1GHz

Moderate

RAM

512MB

Moderate

Disk Space

20GB

Enough

FSB

32bit

Moderate

Bandwidth

100Mbps

Enough

Phone Memory

320kB

Moderate

A 3G capable mobile phone

3G, GSM - capable

Essential

5.4.2 Software Requirements


The system will require supporting software on which it will run. The software requirements range
from operating systems to some utility software. The system runs on predominantly Windows
Operating Systems including Windows XP, Windows Vista and Windows 7. Since the system was
built using platform independent languages, it can be configured to run of some Linux distributions.

33

MySQL will be required to interpret SQL queries/commands that were used in the implementation of
the database and data retrieval form the database. WampServer will be used on windows Operating
Systems to process all requests and display results on web pages.
A number of web browsers can be used for this system which include; Mozilla Firefox, Netscape
Navigator, Internet Explorer, Opera Browser and Google Chrome.
The Phone should be java-enabled and should implement at least CLDC 1.0 and MIDP 2.0.
These can be summarized in the table below;
Table 14: Software Requirements
Software

Minimum requirements

Reason

Web server

WampServer

Freeware

Database Management System

MySQL

Freeware

Web browser

Firefox, Internet Explorer, Opera Free and available


Mini, Google Chrome

Operating System

Windows XP, Windows Vista, Available


Windows 7

Mobile Phone (JTWI platform)

MIDP 2.0

Required

CLDC Version 1.0

Required

34

5.5 Sample Screenshots


5.5.1 The Election Administration Pages

Figure 5.2: The Mobile Voting Systems login page and Homepage.
Figure 5.2 shows the homepage that allows all election officials to login into the system in order to
access their pages and perform their tasks. For the samples below, we will use the registrars options
when he/she logs in. The Login page also has some interesting components like enabling one to
recover their passwords in case they have forgotten. Alert messages are displayed in case of wrong
username or password supplied during login. The homepage is also provides a link for the voter to
check the voter register to verify their details and also a link to view the election results when
elections are in progress.

35

Figure 5.3: The Edit Voter Register Page.


Figure 5.3 shows a page where the registrar can select the voter he/she wants to edit, and also allows
the registrar to delete unauthentic or invalid registered voters.

5.5.2 The Election Results Page

Figure 5.4: The Election Results Page.


36

Figure 5.4 shows the results page. This page dynamically displays results as the voting progresses.
The user navigates through the various positions to see the result per position by clicking the links of
each position on the left-side panel.

5.5.3 The Mobile Voters Interfaces

Figures 5.5 5.8: The Mobile Voters Login & Authentication Interfaces.
Figure 5.5 illustrates the mobile interface for which a voter is prompted to login with his/her correct
voter ID and password.
Figure 5.6 shows an error message a voter gets when he/she tries to login without supplying either
detail of his/her voter ID or password.
Figure 5.7 shows an error message prompted to an unregistered user when he/she tries to login as a
voter.
Figure 5.8 shows a confirmation interface for correct voter login upon the voter supplying the correct
voter ID and password.

Figures 5.9 5.12: The Mobile Voters Electronic Ballot Interfaces.


Figure 5.9 shows an electronic ballot from which a voter chooses a candidate to vote for.
37

Figure 5.10 shows a confirmation message to a voter to confirm his/her choice of voting a candidate.
The voter can change his/her mind to vote for another candidate by selecting cancel or proceed by
selecting yes to accept the selected choice of candidate.
Figure 5.11 shows an acknowledgment to voter upon successfully voting for all candidates of his/her
choice. Upon which the voter will click finish to end the voting process and automatically logout.
Figure 5.12 shows an alert message denying a voter who has voted from re-logging into the system
to vote again.

5.6 System Testing and Validation Results


We carried out system testing with an aim of finding out errors that were in the system. We also
performed system Validation to ensure that the system conformed to the then defined user needs and
requirements. We presented the system to some of the users so as to get feedback about the system
performance in relation to their requirements.

5.6.1 System Testing Results


The test results were got from the different testing phases that were conducted during system
implementation. The system was tested in the unit level and integration level. During unit test, unit
modules were tested to ascertain that they functioned as individual units. During integration test, the
unit modules were linked together and tested to ascertain that they worked together as a system.
The authentication of the system could only allow administrative users to access the system
information and make the necessary changes. We created one administrative account called Election
Officer, in which case was used for testing all administrative tasks. All administrative options were
tested exhaustively. Hence the system was declared satisfactory to the user needs.
We also tested the system to see whether it was capturing valid data, this was done by putting wrong
data and then the system responded by alert messages displaying the type of error. Testing and
validation was done successfully.

38

5.6.2 Validation Results


We used some experts in the area of database systems to check whether the system conformed to the
standards of similar systems under defined operating conditions. Further tests on validation were
carried out on the system to verify that it met the specified user requirements. We presented the
system to the users so as to get feedback about the system performance as to whether the system met
their needs or requirements.
The users were satisfied with the system and concluded that the system was simple to use allowing
users to navigate through the system with ease. The system was fast in responding to the different
calls.
The authentication procedure that we implemented in this system could only allow the approved users
to access the system else an alert message was prompted to the unauthorized users.

39

Chapter 6
Summary, Recommendations and Conclusion
6.1 Summary
This project was aimed at improving on the speed, ease and transparency of the electoral process.
There was need to guarantee improved quality of service, reduced election malpractices, increased
efficiency in tallying, increased voter participation, decreased invalid votes and voting errors;
prevent a digital divide, and allow for better voter registration management.
We looked at other systems alike and compared them with our system and realized some services
were not offered by those systems. So this system is generally a mobile based with a web-based
application that allows for voting over a mobile device and tallying of results displayed over the web.
Many people both the voters and election officials will benefit from further development in this area
since there is need to influence the progress of electronic voting, mass voter participation and ensure
the transparency, freedom and fairness of the whole election process.

6.2 Recommendations
We recommend that this system should be used by the electoral bodies such as Makerere University
Guild Election Commission, the Electoral Commission of Uganda because we believe that the system
can administer the election processes fairly, effectively and efficiently.

6.3 Conclusion
This project was rewarding as it enabled us have a better insight of real world problems and how to
go about with solving them. We are also happy that the goals we set at the beginning have been met
as the system is fully functional as proposed.

40

References
[1]

Oxford

Online

Dictionary.

Retrieved

on

25th

February

2011,

from

http://oxforddictionaries.com/definition/vote#m_en_gb0933550.005
[2]

M. Burmester and E. Magkos (2003). Towards secure and practical e-elections in the new era.
In D. Gritzalis, editor, Secure Electronic Voting, pages 6372. Kluwer Academic Publishers.

[3]

B. Nadja, M. H. Alves, J. Bradly, L. Kristina, K.Anna and K. Robert (2009). Focus on EVoting. Retrieved on 10th February 2011, from http://aceproject.org/ace-en/focus/evoting/onePage.html.

[4]

S. Richard and D. P. Mirembe (2007). Security Analysis of Remote E-Voting. Department of


Computer Science, College of Computing and Informatics Technology

[5]

K. Saleh, C. El-Morr, A. Mourtada and Y. Morad. (2006). Specifications of a mobile electronic


voting system and a mobile agent platform. Retrieved on 10th February 2011, from
www.iadis.net/dl/final_uploads/200301L036.pdf.

[6]

K. Manish, T.V. Suresh Kumar, M. Hanumanthappa and D. E. Geetha. (2006). Secure Mobile
Based Voting System. Dept. of Master of Computer Applications, M. S. Ramaiah Institute of
Technology, Bangalore-560 054, India. Retrieved on 10th February 2011, from http://csisigegov.org/emerging_pdf/35_324-330.pdf

[7]

D.T. Lumu. (2011) Election Rigging. The Observer. Retrieved on 25th February 2011, from
http://www.observer.ug/index.php?option=com_content&task=view&id=12352&Itemid=59.

[8]

The Electoral Commission Board. (2006). Ugandas Electoral Process. The Third Conference of
Ugandas Ambassadors and High Commissioners.

[9]

Mugisha B. (2008). A Secure Internet-Based Voting System for Low ICT Resourced Countries.
Retrieved on 5th February 2011, from http://aceproject.org/ace-en/focus/e-voting/onePage.html

41

[10]

The Republic of Uganda. (1995). The Constitution of the Republic of Uganda. The Parliament
of Uganda. Articles 67 (1)(2)(3)(4) and 68(1)(2)(3)(4)(5). Page: 57 and 58. Retrieved on 3rd
February 2011, from http://www.ugandaembassy.com/Constitution_of _Uganda.pdf

[11]

Department of Innovations and Software Development, DISD, School of Computing and


Informatics Technology, (2010). Projects: Electronic Voting System. Retrieved on 15th
February 2011, from http://cit.mak.ac.ug/disd/EVS.php.

[12]

T. Rich (2009), Mobile Voting in Estonia. Retrieved on 14th February 2011, from
http://blog.tmcnet.com/convergence-corner/2008/12/mobile-voting-in-estonia.html.

42

1.

Appendices
Appendix I:

Interview Guide
Questions asked during the interview:
Voter Registration
Who is in charge of registering voters?
How do you keep voter records?
Where do you keep the voter register?
What are the requirements a voter should meet in order to be registered?
What criteria do you use to annul an ineligible registered voter?

Voting Process
Who are officials involved the voting process?
What are the procedures followed in the voting process?
What are the possible irregularities that may emerge during the voting process?
How are these irregularities handled?

Votes Tallying and Declaration of Results


Who tallies votes?
How is vote tallying done?
How are the results recorded and stored?
What is the procedure for declaring the winner?
How are results complaints handled?

43

Appendix II:

Pseudo code
Pseudo code for Registrars login
Initialize Parameters to access data (username and password)
If Parameters are equal to null
Alert box, please enter a username and password
Else
Go to registrars page

Pseudo code for Registering Candidates


Initialize Parameters to user data
If Parameters are equal to null
Alert box, Please fill in all the required fields
Else
Select position from the side panel
Click add new candidate
Enter candidates voter ID.
Click on add candidate.
Then its added to the database

44

Appendix III:
Other Screenshots

The Register Voter page

45

The Edit Position Page.

The Edit Candidate Page.

The Returning Officers election results page


46

Election results exported to Microsoft Excel

The Voter Register exported to Microsoft Excel

47

You might also like