You are on page 1of 58

A project report

for partial fulfilment of the requirements


for the Diploma of

COMPUTER ENGINEERING
November-2022

Submitted By :
206450307148 -- Shubham Ganesh Thakur
206450307140 -- Sachin Bijay Singh
206450307121 -- Dhruv Dharmendrakumar Rana
206450307114 -- Ved Priyavadan Mehta

Guided By
Mr. LALIT KUMAR PANDYA

Submitted to

COMPUTER ENGINEERING DEPARTMENT


TEXT - BASED
GRAPHICAL LOGIN SYSTEM
TO
AVOID SHOULDER ATTACK
CERTIFICATE
This is to certify that 206450307148 -- Shubham Ganesh Thakur,

206450307140 -- Sachin Bijay Singh, 206450307121


Semester --
ofDhruv
diploma
Dharmendrakumar Rana,has
in computer engineering 206450307114 -- Ved
successfully carried outPriyavadan
project work
Mehta in 5th
entitled Semester
“ Voting of diploma
Application ” in computer engineering has

successfully
of Diploma carried out project
in Computer work.entitled
Engineering "Graphical
This project Login
work has been

System
carriedTo Avoid
out underShoulder Attack"
my guidance and for partial
is up to myfulfilment
satisfactionfor
. the

award of Diploma in Computer Engineering. This project work

has been carried out under my guidance and is up to my satisfaction.

Date :

Place :

Signature & Name of Guide HOD Sign

LALITKUMAR PANDYA MAHIPALSINH VANSIA


ACKNOWLEDGEMENT

we take this opportunity to express our gratitude to all those people


who have been directly and indirectly with us during the completion
of this Project.

we pay special thanks to our project guide Mr. Lalit kumar Pandya,
who was very supportive and compassionate throughout the
preparation of this project report. we would like to pay our sincere
gratitude for his timely guidance and direction during the course of
my project Mr. Lalit kumar Pandya's technical knowledge, caring
attitude and Capable leadership have been a source of inspiration for
us. we would also like to thank him for providing us the all the
resources that we needed for successful completion of our project.
His honest advice always helped us to improve ourself professionally
and personally. our special thanks for our respected parents who
parents,encrouged
always who provided exceptional
and motivated moralmaking
us while and technical support
project report.
during
and the course
finally of my
we would likeproject.
to showThey all inspired
my gratitude and encouraged
to Almighty. as It
me tonot
would carry
haveout
beenthis projecttoreport
possible in best
accomplish of without
this contents. Finally I
their
would like to acknowledge my profound gratitude to Almighty. It
blessings.
would not have been possible to accomplish this without their
blessings.
TABLE OF CONTENTS

TITLE PAGE NO.

Abstract

1.0 Introduction

1.1 Characteristics of Existing System 1

1.2 Overview of Proposed System with Advantage 1

1.3 Scope (Scope – List of Modules and their Functions) 3

1.4 Process Model – (Describe the process model with Reason.) 7

2.0 System Requirements Specification

2.1 User Characteristics (Type of users who is dealing with the system

and their roles) 9

2.2 Functional Requirements (Describe each module and its

functionalities) 12

2.3 Non-Functional Requirements 14

3.0 System Analysis Modeling – User-based

3.1 Feasibility Study of the New System – Here you have to discuss 17

the following feasibilities:

Technical Feasibility, Time Feasibility, and Cost Feasibility.

3.2 User-Based Modeling

3.2.1 Use Case Diagrams 20


4.0 System Analysis and Design – Data-based

4.1 Data Modeling

4.1.1 Data Dictionary (List of Database Tables 27

included in the system)

4.1.2 E-R (Entity-Relationship) Diagram 33

4.2 Behavioral Modeling

4.2.1 Data Flow Diagram

4.2.1.1 Context Level Diagram (Level 0) 34

4.2.1.2 DFD – Level 1 35

4.2.1.3 DFD – Level 2 39

5.0 System Design – UML

5.1 Sequence Diagrams 43

5.2 Activity Diagrams 44

Conclusion 48

Future Enhancement 49

References 50
ABSTRACT
Earlier, we were using textual passwords. Textual passwords are MS

elections have been conducted in India for past decades. But for the first time,
string of characters (which may include numbers or special
n are not
characters). These textual passwords are widely and mostly
about
used. But they are not totally or fully secured. Therefore, we
have
face security
canceled issues bythe
or postponed using this scheme
elections of textual
but this passwords.
is not the solution to the
pthe issues like shoulder surfing.

