TABLE OF CONTENTS



center-430530Progress report submitted toThe Department of Computer Engineering of ?ankaya Universityin partial fulfilment of the requirement forCENG 407-Innovative System Design and DevelopmentSRS DOCUMENT OFRECIPE RECOMMENDATION SYSTEM FOR THE TURKISH CUISINEVersion 2.0ByDamla P?nar G?VENEREsin A?IKHivda ?ZATLISupervisor:Assist. Prof. Dr. Engin DEM?R?ankaya UniversityDepartment of Computer EngineeringFall 201600Progress report submitted toThe Department of Computer Engineering of ?ankaya Universityin partial fulfilment of the requirement forCENG 407-Innovative System Design and DevelopmentSRS DOCUMENT OFRECIPE RECOMMENDATION SYSTEM FOR THE TURKISH CUISINEVersion 2.0ByDamla P?nar G?VENEREsin A?IKHivda ?ZATLISupervisor:Assist. Prof. Dr. Engin DEM?R?ankaya UniversityDepartment of Computer EngineeringFall 2016STATEMENT OF NONPLAGIARISMWe hereby declare that all information in this report has been obtained and presented in accordance with academic rules and ethical conduct. We also declare that, as required by these rules and conduct, we have fully cited and referenced all materials and results that are not original to this work. Date: 20.03.2017Name, Surname SignatureDamla P?nar G?VENEREsin A?IKHivda ?ZATLITABLE OF CONTENTS TOC \o "1-3" \h \z \u STATEMENT OF NONPLAGIARISM PAGEREF _Toc470645763 \h iTABLE OF CONTENTS PAGEREF _Toc470645764 \h iiLIST OF FIGURES PAGEREF _Toc470645765 \h iii1. INTRODUCTION PAGEREF _Toc470645766 \h 11.1. Purpose PAGEREF _Toc470645767 \h 11.2. Scope of Project PAGEREF _Toc470645768 \h 11.3. Glossary PAGEREF _Toc470645769 \h 21.4. Overview of Document PAGEREF _Toc470645770 \h 22.0. OVERALL DESCRIPTION PAGEREF _Toc470645771 \h 32.1. System Environment PAGEREF _Toc470645772 \h 32.2. Functional Requirements Specification PAGEREF _Toc470645775 \h 42.2.1. User Use Case PAGEREF _Toc470645776 \h 42.2.2. Admin Use Case PAGEREF _Toc470645777 \h 72.2.3. System Use Case PAGEREF _Toc470645778 \h 82.3. Actor Characteristics PAGEREF _Toc470645779 \h 92.4. Non-Functional Requirements PAGEREF _Toc470645780 \h 103. REQUIREMENT SPECIFICATION PAGEREF _Toc470645781 \h 103.1. Interface Requirements PAGEREF _Toc470645782 \h 103.2. Functional Requirements PAGEREF _Toc470645783 \h 113.2.1. User Use Case PAGEREF _Toc470645784 \h 113.2.2. Admin Use Case PAGEREF _Toc470645785 \h 163.2.3. System Use Case PAGEREF _Toc470645786 \h 193.3. Non-Functional Requirements PAGEREF _Toc470645787 \h 203.4. Flow Description PAGEREF _Toc470645788 \h 20CONCLUSION PAGEREF _Toc470645789 \h 20LIST OF FIGURES TOC \h \z \c "Figure" TOC \h \z \c "Figure" Figure 1: RECIPE RECOMMENDATION SYSTEM, SYSTEM ENVIRONMENT PAGEREF _Toc470906884 \h 3Figure 2: USER USE CASE PAGEREF _Toc470906885 \h 5Figure 3: ADMIN USE CASE PAGEREF _Toc470906886 \h 7Figure 4: RECOMMENDATION ENGINE USE CASE PAGEREF _Toc470906887 \h 91. INTRODUCTION1.1. PurposeThe purpose of this document is to explain the Recipe Recommendation System for Turkish Cuisine in detail. This document describes the system's software requirements, system intent, and features. This document is prepared for both stakeholders and system developers. The purpose of this system is to present the recipes that the user is looking for and recommend recipes similar to the user's preferred recipes.In the General Description section, your system's use case diagram is shown. Initial Step-By-Step Description for each actor is explained.In the Requirements Specification section, the use cases are explained step by step. It is explained in detail what each actor did in the system in detail.1.2. Scope of ProjectThis system will be a website. This system aims to finding and presenting recipes that the user is searching and providing correct recommendations similar to what the user prefers. The system contains a database which is providing lists of users, recipes, category of recipes, recipes’ ingredients. This database enables to keep the information of recipes and users.In addition, this system also receives personal information such as age, height, weight from the user. Users can update this information and keep this information under control. Also some of ingredients’ calories will be found in the system. Users can choose recipe according to the amount of calories they need to take daily.In addition, this system will save user’s time to find preferred recipes. 1.3. Glossary TERM DEFINITION User People who search recipes and recommended it.AdminPerson who can manage the all system and can add recipes.SystemRecommends recipes based on what they prefer to the user Database Location of all recipes, ingredients, user’s information, rates on this system. WebsiteA website where the user searches for recipes and receives recipe suggestions. Recommendation SystemIt is a system that offers suggestions for the user based on past purchases, searches, or behaviors of other users. 1.4. Overview of Document The document contains the Recipe Recommendation System’s details. We will explain that in overall description. Using use case we showed all available functions in the second part. The use case of three actors have been identified. The relationship of the actors to use case has been explained in detail. Summarized at the end. In the third part, the system's functional requirements and non-functional requirements have been mentioned. Database ER diagram has been showed and explained. The entities of each table have been showed. Types and explanations have been added to the document in tabular form.2.0. OVERALL DESCRIPTION2.1. System EnvironmentFigure SEQ Figure \* ARABIC 1: RECIPE RECOMMENDATION SYSTEM, SYSTEM ENVIRONMENTThe recipe recommendation system of Turkish cuisine aimed at facilitating the selection of food which we are hard to decide. This system has two actor and one system (recommendation engine). As can be understood from the above, it is a system in which users play an active role. Admin and system have limited tasks.2.2. Functional Requirements SpecificationRecipe Recommendation System for Turkish Cuisine has 3 actors namely user, admin and recommendation engine.2.2.1. User Use CaseUse Case:Register UserLogin AccountSearch RecipeView RecipeView Recommended RecipeRate RecipeUpdate ProfileAdd Recipe to FavoriteView FavoritesDelete Recipe from FavoritesView ProfileAdd RecipeAdd new user to own accountAdd weekly meal planView past selected recipesChoose prospective recipesAdd own allergies and dietsDiagram:Figure SEQ Figure \* ARABIC 2: USER USE CASEBrief DescriptionIn general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes and view recommended recipes in the direction of the preferred recipes. All recipes have rate value and user shall be able to rate recipes. Every user have favorite recipes and user can add recipes to his/her favorites and view favorites. Moreover, users can add new user to their own account, so system recommends recipes based on this multiuser profile. Allergies and diet information, weekly meal plan can be added by user. Also, users can view past selected recipes and can choose prospective recipes and put them on their own calendar. In addition, if a recipe is not as preferred by the user as the former, user can delete this recipe from favorites.Initial Step-by-Step DescriptionIf User do not have account, user chooses Register button.The user registers and logs in to the system, system lists recommended recipes.The user enters recipe name into search box, system lists recipes and recommended recipes.The user selects recipe.The user rates recipes.The user adds own allergies and diets information.If the user wishes to add a new user to own account, press “Add new user” button in profile page.If the user adds the recipe to the favorite, the system lists his/her favorite recipes.If the user wishes to delete a recipe from favorite, press “Delete “Recipe” button in favorite part.If the user wants to add his/her special recipe to the system, press “Add Recipe” button, system lists textboxes for getting information about recipe. The user can view past selected recipes, by clicking “View past selections” button.The user can add new weekly meal plan by clicking “Make a meal plan” button. The user can choose prospective recipes and can put them on own calendar.If the user wants to update his/her profile, user press “Update Profile” button.The user presses “Save” button after updating profile and system shows his/her profile.2.2.2. Admin Use CaseUse Case:Search RecipeView RecipeAdd recipe to systemAdd recipes’ nutritional valuesDelete recipe from systemUpdate RecipeView users’ profilesDiagram:Figure SEQ Figure \* ARABIC 3: ADMIN USE CASEBrief Description:Admin shall be able to search, view recipes. In addition, admin shall be able to add, delete or update recipes and add recipes’ nutritional values. Also, admin can view all users’ profiles. Initial Step-by-Step DescriptionAdmin writes recipe name into search box, system lists recipes.Admin adds recipes’ nutritional values to the system.Admin views recipe.Admin presses ‘Add Recipe’ button and system shows textboxes for getting information of new recipe from admin.If admin wants to delete a recipe from system, presses ‘Delete Recipe’ button, recipe is removes from system.If admin wants to update a recipe, presses ‘Update Recipe’ button, system list recipe’s information.If admin wants to view user’s profile, presses ‘Users’ Profiles’ button and system lists users. Admin writes or selects user’s name and view his/her profile.2.2.3. Recommendation Engine Use CaseUse Case:Show RecipesShow Recommended RecipesCalculate average of rateDiagram:Figure SEQ Figure \* ARABIC 4: RECOMMENDATION ENGINE USE CASEBrief DescriptionRecommendation engine shall be able to show recipes and recommended recipes to users. In addition, it shall be able to calculate average rate using the ratings given by users. Initial Step-by-Step DescriptionRecommendation engine shows recipes and recommended recipes, if any user search recipe.Recommendation engine shows recommended recipes in homepage after user logs in the system.Recommendation engine calculates average rate using user’s rates and number of users which give rate to recipe. 2.3. Actor CharacteristicsAll types of people can use this system. There is no any specification for them.All they need is the Internet connection to use this recommendation system.2.4. Non-Functional RequirementsIn this part, how this system works is shown. Some crucial non-functional requirements are accessibility, performance and security. First of all, accessibility is very important, so web page design should be done simply for users. In addition to that user should be reach easily what s/he is looking for. The other important thing is performance, searching for recipes and also recommendation to user should be done quickly, so speed is important. Finally, security is essential for users as important as in many systems, because users share their personal information.3. REQUIREMENT SPECIFICATIONIn this section, interface requirements, functional and non-functional requirements subtitles were described.3.1. Interface RequirementsIn user interface, according to historical and user information, some recipe recommendations will be shown to user. That is basically definition of the system. Moreover, five recommendations will be given to each user and one thousand recipes will be entered to system at the start. User interface phases are divided to three phases:UserIn this interface, users’ perspective is shown. Firstly, users can register and then login to the system. After that, they can search, view recipes and recommended five recipes, rate them. They can add recipe to favorites and to system, organize their favorite list and do some changes on their profile.Admin Admins are this system designers, at this point we are admins. We can search and view recipes, add new recipe to system or delete from the system, update them and lastly they can view users’ profile.Recommendation Engine Some algorithms will work in background of this system. This system will show recipes, recommended recipes to users and will calculate average of rate based on users’ rate. Users’ feedback as rating are very important to calculate them by the recommendation engine. 3.2. Functional RequirementsIn this section, main functions of recommendation system are clarified.3.2.1. User Use CaseThe main sequential functions of user-side of the system is shown below. 3.2.1.1. Register UserUse Case Name:Register UserXref:Section 2.1.1, User Use Case Trigger:Click on the Register buttonPre-Condition:Access to Recipe Recommendation Web SiteBasic Path:1. User opens the Web SiteAlternative Path:NonePost-Condition:Registered user can login to systemException Paths:NoneOther:None3.2.1.2. Login to the SystemUse Case Name:Login to the SystemXref:Section 2.1.1, User Use Case Trigger:Click on the Login buttonPre-Condition:Registration to the Web SiteBasic Path:1. User opens the Login PageAlternative Path:NonePost-Condition:User can view recommended recipes, view or search recipes, update profile, add new recipeException Paths:NoneOther:None3.2.1.3. Add New User to Own AccountUse Case Name:Add New User to Own AccountXref:Section 2.1.1, User Use Case Trigger:Click on the Add New User buttonPre-Condition:Login to the systemBasic Path:1. User is directed to main page, then profile page2. User can add a new user by filling all necessary fields about new userAlternative Path:NonePost-Condition:User can view recommended recipes, view or search recipes, update profile, add new recipeException Paths:NoneOther:None3.2.1.4. Add Own Allergies and DietsUse Case Name:Add Own Allergies and DietsXref:Section 2.1.1, User Use Case Trigger:Click on the Düzenle button in profile pagePre-Condition:Login to the systemBasic Path:1. In profile page, user add own allergies and diets information to the systemAlternative Path:NonePost-Condition:User can view recommended recipes, view or search recipes, update profile, add new recipeException Paths:NoneOther:None3.2.1.5. View Recommended RecipesUse Case Name:View Recommended RecipesXref:Section 2.1.1, User Use Case Trigger:Click on the Login buttonPre-Condition:Login to the systemBasic Path:1. User is directed to main pageAlternative Path:NonePost-Condition:User can select from recommended recipes and rate itException Paths:1. User does not want to select from recommended recipes2. User can search any recipeOther:None3.2.1.6. Search RecipeUse Case Name:Search RecipeXref:Section 2.1.1, User Use Case Trigger:Click on the Search buttonPre-Condition:Login to the systemBasic Path:1. User is directed to main page2. User can write recipe name on search boxAlternative Path:NonePost-Condition:User can select searched recipe and rate itException Paths:User can give up searching at any timeOther:The recipe list is updated according to new recipes to be added3.2.1.7. Add Weekly Meal PlanUse Case Name:Add Weekly Meal PlanXref:Section 2.1.1, User Use Case Trigger:Click on the Make a Meal Plan buttonPre-Condition:Search recipe from the systemBasic Path:1. User can organize his/her weekly meal plan according to investigated recipesAlternative Path:NonePost-Condition:User can select searched recipe and rate itException Paths:NoneOther:The meal plan is updated according to new meal plan to be added3.2.1.8. View RecipeUse Case Name:View RecipeXref:Section 2.1.1, User Use Case Trigger:Click on the Recipe List buttonPre-Condition:Login to the systemBasic Path:1. User can see recipe listAlternative Path:NonePost-Condition:User can select from recipe list and rate itException Paths:User can give up viewing at any timeOther:The recipe list is updated according to new recipes to be added3.2.1.9. View and Update ProfileUse Case Name:View and Update ProfileXref:Section 2.1.1, User Use Case Trigger:Click on the Profile buttonPre-Condition:Login to the systemBasic Path:1. User can view and make any changes on his/her profileAlternative Path:NonePost-Condition:User can search or view recommended recipesException Paths:NoneOther:None3.2.1.10. Add New Recipe Use Case Name:Add New RecipeXref:Section 2.1.1, User Use Case Trigger:Click on the Add New Recipe buttonPre-Condition:Login to the systemBasic Path:1. User write ingredients’ list, calorie and recipe information to add a new recipe to the system2. Added new recipe is controlled by admin3. If it is approved, it is addedAlternative Path:NonePost-Condition:User can search or view recommended recipesException Paths:If added new recipe is not appropriate, the new recipe is not added to the system.Other:The recipe list is updated.3.2.1.11. Rate RecipeUse Case Name:Rate RecipeXref:Section 2.1.1, User Use Case Trigger:User wants to rate selected recipePre-Condition:User views recommended recipes or search/view recipes and select oneBasic Path:1. User rates the selected recipe based on him/her liking (1-5 degree)Alternative Path:NonePost-Condition:User can select from recommended recipes and rate itException Paths:If user does not want to select from recommended recipes, s/he can continue to search any recipeOther:None3.2.1.12. Add Recipe to FavoritesUse Case Name:Add Recipe to FavoritesXref:Section 2.1.1, User Use Case Trigger:User wants to add a recipe to favorite recipes listPre-Condition:User rates a recipeBasic Path:1. User likes the recipe 2. User adds recipe to favoritesAlternative Path:NonePost-Condition:User can select from favorite recipes listException Paths:If user does not like the recipe, user does not add it to the favorites listOther:Favorite recipes list is updated, if there is any changes on it (addition, deletion)3.2.1.13. View Past Selected RecipesUse Case Name:View Past Selected RecipesXref:Section 2.1.1, User Use Case Trigger:User clicks View Past Selections buttonPre-Condition:User rates a recipeBasic Path:1. User can want to view which recipes s/he selected pastAlternative Path:NonePost-Condition:User select a recipe from these past selectionsException Paths:NoneOther:None3.2.1.14. Choose Prospective RecipesUse Case Name:Choose Prospective RecipesXref:Section 2.1.1, User Use Case Trigger:Click on the Login buttonPre-Condition:User makes a favorite listBasic Path:1. In main page, user can search recipes and add them to own favorite list2. Then, user can choose prospective recipes from favorite list3. Place them all on calendarAlternative Path:NonePost-Condition:User can rate recipes and make any changes on favorite listException Paths:If user does not want to select from favorite list, s/he can search any recipe and choose a date for all of them at that pointOther:None3.2.1.15. View FavoritesUse Case Name:View FavoritesXref:Section 2.1.1, User Use Case Trigger:User wants to see favorite recipes listPre-Condition:Adding a recipe to favorites list Basic Path:1. User views favoritesAlternative Path:1. User can view favorites where to select a recipe from recommended recipesPost-Condition:User can select from favorite recipes listException Paths:NoneOther:Favorite recipes list is updated, if there is any changes on it (addition, deletion)3.2.1.16. Delete Recipe from FavoritesUse Case Name:Delete Recipe from FavoritesXref:Section 2.1.1, User Use Case Trigger:User wants to delete a recipe from favorite recipes listPre-Condition:Adding a recipe to favorite recipes listBasic Path:1. User does not like the recipe any more2. User deletes the recipe from favorite recipes listAlternative Path:NonePost-Condition:User can select from recommended recipes or search a recipeException Paths:NoneOther:None3.2.2. Admin Use CaseThe main sequential functions of admin-side of the system is shown below. 3.2.2.1. Search RecipeUse Case Name:Search RecipeXref:Section 2.1.2, Admin Use Case Trigger:Click on Search buttonPre-Condition:Using one of admin computers to loginBasic Path:1. Admin can write recipe name on search boxAlternative Path:NonePost-Condition:Admin can update, delete or view the recipeException Paths:NoneOther:None3.2.2.2. View RecipeUse Case Name:View RecipeXref:Section 2.1.2, Admin Use Case Trigger:Click on the Recipe List buttonPre-Condition:Using one of admin computers to loginBasic Path:1. Admin can see recipe listAlternative Path:NonePost-Condition:Admin can add, delete or update the recipeException Paths:NoneOther:None3.2.2.3. View Users’ ProfilesUse Case Name:View Users’ ProfilesXref:Section 2.1.2, Admin Use Case Trigger:Click on the Users’ Profiles buttonPre-Condition:Any complaints from the userBasic Path:1. Admin can list users’ profilesAlternative Path:1. Admin can write users’ name and search themPost-Condition:Admin can send messages to users about their complaintsException Paths:NoneOther:None3.2.2.4. Add Recipe to SystemUse Case Name:Add Recipe to SystemXref:Section 2.1.2, Admin Use Case Trigger:Click on the Add Recipe buttonPre-Condition:Expansion recipe listBasic Path:1. Admin write ingredients’ list, calorie and recipe information to add a new recipe to the systemAlternative Path:NonePost-Condition:Recipes can be recommended to users Exception Paths:NoneOther:The recipe list is updated3.2.2.5. Add Recipes’ Nutritional ValuesUse Case Name:Add Recipes’ Nutritional ValuesXref:Section 2.1.2, Admin Use Case Trigger:Click on the Add Recipe buttonPre-Condition:Add a new recipeBasic Path:1. Admin write nutritional value for recipe will be addedAlternative Path:NonePost-Condition:Recipes can be recommended to users Exception Paths:NoneOther:None3.2.2.6. Delete Recipe from SystemUse Case Name:Delete Recipe from SystemXref:Section 2.1.2, Admin Use Case Trigger:Click on the Delete Recipe buttonPre-Condition:The presence of unpopular and low grade recipesBasic Path:1. Admin observes unpopular, low grade recipes2. Admin can delete them from systemAlternative Path:NonePost-Condition:Users can select from the rest of recipesException Paths:NoneOther:The recipe list is updated3.2.2.7. Update RecipeUse Case Name:Update RecipeXref:Section 2.1.2, Admin Use Case Trigger:Click on the Update Recipe buttonPre-Condition:Some ingredients’ list or recipe changes occurringBasic Path:1. Admin makes necessary changes on recipe and update itAlternative Path:NonePost-Condition:Updated recipe can be recommended to usersException Paths:NoneOther:The updated recipe is added to recipe lists3.2.3. Recommendation Engine Use CaseThe main sequential functions of system-side of the recommendation engine is shown below. 3.2.3.1. Show RecipesUse Case Name:Show RecipesXref:Section 2.1.3, Recommendation Engine Use Case Trigger:Users click on the Search or Recipe List buttonPre-Condition:Users want to search or view recipesBasic Path:1. System checks whether searched recipe is in recipe list or not2. If it is available in recipe list, system shows this recipeAlternative Path:If user want to see whole recipe list1. System shows whole recipe listPost-Condition:Users can select from recipe listException Paths:NoneOther:None3.2.3.2. Show Recommended RecipesUse Case Name:Show Recommended RecipesXref:Section 2.1.3, Recommendation Engine Use Case Trigger:User clicks on the Login buttonPre-Condition:Users login to systemBasic Path:1. System shows recommended recipes to userAlternative Path:NonePost-Condition:Users can select from recipe listException Paths:NoneOther:None3.2.3.3. Calculate Average of RateUse Case Name:Calculate Average of RateXref:Section 2.1.3, Recommendation Engine Use Case Trigger:Users rate the selected recipePre-Condition:Users rate the recipeBasic Path:1. System calculates average rate by using users’ rate2. At the same time, system calculate number of users who rate the recipeAlternative Path:NonePost-Condition:Recommendation list to user is updated based on this calculationsException Paths:NoneOther:None 3.3. Non-Functional RequirementsSome important non-functional requirements for the system are listed below.AccessibilityUsers should be reach easily what they are looking for in the website. Web design should be done simply. Generally, website should be reachable for users.UsabilityAll functions but especially complex functions should be tested.PerformanceSystem’s response time to user and also some small time measurements are very important such as refresh time etc.SecurityUsers’ personal information should be kept secret in the system. 3.4. Flow DescriptionFirst of all system needs about 1000 recipe to show user. Admin should add recipes to system. The user registers on the system. Then the user can log in to the system.Admin suggest at least 5 different type of recipes to users. User choose this 5 suggestion optional or search recipes.The system displays the desired recipe to the user or shows other recipe similar to the selected recipe.Finally, the user can evaluate the recipe used.CONCLUSIONSoftware requirements document is an important document of project. We explained how we will do the project in this document. This software requirements document describes in detail the functional and non-functional requirements and the interface requirements of the system. The e-r diagram of the system's database is shown. The Use Case Diagram of the system was drawn and explained what actors could do step by step. ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download