You are on page 1of 100

Process Modeling

Introduction

 The chapter will address the following questions:


 What is systems modeling and what is the difference between
logical and physical system models?
 What is process modeling and what are its benefits?
 What are the basic concepts and constructs of a process model.
 How do you read and interpret a data flow diagram.
 When in a project are process models constructed and where are
they stored?
 How do you construct a context diagram to illustrate a system’s
interfaces with its environment?
 How do you identify external and temporal business events for a
system?
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 1
Process Modeling
Introduction

 The chapter will address the following questions:


 How do you perform event partitioning and organize events in a
functional decomposition diagram?
 How do you draw event diagrams and then merge those event
diagrams into a system diagram?
 How do you draw primitive data flow diagrams, and describe the
elementary data flows and processes in terms of data structures
and procedural logic (Structured English and decision tables),
respectively?

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 2
Process Modeling
An Introduction to System
Modeling

 System Models
 System models play an important role in systems development.
 Systems analysts or users constantly deal with unstructured
problems.
 One way to structure such problems is to draw models.
 A model is a representation of reality. Just as a picture is worth

a thousand words, most system models are pictorial


representations of reality.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 3
Process Modeling
An Introduction to System
Modeling

 System Models
 Models can be built for existing systems as a way to better
understand those systems, or for proposed systems as a way to
document business requirements or technical designs.
 Logical models show what a system ‘is’ or ‘does’. They are
implementation-independent; that is, they depict the system
independent of any technical implementation. As such, logical models
illustrate the essence of the system. Popular synonyms include
essential model, conceptual model, and business model.
 Physical models show not only what a system ‘is’ or ‘does’, but also
how the system is physically and technically implemented. They are
implementation-dependent because they reflect technology choices,
and the limitations of those technology choices. Synonyms include
implementation model and technical model
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 4
Process Modeling
An Introduction to System
Modeling

 System Models
 Systems analysts have long recognized the value of separating
business and technical concerns.
 They use logical system models to depict business

requirements.
 They use physical system models to depict technical designs.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 5
Process Modeling
An Introduction to System
Modeling

 System Models
 Systems analysis activities tend to focus on the logical system
models for the following reasons:
 Logical models remove biases that are the result of the way the

current system is implemented or the way that any one person


thinks the system might be implemented.
 Logical models reduce the risk of missing business

requirements because we are too preoccupied with technical


details.
 Logical models allow us to communicate with end-users in

non-technical or less technical languages.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 6
Process Modeling
An Introduction to System
Modeling

 System Models
 What is Process Modeling?
 Process modeling is a technique for organizing and documenting

the structure and flow of data through a system’s PROCESSES


and/or the logic, policies, and procedures to be implemented by a
system’s PROCESSES.
 Process modeling originated in classical software engineering

methods.
 A systems analysis process model consists of data flow diagrams

(DFDs).
• A data flow diagram (DFD) is a tool that depicts the flow of data
through a system and the work or processing performed by that system.
Synonyms include bubble chart, transformation graph, and process
model.
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 7
Process Modeling
INFORMATION SYSTEMS FRAMEWORK

FOCUS ON FOCUS ON FOCUS ON FOCUS ON FAST


SYSTEM SYSTEM SYSTEM SYSTEM
DATA PROCESSES INTERFACES GEOGRAPHY Methodology

Business Functions System Context Survey Phase


Accoun ts

Marketing
Receivable
Database
(establish scope
and project plan)
Credit

SYSTEM
OWNERS Advertising Sales
Custom er Order
Order
Management
Picking
Ord er
Warehouse
System

(scope) Credit
Voucher
Study Phase
Orders Cancellations Services
Ba nk

(establish
Decomposition Diagram Context Diagram
system
Business Processe improvement
rejected order

Customers
credit C heck
credit
objectives)
c ustomer
SYSTEM number order wi th
approved order

S valid products

USERS
Y order Validate
c ustomer
v alid order Validate
products Orders

S
T
(requirements) order without
valid
c ustomer
pric es
approv ed
order
Definition Phase
picking
E P roduc ts
quantity
i n stock
Rel ease
order
ticket

M
(establish and
A Data Flow Diagrams
N
prioritize
A business system
L
Y requirements)
S
SYSTEM
Reverse
T
S DESIGNERS Engineering
(specification) (optional)

SYSTEM
BUILDERS

(components)

Interface
Software Technology Networking
(and Hardware)
Database Telchnology
Technology
Technology

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 8
Process Modeling
Monthly Account
Statements
New or Modified
Monthly Statement Prior Monthly
Statement
Monthly
Reconcile
Statement
Bank Account
Balances

Transaction

Bill Account
Creditor Account
Balance
Transactions

Current
Pay
Payment Balance
a Bank Accounts
Bill

Modified Balance

Payment

Modified
Withdraw
Account Deposit Balance
Funds from
Transactions an Account

Withdraw or transfer

Deposit Funds
Pay
Employer into an
Account
Bank

Other
Reimbursement
Income
Source
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 9
Process Modeling
An Introduction to System
Modeling

 System Models
 Data Flow Diagram
 There are only three symbols and one connection:

• The rounded rectangles represent processes or work to be done.


• The squares represent external agents – the boundary of the
system.
• The open-ended boxes represent data stores, sometimes called
files or databases, and correspond to all instances of a single entity
in a data model.
• The arrows represent data flows, or inputs and outputs, to and
from the processes.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 10
Process Modeling
An Introduction to System
Modeling

 System Models
 Data Flow Diagrams Versus Flowcharts
 Processes on a data flow diagram can operate in parallel.

Processes on flowcharts can only execute one at a time.


 Data flow diagrams show the flow of data through the system.

• Their arrows represent paths down which data can flow. Looping
and branching are not typically shown.
 Flowcharts show the sequence of processes or operations in an
algorithm or program.
• Their arrows represent pointers to the next process or operation.
This may include looping and branching.
 Data flow diagrams can show processes that have dramatically
different timing and flowcharts don’t.
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 11
Process Modeling
System Concepts for Process
Modeling

 What is Systems Thinking?


 Systems thinking is the application of formal systems theory and
concepts to systems problem solving.
 Systems theory and concepts help us understand the way systems
are organized, and how they work.
 Techniques teach us how to apply the theory and concepts to build
useful real-world systems.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 12
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 A System is a Process
 The simplest process model of a system is based on inputs,

outputs, and the system itself – viewed a process.


 The process symbol defines the boundary of the system.

 The system is inside the boundary; the environment is outside

that boundary.
 The system exchanges inputs and outputs with its environment.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 13
Process Modeling

input The output


input System output
input output
Process

Feeback and
Control Loop

The System's Environment


(constantly changing)

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 14
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 A System is a Process (continued)
 A rounded rectangle (the Gane and Sarson notation) is used
Process name
represent a process.
(the Gane & Sarson shape;
used throughout this book)
 Other process modeling notations:

