1 - Updated - FINAL SUBMITTION

Download as pdf or txt
Download as pdf or txt
You are on page 1of 100

ONLINE E-VOTING SYSTEM

Submitted in partial fulfillment of the requirements for the award of Bachelor of


science Degree in Computer Science

By

KISHOORE.S

(Reg. No.38290040)

VARUN KUMAR.S

(Reg. No. 38290098)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING


SCHOOL OF COMPUTING

SATHYABAMA
INSTITUTE OF SCIENCE AND TECHNOLOGY
JEPPIAAR NAGAR, RAJIV GANDHI SALAI,
CHENNAI – 600119, TAMILNADU

APRIL 2020
MADHUSUDAN DAS DEGREE COLLEGE
ASURAN , GORAKHPUR , UTTAR PRADESH -273001

This is to certify that the project work entitled

CERTIFICATE
This is to certify that the project “ONLINE VOTING SYSTEM” Which
is being submitted MADHUSUDAN DAS DEGREE COLLEGE,
ASURAN , GORAKHPUR, UTTAR PRADESH , 273001.
In Department of Computer Science. Is the record of their own work an is
submitted in the partial fulfillment of the requirement for the award of

Bachelor of Computer Application

By

MADHUSUDAN DAS DEGREE COLLEGE

during the

Academic Session -2024-25

Signature Signature Signature


(H.O.D.) Project Guide External Examiner
ACKNOWLEDGEMENT

It is great pleasure to present this report on the project name “ONLINE


VOTING SYSTEM.” Understand by me as part of my BCA curriculum.
It is a pleasure find ourselves penning down of this line to express our
sincere thanks to the people who help us along the way in completing our
project. We find inadequate word to expresser sincere gratitude toward
them.
First and foremost we would like to express our gratitude toward our
project guide MR. ANURANJAN SRIVASTAVA for placing complete
faith and confidence in our ability to carry this project and for providing
us her time, inspiration , help, valuable guidance, constructive criticism
and constant interest. He took personal interest in spite of our numerous
commitments and busy schedule to help us complete this project . Without
the sincere and honest guidance of our respected project guide we would
have not been to reach the present stage.
We are also thankful to Mr. Anuranjan Srivastava (HOD) for the support
in guiding us and giving us the right direction every time we need.

RAVI NISHAD
(2414057180017)
ABSTRACT

This is a project report on “ONLINE VOTING SYSTEM.” During the


developing of this project we explored new idea and functionality behind
working on a notepad.
This project is the output of our planning, scheduling , programming
skill, and hard work and this report reflect our step taken at various level
of programming skill, planning and schedule.
Our project is “ONLINE VOTING SYSTEM” is a website where user
can easily find PG as their requirement. Users have to create their
account, if they want to select their PGs. The admin can manage users,
and verify the PG details and update about the ability of the room in
PG.
The PG LIFE website is an innovative online platform design to
streamline and simplify the process of finding suitable student
accommodations particularly for users. This abstract provides an
overview of the website, its key features, it offer to its users.
So the development of a software application “ONLINE VOTING
SYSTEM” introduces the automation in the organization. This project
carried out as a partial fulfillment of the degree of BCA.

1
DECLARATION

We here by declare that the project “ONLINE VOTING SYSTEM” has


been conducted by us of at the “ MADHUSUDAN DAS DEGREE
COLLEGE” under the supervision and guidance of Mr. Anuranjan
Srivastava Assistant Professor of Department of Computer Science. This
project submitted to department of computer science. For the partial
fulfillment for award of the degree of BCA Final Year.

RAVI NISHAD
(2414057180017)

2
TABLE OF CONTENTS

Chapter TITLE Page


No.. No.
ABSTRACT 2
LIST OF ABBREVATION 4

1 INTRODUCTION 6

1.1 About The Project 7

1.2 System Specification 8

1.2.1 Hardware Configuration 8

1.2.2 Software Specification 8

1.2.3 Software Description 9

2 SYSTEM STUDY 14
2.1 Existing System 14
2.1.1 Drawbacks 14
2.2 Proposed System 15
2.2.1 Features 15
3 SYSTEM DESIGN AND 16
DEVELOPMENT
3.1 Input Design 16
3.2 Output Design 17
3.3 System Development 18
4 TESTING AND 20
IMPLEMENTATION
5 REFERENCES 23
APPENDICES 24
A. Tables 25

3
B. Data Flow Diagam 28

4
C. Coding 29

Sample souce code

D.Sample Screens 39

D1.Login form 39
D2.Registered form 40
D3.Category 41
D4.Candidate form 41-42
D5.Election List 44

5
LIST OF ABBREVIATIONS

PHP – Hyper Text Prepocessor

SQL _ Structured Query Language

HTML _ Hypertext Markup Language

XML _ Extensible Markup Language

RAM _ Random Access Memory

6
1. INTRODUCTION
The election process currently in College is a very tough process. The current existing
election voting System is conducted manually where the Voter has to Visit to Booths or
designed restricted area to Vote, so there is wastage of time and leads to delay of counting of
votes and because of the limited voting hours given, many people are left out without voting
their preferred leaders. It therefore leaves a very big margin of people who have not voted and
because of that the leaders deserving some sits tend to lose them.

In many a times in College election, majority of students do not vote because of the
long queues while voting because the perceived it as a wastage of time. The Election Voting
System also entails that, the voters have to be manually registered. Also Vote counting has to be
done manually by counting the votes cast. All the Information of the Voter or Candidate is to
be filling in manually and a voter must be present in campus to give his/her Vote during the
day of voting. Because of all these drawbacks, I have come with an idea of developing an
Online Module for Students Association of Leaders elections. This module will be simple,
attractive and easy to use. It reduces manual efforts and bulk of information can be handled
easily.

7
1.1 ABOUT THE PROJECT
Online Voting is a web-based voting system that will help you manage your elections
easily and securely. This voting system can be used for casting votes during the elections held
in colleges, etc. In this system the voter does not have to go to the polling booth to cast their
vote. They can use their personal computer to cast their votes. There is a database which is
maintained in which all the name of the voters with their complete information is stored. The
System Administrator registers the voters by simply filling a registration form to register the
voters.

Online E-voting System would have Candidate registration, document verification, auto-
generated User ID and pass for candidate and Voters. Admin Login which will be handled by
Election Commission .Candidate Login which will be handled By Candidate, Voters will get
Unique ID and Password, Using which they can vote for a Candidate only once per Election.
The project is beneficial for Election Commission, Voters as the can get to know the candidate
background and choose wisely, and even for Candidate. The software system allows the
Candidate to login in to their profiles and upload all their details including their previous
milestone onto the system. The admin can check each Candidate details and verify the
documents, only after verifying Candidate’s ID and Password will be generated, and can
remove faulty accounts.

The software system allows Voters to view a list of Candidates in their area. The admin
has overall rights over the system and can moderate and delete any details not pertaining to
Election Rules. After voting procedure is over, the votes counting procedure starts in manual
manner. The voter cannot change the candidate at the time of voting. The project “ONLINE
E- VOTING” is aimed to computerize the task involved in the voting process. This project
deals with the automation of various polling activities.

8
1.2 SYSTEM SPECIFICATION
1.2.1 Hardware Configuration
 Processor : I3
 Hard Disk Capacity : 400 GB
 RAM : 4.00 GB
 Monitor : 15” Color Monitor
 Keyboard : 102 Keys
 Mouse : 2 Buttons

1.2.2 Software Specification


 Operating System : Windows 7 Ultimate
 Front-End : PHP
 Back-End : MYSQL

9
1.2.3 Software Description
PHP is the web development language written by and for web developers. PHP stands
for PHP: Hypertext Pre-processor. The product was originally named Personal Home Page
Tools, and many people still think that’s what the acronym stands for, but as it expanded in
scope, a new and more appropriate name was selected by community vote. PHP is currently in
its sixth major rewrite, called PHP6 or just plain PHP.

INTRODUCTION OF PHP

PHP is a server-side scripting language, usually used to create web applications in


combination with a web server, such as Apache. PHP can also be used to create command-line
scripts akin to Perl or shell scripts, but such use is much less common than PHP’s use as a web
language. Strictly speaking, PHP has nothing to do with layout, events, on-the-fly Document
Object Model (DOM) manipulation, or really anything about the look and feel of a web page. In
fact, most of what PHP does is invisible to the end user. Someone looking at a PHP page will
not necessarily be able to tell that it was not written purely in Hypertext Markup Language
(HTML), because the result of PHP is usually HTML

When compared to many other programming languages, PHP makes it easy to develop
powerful web application quickly (this is a blessing and a curse). Many of the most useful
specific functions (such as those for opening a connection to an Oracle database or fetching
email from an Internet Message Access Protocol [IMAP] server) are predefined. Most
advanced PHP users (including most of the development team members) are diehard hand
coders.

PHP & MYSQL are also both stable in the sense of feature stability. Their respective
development teams have thus far enjoyed a clear vision of their project and refused to be
distracted by every new fad and ill-through-out user demand that comes along. Much of the
effort goes into incremental performance improvements, communicating with more major
database, or adding better OOP support.

10
PHP STRENGTHS

PHP has much strength, including the following:

 Performance
 Scalability
 Interfaces to many different database system
 Build-in libraries for many common web tasks
 Low cost
 Ease of learning and use
 Strong object oriented support
 Portability
 Flexibility of development approach
 Availability of source code
 Availability of support and documentation

NEW IN PHP

Major new features in PHP are as follows:

 Better object oriented support build around a completely new object model
 Exception for scalable, maintainable error handling
 Simple XML for easy handling of XML data

USES OF PHP

PHP is a general-purpose scripting language that is especially suited to server-side web


