240 likes | 615 Views
Data-Flow Oriented Design. “From DFD to Structure Chart”. 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
E N D
Data-Flow Oriented Design “From DFD to Structure Chart” TCS2411 Software Engineering
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 TCS2411 Software Engineering
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 TCS2411 Software Engineering
Example of Level 1 DFD Member application form Process Application new member record Members TCS2411 Software Engineering
Expanded to Level 2 Member Members formatted new member record application form Get Form Check Form Assign Code Prepare Record Format Record application details checked application details new member record new member details TCS2411 Software Engineering
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 TCS2411 Software Engineering
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 TCS2411 Software Engineering
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 TCS2411 Software Engineering
Example of Boundaries Member Members formatted new member record application form Get Form Check Form Assign Code Prepare Record Format Record application details checked application details new member record new member details Afferent flow Central transform Efferent flow TCS2411 Software Engineering
First Level Factoring Process Membership Application Get Application Process Application Generate New Member TCS2411 Software Engineering
Second Level Factoring Process Membership Application Get Application Process Application Generate New Member Get Application Form Check Application Generate New Record Format New Record TCS2411 Software Engineering
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 TCS2411 Software Engineering
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 TCS2411 Software Engineering
Example of Transaction Flow action paths user commands read user command invoke command processing command type TCS2411 Software Engineering
Transaction Mapping transaction control a reception path b b d dispatcher d a c1 p p q q TCS2411 Software Engineering
Factoring and Refining • Each action path has to be refined into a substructure, either by transform or transaction mapping • Similar to transaction flow, apply design concepts to improve quality of design TCS2411 Software Engineering
Completing the Structure Chart • For each data flow on the DFD add exactly one data couple. Use the same data flow name • For each control module, decide how it will control subordinates • For modules that select one of several paths, show selection logic with a diamond attached to the link TCS2411 Software Engineering
Design Postprocessing • A processing narrative must be developed for each module • Interface description is provided for each module • Define local and global data structures • All design restrictions/limitations noted • Conduct design review • Optimisation is considered TCS2411 Software Engineering
References • “Software Engineering: A Practitioner’s Approach” 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001 • “Software Engineering” by Ian Sommerville, Addison-Wesley, 2001 • “The Practical Guide to Structured Systems Design” by Meilir Page-Jones, Benjamin/Cummings, 1988 TCS2411 Software Engineering