ns can
beShoulder-surfing attacksphones
conducted from mobile are a well-known
with the helpthreat to textual
of a voting application For
the safety of people
passwords, and for A secure
Shoulder-surfing occurselection. Our Voting
when attackers Application will
skillfully
feature registration of political parties And their candidates, voter
capture important data/activities, such as login passwords, via
R didates. Voting
direct observation or video recording methods. observing all this
application will be highly secured and User friendly Ui. Each Voter Will Have
problem
his/her we make
unique id andapassword
graphicalfor
based
loginlogin system through
to participate which
in voting after the
guessing the entered password is somehow difficult. ve
p
upport tab that will help users if they face any
problems regarding elections. Users will also be able to see past elections
Our text based graphical login system will help user to login into their
results (if any) along with the upcoming scheduled elections.
account more securely, stalker will not be able to collect the password

via shoulder surfing, complex password technique with easy and


Voting application will be a lot Helpful in elections and a revolutionary step in
attractive user interface.
democracy. This will save many crores of money spend on elections and can
be used in the development of the county.
206450307148,206450307140,206450307121,206450307114 Graphical password to prevent shoulder attack

1.0 INTRODUCTION

1.1 Characteritics of Existing System

Graphical passwords were originally described by BLONDER in 1996.

A graphical password system is an authenication system where authentication


takes palce with the help of graphics or image, rather than letters,digit or special characters.

There are various graphical authentication system which are described below:-

1) Draw-A-Secret(DAS) Scheme:-

- user draw a simple picture on a 2D grid,the coordinates of the grids occupied by


the picture are stored in the order of drawing.
- redrawing has to touch the same grids in the same sequence in authentication.

2) Pass Point Scheme:-


- User click on any place on an image to create a password. a tolerence around each
choosen pixel is calculated. in order to be authenticated, user must click within the

tolerances in the correct sequence.

Online Voting System is a very important and revolutionary step in democracy. Our
goal is to develop a mobile-friendly application that will allow a user to participate
in voting from anywhere in the world with just their smartphones. Voting
Applications will be helpful in conduction elections in colleges, schools, and even

1
KJP (5TH CE)
206450307148,206450307140,206450307121,206450307114 Graphical password to prevent shoulder attack

3) Dhamija and Perrig Scheme:-


in state and national elections. The main aim of an online voting system is to provide
- Pick several
convenience to pictures outasofwell
the voters many choices,
as the identify
election them later
conducting in authentication.
committee and officers
at ground level. This Application will help us in casting votes much faster compared
to EVMs.Voting App will help us in reducing time, cost, and human effort.

The Application will have an easy user-friendly user interface that each voter can
understand the app and doesn't face any problem in Voting. Each Voter's data is
stored in the database which contains essential information such as Voter Name,
Date of birth, State and constituency of voting, and if he/she has voted or not.

4) Pass Face Scheme:-

- In this technique human faces are used as password.


Voters First have to register themselves as a voter. After this, their entered details
will be verified and upon completion of verification voters can log in to the
application. Upon successful Login, the user will see their Details and voting Screen.
In the Voting Screen users can select their representatives. Once a voter submits
his/her response, then resubmission is not permitted this ensures voting app that
there is no face Voting in the elections.

1.2 Overview of Proposed System with Advantage

The main aim of our graphical authentication system is to provide the user friendly
being present physically at polling booths. This Feature will help users to
interface, which will help the user to access the system more securely. Our system
cast their votes From their comfort zone , as the casting of vote becomes
will contain multiple boxes with different border color with four characters in each box.
the user has to make a strong password which contains the upper-case letter,

lower-case letter, special characters and should select a color at the time of

registration process.
voting finishes or the voting time expires. No no need to wait longer like in

2
KJP (5TH CE)
206450307148,206450307140,206450307121,206450307114 Graphical password to prevent shoulder attack

Once a user is registered, then at the time of login user has to enter registered email
and password will be entered by switching the border color (which was selected at the
results physically.
time of registration) between the boxes.

3. Security: For voting security, Each user will be allocated a unique user id
ADVANTAGES:-
and password upon the successful verification at the time of registration in
1) Helps users to login into their account more securely.
application.

2) Stalker won’t be able to collect the password via shoulder surfing.


4.One
3) Complex User One
password Vote:with
technique The easy
voting application
user interface.will only allow one person to
vote only for one time only. With this feature, No duplicates or fake votes
will be done.

1.3 SCOPE ( SCOPE – LIST OF MODULES AND THEIR


5. Voting
FUNCTION ) Support: If any user faces any problem in using the application or
any, then our app contains A faq corner and if he/she can't solve the problem
he/she
Text based can alsopasswords
graphical raise a support
createticket So, that atechnology
an alternative concerned and
teamapproach
can helpfor
the
textualuser.
passwords, offering a number of advantages to the existing methods of
authentication in time to come, it has a great scope.

