Вы находитесь на странице: 1из 14

See discussions, stats, and author profiles for this publication at: https://www.researchgate.


Design and Implementation of online voting system with ASP.NET and C#

Chapter · November 2017


0 5,772

1 author:

Muhammad Ubale Kiru

Universiti Sains Malaysia


Some of the authors of this publication are also working on these related projects:

Threat Profiling sources for Identifying Threat Actor View project

How we can make smartphones less distractive View project

All content following this page was uploaded by Muhammad Ubale Kiru on 23 July 2018.

The user has requested enhancement of the downloaded file.

Design and Implementation of online voting system with
ASP.NET and C#
Muhammad Ubale Kiru
Research Scholar Lovely Professional University

Voting as we all know is often associated with politics and is done more often using the
manual approach where voters queue up to vote for their choices. Manual voting without
any doubt exhibits chances of voting malpractices and other negative vices. Those and
many other reasons triggered the need to shift from the manual voting system to a more
sophisticated digitalized voting platform. Today, voting does not only stops at politics but
also extends to other areas of human endeavours such as entertainment, sports, business,
Student unions, classrooms, fashion and style and so on and so forth. The need to migrate
from manual voting system to digital voting system has brought about efficiency, free and
fair election and as well as time utilisation. Today, several digital voting systems are
designed all over the world to suit different users' requirements and needs. Most recently,
an unlimited number of online voting systems are available on different platforms which
give the users the autonomy to manipulate them to their satisfaction. But, one important
thing is that majority of them are vendor proprietary, meaning, they serve only one
purpose or two. Which is why we take it as our responsibility to design a new online
voting system which is multi-dimensional in nature, and which would allow both the
users and vendors to create their different categories of voting. In order to achieve that, we
implemented this system using ASP.NET and C# for designing the admin layer as well as
the client layer. While in the database side, we used Microsoft SQL Server 2013 for
hosting the datasets.

1.0. Introduction
1.1. Profile of The Problem
Voting is a man-made phenomenon which resolves the conflict of choices between two or
more entities in real life. The ability to vote for an entity got its origin when Man feels he
has choices to make as to who or what he desires. For more than hundred years ago people
had the idea of voting people to fit certain positions or designations or to even represent
them in some aspects of life. Till that time voting was done manually. Meanwhile, voting
is often done by manually selecting a contender due to certain characteristics that he or
she may possess. But voting manually has posed so many challenges ranging from
missing votes, voting malpractices, election rigging, the use of ballot papers which in a
way slows down the voting process. For a country like India where recently waste papers
are considered to be accumulating waste in the environment, and making it difficult to do
away with dirt around. The need to stop using manual voting has to definitely arise.
However, even with the advent of digital voting which has recently occupied our
cyberspace, the need to improve the existing ones is very important. Although, not much
of online voting systems are available on websites, yet the ones available are much likely
restricting the users from manipulating them to their satisfaction. Most of the recently
invented online voting systems are actually vendor specific; vendor specific in the sense

that, they are purposely designed to cater for special needs, most of which provide a single
or two categories of voting. Meaning, they only handle one or two types of voting.
Possibly, group elections, or school union elections or maybe both.

Thus, in order to tackle this problem of monopoly, we come up with the idea to invent a
special multi-purpose platform which would put together all forms of online voting in one
place and allows the targeted audience to conduct all forms of voting. These includes
voting in a different hemisphere of life such as sports, entertainment, TV show and reality
shows, beauty contests, students union elections, Management board of directors and
many others.

1.2. The need for a system

Considering the fact that the world is dramatically accepting this so-called trend called
Digitalization. It is very important to help people achieve their dreams. What got us
motivated is the fact that the world is gradually accepting democracy, and democracy
does not only confine itself to politics but also spreads itself beyond politics down to our
daily activities. However, the growth of sports, entertainment, fashion and design
industry, such as movies, football, crickets, and thousands of activities; it is also
paramount that technologies are improved so that it can cater for the needs of people.
More than hundreds and thousands of awards are given every year based on certain
criteria and achievements scored by people in various fields of life. Which is why we feel
we can contribute our quota towards shaping the ethics of voting people for recognition of
their personal performances. And so, online voting is the only platform that encourages
free and fair voting. But only free and fair, but it would also allow the millions of
spectators around the world to participate in honouring their favourite choices.

