Skip to content

Requirements Specification

mjkalyan edited this page Feb 16, 2018 · 21 revisions

(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 app from his/her profile.

Trigger

User opens app

Basic Flow

User Opens the app, Enters Login information wIth username and password, and authenticate with the server

Alternate Flows

N/A


(1.b) (RequestNew)

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 is in any task list view mode.

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

User selects the “Request New” option, enters task information, and confirms the task entry.

Alternate Flows

User selects “Request New” option and cancels their entry.


(1.c) (ViewMyTasksAsRequester)

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

Postconditions

User is viewing List of Assigned Tasks

Trigger

User selects on Task Requester view

Basic Flow

User selects from the list of options. User then selects on the Task Requester option. The users requested Task are then shown to the User.

Alternate Flows

User selects on the list of options. User then selects on the filter option. User then selects on the Task Requester option. The users filtered requested Task are then shown to the User.


(1.d) (DelTask)

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.

Postconditions

The selected task must be removed from the list of tasks.

Trigger

The delete option was selected by the requester.

Basic Flow

The requester selects the delete option, they are prompted with a “yes/no”, they select yes, and the task is deleted.

Alternate Flows

The requester decides not to delete, so they select no when prompted, and the task remains as it was before the trigger.


(1.e) (Logout )

Use Case Description

As a User, I would like to logout.

Primary Actor

End User

Preconditions

User is Logged in

Postconditions

User is on the Login Page

Trigger

User Clicks on Dropdown menu User Clicks on logout button

Basic Flow

User wishes to logout. User selects from the list of options, then selects the logout option. User is then directed to the login option

Alternate Flows

N/A


(1.f) (ViewAllTasks)

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.

Postconditions

The user is viewing a list of all tasks.

Trigger

Either the user logs in or the user selects the “all tasks” option.

Basic Flow

The user logs in and is presented with this list. Or the user is viewing some other activity and selects the “all tasks” option.

Alternate Flows

N/A


(1.g) ViewAllMapTasks

Use Case Description

As a user, I want to view all tasks based on geolocation.

Primary Actor

End User

Preconditions

User is logged in. User in on main page

Postconditions

User is viewing all tasks on the map

Trigger

User selects mapview

Basic Flow

User selects on the list of options. User then selects on the mapview option. The map with all tasks is displayed

Alternate Flows

the user may use a filter which will change the search results.


(2.a) (ViewTaskDetail)

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 the task list

Postconditions

N/A

Trigger

User selects a task from the task list

Basic Flow

User wishes to view a task. User selects a task from the task list, and is then brought to the page for the selected task.

Alternate Flows

N/A


(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 username, and my contact information. I would like to have my account protected by an authenticating factor.

Primary Actor

End User

Preconditions

User does not have an account

Postconditions

User is directed to the main page

Trigger

User selects create account

Basic Flow

User selects Create a new account option in the start screen. User then enters a unique username, and provides contact information and the user provides a password. The user information is then verified, and an account is created.

Alternate Flows

User does not enter a unique username. User decides to hit cancel button


(3.b) (EditProfile)

Use Case Description

As a user, I want to view and edit details on my profile

Primary Actor

User

Preconditions

A user must be logged in

Postconditions

Changes made to profile should be saved to the server

Trigger

User selects ‘Profile’ from the menu

Basic Flow

User wishes to edit their profile. User selects profile from the menu and is taken to a page where they can view profile details. The user selects then selects edit and is taken to a page where they can edit details of their profile. The user then selects save to save data to the server.

Alternate Flows

[optional] User does the above, but instead of selecting save, they select cancel. The changes are then not saved to the server.


(3.c) (ViewAnotherProfile)

Use Case Description

A User wants to view another person’s profile.

Primary Actor

User

Preconditions

The User is viewing a task of any kind.

Postconditions

The user is viewing the profile they select.

Trigger

The user clicks on the name of another user.

Basic Flow

The user is viewing a task and either selects the requester name or selects a bidder’s name from a list of bids.

Alternate Flows

N/A


(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

The User is viewing the list of tasks.

Postconditions

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

The user is viewing the task list, selects the filters option, enters they keywords they wish to filter the list for, and selects a status to filter for, then applies the filter. The list is now displayed with the correct filter.

Alternate Flows

The user is in the process of applying a filter and decides to cancel, the user hits back and the list remains as it was before the filter.


(4.b) (SearchByDistance)

Use Case Description

A User wants to filter the list of tasks by distance from them.

Primary Actor

User

Preconditions

The User is viewing the list of tasks.

Postconditions

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

The user is viewing the task list, selects the filters option, enters the range they wish to filter for, then applies the filter. The list is now displayed with the correct filter.

Alternate Flows

The user is in the process of applying a filter and decides to cancel, the user hits back and the list remains as it was before the filter.


(5.a) (Bid)

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

The user is currently viewing the details of a bid

Postconditions

A notification is sent to the requester, the task appears in the providers list

Trigger

The user chooses to add bid

Basic Flow

The user chooses to add bid The user is given a prompt to enter information (amount, optional description) User enters information Information valid Internal information is updated Return to main screen

Alternate Flows

[optional] 4. User enters invalid info 5. A prompt is shown 6. Return to 3


(5.b) (ViewMyBiddedTasks)

Use Case Description

A Provider wants to view tasks that they have bidded on.

Primary Actor

Provider

Preconditions

The provider is viewing the list of tasks.

Postconditions

The provider is viewing the list of tasks which they have previously bidded on.

Trigger

The user selects the “provider view” option.

Basic Flow

The provider is viewing the task list and selects the provider view option. The list now displays only the tasks which have been bidded on by the provider.

Alternate Flows

N/A


(5.c) (ViewMyTasksWhichHaveBids)

Use Case Description

A Requester wants to view tasks that they have bidded on.

Primary Actor

Requester

Preconditions

The requester is viewing the list of tasks.

Postconditions

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

The requester is viewing the task list and selects the requester view option. The list now displays only the tasks which have been requested by the requester, then he/she selects “filters” and applies the filter for status = bidded. The list now displays only the requesters tasks which have been bidded on.

Alternate Flows

The requester decides to cancel the search after going into requester view. They do not apply any filter or cancel a filter and the list remains a list of only requests made by the requester (not necessarily bidded on).


(5.d) (ViewBidsOnTask)

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 and has navigated to the lists of tasks and selected to view the details on one of the tasks.

Postconditions

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

The user clicks on bid list The list of bidders is shown

Alternate Flows

[optional] 3. The user hits the back button


(5.e) (AcceptBid)

Use Case Description

As a task requester, I want to accept a bid on one of my tasks

Primary Actor

Task Requester

Preconditions

The user is currently viewing the list of bidders

Postconditions

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

The user clicks on bid a prompt appears The user accepts bid The task is now assigned to the task provider and the state of the task has changed to accepted

Alternate Flows

[optional] 3. The user declines 4. The user clicks on another provider 5.The task is not assigned to the task provider and the state of the task has changed to accepted


(5.f) (DeclineBid)

Use Case Description

As a task requester, I want to decline a bid on one of my tasks

Primary Actor

Task Requester

Preconditions

The user is currently viewing the list of bidders

Postconditions

The bid no longer appears in the bid list

Trigger

The user has clicked on a bid

Basic Flow

The user clicks on bid a prompt appears The bid no longer appears in the list of bids

Alternate Flows

n/a


(6.a) (ViewMyAcceptedTasksAsProvider)

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 user is logged in. User has a filter selected for showing only active tasks

Postconditions

User is viewing active tasks

Trigger

User selects Task Performer from list of options after having a filter that only shows active tasks applied

Basic Flow

User selects from the list of options. User then selects on the filter option. THe user selections the active option. The user then selects on the Task performer option in the list of options. The task performers active jobs are then shown

Alternate Flows

Task performer may forget to filter tasks and would list all tasks, bids and previous jobs by the task performer


(6.b) (ViewMyAssignedTasksAsRequesters)

Use Case Description

As a Task Requester, I want to view a list of my tasks with status assigned

Primary Actor

Task Requester

Preconditions

User is on main section User is logged in

Postconditions

What postconditions must be met after this use case has ended

Trigger

What event triggers this use case

Basic Flow

User selects from the list of options. User then selects on the request view option. The task requesters tasks will be shown.

Alternate Flows

The task requester may filter the options which will alter the search results


(7.a) (ChangeStatusComplete)

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 User is on the main menu

Postconditions

Task requesters task will be changed status to completed

Trigger

Task requester selects edit option and changes status to completed

Basic Flow

User selects on the list of options. User then selects on the task requester option. The user selects the task they wish to update to completed. The user then edits the task to completed. The task will now be shown to be completed.

Alternate Flows

N/A


(7.b) (ChangeStatusNotComplete)

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 User is on the main menu

Postconditions

Task requesters task will be changed status to bidding

Trigger

Task requester selects edit option and changes status to bidding

Basic Flow

User selects on the list of options. User then selects on the task requester option. The user selects the task they wish to update to bidding. The user then edits the task to bidding. The task will now be shown to be bidding.

Alternate Flows

N/A


Clone this wiki locally