0% found this document useful (0 votes)
155 views22 pages

Database and Programming Practicum Org

The document describes a proposed digital voting process system that would allow voters to cast their votes using smartphones or digital voting machines in order to reduce costs, cut down queues, and increase security over the current paper ballot system. It outlines the objectives, scope, and technical requirements of the proposed system, which would be developed using C++ and involve a login process where voters input their ID before being able to access the candidate list and cast their digital vote.

Uploaded by

Marvin Wanyiri
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
0% found this document useful (0 votes)
155 views22 pages

Database and Programming Practicum Org

The document describes a proposed digital voting process system that would allow voters to cast their votes using smartphones or digital voting machines in order to reduce costs, cut down queues, and increase security over the current paper ballot system. It outlines the objectives, scope, and technical requirements of the proposed system, which would be developed using C++ and involve a login process where voters input their ID before being able to access the candidate list and cast their digital vote.

Uploaded by

Marvin Wanyiri
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 22

DATABASE AND PROGRAMMING PRACTICUM

DIGITAL VOTING PROCESS SYSTEM


NAME: : Wanyiri Marvin Murage
REGISTRATION NO : SC201_1014_2019
PROGRAM : BSc. Computer Technology
UNIT CODE : SCS 203

1|Page
ABSTRACT
In the year 2020, the government of Kenya through the Independent Electoral and Boundaries
Commission (IEBC) body affirmed that a national election costs a whooping Kshs.7B. In
consideration with the advancement in technology in the world we are living in, I’d consider
this an unsorted technological problem hence the idea of the digital voting process system.
(DVPS)

So, what is DVPS? This is basically a system that I’m hoping will improve the electoral process by
a noticeable margin as it involves a digitalized and a more secured voting process at the palm of
your hand in the most cases or a closely improvised one, by which I mean everyone will manage
to vote without necessarily going to make large queues awaiting for their turn under the
scorching sun or cold weather. This project is also aimed at cutting down the cost and time
currently consumed.

ACKNOWLEDGEMENTS
In the present world of competition there is a race of existence in which those who are having
the will to come forward succeed. A project is like a bridge between theoretical and practical
working. It is with this such will that I’m motivated to work on this particular project.

First of all, I would like to thank the supreme power the Almighty God who is obviously the one
has always guided me to work on the right path of life. Without His grace this project can never
become a reality. Next to him are my parents, whom I am greatly indebted for bringing me up
with love and encouragement to this stage. I am feeling oblinged in taking the opportunity to
convey my sincere thanks to my worthy Database and Programming Practicum lecturer Mr.
Tirus and all the staff members of Computer Department for being the inspiration and
foundation for this project.

Lastly but not the least I am thankful to all my friends who have been always bringing up ideas
towards an accomplished project. Their ideas and suggestions helped me get to a manuscript
that made me say, “Yes, it’s finally a project!” I have no valuable words to express my thanks,
but my heart is still full of favors received from every person. I want to give a shout-out to all
the people who were involved in one way or the other.

2|Page
Table Of Contents
Abstract…………………………………………………………………………………………….. 2

Acknowledgement…………………………………………………………………………….. 2

CHAPTER 1…………………………………………………………………………………………. 5

INTRODUCTION
1.1 Background…………………………………………………………………………………………………….. 5

1.2 Objective………………………………………………………………………………………………….………. 5

1.3 Project Scope……………………………………………………………………………………………………. 6

1.4 Purpose………………………………………………………………………………………………………. 6

1.5 Applicability……………………………………………………………………………………………….. 7

CHAPTER 2…………………………………………………………………………………………… 8
SURVEY OF TECHNOLOGY

Technology Used :C++……………………………………………………………………………. 8

CHAPTER 3…………………………………………………………………………………………….9

REQUIREMENTS AND ANALYSIS

1.1 Software Requirements…………………………………………………………………… 9

1.2 Hardware Requirements…………………………………………………………………..9

CHAPTER 4…………………………………………………………………………………………….. 10

