Difference Between Data Flow Diagram (DFD) and UML

A graphical representation of how the data flows through a system is called a Data Flow Diagram (DFD). Developing a DFD is one of the first steps carried out when developing an information system. UML (Unified Modeling Language) is a modeling language used in object oriented software design. When developing object oriented software, UML is used to specify and visualize the components that make up a software system. UML diagrams mainly represent the structural view and the behavioral view of a system.

What is Data Flow Diagram (DFD)?

A DFD is a graphical representation of how the data flows through a system. Developing a DFD is one of the first steps carried out when developing an information system. DFD displays details like the data that is coming in and going out of the system, how the data is travelled through the system and how the data will be stored in the system. But the DFD does not contain information about timing information of the processes. The main components included in a DFD are processes, data stores, data flow and external entities. When developing DFD diagrams, the context level DFD is drawn first. It displays how the entire system interacts with external data sources and data sinks. Next a Level 0 DFD is developed by expanding the context level DFD. Level 0 DFD contains details of the sub-systems within the system and how the data is flowing through them. It also contains details about the data stores required within the system. Yourdon & Coad and Gane & Sarson are two notations that are used to draw DFDs.

What is UML?

UML is a modeling language used in object oriented software design. UML provides capabilities to specify and visualize the components that make up a software system. UML diagrams mainly represent the structural view and the behavioral view of a system. Structural view of the system is represented using diagrams like class diagrams, composite structure diagrams, etc. Dynamic view of the system is represented using diagrams such as sequence diagrams, activity diagrams, etc. UML version 2.2 includes fourteen diagrams, which includes seven diagrams for representing the structural view and other seven representing the behavioral view. Among the seven behavioral diagrams, four diagrams can be used to represent interactions with the system. There are tools that can be used for UML modeling such as IBM Rational Rose.

What is the difference between Data Flow Diagram (DFD) and UML?

A DFD is a graphical representation of how the data flows through a system, while UML is a modeling language used in object oriented software design. UML specifies a class of diagrams that can be used to model the structure and the behavior of a software system. Therefore the UML diagrams, when combined represent a more detailed view of a system than using the DFD alone. DFD provides a good starting point to understand how the system actually works but when developing the system, UML diagrams such as class diagrams, structure diagrams, etc. will be very useful.