- Modules:-
FUNCTION )
1. Administrator:

The administrator is the owner of the project. He can add business rules to the system.
He can add
E-voting onlythe Manager
takes a smalland
partgives
of thethe details
whole to managers.
election process. He cana change
From hispoint
technical password.
of view, it only focuses on:
2. User:

User can log in to the system through the application that too after the registration.
1)-Calling of elections.
they can change the password after logging into the system. He can see the available
2)-Registration of candidates
service3)-Preparation
on their account.
of the polling list
4)-Voting proper
3. Login:
5)-The
The login counting
page of votewill appear, if the user is registered then they have to
of the system

enter the registered email and the password through graphical password system,
3
KJP (5TH CE)
206450307148,206450307140,206450307121,206450307114 Graphical password to prevent shoulder attack

by the help of color selected at the time of registration process.


Auditing, reviewing and follow-up can also be a part of e-voting’s scope. Also, it is
4. Registration:
not the e-voting’s responsibility to campaign or influence people for an advantage
ofThe
other people’s
system has ainterests
process .ofVoting Setup Every
registration. In other words
user thetoinput
needs fill allofthe
thedetails
e-voting
system is made
of the user, up from:
including their favourite security color, email etc. Whenever a user

completed his/her registration then only a user can get log in into the system by
a)using
Voter
theirlists
user(including
id and textthe polling division and constituency assigned to the
password.
voter),

1.4 PROCESS MODEL


b) Candidate lists (by constituencies),
Spiral Process Model

Spiral model is one of the most important Software Development Life Cycle
models, which provides support for Risk Handling. In its diagrammatic
a) Summarized
representation, it looks likevoting result
a spiral withofmany
e-voters,
loops. The exact number of
loops of the spiral is unknown and can vary from project to project. Each
loop of the
b)spiral
List is
of called
votersawho
Phase of the
used software
e-voting. development
With process.
all of the things The and
needed,
exact numberthe
of people
phases who
needed to develop
needs thethe
to manage product
systemcan be variedthen
is present, by managing
the
project manager depending
of the votes upon the project
can now risks. As
be started the project
E-Voting managerSections
Procedure
dynamically determines the number of phases, so the project manager has an
Electronic voting is the same with the envelope method of election.
important role to develop a product using the spiral model.
Voters are allowed to vote in a polling area where machines are
provided for them to use.

The Radius of the spiral at any point represents the expenses(cost) of the
➢ Modules
project so far, and the angular dimension represents the progress made so far
1. Voter
in the current Registration And Verification
phase.
In this module, the voter will register on voting application with their
username , password and the necessary documents like birth
certificate etc. after uploading the required documents then the
uploaded documents and details will be verified by the system
administrator and upon successful verification the voters will be

4
KJP (5TH CE)
206450307148,206450307140,206450307121,206450307114 Gr aphical passwor d to pr event should er attack

notified by email provided at the time of registration and now the


voter can login with their username and password.

2. Candidate Registration And Verification


In this module the candidate will register on voting application, same
as of voter . candidate has to provide their details like
name,address,qualification etc. he/she also have to upload their birth
cirtificates at the time of registration . If the candidate has provided
the required details and documents then the candidate application of
registration will be queued up for the verification of the details and
documents .As soon as the details are verified by the staff member
the candidate will also be notified by the email that he/she is eligible
for being as a candidate .Now, the candidate can login into the system
with their username and password.

3. Voters can view candidate profiles and data


In this module, the Registered voters are allowed to see the candidate
profile and feeds shared by the candidate. The candidate profile
mainly consists of the candidate name, profile picture , candidate
party informantion along with the party code and the candidates
manifesto for the election . Voters can also interact with candidate by
feed posts , voters can view the feeds shared by the candidate .

4 . Admin Login
In this module, the system admins will be able to log in the system
with the predefined ids and passwords . Admin login will be highly
secured and full proof login environment , so that nobody can steal
or hack the admin id and password and manipulate the election or
election results .

5
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

5. Admin Dashboard and overall functions Privileges.


Upon the successful login of the administrator , the admin dashboard
will be opened . Dashboard will have the details of the registered
number of voters , registered candidate , election date and timing etc
.dashboard will be a lot helpfull for the admin in order to manage the
whole system . Admin also have a permission / privileges
management tab/option which will allow admins to assigns the some
orr full privileges to staff members whenever needed at the
required/emergenc moment.

