Skip to content

Requirements Specification

Daniel Haberstock edited this page Feb 14, 2018 · 28 revisions

Inventory

US01.01.01: As an owner, I want to remove, edit, or add an item to my inventory that I want to share. It will have a name, quantity, quality, category, if I want to share it with others, and comments. | US01.06.01 As an owner, I want the category for an item to be one of 10 relevant categories for Vehicles.

Use Case 1: Add Item
Category Description
Participating Actors Owner
Goal Add an item to inventory
Trigger Owner has an item that they would like to trade
PreCondition Owner knows name, quantity, quality, category, shareable status, and comments for an item
PostCondition Item is added to an Owner’s inventory list.
Flow 1. Owner indicates that they would like to add an item
2. System prompts for Name, Quantity, Quality, Category Selection, Shareable status, and Comments
3. Owner will enter details of the item
4. System will save details and add item to Owner’s inventory list
Exceptions 3. Owner does not fill out mandatory fields
3.1 System prompts again for details
3.2 Owner enters details
3.3 System saves details
4. System is unable to save
4.1Item is not stored, and presents error to owner
Includes Browse Inventory
Extends
Related Artifacts
Test Cases
  1. MainMenuTest

US01.02.01: As an owner, I want to view my inventory and its details.

Use Case 2: Browse Inventory
Category Description
Participating Actors Owner
Goal View a list of inventory
Trigger Owner wants to see what items they have, and details about them
PreCondition Owner needs to have items in their inventory
PostCondition On success, inventory displayed for owner to see details of their belongings
Flow 1. Owner Opens app
2. Owner requests information from system
3. System requests information from external database
4. System displays inventory contents
Exceptions 4.1 If owner has an empty inventory, nothing is displayed
Includes
Extends
Related Artifacts
Test Cases
  1. MainMenuTest

US01.03.01: As an owner, I want to view each of my inventory items.

Use Case 3: View Item
Category Description
Participating Actors Owner
Goal Owner is able to see the detailed attributes of an item in their inventory
Trigger Owner selects to see details of an item in their inventory
PreCondition Owner holds an item in their inventory and is aware of which item they would like to view
PostCondition System displays attributes of item.
Flow 1. Owner selects item from inventory
2. System gets information from database
3. System displays information about the item
Exceptions 2.1 Database fails to fetch item
2.2 item is not displayed
Includes
Extends Browse Inventory
Related Artifacts
Test Cases
  1. MainMenuTest

US01.03.01: As an owner, not every item in my inventory will be shared or listed. Items that are not to publicly shared will not be. As an owner, I might use them for trades.

Use Case 4: Set Public
Category Description
Participating Actors Owner
Goal Owner can hide items from borrowers, but use them to trade
Trigger Owner does not want to openly list an item for trade
PreCondition Has an item to hide
PostCondition Owner has an item hidden from others, but still tradeable
Flow 1. Owner navigates inventory list
2. Owner selects item to hide
3. System sets item to hidden
Exceptions
Includes
Extends
Related Artifacts

US01.04.01: As an owner, I want to edit and modify inventory items.

Use Case 5: Modify Items
Category Description
Participating Actors Owner
Goal Change details about inventory items
Trigger Owner wants to edit item information
PreCondition Owner has at least one item
PostCondition Item description and details are updated
Flow 1. Owner selects an item to update
2. System prompts Owner to edit existing information
3. Owner inputs new information
4. System updates and displays new info
Exceptions 2.1 Owner cancels modification
2.2 System closes prompt and does not edit data
4.1 System fails to save new data
4.2 System restores previous data
Includes
Extends
Related Artifacts
Test Cases
  1. MainMenuTest

US01.05.01: As an owner, I want to delete inventory items.

Use Case 6: Delete Item
Category Description
Participating Actors Owner
Goal Remove item from inventory list
Trigger Owner chooses delete option of item
PreCondition Owner has an item and has selected the item
PostCondition On success, item is removed
Flow 1. Owner chooses delete option
2. System asks Owner to confirm
3. Owner confirms or cancels
4. System deletes item
Exceptions 4.1 System fails to delete item
4.2 Owner is notified
Includes
Extends
Related Artifacts

