0% found this document useful (0 votes)
140 views91 pages

Online Voting System

online voting system

Uploaded by

shamedin9920
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
140 views91 pages

Online Voting System

online voting system

Uploaded by

shamedin9920
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 91

Online Voting System

Acknowledgement
This project is not done only by our effort. It has got an input from different
individuals. First of all, we would like to present our gratitude to our advisor, instructor Brhin
kidane for dedicating his time from the start to the end of this project; the department of
information technology, on confirming the proposal of our project and facilitating conducive
environment for the work; Ato Tesema Mengesha, Director of Ethiopian Election Board from
debere birhan district, helps us to get information about policies of Ethiopian Election rule; last,
but not least, to all our friends and others who gave us comments on our work. Without the
contribution of these people, our work would not be successful. We would like to say once again
Thank You to you all.

Debere Berhan University Department of Information Technology 2015 GC


Online Voting System

Abstract

The intension of this project is developing automated voting system for Ethiopia,
particularly for debere birhan city. The current mechanism for handling the vote management
system of the country is limited on manual work. This has limitation on controlling the work
securely, for declaring the result on time, and has high consumption on resources. Many
countries have used different technologies to support their voting activity and have got
successful results. Electronic voting is the most known technology for voting from the existed
alternatives. This project proposes a web based electronic voting. The experience of other
countries is used as an input for the system .The requirements for the system are collected from
historical records and policies of the Ethiopian election. The system architecture, the security
risks, and the implementation details of the system are also included in the document.

Debere Berhan University Department of Information Technology 2015 GC


Online Voting System

Table of Contents
CHAPTER ONE.................................................................................................................................1
1. Introduction....................................................................................................................................1
1.1 Background...............................................................................................................................1
1.2. Statement of the problem.........................................................................................................2
1.3. Objective of the project............................................................................................................3
1.3.1 General objective................................................................................................................3
1.4. Scope and limitation of the project...........................................................................................3
1.4.1 Scope of the project.............................................................................................................3
1.4.2 Limitation of the project.....................................................................................................4
1.5 Feasibility Study of the new System........................................................................................4
1.5.1 Operational Feasibility.........................................................................................................4
1.5.2 Technical Feasibility.............................................................................................................4
1.5.3 Economic Feasibility.............................................................................................................4
1.5.4 Political feasibility................................................................................................................5
1.6. Significance of the project..........................................................................................................5
1.7. Methodology and software used...............................................................................................5
1.7.1. Fact finding techniques......................................................................................................5
1.7.2. System analysis techniques................................................................................................6
1.7.3. Tools to be used in this project...........................................................................................6
1.9Cost Scheduling..........................................................................................................................8
1.10 Team organization...................................................................................................................9
CHAPTER TWO..............................................................................................................................10
2. The current System.......................................................................................................................10
2.1 Description of the current system............................................................................................10
2.2 Practices to be preserved from the existing system.................................................................10
2.3 Players in the existing system..................................................................................................11

Debere Berhan University Department of Information Technology 2015 GC


Online Voting System

2.3.1 Business Rule of the current system..................................................................................12


2.4 Business rule of the new system...............................................................................................12
2.5 Classes Responsibilities and collaboration (CRC) Modeling...................................................13
2.5.1Classes and their Responsibilities......................................................................................14
2.6. Alternative solution................................................................................................................15
2. 7 Proposed Systems...................................................................................................................15
2.7.1 Overview of the proposed system.........................................................................................15
2.7.2 Functional requirements...................................................................................................16
2.7.3 Nonfunctional requirements.............................................................................................17
2.8. Use case diagram....................................................................................................................18
2.8.1 System models and the artifacts........................................................................................19
2.9 Dynamic Models......................................................................................................................25
2.9.1 Sequence diagram.............................................................................................................25
2.9.2 Activity diagram...............................................................................................................35
2.9.3 Collaboration diagram......................................................................................................41
2.9.4 State chart diagram..........................................................................................................45
2.9.5 Class Diagram...................................................................................................................48
CHAPTER THREE..........................................................................................................................50
3. SYSTEM DESIGN........................................................................................................................50
3.1 INTRODUCTION...................................................................................................................50
3.2 Design Goals............................................................................................................................50
3.3. Architecture of the System.....................................................................................................51
3.3.1 Security Technique...............................................................................................................54
3.4. System Decomposition............................................................................................................54
3.4 Component Modeling..............................................................................................................56
3.6. Deployment Diagram..............................................................................................................57
3.7. User interface prototyping design...........................................................................................58
3.8 Design the class diagram.............................................................................................................60
3.9. Database design and class mapping........................................................................................62
CHAPTER FOUR............................................................................................................................67

Debere Berhan University Department of Information Technology 2015 GC


Online Voting System

4. IMPLIMENTATION TECHNIQUE AND TOOLS.....................................................................67


4.1Tools to be used........................................................................................................................67
Chapter Five.....................................................................................................................................71
5.1 PROTOTYPE DEVELOPMENT............................................................................................71
Chapter Six.......................................................................................................................................79
6.1 Conclusion...............................................................................................................................79
6.2 Recommendation.....................................................................................................................79
6.3 Appendix.................................................................................................................................80
Reference.......................................................................................................................................83
Sample question for questioner purpose.......................................................................................84

Table content
1. Table 1 Time scheduling……………………………………………………………… 7
2. Table 1 Cost scheduling………………………………………………………………. 8
3. Table 2 Team organization…………………………………………………………... 9
4. Table 3 Classes and their Responsibilities………………………………………...… 14
5. Table 5 Class mapping for candidate………………………………………………... 63
6. Table 4 Class mapping for user……………………………….…………………….. 64
7. Table 5 Class mapping for comment...………………………………………………..64
8. Table 6 Class mapping for voter……...……………………………………………….65
9. Table 7 Class mapping for comment…..……………………………………………....66
10. Table 8 Class mapping for Polling station…………………………………………....66

Figure content

1. Figure 0-1 Main use case diagram……………………………………………………. 19


2. Figure 0-2Sequence diagram for login………………………………………………… 27
3. Figure 0-3Sequence diagram for logout.……………………………………………… 28
4. Figure 0-4Sequence Diagram for cast vote.…………………………………………… 29
5. Figure 0-5 Sequence diagram for Register candidates.………………………………. 30
6. Figure 0-6Sequence diagram for Create Account.…………………………………….. 31
7. Figure 0-7Sequence diagram for generate report…………………………………………………..…32
Debere Berhan University Department of Information Technology 2015 GC
Online Voting System

8. Figure 0-8sequence diagram for register voters…………………………………………………….… 33


9. Figure 0-9 Sequence diagram for view result initiated by the Election officer……….…. 34
10. Figure 0-10 Activity diagram for tasks of System Administrator………………………….…… 35
11. Figure 0-11Activity diagram for cast Vote…………………………………………………………..……. 36
12. Figure 0-12Activity Diagram for Login………………………………………………………………………. 37
13. Figure 0-13activity diagram tasks for Election officer…………………………………………….……38
14. Figure 0-14Activity diagram for Candidate……………………………………………………………….. 39
15. Figure 0-15Activity diagram for view result………………………………………………………………. 40
16. Figure 0-16Collaboration diagram for login………………………………………………………………. 41
17. Figure 0-17 Collaboration diagram for logout………………………………………………………….. 42
18. Figure 0-18Collaboration diagram for cast vote………………………………………………………….42
19. Figure 0-19Collaboration diagram for register candidate…………………………………………… 43
20. Figure 0-20 Collaboration diagram for create account……………………………………………….43
21. Figure 0-21Collaboration diagram for Generate report…………………………………………….. 44
22. Figure 0-22 Collaboration diagram for Register Voter………………………………………………. 44
23. Figure 0-23Collaboration diagram for View result initiated by Election officer…………… 45
24. Figure 0-24 state chart diagram for login……………………………………………………………. …. 46
25. Figure 0-25 state chart diagram for Generate report………………………………………………. 46
26. Figure 0-26State chart diagram for Register Voter………………………………........... 47
27. Figure 0-27 State chart diagram for profile manipulation…………………………………………. 47
28. Figure 0-28Analysis class Diagram……………………………………………………………………………. 49
29. Figure 0-29system architecture Diagram…………………………………………………………………. 52
30. Figure 0-30 System decomposition Diagram……………………………………………………………. 55
31. Fig 3.5.1Component Diagram………………………………………………………………………………..… 56
32. Fig 3.5.1 Deployment Diagram………………………………………………………………………………... 57
33. Figure 0-31 User interface Diagram………………………………………………………………………… 58
34. Figure 0-32 class design diagram……………………………………………………………………….…..61
35. Figure 0-33Database Design diagram……………………………………………………………………….. 62
36. Fig 4.1 User interface for home page………………………………………………………………………………………. 68

37. Fig 4.2 User interface for login page…………………………………………………..69


38. Fig 4.3 User interface for Voter page……………………………………………………70

Debere Berhan University Department of Information Technology 2015 GC


Online Voting System

CHAPTER ONE

1. Introduction
1.1 Background