6. Creating Election Module.


In this module, the admin will be able to create the election . Election
creation means admin will be allowed to create a session/event in
which the registered voters can cast their votes. Creating election will
requires the currect date and time of the day when the election will
be organized.

7. Withdrawal of candidate.
In this module, in any circumstances the candidate decides to
withdraw his/her name from an election, he/she will be provided a
withdraw option in their setting options and upon successful
withdrawal, he/she will not be able to register as a candidate , if
he/she withdraws his/her name as a candidate then also he/she will
be able to vote in the election, if eligible.

8. Vote Counting.
In this module, the votes will be counted . vote counting will be only
done by the administrator only,staff members are not allowed to
count the votes.Admins will have a option to automatically count the

6
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

votes by using a automated program/system , which will be a lot


helpful in saving out time and manpower

9. Result Declaration.
In this module, the result will be displayed publically when the
admin approves the results . Admin has the right to discard the results
and the election if he/she notices / find any manipulation in the
system ,if the manipulation is found then he/she has the power to
discard the result, and if no errors are found out the result will be
published by the admin. The voters and the candidate will able to see
the result in the separate tab provided for the result.

Spiral Process Model

Spiral model is one of the most important Software Development Life Cycle
models, which provides support for Risk Handling. In its diagrammatic
representation, it looks like a spiral with many loops. The exact number of
loops of the spiral is unknown and can vary from project to project. Each
loop of the spiral is called a Phase of the software development process. The
exact number of phases needed to develop the product can be varied by the
project manager depending upon the project risks. As the project manager
dynamically determines the number of phases, so the project manager has an
important role to develop a product using the spiral model.

The Radius of the spiral at any point represents the expenses(cost) of the
project so far, and the angular dimension represents the progress made so far
in the current phase.

7
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

The below diagram shows the different phases of the Spiral Model: –

We Are using spiral process model because :-

1. Risk Handling : Our project with many unknown risks that occur as the
development proceeds, in that case, spiral model is the best development model
to follow due to the risk analysis and risk handling at every phase.

2. Flexibility in Requirements: We can change requests in the requirements at


later phase can be incorporated accurately by using this model.

3. Voter Satisfaction: Voter can see the development of the application at the
early phase of the software development and thus, they habituated with the
system by using it before completion of the final application.

8
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

2.0 SYSTEM REQUIREMENTS SPECIFICATION

2.1 USER CHARACTERISTES.

There are basic four user in this project which help us to make this project
easy to use and user friendly with all logical and conceptual functionalities.

All users with roles mentioned below:-


1)-Admin
2)-Staff Admin
3)-Candidate
4)-Voters

1) Admin

Admin is the main role of this project who can handle each and every functionality
of this voting application.There may be separate admin panel for admin by Which
admin can handle all activity of voting system.

Basically, admin work is to stores the user information provided at the time of
registration and performing the adding, deleting, updating the user and election
candidate information . The admin is the person who grants the permission to voter
to vote and candidate to stand as a candidate and vote only after the successfull
completion of the verification process. Admin is the one who decides the date and
time on the whole election process and vote declaration timing . admin can also
disapprove/remove the candidate if he/she shares the disappointing feeds or images
that are manipulation and are against the terms and condition of the system.

9
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

Few Major Function of Admin are mention below:-

1. Admin can add list of all parties with their name and logo with proper
validations.

2. Admin can add candidate from his panel with valid authorization

3. Admin can also verify the candidate who can direct register itself.

4. Admin can also verify the Voters from his Side.

5. Admin can add voters also with their valid documents.

6. Admin need to verify the all documents for both candidate and voters.

2. Staff Member

Staff member is the person who handles the whole system on the behalf of the
admin , if admin is not available. Staff members have permissions to

1. Approve or disapprove voter / candidate.


2. Validate the details of change in name/address.
3. Can give approval to Candidate manifesto and feeds posts.
4. Validate the documents provided by the voters and candidates.

These are the some privileges which are given to staff members for the system. Staff
members can’t be able to create orr publish the results of the election . In certain
circumtances , Admin is not available / not present in the system , then the admin
may provide the staff members to create and also publish the election results.

3. Candidate User

Candidate have their unique role with limited permission , and they are also a type
of end user who can add their details. Candidate users can edit their profile details
including name , address etc, Candidate users can also add their party information

10
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

along with the party code. Candidate user can also share the feeds and images
regarding their election campaign. Also candidate users can add their party
manifesto in pdf format .

There are some functions for Candidate User mention below:-

1) Candidate will be add by two ways by the Admin or they can also register
itself directly from panel.

