Data Flow Diagrams Data Flow Diagrams are a means to represent data transformation processes within an information system.
Data Flow Diagrams Keyword is data The only processes shown are those that directly use data Physical processes to support the data are not shown
The Structure of DFD’s External entity Process Data store Data flow DFD’s are “leveled” to show increasing detail
External Entities Represents the people or external systems with which the current system must interact to acquire its input data or to which the current system must deliver its output data
External Entity Is an element that creates or receives data Is outside or external to the system Two requirements: –Object must create or receive data –Object must be external to the system Represented by a rectangle
Process An operation that transforms or moves data according to business rules. –Example: calculate order, check patient history, etc. The business rules and processing logic must be documented for each process. Each process must have both an input and an output 1.1 Calculate Order Total
Processes Explosions continue until all the logic of all processes can be easily described using Structured English, Decision tables or Decision trees. Processes transform data, they do not create it.
Structured English Process should include a brief descriptive narrative of the nature of the process One or two sentences Example for Calculate Base Premium If construction is brick THEN deduct 0 percent of base to total ENDIF IF replacement option is chosen THEN add 10 percent of base to subtotal ENDIF
Data Store Representations of data at rest or stored in a system Data items in a data store are persistent over time (can be accessed at a later date than that which they were saved). Data Stores can be viewed as an “inventory” of data that lives within the system when no processes are active. Product File
Data Flow Indicates data in motion, passing between processes, data stores and external entities Should be labeled with attribute names or as nouns that represents sets of attributes Customer Product ID, Qty Ship Address 1.1 Take Order
Context Diagram Level 0 Diagram - The Black Box Customer Restaurant Manager Kitchen Food Ordering System 0 Food Order Management Reporting Customer Order Receipt
Level 1 Diagram Captures all the main processes of the system Pick the most important 5 +/- 2 to include Add all the needed external entities and data stores as well as all the labeled data flows
Level 1 Diagram - Example Customer Restaurant Manager Kitchen 1.0 Receive & Transform Customer Order 4.0 Produce Mgmt Reports D2 Goods sold file D1 Inventory file Goods Sold Inventory Data Food Order Customer Order Formatted Goods Sold Data Daily Inv. Depletion Amts Management ReportsDaily Goods Sold Amounts
The Data Dictionary The contents of each data flow must be defined in a data dictionary –Data flow: Timecards Contents: Employee number, hours worked, date worked –Data flow: Pay Checks Contents: Check number, check date, EmpNo, EmpName, SSN, Address, Tax State, Gross Pay
What Is Not in a Logical DFD Dynamics of system behavior - physical actions of processes Timing - no indication is needed of sequence of events Control statements (if X do Y) should only be seen in structured English and not in data flows with labels such as ‘>25 qty’ or ‘valid orders’ use only attribute names without regard to which records are moving particular input/output/storage media, other physical implementation concerns
DFD’s Watch Out For... Black Holes –Data goes into a process or data store but doesn’t come out - both inputs and outputs are required Miracles –A process produces output with no input External entities and data stores only interact through processes, flows should not go directly between them