You are on page 1of 13

SOFTWARE

REQUIREMENTS
SPECIFICATION FOR
E-Ballot

A semi-automated vote Casting


system
VERSION 1.0
Supervisor:
Course:
Date:

Mr. Jonathan Kizito


Bachelor of Science in Computer Science
31 January 2016

Prepared by Group CS 16 035


Names

Registration No.

Email

NAMIIRO MARTHA

13/U/11025/EVE

nmartha777@gmail.com

KABENGE JOSEPH

10/U/23283/EVE

Benges88@gmail.com

SoftwareRequirementsSpecificationforEBallot

Pageii

Contents
1

REVISIONS.....................................................................................................................................................................III

INTRODUCTION.............................................................................................................................................................1
2.1 DOCUMENT PURPOSE.............................................................................................................................................. 1
2.2 PRODUCT SCOPE..................................................................................................................................................... 1
2.3 INTENDED AUDIENCE AND DOCUMENT OVERVIEW................................................................................................... 1
2.3.1
Document Overview..............................................................................................................................................1
2.4 DEFINITIONS, ACRONYMS AND ABBREVIATIONS....................................................................................................... 2
2.4.1
Definitions............................................................................................................................................................2
2.4.2
Acronyms and Abbreviations................................................................................................................................2
2.5 DOCUMENT CONVENTIONS...................................................................................................................................... 2
2.5.1
Formatting Conventions.......................................................................................................................................2
2.5.2
Naming Conventions............................................................................................................................................2
2.6 REFERENCES AND ACKNOWLEDGMENTS................................................................................................................... 3

OVERALL DESCRIPTION.............................................................................................................................................4
3.1 PRODUCT PERSPECTIVE........................................................................................................................................... 4
3.1.1
Proposed Flow of Activity.....................................................................................................................................5
3.2 USER CHARACTERISTICS.......................................................................................................................................... 6
3.3 GENERAL CONSTRAINTS......................................................................................................................................... 6
3.4 ASSUMPTIONS AND DEPENDENCIES.......................................................................................................................... 6

SPECIFIC REQUIREMENTS.........................................................................................................................................6
4.1 EXTERNAL INTERFACE REQUIREMENTS.................................................................................................................... 6
4.1.1
Software Interface.................................................................................................................................................6
4.1.2
Hardware Interface:..............................................................................................................................................7
4.1.3
Communication Interface:....................................................................................................................................7
4.2 FUNCTIONAL REQUIREMENTS.................................................................................................................................. 7
4.2.1
Voters.....................................................................................................................................................................7
4.2.2
Administrator........................................................................................................................................................7
4.2.3
Candidate..............................................................................................................................................................8
4.3 BEHAVIOUR REQUIREMENTS.................................................................................................................................... 8
4.3.1
Use Case View.......................................................................................................................................................8

NON-FUNCTIONAL REQUIREMENTS......................................................................................................................9
5.1 PERFORMANCE REQUIREMENTS............................................................................................................................... 9
5.1.1
Time / space bounds..............................................................................................................................................9
5.1.2
Reliability.............................................................................................................................................................9
5.1.3
Security.................................................................................................................................................................9
5.2 SOFTWARE QUALITY ATTRIBUTES........................................................................................................................... 9
5.2.1
Availability............................................................................................................................................................9
5.2.2
Robustness............................................................................................................................................................9

SoftwareRequirementsSpecificationforEBallot

Pageiii

1 REVISIONS
Versio
n

Primary
Author(s)

Description of Version

Date
Completed

Software Requirements Specification for THE e-BALLOT

Page 1

2 INTRODUCTION
2.1 Document Purpose
The purpose of this document is to make the functional and non-functional
requirements of the e-Ballot Vote Casting System easy to comprehend. It
also serves the purpose of making the functionality clear to end users

2.2 Product Scope


The system produced will be an electronic vote casting system. The software will
be used by citizens to cast their vote using biometrics as the way of
authentication. It will also enhance computing of voting percentage. It will only be
used for casting the ballot not any other functionality. This will leave it
independent of fraud and ease of manipulation.
The aim of this is to create an easy in the way people vote in various elections and
as well reduce amounts of money spent on ballot papers. It will be used at the
time of elections. Before voting each voter will get a unique id number that
corresponds to their biometrics to caste their valuable vote. It will maintain a
database of all the eligible voter biometric information with each biometric having
a corresponding number that only corresponds to a voter. It will also maintain a
database of candidates contesting in a particular position. With the fingerprint
detail, it will have details of the voters such as citizen name, date of birth, their
constituency area, and region.

2.3 Intended Audience and Document Overview


The purpose of this document is to make the functional and non-functional
requirements of the e-Ballot System easy to understand and as well put the
intended parts of the system apart. It also serves the purpose of making the
functionality clear to end users. For academic purposes the document is for full
analysis of the supervisor to see it fit for accomplishment of the project.

2.3.1

Document Overview

The remainder of this document identifies the actors, use-cases, use-case