development, in which case PHP generally runs on a web server. Any PHP code in a requested
file is executed by the PHP runtime, usually to create dynamic web page content or dynamic
images used on websites or elsewhere.

11
FEATURES IN PHP

CLASSIFIEDS TOP FEATURES

 Open Source (Only one file encrypted)


 Nice layout from start.
 Unlimited level of categories.
 Unique Extra Fields that is also sort able.
 Large user community.
 Regions Module is included (using Ajax).

ADMIN AREA

 Unlimited extra field’s creation.


 Over 300 different settings in settings-area.
 User friendly installer
 Set up searchable fields from admin area
 Backup tool

GENERAL FEATURES

 Print functionality removes navigation.


 Picture gallery with only one image per user.
 Sort on all columns.
 Easy renew function
 Advanced search, different search-page for different categories (template fields)
 Translated to 11 languages

12
INTRODUCTION TO MYSQL

MYSQL is an open source, SQL relational database management system (RDBMS) that is
free for many uses (more detail on that later). Each in its history, MYSQL occasionally
faced opposition because of its lack of support for some core SQL constructs such as sub
selects and foreign keys. Ultimately, however MYSQL found a broad, enthusiastic user base for
its liberal licensing terms, perky performance, and ease of use. Its acceptance was aided in part
by the wide variety of other technologies such as PHP, Perl, Python, and the like that have
encouraged its use through stable, well
-documented modules and extensions. Databases are generally useful, perhaps the most
consistently useful family of software products (the “killer product”) in modern computing.
Like many competing products, both free and commercial, MYSQL isn’t a database until give
it some structure and form.

MYSQL STRENGTHS

MYSQL has much strength, including the following

 High performance
 Low cost
 Ease of configuring and learning
 Portability
 Availability of source code
 Availability of support

NEW IN MYSQL

Major changes introduced for MYSQL includes

 View
 Stored procedures
 Basic trigger support
 Cursor support

13
USES OF PHP AND MYSQL

When setting out to build a website and has different products

 Hardware for the web server


 An operating system
 A database management system
 A programming or scripting language

Some of these are dependent on the other, for example not all operating system run on all
hardware not all web servers support all programming language.

The majority of PHP code can be written to be portable between operating system and web
servers there are some PHP functions that specifically relate to the file system there are
operating system dependent.

14
2. SYSTEM STUDY

2.1 EXISTING SYSTEM


The present voting system in our institution is done using forms. It is difficult for the
voters to change the Candidate at the time of voting. It is difficult to track the registered voters
and the absentee voting. As all the operations are done manually, it requires huge time for
counting and publishing the result.

In the present system it is difficult to ensure privacy, security and accuracy. At the time
of voting, if a voter makes an incorrect choice, it is difficult to correct it. There is no guarantee
that all votes are counted. The process needs massive paper handling and create security
problem.

2.1.1 DRAWBACKS
 Everything is maintained in papers. Requires manual counting.
 Difficulty to enforce security during voting and counting
 Probabilities for errors occur while counting number of votes.
 Less reliability and no guarantee vote was counted.

15
2.2 PROPOSED SYSTEM
The proposed system is designed considering all the drawbacks listed in the existing
system. The system supports two groups of users, administrator and voters. Administrator has
the permission to create the contestant database and the voter database. Based on the
configuration, the voter can use the system for polling.

The system also maintains the voting status for each and every voter. Once voting is
completed by the user, the system will not allow again voting for that polling. If a voter makes
an incorrect choice, the system allows correcting it. The system can also be configured to
announce the results based on timer setting.

2.1.2FEATURES
 User friendly interface for polling.
 Creates a sense of security among voters
 Accurate results can be produced in quick time
 Avoid duplicate votes
 More reliable than the existing system
 Only registered voters are allowed to vote

16
3. SYSTEM DESIGN AND DEVELOPMENT

3.1 INPUT DESIGN


Input design is a part of overall system design, which requires careful attention. Input
of data is designed as user friendly and easier. Input design is the process of converting user-
originated inputs to a computer-based format. The objective of the input design is to create an
input layout that is easy to follow and prevent errors.

The process information is stored in for future use. The user should be search in his
related information only. The goal of designing input data is to make error free and user-
friendly.

The objectives in input design are:

 To produce a cost effective method of input.


 To achieve the highest possible level of accuracy.
 To ensure that the input is acceptable and
understood. The following are some description of the screen which gets
input from the user
LOGIN DETAILS
The login form enables both user and admin of the system. In login form, using
username and password the admin or the user can enter to the Home page.
REGISTRATION DETAILS
The registration form is used to store the user details like Username, Password,
Confirm Password and Email. By using the registered details the user can login with the help
of Username and Password.
CANDIDATE DETAILS
The Candidate form is used to store the candidate details like Candidate First name,
Last name, Candidate Position and Party name, Gender, Email, Major, Percentage, Candidate
Image and Elect.
VOTER DETAILS
The Voter form is used to store details of the voter details like Voter Id, Voter
Name

17
VOTING DETAILS
In this form, the voter has to choose the candidate which is visible under the table. The
table has candidate information like Candidate Id, Candidate Position and Party name of the
Candidate. This form has Voter Id and Candidate Id. By clicking the vote button after
selecting the Voter Id and Candidate Id then it stores the candidate details like Candidate Id,
Candidate position and Party name in voter table but the counts of vote in Candidate table.
3.2 OUTPUT DESIGN
Output design generally refers to the results and information that are generated by the
system for many end-users; output is the main reason for developing the system and the basis
on which they evaluate the usefulness of the application. In any system, the output design
determines the input to be given to the application.

The output is designed in such a way that it is attractive, convenient and


informative.Forms are designed in PH with various features, which make the console
output more pleasing.

As the outputs are the most important sources of information to the users, better design
should improve the system’s relationships with us and also will help in decision- making. Form
design elaborates the way output is presented and the layout available for capturing
information.

CANDIDATE DETAILS
In this form, admin can view the candidate details such as Candidate Id, Candidate
Name, Position and Party name, Gender, DOB, Email, Major, Percentage and Candidate
Image.
VOTER DETAILS
In this form, admin can view the voter details such as Id, Voter Id, Candidate Id, Voter
name, Position and Party name they selected.
RESULT ANALYSE
In this form, admin can view the entire candidate vote analyses include Candidate Id,

Candidate name, Party name of the Candidate and the counts of vote .

18
RESULT FORM

In this form, user can view the selected Candidate Id, Candidate Position and Party
name and Candidate Image after the pre-defined date and time.

3.3 SYSTEM
DEVELOPMENT
DESCRIPTION OF
MODULES
The project is designed modularly such a way that any new feature or enhancements
can be easily added to the system.

The online E-voting System consist the following modules.

1. Admin Module

2. Configuration Module

3. Voting Module

4. Timer Module

5. Report Module

Admin Module

This module takes care of proper authentication to use the system. There are two groups
of users allowed, administrator and voter. The administrator has the privilege to manage the
database of candidates and Voters.

Configuration Module

The administrator has the rights to configure the candidates of the election. The
administrator also has to create the voter database. The normal users for this system will only
have the option to vote.

19
Voting Module

This module takes care of the whole operation of polling. This module shows the list of
candidates contesting the election. User will be given options to change the decision at the time
of voting. This also ensures that there will not be any duplicate votes polled into the system.

Timer Module

The result of the polling can be viewed only after the configured timer interval. This
module takes care of declaring the result after the user configured time. The system will show
denial message if user attempt to see the result before the configured time.

Report Module

This presents the report of the election. It displays candidate names,


candidate id, number votes, etc. in well organized format. The reports can also be taken candidate
wise.

20
4 TESTING AND
IMPLEMENTATION
SYSTEM TESTING
Testing is an integral part of any system development life cycle. Insufficient and

untested applications may trend to crash and result in loss of economic and manpower

investment besides user’s dissatisfaction and downfall of reputation. Software testing can be

looked upon as one among the many process, an organization performs, and that provides

the last opportunity to correct any flaws in the developed system. Software testing

includes selecting test data that have more probability of giving errors. The first step in system

testing is to develop a plan that tests all aspects of the system. Completeness, correctness,

reliability and maintainability of the software are to be tested for the best quality assurance that

the system meets the specification and requirements for its intended use and performance.

System testing is the most useful practical process of executing a program with the implicit

intention of finding errors that

make the program fails.

System testing is done in three phases

 Unit testing

 Integration testing

 Validation testing

UNIT TESTING
The procedure level testing is made first. By giving improper inputs, the errors
occurred are noted and eliminated. Then the web form level testing is made. For example,
storage of data to the table in the correct manner.
In the organization as well as login form, the zero length username and password are
given and checked. Also the duplicate username is given and checked. In the login button will
send data to the server only if the client side validations are made.

21
INTEGRATION TESTING
Testing is done for each module. After testing all the modules, the modules are
integrated and testing of the final system is done with the test data, specially designed to show
that the system will operate successfully in all its aspects conditions. Thus the system testing is
a confirmation that all is correct and an opportunity to show the user that the system works.
In this project, the migration between each and every pages are tested successfully.
This testing process continued until satisfies the user requirement by integrate and test the
whole project. For example, after click the login button the home page must be open and
database connectivity also tested.
VALIDATION TESTING

The final step involves Validation testing, which determines whether the software
function as the user expected. The end-user rather than the system developer conduct this test
most software developers as a process called “Alpha and Beta Testing” to uncover that only
the end user seems able to find.
The compilation of the entire project is based on the full satisfaction of the end users.
In the project, validation testing is made in various forms. In login entry form, different
validations are made to make sure the user enters the valid input.