• The Demarco/Yourdon notation uses a circle.


Process name
• The SSADM/IDEF0 notation uses a rectangle.
 What is a process?
(the DeMarco & Yourdon shape)
• A process is work performed on, or in response to, incoming data
flows or conditions. A synonym is transform.
Process name

(the SSADM & IDEF0 shape)

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 15
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Process Decomposition
 What do you do when a complex system is too difficult to fully

understand when viewed as a whole (meaning, as a single


process)?
• In systems analysis we separate a system into its component
subsystems, which in turn are decomposed into smaller subsystems,
until such a time as we have identified manageable subsets of the
overall system.
• This technique is called decomposition.
– Decomposition is the act of breaking a system into its
component subsystems, processes, and subprocesses. Each
‘level’ of abstraction reveals more or less detail (as desired)
about the overall system or a subset of that system.
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 16
Process Modeling
0
The System

1
A Function of the System

1.1 1.2
Activity of the Function Another Activity of the Function

Task 1.1.1 Task 1.1.2 Task 1.2.1

Task 1.2.2
Task 1.1.3

2
Another Function of the System
2.1 2.2
Activity of this Function Another Activity of this Function
Task 2.1.1 Task 2.1.2
Task 2.2.1 Task 2.2.2

Task 2.1.3 Task 2.1.4 Task 2.2.3

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 17
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Process Decomposition (continued)
 A decomposition diagram is a popular tool to illustrate system

decomposition.
• A decomposition diagram, also called a hierarchy chart, shows
the top down functional decomposition and structure of a system.
 A decomposition diagram is essentially a planning tool for
more detailed processes models, namely, data flow diagrams.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 18
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Process Decomposition (continued)
 The decomposition diagram rules:

• Each process in a decomposition diagram is either a parent


process, a child process (of a parent), or both.
• A parent must have two or more children – a single child does not
make sense since that would not reveal any additional detail about
the system.
• In most decomposition diagramming standards, a child may have
only one parent.
• A child of one parent may, of course, be the parent of its own
children.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 19
Process Modeling
0
The System

1 2
A Function Another
Function

1.1 1.2 2.1 2.2


Activity of the Another Activity Acivity of this Another Activity
Function of the Function Function of this Function

Task 1.1.1 Task 1.2.1 Task 2.1.1 Task 2.2.1

Task 1.2.2 Task 2.1.2 Task 2.2.2


Task 1.1.2

Task 2.1.3 Task 2.2.3


Task 1.1.3

Task 2.1.4

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 20
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Logical Processes and Conventions
 Logical processes are work or actions that must be performed

no matter how you implement the system.


 Each logical process is (or will be) implemented as one or

more physical processes that may include:


• work performed by people
• work performed by robots or machines
• work performed by computer software
 Naming conventions for logical processes depend on where the
process is in the decomposition diagram/data flow diagram and
type of process depicted.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 21
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Logical Processes and Conventions (continued)
 There are three types of logical processes: functions, events, and

elementary processes.
• A function is a set of related and on-going activities of the
business. A function has no start or end – it just continuously
performs its work as needed.
– Each of these functions may consist of dozens, or hundreds of
more discrete processes to do support specific activities and
tasks.
– Functions serve to group the logically related activities and
tasks.
– Functions are named with nouns that reflect the entire function.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 22
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Logical Processes and Conventions (continued)
 There are three types of logical processes: functions, events, and

elementary processes.
• An event is a logical unit of work that must be completed as a whole.
An event is triggered by a discrete input, and is completed when the
process has responded with appropriate outputs. Events are sometimes
called transactions.
– Functions consist of processes that respond to events.
– Each of these events has a trigger and response that can be defined
by its inputs and outputs.
– System functions are ultimately decomposed into business events.
– Each business event is represented by a single process that will
respond to that event.
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 23
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Logical Processes and Conventions (continued)
 There are three types of logical processes: functions, events,

and elementary processes.


• A event process can be further decomposed into elementary
processes that illustrate in detail how the system must respond to
an event.
– Elementary processes are discrete, detailed activities or tasks
required to complete the response to an event. In other words,
they are the lowest level of detail depicted in a process model.
A common synonym is primitive process.
– Elementary processes should be named with a strong action
verb followed by an object clause that describes what the work
is performed on (or for).
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 24
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Logical Processes and Conventions (continued)
 Logical process models omit any processes that do nothing more

than move or route data, thus leaving the data unchanged.


 You should be left only with logical processes 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)

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 25
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Logical Processes and Conventions (continued)
 Be careful to avoid three common mechanical errors with

processes (as illustrated in the following slide):


• A black hole is when a process has inputs but no outputs. Data
enters the process and then disappears.
• A miracle is when a process has outputs but no input.
• A gray hole is when the inputs of a process are insufficient to
produce the output. (most common)

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 26
Process Modeling

Membership
application
Employee

Bank statement

3.1.2 3.1.1
Existing account Generate an
Create a new
member account employee bank
statement
Employee
status
Employee address

Member Accounts Employees

3.1.3 Accounts
New account status Frozen account notification Receivable
Freeze member
account number Department

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 27
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Process Logic
 Decomposition diagrams and data flow diagrams will prove very

effective tools for identifying processes, but they are not good at
showing the logic inside those processes.
 We need to specify detailed instructions for the elementary

processes on a data flow diagram.


 To address this problem, we require a tool that marries some of the

advantages of natural English with the rigor of programming logic


tools.
• Structured English is a language and syntax, based upon the relative
strengths of structured programming and natural English, for specifying
the underlying logic of elementary processes on process models (such
as data flow diagrams).
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 28
Process Modeling
* Many of us do not write well, and we also tend not to question our writing abilities.
* Many of us are too educated! It’s often difficult for a highly educated person to communicate with an
audience that may not have had the same educational opportunities. For example, the average college
graduate (including most analysts) has a working vocabulary of 10,000 to 20,000 words; on the other
hand, the average non-college graduate has a working vocabulary of around 5,000 words.
* Some of us write everything like it was a program. If business procedures required such precision,
we’d write everything in a programming language.
* Too often, we allow the jargon and acronyms of computing to dominate our language.
* English statements frequently have an excessive or confusing scope. How would you carry out this
procedure: “If customers walk in the door and they do not want to withdraw money from their
account or deposit money to their account or make a loan payment, send them to the trust
department.” Does this mean that the only time you should not send the customer to the trust
department is when he or she wishes to do all three of the transactions? Or does it mean that if a
customer does not wish to perform at least one of the three transactions, that customer should not be
sent to the trust department?
* We overuse compound sentences Consider the following procedure: “Remove the screws that hold
the outlet cover to the wall. Remove the outlet cover. Disconnect each wire from the plug, but first
make sure the power to the outlet has been turned off.” An unwary person might try to disconnect the
wires prior to turning off the power!
* Too many words have multiple definitions.
* Too many statements use imprecise adjectives. For example, an loan officer asks a teacher to certify
that a student is in good academic standing. What is good?
* Conditional instructions can be imprecise. For example, if we state that “all applicants under the age
of 19 must secure parental permission,” do we mean less than 19, or less than or equal to 19?
* Compound conditions tend to show up in natural English. For example, if credit approval is a
function of several conditions: credit rating, credit ceiling, annual dollar sales for the customer in
question, then different combinations of these factors can result in different decisions. As the number
of conditions and possible combinations increases, the procedure becomes more and more tedious
and difficult to write.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 29
Process Modeling

