Online Voting System Using Python

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 48

TOPIC NAME

ONLINE VOTING SYSTEM USING PYTHON

1
TABLE OF CONTENT

PARTICULARS PAGE NUMBER

INTRODUCTION 3–5

PROJECT ANALYSIS 6 – 10

MEHODOLOGY AND SYSTEM 11 – 45


DESIGN
MODULE DISCRIPTION 46 – 47

FUTURE SCOPE AND LIMITATION 48 – 49

CONCLUSION 50

BIBLIOGRAPHY AND REFERENCE 51

2
INTRODUCTION
Elections allow the populace to choose their representatives and express their
preferences for how they will be governed. Naturally, the integrity of the election process is
fundamental to the integrity of democracy itself. The election system must be sufficiently
robust to withstand a variety of fraudulent behaviors and must be sufficiently transparent and
comprehensible that voters and candidates can accept the results of an election.
Unsurprisingly, history is littered with examples of elections being manipulated in order to
influence their outcome.

Purpose of project:

 “Voting system” organizes record of vote


 It reduces the paper work and semi automates the procedure of voting system.
 It makes the record storing, Updating, Deleting process easier.

Scope of project:

 Voter will be able to vote from anywhere for his/her Constituency.


 Vote counting will become easy and fast.
 No Vote will be rejected.

Background of Study

In every democratic setting with persons of differing and inconsistent opinions, decisions
must be made between several options. This happens in business environment, educational
environment, social organizations, and mostly in governance. One of the ways of making
such a decision is through voting. Voting is a formal process of expressing individual
opinions for or against some motion. In the governance sector of many organisation this
process is always used as a means of selecting or electing a leader. One of the key areas
where voting is applied is in election. Election is the formal process of selecting a person for
public office or of accepting or rejecting a political proposition by voting.

3
Voting System Overview

Voting as a term encompasses a broad range of voting systems that apply elements in one or
more steps of the cycle. There are many levels to voting in a broad sense which could be
collation, verification, internet voting, remote online voting e.t.c. Following the definition of
a system as anything that takes an input and gives an output, an voting system is any system
that can offers both electronic and online voting. It could also incorporate registration,
verification, collation, remote online voting and real-time result display. An voting system
generally comprises the following for it to work efficiently:

 An interactive voting user interface on an device which provides a friendly


environment for voters to authenticate and cast their votes, it also serves as a means of
collection the individual votes and storing them in the local and central database.
 An administrative dashboard for voters registration, details update and coordination
and monitoring.
 A database management system for the storage of election, voting and voters data.
 A result display interface.

Voting system serves to reduce the cumulative costs of running and increase voters
participation in election system as it offers voters an easy and convenient way to vote and
most importantly, it is a panacea to the issue of long distances covered by voters to a specific
destination for their votes to be counted, and also it combat the issues of ballot box snatching
which is rampart in the conventional election process.

Problem Statement

The present voting system applicable has proved inefficient as the voters’ registration
process is slow, the manual collation of results takes time and gives room for result
manipulation, also the inaccessible nature of election venues which includes the long
distances to be covered by voters’ to their registered location increases voters’ apathy
towards the election processes, and finally the issues of ballot box snatching and damage

4
and other election violence and issues associated with the traditional ballot paper voting all
defiles the purpose of voting in election process as a formal process of expressing individual
opinions for or against some motion.

Aim and Objectives

In the quest to design a successful system to tackle the issues stated in the problem
statement, the aim and objectives of the project are outlined below.

Aim

The aim of this project is to design and implement a low cost automated real-time voting
system.

Objectives

Project Objectives includes

1. A detailed study of the election processes as it pertains to voting.

2. Design and develop a software platforms for voter registration, election voting,
real-time election results collation and monitoring and mostly for voters remote
access to elections.
3. Design and develop an administration dashboard for the election administrators.

4. Run simulations and compare the results of the designed voting system and other
voting systems.