US01.07.01: As an owner, I want the entry of an item to have minimal required navigation in the user interface. It must be easy to describe an item.

Use Case 7: Minimum Navigation
Category Description
Participating Actors Owner
Goal Owner completes desired action with minimal action
Trigger Owner chooses to add a new item
PreCondition Owner is aware of the app and has knowledge of what they want to accomplish
PostCondition Owner adds an item with minimal navigation
Flow 1. Owner selects to add an item
2. System prompts Owner for information
3. Owner enters information
4. System saves item
Exceptions 4.1 System fails to save item
4.2 System notifies owner
4.3 Owner dismisses notification
4.4 Nothing is saved
Includes Modify Items
Extends
Related Artifacts

Friends

US02.01.01: As an owner, I want to track people I know. Adding a textual username should be enough.

Use Case 8: Find User
Category Description
Participating Actors Owner
Goal Owner will have a user name, and can find others
Trigger Owner chooses to search for friends option
PreCondition Owner knows the username
PostCondition On success, you will track that person
Flow 1. Owner chooses to search for users
2. System prompts Owner for username
3. Owner enters a username
4. System displays list of users with matching user names
5. Owner selects a user
6. System displays user information
Exceptions 4.1 No matches to that username
4.2 System displays no users
Includes
Extends
Related Artifacts
Test Cases
  1. MainMenuTest

US02.02.01: As an owner, I want to add friends

Use Case 9: Add Friend
Category Description
Participating Actors Owner, User
Goal Add friends to friend list
Trigger Owner searches for user and clicks to add them
PreCondition Owner has to have knowledge of a partial username
PostCondition Owner creates a friend request
Flow 1. Owner searches for user
2. System displays matching users in a list
3. Owner selects a user
4. System displays user profile
5. Owner clicks add friend
6. System sends friend request
Exceptions 8.1 If there is a pre-existing request from said friend, the Owner and other User become mutually friends
Includes
Extends Find User
Related Artifacts Friend
Test Cases
  1. MainMenuTest

US02.03.01: As an owner, I want to remove friends

Use Case 10: Remove Friend
Category Description
Participating Actors Owner
Goal Remove friends from friend list
Trigger Owner chooses remove friend option from friend list
PreCondition Owner has at least one friend
PostCondition Owner is is no longer friends with the user
Flow 1. Owner selects friend
2. System displays friend
3. Owner clicks to remove friend
4. System asks Owner to confirm
5. System removes user from Owners friend list
Exceptions 5.1. Friend no longer exists
5.2. System notifies Owner
Includes
Extends
Related Artifacts

US02.04.01: As an owner or borrower, I will have a profile where by my contact information and city are recorded.

