Data Flow Diagrams Complete
Data Flow Diagrams Complete
1.5.1 Definition
1.5.2 Advantages and Disadvantages
1.5.3 Symbols
1.5.4 Guidelines for drawing DFDs
1.5.5 DFD Levels and examples
1.5.1 Definition
• Data flow diagram (DFD) is a graphical representation
of the "flow" of data through an information system,
modeling its process aspects. A DFD is often used as a
preliminary step to create an overview of the system,
which can later be elaborated. DFDs can also be used
for the visualization of data processing (structured
design).
• There are different notations to draw data flow diagrams (Yourdon & Coad
and Gane & Sarson]), defining different visual representations for processes,
data stores, data flow, and external entities.
• A physical DFD shows how the system is actually implemented, either at the
moment (Current Physical DFD), or how the designer intends it to be in the
future (Required Physical DFD). Thus, a Physical DFD may be used to
describe the set of data items that appear on each piece of paper that
move around an office, and the fact that a particular set of pieces of paper
are stored together in a filing cabinet. It is quite possible that a Physical DFD
will include references to data that are duplicated, or redundant, and that
the data stores, if implemented as a set of database tables, would
constitute an un-normalized (or de-normalized) relational database. In
contrast, a Logical DFD attempts to capture the data flow aspects of a
system in a form that has neither redundancy nor duplication.
1.5.2 ADVANTAGES and DISADVANTAGES
ADVANTAGES DISADVANTAGES
· A simple graphical technique which is · Data flow diagram undergoes lot of
easy to understand. alteration before going to users, so
· It helps in defining the boundaries of the makes the process little slow.
system. · Physical consideration are left out.
· It is useful for communicating current · It make the programmers little
system knowledge to the users. confusing towards the system.
· It is used as the part of system · Different DFD models have different
documentation file. symbols like in Gane and Sarson process
· It explains the logic behind the data flow is represented as rectangle where as in
within the system. DeMarco and Yourdan symbol it is
DFDs can provide a detailed represented as eclipse.
representation of system components.
1.5.3 Symbols
Entities
can be people, departments, other
companies, other systems…
Processes
must have at least one input and at least one output
Data Stores
· can be online or “hard copy” (see notes on logical VS
physical DFD’s below)
Data flow
must originate from and/or lead to a process (this means
that entities and data stores cannot communicate with
anything except processes –remember that it takes a
process to make the data flow)
• Decisions and iterative controls are part of process description rather than
dataflows.
• If an external entity appears more than once on the same DFD, then a diagonal
line is added to the north-west corner of the rectangle (representing such entity).
• Dataflows that carry a whole record between a datastore and a process is not
labeled in the textbook since there is no ambiguity. This is also not a universal
convention. I would rather you labeled such dataflows explicitly.
1.5.4 Guidelines for Drawing
Dataflow Diagrams
Conservation Principles:
Datastores & Dataflows: Datastores can not create (or
destroy) any data. What comes out of a datastore therefore
must first have got into a datastore through a process.
Processes: Processes can not create data out of thin air.
Processes can only manipulate data they have received from
dataflows. Data outflows from processes therefore must be
derivable from the data inflows into such processes.
1.5.4 Guidelines for Drawing
Dataflow Diagrams
Levelling Conventions:
Numbering: The system under study in the context diagram is given number
`0'. The processes in the top level DFD are labelled consecutively by natural
numbers beginning with 1. When a process is exploded in a lower level DFD,
the processes in such lower level DFD are consecutively numbered following
the label of such parent process ending with a period or full-stop (for
example 1.2, 1.2.3, etc.).
External entities: Lower level DFDs can not introduce new external
entities. The context diagram must therefore show all external entities
with which the system under study interacts. In order not to clutter higher
level DFDs, detailed interactions of processes with external entities are
often shown in lower level DFDs but not in the higher level ones. In this
case, there will be some dataflows at lower level DFDs that do not appear
in the higher level DFDs. In order to facilitate unambiguous balancing of
DFDs, such dataflows are crossed out to indicate that they are not to be
considered in balancing. This convention of crossing is quite popular, but
this text does not follow it. I would rather you followed this convention.
1.5.5 DFD LEVELS and SAMPLES
DFD LEVELS
• The DFD may be used for any level of data
abstraction. DFD can be partitioned into levels. Each
level has more information flow and data functional
details than the previous level.
CONTEXT DIAGRAM
Some important points are:
① 1 bubble (process) represents the entire
system.
② Data arrows show input and output.
③ Data Stores NOT shown. They are within the
system.
LEVEL 0 DFD
Some important points are:
① Level 0 DFD must balance with the context
diagram it describes.
② Input going into a process are different from
outputs leaving the process.
③ Data stores are first shown at this level.
LEVEL 1 DFD
Some important points are:
① Level 1 DFD must balance with the Level 0 it
describes.
② Input going into a process are different from
outputs leaving the process.
③ Continue to show data stores.
EXAMPLES of CONTEXT DIAGRAMS
EXAMPLES of CONTEXT DIAGRAMS
EXAMPLES of CONTEXT DIAGRAMS
EXAMPLES of LEVEL 0 DFDS
EXAMPLES of LEVEL 0 DFDS
EXAMPLES of LEVEL 0 DFDS
EXAMPLES of LEVEL 1 DFDS
EXAMPLES of LEVEL 1 DFDS
EXAMPLES of LEVEL 1 DFDS