2) Candidate needs to upload his valid documents for the registration and
needs to wait for admin Approval.

3) They also need to verify his Email by which they can receive latest update
regarding his profile and our portal.

4) They also need to provide the necessary details of the their party and has
to upload the manifesto of their party.

4. Voter User

The core user of our voting system is voter . Our system is designed to provide the
convenient to the voters .Yet the voters are have some of their functionality which
are listed below :-

1) They needs to verify his Identity proof from Admin

2) They have their unique login credentials by which they can use this portal

3) They can give their vote to respective parties.

4) They can also check Election result which is uploaded by Admin after
counting.

11
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

2.2 FUNCTIONAL REQUIREMENTS

1. Mobility:

The voter should not be restricted to cast his ballot at a single poll-site at his home
precinct.

• Realistic: He shall be able to vote from any poll-site within the nation.

• Unrealistic/Expensive: He shall be able to vote from any county-controlled kiosk


(situated at public places such as banks, shopping malls, etc.) within the nation.
(Unrealistic because of logistical and cost issues).

• Infeasible: He shall be able to vote from virtually anywhere using an Internet


connection. (Infeasible both for technical security issues as well as social science
issues).

2. Convenience:

The system will allow the voters to cast their votes quickly, in one session, and
should not require many special skills or intimidate the voter (to ensure Equality of
Access to Voters).System may not be difficult to understand and must be supporting
multi languages so that the none user will face problems in understanding the system.

3. User-Interface:

The system shall provide an easy-to-use user-interface. Voter will not able to face
any problems in using and navigating throughout the application . User – interface
will needs to be attractive with modern ui design ,So that the Voters and candidates
will not be bored of using our application . Also, at the time of Actual voting it shall
not disadvantage any candidate while displaying the choices (e.g., by requiring the
user to scroll down to see the last few choices).

12
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

4. Transparency:

Voters should be able to possess a general knowledge and understanding of the


voting process. We have to gain the trust the of users on our voting system so that
the user uses our application to vote.

5. Flexibility:

The system shall be flexible in that it allows a variety of ballot question formats
including open-ended questions (e.g. Write-in candidates and survey questions).

6. Accuracy:

The system shall record and count all the votes and shall do so correctly.

7. Eligibility:

Only authorized voters, who are registered, should be able to vote.

8. Uniqueness:

No voter should be able to vote more than once.

9. Auditability:

It should be possible to verify that all votes have been correctly accounted for in the
final election tally, and there should be reliable and demonstrably authentic election
records, in terms of physical, permanent audit trail (which should not reveal the
user’s identity in any manner).

13
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

10. Voter confirmation:


The voter shall be able to confirm clearly how his vote is being cast, and shall be
given a chance to modify his vote before he commits it.

11. No over-voting:
The voter shall be prevented from choosing more than one candidate / answer.

12. Under-voting:
The voter may receive a warning of not voting, but the system must not prevent
under voting.

2.3 Non-Functional Requirements.

1. Security

Most online voting systems claim to be secure referring to cyber security and
resistance to cyber attacks. However, this is not enough. A voting system is secure
in the sense that we can trust that the results of an election are fair and correct while
protecting voters’ privacy. This is challenging because a voter must be able to trace
the effect of her vote on the result, while on the other hand privacy requires that a
vote cannot be traced back from the result to a voter.

a) End-to-end verifiability
Not only must the system operate correctly and election results must be fair,
but it must be possible for participants and external observers to certify this
unequivocally. It is auditable voting platform makes it possible for voters to
ensure that:

• Their choice was correctly encoded on the ballot by the system (cast-
as-intended)

14
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

• Their ballot was received the way they cast it (recorded-as-cast)

• Their ballot counts as received (tallied-as-recorded)

b) Privacy

It keeps ballots truly secret so that a vote does not identify a voter and any
traceability between the voter and its vote is removed. Not even the
administrators of the voting system or anyone with privileged access to
hardware/software can violate this privacy.

c) Maintenance

We propose that a change to the standards, requirements or system must


result in a recertification of systems. A major risk with recertification is that
a requested change to requirements cannot be implemented in time for
recertification of the machines before their next use. A bigger risk is that
the machines cannot be changed (with reasonable cost) in order to meet the
new requirements.

We note that the e-voting systems will normally have to change in


