ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Process Modeling
g and DFDs
Process modeling – a technique used to organize and
document a system’s processes.
– Flow of data through processes
– Logic
– Policies
– Procedures
8-2
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Simple
p Data Flow Diagram
g
8-3
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
External Agents
g
External agent – an outside person, unit,
system, or organization that interacts with
y
a system. Also called an external entity.
y
– External agents define the “boundary” or
scope of a system
y beingg modeled.
– Almost always one of the following:
• Office, department,
p division. Gane and Sarson shape
• An external organization or agency.
• Another business or another
information system.
• One of system’s end-users or managers
DeMarco/Yourdon shape
p
8-4
– Named
N d with
ith d
descriptive,
i ti singular
i l noun
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Data Stores
Data store – stored data intended for later
use. Synonyms
S are file
fil and
d database.
d t b
– Frequently implemented as a file or database.
– A data store is “data
data at rest”
rest compared to a data
flow that is “data in motion.”
– Almost always one of the following:
• Persons (or groups of persons)
• Places
• Objects
j
• Events (about which data is captured) Gane and Sarson shape
• Concepts (about which data is important)
– Data stores depicted on a DFD store
all instances of data entities
(depicted on an ERD)
– Named
N d with
ith plural
l l noun
8-5 DeMarco/Yourdon shape
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Process Concepts
p
Process – work performed by a system in
response to incoming data flows or
conditions A synonym is transform.
conditions. transform
– All information systems include
processes - usuallyy many
p y of them
– Processes respond to business
events and conditions and transform Gane and Sarson shape
p
d t into
data i t useful
f l information
i f ti
– Modeling processes helps us to understand the
interactions with the system's
system s environment
environment, other
systems, and other processes.
– Named with a strong action verb followed by object
8-6
clause describing what the work is performed on/for .
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
The System
y is Itself a Process
8-7
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Process Decomposition
p
Decomposition – the act of breaking a system
into sub-components. Each level of abstraction
reveals more or less detail.
8-8
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Decomposition
p Diagrams
g
Decomposition
p
diagram – a tool
used to depict
p the
decomposition of
a system.
y Also
called hierarchy
chart.
8-9
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Types
yp of Logical
g Processes
Function – a set of related and ongoing activities of a
business.
business
– A function has no start or end.
8-10
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Data Flows & Control Flows
Data
D t fl
flow – data
d t th
thatt is
i iinputt tto or
output from a process.
– A data flow is data in motion Data flow name
– A data flow may also be used to
represent the creation, reading, deletion,
or updating
pdating of data in a file or database
(called a data store).
Composite
p data flow – a data flow
that consists of other data flows.
Control flow name
Control flow – a condition or
nondata event that triggers a
process.
– Used sparingly on DFDs
DFDs.
8-11
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Data Flow Packet Concept
p
• Data that should travel together
g should be
shown as a single data flow, no matter how
many physical documents might be included.
8-12
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Composite and Elementary
Data Flows
Composite
p
flow
Elementary
flows
8-14
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Rules for Data Flows
• A data flow
should never go
unnamed.
• In logical
modeling, data
flow names
should describe
the data flow
without
describing the
implementation
• All data flows
must begin
and/or end at a
process
process.
8-15
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Common Process Errors on
DFDs
8-16
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Data Conservation
Data conservation – the p practice of
ensuring that a data flow contains only
data needed by y the receiving
gpprocess.
– Sometimes called starving the processes.
– New emphasis
p on business pprocess
redesign to identify and eliminate
inefficiencies.
– Simplifies the interface between those
processes.
– Must
M t precisely
i l ddefine
fi ththe d
data
t composition
iti
of each data flow, expressed in the form of
data structures.
structures
8-17
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Data Structures
Data attribute – the smallest p
piece of data that
has meaning to the users and the business.
Data
D t structure
t t – a specific
ifi arrangementt off data
d t
attributes that defines an instance of a data flow.
• The data attributes that comprise a data flow are
organized into data structures.
• Data
D t flows
fl can be
b described
d ib d iin tterms off th
the ffollowing
ll i
types of data structures:
– A sequence or group of data attributes that occur one after
another.
– The selection of one or more attributes from a set of attributes.
– The repetition of one or more attributes.
attributes
8-18
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Data Structure for a Data Flow
DATA STRUCTURE ENGLISH ENTERPRETATION
ORDER
ORDER= An instance of ORDER consists of:
ORDER NUMBER + ORDER NUMBER and d
ORDER DATE and
ORDER DATE+ Either PERSONAL CUSTOMER NUMBER
[ PERSONAL CUSTOMER NUMBER, or CORPORATE ACCOUNT
CORPORATE ACCOUNT NUMBER
NUMBER]+ and SHIPPING ADDRESS (which is
SHIPPING ADDRESS=ADDRESS+ equivalent to ADDRESS)
(BILLING ADDRESS=ADDRESS)+ and optionally: BILLING ADDRESS
1 {PRODUCT NUMBER+ (which is equivalent to
ADDRESS)
PRODUCT DESCRIPTION+ and one or more instances of:
QUANTITY ORDERED
ORDERED+ PRODUCT NUMBER and
PRODUCT PRICE+ PRODUCT DESCRIPTION and
PRODUCT PRICE SOURCE+ QUANTITY ORDERED and
EXTENDED PRICE } N+ PRODUCT PRICE and
SUM O
SU OF EXTENDED PRICES+
C S PRODUCT PRICE SOURCE and
PREPAID AMOUNT+ EXTENDED PRICE
and SUM OF EXTENDED PRICES and
(CREDIT CARD PREPAID AMOUNT and
NUMBER+EXPIRATION DATE) optionally: both CREDIT CARD NUMBER
(QUOTE NUMBER) and EXPIRATION DATE
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Diverging and Converging
Data Flows
Diverging
g g data flow – a data flow that splits
p
into multiple data flows.
– Indicates data that starts out naturally as one flow,
b t is
but i routed
t d tto different
diff t destinations.
d ti ti
– Also useful to indicate multiple copies of the same
output going to different destinations
destinations.
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Diverging and Converging
Data Flows
8-25
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
When to Draw Process Models
• Systems analysis (primary focus of this
course)
– Model existing system including its
limitations
– Model
M d l ttargett system’s
t ’ logical
l i l requirements
i t
– Model candidate technical solutions
– Model the target technical solution
8-26
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Classical Structured Analysis
R l practiced
Rarely ti d anymore b
because cumbersome
b & ti
time-consuming
i
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Modern Structured Analysis
(More Commonly Practiced)
1. Draw context DFD to establish initial project scope.
2. Draw functional decomposition diagram to partition
the system into subsystems.
3. Create event-response or use-case list for the system
to define events for which the system must have a
response.
response
4. Draw an event DFD (or event handler) for each event.
5 Merge event DFDs into a system diagram (or
5. (or, for
larger systems, subsystem diagrams).
6. Draw detailed,, primitive
p DFDs for the more complex
p
event handlers.
7. Document data flows and processes in data
dictionary.
8-28
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Context Data Flow Diagram
g
• Context data flow diagram - a process
model used to document the scope for a
system. Also called the environmental
model.
8-29
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Structured Analysis Diagram
Progression (1 off 3)
8-30
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Structured Analysis Diagram
Progression (2 off 3)
8-31
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Structured Analysis Diagram
Progression (3 off 3)
8-32
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Example: SoundStage Context
DFD
8-33
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
SoundStage Functional
Decomposition Diagram
• Break system into
sub-components
to reveal more
d il
detail.
• Every process to
be factored
should be
factored into at
least two child
processes.
• Larger systems
might be factored
into subsystems
8-34
and functions.
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Events and Use Cases
• External events are initiated by external agents. They
result in an input transaction or data flow.
8-35
• Actor – anything that interacts with a system.
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
SoundStage Partial Use Case
List
Actor/ Event Trigger Response
External Agent
g ( Use Case))
(or
Marketing Establishes a new New Member Generate Subscription Plan
membership Subscription Confirmation.
subscription
p pplan to Program
g Create Agreement in the
entice new members. database.
Marketing Establishes a new Past Member Generate Subscription Plan
membership Resubscription Confirmation.
resubscription
b i ti planl tto P
Program Create Agreement in the
lure back former database.
members.
(time) A subscription plan (current date) Generate Agreement Change
expires. Confirmation.
Logically delete Agreement in
database.
Member Joins club by New Generate Member Directory
subscribing. Subscription Update Confirmation.
Create Member in database.
Create first Member Order and
8-36 Member Ordered Products in
database.
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
SoundStage Partial
Event Decomposition Diagram
8-37
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Event Diagrams
g
Event diagram – data flow diagram that
depicts the context for a single event.
– One diagram for each event process
– Depicts
• Inputs from external agents
• Outputs to external agents
• Data stores from which records must be "read
read."
Data flows should be added and named to
reflect the data that is read.
• Data stores in which records must be created,
deleted, or updated. Data flows should be
named to reflect the update
update.
8-38
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Simple
p Event Diagram
g
8-39
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Event Diagram
g ((more complex)
p )
8-40
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Temporal
p Event Diagram
g
8-41
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
System
y DFD
8-42
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
System
y DFD ((concluded))
8-43
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Balancing
g
Balancing - a concept that requires that
data flow diagrams at different levels of
detail reflect consistency and
completeness
8-44
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Primitive Diagrams
g
• Some (not necessarily all) event
processes may be exploded into primitive
diagrams to reveal more detail
detail.
– Complex business transaction processes
– Process decomposed into multiple
elementary processes
– Each elementary process is cohesive - it
does onlyy one thing
g
– Flow similar to computer program structure
8-45
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Primitive DFD
(see book for more readable copy)
8-46
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Process Logic
g
• Data Flow Diagrams good for identifying
and describing processes
• Not
N t goodd att showing
h i llogic
i iinside
id
processes
• Need to specify detailed instructions for
elementary processes
8-47
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Structured English
g
Structured
St t d English
E li h – a language
l syntax
t
for specifying the logic of a process.
– Based on the relative strengths of structured
programming
p g g and natural English.
g
8-48
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Structured English Constructs
(Part 1)
8-49
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Structured English Constructs
(Part 2)
8-50
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Policies and Decision Tables
Policy – a set of rules that govern show a
process is to be completed.
8-51
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
A Simple
p Decision Table
8-52
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design
Self Review Questions
• Define process modeling and explain its benefits.
• Recognize and understand basic concepts and constructs of a
process model.
• Read and interpret a data flow diagram.
• Explain when to construct process models and where to store
them.
• Construct a context diagram to illustrate a system’s interfaces with
its environment
environment.
• Identify use cases, external and temporal business events.
• Perform event partitioning and organize events in a functional
decomposition diagram
diagram.
• Draw event diagrams and merge them into a system diagram.
• Draw primitive data flow diagrams and describe the elementary
data flows in terms of data structures and procedural logic
(Structured English and decision tables), respectively.
8-53
ICT Programme, Mahidol University SCCS365 Information Systems Analysis and Design