Sei sulla pagina 1di 21

Software Requirements

Specification
For
E-Voting System

Version 1.0

Prepared by Abdul Moiz Farooq

Hafiz Usama Maqsood

COMSATS University, Islamabad, Wah Campus

27/11/2019
Table of Contents
Table of Contents
1. Introduction
1.1 Purpose
1.2 Document Conventions
1.3 Intended Audience and Reading Suggestions
1.4 Product Scope
1.5 References
2. Overall Description
2.1 Product Perspective
2.2 Product Functions
2.3 User Classes and Characteristics
2.4 Operating Environment
2.5 Design and Implementation Constraints
2.6 User Documentation
2.7 Assumptions and Dependencies
3. External Interface Requirements
3.1 User Interfaces
3.2 Hardware Interfaces
3.3 Software Interfaces
3.4 Communications Interfaces
4. System Features
4.1 System Feature
5. Other Nonfunctional Requirements
5.1 Performance Requirements
5.2 Safety Requirements
5.3 Security Requirements
5.4 Software Quality Attributes
6. Other Requirements
7. Software Design
7.1 UML Diagram
7.1.1 Class Diagram
7.1.2 Use case Diagram
7.1.3 Sequence Diagram
7.1.4 Activity Diagram
7.2 Database Design
7.2.1 E-R Diagram
Appendix: Glossary5
References

1. Introduction
1.1 Purpose:
The EVS has been developed to override the problems prevailing in the particular manual
system, this software is supported to eliminate and, in some cases, reduce the hardships faced by
the existing system. Moreover, this system is designed for the particular need of the company to
carry out operations in a smooth and effective manner. Some of them are below:
 The Software is for the automation of EVS.
 It maintains two levels of users administrator level, user Level
 The Software includes maintaining voter and candidate details.
 Providing Security, Privacy and Rigging free system.
 Providing and maintaining Rigging free system for the county.
 Status and Report generation.

1.2 Document Conventions:


This document will use IEEE format. For clarity, acronyms and technical jargon, deemed
uncommon by the author, will be annotated and included in the glossary. The format for
headings is as followed:
Major headings are in bold 18pt font, and concurrent headings in bold 14 pt font. Sections are in
the format of x.y, where x and y are real, positive integers.
1.3 Intended Audience and Reading Suggestions:
This Software Requirements Specification document is intended for software engineers, system
testers and software designers in developing, testing, and producing the EVS and for the project.
It is suggested to read the sections sequentially, and to reference the appendices as one progress,
in order to clarify jargon terms and definitions.

1.4 Project Scope:


The proposed software product is the Electronic Voting System (EVS). The system will be used
to get the information from the users (voters and candidates) and then storing that data for future
usage. The current system in use is a paper-based system. It is too slow and cannot provide
updated lists of votes within a reasonable timeframe. The intentions of the system are to reduce
over-time pay and increase the number of voters that can be checked accurately. Requirements
statements in this document are both functional and non-functional.

1.5 References:
There are no references that are to be attached.

2. Overall Description
2.1 Product Perspective:
The Electronic Voting System is a self-contained system that manages activities of the voter’s
and candidate’s info. Various stakeholders are involved in the Electronic Voting System.

2.2 Product Functions


The system functions can be described as follows:
Registration: When a user is registered, the administration checks to see if the user is already
registered with the system. If he is, his/her Personal ID Number is entered into the computer.
Otherwise a new Personal ID Number is given to this user. The user information such as date of
birth, address and telephone number is also entered into the computer system.
Administration: Registration is mainly done by the system administrator for security reasons.
The system administrator registers the voters on a special site of the system visited by him only
by simply filling a registration form to register voter. Citizens seeking registration are expected
to contact the system administrator to submit their details. After the validity of them being
citizens of Pakistan has been confirmed by the system administrator by comparing their details
submitted with those in existing databases such as those as the Registrar of Persons, the citizen is
then registered as a voter.
Voter casts vote: If a voter casts vote, the administrative staff shall collect the data and his
option of voting will be deleted from the system. Now he may check the graph or see results.
Candidate enters team: If a candidate enters team, the administrative staff shall collect the data
and his option of entering will be deleted from the system. Now he may check the graph or see
results.
Graph: The system generates graph of the results.
Result: The system generates reports on the following information.

