Discussion Board
Data Flow Diagrams
BIS 636
Data Flow Diagrams (DFD)
Graphically characterize data processes and flows (inputs and outputs) in a business system
Depict:
System inputs
Processes
Outputs
Focus on flow of information
Source
Destination
Storage
2
Advantages of the DFD Approach
Freedom from committing to the technical implementation too early
Understanding of the interrelatedness of systems and subsystems
Communicating current system knowledge to users
Analysis of the proposed system
Helps create pseudocode
Pseudocode
Notation resembling a simplified programming language
Structure of programming language
Meant for human reading not machine reading
DFD – Types of Notation
Yourdon & Coad
Gane & Sarson
Systems Analysis and Design
Information Systems
Notation
Process
Data Store
Data Flow
External Entity
Notation – Process
Denotes a change in or transformation of data
Represents work being performed in the system
Naming convention
Assign the name of the whole system when naming a high-level process
To name a major subsystem attach the word subsystem to the name
Use the form verb-adjective-noun for detailed processes
Notation – Process
Notation – Data Store
A depository for data that allows examination, addition, and retrieval of data
Named with a noun, describing the data
Data stores are usually given a unique reference number, such as D1, D2, D3
Represents a:
Filing cabinet
Database
Computerized file
Notation – Data Store
Notation – Data Flow
Shows movement of data from one point to another
Described with a noun
Arrowhead indicates the flow direction
Represents data about a person, place, or thing
Notation – Data Flow
Notation – External Entity
Represent another department, a business, a person, or a machine
A source or destination of data, outside the boundaries of the system
Should be named with a noun
Notation – External Entity
Notation – External Entity
DFD Levels
Data flow diagrams are built in levels
The top level is the Context level
Each process may explode to a lower level
The lower level diagram number is the same as the parent process number
Processes that do not create a child diagram are called primitive
Creating the Context Diagram
The highest level in a data flow diagram
Contains only one process, representing the entire system
The process is given the number 0
All external entities, as well as Major data flows are shown
DFD – Levels/Layers
Context
20
Context Diagram
21
Creating the Level 0 Diagram
The explosion of the context diagram
May include up to nine processes
Each process is numbered
Major data stores and all external entities are included
Level 0 Diagram
23
Creating Child Diagrams
Each process on diagram 0 may be exploded to create a child diagram
A child diagram cannot produce output or receive input that the parent process does not also produce or receive
The child process is given the same number as the parent process
Process 3 would explode to Diagram 3
Creating Child Diagrams (continued)
Entities are usually not shown on the child diagrams below Diagram 0
If the parent process has data flow connecting to a data store, the child diagram may include the data store as well
When a process is not exploded, it is called a primitive process
LOGICAL vs PHYSICAL DFDs
Logical
Focuses on the business and how the business operates
Not concerned with how the system will be constructed
Describes the business events that take place and the data required and produced by each event
Physical
Shows how the system will be implemented
Depicts the system
Progression from Logical to Physical
Partitioning
Partitioning is the process of examining a data flow diagram and determining how it should be divided into collections of manual procedures and computer programs
A dashed line is drawn around a process or group of processes that should be placed in a single computer program
Partitioning (continued)
Considerations:
Whether processes are performed by different user groups
Processes execute at the same time
Processes perform similar tasks
Batch processes can be combined for efficiency of data
Processes may be partitioned into different programs for security reasons
Why Partition
Different user groups
Timing
Processes may be separated into different programs for security
Similar tasks
Efficiency
Consistency
Security
Food Ordering System Example
Context Level
shows only the top level
one visible process node
represents the functions of a complete system in regards to how it interacts with external entities
Some of the benefits of a Context Diagram are:
Shows the overview of the boundaries of a system
No technical knowledge is required to understand with the simple notation
Simple to draw, amend and elaborate as its limited notation
Food Ordering System Example
Context Level
contains a process that represents the system to model
shows the participants who will interact with the system (external entities)
shows the data flow (connectors)
indicate the existence of information exchange between the entities and the system
Note: Context DFD is the entrance of a data flow model. It contains one and only one process and does not show any data store.
Food Ordering System Example
Context Level
Food Ordering System Example
Level 0
contains multiple processes
contains multiple external entities
contains multiple data stores.
Food Ordering System Example
Level 0
Data Flow Diagram Tips
Process labels should be verb phrases; data stores are represented by nouns
A data store must be associated to at least a process
An external entity must be associated to at least a process
Data Flow Diagram Tips (continued)
Don't let it get too complex; normally 5 - 7 average people can manage processes
DFD numbering is non-deterministic - The numbering does not necessarily indicate sequence, it's useful in identifying the processes when discussing with users
Common DFD Errors
A process that has inputs but no outputs is considered to be a black-hole process
A process that has outputs but no inputs is considered to be a miracle process
Common DFD Errors
Data flows should not exist between 2 external entities or 2 data stores without going through a process
Common DFD Errors
Data stores should not be connected to an external entity, otherwise, it would mean that you're giving an external entity direct access to your data files
Common DFD Errors
Others
41
Common DFD Errors (continued)
No outputs
No inputs
EE to DS
DS to DS
Same information
Reversed
43