DFD Using Yourdon and DeMarco Notation
7-9 minutes
A data-flow diagram (DFD) is a way of representing a flow of data of a process or a system that aims to be accessible to a computer specialist and non-specialist users alike. The DFD also provides information about the outputs and inputs of each entity and the process itself. A data-flow diagram has no control flow, there are no decision rules and no loops. Specific operations based on the data can be represented by a flowchart.
The models enable software engineers, customers and users to work together effectively during the analysis and specification of requirements. Although this means that our customers are required to understand the modeling techniques and constructs, in data-flow modeling only a limited set of constructs are used, and the rules applied are designed to be simple and easy to follow.
The benefits of data-flow diagrams
Data-flow diagrams provide a very important tool for software engineering, for several reasons:
- The system scope and boundaries are indicated on the diagrams (more will be described the boundaries of systems and each DFD later in this chapter).
- The technique of decomposition of high-level data-flow diagrams to a set of more detailed diagrams provides an overall view of the complete system, as well as a more detailed breakdown and description of individual activities, where this is appropriate, for clarification and understanding.
The Elements of DFD
The DFD notation was first described in 1979 by Tom DeMarco as part of Structured Analysis. There are several other widely-used DFD notations which include the following table:
- Yourdon and/or De Marco,
- Yourdon and Coad,
- Gane & Sarson,
- SSADM(Structured System Analysis and Design Methodology), and
Processes are the essential activities, carried out within the system boundary, that use information. A process is represented in the model only where the information which provides the input into the activity is manipulated or transformed in some way so that the data flowing out of the process is changed compared to that which flowed in.
Data-flow represents a package of information flowing between two objects in the data-flow diagram. Data-flows are used to model the flow of information into the system, out of the system, and between elements within the system.
Data store is a place where data is stored and retrieved within the system. This may be a External entities are entities outside of the system boundary which interact with the system, in that they send information into the system or receive information from it.
External entities may be external to the whole organization — as in Customer and Supplier in our running example; or just external to the application area where users’ activities are not directly supported by the system under investigation. Accounts and Engineering are shown as external entities as they are recipients of information from the system. Sales also provide input to the system.
External entities are often referred to as sources and sinks. All information represented within the system is sourced initially from an external entity. Data can leave the system only via an external entity.