Sie sind auf Seite 1von 25

1

Chapter 1
Problem identification

1.1 Introduction:
This system is to implement the computerization of the details,
ONLINE VOTING SYSTEM is an online voting technique. It is based on
the other online services like ONLINE RESERVATION SYSTEM .In this
system people who have student of Jimma university can give his\her
vote online without going to any polling booth. There is a DATABASE
which is maintained by the ELECTION COMMISION OF Jimma in which all
the names of voter with complete information is stored.
The purpose of this project is to describe Jimma University students online
voting system (JUSOVS). It also contains software requirement specification
that specifies the requirement of JUSOVS using web based application.

1.2 Objective
1.2.1 General Objective:
The general objective of this project is to develop online student president
election software.
1.2.2 Specific Objective:
To make the functional and non-functional requirements of the Jimma
University Student Online Voting System easy to comprehend.
To make functionality clear of the system to end users.
Designing the system architecture of the system
Designing back-end database to the system that can hold all the information
Designing user friendly interface
2

Implementing standard security algorithms that can keep the confidentiality
of the data at rest as well as at communication lines
Selecting the appropriate development tools for the system
Integrating the whole system
Testing the system
Documenting the whole system

1.3 Statement of the problem:
The problems of the existing system that Jimma University had during the
election of student representatives are:
1. A lot of human power is invested during and after the election process.
2. As there are many students to elect their representative at one station,
only limited number of students can give votes at a time.
3. As the existing system is manual, there is a chance for the election
process to be cheated. i.e some students may gate chance to elect twice.


1.4 Methodology:
In the development of our project, we have used different methodologies together
information such as:
Interviewing peoples that have the connection with the system
Document resources describing about online voting management system.
Observation of different events in the organization
Studying the current voting system JU to get the requirement of the
system
Study the security risks of e-voting
Study the current security technologies so as to implement in the system
3

Assessing the available network infrastructure that helps for data transfer



1.5 Modeling :
Object Oriented modeling model is identified for system development.
1.6 Tools used
JAVA EE is used for development of the system
Tools that are used for development and deployment of the system:
- Modeler for modeling and prototyping the system
-Server applications: The election server runs on a http server, that isjsp
enabled.
-Windows is the operating system


1.7 Proposed system:
The system to be developed based on this project is using online system that
every student will have unique code which will be provided with the email
address of the students. That code will be used during election time providing
secure and private way of election.
1.8 Scope:
The application will be used only for/in Jimma University and not for
other organizations.
The system is applicable for those students that have internet access and
which are able to use the email system.
1.9 Significance:
4

These computerized election systems have the following proposed importance.
1. Reduced human power for election process.
2. Easy and modern way of voting for students.
3. Less time wastage for both the students and the employees.

5

Chapter 2
Analysis

2.1 Existing System:
The existing system Jimma University is using during students president election has the
following form:
The election board assigns some people for each department (e.g. computer science) in
order to check each student elects only once. Then the students will get one official election
card to choose among the candidates. At the end of the election process the election board
counts the votes for each candidate student and announces the result of the election the
next day.
The employees needed during the election process are:
Different officials, the existing student president, free visitors of the election process and of
course the security workers etc
Some drawbacks the existing systems are:
A lot of human power is invested during and after the election process; As there are many
students to elect their representative at one station, only limited number of students can
give votes at a time.
2.1.2 Election system Rules
1. Only student of Jimma University can give vote.
2. The election will be held for only one day.
3. Each student can give only one vote.

2.2 New System
2.2.1 Non functional Requirements
The non-functional requirement describes constrains for implementing the project. Some
Of them are:
Interface
Documentation
2.2.1.1 Security Requirements
6

The central server has to be provided at secured area.
The network infrastructure has to be private network.
Client machines at each of the computer laboratories must be provided.
The voter should have also basic computer skills.
All the passwords that are generated or accepted must be stored in database in an
encrypted form.
In election mode, the different password should be generated for a user in
every different election.
To prevent data loss in case of system failure, the result of votes that are polled till
then have to be saved in database.
In case system administrator detects any security problem in the system, he should
be able to shut down the system and prevent all connection to the server
immediately to preserve already polled votes.
The system should warn system administrators about the malfunction of the system.
2.2.1.2 Performance and Reliability
The systems performance is different according to its mode
In Election Mode
The system must be working at 99% efficiency during the voting process. Voters are allowed
to be active for short time.
In Normal Interactive Mode:
The system in this mode is expected to serve maximum number of users, but each voter can
be active for a long time. Since it may need some maintenance or preparation for the
Election Day, the system does not need to be reliable every time. So, 80% reliability is
enough.
.
2.2.2 Functional Requirements
Activate System
Supervisor starts the system/systems of the station of his responsibility during election
Generate password: The election officerhas to create a password for voters. The
encryption/decryption key is generated from the pass phrase created in the system.
Create Candidates: Before the vote casting process begins, the EO createscandidates.
Create Registrar: Before the registration process begins, the system has to create the
username and password of the registrars.
7