5
PROJECT ANALYSIS
Existing system:

 The voter has to visit the booths to vote a candidate so there is wastage of time.
 The voter has to manually register into the voter List. Also vote counting has to be done
manually.
 All the information of the voter or candidate is to be filling in manually.
 Voter must be present in his/her constituency to give his/her vote.
 The existing system of Election is running manually.
 There are electronic voting machines used which increases the cost of carrying out the
election.

Proposed system:

 Maintain all information of all the candidates and votes.

 Check whether voter have voted or not.

 Increase the voting percentage.

 To make voting an easy process by avoiding problems like

o Security

o Booth capturing

HARDWARE SYSTEM CONFIGURATION

 System: Pentium I3 Process


 Hard disk: 500GB
 Monitor: Standard LED Monitor
 Input Devices: Keyboard
 Ram: 4GB

6
SOFTWARE SYSTEM CONFIGURATION:

 Operating System: Windows 7/8/9


 Available Coding Language: Python
 Database: MYSQL

FEASIBILITY STUDY

 A feasibility study is a short, which aims to answer a number of questions.


 Does the system contribute to the overall objectives of the Organization?
 Can the system be implemented using current technology and within given cost
and schedule constraints?
 Can the system be integrated with systems which are already in place?

Feasibility study is an essential part for developing any software we study present
manual system, we calculation to cot required for maintaining various record.
The space required for keeping the cost of manual staff and time required for manual
system was more.
A feasibility study is carried out to select the best system that must performance
requirement and its working ability in an organization. The feasibility of the system has been
done in five types:

1. Operational feasibility study


2. Technical feasibility study
3. Schedule feasibility study
4. Economical feasibility study
5. Implementation feasibility study

7
Operational feasibility:

The system must be evaluated from the technical point of view. The assessment of
this feasibility must be based on an outline design of the system requirement in the terms of
input, output, programs and procedures, Having identified an outline system, the
investigation must go on suggest the type of equipment, required method developing the
system, of running the system once it has been designed.

Technical issues raised during the investigation are:


 Does the existing technology sufficient for the suggested once one?
 Can the system expand if developed?

Considering various user for the application w have done operational feasibility of the
proposed operationally and easy to use by the users. The application must capable of
performing some automatic operation which helps the user for easy functionality

Operational feasibility measures how well the solution will work in the organization
and how will end-user & management feels about the system? Proposed system as helpful for
all the stakeholders associated with the organization. It will allow the employees to have up-
to-date information regarding all the aspects of their respective departments. The decision-
making process will also become faster with the use of data integration, consolidation and
computation power available at all the nodes in the organization.

On studying the operational feasibility of the project, the following conclusions could
be derived.

 Developed system will provide the adequate throughput and all necessary
information to end-users.
 It will provide efficient and cost-effective access to up-to-date data.
 If installed within suitable environment, system will do operations under
environment of limited resources.
 Thus, it is operationally feasible to develop the propose system.

8
Technical feasibility:

Technical feasibility tries to answer the following questions to make the software
feasible to develop.

 The software or tools necessary for building or running the application are easily
available or not?
 The compatibility amongst software exists or not?
 Are developers aware of these technologies?
 What about the alternative of these chosen technologies?

Schedule feasibility:

Projects are initiated with specific deadline. We need to evaluate whether the
deadlines are mandatory or desirable. Time is the one of the critical factor in the development
of any system but this kind of feasibility is hardly perfect in any system.

Hence, it is feasible to develop a system in predetermined time interval.

9
Economical feasibility:

The developing system must be justified by cost and benefit. Criteria to ensure that
effort is concentrated on project, which will give best, return at the earliest. One of the
factors, which affect the development of a new system, is the cost it would require.

The following are the some of the important financial questions asked during
preliminary investigation:

 The cost conducts a full system investigation.


 The cost of the hardware and the software.
 The benefits in the form of reduce costs or fewer costly errors.

Since the system is developed as part of project work, there is no manual cost to
spend for the purposed system. Also the resources are already available, it give an indication
of the system is economically possible for development.