Election or voting is a formal process by which Voters make their political choice on public
office or candidates for public office. It makes a fundamental contribution to democratic
governance. The Constitution of the Federal Democratic Republic of Ethiopia, in its article 56,
declares a Political Party or a Coalition of Political Parties that has the greatest number of seats
in the House of People's Representatives shall form the executive and lead it. Also in the
Amended Electoral Law of Ethiopia, Proclamation clearly puts that a Candidate who received
more votes than other Candidates within a Constituency shall be declared the winner.

Therefore the Constitution and the amended Electoral law emphasize that the country follows the
majority system, under which the candidate who receives more votes than any competitors
within a constituency is declared the winner.

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.

In the present the election system in Ethiopia is using paper ballot and there are 45 000 polling
stations in the country which makes the voting process more time consuming and needs man
power to execute the voting process. This existing election system in Ethiopia has many
problems during the election process and the outcome of actual results and it is not a kind of
election system they can trust. Whereas the government officials claimed it was fair and free
election system. The integrity of the election process is fundamental to the integrity of
democracy itself.

Debere Berhan University Department of Information Technology 2015 GC 1


Online Voting System

Therefore, the purpose of this study is to develop a web-based voting system in which is which
votes can be casted electronically and also used for counting results instead of traditional manual
schemes.

1.2. Statement of the problem


In Ethiopia, elections take place every five years to elect members of HOR. The electoral
procedure involves many processes. The processes are voter Registration, Voter Register
Exhibition, Voting, Vote Counting, Collation and Publication of Results.
A number of problems associated with each phase of the electoral process are discussed below:-
 Invalid votes: A vote is considered to be invalid if the thumbprint or the mark has not
been placed at the right spot. (The Board has published that an average of ---% of invalid
votes are recorded during every election.)
 Long voting process: The manual voting exercise involves a number of steps that result
in long queues. This is because each voter takes a considerable amount of time to vote.
 Delays in result publication: It has been gathered that it takes the NEBE about more
than --months to eventually publish election result.
 High cost of election organizing: The procurement of materials that ensure the validity
of the voters’ registration, as well as the complete success of the electoral process makes
election costs very high. Indelible ink, ballot boxes and papers as well as other logistics,
despite being expensive, are indispensable in a manual voting system.
Therefore, this project is an effort in solving the problems associated with each phase of the
electoral process. The Efforts may be geared towards the minimization, if possible the total
elimination of the problems associated with the manual election system.

1.3. Objective of the project


1.3.1 General objective

Debere Berhan University Department of Information Technology 2015 GC 2


Online Voting System

The main objective of the project is producing aweb based voting system that can supplement the
current paper based voting system of Ethiopia.
1.3.2 Specific objective
 Identifying the problem
 Selecting the appropriate development tools for the system

 Designing friendly user interface

 Designing database to the system that can hold all the information

 Implementing standard security algorithms that can keep the confidentiality of the data.

 Testing the system


 Integrating the whole system

1.4. Scope and limitation of the project


1.4.1 Scope of the project
The scope of this project is developing web based voting system for Ethiopia . There are
different kinds of electronic voting system in the world, but this project targets to do web based
voting system. The system contains modules that can handle voters’ and candidates’ registration
system, including vote counting module. The project will cover the following activities:-
 Cast vote online.
 Registering voter and candidate to database.
 Create account to the system users.
 Generate report from the database.
 Manipulate (or edit) profile and change password.
 View profile from the database.
 Show vote result online.
 Limit access level of the voter.
 Encrypt user data
1.4.2 Limitation of the project
Limitation of the project defines what the newly proposed system is not going to
perform and not cover.

Debere Berhan University Department of Information Technology 2015 GC 3


Online Voting System

 Our system cannot help any blind voter those wants to vote their representatives by
sound synthesizer.
 Our system cannot help any illiterate voter.

1.5 Feasibility Study of the new System


Feasibility study is essential to evaluate the cost and benefits of the new system. On the basis of
the feasibility study decision is taken on whether to proceed or to cancel the project.
Need of the feasibility study:
 It determines the potential of the existing system.
 It used to determine/finds out the problem of the existing system.
 To determine all goals of the new system.
 It finds all possible solutions of the problems of the existing system.
1.5.1 Operational Feasibility
The system to be developed will provide accurate, active, secured service and decreases labor of
workers and also it is not limited to particular groups or body. And also it is plat form
independent i.e. it run’s in all operating system.
1.5.2 Technical Feasibility
The system to be developed by using technologically system development techniques such as
asp.net, Java script,css and MYSQL database server without any problems and the group
members have enough capability to develop the project. So the system will be technically
feasible.
1.5.3 Economic Feasibility
The system to be developed is economically feasible and the benefit is outweighing the cost.
Since this project already computerizes the existing system, by now the reduction of cost for
materials used in manual operation becomes beneficiary to the organization.
Generally the system that we developed, online voting system brought a number of tangible and
intangible benefits.
1.5.3.1 Tangible benefits:
1. Cost Reduction.
2. Error Reduction.
3 Increase Speed of activity.

Debere Berhan University Department of Information Technology 2015 GC 4


Online Voting System

1.5.3.2 Intangible benefits:


1. Reduce Resource Consumption.
2. Increase security.
1.5.4 Political feasibility
The system to be developed is not conflict with any government directives, because it gives
services for the people effectively and efficiently, all the stakeholders also agreed before the
system developed. So the citizen is profitable and the system will be politically feasible.
1.6. Significance of the project
The main purpose of online voting system includes:
 Improve voting service to the voters through fast, timely and convenient voting.
 Reduction of the cost incurred by the election board during voting process in paying the
very many clerks employed for the sake of the success of the manual system.
 This system require less number of staff during the election
 The system is a lot easier to independently moderate the elections and subsequently
reinforce its transparency and fairness.
 Online voting systems require being very precise or cost cutting to produce an effective
election management system.
1.7. Methodology and software used
1.7.1. Fact finding techniques
 Interview
The additional data would be gathered through the technique of interview, through this technique
we get different information’s from the current workers of the organization and from peoples
who have been participating on voting before.
 Document(literature review)
We will collect information from different references, projects and web sites.
 By discussing and analyzing the problems with project team and some teachers.

1.7.2. System analysis techniques


We use some system analysis technique for our project development. Some of them are:
 Use case diagram
 Sequence diagram

Debere Berhan University Department of Information Technology 2015 GC 5


Online Voting System

 Activity diagram
 Class diagram
 Database diagram
1.7.3. Tools to be used in this project
1.7.3.1 Software requirement
This project team will use the HTML as a front end and the SQL Server as a back and or
database tool to develop the new computer based system. In addition to these programing and
database tools we will use additional software to different tasks. These are:

 Visio software
 Microsoft word 2013
 Rational Rose
 Edrew max
 Microsoft PowerPoint 2013
 Xampp Server
 mySql database server
 Visio 2013
 Notepad++

1.7.3.2 Hardware requirement


 Any Desktop Computer
 Flash disk 2GB - 8GB
 Compactable CD-ROM 700MB
 Laptop

1.8Time Scheduling
no Task Start End Duration Nov. Dec Jan Feb Mar Apr May2007 Jun

Debere Berhan University Department of Information Technology 2015 GC 6


Online Voting System

2007 2007 2007 2007 2007 2007 2007


Two Three Four 2 2 2 weeks 7 weeks
5 weeks
Weeks weeks weeks weeks weeks

1 Information 15/03/07 30/03/07 15d

gathering
2 Project 30/03/07 09/04/07 10d

information and
planning
3 Requirement 10/04/07 30/04/07 20d

elicitation

4 Project Analysis 1/05/07 10/06/07 40d

5 project design 7/06/07 16/07/07 37d

6 Project 17/08/07 10/10/07 43d

Implementation

Table 9Time scheduling

No. Tems Quantity Total price(birr)


1 Computer and laptop 1(for development and free

Debere Berhan University Department of Information Technology 2015 GC 7


Online Voting System

deployment purpose)
2 Printing 300

3 Ms visual studio free


4 Visio free
5 Ms office free
6 paper 1 desta 100

7 Mysql database server free

8 Xamp server free


9 Notepad++ free
10 Edrow max free
Total 400
1.9Cost Scheduling

Table 10Cost scheduling

1.10 Team organization


Tasks Responsible person Deliverables
PROJECT INITIATION AND PLANNING
Explanation of the existing Araya

Debere Berhan University Department of Information Technology 2015 GC 8


Online Voting System

system Existing system documentation


Major functions of existing Araya and Nurhusen
system
PROJECT ANALYSIS
Use case modeling Biruktayit and Nurhusen Use case diagram and
description
Sequence diagramming Habtamu Sequence diagram
Activity diagramming Tamrat Activity diagram
Functional & non Functional Araya and Tamrat User Requirement
Requirement documentation
PROJECT DESIGN
State chart modeling Asmamaw State chart diagram
Design class diagramming Asmamaw and Habtamu Class diagram
Collaboration diagramming Biruktayit, Tamrat and Araya Collaboration diagram
Component diagramming Asmamaw Component diagram
User interface diagramming Biruktayit, Asmamaw and User interface flow diagram
HAbtamu
PROJECT IMPLEMENTATION
Coding All group members Project code
Testing All group members Checked the code and tested the
system

Table 11 Team organization

Debere Berhan University Department of Information Technology 2015 GC 9


Online Voting System

CHAPTER TWO

2. The current System


