Election

eMU Elections Expect Design
eMU Elections System
Requirements Definition
February 12, 2010
Expect Design
Jonathan Crouse, Brandon Pugh, Mark Wrobleski, Ben Butler
eMU Elections Expect Design
Table of Contents
1. Introduction ............................................................................................................................................................ 4
1.1 Purpose............................................................................................................................................................. 4
1.2 Scope................................................................................................................................................................ 4
1.3 Definitions ........................................................................................................................................................ 4
1.4 References ........................................................................................................................................................ 6
1.5 Overview .......................................................................................................................................................... 6
2. General Description................................................................................................................................................ 6
2.1 Perspective ....................................................................................................................................................... 6
2.1.1 System Interfaces....................................................................................................................................... 6
2.1.2 User Interfaces ........................................................................................................................................... 6
2.1.3 Hardware Interfaces................................................................................................................................... 7
2.1.4 Software Interfaces .................................................................................................................................... 7
2.1.5 Context Diagram........................................................................................................................................ 8
2.1.6 Use Case Diagram ..................................................................................................................................... 9
2.2 System Evolution............................................................................................................................................ 10
2.2.1 Life Cycle Model Description ................................................................................................................. 10
2.2.1.1 Prototyping Model .................................................................................................................. 10
2.2.3 Training.................................................................................................................................................... 11
2.2.3.1 Voters....................................................................................................................................... 11
2.2.3.2 Student Organization Election Officials................................................................................... 11
2.2.3.3 Election Commissioner ............................................................................................................ 11
2.2.4 Installation Plan ....................................................................................................................................... 11
2.3 Product Functions ........................................................................................................................................... 12
2.3.1 General Functions.................................................................................................................................... 12
2.3.1.1 Results .................................................................................................................................................. 12
2.3.2.2 User Log In ............................................................................................................................. 12
2.3.2 Voter Functions ........................................................................................................................................ 12
2.3.2.1 Vote ......................................................................................................................................... 12
2.3.3 Student Organization Election Official Functions .................................................................................... 12
2.3.3.1 Create Ballot ............................................................................................................................ 12
2.3.3.2 Delete Ballot............................................................................................................................ 12
2.3.3.3 Edit Ballot................................................................................................................................ 12
2.3.3.4 View Details ............................................................................................................................ 12
2.3.4 Election Commissioner Functions ........................................................................................................... 13
2.3.4.1 Mass Notification .................................................................................................................... 13
2.3.4.2 Add Student Organization Election Official ............................................................................ 13
2.3.4.3 Delete Student Organization Election Official ......................................................................... 13
2.3.4.4 Create Election ........................................................................................................................ 13
2.3.4.5 Delete Election ........................................................................................................................ 13
2.3.4.6 Edit Election ............................................................................................................................ 13
2.3.4.7 Disqualify ................................................................................................................................ 13
2.3.4.8 Recount.................................................................................................................................... 13
2.3.4.9 Archive .................................................................................................................................... 13
2.4 User Characteristics ........................................................................................................................................ 14
2.5 General Constraints ......................................................................................................................................... 14
2.6 Assumptions and Dependencies ...................................................................................................................... 15
3. Index...................................................................................................................................................................... 16
eMU Elections Expect Design
1. Introduction
1.1 Purpose
This document will clearly present the essential details of the online election system
being designed for Morgantown University by Expect Design. The purpose of this
requirements definition is to show the Morgantown University officials the different functions
and uses of the eMU system.
1.2 Scope
The working title for the election system being created is eMU Elections, Electronic
Morgantown University Elections. The system will provide the students of Morgantown
University with a Section 508 compliant, online system in which they can conduct campus
elections. It will be accessible by all students via an internet-capable computer using a
supported browser every day of the week except Sunday. For the first release of the software,
the elections held will be campus-wide, there will be no "group-specific" elections, and there
will be no faculty access. The software will allow users to log in via OIT for validation and will
collect voter data from ARC to ensure each voter meets election requirements.
The system will also email election openings and available results to students unless
they opt out of this feature. The election commissioner will be able to use the system to send
mass emails, add and remove election officials, create and delete elections, and carry out
recounts, and archives. When the election commissioner chooses to audit an election, he or she is
shown all of the data for the election and given the option to conduct a recount or disqualify any
vote. The election officials will be able to use the system to create and delete ballots and view
election results. The voter will be able to cast a single, unalterable vote on each race on a ballot.
This vote may entail writing in a candidate or selecting a certain number from a pool. The
provost may also view election results. The system is being developed with the intention to host
secure elections Morgantown University can count on to deliver accurate results, especially when
compared to the old paper elections.
1.3 Definitions
Admissions and Records (ARC) - refers to the department within Morgantown University that
stores the demographic data on each student
Application - the requested software product to be designed, implemented, and maintained
Archive - the data for an election is stored long-term for seven years
Auditor - the person who could potentially perform an audit on the election
Audit - to evaluate an election for validity, reliability, and fairness; involves disqualifying and
recounting as the responses used for correction
Ballot - a voting form that contains the different races with their candidates for an election
Ballot Template - a basic design from which ballots can be created
Context Diagram - diagram designed to show interactions with the system by external entities;
it specifically shows the data flow
Database - an integrated collection of logically related records or files consolidated into a
4
eMU Elections Expect Design
common pool that provides data for one or multiple uses
Election Commissioner - technical administrator of eMU; auditor; part of Student
Organizations staff
Embedded - describes computer software which performs certain dedicated functions, often in
real time
eMU Elections System - the online election system being developed by Expect Design
for Morgantown University
Expect Design – software development organization in charge of designing,
implementing, and maintaining eMU Elections
Faculty Senate - the governing group of faculty from within Morgantown University
IEEE - Institute of Electrical and Electronics Engineers
Life Cycle Model - diagram that depicts the significant phases of the software development
process that guide a software project throughout its lifetime
Morgantown University (MU) - the organization requesting the eMU Elections software
Network - a group of interconnected computers
Office of Information Technology (OIT) - refers to the department within Morgantown
University
Operating System - is an interface between hardware and user which is responsible for the
management and coordination of activities and the sharing of the resources of the computer
PHP: Hypertext Preprocessor - general-purpose scripting language that was originally
designed for web development, to produce dynamic web pages
Portal - is a gateway that unifies access to all enterprise information and applications on a
network
Product - the requested software product to be designed, implemented, and maintained
Prototype - an example of the software that incites feedback even though it has no real
functionality
Provost - refers to the position held by a member of Morgantown University faculty
Scripting Language - a programming language that allows control of one or more software
applications
Server - a computer attached to the network that has the primary purpose of providing a
location for the shared storage of computer files
Structured Query Language (SQL) - database computer language designed specifically for
relational databases
Students - refers to the students of Morgantown University
Student Organization Election Official - refers to the student organization leader who is
given permissions by the election commissioner to create ballots within eMU
Tutorial - graphically driven instructions that teach the use of software
User - any individual who accesses eMU
Use Case Diagram - behavioral diagram designed to give a graphical overview of the
functionality of the system; shows actor interaction with use cases
User Interface (UI) - the means by which the users interact with a particular software
application, machine, device, computer or tool
Voter - student who will be directly interacting with eMU Elections system to participate in an
election
Web-based - any software application or software system that requires access to the World
5
eMU Elections Expect Design
Wide Web in order to be accessed, maintained, and utilized
Web-browser - a software application for retrieving, presenting, and traversing information
resources on the World Wide Web (ex. Internet Explorer, Netscape, Google Chrome)
Write-in - submitting a candidate outside of any stated pool of candidates
1.4 References
IEEE Std. 830-1998, IEEE Recommended Practice for Software Requirements Specifications
Rehabilitation Act 1973 s 508
1.5 Overview
The remainder of this document will discuss specific aspects of the eMU Elections
software. Included are the details that Expect Design will be using as a starting
point for the election system. There are six major sections in the second part of this document:
2.1 Perspective - discusses how the eMU Elections will interface with users, hardware, and
software
2.2 System Evolution - details how the system will be developed and implemented
2.3 Product Functions - gives a summary of the main functions eMU Elections will use
2.4 User Characteristics - describes the intended user
2.5 General Constraints - lists the constraints of the eMU Elections system
2.6 Assumptions and Dependencies – contains a list of the assumptions and dependencies of
the election system.
2. General Description
2.1 Perspective
The eMU Elections System that will be implemented at Morgantown
University will be dependent upon the Admissions and Records database, and
will be contained by the Office of Information Technology.
2.1.1 System Interfaces
This product will repeatedly request information from the Admissions and
Records database. It will also interface with the OIT log-in system in order to
validate voters.
2.1.2 User Interfaces
The users of the eMU Elections system will be student voters, student
organization election officials, the provost, and the election commissioner. All
users will interact with the system by logging onto a single website that is
integrated into the system run by OIT. Student voters will be able to view the
public result information on elections and cast their votes on elections. The
student organization election officials will be able to create/delete/edit ballots and
6
eMU Elections Expect Design
ballot templates and view detailed information on their elections. The election
commissioner will be able to create/delete/edit elections and election officials,
view the audit trail, invalidate a vote, initiate a recount, and backup and restore
election information. Auditing involves looking at all of the voting data for an
election to determine that election's validity.
2.1.3 Hardware Interfaces
The software will interface with windows-based servers and databases.
The databases should be SQL compatible, and the servers should at least have
Windows XP or greater.
2.1.4 Software Interfaces
The software will be able to interface in any operating system
environment that uses one of the internet browsers supported by OIT's system:
namely Internet Explorer 6 and 7, FireFox 2 and 3. It will also interface with
the software in OIT's system and the Admissions and Records database software.
7
eMU Elections Expect Design
2.1.5 Context Diagram
8
eMU Elections Expect Design
2.1.6 Use Case Diagram
Archive
M a s s E m a il
I n v a lid a t e
M a n a g e E le c t io n
O f f ic ia l
M a n a g e E le c t io n
E le c t io n C o m m is s io n e r
Recount
L o g In
O IT
G e t D e t a ile d
Re s u lt s
G e t R e s u lt s
Vote S t u d e n t O r g a n iz a t io n E le c t io n O f f ic ia l
V o te r
M anage
B a llo t
A d m is s io n s a n d R e c o r d s
9
eMU Elections Expect Design
2.2 System Evolution
2.2.1 Life Cycle Model Description
This product will be developed under the prototyping life cycle model.
This process includes requirement analysis, system design, program design,
coding, unit and integration testing, system testing, acceptance testing and
operation maintenance. Each step flows into the next in a mostly repetitive
fashion. At each customer evaluation the system itself is utilized to get customer
feedback, expose unforeseen difficulties, and elicit further requirements.
The use of the prototyping life cycle model is to allow for greater
interaction with the customer in system development and communication
among stakeholders.
2.2.1.1 Prototyping Model
10
eMU Elections Expect Design
2.2.3 Training
Every user of the system will need to have general training prior to using
the eMU Election System for an election.
2.2.3.1 Voters
Voters should require very little training to use this web-based
system. A simple online tutorial with some step-by-step help files will be
developed to guide them through the process of logging in, viewing
results, and voting.
2.2.3.2 Student Organization Election Officials
The election officials for the different student organizations will
need more training than voters. Once again, tutorials will be provided to
guide them through the processes of creating/deleting/editing templates
and ballots and viewing the detailed election data. More training will
come through documentation help files that describe how to carry out
those processes in detail.
2.2.3.3 Election Commissioner
The election commissioner requires the most training since he or
she will be administering the system, creating/deleting/editing elections,
adding/removing election officials, initiating recounts, backing up, and
restoring. To provide this training, help files and documentation
will be developed to instruct on those features and functions in great
detail. Search-able help files will be provided, and if necessary, training
sessions will be set up to allow our team to provide hands-on tutorials of
using the system.
2.2.4 Installation Plan
The installation method will be abrupt cut-over, where the old paper
ballot system will be discarded and replaced by the eMU Elections System. This
process is inexpensive and does not require the old and new systems to be
integrated, thereby minimizing the amount of confusion. All of the users will be
able to transition easily to the new system with a minimal amount of training.
11
eMU Elections Expect Design
2.3 Product Functions
2.3.1 General Functions
2.3.1.1 Results
This function allows users to view an election's results.
2.3.2.2 User Log In
This function allows students, student organization
election officials, and the election commissioner to enter
the eMU Elections system using a user name and
password supplied by the Office of Information
Technology.
2.3.2 Voter Functions
2.3.2.1 Vote
This functions allows voters to choose an election they are qualified for
and cast their vote. A voter cannot cast the same vote twice, and is
requested to confirm his/her selection.
2.3.3 Student Organization Election Official Functions
2.3.3.1 Create Ballot
This function allows an election official to create a ballot for an election.
2.3.3.2 Delete Ballot
This function allows an election official to delete a ballot for an election.
2.3.3.3 Edit Ballot
This function allows an election official to modify a ballot for an election.
2.3.3.4 View Details
This function allows an election official to see the detailed statistics and
demographics for an election.
12
eMU Elections Expect Design
2.3.4 Election Commissioner Functions
2.3.4.1 Mass Notification
This function allows the election commissioner to submit a message for
OIT to mass email.
2.3.4.2 Add Student Organization Election Official
This function allows the election commissioner to add an election
official.
2.3.4.3 Delete Student Organization Election Official
This function allows the election commissioner to delete an election
official.
2.3.4.4 Create Election
This function allows the election commissioner to create a new election
and set its voting window.
2.3.4.5 Delete Election
This function allows the election commissioner to delete an election.
2.3.4.6 Edit Election
This function allows the election commissioner to modify the parameters
of an election.
2.3.4.7 Disqualify
This function allows the election commissioner to disqualify any vote.
2.3.4.8 Recount
This function allows the election commissioner to request a re-tallying of
the votes in an election.
2.3.4.9 Archive
This function allows the election commissioner to put an election into
long-term storage for seven years.
13
eMU Elections Expect Design
2.4 User Characteristics
The users of the of eMU Elections include the Morgantown University student voters, the
student organizations election officials, the provost, and the election commissioner. Their intent is to
have the capability to interactively take part in the nomination and election systems of Morgantown
University.
All users will need basic computer and browsing skills. The election commissioner will be the
most technically inclined user, experienced in managing software systems in order to provide access to
the election officials. The election officials will be somewhat technically inclined, able to use
Microsoft Office tools to create ballots and templates and to upload created ballots. Since he/she only
accesses the system to view information, the provost will need only basic computer and browsing
skills. The voters will have basic experience with browsing the web and using applications online, in
order to cast their votes.
Users with insufficient know-how or experience will be able to learn the skills necessary to
effectively use the system.
2.5 General Constraints
• The product must be web-based and compatible with all major web-browsers (specifically
Internet Explorer 6 and 7 as well as FireFox 2 and 3)
• Must be embedded into Morgantown University's portal
• Specific data format for authentication and retrieval of student data
• Volume of approximately 7500 students with several elections per month (may change)
• User data and application server will be maintained by Expect Design for one year before the
application as well as the server will then be handed over to Morgantown University.
• Admissions and Records server will not be available on Sundays and thus neither will eMU
Elections
14
eMU Elections Expect Design
2.6 Assumptions and Dependencies
Assumptions
• The programming language used will be PHP: Hypertext Preprocessor scripting language,
unless a preferable alternative is found.
• PHP will continue to be utilized for the long term and will be supported within a variety of
operating systems and web-browsers.
• Users will be properly trained before using the system.
Dependencies
• Direct interaction with operating system and web-browser depends on the potential of the
scripting language (PHP).
• Efficiency of the database to be used (ex. SQL, mySQL, Oracle)
• Online time of Admissions and Records own maintained server.
• ARC can provide up-to-date information on each user.
• Incremental development may be requested, so later updates will depend on the previous
software requirements.
15
eMU Elections Expect Design
3. Index
A
Admissions and Records............................................................................................................1,3,4,11,12
Archive..................................................................................................................................................1,10
Assumptions..........................................................................................................................................3,12
B
Ballot..........................................................................................................................................1,2,3,8,9,11
Ballot Template.............................................................................................................................1,3,8,9,11
C
Candidate.................................................................................................................................................1,2
Constraints.............................................................................................................................................3,11
Context Diagram.....................................................................................................................................1,5
D
Database.......................................................................................................................................1,2,3,4,12
Definitions..................................................................................................................................................1
Dependencies........................................................................................................................................3,12
E
Election Commissioner.............................................................................................................1,2,3,8,10,11
Encryption................................................................................................................................................11
F
Functions............................................................................................................................................3,9,10
H
Hardware Interfaces.............................................................................................................................2,3,4
I
IEEE........................................................................................................................................................2,3
O
OIT.....................................................................................................................................1,2,3,4,10,11,12
Overview....................................................................................................................................................3
P
PHP........................................................................................................................................................2,12
Purpose.......................................................................................................................................................1
16
eMU Elections Expect Design
R
References..................................................................................................................................................3
S
Scope..........................................................................................................................................................1
Software Interfaces.................................................................................................................1,2,3,4,11,12
SQL....................................................................................................................................................2,4,12
Student Organizations Election Official................................................................................1,2,3,8,9,10,11
System Interfaces.......................................................................................................................................3
T
Training.................................................................................................................................................8,12
U
Use Case Diagram...................................................................................................................................2,6
User Characteristics...............................................................................................................................3,11
User Interfaces.........................................................................................................................................2,3
V
Vote..................................................................................................................................................1,3,9,10
Voter..............................................................................................................................................1,2,3,8,9,11
W
Web Browser..................................................................................................................................1,2,4,11,12
Write-in........................................................................................................................................................2
17