1. For each CUSTOMER NUMBER in the data store CUSTOMERS:


a. For each LOAN in the data store LOANS that matches the above CUSTOMER NUMBER:
1) Keep a running total of NUMBER OF LOANS for the CUSTOMER NUMBER.
2) Keep a running total of ORIGINAL LOAN PRINCIPLE for the CUSTOMER NUMBER.
3) Keep a running total of CURRENT LOAN BALANCE for the CUSTOMER NUMBER.
4) Keep a running total of AMOUNTS PAST DUE for the CUSTOMER NUMBER.
b. If the TOTAL AMOUNTS PAST DUE for the customer number is greater than 100.00 then
1) Write the customer number and data in the data flow LOANS AT RISK.
Else
1) Exclude the customer number and data from the data flow LOANS AT RISK.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 30
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Process Logic (continued)
 The overall structure of a Structured English specification is

built using the fundamental constructs that have governed


structured programming for nearly three decades.
 These constructs are:

• A sequence of simple, declarative sentences – one after another.


• A conditional or decision structure indicate that a process must
perform different actions under well specified conditions.
• A iteration or repetition structure specifies that a set of actions
should be repeated based on some stated condition. There are two
variations on this construct.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 31
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Process Logic (continued)
 The sequence construct:

• Compound sentences are discouraged because they frequently


create ambiguity.
• Each sentence uses strong, action verbs such as GET, FIND,
RECORD, CREATE, READ, UPDATE, DELETE,
CALCULATE, WRITE, SORT, MERGE, or anything else
recognizable or understandable to the users.
• A formula may be included as part of a sentence (e.g.,
CALCULATE GROSS PAY = HOURS WORKED X HOURLY
WAGE.)

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 32
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Process Logic (continued)
 The conditional or decision structure construct:

• There are two variations (and a departure) on this construct.


– The IF-THEN-ELSE construct specifies that one set of actions
should be taken if a specified condition is ‘true’, but a different
set of actions should be specified if the specified condition is
false.
– The CASE construct is used when there are more than two sets
of actions to choose from.
– For logic that based on multiple conditions and combinations
of conditions, decision tables are a far more elegant logic
modeling tool.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 33
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Process Logic (continued)
 The iteration or repetition construct:

• There are two variations on this construct.


– The DO-WHILE construct indicates that certain actions
(usually expressed as one or more sequential and/or
conditional statements) are repeated zero, one, or more times
based on the value of the stated condition.
– The REPEAT-UNTIL constructs indicates that certain actions
(again, usually expressed as one or more sequential and/or
conditional statements) are repeated one or more times based
on the value of the stated condition.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 34
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Process Logic (continued)
 Structured English places the following restrictions on process

logic:
• Only strong, imperative verbs may be used.
• Only names that have been defined in the project repository may be
used.
• State formulas clearly using appropriate mathematical notations.
• Undefined adjectives and adverbs are not permitted unless clearly
defined in the project repository as legal values for data attributes.
• Blocking and indentation are used to set off the beginning and ending
of constructs and to enhance readability.
• When in doubt, user readability should always take precedence over
programmer preferences.
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 35
Process Modeling
C o n s tr u c t S a m p le T e m p la te
S e q u e n c e o f a c tio n s – u n c o n d itio n a lly p e rfo rm a [ A c tio n 1 ]
s e q u e n c e o f a c tio n s . [ A c tio n 2 ]

[ A c tio n n ]
S im p le c o n d itio n a c tio n s – if th e s p e c ifie d c o n d itio n If [ tru th c o n d itio n ]
is tru e , th e n p e rfo rm th e firs t s e t o f a c tio n s . th e n
O th e rw is e , p e rfo rm th e s e c o n d s e t o f a c tio n s . [ s e q u e n c e o f a c tio n s o r o th e r c o n d itio n a l a c tio n s ]
e ls e
U s e th is c o n s tru c t if th e c o n d itio n h a s o n ly tw o
[ s e q u e n c e o f a c tio n s o r o th e r c o n d itio n a l a c tio n s ]
p o s s ib le va lu e s .
E n d If
( N o te : T h e s e c o n d s e t o f c o n d itio n s is o p tio n a l.)
C o m p le x c o n d itio n a c tio n s – te s t th e v a lu e o f th e D o th e fo llo w in g b a s e d o n [ c o n d itio n ]:
c o n d itio n a n d p e rfo rm th e a p p ro p ria te s e t o f a c tio n s . C a s e 1 : If [ c o n d itio n ] = [v a lu e ] th e n
[ s e q u e n c e o f a c tio n s o r o th e r c o n d itio n a l a c tio n s ]
U s e th is c o n s tru c t if th e c o n d itio n h a s m o re th a n tw o
C a s e 2 : If [ c o n d itio n ] = [v a lu e ] th e n
va lu e s .
[ s e q u e n c e o f a c tio n s o r o th e r c o n d itio n a l a c tio n s ]