2.1 Description of the current system
The Current system is the manual system that needs intensive human labor, resource, consume
time, less security. First of all in these manual systems voters have requested to register.

Voters Need to Know during Registration:-

1. An elector shall be registered in person.


2. Any person shall be registered once and at one polling station only.
3. Registration shall be held only at the polling station, registration out of polling station
is forbidden

Voters’ vote the candidates by going to voting station that is centralized. To vote, each
voter gets the candidates symbol and name that present on the vote paper and
makes"X"marks on only one candidates. On the other hand illiterate electors shall vote
by pressing one of their fingerprints in the square corresponding to the candidate for
whom they want to vote. Counting the voice of each voter and reporting the winner also
need much time, perhaps if the counting error is occurred that manual system cannot
report. Resources are extravagances when papers are duplicated for the candidates to
introduce themselves. Fraud (fake) occurring during election time was protected by law.

2.2 Practices to be preserved from the existing system


Even if the existing system has a lot of problems, there are a number of activities that need to be
preserved. Those are:-

 Existing data storage system is partially automated for use, Since the NEBE used
manually and partially automated data storage system. This stored data has a vital role
in the case power lose and when the automated system got the affected by the virus.

 Registration: - shall be made up on presentation of an identity card or passport.

Debere Berhan University Department of Information Technology 2015 GC 10


Online Voting System

 Distribution of tasks:-Here everyone has its duty to do and come over the problem of
overloading the work to some part of the workgroup.

2.3 Players in the existing system


There are different players in the existing system:-
1. Voters:-
 They should vote their candidates.
 View the result.
2. Election offices:-
 Register the candidates.
 Coordinates and manages the workers and co-workers.
 Count the votes.
 Report the result.
3. Workers and co-workers:-
 Register the voters.
. 4 .Candidates:-
Candidates registered by Election offices.
5. Spectators:-
 They should see what is going on in the election.
In our proposed system
 Players in the new system
 System Admin
 Election Officer
 Election Registrar
 Voter
 Candidate

Debere Berhan University Department of Information Technology 2015 GC 11


Online Voting System

2.3.1 Business Rule of the current system


BR1: To vote at Federal level:-

 You must be above 18 years old.


 You must be an Ethiopian.
 Has not served a term of imprisonment is eligible to vote.
 You must reside within the constituencies for at least 6 months.
BR2: The voter must be come to the office on the registration day.
BR3: The Election Offices can register the candidates and tell when the Election
date is begin.
BR4: The Workers can register the voters and tell, when the Election date is
begin.
BR5: The voter must came in the given schedule.
BR6: The voter can select one candidates and putting an "X" mark across the
symbol of the candidate on a voting paper box.
BR7: The Election Officer can coordinate the workers and the co-workers in the
time of Election.
BR8: The NEBE can announce the result in mass media such as: - TV, Radio,
Magazines, Internet etc...

2.4 Business rule of the new system


BR1: To participate in vote at Federal level:-

 You must be above 18 years old.


 You must be an Ethiopian.
 Has not served a term of imprisonment is eligible to vote.
 You must reside within the constituencies for at least 6 months.
BR2: The voter must be come to the office on the registration day.
BR3: The Election Offices can register the candidates and tell when the Election
date is begin.

Debere Berhan University Department of Information Technology 2015 GC 12


Online Voting System

BR4: The Election Registrar can register the voters and tell when the Election
date is begin.
BR5: The voter must vote in the given time schedule online.
BR6: The election page must be activated on the Election Day and deactivated
when the election schedule time ends.
BR7: The voter can select one candidate and select the check box across the
symbol of the candidate.
BR8: The System show the result online as soon as the voting starts
BR9: The system user must use their ID as their username and password to cast a
vote and do other activities.

2.5 Classes Responsibilities and collaboration (CRC) Modeling


Classes’ responsibilities and collaborator (CRC) is technique used for identifying
classes’ responsibilities and their attributes and methods. They also help in
identifying the classes. Class’s responsibilities and collaborators is based on the
ideas that an object either can accomplish a certain responsibilities itself or it may
require the assistance of other objects. To fulfill its responsibility identifying an
object’s responsibilities and collaborators attributes and methods can be identifies.
The classes, Responsibilities, and Collaborators process consists of three steps:
1. Identify responsibilities(and identify classes)
2. Assign responsibilities
3. Identify collaborators

Debere Berhan University Department of Information Technology 2015 GC 13


Online Voting System

2.5.1Classes and their Responsibilities


No. Class Name Responsibilities
1. System Admin Manipulate database and create account for
the system users.
2. voter Castes his/her vote and views candidate
profile
3. Election Registrar Register voter, view profile and view result.

4. Election officer Generate result, view profile of the selected


user, register candidate
5. View profile Displays the required profile information

6. View result Displays the election result


7. Voter register Registers the voters
8. Candidate register Registers the participant candidates
9. Profile manipulation Updates the selected profile in the database

10. General manipulation Update and add new feature to the system

11. Generate result Count the vote and generate the result
12. Login Check the validity of the system user
13. Check Eligibility to cast vote Validate the reliability of system
14. Create Account Creates account for the system user

Table 12 Classes and their Responsibilities

Debere Berhan University Department of Information Technology 2015 GC 14


Online Voting System

2.6. Alternative solution


Even if the current system has a lot of the problems, that limits or hinders the functionality,
performances, efficiency, competence, security, speeds of the organization. To make, the
organization more organized.

 Automating the whole process to reduce time and budget consumption, to reduce
error.
 Documents also secured.
 The NEBE also report within short period of time.

Despite the fact that the above suggested solution is alternative solution to the existing system,
they are costly & time taking to solve the problem completely. So, having this in mind, our team
suggested that, the NEBE to use the proposed an automated internet based system with minimum
cost and time to easy to use.

2. 7 Proposed Systems
2.7.1 Overview of the proposed system
The main aim of this project is to automate the current manual system and it will solve the
problems that are in the manual system. This system saves resources by doing all things used in
election system; and counts the result for each candidate correctly and report with exact value
electronically. The new system does not pass over without reporting the occurred errors during
the counting result. Also in security side our system is secured because, it needs User name and
Password. Before the Election Day the system will be used for viewing candidates’ profiles. Our
system will be in election mode, for the purpose of vote casting only on the Election Day. When
aiming this system we consider the following significance aspects:

 Reduce the time and task required to perform the operation within the election area.
 It will change the manual processing to computerize system.
 It will provide speed, efficient, Flexibility, reliability, and security for the system
users.
 For voters, better satisfaction of the speed provided by the system casting their vote.
 And it improved the moral (motivation) of the users to use the new technology.

Debere Berhan University Department of Information Technology 2015 GC 15


Online Voting System

2.7.2 Functional requirements


Functional requirements describe the interactions between the system and its environment
independent of its implementation. The environment includes the user and any other external
system with which the system interacts.

The following points list down the functional requirements of our system:-

Register Election Officer:

The person who takes care of conducting the elections by declaring the election details should be
declared the result.

Register Candidates:
Before the vote casting process begins, the election offices needs to register the candidates.

Check authorization to cast a vote:


Our system will check whether the voter is authorized to cast a vote or not by interacting with
database.

Cast Vote:
When the voter keys the correct Username and Password to the system, the system will
extract the eligible candidates on that polling station, then, the voters casts the vote by
keeping the rules.

Generate report:
At the end of the election, the System will generate the reports based on the polling stations
code.
Counting:
This system will count the votes automatically so the counting process will be faster and that will
help to publish the result faster.

Authentication:

Debere Berhan University Department of Information Technology 2015 GC 16


Online Voting System

Election offices have their own credentials stored in the database. The system will check the
keyed values against the values stored in the database.

2.7.3 Nonfunctional requirements


Non-functional requirements (also known as quality requirements), which impose constraints
on the design or implementation (such as performance requirements, security, or reliability).

 Usability Requirements:-
It is expected that the user should be able to vote easily online. User should complete voting in a
few minutes. Provide an online help and a quick guide for users.
 Reliability Requirements:-
The system should be reliable. Security is a major concern for an online voting system. Process
used in this system should be secure enough to be able to meet the requirements mentioned for
online voting. It requires database connections and network connections. Changes can be done in
the databases to store the votes. All changes needs to be confirmed and if the transfer is complete
the confirmation should be displayed. The changes should be monitored.

 Performance Requirements:-
There might be many users accessing to the web server simultaneously. As an online voting tool
performance shouldn’t be affected much and response time for submitted page should be less
than a minute.
 Security Requirements:-
The system should provide basic security features like password authentication. All the
passwords generated and communicated to the users should be stored in the server only in an
encrypted form for login management to prevent misuse.

 Safety Requirements:
In order to prevent data loss in case of system failure, the result of votes that were polled
till then have to be saved in the database, for the system to resume the counting process
on reboot. The Election officer should set up his system time appropriately for the
election process to start at the correct time. The system should be capable of gracefully
recovering from earlier crashes and continuing the voting process

Debere Berhan University Department of Information Technology 2015 GC 17


Online Voting System

 Modeling the Functions of the system (Use Case Modeling)


The main activities that are performed in this part will be:
 Identifying if there is any additional actors and use cases,
 Constructing a use case model, and
 Documenting the use case course of events.

