Mobile Voting System

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 [email protected], +256-41-540628, Fax: +256-41-540620 June, 2011.

description

Mobile Voting SystemMobile Voting System

Transcript of Mobile Voting System

  • 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

    [email protected], +256-41-540628, Fax: +256-41-540620

    June, 2011.

    mailto:[email protected]

  • i

    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 Signature

    1 OYITE DAVID ROBINSON 08/U/1429

    2 KAWAIDA DAVID 08/U/1418

    3 OCHOLA JACOB 08/U/1426

    4 LUTAAYA JOSEPH 08/U/16799/PS

  • ii

    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

  • iii

    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.

  • iv

    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!

  • v

    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

  • vi

    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

  • vii

    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

  • viii

    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

  • ix

    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

  • x

    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

  • xi

    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

  • xii

    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.

  • 1

    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.

  • 2

    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.

  • 3

    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 up-

    to-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.

  • 4

    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

  • 5

    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

  • 6

    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].

  • 7

    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 systems-

    advantages 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-the-

    minute ballot modifications.

  • 8

    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].

  • 9

    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.

  • 10

    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-les-

    Moulineaux. 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.

  • 11

    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,

    PHP, AJAX and

    MySQL

    HTML, PHP and

    MySQL

    PKI, Python, C, HTML

    and PHP

    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.

  • 12

    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 semi-

    structured. 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 non-

    functional base on the system study.

  • 13

    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.

  • 14

    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.

  • 15

    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.

  • 16

    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

  • 17

    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.

  • 18

    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

  • 19

    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

    Figure 4.2: Context Diagram for the Mobile Voting System

    Voting System

    Login

    details

    Login

    details

    Cast vote

    Ack of vote

    Mobile

    Voter

    Registrar

    Returning

    Officer

    Login

    details

    Login

    Ack

    /Fee

    dbac

    k

    and b

    allo

    t

    Login feedback

    Vote count/tally

    and Results

    Login feedback

    Voter + candidate

    registration

  • 20

    Key Symbols

    Symbol Name

    Process

    Data flow

    Data Report

    Data Store

    External Entity

    D

  • 21

    4.3.1.2 Level1 DFD for the Mobile Voting System

    Figure 4.3: Level1 DFD for the Mobile Voting System

  • 22

    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 Description

    Authentication 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

  • 23

    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.

  • 24

    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.

  • 25

    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.

  • 26

    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

  • 27

    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.

  • 28

    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

  • 29

    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

  • 30

    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

  • 31

    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.

  • 32

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

    process.

    5.3 System Map

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

    Login

    Mobile User

    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

    Registrar

    Returning

    Officer

    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

  • 33

    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.

  • 34

    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

    Mini, Google Chrome

    Free and available

    Operating System Windows XP, Windows Vista,

    Windows 7

    Available

    Mobile Phone (JTWI platform) MIDP 2.0

    CLDC Version 1.0

    Required

    Required

  • 35

    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.

  • 36

    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.

  • 37

    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.

  • 38

    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.

  • 39

    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.

  • 40

    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.

  • 41

    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 E-

    Voting. Retrieved on 10th

    February 2011, from http://aceproject.org/ace-en/focus/e-

    voting/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://csi-

    sigegov.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

    http://oxforddictionaries.com/definition/vote#m_en_gb0933550.005http://aceproject.org/ace-en/focus/e-voting/onePage.htmlhttp://aceproject.org/ace-en/focus/e-voting/onePage.htmlhttp://www.iadis.net/dl/final_uploads/200301L036.pdfhttp://csi-sigegov.org/emerging_pdf/35_324-330.pdfhttp://csi-sigegov.org/emerging_pdf/35_324-330.pdfhttp://www.observer.ug/index.php?option=com_content&task=view&id=12352&Itemid=59

  • 42

    [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.

    http://www.ugandaembassy.com/Constitution_of%20_Uganda.pdfhttp://cit.mak.ac.ug/disd/EVS.phphttp://blog.tmcnet.com/convergence-corner/2008/12/mobile-voting-in-estonia.html

  • 43

    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?

  • 44

    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

  • 45

    Appendix III:

    Other Screenshots

    The Register Voter page

  • 46

    The Edit Position Page.

    The Edit Candidate Page.

    The Returning Officers election results page

  • 47

    Election results exported to Microsoft Excel

    The Voter Register exported to Microsoft Excel