Process Modeling Using DFDs
(Systems Analysis Phase)
Objectives
Draw data flow diagrams following specific rules and
guidelines that lead to accurate and well-structured
process models
Decompose data flow diagrams into lower-level diagrams.
Explain the differences among four types of DFDs:
current physical, current logical, new physical, and new
logical.
2
What is Process Modeling?
Is a graphical representation of the processes that capture,
manipulate, store, and distribute data between a system, its
environment and among system components
The process uses information gathered during
requirements determination
Business processes can be modeled using data flow
diagrams(DFD), use case diagrams etc.
Processes and data structures are modeled
3
Two Types of Process Models
1. Logical process models - describe processes without
suggesting how they are conducted
2.Physicalprocess models - include information about how
the processes are implemented
4
What is a data flow diagram?
A DFD is a graphical tool that shows business processes
and the data that flows between them
It is one of the tools used to structure and document the
information gathered when determining information
system requirements
DFDs are intended to serve as a communication tool
among systems analysts, system users, database designers,
programmers and other IS project team members
5
Symbols used in DFDs
1. Process: represents work or actions performed on data
inside the system (the transformational component).
2. Data store: repository / the data resident in the
system(data at rest)
3. External Entity (source/sink): is origin(source) or
destination of data (sink), usually outside the system but
interact with the system e.g. people, other systems,
organisations etc.
4. Data flow: arrows depicting movement of data from one
component to another within the system
6
Two Common DFD Notations
NB: You should only use one type of notation for your modeling. Do not mix
the symbols to ensure consistency.
7
Process of Drawing DFDs
Is a highly iterative process of gradual refinement
General steps:
1. Create a preliminary Context Diagram
2. Identify the ways in which users most commonly use the
system
3. Create DFD fragments for each case in (2 above)
4. Create a Level 0 diagram from fragments (NB: ensure that
the processes that can be combined into major processes are
combined at this level).
5. Decompose further to Levels 1 & 2
6. Go to step 1 and revise as necessary
7. Validate DFDs with users
8
Context Level DFD
Context level diagram gives the scope (an overview) of
an organization’s system. It shows the following:
i. the system’s boundaries
ii. external entities that interact with the system
iii. major information flows between the entities and the
system.
9
Context Level DFD-Example
10
Level 0 DFD-Example
Level 0 DFD - represents a system’s major processes, data flows and data
stores at a higher level. Processes are labeled 1.0, 2.0, etc.
11
Different Levels of DFDs-Example
12
Functional Decomposition
Functional decomposition
The act of going from one single system to many component
processes with increasing detail of processes at each lower
level
Repetitive procedure
Lowest level is called a primitive DFD (processes that
cannot be decomposed any further into a child diagram)
Level-N Diagrams
A DFD that is the result of n nested decompositions of a
series of sub-processes from a process on a level-0 diagram
13
Functional Decomposition
Note the numbering convention
System on the processes.
Context Diagram
2
3
3.1 1
3.3
Level 0
3.2
Level 1
Level 2
14
Balancing DFDs
When decomposing a DFD, you must conserve inputs
to and outputs from a process at the next level of
decomposition
This is called balancing
15
Balancing DFDs
Example: Hoosier Burgers
In Figure 5-4, notice that there is one input to the system, the
customer order
Three outputs:
Customer receipt
Food order
Management reports
Notice Figure 5-5. We have the same inputs and outputs
No new inputs or outputs have been introduced
We can say that the context diagram and level-0 DFD are
balanced
16
Data Flow Diagramming Rules
General Rules
I. Inputs to a process are always different from outputs
from a process
II. Symbols/objects always have a unique name
In order to keep the diagram uncluttered (too many objects),
you can repeat data stores and data flows on a diagram
17
Data Flow Diagramming Rules
Processes
A. Law of data conservation
1. Data stays at rest unless moved by a process
2. Processes cannot consume or create data
Must have at least 1 input data flow
Must have at least 1 output data flow
Should have sufficient inputs to create outputs
Process Naming
A process is named using has a verb phrase e.g. update,
search, scrutinize, analyze, etc.
18
Data Flow Diagramming Rules
Processes..(cont)
C. Logical process models omit any processes that do
nothing more than move or route data, thus leaving the
data unchanged. Valid processes include those that:
Perform computations (e.g., calculate grade point average)
Make decisions (determine availability of ordered products)
Sort, filter or otherwise summarize data (identify overdue invoices)
Organize data into useful information (e.g., generate a report or
answer a question)
Trigger other processes (e.g., turn on the furnace or instruct a robot)
Use stored data (create, read, update or delete a record)
19
Data Flow Diagramming Rules
Data Stores Entities (source/sink)
D. Data flow cannot be moved H. Data cannot move
from one store to another directly from a source to
directly a sink (i.e. entity to
E. Data cannot move directly entity)
from an entity to a data store
F. Data cannot move directly
I. An entity is named using
from a data store to an entity a noun phrase e.g.
G. Data store is named using a customer, personnel
noun phrase e.g. application department, employee,
file, catalogue, class register applicant, candidate etc.
etc.
20
Data Flow Diagramming Rules
Data Flow
J. A data flow has only one direction of flow between symbols
K. A fork means that exactly the same data goes from a
common location to two or more processes, data stores or
entities
L. A join means that exactly the same data come from any two
or more different processes, data stores or entity to a
common location
M. A data flow cannot go directly back to the same process it
leaves
N. A data flow to a data store means update
O. A data flow from a data store means retrieve or use
P. A data flow is named using a noun phrase e.g. payment,
order, student details, receipt etc.
21
Data Flow Diagramming Rules
Data Flow
Example of splitting data flow at a lower level diagram
22
More Guidelines
1. Completeness
DFD must include all components necessary for system
Each component must be fully described in the project
dictionary or CASE repository
2. Consistency
The extent to which information contained on one level
of a set of nested DFDs is also included on other levels
3. Timing
Time is not represented well on DFDs
Best to draw DFDs as if the system has never started and
will never stop
23
More Guidelines
4. Iterative Development
Analyst should expect to redraw diagram several times
before reaching the closest approximation to the system
being modeled
5. Primitive DFDs
Lowest logical level of decomposition
Decision has to be made when to stop decomposition
24
Rules for stopping decomposition
1. When each process has been reduced to a single decision,
calculation or database operation
2. When each data store represents data about a single entity
3. When the system user does not care to see any more detail
4. When every data flow does not need to be split further to
show that data are handled in various ways
5. When you believe that you have shown each business form
or transaction, online display and report as a single data
flow
6. When you believe that there is a separate process for each
choice on all lowest-level menu options
25
Logic Modeling
Data flow diagrams DO NOT show the logic inside the
processes
Logic modeling involves representing internal structure
and functionality of processes depicted on a DFD
Two methods that can be used to model logic:
Structured English/pseudocode
Decision Tables
26
Sources
Jeffery Hoffer et. Al, Modern Systems Analysis and
Design, 7th edition
Dennis & Haley Wixom, Systems Analysis and Design,
5th edition
27