C a s e n : If [ c o n d itio n ] = [va lu e ] th e n
[ s e q u e n c e o f a c tio n s o r o th e r c o n d itio n a l a c tio n s ]
E n d C ase
M u ltip le c o n d itio n s – te s t th e va lu e o f m u ltip le D E C IS IO N T A B L E R u le R u le R u le R u le
c o n d itio n s to d e te rm in e th e c o rre c t s e t o f a c tio n s .
[ C o n d itio n ] v a lu e v a lu e v a lu e v a lu e
U s e a d e c is io n ta b le in s te a d o f n e s te d if-th e n -e ls e [ C o n d itio n ] v a lu e v a lu e v a lu e v a lu e
S tru c tu re d E n g lis h c o n s tru c ts to s im p lify th e [ C o n d itio n ] v a lu e v a lu e v a lu e v a lu e
p re s e n ta tio n o f c o m p le x lo g ic th a t in v o lv e s [ S e q u e n c e o f a c tio n s o r
X
A d e c is io n ta b le is a ta b u la r p r e s e n ta tio n o f c o m p le x c o n d itio n a l a c tio n s ]
lo g ic in w h ic h r o w s r e p r e s e n t c o n d itio n s a n d p o s s ib le [ S e q u e n c e o f a c tio n s o r
X X
a c tio n s , a n d c o lu m n s in d ic a te w h ic h c o m b in a tio n s o f c o n d itio n a l a c tio n s ]
c o n d itio n s r e s u lt in s p e c ific a c tio n s . [ S e q u e n c e o f a c tio n s o r
X
c o n d itio n a l a c tio n s ]
A lth o u g h it is n ’t a S tr u c tu r e d E n g lis h c o n s tr u c t, a d e c is io n ta b le
c a n b e n a m e d , a n d r e fe r e n c e d w ith in a S tr u c tu r e d E n g lis h
proced ure.
O n e -to -m a n y ite r a tio n – R e p e a t th e s e t o f a c tio n s R e p e a t th e fo llo w in g u n til [tru th c o n d itio n ]:
u n til th e c o n d itio n is fa ls e . [ s e q u e n c e o f a c tio n s o r c o n d itio n a l a c tio n s ]
E n d R ep eat
U s e th is c o n s tru c t if th e s e t o f a c tio n s m u s t b e
p e rfo rm e d a t le a s t o n c e , re g a rd le s s o f th e c o n d itio n ’s
in itia l v a lu e .
Z e r o -to -m a n y ite r a tio n – R e p e a t th e s e t o f a c tio n s D o W h ile [tru th c o n d itio n ]:
u n til th e c o n d itio n is fa ls e . [ s e q u e n c e o f a c tio n s o r c o n d itio n a l a c tio n s ]
End D o
U s e th is c o n s tru c t if th e s e t o f a c tio n s a re c o n d itio n a l
b a s e d o n th e c o n d itio n ’s in itia l v a lu e . - O R -
F o r [tru th c o n d itio n ]:
[ s e q u e n c e o f a c tio n s o r c o n d iti o n a l a c tio n s ]
E nd F or
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 36
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Process Logic (continued)
 Many processes are governed by complex combinations of

conditions that are not easily expressed with Structured


English.
 This is most commonly encountered in business policies.

• A policy is a set of rules that govern some process in the business.


 In most firms, policies are the basis for decision making.
 Policies consist of rules that can often be translated into

computer programs if the users and systems analysts can


accurately convey those rules to the computer programmer.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 37
Process Modeling
System Concepts for Process
Modeling

 Process Concepts
 Process Logic (continued)
 One way to formalize the specification of policies and other

complex combinations of conditions is by using a decision table.


• A decision table is a tabular form of presentation that specifies a set
of conditions and their corresponding actions.
 A decision table consists of three components:
• Condition stubs (the upper rows) describe the conditions or factors
that will affect the decision or policy.
• Action stubs (the lower rows) describe, in the form of statements,
the possible policy actions or decisions.
• Rules (the columns) describe which actions are to be taken under a
specific combination of conditions.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 38
Process Modeling

A SIMPLE POLICY STATEMENT

CHECK CASHING IDENTIFICATION CARD

A customer with check cashing privileges is entitled to cash


personal checks of up to $75.00 and payroll checks of from
companies pre-approved by LMART. This card is issued in
accordance with the terms and conditions of the application and is
subject to change without notice. This card is the property of
LMART and shall be forfeited upon request of LMART.

SIGNATURE Charles C. Parker, Jr.


EXPIRES May 31, 1998

THE EQUIVALENT POLICY DECISION TABLE

Conditions and Actions Rule 1 Rule 2 Rule 3 Rule 5


C1: Type of check personal payroll personal payroll
C2: Check amount less than or equal to $75.00 doesn’t doesn’t
yes no
matter matter
C3: Company accredited by LMART doesn’t doesn’t
yes no
matter matter
A1: Cash the check X X
A2: Don’t cash the check X X

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 39
Process Modeling
System Concepts for Process
Modeling

 Data Flows
 Data in Motion
 A data flow is data in motion.

 The flow of data between a system and its environment, or

between two processes inside a system an relationship between


a system and its environment, or between two processes is
communication.
• A data flow represents an input of data to a process, or the output
of data (or information) from a process. A data flow is also used to
represent the creation, deletion, or update of data in a file or
database (called a data store on the DFD).
• A data flow is depicted as a solid-line with arrow.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 40
Process Modeling

Correct use of the


packet concept
Telephone
Service
Provider Itemized
calls
and
Incorrect
invoice
use of the
packet
concept
Itemized calls Pay
phone
Invoice bill

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 41
Process Modeling
System Concepts for Process
Modeling

 Data Flows
 Data in Motion (continued)
 A data flow is composed of either actual data attributes (also

called data structures), or other data flows.


• A composite data flow is a data flow that consists of other data
flows. They are used to combine similar data flows on general-
level data flow diagrams to make those diagrams easier to read.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 42
Process Modeling

Process Accepted
Customer Order ...
order Order

(a) General-Level DFD

Process Accepted
Standing
standard Standing ...
Order
order Order

Process Accepted
Recurring
recurring Recurring ...
Order
order Order

Customer Order y
Process Accepted
Rush
rush Rush ...
Order
order Order

Process Accepted
employee Employee ...
Employee
order Order
Order

(b) More Detailed DFD


Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 43
Process Modeling
System Concepts for Process
Modeling

 Data Flows
 Data in Motion (continued)
 Some data flow diagramming methods also recognize non-data

flows called control flows.


• A control flow represents a condition or non-data event that
triggers a process. Think of it as a condition to be monitored while
the system works. When the system realizes that the condition
meets some predetermined state, the process to which it is input is
started.
• The control flow is depicted as a dashed-line with arrow.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 44
Process Modeling
System Concepts for Process
Modeling

 Data Flows
 Logical Data Flows and Conventions
 In the Analysis phase, we are only interested in logical data

flows, that the flow is needed (not how we will implement that
flow).
 Data Flow Names:

• Should discourage premature commitment to any possible


implementation.
• Should be descriptive nouns and noun phrases that are singular, as
opposed to plural.
• Should be unique.
– Use adjectives and adverbs to help to describe how processing
has changed a data flow.
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 45
Process Modeling

Order
Cancelled Order

Process Cencel
Order Order

Order
2 to be
Deleted
New
2
Order

Orders

Unfilled
1
Order
New l
Order 2
Address
Change Summarize
Order Unfilled
Address Orders

Change of Address Summary of Orders

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 46
Process Modeling
System Concepts for Process
Modeling

 Data Flows
 Logical Data Flows and Conventions (continued)
 No data flow should ever go completely unnamed.

 Data flow names should describe the data flow without

describing how the flow is or could be implemented.


 All data flows must begin or end at a process, because data

flows are the inputs and outputs of a process.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 47
Process Modeling
Illegal Corrected
data data
flows flows

a process is
needed to
B1 B2 B1 exchange data B1
flows between
boundaries

a process is
needed to
B1 DS1 B1 update (or DS1
use) a data
store

a process is
needed to
DS1 B1 DS1 present data B1
from a data
store

