-
Notifications
You must be signed in to change notification settings - Fork 0
Requirements Specifications
cbinns edited this page Mar 13, 2018
·
36 revisions
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Add a task to list of tasks |
| Trigger | Task requester would like to post a task they would like done by task providers |
| Pre-Condition | Task requester can provide a title (max. 30 characters) and description (max. 300 characters) for the specific task |
| Post-Condition | Task is added to user's list of tasks |
| Basic Flow |
|
| Exceptions | 3. User does not fill out a title or description OR character limit exceeded. 3.1 System indicates the error and prompts the user again. 3.2 User enters the task details and confirms. 3.3 System adds the new task. 4. System is unable to add task. 4.1 System presents an error to the user. |
| Includes | |
| Extends | |
| Related Artifacts | US 01.01.01, US 01.01.02, US 01.01.03 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Display the list of tasks posted by the user to the user |
| Trigger | Task requester would like to view their own task list |
| Pre-Condition | Task requester has tasks posted |
| Post-Condition | System displays a list of the user's tasks with their titles and statuses |
| Basic Flow |
|
| Exceptions | 3. User has no task postings. 3.1 No tasks are displayed. |
| Includes | ViewMyTasks (US 05.04.01) ViewAssignedTasks (US 06.02.01) |
| Extends | |
| Related Artifacts | US 01.02.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Modify the details of a specific task |
| Trigger | Task requester would like to modify a task detail |
| Pre-Condition | Task requester has at least one task to edit |
| Post-Condition | Task details are updated to reflect user changes |
| Basic Flow |
|
| Exceptions | 2. User cancels modification. 2.1 System closes prompt and makes no changes to the task. 4. System fails to update profile changes. 4.1 System presents an error to the user. |
| Includes | |
| Extends | |
| Related Artifacts | US 01.03.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Remove a task from the task list |
| Trigger | Task requester would like to delete a task |
| Pre-Condition | Task requester has at least one task to remove |
| Post-Condition | Specific task is removed from user’s list of tasks |
| Basic Flow |
|
| Exceptions | 2. User cancels task deletion. 2.1 System closes prompt and makes no changes to task list. |
| Includes | |
| Extends | |
| Related Artifacts | US 01.04.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Display the details of a single task to the user |
| Trigger | User would like to view the details of a specific task |
| Pre-Condition | User knows which task they would like to view |
| Post-Condition | System displays the taks details to the user |
| Basic Flow |
|
| Exceptions | 2. System fails to fetch information. 2.1 Error is presented to the user. |
| Includes | ViewTaskBids (US 05.05.01) |
| Extends | |
| Related Artifacts | US 02.01.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester or Provider |
| Goal | Tasks will indicate their status based on completion progress |
| Trigger | Task requester creates a new task |
| Pre-Condition | There is at least one task |
| Post-Condition | Tasks will show their status of completion |
| Basic Flow |
|
| Exceptions | No exceptions. |
| Includes | TaskStatusCompleted (US 07.01.01) TaskStatusUncompleted (US 07.02.01) |
| Extends | |
| Related Artifacts | US 02.02.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester or Provider |
| Goal | Each user will have a unique profile |
| Trigger | User creates an account for the app |
| Pre-Condition | N/A |
| Post-Condition | User will have a unique profile |
| Basic Flow |
|
| Exceptions | 4. System fails to save information. 4.1 Error is presented to the user. |
| Includes | |
| Extends | |
| Related Artifacts | Use Case 8: EditProfile (US 03.02.01), US 03.01.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester or Provider |
| Goal | Modify the information in user’s profile |
| Trigger | User would like to modify the contact information in their profile |
| Pre-Condition | N/A |
| Post-Condition | User profile is updated to reflect changes made by the user |
| Basic Flow |
|
| Exceptions | 2. User cancels modification. 2.1 System closes prompt and makes no changes to user profile. |
| Includes | |
| Extends | |
| Related Artifacts | US 03.02.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester or Provider |
| Goal | Display another user’s contact information to the user |
| Trigger | User would like to view another user’s profile |
| Pre-Condition | Username is shown and profile is accessible by the user |
| Post-Condition | System displays another user’s contact information to the user |
| Basic Flow |
|
| Exceptions | 4. System fails to retrieve information. 4.1 Error is presented to the user. |
| Includes | |
| Extends | |
| Related Artifacts | US 03.03.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Provider |
| Goal | Provide a list of tasks relevant to the keywords entered by the task provider |
| Trigger | Task provider clicks the search button |
| Pre-Condition | None |
| Post-Condition | On click, all relevant tasks are displayed to the task provider that have status requested or bidded |
| Basic Flow |
|
| Exceptions | 1. User leaves the search field empty. 1.1 System displays all tasks in a determined order. 2. Keywords provided return no relevant tasks. 2.1 System displays "no results found" on the search result page. |
| Includes | |
| Extends | |
| Related Artifacts | US 04.01.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Provider |
| Goal | Task search results display information for each result, including username, title, status, and lowest bid (if any) |
| Trigger | Task provider clicked the search button |
| Pre-Condition | The keywords return a non-empty list of results, username, title, status are not empty for a task |
| Post-Condition | On click, all specified information is displayed for each search result in the list of all results. |
| Basic Flow |
|
| Exceptions | N/A |
| Includes | |
| Extends | SearchTasks |
| Related Artifacts | US 04.02.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Provider |
| Goal | Make a bid on a given task and update the server data |
| Trigger | Task provider clicks 'Make Bid' on a given task |
| Pre-Condition | Task provider has selected a task that has status, requested or bidded |
| Post-Condition | On click, the bid is made and the screen is updated to reflect the new bid. |
| Basic Flow |
|
| Exceptions | 1. User enters an invalid monetary amount. 1.1 System sends an error message that the amount was invalid. 2. The task provider is unable to connect to the server. 2.1 System displays error that it could not contact the server and to try again later. 2.2 Provide option to send once application can contact the server. (To be decided) |
| Includes | |
| Extends | |
| Related Artifacts | US 05.01.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Provider |
| Goal | View all tasks that a task provider has bid on previously with standard information about the task |
| Trigger | Task provider clicks on My Bids |
| Pre-Condition | The server is accessible or a cached version of My Bids. |
| Post-Condition | All tasks that a task provider has bid on are displayed with their standard information. |
| Basic Flow |
|
| Exceptions | 1. The task provider has not bid on any tasks. 1.1 Display a message on the My Bids page, saying 'No Tasks'. 2. The server is inaccessible and the cache does not exist. 2.1 Display 'No Tasks' on My Bids page along with a message that the server could not be contacted. |
| Includes | |
| Extends | |
| Related Artifacts | US 05.02.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester, Task Provider |
| Goal | Send a notification to the device when there is a new bid on the requester's tasks |
| Trigger | A task provider has bid on a task requester's task |
| Pre-Condition | A bid has been placed on a task. |
| Post-Condition | The task requester's device has a notification that a bid has been placed. |
| Basic Flow |
|
| Exceptions | 1. The server cannot access the task requester's device. 1.1 The server attempts to send the data at a timed interval until received. 2. Notifications are turned off by the requester. 2.1 The app places a red dot on their profile so the requester can see that they have received a bid when they open the app. |
| Includes | |
| Extends | |
| Related Artifacts | US 05.03.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Display all tasks that have status bidded |
| Trigger | The task requester clicks on 'My Tasks' |
| Pre-Condition | The server is accessible or a cached version of My Tasks. |
| Post-Condition | All tasks by the task requester that have status bidded are displayed. |
| Basic Flow |
|
| Exceptions | 1. The task requester has no valid tasks. 1.1 Display a message on the My Tasks page, saying 'No Tasks'. 2. The server is inaccessible and the cache does not exist. 2.1 Display 'No Tasks' on My Tasks page along with a message that the server could not be contacted. |
| Includes | |
| Extends | |
| Related Artifacts | US 05.04.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Display all tasks on a given task requester's task |
| Trigger | The task requester selects a task from the My Tasks page. |
| Pre-Condition | The task has a bid. |
| Post-Condition | All bids are displayed. |
| Basic Flow |
|
| Exceptions | 1. The task has status requested. 1.1 Displays an empty list under bidding history. 2. System cannot load data from server or cache on task with status bidded. 2.1 Display error message that data cannot be found. 2.2 Update local data once server is reachable |
| Includes | |
| Extends | |
| Related Artifacts | US 05.05.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Accept a bid, changing a tasks status to assigned and clearing the other bids |
| Trigger | The task requester selects accept bid on a certain bid |
| Pre-Condition | There is at least one valid bid on the given task. |
| Post-Condition | The task status is changed to assigned and the other bids are cleared. |
| Basic Flow |
|
| Exceptions | 1. The server cannot be contacted. 1.1 An error message saying, 'No network, try again later' is displayed. 1.2 The page remains the same as the bid cannot be accepted currently. |
| Includes | |
| Extends | |
| Related Artifacts | US 05.06.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Decline a bid, deleting that bid from the bid list |
| Trigger | The task requester selects decline bid on a certain bid |
| Pre-Condition | There is at least one valid bid on the given task. |
| Post-Condition | The declined bid is removed from the bid list. |
| Basic Flow |
|
| Exceptions | 1. The server cannot be contacted. 1.1 An error message saying, 'No network, try again later' is displayed. 1.2 The page remains the same as the bid cannot be declined currently. 2. There is only one bid. 2.1 The task status is set back to requested. |
| Includes | |
| Extends | |
| Related Artifacts | US 05.07.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Provider |
| Goal | View all tasks that a task provider has been assigned with standard information displayed |
| Trigger | Task provider filters My Bids to show assigned tasks |
| Pre-Condition | The server is accessible or a cached version of My Bids. |
| Post-Condition | All tasks that a task provider has been assigned are displayed with their standard information. |
| Basic Flow |
|
| Exceptions | 1. The task provider has not been assigned any tasks. 1.1 Display a message on the My Bids page, saying 'No Tasks'. 2. The server is inaccessible and the cache does not exist. 2.1 Display 'No Tasks' on My Bids page along with a message that the server could not be contacted. |
| Includes | |
| Extends | ViewMyBids (US 05.02.01) |
| Related Artifacts | US 06.01.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Display all tasks that have status assigned |
| Trigger | The task requester filters 'My Tasks' to show assigned |
| Pre-Condition | The server is accessible or a cached version of My Tasks. |
| Post-Condition | All tasks by the task requester that have status assigned are displayed. |
| Basic Flow |
|
| Exceptions | 1. The task requester has no valid tasks. 1.1 Display a message on the My Tasks page, saying 'No Tasks'. 2. The server is inaccessible and the cache does not exist. 2.1 Display 'No Tasks' on My Tasks page along with a message that the server could not be contacted. |
| Includes | |
| Extends | ViewMyTasks |
| Related Artifacts | US 06.02.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Task Requester able to change the status of a task from “Assigned” to “Done” |
| Trigger | Task Requester confirms that their task has been completed |
| Pre-Condition | N/A |
| Post-Condition | On success, Task Requester pays the Task Provider and the task remains in the Task Requester’s “Tasks Requested” history and in the Task Provider’s “Tasks Provided” history |
| Basic Flow |
|
| Exceptions | |
| Includes | |
| Extends | |
| Related Artifacts | US 07.01.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Task Requester able to change the status of a task from “Assigned” to “Requested” |
| Trigger | Task Requester confirms that their task has not been completed |
| Pre-Condition | N/A |
| Post-Condition | On success, the task will now be available to be bid on again |
| Basic Flow |
|
| Exceptions | |
| Includes | |
| Extends | |
| Related Artifacts | Use Case 21: TaskStatusCompleted (US 07.01.01), US 07.02.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Task Requester able to add or edit tasks without a network connection and then having them synchronize later when a network connection is established |
| Trigger | A network connection being established |
| Pre-Condition | Task Requester has edits to make to a task, or wants to add a new task and doesn’t have a network connectivity |
| Post-Condition | Either a task is edited, or a new task is added |
| Basic Flow |
|
| Exceptions | 1. If the task is already accepted, before an edit made by the Task Requester is synchronized to the app, then display an error |
| Includes | |
| Extends | |
| Related Artifacts | US 08.01.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Task Requester able to attach one or more photos to a task |
| Trigger | Task Requester clicks the “Add Photo” button on the “Edit Task” or “New Task” page |
| Pre-Condition | Task Requester has a photo they want to post or wants to take a picture with the camera on their device |
| Post-Condition | On success, the task will now have a photo or multiple photos |
| Basic Flow |
|
| Exceptions | |
| Includes | |
| Extends | |
| Related Artifacts | US 09.01.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester and Task Provider |
| Goal | Task Requester and Task Provider can view any attached photos for a task |
| Trigger | Task Requester and Task Provider click on the “Task Details” page |
| Pre-Condition | N/A |
| Post-Condition | On success, Task Requester and Task Provider can see the photos on the “Task Details” page |
| Basic Flow |
|
| Exceptions | |
| Includes | |
| Extends | |
| Related Artifacts | Use Case 24: PostPhoto (US 09.01.01), US 09.02.01 |
| Category | Description |
|---|---|
| Participating Actors | Sys Admin |
| Goal | Sys Admin can ensure each photo is under 65536 bytes in size |
| Trigger | Task Requester or Task Provider attempt to post a task or profile |
| Pre-Condition | Task Requester or Task Provider have a picture they want to post either via the camera on their device or from a photo they have stored on their device |
| Post-Condition | On success, all photos that are posted within the app will be less than or equal to 65536 bytes |
| Basic Flow |
|
| Exceptions | 1. If a photo is above 65536 bytes, the Sys Admin will not allow the user to post the photo |
| Includes | PostPhoto US 09.01.01 |
| Extends | |
| Related Artifacts | US 09.03.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Task Requester able to specify a geographical location on a map related to said task |
| Trigger | Task Requester or Task Provider click on the “Location” button on the “Task Details” page |
| Pre-Condition | Task Requester has a geographical location that is related to said task |
| Post-Condition | On success, Task Requester or Task Provider can view a geographical location of task on a map |
| Basic Flow |
|
| Exceptions | |
| Includes | |
| Extends | |
| Related Artifacts | US 10.01.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester or Task Provider |
| Goal | Task Requester or Task Provider able to view a geographical location on a map related to said task |
| Trigger | Task Requester and Task Provider click on the “Task Details” page |
| Pre-Condition | N/A |
| Post-Condition | On success, Task Requester and Task Provider can see a map of geographical location on the “Task Details” page |
| Basic Flow |
|
| Exceptions | |
| Includes | |
| Extends | |
| Related Artifacts | Use Case 27: PostGeoLocation (US 10.01.01), US 10.02.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Provider |
| Goal | See a map of tasks that are not completed within a 5km radius of the Task Provider |
| Trigger | Task Provider clicks the “Map” button on the home screen |
| Pre-Condition | Task Provider’s device must allow the app to track their current location |
| Post-Condition | On success, a map of tasks in a 5km radius of the Task Provider will be displayed |
| Basic Flow |
|
| Exceptions | 1. If the Task Provider’s device does not allow the app to track their location, either ask the Task Provider to grant the app that right or display an error |
| Includes | |
| Extends | |
| Related Artifacts | Use Case 27: PostGeoLocation (US 10.01.01), US 10.03.01 |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Task Requester will create every task with a “Category” attribute |
| Trigger | Task Requester is on the “New Task” page |
| Pre-Condition | Task Requester is creating a new task |
| Post-Condition | On success, every task on the app will have a “Category” attribute |
| Basic Flow |
|
| Exceptions | 1. If a current category does not exist, the Task Requester can select the “Other” category request a new category |
| Includes | |
| Extends | |
| Related Artifacts | Use Case 1: AddTask (US 01.01.01 ) |
| Category | Description |
|---|---|
| Participating Actors | Task Provider |
| Goal | Task Provider can browse tasks by category |
| Trigger | Task Provider clicks the “Browse Categories” button on the home screen |
| Pre-Condition | Task Provider has a category they want to browse |
| Post-Condition | On success, a Task Provider can browse through various categories and find related tasks |
| Basic Flow |
|
| Exceptions | |
| Includes | |
| Extends | |
| Related Artifacts | Use Case 30: CreateNewCategory |
| Category | Description |
|---|---|
| Participating Actors | Task Requester |
| Goal | Task Requester sets every task to have a maximum bid amount that they would be willing to pay |
| Trigger | Task Requester is on the “New Task” page |
| Pre-Condition | Task Requester is creating a new task |
| Post-Condition | On success, every task on the app will have a maximum bid amount |
| Basic Flow |
|
| Exceptions | |
| Includes | |
| Extends | |
| Related Artifacts | Use Case 1: AddTask (US 01.01.01) |