-
Notifications
You must be signed in to change notification settings - Fork 2
Use Cases
theresa-cy-ngo edited this page Nov 25, 2015
·
53 revisions
- UC-User
- UC-Inventory
- UC-Friends
- UC-Browse/Search Inventories of Friends
- UC-Trade with Friends
- UC-Photographs of Items
- UC-Offline Behaviour
- UC-Configuration
- UC-Top Traders
- UC-Item Cloning
1 | |
---|---|
Use Case Name | CreateAccount |
Participating Actors | Borrower or owner (primary) |
Goal | Borrower or owner has an account |
Trigger | Borrower or owner chooses the option to create an account |
Precondition | Borrower or Owner has the application and knows their information for creating a new account |
Postcondition | Borrower or Owner has an account and becomes a user of the application |
Basic Flow |
|
Exceptions | 2. If Borrower or Owner leaves one of the information blank or the username already exists 2.1. System displays an error message 2.2. System returns to step 1. |
Constraints | Username is unique |
Related Artifacts | 11.01.01 |
2 | |
---|---|
Use Case Name | Login |
Participating Actors | User |
Goal | User accesses the system |
Trigger | User requests to login |
Precondition | User has an account and is not logged into the system |
Postcondition | User is logged into the system |
Basic Flow |
|
Exceptions | 3. If username does not exist 3.1. System displays an error message 3.2. System returns to step 1 |
Extends | CreateAccount, Logout |
Related Artifacts | 11.02.01 |
3 | |
---|---|
Use Case Name | AddItem |
Participating Actors | Owner |
Goal | Owner adds a new item to their inventory |
Trigger | Owner chooses to add a new item to their inventory while viewing their inventory |
Precondition | Owner wants to add a new item and knows the information to be entered for it |
Postcondition | On success, the new item is added to the inventory |
Basic Flow |
|
Exceptions | 3. If Owner does not enter the item name 3.1. System shows an error message 3.2. System prompts Owner to enter a name |
Includes | SetItemVisibility, SetItemCategory |
Related Artifacts | 01.01.01 |
4 | |
---|---|
Use Case Name | EditItem |
Participating Actors | Owner |
Goal | Owner changes the inventory item information |
Trigger | Owner is viewing one of their own item's details and chooses to modify it |
Precondition | Owner knows the information to be modified |
Postcondition | On success, the new item information is updated |
Basic Flow |
|
Exceptions | 3. If Owner does not enter new information 3.1. System does not make any changes to the information 3.2. System returns to display the item's details |
Includes | SetItemVisibility, SetItemCategory |
Related Artifacts | 01.01.01, 01.04.01 |
5 | |
---|---|
Use Case Name | RemoveItem |
Participating Actors | Owner |
Goal | Owner deletes the inventory item |
Trigger | Owner chooses an item to be removed from the inventory |
Precondition | Owner knows the item to be deleted and it exists in the inventory |
Postcondition | On success, the item is removed from the owner's inventory |
Basic Flow |
|
Exceptions | 1. If the item is currently in a pending trade 1.1 The system declines the pending trade 1.2 The system removes the item from inventory |
Includes | DeclineTrade |
Related Artifacts | 01.01.01, 01.05.01 |
6 | |
---|---|
Use Case Name | ViewInventory |
Participating Actors | Owner |
Goal | Owner views their inventory and its details |
Trigger | Owner chooses the Inventory option from their profile |
Precondition | There are items in the owner's inventory |
Postcondition | On success, Owner’s list of inventory items are displayed |
Basic Flow | 1. System displays the list of items in the owner's inventory. |
Exceptions | 1. If there are no items in the owner's inventory 1.1 System returns an error message 1.2 System returns to the owner's Profile page |
Extends | ViewItem |
Related Artifacts | 01.02.01 |
7 | |
---|---|
Use Case Name | ViewItem |
Participating Actors | Owner |
Goal | Owner views an inventory item and its details |
Trigger | Owner chooses a specific item from their inventory to view |
Precondition | The item exists in the inventory and the owner knows the item to be viewed |
Postcondition | On success, the item's information is displayed |
Basic Flow | 1. System displays the item information. |
Exceptions | |
Related Artifacts | 01.03.01 |
8 | |
---|---|
Use Case Name | SetItemVisibility |
Participating Actors | Owner |
Goal | Owner sets whether or not the item will be publicly displayed |
Trigger | Owner chooses to edit or add an item |
Precondition | Item exists in the inventory and Owner knows what the visibility should be set as |
Postcondition | On success, the item's visibility will be set to public or private |
Basic Flow |
|
Exceptions | |
Related Artifacts | 01.03.01, 03.02.01 |
9 | |
---|---|
Use Case Name | SetItemCategory |
Participating Actors | Owner |
Goal | Owner selects a category for an item |
Trigger | Owner chooses to edit or add an item |
Precondition | Item exists in the inventory and the owner knows what category the item should be set as |
Postcondition | On success, the item will be placed in the chosen category |
Basic Flow |
|
Exceptions | |
Related Artifacts | 01.06.01 |
10 | |
---|---|
Use Case Name | SearchUsername |
Participating Actors | Owner |
Goal | Owner finds another user |
Trigger | Owner chooses the option to add a friend |
Precondition | Owner knows at least part of the username to be searched |
Postcondition | On success, a list of usernames matching the query is shown |
Basic Flow |
|
Exceptions | 3. If there are no users that match the query 3.1. System displays no users |
Related Artifacts | 02.01.01 |
11 | |
---|---|
Use Case Name | AddFriend |
Participating Actors | Owner (primary), User |
Goal | Owner adds User to their friend list |
Trigger | Owner chooses the Add Friend option while viewing the user's profile |
Precondition | User exists and is not already on the Owner's friend list |
Postcondition | On success, User is added to Owner’s friend list |
Basic Flow |
|
Exceptions | |
Related Artifacts | 02.02.01 |
12 | |
---|---|
Use Case Name | RemoveFriend |
Participating Actors | Owner (primary), User |
Goal | Owner removes User from their friend list |
Trigger | Owner chooses the user to be removed from their friend list |
Precondition | User is in the owner's friend list |
Postcondition | On success, User is removed from Owner’s friend list |
Basic Flow |
|
Exceptions | |
Related Artifacts | 02.03.01 |
13 | |
---|---|
Use Case Name | ViewPersonalProfile |
Participating Actors | Owner or Borrower |
Goal | Owner or Borrower views their personal profile |
Trigger | Owner or borrower chooses the Profile option |
Precondition | Owner or Borrower has an account |
Postcondition | On success, Owner or Borrower’s profile is displayed |
Basic Flow | 1. System displays the Owner or Borrower’s profile. |
Exceptions | |
Related Artifacts | 02.04.01 |
14 | |
---|---|
Use Case Name | ViewOtherProfile |
Participating Actors | Owner or Borrower (primary), User |
Goal | Owner or borrower views the profile of anyone they know of including friends |
Trigger | Owner or borrower chooses a name from a list of users |
Precondition | Owner or borrower can search for the user or has them on their friend list |
Postcondition | On success, User's profile is displayed |
Basic Flow |
|
Exceptions | |
Related Artifacts | 02.05.01 |
15 | |
---|---|
Use Case Name | SearchFriendInventory |
Participating Actors | Borrower |
Goal | Borrower can browse the inventory of their friend |
Trigger | Borrower chooses the Inventory option when viewing a friend's profile |
Precondition | Owner is a friend of Borrower, Owner's inventory exists, and Owner has some items set to be publicly visible |
Postcondition | On success, the owner's inventory information is displayed |
Basic Flow | 1. System displays Owner’s inventory of items that are publicly shared. |
Exceptions | 1. If no items are publicly shared or the owner does not have any items in their inventory 1.1 System displays no items |
Constraints | Borrower can only see friend(owner)'s items that are marked as public visibility |
Includes | BrowseInventoryByCategory, BrowseInventoryByTextQuery |
Related Artifacts | 03.01.01, 03.02.01 |
16 | |
---|---|
Use Case Name | BrowseInventoryByCategory |
Participating Actors | Borrower |
Goal | Borrower views a friend inventory by category |
Trigger | Borrower is viewing an inventory and chooses to search by category |
Precondition | Owner is a friend of Borrower, Owner's inventory exists, and Owner shares some of their items |
Postcondition | On success, the friend inventory information is displayed by category |
Basic Flow |
|
Exceptions | 3. If the owner has no items that are publicly shared in that category 3.1 System displays an error message and returns to the inventory page |
Constraints | Borrower can only see friend(owner)'s item marked as public |
Related Artifacts | 03.01.02, 03.02.01 |
17 | |
---|---|
Use Case Name | BrowseInventoryByTextQuery |
Participating Actors | Borrower |
Goal | Borrower views a friend inventory after entering a textual query |
Trigger | Borrower is viewing an inventory and chooses to search by name |
Precondition | Owner is a friend of Borrower, Owner's inventory exists, Owner shares some of their items, and Borrower knows part of the item name they want to search for |
Postcondition | On success, Borrower will view items in a friend inventory that matches the textual query |
Basic Flow |
|
Exceptions | 2. If the borrower does not enter any text 2.1 System displays an error message and returns to the inventory page 3. If the owner has no items that are publicly shared and matches the textual query 3.1 System displays an error message and returns to the inventory page |
Constraints | Borrower can only see friend(owner)'s item marked as public |
Related Artifacts | 03.01.03, 03.02.01 |
18 | |
---|---|
Use Case Name | OfferTradeWithFriends |
Participating Actors | Borrower (primary), Owner |
Goal | Borrower offers a trade with an owner, and the trade consists of an item from the owner’s inventory and 0 or more items from the borrower’s inventory |
Trigger | Borrower chooses the Trade option on an item in the owner’s inventory |
Precondition | The item to be traded exists in Owner’s inventory |
Postcondition | A trade request is sent to the owner |
Basic Flow |
|
Exceptions | |
Related Artifacts | 04.01.01 |
19 | |
---|---|
Use Case Name | GetTradeNotifications |
Participating Actors | Owner |
Goal | Owner receives the trade request notification |
Trigger | Borrower sends a trade request to Owner and Owner chooses to view their Offered Trades |
Precondition | A trade request exists |
Postcondition | The trade request is displayed to the owner |
Basic Flow |
|
Exceptions | |
Includes | |
Related Artifacts | 04.02.01 |
20 | |
---|---|
Use Case Name | AcceptTrade |
Participating Actors | Owner |
Goal | Owner accepts the trade |
Trigger | Owner receives the trade notification and chooses the trade from the list of Offered Trades. |
Precondition | The trade exists |
Postcondition | The trade is accepted |
Basic Flow |
|
Exceptions | |
Includes | EmailTradeInfo |
Related Artifacts | 04.03.01 |
21 | |
---|---|
Use Case Name | DeclineTrade |
Participating Actors | Owner |
Goal | Owner declines trade |
Trigger | Owner receives the trade notification and chooses the trade from the list of Offered Trades |
Precondition | The trade exists |
Postcondition | The trade is declined |
Basic Flow |
|
Exceptions | |
Includes | |
Related Artifacts | 04.03.01 |
22 | |
---|---|
Use Case Name | OfferCounterTrade |
Participating Actors | Owner |
Goal | Owner offers a counter trade initialized with the items of the suggested trade |
Trigger | Owner chooses to decline a trade |
Precondition | The trade exists |
Postcondition | The counter trade request is sent to Borrower |
Basic Flow |
|
Exceptions | |
Related Artifacts | 04.04.01 |
23 | |
---|---|
Use Case Name | EditTrade |
Participating Actors | Owner or borrower |
Goal | Owner or Borrower edits the trade information |
Trigger | Owner or Borrower chooses to edit a trade from a list of trades |
Precondition | The trade exists |
Postcondition | The trade information updates |
Basic Flow |
|
Exceptions | 4. If Owner or Borrower does not enter new information 4.1. System does not make any changes to the trade 4.2. System returns to step 1 |
Includes | |
Related Artifacts | 04.05.01 |
24 | |
---|---|
Use Case Name | DeleteTrade |
Participating Actors | Borrower |
Goal | Borrower deletes the trade |
Trigger | Borrower is making a trade and chooses to cancel it |
Precondition | The trade exists |
Postcondition | On success, the list of trades are updated |
Basic Flow |
|
Exceptions | |
Includes | |
Related Artifacts | 04.06.01 |
25 | |
---|---|
Use Case Name | EmailTradeInfo |
Participating Actors | Owner (primary), borrower |
Goal | Owner and borrower get emails of trade information |
Trigger | Owner chooses to accept trade |
Precondition | The trade exists and Owner chooses to accept the trade |
Postcondition | On success, Owner and Borrower get emails of trade information |
Basic Flow |
|
Exceptions | |
Includes | |
Related Artifacts | 04.07.01 |
26 | |
---|---|
Use Case Name | BrowsePastTrades |
Participating Actors | Owner or Borrower |
Goal | Owner or Borrower’s past trades are displayed |
Trigger | Owner or Borrower chooses to view their past trades |
Precondition | Owner or Borrower has past trades |
Postcondition | On success, Owner or Borrower’s past trades are displayed |
Basic Flow |
|
Exceptions | 1. If the owner or borrower has no past trades 1.1. System displays an error message and returns to main history |
Includes | |
Related Artifacts | 04.08.01, 04.09.01 |
27 | |
---|---|
Use Case Name | BrowseCurrentTrades |
Participating Actors | Owner or Borrower |
Goal | Owner or Borrower’s current trades are displayed |
Trigger | Owner or Borrower chooses to view their current trades |
Precondition | Owner or Borrower currently has trades pending or offered |
Postcondition | On success, Owner or Borrower’s current trades are displayed |
Basic Flow |
|
Exceptions | 1. If the owner or borrower has no current trades 1.1. System displays an error message and returns to main history |
Includes | |
Related Artifacts | 04.08.01, 04.09.01 |
28 | |
---|---|
Use Case Name | BrowseMySentTrades |
Participating Actors | Owner or Borrower |
Goal | Owner or Borrower’s trades that they offered are displayed |
Trigger | Owner or Borrower chooses to view their pending trades |
Precondition | Owner or Borrower has trades they have offered |
Postcondition | On success, Owner or Borrower’s trades that they offered are displayed |
Basic Flow |
|
Exceptions | 1. If the owner or borrower has no trades that they have offered 1.1. System displays an error message and returns to main trades |
Includes | |
Related Artifacts | 04.08.01, 04.09.01 |
29 | |
---|---|
Use Case Name | BrowseTradesOfferedToMe |
Participating Actors | Owner or Borrower |
Goal | Owner or Borrower’s trades that are offered to them are displayed |
Trigger | Owner or Borrower chooses to view the trades offered to them |
Precondition | Owner or Borrower has trades that were offered to them |
Postcondition | On success, Owner or Borrower’s trades that are offered to them are displayed |
Basic Flow |
|
Exceptions | 1. If the owner or borrower has no trades offered to them 1.1. System displays an error message and returns to main trades |
Includes | BrowseCurrentTrade, BrowsePastTrade |
Related Artifacts | 04.08.01, 04.09.01 |
30 | |
---|---|
Use Case Name | SetTradeToComplete |
Participating Actors | Owner |
Goal | Owner sets the trade to the completed status |
Trigger | Owner viewing the trade details and chooses to set the trade to complete |
Precondition | The trade exists and the owner and borrower have completed the trade |
Postcondition | On success, the trade is set to complete |
Basic Flow |
|
Exceptions | |
Related Artifacts | 04.10.01 |
31 | |
---|---|
Use Case Name | BrowseCompleteTrades |
Participating Actors | Owner or Borrower |
Goal | Owner or Borrower’s trades that were completed are displayed |
Trigger | Owner or Borrower can choose to view their completed trades |
Precondition | Owner or Borrower has completed trades |
Postcondition | On success, Owner or Borrower's completed trades are displayed |
Basic Flow |
|
Exceptions | 1. If the owner or borrower has no completed trades 1.1. System displays an error message and returns to the main history |
Includes | BrowsePastTrade |
Related Artifacts | 04.12.01 |
32 | |
---|---|
Use Case Name | AttachItemPhotograph |
Participating Actors | Owner |
Goal | Owner attaches a photograph to an item |
Trigger | Owner chooses to modify or add an item |
Precondition | Owner has a gallery and item photos on it |
Postcondition | On success, the item's photograph is attached to the item |
Basic Flow |
|
Exceptions | |
Constraints | Image file must be under 65536 bytes in size |
Related Artifacts | 06.01.01, 06.04.01 |
33 | |
---|---|
Use Case Name | ViewItemPhotograph |
Participating Actors | Owner |
Goal | Owner views the image attached to an item |
Trigger | Owner chooses an item to view |
Precondition | Item has photographs attached |
Postcondition | On success, the photograph of the item is displayed |
Basic Flow |
|
Exceptions | |
Extends | DeleteItemPhotograph |
Related Artifacts | 06.02.01 |
34 | |
---|---|
Use Case Name | DeleteItemPhotograph |
Participating Actors | Owner |
Goal | Owner deletes any attached photograph on an item |
Trigger | Owner chooses to modify or add an item |
Precondition | Item has photographs attached |
Postcondition | On success, item photographs are removed from the item details |
Basic Flow |
|
Exceptions | |
Related Artifacts | 06.03.01 |
35 | |
---|---|
Use Case Name | EnablePhotographDownload |
Participating Actors | User |
Goal | User is able to see item photographs |
Trigger | User chooses the Setting option |
Precondition | Item has photos |
Postcondition | On success, item photographs will be displayed |
Basic Flow |
|
Exceptions | |
Related Artifacts | 06.05.01, 10.01.01 |
36 | |
---|---|
Use Case Name | DisablePhotographDownload |
Participating Actors | User |
Goal | User becomes unable to see item photographs |
Trigger | User chooses the Setting option |
Precondition | Item has photos |
Postcondition | On success, item photographs will not be displayed |
Basic Flow |
|
Exceptions | |
Related Artifacts | 06.05.01, 10.01.01 |
37 | |
---|---|
Use Case Name | MakeInventoryItemsOffline |
Participating Actors | Owner |
Goal | Owner creates inventory items while offline, and pushes application and expenses information online once they get connectivity |
Trigger | Owner chooses to add a new item to their inventory |
Precondition | Owner has a new item to create, but does not have connectivity on their phone |
Postcondition | On success, item is added automatically once Owner gets connectivity |
Basic Flow |
|
Exceptions | |
Includes | AddItemToInventory |
Related Artifacts | 09.01.01 |
38 | |
---|---|
Use Case Name | MakeTradeOffline |
Participating Actors | Borrower |
Goal | Borrower requests a trade offline and the system sends the request online once the borrower gets connected |
Trigger | Borrower chooses to make a trade while they are not connected |
Precondition | Borrower would like to make a trade request with a friend, borrower knows what item they would like from their friend, and the borrower is not connected |
Postcondition | On success, the trade request is made once the borrower is online |
Basic Flow |
|
Exceptions | 2. If the owner removes the item while the borrower is offline 2.1 System displays an error message to the borrower 2.2 System removes the trade from the borrow's pending trades |
Includes | OfferTradeWithFriends, DeleteTrade |
Related Artifacts | 09.02.01 |
39 | |
---|---|
Use Case Name | BrowseFriendInventoryOffline |
Participating Actors | Borrower |
Goal | Owner is able to view friend inventories offline that have been previously viewed while online |
Trigger | Owner chooses to view a friend inventory |
Precondition | Owner has viewed the inventory before and the system has the inventory cached in its memory |
Postcondition | On success, the owner sees their friend’s inventory list |
Basic Flow |
|
Exceptions | |
Related Artifacts | 09.03.01 |
40 | |
---|---|
Use Case Name | EditProfile |
Participating Actors | User |
Goal | User changes their profile information |
Trigger | User chooses the option to edit their profile |
Precondition | User has an account and knows the information they want to change |
Postcondition | On success, the user’s profile information is changed |
Basic Flow |
|
Exceptions | 3. If the user does not enter new information 3.1. System does not make any changes to the information 3.2. System returns to display the user's profile |
Extends | ViewPersonalProfile |
Related Artifacts | 10.02.01 |
41 | |
---|---|
Use Case Name | ViewTopTraders |
Participating Actors | User |
Goal | User views the top traders on their friend list |
Trigger | User chooses to view the top traders in their friend list |
Precondition | User has friends and the user's friends have made trades |
Postcondition | On success, the user's top traders are displayed |
Basic Flow |
|
Exceptions | 1. If the user has no friends on their friend list 1.1. System displays and error message and returns to the user's friend list |
Related Artifacts | 12.01.01 |
42 | |
---|---|
Use Case Name | CloneItem |
Participating Actors | Owner |
Goal | Owner clones another user's item into the owner's inventory |
Trigger | Owner chooses to clone an item while viewing another user's item |
Precondition | Owner owns the item and User has the item set to be viewed publicly |
Postcondition | On success, the owner has the cloned item in their inventory |
Basic Flow |
|
Exceptions | |
Related Artifacts | 13.01.01 |