2.3 User classes and characteristics:


The entire EVS suite program has a set of users, each with different security privileges. These
user types are voters and candidates. The administration will control most of the system, can
transfer data in/out of the networks and possesses read/write permissions on sending/receiving
data to/from the database.

2.4 Operating Environment:


Workstations are used for this software because of high level tasks performed by this system.
Windows, IOS and OS for workstations are used for this software. As we also have to use it in an
open environment so the hardware must be water resistant because of rains.

2.5 Design and Implementation Constraints:


Database: The system shall use the MySQL Database or may use Microsoft Access, which is an
open source and free to use.
Operating System: The Development environment shall be Windows 2000.
Web-Based: The system shall be a Web-based application.
Web browsers: Mozilla Firefox, Google chrome, Opera and Internet Explorer
Testing- is done via WAMPSERVER.

2.6 User Documentation:


The application will come with an “About” tab, which will allow users to access the offline and
online HTML help manual. This manual will be updated with each new service pack.

2.7 Assumptions and Dependencies:


It is assumed that one hundred IBM compatible computers will be available before the system is
installed and tested. It is assumed that the Administration will have enough trained staff to take
care of the system. in order to keep the software in a free status. This project is developed under
the working assumption that as an open source project it shall be noted that the project shall
change overtime.

3. External Interface Requirements


3.1 User Interfaces
The user interface of the software will use standard Windows API and GUIs using C#, C++, Java
or Python. All three subsystems will utilize the Windows-style GUI. Due to the varying age
group of users (from younger interns to middle-aged doctors), the GUI needs to adapt to the age
group’s GUI and computing preference.

3.2 Hardware Interfaces:


Database interfacing will use standard TCP/IP protocols, but using built in libraries, for
computers connected to the internet via LAN Ethernet cables. Due to security concerns and the
ease of hackers cracking WiFi hotspots, WiFi internet support with the software is prohibited by
the software. The software detects whether a LAN or WiFi connection is used, and will terminate
the program if WiFi is detected to be in use for the internet connection.

3.3 Software Interfaces:


It will interface with standard Windows API and GUI. Data that will be shared between
computers and instance of the software being run will be pushed and pulled from the user
database as needed/requested. This database cannot be configured and deployed for usage in
case-specific usages for each network that uses the software in its own LAN or intranet. All
offline and online access will be monitored, for transparency purposes, and in order to reduce
abuse and unauthorized access of the system.

3.4 Communications Interfaces:


Communication interfaces will use TCP/IP for data transmission and SMTP/HTTP for
generating emails of reports from the software. FTP can also be used in pushing generated
document reports to a administration FTP server. All communication interfaces should have high
baud data Tx and Rx rates ranging from Mbps to Gbps. All offline and online access will be
monitored, for transparency purposes, and in order to reduce abuse and unauthorized access of
the system.

4. System Features
4.1.1 Description and Priority:
An important advantage of having the EVS is powering your election i trust. With the security of
an independently managed server and service, the voters can rest assured that their votes will be
counted properly. This will offer many translations of the voting interface so that voters may
select their language of preference. If you require a language that's not listed in the option it will
be arranged for you. It will provide a system to create and manage multiple administrator users,
so that your staff and external auditors can safely access voting event information. Each user has
their own password to log into the EVS and we provide a log of which users perform which
actions. It can assign different access permissions for each user, specifying the features they are
allowed to use and the elections they are allowed to access. Secure Sockets Layer (SSL) is used
to encrypt the connection between the voters’ web browser and the voting site. Each voter's
internet address along with the date/time they voted is recorded; the system also prevents voters
from casting multiple votes for the same ballot initiative. It enables authorized officials and
administrators secure access 24/7 to manage voter lists, monitor results, and get reports.

4.1.2 Functional Requirements:


5. Other Nonfunctional Requirements
5.1 Performance Requirements:
The software should have high performance and low failure rates. The hardware and software
should be able to transmit/receive data from databases with high band rates, ranging from Mbps
to Gbps. Machines should have all recent Windows updates installed, and have their security not
compromised by viruses. Machines must have firewalls installed and active virus scanning
software in usage.