22
SYSTEM IMPLEMENTATION
Implementation is process of converting a new or revised system design into an
operational one. The first task is implementation planning that is deciding on the methods and
time scale to be adopted. The proper implementation involves conversion of existing clerical
files to computer media and hence these files as they are get converted. Then the actual
changeover from the existing system to the new system takes place.
The changeover plays a vital role, which checks the developed tool for the following
requirements, and then only the developed tool will be accepted by the users. The software has
been checked with sample data. The changes being made are as per the user requirements and
will run in parallel with the manual system to find out any discrepancies. The users also have
been apprised of the ways of handling the software, as a part of training the user personnel.
The implementation is the final stage and it is an important phase. It involves the
individual programming system testing, user training and the operational running of
developed proposed system that constitutes the application subsystems. On major task of
preparing for implementation is education of users, which would really have taken place much
earlier in the project when were being involved in the investigation and design work. The
implementation phase of software development is concerned with translating design
specifications into source code. The user tests the developed system and changes are made
according to their needs.

23
5.CONCLUSION
Online Election systems have many advantages over the traditional voting system.
Some of these advantages are less cost, faster generation results, easy accessibility, accuracy,
and low risk of human and mechanical errors. It is very difficult to develop e-voting system
which can allow security and privacy on the high level. Future development focused to design
a system which can be easy to use and will provide security and privacy of votes on acceptable
level by proper authentication and processing section. By online voting system percentage of
voting is increases and cost and time of voting process is decreases. It is easy to use and it is
less time consuming. It is very easy to debug.

24
BIBLIOGRAPHY

TEXTBOOK REFERENCES
1. Steve Suehring, Tim Converse and Joyce Park, “PHP6 and MYSQL bible”.
2.Somerville, “Software Engineering”, 5th Editions.
3.Luke Welling and Laura Thomson, “PHP and MYSQL Web Development-developer
Library”.
4.Robin Nixon, “Learning PHP, MYSQL & JavaScript: with jQuery, CSS &Html5”.

Websites Refer

1. www.php.net
2. www.W3Schools.com
3. www.QuoteProject.com
4. www.go4expert.com
5. www.allproject reports.com

25
APPENDICES

A.TABLES
Table Name : Admin

Description : Used to login into the application

Primary Key : Username

Field Name Data Type Description

Username Varchar(30) Admin username

Password Varchar(30) Admin password

Table Name : User

Description : Used to store registered details of user

Primary Key : UserId

Field Name Data Type Description


Name Varchar(50) Name

Username Varchar(50) User Name

Password Varchar(50) User password

26
Table Name : Candidate

Description : Used to store candidate details

Primary Key : CandidateId

Field Name Data Type Description

Cfname Varchar(50) Candidate first name

Clname Varchar(50) Candidate last name

Cposition Varchar(50) Candidate position

27
Table Name : Voter

Description : Used to store voter details

Primary Key : Id

Field Name Data Type Description

VoterId Varchar(20) Voter identification number

Votername Varchar(50) Name of Voter

28
B.DATA FLOW DIAGRAM

29
C.CODING
SAMPLE SOURCE CODE
<?php

/*

EDIT.PH

Allows user to edit specific entry in database

*/

// creates the edit record form

// since this form is used multiple times in this file, I have made it a function that is easily
reusable

functionrenderForm( $candidateID,$studnum, $fname, $lname, $gender, $course, $yearlvl,


$position, $partylist, $image, $error)

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"


"http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

Edit Record</title>
</head>

30
<body>

<?php

// if there are any errors, display them if

($error != '')

echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';

?>

<table bgcolor="#bbbbbb" width="50%" border="0" cellspacing="10" cellpadding="5"


valign="center" align = "center">

<tr>

<td width="25%" valign="top" align="center">

<form action="" method="post" onSubmit="return confirm('Are you sure you want to


save changes?')">

<input type="hidden" name="candidateID" value="<?php echo $candidateID; ?>"/></td>

<div>

<tr>

<td><strong>Candidate ID:</strong><?php echo $candidateID; ?></td>

31
</tr>

<tr>

<td><strong>Student Number: *</strong><td>

</tr>

<tr>

<td><input type="text" name="studnum" value="<?php echo $studnum; ?>"/></td>

</tr>

<tr>

<td><strong>First Name: *</strong></td>

</tr>

<tr>

<td><input type="text" name="fname" value="<?php echo $fname; ?>"/></td>

</tr>

<tr>

<td><strong>Last Name: *</strong></td>

<tr>

<td><input type="text" name="lname" value="<?php echo $lname; ?>"/></td>


</tr>

32
<tr>

<td><strong>Gender: *</strong></td>

</tr>

<tr>

<td><select name="gender">

<option value = "Male" <?php if($gender == "Male") { echo "selected"; }?>>Male</option>

<option value = "Female" <?php if($gender == "Female") { echo "selected";


}?>>Female</option>

</select></td>

<tr>

<td><strong>Course: *</strong></td>

</tr>

<tr>

<td><select name="course">

