-
Notifications
You must be signed in to change notification settings - Fork 4
Use Cases
- Task Basics
- Task Details
- User Profile
- Searching
- Task Bidding
- Task Assigned
- Task Done
- Offline Behaviour
- Photographs
- Geolocation and Maps
- Wow Factor: Ratings
Item | Description |
---|---|
Name | Add Tasks |
Actors | Task Requester |
Goal | Add a task to the current list of tasks. |
Trigger | Requester clicks on the create task button on the main menu screen. |
Precondition | Requester wishes to add a new task. |
Postcondition | The new task has been added. |
Basic Flow |
|
Exceptions | |
Related User Stories | US 01.01.01 As a task requester, I want to add a task to my tasks, each denoted with a title, brief description, and initial status: requested. US 01.01.02 US 01.01.03 US 08.01.01 US 09.01.01 |
Item | Description |
---|---|
Name | Set Task Name Length |
Actors | Task Requester |
Goal | To check the length of a title and make sure it's less than or equal to 30 characters. |
Trigger | Task requester saves their new task with a name |
Precondition | Name length is unvalidated |
Postcondition | Name length is validated |
Basic Flow |
|
Exceptions | If no name is entered, an error message appears If the name is longer than 30 characters, an error message appears The error message must continue to appear each time the save button is pushed so long as the name field does not meet the requirements The error message must be able to recognize when more than 1 field has an error The error message will help the user properly fill out the task information |
Related User Stories | US 01.01.02 As a task requester, I want the maximum length of the task title to be at least 30 characters. US 01.01.01 US 01.03.01 |
Item | Description |
---|---|
Name | Set Task Comment Length |
Actors | Task Requester |
Goal | To check the length of a comment and make sure it's less than or equal to 300 characters. |
Trigger | Task requester saves a task with a comment |
Precondition | Comment length is unvalidated |
Postcondition | Comment length is validated |
Basic Flow |
|
Exceptions | If no comment is entered, an error message appears If the comment is longer than 300 characters, an error message appears The error message must continue to appear each time the save button is pushed so long as the comment field does not meet the requirements The error message must be able to recognize when more than 1 field has an error The error message will help the user properly fill out the task information |
Related User Stories | US 01.01.03 As a task requester, I want the maximum length of the task description to be at least 300 characters. US 01.03.01 US 01.01.01 |
Item | Description |
---|---|
Name | View Tasks |
Actors | Task Requester |
Goal | View a list of tasks. |
Trigger | Requester clicks the task dashboard button on the main menu. |
Precondition | Requester wishes to view their list of requested tasks. |
Postcondition | Requester is brought to screen where they can see all their tasks. |
Basic Flow |
|
Exceptions | If there are no requested tasks, the screen would be blank. |
Related User Stories |
US 01.02.01 As a task requester, I want to view a list of my tasks, with their titles and statuses. |
Item | Description |
---|---|
Name | Edit Tasks |
Actors | Task Requester |
Goal | Requester edits details of their task. |
Trigger | User clicks on the edit button in their task details screen. |
Precondition | Requester wishes to edit their existing task. |
Postcondition | The screen of all their tasks has been revised to show the changes and the database has been changed also to reflect this. |
Basic Flow |
|
Exceptions |
|
Related User Stories | US 01.03.01 As a task requester, I want to edit the details for any one of my tasks. US 08.01.01 US 09.01.01 |
Item | Description |
---|---|
Name | Delete Tasks |
Actors | Task requestor |
Goal | Task requester can delete a task they have posted. |
Trigger | When viewing a task details, pressing the delete button. |
Precondition | Task requester wants to delete a task. |
Postcondition | The selected task is deleted. |
Basic Flow |
|
Exceptions | N/A |
Related User Stories | US 01.04.01 As a task requester, I want to delete a task of mine. |
Item | Description |
---|---|
Name | View Task Details |
Actors | Task requester and provider |
Goal | Task requesters and providers can view the details of a task. |
Trigger | When a task is pressed from the overall list of tasks either in the "Your Posts" or "To Solve" tabs, it opens in a new screen with the task details. |
Precondition | Requester or provider wants to see the details of a task. |
Postcondition | The selected task details are presented in a new screen. |
Basic Flow |
|
Exceptions | N/A -- A user can not select a task that are not associated with themselves. |
Related User Stories | US 02.01.01 As a task requester or provider, I want to view all the details for a given task, including its title, description, status, and lowest bid so far (if any). US 02.02.01 |
Item | Description |
---|---|
Name | Display Task Status |
Actors | Task requester and provider |
Goal | Task requesters and providers can view the status of a task. |
Trigger | When either the dashboard,search, or task details screen, task(s) will be displayed with their status |
Precondition | Requester or provider wants to see the status of a task. |
Postcondition | User can see the status of tasks. |
Basic Flow |
|
Exceptions | N/A |
Related User Stories | US 02.02.01 As a task requester or provider, I want a task to have a status to be one of: requested, bidded, assigned, or done. US 02.01.01 |
Item | Description |
---|---|
Name | Create Profile |
Actors | User |
Goal | Users can create a profile with unique username and contact information. |
Trigger | The user clicks on the "Don't have an account" button in the login screen and fills out the details. |
Precondition | The user's information and profile are not in the system. |
Postcondition | The user's information and profile are in the system. |
Basic Flow |
|
Exceptions | User inputs less than 8 characters for their username. System them prompts user to change their username to be 8 or more characters long
|
Related User Stories | US 03.01.01 As a user, I want a profile with a unique username and my contact information. US 03.01.02 US 03.01.03 |
Item | Description |
---|---|
Name | Edit Contact Information |
Actors | User |
Goal | Users can edit the contact information in their profiles. |
Trigger | The user clicks on the person profile head icon in the main screen, and edits their details. |
Precondition | The user's information and profile are not edited. |
Postcondition | The user's information and profile are edited. |
Basic Flow |
|
Exceptions |
|
Related User Stories | US 03.02.01 As a user, I want to edit the contact information in my profile. US 03.01.03 |
Item | Description |
---|---|
Name | Retrieve Contact Information |
Actors | User |
Goal | Whenever a username is shown, users can retrieve and see its corresponding contact information. |
Trigger | The user clicks on task details screen. |
Precondition | The username's information is not shown. |
Postcondition | The username's information is shown. |
Basic Flow |
|
Exceptions | If a user clicks on their own created task whose status is "requested", no other contact info would be shown. |
Related User Stories | US 03.03.01 As a user, I want to, whenever a username is shown, be able to retrieve and see its corresponding contact information. |
Item | Description |
---|---|
Name | Search for Tasks |
Actors | Task provider |
Goal | Task providers can view all tasks whose description contains the specified keywords. |
Trigger | The task provider types a set of keywords in the search bar and clicks on the search button. |
Precondition | The task provider wants to view tasks whose description contains specified keywords. |
Postcondition | All tasks whose description contains the specified keywords are presented in a listview, each with status: requested or bidded. |
Basic Flow |
|
Exceptions | N/A |
Related User Stories | US 4.01.01 As a task provider, I want to specify a set of keywords, and search for all tasks, with status: requested or bid, whose description contains all the keywords. |
Item | Description |
---|---|
Name | Show Task Details |
Actors | Task provider |
Goal | Task providers can view all tasks whose description contains the specified keywords, each task with its task requester username, title, status, lowest bid so far (if any). |
Trigger | The task provider types a set of keywords and clicks on the SEARCH button, then clicks on a task shown in the search results. |
Precondition | The task provider wants search results to show each task with its task requester username, title, status, lowest bid so far (if any). |
Postcondition | All tasks whose description contains the specified keywords are presented in a listview, each with its task requester username, title, status, lowest bid so far (if any). |
Basic Flow |
|
Exceptions | N/A |
Related User Stories | US 4.02.01 As a task provider, I want search results to show each task with its task requester username, title, status, lowest bid so far (if any). |
Item | Description |
---|---|
Name | Bid on Tasks |
Actors | Task provider |
Goal | Task providers can make a bid on a given task with status: requested or bid, using a monetary amount. |
Trigger | The task provider types a monetary amount on the input box and clicks on the BID button. |
Precondition | The task provider wants to make a bid on a given task with status: requested or bid, using a monetary amount. |
Postcondition | The task provider has made a bid on a given task now with status: bid, using a monetary amount. |
Basic Flow |
|
Exceptions | The task provider cannot bid on a task if it is requested by him/her. |
Related User Stories | US 5.01.01 As a task provider, I want to make a bid on a given task with status: requested or bid, using a monetary amount. |
Item | Description |
---|---|
Name | Provider View Tasks |
Actors | Task provider |
Goal | Task provider can view a list of tasks that this provider have bidded on,each with its task requester username, title, status, lowest bid so far, and his bid. |
Trigger | Task provider clicks the view tasks button and then clicks the "TO SOLVE" tab. |
Precondition | The task provider wants to view the list of tasks that he/she have bidded on. |
Postcondition | Task provider sees the list of the tasks with its task requester username, title, status, lowest bid so far, and his bid. |
Basic Flow |
|
Exceptions | The provider haven't placed any bids on any tasks. |
Related User Stories | US 05.02.01 As a task provider, I want to view a list of tasks that I have bidded on, each with its task requester username, title, status, lowest bid so far, and my bid. |
Item | Description |
---|---|
Name | Notify of Bid |
Actors | Task requester |
Goal | Notify the task requester when there is a new bid on the request. |
Trigger | A task provider bids on a task. |
Precondition |
|
Postcondition | A notification is sent to the task requester. |
Basic Flow |
|
Exceptions | N/A |
Related User Stories | US 05.03.01 As a task requester, I want to be notified of a bid on my tasks. |
Item | Description |
---|---|
Name | Requester View Tasks |
Actors | Task requester |
Goal | Task requester can view a list of tasks with the bidding status of each task. |
Trigger | Task requester clicks the view tasks button. |
Precondition | The task requester wants to view the list of tasks with status. |
Postcondition | Task requester sees the list of the tasks with status. |
Basic Flow |
|
Exceptions | The task requester does not have any bids on the task. |
Related User Stories | US 05.04.01 As a task requester, I want to view a list of my tasks with status bidded, each having one or more bids. |
Item | Description |
---|---|
Name | Show Bid for Posted Task |
Actors | Task requester |
Goal | Task requesters can see the bids made on a posted task. |
Trigger | The requester navigates to the personal task page using button or notification. |
Precondition | The requester wants to see the bids made on their post. |
Postcondition | The requester has a viewable list of bids made on their post. |
Basic Flow |
|
Exceptions |
|
Related User Stories | US 05.05.01 As a task requester, I want to view the bids on one of my tasks. |
Item | Description |
---|---|
Name | Accept Bid for Posted Task |
Actors | Task requester |
Goal | Task requesters can accept a bid on a posted task. |
Trigger | The requester presses on a bid to accept it. |
Precondition | The requester wants to accept a bid on their task details page. |
Postcondition | The requester accepts a bid, in turn changing the state of the task to "assigned" and the status of this bid to "accepted" and declining all other bids and setting the status of these bids to "declined",which prevents other providers place more bids or update bids. |
Basic Flow |
|
Exceptions |
|
Related User Stories | US 05.06.01 As a task requester, I want to accept a bid on one of my tasks, setting its status to assigned, and declining any other bids on that task. |
Item | Description |
---|---|
Name | Decline Bid for a Posted Task |
Actors | Task requester |
Goal | Task requesters can decline a bid. |
Trigger | The requester clicks on a bid in task details page and clicks on declined button inside bid details dialog. |
Precondition | The requester wants to decline a bid on the task details page. |
Postcondition | The requester declines a bid, resulting in continued flow for the task with continued updates to the task. More bids can still be placed. |
Basic Flow |
|
Exceptions |
|
Related User Stories | US 05.07.01 As a task requester, I want to decline a bid on one of my tasks.Declining may be done by marking the bid as such or hiding it. |
Item | Description |
---|---|
Name | View Assigned Task List |
Actors | Task provider |
Goal | Was providers can view list of assigned tasks. |
Trigger | Provider clicks. |
Precondition | Provider wishes to see their assigned tasks. |
Postcondition | List of assigned tasks are displayed. |
Basic Flow |
|
Exceptions | If there are no assigned tasks then a blank screen would be shown. |
Related User Stories | US 06.01.01 As a task provider, I want to view a list of tasks I am assigned, each task with its task requester username, title, status, and my accepted bid. |
Item | Description |
---|---|
Name | View Assigned Task Details |
Actors | Task requester |
Goal | Task requesters can see the details of a task that has been accepted. |
Trigger | Task requester views details of an accepted task. |
Precondition | User cannot see details of a given task. |
Postcondition | User can see details of a given task. |
Basic Flow |
|
Exceptions | N/A - A user cannot see the details of a task that does not exist. |
Related User Stories | US 06.02.01 As a task requester, I want to view a list of my tasks with status: assigned, each task with its task provider username, title, status, and accepted bid. |
Item | Description |
---|---|
Name | Set Task Status from "assigned" to “Done” |
Actors | Task requester |
Goal | To change the status of a completed task to “done”. |
Trigger | Task requester changes status of task. |
Precondition | Task status is “assigned”. |
Postcondition | Task status is “done”. |
Basic Flow |
|
Exceptions | The task has a state other than "assigned |
Related User Stories | US 07.01.01 As a task requester, I want to set a task with status: assigned to have status: done, when it is completed. |
Item | Description |
---|---|
Name | Set Task Status from "assigned" to "Requested" |
Actors | Task requester |
Goal | TTask requester can set the status of a task with state "assigned" to "requested". |
Trigger | Task requester clicks on "reassign" button |
Precondition | The task has the previous (“assigned”) status and the task only has one bid. |
Postcondition | The status of the task is set to “requested”. |
Basic Flow |
|
Exceptions |
|
Related User Stories | US 07.02.01 As a task requester, I want to set a task with status: assigned to have status: requested, when it is not completed and there are no other bids on it. |
Item | Description |
---|---|
Name | Set Task Status from "assigned" to "bidded" |
Actors | Task requester |
Goal | TTask requester can set the status of a task with state "assigned" to "bidded". |
Trigger | Task requester clicks on "reassign" button |
Precondition | The task has the previous (“assigned”) status and the task has more than one bid. |
Postcondition | The status of the task is set to “bidded”. |
Basic Flow |
|
Exceptions |
|
Related User Stories | US 07.03.01 As a task requester, I want to set a task with status: assigned to have status: bidded, when it is not completed and there are other bids on it. |
Item | Description |
---|---|
Name | Offline Add or Edit |
Actors | Task requester |
Goal | Add or edit when the device is not connected to network, then synchronize once it is connected. |
Trigger | The requester clicks on add or edit while offline. |
Precondition | The device is offline. |
Postcondition |
|
Basic Flow |
|
Exceptions | The task synchronizes with the online database only after connected to the network. |
Related User Stories | US 08.01.01 As a task requester, I want to add or edit tasks while off the network, and have these changes synchronized once I regain connectivity. US 01.01.01 US 01.03.01 |
Item | Description |
---|---|
Name | Attach Photos |
Actors | Task requester |
Goal | Task requester can optionally attach one or more photographs as further viewable details to their task. |
Trigger | The task requester clicks on the camera icon in the Create Task screen. |
Precondition | The task requester wants to optionally attach one or more photographs as further viewable details to their task.. |
Postcondition | The task requester has successfully attached one or more photographs as further viewable details to a task of mine. |
Basic Flow |
|
Exceptions | If the task requester has not allowed the application to have access to the camera and clicks on the camera icon:
|
Related User Stories | US 09.01.01 As a task requester, I want to optionally attach one or more photographs as further viewable details to a task of mine. US 09.01.02 As a task requester, I want the maximum number of photographs that can be attached to a task to be at least 10. |
Item | Description |
---|---|
Name | View Photos |
Actors | Task requester and task provider |
Goal | Task requesters and task providers can view any attached photograph for a task. |
Trigger | The user clicks on the gallery icon in either the task details for the requester or provider screen. |
Precondition | The user wants to view any attached photograph for a task. |
Postcondition | The user is able to view any attached photograph for a task. |
Basic Flow |
|
Exceptions |
|
Related User Stories | US 09.02.01 As a task requester or provider, I want to view any attached photograph for a task. |
Item | Description |
---|---|
Name | Limit Photo Size |
Actors | Sys admin |
Goal | Have a limited picture upload size set by sys admin. |
Trigger | When the user clicks on add or edit task completed button. |
Precondition | The photographs do not have a fixed size. |
Postcondition | The limit for postable photographs becomes 65536 bytes. |
Basic Flow |
|
Exceptions | N/A |
Related User Stories | US 09.03.01 As a sys admin, I want each photograph to be under 65536 bytes in size. |
Item | Description |
---|---|
Name | Specify Geolocation |
Actors | Task requester |
Goal | To be able to input geolocation details for task using maps API. |
Trigger | In the create task screen, task requester can click the addd location button. |
Precondition | The task has no information about geodetails. |
Postcondition | The task has a location. |
Basic Flow |
|
Exceptions |
|
Related User Stories | US 10.01.01 As a task requester, I want to specify a geo location on a map as further viewable details to a task of mine. |
Item | Description |
---|---|
Name | View Task Geolocation |
Actors | Task Requester and Task Provider |
Goal | The task requester or provider can view any geo location for a task, on a map. |
Trigger | The task requester or provider clicks on the view location button. |
Precondition | The geolocation of the task is not shown on the screen. |
Postcondition | The geolocation of the task is shown on the screen. |
Basic Flow |
|
Exceptions | If there is no location: System notifies user that there is no location for the task |
Related User Stories | US 10.02.01 As a task requester or provider, I want to view any geo location for a task, on a map. |
Item | Description |
---|---|
Name | See Map of All Tasks |
Actors | Task Provider |
Goal | The task provider can see a map of all tasks that have locations, with status: requested or bid, that are within 5 km of my current location. |
Trigger | The task provider clicks on the map button in the search task screen. |
Precondition | The map of all tasks that are within 5 km of current location is not shown on the screen. |
Postcondition | The map of all tasks that are within 5 km of current location is shown on the screen. |
Basic Flow |
|
Exceptions | N/A |
Related User Stories | US 10.03.01 As a task provider, I want to see a map of all tasks (that have locations), with status: requested or bid, that are within 5 km of my current location. US 10.02.01 |
Item | Description |
---|---|
Name | Give the solver a rating |
Actors | Task Provider |
Goal | The task provider can see a rating bar with which they can give the solver a rating b/w 0 and 5. |
Trigger | The task provider clicks on "finish task" |
Precondition | The task provider has accepted a bid |
Postcondition | The rating bar sends the rating to the solver user data for calculation. |
Basic Flow |
|
Exceptions | N/A |
Related User Stories | US 11.02.01 As a task provider, I want to be able to view a bidder's rating. US 11.03.01 |
Item | Description |
---|---|
Name | See the ratings of a bidder |
Actors | Task Requester |
Goal | The task requester can see a rating for the bidder in question. |
Trigger | The task reqester clicks on a bid. |
Precondition | The task requester has accessed the task page from the dashboard. |
Postcondition | The requester can see the rating of the bidder. |
Basic Flow |
|
Exceptions | N/A |
Related User Stories | US 11.01.01 As a task provider, I want to be able to give a bidder a rating. US 11.03.01 |
Item | Description |
---|---|
Name | See the ratings of same user. |
Actors | Task Provider |
Goal | The user can see their own rating. |
Trigger | The task provider clicks on "edit profile" page. |
Precondition | The user needs to see their own rating. |
Postcondition | The user can see their own rating. |
Basic Flow |
|
Exceptions | N/A |
Related User Stories | US 11.02.01 As a task requester, I want to be able to view a providers's rating. US 11.01.01 |
Ratings system for each user that depicts their overall funkiness on a scale from 0 to 5 bananas. Each task requester would give a provider their rating when they are done the requested task based on the requester's judgement for how well the provider did their job.
Copyright 2018 Monica Bui, Jolene Poulin, Shuai Li, Atharv Vohra, Eivenlour David, Fangting Chen
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.