2.8. Use case diagram


Use Case represents interaction between a user (human or machine) and the system.
Use case components:
 Actor: is a person, or external system that plays a role in one or more interaction with the
system. And represented with:

 Use case: describes a sequence of actions that provides something of measurable value to
an actor and is drawn as a horizontal ellipse.

 System boundary: indicates the scope of the system project. Anything within the box
represent functionalities in side in scope.

Debere Berhan University Department of Information Technology 2015 GC 18


Online Voting System

2.8.1 System models and the artifacts


2.8.1.1 Use case diagram

Figure 0-34 Main use case diagram

Debere Berhan University Department of Information Technology 2015 GC 19


Online Voting System

2.8.1.2Actor Description
 System Admin: perform login, create account, generate report and control the
system.
 Election officer: perform login, register Election Registrar and
approve(register) Candidate and manipulate the profile of the election registrar
and candidate when there is a change.
 Election Registrar: perform login, register voter and manipulate the profile of
the voter when there is a change.
 Voter: perform login and cast vote.
 Candidate: perform login and advertise information.

2.8.1.3Use Case Description


1. Use case name: Login
Use case id: UI-1
Description: used to authenticate the user
Actors: Administrator, voter, candidate, Election Officer.
Precondition: The actors should activate the system.

Basic course of action:


1. the actor instantiate login page
2. Login page will be activate
3. actor enter user name and password and clicks login button
4. system checks the validity of the provided information
5. if the user ID and password are valid, the actors will be logged on to the system
6. Confirmation message will be. displayed
7. Workers home form displayed.

Debere Berhan University Department of Information Technology 2015 GC 20


Online Voting System

Post condition: the actor should log on successfully.


Alternative course of action:
1. actor enter user name and password and clicks login button
2. system checks the validity of the provided information
3. If the user ID and password are invalid.
4. The system displays “error message”.
5. The system asked to re-enter user name and password.

2. Use case name: Cast Vote


Use case id: UI-2
Actor: Voter
Description: This use case is initiated by the voter. This use case will enable the voter to
cast one vote at a time. It provides the capability to the system to process the voter’s ballot.

Pre-condition: The voter must have valid user id.


Basic course of Action:-
 This use case begins when the voters select cast vote from main page.

 The system shall display the well come page.

 The voter will insert his/her id number and encrypted code.

 The system shall check the id number and encrypted code with the existing id number
and encrypted code.

 The system will open.

Post-condition: The voter can vote one candidate.

3. Use case name: View Result

Use case id: UI-3


Actor: Voter, Election Officer, candidate system Admin and Election Registrar.

Debere Berhan University Department of Information Technology 2015 GC 21


Online Voting System

Description: This use case is initiated by the voters, candidate, Election Officer, system
Admin and Election Registrar. It provides the capability to the system to perform the
counting of ballots polled for each candidate and announces the election results.
Pre-condition: Ballot information should be secured before the counting.
Basic course of Action:-
The Use Case begins when the voter, Election Registrar, Election Officer sends request to
view the result.

Post-condition: Must report the result to the voters, Election Registrar, Election Officer.

4. Use case name: Register


Use case id: UC-4
Actor: Election officer, Election Registrar
Description: this use case is initiated by the Election officer and Election Registrar. It
provides to register voter and candidate.
Pre-condition: The Election officer and Election Registrar must log on the system.

Basic course of Action:-


1. The Election officer must activate the system.
2. The Election officer fills user name and password on the login page.

3. The system shall check the user name and password with the existing user name and
password.
4. The system will open the Election officer page or the Election Registrar page.
5. The Election officer or Election Registrar will be registering the voter/candidate.
6. The Election officer/ Election Registrar click the save button.

Post-condition: The Election officer/ Election Registrar register the candidate or voter
respectively.

Debere Berhan University Department of Information Technology 2015 GC 22


Online Voting System

5. Use case name: Create Account

Use case id: UC-5

Actor: System Administrator

Description: this use case is initiated by the System Administrator. It provides to Create
Account.

Pre-condition: The System Administrator must log on the system.

Basic course of Action:-

1. The administrator selects Create account from account menu.


2. Create new account user interface displayed.
3. The administrator insert account name, password.
4. Click of create account button.
5. New account created message displayed to the administrator.
Post-condition: System Administrator Creates Account.
6. Use case name: Generate Report
Use case id: UI-6
Actor: System Admin
Description: this use case is initiated by the Election Officer. It provides to generate result.
Pre-condition: The Election Officer must log on the system.

Basic course of Action:-


1. The System admin must activate the system.
2. The System Admin select report form from Report menu
3. Report from menu interface displayed.
4. The System can generate the report from the page.

Post-condition: The System Admin generate result that the system can count the casting vote.

Debere Berhan University Department of Information Technology 2015 GC 23


Online Voting System

7. Use case name: View Profile

Use case id: UI-7


Actor: Voter, Election Registrar, Election Officer.
Description: This use case is initiated by the voters, Election Registrar, Election Officer.
It provides the capability to the system to View each candidates.
Pre-condition: The Actors must activate the system.
Basic course of Action:-
The Use Case begins when the voter, Election Registrar, Election Officer sends
request to view the Profile.
Post-condition: Must report the Profile to the voters, Election Registrar, Election Officer.
8. Use case name: Profile Manipulation
Use case id: UI-8
Actor: Election Registrar, Election Officer, System Admin
Description: This use case is initiated by Election Registrar, Election Officer, and System
Admin. It provides the capability to the system to process the profiles of the voters and the
candidates. The processing here includes creation, modification and deletion process.

Pre-condition: the Election Registrar, Election officer, and System Admin must log on to the
system. And the election database must be the updated one, before this use case is started.

Basic course of action:-

- First the Election Officer ,Election Registrar, and System Admin must initiate the
system by log on to the system
- And then those actors select the update form from the profile menu
- Then update page displayed
- The Election Officer, Election Registrar, and System Admin can update the profile
that has to be updated.

9. Use case name: General Manipulation


Use case id: UI-9

Debere Berhan University Department of Information Technology 2015 GC 24


Online Voting System

Actor: System Admin


Description: This use case is initiated by System Admin; update and add new feature to the
system.

Pre-condition: the system admin must logon to the system first.

Basic course of action:

- The system admin must activate the system first


- The Admin then go to main database system and manipulate the database.

10. Use case name: System control


Use case id: UI-10
Actor: System Admin
Description: This use case is initiated by System Admin. And the system Admin control the
system by activating it.

Pre-condition: the system admin must logon to the system first.

Basic course of action:

- The system admin must activate the system first


- The Admin then go to main database system and activate the system from the
database.

2.9 Dynamic Models


2.9.1 Sequence diagram
A Sequence diagram is an interaction diagram that shows how processes operate with one
another and in what order. It is a construct of a Message Sequence Chart. A sequence diagram
shows object interactions arranged in time sequence. It depicts the objects and classes involved
in the scenario and the sequence of messages exchanged between the objects needed to carry out
the functionality of the scenario. Sequence diagrams are typically associated with use case

Debere Berhan University Department of Information Technology 2015 GC 25


Online Voting System

realizations in the Logical View of the system under development. Sequence diagrams are
sometimes called event diagrams or event scenarios.

A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects that
live simultaneously, and, as horizontal arrows, the messages exchanged between them, in the
order in which they occur. This allows the specification of simple runtime scenarios in a
graphical manner.

The main purpose of a sequence diagram is to define event sequences that result in some desired
outcome. The focus is less on messages themselves and more on the order in which messages
occur; nevertheless, most sequence diagrams will communicate what messages are sent between
a system's objects as well as the order in which they occur.

Sequence diagram for login.

Debere Berhan University Department of Information Technology 2015 GC 26


Online Voting System

Home page Login link Login Form Controller Database


: user
1.isite Home page()

2.select Login link()

3.Display the login form()

4.Fill username and password()

5.Submit()
6.validator()

7.Try again
8.step 5 continue

9.check()

10.Display the target page()

Figure 0-35 Sequence diagram for login.

Debere Berhan University Department of Information Technology 2015 GC 27


Online Voting System

Logout link System controller


: user

1.click logout link()

2.logout()
3.close user session()

4.Display the login form()

Figure 0-36Sequence diagram for logout.

Debere Berhan University Department of Information Technology 2015 GC 28


Online Voting System

Login form Login controller Voter page cast vote UI System Database
: Voter
controller
1.fill the form()

2.Submit()
3.validate()

4.try again()

5.continue()

6.Display the voter page()


7.select candidate()

8.click the vote button()


9.validate()

10.try again()

11.continue()

12.save vote()

13.Display succesfull mesage()

Figure 0-37Sequence Diagram for cast vote.

Debere Berhan University Department of Information Technology 2015 GC 29


Online Voting System

Election officer Register Register Controller Database


: Candidate
page Candidate link Candidate Form

logon to the EOP()

select the RG link()

Display the registration form()

fill the form()

Submit()
validate()

try again()

continue()

register()

succesessfully registered()

Figure 0-38 Sequence diagram for Register candidates.

Debere Berhan University Department of Information Technology 2015 GC 30


Online Voting System

System Admin Create Account Create Account System Database


: Admin
page link Form controller

logon to the system()

select the create account link()

Display the create account Form()

