You are on page 1of 41

Final Report

PROJECT PROPOSAL

PRESENTS

Safdar Dabeer Asjad Sheikh Hafiz Ahmad Bilal WaqasZamurrad

08-0487 08-0083 08-0061 08-0285

Recipe Helper

Page 1

Contents
Project Proposal ............................................................................................................................................................. 5 Scope:........................................................................................................................................................................................ 5 Objective: .................................................................................................................................................................................. 5 Description: ............................................................................................................................................................................... 5 Project Features ............................................................................................................................................................. 6 Quality Attributes ........................................................................................................................................................... 7 Functional Requirements ................................................................................................................................................ 8 GUI Functions............................................................................................................................................................................ 8 Searching Functions .................................................................................................................................................................. 9 Database Functions................................................................................................................................................................... 9 Voice Processing Functions....................................................................................................................................................... 9 Non Functional Requirements ....................................................................................................................................... 10 Software Requirements Specification ............................................................................................................................ 11 Introduction ............................................................................................................................................................................ 11 Purpose ............................................................................................................................................................................... 11 Scope................................................................................................................................................................................... 11 Definitions, Acronyms, and Abbreviations ......................................................................................................................... 11 References .......................................................................................................................................................................... 12 Overview ............................................................................................................................................................................. 12 Overall Description ................................................................................................................................................................. 12 Product perspective ............................................................................................................................................................ 12 User Interfaces .................................................................................................................................................................... 12 Hardware Interfaces ........................................................................................................................................................... 13 Software Interfaces............................................................................................................................................................. 13 Communication Interfaces.................................................................................................................................................. 13 Memory Constraints ........................................................................................................................................................... 13 Operations .......................................................................................................................................................................... 13 Product functions................................................................................................................................................................ 13 User characteristics............................................................................................................................................................. 14 Constraints .......................................................................................................................................................................... 14 Recipe Helper Page 2

Assumptions and dependencies ......................................................................................................................................... 14 Specific Function Requirements ......................................................................................................................................... 14 User Functionalities ................................................................................................................................................................ 14 Administrator Functionalities ............................................................................................................................................. 15 Classification of Functional Requirements ............................................................................................................................. 16 Supplementary Specifications ....................................................................................................................................... 18 Introduction ............................................................................................................................................................................ 18 Purpose ............................................................................................................................................................................... 18 Scope................................................................................................................................................................................... 18 Definitions, Acronyms, and Abbreviations ......................................................................................................................... 18 References .......................................................................................................................................................................... 19 Supplementary Specification .................................................................................................................................................. 19 Client / Server ..................................................................................................................................................................... 19 Profitability ......................................................................................................................................................................... 20 1. 2. Graphical Interface ..................................................................................................................................................... 20 Users Knowledge ....................................................................................................................................................... 21

Performance ....................................................................................................................................................................... 21 Supportability...................................................................................................................................................................... 21 Usability .............................................................................................................................................................................. 21 Reliability ............................................................................................................................................................................ 21 Design Constraints .............................................................................................................................................................. 21 Security ................................................................................................................................................................................... 21 Online User Documentation and Help System Requirements ............................................................................................... 21 Interfaces ................................................................................................................................................................................ 22 User Interfaces .................................................................................................................................................................... 22 Hardware Interfaces ........................................................................................................................................................... 22 Software Interfaces............................................................................................................................................................. 22 Communications Interfaces ................................................................................................................................................ 22 Work Breakdown Structure ........................................................................................................................................... 23 Activity Plan ................................................................................................................................................................. 24 ADM(ArrowDiagrammingMethod) ................................................................................................................................ 25 PDM(PrecedenceDiagrammingMethod) ........................................................................................................................ 26 Recipe Helper Page 3

