8/6/2019 ReportSE
1/41
Recipe Helper Pag
Final ReportPROJECT PROPOSAL
PRESENTS
Safdar Dabeer 08-0487 Asjad Sheikh 08-0083Hafiz Ahmad Bilal 08-0061 WaqasZamurrad 08-0285
8/6/2019 ReportSE
2/41
Recipe Helper Pag
ContentsProject Proposal ...........................................................................................................................................................
Scope:........................................................................................................................................................................................
Objective: .................................................................................................................................................................................
Description: ..............................................................................................................................................................................
Project Features ...........................................................................................................................................................
Quality Attributes .........................................................................................................................................................
Functional Requirements ..............................................................................................................................................
GUI Functions ...........................................................................................................................................................................
Searching Functions .................................................................................................................................................................
Database Functions...................................................................................................................................................................
Voice Processing Functions ......................................................................................................................................................
Non Functional Requirements .......................................................................................................................................
Software Requirements Specification ............................................................................................................................
Introduction ............................................................................................................................................................................
Purpose ...............................................................................................................................................................................
Scope ...................................................................................................................................................................................
Definitions, Acronyms, and Abbreviations .........................................................................................................................
References ..........................................................................................................................................................................
Overview .............................................................................................................................................................................
Overall Description .................................................................................................................................................................
Product perspective ............................................................................................................................................................
User Interfaces ....................................................................................................................................................................
Hardware Interfaces ...........................................................................................................................................................
Software Interfaces .............................................................................................................................................................
Communication Interfaces ..................................................................................................................................................
Memory Constraints ...........................................................................................................................................................
Operations ..........................................................................................................................................................................
Product functions ................................................................................................................................................................
User characteristics .............................................................................................................................................................
Constraints ..........................................................................................................................................................................
8/6/2019 ReportSE
3/41
Recipe Helper Pag
Assumptions and dependencies .........................................................................................................................................
Specific Function Requirements .........................................................................................................................................
User Functionalities ................................................................................................................................................................
Administrator Functionalities .............................................................................................................................................
Classification of Functional Requirements .............................................................................................................................
Supplementary Specifications .......................................................................................................................................
Introduction ............................................................................................................................................................................
Purpose ...............................................................................................................................................................................
Scope ...................................................................................................................................................................................
Definitions, Acronyms, and Abbreviations .........................................................................................................................
References ..........................................................................................................................................................................
Supplementary Specification ..................................................................................................................................................
Client / Server .....................................................................................................................................................................
Profitability .........................................................................................................................................................................
1. Graphical Interface .....................................................................................................................................................
2. Users Knowledge .......................................................................................................................................................
Performance .......................................................................................................................................................................
Supportability......................................................................................................................................................................
Usability ..............................................................................................................................................................................
Reliability ............................................................................................................................................................................
Design Constraints ..............................................................................................................................................................
Security ...................................................................................................................................................................................
Online User Documentation and Help System Requirements ...............................................................................................
Interfaces ................................................................................................................................................................................
User Interfaces ....................................................................................................................................................................
Hardware Interfaces ...........................................................................................................................................................
Software Interfaces ............................................................................................................................................................. Communications Interfaces ................................................................................................................................................
Work Breakdown Structure...........................................................................................................................................
Activity Plan .................................................................................................................................................................
ADM(ArrowDiagrammingMethod) ................................................................................................................................
PDM(PrecedenceDiagrammingMethod) ........................................................................................................................
8/6/2019 ReportSE
4/41
Recipe Helper Pag
CPM .............................................................................................................................................................................
Critical Path ..................................................................................................................................................................
Quality Attributes .........................................................................................................................................................
Response Time ........................................................................................................................................................................
Interface Metaphor ................................................................................................................................................................
Operating System Platforms ...................................................................................................................................................
Robustness ..............................................................................................................................................................................
Performance ...........................................................................................................................................................................
Efficiency .................................................................................................................................................................................
Architectural Styles .......................................................................................................................................................
Three-Tier Architecture ..........................................................................................................................................................
Client-Server Architecture ......................................................................................................................................................
Software Architecture...................................................................................................................................................
Module Structure ....................................................................................................................................................................
Process Structure ....................................................................................................................................................................
COST ESTIMATION(COCOMO) .......................................................................................................................................
Black Box Testing ..........................................................................................................................................................
8/6/2019 ReportSE
5/41
Recipe Helper Pag
Project Proposal
Scope:Cooking by recipe can sometimes be a mess. For the individual, turning the pages of a recipe boo
with sticky, greasy or occupied hands can be tricky. Using the elbows (or feet) usually does n work so well either. For the group cooking together, it is difficult to figure out who should doing what, and when. And, for both, it is easy to omit steps, make mistakes, and misunderstanthe recipe, adding pepper when the recipe called for paprika. The Recipe Helper is a mobiapplication that would solve all these problems by providing step by step procedure.
Objective:The objective of Recipe Helper is to provide a complete guide for cooking. Anyone who enjo
cooking or wants to learn how to cook, this app can be used by anybody ranging from children adults to ensure the user interface is easy to use for everybody.
Description:The Recipe Helper is a desktop application, connected with website that will help people cooRather than just providing a large database of recipes, it will also have many interactive features make preparing meals easier. Some features include:
Search: the ability to search and sort recipes by name, style, budget, and ingredients
Shopping list creator: after the user selects a list of recipes, the app will create a shoppinlist with all the required ingredients, sorted by type (fruits, vegetables, meat, etc.)Step-by-step instructions that guides users through the recipeBuilt-in countdown timer/alarm on instruction pages when neededOption for user to decide which units are displayed (temperature, measurements)
A guide for basic cooking and knife skills.
8/6/2019 ReportSE
6/41
Recipe Helper Pag
Project Features
Step-by-step instructions that guides users through the recipe. The ability to search and sort recipes by name, style, and ingredients.After the user selects a list of recipes, the app will create a shopping list with all the require
ingredients, sorted by type (fruits, vegetables, meat, etc.).
Built-in countdown timer on instruction pages when needed. Option for user to decide which units are displayed (temperature, measurements).A guide for basic cooking and knife skills. Once the application has been started, it would be completely voice-controlled. The information can be in the form of text, pictures, or video tutorials. It would ask the user for confirmation of whether it has parsed the recipe correctly.
8/6/2019 ReportSE
7/41
Recipe Helper Pag
Quality Attributes
Quality Attributes Details
Response Time Entered query will be process with in 5 to 10 seconds and
will show the desired result.
Interface Metaphor Recipe helper follows interface metaphor in the GUI
environment which enables user to interact with the
application easily.
Operating system
Platforms
Microsoft Windows Operating System.
Robustness In case of wrong voice command, Recipe Helper will request
user to speak the command again correctly.
Performance Recipe Helper is irrespective of the hardware and has
minimum chance to crash.
Efficiency Recipe Helper performs its entire task within no time andgenerates the required result.
8/6/2019 ReportSE
8/41
Recipe Helper Pag
Functional Requirements
GUI Functions
Function
number
Description Category
F 1.1 Display Application logo on start up. Evident
F 1.2 Display main menu with basic functionalities after logo
display on start up.
Evident
F 1.3 Display basic steps for cooking when basic cooking guide is
selected.
Hidden
F 1.4 Display searching options when advanced searching is
selected.
Evident
F 1.5 Show shopping list after it is created by the application Evident
F 1.6 Provide a list of numerical units to select by the user to
display ingredients
Evident
F 1.7 Display recipes step in sequence after respective time. Evident
F 1.8 When user select close application option from main menu,
pass the command to the respective closing application
module.
Evident
F 1.9 Close GUI when F 1.9 completes. Hidden
8/6/2019 ReportSE
9/41
Recipe Helper Pag
Searching Functions
F2.1 User will select the relevant category and will enter keyword
(name, style & ingredients).
Evident
F2.2 All the recipes of that selected category will be displayed. Evident
Database Functions
F 3.1 Download the desired recipe from the Recipe Helpers
database.
Hidden
F 3.2 Integrate new recipes in database. Hidden
Voice Processing Functions
F 4.1 Once the recipe has been selected, the recipe helper will
read out loudly the recipe step by step.
Hidden
F 4.2 Recipe helper will recognize the users voice pattern. Hidden
F 4.3 Recipe helper will respond against the commands spoken
by the user.
Hidden
8/6/2019 ReportSE
10/41
Recipe Helper Page
Non Functional Requirements
Non-Functional requirements include:
Creating a website to in order to give people online access. Communicate with user for details of recipe. Providing a separate GUI desktop application which can also provide a limited access
however it can also connect with the website.
8/6/2019 ReportSE
11/41
Recipe Helper Page
Software Requirements Specification
Introduction
Purpose
The purpose of this document is to describe the requirement specification for Recipe Helper f
software development teams.The intended audience of this document includes the prospecti
developers of the application and the technical assessment personnel of the client organization.
Scope
The software system to be produced is a Recipe Helper, which will be referred to as RH throug
this document. Cooking by recipe can sometimes be a mess. For the individual, turning the page
of a recipe book with sticky, greasy or occupied hands can be tricky. For the group cookin
together, it is difficult to figure out who should be doing what, and when. And, for both, it is ea
to omit steps, make mistakes, and misunderstand the recipe. The purpose of Recipe Helper is
provide a complete guide for cooking. Anyone who enjoys cooking or wants to learn how to coo
this application can be used by anybody ranging from children to adults to ensure the us
interface is easy to use for everybody.
Definitions, Acronyms, and AbbreviationsActivity: Nature of what is being done. The software process manager defines activities. Exampl
of activities are: analyzing, coding, designing, testing etc.
Artifact: Physical entity that results from an activity. Required artifacts are defined by th
software engineering process. Examples of artifacts are SRS, Architecture Diagram, UML Diagram
Source code, Test scripts and User manual.
SRS: Software Requirement Specification.
ASP:Active Server Pages.
Task: Unit of work defined by the Manager and for which the developer is accountable. Task is
component of the schedule with a start and end date.
SM: Server Module.
8/6/2019 ReportSE
12/41
Recipe Helper Page
GUI: Graphical User Interface.
DB: Database.
RH: Recipe Helper, which is the name of the application to be developed.
TS:Time Stamp, A qualified unit of time spent on software development-related activity. The un
is qualified in terms of the following pieces of information: week duration, project, task, activi
and sub-activity.
ASP:http://www.learnvisualstudio.net
References
IEEE Std.830/1993: IEEE recommended practice for software requirement specifications.
Overview
The rest of the document contains an overall description of the Recipe Helper software applicatio
(section 2), and the specific requirements for the system (Section-3).
Overall Description
Product perspectiveCooking is the essential part of everyday activities and so we come across different recipes. It
usually hard to cook the recipe just as described in the recipe source due to different factors lik
cooking timing, ingredients quantity etc. An application that can assist in helping peop
managing cook timings and ingredients quantity to be put in the dish is useful to get the desire
recipe. RH therefore is made to cover all these aspects.
User Interfaces
The user interface for the general user/customer is to be made with simple menu giving
necessary options. This is because the user may not be familiar with the application or seldo
uses the computer. The interface should be integrated with the desktop module and so can b
downloaded from the RH website. The administrator will have an advanced user interface. It w
give him/her the functionality to manage customers, website, and control the DB. Admin interfa
is provided with the website module.
http://www.learnvisualstudio.net/http://www.learnvisualstudio.net/http://www.learnvisualstudio.net/8/6/2019 ReportSE
13/41
Recipe Helper Page
Hardware Interfaces
The application is made to operate with the Windows OS and therefore should run on gener
systems available in market.
Software Interfaces
The client module is to be made using C#.NET platform. Whereas the administrator module is be made using ASP.NET platform. DBMS will be attached with the administrator module and th
website. DBMS will be attached with the website and the admin module using SQL.
Communication Interfaces
The user module of the RH should be communicated with the Admin module using a TCP/
internet connection. DB should be present on the same host on which website and Admin modu
will be.
Memory ConstraintsThe User module should be able to operate within 64 MB memory space including the space f
the connection and additional space for recipe to be downloaded. The Admin module should b
operate within 128 MB of memory and so do the DB.
Operations
The user module should be simple in terms of operations and perform all basic operations relate
to existing recipe handling and addition of new recipes. User module has to be installed as it is
desktop application. The Admin module should be able to perform advanced function for use
handling and Database management. The back up operations must be defined for all modules i
user, admin and DB in case of a failure.
Product functions
RH is an application to help in cooking. For user desktop module, the application should be ab
to communicate with the RH DBMS in order to download the recipe. The downloaded recip
should be in special format so that application can recognize the ingredients in the recipe an
their cost. RH should organize the recipes in order and present them to the user using the us
interface. After user has selected the desired recipe through GUI menu, the application should athe customer about the quantity of the dish to be made and then calculate how much quantity
the ingredients shall be required. RH then will calculate the total cost and provide a shopping li
on the basis of that cost estimation. In the next step, RH will assume that user got all th
ingredients and will start the recipe steps using timing constraints. Timing constraint means that
8/6/2019 ReportSE
14/41
Recipe Helper Page
RH shall tell the user to perform a specific step and the step is to boil the water. It will inform th
user to do next step after the specific required period of boiling water will pass.RH will have th
option to control it through voice commands. By speaking out a particular command RH w
perform the action against following command. Also user will have the option to pause the recip
at any particular step or repeat a step. RH shall provide the functionality to download new recipfrom the RH online DB. User can also upload any recipe to the online DB to share with other R
users but recipe will be accepted in the specific format used for RH.For Admin, the RH websi
module will provide the admin extra functionality and advanced GUI. He/she will be able
authenticate users, create their accounts, manage them and bound their access rights. RH sha
provide the functionality to admin to access and control the DB.
User characteristics
User, who can operate computer, can easily use this application. RH is easy to understand an
handle. Through voice controlling system it would be more simple and easy.
Constraints
User can only use authentic words to control the application. Special key words like Pause
Next, Previous can only be understandable for the system.
Assumptions and dependencies
There are no general assumptions and dependencies.
Specific Function Requirements
Recipe Helper will provide much functionality to the user;
User Functionalities3.1.1 User will able to select the particular category (Russian, Italian, Chinese, Pakistani, India
etc.) of the recipe.
3.1.2 After selecting the category a sub category for particular recipe will be chosen, whi
includes Chicken, Mutton, Beef, Vegetable etc.
3.1.3 User will select a particular recipe of his/her choice.
3.1.4 User shall be asked the quantity of dish to be made in some unit. For example number
consumers etc.
3.1.5 After selecting a particular recipe, cost will be estimated.
8/6/2019 ReportSE
15/41
Recipe Helper Page
3.1.6 A shopping list will be generated on the basis of cost, which will help the user to bring all t
ingredients for the recipe before cooking.
3.1.7 Now user will be provided with the option of whether the user wants to download the reci
or wants to play the recipe.
3.1.8 On playing recipe all the steps of that recipe will be illustrated.
3.1.9 System will read all steps of the recipe according to users instruction. If user wants th
system to repeat the instruction, than he/she will give the command ofRepeat.
3.1.9.1 User will also have the option to add new recipes in the system after reviewing from t
administrator.
3.1.9.2 User shall be able to give commands by speaking out.
3.1.9.3 User will be provided with a document providing basic cooking techniques.
3.1.9.4 User module will be connected with the database using users account.
3.1.9.5 Pictures and videos can be shown to user in the recipe steps.
3.1.9.6 RH user module will use TCP/IP connection to communicate to DB.
3.1.9.7 User will be able to search the recipe by its name.
Administrator Functionalities3.2.1 The admin will create users account.
3.2.1 Admin module will be connected to database.
3.2.3 Any recipe uploaded by the user will be added to DB after admins approval.
3.2.4 The admin shall have the functionality to update the DB i.e. modify, add or delete a
content in DB.
3.2.5 The admin will be able to modify websites content.
3.2.6 Admin can enable or disable the DB access to users.
3.2.7 Admin can send mails or notifications to the users module.
3.2.8 Admin can delete or Block any users account.
8/6/2019 ReportSE
16/41
Recipe Helper Page
Classification of Functional Requirements
Functionality Type
3.1.1 User will able to select the particular category(Russian, Italian, Chinese, Pakistani, Indian, etc.) of the
recipe.
DESIREABLE
3.1.2 After selecting the category a sub category for
particular recipe will be chosen, which includes Chicken,
Mutton, Beef, Vegetable etc.
ESSENTIAL
3.1.3 User will select a particular recipe of his/her choice. ESSENTIAL
3.1.4 User shall be asked the quantity of dish to be made in
some unit. For example number of consumers etc.
ESSENTIAL
3.1.5 After selecting a particular recipe, cost will be
estimated.
ESSENTIAL
3.1.6 A shopping list will be generated on the basis of cost,
which will help the user to bring all the ingredients for the
recipe before cooking.
ESSENTIAL
3.1.7 Now user will be provided with the option of whether
the user wants to download the recipe or wants to play the
recipe.
ESSENTIAL
3.1.8 On playing recipe all the steps of that recipe will be
illustrated.
ESSENTIAL
3.1.9 System will read all steps of the recipe according to
users instruction. If user wants the system to repeat theinstruction, than he/she will give the command of
Repeat.
ESSENTIAL
3.1.9.3 User will be provided with a document providing
basic cooking techniques.
ESSENTIAL
8/6/2019 ReportSE
17/41
Recipe Helper Page
3.1.9.4 User module will be connected with the database
using users account.
ESSENTIAL
3.1.9.5 Pictures and videos can be shown to user in the
recipe steps.
DESIREABLE
3.1.9.6 RH user module will use TCP/IP connection to
communicate to DB.
ESSENTIAL
3.1.9.7 User will be able to search the recipe by its name. DESIREABLE
3.2.1 The admin will create users account. ESSENTIAL
3.2.2 Admin module will be connected to database. ESSENTIAL
3.2.3 Any recipe uploaded by the user will be added to DBafter admins approval.
ESSENTIAL
3.2.4 The admin shall have the functionality to update the
DB i.e. modify, add or delete any content in DB.
ESSENTIAL
3.2.5 The admin will be able to modify websites content. ESSENTIAL
3.2.6 Admin can enable or disable the DB access to users. ESSENTIAL
3.2.7 Admin can send mails or notifications to the usersmodule.
ESSENTIAL
8/6/2019 ReportSE
18/41
8/6/2019 ReportSE
19/41
Recipe Helper Page
RH: Recipe Helper, which is the name of the application to be developed.
TS: Time Stamp, A qualified unit of time spent on software development-related activity. Th
unit is qualified in terms of the following pieces of information: week duration, project, tas
activity and sub-activity.
ASP:http://www.learnvisualstudio.net
References
IEEE Std.830/1993: IEEE recommended practice for software requirement specifications.
Supplementary Specification
Client / Server
The user interacts with the system through a web browser (Netscape or Internet explorer, ClienGoogle chrome). The browser executes HTML and C# queries to the Web Engine through AStechnology. The Engine communicates with the Database using SQL language. Finally thDatabase returns the data to the Engine which, in turn, gives back the result package to thbrowser. The browser then shows the results to the end-user.
http://www.learnvisualstudio.net/http://www.learnvisualstudio.net/http://www.learnvisualstudio.net/http://www.learnvisualstudio.net/8/6/2019 ReportSE
20/41
Recipe Helper Page
CLIENT HTML
HTTP QUERY
SQL QUERY RECORDS
SERVER
Profitability
1. Graphical InterfaceAll the interactions between human and computer are made through a graphical interface. Eacsystem functionality must be accessible by a mouse or a key board. The user must be able choose a specific branch from the system and then obtaining the results on the screen.
BROWSER
WEBENGINE
Data base
8/6/2019 ReportSE
21/41
Recipe Helper Page
2. Users KnowledgeTargeted users are familiar with the use of the web browsers (Especially with the Google Chromand Internet Explorers) on a Windows-based platform. The tool is designed to be user friendand the user shell not needs training.
PerformanceThe application shall run on a Pentium processor. The application will execute itself on a
Windows-based platform and response time for all tasks shall be inferior to 1.5 seconds (using astandard 1Mbps connection.
Supportability
The web page and client friendly application will be compatible with Microsoft Windows (anyversion). The website will also handle different file formats.
Usability
RH will be usable by all the customers on equal standard there is no power or average user
concept, however a new recipe will be accepted by any user after the acceptance of administrator
Reliability
Availability (97.98%), hours of use, maintenance access, degraded mode operations, and the like.
Mean Time Between Failures (MTBF) 5 years
Mean Time To Repair (MTTR) 3-months
Design Constraints
Programming language used: C#, ASP and HTML for all web contents; SQL for the databamanagement queries.
SecurityFor the security of data all the users have to log in if they want to upload a recipe, so every time
when the user will log in to upload a recipe then login process will be validated by Check and
Verify, Check and Verify is the part of RH but is totally separate and a complete autonomous
module.
Online User Documentation and Help System Requirements
RH will have the utility for the users and non-users to see the user documentation and helping mater
online. The RH should provide these materials to any 1 who visits the RH website. There should not be a
restriction to access these documentations through creating user accounts.
8/6/2019 ReportSE
22/41
Recipe Helper Page
InterfacesRH will use different interfaces for each module. Every interface will be different from each other
due to different module requirements. The user desktop interface will be implemented using
C#.NET platform while the website interface that will also include the admin module will be
implemented using ASP platform. All these interfaces will be communicated through TCP/IPconnection. Also the DB and admin module will be accessible on common port. For the website;
the main page should provide basic info regarding RH and tutorials to learn RH. It should includ
a top menu bar which will include sections for FAQs, contact, and download. The most advance
GUI interface will be for the Admin module which will give the admin functionality to control D
and users on RH website.
User Interfaces
For the user module, the interface should be clean and simple so that any type of user can
understand RH and to use t with ease. The main interface for user module will display the main
menu which will include buttons for recipe search, recipe selection by category, adding new
recipes, basic guides to cooking and exit. Further sub-interfaces will be integrated behind these
buttons and will give user more functionality.
Hardware Interfaces
For the hardware interface, the desktop application should be implemented in a platform which
will enable it to run on hardware supporting windows environment.
Software InterfacesThe user desktop interface will be implemented using C#.NET platform while the website interface th
will also include the admin module will be implemented using ASP platform. MS SQL will be runni
between Admin module and the DB.
Communications Interfaces
The interface to communicate on web should be TCP/IP. While for the communication between
Admin and DBMS will be through Microsoft SQL
8/6/2019 ReportSE
23/41
Recipe Helper Page
Work Breakdown Structure
8/6/2019 ReportSE
24/41
Recipe Helper Page
ActivityPlan
Activity Duration(weeks) PrecedentA RequirementElicitation 1B Requirementanalysis 2 AC RequirementsSpecification 1D RequirementValidation 1 BE ArchitectureDesigning 4 C,DF DatabaseDesigning 1 DG VoiceControl 4H SearchOptimization 1 FI WebInterface 2
J DesktopInterface 2 GK Testingofsingle modules 3 H,I,JL UserManuals 1 KM Integration 3 LN QualityAssurance 3 MO Release 2 N
8/6/2019 ReportSE
25/41
Recipe Helper Page 2
ADM(ArrowDiagrammingMethod)
I10
12G 2 J 11
K L
A B1 3 5 9 13
C D H M
4E
6 7 F 8 14
16 15O N
8/6/2019 ReportSE
26/41
Recipe Helper Page 2
PDM(PrecedenceDiagrammingMethod)
A ID:1 B ID:2 D ID: 3Start: Dur:1week Start: Dur:2week Start: Dur:1weekFinish:
Res: Finish:Res: Finish:Res:
C ID:4
Start: Dur:1week
Finish:Res:
E ID:5
Start: Dur:4week
Finish:Res:
G ID:6
Start: Dur:4week
Finish:
Res:
J ID: 7
Start: Dur:2week
Finish:
Res:
F ID: 8
Start: Dur:1week
Finish:
Res:
I ID: 9
Start: Dur:2week
Finish:
Res:
H ID: 10
Start: Dur:1week
Finish:
Res:
K ID: 11
Start: Dur:3week
Finish:
Res:
L ID:12
Start: Dur:1week
Finish:
Res:
M ID: 13
Start: Dur: 3 week
Finish:
Res:
O ID: 15
Start: Dur: 2 week
Finish:
Res:
N ID: 14
Start: Dur: 3 week
Finish:
Res:
8/6/2019 ReportSE
27/41
Recipe Helper Page 2
t t
t
t
e
Desi gning
n
B 2wks1
Requiremen
Analysis3
2 43wks 1wks
J 2wks4 Desktop
Interface6
4 62wks 0wks
O 2wks N 3wks16 Release 18 13 Quality
Assurance16
13 16 13 18
Start CPM
A 1wks
0Requiremen
1
1 Elicitation 2
D 1wks
3Requiremen
4
4 Validation 5
F 1wks
4 Database 5
5 Designing 6
2wks 1wks 2wks 1wks 2wks 1wks
C 1wks
0 Requiremen1
1 Specification 2
E 4wks
4 Architecture 8
5 Designing 9
H 1wks
5 Search 6
6Optimizatio
7
3wks 2wks 6wks 2wks 2wks 1wks
G 4wks
0 Voice 4
0 Control 4
K 3wks
6 TestingSingl 9
6 Modules 9
4wks 0wks3wks 0wks
I 2wks
0 Web 2
1 Interface 3
L 1wks
9 User 10
4wks 2wks9 Manuals 10 M 3wks
1wks 0wks 10 Integration 13
10 13
Stop
3wks 0wks
8/6/2019 ReportSE
28/41
Recipe Helper Page 2
Critical Path
GJkLMN-
8/6/2019 ReportSE
29/41
Recipe Helper Page 29
Quality Attributes
Response TimeRecipe helper will provide the functionality to the user to enter a query i.e. search
recipe of a dish by its name or type and it will search and present the result for
user in no time. The response time will be very short (about 1 to 2 sec) if the
relevant recipe is present in the desktop applications own database or will take 5
to 10 seconds (depending on the internet speed) if query is to be searched for RHonline database. The response time for other commands input by the user will be
responded within 1 second. For example, repeating a recipe, pausing and
continuing a recipe and so on.
Interface MetaphorRecipe helper will extensively use the Interface Metaphor to make it easy for the
user to interact with the GUI of Recipe helper. The GUI will use the icons that willbe relevant to the functionality and by placing mouse the arrow on any icon, a
description pop will generate that will brief about the function of the related
module. In addition to that to make it easier for user to understand the recipe
steps, videos and audios can also be linked to any recipe.
Operating System Platforms
The operating system platform chosen for Recipe Helper is Microsoft Windows asit is the widely used and most common operating system in the world today and
most of the people familiarize with it. Also because of its plug and play system, on
board installation of Recipe Helper on a desktop or a laptop is very easy for users.
8/6/2019 ReportSE
30/41
Recipe Helper Page 30
RobustnessOne of the great quality features of the Recipe Helper will be its robustness. Even if
the user inputs the wrong info the RH will handle the condition as if not make the
scenario difficult for the user. Upon any crucial input by the user for exampleclosing a recipe, he/she will be asked once to confirm the action so as if a user by
mistake closes the recipe that can be avoided. Also in case the windows crashes or
suddenly the desktop powers off due to electricity problem, upon starting the
application it will resume from the last state of the application. Also if a user
speaks wrong command, he will be asked to speak it again in correct format. If
he/she enters wrong name of the recipe, he/she will be given suggestions that are
close to the entered query.
PerformanceRecipe Helper is a concept of an application which is robust and performs in well
in almost all of the scenarios. It is a hardware independent application and
reduction in dependency ultimately increases the performance of any software
application. The chances of crashing of Recipe Helper will be least as it will be
tested properly under every possible scenario.
EfficiencyRecipe helper is an application which will provide its user the result that will be
timely and relevant. The application will be designed so that the response time for
any query will be least and the output will be relevant to users query. To increase
the efficiency, the recipes stored in the database will be organized under several
approaches like name, style, budget, and ingredients.
8/6/2019 ReportSE
31/41
Recipe Helper Page 31
Architectural Styles
There are two architectural styles which are followed in Recipe Helper. These
include Three-tier architecture and client-server architecture.
Three-Tier ArchitectureThree-tier architecture is actually a sub case of Multitier architecture. In multitier
architecture, n tiers can be used and the common approach is using 3 tiers. In this
architecture, a tier is a complete module which takes an input produce some
output. All tiers in the architecture are independent of each other. For example
change in the code of one tier affects only the relevant tier and not the whole
system. In three-tier architecture we have 3 tiers namely
1. Presentation tier2. Logic tier3. Data tierThe presentation tier interacts with the user using a GUI interface. It takes inputfrom the user and passes it to the logic tier. The logic tier or the middle tier is the
tier where actual system functionality is controlled. The user input is processed
there and respective action is taken place. If the user query requires query to
database then the query is forwarded to data tier using intermediate SQL. The data
tier consists of database and information is retrieved and stored here. In Recipe
Helper, Three-tier architecture is used both in the desktop application and the
website as well. Recipe Helpers user is inputs to the GUIinterface and the input is
processed in Logic tier of website and application respectively. If the input requires
data retrieval then query is passed to Data tier or DB.
8/6/2019 ReportSE
32/41
8/6/2019 ReportSE
33/41
Recipe Helper Page 33
Software Architecture
Module Structure
Database
Desktop
Application
Website
Voice
Controller
Recipe Guide
Shopping List
Creator
User Accounts
Voice
Recognition
Query
Optimizer
Interface
8/6/2019 ReportSE
34/41
Recipe Helper Page 34
Process Structure
No
Yes
RH Open
Log In
Valid?
User Interface
Query Recipe
Query
Optimizer
Application
Database
AB
CLOSE
RH ExitC
8/6/2019 ReportSE
35/41
Recipe Helper Page 35
No
Yes
No
Yes
A
Recipe
Found
Voice Controller
Shopping ListCreator
Enter Parameters
Accept
B
Recipe StepsRepeat
C
Recipe Query
Website Server
Online Main DB
Recipe
8/6/2019 ReportSE
36/41
Recipe Helper Page 36
COST ESTIMATION(COCOMO)
We shall use COCOMO Intermediate model for cost estimation of Recipe Helper.This intermediate model computes s/w development effort (and cost) as a functionof program size and a set of Cost Drivers that include subjective assessments ofproduct h/w, personnel, and project attributes.
We shall use semi detached model of COCOMO due to the complexity and ofintermediate software size.
Data:
A=3.0, B=1.12 C=2.5, D=0.35Delivered Source Instructions (thousands) (KDSI) = 52
Computation:
Effort (PM) = A * Size^B
Effort (PM) = 3.0 * KDSI^1.12
Effort(PM) = 3.0 * 52^1.12 = 250.63
Time (TDEV) = C * PM^D
Time (TDEV) = 2.5 * PM^0.35
Time(TDEV) = 2.5 * 250.63^0.35 = 17.28
Productivity = KDSI / PM
Productivity = 52/250.63 = 0.199
Average Staffing = PM / TDEV
Average Staffing =250.63/17.28 = 14 members
Nominal Effort (PMnom) = 3.0 * 52^1.12 = 250.63
8/6/2019 ReportSE
37/41
8/6/2019 ReportSE
38/41
Recipe Helper Page 38
Total Adjusted Effort250.63+290.732+88.22+278.20+250.63+268.17+298.25+283.22+250.63+250.63+275.70+250.63+260.66= 3490.6
8/6/2019 ReportSE
39/41
Recipe Helper Page 39
Black Box Testing
Five Functional Requirements Download the desired recipe from the Recipe Helpers database. Integrate new recipes in database. Recipe helper will recognize the users voice pattern. Recipe helper will respond against the commands spoken by the user. User will select the relevant category or will enter keyword (name, style &
ingredients).
Download the desired recipe from the Recipe Helpers database.
Characteristics Valid Equivalence
Classes
Invalid Equivalence
Classes
User must be Logged inand select the recipeaccording to his\heraccount type.
User requests todownload theauthorized recipe.
User requests todownload unauthorizedrecipe i.e. Premiumrecipe download requestbut account is notpremium.
The download limit isexceeded.
Network link downs.
Only one of theavailable recipes shouldbe selected.
Available recipe isselected.
The requested recipe isnot available.
8/6/2019 ReportSE
40/41
Recipe Helper Page 40
Integrate new recipes in database.
Characteristics Valid Equivalence
Classes
Invalid Equivalence
Classes
User must be Logged inand should have a validaccount type.
User account hasprivilege to integraterecipes.
User requests to uploadrecipe but dont have a
valid account type.
The uploading limit isexceeded.
Network link downs.
File Format should be ofgiven standard. File Format is right Invalid file format.
Recipe helper will recognize the users voice pattern.
Characteristics Valid Equivalence
Classes
Invalid Equivalence
Classes
Voice should be clearand of appropriate(normal) frequency.
Voice is of normalfrequency.
Voice frequency belowthan normal.
Voice frequency is abovethan normal
Users environmentshould be not too muchnoisy.
Users environment isreasonable.
Too much noise in theenvironment.
Voice mismatched due todistortion in the voice.
No voice signal detectedfrom
8/6/2019 ReportSE
41/41
Recipe helper will respond against the commands spoken by theuser.
Characteristics Valid Equivalence
Classes
Invalid Equivalence
ClassesSpoken commandshould be from one ofthe identified standardcommands.
Valid commandspoken.
Invalid commandspoken.
Command notrecognized due todistortion.
Command should bespoken at a normal
speed.
Command spoken atnormal speed.
Command is spoken atabove the normal speed.
Command is spoken atbelow the normal speed.
There should be a 30seconds differencebetween the twocommands.
Difference between thetwo commands is abovethen 30 seconds.
Difference between thetwo commands is belowor equal to 30 seconds.
User will select the relevant category and will enter keyword (name,
style & ingredients).
Characteristics Valid Equivalence
Classes
Invalid Equivalence
Classes
Entered Keyword muststart with an alphabet.
Starting with thealphabet.
Starting with thenumeric.
Starting with the symbol.
Keyword should notcontain any symbols.
No symbols in thekeyword.
Keyword containssymbols.
Keyword should berelevant to the category,
Keyword is relevant tothe selected category.
No result found due tonon relevant keyword.