<option value = "Bachelor of Arts in History" <?php if($course == "Bachelor of


Arts in History") { echo "selected"; }?>>Bachelor of Arts in History</option>

<option value = "Bachelor of Arts in Economics" <?php if($course == "Bachelor of arts in


Economics") { echo "selected"; }?>>Bachelor of Arts in Economics</option>
<option value = "Bachelor of Arts in Psychology" <?php if($course == "Bachelor of Arts in
Psychology") { echo "selected"; }?>>Bachelor of Arts in Psychology</option>

33
<option value = "Bachelor of Arts in Political Science" <?php if($course == "Bachelor of Arts
in Political Science") { echo "selected"; }?>>Bachelor of Arts in Political Science</option>

<option value = "Bachelor of Arts in Communication" <?php if($course == "Bachelor of Arts in


Communication") { echo "selected"; }?>>Bachelor of Arts in Communication</option>

<option value = "Bachelor of Arts in Mathematics" <?php if($course == "Bachelor of Arts in


Mathematics") { echo "selected"; }?>>Bachelor of Arts in Mathematics</option>

<option value = "Bachelor of Arts in Social Work" <?php if($course == "Bachelor of Arts in
Social Work") { echo "selected"; }?>>Bachelor of Arts in Social Work</option>

<option value = "Bachelor of Arts in Business Administration" <?php if($course == "Bachelor


of Arts in Business Administration") { echo "selected"; }?>>Bachelor of Science in Business
Administration</option>

<option value = "Bachelor of Science in Accountancy" <?php if($course == "Bachelor of


Science in Accountancy") { echo "selected"; }?>>Bachelor of Science in
Accountancy</option>

<option value = "Bachelor of Elementary Education" <?php if($course == "Bachelor of


Elementary Education") { echo "selected"; }?>>Bachelor of Elementary Education</option>

<option value = "Bachelor of Secondary Education" <?php if($course == "Bachelor of


Secondary Education") { echo "selected"; }?>>Bachelor of Secondary
Education</option>

<option value = "Bachelor of Science in Library and Information Science" <?php


if($course == "Bachelor of Science in Library and Information Science") { echo "selected";
}?>>Bachelor of Science in Library and Information Science</option>

<option value = "Bachelor of Science in Civil Engineering" <?php if($course == "Bachelor of


Science in Civil Engineering") { echo "selected"; }?>>Bachelor of Science in Civil
Engineering</option>

<option value = "Bachelor of Science in Computer Engineering" <?php if($course ==


"Bachelor of Science in Computer Engineering") { echo "selected"; }?>>Bachelor of
Science in Computer Engineering</option>

34
<option value = "Bachelor of Science in Electrical Engineering" <?php if($course ==
"Bachelor of Science in Electrical Engineering") { echo "selected"; }?>>Bachelor of Science
in Electrical Engineering</option>

<option value = "Bachelor of Science in Information Technology" <?php if($course == "Bachelor


of Science in Information Technology") { echo "selected"; }?>>Bachelor of Science in
Information Technology</option>

<option value = "Bachelor of Science in Computer Science" <?php if($course == "Bachelor of


Science in Computer Science") { echo "selected"; }?>>Bachelor of Science in Computer
Science</option>

<option value = "Bachelor of Science in Information Systems" <?php if($course == "Bachelor of


Science in Information Systems") { echo "selected"; }?>>Bachelor of Science in Information
Systems</option>

<option value = "Two-Year Associate in Computer Technology" <?php if($course ==


"Two- Year Associate in Computer Technology") { echo "selected"; }?>>Two-Year
Associate in Computer Technology</option>

<option value = "Two-Year Refrigeration &Airconditioning Technician Course"


<?php if($course == "Two-Year Refrigeration &Airconditioning Technician
Course") { echo "selected"; }?>>Two-Year Refrigeration &Airconditioning
Technician Course</option>

<tr>

<td><strong>Position: *</strong></td>

</tr>
<tr>
<td><select name="position">
<tr>

<td><strong>Image: *</strong></td>

</body>

35
</html>

<?php

// connect to the

database

include('dbcon.php');

// check if the form has been submitted. If it has, process the form and save it to the

database if (isset($_POST['submit']))

// confirm that the 'id' value is a valid integer before getting the form data

if (is_numeric($_POST['candidateID']))

// get form data, making sure it is valid

$candidateID = $_POST['candidateID'];

$studnum = mysql_real_escape_string(htmlspecialchars($_POST['studnum']));
$fname = mysql_real_escape_string(htmlspecialchars($_POST['fname']));

$lname = mysql_real_escape_string(htmlspecialchars($_POST['lname']));

$gender = mysql_real_escape_string(htmlspecialchars($_POST['gender']));

36
$course = mysql_real_escape_string(htmlspecialchars($_POST['course']));

$yearlvl = mysql_real_escape_string(htmlspecialchars($_POST['yearlvl']));

$position = mysql_real_escape_string(htmlspecialchars($_POST['position']));

$partylist = mysql_real_escape_string(htmlspecialchars($_POST['partylist']));

$image = mysql_real_escape_string(htmlspecialchars($_POST['image']));

// check that firstname/lastname fields are both filled in

if ($candidateID == '' || $studnum == '' || $fname == '' || $lname == '' || $gender == '' ||
$course == '' || $yearlvl == '' || $position == '' || $partylist == '' || $image == '')

// generate error message

$error = 'ERROR: Please fill in all required fields!';

//error, display form

// check that the 'id' matches up with a row in the databse

if($row)

{
// get data from db

$candidateID = $row['candidateID'];

$studnum = $row['studnum'];

$fname = $row['fname'];

37
$lname = $row['lname'];

$gender = $row['gender'];

$course = $row['course'];

$yearlvl = $row['yearlvl'];

$position = $row['position'];

$partylist = $row['partylist'];

$image = $row['image'];

// show form

renderForm($candidateID,$studnum,$fname,$lname, $gender,$course, $yearlvl, $position,


$partylist, $image, '');

else

// if no match, display result

38
echo "No results!";

else

// if the 'id' in the URL isn't valid, or if there is no 'id' value, display an error

echo 'Error!';

?>

39
D.SAMPLE SCREENS

Fig D 1: Login form

40
Fig D2 : Registered form

41
Fig D3 : Catagory

Fig D4 : poling page

42
Fig D4 : Candidate form

43
44
Fig D5 : Election List

TABLE OF CONTENTS
2
I. INTRODUCTION ......................................................................... 3
1.1 Purpose of this Document ........................................................ 3
1.2 Scope of this Document ........................................................... 3
1.3 Overview .................................................................................. 3
1.4 Scope of the E-vote Project ...................................................... 4

II. GENERAL DESCRIPTION........................................................ 5


2.1 Product Functions .................................................................... 5
2.2 User Characteristics ................................................................. 5
2.3 Operating Environment ............................................................ 6
2.4 User Problem Statement .......................................................... 7
2.5 User Objectives ........................................................................ 8
2.6 General Constraints .................................................................. 8

III. SYSTEM REQUIREMENTS .................................................... 9


3.1 Functional Requirements ......................................................... 9.
3.2 System Requirements............................................................... 11

IV. DESIGN CONSTRAINTS ......................................................... 13


4.1 Language Constraints............................................................... 13
4.2 Software and Hardware Constraints ........................................ 13
4.3 Computer Language Constraints .............................................. 13
4.4 Encryption Constraints............................................................. 14
4.5 Illegal Voter Activity Constraints ............................................ 14
4.6 Installation Constraints ............................................................ 14

V. VALIDATION CRITERIA ......................................................... 15


5.1 Performance Bounds ................................................................ 15
5.2 Testing...................................................................................... 16
5.3 Prototyping ............................................................................... 18

VI. OPERATIONAL SCENARIOS ................................................. 19

VII. PRELIMINARY SCHEDULE ................................................. 22

VIII. CONCLUSION ....................................................................... 23

IX. APPENDICES ............................................................................ 24


9.1 Glossary ................................................................................... 24
9.2 References ................................................................................ 27

3.4 ABOUT THE PROJECT


Online Voting is a web-based voting system that will help you manage your elections easily and

3
securely. This voting system can be used for casting votes during the elections held in colleges, etc. In
this system the voter does not have to go to the polling booth to cast their vote. They can use their
personal computer to cast their votes. There is a database which is maintained in which all the name of
the voters with their complete information is stored. The System Administrator registers the voters by
simply filling a registration form to register the voters.

Online E-voting System would have Candidate registration, document verification, auto- generated
User ID and pass for candidate and Voters. Admin Login which will be handled by Election
Commission .Candidate Login which will be handled By Candidate, Voters will get Unique ID and
Password, Using which they can vote for a Candidate only once per Election. The project is beneficial
for Election Commission, Voters as the can get to know the candidate background and choose wisely,
and even for Candidate. The software system allows the Candidate to login in to their profiles and
upload all their details including their previous milestone onto the system. The admin can check each
Candidate details and verify the documents, only after verifying Candidate’s ID and Password will be
generated, and can remove faulty accounts.

The software system allows Voters to view a list of Candidates in their area. The admin has
overall rights over the system and can moderate and delete any details not pertaining to Election Rules.
After voting procedure is over, the votes counting procedure starts in manual manner. The voter cannot
change the candidate at the time of voting. The project “ONLINE E- VOTING” is aimed to computerize
the task involved in the voting process. This project deals with the automation of various polling
activities.

4
I. INTRODUCTION
1.1 Purpose of this Document

This document is provided in order to ensure that the software that the development
team produces will be consistent with the needs of all customers. It is a description
and elaboration of the project requirements that the development team has
been provided with. Stating these requirements explicitly helps ensure that any
potential miscommunications are dealt with at an early stage, when the cost of
implementing changes is still low.

Customers are encouraged to distribute this document among their potential users
and management in order to provide us with feedback. This will help the
development team ensure that the end product fully meets all needs. This document
will also be a useful resource for those who will be upgrading or maintaining the
software after it has been completed.

1.2 Scope of this Document

The development team arrived at the information contained in the original version
of this document by examining the original project description in an individual
and group setting, by conducting research on the web and in libraries and by
discussingthe system.

Many updates have already been made to this document in order to make it more
readable. Some changes have also been incorporated into the requirements
themselves, as a result of the response to the original requirements document.
Further updates to this document could occur if this project is explored further in
the future.

This document makes use of several terms in very narrowly defined ways. The
reader is referred to the glossary at the end of this documents if he or she
encounters a word that seems confusing. The first occurrences of all words in the
glossary are italicized in the text, except in cases where the text itself defines them
explicitly.

1.3 Overview

A software package entitled “E-vote” will be the ultimate product of the


development team. This software will allow organizations to design and run
elections securely and privately on a server connected to a distributed network. It
will be possible to customize the ballots for each election as well as to set certain
parameters for each election, such as whether or not voters may change their votes
once they have been submitted. The E-vote package will also include the software
needed by voters to register their votes using computers connected to a distributed
network. The server will then track votes and calculate statistics on the results of
the election. The
5
long term goal of this project is to greatly reduce the cost and complexity of
running elections by removing the direct involvement of humans in the mechanics
of gathering and counting votes.

All aspects of the software will use a graphical user interface. The system will be
furnished with a full on-line help system, as well as installation software.

1.4 Scope of the E-vote Project

This E-vote software should only be regarded as a pilot project, meant to examine
the feasibility of voting technology and to explore its potential. It is not intended for
elections on a national scale, at least at this stage. However, the software will be
designed to be scalable to full-scale elections given greater time, manpower and
testing resources.

6
I. GENERAL DESCRIPTION

2.1 Product Functions

The E-vote software package will be made up of four basic components:

2.1.1 E-vote Elections Server


The Server will be responsible for storing the settings of each election, generating
passwords for authorized Voters, receiving and authenticating votes, storing votes
on the E-vote Voting Database, generating statistics at the end of each election and
maintaining and verifying security and voter privacy. The Server will also
potentially contact all authorized voters by e-mail to give them their username
information, passwords, Server address, election code, instructions to obtain the
Voting Client and contact information of the Elections Officer.

2.1.2 E-vote Election Editor


The Election Editor will be a piece of software that enables Elections Officers to
design custom ballots and define configuration settings for each election. It will
also allow the Elections Officer to suspend an election. The Elections Officer will
also use the Election editor to enter the enumeration list. The enumeration will be a
list of all voters that are authorized to vote in an election. This list could include the
usernames and e-mail addresses of each authorized voter. It will be possible to
configure elections so as not to require voter e-mail addresses, if this is desired.

2.1.3 E-vote Voting Database


The Voting Database will hold the enumeration list for each election as well as all
votes registered for each election. It will be encrypted and will not be directly
accessible by anybody. The votes stored from each election will be deleted from the
database at a preset time after the termination of each election.

2.1.4 E-vote Voting Client


The E-vote Voting Client will be a simple piece of software that voters with only a
minimal background in computers will be able to install on their own computers.
They will use it to vote by establishing a network connection to the Server and
sending their encrypted votes. They will enter the Server address and their
username, password and election code before establishing the connection. Once
they have connected, the Server will send them the ballot, which they will then fill
out using the Client and send back to the Server. Voters will also use the Client to
change their votes if this option has been enabled in a particular election.

2.2 User Characteristics

2.1.5 Customers

7
The customers are the people or organizations who purchase the E-vote Elections
Software. They will be authorized to host elections on the Server. The Voting Client
will be available free of charge, and any purchasers of the server software will be
authorized to distribute it to their voters. Each customer will be responsible for
providing a System Administrator to overlook the installation and operation of the
Server. The customers will also be responsible for providing a host for the Server.

2.1.6 System Administrator


A System Administrator will be required to oversee the installation and operation of
each E-vote Elections Server. The System Administrator will not have control over
or access to any particular elections once they are activated on the server, but he or
she will be the only one able to authorize Elections Officers to start new elections.
The System Administrator is assumed to have at least a college level background in
computers and networking. This person is necessary to ensure that the overall
system is working and that its security integrity is not breached.

2.1.7 Elections Officer


The Elections Officer is an impartial individual who is given responsibility for
overseeing individual elections by the organization holding each election. Each
election housed on a Server may have one or more Elections Officers and it is
possible for an Elections Officer to be responsible for more than one election. This
person is needed to monitor each election in a way that is independent of the
general overall maintenance provided by the Systems Administrator.

Once an Elections Officer is authorized to set up an election by the System


Administrator, he or she is the only one with the ability to design ballots, configure
election options, enter an enumeration list and suspend the election. He or she is
also responsible for answering questions over e-mail that voters or others may have
duringthe election.

The Elections Officer is expected to be well versed in the elections protocol of the
organization whose election he or she is supervising and is expected to be
comfortable using GUI-based computer applications. It is assumed that the
Election Officer speaks and writes English, since the implementation team will not
have the time or the knowledge to write multiple versions of the Elections Editor
software to accommodate other languages. This could be done in a future release of
thesoftware.

2.1.8 Voters
Voters are those people who are authorized by the Elections Officer to vote in each
election using the E-vote Voting Client. They are expected to have access to a fully
networked computer and to be comfortable using GUI-based computer
applications. They must also have a secure access to a private e-mail address.

8
2.2.1 E-vote Elections Server
The Elections Server will be written in Java, so the computer hosting it must be
capable of running Java bytecode. The Server will run under Linux. The computer
hosting the server must be accessible by other machines on a network. Testing will
be done using the computers in Reynolds 008 as a basis for the minimum hardware
requirements to run the E-vote Election Server. Professor Stacey stated in class that
she did not expect the software would run the US election, but that it would be
reasonable to assume that the class could go down to Reynolds 008 to vote.
From this statement we infer that the E-vote Election Server must be able to run on
one of the computers in the lab. It must be able to host an election where Voters
can use the Voter Client software on all of the other computers in Reynolds 008 to
participate in an election. There are approximately forty machines in the Reynolds
lab. Thus, we will insure that at least forty voters can simultaneously vote on any
one election in theReynolds lab.

2.2.2 E-vote Election Editor


The Election editor will be written in Java, so the computer hosting it must be
capableof running Java bytecode. Since we are using the lab in Reynolds as a basis
for the minimum requirement to host the E-vote Election Server, the lab computers
will also serve as the basic hardware requirement for the E-vote Election editor.

2.2.3E-vote Voting Database


The Voting Database will be required to hold voter identities, as stated in the
project handout. The computer hosting the database must have either Postgres or
MySQL installed.

2.2.4E-vote Voting Client


The Voting Client will be written in Java, so the computers that it is installed on
must be capable of running Java bytecode. It will run under Linux or Windows 95
and above. It is expected that all computers it will be installed on will have high
speed Internet access such as cable modem or DSL, as was stated in class. The
computers that will run the client should be able to run GUI-based Java computer
programs.

2.2 User Problem Statement

As it stands, almost no elections are held electronically. This means that there is a
great cost associated with collecting and counting votes, since many people must be
hired to perform and check these tasks. Manual elections take a long time to set up,
and occurrences such as recounts can greatly delay the reporting of results. All of
these time delays can be at least partially eliminated by having computers run
elections.

There are also many problems relating to the accuracy of manual elections. The
intentional inaccuracies introduced by the corruption of election officials can be
eliminated by having the election handled by an entirely impartial computer. The

10
unintentional inaccuracies of manual elections, such as improperly printed or
filled out ballots, can also be eliminated by electronic elections which use clear and
consistent interfaces.

It should be noted that although electronic elections have a great number of


advantages, they are largely untested and thus even the best systems may be prone
to problems, at least initially. Although they can certainly be designed with full
security and privacy features, corruption of the results can be very difficult to detect
if someone does manage to break through the security of the software. The privacy
feature of the software means that what the software is actually doing during an
election cannot be transparent to election officials. One must also be very careful
that security holes are not built into the elections software by the developers and
that the officials who run and maintain the elections do not have the power to
corrupt results.

2.3 User Objectives

Any organization running an electronic election will want software that is easy to
install and run. Ballots must be easy to design and they must be flexible as to the
number and types of questions. The Election Server must run efficiently and
securely. It must be impossible for anyone to break into the system and corrupt the
results, prematurely know the results of the election, vote when they are not
authorized to do so or vote more than once. The results of the election must be
clearly presented upon the completion of the election.

Voters need the ballots to be clear and easy to fill out and answer. It is important
that it be impossible for anyone to associate a voter’s name with his or her vote.

2.4 General Constraints

The development team must design, develop and test this software within the space
of three months. They also have important limitations placed on their time due to
many other projects that they must work on. They also suffer from severe lack of
funding. Due to these constraints, as well as the limited number of people working
on the project, it may be necessary to prioritize certain aspects of the project over
others. Functionality and security will be the first priorities.

The developing and testing environment is limited to the University of Guelph


computer labs. This means that the developers do not have access to the full
commercial system that is necessary to fully test this system under realistic working
conditions.

11
II. SYSTEM REQUIREMENTS

The primary priorities of this design are, in order of importance:

1) Functionality
2) Reliability
3) Maintainability
4) Security and Privacy
5) Scalability
6) Interfaces

3.1 Functional Requirements

The requirements that are essential are marked with a dash, while the ones which
areless essential are marked with a bullet.

3.1.1 Election editor


 There will be the option of providing additional information about election issues on
the ballot.
 The ballot will have an arbitrary number of questions.
 The text of each question must be specified.
 All questions will be multiple choice. The number of choices as well as the texts of the
choices may be customized.
 The start date and end date of the voting must be specified.
 Allows the Elections Officer the option of letting voters change their votes before the
election ends.
 Lets it be specified how long the information stored on the database will persist after
the election terminates.
 Lets it be specified from a limited list of options what statistics are wanted when an
election ends. This list will include the results for each option of each question (total
number of votes and percentages) as well as voter patterns such as the time
distribution of votes.
 An enumeration list must be entered which could include the usernames, passwords
and e-mail addresses of each authorized voter.
 Will allow the Elections Officer to change the election settings, provided that the
election has not started yet.
 Provides Elections Officer with an election code to uniquely identify each new
election that is created.
 The look and feel of the ballot will be customizable.
 Allows the Elections Officer to specify a time window to accommodate differences in
time settings on individual computers.
 Allows the Elections Officer to decide what criteria will be used by voters to identify
themselves from a limited numbers of options.

12
 What qualifies as a win must be customized from a limited number of options (i.e. is
there a quorum for the election and/or each question, is there a minimum percentage
of votes in favor needed for a choice in each question to win and do the results of
certain questions depend on the results of other questions).
 There will be the option of having weighted votes to accommodate situations such as
shareholders’ elections.
 Specifies whether voters can refuse or spoil individual questions or their entire ballots.
 Must only allow creations of elections when it is authorized by the System
Administrator.
 Will indicate to the Elections officer if there are not enough systems resources to
accommodate a new election.

3.1.2 Election Server


 Stores the settings for each election after they are generated by the Election editor.
 Stores and generates passwords for all authorized voters on enumeration lists.
 Checks all Voting Clients when they attempt to log on to see if they are authentic
(valid election code and a username and password that correspond to an authorized
voter in that election that has not voted yet).
 Sends a copy of the appropriate ballots to Voting Clients.
 Sends each voter who has successfully voted a verification number to prove that they
have voted.
 Encrypts all communication with the Voting Client.
 Stores all votes on the Election Database.
 Generates voting statistics at the end of each election. Statistics must only be available
after the election has ended, not while it is still being carried out.
 Generates a complete list of statistics and a partial list of statistics.
 E-mails these statistics to the Elections Officers and another source.

 Must be able to accommodate multiple elections simultaneously.


 Contacts all authorized voters on enumeration lists by e-mail to give them their
username information, passwords, Server address, election code, instructions to obtain
the Voting Client and contact information of the Elections Officer.
 Reports any attempted breaches of security to the Elections Officer.
 Allows the Elections Officer to suspend the election.

3.1.3 Election Database


 Stores the enumeration list for each election.
 Stores votes as they are authenticated by the Server.
 Encrypts all stored data.
 Only allows the Server to read stored data.
 Deletes the data stored from each election at a preset time after the completion of each
election.

3.1.4 Voting Client


 Can access an Election Server using a distributed network.

13
 Allows voters to log on to a Server by entering its address, their username, password
and election code.
 Receives ballots from the Server after successfullylogging on.
 Allows voters to enter their votes and send them to the Server.
 Encrypts all communications with the Server.

 Allows voters to change their votes after having submitted them if this is allowed in a
particular election.

3.2 System Attributes

3.2.1 Communications Security


All communications between the Voting Client and the Elections Server must be
encrypted to ensure the privacy of votes and voter information. Encryption of
communications will also ensure that anyone packet sniffing over the network will
be unable to extract any usable information from the data that is sent between the
Client and Server. The server will time out after three minutes if no message is
received from the Client.

All data sent to the server will conform to a pre-defined format to enable the
software to detect any tampering of data in transit. If detected, the data will be
discarded and the voter prompted to resubmit his or her vote.

Voters must be sure that nobody else has access to their e-mail addresses, as
anyone reading their e-mail would have access to their voter identification
information. The Elections Server will limit the number of login attempts to prevent
automated attacks to gain or prevent access, however the voters must ensure that
their password is secure as the system would not be able to detect misrepresentation
of the voter.

No encryption is foolproof, although many are highly reliable. It must be


understood that developments of new algorithms could potentially break any
encryption, as could sustained efforts with high-powered computers. Elections
should thus be run over limited periods of time, such as a single day, in order to
minimize the chances of security breaches.

3.2.2 Storage Security


All voters must be able to record their votes anonymously without anybody being
able to determine how they voted or change their votes. If voters are going to be
able to change their own votes, the system must store their identification
information along with their votes. This means that the file storing their votes
must be encrypted so that nobody can read it directly at any stage and should be
deleted soon after the election ends, but not so soon as to make a recount
impossible. It must therefore be as close to impossible as possible for anyone to
break into the database for at least the length of the election plus the amount of
time the election data is storedafterwards.

14
3.2.2 Maintainability
The software will be well documented and it will be designed to be modular. The
use of object oriented programming will also help to increase maintainability. This
will make it easier for future developers to make changes and updates to the
software witha minimal amount of effort.

3.2.3 Scalability
Both the E-vote software and this document are meant to be easily scalable to
increase the scope and size of elections. All efforts will thus be made to use a
software design that does not have built in size limitations.

3.2.4 Reliability
All efforts will be made to write software that is entirely reliable. However, the
viability of electronic voting rests, in part, on the ability of systems
administrators and elections officials to incorporate redundancy into any deployed
voting system andto develop contingency plans for possible failures.

3.2.5 Interface
All aspects of the E-vote system will have a simple point and click interface using
menus, text fields, buttons and all of the other components of systems with
graphical user interfaces. This interface will be designed to be consistent. The
interface will be designed to help accommodate people with disabilities such as
colour blindness. The system will also be have a full on-line help system. Voting
results will be posted on web servers in HTML format.

15
III. DESIGN CONSTRAINTS

4.1 Language Constraints

The software will only operate in English and will only allow ballots that use 7-bit
ASCII. This is because the first release of this project is only expected to be an
exploration of voting technology, so it is reasonable to assume that it will be used
primarily in North America. Both ASCII and English are used as standards in
international computing. Future versions of this software could be produced in
other language, but the current implementation team will not have the time or the
linguistic expertise to do so.

4.2 Software and Hardware Constraints

4.2.1 Voting Client


The Voting Client software will only be tested to run on Linux or Microsoft
Windows 95 or higher. The system with the Voting Client must be capable of
running Java bytecode and must have access to the Internet with high-speed access
such as cable or DSL. This was stated as a valid assumption in the class lab. The
Voting Client must be written in Java and the description language for the ballot
must be written in XML. The minimum hardware requirements for the Voting
Client (which are the same as those for the JDK 1.1.2) are:
- Pentium 166-MHz or faster processor
- At least 32 Mbytes of physical RAM
- 65 Megabytes of free disks pace

4.2.2 Election Server


The Election Server will be written in Java with any configuration files written in
XML. The Election Server will only be tested in the Linux environment. It may
or may not run on other operating systems. The number of concurrent voters using
the Election Server at any one time will not be limited, in order to allow for
scalability. However, for the purposes of this project it will only be guaranteed
that the system will function properly with less than forty concurrent voters. This
number is based on the number of computers in the Reynolds 008 lab, since it was
stated in the class lab by Professor Stacey that it would not be unreasonable to
expect the class to be able to go to the lab and all vote in the Reynolds 008 lab. For
similar reasons, the minimum hardware requirements for the Election Server are
the same as the computers inReynolds 008.

4.2.3 Election Database


The computer hosting the Election Database must have either MySQL or Postgres
installed.

16
4.3 Computer Language Constraints

All configuration files must be in XML. The statistical reports must be generated in
HTML. The database used by the server must use MySQL. All software must be
written in Java.

4.4 Encryption Constraints

The development team is limited in the type of encryption that can be used for
building the system by what is either available in the Linux and the Windows
Operating System, what can be found in Java libraries or by what they can write
themselves. It is not in the budget to purchase third- party encryption software.

4.5 Illegal Voter Activity Constraints

There is a danger that outside of a public polling place, a voter could be coerced into
voting for a particular candidate, or selling his or her vote. It will also be difficult to
control vote solicitation at the time of voting. The E-vote software will have no
provisions to prevent any of these problems.

4.6 Installation Constraints

The installation of the Election Server will already assume that MySQL has been
installed and that the computer running the Election Server will be able to connect
to the MySQL database. It is also required that there be network access to the
computer running the Election Server, and that there is a capable Network
Administrator and Database Administrator to carry through the installation.

The installation of the Voting Client will assume that the target computer will have
network communication already set up.

17
IV. VALIDATION CRITERIA

5.Validating the Software Requirement Specification

The development team would like to ask the customer to review this requirements
document and verify it with all of the software stakeholders. This will ensure that
all conceptions of the product are consistent. Requests for additions or changes
should be submitted at this stage so that they can be incorporated into this
document. It is more costly to implement changes at later stages of development.

5.0 Performance Bounds

The following sections indicate the performance parameters that the development
team will test and ensure:

5.0.1 Voter Authentication


All Voters attempting to access the system will be acknowledged by the server within
a certain time frame of attempting to gain access. Given that the network is
operational, the system will acknowledge the Voters presence with a message. The
average computer user is only willing to wait so long for most software to respond.
Typically, a use case would indicate the longest length of time a user is willing to
wait for a response for a particular function of the software. Since the
development team does not have this option, they will assume that the maximum
waiting time is thirty seconds.

5.0.2 Voter Ballot Submission


All voters submitting a ballot will have their vote acknowledged within a certain time
of submitting the ballot. Typically, a use case would indicate how long users are
willing to wait for a response. Since that is not an option, it will be assumed that the
maximum waiting time is thirty seconds.

5.0.3 Number of Concurrent Voters Using the System


The maximum number of Voters able to concurrently log into the election system is
undetermined at this stage. The maximum number of Voters able to vote
concurrently with guaranteed success is forty. This is based on the number of
computers in Reynolds 008.

5.0.4 Election Registration


When an Elections Officer creates a new election on the system, it will be expected
to take priority over voters trying to vote, so the time it takes to register should be
only a few seconds (the time needed to access the database).

5.0.5 Number of Ongoing Elections Allowed on One Elections Server

18
The number of ongoing elections allowed on one election server is not specifically
defined at this stage. There are three factors that will limit it: hard disk limitations,
network server traffic and the number of concurrently logged in voters that the
Election Server can accommodate.

Hard Disk limitations will dictate how many elections an Election Server can hold at
a time. The software must indicate to the Elections Officer when hard disk space is
too low to register another election. The System Administrator should have
knowledge of the Network Traffic that is on the network. If the expected increase in
network traffic from a new election is going to cause a Network problem, then
the network traffic load will have to be increased or the Election Server will have to
be hosted on a different network.

The Elections Server will have limitations with respect to the number of Voting
Clients that it can serve concurrently. The Election Server is intended to be scalable
in design. However, for the initial project delivery, we will be imposing a limit of
forty concurrent voters. It is up to the discretion of the System Administrator to
determine if another election on an Election Server will be too limiting to the Voters.
Factors influencing this decision are election duration and the number of
enumerated voters.

5.0.6 Largest Enumeration Size of an Election


The largest number of Voters that can be registered in the Election Database as
eligible voters is limited only by hard disk availability on the system hosting the
Election Database. However, the network traffic and the number of Voting Clients
that the Election Server can serve at one time should be considered when an election
is created.

5.0.7 Election Registration Limitation of One Registration at a time


Only one elections officer can register an election at any particular time. This is
meant to increase the security of the election registration process.

5.1 Testing

A test plan will be developed from the onset of design to ensure that testing is not an
afterthought. The development team will automate testing by writing software to test
all of the components of the system. Some testing will also be done manually. Tests
and their results will be documented. The following test classes will be considered
necessary:

5.1.1 Code Reviews


The development team will have scheduled code reviews to continually reexamine
each other’s work and detect problems as soon as possible, before new
componentsare integrated into the system.

5.1.2 Functional Testing

19
To check that the software will what it should under normal conditions, the
development team will run through as many user scenarios as possible.

5.1.3 System Stress Testing


Tests that cause the system to exceed the specified limits of RAM, CPU, and hard
diskspace will be run to ensure that the system fails safely.

5.1.4 System Load Testing


It will be verified that each computer in Reynolds 008 can have a voter submitting
votes simultaneously. Tests will also he run that exceed this load, to ensure that the
system still behaves safely with higher than expected loads.

5.1.5 Data Verification Testing

5.1.5.1 Calculation of Election Results


Tests will be run to ensure that all totals are calculated correctly and that all
statistics are accurate.

5.1.5.2 Dates
Tests will be run to ensure that date limitations are adhered to by the system
and that Voting Clients are able to have their votes submitted and properly
counted nearelection date boundaries.

5.1.6 Input Testing


All components of the system will be tested using erroneous input. It will be
assumed that the software will be misused. The expectations of the software
under any misuse is that its security will not fail, that no data will be irretrievably
lost and that it will give informative error messages.

5.1.6.1 Voter Client Input Tests


Tests will be run to ensure that voters can only vote in elections that they are
authorized to vote in and that they cannot revote unless this is permitted in a
particular election.

5.1.6.2 Election Editor Input Tests.


Tests will be run with invalid election options such as inverted start at end dates
for elections.

5.1.7 Security Testing

5.1.7.1 Denial of Service Attacks


The development team will subject the Server to denial of service attacks to
ensure that the election can be properly shut down and restarted in the exact
state that itleft off.

5.1.7.2 Encryption Breaking

20
Tests will be run to ensure that encrypted transmitted information cannot be
decoded within a time that falls within the duration of an election. This must be
further researched. The development team must know how long election data is
typically saved and how long it takes to break various encryption methods.

5.1.7.3 Faulty Database Access


Tests will be run to ensure that the Database cannot be accessed in a manner
which would breach security or the privacy of Voters.

5.1.8 Regression Testing


The development team will continually test the system at all stages of production in
order to ensure that it is fully functional. All errors and malfunctions reported in the
software testing process will be documented and tested with each new addition or
release of the software.

5.1.8 Recovery Testing


Tests will be run to ensure that the state of an election can be completely restored if
a power failure occurs or the Elections Server is shut down.

5.1.9 White Box Testing


During the design phase of the software, the development group will be creating
white box test plans. These plans will involve writing extra components to test the
internal structures of the software.

5.2 Prototyping

The development team will present the customers with working prototypes of
limited functionality at various stages of the production process. This will enable
the client tobe fully aware of all progress and provide useful feedback.

21
V. OPERATIONAL SCENARIOS
The development team will provide operational scenarios to highlight the major
functionality to be delivered in the software. These scenarios can be used to validate the
functionality of the system. It is expected that more scenarios will be added and that the
details of existing scenarios will be filled in as the projects scope is better realized.

Scenario 1.0: Elections Officer creates a new election and registers it.
An Elections Officer goes to the computer that has the Election editor component on it
and securely gains access to use it. He or she then enters the appropriate information
needed to create a new election.

After entering all the appropriate information, the Elections Officer can preview the
ballot. After previewing the ballot, the Election chooses to submit the election for
registration. The system will register the election, and report to the Election Officer
that either the election was registered successfully or that an error occurred with an
explanation of why the election could not be registered.

Scenario 1.1 – Elections Officer creates a new election but cancels before
registering it.
The Elections Officer performs all of the actions from Scenario 1.0 up to the point
after previewing the ballot. The Elections Officer, after previewing the ballot, chooses
to cancel. The ballot and election information is not registered. It is discarded by the
system.

Scenario 1.2 – Elections Officer creates a new election and makes changes to the
election before registering it.
The Elections Officer performs all of the actions from Scenario 1 up to the point after
previewing the ballot. The Elections Officer, after previewing the ballot, chooses to
make changes. He or she can change any of the information that was entered into the
Election editor up to this point. After making changes, the Election Officer can submit
the electionor cancel all the information entered.

Scenario 2 –Elections Officer calls off an election registered to occur.


The Elections Officer goes to the computer housing the Election editor and securely
gains access to it. The Elections Officer requests that the system remove an election. It
is required to identify the election that he or she wishes to remove and confirm that the
election is to be deleted.

Scenario 3 – Elections Officer changes a ballot prior to an election date.


The Elections Officer goes to the computer housing the Election editor component and
securely gains access to it. He or she requests to change an election. He or she is
required to identify the election that he or she wishes to change. As long as the current
time is before the deadline specified to disallow changes, the Election editor will allow
the Elections Officer to change any of the data that was input into the system when the
ballot was generated. If the time is after the deadline that was specified to be able to
cancel or

22
change the election, the system will display a message informing the Election Officer
thatit is too late to change the election.

Scenario 4 – Elections Officer tries to change or delete a ballot after the deadline for
last election changes.
An Elections Officer attempts to change an election that is ongoing. He or she goes to
the computer with the Election editor component and securely gains access to it. The
Elections Officer requests to change an election. He or she is required to enter the
election code of the election. The election that he or she specifies is an ongoing
election. The system informs the Elections Officer that the election is already
underway, and that itcannot be changed or deleted.

Scenario 5 – Enumerated Voter votes in an election with a valid vote submission.


An enumerated voter has the Voting Client software up and running. He or she has
been enumerated to vote in an election. The computer that he or she is at has access to
the server that is hosting the election. The date is during the period of the election. The
Voter is able to securely connect to the Elections Server that is hosting the election.
The Voting Client software displays the appropriate ballot for the election. The voter
fills in his or her choices to the questions. The ballot is filled in correctly, so the voter is
able to submit the ballot. Before the Ballot is submitted, the Voting Client software asks
the Voter to review his or her vote before it is sent to the Server. The Voter reviews and
submits the vote. Upon submission, the Voter gets a receipt that can be printed. The
receipt contains the votes that were made and a verification number.

Scenario 6 – Enumerated Voter participates in an election but cancels his or


her vote.
Everything proceeds as in scenario 5 up until the ballot is submitted. The Voter reviews
and decides to cancel his or her vote when the Voting Client software asks the him or
her to review her vote before it is sent to the server.

Scenario 7 – Enumerated Voter attempts to participate in an election after the


election date.
An enumerated voter has the Voting Client software at his or her computer. He or she
hasbeen enumerated to vote in an election. The computer that he or she is at has access
to theserver that is hosting the election. The date is after the period of the election. The
Voter attempts to securely connect to the election server that hosted the election. The
Client informs the Voter that the election has already taken place and that it is too late
to vote in the election.

23
VI. PRELIMINARY SCHEDULE
 The Software Requirements Specification Document will be completed and submitted
for review by May 22, 2001.
 The next step will be to amend this document based on the feedback received.
 A design document will then be produced, which will also be submitted for review.
 Once the design document is completed, work will begin on implementing the system.
 Testing will be performed throughout all stages the development phase to ensure
quality.
 Once the development phase begins, the software will be demonstrated every Monday.
 A first release version of the software will be completed for distribution by early
August of 2001.

24
Use Case Model of Online Voting system

25
Class Diagram for Online voting system

26
Sequence diagram for online voting system

27
Collaboration Diagram

28
CONCLUSION

It is the development team’s hope that this document will be the first part of a
continuing series of interchanges between themselves and customers. This will ensure
that customers’ needs are met in a cheap and timely fashion. It will be important to
involve potential Elections Officers and Voters in this feedback process, as end-users
such as they often have many unique insights that might not occur to software
developers or people involved in management. This interchange will involve both
information such as this document and prototypes of the product. The end result will
be a product that is functional, reliable, secure and easy to learn and use.

29
Motivation
Elections play a major role in the country. Usually elections follow the Traditional Paper based
Voting or EVMs . Citizens has to move to the polling stations to cast their vote. It leads to gathering of
peo- ple in large number .In this pandemic situation its not safe to encourage gatherings. And also we
cannot avoid the elections. People at remote areas from their native places find difficult to reach their
hometowns to cast vote due to various reasons . Aged people cannot travel to polling stations and wait for
longer time in queue to cast vote. In order t overcome all these issues ,we decided to find a solution and
that is on-line vot- ing system.

Problem Definition
Now-a-days people find very less time to cast the vote .And there are several issues where India, democratic
country is unable to get polling of 100%.In order to make voting easy and secure , online voting system is

30
helpful. Voter has to register first and then login .Voter is authenticated and then proceed to voting page .
Voter cast the vote and logout. One can view the results at any instance of time .

Objectives Of The Project


● As everything became on-line now-a-days , making the voting process As everything became
on-line now-a-days , making the voting process also on-line
● To make more convenient for the people to vote especially for people who stay at remote places
like army or people who migrated to other places for their studies or occupations
● To prevent tampering of votes
● To Provide high security by using secured authentication mechanisms
● To increase Voting percentage

Limitations Of Project:
We are developing a website for casting the vote online. While casting the vote the most important
thing is security. We are providing security through the otp authentication . OTP also provides strong
secu- rity but it would be more secure if we use fingerprint detection and cornea detection and map it
with the aadhar database details.

Organization Of Documentation:
In the document,
1) The first section provides the literature survey done for the project
2) Second section discusses the requirements of the project
3) Third section shows the project design
4) Fourth section discusses the results of the project
5) The fifth section discusses the validation and the last section gives the conclusion of the project.

31
LITERATURE SURVEY

Introduction
Now-a-days , there are tons of things we do online , from shopping to doing of any official ar-
rangement .So , why don’t we make the elections also to be online .
In this pandemic situation , gatherings is very danger . So , if we are trying to make voting process
online

Vote at any time from anywhere : Today’s way of living doesn’t leave much free time . We have

little to no time to do anything or go anywhere . So it would be good that may be giving the
chance to the members of our country to cast their vote in just a few minutes , without the need

32
to go to a certain place , would be a good option . So probably online voting would be better
op- tion . Unlike traditional voting , that makes voters go to a specific time in order to vote,
online voting allows them to cast their vote at anytime of the day and from any place , just
with the need of an Internet connection

Boost Participation : As a result of previous point , choosing online voting for election will more

likely boost the participation . Many people can participate in the elections to cast their vote
so that the turnout increases

Less Physical Infrastructure : When running a online voting system , we can avoid the need for

all the physical infrastructure usually required on a traditional voting . No need of paper,
print- ing , physical urns or staff. This may therefore lead to a lower monetary investment

Fast and easy votes tally : Since the counting of votes takes place through machines(automated

), human errors can be avoided . And also the process becomes more faster so that the
results are also processed faster

Security : Most important factor for voting systems . In our proposed system security is pro-

vided by OTP authentication .We have observed some major components provided in their website.
Some of them are

Voters : Target users of the website. Website provides platform to utilize their right to vote.

Services : It allows citizens to cast the vote .

Results: Every citizen can view the results of elections at any point of time

Security: Security is provided by the website using the otp authentication

technique

We used html, css, javascript for the front end development and PHP for connecting to the database and
storing the data.
Visual Studio code is the tool used for writing the code code.XAMPP is also used for developing the
project since it is a free and open source cross platform.It consists APACHE HTTP server,MARIA DB
database, and interpreters for scripts written in the PHP and Perl programming languages.We have gone
through the OTP authentication codes and chose to implement the random OTP generation.

33
Existing System

In our country , we are following the traditional paper based voting system or EVMs
which has several drawbacks .Whatever the system we follow , we need to move to the polling
stations to cast the vote and it leads to gathering of people in larger number.

Disadvantages Of Existing System

Inaccessible polling stations

Proposed System
In order to overcome the issues of existing voting system that is traditional paper based
voting system we are developing an online voting system by taking the advantage of centralised
database with a web interface .

Online Voting System enables voter to cast the from any remote place

It will help to increase the level of population to cast the vote that is it increases the total

turn- out

High security is provided since aadhar number is taken as primary key

User is authenticated by OTP

Voting on internet provides a safe and private channel that allows all users t participate

on equal terms

Increased accessibility for residents abroad and for persons with difficulties in travelling or re-

duced mobility

The reduction in organizational and implementation costs significantly increases35


the

efficiency of online voting compared to traditional voting system


Since the counting of votes takes place through machines(automated ), human errors can be
avoided . And also the process becomes more faster so that the results are also processed faster

Advantages :

 It removes the possibility of invalid and uncertain votes which, in many cases, are the root

36
Instant results of voting

ANALYSIS

Introduction:
Analysis is gathering and interpreting the data needed for the dental clinic and website.It is used for
understanding how the system works. It gives a good understanding about the requirements of the project.

Software Requirement Specification:


It captures complete description of how system works and the requirements of the system

User Requirement:
The website should allow the voter to cast the vote and give services only to the genuine user.
Genuine user should be identified via OTP authentication. User should be able to cast the vote only once
and only during the time of elections.

Software Requirements:
Operating System:
Windows,Linux,Mac
Languages:PHP,HTML,CSS,Java
Script Database:MYSQL
Server:Apache
Tools:Visual Studio Code,XAMPP
Browser:All compatable browsers
HardwareRequirements: 38
Processor:core i3 or higher RAM:2GB
Hard disk:25GB
e users are done with their activities they can log out of the website.In this way, their work becomes easier,
secure, and save their time.

Technologies used:
HTML:

HTML stands for Hyper Text Markup Language.HTML is the standard markup language for
creating Web pages.HTML describes the structure of a Web page.HTML consists of a series of
elements.HTML ele- ments tell the browser how to display the content.

CSS:

CSS stands for Cascading Style Sheets.CSS describes how HTML elements are to be displayed on
screen, paper, or in other media.CSS saves a lot of work. It can control the layout of multiple web pages
all at once.External stylesheets are stored in CSS files

JS:

JS(Java Script) is used for:

(i) Client side validation of form elements instead of sending data to server every time.
(ii) To insert new elements such as text box etc. to the website on the go.
(iii) To provide users notifications from the server.
(iv) To load data in the background from the server and loaded on to the page side without reloading.
PHP:
PHP is an acronym for "PHP: Hypertext Preprocessor”.PHP is a widely-used, open source scripting
language.PHP scripts are executed on the server.PHP is free to download and use
PHP can be used for the following:
• PHP can generate dynamic page content
• PHP can create, open, read, write, delete, and close files on the server
• PHP can collect form data
• PHP can send and receive cookies
• PHP can add, delete, modify data in your database
• PHP can be used to control user-access 40
• PHP can encrypt data
DESIGN

Introduction:
The design phase shows how the project has been implemented.The components involved in the
project.In this one or more designs are developed which gives the apparent results for the project.
UML(Unified Modelling language) is a standard language for specifying, visualising,
constructing, and documenting the artifacts of software systems.UML diagrams are simple to
understand.UML represents two different types of diagrams:
1) Structural diagrams:

These diagrams represents how the system is going to be built.These define the structure of the
sys- tem and the components involved in the system.It shows the static features of the system
The structural diagrams are:
• Class diagrams
• Object diagrams
• Components diagrams
• Deployment diagrams
2) Behavioural diagrams:
These diagrams represent the dynamic behaviour of the system.The interactions in the system are
shown using the behavioural diagrams
The behavioural diagrams are:
• Activity diagrams
• Interaction diagrams
Sequence diagram
Collaboration
diagram
• Usecase diagrams

We have chosen class diagram,Usecase diagram and Sequence diagram for showing the static and
dynamic features of our project

41
UML Diagrams:

Usecase Diagram:
Usecase diagram represents the user interactions with the system.It shows customer relationship
with different usecases. It helps in designing a system from users perspective.It also shows the different
function- alities provided by the system.

This usecase diagram shows that a voter can login and logout of the system ,cast the vote, update
profiles, manage votes, manage candidates, manage voters, display results. 42
Class Diagram:
It represents the structure of the system showing systems classes, attributes, operations and relation-
ships among among the objects.It is a basic notation for other structure diagrams in UML

This class diagram has the following classes:


1)voter
2)candidate
3)result
4) result process
5)registration
One or more voters can use the web app and cast the vote.

