Pertemuan ke-12
PROCESS MODELING &
DATA MODELING
PROCESS MODELING
Process model
A formal way of representing how a business
operates
Illustrates the activities that are performed and
how data moves among them
Data flow diagramming
A popular technique for creating process models
Logical process models describe processes
without suggesting how they are conducted
Physical process models include process
implementation information
DATA FLOW DIAGRAMS
Reading DFD
DFD Elements
Process
An activity or function performed for a specific
business reason
Manual or computerized
Data flow
A single piece of data or a logical collection of data
Always starts or ends at a process
DFD Elements
Data Store
A collection of data that is stored in some way
Data flowing out is retrieved from the data store
Data flowing in updates or is added to the data store
External entity
A person, organization, or system that is external to
the system but interacts with it.
Naming and Drawing DFD
Elements
Process
Data flow
Data store
External
entity
Depicting Business Processes
with DFDs
Business processes are too complex to be
shown on a single DFD
Decomposition is the process of representing
the system in a hierarchy of DFD diagrams
Child diagrams show a portion of the parent
diagram in greater detail
Relationship Among DFD
levels
Context diagram
Level 0 diagram
Level 1 diagram
Level 2 diagram
Context Diagram
First DFD in every business process
Shows the context into which the business
process fits
Shows the overall business process as just one
process (process 0)
Shows all the external entities that receive
information from or contribute information to
the system
Level 0 Diagram
Shows all the major processes that comprise
the overall system – the internal components
of process 0
Shows how the major processes are
interrelated by data flows
Shows external entities and the major
processes with which they interact
Adds data stores
Level 1 Diagrams
Generally, one level 1 diagram is created for every
major process on the level 0 diagram
Shows all the internal processes that comprise a
single process on the level 0 diagram
Shows how information moves from and to each of
these processes
If a parent process is decomposed into, for example,
three child processes, these three child processes
wholly and completely make up the parent process
Level 2 Diagrams
Shows all processes that comprise a single
process on the level 1 diagram
Shows how information moves from and to
each of these processes
Level 2 diagrams may not be needed for all
level 1 processes
Correctly numbering each process helps the
user understand where the process fits into
the overall system
Data Flow Splits and Joins
A data flow split shows where a flow is broken
into its component parts for use in separate
processes
Data flow splits need not be mutually exclusive
nor use all the data from the parent flow
As we move to lower levels we become more
precise about the data flows
A data flow join shows where components are
merged to describe a more comprehensive flow
Alternative Data Flows
Where a process can produce different data
flows given different conditions
We show both data flows and use the process
description to explain why they are alternatives
Tip -- alternative data flows often accompany
processes with IF statements
Process Descriptions
Text-based process descriptions provide more
information about the process than the DFD
alone
If the logic underlying the process is quite
complex, more detail may be needed in the form
of
Structured English
Decision trees
Decision tables
Structured English
Common Statements Example
Action Statement Profits = Revenues - Expenses
Generate Inventory Report
Add Product record to Product Data Store
If Statement IF Customer Not in Customer Data Store
THEN Add Customer record to Customer Data Store
ELSE Add Current Sale to Customer’s Total Sales
Update Customer record in Customer Data Store
For Statement FOR all Customers in Customer Data Store, do
Generate a new line in the Customer Report
Add Customer’s Total Sales to Report Total
Case Statement CASE
If Income < 10,000: Marginal tax rate = 10%
If Income < 20,000: Marginal tax rate = 20%
If Income < 30,000: Marginal tax rate = 31%
If Income < 40,000: Marginal tax rate = 35%
ELSE Marginal tax rate = 38%
ENDCASE
Decision Trees
Graphical way of depicting if-then-else logic
Decision Tables
Represent very complex processes with
multiple decision rules
CREATING DATA FLOW DIAGRAMS
Integrating Scenario
Descriptions
DFDs start with the use cases and requirements
definition
Generally, the DFDs integrate the use cases
Names of use cases become processes
Inputs and outputs become data flows
“Small” data inputs and outputs are combined
into a single flow
Steps in Building DFDs
Build the context diagram
Create DFD fragments for each use case
Organize DFD fragments into level 0 diagram
Decompose level 0 processes into level 1
diagrams as needed; decompose level 1
processes into level 2 diagrams as needed; etc.
Validate DFDs with user to ensure completeness
and correctness
Build the Context Diagram
Draw one process representing the entire system
(process 0)
Find all inputs and outputs listed at the top of the
use cases that come from or go to external
entities; draw as data flows
Draw in external entities as the source or
destination of the data flows
A Context Diagram Example
Creating DFD Fragments
Each use case is converted into one DFD
fragment
Number the process the same as the use case
number
Change process name into verb phrase
Design the processes from the viewpoint of the
organization running the system
Creating DFD Fragments
Add data flows to show use to data stores as
sources and destinations of data
Layouts typically place
processes in the center
inputs from the left
outputs to the right
stores beneath the processes
A DFD Fragment Example
Creating the Level 0 Diagram
Combine the set of DFD fragments into one
diagram
Generally move from top to bottom, left to
right
Minimize crossed lines
Iterate as needed
DFDs are often drawn many times before being
finished, even with very experienced systems analy
A Level 0 DFD Example
Creating Level 1 Diagrams
(and Below)
Each use case is turned into its own DFD
Take the steps listed on the use case and depict
each as a process on the level 1 DFD
Inputs and outputs listed on use case become
data flows on DFD
Include sources and destinations of data flows to
processes and stores within the DFD
May also include external entities for clarity
Creating Level 1 Diagrams
(and Below)
Input data flows shown on a parent DFD are often
unbundled on the child diagram using splits
Output data flows shown on a child DFD are often
bundled using joins and shown as a larger data flow
on the parent diagram
When to stop decomposing DFDs?
Ideally, a DFD has at least 3 processes and no more than 7-
9.
Validating the DFD
Syntax errors – diagram follows the rules
• Assure correct DFD structure
For each DFD:
Check each process for:
A unique name: action verb phrase; number; description
A unique name: action verb phrase; number; description
At least one input data flow
At least one input data flow
At least one output data flow
At least one output data flow
Output data flow names usually different than input data flow names
Output data flow names usually different than input data flow names
Between 3 and 7 processes per DFD
Between 3 and 7 processes per DFD
Validating the DFD
For each DFD:
Check each data flow for:
A unique name: noun; description
Connects to at least one process
Shown in only one direction (no two-headed arrows)
A minimum number of crossed lines
Check each data store for:
A unique name: noun; description
At least one input data flow
At least one output data flow
Check each external entity for:
A unique name: noun; description
At least one input or output data flow
Validating the DFD
Across DFDs:
Context Diagram:
Every set of DFDs must have one Context Diagram
Viewpoint:
There is a consistent viewpoint for the entire set of DFDs
Decomposition:
Every process is wholly and complete described by the processes
on
Balance:
its children DFDs
Every data flow, data store, and external entity on a higher level DFD
is shown on the lower level DFD that decomposes it
No data stores or data flows appear on lower-lever DFDs that do not
appear on their parent DFD
Validating the DFD
Semantics errors – diagram conveys correct
meaning
Assure accuracy of DFD relative to actual/desired
business processes
To verify correct representation, use
User walkthroughs
Role-play processes
Examine lowest level DFDs to ensure consistent
decomposition
Examine names carefully to ensure consistent use
of terms