Use Cases - CMPUT301F16T18/Unter GitHub Wiki
| Item | Description |
|---|---|
| Title | RiderRequestsRide |
| Primary Actor | Rider |
| Goal | Request rides between two locations |
| Trigger | The rider clicks the request ride button |
| Precondition | The rider knows the pickup location and destination |
| Postcondition | On success the rider sends a ride request |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 1.6, UC 10.1 |
| Related User Stories | US 01.01.01, US 01.06.01, US 10.01.01 |
| Test Cases | RM1 RM4 A1 |
| Item | Description |
|---|---|
| Title | RiderChecksRequests |
| Primary Actor | Rider |
| Goal | See current open requests |
| Trigger | The user clicks the view current requests button |
| Precondition | The user has open requests and would like to see them |
| Postcondition | On success, the user sees a list of their open requests |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 2.1 |
| Related User Stories | US 01.02.01, US 02.01.01 |
| Test Cases | RM2 A2 |
| Item | Description |
|---|---|
| Title | NotifyRiderRequestAccepted |
| Primary Actor | Rider |
| Goal | Notify rider request is accepted |
| Trigger | The driver accepts ride request |
| Precondition | The rider already requests a ride |
| Postcondition | On success the rider may see a message that indicates the request has been accepted by the driver |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 5.1 |
| Related User Stories | US 01.03.01, US 05.01.01 |
| Test Cases | A1 |
| Item | Description |
|---|---|
| Title | RiderCancelRequest |
| Primary Actor | Rider |
| Goal | The rider can cancel a previously made request |
| Trigger | The rider clicks the cancel request button of the corresponding request |
| Precondition | The rider already send a request and would like to cancel it |
| Postcondition | On success the request will be cancel |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 1.2 |
| Related User Stories | US 01.02.01, US 01.04.01 |
| Test Cases | RM3 RM1 |
| Item | Description |
|---|---|
| Title | RiderContactsDriver |
| Primary Actor | Rider |
| Goal | Call or email the driver who accepted a request |
| Trigger | The rider clicks the contact driver button |
| Precondition | The rider already request a drive and the request has been accepted, also the rider would like to contact the driver |
| Postcondition | On success the rider may talk or send an email to the driver |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 1.2, UC 3.1, UC 3.3 |
| Related User Stories | US 01.02.01, US 01.05.01, US 03.01.01, US 03.03.01 |
| Test Cases | RM1 UM2 A2 |
| Item | Description |
|---|---|
| Title | RiderConfirmsComplete |
| Primary Actor | Rider |
| Goal | Confirm completion of request and pay |
| Trigger | The rider clicks the complete request button |
| Precondition | The rider arrives at the destination, and would like to complete the order |
| Postcondition | On success the rider confirmed the request, and the driver gets the money |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 1.2, UC 1.7 |
| Related User Stories | US 01.02.01, US 01.06.01, US 01.07.01 |
| Test Cases | RM1 RM5 |
| Item | Description |
|---|---|
| Title | RiderConfirmDriver |
| Primary Actor | Rider |
| Goal | Confirm driver's acceptance; rider can choose if there are more than one drivers accept the request |
| Trigger | The rider selects one of those drivers |
| Precondition | The rider already sent a request, and there are more than one driver accepts simultaneously |
| Postcondition | On success the rider accepts the request |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 1.2 |
| Related User Stories | US 01.08.01 |
| Test Cases | RM6 RM1 |
| Item | Description |
|---|---|
| Title | RiderGetVehicleDescription |
| Primary Actor | Rider |
| Goal | The rider is provided with the description of their driver's vehicle |
| Trigger | The rider chooses to display their driver's vehicle description |
| Precondition | A driver accepts the rider's request and the rider makes confirmation |
| Postcondition | On success, the rider is provided with the details of the driver's vehicle |
| Basic Flow | |
| Exceptions |
|
| Related Use Cases | UC 1.6, UC 2.3, UC 5.1 |
| Related User Stories | US 01.02.01, US 01.06.01, US 01.07.01, US 01.09.01, US 4.01.01, US 04.02.01, US 05.01.01 |
| Test Cases | A2 |
| Item | Description |
|---|---|
| Title | ShowUserProfile |
| Primary Actor | User |
| Goal | User's profile is displayed |
| Trigger | The user clicks the view profile button |
| Precondition | The user would like to look at his profile |
| Postcondition | On success the user may see his username and contact information |
| Basic Flow |
|
| Exceptions |
|
| Related User Stories | US 03.01.01 |
| Test Cases | UM2 |
| Item | Description |
|---|---|
| Title | EditUserProfile |
| Primary Actor | User |
| Goal | The use would like to edit his profile |
| Trigger | The user clicks the save button at the profile page |
| Precondition | The user would like to edit his contact information, and he already opens the user profile page |
| Postcondition | On success the user's contact information should be changed |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 2.1 |
| Related User Stories | US 03.01.01, US 03.02.01 |
| Test Cases | UM1 UM2 |
| Item | Description |
|---|---|
| Title | ProvideVehicleDetails |
| Primary Actor | User |
| Goal | The use would like to add the details of their vehicle |
| Trigger | The user inputs their data and clicks the save button on the Vehicle Details page |
| Precondition | The user would like to upload their vehicle details and already has a profile |
| Postcondition | On success the user's vehicle details should be changed |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 2.1, UC 2.2, UC 1.8 |
| Related User Stories | US 1.09.01, US 03.01.01, US 03.02.01 |
| Test Cases | A7 |
| Item | Description |
|---|---|
| Title | BrowseByLocation |
| Primary Actor | Driver |
| Goal | Browse and search for requests by location |
| Trigger | The driver clicks the search by geo-location button |
| Precondition | The driver would like to browse and search for open requests by geo-location, and there is open request exist. |
| Postcondition | On success the driver may see a list of matching requests |
| Basic Flow |
|
| Exceptions |
|
| Related User Stories | US 04.01.01 |
| Test Cases | A4 RM1 |
| Item | Description |
|---|---|
| Title | BrowseByKeyword |
| Primary Actor | Driver |
| Goal | Browse and search for requests by keyword |
| Trigger | The driver clicks the search by keyword button |
| Precondition | The driver would like browse and search for open requests by keywords |
| Postcondition | On success the driver may see a list of matching requests |
| Basic Flow |
|
| Exceptions |
|
| Related User Stories | US 04.02.01 |
| Test Cases | A4 RM1 |
| Item | Description |
|---|---|
| Title | FilterByPrice |
| Primary Actor | Driver |
| Goal | Filter the request search result |
| Trigger | The driver clicks the filter button |
| Precondition | The driver would like browse and search for open requests by a specified price range, and already have search result |
| Postcondition | On success the driver may see a list of matching requests |
| Basic Flow |
|
| Exceptions |
|
| Related User Stories | US 04.03.01 |
| Test Cases | A4 |
| Item | Description |
|---|---|
| Title | BrowseByAddress |
| Primary Actor | Driver |
| Goal | Browse and search for requests by a given address |
| Trigger | The driver clicks the search by address button |
| Precondition | The driver would like browse and search for open requests matching a specified address |
| Postcondition | On success the driver may see a list of matching requests |
| Basic Flow |
|
| Exceptions |
|
| Related User Stories | US 04.04.01 US 04.05.01 |
| Test Cases | A4 |
| Item | Description |
|---|---|
| Title | AcceptRequest |
| Primary Actor | Driver |
| Goal | As a driver, accept a request |
| Trigger | The driver clicks the accept request button. |
| Precondition | The driver would like to accept the request and agrees to the terms (ie. fare, distance, etc.) |
| Postcondition | On success, the driver can see that they have accepted the request and a notification is sent to the rider: UC 1.3. |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 4.1, UC 4.2 |
| Related User Stories | US 4.01.01, US 04.02.01, US 05.01.01 |
| Test Cases | RM7 RM1 |
| Item | Description |
|---|---|
| Title | ViewAccepted |
| Primary Actor | Driver |
| Goal | View list of accepted requests with descriptions and locations |
| Trigger | The driver presses view accepted requests button |
| Precondition | The driver wishes to view one (or all) of their accepted requests |
| Postcondition | On success, the driver is provided a list of their accepted requests, with their details, as per UC2.1.1 |
| Basic Flow |
|
| Exceptions |
|
| Related User Stories | US 05.02.01 |
| Test Cases | RM1 |
| Item | Description |
|---|---|
| Title | ViewRiderAcceptance |
| Primary Actor | Driver |
| Goal | See if a rider accepted the driver's offer |
| Trigger | The rider accepted the driver |
| Precondition | The driver accepted a request |
| Postcondition | On success, the driver gets a notification and must now fulfill their commitment |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 5.1, UC 5.4, UC 1.7, UC 1.3 |
| Related User Stories | US 01.03.01, US 01.08.01, US 05.01.01, US 05.03.01 |
| Test Cases | RM1 |
| Item | Description |
|---|---|
| Title | NotifyDriverAccepted |
| Primary Actor | Driver |
| Goal | Notify driver if ride offer was accepted |
| Trigger | The rider accepted the driver's offer as per UC 1.8 |
| Precondition | The driver accepted a request and the rider agrees to their offer |
| Postcondition | On success, the driver may see a message that indicates they have been selected |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 5.1, UC 5.3, UC1.3, UC 1.7 |
| Related User Stories | US 01.03.01, US 01.08.01, US 05.01.01, US 05.03.01 |
| Test Cases | A5 |
| Item | Description |
|---|---|
| Title | ViewAcceptedOffline |
| Primary Actor | Driver |
| Goal | See previously accepted requests when offline |
| Trigger | The driver clicks view accepted requests button |
| Precondition | The driver is offline and wishes to view their accepted request(s) |
| Postcondition | On success, the driver can view a request they have accepted (while previously online) as per UC2.1.1 |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 5.2 |
| Related User Stories | US 05.02.01, US 08.01.01 |
| Test Cases | U1 A6 |
| Item | Description |
|---|---|
| Title | ViewRequestsOffline |
| Primary Actor | Rider |
| Goal | View previously made requests when offline |
| Trigger | Rider presses view current requests button while offline |
| Precondition | The rider is offline and wishes to view their requests made while previously online |
| Postcondition | On success, the offline rider should see the requests they made while online |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 1.2 |
| Related User Stories | US 01.02.01, US 08.02.01 |
| Test Cases | U1 A2 |
| Item | Description |
|---|---|
| Title | RequestUponReconnect |
| Primary Actor | Rider |
| Goal | Make requests while offline that will be sent once reconnected |
| Trigger | The rider sends a request while disconnected. |
| Precondition | While offline, the rider generates and sends a request |
| Postcondition | On success, the generated request should send automatically upon reconnecting |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 1.1 |
| Related User Stories | US 01.01.01, US 01.06.01, US 08.03.01, US 10.01.01 |
| Test Cases | U1 |
| Item | Description |
|---|---|
| Title | AcceptRequestUponReconnect |
| Primary Actor | Driver |
| Goal | Accept requests while offline that will be sent once reconnected |
| Trigger | The driver presses the accept button while offline |
| Precondition | The driver is offline and accepts a ride request |
| Postcondition | On success, the acceptance will be sent automatically upon reconnecting |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 5.1 |
| Related User Stories | US 04.01.01, US 04.02.01, US 05.01.01, US 08.04.01 |
| Test Cases | U1 |
| Item | Description |
|---|---|
| Title | SpecifyStartEnd |
| Primary Actor | Rider |
| Goal | Specify start and end locations on a map for a request |
| Trigger | The rider clicks the select start/end buttons |
| Precondition | The rider generates a request |
| Postcondition | On success, the rider should be able to specify their desired start/end and should be able to review the locations before sending request |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 1.1 |
| Related User Stories | US 01.01.01, US 01.06.01, US 10.01.01 |
| Test Cases | A1 |
| Item | Description |
|---|---|
| Title | ViewStartEnd |
| Primary Actor | Driver |
| Goal | View start and end locations on a map for a request |
| Trigger | The driver opens the request to see its details |
| Precondition | The driver searches for ride requests and selects one |
| Postcondition | On success, the driver should see, on a map, the start and end locations of the request |
| Basic Flow |
|
| Exceptions |
|
| Related Use Cases | UC 4.1, UC 4.2 |
| Related User Stories | US 04.01.01, US 04.02.1, US 10.02.01 |
| Test Cases | A1 |