Skip to content

Requirements Specification

TannerShmoog edited this page Apr 9, 2018 · 21 revisions

(1) - Universal Basic User Interactions

(1.a) (Login)

Use Case Description As a GeoTask User I want to access my information by providing an authenticating factor.
Primary Actor User
Preconditions The user has an account
Postconditions User is accessing the Main page from his/her profile
Trigger User opens the app
Basic Flow 1. User Opens the app
2. User enters Login information with username
3. Data is authenticated with the server
4. If User login is valid proceeds to access the app
Alternate Flows [case invalid input]
4. User login is invalid
5. Proper error prompt is shown
6. Return to step 3
Scheduled Release Date

Week 9 (Apr. 16 - Apr. 22)


(1.b) (Request New Task)

Use Case Description A requester wants to request a task, giving it a description, and optionally a location and photographs. It’s status is initially “requested”
Primary Actor Task Requester
Preconditions Task requester has task details to post and the Main page is displayed
Postconditions The task that the requester inputs is now in the list of tasks that everyone can see in their all menu
Trigger Task requester selects the “Request New” option
Basic Flow 1. User opens the drawer menu and change to requester mode
Alternate Flows [case doesn't confirm]
3. User does not confirm task entry
4. Return to step 2
[case cancel entry]
3. User cancels their entry.
[case add photo]
3. User selects add photo.
4. User selects the photo from their system.
5. User selects save.
6. User confirms task entry.
Scheduled Release Date

Week 3 (Mar. 5 - Mar. 11)


(1.c) (View My Tasks As Requester)

Use Case Description As a requester, I want to view a list of my Tasks, to see the Title, Status, Bid, Description, and Photographs
Primary Actor Task Requester
Preconditions User must be logged in and the Main screen is displayed
Postconditions User is viewing List of Assigned Tasks
Trigger User selects on Task Requester view
Basic Flow 1. User opens the drawer menu and selects from the list of options
2. User then selects on the Task Requester option.
3. The users requested Task are then shown to the User.
Alternate Flows [case filter results]
2. User then selects on the filter option.
3. User then selects on the Task Requester option.
4. The users filtered requested Task are then shown to the User.
Scheduled Release Date

Week 6 (Mar. 26 - Apr. 01)


(1.d) (Delete Task)

{Related User Stories: US 01.04.01}
Use Case Description As a requester, I would like to delete a task that I have requested.
Primary Actor Task Requester
Preconditions A requester must be selecting a task that they have previously requested, and wish to delete it. The user is currently viewing the Task page for a task
Postconditions The selected task must be removed from the list of tasks
Trigger The delete option was selected by the requester
Basic Flow 1. The requester selects a task they own
2. The requester selects the delete option in the menu bar
3. The task is deleted
Alternate Flows [case no deletion]
2. The user clicks outside of the confirmation
3. the task remains as it was before the trigger
Scheduled Release Date

Week 9 (Apr. 16 - Apr. 22)


(1.e) (Logout)

Use Case Description As a User, I would like to logout.
Primary Actor End User
Preconditions User is Logged in and viewing the Main page
Postconditions User is on the Login Page
Trigger User accesses the main menu then user uses on the logout button
Basic Flow 1. From the drawer menu, the user selects the logout option
2. User is logged out then directed to the login option
Alternate Flows N/A
Scheduled Release Date

Week 9 (Apr. 16 - Apr. 22)


(1.f) (View All Available Tasks)

Use Case Description A User wishes to view all of the tasks (requested, bidded, accepted by him/her, or completed for him/her).
Primary Actor User
Preconditions The user is logged in and viewing any page
Postconditions The user is viewing a list of all tasks.
Trigger The user navigates to the Main page and selects the “all tasks” option.
Basic Flow 1. The user logs in and is presented with all tasks on the Main page.
Alternate Flows [case from filter]
1. The user is viewing some other activity and navigates to the Main page
2. The user selects the “all tasks” option from the main menu
3. The user is presented with the list
Scheduled Release Date

Week 3 (Mar. 5 - Mar. 11)


(1.g) (View All Tasks on Map)

{Related User Stories: US 10.01.01, US 10.02.01, US 10.03.01}
Use Case Description As a user, I want to view all tasks based on geolocation.
Primary Actor End User
Preconditions User is viewing the Main page menu
Postconditions User is viewing all tasks within a specified range on the Main page
Trigger User selects the “filters” option from the Main menu
Basic Flow 1. User is in the list of options
2. User then selects the “filters” option
3. User enters a range to limit tasks shown to
4. The main page is now displayed with the tasks based on location
Alternate Flows [case from search filter]
2. User selects “map” option
3. User then selects the “filter” option
4. User applies filters
5. The map with tasks based on location is displayed
Scheduled Release Date

Week 9 (Apr. 16 - Apr. 22)


(2) - Task Interactions

(2.a) (View Task Detail)

{Related User Stories: US 01.01.01, US 02.01.01, US 01.03.01}
Use Case Description As a user, I want to view details of a task: title, description, status, lowest bid, location, photographs, requester, …
Primary Actor User
Preconditions A user must be logged in and viewing Main page
Postconditions User is viewing details of a task on the Task page
Trigger User selects a task from the task list
Basic Flow 1. User selects a task from the task list
2. User is then brought to the Task page for the selected task
Alternate Flows [case view bids]
3. User selects "View Bids" and user is brought to the view bids page
Scheduled Release Date

Week 6 (Mar. 26 - Apr. 01)


(2.b) (Edit Task Details)

{Related User Stories: US 01.03.01}
Use Case Description As a task requester, I want to edit the details for any one of my tasks.
Primary Actor Task Requester
Preconditions A user must be logged in and viewing the Task page of the task they want to edit
Postconditions Edits are applied and the user is viewing the Task page
Trigger User selects selects “edit” on a task they own
Basic Flow 1. User selects edit option on a task
2. User is brought to the Edit Task screen
3. user makes modifications
4. Modifications are validated
5. User is returned to the Task page with modified information
Alternate Flows [case invalid input]
4. Modifications are not valid
5. A prompt is shown to the user
6. Return to step 3
Scheduled Release Date

Week 6 (Mar. 26 - Apr. 01)


(3) - User Profile Interactions

(3.a) (Profile Registration)

Use Case Description As a user, I would like to create an account to use GeoTask. I would like to provide a unique email, and my contact information. I would like to have my account protected by an authenticating factor.
Primary Actor End User
Preconditions Login screen is displayed
Postconditions Login screen is displayed
Trigger User selects register
Basic Flow 1. User selects Register option in the Login screen
2. User then enters a unique email, and provides contact information and username
4. The user information is then verified
5. If the user input is valid, the account is created
6. Login screen is displayed
Alternate Flows [case invalid input]
5. User input is not valid
6. Return to step 2.
[case cancel creation]
6. User decides to hit cancel button, Login screen is displayed
Scheduled Release Date

Week 3 (Mar. 5 - Mar. 11)


(3.b) (Edit Profile)

Use Case Description As a user, I want to view and edit details on my profile
Primary Actor User
Preconditions A user is logged in, Main screen is displayed
Postconditions Profile screen is displayed, changes made to profile should be saved to the server
Trigger User selects ‘Profile’ from the menu
Basic Flow 1. User opens the drawer
2. User selects profile from the menu, Edit Profile screen is displayed
3. The user makes edits then selects save to save data to the server
4. The user is returned to the Main screen
Alternate Flows [case user retracts changes]
3. User selects cancel and the changes are then not saved to the server
4. The user is returned to the Profile screen and the old data persists
Scheduled Release Date

Week 9 (Apr. 16 - Apr. 22)


(3.c) (View Another Profile)

Use Case Description A User wants to view another person’s profile.
Primary Actor User
Preconditions Task screen is displayed.
Postconditions Profile screen is displayed.
Trigger The user clicks on the name of another user.
Basic Flow 1. Task screen is displayed
2. selects the requester name or selects a bidder’s name from a list of bids
3. Profile screen is displayed for the selected user
Alternate Flows N/A
Scheduled Release Date

Week 6 (Mar. 26 - Apr. 01)


(4) - Searching Interactions

(4.a) (Search)

Use Case Description A User wants to add filters to the list of tasks to view tasks more specifically
Primary Actor User
Preconditions Main screen is displayed.
Postconditions Main screen is displayed, the user is viewing the list of tasks where the tasks contain all the keywords and have matching status to the one provided by the user.
Trigger The user selects the “filters” option.
Basic Flow 1. The user is viewing the task list
2. The user opens the drawer
3. The user selects the filters option
4. Filter screen is displayed, the user enters they keywords they wish to filter the list for
5. The user then selects a status to filter for
6. The user selects a range to filter for
7. The user applies the filter
8. Main screen is displayed, The user is given a view of the list displayed with the correct filter
Alternate Flows [case cancel filters]
7. The user decides to cancel
8. Main screen is displayed, the user returns to view the list which has not changed
Scheduled Release Date

Week 6 (Mar. 26 - Apr. 01)


(4.b) (Search By Distance)

Use Case Description A User wants to filter the list of tasks by distance from them.
Primary Actor User
Preconditions Main screen is displayed.
Postconditions Main screen is displayed, the user is viewing the list of tasks where the tasks have less or equal distance to the range entered.
Trigger The user selects the “filters” option.
Basic Flow 1. Main screen is displayed, the user is viewing the task list
2. The user opens the drawer
3. The user selects the filters option
4. Filter screen is displayed, the user enters the range they wish to filter for
5. The user applies the filter
6. Main screen is now displayed with the correct filter to the user
Alternate Flows [case cancel filter]
5. The user decides to cancel
6. Main screen is displayed, the user returns to view the list which has not changed
Scheduled Release Date

Week 9 (Apr. 16 - Apr. 22)


(5) - (Task Bidding Interactions)

(5.a) (Place Bid)

{Related User Stories: US 05.01.01}
Use Case Description As a task provider, I want to make a bid on a given task with status: requested or bidded using a monetary amount
Primary Actor Task Provider
Preconditions Task detail screen is displayed
Postconditions Task detail screen is displayed, a notification is sent to the requester, the task appears in the providers list
Trigger The user chooses to add bid
Basic Flow 1. The user chooses to view the bid list
2. The user chooses to add bid
3. The user is given a prompt to enter amount
4. User enters information
5. Information is validated
6. Internal information is updated
7. Task detail is displayed
Alternate Flows [case invalid input]
5. Information is invalid
6. A prompt is shown
7. Return to step 3
Scheduled Release Date

Week 6 (Mar. 26 - Apr. 01)


(5.b) (Delete Bid)

{Related User Stories: US 05.01.01}
Use Case Description As a task provider, I want to delete a bid of mine on a given task with status: requested or bidded
Primary Actor Task Provider
Preconditions BidList screen is displayed
Postconditions Task screen is displayed, the task no longer appears in the providers list, the bid no longer appears in the bids list
Trigger The user chooses to delete bid
Basic Flow 1. The user clicks on the bid they own to be deleted
2. The user click on delete in the popup
Alternate Flows N/A
Scheduled Release Date

Week 6 (Mar. 26 - Apr. 01)


(5.c) (View My Bidded Tasks)

{Related User Stories: US 05.02.01}
Use Case Description A Provider wants to view tasks that they have bidded on.
Primary Actor Provider
Preconditions Main screen is displayed.
Postconditions Main screen is displayed, he provider is viewing the list of tasks which they have previously bidded on.
Trigger The user selects the “provider view” option.
Basic Flow 1. The provider is viewing the Main screen and selects the provider view option
2. The list now displays only the tasks which have been bidded on by the provider
Alternate Flows N/A
Scheduled Release Date

Week 6 (Mar. 26 - Apr. 01)


(5.d) (View My Tasks Which Have Bids)

{Related User Stories: US 01.02.01, US 05.04.01}
Use Case Description A Requester wants to view tasks that they have bidded on.
Primary Actor Requester
Preconditions Main screen is displayed
Postconditions Main screen is displayed, the requester is viewing the list of tasks which they have requested and have been bidded on.
Trigger The user selects the “requester view” option and applies the filter for status = bidded.
Basic Flow 1. The requester is viewing the Main screen and selects the requester view option
2. The list now displays only the tasks which have been requested by the requester
3. The user then selects “filters”
4. Filter screen is displayed, the user applies the filter for status = bidded
5. The list now displays only the requesters tasks which have been bidded on
Alternate Flows [case cancel filters]
4. The requester decides to cancel the search after going into requester view. They do not apply any filter or cancel a filter.
5. The list remains a list of only requests made by the requester (not necessarily bidded on).
Scheduled Release Date

Week 6 (Mar. 26 - Apr. 01)


(5.e) (View Bids On Task)

{Related User Stories: US 05.05.01}
Use Case Description As a task requester, I want to view the bids on one of my tasks
Primary Actor Task Requester
Preconditions User has tasks, Task screen is displayed for a task owned by the user
Postconditions Bid List screen is displayed, the requester is presented with a list of bids on the task that was selected.
Trigger The user has clicked on the “Bid List” option
Basic Flow 1. The user clicks on bid list
2. Bid List screen is displayed
Alternate Flows [case return to list]
3. The user hits the back button
Scheduled Release Date

Week 6 (Mar. 26 - Apr. 01)


(5.f) (Accept Bid)

{Related User Stories: US 02.02.01, US 05.06.01}
Use Case Description As a task requester, I want to accept a bid on one of my tasks
Primary Actor Task Requester
Preconditions Bid List screen is displayed
Postconditions Task screen is displayed, the task is no longer visible in searches, The task appears in the task providers task list
Trigger The user has clicked on a bid
Basic Flow 1. The user clicks on bid
2. A prompt appears to the user
3. The user accepts bid
4. The task is now assigned to the task provider and the state of the task has changed to accepted
Alternate Flows [case decline bid, select other]
3. The user declines
4. The user clicks on another provider
5.The task is now assigned to the task provider and the state of the task has changed to accepted
Scheduled Release Date

Week 9 (Apr. 16 - Apr. 22)


(5.g) (Decline Bid)

{Related User Stories: US 02.02.01, US 05.07.01}
Use Case Description As a task requester, I want to decline a bid on one of my tasks
Primary Actor Task Requester
Preconditions Bid List screen is displayed
Postconditions Task screen is displayed, the bid no longer appears in the bid list
Trigger The user has clicked on a bid
Basic Flow 1. The user clicks on bid
2. A prompt appears to the user
3. The bid no longer appears in the list of bids
Alternate Flows N/A
Scheduled Release Date

Week 9 (Apr. 16 - Apr. 22)


(6) - Task Assignment Interactions

(6.a) (View My Accepted Tasks As Provider)

{see US 06.01.01}
Use Case Description As a task provider, I want to view a list of tasks I am assigned to
Primary Actor Task Provider
Preconditions User has a filter selected for showing only active tasks and is viewing the list
Postconditions Main screen is displayed
Trigger User selects Task Performer from list of options after having a filter that only shows active tasks applied
Basic Flow 1. User selects the list of options
2. User then selects the "My Assigned" option from the drawer
3. The task performers active jobs are then shown
Alternate Flows
Scheduled Release Date

Week 6 (Mar. 26 - Apr. 01)


(6.b) (View My Assigned Tasks As Requesters)

{Related User Stories: US 06.02.01}
Use Case Description As a Task Requester, I want to view a list of my tasks with status assigned
Primary Actor Task Requester
Preconditions Main screen is displayed
Postconditions Main screen is displayed
Trigger User selects to change view
Basic Flow 1. User selects from the list of options
2. User then selects on the "My Assigned" option from the drawer
3. The task requester's tasks which are assigned will be shown
Alternate Flows 4. The task requester may filter the options which will alter the search results
Scheduled Release Date

Week 6 (Mar. 26 - Apr. 01)


(7) - Task Completion Interactions

(7.a) (Change Status When Complete)

{Related User Stories: US 07.01.01, US 01.03.01}
Use Case Description As a Task requester, i want to change one of my accepted tasks status to complete
Primary Actor Task requester
Preconditions User is logged in, Main screen is displayed
Postconditions Task screen is displayed, task will have status completed
Trigger Task requester selects the Done option and changes status to completed
Basic Flow 1. User selects on the list of options
2. User then selects on the task requester option
3. The user selects the task they wish to update to completed
4. Task screen is displayed, the user then selects "Done"
5. A popup is shown asking for confirmation
6. The user confirms task completion
7. The task will now be shown to be completed
Alternate Flows [case not complete]
6. The user clicks "back" in the popup"
7. The task status is not changed
Scheduled Release Date

Week 9 (Apr. 16 - Apr. 22)


(7.b) (Change Status When Not Complete)

{Related User Stories: US 07.02.01, US 01.03.01}
Use Case Description As a task requester, i want to change one of my accepted tasks back to bidding
Primary Actor Task requester
Preconditions User is logged in, Main screen is displayed
Postconditions Task screen is displayed, task will have status Accepted
Trigger Task requester selects the accepted bid and delete it
Basic Flow 1. Task screen is displayed for a task owned by the user
2. The user selects "Not Complete"
3. If the task has other bids, status will now show "bidded", otherwise, status will now show "requested"
Alternate Flows N/A
Scheduled Release Date

Week 9 (Apr. 16 - Apr. 22)


Clone this wiki locally