Data Flow Diagram

Only available on StudyMode
  • Download(s) : 404
  • Published : September 28, 2012
Open Document
Text Preview
Understanding Data Flow Diagrams
Donald S. Le Vie, Jr.
Data flow diagrams (DFDs) reveal relationships among
and between the various components in a program or
system. DFDs are an important technique for modeling a
system’s high-level detail by showing how input data is
transformed to output results through a sequence of
functional transformations. DFDs consist of four major
components: entities, processes, data stores, and data
flows. The symbols used to depict how these components
interact in a system are simple and easy to understand;
however, there are several DFD models to work from,
each having its own symbology. DFD syntax does remain
constant by using simple verb and noun constructs. Such
a syntactical relationship of DFDs makes them ideal for
object-oriented analysis and parsing functional
specifications into precise DFDs for the systems analyst.

DEFINING DATA FLOW
DIAGRAMS (DFDs)
When it comes to conveying how information data flows
through systems (and how that data is transformed in the
process), data flow diagrams (DFDs) are the method of
choice over technical descriptions for three principal
reasons.
1.
2.

3.

DFDs are easier to understand by technical and
nontechnical audiences
DFDs can provide a high level system overview,
complete with boundaries and connections to other
systems
DFDs can provide a detailed representation of
system components1

DFDs help system designers and others during initial
analysis stages visualize a current system or one that
may be necessary to meet new requirements. Systems
analysts prefer working with DFDs, particularly when
they require a clear understanding of the boundary
between existing systems and postulated systems. DFDs
represent the following:
1.
2.
3.
4.

External devices sending and receiving data
Processes that change that data
Data flows themselves
Data storage locations

The hierarchical DFD typically consists of a top-level
diagram (Level 0) underlain by cascading lower level
diagrams (Level 1, Level 2…) that represent different
parts of the system.

Before There Were DFDs…
Flowcharts and Pseudocode
Years ago, programmers used a combination of
flowcharts and pseudocode (a combination of English
and the programming language being written) to design
programs. Pseudocode can actually be simpler to read
than corresponding flowcharts, as Figure 1 illustrates.
Pseudocode
DO Fill_Water_Can
IF Plant_Soil_Moist THEN
IF Plant_Type = Succulent THEN
DO Add_Some_Water
ELSE
Do Add_Lots_of_Water
ENDIF
ENDIF

Start

Fill
water
can

Is plant
soil
moist?

Yes

Done

No
Is plant
a
succulent
No

Yes

Add
some
water
Add lots
of water

Figure 1. A Flowchart With Corresponding
Pseudocode for Watering House Plants.

Entity-Relationship Diagrams (ERDs)
Entity-Relationship Diagrams (ERDs) are another way
of showing information flow for a process. An ERD
shows what data is being used in the process or program,
and how the files are related. The E-R (entityrelationship) data model views the real world as a set of basic objects (entities) and relationships among these
objects. It is intended primarily for the database design
process by allowing for the specification of an enterprise
scheme. This enterprise scheme represents the overall
logical structure of the database. ERDs do not show any
program functions, nor data flow. An ERD is shown in
Figure 2.

customer
city

account no.
balance

street
date
SSN

customer

account

CustAcc

Figure 2. An Example of an Entity-Relationship
Diagram.

Data Flow Diagrams
Data flow diagrams have replaced flowcharts and
pseudocode as the tool of choice for showing program
design. A DFD illustrates those functions that must be
performed in a program as well as the data that the
functions will need. A DFD is illustrated in Figure 3.

Paycheck
D1 Bill payable
A1
Prepare
bank
deposit
Bank
Deposit

Deposit...
tracking img