response to changes to standards and requirements. However, a new
requirement can often be met in one of three ways: Make no changes to the
machine but change the procedures for using the machines. Make changes
to the machine but no changes to the procedures. A combination of the
above. We note that making changes to the machines is a high-risk option
where software is involved: a small change in one software component
can result in undesirable behaviour in other software components. E-
voting systems, being man-made are facts, are not expected to be perfect.
Thus, we expect to have to manage a situation where a machine is shown to
malfunction. In such a situation, there are two distinct possibilities: The
machine is incorrect in the sense that it does not meet its requirements.
15
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

The requirements were incorrect in the sense that they did not correctly
express the needs of the customer. In the first instance, we must change the
implementation and recertify the machines. Furthermore, we must also
investigate how the machines were incorrectly certified to be correct in the
first place, and introduce maintenance mechanisms to ensure that this type
of problem cannot happen again. In the second instance we must change the
requirements documents (and, as is normally done, carry these changes
through to the implementation of the e-voting system).

16
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

3.0 SYSTEM ANALSIS MODELING – USER – BASED

3.1 Feasibility Study of the New System – Here you have to


discuss the following feasibilities:
Technical Feasibility, Time Feasibility, and Cost Feasibility.

1) Technical Feasibility:-

➢ PRIVACY

Privacy is the most important for users and the system.

As a user, these are some points from which users can keep their privacy.

1. User must not share their credentials with anyone.


2. User needs to change their password on regular basis.
3. User must check their login activities and active logins.

A system is said to be private if :

1. Neither admins nor voting conducting officers should know which user
has given the vote to that particular party.

2. Any user may not be able to take a screenshot and share it in public
groups.
3. Any user may not be able to prove that to whom they have voted.

The system must be protected against buying and selling of votes. So, the
system Must not let the users prove to someone that he/she has voted for a
particular party/candidate. If the voters can't be able to prove that he/she
voted for a particular party/candidate then buying and selling of votes will
be stopped completely.

17
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

➢ Convenience

A system must be easy to use that with minimum equipment or with any
special skills anyone can vote using the Application.

If the system is convenient then the application is much easier to use and
voters will take part actively. A convenient Application must let the user vote
instantly and with minimum steps to vote. Application must have a clean
and beautiful user interface . Application must be convenience in such a that
no user face any difficulty in navigating in the application and doesn’t face
any problem at all.

➢ CORRECTNESS

Every System/data must be correct in any organization/software. In


Software, if the entered data is not correct then the final data will also not be
correct. So, Correctness must be there in any system. Voters' data must be
recorded correctly and maintained properly. From Registration To vote to
count the system must work correctly.

2) Time Feasibility:-

For the Time Feasibility we will write very efficient and reusable code by
which we can make it ready under the deadlines. Basically we will follow
modular approach to make this project in specific time line and it will give
best result in the point of Time Feasibility . Each module will divided in
small section by which we can write functional code for each sections so by
which we can manage all the modules in very efficient way and all of the
modules will follow same structure for their working. Most Feasible module

18
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

in terms of Time Feasibility is Admin module which manage almost all other
modules and it will also increase the reusability for each section.

In terms of accuracy, result section for election is very critical and also we
need to make all counting of votes should be accurate and also managed
under time .With the code reusability we can make it quite easy and
understanding of every types of users like Admin,Candidate,Voter,Staff
Admin/Member.

At the end time feasibility will manage on each and every stage of this portal
to give effective and good experience to each user.

3) Cost Feasibility:-

Using Automated Digital systems, Websites and Mobile applications will surely
cut off the cost used for voting in the traditional method. Online systems will save
a lot of money and time for the government. Switching from offline election to
online election may save us lots of money. For example, if there is more than one
election in a year then in the traditional system the money will be used twice or
trice in making all the arrangements for voting. But in Online based voting system
we have to invest for the only time and we can use the system many times
throughout the year for conducting many elections with efficiency and accuracy.

The traditional system contains the cost of Machines, Logistics, manpower, ballot
papers. this cost will be reduced by the E-voting but E-voting systems will
include the costs like :

1. Software Development
2. Hardware Systems costs.
3. Maintenance Cost.
4. Man Power Cost.
19
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

3.2 User-Based Modeling

3.2.1 Use Case Diagrams

A use case diagram is a graphical depiction of a user's possible interactions with a


system. A use case diagram shows various use cases and different types of users the
system has and will often be accompanied by other types of diagrams as well. The
use cases are represented by either circles or ellipses.

In the Unified Modeling Language (UML), a use case diagram can summarize the
details of your system's users (also known as actors) and their interactions with the
system. To build one, you'll use a set of specialized symbols and connectors. An
effective use case diagram can help your team discuss and represent:

• Scenarios in which your system or application interacts with people,


organizations, or external systems
• Goals that your system or application helps those entities (known as actors)
achieve
• The scope of your system

