190R6 Data Flow Diagrams (DFD)

In order to understand complex processes and convert them to a programmable solution, we can use Data Flow Diagrams. This enables us to identify the data and how the data should be processed in order to achieve the required result

For programmers, DFDs break complex systems down into component parts showing how (and what) data has to move between them. These components become functions, and the data, variables. The following, and final, design stage is writing the pseudo-code based on these diagrams

Just like a normal flow diagram, except we are only interested in DATA FLOW:

  • what the data is
  • where it comes from
  • where it is stored
  • what is done to it (the processes)
  • the end result

Process Mapping

The following videos focus on process mapping (the stage before creating a Data Flow Diagram):

  1. create the process map (ie the steps needed to reach the end goal)
  2. identify the data, where it comes from and when it is needed
  3. break down the process detail to show how the data is manipulated
    1. where it moves to or from (processes or data stores)
    2. how it is changed
    3. how data value changes decision outcomes
    4. the final output

Process Mapping is included only to demonstrate the breaking down of a system into its processes

1 Mapping2 Process Flow Charts3 Mapping Example

This video explores the transition of a paper based system to a online system:

  • it identifies the online processes
  • does not include the data flows!

  • identify the data in the processes needed to achieve the desired result for the Paperless Workflow (10.30 apx)

Data Flow Diagrams

NOTE: in these videos data flow is only described, but the actual data content is not identified
As the final step in design is to create pseudo-code, you will need to replace the description of data flow with the actual data names (eg, account information >> name, acc number, sort code)

1 Intro2 Planning3 Creating

EXERCISES
  1. Look at the example DFDs in the presentation
    – make your own versions of these
    – replace the data flow description with actual data names of the data flowing
  2. In Mapping a Successful Workflow:
    – identify the data in the processes needed to achieve the desired result for the Paperless Workflow (10.30 apx)
    – break down some of the processes into their smaller sub-processes
  3. In the last videos
    – reproduce the example in each one,
    – replace the description of the data flow with actual data names that would flow