a process is
needed to
move data
DS1 DS2 DS1 DS2
from one data
store to
another
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 48
Process Modeling
System Concepts for Process
Modeling

 Data Flows
 Data Flow Conservation
 Data conservation, sometimes called “starving the processes”,

requires that a data flow only contain that data which is truly
needed by the receiving process.
 By ensuring that processes only receive as much data as they

really need, we simplify the interface between those processes.


 In order to practice data conservation, we must precisely

define the data composition of each (non-composite) data flow.


• Data composition is expressed in the form of data structures.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 49
Process Modeling
System Concepts for Process
Modeling

 Data Flows
 Data Structures
 A data flow contains data items called attributes.

• A data attribute is the smallest piece of data that has meaning to the
end users and the business.
• The data attributes that comprise a data flow are organized into data
structures.
– Data structures are specific arrangements of data attributes that
define the organization of a single instance of a data flow.
 Data flows can be described in terms of the following 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.
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 50
Process Modeling
DATA STRUCTURE ENGLISH INTERPRETATION
ORDER = An instance of ORDER consists of:
ORDER NUMBER + ORDER NUMBER and
ORDER DATE + ORDER DATE and
[ PERSONAL CUSTOMER NUMBER, Either PERSONAL CUSTOMER NUMBER
CORPORATE ACCOUNT NUMBER ] + or CORPORATE ACCOUNT NUMBER
SHIPPING ADDRESS = ADDRESS + and SHIPPING ADDRESS (which is equivalent to
( BILLING ADDRESS = ADDRESS ) + ADDRESS)
1 { PRODUCT NUMBER + and optionally: BILLING ADDRESS (which is
PRODUCT DESCRIPTION + eqivalent to ADDRESS)
QUANTITY ORDERED + and one or more instances of:
PRODUCT PRICE + PRODUCT NUMBER and
PRODUCT PRICE SOURCE + PRODUCT DESCRIPTION and
EXTENDED PRICE } N + QUANTITY ORDERED and
SUM OF EXTENDED PRICES + PRODUCT PRICE and
PREPAID AMOUNT + PRODUCT PRICE SOURCE and
( CREDIT CARD NUMBER + EXPIRATION DATE ) EXTENDED PRICE
( QUOTE NUMBER ) and SUM OF EXTENDED PRICES and
PREPAID AMOUNT and
ADDRESS = optionally: both CREDIT CARD NUMBER and
( POST OFFICE BOX NUMBER ) + EXPIRATION DATE
STREET ADDRESS + and optionally: QUOTE NUMBER
CITY +
[ STATE, MUNICIPALITY ] + An instance of ADDRESS consists of:
( COUNTRY ) + optionally: POST OFFICE BOX NUMBER and
POSTAL CODE STREET ADDRESS and
CITY and
Either STATE or MUNICIPALITY
and optionally: COUNTRY
and POSTAL CODE

Figure 6.15

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 51
Process Modeling
Data Structure Format by Example English Interpretation
(relevant portion is boldfaced) (relevant portion is boldfaced)
Sequence of Attributes - The sequence data WAGE AND TAX STATEMENT = An instance of WAGE AND TAX STATEMENT consists
structure indicates one or more attributes that may TAXPAYER IDENTIFICATION NUMBER + of:
(or must) be included in a data flow. TAXPAPYER NAME + TAXPAYER IDENTIFICATION NUMBER and
TAXPAPYER ADDRESS + TAXPAYER NAME and
WAGES, TIPS, AND COMPENSATION + TAXPAYER ADDRESS and
FEDERAL TAX WITHHELD + … WAGES, TIPS, AND COMPENSATION and
FEDERAL TAX WITHHELD and …

Selection of Attributes - The selection data ORDER = An instance of ORDER consists of:
structure allows you to show situations where ( PERSONAL CUSTOMER NUMBER, Either PERSONAL CUSTOMER NUMBER or
different sets of attributes describe different CORPORATE ACCOUNT NUMBER )+ CORPORATE ACCOUNT NUMBER; and
instances of the data flow. ORDER DATE + … ORDER DATE and …

Repetition of Attributes - The repetition data CLAIM = An instance of CLAIM consists of:
structure is used to set off a data attribute or group POLICY NUMBER + POLICY NUMBER and
of data attributes that may (or must) repeat POLICYHOLDER NAME + POLICYHOLDER NAME and
themselves a specified number of times for a single POLICYHOLDER ADDRESS + POLICYHOLDER ADDRESS and
instance of the data flow. 0 { DEPENDENT NAME + zero or more instances of:
DEPENDENT’S RELATIONSHIP } N + DEPENDENT NAME and
The minimum number of repetitions is usually zero
1 { EXPENSE DESCRIPTION + DEPENDENT’S RELATIONSHIP and
or one.
SERVICE PROVIDER + one or more instances of:
The maximum number of repetitions may be EXPENSE AMOUNT } N EXPENSE DESCRIPTION and
specified as “n” meaning “many” where the actual SERVICE PROVIDER and
number of instances varies for each instance of the EXPENSE ACCOUNT
data flow.
Optional Attributes – The optional notation CLAIM = An instance of CLAIM consists of:
indicates that an attribute, or group of attributes in a POLICY NUMBER + POLICY NUMBER and
sequence or selection data structure may not be POLICYHOLDER NAME + POLICYHOLDER NAME and
included all all instances of a data flow. POLICYHOLDER ADDRESS + POLICYHOLDER ADDRESS and
( SPOUSE NAME + optionally, SPOUSE NAME and
Note: For the repetition data structure, a minimum
DATE OF BIRTH ) + … DATE OF BIRTH and …
of ‘zero’ is the same as making the entire repeating
grouy ‘optional’.
Reusable Attributes – For groups of attributes that DATE = Then, the resuable structures can be included in
are contained in many data flows, it is desirable to MONTH + other data flow structures as follows:
create a separate data structure that can be resued in DAY +
ORDER = ORDER NUMBER … + DATE
other data structures. YEAR
INVOICE = INVOICE NUMBER … + DATE
PAYMENT = CUSTOMER NUMBER … + DATE

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 52
Process Modeling
System Concepts for Process
Modeling

 Data Flows
 Domains
 An attribute is a piece of data.

 The values for each attribute are defined in terms of two

properties: data type and domain.


• The data type for an attribute defines what class of data can be
stored in that attribute.
• The domain of an attribute defines what values an attribute can
legitimately take on.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 53
Process Modeling
System Concepts for Process
Modeling

 Data Flows
 Divergent and Convergent Flows
 A diverging data flow is one which ‘splits’ into multiple data

flows.
• Diverging data flows indicate that all or parts of a single data flow
are routed to different destinations.
 A converging data flow is the ‘merger’ of multiple data flows
into a single data flow.
• Converging data flows indicate that data flows from different
sources can (must) come together as a single packet for subsequent
processing.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 54
Process Modeling

data flow A data flow U