There Are Total 4 users in our system – Voter , Candidate , Staff and Admin
User.

20
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

1. VOTER

Register on application: This is a major functional requirement of the system.


In this case, the Voter’s provides their details and on the system and stored in
the database , then sent for validation to the staff member

Complete their profile: After the registration, the user profile is generated in
that Voter can add or change the details on their voting profile like name ,
address, profile photo etc.

Can also view candidate profile: Voter can also view the candidate's profile.
Candidate profile consists of various information about the candidate and their
respective party .

See party announcements and manifesto: Voters can also see the
announcements and manifestos of different parties and candidates.

Cast vote: The voter can exercise their vote and choose their loved and preferred
candidate for the election.

View result: Now the voter can view results for all the elections that have been
closed.

21
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

FIGURE : USER CASE DIAGRAM FOR VOTER

22
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

2. Candidate

Register on application: The candidate has to register them selves

the voting application

Complete their profile: After the registration, the Candidate profile is generated
in that Candidate can add or change the details on their Candidate profile.

Upload party manifesto: Candidate user can upload party / their manifesto and
can also add party information.

Can send announcements or post: Candidate users can Share some


announcements or post on their profile/feed.

Cast vote: Candidate users Are also allowed to vote (if eligible).

View votes: Now the user can view results for all the elections that have been
closed.

23
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

FIGURE : USE CASE DIAGRAM FOR CANDIDATE

24
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

3. Staff member