Use Case 11: User Profile
Category Description
Participating Actors Owner
Goal Owner has a profile to keep contact information
Trigger Owner signs up for the app
PreCondition Owner has an account (account and profile are a one to one relationship
PostCondition Owner has a profile including contact information
Flow 1. Owner chooses to sign up for app
2. System displays sign up page
3. Owner enters contact information and location
4. System asks Owner to confirm
5. System creates user an account including profile
Exceptions 3.1 Owner enters invalid information or skips required field
3.2 System asks user to re-enter invalid or missing info
Includes
Extends
Related Artifacts
Test Cases
  1. MainMenuTest

US02.05.01: As an owner or borrower, I will be able to view the profile of anyone I know of including friends.

Use Case 12: View Profiles
Category Description
Participating Actors Owner
Goal View profile of other users
Trigger Owner selects a user to view profile
PreCondition Owner knows the user name or has the user added
PostCondition System presents owner with the users profile
Flow 1. Owner searches users or selects friend
2. System presents list of users
3. Owner selects user
4. System displays profile
Exceptions 1.1 No users match the search
1.2 System displays no users to choose from
Includes Find User, User Profile
Extends User Profile
Related Artifacts
Test Cases
  1. MainMenuTest

Browse & Search Inventories of Friends

US03.01.01: As a borrower, I want to search the inventories of my friends. | US03.01.03: As an borrower, I want to search/browse the inventories of my friends by textual query. | US03.01.02: As an borrower, I want to search/browse the inventories of my friends by category.

Use Case 13: Search Friends Inventory
Category Description
Participating Actors Owner, Friend
Goal Owner is able to textually or categorically search items contained in inventories of their Friends
Trigger Owner initiates search for items in friends’ inventories
PreCondition Owner is aware of the textual query or category they would like to search for
PostCondition System displays information based on the query content
Flow 1. Owner indicates they would like to search their friends’ inventory
2. System prompts for either textual query or category of vehicle
3. Owner enters textual query or category of vehicle
4. System searches Friends’ inventories and displays items matching query
Exceptions 4. Nothing is found
4.1 System displays message indicating nothing was found
Includes
Extends
Related Artifacts
Test Cases
  1. MainMenuTest

US03.02.01: As an owner, any of my publicly shared items will be browseable / searchable by my friends.

Use Case 14: Make Items Visible
Category Description
Participating Actors Owner, Friends
Goal Public items are visible to Owner’s friends
Trigger One of Owner’s friends indicates they would like to view inventory OR One of Owner’s friends searches for a query that matches something in Owner’s inventory
PreCondition Owner has public items in their inventory
PostCondition Owner’s friend is able to view items from inventory
Flow 1. Owner’s friend either searches or indicates intent to view Owner’s inventory
2. System selects items from my inventory that (match query if searching and) are public and displays them
Exceptions 2. Owner has no public items
2.1 a) If search was performed, no results from Owner’s inventory are displayed
2.1 b) If viewing inventory, no items are displayed.
Includes
Extends
Related Artifacts
Test Cases
  1. MainMenuTest

Trade with Friends

US04.01.01: As an borrower, I want to offer a trade with a friend. A trade will consist of an item from the owner's inventory and 0 or more items from the borrower's inventory.

Use Case 15: Trade With Friend
Category Description
Participating Actors Borrower, Friend
Goal Borrower offers friend a deal to borrow one of the items they have in their inventory
Trigger Borrower offers a trade to their friend for an item they are interested in.
PreCondition Borrower finds item in friend’s inventory that they would like to borrow and has an item they are willing to trade
PostCondition Request is sent to Friend to take part in the trade
Flow 1. Borrower indicates they would like to borrow an item from a friend’s inventory.
2. System acknowledges intent and prompts borrower to develop a trade offer
3. Borrower chooses item(s) from their own inventory to offer in trade
4. System logs trade and sends notification to the Friend
Exceptions
Includes Notify
Extends
Related Artifacts
Test Cases
  1. TradeTest

US04.02.01: As an owner, when a borrower offers a trade I will be notified of the trade.

Use Case 16: Notify
Category Description
Participating Actors Owner, Borrower
Goal Owner will know if they are offered a trade
Trigger Trade offer occurs for something in the owner’s inventory
PreCondition The Owner has things in their inventory of use or interest to the Borrower
PostCondition The Owner is aware that an offer has been made for an item in their inventory
Flow 1. Borrower makes an offer to the Owner for an item in their inventory
2. System acknowledges the offer and notifies the Owner of the presence of the trade
Exceptions
Includes Trade With Friend
Extends
Related Artifacts

US04.03.01: As an owner, I can accept or decline a trade.

Use Case 17: Respond To Trade
Category Description
Participating Actors Owner
Goal Owner will make their intentions about continuing with a trade clear
Trigger Owner indicates agreement or disagreement with trade offer
PreCondition Owner is aware of how they feel about a trade offer
PostCondition Offer is accepted or declined and the result is made clear
Flow 1. System presents trade offer to the user
2. User makes decision on whether or not to accept the trade offer and indicates their decision
3. The system acknowledges the decision and notifies all parties.
Exceptions
Includes Trade With Friend
Extends
Related Artifacts
Test Cases
  1. TradeTest

US04.04.01: As an owner, upon declining a trade I can offer a counter trade initialized with the items of the declined trade.

