Lecture 8-Process Modeling Using DFDs
Lecture 8-Process Modeling Using DFDs
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
4
What is a data flow diagram?
A DFD is a graphical tool that shows business processes
and the data that flows between them
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:
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
17
Data Flow Diagramming Rules
Processes
A. Law of data conservation
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