Fill the form()

submit()
validate()

try again()

continue()

register()

successesfully registered()

Figure 0-39Sequence diagram for Create Account.

Debere Berhan University Department of Information Technology 2015 GC 31


Online Voting System

Admin page Report UI System Database


: Admin
controller

logon to the page

select type of the report

click report button()


validator()

try again()

continue()

retrive()

Display the targeted report()

Figure 0-40Sequence diagram for generate report

Debere Berhan University Department of Information Technology 2015 GC 32


Online Voting System

Election Register link Register Form System Database


: Election
Registerar page controller
Registerar

logon to ERP()

select Register link

Display the register Form()

Submit()

Validate()

Try again()

continue()

Register()

Display succesessful message()

Figure 0-41sequence diagram for register voters.

Debere Berhan University Department of Information Technology 2015 GC 33


Online Voting System

Election Officer View Result UI System Database


: Election officer
page controller

lgoin to the EOP()

select type of result()

click result buttone()


validate()

Try again()

continue()

View result()

Display the result()

Figure 0-42 Sequence diagram for view result initiated by the Election officer.

Debere Berhan University Department of Information Technology 2015 GC 34


Online Voting System

2.9.2 Activity diagram


Activity diagram is another important diagram in UML to describe dynamic aspects of the
system. Activity diagram is basically a flow chart to represent the flow form one activity to
another activity. The activity can be described as an operation of the system. So the control flow
is drawn from one operation to another. This flow can be sequential, branched or concurrent.
Activity diagrams deals with all type of flow control by using different elements like fork, join
etc. The purposes of activity diagram can be described as:

 Draw the activity flow of a system.


 Describe the sequence from one activity to another.
 Describe the parallel, branched and concurrent flow of the system.

System
Admin

Select Task

Creat e Account

fill t he form

register

incorrect

correct

Figure 0-43 Activity diagram for tasks of System Administrator

Debere Berhan University Department of Information Technology 2015 GC 35


Online Voting System

Login

username and
password

incorrect

correct

Voter page

Cast vote

Logout

Figure 0-44Activity diagram for cast Vote.

Debere Berhan University Department of Information Technology 2015 GC 36


Online Voting System

Login

Username and
password

incorrect

correct

login to the
sytem

Figure 0-45Activity Diagram for Login.

Debere Berhan University Department of Information Technology 2015 GC 37


Online Voting System

Election
officer

Login

username and
password
correct
incorrect

slect task

Register view profile Profile


candidate manipulation

view result

Figure 0-46activity diagram tasks for Election officer

Debere Berhan University Department of Information Technology 2015 GC 38


Online Voting System

Candidate

Login

username and
password

incorrect

correct

Select task

View profile
change view result
password

Advertize
information

Figure 0-47Activity diagram for Candidate.

Debere Berhan University Department of Information Technology 2015 GC 39


Online Voting System

Login

incorrect

correct
check eligible

incorrect

correct

ViewResult

Logout

Figure 0-48Activity diagram for view result

Debere Berhan University Department of Information Technology 2015 GC 40


Online Voting System

2.9.3 Collaboration diagram


A collaboration diagram describes interactions among objects in terms of sequenced messages.
Collaboration diagrams represent a combination of information taken from class, sequence, and
use case diagrams describing both the static structure and dynamic behavior of a system.

The UML Collaboration diagram is used to model how objects involved in a scenario interact,
with each object instantiating a particular class in the system. Objects are connected by links,
each link representing an instance of an association between the respective classes involved. The
link shows messages sent between the objects, and the type of message passed.

1: visite Home page() 2: select Login link()


Home Login link
page

: user 5: Submit() 6: validator()

Controller

4: Fill username and password()

3: Display the login form()

8: step 5 continue
7: Try again

9: check()

Login Database
Form
10: Display the target page()

Debere Berhan University Department of Information Technology 2015 GC 41


Online Voting System

Figure 0-49Collaboration diagram for login.

1: click logout link()


Logout
link

: user

4: Display the login form()


2: logout()

3: close user session()

System
controller

Figure 0-50 Collaboration diagram for logout.

3: validate()
2: Submit()
5: continue() Login
1: fill the form()
controller

: Voter Login form


4: try again()
9: validate()
8: click the vote button()
11: continue()
cast vote System
UI controller
10: try again()
6: Display the voter page()

7: select candidate()
12: save vote()

Voter page Database

13: Display succesfull mesage()

Debere Berhan University Department of Information Technology 2015 GC 42


Online Voting System

Figure 0-51Collaboration diagram for cast vote.

1: logon to the EOP() 2: select the RG link()


Election officer Register Candidate
page link
5: Submit() 6: validate()
: Candidate

4: fill the form()

Controller
8: continue()
9: register()
3: Display the registration form()

7: try again()
Register Candidate Database
Form
10: succesessfully registered()

Figure 0-52Collaboration diagram for register candidate.

1: logon to the system() 2: select the create account link()


System Admin Create Account
page link

: Admin

3: Display the create account Form() 5: submit()


10: successesfully registered()

6: validate()
4: Fill the form()

8: continue() 9: register()
Create Account System Database
Form controller
7: try again()

Figure 0-53 Collaboration diagram for create account.

Debere Berhan University Department of Information Technology 2015 GC 43


Online Voting System

2: select type of the report


Report UI
4: validator()
5: try again()
: Admin

3: click report button()


6: continue()
System
1: logon to the page
controller
7: retrive()

Admin page Database

8: Display the targeted report()

Figure 0-54Collaboration diagram for Generate report.

1: logon to ERP() 2: select Register link


Election Registerar Register
page link

: Election
Registerar

4: Submit() 9: Display succesessful message()


3: Display the register Form()
5: Validate()

7: continue() 8: Register()
Register System Database
Form controller
6: Try again()

Debere Berhan University Department of Information Technology 2015 GC 44


Online Voting System

Figure 0-55 Collaboration diagram for Register Voter.

1: lgoin to the EOP() 2: select type of result()


Election Officer View Result
page UI

: Election officer

5: Try again()

4: validate()
3: click result buttone() 8: Display the result()
6: continue()

7: View result()
System Database
controller

Figure 0-56Collaboration diagram for View result initiated by Election officer.

2.9.4 State chart diagram


A state chart diagram is a view of a state machine that models the changing behavior of a state.
State chart diagrams show the various states that an object goes through, as well as the events
that cause a transition from one state to another.

The common model elements that state chart diagrams contain are:

 States
 Start and end states
 Transitions
A state represents a condition during the life of an object during which it satisfies some condition
or waits for some event. Start and end states represent the beginning or ending of a process.

Debere Berhan University Department of Information Technology 2015 GC 45


Online Voting System

Initial sate Activate send report normal exit


Idel Select
request
report type

un normal exit
Evaluate
inproper select

confirm
Final
state

Display

complete state

Figure 0-57 state chart diagram for login.

initial state Idel Activate Fill the Send register normal exit Verfiy
Form request

un normal exit
leave the page
Evaluate
Final state

Confirm

complite state

Figure 0-58 state chart diagram for Generate report.

Debere Berhan University Department of Information Technology 2015 GC 46


Online Voting System

Initial sate Idel Activate send vote select normal exit verify
request candidate

un normal exit
failed

Evaluate

Final
state

confirm

complete state

Figure 0-59State chart diagram for Register Voter.

fill update request


initial state Idel send update normal exit Edit
request

Evaluate

un normal exit ignor edit


Confirm

Final state

Save

complete state

Figure 0-60 State chart diagram for profile manipulation.

Debere Berhan University Department of Information Technology 2015 GC 47


Online Voting System

2.9.5 Class Diagram


This section discusses Analysis classes and their variations, including templates and instantiated
classes, and the relationships between classes association and the contents of classes
(operations).Class diagrams show the static structure of the model, in particular, the things that
exist (such as classes and types), their internal structure, and their relationships to other things.
The class diagram design will be discussed in chapter three. It is an abstraction of the real
environment class of candidate, voters, Election officer, Election Registrar and System
Administrator. Have the following classes:

- System Admin -Election Officer


- Candidate -Comment
- Voter
- Vote

Debere Berhan University Department of Information Technology 2015 GC 48


Online Voting System

Figure 0-61Analysis class Diagram

Debere Berhan University Department of Information Technology 2015 GC 49


Online Voting System

CHAPTER THREE

3. SYSTEM DESIGN
3.1 INTRODUCTION
This chapter of the project document which provides a system design of this project. This
chapter contains and describes about Component modelling, Deployment diagram, User interface
prototyping design, Database design and Class mapping.

The purpose of designing is to show the direction how the Application is built and to obtain clear
and enough information needed to drive the actual implementation of application. It is based on
understanding of the model the Application built on system design also focuses on decomposing
the system in to manageable parts.

3.2 Design Goals


The objectives of designing are to model a system with high quality. Implementing of high
quality system depends on the nature of the design created by the designer .If one wants to make
changes to the system after it has been put in to operation depends on the quality of the system
design. So if the system is designed perfectly, it will be easy to make changes to it.

The goal of the system design is to manage complexity by dividing the system in to manageable
pieces. Some of the goals are listed below.

 Modifiability: The system should be modifiable to modify different services depending


