Voting System USE Cases
- System Startup Use Case: The software is started based upon the platform on
which it is running. It is expected that once the software is running, it will be available
24 x 7 x 365 except for scheduled down times for upgrades, etc.
- Voter Registration Use Case: A voter will register as a first time voter.
He/she must be a citizen with a valid social security number. The user will register with a
set of required attributes such as social security number, first name, surname, etc. The
user will select a password that will be used to authenticate that user. (see Authenticate
Users Extension )
- Administer Election Elements Use Case: A voting administrator will pass through
the authentication process. (see Authenticate Users Extension) The voting admin will then
be able to create/delete a set of election elements which include, but are not limited to,
candidates and referendums associated with a specific locality. These election elements
will then be used to construct a ballot. (see Construct Ballot Extension)
- Create an Election Use Case: An election official will pass through the
authentication process. ( see Authenticate Users Extension) The election official will be
able to create an election based on a set of Election elements. The election can be run
over a configurable amount of time. However, once the election is begun, no changes can be
made to the election duration until the election is complete.
- Document Relevant Election Information: All election elements and federal,
state, and local laws and information will be documented for voters. This information will
be made readily available at any time during the voting process.
- Perform Vote Use Case: A registered voter will pass through the authentication
process. (see Authenticate Users Extension) Once the user is authenticated, the user will
be presented with a ballot based upon the voter’s registration. (see Construct Ballot
Extension). The user will then vote on his/her preferred candidates and referendums. The
voting information will be securely stored in a backend datastore until the results can be
reported. Anonymity will be maintained for all votes.
- Report Election Results Use Case: An election official, after passing the
authentication process, will retrieve the results and report them accordingly along with
election statistics.
- Change Registration Extension: A previously registered voter will pass through
the authentication process, then update his / her registration information. Users will be
able to change their registration information up to a configurable amount of time before the
election.
- Update Vote Extension: A voter will be able to update his / her vote if the
election is allowing a voter to change their vote. For a given election, the user will be
authenticated and will then be shown his / her votes to date.
- Authenticate Users Extension: Users (voters, voting admins, and election
officials) will be authenticated based upon a userID / password. The user ID can simply be
the user’s social security number since that is unique to all persons. Users that forget
their password will need to know user specific information to retrieve the password.
- Construct Ballot Extension: Election elements are coalesced based on the user’s
registration details. For example, the ballot will consist of federal issues as well as
state and local issues for which the user is associated via registration.