Data flow diagrams (DFDs) are used to model systems and show how input data is transformed into output through a series of functional steps. DFDs reveal relationships between different components in a program or system. They have four main elements - entities, processes, data stores, and data flows. Entities represent external sources or recipients of data, processes perform functions to transform data, data stores hold data between processes, and data flows show the movement of data between elements.