DataFlow Oriented Design From DFD to Structure Chart

  • Slides: 22
Download presentation
Data-Flow Oriented Design “From DFD to Structure Chart” TCS 2411 Software Engineering 1

Data-Flow Oriented Design “From DFD to Structure Chart” TCS 2411 Software Engineering 1

Lecture Objectives • To describe the process of translating the DFDs to structure charts

Lecture Objectives • To describe the process of translating the DFDs to structure charts • To understand the systematic approach in producing the design from the analysis model • To understand the different types of conversion that can be done in producing the structure chart TCS 2411 Software Engineering 2

Expanding the DFD • Initial analysis produces the Context Diagram and Level 1 DFD

Expanding the DFD • Initial analysis produces the Context Diagram and Level 1 DFD • In the design phase, the DFD is expanded to lower levels, giving more sub-processes within the original process • Level 1 Level 2 Level 3 … • Consistency is to be maintained from level to level TCS 2411 Software Engineering 3

Example of Level 1 DFD Member application form Process Application new member record Members

Example of Level 1 DFD Member application form Process Application new member record Members TCS 2411 Software Engineering 4

Expanded to Level 2 Members formatted new member record application form Get Form Check

Expanded to Level 2 Members formatted new member record application form Get Form Check Form application details TCS 2411 Software Engineering Assign Code checked application details Prepare Record new member details 5 Format Record new member record

Five-Step Process • • • The type of information flow is established Flow boundaries

Five-Step Process • • • The type of information flow is established Flow boundaries are indicated The DFD is mapped into program structure Control hierarchy is defined by factoring Resultant structure is refined using design measures and heuristics TCS 2411 Software Engineering 6

Types of Information Flow • Transform Flow – Information enter at a point, transformed,

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 of many paths – Path: incoming flow transaction centre action path TCS 2411 Software Engineering 7

Flow Characteristics Transform flow Transaction flow

Flow Characteristics Transform flow Transaction flow

Transform Mapping

Transform Mapping

Factoring

Factoring

Transform Mapping • After transform flow is identified, identify the boundaries of incoming and

Transform Mapping • After transform flow is identified, identify the boundaries of incoming and outgoing flow • Incoming flow = Afferent flow • Outgoing flow = Efferent flow • In between the boundaries of the two is the central transform TCS 2411 Software Engineering 11

Example of Boundaries Members formatted new member record application form Get Form Check Form

Example of Boundaries Members formatted new member record application form Get Form Check Form application details Assign Code checked application details Prepare Record new member details Afferent flow Central transform TCS 2411 Software Engineering 12 Format Record new member record Efferent flow

First Level Factoring Process Membership Application Get Application TCS 2411 Software Engineering Process Application

First Level Factoring Process Membership Application Get Application TCS 2411 Software Engineering Process Application 13 Generate New Member

Second Level Factoring Process Membership Application Get Application Form TCS 2411 Software Engineering Process

Second Level Factoring Process Membership Application Get Application Form TCS 2411 Software Engineering Process Application Generate New Member Generate New Record Check Application 14 Format New Record

Refinement • The hierarchy produced is then refined to improve the quality of the

Refinement • The hierarchy produced is then refined to improve the quality of the design • Modules could be exploded or imploded • Apply design concepts of module independence, good cohesion, minimal coupling, and ease of maintenance TCS 2411 Software Engineering 15

Transaction Mapping • If transaction flow is identified, identify the transaction centre and flow

Transaction Mapping • If transaction flow is identified, identify the transaction centre and flow characteristics of each action path • Similar to transform flow, boundaries are identified for incoming flow and the separate action paths • Each action path is a transform flow or transaction flow as well TCS 2411 Software Engineering 16

Example of Transaction Flow action paths user commands read user command type TCS 2411

Example of Transaction Flow action paths user commands read user command type TCS 2411 Software Engineering invoke command processing 17

Transaction Mapping transaction control a reception path b b a d c 1 p

Transaction Mapping transaction control a reception path b b a d c 1 p p q TCS 2411 Software Engineering d 18 q dispatcher

Transaction Mapping Data flow model f e a d b mapping t x 1

Transaction Mapping Data flow model f e a d b mapping t x 1 program structure i g h l k j m t b a n d x 2 e x 4 x 3 f g l x 3. 1 h j i k m n

Isolate Flow Paths error msg command produce error msg read command validate command invalid

Isolate Flow Paths error msg command produce error msg read command validate command invalid command fixture setting status read fixture status determine setting format setting raw setting combined status determine type robot control read record calculate output values send control value start/stop assembly record values format report

Map the Flow Model

Map the Flow Model

Refining

Refining