IMPLEMENTATION AND TESTING

1.1 Conceptual Model…………………………………………………………………………… 10

1.2.1 Conceptual Model Explanation…………………………………………………….. 11

1.2 Coding Details And Efficiency………………………………………………………….. 12

3|Page
1.2.1 Login Code…………………………………………………………………………….. 12

1.2.2 Login Output……………………………………………………………………… 14

1.2.3 Voting Code………………………………………………………………………. 15

1.2.4 Voting Output…………………………………………………………………… 17

1.3 Security Issues………………………………………………………………………………. 21

CHAPTER 5………………………………………………………………………………………….. 22

1.1 Conclusion……………………………………………………………………………………. 22

4|Page
DIGITAL VOTING SYSTEM

CHAPTER ONE
Background
Digital voting system is an automated means of carrying out election process. The main
intention of this system is to provide voters with a more efficient, time independent and saving
mechanism of carrying out their national right by casting their votes.

The current voting process is a process that is faced by several cons which include cases of vote
theft, lack of enough voting papers, prone to adverse weather conditions and so many other.
The process also involves a lot of paperwork that potentially leads to monotony of work
resulting to boredom. In addition there’s time consumption and too much cost.

Digital Voting Process is a system that aims at solving most of these problems by converting the
whole process into machine enable.

5|Page
Objectives
The objectives of digital voting system are to make the voting process as simple, easy and
quick to understand as possible.

On the issue of voters making large queues awaiting their turn to cast votes, this system will
now enable each voter to carry out the voting process comfortably through their smartphones.
For those who do not have smartphones, digital voting system gadgets can be equipped in
secured places along the shopping centers and ensure each one of them serve a small
geographical area so that in return serve favorable low number of people.

The digital voting system is also set to reduce the amount of paper work involved in the current
voting process. This is made possible in the fact that the whole process is digitalized starting
from the casting of votes to counting and sorting. This will thereby reduce amount of human
labor involved in the whole process hence cutting down the cost. The issue of damaged votes
has also been catered for in this system.

The issue of theft of votes that commonly arises leading to post election violence has been
completely addressed by this system in that the whole process is being carried out by the
computer therefore no human errors are set to be experienced and hence there’s a guarantee
of a free and fair election.

Purpose, Scope And Applicability


Purpose
This is a computerized voting process that will digitalize all the voting process. All member
candidates will be displayed depending on a voters registered location. The voting shall involve
ticking one’s favorable candidate and the system will automatically send the results to the main
system for a digitalized tally and sorting.

6|Page
Scope
The methodology used in this project was observation of the current process and highlighting
all the issues affecting it and can be solved through technology.

The assumption involved is that every voter’s details has been initially recorded and verified as
a voter hence while voting will only be required to input their national identification number as
password.

The limitation of this project is that not everyone has access to smartphones and the
improvised gadgets may be prone to theft or damage since it is freely available to the public
especially during election period.

The project has covered the issues of large amount of paper works, insecurity in vote tallying,
tedious voting process, low voter turnout and several other issues that face the current
process.

Applicability
The digital voting system provides an efficient way of casting votes and carrying out the whole
election process. It provides a secured mechanism to the voter and also confidence of a free
and fair election.

The application will be of use to all areas that carry out elections especially those that involve
large number of voters, the greatest of them being the national election.

The digital voting will prove to be an efficient method of automatically casting votes, summing
them up and sorting them in order and by percentage.

7|Page
CHAPTER TWO

Survey Of Technology
C++ is a programming language, which has imperative and object-oriented features. It is also
referred to as middle-level programming language. It is compiled, general-purpose, statically
typed, case sensitive and free-form programming language. It supports procedural, object-
oriented and generic programming. It is having a rich standard library with a rich set of
functions manipulating files and methods manipulating data structures etc.

C++ is widely used among the programmers or developers mainly in an application domain. It
contains the important parts including the core language providing all the required building
blocks including variable, data types, literals, etc. It supports object-oriented programming
including its features like Inheritance, Polymorphism, Encapsulation, and Abstraction. These
concepts make the C++ language different and mostly in use for developing the applications
easily and conceptualized.

