Parts of DFD External Agent; Source / Sink Data Store Process Data Flow Line
To Model the system Emphasize process Identify, hierarchically: The system The subsystems/functions of the system The transactions within a given function
Characteristics of DFD I-P-O modeling Leveling of DFDs (explosion) Balancing of data flows Shows flow of data not flow of control Shows set of possible paths (not what causes a path to be taken)
Explosion Also called Functional Decomposition An iterative process of breaking the description or perspective of a system down into finer and finer detail. Context diagram, Level 0 diagram, Level 1 diagrams, etc. Balancing the levels
What you CAN’T do: Processes No input data flow, no output data flow Data Stores Data flow directly to another data store Agents Data flow directly to another external agent, data flow directly to or from data store Data Flows No double arrows, no “break-off” lines defined as something different, no data flow line into another data flow line
Identifying DFD parts Bottom-up and Top-Down DFD fragments
Different types of DFDs Physical Logical Current vs New
DFD #1 – Order processing System We know customers send orders to the organization and the organization sends out the products ordered with a bill for those products. Within the organization there is an order processing system. Order processing system accepts, processes, and records data about orders. The system accepts only orders if sufficient inventory exists. Inventory files and goods sold files must be updated. After the order is recorded, the customer is sent a confirmation note.
DFD #2 – Grocery store system A grocery store has just implemented a new sales system. When a customer has selected the items for checkout, the item is scanned. The system is able to identify the item scanned because of its bar code. The system looks up the price of the item from a prices file. Once all items have been identified, a total price is computed and given to the customer.
DFD #3 Payroll system XYZ Corporation would like to implement a new payroll system to automate the current system. Currently, employees fill out a time record indicating the hours they worked. Gross pay is calculated based on each employees’ hourly rate and the hours they worked. Net pay is what they are actually paid after withholding deductions and taxes are taken out. Each employee receives a check with their net pay.