Use Case 18: Counter A Trade
Category Description
Participating Actors Owner, Friend
Goal Owner wants to counter-offer a trade proposed by their Friend
Trigger Owner indicates they would like to send a trade back in response to a declined trade from a friend
PreCondition Owner is unhappy with the initial trade terms, but feels it could be made to work
PostCondition A counter-offer is sent to a Friend.
Flow 1. Owner declines an offer sent by a friend.
2. System acknowledges declination and initializes counter trade with items from previous trade instance
3. Owner edits counter trade offer
4. System sends notification to the Friend and logs the trade
Exceptions
Includes Trade With Friend
Extends Respond To Trade
Related Artifacts
Test Cases
  1. TradeTest

US04.05.01: As a borrower or owner, when composing a trade or counter-trade I can edit the trade.

Use Case 19: Edit Trade
Category Description
Participating Actors User
Goal Edit a trade that is in progress of being proposed
Trigger User indicates they would like to edit information before final proposal
PreCondition User is unhappy with something in the trade and would like to change information
PostCondition Trade’s information is changed to better suit the user’s desires
Flow 1. While composing trade, user indicates that they desire to change some of the information in the trade
2. The system prompts them to edit the information for the trade
3. The user enters (changes) the information that they would like to edit
4. The system saves the information to the trade’s instance
Exceptions
Includes
Extends Trade With Friend
Related Artifacts
Test Cases
  1. TradeTest

US04.06.01: As a borrower, when composing a trade or counter-trade I can delete the trade

Use Case 20: Delete Trade
Category Description
Participating Actors Borrower
Goal Delete a trade that is being proposed
Trigger A borrower indicates they would like to delete a proposed trade
PreCondition Borrower is aware of the fact that they would like to cancel it
PostCondition The trade is cancelled
Flow 1. Borrower indicates they would like to cancel a pending trade they are entering information into
2. System acknowledges delete and asks for confirmation
3. Borrower confirms
4. The trade is deleted from the system.
Exceptions
Includes Trade With Friend
Extends
Related Artifacts
Test Cases
  1. TradeTest

US04.07.01: As an owner, if I accept a trade both parties will be emailed all trade and item information relevant to the trade, as well owner comments for how to continue on with the trade.

Use Case 21: Email Parties
Category Description
Participating Actors Owner, Friend
Goal Owner and Friend are both notified of a successful trade by email
Trigger An Owner accepts a trade
PreCondition Owner desires to accept a trade that is offered to them
PostCondition Owner and Friend are notified of success and the instructions of how to continue
Flow 1. Owner accepts trade that is offered to them
2. System acknowledges acceptance of trade and prompts Owner for additional instructions
3. Owner enters information about how to complete the trade
4. The system sends an email with this information to the Owner and to the Friend.
Exceptions
Includes Trade With Friend
Extends Respond To Trade
Related Artifacts
Test Cases
  1. TradeTest

US04.08.01: As an owner or borrower, I can browse all past and current trades involving me | US04.09.01: As an owner or borrower, I can browse all past and current trades involving me as either borrower or owner. I should look at my trades and trades offered to me.

Use Case 22: See Trades
Category Description
Participating Actors User
Goal User is able to view all trades that involve them
Trigger User indicates they would like to view a list of the trades that involve them
PreCondition User has trades that they are involved in
PostCondition User is able to view a list of the trades they are involved in
Flow 1. User indicates to system that they would like to view a list of the trades they are involved in
2. System fetches and displays all trades that the user was involved in, divided by category of trade
Exceptions 2. The user has not been involved in any trades
2.1 The system presents a user with an error and exits
Includes
Extends
Related Artifacts
Test Cases
  1. TradeTest

US04.10.01: As an owner, I can set a trade to complete when the borrower returns the item and the item is now available again.

Use Case 23: Complete Trade
Category Description
Participating Actors Owner
Goal Owner can set an item to be available again for trading or borrowing
Trigger Owner finds trade and sets that trade to completed
PreCondition Owner has previously borrowed an item and has since been returned by borrower
PostCondition Owner's item is in their inventory and can be traded or borrowed again
Flow 1. Owner indicates to system that they would like to view a list of the trades they are involved in
2. System fetches and displays all trades that the user was involved in
3. Owner selects trade they want to set as completed and then selects option to complete trade
Exceptions 2. The owner has not been involved in any trades
2.1 The system presents owner with an error and exits
Includes
Extends
Related Artifacts

