Beruflich Dokumente
Kultur Dokumente
Process Modeling
“A process cannot be understood by stopping it. Understanding must move with the
flow of the process, must join it and flow with it.” – Frank Herbert (1920-1986), in
the book Dune (First Law of Mentat).
This chapter discusses the modeling of business processes. The process view of the
enterprise is one of the three enterprise system views, and it is the process view that
shows how value is delivered to the customer by the enterprise. The purpose of
process modeling is to produce an abstraction of the process that serves as a basis to
understand the process, to describe the process to others, to analyze process
performance, and to specify a process design.
A process is not a physical, tangible artifact – it is our conceptualization or mental
model of how work is performed. How we define and model business processes plays
a major role in our perception and understanding of business processes. For this
reason, one can find a wide diversity of definitions and process modeling techniques in
the literature. Two dominant views of a process focus on the activity flow and the
information flow of a process. The activity flow view represents the sequence of
activities in the process. The information flow view represents how information flows
through the system. In this chapter, we use flow charts to model the activity flow and
data flow diagrams to model the information flow. Additionally, we describe the
IDEF0 methodology that has a functional viewpoint and strong hierarchical structure.
After completing this chapter, you should be able to:
• Define a business process and describe how to decompose business processes.
• Describe the elements of a business process.
• Decompose a business process.
• Classify processes.
• Create a flow chart, data flow diagram, and IDEF0 diagram of a business process.
• Explain the similarities and differences between the main process models.
Measures of
performance
Goal(s)
Process
A
Input(s) B
C Output(s)
Resource
Pool
Resources
FIGURE 10.1
Business process.
3. Network of activities
4. Customer
5. Goals and measures of performance
6. Resource pool and resources
between products and services is that a product can be stored in inventory for later use
while a service cannot. This means that products can be made even when there is no
immediate customer for the product. It can be stored and later used. Also, products
can be shipped to wherever the customer is located. So manufacturing processes can
be located far from the customer. Services do not have this trait. If a dentist has no
patient for a particular time slot during the day, then that time slot is lost – i.e., it is
perishable because the dentist cannot save the time slot for another day. Additionally,
unlike with products, the dentist cannot provide the service unless the patient is in the
same location. A last difference is that the customer is often an input to a service
process (the patient is an input to the dental procedure).
One repercussion of the inability to store services is the widespread use of revenue
man- agement in service industries. Revenue management includes overbooking and
differential pricing to maximize the profits generated by the business. Initially,
airlines started using overbooking because if a passenger did not show up for the
flight, then the seat reserved for that passenger would be lost revenue. Airlines also
found that they could differentiate between different customer classes of business
travelers and economy travelers and price the tickets differently for each customer
class for what is essentially the same service. Revenue management is now applied
throughout the service industries including airline, hotel, cruise, healthcare, and other
related industries that have similar characteristics.
Increasingly, in the economies of the Industrialized World, the output of a business
pro- cess is a service. A service output includes outputs such as establishing a
banking account, paying an insurance claim, providing legal advice, or providing
knowledge and training such as provided by a university. Combined service/product
outputs are delivered by restaurants, airlines, hotels, and cruise lines. For example, a
restaurant provides food – the product – and it does so with a level of service. A waiter
takes the order, serves the food, and removes the dinner plates and utensils. A
restaurant provides ambiance and other elements of ser- vice beyond the provision of
food. Thus, the output is both a service and a product. Even traditional manufacturing
industries have a strong service component. Automobile man- ufacturers have
financial divisions to provide purchase financing and they have extensive dealer
networks to provide maintenance services.
In addition to the desired output, a process generates unwanted waste outputs
such as smoke, chemical waste, unused materials, and intermediate data. Part of
process design is
214 Design of Enterprise Systems: Theory, Architecture, and Methods
determining how to eliminate or reduce the waste output, and if this is not possible,
then how to handle the waste.
Work Unit
The work unit is the item that has done to it by the process and becomes the final
process output. Consequently, the work unit changes throughout the process. For this
reason, as shown in Table 10.1, we generally refer to the work unit by using the name of
the final process output.
Customer
A customer is the person or group that receives the process output. Generally, we
think of customers as being external to the organization, but a customer can also be
internal. For example, a consumer purchasing a new television is an external
customer of the television manufacturing process. Within the television
manufacturing company, the production de- partment is an internal customer of the
machine maintenance process, which is performed by the maintenance department.
It is important to identify the customer(s) of the business process because it is
the customer who defines the value of the process output. Value is the benefits a
customer derives from the process output compared to the costs of the output. Here
“costs” refer not only to the price of the product/service, but also to the costs in
terms of time and other efforts required to obtain the product/service. For example,
a restaurant might be known to provide excellent meals at a reasonable cost, but if
the customer must wait longer than desired, then the value of the restaurant’s output
is diminished in the eyes of the customer. The definition of value lets us distinguish
between value-adding activities and non- value-adding activities. Value-adding
activities do something to the work item of value to the customer. Non-value-adding
activities are those activities that do something to the work item that a customer does
not value. Four general types of non-value-adding activities are: storage of work
items, transportation of work items, inspection and/or testing of work items, and
support activities necessary to deliver work items. For example, moving an
automobile between workstations in the factory does not add value in the eyes of the
customer. Neither does filling out forms in the doctor’s office, even when necessary
for later value-adding
activities.
In a business process, all activities should contribute toward providing value. Part
of process analysis is to identify value-adding and non-value adding activities and
seek ways to eliminate or reduce the latter.
Network of Activities
The transformation process is usually not a single-step process, but consists of a
network of distinguishable activities. This leads to a natural hierarchy that a process
consists of subprocesses, which consist of subprocesses, and so on. In fact, the enti re
enterprise could be viewed as a single process that transforms inputs into outputs. To
better understand a process, it is useful to decompose the process into subprocesses to
model the process at an abstraction level appropriate for whatever analysis is being
conducted. In the next section, we discuss a hierarchy to create this process
decomposition.
When a process is decomposed into activities, those activities are interdependent on
each other. Interdependence is the degree to which one activity is cont rolled or
contingent on another activity. Interdependence occurs due to the information flows,
sharing of resources, and decision (control) flows of business processes. It is important
to understand these inter- dependencies because they have a profound effect on the
performance of a process and the
Process Modeling 215
enterprise. Chapter 17 discusses how to use the interdependencies in analysis and
discusses technologies to manage the interdependencies.
The level of detail in the model should match the detail required for the intended
anal- ysis. For example, to specify a workflow that will be automated by a computer
system requires a high level of detail. All possible actions and how the system should
respond need to be modeled. If the purpose of the model is to train employees so that
they have an understanding of how their work fits into the larger picture, then much
less detail is warranted. In fact, too much detail can obscure the important aspects of
the process that the modeler wants to convey. Recall in Chapter 3 on modeling that
modeling is the art of deciding how much detail to include and how much detail to
leave out. This fundamental modeling principle applies to process modeling as well.
Some process mapping techniques are structured to force this type of hierarchical
think- ing (e.g., IDEF0), but the other process mapping techniques can also support it
even if they do not have explicit mechanisms to do so. There are many possible ways to
decompose a process; here we define a generic process hierarchy that has proven to be
useful. The process hierarchy is shown in Figure 10.2. At each level a transformation
occurs. A process is a linked group of activities that transforms inputs into outputs to
deliver a product or service to an internal or external customer. What distinguishes the
process level from the other levels is the process output is always the final product or
service. A process can be
Process Modeling 217
Function A
Task 1.3.1.1
Task 1.3.1.2
FIGURE 10.2
Process hierarchy.
Passenger Unload Fuel Security Provision Clean Load Board Load Push Activity
Disembarkment Luggage Plane Check Plane Plane Balancing Passengers Luggage Off
Check
Arm Task
Boarding
Position Jet Chock Passengers Door
Pass
Bridge Wheels Disembark
Call Scan
Passengers Ticket …
Step
FIGURE 10.3
Airline process decomposition.
10.4 Flowchart
The flowchart is a widely used technique to represent the activity flow of a process.
Activity- flow oriented process models focus on the sequence of actions done to a
work item in the process. This is the most common perception people have of a
process.
A flowchart is a diagrammatic model of a process using symbols to represent
operations, decisions, and documents, which are linked by arrows to show the
sequence of activities. It is one of the earliest and most basic means to model a process.
The main flowchart symbols are shown in Figure 10.4.
FIGURE 10.4
Flowchart symbols.
Process Modeling 221
To create a flowchart, you first determine the start and end of the process, which
are depicted with terminator symbols. The start of a process is either an event or state
of the system that triggers the process. An example of an event is the arrival of a
customer or the arrival of a part. A state of the system could be, for example,
inventory drops below a critical value.
The main components of a flowchart are the process symbols. All the processes
within a flowchart should be at the same abstraction level with the appropriate level
depending on what the flowchart is intended to model. Commonly, a flowchart would
depict a business process at the activity level. However, if you are modeling the steps
of an algorithm, then the appropriate abstraction level is the step level. Process
symbols should be named VERB- NOUN because processes represent work done in
the process. Examples of names adhering to this advice are “Check Credit” instead of
“Credit Check” or “Validate Order” instead of “Valid Order.” This advice generally
applies to all process modeling techniques.
The arrows between symbols in the flowchart depict the order of activities. A
process can have multiple arrows enter it, but a process can only have one arrow exit
it. Otherwise, if there were two or more exiting arrows, then there would be
confusion on which arrow to follow. To show where activity flow can diverge, you
use a decision node. The text in a decision node is a question and should have a
question mark. A decision node has two or more output arrows, each of which is
labeled to show when that arrow is taken. Frequently, decision nodes are answered in
terms of “yes” or “no.”
A flowchart can depict both sequential and parallel activities. In sequential flow,
each activity is connected to the previous activity by a single arrow. To show parallel
flow, a symbol of two horizontal, parallel lines is used at the beginning of the parallel
activities. The parallel activities are shown side-by-side, and then when the
synchronization ends, the two horizontal, parallel lines are used again. In this way, the
flow splits into two parallel activity flows and then joins together again.
The flowchart shown in Figure 10.5 shows the cruise reservation process. It starts
at the top when a guest inquires about a cruise. The first activity is to Search for a Cruise,
which leads to a decision node. The decision node represents whether the guest finds a
suitable cruise that he or she is interested in booking. If “yes,” then the process
continues as indicated. If “no,” then the next process is to Save Search Results, and end
the process. Assuming a “yes,” the process continues with the activities shown. The
process terminates with either the reservation placed on hold for 24 hours or the
reservation is booked.
The cruise reservation flowchart depicts the sequence of activities necessary to
create a cruise reservation. It does not show the information flow that occurs during
the process nor the resources, both human and otherwise, necessary to do the
activities. All the activities in the model are at the same abstraction level, some of
which can be decomposed further, if needed. For instance, the Make Payment activity
could be decomposed into smaller steps of calculating the total amount due, obtaining
the credit card information, validating the credit card, and making the payment.
A variant of the flowchart is the cross-functional flowchart that adds swim-lanes
hori- zontally or vertically on the drawing to show which organizational units do
which activities (see Figure 10.6). A symbol appearing in a particular lane is within
the control of that or- ganizational unit. This technique allows the analyst to assign
responsibility for performing an action and shows the relationship between different
organizational units and their roles for a single process.
Interestingly, flowcharts do not necessarily show the inputs or outputs of each
activity. They show the sequence of activities, but the data, which may be the inputs
and outputs to the activities, are not shown.
222 Design of Enterprise Systems: Theory, Architecture, and Methods
Guest inquires
about cruise
Search for
Cruise
Cruise no
Selected?
Save Search
yes Record
Select Cabin
and Dining
Option Record Saved
Obtain Guest
Information
Offer Shore
Excursions
Confirm
Reservation
Information
Place
Reservation
Hold
Guest yes Obtain
Ready Payment
to Book? Method
Reservation is
Held for 24noHours
Make Payment
Send Cruise
Welcome
Package and
Information
Reservation is
Booked
FIGURE 10.5
Flowchart of reservation process.
Claim Handling Process
Establish Claim
File
(7 minutes)
Case is assigned to
rep depending on
expertise and
Clerk
complexity of case
(3 minutes)
close case
loss established at this of loss claimant (9 minutes) Closed
point
Claims Rep 2 Claims
Gather Information
Investigate
Ex: Claimant and
Claim: Check
witness statements,
background
medical reports, etc.
(17 minutes)
(25 minutes)
FIGURE 10.6
Cross-functional flowchart of insurance claims process.
FIGURE 10.7
Data flow diagram symbols.
Reservation
Guest Request
Payment
Credit
Booking Number Reservation
Authorization Bank
Confirmation System
/ Denial
Excursion
Guest
Availability &
Bookings
Pricing
Shore
Excursion
Providers
FIGURE 10.8
Reservation context diagram.
DFDs allow for the decomposition of higher level processes into more detailed
processes. The highest level is called the context data flow diagram, which depicts the
entire system as a single process and all the inputs and outputs between that system and
its environment. In Figure 10.8 is the context diagram for the Reservation System. It
shows the data flows between the Reservation System and three external agents. In the
context diagram, each data flow represents a requirement for one or more system
interfaces. The diagram is useful to understand the relationship of the system to its
environment and is the top level in the data flow diagram hierarchy.
Figure 10.9 shows how a Level 0 process called Make Payment is decomposed into
four Level 1 processes. To support decomposition the processes are numbered. The
numbering convention is that the single process in the context diagram is numbered
process 0, the next lower level is the Level 0 diagram and the processes at this level
are numbered 1, 2, 3, and so forth. Any decompositions of Level 0 processes are
numbered with the number of the parent process they are decomposed from with a
dot and the number at that level. As shown in Figure 10.9, process number 6 is
decomposed into processes 6.1, 6.2, 6.3, and 6.4
at Level 1.
All the data flows from the Level 0 diagram appear in the Level 1 diagram, which
may have additional data flows.The data flow from the Bank, shown as Credit
Authorization/Denial at Level 0, diverges into two separate data flows in the Level 1
diagram. Likewise, at Level 1 the Booking Number Confirmation and the Credit Denial
Another Card Request data flows
Process Modeling 225
converge and are shown as a single data flow at Level 0. The showing of a single data
flow at Level 0 is done to simplify the diagram at this abstraction level.
A process symbol in a data flow diagram can represent the entire system or
process, a function of the system, an activity, or a task – it depends on the decomposition
level diagram the process appears in. The process name is a verb phrase describing
the transformation process. All processes must have at least one input and at least one
output – otherwise there would be no transformation. Data flows from a process can
be connected to another symbol, another process, an external agent, or a data store.
An external agent is named with a noun describing what it represents. An external
agent must have at least one data flow, either input or output, and the data flow can
only connect to a process.
The name of a data store corresponds to either a database name or an entity name
in the information model (see Chapter 13). A data store must have at least one data
flow, either input or output, and the data flow can only connect to a process. Notice
the rules for data flows to an external agent and a data store means that these two
symbols are never directly connected in a DFD. The reason is the external agent
needs an intervening process to either enter data or retrieve data from the system.
Figure 10.10 shows the four types of data flows possible with a data store. These
data flows are remembered by the acronym CRUD for Create Read Update and
Delete, which are the only transactions possible with a data store:
1. Create - to create a new record in the data store.
2. Read - to read a set of records in the data store.
3. Update - to change an existing record in the data store.
4. Delete - to remove a record in the data store.
Data flows for Create, Update, and Delete make permanent changes to the data
content of the data store and for this reason are shown as arrows into the data
store. A Read data flow makes no changes to the data content of the data store, so it
is shown as an arrow out of the data store.
A DFD cannot show decisions, yet they occur in processes. Two options to
represent decisions in a DFDs are to either use composite data flows or a separate data
flow for each possible outcome. In Figure 10.9, the data flow Credit
Authorization/Denial is a composite data flow. Either the Bank decides to approve
the transaction and provides a Credit Au- thorization, or the Bank decides to deny
the transaction and provides a Denial. These are mutually exclusive options that can
flow in the single data pipeline depicted.
The other way to depict a decision is two separate data flows as shown in Figure
10.11. In this DFD, the Guest can either confirm the reservation (the Confirmation
data flow) or change the information (the Change Request data flow). Representing a
decision this way is possible because data need not flow through each data pipe for
every instantiation of the process. Also, a data object only flows through the Change
Request pipe when the Guest requests a change.
In addition to this basic understanding of the DFD, several common modeling rules
that you need to follow when creating a DFD are:
1. At least one data flow in and one data flow out is required for each process in the system.
2. The data output for each process should be modified from the data input.
3. Each data store must be involved with at least one data flow.
4. Each external entity must be involved with at least one data flow.
5. A data flow must be attached to at least one process.
226 Design of Enterprise Systems: Theory, Architecture, and Methods
Level 0 DFD
(only partial
diagram shown)
Guest
Payment
Confirmation
6
Bank Make Payment
Credit Payment
Authorization/Denial
Level 1 DFD
(for process 6)
Guest Credit
Reservation
Card
Bank
6.2
Invoice &
Validate
Amt Due
Credit Card
6.1 New
Min Amt Due Credit Card
Guest Determine Credit
Payment Credit Card Authorization
Credit Card
& Payment Amt
& Payment Amt Amount
FIGURE 10.9
Decomposition of level 0 make payment process.
Reservation
FIGURE 10.10
CRUD and data stores.
Process Modeling 227
Reservation
Reservation
Change
Confirm Request
Change Change Reservation
Reservation Request Confirmation Guest
Information
Cruise
Reservation
FIGURE 10.11
Modeling decisions in DFD.
New Order =
CustomerID, OrderID, OrderDate
Product = ProductNumber, Price, Quantity
Order Confirmation =
ConfirmationNumber, OrderDate
Product = ProductNumber, Price, Quantity
New Order
Order
Customer Order
Order
Order Product
Confirmation
FIGURE 10.12
Data structure.
2
Available
Cruise
Cruises
1
Cruise
Preferences
Search for
Guest Cruise New Temporary
Cruise Reservation
Selection Reservation
4 5
Cruise
Options
FIGURE 10.13
Event data flow diagram.
system, a single process of Reservation System is drawn in the context diagram. The
next step is to identify all of the external agents: people, groups, organizations, and
external systems that the system will interact with. For each external agent, identi fy
the inputs and outputs remembering to combine data structures that flow together into
a single packet. The resulting context diagram for the reservation system was shown
in Figure 10.8.
Next, identify all the processes for the system from the functional requirements,
and use them to create an event-response list (see Table 10.4). The event-response
list aids the modeling team in identifying the inputs and outputs for each process.
The trigger is a data input or a system state that starts the event. Response describes
what the system does in response to the trigger. This includes obtaining further data
(input data flows) and generating output data.
For each event in the event response list, you create an event DFD by making the
event the process, the trigger an input data flow, and the responses are input and
output data flows. To illustrate, the event DFD for the first event in the event-
response list is shown in Figure 10.13 with numbers to indicate sequence (note, these
numbers are not normally included in DFD). The trigger is Cruise Preferences, a
data flow from the Guest to the Process. Then the process reads the Available Cruises
from the Cruise datastore. These are processed and sent to the Guest as Cruise
Options. The Guest will either select a cruise, abandon the search, or submit revised
cruise preferences. Assuming the Guest makes a Cruise Selection, this is then used to
create a New Temporary Reservation in the Reservation datastore.
Once a DFD is created for all the events, then you can combine the event DFDs into
a
system data flow diagram. In a system data flow diagram the symbols should be located
so
Process Modeling 229
TABLE 10.4
Event-Response List
Externa Event Process Trigger Response
l
Agent
Guest Search Cruise Obtain Available Cruises.
fo Preferences Generate Cruise Options.
r Cruise Obtain Cruise Selection (if
any).
Cabin Create New Temporary Reservation.
Guest Select State Preferences Obtain Available State Rooms.
Room Obtain Available Meal
an Plans. Show Options to
d Dining Guest.
Option Request Update Temporary Reservation with
Reservatio Selections.
n Request Create New Guest.
Guest Obtain Guest Shore Obtain Guest Name and Address.
Information Ex Obtain Available Shore Excursions.
Guest Offer Shore Ex- - cursion Show Guest Shore Excursions.
cursions Obtain Guest Selections (if any).
(End Create New Guest Shore
Reser- Excursion. Obtain Reservation.
Guest Confirm Reser- vation Show Cruise Reservation to Guest.
vation state) Obtain Guest Confirmation.
Informa- tion
Guest Make Payment Obtain Credit Card Number and
Reservation Ex- piration date from Guest.
Confirma- Obtain Payment Amount.
tion Obtain Credit Authorization or
de- nial from Bank.
Generate Payment Confirmation
or Denial to Guest.
Place Hold Create New Hold.
Reserva Reques
- tion on Hold t
Send Cruise Time Print and Send Welcome Package.
Welcome Pack-
age
as to avoid too many overlaps of data flows. It is allowable to depict multiple times
both external agents and data stores so as to avoid overlapping data flows.
At this point there is a context diagram and a single decomposition to the activity
level. If further decomposition is called for by the modeling goals, then each activity
is decomposed into steps. The data flows in the activity-level diagram may be
composite flows that are deaggregated into two or more flows at the step-level
diagram.
Purchase
Order Product Order
A43
Input Output
FIGURE 10.14
Function definition.
Control
Process Name
Input Output
A0
Mechanism
FIGURE 10.15
ICOM.
Airline Pricing
Schedule Data
Cruise
Ships
Purpose : To specify the design of a
cruise reservation system that starts
with guest searching for a cruise and
ends with the provision of the cruise
services.
FIGURE 10.16
A-0 level.
In the IDEF0 decomposition, ICOM objects can neither be gained or lost. This
means that every ICOM object in the parent diagram must appear in the children
diagrams. Sometimes for purposes of clear exposition, the modeler might not want to
show every ICOM at every decomposition level.
It is important that the ICOMs in each diagram are consistent with the ICOMs in
higher level and lower level diagrams in the hierarchy. This imposes a constraint
that ICOM ob- jects can neither be gained nor lost in the decomposition. However,
sometimes for clarity of exposition, a modeler might not want to show a particular
ICOM object at every de- composition level. To suppress an ICOM object at a level,
it can be “tunneled” by drawing parentheses around the end of the arrow to be
suppressed. When an ICOM object is shown at the parent but not on the child
diagrams, then the parentheses are around the arrow where it connects to the box.
This means the ICOM object is not required for understanding the lower levels and
will not be shown. To tunnel an ICOM object on the parent diagram then the
parentheses are around the unconnected end of the arrow.
To illustrate how ICOM objects are handled in decomposition and how they can
be tunneled, we use the example shown in Figure 10.18. The top of the Figure shows
the partial A0 diagram. Function A3 has the mechanism object, MIS Department,
tunneled at the box end. This denotes that the MIS Department does not appear in
the child di- agram. The bottom of the Figure shows the A3 diagram. From the parent
diagram the single input Verified Client is shown as an input to function A31,
and the output ANI Activation/Cancellation File is shown as an output from
function A32. In the A3 diagram all the mechanisms are tunneled such that they do
not appear in the parent di- agram. Also the error handling outputs: Recuperation
Statistics Report and ANI Not
Process Modeling 233
Airline Pricing
Schedule Data
Payment A0
Node
Cruise
Ships A0
Purpose : To specify the design of a
cruise reservation system that starts
with guest searching for a cruise and
ends with the provision of the cruise
services.
A-0
NODE:A-0 TITLE: Provide Cruise Services NO.:
Pricing &
Promotions
Market
Cruises
Node
()
A1
A2
Guest Search Criteria
Book Guest Reservation
Potential Guest Reservations Number
()
Payment A2
Cruise
()
Operations
Satisfied Guest
A3
A0
NODE: A0 TITLE: Provide Cruise Services NO.:
Availability
Guest Selected
Search Search for Cruise
Criteria Cruise
A21
Contract
Select Policies
Cruise
Option
Options
Preferences
A22 Options Hold
Reservation Held
Selected
A23 Reservation
Contract
Policies
Reservation
Agent Bank
A2
NODE: A2 TITLE: Book Guest Reservations NO.:
FIGURE 10.17
IDEF0 decomposition.
234 Design of Enterprise Systems: Theory, Architecture, and Methods
Error Notification
Third Party
Verification Verification Reports
A2
Verified Activation /
Client Activation /
Cancellation
Cancellation
Service
Files
A3
Not shown in ( )
parent
( )
diagram MIS Not shown in
Dept child
diagram
LEC Policies
& Procedures
()
Client Rejected Not shown in
A31 parent
diagram
Connect Confirmation / New
Event Files Update
Direct ANI Activation /
Database
System Cancellation File
A32 Recuperation
()
( ) Statistics Report
ANI in Correct ANI
Error Error
Presubscribed ANI Not Received
()
System Report
A33
System
()
Admin
()
Corrected ANI
FIGURE 10.18
Tunneling at parent and child diagrams.
Received Report are tunneled and not shown in the parent diagram. Also note in the
A3 diagram there are intermediate outputs and inputs that are wholly contained in the
child diagram (e.g., Confirmation/New Event Files, ANI in Error, and Corrected
ANI) that do not appear on the parent diagram.
Contract
Policies
Option Select Cruise
Preferences Select &
Options Hold Request
A22
Hold
Held
Reservation
Reservation
Function A22 requires A23
both Option Preferences
and Selected Cruise Select & Contract The total output is Reservation
Book Request Policies Information and part of the output
(Confirmation Number and
Address) splits to flow to a
separate function
FIGURE 10.19
A2 diagram of reservation process.
the same figure, the output Selected Cruise from A21 splits but the full data object
flows in both branches.
As a functional model it is important to remember that IDEF0 does not
necessarily show sequence. In higher-level diagrams, the arrows denote constraints
on activation, but the model is too abstract to infer a control sequence. In lower-level
diagrams, there is usually sufficient detail that control sequence can be inferred.
Parallelism in IDEF0 is possible because a function box may be active if it has all
the required inputs and controls. Figure 10.20 shows that function box A41 outputs
object A that flows simultaneously to function boxes A42 and A43, both of which
now have all required inputs and controls and therefore can activate in parallel.
An IDEF0 diagram depicts the functions of the enterprise, the input and output of
each function, and how the functions interact through information flow. The primary
strength if IDEF0 is its proven ability to model the functions of the system to any
level of detail required by the modeler. It does function modeling well largely because
the method ignores other system attributes and behavior common to process models.
However, this can also be viewed as a limitation of IDEF0. IDEF0 does not explicitly
model any timing, sequencing, or decision logic, which must be inferred, if possible,
from the diagram. This is a problem when IDEF0 models are interpreted by people
not expert in IDEF0, since there is a strong predilection to view the model as
representing activity flow because of the modeling con- ventions of ordering
activities from left-to-right and top-to-bottom. So, good advice when using IDEF0 is
that the modeling experts provide sufficient supplementary documentation and
instruction so that other stakeholders avoid misunderstanding the model.
236 Design of Enterprise Systems: Theory, Architecture, and Methods
A
A41
A42
A43
FIGURE 10.20
IDEF0 parallelism.
Patient Ambulance
Arrives Arrives
Information Information
Input Output
Logical OR
Connector
Function
Registration Patient is
Clerk Registered
State (event)
following function
completion
Organizational
unit that does function
FIGURE 10.21
EPC diagram.
ily understood by laymen. UML itself has activity diagrams, collaboration diagrams,
and state diagrams that to varying degrees can model a process. Again, the UML
diagrams are mainly used in software engineering.
10.8 Summary
This chapter defined a business process as a set of a set of activities that generate a
product or service of value to a customer. The chapter discussed the elements of a
process as including a goal, inputs, outputs, resources, and measures. Processes can be
modeled at different levels of abstraction, which leads to a process hierarchy. It is
important that a single process diagram depicts the process at a consistent abstract
level. Finally, processes can be classified as either core processes that serve external
customers, support processes necessary for the enterprise’s operation, and
management processes that make decisions. In later chapters, the analysis focuses on
core processes.
The chapter reviewed the process modeling techniques of flowcharts, data flow
diagrams, and IDEF0 (strictly speaking, a function modeling approach and not a
process modeling approach). Flowcharts depict the control flow of a process.
Flowcharts are by far the most common process modeling techniques: they are popular
in large part because they are simple to understand and draw. DFDs hail from the early
era of information system analysis during the 1970s. They show the data flow in the
process. IDEF0 has similar origins as DFD but is more formalized and was widely
adopted by the U.S. government.
Both flowcharts and data flow diagrams are basic modeling techniques that have
long been and still are used in process analysis and design. Together they represent the
two types of process flows: activity flow and data flow. They only represent a static view
of the process; there is no dynamic information in either model. Flowcharts model the
process at a single
238 Design of Enterprise Systems: Theory, Architecture, and Methods
decomposition level. Data flow diagrams can be used in a hierarchy of data flow
diagrams in which higher-level processes are decomposed into lower-level activities
and tasks.
Review Questions
1. Explain why there are so many ways to model a business process.
2. Explain why decomposition is an important part of process modeling.
3. Describe the three different classes of processes.
4. Compare and contrast flowcharts and data flow diagrams.
5. List the main components of a data flow diagram.
6. Describe the difference between an input and a control in IDEF0.
7. Compare and contrast flowcharts and IDEF0 diagrams.
Process Modeling 239
Exercises
1. Draw a data flow diagram for the warehouse control system (WCS)
described be- low. You are modeling the system described. Remember to
show: external agents, processes, data flows, and data stores.
A warehouse distributes health food and related products. Customers order
a particular product and quantity from the warehouse. The WCS saves the
order and provides to the customer the order number. The WCS generates a
pick list and shipping label, which tells the order-picker person how many of
each item to pick to fulfill the order. The order-picker picks the items,
places them in a box, and places the shipping label on it. The order-picker
then uses the WCS to say the order is ready, and the WCS sends the order
number, address, and payment data to the shipping company. At the end of
the day, the shipping company arrives to pick up all the orders.
2. Draw a data flow diagram for the patient appointment scheduling system
de- scribed below. You are modeling the system described. Remember to
show: ex- ternal agents, processes, data flows, and data stores.
A patient contacts the healthcare clinic to request an appointment. The
scheduler uses the system to check if the time slot requested and doctor are
available, then the scheduler makes the appointment. The appointment is
saved in the system and is confirmed with the patient. Additionally, a
patient can contact the clinic to cancel an appointment. At the end of each
day, the office manager prints the schedule for the next day.
3. The diagram below depicts a data flow diagram with the intent to represent
the process whereby a student submits a change of address and the system
updates the student’s address. Identify what is wrong with the data flow
diagram and create a correct version.
Confirmed Update Changed
Student Address Student address
Change Address Student
4. The diagram below depicts a data flow diagram with the intent to represent
the process whereby management is alerted to low inventory levels that
require replenishment. To check low inventory levels, the manager needs to
know the current inventory levels and any outstanding purchase orders.
Identify what is wrong with the data flow diagram and create a correct
version.
Purchase
orders
Check
purchase orders
5. The diagram below depicts a data flow diagram with the intent to
represent the order entry process in which a customer submits an order,
the system saves the
240 Design of Enterprise Systems: Theory, Architecture, and Methods
order, the clerk reviews the order and if the order is acceptable, then the
customer receives an order confirmation. Identify what is wrong with the data
flow diagram and create a correct version.
Order
Confirmation
Order Clerk
Approved
Order
Order
Order
Customer Entry Order
8. Select a process you are familiar with (e.g., course registration at university
or book loan process at library) and create an IDEF0 diagram of the
process. Have at least two decomposition levels in your model.
9. Below is a single node of an IDEF0 diagram. Decompose node A33 into
three functions of Calculate Sales Tax, and Calculate Shipping, and
Calculate Order Total. Make sure the ICOM objects remain consistent in
the decomposition.
Shipping
Sales
Policy
Tax Rate
& Rates
Product, Price,
Order Total
& Quantity Calculate Total
Shipping
Order Amount Order
Address Confirmation
A33
Oracle
Order
System
Process Modeling 241
10. Select a process you are familiar with (e.g., course registration at university
or book loan process at library) and identify a decomposition of the process
from one activity to the lowest-level steps performed by a single person.
11. The Copper Canyon (Baranca Cobre) Tourist Agency in Mexico wants to
develop a Website to promote the area. The Website must be in various
languages (En- glish, Spanish, French, and German) and enable the Website
visitors to directly book reservations of hotels, tours and all other services
provided by local vendors (e.g., rental car, train, etc.). Vendors will use the
site to create an account to list the services they provide. The site must
allow Travel Agencies to register and receive special promotions. The
system will also be capable to produce reports to the Tourist Office of
Copper Canyon (e.g., number of Website visitors, reser- vations made by
seasons, etc.). The system also manages the yearly sweepstakes in which
contestants can enter to win a week vacation package to the Copper
Canyon.
(a) Draw the context data flow diagram for this system. (Data flow diagram
with only one process representing the entire system).
(b) Create an event-response list.
(c) Create data flow diagrams for each event.
(d) List the attributes in each data structure in the diagram.
12. The master classroom schedule assigns each department time slots and
class- rooms they may use for the upcoming semester on a DEPARTMENT
ROOM ASSIGNMENT LIST. Academic departments submit initial data
about courses, instructors, times, and projected enrollment on a COURSE
REQUEST LIST. The registration system generates a COURSE
CATALOG, which is published and sent to all academic departments and
students. Students select their courses on a ADD/DROP FORM which after
being signed by their advisor is input into the registration system. Various
systems, including the Library, Parking & Traffic Control, and Financial Aid
can input a hold on a student’s registration for unpaid bills. If no holds are in
the system, then the student receives a confirmation called the STUDENT
REGISTRATION from the registration system. The STUDENT
REGISTRATION is also sent via the network to the Payment System, which
will bill the student.
(a) Draw the context data flow diagram for this system. (Data flow diagram
with only one process representing the entire system).
(b) Create an event-response list.
(c) Create data flow diagrams for each event.
(d) List the attributes in each data structure in the diagram.
13. Create a flowchart to model the registration process at your university.
14. Create a flowchart to model the reservation process used by a Website that
does travel reservations. Indicate how your flowchart corresponds to each
step in the Website’s reservation process.
15. Create a data flow diagram to model the reservation process used by a
Website that does travel reservations. Indicate how your data flow diagram
corresponds to each step in the Website’s reservation process.
16. A telephone company has a process called invoice customer. Two separate
data structures flow to the customer: the invoice and the itemized list of
telephone calls. These flow together at the same time. Create the data flow
diagram to represent this process.
242 Design of Enterprise Systems: Theory, Architecture, and Methods
17. Create a flow chart for a process with activities A, B, C, D, E, F, and G.
The first activity is activity A, then activities B, C, and D are performed in
parallel. After the parallel activities, then activity E is done. Depending on
the outcome of activity E, denoted as “yes” or “no”, then activity F or
activity G are done. The process then terminates.
18. A South Florida condo agency is developing a system to manage its listings
(con- dos available for purchase). Below is an event-reponse list. Draw the
data flow diagram for each event.
Event Trigger Response
Bibliography
[1] D.A. Garvin. The processes of organization and management. Sloan Management
Review, Summer:33–50, 1998.
[2] G. Keller, M. Nüttgens, and A.W. Scheer. Veröffentlichungen des Instituts
für Wirtschaftsinformatik, chapter Semantitische Procezeßmodellierung auf der
Grundlage “Ereignisgesteuerter Prozeßketten (EPK). Saarbrücken, Germany, 1992.
[3] H. Mintzberg. Structure in Fives: Designing Effective Organizations. Prentice
Hall, Englewood Cliffs, NJ, 1992.
[4] NIST. Integration definition for function modeling (IDEF0). Technical report,
Federal Information Processing Standards Publication 183, 1993.
[5] M. Ould. Business Processes: Modelling and Analysis for Re-engineering and Improve-
ment. John Wiley & Sons, Chichester, England, 1995.
Process Modeling 243
[6] J.W. Ross. Creating a strategic IT architecture competency: learning in stages,
CISR WP No. 335. Technical report, MIT, Cambridge, MA, 2003.
[7] A.W. Scheer. Architecture of Integrated Information Systems: Principles of
Enterprise Modeling. Springer-Verlag, Berlin, Germany, 1992.
[8] H. Simon. The Sciences of the Artificial. 3rd ed., MIT Press, Cambridge, MA, 1996.
[9] D.S. Sink and T.C. Tuttle. Planning and Measurement in Your Organization of
the Future. Industrial Engineering and Management Press, Norcross, GA, 1989.
[10] W. van der Aalst and K. van Hee. Workflow Management: Models, Methods, and
Systems. MIT Press, Cambridge, MA, 2004.