4 Software Product Design Analysis Ch4

download 4 Software Product Design Analysis Ch4

of 27

Transcript of 4 Software Product Design Analysis Ch4

  • 8/2/2019 4 Software Product Design Analysis Ch4

    1/27

    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 4 Software Product Design Analysis Ch4

    2/27

    Page 2

    ENGR2720U

    Product Design Analysis

  • 8/2/2019 4 Software Product Design Analysis Ch4

    3/27

    Page 3

    ENGR2720U

    Objectives

    To explain the product design process as top-down and user centered

    To list and explain several needs elicitation

    heuristics and techniquesTo describe how to analyze and documentneeds elicitation results

    To explain how to check analysis results

  • 8/2/2019 4 Software Product Design Analysis Ch4

    4/27

    Page 4

    ENGR2720U

    Software Product Design Process

    Generic Software Product DesignProject Mission Statement : Problem

    SRS : Solution

    Project Mission

    Statement

    SRS

    [adequate]

    [else]

    [complete]

    [else]

    Analyze Product

    Design Problem

    Elicit/Analyze

    Detailed Needs

    Generate/Improve

    Candidate Requirements

    Evaluate Candidate

    Requirements

    Select Requirements

    Finalize Requi rements

  • 8/2/2019 4 Software Product Design Analysis Ch4

    5/27

    Page 5

    ENGR2720U

    Top-Down Process

    Design resolution begins with abstractrequirements and refines them

    Designers move from user-level tooperational-level to physical levelrequirements

    Main activity in the resolution loop

  • 8/2/2019 4 Software Product Design Analysis Ch4

    6/27

    Page 6

    ENGR2720U

    User-Centered Process

    Stakeholder focusDetermine needs of allstakeholders and include them in evaluation

    Empirical evaluation

    Collect data aboutneeds, desires, and design quality

    IterationImprove design repeatedly untiladequate

  • 8/2/2019 4 Software Product Design Analysis Ch4

    7/27Page 7

    ENGR2720U

    Stakeholder Roles

    Activity Stakeholders RoleAnalyze ProductDesign Problem Clarify project mission statementAnswer questionsElicit Needs Answer questions

    Be subjects of empirical studiesAnalyze Needs Answer questionsReview and validate models and documents

    Participate in analysis with designersGenerate/ImproveAlternatives Participate in generation and improvement

    Evaluate Alternatives Answer questionsBe subject of empirical studiesParticipate in evaluation with designers

    Select Alternatives Participate in selection with designersFinalize Design Review and validate requirements

  • 8/2/2019 4 Software Product Design Analysis Ch4

    8/27Page 8

    ENGR2720U

    Aqualush Exercise

    Read through the Aqualush process that wasfollowed to finalize the requirements in order tocreate an SRS on page 102 in the textbook.

    Summarize the steps taken in bullet form.

  • 8/2/2019 4 Software Product Design Analysis Ch4

    9/27Page 9

    ENGR2720U

    Needs versus Requirements

    Stakeholder needs and desires define theproduct design problem.

    Requirements specify the product design

    solution.Needs and requirements statements aresimilar, but the heart of product design ismoving from needs to requirements.

    Conflicting needs and desires

    Tradeoffs (needs and constraints)

    Ways of satisfying needs and desires

  • 8/2/2019 4 Software Product Design Analysis Ch4

    10/27Page 10

    ENGR2720U

    Needs Elicitation Challenges 1

    Needs and desires must be understood inthe context of the problem domain.

    Stakeholders may not be available.Stakeholder responses are often hard tounderstand and sort out.

  • 8/2/2019 4 Software Product Design Analysis Ch4

    11/27Page 11

    ENGR2720U

    Needs Elicitation Challenges 2

    Stakeholders often cannot explain their work,or articulate their needs and desires.

    Stakeholders make mistakes, leave thingsout, and are misleading.

    Stakeholders often dont understand the

    capabilities and limitations of technology.

  • 8/2/2019 4 Software Product Design Analysis Ch4

    12/27Page 12

    ENGR2720U

    Elicitation Heuristics

    Learn about the problem domain first.

    Determine stakeholder goals as the

    context of stakeholder needs and desires.Study user tasks.

  • 8/2/2019 4 Software Product Design Analysis Ch4

    13/27Page 13

    ENGR2720U

    Elicitation Techniques 1

    InterviewsDesigners questionstakeholders

    Most important technique

    Many ways to do interviews

    Recording responses

    ObservationDesigners watch users work

    Better than having people explain their work

    Several of the right people, several times

    Talking out loud

    Recording observations

  • 8/2/2019 4 Software Product Design Analysis Ch4

    14/27Page 14

    ENGR2720U

    Elicitation Techniques 2

    Focus groupsInformal discussion led by afacilitator Six to nine people

    Facilitator keeps people on task

    User-level requirements

    Elicitation workshopsDirected discussion ledby a facilitator

    More directed and detailed than a focus group Specific goals

    Needs or desires or product features and details

    Requires committed stakeholders

  • 8/2/2019 4 Software Product Design Analysis Ch4

    15/27Page 15

    ENGR2720U

    Elicitation Techniques 3

    Document studies

    Books (problem domain)

    Policies and procedures

    Process improvement studies Development documentation

    Problem and bug reports

    Suggestions

    Competitive product studies

    Products themselves

    Reviews and market studies

  • 8/2/2019 4 Software Product Design Analysis Ch4

    16/27

  • 8/2/2019 4 Software Product Design Analysis Ch4

    17/27Page 17

    ENGR2720U

    Documenting the Problem Domain

    Organize notes

    Make a problem domain glossary

    Make an organization chart

    Make UML activity diagrams

  • 8/2/2019 4 Software Product Design Analysis Ch4

    18/27Page 18

    ENGR2720U

    Categories are based on roles, not individuals, jobs,or titles.

    Documenting Goals

    Astakeholders-goals list is acatalog of important stakeholder

    categories and their goals.

    Look at Table 4-3-1 as an example of the Aqualush stakeholders-goalslist. What is the pupose of this goals list?

  • 8/2/2019 4 Software Product Design Analysis Ch4

    19/27

    Page 19

    ENGR2720U

    Documenting Needs and Desires

    A need statement should

    Name the stakeholder category or categories

    State one specific need

    Be a positive declarative sentence

    Often requires interpretation of raw data

    Aneed statement documents a singleproduct feature, function, or property needed

    or desired by one or more stakeholders.

  • 8/2/2019 4 Software Product Design Analysis Ch4

    20/27

    Page 20

    ENGR2720U

    Need statement Example

    See table 4-3-2 in the text book.

  • 8/2/2019 4 Software Product Design Analysis Ch4

    21/27

    Page 21

    ENGR2720U

    Organizing Need Statements

    Needs lists should be arranged hierarchicallyTry arrangements with note cards

    Prioritize needs Numbers

    Hi/Med/Lo

    Consult stakeholders

    Aneeds list catalogs need statements.

  • 8/2/2019 4 Software Product Design Analysis Ch4

    22/27

  • 8/2/2019 4 Software Product Design Analysis Ch4

    23/27

    Page 23

    ENGR2720U

    Modeling

    Many kinds of models can represent theproblem and help designers understand it.

    Many modeling notations and techniques

    useful for analysis will be discussed later. Various UML diagrams

    Use case descriptions, user interface diagrams,dialog maps

    Conceptual modeling, use case modeling

  • 8/2/2019 4 Software Product Design Analysis Ch4

    24/27

    Page 24

    ENGR2720U

    Checking Needs Documentation 1

    CorrectnessA statement is correct if it iscontingent and accords with the facts.

    ScopeA goal or need is within the project

    scope if it can be satisfied using the plannedfeatures of the product created by the project.

    TerminologicalconsistencyTerminologicalconsistency is using words with the same

    meaning and not using synonyms.

  • 8/2/2019 4 Software Product Design Analysis Ch4

    25/27

    Page 25

    ENGR2720U

    UniformityA description has uniformity when ittreats similar items in similar ways.

    CompletenessDocumentation is complete

    when it contains all relevant material.Review activities Developers should use checklists

    Stakeholders should review documents

    Table 4-3-4 shows a good samples needschecklist to assure that the above needs areconsistent.

    Checking Needs Documentation 2

    ENGR U

  • 8/2/2019 4 Software Product Design Analysis Ch4

    26/27

    Page 26

    ENGR2720U

    Summary 1

    The product design process is essentially top-down and user centered.

    Product design begins with design problem

    analysis.Stakeholders can play many roles in productdesign.

    Needs define the product design problem;requirements state the solution.

    ENGR2720U

  • 8/2/2019 4 Software Product Design Analysis Ch4

    27/27

    ENGR2720U

    Summary 2

    Designers should understand the problemdomain and stakeholder goals before elicitingneeds.

    Needs can be elicited in many ways andpreferably by direct contact with stakeholders.

    Many kinds of models can help understand theproblem.

    Needs must be documented, organized, andchecked.