You are on page 1of 25

Course 5

DATA FLOW
DIAGRAM
PART 2
Creating Data Flow Diagrams
Creating DFDs is a highly iterative process of gradual
refinement.
General steps:
1. Create a preliminary Context Diagram
2. Identify Use Cases, i.e. the ways in which users
most commonly use the system
3. Create DFD fragments for each use case
4. Create a Level 0 diagram from fragments
5. Decompose to Level 1,2,…
6. Go to step 1 and revise as necessary
7. Validate DFDs with users.
Context Diagram
 Top-level view of IS
 A data flow diagram (DFD) of the scope of an
organizational system that shows the system
boundaries, external entities that interact with the
system and the major information flows between the
entities and the system
 Example: Order system that a company uses to
enter orders and apply payments against a
customer’s balance
DFD Rules—Context Diagram
 One process, numbered 0.
 Sources and sinks (external entities) as
squares
 Main data flows depicted
 No internal data stores are shown
 They are inside the system
 External data stores are shown as external entities
 How do you tell the difference between an internal
and external data store?
Context Order
CUSTOMER WAREHOUSE
Diagram of
Order
System Order
Reject
Picking
List
Notice
Payment Invoice

Completed
0 Order

Order
System

Bank Cash
Commission Receipts
Deposit
Entry

SALES
ACCOUNTING BANK
REP
Level-0 DFD
 Shows the system’s major processes, data flows,
and data stores at a high level of abstraction
 When the Context Diagram is expanded into DFD
level-0, all the connections that flow into and out of
process 0 needs to be retained.
Order
CUSTOMER WAREHOUSE
Context
Diagram of
Order Order
Picking
Reject
System Notice
List

Payment Invoice

0
Completed
Order
Order
System

Bank Cash
Commission Receipts
Deposit
Entry

SALES
ACCOUNTING BANK
REP
Level-0 CUSTOMER
Order Picking List
WAREHOUSE

DFD of 1.0

Order
Fill
System Order Order
Reject
Notice

Invoice

2.0
Payment
Create Completed
Invoice
Invoice Order

Accounts
D1 Receivable

Invoice
Payment 3.0
Detail
Detail

Apply
Payment

Commission Bank Deposit Cash Receipts Entry

SALES
BANK ACCOUNTING
REP
Lower-Level Diagrams
 Functional Decomposition
 Balancing
Decomposition of DFDs
 Functional decomposition
 An iterative process of breaking a system description
down into finer and finer detail
 Uses a series of increasingly detailed DFDs to
describe an IS
 Act of going from one single system to many
component processes
 Repetitive procedure
 Lowest level is called a primitive DFD
 Level-N Diagrams
A DFD that is the result of n nested decompositions of
a series of subprocesses from a process on a level-0
diagram
Balancing DFDs
 When decomposing a DFD, you must conserve
inputs to and outputs from a process at the next
level of decomposition
 Ensures that the input and output data flows of
the parent DFD are maintained on the child DFD
 This is called balancing
 Example: Hoosier Burgers
 InFigure 1, notice that there is one input to the
system, the customer order
 Three outputs:
 Customer receipt
 Food order
 Management reports
Figure 1
Context diagram of Hoosier Burger’s Food ordering
system
Balancing DFDs Example
(Continued)

 Notice Figure 2. We have the same inputs


and outputs
 No new inputs or outputs have been
introduced
 We can say that the context diagram and
level-0 DFD are balanced
Figure 2
Level-0 DFD of Hoosier Burger’s food ordering system
Balancing DFDs:
An unbalanced example
 Figure 3:
 Incontext diagram, we have one input to the
system, A and one output, B
 Level-0 diagram has one additional data flow,
C
 These DFDs are not balanced
Figure 3: An unbalanced set of data
flow diagrams
A 0 B
SOURCE SINK

(a) Context diagram


1.0
A
SOURCE 1

C
SOURCE 2
2.0 B
SINK

(b) Level-0 diagram


Balancing DFDs
 We can split a data flow into separate data
flows on a lower level diagram (see Figure
4)
 Balancing leads to four additional
advanced rules
Example of data flow splitting
Payment & coupon x.0
Composite data
flow

Payment x.1

Disaggregated
data flow
Coupon x.2
Advanced Rule for DFD
 A composite DF on 1 level can be split into component
DF as the next level, but no new data can be added n all
data in the composite must be accounted for in 1 or
more subfollows
 The inputs to a process must b sufficient to produce the
outputs from the process
 At the lowest level of DFD, new data flows may be added
to represent data that r transmitted under exceptional
condition, these data flows typically represent error
message
 To avoid having data flow lines cross each other, u may
repeat data strores or sources/sinks on a DFD. Use an
additional symbol, like a double line on the middle
vertical line of data strore symbol, or a diagonal line in a
corner of a sink/source square to indicate a repeated
symbol
Strategies for Developing DFDs
 Top-down strategy
 Create the high-level diagrams (Context
Diagram), then low-level diagrams (Level-0
diagram), and so on
 Bottom-up strategy
 Create the low-level diagrams, then higher-
level diagrams
Exercise:
Precision Tools sells a line of high-quality woodworking
tools. When customers place orders on the company’s Web
site, the system checks to see if the items are in stock,
issues a status message to the customer, and generates a
shipping order to the warehouse, which fills the order.
When the order is shipped, the customer is billed. The
system also produces various reports, such as inventory
reports for Accounting.
 Draw a context diagram for the order system
 Draw DFD diagram 0 for the order system
Identify Entities,Process,Data Stores & Data Flow
 Entities  Data Flows
 Order
 Customer  In-Stock Request
 Warehouse  Order Data
1.0
 Accounting  Status Data
 Status Message
 Processes  Shipping Order 2.0
 1.0 Check Status  Order Data
 2.0 Issue Status Messages  Invoice
 Shipping Confirmation 3.0
 3.0 Generate Shipping Order  Payment
 4.0 Manage Accounts  Accounting Data
Receivable  Accounts Receivable Data
 Order Data 4.0
 5.0 Produce Reports
 Inventory Reports
 Data Stores
 D1 Pending Orders
 D2 Accounts Receivable 5.0
Context Diagram of Order System

Order
CUSTOMER In-Stock WAREHOUSE
Payment Request

Status 0 Shipping
Message Order

Order
Invoice System Shipping Confirmation

Inventory
Reports

ACCOUNTING
Level-0 of CUSTOMER
Order In-Stock Request
WAREHOUSE
Order 1.0
Status
System Message
Check Shipping
Status Data Status Order

Order
2.0 Data
Shipping 3.0
Confirmation Pending
Issue D1 Orders
Status
Messages Generate
Shipping
Order Data Order

Payment 4.0
Order Data
Invoice
Manage
Accounts
Receivable
5.0
Accounting Data Accounts Receivable Data

Produce
Accounts Reports
D2 Receivable
Inventory
Reports

ACCOUNTING
HOMEWORK (group)
 Based on the use cases, draw your project
data flow in:
 Context diagram
 Level 0-DFD
 If neccesary, decompose the DFD to the next
level DFDs
 Put them on your SRS’s document as the
attachment

You might also like