on the need of the user.
 Flexibility: The system should be changeable to suit new condition or situation.
 Efficiency: The system must do what it supposed to do efficiently without the problem.
 Accessibility One of best feature of proposed system is its accessibility. Users can access
the current information being everywhere in the country as well as on internet. To trace
some of its best features related with accessibility like:
Its accessible without geographical location limitation
It is accessible without time limitation – user can share their idea every time.
Information or the same information accessed by multiple users at the same time.

Debere Berhan University Department of Information Technology 2015 GC 50


Online Voting System

3.3. Architecture of the System


The architecture chosen for the system is three tier. The first layer runs on the client side, the
second layer at the middle layer and the third layer will be the database system. The system will
run using web technology. This architecture provides greater application scalability, high
flexibility, high efficiency, lower maintenance, and reusability of components. Since each tier
runs on a separate machine, it improves systems performance.
The system uses dynamic web technology, i.e., adding and retrieving data to and from the data
store whenever requested is possible. It requires a client side program which is accessed by the
Election officer, by the registrar, by the voter and also an interface that communicate with the
external system. It needs server side functions that implement the functional requirements and
the database system that stores data.

Debere Berhan University Department of Information Technology 2015 GC 51


Online Voting System

Figure 0-62system architecture Diagram


 Client Tier

As described in Fig 3.3.1as shown in Fig. 4, at the client side there are five kinds of users. The
first user is the System Admin. This person is responsible for adding critical data to the system,
control and activate the system. The type of data is like Election Officer’ Authorization,’
username and password, control and activate the system. The final report is also generated by
this person.

Debere Berhan University Department of Information Technology 2015 GC 52


Online Voting System

The second user is the Election officer. This person is responsible for registering Election
Registrar and approves Candidates, and manipulation the profile of the registrar and the
candidate.
The third user is Election Registrar. This user is responsible for registering voter and
manipulating voter’s profile. And he can cast a vote.

The fourth user is the voter; the role of this voter is casting votes. The interface used by the voter
is web form. As vote casting is processed at the polling stations, which are distant from the
database server.
The fives user is candidate; the role of this candidate is advertising information and he also can
cast a vote.
 Middle Tier
The middle tier will contain the core parts of the vote application, i.e., the web server and
business logic. The web server will handle all requests coming from the client machines. The
requests are different with its type, for example; request for data insertion, request for report
generation and others. It is also the web server which the responses that is forwarded to the client
machines.

The business logic part will hold the process and core functions that will be implemented in the
system. When the data is submitted from the client machines, first it will be handled by the
functions of the web server and then transferred to the business logic for processing. Again, the
business logic processes the data and sends it either to the database or back to the web server,
this is determined by the type of service required.
 Data Tier
The system uses one database; this database is the repository consisting of the application data.
It is here that all the database tables will be stored.

Debere Berhan University Department of Information Technology 2015 GC 53


Online Voting System

3.3.1 Security Technique


When a voter registered to cast his/her vote, IDN is given to the voter for authentication.
The registered voter can login to the system with the help of the IDN code. Then, the system
shows the check box, names and party symbol of the candidates. The voter checked the check
box corresponding to each candidate and submits his/her vote to the system. And we will use
encryption method in order to secure the use data when registering and accessing the data from
the database. The suspected problem is man-in-the-middle attack. Before the data reaching at the
destination, it can be trapped and modified. For the case of the channel between the web browser
and the web server, SSL technology is viable solution. so we will try to use SSL technology to
secure the data.

3.4. System Decomposition


System decomposition refers to the process by which a complex problem or system is broken
down into parts that are easier to conceive, understand, program, and maintain. To reduce the
complexity of the solution domain, we decompose our system into simpler parts, called
subsystems, which are made of a number of solution domain classes. In the case of complex
subsystems, we recursively apply this principle and decompose a sub- system into simpler
subsystems. We decompose our system in to six subsystems. These are:
 Registration system
- Account creation
- Candidate registration
- Voter registration
 Profile manipulation system
- Update account
- Delete Account/user
- Change password
- Update profile
 View system
- View profile
- View comment
- View result

Debere Berhan University Department of Information Technology 2015 GC 54


Online Voting System

 Report system
 Vote system
 Comment and Advertisement system

Figure 0-63 System decomposition Diagram

Debere Berhan University Department of Information Technology 2015 GC 55


Online Voting System

3.4 Component Modeling


Component based development ( CBD) and object oriented development go hand in hand and it
is generally recognized that object technology is the preferred foundation from which to build
components the UML includes a component diagram that can be used to both analyze and design
our component based software it shows the various components in a system and their
dependencies.

In this Diagram components of the system will be wired showing that there is relation
among components, management of the system, database and operations performed on
databases such security issue. This in some extent shows which component or objects
will be accessed by whom and what type of security infrastructures it is using. The
diagram is simulated below.

Fig 3.5.1 Component Diagram.

Debere Berhan University Department of Information Technology 2015 GC 56


Online Voting System

3.6. Deployment Diagram


Deployment modeling is used to show the hardware of the system, the software that is installed
in the hardware and also the middleware that is used to connect the dissimilar machines to one
and other. It also shows how the software and the hardware components work together in order
perform the task.

Fig 3.5.1 Deployment Diagram.

Debere Berhan University Department of Information Technology 2015 GC 57


Online Voting System

3.7. User interface prototyping design


A user-interface prototype is a prototype of the user interface. It is an iterative analysis technique
in which users are actively involved in the mocking-up of the UI for a system.

Figure 0-64 User interface Diagram.

User Interface Description

Debere Berhan University Department of Information Technology 2015 GC 58


Online Voting System

1. Home Page

Description:- This user interface is a place where Online Voting are viewed and links for related
topics (websites) are also mentioned in this user interface.

2. Login Page

Description: - This page is the most important and key user interface to the system. It is a place
where the system users (voters, Election Offices, Election Registrar, administrators) get access to
the system by entering their user name and password. A user must provide a valid user id and
password to access the next user interfaces.

3. Voter

Description:-This User interface is used to vote the candidates by using his encrypted code and
user name.

4. Election Officer

Description:- This User interface is used for the Election Officers can login to the system and
register the candidates.

5. Election Registrar

Description: - This User interface is used for the Election Registrar's can login into the system
and register the voters.

6. View Result

Description:-This User interface is used to view the result that can generate by the Election
Officer.

Debere Berhan University Department of Information Technology 2015 GC 59


Online Voting System

7. System Administrator

Description: - this interfaces used for Administrator only to Add, delete, and change data and
user account.

8. Create Account

Description: - This interface allows the administrator to add workers name, id, and password to
the workers list of the system.

9. View Profile

Description: - This interface used for the voter that can view the profile of the candidates

3.8 Design the class diagram


Diagrams are used to represent the structure of the system in terms of objects, their notes and
nature of relationship between classes. It shows the static features of the actors and do not
represent any particular processing. It is an abstraction of the real environment class of, user and
Administrator.

Debere Berhan University Department of Information Technology 2015 GC 60


Online Voting System

Figure 0-65 class design diagram

Debere Berhan University Department of Information Technology 2015 GC 61


Online Voting System

3.9. Database design and class mapping


Database design is the process of producing a detailed data model of a database. This logical data model
contains all the needed logical and physical design choices and physical storage parameters needed to
generate a design in a Data Definition Language, which can then be used to create a database. A fully
attributed data model contains detailed attributes for each entity. The term database design can be used to
describe many different parts of the design of an overall database system. Principally, and most correctly,
it can be thought of as the logical design of the base data structures used to store the data.

Figure 0-66 Database Design diagram.

Debere Berhan University Department of Information Technology 2015 GC 62


Online Voting System

1. Candidate

Name Datatype Length Privilege constraint


CId Variable character 6 Primary key
Fname Variable character 40
Mname Variable character 40
Lname Variable character 40
Sex Variable character 1
Age Integer 2
work Variable character 50
Status Variable character 15
Education Variable character 15
Variable character
Phone_No integer 10
Email Variable character 25
Password Variable character 10
Experience Variable character 10
Party_Name Variable character 40
Party_Symbol Integer 10
Compete_To Variable character 30
Advertisement Variable character 1000
userUId Variable character 20 Foreign key
Polling_StationPSId Variable character 30 Foreign key

Table 13 Class mapping for candidate

Debere Berhan University Department of Information Technology 2015 GC 63


Online Voting System

2. User

Name Datatype Length Privilege constraint


UId Variable character 6 Primary key
Fname Variable character 40
Mname Variable character 40
Lname Variable character 40
Age Integer 2
Sex Variable character 1
Status Variable character 10
Password Variable character 10
Role Variable character 10
Email Variable character 25
Phone_No Integer 40

Table 14 Class mapping for user

3. Comment

Debere Berhan University Department of Information Technology 2015 GC 64


Online Voting System

Name Data type length Privilege constraint


Content Variable character 10
comment ID Integer 10 Primary key
Username Variable character 10
VoterVID Variable character 10 Foreign key
candidateCid Variable character 6 Foreign key
userUID Variable character 20 Foreign key

Table 15Class mapping for comment

4. Voter

Name Datatype Length Privilege constraint

VId Integer 6 Primary key

Fname Variable character 15

Mname Variable character 15

Lname Variable character 15

Age Integer 2

Sex Variable character 1