CPM ............................................................................................................................................................................. 27 Critical Path .................................................................................................................................................................. 28 Quality Attributes ......................................................................................................................................................... 29 Response Time ........................................................................................................................................................................ 29 Interface Metaphor ................................................................................................................................................................ 29 Operating System Platforms ................................................................................................................................................... 29 Robustness .............................................................................................................................................................................. 30 Performance ........................................................................................................................................................................... 30 Efficiency ................................................................................................................................................................................. 30 Architectural Styles....................................................................................................................................................... 31 Three-Tier Architecture .......................................................................................................................................................... 31 Client-Server Architecture ...................................................................................................................................................... 32 Software Architecture................................................................................................................................................... 33 Module Structure.................................................................................................................................................................... 33 Process Structure .................................................................................................................................................................... 34 COST ESTIMATION(COCOMO) ....................................................................................................................................... 36 Black Box Testing .......................................................................................................................................................... 39

Recipe Helper

Page 4

Project Proposal
Scope:
Cooking by recipe can sometimes be a mess. For the individual, turning the pages of a recipe book with sticky, greasy or occupied hands can be tricky. Using the elbows (or feet) usually does not work so well either. For the group cooking together, it is difficult to figure out who should be doing what, and when. And, for both, it is easy to omit steps, make mistakes, and misunderstand the recipe, adding pepper when the recipe called for paprika. The Recipe Helper is a mobile application 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 enjoys cooking or wants to learn how to cook, this app can be used by anybody ranging from children to 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 cook. Rather than just providing a large database of recipes, it will also have many interactive features to 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 shopping list with all the required ingredients, sorted by type (fruits, vegetables, meat, etc.) Step-by-step instructions that guides users through the recipe Built-in countdown timer/alarm on instruction pages when needed Option for user to decide which units are displayed (temperature, measurements) A guide for basic cooking and knife skills.

Recipe Helper

Page 5

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

Recipe Helper

Page 6

Quality Attributes
Quality Attributes Response Time Details 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 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 and generates the required result. Microsoft Windows Operating System.

Recipe Helper

Page 7

Functional Requirements
GUI Functions
Function number F 1.1 F 1.2 Display Application logo on start up. Display main menu with basic functionalities after logo display on start up. F 1.3 Display basic steps for cooking when basic cooking guide is selected. F 1.4 Display searching options when advanced searching is selected. F 1.5 F 1.6 Show shopping list after it is created by the application Provide a list of numerical units to select by the user to display ingredients F 1.7 F 1.8 Display recipes step in sequence after respective time. Evident Evident Evident Evident Hidden Evident Evident Description Category

When user select close application option from main menu, Evident pass the command to the respective closing application module.

F 1.9

Close GUI when F 1.9 completes.

Hidden

Recipe Helper

Page 8

Searching Functions
F2.1 User will select the relevant category and will enter keyword (name, style & ingredients). F2.2 All the recipes of that selected category will be displayed. Evident Evident

Database Functions
F 3.1 Download the desired recipe from the Recipe Helpers database. F 3.2 Integrate new recipes in database. Hidden 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. F 4.2 F 4.3 Recipe helper will recognize the users voice pattern. Recipe helper will respond against the commands spoken by the user. Hidden Hidden Hidden

Recipe Helper

Page 9

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.

Recipe Helper

Page 10

Software Requirements Specification


Introduction
Purpose
The purpose of this document is to describe the requirement specification for Recipe Helper for software development teams.The intended audience of this document includes the prospective 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 through this document. Cooking by recipe can sometimes be a mess. For the individual, turning the pages of a recipe book with sticky, greasy or occupied hands can be tricky. For the group cooking together, it is difficult to figure out who should be doing what, and when. And, for both, it is easy to omit steps, make mistakes, and misunderstand the recipe. The purpose of Recipe Helper is to provide a complete guide for cooking. Anyone who enjoys cooking or wants to learn how to cook, this application can be used by anybody ranging from children to adults to ensure the user interface is easy to use for everybody.

Definitions, Acronyms, and Abbreviations


Activity: Nature of what is being done. The software process manager defines activities. Examples of activities are: analyzing, coding, designing, testing etc. Artifact: Physical entity that results from an activity. Required artifacts are defined by the 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 a component of the schedule with a start and end date. SM: Server Module.
Page 11

