Extension: Business Process Mapping Using Data Flow Diagrams (DFDS)
Extension: Business Process Mapping Using Data Flow Diagrams (DFDS)
Extension: Business Process Mapping Using Data Flow Diagrams (DFDS)
4
Extension: Business Process
Mapping Using Data Flow
Diagrams (DFDs)
To customize an accounting system, each baseline module is customized. The baseline modules
for vendors, customers, employees, banking, financial, and reports are expanded and customized
to show the detail of the business processes for the specific enterprise. The employees module,
for example, might be customized by adding payroll features to meet enterprise requirements for
payroll withholdings, such as health insurance, 401(k) contributions, and charitable donations.
Just as satellite mapping can zoom in to see the detailed street view, we can zoom in to see
a detailed view of business processes. For example, we can zoom in to see the detail for creating
an invoice (Figures 4E.1 and 4E.2).
Data flow diagrams (DFDs) are one of the techniques commonly used to document the detail
of business processes for an enterprise. Figure 4E.2 shows a DFD for EspressoCoffee to document
its business process for creating a customer invoice.
DFDs focus on business processes using a pictorial, nontechnical view that is well suited to
learning, designing, and understanding accounting systems. DFDs can be used to expand each of
the transaction cycles shown in the baseline accounting system model.
Notice in Figure 4E.2 how the task of creating an invoice is expanded using a DFD to
include details about where the invoice is sent and how and where the information is stored in
a database. Next, let’s look more closely at a DFD for EspressoCoffee so you can learn how to
read and build DFDs.
Customers
• Create • Receive
Figure 4E.1 Invoices Customer
Payments
Customers Module
Module: Customers
Event: Create Invoices
DFD: Level-0
Email Invoice
Credit
Card Warehouse
Company
Order
Information Order Billing
1.0 IInformation 2.0 IInformation 3.0
Process
Customer Process Generate
Customer
Shipping Invoice
Order
Order
Response
Figure 4E.2
Customer
Data Flow Diagram for
EspressoCoffee Create
Invoices
Sales Order
Can you identify the agents
in this DFD? The events trig-
Sales Order Line
gered by the agents? The
database tables used to store
Item
the data?
4E-3
4E-4 Part OnE • Enterprise Accounting Systems: People, Processes, and Technology
Figure 4E.3
QuickBooks Invoice
As you can see in Figure 4E.2, the detailed, customized view for creating an invoice shows
A DFD aids in documenting:
additional detail about the following:
1. Who is interacting within
the specific process? ◾ Agent(s) (Who?)
2. What are the events in ◾ Events (What?)
the process? ◾ Data store or database table (Where?)
3. How is input data ◾ Data flow (When? How?)
transformed into output
In this case, the detailed view for creating an EspressoCoffee invoice shows the following:
data by the process?
4. What subsequent ◾ The customer is the agent.
The events are (1) process customer order, (2) process shipping, and (3) generate invoice.
processes are triggered? ◾
5. Where is data stored? ◾ The database tables are Customer, Sales Order, Sales Order Line, and Item.
◾ The data flows from the customer through the events and is stored in the database tables.
The four elements (agent, event, data flow, and database table) are represented by DFD
Who are Gane and Sarson?
symbols shown in Figure 4E.4 and Figure 4E.5.
Gane and Sarson symbols
for DFDs are frequently
used in practice and are Agents: Square
used in our examples. An agent can be a person, system, or part of an organization, such as a human resources depart-
ment. Agents in DFDs are represented by a square.
For our purposes, an external agent is outside the business for which we are designing the
accounting system. Internal agents are employees who hold positions within the organization.
Agent
Data Flow
Event No.
Figure 4E.4
DFD Symbols (Gane and Event
Sarson)
Chapter 4 • EXTENSION: BUSINESS PROCESS MAPPING USING DATA FLOW DIAGRAMS (DFDS) 4E-5
Figure 4E.5
Data Store (Table)
DFD Example
Warehouse
Delivery
Information
Order Billing
1 I
Information 2 IInformation 3
Process
Process Generate
Order Customer
Shipping Invoice
Information Order
Customer
Accounting
Database
Figure 4E.6
Joey’s DFD
Step 3: Identify database tables. For example, the database tables used in the DFD for creating
an invoice are as follows:
◾ Customer table
◾ Sales Order table
◾ Sales Order Line table
◾ Item table
Step 4: Trace the data flows. Trace the data flow lines and arrows to see how the data flows
between agents, events, and database tables.
Step 1: Write a narrative for the business activity (level-0). This narrative should be a general
description of the business activity and only include major events. It describes how the business
DFD Design Tips
activity is conducted. See Figure 4E.7 for a narrative example for EspressoCoffee.
for Combining
Step 2: Annotate the narrative (level-0). After a narrative is prepared, you annotate the narrative DFD Fragments...
by identifying and labeling the events in the narrative. Typically, the narrative is told in chrono- 1. When combining one
logical order so you identify the events as event 1.0, event 2.0, and so on. See Figure 4E.8 for DFD fragment with
an example of an annotated narrative. Notice that the events typically describe an action, such as another, connect their
process customer order. events with a data flow
Step 3: Create an event-agent-database (EAD) table (level-0). After annotating the narrative, line. Then specify what
create an event-agent-database (EAD) table. The EAD table has four columns: event number, data is moved from one
event, agent, and data store. The EAD table contains as many rows as the number of events in event to another one.
your annotated narrative. 2. Remove duplicate
database tables, if any.
a. Place event 1.0 in the first row of the event column. Place event 2.0 in the second row. Remove unnecessary
Continue until all annotated events are placed in the EAD table. Make sure that these duplicate agents.
events are placed in the table in the order in which they are performed.
b. For each event, identify agents who interact with that event. You may find these agents in
the annotated narrative, or they may be implied in the business activity. Insert agents in the
agent column for the event.
c. For each event, identify database tables used by that event. You may find these tables’
names in the narrative or by verifying the event’s input and output data. Insert database
tables in the data store column for the event.
See Figure 4E.9 for an example of an EAD table.
Step 4: Develop a level-0 DFD fragment for each event in the EAD table (level-0). A DFD fragment
depicts one row in the EAD table. So there will be the same number of DFD fragments as there are
rows, or events, listed in the EAD table. There are three events in the EAD table in Figure 4E.9, so we
will have three DFD fragments (see Figure 4E.10). Each DFD fragment will contain the following:
◾ One event
◾ Agents interacting with that event
◾ Database tables used by that event
Notice that the event ID number in the DFD fragment matches the event number in the
EAD table.
Step 5: Combine level-0 DFD fragments into a level-0 data flow diagram (level-0). Start with the
first event in the EAD table. Combine the DFD fragment for event 1.0 with the DFD fragment for
event 2.0. To do this, you draw a data flow line from event 1.0 to event 2.0. Remove any unneces-
sary duplicates, such as database tables. Combine the resulting DFD with the DFD fragment for
event 3.0. Continue until you have combined all your DFD fragments. After you have combined
DFD Design Tips all the DFD fragments, you have developed the level-0 DFD. (See Figure 4E.10 for an example.)
for Level-1 EAD Step 6: Write a narrative for events in the level-0 DFD (level-1). Identify events in your level-0 DFD
Tables... that can be expanded into greater detail. Write a narrative for each of these expanded events. See
When expanding a level-0 Figure 4E.11 for the level-1 detailed events associated with level-0 event 1.0: process customer order.
event into detailed level-1
Step 7: Annotate the narrative (level-1). Annotate each narrative by labeling the detailed events
events:
in the narrative. See Figure 4E.12 for the annotated narrative for the detailed events associated
1. The agents remain the
with process customer order. Notice that the detailed events are labeled as 1.1, 1.2, and so on.
same.
2. The database tables Step 8: Create an event-agent-database (EAD) table (level-1). Create an EAD table as follows:
remain the same.
a. Place annotated detailed events in the table in the same order they appear in the narrative.
3. The number of events
b. For each detailed event, identify agents who interact with that detailed event. Insert agents
increases.
in the agent column for the event.
4. Some detailed events
c. For each detailed event, identify database tables used by that event. Insert database tables
may not interact with any
in the data store column for the event.
agents.
See Figure 4E.13 for an example.
Chapter 4 • EXTENSION: BUSINESS PROCESS MAPPING USING DATA FLOW DIAGRAMS (DFDS) 4E-9
Module: Customers
Event: Create Invoices
DFD: Level-0 Fragments
Credit
Card
Company
Order
Information
1.0
Process
Customer
Customer
Order
Order
Response
Customer
Sales Order
Item
Delivery
Information 2.0
Warehouse Process
Shipping
Customer
Sales Order
Item
Email
3.0 Invoice
Generate Customer
Invoice
Customer
Sales Order
Item
Figure 4E.10
Level-0 DFD Fragments for EspressoCoffee Create Invoice
Can you match these DFD fragments to the preceding EAD table?
4E-10 Part OnE • Enterprise Accounting Systems: People, Processes, and Technology
Step 9: Develop a level-1 DFD fragment for each detailed event in the EAD table (level-1). For
How Do I Know each detailed event in the EAD table, develop a level-1 DFD fragment. The detailed event is
If an Event Is identified by the event number listed in the EAD table. For example, in Figure 4E.14 verify
Level-0? order items is event 1.2 (level-0 event 1 and associated level-1 detailed event 2).
If the event is identified
with a dot zero (for Step 10: Combine level-1 DFD fragments into a level-1 data flow diagram (level-1). Combine
example, 1.0, 2.0, 3.0), your level-1 DFD fragment of the detailed event 1 with the DFD fragment of the detailed event 2.
then you know it is a Combine the resulting DFD with the DFD fragment of the detailed event 3. Continue until you have
level-0 DFD. combined all the level-1 detailed events into one level-1 DFD. See Figure 4E.15 for an example of a
level-1 DFD for process customer order.
The last five steps (steps 6 through 10) are repeated for each level-0 event. See Figure 4E.16
How Do I Know for an EAD table that combines all the detailed events for EspressoCoffee create invoice. See
Figure 4E.17 for a complete level-1 DFD for EspressoCoffee for create invoice. Notice that
If an Event Is
the detailed event numbers in the DFD fragment match the detailed event numbers in the EAD
Level-1?
table. Also notice that for improved readability of the DFD, the customer agent is duplicated,
If the event is identified
appearing twice in the DFD. DFD design guidelines permit you to show duplicate agents and
by a dot followed by a
data stores for clarity, but not duplicate events in the same DFD.
number greater than zero,
If required, the last five steps can be repeated to expand the level-1 DFD into level-2 and
(for example, 1.2, 2.1,
higher levels.
3.2), then you know it is a
level-1 DFD.
Figure 4E.13 Event-Agent-Database (EAD) Table for EspressoCoffee Process
Customer Order Event
How Do I Know
If an Event Is Event Number Event Agent Data Store
Level-2? 1.1 Verify Customer Identity ◾ Customer ◾ Customer
If the event is identified 1.2 Verify Order Items ◾ Customer ◾ Item
by a dot followed by two 1.3 Verify Customer Credit ◾ Customer ◾ Customer
numbers, (for example, ◾ Credit Card Company
1.2.1, 2.1.3, 3.2.4), then you 1.4 Store Order Information None ◾ Sales Order
know it is a level-2 DFD. ◾ Sales Order Line
Chapter 4 • EXTENSION: BUSINESS PROCESS MAPPING USING DATA FLOW DIAGRAMS (DFDS) 4E-11
Module: Customers
Event: Create Invoice: Process Customer Order
DFD: Level-1 Fragments
Customer and
Order Information 1.1
Verify
Customer
Customer
Identity
Customer
Item Availability
Information 1.2
Customer Verify
Order Items
Item
Credit
Card
Company
Customer Credit
Information 1.3
Verify
Customer
Customer
Credit
Customer
1.4
Store Order Figure 4E.14
Information Level-1 DFD Fragments for
EspressoCoffee Process
Customer Order Event
Sales Order
Can you match these DFD
fragments to the preceding
Sales Order Line
EAD table?
Module: Customers
Event: Create Invoices: Process Customer Order
DFD: Level-1
Figure 4E.15
Level-1 DFD for EspressoCoffee Process Customer Order Event
Can you match these DFD events to the preceding DFD fragments?
Module: Customers
Event: Create Invoices
DFD: Level-1
Shipping
3.1 Confirmation
Update
Customer Order
Update Item Sales Update Information
Information Information Sales
Order
Update
Invoice
Information
Email
Item Sales Order 3.2 Invoice
Send
Customer
Customer
Order Items Update Sales Invoice
Information Order Line
Sales Order Line
Customer
Information
Customer
Customer
Information
Figure 4E.17
Level-1 DFD for EspressoCoffee Create Invoice
Figure 4E.18
Guidelines for Well-Designed DFDs
4E-14 Part OnE • Enterprise Accounting Systems: People, Processes, and Technology
Exercises
Each Exercise relates to one of the major questions addressed in the chapter and is labeled with the question
number in green.
Short Exercises
Warm up with these short exercises.
4E.2 Match the following DFD terms with the appropriate example. (Q4E.4)
a. Agent ___ 1. Customer
b. Event ___ 2. Customer table
c. Data store ___ 3. Verify customer credit
d. Data flow ___ 4. Credit card company
___ 5. Generate shipping labels
___ 6. Item table
___ 7. Data retrieved from the Item table
___ 8. Sales Order table
___ 9. Shipping confirmation sent to customer
___ 10. Warehouse
4E.4 Select an authentic enterprise of your choice, and describe how the enterprise processes
sales transactions with customers. List the following: (Q4E.4)
1. Agents
2. Events
3. Data stores
4E.5 The following data flow diagram has three agents (A1, A2, A3), two processes (P1,
P2), and two database tables (T1, T2). Identify and list the errors that you see in the DFD.
(Q4E.6)
Chapter 4 • EXTENSION: BUSINESS PROCESS MAPPING USING DATA FLOW DIAGRAMS (DFDS) 4E-15
A1 P1 A3
T1 T2
A2 P2
Tech in Practice
These technology in practice exercises are perfect for both individuals and teams.
Tech Exercises
Sharpen your skills with these technology exercises. Watch these software
videos at www.pearsonhighered.com/kay.
4E.6
Tech Tool: Spreadsheet Software or Visio Software
Software Videos: DFD Drawing or Visio DFD Drawing
Use the following event-agent-database (EAD) table to complete the two requirements.
1. Build a DFD.
2. Based on the EAD table, what level DFD did you build?
Since the events numbers end with .0 then the DFD level is 0.
4E.7
Tech Tool: Spreadsheet Software or Visio Software
Software Videos: DFD Drawing or Visio DFD Drawing
Use the following narrative to complete the accompanying requirements.
MiaPizza is a small family-run pizza parlor that accepts only cash. A customer places a pizza
order by calling the 800 number. MiaPizza takes the order over the phone. The order is entered
into the system. A customer receipt is printed and taped to the pizza box. Then the pizza is
delivered.
1. Annotate the narrative, labeling and numbering the events.
2. Create an event-agent-database (EAD) table.
3. Build a level-0 DFD.
4E-16 Part OnE • Enterprise Accounting Systems: People, Processes, and Technology
4E.8
Tech Tool: Spreadsheet Software or Visio Software
Software Videos: DFD Drawing or Visio DFD Drawing
Select an authentic enterprise of your choice.
1. Observe the sales transactions of this enterprise.
2. List the agents, events, data stores, and data flows that you observe.
3. Draw a data flow diagram (DFD) to document the sales transactions showing agents,
events, data stores, and data flows.
4. Do you see any improvements the enterprise might make? List your recommendations to
streamline and improve the business process.
4E.9
Tech Tool: Spreadsheet Software or Visio Software
Software Videos: DFD Drawing or Visio DFD Drawing
Use the following level-0 DFD for Bamboo Furniture and the narrative to complete the
accompanying requirements.
Invoice
Credit
Card Warehouse
Company
Order
Information Order Billing
1.0 IInformation 2.0 IInformation 3.0
Process
Customer Process Generate
Customer
Delivery Invoice
Order
Order
Response
Customer
Sales Order
Item
4E.10
Tech Tool: Spreadsheet Software or Visio Software
Software Videos: DFD Drawing or Visio DFD Drawing
Use the following level-0 DFD for Bamboo Furniture and the narrative to complete the
accompanying requirements.
Invoice
Credit
Card Warehouse
Company
Order
Information Order Billing
1.0 IInformation 2.0 IInformation 3.0
Process
Customer Process Generate
Customer
Delivery Invoice
Order
Order
Response
Customer
Sales Order
Item
4E.11
Tech Tool: Spreadsheet Software or Visio Software
Software Videos: DFD Drawing or Visio DFD Drawing
Use the following level-0 DFD for Bamboo Furniture and the narrative to complete the accom-
panying requirements.
Event 3.0 Generate Invoice Narrative:
After the delivery date is scheduled, customer and sales order information is updated. The in-
voice is printed and delivered with the furniture to the customer.
1. Annotate the narrative, labeling and numbering the events.
2. Create an event-agent-database (EAD) table.
3. Build a level-1 DFD for event 3.0.
4E-18 Part OnE • Enterprise Accounting Systems: People, Processes, and Technology
Invoice
Credit
Card Warehouse
Company
Order
Information Order Billing
1.0 IInformation 2.0 IInformation 3.0
Process
Customer Process Generate
Customer
Delivery Invoice
Order
Order
Response
Customer
Sales Order
Item
Technology Projects
These technology projects are perfect for both individuals and teams.
Technology Project 4 Extension is your opportunity to practice building data flow diagrams
for iSportDesign. With this project, you will use either spreadsheet software or Visio software.
(Ask your instructor which software you will be using to complete this technology project.)