Economic feasibility addresses to the following issues:

 How much profit can be earned from the system by an organization?


 Is the organization having the suitable budget to develop the proposed system?
 Would it be cost-effective to develop the system or it is worthwhile to remain with
current system?

Implementation feasibility:

Under the study of Implementation feasibility, we’ve got to draw the finger to the
certain issues, like

 Is it possible to install the software within the given environment?


 Will organization management and user support for the installation of the
software?
 Will proposed system cause any harm to the operations of the organization

10
METHODOLOGY AND SYSTEM DESIGN

Dataflow diagram:

Context level DFD:

Fig: context level DFD

LEVEL 1 DFD:
11
Fig: level DFD

LEVEL 2 DFD:

12
DFD FOR VOTING:

Fig: dfd for voting

LEVEL 2 DFD:

13
DFD FOR ADMINISTRATOR

Fig: DFD FOR ADMINISTRATOR

Use case diagram:


14
A Use Case is a set of scenarios that describes an interaction between a user and a
system. A Use Case diagram displays the relationships among actors and use cases. The two
main components of a use case diagram are use cases and actors

Actor Use Case

Fig: USE CASE DIAGRAM

An actor represents a user or another system that will interact with the system your
modeling. A use case is an external view of the system that represents some action the user
might perform in order to complete a task. The use case diagrams in our project are drawn
for:

1. Administrator
2. Vote

1 Administrator

Party Description

Parliament Participants

Administrator

Assembly Participants

Fig. Administrator

Description:

15
This is the use case for the administrator in which he can perform various operations
like enter party description, parliament participant’s details and assembly participant details.

Actor:

Administrator

Preconditions:

The administrator should enter a valid Username and password in login screen to
perform the operations. Addition of record is done if the record does not exist in the database.
Modification of a record is done for an existing record.

Post conditions:

The administrator can perform various operations like enter party description,
parliament participant’s details and assembly participant’s details

Main flow:

The administrator can perform operationslike enter party description, parliament


participant details and assembly participant details. The administrator enters the details in the
various screens provided accordingly.

2. Voter

Registration

Parliament vote

Assembly vote

Fig. Voter

Description:

16
This is the usecase for the Voter where the voter can register and he vote for
parliament as well as assembly. He can view the participant’s details.

Actor:

Voter.

Preconditions:

The voter enters the URL and the homepage for the voter opens up.

Postconditions:

When the voter enters the proper URL he can view all the data but he cannot edit
anything. Only he can register and vote the participants

Mainflow:

The voter can register and he vote for parliament as well as assembly. He can view
the participant’s details.

Class Diagram

Class Diagrams are widely used to describe the types of objects in a system and their
relationships. Class Diagrams model class structure, and contents using design elements such
as classes, packages and objects. Classes are composed of three things:

They are as follows:

 Name
 Attributes
 Operations

17
Conceptual Model

Party’s
MP and MLA Records according to party Description
-Name: char -Party Name: char
-Age: int Administrator -MP Name: char
-Birth place: char
-Participating place: char
- UserName: Char -MLA Name: char
- Password: Char
getUserName ( ) . getPartyDetails ( )
-Educational Back ground: char getPartyMP ( )
-Property value: int getPartyMLA ( )
get Password ( )
-Police Record: char setPartyMessage ( )
getLeaderMessage ( )
setParticipantDesc ( )
getMPParticipantDetail ( )
getMLADetails ( )
getPoliceRecords ( ) Enter Data
setPoliceRecords( )
getEducationRecord ( ) Registration
setEducationRecord () -NSSN: varchar
getPropertyValue( ) -First Name: char
setPropertyValue( ) -Last Name: char
-Date of birth: int
-Division: char
-Village: char
voter
-Enter Vote

getPartyDe
getPartyDetails ( ) tails ( )
getPartyMP ( )
getPartyMLA ( )
getNssn ( )
setNssn ( )
getVoterId( )
setVoterId( )
getDateofBirth( )
setDateofBirth( )
getDivision( )
setDivision( )
getVellage( )
set

