table of contents  · web view2017. 4. 4. · in general, user shall be able to register system,...

33
Progress report submitted to The Department of Computer Engineering of Çankaya University in partial fulfilment of the requirement for CENG 407-Innovative System Design and Development SRS DOCUMENT OF RECIPE RECOMMENDATION SYSTEM FOR THE TURKISH CUISINE Version 2.0 By Damla Pınar GÜVENER Esin AÇIK Hivda ÖZATLI Supervisor: Assist. Prof. Dr. Engin DEMİR Çankaya University Department of Computer Engineering Fall 2016

Upload: others

Post on 05-Dec-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

Progress report submitted toThe Department of Computer Engineering of Çankaya University

in partial fulfilment of the requirement forCENG 407-Innovative System Design and Development

SRS DOCUMENT OF

RECIPE RECOMMENDATION SYSTEM

FOR THE TURKISH CUISINEVersion 2.0

By

Damla Pınar GÜVENEREsin AÇIK

Hivda ÖZATLI

Supervisor:

Assist. Prof. Dr. Engin DEMİR

Çankaya UniversityDepartment of Computer Engineering

Fall 2016

Page 2: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

STATEMENT OF NONPLAGIARISM

We 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.2017

Name, Surname Signature

Damla Pınar GÜVENER

Esin AÇIK

Hivda ÖZATLI

i

Page 3: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

TABLE OF CONTENTS

STATEMENT OF NONPLAGIARISM..............................................................................................i

TABLE OF CONTENTS.............................................................................................................................. ii

LIST OF FIGURES.................................................................................................................................... iii

1. INTRODUCTION..................................................................................................................................1

1.1. Purpose.......................................................................................................................................1

1.2. Scope of Project...........................................................................................................................1

1.3. Glossary.......................................................................................................................................2

1.4. Overview of Document................................................................................................................2

2.0. OVERALL DESCRIPTION....................................................................................................................3

2.1. System Environment...................................................................................................................3

2.2. Functional Requirements Specification.......................................................................................4

2.2.1. User Use Case.......................................................................................................................4

2.2.2. Admin Use Case....................................................................................................................7

2.2.3. System Use Case...................................................................................................................8

2.3. Actor Characteristics....................................................................................................................9

2.4. Non-Functional Requirements...................................................................................................10

3. REQUIREMENT SPECIFICATION.........................................................................................................10

3.1. Interface Requirements.............................................................................................................10

3.2. Functional Requirements...........................................................................................................11

3.2.1. User Use Case.....................................................................................................................11

3.2.2. Admin Use Case..................................................................................................................16

3.2.3. System Use Case.................................................................................................................19

3.3. Non-Functional Requirements...................................................................................................20

3.4. Flow Description........................................................................................................................20

CONCLUSION........................................................................................................................................20

ii

Page 4: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

LIST OF FIGURES

Figure 1: RECIPE RECOMMENDATION SYSTEM, SYSTEM ENVIRONMENT............................3Figure 2: USER USE CASE...................................................................................................................5Figure 3: ADMIN USE CASE...............................................................................................................7Figure 4: RECOMMENDATION ENGINE USE CASE.......................................................................9

iii

Page 5: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

1. INTRODUCTION

1.1. Purpose

The 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 Project

This 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

Page 6: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

1.3. Glossary

TERM DEFINITION User People who search recipes and recommended it.

Admin Person who can manage the all system and can add recipes.

System Recommends recipes based on what they prefer to the user

Database Location of all recipes, ingredients, user’s information, rates on this system.

Website A website where the user searches for recipes and receives recipe suggestions.

Recommendation System It 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

Page 7: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

2.0. OVERALL DESCRIPTION

2.1. System Environment

FIGURE 1: RECIPE RECOMMENDATION SYSTEM, SYSTEM ENVIRONMENT

The 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.

3

Page 8: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

2.2. Functional Requirements Specification

Recipe Recommendation System for Turkish Cuisine has 3 actors namely user, admin and recommendation engine.

2.2.1. User Use Case

Use Case:

Register User

Login Account

Search Recipe

View Recipe

View Recommended Recipe

Rate Recipe

Update Profile

Add Recipe to Favorite

View Favorites

Delete Recipe from Favorites

View Profile

Add Recipe

Add new user to own account

Add weekly meal plan

View past selected recipes

Choose prospective recipes

Add own allergies and diets

4

Page 9: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

Diagram:

FIGURE 2: USER USE CASE

Brief Description

In 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

5

Page 10: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

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 Description

1. If User do not have account, user chooses Register button.

2. The user registers and logs in to the system, system lists

recommended recipes.

3. The user enters recipe name into search box, system lists recipes

and recommended recipes.

4. The user selects recipe.

5. The user rates recipes.

6. The user adds own allergies and diets information.

7. If the user wishes to add a new user to own account, press “Add

new user” button in profile page.

8. If the user adds the recipe to the favorite, the system lists his/her

favorite recipes.

9. If the user wishes to delete a recipe from favorite, press “Delete

“Recipe” button in favorite part.

10. 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.

11. The user can view past selected recipes, by clicking “View past

selections” button.

12. The user can add new weekly meal plan by clicking “Make a meal

plan” button.

13. The user can choose prospective recipes and can put them on own

calendar.

14. If the user wants to update his/her profile, user press “Update

Profile” button.

15. The user presses “Save” button after updating profile and system

shows his/her profile.

