Data flow diagrams
|Data flow diagrams|
Data flow diagrams are a tool for the description, analysis and design of information systems, whose origins date back to the first generation of information systems (transactional systems, batch systems).
In a graphic way, they present the basic relationships occurring in information processes, the advantage of which is the maximum simplification of the symbolism used. There are only 4 symbols, meaning: process, data warehouse, flow, terminator. The symbolism proposed by Youdon-DeMarco is presented in the figure below.
Data flow diagram.gif Fig. Symbolism used in data flow diagrams
Using the data flow diagrams, there are a few rules to keep in mind:
- there are no procedures (processes) of beginning and end,
- there are no loops or decision blocks,
- you should use unique names of processes and flows (it is useful to number them),
- naming flows to and from the data store is not suitable
- flow between data stores and between terminators is unacceptable,
- the data warehouse should be used for at least two processes,
- an arrow towards the data warehouse means that specific changes are made (introduction, update, deletion),
- an arrow from the data store means that the data is read,
- the diagram can describe automated and manual flows,
- the diagram can be created at various levels of detail.
Examples of Data flow diagrams
- A Data Flow Diagram (DFD) is a graphical representation of the flow of data through an information system. It is used to show how data is processed within a system, to identify the sources of data, the destinations of data, and the logical relationships between these entities. For example, a DFD can be used to represent the flow of data from a customer order system to an inventory system.
- Another example is a DFD that shows the flow of data from an online store's customer database to its order processing system. The diagram would show the data being collected from the customer database, such as customer information, order details, and payment information, as well as the data being sent to the order processing system, such as order confirmation and fulfillment details.
- Another example is a DFD that shows the flow of data from a customer's mobile device to a company's customer relationship management (CRM) system. The diagram would show the data being collected from the customer's device, such as location data, usage data, and purchase history, as well as the data being sent to the CRM system, such as customer profiles and preferences.
Advantages of Data flow diagrams
Data flow diagrams are an effective tool for the description, analysis and design of information systems as they have a long history in the development of information systems. The advantages of data flow diagrams include:
- Increased clarity and graphical representation of data flows and processes within an information system. Data flow diagrams provide a graphical representation of the inputs, outputs and processing nodes of the system, which allows for easier understanding of the system.
- Improved accuracy. Data flow diagrams help to identify the parts of a system that need to be updated or modified, as they provide a detailed picture of the data and processes within the system.
- Improved communication. Data flow diagrams provide a clear representation of the information system, which can help to facilitate communication between different stakeholders.
- Improved documentation. Data flow diagrams can help to provide a comprehensive overview of the information system and its components, which can be used for documentation purposes.
Limitations of Data flow diagrams
Data flow diagrams have been used successfully in the analysis, design, and documentation of information systems. However, they have their limitations:
- Data flow diagrams often fail to capture the complexity of a system. They limit the analysis to a few processes and data flows, and do not show how the processes and flows interact with one another.
- Data flow diagrams are static and do not provide a dynamic view of the system. They show how data flow between processes, but they do not show how the system changes over time or how it responds to different inputs.
- Data flow diagrams do not capture the logic of a system. They do not provide a detailed explanation of how the system works and how certain tasks are performed.
- Data flow diagrams are limited in their ability to model complex processes. They are best used for simple systems and cannot accurately represent complex behavior.
- Data flow diagrams do not provide a complete view of a system. They do not show how the system interacts with external components, or how the system is affected by external events.
Data flow diagrams are not the only tool for the description, analysis and design of information systems. Other approaches related to data flow diagrams include:
- Structured Analysis and Design Technique (SADT) – a graphical method for analyzing, designing, and documenting information systems that was proposed by Tom DeMarco. It is based on the concept of a data flow diagram and uses symbols to represent the data flow and process steps.
- Entity-Relationship Diagrams (ERDs) – a graphical representation of data that is used to model and document a system's data structure. ERDs use symbols to represent entities, relationships, and attributes.
- Object-Oriented Analysis and Design (OOAD) – a method of designing software applications that is based on objects, or software components, that interact with each other. OOAD emphasizes the importance of creating software applications that are easy to maintain and extend.
In summary, there are several other approaches related to data flow diagrams, including SADT, ERDs, and OOAD, each of which has its own unique advantages and capabilities when it comes to the description, analysis and design of information systems.
- Batini, C., Nardelli, E., & Tamassia, R. (1986). A layout algorithm for data flow diagrams. IEEE Transactions on Software Engineering, (4), 538-546.
- Bruza, P. D., & Van der Weide, T. (1989). The semantics of data flow diagrams. University of Nijmegen, Department of Informatics, Faculty of Mathematics and Informatics.
- Tse, T. H., & Pong, L. (1989). Towards a formal foundation for DeMarco data flow diagrams. The Computer Journal, 32(1), 1-12.