18
Conceptual Model

During analysis of the problem domain, a conceptual model should be developed


based on the real-life entities within the problem space. The entities in a conceptual model
have less to do with the software components of the system and more to do with the physical
entities that are fundamental to the business. The conceptual model usually illustrates the
concepts, the relationships between them, and the attributes that belong to each concept. The
behavior usually is not represented in this type of model. The conceptual model is developed
from a set of use-cases for the system. The purpose of building the model is to help identify
the entities that most likely will become classes in the design stage and to help better
understand the problem domain.

19
Party Diagram:

acts as acts as Party’s


1
Description
1 -Party Name:
MP and MLA
1 RecordsAdministrator UserName: char char
according to party -Password: char -MP Name: char
-MLA Name: char
-Name: char

-Age: int

-Birth place: char

-Participating place: char

-Educational Back Enter Data


ground: char Participant Details and vote
-Particip-ant name: char
-Property value: int
-Location: char Views
-Status: char & voter
-Description: char Gives
Feedback -Enter
Vote

Registration
-NSSN: varchar
-First Name: char
-Last Name: char
-Date of birth: int
-Division: char
-Village: char

Fig Party Daigram

20
Sequence Diagrams

These are the diagrams, which uses the objects of the classes and shows the action sequence.
With these diagrams, we can know the sequence of the commands.

Fig: Sequence Diagram

When the administrator enters the username and password then the database is
verified and if these are valid, then the administrator can get the administrator session. Here,
he can add the data and he can modify the files. The arrows shown in the diagrams will tell us
about the command from one operation to another operation class. The tail of the arrow
contains from class and the head of the arrow contains to the class.

21
Collaboration Diagrams

The collaboration diagrams are the diagrams generated from the sequence diagrams.
Here we can see the sequence numbering for the commands. The boxes are the objects of the
classes.

Fig: Collaboration Diagram

The above given is the collaboration diagram of the administration session. Here, we
can get the details of the commands according to their sequence. When the administrator
enters the username and password then the database is verified and if these are valid, then the
administrator can get the administrator session. All the operations can be viewed here
according to their number.

22
Database Design

NSSN Registration:

Fieldname Type Width Description


NSSN Varchar2 20 Primary key
FIRSTNAME Varchar2 20 Not Null
LASTNAME Varchar2 20 Not Null
DOB Date Not Null
NATIONALITY Varchar2 20 Not Null
GENDER Varchar2 8 Not Null
STATE Varchar2 20 Not Null
FATHER NAME Varchar2 15 Not Null
DISTRICT Varchar2 20 Not Null
MANDAL Varchar2 20 Not Null
VILLAGE Varchar2 20 Not Null
HNO Varchar2 20 Not Null
Fig4.6.1: Table name: nssnregistration

Voting Registration:

Fieldname Type Width Description


NSSN Varchar2 30 Foreign key
VOTERID Varchar2 30 Primary key
FIRSTNAME Varchar2 40 Not Null
LASTNAME Varchar2 30 Not Null
Date Date Not Null

Fig4.6.2: Table Name: voting registration

Congo participants

Fieldname Type Width Description


PERSON Varchar2 30 Not Null
PARTY Varchar2 30 Not Null
POST Varchar2 10 Not Null
PERSONDESC Varchar2 40 Not Null
PLACE Varchar2 30 Primary key

Fig4.6.3 Table name:congoparticipents

Tdpparticipents:

23
Fieldname Type Width Description
PERSON Varchar2 30 Not Null
PARTY Varchar2 30 Not Null
POST Varchar2 10 Not Null
PERSONDESC Varchar2 40 Not Null
PLACE Varchar2 30 Primary key
Fig4.6.4 Table Name: tdpparticipents

Trsparticipents:

Fieldname Type Width Description


