Data Flow Diagrams (DFDs) show transformation of data from (data source such as external sources, activities and destination). Data elements used in DFDs should be described in a data dictionary. Highest level data flow diagram, also called Level 0 diagram, is known as context diagram. Context diagram represents the entire system. Check out Business Analyst Job Description, Skills, Salary, Certifications article for more information.
Navigate through the article:
Context Diagram Gane-Sarson Notation
Level 1 DFDs show processes related to system with respective input data, output transformed data and data stores.
Further levels (level 2 and 3) break down major processes from level 1 diagram.
Logical data flow diagrams represent future or essential state. Physical data flow diagrams model all of data stores, printers, forms, devices and other manifestations of data of current or future state.
Externals (Entity) (Source, or Sink or both) – Person, organization, system, or device providing or receiving data. These are outside of the system under analysis. Each external must have at least one data flow going to or coming from it. Represented by using a noun inside a rectangle.
Data store
Stores data for future use. Must have at least one data flow going to or coming from it. Represented as 2 parallel lines or as an open-ended rectangle with a label.
Process
Transforms data into an output. Names contain a verb and a noun. Must have at least one data flow going to it and one data flow coming from it. Represented as a circle or rectangle with rounded corners.
Data flow
Movement of data between an external, a process and a data store. Represented as a line with an arrow displayed between processes. Named using nouns.
Strengths
- Depict transaction-based systems and boundaries of a system.
- To discover processes and data.
- Excellent way to define scope and interfaces.
- Helps in effort estimation.
- Easy to understand.
- Helps to identify duplicate or missing data elements.
Limitations
- Can become complex for large-scale systems.
- Different DFD notations exist.
- Can’t show sequence of activities, logic or stakeholders.
Worked out Example:
Let us learn the data flow diagram by means of an example. Governance, Risk and Compliance (GRC) management system is developed for the IT and ITES domain. The primary objective of GRC management system is to help companies implement Governance, Quality, and Information Security Management Systems in an integrated manner. It has various features, one of which is to plan and track projects and programs using standards such as CMMI, ISO 9001, and ISO 27001 etc.
Through this example let us try to understand how the data flows and gets transformed in the project schedule management module of Governance, Risk and Compliance management.
An external entity is a person, organization, automated system, or any
device capable of producing data or receiving data. It can be a source of information (source) or sink (receiver of information). The user shown in the diagram is a source as the user has to provide the search criteria. Another source is the PM. These are represented using rectangles.
Search for schedule, delete schedule, add new schedule, update schedule etc. are data processes. Here, the data is transformed into an output. For instance, the add new schedule process provides schedule details as its output. It is represented in the form of a circle or a rectangle with rounded corners. Processes should have at least one input and one output.
Schedule and Risk DB are data stores. The schedule data store is a collection of data related to schedules where data may be read repeatedly and stored for further use. Each data store must have at least one data flow going to it or coming from it. It is represented as two parallel lines or as an open ended rectangle.
Thus, data flow diagrams portray the transformation of data. It depicts where the data comes from, the activities which process the data, whether the output results are stored or utilized by another activity etc. DFDs are relatively simple to understand and is a great way to illustrate interfaces, connections to other systems etc. However, it doesn’t illustrate the sequence of activities and can become increasingly complex for large scale systems.