Status Variable character 10

Work Variable character 10

Phone_No Integer 10 N

Email Variable character 25 N

Password Variable character 10

userUID Variable character 20 Foreign key


Debere Berhan University Department of Information Technology 2015 GC 65
Polling_StationPSId Variable character 30 Foreign key
Online Voting System

Table 16 Class mapping for voter

5. Polling station

Debere Berhan University Department of Information Technology 2015 GC 66


Online Voting System

Name Datatype Length Privilege constraint


PSId Variable character 30 Primary key
PSName Variable character 40
kebele Variable character 20
city Variable character 20

Table 17 Class mapping for comment

6. Vote Result

Name Datatype Length Privilege constraint


VRId Variable character 10 Primary key
Total_vote Integer 30
Vote_status Variable character 30
Date Date
Time Time
candidateCId Variable character 6 Foreign key
Polling_StationPSId Variable character 30 Foreign key
VoterVId Variable character 20 Foreign key

UserUID Variable character 20 Foreign key

Table 18 Class mapping for Polling station

Debere Berhan University Department of Information Technology 2015 GC 67


Online Voting System

CHAPTER FOUR

4. IMPLIMENTATION TECHNIQUE AND TOOLS


Implementation refers to the Coding of the all documents gathered starting from requirement
analysis to the Design phase. So now this team will convert all documents gathered and designed
into the code as a system. So that the system will be implemented for the user to be used for the
purpose it developed. To implement it the user must have a server on which the system will be
hosted because this system can run on internet with connection availability.

4.1Tools to be used
 The user interface will be developed using Asp.Net integrated development environment
since it easily designing the front end and connected in to database realizing rapid
application development with constraints on the hand, and we propose to use rational rose
software to design different diagrams like. Use case, class diagram, and activity diagrams
etc.
 Asp.Net, visual studio 2010 and SQL database server system will be used in developing
and managing the back end.

Debere Berhan University Department of Information Technology 2015 GC 68


Online Voting System

4.2 User Interface


In this system users will communicate with it through the following user interfaces.

1. Home Page: This form contains some links which lead it to the concerned page, and if the
user has an account he/she will directly go to concerned page by entering their username and
password.

Fig 4.1 User interface for home page

Debere Berhan University Department of Information Technology 2015 GC 69


Online Voting System

2. Log In form:-this form found immediately following the home page. Home page
appears as the site on which the system is deployed is opened. Only election officer and
election registrar will have their own password. Those forms appeared using password
and user name will not accessible by other persons except for those who have privilege.

Fig 4.2 User interface for login page

Debere Berhan University Department of Information Technology 2015 GC 70


Online Voting System

3. Voter page: this form found immediately following the voter page. voter page appears as
the site on which the system is deployed is opened.

Fig 4.3 User interface for Voter page

Debere Berhan University Department of Information Technology 2015 GC 71


Online Voting System

Chapter Five
5.1 PROTOTYPE DEVELOPMENT
The physical design specification created by the designers is turned in to working computer code
by the programmer using Asp.Net, Java script and Css.

Sample code for login:

<?php

include("connection.php");

session_start();

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head><!--Header-->

<title>Online Voting</title>

<link rel="icon" type="image/jpg" href="img/flag.JPG"/>

<link rel="stylesheet" href="main.css" type="text/css" media="screen"/>

<link href="menu.css" rel="stylesheet" type="text/css" media="screen" />

<script type="text/javascript">

function change_char(){

var pass = document.getElementById("pw");

var checkbox = document.getElementById("cb"); if(pass.type == "password"){

pass.type = "text"; checkbox.checked = true;

}else{

pass.type = "password";checkbox.checked = false;}}

</script><!--End of Header--></head><body>

<table align="center" style="width:900px;border:1px solid gray;background:white


url(img/tbg.png) repeat-x left top;border-radius:12px">

Debere Berhan University Department of Information Technology 2015 GC 72


Online Voting System

<tr style="height:auto;border-radius:12px;background: white url(img/tbg.png) repeat-x left


top;">

<th colspan="2">

<img src="img/logo.jpg" width="200px" height="180px" align="left" style="margin-left:10px">

<img src="img/log.png" width="450px" style="margin-left:30px;margin-top:40px"


align="center">

</th></tr><tr><td colspan="2" bgcolor="#51a351" id="Menus" style="height:auto;border-


radius:12px;"><ul>

<li ><a href="index.php">Home</a></li>

<li ><a href="about.php">About Us</a></li>

<li ><a href="candidate.php">Candidates</a></li>

<li ><a href="vote.php">Vote</a></li>

<li ><a href="contacts.php">Contact Us</a></li>

<li class="active"><a href="login.php">Login</a></li>

</ul></td></tr></table><table align="center" style="width:900px;border:1px


solid gray;border-radius:12px;" height="500px"><tr valign="top"><td><div style="clear:
both"></div>

<div id="left"><ul>

<li> <a href="index.php">Home</a></li><li>

<a href="about.php">About Us</a></li><li> <a


href="candidate.php">Candidates</a></li>

<li> <a href="vote.php">Vote</a></li><li>

<a href="contacts.php">Contact Us</a></li><li>

<a href="help.php">Help</a></li><li>

<a href="comment.php">Comment</a></li><li>

<a href="login.php">Login</a></li> </ul> </div></td><td><div id="right">

Debere Berhan University Department of Information Technology 2015 GC 73


Online Voting System

<div class="desk"><h1>Login page</h1>