PERSON Varchar2 30 Not Null
PARTY Varchar2 30 Not Null
POST Varchar2 10 Not Null
PERSONDESC Varchar2 40 Not Null
PLACE Varchar2 30 Primary key
Fig4.6.5 Table Name:trsparticipents

Trsparticipents:

Fieldname Type Width Description


PERSON Varchar2 30 Not Null
PARTY Varchar2 30 Not Null
POST Varchar2 10 Not Null
PERSONDESC Varchar2 40 Not Null
PLACE Varchar2 30 Primary key
Fig4.6.6 Table Name:trsparticipents

Bjpparticipents:

Fieldname Type Width Description


PERSON Varchar2 30 Not Null
PARTY Varchar2 30 Not Null
POST Varchar2 10 Not Null
PERSONDESC Varchar2 40 Not Null
PLACE Varchar2 30 Primary key
Fig4.6.7 Table name:bjpparticipents

Rudhranethraparticipents:

24
Fieldname Type Width Description
PERSON Varchar2 30 Not Null
PARTY Varchar2 30 Not Null
POST Varchar2 10 Not Null
PERSONDESC Varchar2 40 Not Null
PLACE Varchar2 30 Primary key
Fig4.6.8 Table name:rudhranethraparticipents

Otherparticipents:

Fieldname Type Width Description


PERSON Varchar2 30 Not Null
PARTY Varchar2 30 Not Null
POST Varchar2 10 Not Null
PERSONDESC Varchar2 40 Not Null
PLACE Varchar2 30 Primary key
Fig4.6.9 Table name:otherparticipents

CongrasMP:

Fieldname Type Width Description


PARTY Varchar2 30 Not Null
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE Varchar2 10 Not Null
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null
Fig4.6.10 Table name:CongrasMP

Congress MLA:

Fieldname Type Width Description


PARTY Varchar2 30 Not Null
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE Varchar2 10 Not Null
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null
Fig4.6.11 Table name:Congress MLA

25
TDPMP:

Fieldname Type Width Description


PARTY Varchar2 30 Not Null
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE Varchar2 10 Not Null
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null

Fig4.6.12 Table name: TDPMP

TDPMLA:

Fieldname Type Width Description


PARTY Varchar2 30 Not Null
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE Varchar2 10 Not Null
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null

Fig4.6.13 Table name: TDPMLA

TRSMP:

Fieldname Type Width Description


PARTY Varchar2 30 Not Null
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE Varchar2 10 Not Null

26
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null

Fig4.6.14 Table name: TRSMP

TRSMLA:

Fieldname Type Width Description


PARTY Varchar2 30 Not Null
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE Varchar2 10 Not Null
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null

Fig4.6.15 Table name: TRSMLA

BJPMP:

Fieldname Type Width Description


PARTY Varchar2 30 Not Null
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE Varchar2 10 Not Null
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null

Fig4.6.16 Table name:BJPMP

BJPMLA:

Fieldname Type Width Description


PARTY Varchar2 30 Not Null
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE Varchar2 10 Not Null
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null

27
Fig4.6.17 Table name:BJPMLA

RudhranethraMP:

Fieldname Type Width Description


PARTY Varchar2 30 Not Null
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE Varchar2 10 Not Null
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null

Fig4.6.18 Table name:rudhranethraMP

RudhranehraMLA:

Fieldname Type Width Description


PARTY Varchar2 30 Not Null
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE Varchar2 10 Not Null
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null

Fig4.6.19 Table name:rudhranehraML

OthersMP

Fieldname Type Width Description


PARTY Varchar2 30 Not Null
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE Varchar2 10 Not Null
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null

Fig4.6.20 Table name:OthersMP

OthersMLA

Fieldname Type Width Description


PARTY Varchar2 30 Not Null

28
POST Varchar2 5 Not Null
NAME Varchar2 30 Not Null
AGE Varchar2 10 Not Null
BIRTHPLACE Varchar2 30 Not Null
PARICIPAINGPLACE Varchar2 30 Foreign key
EDUCTIONLBG Varchar2 30 Not Null
POLICERECORD Varchar2 10 Not Null