Recipe Helper

GUI: DB: RH:

Graphical User Interface. Database. 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 unit is qualified in terms of the following pieces of information: week duration, project, task, activity 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 application (section 2), and the specific requirements for the system (Section-3).

Overall Description
Product perspective
Cooking is the essential part of everyday activities and so we come across different recipes. It is usually hard to cook the recipe just as described in the recipe source due to different factors like cooking timing, ingredients quantity etc. An application that can assist in helping people managing cook timings and ingredients quantity to be put in the dish is useful to get the desired 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 all necessary options. This is because the user may not be familiar with the application or seldom uses the computer. The interface should be integrated with the desktop module and so can be downloaded from the RH website. The administrator will have an advanced user interface. It will give him/her the functionality to manage customers, website, and control the DB. Admin interface is provided with the website module.
Recipe Helper Page 12

Hardware Interfaces
The application is made to operate with the Windows OS and therefore should run on general systems available in market.

Software Interfaces
The client module is to be made using C#.NET platform. Whereas the administrator module is to be made using ASP.NET platform. DBMS will be attached with the administrator module and the 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/IP internet connection. DB should be present on the same host on which website and Admin module will be.

Memory Constraints
The User module should be able to operate within 64 MB memory space including the space for the connection and additional space for recipe to be downloaded. The Admin module should be 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 related to existing recipe handling and addition of new recipes. User module has to be installed as it is a desktop application. The Admin module should be able to perform advanced function for users handling and Database management. The back up operations must be defined for all modules i.e. 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 able to communicate with the RH DBMS in order to download the recipe. The downloaded recipe should be in special format so that application can recognize the ingredients in the recipe and their cost. RH should organize the recipes in order and present them to the user using the user interface. After user has selected the desired recipe through GUI menu, the application should ask the customer about the quantity of the dish to be made and then calculate how much quantity of the ingredients shall be required. RH then will calculate the total cost and provide a shopping list on the basis of that cost estimation. In the next step, RH will assume that user got all the ingredients and will start the recipe steps using timing constraints. Timing constraint means that

Recipe Helper

Page 13

RH shall tell the user to perform a specific step and the step is to boil the water. It will inform the user to do next step after the specific required period of boiling water will pass.RH will have the option to control it through voice commands. By speaking out a particular command RH will perform the action against following command. Also user will have the option to pause the recipe at any particular step or repeat a step. RH shall provide the functionality to download new recipes from the RH online DB. User can also upload any recipe to the online DB to share with other RH users but recipe will be accepted in the specific format used for RH.For Admin, the RH website module will provide the admin extra functionality and advanced GUI. He/she will be able to authenticate users, create their accounts, manage them and bound their access rights. RH shall 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 and 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 Functionalities
3.1.1 User will able to select the particular category (Russian, Italian, Chinese, Pakistani, Indian, etc.) of the recipe. 3.1.2 After selecting the category a sub category for particular recipe will be chosen, which 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 of consumers etc. 3.1.5 After selecting a particular recipe, cost will be estimated.

Recipe Helper

Page 14

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. 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. 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 the system to repeat the instruction, than he/she will give the command of Repeat. 3.1.9.1 User will also have the option to add new recipes in the system after reviewing from the 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 Functionalities
3.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 any 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.
Recipe Helper Page 15

Classification of Functional Requirements


Functionality 3.1.1 User will able to select the particular category (Russian, Italian, Chinese, Pakistani, Indian, etc.) of the recipe. 3.1.2 After selecting the category a sub category for particular recipe will be chosen, which 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 of consumers etc. 3.1.5 After selecting a particular recipe, cost will be estimated. 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. 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. 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 the system to repeat the instruction, than he/she will give the command of Repeat. 3.1.9.3 User will be provided with a document providing basic cooking techniques. Type DESIREABLE

ESSENTIAL

ESSENTIAL ESSENTIAL

ESSENTIAL

ESSENTIAL

ESSENTIAL

ESSENTIAL