Sequence diagram: 43
It is a type of interaction diagram which shows how a group of objects work together in the system.
Introduction:
Implementation is the carrying out plans mentioned in our system planning.Implementation gives
the opportunity to see the plans become a reality.Implementation is executing the project.It makes the
reality and helps in understanding the project.

Explanation Of Key Functions:


The main function used in our project is OTP authentication. We have generated a random OTP and sent
to mail using PHP mailer and mail function .Once the OTP is sent the user can type the OTP and again
login into the system and access the services.

Method of Implementation:
We have followed iterative model for implementing the project.

In the Iterative model, iterative process starts with a simple implementation of a small set of the software
requirements and iteratively enhances the evolving versions until the complete system is implemented
and ready to be deployed.
An iterative life cycle model does not attempt to start with a full specification of requirements. Instead,
de- velopment begins by specifying and implementing just part of the software, which is then reviewed to
identify further requirements. This process is then repeated, producing a new version of the software at
the end of each iteration of the model.
Iterative process starts with a simple implementation of a subset of the software requirements and
iteratively enhances the evolving versions until the full system is implemented. At each iteration, design
modifications are made and new functional capabilities are added. The basic idea behind this method is
to develop a sys- tem through repeated cycles (iterative) and in smaller portions at a time (incremental)

Iterative and Incremental development is a combination of both iterative design or iterative method and
in- cremental build model for development. "During software development, more than one iteration of
the soft- ware development cycle may be in progress at the same time." This process may be described as
an "evolu- tionary acquisition" or "incremental build" approach."
In this incremental model, the whole requirement is divided into various builds. During each iteration,
the development module goes through the requirements, design, implementation and testing phases.
Each subse- quent release of the module adds function to the previous release. The process continues till
the complete system is ready as per the requirement.
The key to a successful use of an iterative software development lifecycle is rigorous validation of
require- ments, and verification & testing of each version of the software against those requirements
45
within each cycle of the model. As the software evolves through successive cycles, tests must be repeated
and extended to verify each version of the software.
Like other SDLC models, Iterative and incremental development has some specific applications in the soft-
ware industry. This model is most often used in the following scenarios −
● Requirements of the complete system are clearly defined and understood.
● Major requirements must be defined; however, some functionalities or requested enhancements may
evolve with time.
● There is a time to the market constraint.
● A new technology is being used and is being learnt by the development team while working on the
project.
● Resources with needed skill sets are not available and are planned to be used on contract basis for
specific iterations.
● There are some high-risk features and goals which may change in the future