Fig4.6.21 Table name:OthersMLA

Methodology

Methodology is the systematic, theoretical analysis of the methods applied to a field of


study. The aim of this chapter is to give an introduction about the general research
methodology and waterfall methodology for development used in this project.

Research purpose

In the information age, it seems that the application of information technology is an in-
dispensable tendency for the evolution of organizations in 21st century, regardless of public
or private organizations. The application of information technology into public affairs
briefly includes the electronic democracy, which is governance-oriented, and government,
which is service-oriented. Voting being a vital part of the services being offered by
Government would lead the application of information technology to improve the efficiency
of public sector obviously and the participation of the citizen through the electronic forum.

The purpose of this research is to identify the factors affecting the election process in the
ways they can be eliminated.

Research approach

There are two main research approaches used in scientific work, quantitative and qualitative.
The main difference between these two is that the aim of quantitative research is to find
explanation to a phenomenon or a situation that can be generalized to other people and
places while in qualitative research the aim is to gain deeper understanding of a phenomena
or a situation.

29
Quantitative approach will be used to discover the issues that threatens the election process
in especially as it relates to voters.

We are making use of existing data already collected by previous literature on Nigerian
elections to analyze the election process and derive a conclusion on how to eliminate the
issues.

Research conclusion

Based on the reviewed data collected on previous conducted elections in the main issue with the
election was the issue of voters apathy towards the electoral system which is as result of many factor
such as inaccessible registration and voting venue, election violence that could lead to loss of lives,
result manipulation and so on.

A system that serves to increase voters participation in the electoral process is the remedy to these
issues at hand. Voting system serves to provide a remedy for the inaccessible registration and voting
venue as eligible citizens can be registered and vote at their place of residence for their votes to
count for their particular place of origin. It also provides a means to eliminate ballot box snatching as
votes are counted as they are cast. There is also less room for result manipulation because the result
get updated and displayed to all as votes are being counted.

Waterfall Development Method

Several system development methodologies are suitable for this project, they are briefly discussed
below.

1. Evolutionary Process Model: This methodology is for projects using new


technology that is not well understood. It best used when its not necessary to
produce a minimal version of the system quickly.
2. Rapid Application Development (RAD) model: Here, user involvement is
essential throughout the process. It emphasizes working system and user feedback
over strict planning and requirements recording.
3. Prototyping Model: In this methodology, all functionality must be delivered at one
time even though the project’s requirements are unstable or not well understood at
the beginning. It is suited for medium and complex projects.
4. Waterfall Model: Here, the requirements and their implementations are well
understood, the stages do not overlap and must be followed sequentially. It
30
reinforces the notion of ‘define before design’ and ‘design before implement’.

Based on the guideline below a system design methodology was chosen.

Table: Selection based on project requirement and type of project with associated risk

Waterfall Prototype Evolutionary RAD


development
Project Requirements
Are requirements No No
easily Yes Yes
understandable

Do we change Yes No
requirements No No

quite
often?
Can we define No Yes
requirements Yes Yes

early
in the cycle
Requirements are Yes Yes
indicating a No No

complex system
to be built
Project type and risk

Project is the Yes Yes


enhancement of the No No
existing system
Funding is stable for Yes Yes No Yes
the project
High reliability No Yes
requirements No No
Tight project Yes Yes Yes
schedule No
Use of reusable No No
components Yes Yes

31
Are resources (time, No No No
money, people, etc) Yes
scarce?

Steps for Waterfall Model

Figure : Steps of a Waterfall model.

From figure above, the steps for a waterfall model can be briefly explained as:

Requirements analysis and specification: The first phase involves understanding what
needs to design and what is its function, purpose, etc. Here, the specifications of the input
and output or the final product are studied and marked.

System Design: The requirement specifications from the first phase are studied in this phase
and system design is prepared. System Design helps in specifying hardware and system
requirements and also helps in defining overall system architecture.