1 1
converging diverging
data flow B data flow data flow data flow V
A+B+C U+V+W
data flow W
data flow C

data flow H data flow R


3 data flow I Process data flow S 3
data flow J data flow T

data flow D data flow X

converging diverging
data flow E data flow data flow data flow Y
D or E or F X or Y or Z
2 2
data flow F data flow Z

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 55
Process Modeling
System Concepts for Process
Modeling

 External Agents
 All information systems respond to events and conditions in the
environment.
 The environment of an information system includes external
agents that form the boundary of the system, and define places
where the system interfaces with its environment.
 A external agent defines an a person, organization unit, other

system, or other organization that lies outside of the scope of


the project, but which interacts with the system being studied.
External agents provide the net inputs into a system, and
receive net outputs from a system. Common synonyms include
external entity.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 56
Process Modeling
System Concepts for Process
Modeling

 External Agents
 The term external means “external to the system being analyzed or
designed.”
 An external agent is represented by a square on the data flow
diagram.
 The Yourdon/Demarco equivalent is a rectangle
 External agents on a logical data flow diagram may include
people, business units, other internal systems with which your
system must interact, and external organizations.

Gane & Sarson DeMarco/Yourdon


External Agent External Agent
Shape Shape
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 57
Process Modeling
System Concepts for Process
Modeling

 External Agents
 External agents should be named with descriptive, singular nouns.
 External agents represent fixed, physical systems; therefore, they
can have very physical names or acronyms.
 To avoid crossing data flow lines on a DFD, it is permissible to
duplicate external agents on DFDs.
 As a general rule, external agents should be located on the
perimeters of the page, consistent with their definition as a system
boundary.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 58
Process Modeling
System Concepts for Process
Modeling

 Data Stores
 Most information systems capture data for later use.
 The data is kept in a data store.
 A data store is an ``inventory’’ of data. Synonyms include file

and database (although those terms are too implementation-


oriented for essential process modeling).
 A data store is represented by the open-end box.
 If data flows are data in motion, think of data stores as data at
rest.
 Data stores should describe ``things’’ about which the business
wants to store data.
Gane & Sarson
Data Store Shape
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 59
Process Modeling
System Concepts for Process Modeling

 Data Stores
 There should be one data store for each data entity on your entity
relationship diagram.
 Data stores should be named as the plural of the corresponding
data model entity
 Avoid physical terms such as file, database, file cabinet, file

folder, and the like.


 It is permissible to duplicate data stores on a DFD to avoid
crossing data flow lines.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 60
Process Modeling
The Process of Logical Process Modeling

 Strategic Systems Planning


 Many organizations select application development projects based
on strategic information system plans.
 Strategic planning produces an information systems strategy plan.
 The information systems strategy plan defines an architecture for
information systems and this architecture frequently includes an
enterprise process model.
 An enterprise process model identifies only business areas and

functions.
 An enterprise process model usually takes the form of a

decomposition diagram and/or very high-level data flow


diagram.
 A enterprise process model is stored in a corporate repository.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 61
Process Modeling
The Process of Logical Process Modeling

 Process Modeling for Business Process Redesign


 BPR projects analyze business processes and then redesign them
to eliminate inefficiencies and bureaucracies prior to any
(re)application of information technology.
 In order to redesign business processes, the existing processes
must first be studied and documented using process models.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 62
Process Modeling
The Process of Logical Process Modeling

 Process Modeling during Systems Analysis


 In systems analysis, the logical process model for a system or
application is an application process model.
 In the heyday of the original structured analysis methodologies,
process modeling was also performed in the study phase of
systems analysis.
 Analysts would build a physical process model of the current

system, a logical model of the current system, and a logical


model of the target system.
 While conceptually sound, this approach led to “analysis

paralysis” - modeling overkill.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 63
Process Modeling
The Process of Logical Process Modeling

 Process Modeling during Systems Analysis


 Today, most modern structured analysis strategies focus
exclusively on the logical model of the target system being
developed.
 They are organized according to a strategy called event
partitioning.
 Event partitioning factors a system into subsystems based on

business events and responses to those events.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 64
Process Modeling
The Process of Logical Process Modeling

 Process Modeling during Systems Analysis


 The strategy for event-driven process modeling is as follows:
 Step 1: A system context diagram is constructed to establish

initial project scope.


 Step 2: A functional decomposition diagram is drawn to

partition the system into logical subsystems and/or functions.


 Step 3: An event-response list is compiled to identify and

confirm the business events to which the system must provide a


response.
 Step 4: One process, called an event handler is added to the

decomposition diagram for each event.


 Step 5: An event diagram is constructed and validated for each

event.
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 65
Process Modeling
The Process of Logical Process Modeling

 Process Modeling during Systems Analysis


 The strategy for event-driven process modeling is as follows:
(continued)
 Step 6: A system diagram(s) is constructed by merging the

event diagrams.
 Step 7: A primitive diagram is constructed for each event

process.
• These data flow diagrams show all of the elementary processes,
data stores, and data flows for single events.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 66
Process Modeling
Event-Response List

event 1 response
event 2 response
response
1 event 3 response
response 3
response
The event 4 response

System ...

The
System
2

Function 1 Function 2 ... Function n

4 Event 1 Event 2 Event 3 Event 4 Event 5 ... Event n-2 Event n-1 Event n

Event 1 Event 5 Event n


5
... ...

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 67
Process Modeling

Event 2 Event n-2

Event 1
Event 4
Event n
6

Event n-1

Event 5

Event 3

2.3

... 2.1
...
2.4

2.2

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 68
Process Modeling
The Process of Logical Process Modeling

 Looking Ahead to Systems Configuration and Design


 The logical process model from systems analysis describes
business processing requirements of the system, not technical
solutions.
 The purpose of the configuration phase is to determine the best
way to implement those requirements with technology.
 During system design, the logical process model will be
transformed into a physical process model (called an application
schema) for the chosen technical architecture.
 This model will reflect the technical capabilities and limitations

of the chosen technology.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 69
Process Modeling
The Process of Logical Process Modeling

 Fact Finding and Information Gathering for Process


Modeling
 Process models cannot be constructed without appropriate facts
and information as supplied by the user community.
 These facts can be collected by:

• sampling of existing forms and files


• research of similar systems
• surveys of users and management
• interviews of users and management
• JAD

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 70
Process Modeling
The Process of Logical Process Modeling

 Computer-Aided Systems Engineering (CASE) for


Process Modeling
 Process models are stored in the repository.
 CASE technology provides the repository for storing the process
model and its detailed descriptions.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 71
Process Modeling
How to Construct Process Models

 The Context Diagram


 Before we construct the actual process model, we need to establish
initial project scope.
 A project’s scope defines what aspect of the business a system

or application is supposed to support.


 A project’s scope also defines how the system or application

being modeled must interact with other systems and the


business as a whole.
 A project’s scope is documented with a context diagram.

