Use Cases - swansond/LavatoryLocator GitHub Wiki
Formal
Number 1
Primary Actor: User
Scope: Bathroom locating service
Level: User goal
Stakeholders and Interests:
- User: Wants to find the nearest bathroom.
Precondition: User has app open.
Minimal Guarantee: User gets feedback from the app (regardless of success/failure).
Success Guarantee: User will find the nearest bathroom and have access to its reviews.
Main Success Scenario:
- User indicates that they want to find the nearest bathroom.
- System pans the map view to nearest bathroom.
Extensions:
2a. User does not have data available.
2a1. Application indicates to the user that they do not have data available.
2b. User does not have location services turned on.
2b1. Applications indicates to the user that location services are off and asks the user if they want to go to the location services screen.
Number 2
Primary Actor: User
Scope: Bathroom locating service
Level: User goal
Stakeholders and Interests:
- User: Wants to add a review for a bathroom
Precondition: User has app open.
Minimal Guarantee: User gets feedback from the app.
Success Guarantee: User will have left a review for their desired bathroom.
Main Success Scenario:
- User browses the map or uses the search feature for the bathroom they want to review.
- User selects bathroom.
- User indicates that they want to review the bathroom.
- User fills out their review.
- User submits their review.
Extensions:
1a. User does not have data available.
1a1. Application indicates to the user that they do not have data available.
1b. User cannot find the bathroom on the map.
1b1. User searches for the bathroom using the search feature.
1b1a. User cannot find the bathroom using the search function.
1b1a1. User adds a bathroom; refer to Use Case 3.
3a. User is not logged on.
3a1. Application tells user that they must be logged on to add reviews and prompts them to log in or register.
3b. User already has an existing review for desired bathroom.
3b1. Application asks user if they want to edit their existing review.
5a. Connection fails.
5a1. Give error message.
Informal
Number 3
The user indicates that he wants to add a bathroom that does not exist in the current database. The user selects a location on the map view where he wants to add a bathroom. The user fills in the details for the bathroom: name, building, floor number, amenities. The user submits the request to add a bathroom.
The user must be logged in to add a bathroom; if not, the application will prompt user to either log in or register.
User needs a data connection to indicate the location of the bathroom and when submitting their request to add the bathroom. If they lose their connection at either of these steps the application will inform the user.
Number 4
The user selects a bathroom and indicates that he wants to edit the information for that bathroom. The user indicates whether they want to edit the location, amenities, name, or floor of the bathroom. The user indicates the new value of the attribute. The user submits the change.
The user must be logged in to edit the information for a bathroom; if not, the application will prompt user to either log in or register.
User needs a data connection to edit the location (when indicating a new location) and when submitting the change. If they lose their data connection on any of these steps the application will inform the user.