Approve / disapprove user: Staff members can approve and disapprove the
`users upon the validation of their details or documents provided be the users.

Manage voters : Staff members also be able to manage voters and candidate
users . if some changes are their in user name then if the user requests for change
then the staff member can approve or disapprove the changes done by the user.

Manage candidate list : Staff members has the list of the total registerd
candidates . staff member can also reverify the details and if finds any error staff
members will ask the candidate to solve that information error

FIGURE : USE CASE DIAGRAM FOR STAFF MEMBER

25
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

4. Admin

Approve or Disapprove User: Admin has the right to approve or disapprove


the user if required. Generally a user is removed because of invalid
information.

Manage voters: Admin can be able to see all voters and their profiles and
also can manage them.

Manage candidate list: Admin can Manage the candidate list which means
admin can add or remove a candidate.

Manage election: Admin Can create or close the elections And be able to
manage the whole election process.

Manage result: Admin can Release the result, can be able to see the results,
and also has the privileges to discard the results.

FIGURE : USE CASE DIAGRAM FOR ADMIN

26
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

4.0 SYSTEM ANALYSIS AND DESIGN – DATA-


BASED

4.1 Data Modeling

4.1.1 Data Dictionary

A Data Dictionary is a collection of names, definitions, and attributes about


data elements that are being used or captured in a database, information
system, or part of a research project. A Data dictionary also provides
metadata about data elements.

Data standards are rules that govern the way data are collected, recorded, and
represented. Standards provide a commonly understood reference for the
interpretation and use of data sets.

By using standards, researchers in the same disciplines will know that the
way their data are being collected and described will be the same across
different projects. Using Data Standards as part of a well-crafted Data
Dictionary can help increase the usability of your research data, and will
ensure that data will be recognizable and usable beyond the immediate
research team.

27
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

The following database tables will be used by the voting system:

1. voter
2. Candidate
3. Staff
4. Voting
5. Authentication
6. sharing
7. Result
8. election

FIGURE : DATABASE DESIGN FOR VOTER

28
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

FIGURE : DATABASE DESIGN FOR CANDIDATE

FIGURE : DATABASE DESIGN FOR STAFF

29
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

FIGURE : DATABASE DESIGN FOR VOTING

FIGURE : DATABASE DESIGN FOR AUTHENTICATION

30
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

FIGURE : DATABASE DESIGN FOR SHARING

FIGURE : DATABASE DESIGN FOR RESULT

31
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

FIGURE : DATABASE DESIGN FOR ELECTION

32
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

4.1.2 E-R (Entity-Relationship) Diagram

FIGURE : ER DIAGRAM

33
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

4.2 Behavioral Modeling

4.2.1 Data Flow Diagram

4.2.1.1 Context Level Diagram (Level 0)

FIGURE : Context Level Diagram (Level 0)

34
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

4.2.1.2 DFD – Level 1

➢ Voter

FIGURE : Level 1 DFD FOR VOTER

35
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

➢ Candidate

FIGURE : Level 1 DFD FOR CANDIDATE

36
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

➢ Staff member

FIGURE : Level 1 DFD FOR STAFF MEMBER

37
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

➢ Admin

FIGURE : Level 1 DFD FOR ADMIN

38
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

4.2.1.3 DFD - Level 2

➢ Voter

FIGURE : Level 2 DFD FOR VOTER

39
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

➢ Candidate

FIGURE : Level 2 DFD FOR CANDIDATE

40
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

➢ Staff member

FIGURE : Level 2 DFD FOR STAFF MEMBER

41
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

➢ Admin

FIGURE : Level 2 DFD FOR ADMIN

42
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

5.0 System Design – UML

5.1 Sequence Diagram.

FIGURE : SEQUENCE DIAGRAM

43
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

5.2 Activity Diagrams:

➢ Admin

FIGURE : ACTIVITY DIAGRAM FOR ADMIN

44
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

➢ Staff member

FIGURE : ACTIVITY DIAGRAM FOR STAFF MEMBER

45
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

➢ Voter

FIGURE : ACTIVITY DIAGRAM FOR VOTER

46
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

➢ Candidate

FIGURE : ACTIVITY DIAGRAM FOR CANDIDATE

47
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

Conclusion :

This Online Voting System will manage the voter’s and candidate by which they can login
and use his voting and election right respectively. The system will provide all features of
voting system . It provides the tools for maintaining voter’s vote to every party and it count
total number of votes of every party/candidate .There is a Database which stores all the
information regarding the Voter’s , Candidate, Admin and Staff Admin also .

From the technical point of view, it would be possible to implement an online voting system,
but there are deficiencies in how the verifiability and the prevention of pressuring voters
could be reconciled. In practice, voters would have to be able to ensure that their vote has
been counted as cast, but the system should still not produce a receipt that could be used to
pressure voters or sell votes. The most significant risk is related to voters' confidence and
the possibility of losing it. It is possible to shake voters' confidence in the voting system
even without any actual technical capabilities, since harm can be done just by spreading
false information and rumors. When votes can be concretely counted and recounted, it is
easy to remove any suspicions of manipulation of the election results, at least. The electoral
organization should have the means to identify harmful activities, prevent them and obtain
the evidence required to bring criminal charges or to verify that the election result is
indisputable and no manipulation has taken place. Currently, this is not yet possible.

In this user who is above 18 years register his/her information on the database and when
he/she want to vote he/she has login by his Email ID and password and can vote to any
party/candidate only single time. Voting Details stores in Database with the voter and Party
Details, and the result is displayed by the calculations. By online voting system percentage
of voting is increase. It is very easy to use and it is very less time Consuming.

48
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

Future Enhancement :

There are some points below which describe the future enhancement of online voting
system.

1) This project can be enhanced to work over the mobiles that is voting is made possible
through the mobile through SMS.

2) This system can be made vote through the internet and also multiple election with voting
can possible ,

3) Number of candidates and voter could be increased.

4) It could be interfaced with printer to get the hard copy of the result and other necessary
documents at almost instantly from the machine itself.

5) Once the result is on the server it could be relayed on the network to various offices of
the election conducting authority.

49
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

References :

Android voting app using firebase :


https://androidapps-development-blogs.medium.com/android-online-voting-app-using-
firebase-android-studio-java-107f1c99e203

Android voting system :


https://nevonprojects.com/android-voting-system/

Where can i get voting help :


https://m.economictimes.com/election-guide/where-can-i-get-voting-help-
online/articleshow/68964183.cms

Election commission of India :


https://eci.gov.in/

About election commission of india on wikipedia :


https://en.wikipedia.org/wiki/Election_Commission_of_India

Electronic voting machine (Evm):


https://en.wikipedia.org/wiki/Election_Commission_of_India#Electronic_voting_machine
s_(EVM)

Postal ballot system;


https://www.huffingtonpost.in/entry/postal-ballots-how-to-vote-if-you-live-away-from-
home_in_5c3c3d91e4b0e0baf53ec910

Use case diagrams :


https://online.visual-paradigm.com/diagrams/tutorials/use-case-diagram-tutorial/

50
KJP (5TH CE)
196450307534 , 196450307565 VOTING APPLICATION

Right2vote :
https://right2vote.in/

Voting software :
https://www.capterra.com/voting-software/

Voting services :
https://www.surveyandballotsystems.com/services/voting-services/directvote/

Voting system using fingerprint :


https://www.youtube.com/watch?v=V8YAZJbsBEc

Voting system in php :


https://www.youtube.com/watch?v=3x697N7sHl8

Online election system :


https://www.youtube.com/watch?v=WOHhH5BOQfM

51
KJP (5TH CE)

You might also like