Output Screens: 46
47
48
49
50
AUTHENTICATION OUTPUT SCREENS:

51
52
53
54
Result Analysis
We have made a detailed analysis of various results and their expected output of our project. The
given below are the results we have identified in the result analysis.
1. collecting registration details:

We collect all the user registration details which they fill in the registration form and that user details
we store in our database.

2. Validate Registration form:

At the time of new user registration, we validate the form so that already registered users cannot be regis-
tered again

3. Collect login details:

A user can log in once he has successfully registered with us and we verify the user credentials with the user
details which we have stored in our database
4. Authenticate user:

Using OTP(One Time Password) authentication we authenticate the user. So that we can know that our
user was genuine or not.

5. Access Services:

Once the user is successfully login with our site then user can access all our services like casting the vote,
viewing the results .

6. Logout:

A user can log out at any time after successful login.

55
Expected Actual

Collect registration details Yes

Validate registration form Yes

Collect login details Yes

Authenticate user Yes

Access services Yes

Log out Yes

56
TESTING AND VALIDATION

Introduction

Validation is ensuring that all the customer needs are satisfied .Software testing is evaluating software re-
quirements against requirements gathered from users and system specifications.
Testing can be done using two approaches:
1) Functionality
testing 2)Implementation
testing Black box
testing:
In black box testing the functionality of the system is tested.Here we do not check how the project
is implemented.For a certain input if expected output matches with the actual output then the project is
success otherwise it has bugs.It is also known as behavioural testing.

