ReportSE

Embed Size (px)

Citation preview

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