Even though Java and Python may have been an option, they have some complexities. For
instance, Python has some major limitations. The main disadvantages of python are its
slowness during execution, difficulty in switching to another language, weak in mobile
application development, high memory consumption, and less popularity in the enterprice
development sector.

As for Java it’s slow and has poor performance, it is memory consuming and significantly slower
than C++. Hence, my decision to use C++ for this project.

8|Page
CHAPTER THREE
Requirements
Software Requirements
1. Pentium 200-MHz computer with a minimum of 64 MB of RAM (128 MB of RAM
recommended).

2. Linux 7.1 or Windows XP/7/8 operating system

3. Dev-C++ IDE

4. Microsoft Notepad or any other text editor

5. Core i3 Processor (minimum)

Hardware Requirements
1. Processor 64bit, 2.5GHz core
2. At least 4GB of RAM
3. Hard Disk, 500GB and above

9|Page
CHAPTER FOUR
Conceptual Model

Start

Input Your Name And Identification Number (ID)

NOT REGISTERED REGISTERED

NOT ALLWED TO
Click here to get the list of the
VOTE
candidates. Tick your favorable
candidate.

Submit

10 | P a g e
Conceptual Model Explanation
Once the voter clicks the start button from the application, he/she will be required to input
their name and identification number which will serve as the password. The system will
immediately check and authenticate the details. If there is no records of such inputs in the
registered voters’ records, a message box of “not registered” will appear on the screen and if
the login inputs are found in the system, the voter will be verified and allowed to proceed and
cast his/her votes.

11 | P a g e
Coding Details And Code Efficiency
Login Code

12 | P a g e
13 | P a g e
Login Output

14 | P a g e
Voting code

15 | P a g e
16 | P a g e
Voting Process Output

17 | P a g e
More Code Details
#include <iostream>
using namespace std;
class Election
{
int sb = 0, count[5] = {0};
public:
Election()
{
cout<<"\t\\tElection";
cout<<"\nPress 1 to vote for candidate 1";
cout<<"\nPress 2 to vote for candidate 2";
cout<<"\nPress 3 to vote for candidate 3";
cout<<"\nPress 4 to vote for candidate 4";
cout<<"\nPress 5 to vote for candidate 5";
cout<<"\nPress 6 to vote for candidate 6"<<
endl;
}
void castVote()
18 | P a g e
{
int vote;
cout << "\nPlease cast your vote:";
cin>> vote;
if (vote >= 1 && vote <= 6)
count [vote - 1]++;
else
sb++;
}
void electionResults()
{
cout << "\n\t\t\tElection Results" <<endl;
for (int i = 0; i < 5; i++)
cout << "\nCandidate" << i + 1<< " got " << count [i]
<< "votes.";
cout<<"\n\nSpoilt Ballots:" << sb << endl;
}
};

19 | P a g e
int main()
{
char choice;
Election ele;
do
{
ele.castVote();
cout << "Anyone left?(y/n):";
cin>> choice;
} while(toupper(choice)=='Y');
ele.electionResults();
return 0;

20 | P a g e
Security Issues
The issue of security was a major factor in the establishment of this system considering the fact
that it’s a system that intends to do away with interference of election votes tally.

In that regard, the system is well equipped with a secured login by by requesting input of
identification number to avoid cases of unregistered and unqualified voters. The system has
also been given special status of confidentiality in the database to avoid the possible invasion
that could otherwise lead to falsified end results.

21 | P a g e
CHAPTER FIVE
Conclusion
The digital voting system is implemented to bring about a positive change in the
Electoral process. It is a system that is going to ensure efficiency and accuracy as well as speed
in caring out the voting process. The system is not prone to most of the problems that face the
current system and most importantly, the voters have been provide with the best platform that
will not dictate the location or time of voting. It is with total confidence that I believe this
system will serve the intended purpose better and efficiently.

22 | P a g e

You might also like