Create and update Voter: After the eligible registrars are created, the registrar will register
the voters and update voter list if they graduated or not present in current education year.
Login: The registrar, the voter, and the election officers have their own
Credentials stored in the database. The system will check the keyed values against the
values stored in the database.
CV Edit (Candidate)
Allow candidate Add contents to or edit his CV Before election. The CV can be seen by
voters.
View Election Candidate Information
Voter sees the candidates profiles by using this function the voters can reach information
about the candidates CVs and answers to asked questions.
Ask Question
Before election held the voters use the system for asking questions to candidates.
Read and Answer Question
candidate can read and/or write answers to thequestions asked by the voter.
Cast Vote: When the voter keys(enters) the correct Identification number to the
system, the system will extract the eligible candidates then, the voters casts the vote by
keeping the rules.
Change password: This explains how the voter and candidate can
changetheirpassword.Voter take pre generated password and change if he wants his own
password. It help voter to hold good security level.

Generates Report: At the end of the election, the election officer will generate the votes
for each candidate and report the result.





8

2.3 Use Case Diagram

9


2.3.1 Use case documentation (scenario)


Activate System
Use case name: ActivateSystem ID: 1 Priority: High
Primary actor: election officer
Stakeholders and interests: Election Station Supervisor wants to initiate the system
Brief description: This use case describes how the supervisor starts the system/systems.
Precondition: The user turns on the system.
Relationships:-No relations

Normal flow of events:
The user enters his/her supervisorID and password
A. If the supervisorID and password is valid, a session is opened
I. The security is verified
II. The voting page is loaded
B. If the supervisorID and password is not valid, the login screen is redisplayed with an
error message

Create Registrar Account
Use case name: CreateRegistrarAccount ID: 2Priority: High
Primary actor: EO Use case type: essential
Brief description: This describes how EO will generate Registrars new accounts.
Precondition:
Relationships:-No relations
10

Normal flow of events:
1. EO selects on Create Registrar Accounts from menu
2. System displays Create Candidate Accounts page
3. EO opens a new form for every Candidate
4. EO fills the form according to Registrars information
5. EO presses on Generate password button
6. System creates an account and password for that Registrar
7. EO presses on Print button and the system prints that document
8. EO finishes the task by pressing on Finish button

Create and Update Voters Account
Use case name: createandupdateVoters ID: 3 Priority: High
Primary actor: Registrar Use case type: essential
Stakeholders and Interests: Registrarwants to update all voters according to their status
Brief description: This describe how Registrar updates online voters
Precondition:
Relationships: -No relations
Normal flow of events:
1. Registrar selects on Update Voters from menu and displays that page
2. Registrar click on Update Now button
3. The system checks online voters with respect to upcoming elections voters list
a. If the voter exists in live campus student list, the system updates the voter with respect
to the voter information.
b. If the voter does not exist in the list, the system add that voter from Registrar
database if available.
c. If the voter doesnt existin live campus student list, Registrar deletes or removes that
user.
11


Generate password
Use case name: Generatepassword ID: 4 Priority: Medium
Primary actor: Candidate Use case type: essential
Stakeholders and Interests: Election Officer Will generate password for voters.
Brief description: This password is important for voters.They will use it when they log in to
the system and on the time to change the password.
Precondition:Registrar must register or update voters account
Relationships:-No relations
Normal flow of events:
1. On theEO profile there is a button labeled Generate password, he clicks it to Generate
password.
- The system opens a new page that contains active voter list if any.
A. the System generate password and print for all active voter in the list.
B. if no active voter in the list the System displays if no active voter in the list message.
2. The user clicks Save and Return button to save the changes and return to his profile.

