Voting System Use Cases

 

 

Scenario A:  A small town needs to elect the mayor.  This is determined to be an election where votes can be cast for one day only.  (Note:  This scenario represents a class of scenarios -- one-tiered elections occurring within a "short" time frame.)

 

Scenario B:  The mayor of a small town, along with a committee, is discussing whether or not to increase bus fares.  If fares are increased, the revenue generated will be used to fund renovation of the school playground.  The mayor would like to know general opinion concerning this issue within a month.  He would like the population of the town make their opinion/concerns known throughout the month of February.  (One- tiered elections occurring over a "long" time frame.)

 

Scenario C:  The presidential election will occur on one day in November.  At the same time, several state and national senators will be elected, and several local issues will be decided.  (Multi-tiered elections occurring over a "short" time frame.)

 

Scenario D:  Congress is proposing a new abortion bill.  Some parts of the bill concern issues under federal legislation, and some will pertain to strictly local jurisdiction.  Instead of having activists march in front of the White House (if it can be avoided), Congress would prefer for the general public to express its opinion concerning this bill.  In addition, each state has specific questions concerning the local issues.  (Multi-tiered elections occurring over a "long" time frame.)

 

Note:  Under this design as it now stands, an election in which just the national president is elected would be considered a one-tiered election because everyone votes for the president.  An election in which national senators from several different states needed to be elected would be a multi-tiered election, because not everyone can vote for every senator. 

 

Actors:

·        Election Official

·        Someone who works for the election officer

·        Someone who works with a given political party

·        Administrator of the election

·        Voter

·        Registered Voter

·        Valid Vote

·        Vote Information

·        System Administrators

 

 

 

Setting the Scene: 

 

Primary Actor: Election official

Goal:  Create an "election" object

Precondition:  The election official knows what type of election is going to occur and relevant info (details concerning issues, who candidates are, etc.)

 

Steps:

 

1.         Election official submits a form answering questions such as:

·        What is time frame?

·        Who is eligible to vote?  What are the requirements for voting?

·        What is being voted on?

·        Who gets the information?  (Is the info gathered locally and used locally, gathered locally and propagated elsewhere, etc.?)

 

2.                  High-level computer person sets up the system. 

·        Implements requirements from election official

 

 

 

Putting Info into the system:  (All Scenarios)

 

Ballot Design:

 

Primary Actor: Someone who works for the election officer

Goal:  Create a "ballot" object

Precondition:  An election object has been created

 

Steps:

 

1.            Someone who works for the election officer logs onto the system.

 

2.         They then choose one of several pre-made ballot objects.

 

Extensions to primary scenario:

1a.       The election officer can create a new ballot.  Once this new ballot is designed, it will be given to a programmer who will create a new ballot object within the system.  Then this new object will become a pre-made ballot.

 

 

Entering Candidate Info:

 

Primary Actor:  Someone who works with a given political party

Goal:  To enter information about a candidate

Precondition:  An election object has been created

 

Steps

 

1.            Someone who works with a given party can log onto the system and enter information about a particular candidate. 

 

2.         A unbiased moderator receives notification that new information has been added.

 

3.         The moderator logs onto the system and reviews the information to make sure it is acceptable.  (No profanity, slurs, etc.)    

 

4.         The information is made available to the general public.

 

5.         After a specified time frame, the information is flagged, and is not allowed to be changed by anyone.  Until that point, Steps 1-3 can be repeated as needed.

 

Extensions to primary scenario:

 

1a.            Someone unbiased (the news?!) would like to enter information about both candidates.  In this case, information must be presented about all parties in equal amounts.  Then steps 2-5 proceed as described above.

 

3a.       The information reviewed by the moderator is not acceptable.  The information is then removed from the system.  Notification is sent back to the original poster along with comments detailing reasons why.  Notification is also sent to a log which tracks people who enter candidate information.

 

5a.            Someone who works with a given political party logs onto the system to try to modify the information.  Access is denied.

 

NOTE:  These use cases does not only have to apply to candidates.  It can also apply to issues.

 

 

 