Furthermore, it is quite obvious that every project has a major significance attached to it,
without which no project. As a team, our foremost objective is to produce a system which
brings something much better to the IT industry, thereby adopting new technologies and
strategies and implementing them towards creating an efficient as well as scalable
platform, which is secured, multi-dimensional, easy to use as well as universal. Our
second motif is to produce a system that could bring ease to the users. By ease we mean, a
system that is so simple in managing, so flexible and easily learned and at the same time
achieving our goal of making the system accessible by everyone regardless of their age or
social status or even knowledge. This would help users with less expertise on how to use
online voting systems to have easy access to our platform.

Another significance is to transform online voting to the next level. By this we mean,
giving the users a new look, new methods, as well as freedom to access it to their very
best. And in order to achieve that, we provide an option which gives the user or vendor the
autonomy to customize his or her voting categories, to enable users to vote for different
contenders within a single platform. In addition, we decided to undertake this project so
that it serves as an avenue for us as students to have an in-depth knowledge of the
technologies being used and to energize us towards putting efforts to passing same
knowledge to our immediate community members who have the same zeal and dream.

1.3. The Existing systems

Our critical scrutiny and analysis on the existing systems proved that most of the systems
are lacking in one of the following ways:

a. As we have stressed in the above points that, most of the online voting systems that we
have available today are only able to accommodate one task at a time. Meanwhile, users
cannot vote in more than one category. For example, the majority of them are concern
with general elections or State elections.

b. The majority of them are controlled by government bodies which make them more
vulnerable to rigging. And criticisms are not welcomed. Hence, there is less or no concern
for autonomy and freedom of choice.

c. Another observation made is that most of this online voting website have made their
page a little bit complex, therefore, making it difficult for a beginner to have access to
them quickly. For instance, their 'sign up pages' are having difficult requirements to fill in.

d. With the spread of mobile and portable devices, many users tend to use their handheld
devices to access those sites. But the point to note here is that most of the sites are not
using technologies that support mobile and other handheld devices. Which we are sure if
they incorporate such technologies that support mobile, then, they would have been much
friendlier to the users.

e. With the high demand for data today, there is a need for the sites to allow users to leave
comments with regards to why they are voting for a particular contender and not the other.
This system would give the event organisers or the vendors some idea with regards to
which criteria the voters are considering when given their votes to the contenders.
However, this same information is usually sold at a very good price for other purposes.

1.4. The Current system

The present system possesses a number of new features which make it unique and
different from the existing system. The following features are present in the current

a. This system introduces a platform which put together different voting categories under
one umbrella, which allows multiple users from different remote locations to
simultaneously access it and be able to cast their votes to their favorite contenders.
However, under the option known as “Voting Category” a user can view as many
categories as possible.

b. This system also introduces an interface which allows vendors and clients to post
advertisements for their upcoming events. Or they can use the same interface to advertise
their goods and services which in a way serves as a means of generating income.

c. This system also gives the voters an autonomy of voting, free from interference, which
makes our project independent from any external influence or control which may lead to

d. This system also gives the voters an everlasting privilege of posting their comments
against or for the person they voted for. These comments are stored for research purposes
in case the need arises.

e. This system introduces a very simple Graphical User Interface (GUI) which is simple,
easy, friendly and easily learnable. This feature makes it easier for our clients and users to
access the portal without having wasted their time, energy and resources.

f. This system still introduces a system which ensures that all kind of devices ranging
from handheld devices, laptops and any kind of browser are compatible with the system
and are capable of accessing our site. This technology allows the interface to shrink in or
out depending on the type of devices that is used in accessing the site.


