DATA FLOW DIAGRAM PART 2 - Elista

advertisement
DATA FLOW
DIAGRAM
(PART 2)
Four basic rules




The DFD must have at least one process, and must not
have any freestanding objects or objects connected to
themselves
A process must receive at least one data flow coming
into the process and create at least one data flow leaving
from the process
A data store should be connected at least one process
External entities should not be connected to each other.
Although they communicate independently, that
communication is not part of the system we design using
DFDs
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
Diagram of
Order
System
Order
CUSTOMER
WAREHOUSE
Order
Reject
Notice
Payment
Picking
List
Invoice
Completed
Order
0
Order
System
Commission
SALES
REP
Bank
Deposit
ACCOUNTING
Cash
Receipts
Entry
BANK
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
Context
Diagram of
Order
System
CUSTOMER
WAREHOUSE
Order
Reject
Notice
Payment
Picking
List
Invoice
0
Completed
Order
Order
System
Commission
SALES
REP
Bank
Deposit
ACCOUNTING
Cash
Receipts
Entry
BANK
Level-0
DFD of
Order
System
Order
Picking List
CUSTOMER
WAREHOUSE
1.0
Order
Reject
Notice
Fill
Order
Invoice
2.0
Payment
Create
Invoice
Invoice
Completed
Order
Accounts
Receivable
D1
Payment
Detail
Invoice
Detail
3.0
Apply
Payment
Commission
SALES
REP
Bank Deposit
BANK
Cash Receipts Entry
ACCOUNTING
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
 In
Figure 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:
 In
context 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
SOURCE
0
A
B
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
Payment
Coupon
x.0
Composite data
flow
x.1
x.2
Disaggregated
data flow
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 higherlevel 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




Processes






Customer
Warehouse
Accounting
1.0 Check Status
2.0 Issue Status Messages
3.0 Generate Shipping Order
4.0 Manage Accounts
Receivable
5.0 Produce Reports
Data Stores


D1 Pending Orders
D2 Accounts Receivable

Data Flows














Order
In-Stock Request
1.0
Order Data
Status Data
2.0
Status Message
Shipping Order
3.0
Order Data
Invoice
Shipping Confirmation
4.0
Payment
Accounting Data
Accounts Receivable Data
5.0
Order Data
Inventory Reports
Context Diagram of Order System
Order
CUSTOMER
In-Stock
Request
Payment
Status
Message
Invoice
0
Order
System
Inventory
Reports
ACCOUNTING
WAREHOUSE
Shipping
Order
Shipping Confirmation
Level-0 of
Order
System
Order
In-Stock Request
CUSTOMER
WAREHOUSE
1.0
Status
Message
Status Data
Order
Data
2.0
Shipping
Confirmation
Shipping
Order
Check
Status
D1
Issue
Status
Messages
3.0
Pending
Orders
Generate
Shipping
Order
Order Data
Payment
4.0
Order Data
Invoice
Manage
Accounts
Receivable
5.0
Accounting Data
D2
Accounts Receivable Data
Produce
Reports
Accounts
Receivable
Inventory
Reports
ACCOUNTING
Download