Design and Implementation of An Online Voting System For The Election of Students of The University of Mauritius
Design and Implementation of An Online Voting System For The Election of Students of The University of Mauritius
ABSTRACT: Voting systems have been present for long time but, with the emergence of new web technologies, the
conventional electoral process, be it is for general election or for electing candidates for student council in a university,
should be modernized. Electronic voting is one of the most troublesome overhauls faced to obtain a perfect outcome
hence, this innovation touches the heart of the whole electoral process that is voting and tallying of the votes. Online
voting significantly decreases direct human control which is viewed as a positive point but at the same time it presents
an entire scope of new concerns.
This paper provides the specification and requirements to meet „University of Mauritius (UoM) Student Online Voting
System which is an android based application to be used by the students of University of Mauritius during the Student
Union Election. It covers the entire system development life cycle from the identification of a solid problem to
background research about the topic on to analysis, design and implementation of an android based application. The
concluding sections cover the application testing and evaluation as well as possible enhancements to the application.
I. INTRODUCTION
Voting is fundamental in our modern societies. In line with this, mobile applications are being developed and deployed
on smart phones to make the voting process much more simple and effective. It is a matter of fact that these
applications have raised our standard of living whereby people can rule the whole world at their fingertips‟-voting
systems have been introduced to enhance several features of the electoral process [1]. It is generally perceived as a
medium for promoting democracy, establishing belief in electoral management, adding integrity to election outcomes
and improving the overall efficiency of the electoral process [2].It is a fact that, with proper implementation, online
voting system can get rid of several frauds, pace up the preparing of results and make voting more appropriate for the
public.
However, if not precisely devised and outlined, online voting may ruin the trust in the entire electoral process [2,3].
This research work investigates the design of an online voting system that can be used at university level to proceed
with their annual election. This system will be an altogether paperless one since it will eliminate all the manual tasks.
Students can access the application on their mobile phone, wherever and whenever they desire and choose their student
bodies provided they have internet connection. Students will no longer have to wait for long hours to obtain the result
since the system will provide real time results.
Traditional voting system also known as ballot voting system is a method by which recording and counting votes are
carried out on paper cards. For this type of election, the most well-known approach to voice out one‟s decision is voting
at a particular area known as the polling station [2].Traditional voting systems can be classified into several types
namely majority rule, proportional
representation, semi-proportional representation, plurality voting, preferential voting and many others whereby
majority rule is a decision rule that chooses those having dominant part, that is, more than a large portion of the votes
[3-5]. Proportional representation characterizes electoral systems by which divisions in an electorate are reflected
proportionately in the chosen body.
On other side, plurality voting is a voting framework in which every voter is permitted to vote in favor of one and only
competitor, and the applicant who surveys most votes(majority) than other is elected. Ranked voting system also
known as preferential votingis a method where candidates are ranked in order of preference.
Electronic voting (otherwise called e-voting) will be voting using an electronic device to record or check votes. Online
voting system introduced numerous advantages. Some of the benefits include lesser fraud, lesser cost, accurate
counting. But, based on other‟s work, several cases cropped up where electronic machines making capricious and
conflicting mistakes or making ill use of default administration passwords [1-3]. Some types of e-voting systems are
summarized below.
With this new and effective way of voting, more accurate results could be obtained for a minimum effort. Also, more
people can participate in voting, thus increasing turnout. Invalid and lost votes can be occurred with very little
possibility or sometimes eliminated completely. A properly designed online voting system has safeguards in place to
assure security of ballots and protection of voter identities [1]. Despite the particular advantages to electronic voting
system, critics of electronic voting argue about the security issue. The attacks might be happened from the webpage,
network, to the extent of server‟s database [1].
At the UoM, election takes place every year. The University of Mauritius can be classified into five faculties. For the
student union election, each student has to choose their respective faculty representative and four office
bearers(irrespective of the faculty). This electoral procedure involves many processes. The processes involved are
listing all eligible students, Voting, Vote Counting, Collation and Publication of Results.
The procedure for listing all eligible students is to enable an eligible voter to have his/her name entered into a document
(Voter Register) with the aim of offering the person the opportunity to exercise his/her franchise on the appointed day
of voting. The Voting is the actual process of casting ballots. An eligible voter goes to the polling station where his
name is registered and uses his Student ID card to vote. Firstly, he is issued a ballot paper to cast his vote. In an
enclosed space, he selects a candidate of choice on the given ballot paper and thumbprints in a space allotted for that
candidate. The voter then carefully folds the ballot paper and deposits it into
the ballot box provided. He is then expected to leave the polling centre. The processes of Vote counting and publication
of results consist of Ballot counting which is done manually and after that the result is published.
The present system of voting whereby the voters go to the voting place to perform their duty and the results are counted
and given to students undoubtedly conveys numerous drawbacks given below and which need to be taken into
consideration:
The „UoM Online student Voting System‟ will act as a client/server application. It will describe how a user can vote
using an application installed on his Smartphone. This system comprises of a Mobile Client Application, Server
Application, Web administration panel and a central database. The programming for this application is based on the
traditional client/server model [5-7]. The mobile client application can be downloaded and connects tothe server
application using volley library and requests for voting data. droid Volley is an HTTP library that makes networking for
Android apps easier and most importantly faster [8-11].
Response received is converted to JSON format that can be read by the Android system. To be able to use this library,
we need to add volley library to the project. The server application queries back the Central database and send the data
to the Mobile Client Application. The user is presented with a screen where he/she can choose the desired candidates.
Once the user has voted, the data is transferred to the server application, which then performs validation and updates
the database if successful. Even though the system enables voters to poll their vote from anywhere, initially the voters
should have to provide their student ID and password to authenticate themselves. This constraint is imposed to ensure
that only the students studying at UoM are allowed to vote in the election. The aim of this work is to design and
implement an electronic voting application for the Android platform that will enable people to vote securely from
anywhere [12].
The application as a package is aimed at being compatible with devices running different versions of the Android
operating system. The web administration panel is connected to the central database where the administrator can add
new applicants, delete an old applicants and also view voting statistics. Moreover, a student can see the voting results
provided he has already voted.
The Application Architecture describes the layout of an application‟s deployment. The architectural structures can be
grouped into several types namely 1-tier, 2-tier, 3-tier and n-tier. The tiers given below alludes to different level or
layers where activities occur.
Client
Client is any user or program that wants to perform an operation over the system.Clientsinteract with the
system through a presentation layer.
Presentation Layer
This layer is responsible for the presentation of data at the client side, i.e., it provides an
interface for the end-user into the application.
Resource manager
The resource manager deals with the organization (storage, indexing and retrieval) ofthe data necessary to
support the application logic. This resource manager is typically a database.
Application logic
The application logic figures out what the system actually does. It takes care implementing the business rules
and establishing the business processes.UoM online voting system is designed and implemented according to
the three tier architecture.
As mentioned earlier, this model is divided into three layers namely the presentation layer, application layer and data
management layer. The Presentation layer also known as client tier is responsible for the presentation of data, receiving
user events(votes) and controlling the user interface. Secondly, the application layer (applicationservertier) protects the
data from direct access to the clients. It is the layer where most of the processing work occurs that is it enables access to
the data tier so as to retrieve, modify or delete data from it which can then be sent to the presentation layer. Lastly, Data
Management layer (Data server tier) is responsible for data storage using MySQL as database software [13]. Fig. 1
shows a three tier architecture which is used in designing the application [4].
The application will be built from scratch to meet all the functional and non-functional requirements specified. The
application is aptly named UoM ONLINE VOTING SYSTEMand it will be built using android development tools –
Eclipse IDE with Android Software Development Kit (SDK). The Eclipse Android SDK is freely accessible and has
developer features for testing in a simulated environment using an emulator; however because of the widespread
availability of android devices and phones, it will also be possible to test on live applications. Two other important
tools used are WAMP Server and MySQLdatabase [13].
The laptop used to implement our project has the following upcoming configurations: Intel RCoreTM i3 CPU M 370 @
2.40GHz, RAM - 4GB, Hard Disk - 282 GB. The mobile phone that has been used for the development of the
application is given as follows: Mobile Android 4.2.2 Jelly Bean, Processor Quad-core 1.9 GHz Krait 300, RAM-2 GB.
The software that have been used in this work are as follows: Windows 10 Home 64bit, IDE Eclipse Kepler 4.3.2,
Android SDK, Notepad++ 6.8.8,Microsoft Visio 2013, LATEX
When the application opens, the splash screen loads first. Then, the login page is launched as shown in Fig. 2. If the
ADMIN button is clicked then the Administrator web page opens requesting for login information as shown in Fig. 3.
If the wrong login is entered an error message is displayed requesting the user to re-enter the correct login. Upon
successful login the administrator will have access to various features of the e-voting system that can be configured as
illustrated in Fig. 3.
Fig. 2: Splash Screen and Login page Fig. 3: Administrator Login page
Fig. 4 shows an example of a student who has been added and updated or deleted successfully in the system. As
illustrated in Fig. 5, before voting the voter is directed to another page which shows the voting ballot (list of candidates).
After voting, a toast is displayed “You have already voted!”. Moreover, before voting, a message is displayed “You can
only view results after voting”. After voting, the voter is directed to the result page.
When the student accesses the candidates profile link a dialog box opens showing student representatives and office
bearers. The student is allowed to view profiles and cast a vote based on his/her choice. A maximum of 4 candidates is
allowed to vote as shown in Fig. 6. After voting the system displays the result as shown in Fig. 7.
V. CONCLUSION
This paper focused on the development of an e-voting application on an android platform. It successfully met its aims
and objectives and all the requirements mentioned earlier were met. It will definitely be helpful for the users who wish
to vote since the voting process will be made very easy by using this application. However, after having tested the
system, in future we tend to add additional functionality of image validation for the security constraint and uniqueness
which will provide very strong security for the confidential information about vote. Furthermore, a countdown timer
can be introduced to set the starting and ending time of the election. Alongside, the users are informed of the starting
time through a message and can start voting. In between, statistics are provided and once the timer is over, the voting
process is blocked automatically and the users can only view the final results.
REFERENCES
[1] IDEA, “Introducing electronic voting: Essential considerations”, International Institute for Democracy and Electoral Assistance,
www.idea.int/publications, 2015.
[2] Ofori-Dwumfuo, G. Paatey, “The design of an electronic voting system”, Research Journal of Information Technology 3(2), pp 91-98, 2011.
[3] S. W. Ambler, “Process Patterns: Building Large Scale Systems Using Object Technology”, Cambridge University Press, 1998.
[4] Myers, G. J., Sandler, C., and Badgett, T., “The art of software testing. John Wiley & Sons, 2011.
[5] Norman, D. A, “The Design of Everyday Things. New York: Basic Books”, 2011.
[6] M. Andrews and J. A. Whittaker, How to Break Web Software: Functional and Security Testing of Web Applications and Web Servers”, Addison
Wesley, 2006.
[7] Chung, L., Nixon, B. A., Yu, E., Mylopoulos, J, “Non-functional requirements in software engineering, volume 5. Springer Science & Business
Media, 2012.
[8] Developpers A, “Android kitkat – 2015a”, 2015.
[9] Developpers A, “Android lollipop – 2015b”, 2015.
[10] Developpers A, “Android marshmallow- 2015c”, 2015.
[11] Developpers A, “Transmitting network data using volley - 2016”, 2016.
[12] Westaway L, “Android updates guide: All the features of every version”, CNET, 2012.
[13] Oracle, “Top reasons to use MySQL”, Oracle 2016.