General Registration:  (All scenarios)

 

Informing People of the Need to Register

 

Primary Actor:  administrator of the election

Goal:  send out information to everyone eligible to vote in a specified election

Preconditions:  a database should exist of everyone residing in a specified area; an election object should be created

 

Steps:

 

1.         An administrator will log onto the system.

 

2.         An administrator will copy information about the election and relevant candidates or issues.  Also included will be information on when and how to register (and who is eligible).

 

3.         An administrator will distribute information to the general public.

 

4.            Someone will be available to answer questions received from the general public.

 

 

 

Actually Registering

 

Primary Actor:  A voter

Goal:  To register for the election

Preconditions:  an election object is created

 

Steps:

 

1.         A voter logs onto the system.

 

2.         A voter enters necessary information (Name, Address, SSN, etc.)

 

3.         A voter enters information to be used for gathering statistics.

 

4.         The system creates a profile for the voter, who is now eligible to vote.

 

 

Extensions:

2a.       The voter does not enter all of the necessary information.  An error is flagged.

 

  b.       The voter needs additional information, so he gets help from a help module.

 

3a.       The voter does not enter all of the information.  He is prompted several times for the information, but then allowed to proceed.

 

4a.       The voter is already registered, so an error is flagged and the voter is notified.

 

  b.       The voter is not eligible to vote, notification is sent to a log, and the voter is notified.

 

 

 

 

Sending Info out to people:  (All scenarios)

 

Determining Which Info to Send Out

 

Primary Actor:  election official

Goal:  to create a list of information which should be distributed to the general public

Precondition:  an election object must be created

 

Steps:

 

1.         An election official logs onto the system and can view a list of information which should be distributed to the general public (when and where to vote, candidate/issue information, criteria for registration, etc.)

 

2.         The official then makes appropriate selections.

 

Extensions:

1a.       If the election official has information to be distributed to the general public which is not currently included in the system, he should submit the appropriate information to a high-level programmer who will enter the information into the system and create a new item on the list.

 

 

 

Sending Out the Information

 

Primary Actor:  Administrators of the election

Goal:  To organize and send out predetermined information at specific intervals

Precondition:  A "to-do" list has been created describing which information should be sent out when

 

Steps:

 

1.         At predetermined intervals, an administrator will log onto the system.

 

2.         The administrator will copy all information which should be mailed to the general public.

 

3.         The administrator (and other workers) will distribute the information.

 

4.         Q&A people will be available at predetermined sites and times in order to answer questions from people who have received information.

 

Extensions:

 

2a.       The administrator will copy all information which should be mailed to registered voters.

 

  b.       The administrator will copy all information which should be mailed to only unregistered voters.

 

 

Voting:  (Scenario specific)

 

Obtaining Access to Vote:

 

Primary Actor: Voter

Goal:  Check if voter is a registered voter and determine which elections eligible to vote for and give access to ballot to voter

 

Steps:

 

1.                  Person logs on and enters information (name, address, social security number, registration number, password)

 

2.                  System checks if person is a registered voter and checks that person is who he claims to be.  If so, determine ballot (then it checks where the person is registered (which local jurisdiction) and determines which elections voter is eligible to vote for)

 

3.                  Voter is given access to ballot of issues that the voter is eligible to vote for

 

 

Alternative Steps: User is not a registered voter

1.      Person logs on and enters information (name, address, social security number, registration number, password)

 

2.      System checks if person is a registered voter.  If not, then the voter is denied access to go any further

 

 

Alternative Steps: User is not who he claims to be

1.      Person logs on and enters information (name, address, social security number, registration number, password)

 

2.      System checks if person is who he claims to be – identity check based on information given, SSN, password, registration number etc.  If the person does not pass the identity check, then he is not given access to go continue

 

 

Alternative Steps: There are no current elections the user is eligible to vote for

1.      Person logs on and enters information (name, address, social security number, registration number, password)

 

2.      System checks if person is a registered voter and checks that person is who he claims to be.  If so, determine ballot (then it checks where the person is registered (which local jurisdiction) and determines which elections voter is eligible to vote for)

 

