Professional Documents
Culture Documents
Description
A data flow diagram (DFD) is a drawing that shows how a system's environmental entities, processes,
and data are interconnected. Developers or users can depict their current system processes or desired
system process using the four simple symbols shown in Table A below.
Table A. Data Flow Diagram Symbols
Environmental Entity (EE)—a source of, or destination for, data outside the
system.
Data flow—each data flow must have a unique identifier or label describing
the data.
Data store—where the data is stored (e.g. database, file, file cabinet).
©Eleanor Jordan 2011. All rights reserved. (Update Fall 2017 by Clint Tuttle and Caryn Conley)
Page 1 of 7
MIS 374
©Eleanor Jordan 2011. All rights reserved. (Update 2015 by Clint Tuttle)
Page 2 of 7
MIS 374
represent the entire system and ending with the lowest level diagrams that contain the most detailed data
transformation processes.
Figure A illustrates the context diagram for the existing Latinitas “system” with a single process bubble in
the middle. The five environmental entities are represented by squares surrounding the single system
process bubble. The system is connected to its environmental entities by arrows that represent data
flows. Notice how many data flows surfaced in the team’s discussions with Angie about her work with
Latinitas donors, volunteers, and interns. When Angie posted her request for an MIS 374 “Volunteer
Database,” she had not thought through her real needs. White-boarding with her MIS 374 development
team was a learning experience for Angie as well as the team.
Figure A - Context Diagram for Existing Latinitas System
©Eleanor Jordan 2011. All rights reserved. (Update Fall 2017 by Clint Tuttle and Caryn Conley)
Page 3 of 7
MIS 374
Figure B - Level 0 (Figure 0) DFD for the Latinitas System
Because the Figure 0 diagram contains more detail than the context diagram, it is important to ensure
that the data flows to and from each environmental entity must match between each level. In the Figure 0
diagram above, the same five environmental entities and their labeled data flows from the context
diagram are included and now connect to more specific processes in the Latinitas system. are included.
For example, the Fundraising Donor at the bottom right of Figure 0 above has exactly two data flows with
the same names as the two data flows for the Fundraising Donor in the Context Diagram.
Also note that the Job Duties dataflow splits from Process 3 when flowing into Process 1 and 2. Since
some processes can create data that is then used by multiple subsequent processes, you’re allowed to
do this when it makes sense. This will reduce duplicate dataflows and over-crowding in your model.
Figure n Diagrams
In the next level of the hierarchy, the individual processes identified in the Figure 0 diagram are detailed
in their own diagrams, called Level 1 diagrams. For example, you would create a Figure 1 diagram to
provide detail about the first process (Manage Interns in the above example). You would create a Figure
2 diagram to provide detail about the second process (Manage Volunteers in the above example). We
refer to these DFDs as Figure n diagrams.
Figure C below illustrates a Level 1 diagram for Process 3 of the Latinitas system—Organize Fundraising
Event. This Figure 3 DFD consists of five detailed processes numbered 3.1, 3.2, etc. Process 3.1 is the
initial process of obtaining and processing donations needed to hold an event. The second detailed
process of Figure 3 is process 3.2, the determination of when to hold fundraising events.
©Eleanor Jordan 2011. All rights reserved. (Update Fall 2017 by Clint Tuttle and Caryn Conley)
Page 4 of 7
MIS 374
If additional detail is needed for any of the processes in a Level 1 diagram, you would create a Level 2
diagram. The logic for creating a Level 2 diagram is similar to creating a Level 1 diagram:
• You should have 7 or fewer detailed processes
• The data flows to and from each relevant environmental entity should match the data flows in the
Level 1 diagram for that environmental entity.
• The numbering of each process should follow the numbering of the process in the Level 1
diagram. For example, to provide more detail about process 3.1 from the Figure 3 diagram, each
process would be numbered 3.1.n. Please see below for an example.
©Eleanor Jordan 2011. All rights reserved. (Update Fall 2017 by Clint Tuttle and Caryn Conley)
Page 5 of 7
MIS 374
Now that the diagrams have reached a sufficient level of detail, the data store symbol has been
introduced in Figure 3.2 above. In this example, “Donor Information” is a manila folder that Angie
keeps; the “Donor Database” and “Donations Per Event” are spreadsheets. All data store
symbols should have identifiers, such as D1, D2 and D3, depending on how many data stores are
used in the system being modeled. NOTE: You may introduce data stores in any diagram (except
for the context diagram) – you can include them in Figure 0, Level 1 diagrams, Level 2s, etc
The same top-down decomposition of the system processes can be continued for more detailed levels.
However, it is not necessary to document the same level of detail for all processes. Some processes can
be adequately documented at a higher level in the hierarchy. The top-down process of documenting a
system with DFDs continues until you reach a level of detail where the focus is on individual data flows
that are important to determining functional requirements for the scope of a project.
©Eleanor Jordan 2011. All rights reserved. (Update Fall 2017 by Clint Tuttle and Caryn Conley)
Page 6 of 7
MIS 374
Our example figures for Latinitas are the result of considerable time spent by the team with Angie, their
client. A good way to start is to create the simple context diagram with an in the middle to represent the
entire system. Then ask your client about what data the system must produce and what data is required
for the system’s functionality. If you do your work on a white-board, photograph the board at the end of
your discussion. If you think your initial work is fairly accurate, then create an electronic version of the
context diagram in Visio or LucidCharts that will allow you to add Environmental Entities and data flows
as you talk with stakeholders to learn more details and create lower level DFDs.
Few clients will be able to provide all of the necessary answers, so you will need to talk with key
stakeholders that understand the existing system to analyze the processes for an existing system.
Individuals are likely to be able to only describe processes they perform. You will likely perform several
iterations, collecting information from several stakeholders, and then analyzing the data you collected to
consolidate into the DFDs to accurately describe the existing system
FAQs
Q1: How do I make my DFDs pretty? All the lines are crisscrossed.
Answer: Try to organize your external entities (EEs) around the outside edges of the document. Then,
put your process bubbles between these entities. If any process uses multiple EEs, try to put the EEs
close to each other. Also try to use right-angle connectors; they make the diagrams more legible, as well
as, help you group in-bound and out-bound data flows together.
©Eleanor Jordan 2011. All rights reserved. (Update Fall 2017 by Clint Tuttle and Caryn Conley)
Page 7 of 7