scenarios, activity diagrams, assumptions and dependencies needed for the
analysis and design of the e-Ballot System software package. The rest of the
document contains the overall description of the system, requirements, data
model and behavioral description of the system and project planning.

Software Requirements Specification for THE e-BALLOT

Page 2

2.4 Definitions, Acronyms and Abbreviations


2.4.1

Biometrics : Mainly referring to the finger print as the main biometric


property of use in this project
Apache Tomcat:

2.4.2

Definitions

Acronyms and Abbreviations

HTML:
Hypertext Markup Language is a markup language used to
design static web pages.
CSS:
Cascade Style Sheets.
JDBC:
Java database Connector.
J2EE:
Java 2 Enterprise Edition is a programming platform part of the
Java Platformfor developing and running distributed multitier architecture
Java applications, based largely on modular software components running
on an application server.
SQL: DB2 Database is the database management system that delivers a
flexible and cost effective database platform to build robust on demand
business applications.
HTTP: Hypertext Transfer Protocol is a transaction oriented client/server
protocol between web browser & a Web Server.
WAS: Web Application Server.
HTTPS: Secure Hypertext Transfer Protocol is a HTTP over SSL (secure
socket layer).

2.5 Document Conventions


2.5.1

Formatting Conventions

In general this document will follow APA formatting requirements. The entire
documents will be justified with spacing 1.15. Headings will be aligned to the left
and will be numbered according to the heading type.

2.5.2

Naming Conventions

Naming will be done mainly using paragraphs, Chapters will be in Gill Sans Font
type, 16 for Font size and automatic heading. Sections will be in Gill San MT font
type, 14 font size and normal text will be in Gill San MT font type, 12 font size.

Software Requirements Specification for THE e-BALLOT

Page 3

2.6 References and Acknowledgments

Olaniyan O.M, Mapayi .2T, & Adejumo. 3S.A, 2011. A Proposed Multiple Scan
Biometric-Based System for Electronic Voting. Afr J. of Comp & ICTs. Vol 4, No. 2.
pp 9-16

Raura. L, 2013, A Secure Electronic Voting Software Application based on Image


Steganography and Cryptography, Swinburne University of Technology

Rexha, B., Neziri, V., & Dervishi, R., 2012. Improving authentication and
transparency of e-Voting system Kosovo case. International Journal of Computers
and Communications, 84-91.

Richard. S. and Patrick, D, 2007, Security analysis of remote e-voting. E-voting.


Architecture. Issue Date: Aug-2007. Proceedings of the International Conference
on
Computing
and
ICT
Research.
Retrieved
online
from
http://dspace.mak.ac.ug/handle/123456789/682

Volkamer, M 2009, Evaluation of Electronic Voting - Requirements and Evaluation


Procedures to Support Responsible Election Authorities, Springer, Google Books,
viewed 27 May 2013.
D. P. Gilliam, T. L. Wolfe, J. S. Sherif, and M. Bishop, Software Security Checklist
for the Software Life Cycle, in Proc. WETICE03, 2003, pp. 243-248

HTML Forms
january 2016

Aneesha. B, (2001), Java Servlet Pages, Prima Tech

SRS report for ONEVS, iTeam4, 2010, www.ceng.metu.edu.tr/~e1591114/SRS

Web Application, www.experiencezen.com/wp-content/uploads/2007/04/adaptivepath-ajax-a-new-%20approach-to-web-applications1.pdf, accessed on 2 January


2016

http://www.w3schools.com/html/html_forms.asp

accessed

on

Software Requirements Specification for THE e-BALLOT

Page 4

3 OVERALL DESCRIPTION
3.1 Product Perspective
The software product is a standalone system and not a part of a larger system.
The system will be made up of two parts. Before the Election Day, the system
will be used for general purposes such as setting up users and their privileges
and administration, entering candidate details, profiling candidates for the
election and setting the various modules before elections. The voters will reach
the system through web pages by using web-browsers such as Mozilla, Internet
Explorer and Google Chrome or by clicking on the icon of the system software on
mobiles that have finger print recognition functionality. The system will be
modular in a way that it can be used for various election i.e. it will allow for
customization.
During election, the system is connected to the thumb print database with all
the voters information. This system will be adapted to the computers at the
polling stations. The voters cast their votes using the interface that are provided
at these machines. These votes are accepted by the system on the server. The
SSL will ensure secure thumb print information transfer and easy access.

SSL
Client Interface
Finger Print Module

Finger Print
DB

HTTP

Voter DB

HTTP

Web App Server

The web pages (XML/JSP) are present to provide the user interface on customer
client side. Communication between customer and server is provided through
HTTP/HTTPS protocols. On the server side web server is for java servlets and
database server is for storing the information.Productfunctionality
The election admin will be able to register Candidates in the system after
their nomination. Candidates can then verify this on the system there and
then.

A detailed profile the candidates, will also be include

Software Requirements Specification for THE e-BALLOT

Page 5

Voters will be able to vote from anywhere in the area of voting, since there is
centralised control of the voting process. This will provide for convenience
and time saving