• A context diagram defines the scope and boundary for the system
and project. Because the scope of any project is always subject to
change; the context diagram is also subject to constant change. A
synonym is environmental model.
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 72
Process Modeling
How to Construct Process Models

 The Context Diagram


 A strategy follows for determining the system’s boundary and
scope:
 Step 1: Think of the system as a ‘container’ in order to

distinguish the inside from the outside.


• Ignore the inner workings of the container .
 Step 2: Ask your end-users what business events or
transactions a system must respond to.
• These are the net inputs to the system.
• For each net input, determine its source.
• Sources will become external agents on the context diagram.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 73
Process Modeling
How to Construct Process Models

 The Context Diagram


 A strategy follows for determining the system’s boundary and
scope: (continued)
 Step 3: Ask your end-users what responses must be produced

by the system.
• These are the net outputs to the system.
• For each net output, determine its destination.
• Destinations may be external agents.
 Step 4: Identify any external data stores.
• Many systems require access to the files or databases of other
systems.
 Step 5: Draw your context diagram from all of the preceding
information.
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 74
Process Modeling
How to Construct Process Models

 The Context Diagram


 The context diagram contains one and only one process.
 External agents are drawn around the perimeter.
 External data stores are drawn around the perimeter.
 Data flows define the interactions of your system with the
boundaries and with the external data stores.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 75
Process Modeling

D Accounts
Receivable
Club Club Promotion Data Base
Member

Member Warehouse
Member Order Response
Credit Status

Other Order P Order to be Filled


Potential
Member Member
New Member Subscription Services New Monthly Promotion
System
Subscription Renewal Subscription Program

Marketing
Department
Sales and Promotions Reports
Past
Member
Membership Reports

Member
Services

Member Reports

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 76
Process Modeling
How to Construct Process Models

 The Functional Decomposition Diagram


 A decomposition diagram shows the top-down functional
decomposition or structure of a system.
 A decomposition diagram provides the beginnings of an outline
for drawing data flow diagrams.
 The following is an item-by-item discussion of the decomposition
diagram.
 Item 1: The root process corresponds to the entire system.

 Item 2: The system is initially factored into subsystems and/or

functions.
 Item 3: Factor the subsystems into the operational and

reporting aspects.
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 77
Process Modeling

Member Services
System

Membership Promotions Orders


Subsystem Subsystem Subsystem

Process Process Process


Membership Promotion Order
Transactions Transactions Transactions

Generate Generate Generate


Membership Promotion Order
Reports Reports Reports

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 78
Process Modeling
How to Construct Process Models

 The Event-Response List


 The purpose of this step is to determine what business events the
system must respond to, and what responses are appropriate.
 Some of the inputs on the context diagram are associated with
events.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 79
Process Modeling
How to Construct Process Models

 The Event-Response List


 There are three types of events.
 External events are so named because they are initiated by

external agents.
• External events are illustrated as input data flows.
 Temporal events trigger processes on the basis of time, or
something that merely happens.
• Temporal events are illustrated as input control flows.
 State events trigger processes based on a system’s change
from one state or condition to another.
• State events are illustrated as an input control flows.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 80
Process Modeling
How to Construct Process Models

 The Event-Response List


 Each event should be named.
 The name should reveal the system nature of the event – that is,
provide some insight as to at least one appropriate response.
 The following guidelines for external and temporal events:
 External event - External agent name + reason for the data

flow.
• Example: CUSTOMER REQUESTS ACCOUNT BALANCE.
 Temporal event - Time to + action that must be taken.
• Example: TIME TO BILL CUSTOMER ACCOUNTS.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 81
Process Modeling
EVENT LIST

Event Description Trigger (Inputs) Responses (Outputs)


Marketing department establishes a new SUBSCRIPTION PROGRAM SUBSCRIPTION PLAN CONFIRMATION
membership plan and offer. CREATE AGREEMENT
Marketing department terminates a SUBSCRIPTION PROGRAM TERMINATION SUBSCRIPTION PLAN TERMINATION NOTICE
membership offer. DELETE AGREEMENT
UPDATE MEMBERS
Potential member responds to a subscription NEW MEMBER SUBSCRIPTION SUBSCRIPTION CONFIRMATION
offer. SUBSCRIPTION REJECTION
CREATE MEMBER
Potential member is referred to membership by REFERAL SUBSCRIPTION SUBSCRIPTION CONFIRMATION
a current member. REFERAL BONUS ORDER SUBSCRIPTION REJECTION
CREATE MEMBER
Potential member exercises 10 day cancellation SUBSCRIPTION CANCELLATION SUBSCRIPTION CANCELLATION NOTICE
option. DELETE MEMBER
Club member changes name or address. MEMBER CHANGE OF NAME OR ADDRESS UPDATE MEMBER
Time to cancel those inactive members. INACTIVITY CHECK CANCELLED MEMBERS REPORT
UPDATE MEMBER
Marketing department establishes a new MONTHLY PROMOTION DATED ORDER
monthly or seasonal promotion. SEASONAL PROMOTION CREATE ORDER
Member responds to dated promotional order. MEMBER ORDER RESPONSE ORDER TO BE FILLED
CREDIT PROBLEM NOTIFICATION
UPDATE MEMBER
UPDATE ORDER
UPDATE PRODUCT
Time to automatically fill order for which DATED ORDER DEADLINE ORDER TO BE FILLED
member has not replied to dated promotion. DELETE ORDER
CREATE ORDER
UPDATE ORDER
UPDATE MEMBER
UPDATE PRODUCT
Time to produce promotion analyses END OF PROMOTION PROMOTION ANALYSIS REPORT
Time to analyze sales. END OF MONTH SALES ANALYSIS REPORT
END OF QUARTER
END OF FISCAL YEAR

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 82
Process Modeling
How to Construct Process Models

 The Event-Decomposition Diagram


 The purpose of this step is to further partition our functions in the
decomposition diagram.
 Simply add event handling processes (one per event) to the
decomposition.
 If the entire decomposition diagram will not fit on a single page,
add separate pages for subsystems or functions.
 The root process on a subsequent page should be duplicated from
an earlier page to provide a cross reference.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 83
Process Modeling

Member Services
System

Membership Promotions Orders


Subsystem Subsystem Subsystem

Process Generate Process Generate Process Generate


Membership Membership Promotion Promotion Order Order
Transactions Reports Transactions Reports Transactions Reports

Page Page Page Page


2 2 3 3

Generate Generate Generate Generate Respond to


Inactive Member Agreemt Membership Member
Member Activity Compliance List Inquiry
Report Report Rpt

Process Process Process Process Change Move Cancel Process


New Referral Subscription Name / Member Member to Inactive Member
Member Subscription Cancel Address Agreement a New Club Members Cancellation
Subscription Change

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 84
Process Modeling
How to Construct Process Models

 The Event Diagram


 Using the decomposition diagram as an outline, one event diagram