As for the scope of this literature review, we were able to engage in using about ten
different samples of online voting systems. But we have chosen to explore only a few of
them. To start this analysis let's take a review of Simply Voting. Simply Voting system is a
full-time online voting service provider purposely design to host simple elections. It was
launched in 2003 and majority of its client are university students. It is said to have have
over 1000 organizations from 48 countries which lean on it for electoral services. SV has
a simple home page which contains a small Menu bar which if clicked throws some
options within which you find internet voting which if selected would take you to the
main voting section. This voting interface allows the user to create an account and then
later used same credentials to log in. The User account allows the user to create election
name and then add as many options elections as possible. But one weakness SV possesses
is that it does not allow the user to create election start date, election end date, the names of
the contenders, or any information that could help in identifying the participants.
However, it is vividly clear that the system in question does not undergo a proper
maintenance as we have confirmed from the hosting vendor. Investigation proves that the
last date it was updated was September. 2009.

Election Buddy is another online voting platform that is designed by EventIQ. They
provide their services to their immediate communities. Based on our observations,
Election Buddy is characterised by a single interface which allows the users to vote only
one type of category at a given period of time. No multiple categories are allowed for
users. Hence, the system at first allows the users to create accounts and then reconnect
them to a separate page where the user is expected to fill his voting request, in other
words, his voting list. However, after creating the voting category, the system then
furthers it request to the user to create a ballot design. And under this ballot design, the
user is required to put down a design of options, requirements and so many other options
which are unnecessary. By making the design complex to the user, the system violates one
of the principles ISO 9126 which states that software should be usable and learnable. As
such, it makes it difficult for some users to be able to design the ballot and of course to
proceed to the voting area. All indications prove that the system is out of date as it was last
updated in June 2014. However, above reasons and many other reasons called for the
reinvention of some system much better and efficient to satisfy users' needs.

Next is Doodle, Doodle seems at first like a voting system but when carefully analysed
you would realise that it's just a polling webpage, where people invite other people to
participate in polling. And based on our understanding, we have unanimously agreed that
it cannot be called an online voting system.

Our next literature on the list is Helios Voting. Helios Voting is a non-partisan
organization led by one Ben Adida. It is a multi-purpose platform that allows voting as
well as passing referendum. The voting section only allows the users to create a single
voting list for the audiences to vote for their favourites. While in the other hand,
referendum allows the intended target audiences to vote for referendum of any format.
Generally speaking, the interface does not conform to the standards of quality as
prescribed by Quality Assurance characteristics.

3.1. Product Definition
The platform is designed to provide a single platform which can provide as many
activities as possible. Within a single dashboard interface, multiple users can create
multiple voting categories as well as cast their votes online into different predefined
categories. The system is categorized into five sections/areas, the administrative area, the
vendor/make voting list area, my votes, voting category/user area, and about page
respectively. The Admin being the manager of the portal is having total control and
autonomy on managing both the activities of the vendors as well as the users. The admin
can approve all voting requests coming from the vendors in order for voting to begin. One
constraint at the admin part is that, the admin cannot have the privilege to temper with the
votes cast. Meanwhile, he can only see results of a given vote or view histories of users
who voted, and indeed a number of users who cast votes on their favourite contenders.

The Vendor sections/voting list area gives any interested party either a company,
individuals or group the capacity to put a request to create voting categories and its
contender lists. Until and unless the Admin approves the voting category(s), the vendor(s)
has to wait for the admin's approval. Later, on when approval is given, only then voting
can begin. The vendor has the privilege to see who wins at the end of every voting process,
also has the right to cast vote if need be. Any legitimate user with proper credentials
regardless of his or her age can sign up and cast vote. Guest users are intended to log in
through the login environment by supplying username and password. After which they
can advance ahead to the voting categories where we have the different categories as
created by the vendors. Every user is entitled to only single vote, meaning no user can cast
multiple votes. The user at the end of the voting process can login again and check for
voting results or voting history.

3.2. Software and Hardware requirements

This brings us into understanding the entire system requirement analysis. During a
system development process, a blueprint of system's requirements will be created to
describe the following:

3.2.1. User Requirements