The Election Administrators will be able to update thumb print and voters
Database through a sync function with their existing voter pool available.
The sync function can be a later stage development idea.

The system would show the statistics after voting of the votes casted and
the votes obtained by the various candidates. But to reduce controversy, the
system will report after election time is closed

The system will not provide for manual input of election result by any one
user

3.1.1

Proposed Flow of Activity


Start

Voters
Invalid
Thu
mb
ID

Valid

Voters
Activit
y

Candidates

Administrator
Log
In
Det
ails

Admin
Activit
y

Invalid

Valid

Invalid

Log
Ins

Valid
Candidat
es
Activity

Stop

Software Requirements Specification for THE e-BALLOT

Page 6

3.2 User characteristics


Every user should be comfortable of working with computer and net browsing.
Every user must have basic knowledge of English too.

3.3 General Constraints


The system is only in English.
This system is working from multiple servers including a web server then two
database servers.
The system is tied to HTTP/HTTPS only.
Novice and handicapped are not into system knowing.

3.4 Assumptions and Dependencies


For the proper working of the system these are required.

Biometric finger print scanner either inbuilt or attached


Internet connection

A web server should have Java installed on the machine, along with
Javas cryptographic packages.
The web server runs on an http server, that is java server pages (jsp) and
servlet enabled.
A web browser through which the voters access the server should have minimal
support for cookies and encrypted transactions.

4 SPECIFIC REQUIREMENTS
4.1 External Interface Requirements
4.1.1

Software Interface

Client on Internet: Web Browser, Operating System (any)

Web Server:

Data Base Server: DB2, Operating System (any)

Development End: WSAD (J2EE, Java, Java Bean, Servlets, XML), DB2, OS
(Windows), Web Server.

WAS, Operating System (any)

Software Requirements Specification for THE e-BALLOT

4.1.2

Hardware Interface:

Client side
Web Browser (any)
Web app
Server side
Web Application Server
SQL

4.1.3

Page 7

Ram
256 MB

Free Disk Space


100 MB

256 MB

120 MB

512 MB

512 MB

Communication Interface:

Client on Internet will be using HTTP/HTTPS protocol.

4.2 Functional Requirements


The system should be able do the following for the users and the voters

4.2.1

Voters

The citizens of the country who are eligible for casting vote.
Get a Biometric ID The voters should be able to access the system
using their voter ID number and be able to generate a unique biometric
ID that they will use during elections.
Cast vote the system should the voters to cast their votes for their
favorite candidates on the system either online in their choice location
or at a gazetted place using a finger print as access authentication.
View their Details The voters will view their own details which they
filled up at the time of their registration using the system.

4.2.2

Administrator

Responsible for maintaining all the databases, generating results of polling and
nominating candidates for elections.

Register candidates Administrator will register the candidates who


will nominate for the position area.

Register other user and Candidates Using the system, the admin
must be able to register other officer with the same privileges and also
register candidate accounts for them to view results and polling
activities.

Voter Details Administrator must be able to connect the system


with the voter database or register voters.

4.2.3

Candidate

Software Requirements Specification for THE e-BALLOT

Page 8

Register for nomination, add details to profile, modify profile and campaign for
elections.

View Election results Candidates will be able to view election details


also view statistics
View own details The details filled by the candidates at the time of
nomination will be viewed by them for future references.

4.3 Behaviour Requirements


4.3.1

Use Case View

Below is a use case diagram of the whole system including the voter perspective
and then the administrator perspective?
Place
Thumb
Get BioMetric
Print
View Results
ID
View
Profile
Details

Voter

Candidate

View
Profile
Details

Cast Vote

Nominate
Candidate

View Election
Reports
Statistics

Add Candidate
Account

Add Voters
Details
Add User
Administrator
Users

Log In

Software Requirements Specification for THE e-BALLOT

Page 9

5 NON-FUNCTIONAL REQUIREMENTS
5.1 Performance Requirements
5.1.1

Time / space bounds

The system is expected to have a short response time. The user, candidate
and voters should be able to get response for their requests in less than 5
seconds in relations to their connection strength.

5.1.2

The system in all case should avail integral information to all users
The system will in all cases update changes in vote casting in all user
accounts

5.1.3

Reliability

Security

All Biometric information is transmitted encrypted and then decrypted at


the receiving end
The data transaction between client and server must be encrypted using
SSL technology.
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 TCK in
every different election.
To help the voters the system should allow for three tries to enter
Biometric ID In which it will be invalid pending equitation of another

5.2 Software Quality Attributes


5.2.1

At the voting time, the e- Ballot system shall be available to users on the
network and to dial-in users 99.9% of the time between 7:00am and 5:00pm
local time for voting and 95% of the time between 5:00pm and 6:00am local
time for winner announcement.

5.2.2

Availability

Robustness

If the connection between the user and the system is broken prior to voting
being either confirmed or canceled, the E-Ballot System shall enable the
user to recover an incomplete vote casting process.

Software Requirements Specification for THE e-BALLOT

Page 10

You might also like