6

Page 11: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

2.2.2. Admin Use Case

Use Case:

Search Recipe

View Recipe

Add recipe to system

Add recipes’ nutritional values

Delete recipe from system

Update Recipe

View users’ profiles

Diagram:

FIGURE 3: ADMIN USE CASE

Brief Description:

7

Page 12: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

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 Description

1. Admin writes recipe name into search box, system lists

recipes.

2. Admin adds recipes’ nutritional values to the system.

3. Admin views recipe.

4. Admin presses ‘Add Recipe’ button and system shows

textboxes for getting information of new recipe from admin.

5. If admin wants to delete a recipe from system, presses ‘Delete

Recipe’ button, recipe is removes from system.

6. If admin wants to update a recipe, presses ‘Update Recipe’

button, system list recipe’s information.

7. If admin wants to view user’s profile, presses ‘Users’ Profiles’

button and system lists users.

8. Admin writes or selects user’s name and view his/her profile.

2.2.3. Recommendation Engine Use Case

Use Case:

Show Recipes

Show Recommended Recipes

Calculate average of rate

Diagram:

8

Page 13: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

FIGURE 4: RECOMMENDATION ENGINE USE CASE

Brief Description

Recommendation 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 Description

1. Recommendation engine shows recipes and recommended

recipes, if any user search recipe.

2. Recommendation engine shows recommended recipes in

homepage after user logs in the system.

3. Recommendation engine calculates average rate using user’s rates

and number of users which give rate to recipe.

2.3. Actor Characteristics

All 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.

9

Page 14: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

2.4. Non-Functional Requirements

In 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 SPECIFICATION

In this section, interface requirements, functional and non-functional requirements subtitles

were described.

3.1. Interface Requirements

In 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:

User

In 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.

10

Page 15: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

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 Requirements

In this section, main functions of recommendation system are clarified.

3.2.1. User Use Case

The main sequential functions of user-side of the system is shown below.

3.2.1.1. Register User

Use 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: None

3.2.1.2. Login to the System

Use 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 recipe

Exception Paths: NoneOther: None

11

Page 16: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

3.2.1.3. Add New User to Own Account

Use 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 user

Alternative Path: NonePost-Condition: User can view recommended recipes, view

or search recipes, update profile, add new recipe

Exception Paths: NoneOther: None

3.2.1.4. Add Own Allergies and Diets

Use 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 recipe

Exception Paths: NoneOther: None

3.2.1.5. View Recommended Recipes

Use 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 recipe

Other: None

12

Page 17: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

3.2.1.6. Search Recipe

Use 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 page

2. 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 added

3.2.1.7. Add Weekly Meal Plan

Use 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 added

3.2.1.8. View Recipe

Use 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 added

13

Page 18: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

3.2.1.9. View and Update Profile

Use 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: None

3.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 added

Alternative 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 Recipe

Use 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: None

14

Page 19: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

3.2.1.12. Add Recipe to Favorites

Use 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 Recipes

Use 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: None

3.2.1.14. Choose Prospective Recipes

Use 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 calendar

Alternative 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 point

Other: None

15

Page 20: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

3.2.1.15. View Favorites

Use 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 Favorites

Use 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 more

2. User deletes the recipe from favorite recipes list

Alternative Path: NonePost-Condition: User can select from recommended recipes

or search a recipeException Paths: NoneOther: None

3.2.2. Admin Use Case

The main sequential functions of admin-side of the system is shown below.

3.2.2.1. Search Recipe

Use 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: None

16

Page 21: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

3.2.2.2. View Recipe

Use 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: None

3.2.2.3. View Users’ Profiles

Use 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: None

3.2.2.4. Add Recipe to System

Use 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 system

Alternative Path: NonePost-Condition: Recipes can be recommended to users Exception Paths: NoneOther: The recipe list is updated

17

Page 22: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

3.2.2.5. Add Recipes’ Nutritional Values

Use 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: None

3.2.2.6. Delete Recipe from System

Use 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 recipes

2. Admin can delete them from systemAlternative Path: NonePost-Condition: Users can select from the rest of recipesException Paths: NoneOther: The recipe list is updated

3.2.2.7. Update Recipe

Use 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 lists

18

Page 23: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

3.2.3. Recommendation Engine Use Case

The main sequential functions of system-side of the recommendation engine is shown below.

3.2.3.1. Show Recipes

Use 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 recipe

Alternative Path: If user want to see whole recipe list1. System shows whole recipe list

Post-Condition: Users can select from recipe listException Paths: NoneOther: None

3.2.3.2. Show Recommended Recipes

Use 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: None

3.2.3.3. Calculate Average of Rate

Use 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’ rate

2. At the same time, system calculate number of users who rate the recipe

Alternative Path: NonePost-Condition: Recommendation list to user is updated based on this

calculationsException Paths: NoneOther: None

19

Page 24: TABLE OF CONTENTS  · Web view2017. 4. 4. · In general, user shall be able to register system, login to system, view his/her profile search recipes, add recipes and view recipes

3.3. Non-Functional Requirements

Some important non-functional requirements for the system are listed below.

Accessibility

Users 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.

Usability

All functions but especially complex functions should be tested.

Performance

System’s response time to user and also some small time measurements are very important such as refresh time etc.

Security

Users’ personal information should be kept secret in the system.

3.4. Flow Description

First 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.

CONCLUSION

Software 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.

20