Data flow diagram

From Wikipedia, the free encyclopedia

A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system. A data flow diagram can also be used for the visualization of data processing (structured design). It is common practice for a designer to draw a context-level DFD first which shows the interaction between the system and outside entities. This context-level DFD is then "exploded" to show more detail of the system being modelled.

Azna, the original developer of structured design, based on Martin and Estrin's "data flow graph" model of computation.[citation needed] Data flow diagrams (DFDs) are one of the three essential perspectives of SSADM. The sponsor of a project and the end users will need to be briefed and consulted throughout all stages of a systems evolution. With a dataflow diagram, users are able to visualize how the system will operate, what the system will accomplish and how the system will be implemented. Old system dataflow diagrams can be drawn up and compared with the new systems dataflow diagrams to draw comparisons to implement a more efficient system. Dataflow diagrams can be used to provide the end user with a physical idea of where the data they input, ultimately has an effect upon the structure of the whole system from order to dispatch to restock how any system is developed can be determined through a dataflow diagram.

Contents

[edit] Components

A data flow diagram illustrates the processes, data stores, and external entities in a business or other system and the connecting data flows.

Data flow diagram example
Data flow diagram example

The four components of a data flow diagram (DFD) are:

Data flow diagram notation
Data flow diagram notation
External Entities/Terminators 
are outside of the system being modelled. Terminators represent where information comes from and where it goes. In designing a system, we have no idea about what these terminators do or how they do it.
Processes 
modify the inputs in the process of generating the outputs
Data Stores 
represent a place in the process where data comes to rest. A DFD does not say anything about the relative timing of the processes, so a data store might be a place to accumulate data over a year for the annual accounting process.
Data Flows 
are how data moves between terminators, processes, and data stores (those that cross the system boundary are known as IO or Input Output Descriptions).

Every page in a DFD should contain fewer than 10 components. If a process has more than 10 components, then one or more components (typically a process) should be combined into one and another DFD be generated that describes that component in more detail. Each component should be numbered, as should each subcomponent, and so on. So for example, a top level DFD would have components 1 2 3 4 5, the subcomponent DFD of component 3 would have components 3.1, 3.2, 3.3, and 3.4; and the subsubcomponent DFD of component 3.2 would have components 3.2.1, 3.2.2, and 3.2.3. DFD can use to in presenting project.

[edit] Data store

A data store is a repository for data. Data stores can be manual, digital, or temporary.

[edit] Duplication

External entities and data stores can be duplicated in the system for more clarity, while processes cannot. External entities that have been replicated are marked by an asterisk (\) in the lower left part of the oval that represents that entity. Data stores have a double line on the left side of their box.

[edit] Developing a DFD

[edit] Top-Down Approach

  1. The system designer makes a context level DFD, which shows the interaction (data flows) between the system (represented by one process) and the system environment (represented by terminators).
  2. The system is decomposed in lower level DFD (Zero) into a set of processes, data stores, and the data flows between these processes and data stores.
  3. Each process is then decomposed into an even lower level diagram containing its subprocesses.
  4. This approach then continues on the subsequent subprocesses, until a necessary and sufficient level of detail is reached which is called the primitive process (aka chewable in one bite).

[edit] Event Partitioning Approach

This approach was described by Edward Yourdon in Just Enough Structured Analysis[1]

  1. Construct detail DFD.
    1. The list of all events is made.
    2. For each event a process is constructed.
    3. Each process is linked (with incoming data flows) directly with other processes or via datastores, so that it has enough information to respond to given event.
    4. The reaction of each process to a given event is modeled by an outgoing data flow.

[edit] DFD tools

  • ConceptDraw - Windows and MacOS X data flow diagramming tool
  • Dia - open source diagramming tool with DFD support
  • Microsoft Visio - Windows diagramming tool which includes very basic DFD support (Images only, does not record data flows)
  • SILVERRUN ModelSphere - cross-platform tool for business process modeling and data flow diagramming

[edit] See also

[edit] References

[edit] Further reading

tyjj

[edit] External links