<?php if (isset($_POST['log'])){

$username=$_POST['user'];

$password=$_POST['pass'];

$sql ="SELECT * FROM user WHERE username='$username' AND


password='$password'";

$result = mysql_query($sql);

// TO check that at least one row was returned

$rowCheck = mysql_num_rows($result);

$row=mysql_fetch_array($result);

$status=$row['status'];

if($row['role']=='admin'){

if($status==1){

$_SESSION['u_id']=$row['u_id'];

echo "<script>window.location='system_admin.php';</script>";}else{

echo'<p class="wrong"> Your Account is not active Please contact the system
Admin</p>';

echo' <meta content="15;login.php" http-equiv="refresh" />';

}}

else if($row['role']=='officer'){

if($status==1)

{ $_SESSION['u_id']=$row['u_id'];

echo "<script>window.location='e_officer.php';</script>";

//echo "<script>window.location='e_officer.php';</script>";

Debere Berhan University Department of Information Technology 2015 GC 74


Online Voting System

else

echo'<p class="wrong"> Your Account is not active Please contact the system
Admin</p>';

echo' <meta content="15;login.php" http-equiv="refresh" />';

}}

else if($row['role']=='registrar'){if($status==1){

$_SESSION['u_id']=$row['u_id'];

echo "<script>window.location='e_registrar.php';</script>";}

else{echo'<p class="wrong"> Your Account is not active Please contact the


system Admin</p>'; echo' <meta content="15;login.php" http-equiv="refresh" />';}}

else {echo'<br>';

echo' <p class="wrong">Check Your username or/and Password!</p>';

echo' <meta content="15;login.php" http-equiv="refresh" />'; }}mysql_close($conn);

?> <!--End of PHP script--> <table class="log_table" align="center" >

<form action="login.php" method="POST"><tr bgcolor="#51a351" ><th colspan="2" ><font


color="#ffffff">Login</font></th></tr><tr><td><label>User Name</label></td><td>

<input type="text" name="user" required x-moz-errormessage="Enter Username"/>

</td></tr><tr><td><label>Password</label></td><td><input type="password" name="pass"


required x-moz-errormessage="Enter password" id="pw"/></td></tr><tr><td></td><td><input
type="checkbox" name="checkbox" id="cb" onClick="change_char();"> Show
Characters</td></tr>

<tr><td></td><td><input type="submit" name="log" value="Login" class="button_example"/>

<input type="reset" value="Reset" class="button_example"/>

</td></tr><tr><td></td>

<td><a href="forget.php">Do yo forget your


password?</a></td><br><br></tr><tr><td><br></td></tr>

Debere Berhan University Department of Information Technology 2015 GC 75


Online Voting System

</form></table><br><br></div></div></td></tr></table>

<table align="center" style="width:900px;border-radius:12px;border:1px solid


gray;background:white url(img/tbg.png) repeat-x left top;" height="70px" >

<tr><td id="link">

<p style="text-align:right;padding-right:30px;"><a href="index.php">Home</a>|<a


href="about.php">About Us</a>|<a href="contact.php">Contact Us</a></p>

<p ><hr width="350px" align="right"></p>

<p style="text-align:right;padding-right:30px;"><font color="#ffffff">Copyright &copy; 2007


Reserved.</font></p></td></tr></table></body></html>

Sample code for Cast Vote


<?php include("connection.php"); session_start();if(isset($_SESSION['u_id'])){

$mail=$_SESSION['u_id']; } else { ?><script>

alert('You are not logged In !! Please Login to access this page');

alert(window.location='login.php');</script><?php}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"><head><!--Header-->

<title>Online Voting</title>

<link rel="icon" type="image/jpg" href="img/flag.JPG"/>

<link rel="stylesheet" href="main.css" type="text/css" media="screen"/>

<link href="menu.css" rel="stylesheet" type="text/css" media="screen" />

<!--End of Header--></head><body>

<table align="center" style="width:900px;border:1px solid gray;background:white url(img/tbg.png)


repeat-x left top;border-radius:12px">

Debere Berhan University Department of Information Technology 2015 GC 76


Online Voting System

<tr style="height:auto;border-radius:12px;background: white url(img/tbg.png) repeat-x left top;"><th


colspan="2">

<a href="system_admin.php"><img src="img/logo.jpg" width="200px" height="180px" align="left"


style="margin-left:10px"></a>

<img src="img/voter.png" width="400px" style="margin-left:30px;margin-top:0px" align="center">

</th></tr><tr><td colspan="2" bgcolor="#51a351" id="Menus" style="height:auto;border-


radius:12px;"><ul><li><a href="voter.php">Home</a></li>

<li class="active">

<a href="cast.php">Cast Vote</a></li><li>

<a href="voter_comment.php">Comment</a></li><li>

<a href="voter_result.php">Result</a></li><li><a
href="vlogout.php">Logout</a></li></ul></td></tr></table>

<table align="center" style="width:900px;border:1px solid gray;border-radius:12px;" height="500px">

<tr valign="top"><td><div style="clear: both"></div>

<div id="left"> <ul>

<li><a href="v_change.php">Change Password</a></li> <li><a


href="voter_comment.php">Comment</a></li><li>

<a href="voter_candidate.php">Candidates</a></li>

<li><a href="voter_result.php">Result</a></li><li>

<a href="vlogout.php">Logout</a></li> </ul></div></td><td>

<div id="right"><div class="desk"> <h1 align="right"><?php

echo '<img src="img/people.png" width="40px" height="30px">&nbsp;'.'<font style="text-


transform:capitalize;" face="times new roman" color="green" size="3">Hi,&nbsp;'.$FirstName."&nbsp;".
$middleName." ".'</font>';?></h1><br><br>

<?php

$date1 = new DateTime(date('Y/m/d'));

Debere Berhan University Department of Information Technology 2015 GC 77


Online Voting System

$date2 = new DateTime("2015-06-10 ");

$interval = $date1->diff($date2);

$d=$interval->d;

$h=$interval->h;

$m=$interval->i;

?>

<div class="panel panel-default">

<div class="panel-heading">

<h3 class="panel-title"> </h3>

</div>

<div class="panel-body">

<table class="table">

<tr> <th class="blink"><div class=" <?php

if( $date1<$date2){

if ($d>='3')

echo "alert alert-success dropdown-toggle";

elseif($d=='2')

echo "alert alert-warning dropdown-toggle";

elseif($d=='1')

Debere Berhan University Department of Information Technology 2015 GC 78


Online Voting System

echo "alert alert-warning dropdown-toggle";

elseif($d=='0')

echo "alert alert-danger dropdown-toggle";

else

echo "alert alert-danger dropdown-toggle";

else

echo "alert alert-danger dropdown-toggle";

?>">

Debere Berhan University Department of Information Technology 2015 GC 79


Online Voting System

Chapter Six
6.1 Conclusion

This project has given us vast knowledge on the different computing technologies. We have
learned a lot during the documentation of this system project.

Our system project enables a voter to cast his/her vote through internet without going to voting
closet and additionally registering himself/herself for voting in advance, proxy vote or double
voting is not possible, fast to access, highly secure, easy to maintain all information of voting,
highly efficient and flexible. Hence, by this voting percentage will increase drastically. The using
of online voting has the capability to reduce or remove unwanted human errors. In addition to its
reliability, online voting can handle multiple modalities, and provide better scalability for large
elections. Online voting is also an excellent mechanism that does not require geographical
proximity of the voters. For example, soldiers abroad can participate in elections by voting
online. We were also able to learn a lot of system analysis and design of the project, and all
about object oriented concept with database. We came to know the different issues that come in
the way of the development of the online voting system. Security was the main issue in the
development of this project and we conclude that if these issues are taken into consideration,
online voting system will become and real life system from just more a project.

6.2 Recommendation
In general, this project contributes an initial work on electronic voting system for Debere Birhan
City. But, this work needs to mature in other similar projects in the future, to be scaled up to the
whole country. It is recommended also that the government will take this opportunity to entertain
such alternative voting system with other security method.

- Integration with other sits.


- Online digital signature.
- Online facial recognition.
- SMS based E-voting.
- The system should develop the online voting system for the future

Debere Berhan University Department of Information Technology 2015 GC 80


Online Voting System

6.3 Appendix
6.3.1 Appendix 1

1. Ethiopia electoral rule

The following are some of the election rules and regulation of Ethiopia, these rules and
regulations are sources of input for requirement analysis.

· Voting in any election shall be carried out in secret

· Each vote shall carry equal weight

· Any person shall be registered once and at one place only

· Registration shall be carried out at the polling station within the Keble of the elector’s
residence, provided however registration from house to house or in similar places outside the
polling station is prohibited

· The elector shall be issued with an elector's card

· The disabled and the blind may be registered accompanied by their assistants

· Registration shall be carried out at a polling station

· Any person duly registered shall be issued with an elector's card bearing his name place of
birth, designated polling station, registration number and his signature or thumb mark.

· Upon conclusion of registration, the electoral roll shall be marked with closing indications and
signed by the electoral officials

· Subsequent to closure of the electoral roll, each polling station shall transfer same, or a copy of
it, and other necessary documents to the respective Woreda electoral office, in accordance with
directives to be issued by the Board

· Any person shall stand as a candidate only in one constituency

· In case candidates have equal number of votes, they will be identified by drawing a lot

Debere Berhan University Department of Information Technology 2015 GC 81


Online Voting System

· Every elector shall vote by appearing in person

· Each elector should vote only once

· Any elector may cast his vote only upon confirmation that he is carrying the elector's card

· Any elector may cast his vote only at the polling station where he had registered

· The elector shall hand his elector's card to the electoral coordinators of the polling station,
where upon they shall proceed to verify his identity by examining the card

· After verification of the voter identity, the thumb of the elector shall be put into the ink
provided for the purpose, after which he shall be handed with a ballot paper and pointed out to
the voting booth;

· Any elector shall have the right to choose a person who can assist him to mark the ballot paper
and put it in the ballot box during the voting process

· Soon after closure of the polls, counting of ballots shall be carried out at polling stations, in
accordance with directives to be issued by the Board

· The results of counting made at a polling station shall be publicized forthwith

· Upon the conclusion of election and collection of the necessary information, the board shall
forthwith issue an official declaration containing the following particulars; the number of
registered electors, the number of electors having cast their vote, the number of blank and null
ballot papers, the percentage of registered electors having and not having cast their vote, the
percentage of unregistered electorate, the list of elected candidates and their respective
constituency

· Voting shall be carried out without interruption during the voting hours

· The elector shall handover his elector's card to the election coordinators of the polling station,
where upon, by referring to the electoral roll, they shall proceed to verify his identity and that he
has not voted

Debere Berhan University Department of Information Technology 2015 GC 82


Online Voting System

· By examining both hands of the elector the election coordinators ascertain that there is no
identifying ink that shows he has voted

· In the booth, the elector shall put, on the ballot paper, an "X" or a thumb mark in the square
corresponding to the symbol of the candidate for which he wants to vote

· Counting of votes shall be conducted by the Polling Station Officers only, and others shall have
the role of observers

· The counting shall be made by picking one of the arranged votes and count them three times by
three different officers.

Debere Berhan University Department of Information Technology 2015 GC 83


Online Voting System

Reference
1) Doug D., How Electronic Voting Impacts the Trustworthiness of Elections,
AvailableFrom: WWW.OpEdNews.com (AccessedSeptember2014/2015).
2) Electricnews.net, All internets voting is Insecure, Available
from:http:www.theregister.co.uk/2004/01/23 ((Accessed September 2014/2015).
3) StevenM.,ABetterBallotBox,Availablefrom:http://www.notablesoftware.com/
papers/1002evot.pdf (accessed 15 January 2007).
4) Pipaa N., Evoting as a magic Ballot, Available from:
http://ksghome.harvard.edu((Accessed October 2014/2015).
5) Every One Counts PL, A Virtual Private Network for Internet Voting, Available
from: http://www.everyonecounts.com (accessed 26 February 2007).
6) Joseph R., Alen E., Dermot C., Fintan F., the KOA Remote Voting System, Available
from: http://secure.ucd.ie/documents/submitted/KOAEVT06.pdf (Accessed October
2014/2015).
7) 30th meeting of the working Group on 28th August 2001 in Berlin, Data Protection
and Online Voting in Parliament and Other governmental elections, Available
from:http:www.theregisterBerlin.co.uk (Accessed October 2014/2015

Debere Berhan University Department of Information Technology 2015 GC 84


Online Voting System

Sample question for questioner purpose


1. How the system works currently?
2. What are the current states of the system?
3. What are the problems faced using the currently available system?
4. Is it better to develop an online system?
5. What are the main objectives of the NEBE?
6. What is the mission and vision of the NEBE?
7. How many branches does the NEBE have?
8. How does your current system work?
 Is it manual?
 Is it computerized?
 Is it online?
9. What are the procedures or steps to use your system easily?
10. How do you think to generate this system to the f

Debere Berhan University Department of Information Technology 2015 GC 85

You might also like