3.      If there are no elections the voter is eligible to vote for then no ballot is made accessible to the voter and the voter cannot continue

 

 

Determining Ballot

 

Primary Actor: Registered Voter

Goal: Determine which elections/issues voter is eligible to vote for

Preconditions:  It has already been determined that the user is a registered voter.

 

Steps:

 

1.                  Determine where (which local jurisdiction) the voter is registered.

 

2.                  Create list of elections the user is eligible to vote for

 

3.                  Determine if the voter has already voted on these issues in this election time frame

·        If not than these issues can be added to the voter’s ballot. 

·        If the voter has submitted a vote already

·        Determine if the election allows the user to change their vote, if so delete previous vote and add issue to voter’s ballot

·        If voter is not allowed to change their vote, then the issue cannot be added to the voter’s ballot

 

 

 

Submitting a Ballot

 

Primary Actor: Registered Voter

Goal:  Fill out and submit ballot

Preconditions: It has already been determined that the user is a registered voter and a ballot of elections the voter is eligible to vote on has been made available to the voter

 

Steps:

 

1.                  The voter makes his choices and fills in the ballot

 

2.                  The voter submits the ballot when it has been filled out – if blanks are submitted then the voter did not vote on those issues

 

3.                  The voter’s ballot of votes and voter information is held onto at the local jurisdiction level and it’s vote is counted

 

 

Asking for Help while Voting

 

Primary Actor: Voter

Goal:  Give help to the user

 

Steps:

 

1.                  At any time user is on system (even before it is determined whether user is a registered voter) there exist help phone numbers to call, help buttons, and online support help

 

2.                  If user chooses a help button, then an online list of instructions on how to use the system appear

 

3.                  If the user chooses online support help, then the user has direct online communication with a person to ask questions

 

 

Counting Ballots: 

 

Primary Actor: Valid vote

Goal:  Count the votes and send statistics

Precondition:  Invalid votes have already been discarded at this point

 

Steps:

 

1.                  Valid vote (possibly of multiple issues) is submitted by voter

 

2.                  Votes are broken down by issue and counted at most local level

 

3.                  After designated time has passed:

·        New or changed vote info on specific issues passed up tree of jurisdiction for elections on issues with greater than local scope (National election vs. Local election) – For reporting statistics during election

·        Votes from different local jurisdiction on the same issue are tallied together

·        All vote info taken at local level saved in another location -- For backup/redundancy

 

4.                  When time frame expires,

·        All votes on specific issues with greater than local scope are passed up tree of jurisdiction

·        Votes on same issue from multiple local jurisdictions are tallied together

·        Final winner declared

 

 

 

Gathering Statistics: (All scenarios)

 

Primary Actor: Vote Information

Goal:  Keep track of vote totals for each issue and track how certain demographics voted (based on geographic location, party, gender, age, race, etc.)

Precondition:  Only valid votes are counted in statistics – information on the voter are included in vote info.

 

Steps:

 

1.                  Statistics are set up to track vote information for each issue.  Statistics are generated and held at the jurisdiction level of the issue.

 

2.                  Votes are taken at local level and passed up to the appropriate level where the statistics are then updated

 

3.                  Statistics are made Available depending on Election Setup

·        Available instantly or during certain designated times

·        Presented in differently depending on who reporting to –- different format

·        General Public

·        News

·        Researchers

 

 

System Maintenance:  (All scenarios)

 

Primary Actor:  system administrators

Goal:  periodic maintenance of the system

 

Scenarios:

 

1.         At predetermined intervals, system administrators will log on to the system to monitor traffic.  Logs will be kept to determine the load of the system so that necessary adjustments can be made in the future.

 

2.         At predetermined intervals, interface design experts will administer usability tests to ensure that ballots, help screens, etc., are meeting the needs of the public.  If they are not, appropriate interfaces will be redesigned.

 

3.         At predetermined intervals, tests will be run on hardware at various sites to identify potential problems.  If problems are found, hardware will be upgraded or repaired as necessary.