What is a Data Flow Diagram
A data flow diagram (generally abbreviated as DFD) is a popular data visualization tool utilized for structured analysis. This type of diagram helps to clearly present transformative processes within a system, collections of data or physical materials manipulated by a given system, and flows of information or material between processes, stores, and the outside world.
DFDs can have multiple levels of decomposition intended for describing some complex processes within a system. These levels vary from a basic one named a context diagram providing a holistic view of data flows with just one key process to more elaborate structures labeled with numbers starting from 0 (low-level DFDs) and complemented with multiple sub-processes. This approach suits well for transaction-processing systems and function-intensive apps.
There are several notations that define special geometric symbols for displaying elements of data flow diagrams. The main visual difference between all notations lies in presenting DFD processes. The two most popular notation types Yourdon & Coad and Gane & Sarson utilize circles and rounded rectangles for this purpose, respectively.
- External entity
It is a diagram element (also referred to as a terminator) that introduces data into the system or gets the processed data from it. Not being part of the system itself, this component reveals how the system communicates with the outside world. Entities can be represented by various objects such as a person, external system, or organization. The unprocessed info cannot be directly exchanged between entities or received by any entity from the system. Entities are depicted with rectangles and named by nouns.
Any data changes during the information flow occur via processes. It is the most remarkable DFD parameter that receives incoming data and generates output using specific actions (computing, sorting, etc.). The diagram can include one or multiple processes, each manipulating the data in its own way. DFD processes cannot exist without at least one point of input and an output (the same rule applies to data stores). Processes interact via data stores, and not by direct flows between processes. Depending on the notation type, this component can be illustrated with circles or rounded rectangles. As a rule, enumerated “verb + noun” combinations are used to label DFD processes for explaining what happens to the input data.
- Data Store
A data store represents the repository of persistent data in the system that can be retrieved or produced by a given process. Displayed as an open-ended rectangle or two parallel lines, data stores do not operate on their own and always interact with related processes. New data cannot appear in a data store or be moved to external entities or other data stores without being modified.
- Data Flow
It is a directed arrow that indicates the direction of data movement between other elements of the diagram. Each arrow is clarified by text stating what data is being sent/received.
- Software development
- Business analysis
- Project management modeling
Our sample demonstrates the flow of information and physical materials within a spare parts tracking system in a transportation company using the Yourdon & Coad notation type. The architecture of our level 0 data flow diagram includes the following components:
- External entities (mechanic, storeroom staff, vendor) show how outside parties interact with the system. The mechanic sends a spare parts request and receives a spare parts package. This request is fulfilled using the info on spare parts in stock and ordered spare parts provided by the storeroom staff and the vendor respectively. Entities are depicted in pale-pink rectangles.
- Processes that clearly describe the sequence of actions required for providing a package of spare parts. They are shown with enumerated green circles.
- Data stores serve for saving/retrieving the info on spare part requests and spare parts storeroom inventory. These elements are displayed in the form of open-ended rectangles.
- Data flow specifies the route of information transfer within the system via directed blue lines with clarification remarks.
A user-friendly interface of the Diagram Editor helps to maximally shorten its learning curve.
- Arranging the structure of a data flow diagram
Using the left-side panel you can add all built-in shapes that are necessary for creating a data flow diagram. Just drag a needed shape from the presented list, drop it in the grid area, and position it the right way with the rotating function. As you will require several instances of each DFD shape, you can create copies with the help of the corresponding option that appears when clicking on a shape. It is especially useful if you don’t want to waste time on tuning every shape separately. To link shapes with each other, you should select a connector as shown in the image above.
- Editing nodes and connectors of a data flow diagram
If you want to make your diagram look unique, the right-side panel of the Editor offers plenty of editing options to do that. For instance, you can define dimensions and positioning for each shape more accurately, apply stroke modifications for shapes and connectors, change coloring, and take advantage of numerous text editing capabilities.
As you can see, the Diagram Editor is a simple but effective tool that allows generating nice-looking data flow diagrams for your projects with ease.
Have doubts? Take the opportunity to test DHTMLX Diagram without any payments by downloading a free 30-day trial version.