3 software product design context ch3

Upload: urrouge

Post on 06-Apr-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 3 Software Product Design Context Ch3

    1/30

    Page 1

    ENGR2720U

    ENGR2720

    Software Design II

    Slides modified from: Introduction to Software Engineering Design(C. Fox)

    Software Product Design

    Context and Analysis

  • 8/2/2019 3 Software Product Design Context Ch3

    2/30

    Page 2

    ENGR2720U

    Context of Software Product Design

  • 8/2/2019 3 Software Product Design Context Ch3

    3/30

    Page 3

    ENGR2720U

    Objectives

    To explain how markets influence product types,which in turn influence design

    To explain the product planning process

    To describe the role and contents of a projectmission statement

    To list the variety of software requirements

    specificationsTo describe the role and contents of an SRS

  • 8/2/2019 3 Software Product Design Context Ch3

    4/30

    Page 4

    ENGR2720U

    Markets

    Organizations study markets to

    Choose which markets to sell to (target markets)

    Choose what products to develop

    Determine product features and characteristics

    Amarket is a set of actual or prospectivecustomers who need or want a product,

    have the resources to exchange something

    of value for it, and are willing to do so.

  • 8/2/2019 3 Software Product Design Context Ch3

    5/30

    Page 5

    ENGR2720U

    Product Categories

    A product category is a dimension along whichproducts may differ, for example Target market size

    Product line novelty Technological novelty

    Product categories help managers Choose target markets

    Choose products to develop

    Choose product characteristics

    A products place in a category influences itsdesign specifications and the design process

  • 8/2/2019 3 Software Product Design Context Ch3

    6/30

    Page 6

    ENGR2720U

    Product Plans

    Management must decide which products todevelop.

    This decision is documented in a product

    plan.

    Aproduct plan is a list ofapproved development projects,

    with start and delivery dates.

  • 8/2/2019 3 Software Product Design Context Ch3

    7/30Page 7

    ENGR2720U

    Product Planning Process

    IdentifyOpportunities

    Evaluate & PrioritizeOpportunities

    Allocate Resources &Determine Timing

    Product Planning ProcessProduct Plan : Plan

    ProductPlan

  • 8/2/2019 3 Software Product Design Context Ch3

    8/30Page 8

    ENGR2720U

    Identifying Opportunities

    New product ideas come from Customers

    Developers

    Entrepreneurs

    Marketers

    An opportunity funnel is a mechanisms for collectingproduct ideas from diverse sources.

    Passive channels

    Active channelsAn opportunity statement is a brief description of aproduct development idea.

  • 8/2/2019 3 Software Product Design Context Ch3

    9/30Page 9

    ENGR2720U

    The Aqualush Product Opportunity

    Lets look at a product that we will keep goingback to in the course as an example forSoftware Design.

    Create an irrigation system that uses soil moisturesensors to control the amount of water used.

  • 8/2/2019 3 Software Product Design Context Ch3

    10/30Page 10

    ENGR2720U

    Evaluating and Prioritizing Opportunities

    Management chooses to pursue opportunitiesbased on Competitive strategy

    Technology leaders, low-cost suppliers, customer support.

    Market segmentation

    Technology trajectories

    Software reuse It is easier to develop software from existing parts.

    Profitability

    Managers attempt to form a well-balanced andcomplete product portfolio.

  • 8/2/2019 3 Software Product Design Context Ch3

    11/30Page 11

    ENGR2720U

    Allocating Resources and Determining Timing

    Usually there are more good opportunities thanan organization can afford to pursue.

    Resources available for development are

    analyzed to determine which product to develop.Resource availability also determines the starttime and duration or projects.

    The result is a product plan.

  • 8/2/2019 3 Software Product Design Context Ch3

    12/30Page 12

    ENGR2720U

    Project Mission Statement

    A project mission statement

    Launches a development project

    States the software design problem

    The project mission statement is the main inputto the product design process.

    Aproject mission statement is adocument that defines a development

    projects goals and limits.

  • 8/2/2019 3 Software Product Design Context Ch3

    13/30Page 13

    ENGR2720U

    Project Mission Statement Template

    1. Introduction2. Product Vision and Project Scope

    3. Target Markets4. Stakeholders5. Assumptions and Constraints6. Business Requirements

  • 8/2/2019 3 Software Product Design Context Ch3

    14/30Page 14

    ENGR2720U

    Project Mission Statement - Introduction

    The introduction contains backgroundinformation to provide context.

    Lets read the Aqualush Mission Statement

    (Figure 3-3-3 in the textbook)

  • 8/2/2019 3 Software Product Design Context Ch3

    15/30Page 15

    ENGR2720U

    Project Mission Statement - Vision

    A product vision statement is a general description of theproducts purpose and form.As an example, the Aqualush Project Mission Statementwas a modification from the Aqualush OpportunityStatement

    Create an irrigation system that uses soil moisturesensors to control the amount of water used.

    The Aqualush Irrigation System will use soil sensorsto control irrigation, thus saving money forcustomers and making better use of waterresources.

  • 8/2/2019 3 Software Product Design Context Ch3

    16/30Page 16

    ENGR2720U

    Project Mission Statement Vision (Major Features List)

    The Vision statement may contain a majorfeatures list and should not limit the designers totheir choice of solutions.

    Monitor water usage and limit usage to amountsset by users

    Allow users to specify times when irrigation occurs Be operated from a simple central control panel Have a Web-based simulator

  • 8/2/2019 3 Software Product Design Context Ch3

    17/30Page 17

    ENGR2720U

    Project Mission Statement - Scope

    The project scope is the work to be done on aproject.

    Often only part of the product vision.

    May list what will not to be done as well as what willbe done.

    The current project will create the minimal

    hardware and software necessary to field a viableproduct along with a Web-based product simulatorfor marketing the product.

  • 8/2/2019 3 Software Product Design Context Ch3

    18/30Page 18

    ENGR2720U

    Target Market and Stakeholders

    A stakeholder is anyone affected by a product orinvolved in or influencing its development.

    Product users and purchasers

    Developers and their managers

    Marketing, sales, distribution, and product supportpersonnel

    Regulators, inspectors, and lawyers

    Developers must know the target market andstakeholders to build a product satisfyingstakeholders needs.

    Lets review the Aqualush stakeholders fig 3-3-8

  • 8/2/2019 3 Software Product Design Context Ch3

    19/30

    Page 19

    ENGR2720U

    Assumptions and Constraints

    An assumption is something that developerstake for granted.

    Feature of the problem

    Examples: target deployment environments,levels of user support

    A constraint is any factor that limitsdevelopers.

    Restriction on the solution

    Examples: cost and time limits, conformance toregulations

  • 8/2/2019 3 Software Product Design Context Ch3

    20/30

    Page 20

    ENGR2720U

    Business Requirements

    A business requirement is a statement of a client or developmentorganization goal that a product must meet.

    Time, cost, quality, or business results

    Should be stated so that it is clear whether it is satisfied(quantitative goals)

    Broad goals related to business, not detailed productspecifications

    Aqualush must achieve at least 5% target market share within one yearof introduction.Aqualush must establish base irrigation control technology for use in later

    products.Aqualush must demonstrate irrigation cost savings of at least 15% peryear over competitive products.The firs version of Aqualush must be brought to market within one year ofthe development project launch.

  • 8/2/2019 3 Software Product Design Context Ch3

    21/30

    Page 21

    ENGR2720U

    Requirements Engineering

    Requirements development is the portion ofrequirements engineering concerned with initiallyestablishing requirements (aka product design).

    Requirements management is the portion ofrequirements engineering concerned with controllingand propagating requirements changes.

    Requirements engineering iscreating, modifying, and managing

    requirements over a products lifetime.

  • 8/2/2019 3 Software Product Design Context Ch3

    22/30

    Page 22

    ENGR2720U

    SRS

    The SRS should contain A statement of the product design problem

    (may cite the mission statement)

    A solution to the product design problemAn SRS is the output of the producedesign process.

    Asoftware requirements specification(SRS) is a document cataloging all therequirements for a software product.

  • 8/2/2019 3 Software Product Design Context Ch3

    23/30

    Page 23

    ENGR2720U

    Technical Requirements

    A technical requirement is a statement of afeature, function, capability, or property that aproduct must have (that is not a businessrequirement). A functional requirement is a statement of how a

    program must map program inputs to programoutputs.

    A non-functional requirement is a statement that a

    software product must have certain properties. A data requirement is a statement that certain data

    must be input to, output from, or stored by a product.

  • 8/2/2019 3 Software Product Design Context Ch3

    24/30

    Page 24

    ENGR2720U

    Requirements Taxonomy

    Requirements

    Business

    Technical

    Functional

    Non-Functional

    Data

  • 8/2/2019 3 Software Product Design Context Ch3

    25/30

    Page 25

    ENGR2720U

    Small Exercise

    Make up a set of functional, non-functional, anddata requirements for the Aqualush product.

    ENGR U

  • 8/2/2019 3 Software Product Design Context Ch3

    26/30

    Page 26

    ENGR2720U

    Levels of Abstraction in Requirements

    A user-level requirement is statement abouthow a product must support stakeholders inachieving their goals or tasks.

    An operational-level requirement is a

    statement about inputs, outputs, operations,characteristics, etc. that a product mustprovide, without reference to physicalrealization.

    A physical-level requirement is a statementabout the physical form of a product, itsphysical interfaces, or its data formats.

    ENGR2720U

  • 8/2/2019 3 Software Product Design Context Ch3

    27/30

    Page 27

    ENGR2720U

    Small Exercise

    Take the functional, non-functional, and datarequirements that you specified for the Aqualushproduct and categorize them into user,

    operational, and physical.

    ENGR2720U

  • 8/2/2019 3 Software Product Design Context Ch3

    28/30

    Page 28

    ENGR2720U

    Interaction Design

    Interaction design is the activity of specifyingproducts that people can use effectively andenjoyably.

    Dialog designThe dynamics of the interaction

    Physical form designThe static characteristicsand appearance of the interface (presentation)

    Interaction design should be part of

    requirements development.

    ENGR2720U

  • 8/2/2019 3 Software Product Design Context Ch3

    29/30

    Page 29

    ENGR2720U

    SRS Template1. Product Description

    1.1 Product Vision1.2 Business Requirements1.3 Users and OtherStakeholders1.4 Project Scope1.5 Assumptions1.6 Constraints

    2. Functional Requirements3. Data Requirements4. Non-Functional Requirements5. Interface Requirements

    5.1 User Interfaces5.2 Hardware Interfaces5.3 Software Interfaces

    http://www.jiludwig.com/Template_Guidance.html

    ENGR2720U

  • 8/2/2019 3 Software Product Design Context Ch3

    30/30

    ENGR2720U

    Summary

    Markets influence product development decisions;product types influence product design.

    Management performs a product planning process toproduce a product plan listing development projects.

    Projects are launched with a project missionstatement that frames the product design problem.

    The output of product design is an SRS that containsfunctional, non-functional, and data requirements

    stated at several levels of abstraction.An interaction design is an essential part of an SRS.