US04.11.01: As an owner or borrower, a trade is considered current and in-progress when the item is borrowed. | US04.12.01: As an owner or borrower, I should be able to browse in-progress trades, and complete trades.

Use Case 24: Trade Status
Category Description
Participating Actors Owner, Borrower
Goal Owner/Borrower can see current and complete trades
Trigger Owner/Borrower wants to see current or complete trades
PreCondition Owner/Borrower has items that have been traded and/or are being traded
PostCondition Owner/Borrower sees the current and complete trades
Flow 1. Owner indicates to system that they would like to view a list of current or completed trades
2. System fetches and displays the relevant list of trades
Exceptions 2. The owner does not have any current or complete trades
2.1 The system presents owner with an error and exits
Includes
Extends
Related Artifacts

Photographs of Items

US06.01.01: As an owner, I want to optionally attach photographs of items to the item. Photos are optional for items.

Use Case 25: Add Photo
Category Description
Participating Actors Owner
Goal A photo describing the item that is available is added to its file
Trigger Owner indicates they would like to add a photo to an item
PreCondition Owner knows which item they would like to add a photo to and has a photo or the ability to take a photo
PostCondition The item has a photo added to it
Flow 1. Owner indicates they would like to add a photo to an item
2. System prompts the owner to take or upload a photo
3. Owner chooses or takes a photo for the item
4. System saves photo to the item’s file
Exceptions 4. Image is too large
4.1 The system throws an error to the owner
4.2 The owner responds to the error
4.3 Nothing is added and system exits
Includes
Extends
Related Artifacts
Test Cases

US06.02.01: As an owner, I want to view any attached photograph for an item.

Use Case 26: View Photo
Category Description
Participating Actors Owner
Goal Owner is able to view photos of an item
Trigger Owner indicates they would like to view photos of an item
PreCondition Owner is aware of which item they would like to view photos for
PostCondition Owner is able to view pictures that are displayed
Flow 1. Owner selects item for which they would like to view photos
2. System fetches and displays all photos for an item
Exceptions 2. No photos exist
2.1 System generates an error for the owner
Includes
Extends
Related Artifacts
Test Cases

US06.03.01: As an owner, I want to delete any attached photograph receipt on an item, so that unclear images can be re-taken.

Use Case 27: Delete Photo
Category Description
Participating Actors Owner
Goal Delete image from item
Trigger Owner indicates they would like to delete an image
PreCondition Owner is unhappy with an image and is aware of which image to delete
PostCondition The picture is no longer available on the item
Flow 1. Owner indicates they would like to remove an image from an item
2. The system asks for confirmation
3. The Owner confirms their intent
4. The system removes the photo and leaves the option for a new photo to be re-added
Exceptions 3. The Owner does not confirm their intent
3.1 The system takes no action
4. System is unable to delete photo
4.1 Photo remains and the system notifies the Owner
Includes
Extends
Related Artifacts
Test Cases

US06.04.01: As a sysadmin, I want each receipt image file to be under 65536 bytes in size.

Use Case 28: Restrict Image Size
Category Description
Participating Actors System Admin
Goal Images are restricted in size to conserve system space
Trigger The system admin indicates they would like to specify a system constraint
PreCondition The system admin is aware of the constraint they would like to place on the system
PostCondition the system’s image files will be restricted to 65536 Bytes
Flow 1. System Admin indicates they would like to restrict image size
2. System prompts System Admin to enter value of byte size for photographs
3. System Admin enters 65536
4. System logs value and begins to constrain image sizes to this size.
Exceptions
Includes
Extends
Related Artifacts
Test Cases

US06.05.01: As a borrower, if photo downloads are disabled, I want the option of manually choosing inventory photos to download.

