Software Requirements Specification For Pe Laia Olievig System
Software Requirements Specification For Pe Laia Olievig System
Specification for
Pe l a ia O li e V i g
System
Version 1.2
Barbosa, Camilo
Duncan, Kevin
Huynh, Andy
Staffend, Nicholas
Final 1.2 Barbosa, Camilo; The final draft of the SRS for PA OVS. 10/11/2014
Duncan, Kevin;
Huynh, Andy;
Staffend, Nicholas
1
Contents
1. Introduction .......................................................................................................................................... 4
1.1. Purpose ......................................................................................................................................... 4
1.2. Scope ............................................................................................................................................. 4
1.4. References .................................................................................................................................... 5
1.5. Overview ....................................................................................................................................... 5
2. Overall Description................................................................................................................................ 5
2.1. Product Perspective ...................................................................................................................... 5
2.2. Product Functions ....................................................................................................................... 10
2.3. User Characteristics .................................................................................................................... 10
2.4. Constraints .................................................................................................................................. 10
2.5. Assumptions and Dependencies ................................................................................................. 10
3. Specific Requirements ........................................................................................................................ 10
3.1. External Interfaces ...................................................................................................................... 11
3.2. Usability: ..................................................................................................................................... 11
3.3. Election Administration System: ................................................................................................. 12
3.5. Security: ...................................................................................................................................... 14
3.6. User Management: ..................................................................................................................... 15
3.7. Data Management ...................................................................................................................... 15
4. Appendices .......................................................................................................................................... 17
4.1. Appendix A - Stakeholder Analysis.............................................................................................. 17
4.2. Appendix B - Voting System User Interface ................................................................................ 18
4.3. Appendix C - Scenario Evaluation Documentation ..................................................................... 23
4.4. Appendix D - Traceability Matrices ............................................................................................. 25
5. Index.................................................................................................................................................... 28
Figure B - 1 When accessing the OVS, users are presented with the home page where they
may login or register for an account. .........................................................................................18
2
Figure B - 2 The login page is displayed when the user chooses the login option on the home
screen. ......................................................................................................................................19
Figure B - 3 The account registration page is presented when the user chooses the register
option from the home page. ......................................................................................................19
Figure B - 4 The account registration confirmation page is presented when the user registers
successfully. .............................................................................................................................20
Figure B - 5 The election categories page shows the various on-going elections after the user
logs in successfully. ..................................................................................................................20
Figure B - 6 The voting selections page contains candidates for election positions along with
referendum changes. ................................................................................................................21
Figure B - 7 The i g mma age di la he e elec i f he elec i ca eg .
.................................................................................................................................................21
Figure B - 8 The i g c fi ma i age c fi m he e e elec i ha e bee
submitted. .................................................................................................................................22
Figure B - 9 Throughout the voting process, the user may access on-screen help to display
guides and tutorials for any questions or required assistance. ..................................................22
3
1. Introduction
1.1. Purpose
This requirements specification describes the design and software requirements for an
online voting system. The requirements outlined in this document form the basis for
system behavior and is intended for reference by stakeholders and system designers
during the design & development process.
1.2. Scope
Mission Statement:
Allow eligible Pennsylvania citizens to vote, wherever they are, in local, state, and
federal elections via all electronic means completely eliminating paper ballots.
The system described in this document is an online voting system to be used by the
state of Pennsylvania (PA), hereon referred to as the OVS. The OVS will allow PA voters
to participate in local, state, and federal elections anywhere via various electronic
means. Since the OVS is intended to replace traditional paper ballot voting entirely, it will
emulate current voting processes and procedures using an electronic format. By
employing the use of the OVS, PA voters benefit from the convenience of voting outside
of polling places. Vote counts will be automatically updated by the OVS, so election
administrators will no longer need to manually count ballots. In order to remain
accessible to voters who do not have internet access, polling places will still be used.
These polling places will provide computers for access to the OVS.
4
1.3.10. Election administration system: The component of the OVS that
election administrators use to view vote statistics and administer
elections.
1.3.11. OVS: Online Voting System
1.3.12. PA: Pennsylvania
1.3.13. Polling place: Designated voting sites where voters can vote in elections.
1.3.14. Precinct: A precinct is generally the lowest-level governmentally-related
division in the United States, and in that context is also known in some
places as an election district.
1.3.15. Registered: Registration is considered within the PA voting authority and
does not refer to registration within the OVS.
1.3.16. Spoofing attack: An attack in which a person or program successfully
masquerades as another by falsifying data and thereby gaining an
illegitimate advantage.
1.3.17. URL: Uniform Resource Locator. In the em c e , a eb add e
where voters can access the system.
1.3.18. Voting system: The website component of the OVS that voters access to
cast their votes.
1.3.19. Write-in candidate: A candidate that can be entered manually onto the
ballot by a voter.
1.3.20. W3C: World Wide Web Consortium
1.4. References
1.5. Overview
The remainder of this document contains an overview of the OVS, outlining its major
components, external interfaces, product functions, and system requirements.
2. Overall Description
5
OVS: the voting system, the election administration system, and the servers &
databases.
6
Figure 2 - 1 User interaction with components of the OVS
7
Figure 2 - 2 State Machine Diagram for Voting System
8
[Link]. Servers & Database
System administrators perform technical maintenance on the OVS
servers and databases.
2.1.6. Operations
The OVS shall provide the following operations:
1. Internet-enabled voting.
2. Vote statistics generation.
3. Data management and backup.
9
[Link]. Servers & Database Warehouse
Server installation sites require backup generators to ensure the OVS will
provide uninterrupted service in the event of a power failure. Server
warehouses need to be secure to prevent unauthorized access and
tampering with the hardware.
The primary users of this system will be the voting population of PA. The scope of these
users are every level of capability for the general population, including disabilities, as
long as they are of sound mind and body such that they are legally allowed to vote. The
main consideration is for users of various levels of computer experience, and users that
do not have access to a computer. Special consideration was also given for the visually
impaired and voters who do not speak English as their primary language.
Appendix A contains a Stakeholder and User Category table which details a breakdown
of those considered when drafting this specification.
2.4. Constraints
2.4.1. EAC Voluntary Voting System Guidelines: Regulations for certification of
voting systems for use in the United States.
2.4.2. ADA American Disabilities Act: Regulations which prohibit discrimination
against people with disabilities.
3. Specific Requirements
The following section describes the OVS external interface and system requirements.
Requirements have been organized for readability into 6 feature categories: usability,
election administration system, voting system, security, user management, and data
10
management. Requirements in each category have been ranked by order of importance
with lower values representing greater importance.
3.2. Usability:
Usability requirements describe the nature of the voting system eb-based application
and its accessibility and outlines behavioral constraints unrelated to the voting process.
Priority = High
11
3.2.15. The voting system shall be accessible at any time in order to update user
preferences (even if there isn't an election in place).
3.2.16. The voting system shall provide a mock election as a demonstration on
how to use the system available on Election Day.
3.2.17. The voting system shall not send any electronic correspondence (email)
in any form other than plain text.
3.2.18. The voting system shall di la a ha k e e me age e
after the vote is cast.
12
[Link]. In the e e f a ca a he ( a al di a e , ac f e i m,
etc.) the system shall provide power long enough to save all
election data.
3.3.9. The election administration system shall not be disrupted due to internet
server crashes.
3.3.10. The election administration system shall support multiple concurrent
election administrators.
3.3.11. The election administration system shall provide post-election analysis
per precinct.
[Link]. The election administration system shall provide voting statistics.
[Link]. The election administration system shall provide tools for vote
analysis.
[Link]. The election administration system shall provide data on number
of participating voters.
3.3.12. The election administration system shall provide vote counts every 15
minutes.
[Link]. The election administration system will provide the vote count to
the election administrators for distribution.
3.4.1. The voting system shall only allow authorized (registered) PA voters to
vote.
[Link]. The voting system shall cross reference PA V e Regi ation
Database for user account creation.
3.4.2. The voting system shall not allow a voter to cast more than one ballot.
3.4.3. The voting system shall not allow multiple sessions of the same account.
3.4.4. The voting system hall e e e e i ec e ( e ca fi d
what vote any voter specifically cast).
3.4.5. The voting system shall not allow the selection of more than one
candidate per election category.
3.4.6. The voting system shall allow write-in candidates.
3.4.7. The voting system shall save the selected candidates until the session
ends.
3.4.8. The voting system shall save the write-in candidates until the session
ends.
3.4.9. The voting system shall not save selected candidates between login
sessions.
3.4.10. The voting system shall not save write-in candidates between login
sessions.
13
3.4.11. The voting system shall not save selected candidates after vote
submission to the election administration system.
3.4.12. The voting system shall allow any number of Election categories.
[Link]. The voting system shall support local, state, and federal election
types
[Link]. The voting system shall not display unrelated candidates to the
selected election category.
3.4.13. The voting system shall allow editing of candidate selections prior to vote
submission
3.4.14. The voting system shall allow review of candidate selections prior to vote
submission
[Link]. The voting system shall notify users when there is an unfilled
election category prior to vote submission
[Link]. The voting system shall allow users to choose not to vote for a
particular election category
3.4.15. The voting system shall provide accurate feedback when voting
submissions were successful/unsuccessful
3.4.16. The voting system shall allow for straight party voting, where a voter
selects all of their candidates based on one political party only.
3.4.17. The voting system hall e d email e c fi ma i e
registered email addresses.
3.4.18. The voting system shall provide a voting receipt number/confirmation
number to the voter after the vote is cast (verification that a vote was
cast)
3.4.19. The voting system shall provide email voting reminders.
[Link]. The voting system hall email a i i a i elec i da
3.5. Security:
The OVS must protect security of computers, computer networks, and computer data
storage used in the OVS to protect the integrity of the vote and the democratic process.
Priority = High
14
[Link]. The system shall use SSL.
[Link]. The system shall provide a web based firewall.
3.5.3. The voting system shall not provide access to election administration
system functions.
3.5.4. The system shall be fully hosted to provide data independence for vote
counting.
3.5.5. The system shall be a dedicated system (serves one purpose).
3.5.6. The system shall pass mobile and web application penetration testing.
3.5.7. The system shall protect against virus attacks
3.5.8. The system shall protect against DDoS attacks.
3.5.9. The system shall be implemented with an intrusion detection system.
3.5.10. The OVS servers shall be at approved administration locations.
3.5.11. The voting system shall auto-logout the user after 15 seconds of being
idle on the vote confirmation page.
3.5.12. The voting system shall automatically log out users who have been idle
for 10 minutes.
3.6.1. The voting system shall only allow access to authenticated users
3.6.2. The voting system shall not allow unregistered users to access the OVS
3.6.3. The voting system shall only allow one user account per person.
3.6.4. The voting system shall only allow creation of new user accounts for PA
registered voters.
3.6.5. The voting system shall not allow new accounts to login until registered
email is verified.
3.6.6. The voting system shall not allow users with unverified emails to vote.
3.6.7. The voting system shall allow reconnection to disconnected users.
[Link]. The voting system will require authentication after a session gets
disconnected.
3.7.1. The election administration system data shall not be corrupted in the
event of a system failure.
3.7.2. The system shall store all data in an encrypted format.
3.7.3. The system shall not retain information regarding who cast which vote.
3.7.4. The system shall not count selections made by a user account until the
ballot is submitted.
15
3.7.5. The system shall use non-volatile storage for election data.
3.7.6. The system shall maintain total vote counts for 10 years.
3.7.7. The system shall provide for redundant data backup of election data and
results.
3.7.8. The system shall use self-correcting error checking technology to ensure
data integrity.
16
4. Appendices
1 PA Voters HIGH - Largest (highest number of) stakeholders. These are the
- Adults (18-55) main users of the system
- Senior Citizens (55-110)
- Military Personnel or Living Abroad
- Disabled or Ill Persons at Home
- Seasonal Residents (of other states)
- Other groups who may find it difficult
to visit a traditional polling station
- Voters that do not speak English as
their primary language.
4 Election administrators At The Polling MED - Though largely volunteer, some polling places may need
Place to stay open to assist those without access to the internet
5 Maintenance & Support Personnel MED - physical system maintenance personnel, records and
database updates, etc.
- phone technical support for users having trouble using
the OVS
8 Third-Party Integration LOW - Responsible for maintaining records of people who have
- Regi a ffice legal residence within the state. Could move to subclass
-Updates disabled (deceased) and of maintenance personnel.
upcoming (17 y.o., new citizens, etc.) - Federal Voting Assistance for military and citizens living
- FVAP abroad
12 US Elections Assistance Commission HIGH - Ensures compliance with HAVA and provides
(EAC) certification of voluntary voting systems
- TGDC - Provides regulations for making systems accessible to
- Architectural and Transportation disabled
Barrier Compliance Board
- NASED
17
- ANSI - Information Exchange to assist in fair, transparent
- NIST elections.
- NVLAP - Technical guidelines governing systems
13 Special Interest Groups (disruptive) HIGH - Big money that can be thrown around to protect
- Previous manufacturers of ballots i ee fac a i , he li le g , e c. P e ial
- Previous manufacturers of ballot h ea he jec if eed a e c ide ed
counting machines
- ACLUPA
Figure B - 1 When accessing the OVS, users are presented with the home page where they may login or register for
an account.
18
Figure B - 2 The login page is displayed when the user chooses the login option on the home screen.
Figure B - 3 The account registration page is presented when the user chooses the register option from the home
page.
19
Figure B - 4 The account registration confirmation page is presented when the user registers successfully.
Figure B - 5 The election categories page shows the various on-going elections after the user logs in successfully.
20
Figure B - 6 The voting selections page contains candidates for election positions along with referendum changes.
Figure B - 7 The o ing mma age di la he e elec ion fo he elec ion ca ego .
21
Figure B - 8 The voting confirmation age confi m he e o e elec ion ha e been bmi ed.
Figure B - 9 Throughout the voting process, the user may access on-screen help to display guides and tutorials for
any questions or required assistance.
22
4.3. Appendix C - Scenario Evaluation Documentation
23
Voter Does Not Vote for all Categories:
Voter accesses system and is shown login page. Voter Logs in using his/her existing
credentials since he registered early when the application was announced and open for
the public. The voter sees that he is eligible to vote for the current election since he
registered to vote. The user selects the election category A and gets navigated to the
Category A election page. The voter selects Candidate B for this category and clicks on
continue. The User is now ready to submit votes since he only want to vote for one
category, so he clicks on the submit button. The voting summary page displays that the
current selection for Category A is Candidate B and that all other Categories are left
blank. Now he clicks on submit to send the votes and get a confirmation page.
Election Monitors:
Election monitor (EM) has an administrative system where voting data is submitted. EM
logs in with administrative account credentials and is shown an administrative main
page. The administrative main page displays vote totals and tools for vote analysis. EM
may use analysis tools to generate voting statistics. When finished EM logs out of
system.
24
4.4. Appendix D - Traceability Matrices
Stakeholder numbers correspond to the headers denoted in the stakeholder table in Appendix
A. Wi hi he able U de e ha e e i eme e a he . R de e ha a
requirement references another. Table cells marked with red denote that requirements do not
reference themselves. Table cells that have been greyed out are to denote that these do not
reference or use another requirement, but are maintained to show stakeholder traceability.
25
Table D - 2 Traceability Matrix for Specific Requirements Section 3.3
26
Table D - 4 Traceability Matrix for Specific Requirements Section 3.5
27
5. Index
DDoS, 4, 15 U
E URL, 5, 11
EAC, 4, 10, 17 V
Election Administration System, 2, 4, 5, 6, 8, 10, 12,
Election administrators, 4, 5, 6, 8, 12, 13, 27 Voting system, 5, 6, 7, 10, 11, 12, 13, 14, 15, 18, 23
Election category, 3, 4, 10, 11, 13, 14, 21, 23, 24
Electronic means, 4 W
O W3C, 5
Write-in candidate, 5, 13
online voting system, 4
28