Dataflow Oriented Design

download Dataflow Oriented Design

of 19

Transcript of Dataflow Oriented Design

  • 8/10/2019 Dataflow Oriented Design

    1/19

    TCS2411 Software Engineering 1

    Data-Flow Oriented

    Design

    From DFD to Structure Chart

  • 8/10/2019 Dataflow Oriented Design

    2/19

    TCS2411 Software Engineering 2

    Lecture Objectives

    To describe the process of translating theDFDs to structure charts

    To understand the systematic approach inproducing the design from the analysismodel

    To understand the different types ofconversion that can be done in producingthe structure chart

  • 8/10/2019 Dataflow Oriented Design

    3/19

    TCS2411 Software Engineering 3

    Expanding the DFD

    Initial analysis produces the ContextDiagram and Level 1 DFD

    In the design phase, the DFD is expandedto lower levels, giving more sub-processeswithin the original process

    Level 1Level 2 Level 3 Consistency is to be maintained from level

    to level

  • 8/10/2019 Dataflow Oriented Design

    4/19

    TCS2411 Software Engineering 4

    Example of Level 1 DFD

    Process

    Application

    Member application form

    Members

    new member record

  • 8/10/2019 Dataflow Oriented Design

    5/19

    TCS2411 Software Engineering 5

    Expanded to Level 2

    Get

    Form

    Check

    Form

    Assign

    Code

    Format

    Record

    Prepare

    Record

    Member Members

    application

    form

    application

    details

    checked

    applicationdetails

    new

    memberrecord

    new

    memberdetails

    formatted

    new member

    record

  • 8/10/2019 Dataflow Oriented Design

    6/19

    TCS2411 Software Engineering 6

    Five-Step Process

    The type of information flow isestablished

    Flow boundaries are indicatedThe DFD is mapped into program

    structure

    Control hierarchy is defined by factoring

    Resultant structure is refined using designmeasures and heuristics

  • 8/10/2019 Dataflow Oriented Design

    7/19

    TCS2411 Software Engineering 7

    Types of Information

    Flow

    Transform Flow

    Information enter at a point, transformed,and exit at another point

    Path: incoming flow central transform outgoing flow

    Transaction Flow

    Single data item, transaction, triggers one ofmany paths

    Path: incoming flow transaction centre action path

  • 8/10/2019 Dataflow Oriented Design

    8/19

    TCS2411 Software Engineering 8

    Transform Mapping

    After transform flow is identified, identifythe boundaries of incoming and outgoing

    flowIncoming flow = Afferent flow

    Outgoing flow = Efferent flow

    In between the boundaries of the two isthe central transform

  • 8/10/2019 Dataflow Oriented Design

    9/19

    TCS2411 Software Engineering 9

    Example of Boundaries

    Get

    Form

    Check

    Form

    Assign

    Code

    Format

    Record

    Prepare

    Record

    Member Members

    application

    form

    application

    details

    checked

    applicationdetails

    new

    memberrecord

    new

    memberdetails

    formatted

    new member

    record

    Afferent flow Efferent flowCentral

    transform

  • 8/10/2019 Dataflow Oriented Design

    10/19

    TCS2411 Software Engineering 10

    First Level Factoring

    Get

    ApplicationProcess

    Application

    Generate

    New Member

    Process

    Membership

    Application

  • 8/10/2019 Dataflow Oriented Design

    11/19

    TCS2411 Software Engineering 11

    Second Level Factoring

    Check

    Application

    Process

    Application

    Generate

    New Member

    Process

    Membership

    Application

    Get

    Application

    Get

    Application

    Form

    Format

    New

    Record

    Generate

    New

    Record

  • 8/10/2019 Dataflow Oriented Design

    12/19

    TCS2411 Software Engineering 12

    Refinement

    The hierarchy produced is then refined toimprove the quality of the design

    Modules could be explodedor implodedApply design concepts of module

    independence, good cohesion, minimal

    coupling, and ease of maintenance

  • 8/10/2019 Dataflow Oriented Design

    13/19

    TCS2411 Software Engineering 13

    Transaction Mapping

    If transaction flow is identified, identifythe transaction centre and flow

    characteristics of each action pathSimilar to transform flow, boundaries are

    identified for incoming flow and the

    separate action pathsEach action path is a transform flow or

    transaction flow as well

  • 8/10/2019 Dataflow Oriented Design

    14/19

    TCS2411 Software Engineering 14

    Example of Transaction

    Flow

    read

    usercommand

    invoke

    command

    processing

    user commands

    command

    type

    action paths

  • 8/10/2019 Dataflow Oriented Design

    15/19

    TCS2411 Software Engineering 15

    Transaction Mapping

    b d

    a c1

    qp

    transaction

    control

    dispatcher

    a

    p

    b

    d

    q

    reception

    path

  • 8/10/2019 Dataflow Oriented Design

    16/19

    TCS2411 Software Engineering 16

    Factoring and Refining

    Each action path has to be refined into asubstructure, either by transform or

    transaction mappingSimilar to transaction flow, apply design

    concepts to improve quality of design

  • 8/10/2019 Dataflow Oriented Design

    17/19

    TCS2411 Software Engineering 17

    Completing the

    Structure Chart

    For each data flow on the DFD addexactly one data couple. Use the same

    data flow nameFor each control module, decide how it

    will control subordinates

    For modules that select one of severalpaths, show selection logic with adiamond attached to the link

  • 8/10/2019 Dataflow Oriented Design

    18/19

    TCS2411 Software Engineering 18

    Design Postprocessing

    A processing narrative must be developedfor each module

    Interface description is provided for eachmodule

    Define local and global data structures

    All design restrictions/limitations noted

    Conduct design review

    Optimisation is considered

  • 8/10/2019 Dataflow Oriented Design

    19/19

    TCS2411 Software Engineering 19

    References

    Software Engineering: A PractitionersApproach 5th Ed. by Roger S. Pressman,Mc-Graw-Hill, 2001

    Software Engineering by Ian Sommerville,Addison-Wesley, 2001

    The Practical Guide to Structured SystemsDesign by Meilir Page-Jones,Benjamin/Cummings, 1988