Implementation and Testing: With inputs from system design, the system is developed and
constructed and tested.

32
Integration and System Testing: The system is deployed and tested in the environment of
operation. Operation and Maintenance: This step occurs after installation, and involves
making modifications to the system or an individual component to alter attributes or
improve performance.

Requirements Analysis and Specification

The requirements for an voting system to be developed to model the election at the Federal
level and provide a remedy to voters’ apathy is itemized below as:

1. The system should contain four subsystem as listed below:

i. An electronic device with fingerprint and smart card reader for


authentication and software for vote casting and internet access for vote sending.
ii. A software platform for administrative management purpose.

iii. A software platform for result display.

iv. A database application for storage of election data.

2. The system should allow voters to be able to register against their place of origin
from any place of residence or convenience.
3. The system should permit voters to be able to vote for their place of origin from
any place of residence or convenience.
4. The registration and collection of voters card should be done at once.

5. The system should collect voters fingerprints for authentication purpose.

6. The system software platform should be accessible to all.

7. The system administrative dashboard for administrators should have access control.

8. The system electronic device should have a local database for verification purpose.

9. The system electronic device should have a built-in battery storage capability.

33
10. The votes should be transmitted over a secured wireless protocol.

System Design

The design of the system to meet the requirements above is depicted in the system block
diagram as shown in figure below and the system flowchart is shown below too in figure.

Figure 3.3: System Block Diagram

34
Figure 3.4: System Functional Flowchart

As can be seen above in figure 3.3, the system block diagram can be divided into;

1. Software design

2. Hardware design

Software Design

The software consists of all the software platforms needed for the system functioning and
their interactions. The figure below shows a block diagram of the software part of the
system.

35
Figure: Software Design Block Diagram

Administrator Dashboard

The administrator dashboard is a desktop software application managing the elections. It


incorporates the basic CRUD (Create, Read, Update and Delete) features for monitoring
and managing voters, administrators, elections and the voting devices. It accesses the
server which for its data that are contained in the database. The administrator dashboard
has a login page as shown below to restrict unauthorized access to the dashboard. The
login will require administrator email and password for authentication and validates it
against the values in the database. If validation succeeds, access to the dashboard is
granted, else he/she is restricted. The flowchart for the admin dashboard operation is
shown below.

36
Figure: Flowchart of Administrator Dashboard

The Administrator dashboard has four sections of which basic CRUD operations can be
performed on their corresponding data. These sections are:

 Voters
 Admin
 Election
 Device

Registration Platform

37
This is where the voters are registered prior to an election. The setup of the registration
platform consists of a computer running Windows operating system and must have the
following peripherals:

 A card reader
 A fingerprint scanner
 A camera
The registration software application has features the enables voters registration, which
involves collecting voters data and storing the data in the database through the server. It
interfaces with other built-in programs to be able to interact with the fingerprint scanner,
card reader and camera hardware used for capturing different user data. The program
flowchart is shown below.

38
Figure : Flowchart for Voter

Registration

The Registration platform requires the following voter details


listed below

1. Voter names

2. Gender

3. Date of Birth

4. State

5. Local Government Area (LGA)

6. Phone number

7. Email

8. Marital status

9. Occupation

10. Fingerprints

11. Passport photograph

Voting Interface

The voting interface is the software that will run. The flowchart for the voting interface is
shown below.

39
Figure: Flowchart of Voting Interface

Result Interface

The result interface design is such that anyone can have access to election results, hence
no authentication is required to access this service. Nevertheless, data is transmitted over
secure protocols to insure integrity of the results being shown. The result interface
program flowchart is shown below.

40
Figure : The Result Interface Flowchart

Database

A Sql database which is an object-relational database is designed. This approach is used


as election data is better represented as objects and it still maintains the advantage
relational mapping of data brings. The Entity relationship diagram (ERD) shown below in
figure presents a schematic view of the voting database.

41
Figure : E-voting System ER Diagram

MODULE DESCRIPTION

Voting Form:

There is voting form in the project through which the voter can vote to the candidate
which they want to give but before that voter have to fill various details about him after fill

42
the information they get unique number by this help of that unique number voter can give his
vote to member that are participating in elections.

Party form:

There another form known as party form in this form there are different party and
very details about party the member that standing in election and the information like agenda
and leader message, party details.

Member form:

Member form in this form there is information about member for example like
background, financial background, police background.

Voter details form:

In this form voter have to login and after getting in the project voter can vote and
have to fill details about him/her and very single details about him after fill information he
get unique number and then he can vote.

Party selections form:

In this form the voter can choose different party and then they can give vote to
different party they have many opinions and can choose the right party and can give the vote.

Party history page:

In this form all details about the party and history about the party and the member
who are practicing for them and the member which they have giving sit for different post like
MLA/MP.

Result form:

This is the last form. In this form voter get the information that he had vote for the
party successful and there is a thank you page in the end.

43
FUTURE SCOPE & LIMITATION

Future scope:

44
Over the years, there have been many issues relating to electronic voting and
electronic voting systems. Various companies and software specialist have tried to develop a
system that will address electronic voting issues, but all have been unable to develop and
optimal system, or even anywhere near optimal. Society has not been able to develop a
universal, secure, user friendly and private electronic voting system.

Many electronic systems have been developed, but all have fallen short one way or another.
Often with some segment of society being left out. By continuous research, Dr. Gilbert and
his (Prime III) team have developed a unique system known nowhere else in the world.

They have developed the Prime III electronic voting system which is somewhat of an
untouchable system compared to others, and it is the only system that is universal enough to
capture votes from all persons in society. The two main voting procedures that have been
used by developers in electronic voting are Mark-Sense ballots where the user shades in their
vote and the other is Direct Recording Elections (DRE’s) which allows users to vote via
touch (Kohno, Stubblefield & Rubin). Both have fallen short in being universal, in a sense
that mark-sense ballots can only be used for sighted voters or those with hands, and issues
also arise when the scanner is unable to detect the darkest mark (Kohno, Stubblefield &
Rubin). In reference to the DRE’s, again the issue arises if the user is blind or does not have
any hands. There are also many other issues with these systems such as security
vulnerabilities. There are other smaller systems, however many have not been developed
enough to be used in general elections.

Limitations of our project:

 To make use of this project one should have basic knowledge of handling a computer
and internet.

45
 If the internet connection fails it can fail the project.

46
CONCLUSION

This “ONLINE VOTING SYSTEM” has been developed successfully and tested with
the sample client connections, from different systems. The benefits of this system are
considerable.

It is observed that the users are able to use the system easily. As all the users are
provided with the information required by them in GUI so the user with minimum basic
knowledge about the computer can be able to operate the system easily.

The users can obtain the required information with ease and accuracy from the
system. Various validation techniques are used to implement for the accuracy of data for the
user. Since the System can be used by authorized user only, a level of security is provided.

47
BIBLIOGRAPHY & REFERENCE

Reference:

1. System Analysis & Design By Elias Awad.


2. Websites:
 www.Planetsourcecode.com

Bibliography:

 Bryan Basham, Kathy Sierra, Bert Bates, “Head First Servlets & JSP”
o 4th Edition, O’Reily Publishers, 2004.
 Grady Booch, James Rumbaugh, Ivar Jacobson, “The UML
o User Guide” 1st Edition, Addison Wesley, 1998.
 PankajJalote, “An integrated Approach to Software
o Engineering” 2nd Edition, Narosa Publishing House, 2000.
 Roger.S.Pressman, “A Practitioner’s Approach to Software
o Engineering” 6th Edition, McGraw-Hill Publishers, 2004.
 Herbert Schildt, “ Java 2:Complete Reference”, 5th Edition,
o McGraw-Hill Publishers, 2003.
 Python Programming (J2EE 1.4) Black Book, Kogent solutions
o Inc.Dreamtech Press, 2007.

48

You might also like