Use Case 29: Download Photo
Category Description
Participating Actors Borrower
Goal Borrower is able to see photos of an item they are possibly interested in
Trigger Borrower indicates they would like to download a photo
PreCondition Borrower is aware of which photo they would like to view and has photo downloads turned off by default.
PostCondition Borrower is able to view photos of an item
Flow 1. Borrower selects to view item in another user’s inventory
2. Pursuant to the Borrower’s settings, the system does not download photos of that item
3. Borrower indicates that they would like to download a specific photo
4. System downloads and displays said photo
Exceptions 4. System is unable to download photo
4.1 System displays nothing and user is notified.
Includes
Extends View Photo
Related Artifacts
Test Cases

Offline Behaviour

US09.01.01: As an owner, I want to make inventory items while offline, and push changes once I get connectivity.

Use Case 30: Add Item Offline
Category Description
Participating Actors Owner
Goal Make changes in inventory without connection
Trigger The owner indicates they would like to add an inventory item
PreCondition The owner is aware of the item they would like to add, and the information about the item they will need to add.
PostCondition The item is added or edited locally and is synced to the server when a connection is available
Flow 1. Owner indicates they would like to add an item to their inventory.
2. The system prompts the owner for information about the item
3. The owner enters all information that they have about the item
4. The system attempts to sync the data to the server, only to find that there is no connection, and gives the owner a warning
5. The owner acknowledges the warning
6. The system locally caches the information and will sync the information when a connection is returned
Exceptions 6. System is unable to push changes
6.1 Owner is notified and the items are continued to be stored locally.
Includes AddItem
Extends
Related Artifacts
Test Cases

US09.02.01: As a borrower, I want to make trades while offline, and push changes online once I get connectivity.

Use Case 31: Make Trades Offline
Category Description
Participating Actors Borrower (Owner), Friend
Goal Borrower (Owner) wants to make a trade with a friend while they do not have connectivity
Trigger Borrower (Owner) wishes to make a trade
PreCondition The Borrower (Owner) is aware of the trade they would like to make and is unable to connect to the system
PostCondition The Borrower (Owner) is able to present a trade to their friend which will be sent to the system when a connection is restored.
Flow 1. Borrower (Owner) indicates they have found a trade they would like to make.
2. System accepts information from the owner and attempts to connect to the server. Upon failure, system notifies owner.
3. The Borrower (Owner) acknowledges error
4. System caches the trade request and sends it to friend when connection is restored.
Exceptions 6. System is unable to push changes
6.1 Owner is notified and the trades are continued to be stored locally, pending deletion or re-attempt of syncing
Includes
Extends
Related Artifacts
Test Cases

US09.03.01: As a borrower, I should be able to browse the inventories of friends that I previously looked at. Cache the inventories of the friends.

Use Case 32: Browse Friends Offline
Category Description
Participating Actors Borrower (Owner)
Goal Look at items that a friend has without a connection to the internet
Trigger Borrower (Owner) loses connectivity but still wishes to use the app
PreCondition Borrower (owner) wishes to look at the inventory of a friend they have browsed previously, and has lost connection to internet.
PostCondition Borrower (owner) is able to see an inventory of a friend without connection to the internet
Flow 1. Borrower (Owner) indicates they would like to view the inventory of a friend
2. The system attempts to access the information online and discovers it does not have connectivity
3. The system presents information about the friend’s inventory that it has cached in its system.
Exceptions 2. Borrower (Owner) has not viewed friend’s inventory previously
2.1. System presents an error message indicating information delivery is not possible.
Includes
Extends
Related Artifacts
Test Cases

Configuration

US10.01.01: As a user, I should be to specify if I download images or not.

Use Case 33: Download Image Preference
Category Description
Participating Actors User
Goal User indicates to system their preference of viewing images
Trigger User either wants to see images, or does not want to see images of the items
PreCondition The user is aware of whether or not they would like to view images
PostCondition The system displays or does not display images based on user preference
Flow 1. User indicates that they would like to change their preference for images
2. System presents options that it can perform regarding images
3. User selects the option that they would prefer
4. System responds to preference by either downloading images, or choosing not to download images.
Exceptions
Includes
Extends
Related Artifacts
Test Cases

