User Cases - CMPUT301W13T05/ClassProject GitHub Wiki

Table of Contents

UC1: RecordRecipes

User Stories US01
Participating Actors User
Goal Create a new recipe.
Trigger User press the 'AddRecipe' button.
Precondition User has the ingredients and steps of the a dish.
Postcondition On success: The recipe has been added to the database and also display on the user's profile.
Basic Flow 1 System lets user to enter the title for this dish.
2 System lets user to enter the needed ingredients for this dish.
3 System lets user to enter the steps to make the dish.
4 System lets user to save the recipe.
5 System displays the recipe on user's profile.
Exceptions 4 No ingredient is entered or No step is entered.
4.1 Return to step 1.
4.2 Return to step 2.

UC2: ShareRecipe

User Stories US02
Participating Actors User
Goal Share the recipe that I am viewing.
Trigger User presses the 'share' button.
Precondition User is viewing a recipe.
Postcondition On success: The recipe has been sent to the email that the user provided.
Basic Flow 1 User presses the share button while viewing a recipe.
2 System let user to enter the target email.
3 User presses send.
4 System jumps to email application with information of the current recipe
Exceptions 2 user enters an invalid email address
3 If connectivity is down.

UC3: PublishRecipe

User Stories US03
Participating Actors User
Goal publish the recipe that I created.
Trigger User press the 'upload' button.
Precondition User is viewing a recipe which created by the user.
Postcondition On success: recipe is published onto Internet.
Basic Flow 1. System publishes the recipe to webservice
2 User press the 'upload' button .
3 System published the recipe onto webservice.
4 System displays the upload success message.
Exceptions 2 If connectivity is down.
3 System displays error.

UC4: SearchRecipe

User Stories US04, US14,US19
Participating Actors User
Goal Search recipes.
Trigger User press the 'Search' button.
Precondition User edits the search condition by press 'Setup search' button, or search with all conditions.
Postcondition On success: multiple related recipes have been listed or system display "no recipe found".
Basic Flow 1 User enter the dish name or ingredients.
2 User press search button.
3 System display multiple related recipes.
Exceptions 2 No words is entered.
2.1 Return to step 1.
2.2 If connectivity is down.
3.1 System displays error.

UC5: CacheRecipe

User Stories US05
Participating Actors User
Goal Cache the recipe that I am viewing.
Trigger User is viewing a recipe.
Precondition On success: recipe is cached for future activity.
Postcondition On success: The recipe have been saved in the application storage.
Basic Flow 1 System store the current recipe into a temp file
Exceptions 1 Local memory is full.

UC6: PostPhotos

User Stories US06, US07, US09, US10,US11
Participating Actors User
Goal Attaching photo to recipes.
Trigger While adding/editing recipes, user press 'photo' button.
Precondition User is adding/editing a recipe.
Postcondition On success: Photos is attached to the recipe.
Basic Flow 1 user presses Photo button.
2 System pops up a window that let user choose to take photo or use existing photo.
3 System jumps to camera if user choose to take photo.
4 System displays the recipe with the photo.
Exceptions 3 camera is down.
4 local memory is full.
4.1 system display error.

UC7: DownloadRecipe

User Stories US08
Participating Actors User
Goal Store the recipe that user is viewing.
Trigger User press the 'Download' button.
Precondition User is viewing a recipe.
Postcondition On success: The recipe has been saved in database.
Basic Flow 1 User press the 'Download' button while viewing a recipe.
2 system downloads the recipe to the local database.
3 system pops out successful message .
4 System displays the recipe again.
Exceptions 2 The Internet down while downloading

UC8: ReceiveRecipe

User Stories US12, US17
Participating Actors User
Goal Receive recipes from other users.
Trigger User opens the attach file in the received email.
Precondition None
Postcondition On success: System displays recipes in the App.
Basic Flow 1 User opens the attach in the email.
2 System jump to the App and import the information.
3 The App display the recipe.
Exceptions 1 Connectivity is down.

UC9: IngredientEdit

User Stories US13
Participating Actors User
Goal View and edit ingredient.
Trigger User presses the 'MyIngredient' button.
Precondition User is in home page
Postcondition On success: The ingredients of the user can be successfully viewed and edited.
Basic Flow 1 System displays the ingredient of the user has.
2 User presses 'add' button to add an ingredient.
3 System lets user to enter an ingredient.
4 User presses 'delete' button to delete the chose ingredient
5 System deletes the current ingredients
6 User presses the 'save' button to save all changes
7 System saves user's ingredients to database and displays them again
Exceptions 5 No ingredient is selected.
6 No ingredient is entered.
6.1 Return to step 3

UC10: DisplayLocalRecipes

User Stories US15
Participating Actors User
Goal User can manage local recipes
Trigger User press the 'Profile' button.
Precondition User has some recipe stored.
Postcondition On success: user can see all local recipes, download recipes, upload recipes, created recipes, and recipes shared to me.
Basic Flow 1 user press the above buttons
2 system do the search
3 system returns the recipes that user wants
Exceptions

UC11: DeleteRecipes

User Stories US16
Participating Actors User
Goal User can delete local recipes
Trigger While viewing a local recipe, user press delete.
Precondition User is viewing a local recipe.
Postcondition On success: The recipe is deleted.
Basic Flow 1 user press the delete buttons
2 system delete the data in the the local database
3 system jump back to home page
Exceptions

UC12: BrowseRecipe

User Stories US04, US18
Participating Actors User
Goal User browses the recipes that match the search conditions.
Trigger User chooses the display recipe with or without images.
Precondition NONE.
Postcondition On success: The list of recipes is displayed.
Basic Flow 1 user press the Only Show Recipe with Images
2 system check the result recipes and get the recipes with images
3 user press Show All Recipes
4 system shows all result recipes
Exceptions
⚠️ **GitHub.com Fallback** ⚠️