PROJECT REPORT.
Bsc IT. Year II Semester II
UNIT: Group project (CIT 212).
MASENO SOMU E- VOTING SYSTEM.
i
CERTIFICATE
This is to certify that the project entitled” Maseno SOMU E-Voting System” has
been done by:
Ochieng Shinah Adhiambo CI/00099/013
Bwibo O. Michael CI/00095/013
Masika W. Amos CI/00086/013
Kipkoech Nelson CI/00094/013
Kiplagat Kibet Hosea CI/00090/013
all of Maseno University, School of Computing and Informatics, Bachelor of
Science Information Technology, under a unit “CIT 212-Group project” year two
semester two 2015, under the supervision of Mr. Chamwama
Mister Chamwama
i
Abstract.
E-voting system is an online voting technique in which Maseno University comrades
can give out their votes from any position they are without necessarily having a
polling station. The university information system has a database containing
information of each and every student. Usernames and Passwords are assigned for
them to access their portal. Therefore, integrating the voting system to the portal
will enable E-voting.
E-VOTING
ii
ACKNOWLEDGEMENT
The Project was jointly undertaken by Kipkoech Nelson and his above mentioned
colleges as their Information Technology Group Project, under the able guidance
and supervision of Mr. Chamwama (chairman and lecturer IT Department ).
Our primary thanks goes to him, who poured over every inch of our project with
painstaking attention and helped us throughout the working of the project. It’s our
privilege to acknowledge our deepest sense of gratitude to him for his inspiration
which has helped us immensely. We are extremely grateful to him for his support
and encouragement in the preparation of this project. We also not forget to thank
our IT classmates (just to mention, the “engineers” Frank and Edan Mike) and
Computer science students who stood to correct us during the task.
We also thank Maseno University Network support staff headed by ICT director
Dr. George Omuono, for taking good care of the University network which
enabled us access internet resources and download software that we used in the
project.
iii
Table of Contents
1.0 INTRODUCTION ................................................................................................................................. 1
1.1 Background information. ............................................................................................................... 1
1.2 Problem Statement. ....................................................................................................................... 1
1.3 Objectives ...................................................................................................................................... 2
1.4 Scope. ............................................................................................................................................ 2
................................................................................................................................................................ 3
2.0 LITERATURE REVIEW .......................................................................................................................... 3
3.0 METHODOLOGY ................................................................................................................................. 5
3.1 Data collection mechanism ............................................................................................................ 5
3.2 Research Findings .......................................................................................................................... 9
3.3 Data analysis and presentation .................................................................................................... 12
3.4 Process model.............................................................................................................................. 13
4.0 SYSTEM DEVELOPMENT ................................................................................................................... 17
4.1 Requirement analysis ................................................................................................................... 17
4.1.1 Software requirement. .......................................................................................................... 17
4.1.2 Hardware requirement.......................................................................................................... 17
.......................................................................................................................................................... 18
4.2 Database design........................................................................................................................... 19
4.3 Graphical User Interfaces Design.................................................................................................. 21
5.0 CONCLUSION/RECOMMENDATION………………………………………………………………………………………………… 34
iv
LIST OF FIGURES
figure 3 1 how do you feel about manual voting .................................................................................... 12
figure 3 2 students belief in results ........................................................................................................ 12
figure 3 3support for shifting to e-voting ............................................................................................... 13
Figure 4 1The Database President.......................................................................................................... 19
Figure 4 2The Admin Table .................................................................................................................... 20
figure 4 3 ............................................................................................................................................... 21
Figure 4 4 Admin's interface showing major privileges ........................................................................... 25
Figure 4 5Voter registration Form .......................................................................................................... 26
Figure 4 6 Voter Login Interface ............................................................................................................. 28
Figure 4 7 Posts Available for voting ...................................................................................................... 29
Figure 4 8 The President Interface ......................................................................................................... 30
Figure 4 9View general vote Information ............................................................................................... 31
Figure 4 10 The Specific Votes interface................................................................................................. 32
Figure 4 11Specific Individual results ..................................................................................................... 33
Figure 4 12 Names of Winners In each post ........................................................................................... 34
v
vi
1.0 INTRODUCTION
1.1 Background information.
Maseno University currently uses the manual voting system in SOMU elections.
Forms having voters’ details i.e. Names, Registration Numbers and Hostel are
used. Returning officers are employed for this vital exercise. Majorly, hostels are
used as the polling stations. Delegates’ names are printed on individual voting
cards. Each position do has its card thus a single voter requires multiple cards.
This means a number of ballot boxes are also used. What voters do is to check on
boxes having their preferred candidate’s name. This exercise do involve making
queues. Ballot boxes are opened, votes counted and values filed in forms which
are conveyed to the main tallying center (Hindocha hall) to sum up values from
different stations and henceforth annunciation of results.
1.2 Problem Statement.
The manual voting system is associated to a number of problems and
challenges.
Lining up at the polling stations is usually a cumbersome task to comrades.
This do make voters not to attend the exercise while those who made it to
the queue giving up before voting. This leads to not achieving a 100 %
voting. Furthermore, it is time consuming.
Security to voter registry files, votes and human personnel i.e. voters,
delegates’ representatives, polling and returning officers is not highly
accountable for as chaos do arise among them which mostly lead to
injuries and damage of votes.
Rigging occurs at different stages of the exercise. Some individuals might
be forced to vote for the non-intended candidates. There might be an end
up with fictitious results during counting and tallying.
1
1.3 Objectives
In response to the problems defined in section 1.2 above, the project aimed
at achieving the following objectives:
To do away with lining up at polling stations, reducing time for voting
and achieving higher voting percentage through the online voting
system.
Improve human and data security as database will be handled by
system administrator.
Reduce rigging as number of personnel handling votes reduces to one,
the system administrator. There will also be automated tallying.
1.4 Scope.
The project is focused on studying the existing system of voting in Maseno
and to make sure that the comrades’ vote counts, for fairness in the elective
positions. This also will produce:
Less effort and less labor intensive, as the primary cost focus primarily on
creating, managing, and running a secure voting system to be integrated to
the students’ portal.
Increasing number of voters as individuals will find it easier and more
convenient to vote, especially those in long holiday.
2
2.0 LITERATURE REVIEW
Many associates have carried out research and given out there responses on the
implementation of different architectures of E-voting systems.
Nitin Bhasin, a professional researcher and head of research in Ambit Capital in
India, in his report entitled “project on online voting system”
(www.slideshare.net/nitinbhasin3/online-voting-system-project.), explains some
of the problems of the manual voting system as:
Too much paper work:” The process involves too much paper work and too much
paper storage which is too much difficult as papers become bulky with increase in
population size.”
Errors during data entry: “Errors are part of all human beings; it is very unlikely for
humans to be 100 percent efficient in data entry.”
Loss of registration forms: “Sometimes, registration forms get lost after being filled
in with voters’ details, in most cases these are difficult to follow-up and therefore
many remain unregistered even though they are voting-age nationals and
interested in exercising their right to vote.”
In his ABSTRACT section of the research “E-voting”,(www.Fransis Alamin/new-E-
voting.com ), Fransis Alamina, a graduate student in the Computer Networking
department at the Stanford college, says that “Every election process wants a
standard and secure electronic system which voters will trust. Many systems have
been developed to tackle the problems of privacy, security, quality control and
validation. However, none of this systems meet the standards needed for good
systems.”
Just to quote from the University of Minnesota’s portal which is integrated with
an online voting system, “ An online voting system (called simply voting),was
3
designed to eliminate the risk of electoral fraud. Voters who bypass authentication
or have already voted are denied access to the ballot and ballots are checked for
validity before being accepted. Nobody could ever find out what a particular voter
has voted as results are stored anonymously. Communication between computers
and our website is encrypted with 256-bit SSL, the highest level of data
protection.”(www. Minnesotauniversity.com)
Ronald Rivest, a cryptographer and a professor at MIT’s Department of electrical
engineering and computer science and Artificial intelligence Laboratory at the
university of Massachusetts, is another researcher in this topic. He states that,
among people considering electronic voting for the first time, the following
question seem to be very common.
Could I get a receipt indicating how I voted?
His response is that the question is mostly answered in the negative, by pointing
out that receipts would enable vote buying and voter coercion. Party X would pay
$20 to every voter that could show a receipt of having voted for party X’s candidate.
Under his personal opinions, Rivest states that the voting system must be simple
to understand and operate. He says that voting systems must be certified before
they are used…complexity is the enemy of
security.(https://people.csail.mit.edu/rivest-Electronicvoting.com).
In JOMO KENYATTA UNIVERSITY OF AGRICULTURE AND TECHNOLOGY, a research
was conducted by Adrian Mwai and Michael Mungai both from the department of
Mechatronic Engineering which led to coming up with a computer based voting
system. In this system, a voter casts his vote once. When polling closes, the results
can be printed and announced immediately. A paper trail for all the votes cast is
kept for verification. (www.jkuat.ac.ke/computer-based-voting-system/).
4
3.0 METHODOLOGY
3.1 Data collection mechanism
a. Interviewing.
The group has considered this as the best method for research due to the following
few reasons:
a) The method help to investigate the issue in an in-depth way as we will be
asking detailed questions.
b) We will discover how individuals think and feel about this topic and why they
hold certain opinions.
c) It will make it possible for ambiguities clarification and easy follow-up to
incomplete answers.
d) Lastly, interviews are not influenced by others in groups.
Who to be interviewed?
a) Maseno university students.(IT, Computer science , Political Science and
International Relations Students).
b) Some of SOMU leaders in Maseno.
Face to face method will be used conduct the interview.
5
Questions for the interview
a) How do you feel voting manually in maseno? Good, not so bad,bad ?
b) What are some of the difficulties you encountered while on this exercise?
c) What are some of the improper activities you once observed during the
electioneering period?
d) Do you usually believe in the results of this activity in your Maseno? Explain.
e) Compare Manual and E-voting in perspective to: Elimination of manual
Ballots, Cost of printing voters cards and tabulating paper ballots, number of
voters participation, Ballot scrabbling, Automated tallying, comprehensive
reporting ie. Time-to-time release of results.
f) Should Maseno shift to E-voting?
6
Questionnaires
There will be both hardcopy presented to individuals and some electronic whose
feedback will be via Mail. They will entail:
Specific information questions
(i) Have you ever voted in the SOMU elections?
Yes No
(ii) Do you view the SOMU voting exercise as any of the following? If so, tick
which.
Enjoyment A Right None of these
(iii) Voting in Maseno involves making queues. This makes the exercise…
Easy Faster Tiresome Cumbersome
(iv) How would you describe comrades’ attitudes to the previous SOMU
elections results?
Very positive Positive Mixed/Neutral
Negative Very Negative
7
Open questions
(i) Summarize some of the problems encountered during SOMU voting.
(ii) Briefly explain how these problems can be eliminated if election
processes are to be done electrically.
8
3.2 Research Findings
a) From interviews.
we carried out interviews with IT, Computer Science , Political Science and
International Relations Students all of Maseno university at their respective schools
between July 2, 2015 and July 10, 2015. 432 interviewees were interviewed and the
results were as follows:
To the question,” How do you feel voting manually in Maseno? Good, not so bad,
bad?” 71% said “bad,” 22% “not so bad” and 7% said “good”. To the second
question “What are some of the difficulties you encountered while on this
exercise?” the most answers aired out were: Many said the exercise was time
consuming as some termed making queues as cumbersome. A few reported cases
of chaos. 3 said they once got bitten up just because they seemed to be supporting
candidate X.
The third question seemed to be more-less similar to question two but we
happened to get the following views. 202 students said they once witnessed
aspirants on hostel representatives issuing bribes in form of “Mandazi” and some
money. 60 students confessed that they once got forced by clerks to vote the
unintended aspirants. A number of candidates who have once vied for a post
complained that their names happened to be missing on the aspirants’ lists and the
voting cads on the day of election.
Question four happened to rise feelings of respondents. (“Do you usually believe in
the results of this activity in Maseno?”). 62% responded No. This NOs were mostly
backed up by says that Votes do get handled by many different personnel from
preparation to voting and then to tallying. They said that not every of these
personnel do have a sense of human as some do deliberately change results in favor
of candidate X.
38% said YES. Under this, most said that factors that do arise up like miscounting
and rigging occurs for almost every aspirant thus a minimum effect to the final
result hence valid results.
9
Responses to question five were as follows: 89% said that manual ballots, printing
voter cards are all paper works. Paper and pen work are easily manipulated at
different stages of personnel handling. Among these, some added by outlining a
fact that, within this era where people are migrating from Information Technology
to Innovation, it is better to innovate a system that reduces the number of data
handlers while it increases efficiency and reliability. Others showed their emotions
by stating that it is cumbersome to make queues just because you need to cast a
vote. A number reported that they once moved out the queue due to tiredness as
others also happened not to attend the election because they fear the queue.
11% said that both paper work and online system require human personnel to
handle them hence no difference in efficiency and reliability between the two.
On time-to –time release of results, 72% said NO while 28% said YES. Those who
said NO backed their decision by claiming that negative feelings between different
aspirants’ supporters can lead to chaos and also fights and injuries. Those who said
YES said that it is just nice to hear timely reports on aspirants’ vote-counts.
Finally, to the last question (Should Maseno shift to E-voting?) 92% said YES as 8%
said NO.
10
b) From questionnaires
Between 11, July and 20, July, hardcopies of the questionnaire were presented to
450 students of which 250 we collected back by ourselves, 72 were scanned and
sent back via email. Also, we posted the questionnaire at the Maseno Campus
Politics Platform (CPP) and 568 students commented by answering. In total, we had
a number of 890 respondents.
82% said that they have once voted in Maseno as 18% said they never voted. 71%
advocated that SOMU voting exercise is a right to them, 22% said it is like an
enjoyment and 7% said the exercise is neither a right nor an enjoyment to them.
53% said that making queues during SOMU voting is cumbersome, 19% said it is
tiresome, 16% said it is faster and 12% said it is easy.
About the previous SOMU election results, 61% said comrades had mixed/neutral
attitude towards the results. 21% said comrades had negative attitude, 6% said
positive, 5% said very negative as 7% said very positive.
A number of respondents described problems encountered during SOMU elections
in terms of too much paper work, cumbersomeness of making queues, Errors and
rigging due to many data handlers.
Respondents also related their solutions to E-voting. Most of them said that E-
voting will eliminate queuing, paperwork, errors and rigging as data entry and
handling will be automated and only the admin of the system can interact with it.
11
3.3 Data analysis and presentation
In accordance to the above findings results can be analyzed and presented as below.
manual voting
bad
not so bad
good
Figure 3 1 how do you feel about manual voting
belief in results
no
yes
Figure 3 2 students’ belief in results
12
electronic shifting
6%
8%
yes
no
neutral
86%
Figure 3 3support for shifting to e-voting
3.4 Process model.
In relation to the above mentioned data collected and user requirements, we
decided to use the “waterfall process model,” In this system development.
Figure 3 4System Development Process Model
13
The water fall model is a software development model in which a systems
development is viewed as flowing downwards through the phases of the system
development process. The waterfall methodology is powerful, precise, and
thorough. It has a number of phases that have to be implemented in a sequential
manner.
The phases which come under the waterfall model are as follows:-
1.Requirement Analysis
2.Design
3.Implementation
4.Testing
5.Maintenance
Advantages:
1.Good for large projects
2.Waterfall suits a principled approach to design
3.Waterfall divides the project into manageable areas
4.Waterfall separates the logical and physical.
14
a) Use-Case diagrams.
i) System Admin use-case diagram.
<<Extend>>
View vote
Register
details
Voter
<Include>>
Search voter
details
<<Extend>>
<<Extend>>
Admin
Delete voter
Update
voter details
Figure 3 5Admin's Use-case Diagram
15
ii) Voter Use-case diagram.
Figure 3 6Voter Use-case Diagram
16
4.0 SYSTEM DEVELOPMENT
4.1 Requirement analysis
4.1.1 Software requirement.
Client Operating system (Windows 7, 8 or 8.1, Ubuntu, or Linux).
These Operating systems work best with the new software in market
today.
Java Runtime Environment-8 (JRE) and Java SE Development Kit-8
(JDK) to support java codes.
Microsoft ASP.Net Visual Studio 2010 or 2012. To support group
members preferring Visual Basic coding than Java.
Xamp server for Database development and system testing.
NetBeans IDE version 7.1.2, 8.0.2 or any latest version. It is our
preferred editor for coding and running java programs. It also has a
Java Database Connecting tool (JDBC) for interlinking Graphical User
Interfaces to the Xamp Database.
Web browsers: Mozilla Firefox, Google chrome, Opera and Internet
Explorer. For running the Xamp server.
4.1.2 Hardware requirement.
PCs or Laptops with:
Rating of at least 2.1
Intel (R) Atom (TM) or Intel Pentium CPU or
any other with at least 2.00 GHz processing
speed.
At least 2.00GB RAM
Of system type 64 bit Operating system, x64
based processor.
17
4.1.3 Badget Estimation
Item Quantity Unit price Total in (shs)
Laptops 2 45,000 90,000
Internet bundles 2 GB 400 800
Stationary Pens 5 20 100 850
Pencils 10 45 450
Manila 15 20 300
papers
Total 91,650
18
4.2 Database design.
Database: President.
This database contains the Administrator’s table and all the positions of aspirations.
Figure 4 1The Database President
19
The table Admin has two fields and a single row. The fields are: Username and Password.
Figure 4 2The Admin Table
These are the credentials the Database Adminstrator uses for authentication and authorization
to perform duties depicted in the System Admin use-case diagram.
20
4.3 Graphical User Interfaces Design
Any user fast interacting with the system gets himself to this interface below.
figure 4 3
Using the Admin’s privileges, the administrator can render this site as locked thus the whole
system. When Administrator button is clicked, the following login interface for the administrator
opens.
The Graphical User Interface (GUI) below enables the admin to login to the system. As shown in
the red caption “you have 3 of 3 login attempts remaining,” one has 3 attempts to try
authentication three times. This is for security purposes.
21
Figure 1.7
The login button has an action listener that connects to the table Admin, compares the values in
the username and password textboxes with those in the Admin table for authentication.
This is the part of the program for this authentication.
login.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent e){
loginActionPerformed(e);
}});
meni.addActionListener(new java.awt.event.ActionListener() {
@Override
22
public void actionPerformed(java.awt.event.ActionEvent f){
meniActionPerformed(f);
}});
private void loginActionPerformed(java.awt.event.ActionEvent e){
try{
Class.forName("com.mysql.jdbc.Driver");
String host="jdbc:mysql://localhost:3306/president";
String uName="root";
String uPass="";
Connection con=DriverManager.getConnection(host,uName,uPass);
Statement stmt=con.createStatement();
String nell=("SELECT * FROM admin WHERE Username=? and Password=?");
PreparedStatement ps=null;
ps=con.prepareStatement(nell);
ps.setString(1,username.getText());
ps.setString(2,password.getText());
ResultSet rs=ps.executeQuery();
username.setText(null);
23
password.setText(null);
if(rs.next()){
rvpage go=new rvpage();
go.setVisible(true);
go.setSize(500,400);
admin.this.dispose();
admin.this.setVisible(false);
else{
JOptionPane.showMessageDialog(null,"Strickly for Administators only");
After successful authentication, the admin has authority to perform the task shown in the
Admin’s Use-case diagram.
24
Figure 4 4 Admin's interface showing major privileges
The register button enables registration of voters. The View button is used to view vote details
which I will show you in a moment.
Let us consider the register button fast. When clicked, the folowing action listener runs to open
the registration form.
sig.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent f){
sigActionPerformed(f);
}});
private void sigActionPerformed(java.awt.event.ActionEvent e){
25
registry nell=new registry();
nell.setVisible(true);
nell.setSize(900,600);
rvpage.this.dispose();
rvpage.this.setVisible(false);
The registration form.
Figure 4 5Voter registration Form
Voter’s credentials are entered. The REGISTER button has an sql querry that fils these
credentials in the Register table.
26
try{
Class.forName("com.mysql.jdbc.Driver");
String host="jdbc:mysql://localhost:3306/president";
String uName="root";
String uPass="";
Connection con=DriverManager.getConnection(host,uName,uPass);
Statement stmt=con.createStatement();
String nel;
nel = ("INSERT INTO
registry(First_name,Second_name,Gender,Age,Email,RegNo,Year_of_study,Hostel,Username,P
assword)
values('"+tfname.getText()+"','"+tsname.getText()+"','"+sex.getSelectedItem()+"','"+ag.getText()
+"','"+emal.getText()+"','"+reg.getText()+"','"+yos.getText()+"','"+hos.getSelectedItem()+"','"+us
e.getText()+"','"+pass.getText()+"')");
stmt.executeUpdate(nel);
catch(Exception r){
System.out.println(r.getMessage());
dis.setVisible(true);
JOptionPane.showMessageDialog(null,"Details submitted succesfully" );
27
NOTE: we will come back to the Administrator’s view votes details (View button), after
explainng the voting process.
The Voting process.
Voters fast interact with interface shown in figure 4.6. The Login button (in figure 4 5) opens
up an interface below for the voter ie. Student, to sign into the system by providing a username
and a password.
Figure 4 6 Voter Login Interface
The Login button on this interface leads to an interface containing buttons whose captions are
names of posts to be voted for. This interface is shown in Figure 4 7.
28
Figure 4 7 Posts Available for voting
When a button is clicked, a new interface with aspirants names and pictures pops up. For
example, when the button PRESIDENT is clicked, the following interface opens.
29
Figure 4 8 The President Interface
A voter is required to click the radio-button with the candidate’s name he/she wants. The VOTE
button submits the vote to the table president. This is the criteria for all the other posts.
Once a given post has been voted for by the voter, the buttons are rendered actionless hence
one cannot vote twice for a given post.
This applys the same to the Hostels representatives. Once you vote as a member of Kilimanjaro,
you cannot vote in another hostel.
This marks the end of voting. What remains is the work of the administrator to view results and
announce them.
30
Adminstrator’s view votes details (View button in figure 4 4).
On click, the view button opens the interface below.
Figure 4 9View general vote Information
On this interface, the admin can view the number of all voters, male voters, female voters and
fault votes. The button “SPECIFIC” leads to an interface that enables the admin to view votes
obtained by each aspirant at each field. This interface is shown in figure 4 10 below.
31
Figure 4 10 The Specific Votes interface
On-click of a button on the interface above, another interface for viewing aspirants and their
votes opens as depicted in figure 4 11 below.
32
Figure 4 11Specific Individual results
The last part of this system is the admin viewing names of aspirants with highest number. This
part is shown in figure 4 12.
33
Figure 4 12 Names of Winners In each post
On this figure, RESULTS button is programmed to return the names of aspirants who have won
the election.
This form is posted to the university website or printed for voters to view results.
34
5.0 CONCLUSION/RECOMMENDATION.
In respect to literatures that have been published about Manual, Online and E-
voting systems together with the views of the Maseno University comrades, we
recommend that:
Basing on Nitin Bhasin, too much paper work, errors during data entry and loss of
forms is too embarrassing to Maseno University, which is an IT Hub as it offers all
its courses with IT. Therefore, this system needs to be integrated to the students’
portal to enhance E-voting.
To instill trust and good attitude to SOMU election results, the number of data
handlers should be reduced to an ever possible minimum value. We therefore
recommend a system that will be handled by one administrator for data entry and
authentication and authorization of voters only. The system should be able to do
automatic tallying. This is the E-voting system.
35
36