US10.02.01: As a user, I should be able to edit my profile.

Use Case 34: Edit Profile
Category Description
Participating Actors User
Goal User changes information to make the information they provide to the public more accurate
Trigger User wants to change information about themselves
PreCondition User is aware of information that should be changed and of the new values of the changed information
PostCondition The user’s profile is changed to reflect the new information
Flow 1. User indicates they would like to change information
2. System presents current values of information in profile
3. User presents system with edited values for the information
4. System saves edited information and presents new values of information
Exceptions 4. System cannot save
4.1 System displays error message and nothing is saved
Includes User Profile
Extends
Related Artifacts
Test Cases

Geolocation

US11.01.01: As an owner, I want to have a default geolocation (Lat/Long) that will be assigned to my items.

Use Case 35: Default Geolocation
Category Description
Participating Actors Owner
Goal Owners have a default geolocation for their items
Trigger Owner creates a new item
PreCondition User has set a default geolocation in their profile
PostCondition New items have a default geolocation on creation
Flow 1. Owner indicates they would like to create a new item
2. System automatically fills location with owner's default geolocation
Exceptions 2. Owner has not set a default geolocation
4.1 System leaves geolocation blank
Includes Add Item
Extends
Related Artifacts
Test Cases
  1. GeolocationTest

US11.02.01: As a user, I should be able to search for items near my current location (GPS or Lat/long). E.g. hammers within 2 km.

Use Case 36: Search Location
Category Description
Participating Actors User
Goal User finds items near current location
Trigger Owner requests close items
PreCondition User can get their location
PostCondition Shared, friends items within specified distance are shown
Flow 1. User indicates they want items near current location
2. System return items near current location
Exceptions 1. User cannot get current location
1.1 System displays error message
Includes
Extends
Related Artifacts
Test Cases
  1. GeolocationTest

US11.03.01: As an owner, I should be able use the GPS to determine my geolocation.

Use Case 37: Get Geolocation
Category Description
Participating Actors Owner
Goal Owners finds current location
Trigger User requests current location
PreCondition
PostCondition User knows current location
Flow 1. User requests current geolocation
2. System returns devices current geolocation
Exceptions 1. Device cannot get current location
1.1 System displays error message
Includes
Extends
Related Artifacts
Test Cases
  1. GeolocationTest

US11.04.01: As an owner, I should be able to specifically edit the geolocation of each individual item -- items could be located in different locations.

Use Case 38: Different Geolocation
Category Description
Participating Actors Owner
Goal Owners can specify unique geolocations for each item
Trigger Owner specifies location
PreCondition
PostCondition Item has a unique location
Flow 1. Owner indicates they would like to assign an item in their inventory a location
2. System sets item's location
Exceptions
Includes Default Geolocation, Modify Items
Extends
Related Artifacts
Test Cases
  1. GeolocationTest

Top Traders

US12.01.01As a user, I should be able to see friends and users who are top-traders. Top traders are users with successful (current, in-progress, and complete) trades. The more successful traders, the more top the trader.

Use Case 39: Top Traders
Category Description
Participating Actors Owner
Goal Owners will be able to view a list of users who are indicated to be top traders
Trigger Owner selects to view list of top traders
PreCondition User desires to view list of top traders
PostCondition System displays top traders
Flow 1. Owner indicates they would like to see the top traders
2. System calculates standings and returns list of top traders
Exceptions
Includes
Extends
Related Artifacts

Item Cloning

US13.01.01 As an owner, I should be able to clone another user's item, if I own it or a copy. E.g. I have the same XBOX game as my friend and I don't want to type it in again.

Use Case 40: Clone Item
Category Description
Participating Actors Owner
Goal Owner is able to clone a friend's item for their own trade
Trigger Owner selects to clone an item
PreCondition Owner has an item identical to another user's and wishes to clone the listing
PostCondition A new item identical to the other user's will be created
Flow 1. Owner indicates they would like to view an item
2. System displays said item
3. User indicates they would like to clone the item
4. System creates identical item and adds to inventory
Exceptions
Includes Add Item
Extends
Related Artifacts
Clone this wiki locally