ESSENTIAL

ESSENTIAL

Recipe Helper

Page 16

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. 3.2.1 The admin will create users account. 3.2.2 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 any 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.

ESSENTIAL

DESIREABLE

ESSENTIAL

DESIREABLE ESSENTIAL ESSENTIAL ESSENTIAL

ESSENTIAL

ESSENTIAL ESSENTIAL ESSENTIAL

Recipe Helper

Page 17

Supplementary Specifications
Introduction
Purpose
Supplementary Specifications capture the requirements which are not easily defined within the use case model. Requirement such as: legal standards, quality aspects, reliability, supportability and execution criteria of the system.

Scope
The software system to be produced is a Recipe Helper, which will be referred to as RH through this document. Cooking by recipe can sometimes be a mess. For the individual, turning the pages of a recipe book with sticky, greasy or occupied hands can be tricky. For the group cooking together, it is difficult to figure out who should be doing what, and when. And, for both, it is easy to omit steps, make mistakes, and misunderstand the recipe.

Definitions, Acronyms, and Abbreviations


Activity: Nature of what is being done. The software process manager defines activities. Examples of activities are: analyzing, coding, designing, testing etc. Artifact: Physical entity that results from an activity. Required artifacts are defined by the software engineering process. Examples of artifacts are SRS, Architecture Diagram, UML Diagram, Source code, Test scripts and User manual. SS: Supplementary Specification.

ASP: Active Server Pages. Task: Unit of work defined by the Manager and for which the developer is accountable. Task is a component of the schedule with a start and end date. SM: GUI: DB: Server Module. Graphical User Interface. Database.
Page 18

Recipe Helper

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 unit is qualified in terms of the following pieces of information: week duration, project, task, 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, Client, Google chrome). The browser executes HTML and C# queries to the Web Engine through ASP technology. The Engine communicates with the Database using SQL language. Finally the Database returns the data to the Engine which, in turn, gives back the result package to the browser. The browser then shows the results to the end-user.

Recipe Helper

Page 19

BROWSER

CLIENT HTTP QUERY

HTML

WEBENGINE

SQL SERVER

QUERY RECORDS

Data base

Profitability
1. Graphical Interface All the interactions between human and computer are made through a graphical interface. Each system functionality must be accessible by a mouse or a key board. The user must be able to choose a specific branch from the system and then obtaining the results on the screen.

Recipe Helper

Page 20

2. Users Knowledge Targeted users are familiar with the use of the web browsers (Especially with the Google Chrome and Internet Explorers) on a Windows-based platform. The tool is designed to be user friendly and the user shell not needs training.

Performance
The 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 a standard 1Mbps connection.