can be constructed for each event process.
 An event diagram is a context diagram for a single event. It

shows the inputs, outputs, and data store interactions for the
event.
 Most event diagrams contain a single process – the same process
that was named to handle the event on the decomposition diagram.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 85
Process Modeling
How to Construct Process Models

 The Event Diagram


 For each event, illustrate the following:
 The input(s) and its source(s).

• Sources are depicted as external agents.


• The data structure for the input should be recorded in the
repository.
 The outputs and their destinations.
• Destinations are depicted as external agents.
• The data structure for the output should be recorded in the
repository.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 86
Process Modeling
How to Construct Process Models

 The Event Diagram


 For each event, illustrate the following: (continued)
 Any data stores from which records must be ‘read’ should be

added to the event diagram.


• Data flows should be added and named to reflect what data is read
by the process.
 Any data stores in which records must be ‘created’, ‘deleted’,
or ‘updated’ should be included in the event diagram.
• Data flows to the data stores should be named to reflect the nature
of the update.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 87
Process Modeling

Event Diagram
Event: Member changes name or address

P
Member Name/Address Change Confirm Process Update to Name/Address
Change of D Members
Address

Change of Address

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 88
Process Modeling
Event Diagram
Event: Member responds to promotional order.

Original Dated Order


D Orders D Accounts
Receivable DB
Update to Order Status

Update: Order Changes

Credit Rating and Limits

Member Order Response P


Member Warehouse
Process
Backorder Member Order Picking Ticket
Response

Update to Membership Credits

Product Availability D Products


D Memberships

D Members Member Address Update to Agreement Stats D Agreements

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 89
Process Modeling
Event Diagram
Event: Deadline for member to reposnd to dated order has passed.

Original Dated Order


D Orders D Accounts
Receivable DB
Update to Order Status

Update: Order Changes

Credit Rating
and Limits
P
Deadline to Fill Dated Order Automatically
Fill Dated Order Warehouse

Picking Ticket
Update to
Membership
Credits

D Memberships Product Availability D Products

D Members Member Address Update to Agreement Stats D Agreements

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 90
Process Modeling
How to Construct Process Models

 The Event Diagram


 Each event process should be described to the CASE repository with
the following properties:
 Event sentence – for business perspective.

 Throughput requirements – the volume of inputs per some period

of time.
 Response time requirements – how fast the typical event must be

handled.
 Security, audit, and control requirements.

 Archival requirements (from a business perspective).

 All of the above properties can be added to the descriptions associated


with the appropriate processes, data flows, and data stores on the
model.
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 91
Process Modeling
How to Construct Process Models

 The System Diagram


 The system diagram is said to be ‘exploded’ from the single
process that was created on the context diagram.
 The system diagram(s) shows either:
 all of the events for the system on a single diagram

 all of the events for a single subsystem on a single diagram

 Depending on the size of the system, a single diagram may be too


large.
 Synchronization is the balancing of data flow diagrams at
different levels of detail to preserve consistency and completeness
of the models.
 Synchronization is a quality assurance technique.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 92
Process Modeling

Figure 6-27
We are sorry but
the diagram is
currently not
available. Please
refer to your
textbook, pages
250 and 251.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 93
Process Modeling
How to Construct Process Models

 The System Diagram


 The event diagram processes are merged into the system diagrams.
 It is very important that each of the data flows, data stores, and
external agents that were illustrated on the event diagrams be
represented on the system diagrams.
 This is called balancing.

 Most CASE tools include facilities to check balancing for

errors.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 94
Process Modeling
How to Construct Process Models

 The System Diagram


 When creating a system diagram, do not consolidate data stores –
otherwise, you will create balancing errors between the system and
event diagrams.
 You may elect to consolidate some data flows (from event
diagrams) into composite data flows on the system diagram.
 If you do, be sure to use junctions on the event diagrams to

demonstrate how the elementary data flows are derived from


the composite data flows.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 95
Process Modeling
How to Construct Process Models

 Primitive Diagrams
 Each event process on the system diagram(s) must be exploded
into either:
 a procedural description

 a primitive data flow diagram

 For event processes that are not very complex – in other words,
they are both an event and an elementary process, they should be
described in one page (usually much less) of Structured English.
 Event processes with more complex event diagrams should be
exploded into a more detailed, primitive data flow diagram.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 96
Process Modeling
How to Construct Process Models

 Primitive Diagrams
 A primitive DFD shows detailed processing requirements for the
event.
 A primitive DFD shows several elementary processes for the event
process.
 Each elementary process is cohesive – that is, it does only one

thing.
 Each of the elementary processes can now be described with

procedural Structured English specifications, and where


appropriate, decision tables.

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 97
Process Modeling Backorder

Invalid Product ID

Member Demographics

P
Invalid Member ID Updated Member Demographics D Members
Validate
Member

Member ID and Address Original Dated Order D Orders

Update: Order Changes

P Update Order Product D Ordered Products

Check
Ordered Product ID Ordered
Product
Validity

Product ID
Member
Member Order
Response Valid Product
Product Availability D Products

P
Check Product Inventory Commitment
Availability
Update Ordered Product Status
Ordered
Product
Quantity

Available Product
and Quantity
P
Calculate Product Price
Extended
Cost
Ordered Product Extended Price

P
P Calculate
Total Order Price Order Total
Check
Cost
Member Credit
Payment Method and Amount
Pre-Payment Request
Credit Rating and Limits

Fillable Order Fillable Ordered Product D Accounts


Receivable DB

Update to Order Status

P P
Warehouse
Release Order Credit Member
Picking Ticket to Warehouse D Orders Purchase Update to Membership Credits

D Memberships
Member Address D Members Updated Activity Record

Prepared by Kevin C. Dittman for Elementary Processes for


Process Member Order Response D Agreements
Systems Analysis & Design Methods R. Martinez
as of March 6, 1997 Update to Agreement Stats
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 98
Process Modeling
The Next Generation

 The Next Generation


 Process modeling skills remain valuable for two reasons:
 The current interest of business process redesign requires process

models.
 Process models are included in many object modeling strategies

such as the Object Modeling Technique (OMT).


 Business process design emphasizes physical process modeling.
 Physical process models include those processes which reflect the

current implementation.
• This may include sequential processes that merely edit, route, copy or
approve a data flow.
• Physical data flow diagrams also include additional details such as who
or what performs each process, the cost of each process, and a critical
evaluation of the value returned by each process.
Prepared by Kevin C. Dittman for
Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 99
Process Modeling

Summary
 Introduction
 An Introduction to System Modeling
 System Concepts for Process Modeling
 The Process of Logical Process Modeling
 How to Construct Process Models
 The Next Generation

Prepared by Kevin C. Dittman for


Systems Analysis & Design Methods
4ed
Copyright Irwin/McGraw-Hill 1998
by J. L. Whitten & L. D. Bentley 100

You might also like