Create Candidate Account
Use case name: CreateCandidateAccount ID: 5 Priority: High
Primary actor: EO Use case type: Detail, essential
Brief description: This describes how EO will generate all election candidates new accounts.
Precondition:
Relationships:-No relations
Normal flow of events:
1. EO selects on Create Candidate Accounts from menu
2. System displays Create Candidate Accounts page
3. EO opens a new form for every Candidate
12

4. EO fills the form according to candidates information
5. EO presses on Generate password button
6. System creates an account and password for that candidate
7. EO presses on Print button and the system prints that document
8. EO finishes the task by pressing on Finish button

CV Edit (Candidate)
Use case name: CVEdit ID: 6 Priority: Medium
Primary actor: Candidate Use case type: Detail, essential
Stakeholders and Interests: Election Candidates Wants to add or Edit his CV contents.
Brief description: This explains how the candidate can Add contents to or edit his CV. The CV
can be seen by voters.
Precondition: The user should be logged in into the system
Relationships: -No relations
Normal flow of events:
1. In the user profile there is a button labeled View and Edit CV he clicks it to edit his CV.
- The system opens a new page that contains the candidates CV with data in it if any in edit
mode.
2. The user edits his CV using the free editing template.
3. The user clicks Save button to save the changes
4. The user clicks Return return to his profile.

Log In / Logout
Use case name: Login/Logout ID: 7 Priority: High
Primary actor: User Use case type: Detail, essential
Stakeholders and interests:
Voter Wants to log into the system
13

ECA Wants to log into the system
ECC Wants to log into the system
Brief description: This describes how the users log into the system
Precondition: The user opens the login page
Relationships:-No relations
Normal flow of events:
1. The user enters his login id and password
A. If the login and password is valid, a session is opened
i. The security is verified
ii. The specific page of every user is loaded
B. If the login or password is not valid, the login screen is redisplayed with an error message
2. The user clicks on the logout button
i. The session is terminated.
ii. The login screen is displayed again.

Change password
Use case name: Changepassword ID: 8 Priority: Medium
Primary actor: User Use case type: Detail, essential
Stakeholders and Interests:
Election Candidates Wants to change password
Voter - Wants to change password
Brief description: This explains how the voter and candidate can changehis/her password.
Precondition: The user should be logged in into the system
Relationships:-No relations
Normal flow of events:
14

1. In the user profile there is a button labeled Update Account he clicks it to update his
account.
- The system opens a new page to enter old password and the new one.
2. The user enters his old password. He then enters his new password
3. User clicks the submit button.
- If the old password was entered incorrectly, the system will print an error messageand the
form to change password will re-appear.
- If the old password was entered correctly the system changes password and prints a
success message and redirects to his profile.

View Election Candidate Information
Use case name: ViewECInformation ID: 9 Priority: Medium
Primary actor: Voter Use case type: Detail, essential
Stakeholders and interests: Voter wants to see the candidates profiles.
Brief description: By using this function the voters can reach information about the
candidates CVs and answers to asked questions.
Precondition: -The voter should be already registered to the system
-The voter should have logged in to the system
-Account of the EC should be activated by himself.
Relationships:-No relations

Normal flow of events:
1. Voter selects the candidate from candidate list.
A. If the candidate has not activated his profile then there will not be any link to his profile
B. If the candidates page is activated then voter clicks on the candidates profile link and
ECs profile page is displayed
i. By clicking the CV link voter can reach the general information about the EC.
ii. By clicking the promises link voter can view the ECs election campaign.
15

iii. By clicking the Questions/Answers link voter can view questions/answers and send
questions.

Read / Answer Questions
Use case name: Read/Answer Questions ID: 10 Priority: Medium
Primary actor: Candidate Use case type:
Stakeholders and Interests: Election Candidates Wants to Read and/or answer
questions from the voters before the election.
Brief description: This explains how the candidate can read and/or write answers to
thequestions asked by the voter-to-be.
Precondition: The user should be logged in into the system
Relationships:-No relations
Normal flow of events:
1. In the user profile there is a button labeled Questions he clicks it to read
and/or answer the questions.
- The system opens a new page that contains the questions from the voters
- If there are questions the candidate clicks on the question to read and answer it on the
provided answer text box.
- User can choose to return to his profile.
2. The user reads and/or answers questions if any.
3. The user clicksReply and send to save and send answers of the questions.
4. The system takes the user to the questions page
5. User clicks on Return button to return to his profile

Ask Question to a Candidate
Use case name: AskToCandidate ID: 11 Priority: Medium
Primary actor: Voter Use case type: Detail, essential
16