5.2 Safety Requirements:


There should be an appropriate control of the information. Information of the server database can
be hacked if there is any involvement of 3rd party application. To avoid that, unrecognized
devices/connections must be blocked.

5.3 Security Requirements:


All data receiving and transmissions should be done using EVS TLS or higher encryption, in
order to keep the user’s private and social security information out of the wrong hands. In
addition, all computers must have firewalls, and be operating on a LAN internet connection, not
a WiFi connection. Moreover, all computers must have all recent Windows updates installed, and
must have solid anti-virus software.

5.4 Software Quality Attributes:


Flexibility, reusability, robustness, and maintainability of the EVS system should be maximized,
in order for clients to be able to deploy custom settings of the EVS to their individual network
needs.
5.4.1-Availability: - the EVS should be available all the time. The system should always Pop-up

a message on screen if there is some error or if it is not working properly.

5.4.2-Efficiency: - the System should generate its results with as high as 100% accuracy.

5.4.3-Adaptability: - the Software should be adaptable to on compatible and referred hardware

interface by managing memory and applying constraints on the software.

5.4.4-Testability: -As to make the software work perfectly, it’s multiple testing on various

platforms should be done.

6. Other Requirements:
In case the EVS database grows larger with time, new techniques should be applied and its
database should be transferred to MYSQL server or Microsoft Access. If any of the legal
constraints are broken even after review, they must be corrected within time. This EVS should be
upgraded from time to time and previous features should be reused to make it more cost
effective.

Operating Environment
CPU: Single Core 2.4 GHZ
RAM: 4GB
Graphics Card: Nvidia GeForce 5xxx series or equivalent
Operating System: Windows 10
Hard Drive: 5 Gigabytes
Network: Broadband Recommended

Hardware Interface
 Personal computer with at least
 At least 4GB of RAM
 At least hard disk (300GB, 500GB.etc.)
 At least Processor 2.7GHZ
 Printer

Software Interface:
 Sublime, Notepad++
 Xampp Server
 Adobe Photoshop
 Google chrome, Firefox, Internet Explorer
 Bootstrap Framework
 FPDF Framework
 Microsoft word for project documentation
 MYSQL
 Access
7. Software Design:
7.1 UML Diagram:

7.1.1 Class Diagram

7.1.2 Use case Diagram


7.1.3 Sequence Diagram
Candidates point of view:

Candidate Server
Voters point of view part 1:
Voters point of view part 2:
Administrations point of view:

Activity Diagram:
Activity Diagram for Admin Object:
Activity Diagram for Candidate Object:
Activity Diagram for Voter Object:
7.2Database design:
7.2.1 E-R Diagram:
Appendix A: Glossary:
1. Baud rate
a. Rate of transfer of data over the internet/network
b. Measured in bit per second (bps)
2. Bit
a. Binary Digit
b. One zero (0) or one (1).
3. Database
a. Big memory address block which contains large set of data
b. With subsets and fields that can search for by filter, read, and written
4. FTP
a. File Transfer Protocol
b. Protocol to send/receive files to/from an FTP server
5. GUI
a. Graphical User Interface
b. The interface which the user uses on graphics displaying hardware
c. Refers to the layout of the dialog boxes, menu elements, etc
6. Intranet
A network that is local to a geographical location or particular institution’s network
7. LAN
a. Local Area Network
b. Refers to the computer connected to the internet/each other via physical Ethernet Cable
8. SMPT
a. Simple Mail Transfer Protocol
b. Simple protocol for dealing with email processing online
9. SQL
a. Structured Query Language
b. A programming language used for making queries to a database, and setting/retrieving data
to/from it
10. TLS
a. Transport Layer Security
b. A high-encryption security protocol for internet connection
11. TCP/IP
a. Transfer Control Protocol/Internet Protocol
b. TCP
i. A protocol for transferring data to/from the internet
c. Internet Protocol
i. A protocol for allowing computers/devices with this to connect to the internet
12. Tx/Rx
a. Transfer/Receive
13. Windows API
a. Windows Application Programming Interface
b. The API used to program Windows applications and elements.
14. EVS E-Voting System.

References:
No references have been taken.

Potrebbero piacerti anche