Supportability
The web page and client friendly application will be compatible with Microsoft version). The website will also handle different file formats. Windows (any

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 database management queries.

Security
For 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 material online. The RH should provide these materials to any 1 who visits the RH website. There should not be any restriction to access these documentations through creating user accounts.
Recipe Helper Page 21

Interfaces
RH 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/IP connection. 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 include a top menu bar which will include sections for FAQs, contact, and download. The most advanced GUI interface will be for the Admin module which will give the admin functionality to control DB 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 Interfaces
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. MS SQL will be running 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

Recipe Helper

Page 22

Work Breakdown Structure

Recipe Helper

Page 23

Activity Plan
A B C D E F G H I J K L M N O Activity RequirementElicitation Requirementanalysis RequirementsSpecification RequirementValidation ArchitectureDesigning DatabaseDesigning VoiceControl SearchOptimization WebInterface DesktopInterface Testingofsingle modules UserManuals Integration QualityAssurance Release Duration(weeks) 1 2 1 1 4 1 4 1 2 2 3 1 3 3 2 Precedent A B C,D D F G H,I,J K L M N

Recipe Helper

Page 24

ADM(ArrowDiagrammingMethod)

10

12 11
K L

1
C

5
D

9
H

13
M

14

16

15

Recipe Helper

Page 25

PDM(PrecedenceDiagrammingMethod)
A Start: Finish: Res: ID:1 Dur:1week B Start: Finish: Res: ID:2 Dur:2week D Start: Finish: Res: ID: 3 Dur:1week

C Start: Finish: Res:

ID:4 Dur:1week

E Start: Finish: Res:

ID:5 Dur:4week

G Start: Finish: Res:

ID:6 Dur:4week

J Start: Finish: Res:

ID: 7 Dur:2week

F Start: Finish: Res:

ID: 8 Dur:1week

I Start: Finish: Res:

ID: 9 Dur:2week

H Start: Finish: Res:

ID: 10 Dur:1week

K Start: Finish: Res:

ID: 11 Dur:3week

L Start: Finish: Res:

ID:12 Dur:1week

O Start: Finish: Res:

ID: 15 Dur: 2 week

N Start: Finish: Res:

ID: 14 Dur: 3 week

M Start: Finish: Res:

ID: 13 Dur: 3 week

Recipe Helper

Page 26

Start

CPM
B 2wks D 1wks F 4 5 1wks Database Designing 1wks 5 6 1 Requiremen t 3 2 2 Analysis 1wks 4 3 Requiremen4t 4 Validation 5 1wks

1wks

0 Requiremen1t 1 Elicitation 1wks

2wks

3wks

2wks

2wks

1wks

4wks

H 5 9

1wks Search 6

0 Requiremen1t 1 Specification 2 3wks 2wks

4 Architecture 8 5 Designing 2wks

6 Optimizatio n 7 2wks 1wks

6wks

G 0 0 4wks

4wks Voice Control 0wks 4 4

J 4 4

2wks Desktop Interface 0wks 6 6

3wks

6 TestingSingl e 9 6 Modules 9

2wks

3wks gning Desi 0wks

I 0 1

2wks Web Interface 2wks 2 3 L 9 9 1wks User Manuals 0wks 10 10 M 3wks

4wks

1wks

10 Integration 13 10 13 0wks

O Stop 16 13 2wks Recipe Helper

2wks Release 18 16 0wks

N 13 13 3wks

3wks Quality Assurance 0wks 16 18

3wks

Page 27

Critical Path

G JkLMN-

Recipe Helper

Page 28

Quality Attributes
Response Time
Recipe 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 RH online 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 Metaphor
Recipe 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 will be 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 as it 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.

Recipe Helper

Page 29

Robustness
One 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 example closing 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.

Performance
Recipe 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.

Efficiency
Recipe 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.

Recipe Helper

Page 30

Architectural Styles
There are two architectural styles which are followed in Recipe Helper. These include Three-tier architecture and client-server architecture.

Three-Tier Architecture
Three-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 tier 2. Logic tier 3. Data tier The presentation tier interacts with the user using a GUI interface. It takes input from 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.

Recipe Helper

Page 31

Client-Server Architecture
In client server architecture, server got the resources and provides it to the client whenever client query for it. In Recipe Helper, client server architecture is followed between the desktop application and the website. The website contains the server whereas application is client. Whenever user queries for a recipe that is not present in the applications database, it queries it from the main online database. The server first processes the query and passes it to the DB. If the recipe is present in DB it is send back to the application otherwise unavailability message is shown to the user.

Recipe Helper

Page 32

Software Architecture
Module Structure

User Accounts

Website

Database

Recipe Guide

Desktop Application

Query Optimizer

Shopping List Creator

Interface

Voice Recognition

Voice Controller

Recipe Helper

Page 33

Process Structure RH Open

Log In

No

Valid? Yes User Interface CLOSE Query Recipe

Query Optimizer

Application Database
C B A

RH Exit

Recipe Helper

Page 34

Recipe Found Yes Voice Controller

No Recipe Query

Website Server

Shopping List Creator

Online Main DB

Enter Parameters

Recipe

No Accept

Yes Recipe Steps

Repeat

Recipe Helper

Page 35

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 function of program size and a set of Cost Drivers that include subjective assessments of product h/w, personnel, and project attributes. We shall use semi detached model of COCOMO due to the complexity and of intermediate software size. Data: A=3.0, B=1.12 C=2.5, D=0.35 Delivered 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

Recipe Helper

Page 36

RELY cost driver, Normal = 1.00 Adjusted effort (PM) = 250.63 * 1.00 = 250.63 PM DATA cost driver, Very High = 1.16 Adjusted effort (PM) = 250.63 * 1.08 = 290.73 PM CPLX cost driver, High = 1.15 Adjusted effort (PM) = 250.63 * 1.15 = 288.22 PM TIME cost driver, High = 1.11 Adjusted effort (PM) = 250.63 * 1.11 = 278.20 PM STOR cost driver, Normal = 1.00 Adjusted effort (PM) = 250.63 * 1.00 = 250.63 PM TURN cost driver, High = 1.07 Adjusted effort (PM) = 250.63 * 1.07 = 268.17 PM ACAP cost driver, Low = 1.19 Adjusted effort (PM) = 250.63 * 1.19 = 298.25 PM AEXP cost driver, Low = 1.13 Adjusted effort (PM) = 250.63 * 1.13 = 283.22 PM PCAP cost driver, Normal = 1.00 Adjusted effort (PM) = 250.63 * 1.00 = 250.63 PM LEXP cost driver, Normal = 1.00 Adjusted effort (PM) = 250.63 * 1.00 = 250.63 PM MODP cost driver, Low = 1.10 Adjusted effort (PM) = 250.63 * 1.10 = 275.70 PM TOOL cost driver, Normal = 1.00 Adjusted effort (PM) = 250.63 * 1.00 = 250.63 PM SCED cost driver, High = 1.04 Adjusted effort (PM) = 250.63 * 1.04 = 260.66 PM

Recipe Helper

Page 37

Total Adjusted Effort 250.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

Recipe Helper

Page 38

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 User must be Logged in and select the recipe according to his\her account type. User requests to download the authorized recipe. Invalid Equivalence Classes User requests to download unauthorized recipe i.e. Premium recipe download request but account is not premium. The download limit is exceeded. Network link downs. Only one of the available recipes should be selected. Available recipe is selected. The requested recipe is not available.

Recipe Helper

Page 39

Integrate new recipes in database.


Characteristics Valid Equivalence Classes User must be Logged in and should have a valid account type. User account has privilege to integrate recipes. Invalid Equivalence Classes User requests to upload recipe but dont have a valid account type. The uploading limit is exceeded. Network link downs. File Format should be of File Format is right given standard. Invalid file format.

Recipe helper will recognize the users voice pattern.


Characteristics Valid Equivalence Classes Voice should be clear and of appropriate (normal) frequency. Voice is of normal frequency. Invalid Equivalence Classes Voice frequency below than normal. Voice frequency is above than normal Too much noise in the environment. Voice mismatched due to distortion in the voice. No voice signal detected from

Users environment should be not too much noisy.

Users environment is reasonable.

Recipe Helper

Page 40

Recipe helper will respond against the commands spoken by the user.
Characteristics Valid Equivalence Classes Spoken command should be from one of the identified standard commands. Valid command spoken. Invalid Equivalence Classes Invalid command spoken. Command not recognized due to distortion. Command is spoken at above the normal speed.

Command should be spoken at a normal speed.

Command spoken at normal speed.

There should be a 30 seconds difference between the two commands.

Command is spoken at below the normal speed. Difference between the Difference between the two commands is above two commands is below then 30 seconds. or equal to 30 seconds.

User will select the relevant category and will enter keyword (name, style & ingredients). Characteristics Valid Equivalence Classes Entered Keyword must start with an alphabet. Starting with the alphabet. Invalid Equivalence Classes Starting with the numeric. Starting with the symbol. Keyword should not contain any symbols. No symbols in the keyword. Keyword contains symbols. No result found due to non relevant keyword.

Keyword should be Keyword is relevant to relevant to the category, the selected category.

Recipe Helper

Page 41