So in user requirement analysis, we are talking about what actually the user needs to
accomplish with the system. However, this is intended to fill the gaps which were missing
in many other online voting systems. Here are what is expected to accomplish:

a. Users should be able to sign up and login into the system for them to be able to use it.

b. Users should be able to learn and understand the interface as part of the fulfilment of
ISO 9126 which chooses simplicity and learnability as features for good system.

c. Users should be able to create their voting categories from multiple categories

d. Users should be able to log in and cast their votes to their favorite contenders.

e. Users should be able to view their voting results as soon as the voting ends.

3.2.2. Functional Requirements
The International Institute of Business Analysis (IIBA) defines functional requirements
as the product capabilities or things that a product must do for its users. The following are
the expected outcomes from the system:

a. The system should be able to allow access to all authenticated users and deny access to
all illegitimate users.

b. The system should be able to detect wrong login credentials from corrects ones.

c. The system should be able to detect those users who wish to cast vote more than once.

d. The system should be able to detect all conflicting names and categories in the

e. The system should be able to allocate votes to the respective contenders.

f. The system should be able to provide results for every voting process that takes place,
and be able to keep track of all voting records for as long as it takes

g. The system should be able to allow all authenticated remote access regardless of where
it comes from.

3.2.3. Non-Functional Requirements.

As defined again by the IIBA, non-functional requirements must include important
behavioural qualities that the system must have such as performance and usability.
Hence, as per as performance and usability are concern the following are taken into

a. The system should be able to run on PCs, tablets and handheld mobile devices.

b. The system should be able to support all browsers.

c. The system should have fault tolerance and a recovery mechanism which allows it to
recover from any unexpected crash.

d. Users' information will be secured and protected.

3.3. Specific Requirements

Table 1
Minimum hardware requirement
Processor Pentium Processor @ 1-GHz or higher
RAM 512MB or Higher
Disk Space 60GB or higher
Input Devices Mouse and Keyboard or Touch Screen
Output Devices LCD monitors or Surface Screen, No printer
Graphics Hardware VGA

Table 2
Minimum Software Requirement
Server-Side Descriptions
Front End Microsoft Windows ASP.NET with C# 2013.
Back End Microsoft SQL Server 2014.
Client-Side Descriptions
Operating System Windows XP or Higher.
Run Time Environment .Net Framework 3.5 or higher.
Web Browser Microsoft Internet Explorer 7.0 and above,
Mozilla Firefox 3.5 and above,
Google Chrome 1.0 and above.


4.1. Design
The system design phase is considered as one of the most critical and crucial stage of
software development. The design phase uses all our gathered requirements and
information which were created during the system analysis phase to transform them into a
blueprint for the future system. However, the design phase controls how the new system
will operate and determines the overall system architecture which comprises a set of
physical processing components, software, people, hardware, communication channels,
and the backend processing which if put together are hoping to fulfil the intended system
requirements as proposed by the initial or planned requirement. Hence, the design phase
has a bunch of activities that need to be put across in achieving a good design, namely:

a. The design architecture for the system

b. Making a desirable hardware and software selection
c. Designing input and output flow
d. Converting raw data into a physical model
e. Converting desired processes and actions into codes.

Amongst many other things, the design phase also includes how the system interacts with
other sub-systems, components and units. So in this project we use the following tools for
the design of our system:

a. Microsoft Visual Studio 2013

b. Microsoft SQL Server 2014
c. Microsoft Internet Information Services (IIS) Express
d. C# language library
e. Java scripting language library

4.2. Notation Design

Some selected interfaces from the client side. The user interaction environment is
designed based on how the users can easily manipulate the system without much
headache. A lot of things were put together in achieving the client side, amongst which are
the different HTML and WEB controls such as textboxes, labels, buttons, checkboxes,
DropDownLists, RadioButton. In the other hand, validation controls were also used to
achieve validation of the various signup and login pages and some textboxes as well. So
the following are the modules or pages that were created for the client side interaction:

4.2.1. Aboutpage.aspx
The above page allows the guest users and the legitimate users to read about the platform.
So it contains information regarding our aims, objectives, goals and our missions. (See
figure: 1)

4.2.2. Categories.aspx
The categories page allows the users to view the lists of voting categories available for
voting, inside which lies the lists of all the contenders for each category. (See figure: 2)

4.2.3. Login.apsx
The log in page in the face of entry to the secure environment where users can have access
to the voting interface. In contains two options, the username textbox and password
textbox then one Login button. (See figure 3)

4.2.4. Signup.aspx
The signup page is composed of a number of Web controls and validation controls, which
are used to take values from the user in preparation for allowing access to the platform. It
has textboxes like Name, email, password, address and a submit button. (See Figure 4)

4.2.5. Usernewvotelist.aspx
This page is an extraordinary page, it is composed of options which allow the vendors to
view the available voting categories and also serves as a point through which contender's
list is submitted.

4.3. Database Design

The database design is one of the delicate activities of the development of software.
Hence it occurs in two steps. We began by developing a logical database model which
describes data using a notation that corresponds to the data organization. In brief, this
database was designed using Microsoft SQL server 2014 with the help of relational model
approach. The following relational tables were designed to store the respective values as

4.3.1. Categorymaster.dbo
This relational table is responsible for storing of all the voting categories created by the
admin as per the request of the vendors. The following is the design structure (See Table

[Table 3]
Field Type Null
Id Numeric(18,0) No
CategoryName Varchar(1000) Yes
IsActive Bit Yes
4.3.2. Contendermaster.dbo
This relational table is responsible for storing of all the list of contenders created by the
vendor as per their request. The following is the design structure (See Table 4)

[Table 4]
Field Type Null
Id Numeric(18,0) No
VoteListId Numeric(18,0) Yes
Name Varchar(100) Yes
Description Varchar(1000) Yes
Image Image Yes
EntryDate Datetime Yes
4.3.3. Resultmaster.dbo
This relational table is responsible for storing the collated results of all the elections cast,
and then allow the system to retrieve them on demand. (See Table 5)

[Table 5]

4.3.4. Usermaster.dbo
User Master table contains the lists of all user accounts ever created in the system. It also
serves as a data source for authenticating user credentials. (See table 6)

[Table 6]
Field Type Null
Id Numeric(18,0) No
Name Varchar(100) Yes
Email Varchar(100) Yes
Contact Varchar(10) Yes
Pwd Varchar(100) Yes
Address Varchar(1000) Yes
IsActive Bit Yes
EntryDate Datetime Yes

4.4. Flowcharts Representation

4.5. DFD Representation

As at now, the project is considered complete and working efficiently without any
problem. As mentioned above, the project has been hosted and it is being visited by users
at votemychoice.in. Nevertheless, our concerns are still on the assertion that we need to
improve it a little more due to the fact that it was developed within the period of two
months. Of course if a lot of time were to be given, then, we would have done something
much better than the current project. Though, we don't mean to say that the project is not
good, but rather should be developed to reach all certain level standards as per the
expectations of the users.

5.1. Remaining areas of concern
Well, remaining areas of concern are actually not yet fully decided. Although during the
testing phase we observed some things that need to improve in the future. This is due to
growth of users and level of access daily after day. We have out listed some areas of
utmost concern, and they are as follows:

a. There is need to improve security. This is because we are dealing with people's
information and therefore if their choices become vulnerable then we might lose our
chances of progressing ahead.

b. Then second is that, there is need to improve some functionalities such as more options
like timing. Because now we are only able to use calendar for creating voting list,
meanwhile time needs to be included.

c. We also feel if users are growing faster as anticipated then we will introduce a mobile
Android app which would be linked to this system so that Android users can access the
site from their Android app.

d. Next in our agenda is, if opportunities warrants there need to move to .com platform
rather than .in. By doing so, the site will have more recognition as well as global access.
Unlike now, it might not have that much of global recognition due to that reason.

e. On this current system, two kinds of users are to access the system, that is, the user who
comes to vote and vendor who comes to create voting list. So in the future we hope to
separate the two users, by given each side its own sign-up page and log in page separately.
This will create a demarcation between both users, and at the same time will enhance

5.2. Future of the Project

Well, the future of this project lies in the hand of our users. Although we also have a part to
play. This is through enhancing the features of this system by introducing concepts and
functionalities which are trending with other systems. However, maintenance is the most
important thing that determines the future of a software. By constant maintenance,
debugging and providing security checks we hope the system should be able to survive
those future challenges. One most important thing is that if this project is able to be
adopted by the government and private sectors for election purpose, then it is going to be a
remarkable achievement for the system as well as the team. This is why we hope to re-
introduce the idea of using online voting system through campaign and promos to
enlighten the general public on the importance of digitalizing elections and all forms of
voting for the betterment of the people, security, and fairness.


Ÿ Andrew Forward, Software Documentation – Building Maintaining Artefacts of

communication. Ottawa-Carleton Institute for Computer Science.

Ÿ Asp SQL Code Examples. (n.d.). Retrieved April 25, 2016, from

Ÿ A S P. N E T 4 T u t o r i a l . ( n . d . ) . R e t r i e v e d A p r i l 2 5 , 2 0 1 6 , f r o m

Ÿ ASP.NET tutorial for beginners. (n.d.). Retrieved April 25, 2016, from

Ÿ Bob Hughes, Mike Cotterell, Rajib Mall. (2013) Software Project Management. 5th
Ed. Published by McGraw-Hill Education (India) Private Limited.

Ÿ C# tutorial for beginners. (n.d.). Retrieved April 25, 2016, from


Ÿ Christian D., Wyatt B., Build your own ASP.NET Website 4th Ed. Published by
SitePoint. Retrieved on 23/3/16 from www.it-ebooks.info

Ÿ CodeProject - For those who code. (n.d.). Retrieved April 25, 2016, from

Ÿ Dennis, Wixom, Roth, System Analysis and Design. 5th Ed. Published by John Wiley
& Sons, Inc.

Ÿ Donal O’Connor, An Embedded Automotive Monitoring device: Final year Project

Report. Archived by Cork Institute of Technology.

Ÿ Dr. Ghazy Assassa, Software Engineering Test Cases Template and Examples.
Retrieved on 20/4/16 from http://snapcrab.com/archives

Ÿ Final Year Projects, IEEE 2013 DOTNET Projects List - Madurai. (n.d.). Retrieved
April 25, 2016, from http://www.pandianss.com/academy/projects/IEEE2013-

Ÿ Free Download Edraw Max Pro. (n.d.). Retrieved April 25, 2016, from

Ÿ Gantt Chart plan produced by Smartsheet. Retrieved on 20 April 2016 from


Ÿ IEEE, Test Plan Outline (IEEE 829 Format). Prepared by Systeme Evolution Limited.
Retrieved on 23rd April 2016 from www.ieee.org/standards

Ÿ James Rumbaugh, Ivar Jacobson, The Unified Modelling Language Reference

Manual. 2nd Ed. Published by Addison-Wesley Pearson Education, Inc. 75 Arlington
Street, Suite 300.

Ÿ Jeff Martin, Richard Banks, Visual Studio 2013 cook book. A publication by PACKT
publishing enterprise. Birmingham- Mumbai.

Ÿ Joseph S., Joey F., Jeffrey A. Essential of System Analysis and Design. Published by
Pearson Education, Inc. United States of America.

Ÿ MacDonald, Freeman, Szpuszta. (2013). Pro ASP DOT NET 4 in C# 2010. 4th Ed.
Published by Apress, Berkeley, California, USA.

Ÿ Mark Buluma, ABC Hotel Management System. Capstone report for fulfulment of
degree. Submitted to Kenya National Examination Council on October 2009.

Ÿ Shelly, Rosenblatt, Systems Analysis and Design. 9th Ed. Published by Course
Technology, Cengage Learning. United States of America.

Ÿ TEMPLATED. (n.d.). Retrieved April 25, 2016, from http://templated.co/

View publication stats