DataFlow Oriented Design From DFD to Structure Chart

  • Slides: 19
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 z. To describe the process of translating the DFDs to structure charts

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

Expanding the DFD z. Initial analysis produces the Context Diagram and Level 1 DFD

Expanding the DFD z. Initial analysis produces the Context Diagram and Level 1 DFD z. In the design phase, the DFD is expanded to lower levels, giving more sub-processes within the original process z. Level 1 Level 2 Level 3 … z. 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 Format Record new member record 5

Five-Step Process z. The type of information flow is established z. Flow boundaries are

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

Types of Information Flow z. Transform Flow y. Information enter at a point, transformed,

Types of Information Flow z. Transform Flow y. Information enter at a point, transformed, and exit at another point y. Path: incoming flow central transform outgoing flow z. Transaction Flow y. Single data item, transaction, triggers one of many paths y. Path: incoming flow transaction centre action path TCS 2411 Software Engineering 7

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

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

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 Afferent flow TCS 2411 Software Engineering Assign Code checked application details Prepare Record new member details Central transform Format Record new member record Efferent flow 9

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 Generate New Member 10

Second Level Factoring Process Membership Application Get Application Form Generate New Member Process Application

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

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

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

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

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

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 14

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

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

Factoring and Refining z. Each action path has to be refined into a substructure,

Factoring and Refining z. Each action path has to be refined into a substructure, either by transform or transaction mapping z. Similar to transaction flow, apply design concepts to improve quality of design TCS 2411 Software Engineering 16

Completing the Structure Chart z. For each data flow on the DFD add exactly

Completing the Structure Chart z. For each data flow on the DFD add exactly one data couple. Use the same data flow name z. For each control module, decide how it will control subordinates z. For modules that select one of several paths, show selection logic with a diamond attached to the link TCS 2411 Software Engineering 17

Design Postprocessing z. A processing narrative must be developed for each module z. Interface

Design Postprocessing z. A processing narrative must be developed for each module z. Interface description is provided for each module z. Define local and global data structures z. All design restrictions/limitations noted z. Conduct design review z. Optimisation is considered TCS 2411 Software Engineering 18

References z“Software Engineering: A Practitioner’s Approach” 5 th Ed. by Roger S. Pressman, Mc-Graw-Hill,

References z“Software Engineering: A Practitioner’s Approach” 5 th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001 z“Software Engineering” by Ian Sommerville, Addison-Wesley, 2001 z“The Practical Guide to Structured Systems Design” by Meilir Page-Jones, Benjamin/Cummings, 1988 TCS 2411 Software Engineering 19