Stakeholders and interests: Voter wants to direct questions to candidates about their
election campaign.

Brief description: This explains how the voters use the system for asking questions to
candidates.
Precondition:
Relationships:-No relations
Extend: View Candidate Information
Normal flow of events:
1. User clicks on the Questions/Answers link
2. He writes his question on the text field
3. By pressing Send Question, user sends his question

Cast vote
Use case name: castvote ID: 12 Priority: High
Primary actor: Voter Use case type: Detail, essential
Stakeholders and interests: Voter wants to use his vote by using system.
Brief description: This explains voting process by using the system.
Precondition: -user must register
- have given or changed password
Relationships:-No relations

Normal flow of events:
1. Voter gets a hash password from the EO.
2. Voter fills the Voter Identification Number (VIN), username and password areas.
3. Voter press log in button.
17

A. If the login operation is not verified the system prompts an error message and
returns to login page.
B. If login operation is verified
i. The system will prompt the list of parties/candidates.
ii. Voter chooses one of the parties/candidates from list.
iii. He presses the vote button for voting process.
iv. If the operation is successful, voter marked as Online Voted by the system
v. System automatically returns to the log in page


Generate Report
Use case name: GenerateReport ID: 13 Priority: High
Primary actor: ElectionOfficer Use case type: Detail, essential
Stakeholders and Interests: Election Candidates Wants to generate election result.
Precondition: Casting vote must be completed
Relationships:-No relations
Normal flow of events:
1. In the EO profile there is a button labeled Generate Report he clicks it to generate
report.
- The system calculate the vote each candidate and produce Report.
2. The user clicks Save and Return button to save the changes and return to his profile.

View Election Results
Use case name: ViewElectionResults ID: 14 Priority: Medium
Primary actor: Voter Use case type: Detail, essential
Stakeholders and interests: General public (Voters, ECs, ESS, etc.) wants to see the election
results.
18

Brief description: This describes the process of how the voters view the election
results by using the system.
Precondition:
Relationships:-No relations
Normal flow of events:
1. He clicks on the election results link.
2. The system displays the required information according to the selected choices.















19

Chapter 3
Data Dictionary and user interface
3.1 Data dictionary
Header Description Field Type
Field Length/ Maximum
Number
Userid This is a unique user
identification word
which is unique to every
registered user
string 10,000
Password A password for every user
to log in into
the system
string 15,000
voter An array of voters
registered for the coming
election
string 12,000
electioncandidate An array of election
candidates
registered for the coming
election
string 3
earnedvote Keeps the total votes a
candidate has got
from voters
integers 3
totalvotes Keeps the total votes in a
given region of a candidate
given by voters
integer


3.1.1 Data Description
3.1.2 Data Objects
We can classify our data objects and their main attributes as follows.
Login: UserId, Username and Password.
UserList: Voters [], EOs[], Registrars[], Cs[].
User: Name, Address, JU id, username, password
CandidateVotes: earntVotes, totalVotes, percentage, rank
Candidate: position
Registar: userId, password
20


3.1.3. Relationships
A. Associations
The following object relationships show association in JUSOVS system
o Login and User
o Login and Registrar
o Candidate and Candidate Votes
o User and Candidate Votes

B. Composition
The following object relationships show composition in JUSOVS system
User and UserList
3.2 Conceptual modeling:
3.2 .1 Class diagram

21




3.3.2 Sequence diagram
3.3.2.1.Voter use case
3.3.2.2. Registrar Use case


3.3.2.3 Candidate
22


3.3.2.4 Activate System




3.4 User interface




Interface relations
23

3.4.1 Hardware Interfaces
There are no hardware interfaces to this software system. The only interfaces are through a
computer system.

3.4.2 Software Interfaces
The Application server runs on web server that is enabled to handle server pages. It uses a
relational database to keep track of the voters, which it connects through standard database
connectivity interfaces. In order to run the setup software, the environment needs to have a
Java Virtual Machine running on it.

3.4.2.1 User Interfaces
The system must provide a user interface for all types of users (EO, Registrar, Candidate and
Voter) that is available through all Web browsers






24

3.4.2.1 Administrator System interfaces

Administrator Login Form

Account Creating Form
25

3.5 Conclusion
In general, this project contributes an initial work on electronic voting system for Jimma
University student. 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 JUSU will take this
opportunity to entertain such alternative voting system.

Das könnte Ihnen auch gefallen