White box testing:

In white box testing the implementation is also checked.It is also known as structural testing.In
this design and code structure are known to the tester.

Test Cases:

Test ID Operations Input Expected Output Actual Output Result

1 Login User name and password Navigate to authentica- tion Navigates to au- Pass
are taken as input page thentication page

2 Register All inputs are given cor- Navigate to login page Navigates to login Pass
rect where aadhar number page
is primary key

3 Cast vote Click Stores the vote and Stored the vote Pass
navigates to thankyou page and navigates to
thankyou page 57
Test ID Operations Input Expected Output Actual Output Result

4 Enter otp Otp number Navigates to voting page Navigates to Pass


voting page

5 Logout Click Logout Logouts and Pass


shows home
page

Validation:
After the testing phase, following outcomes were achieved.
1) User can access the website at any time.
2) User can cast the vote from any remote area.
3) User can get instance results of elections without any delay.
4) Security is provided with otp authentication and there is no issue of tampering of votes

58
CONCLUSION

Conclusion:

We are designing an alternative voting system besides the conventional voting system . Since , todays
world has become very familiar with internet and people don’t find time to go out for voting

By doing this project we were able to bring a new system for online national voting for our country. With
the advent of technology and Internet in our day to day life, we were able to offer advanced voting system
to voters both in the country and outside through our online voting system.
We are designing an alternative voting system besides the conventional voting system . Since , todays
world has become very familiar with internet and people don’t find time to go out for votingGatherings
are also very dangerous in this pandemic situations. Providing better solution to overcome the issues with
existing system

● On-line web-based voting system which reduces the cost of voting

● Instant results of election

● Higher voter turn-out

● Enables large number of people to cast their vote evn at remote places

● Time saving process

● Improves the accessibility

● Security and Confidentiality

Future Scope:

● It will increase the overall voting percentage

• It will reduce election expenditure

• It can be made more secure by using the advance security methods like biometrics

FUTURE ENHANCEMENT :

• Fingerprinting
59
• Cornea Detection

You might also like