data flow diagram (part 2). four basic rules the dfd must have at least one process, and must not...
TRANSCRIPT
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 DiagramsCreating DFDs is a highly iterative process of
gradual refinement.General steps:1. Create a preliminary Context Diagram2. Identify Use Cases, i.e. the ways in which users
most commonly use the system3. Create DFD fragments for each use case4. Create a Level 0 diagram from fragments5. Decompose to Level 1,2,…6. Go to step 1 and revise as necessary7. 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 systemExternal data stores are shown as external
entitiesHow do you tell the difference between an
internal and external data store?
0
Order System
SALESREP
CUSTOMER WAREHOUSE
BANKACCOUNTING
Order
OrderReject Notice
PickingList
CompletedOrder
Payment Invoice
Commission Bank Deposit
CashReceiptsEntry
Context Diagram of Order System
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.
0
Order System
SALESREP
CUSTOMER WAREHOUSE
BANKACCOUNTING
Order
OrderReject Notice
PickingList
CompletedOrder
Payment Invoice
Commission Bank Deposit
CashReceiptsEntry
Context Diagram of Order System
1.0
Fill Order
2.0
CreateInvoice
3.0
ApplyPayment
SALESREP
BANK ACCOUNTING
CUSTOMER WAREHOUSE
Order
Order RejectNotice
Picking List
AccountsReceivableD1
Invoice
Invoice
Invoice DetailPayment
Detail
Payment
Commission Bank Deposit Cash Receipts Entry
Completed Order
Level-0 DFD of Order System
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 1Context 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 2Level-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, BLevel-0 diagram has one additional data flow,
C These DFDs are not balanced
Figure 3: An unbalanced set of data flow diagrams
SOURCESINK
(a) Context diagram
(b) Level-0 diagram
SOURCE 1
SINK
0
SOURCE 2
1.0
2.0
A B
A
C
B
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
x.0Payment & coupon
x.1Payment
x.2Coupon
Composite data flow
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 strategyCreate the high-level diagrams (Context
Diagram), then low-level diagrams (Level-0 diagram), and so on
Bottom-up strategyCreate 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
Customer Warehouse Accounting
Processes 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 Order Data Status Data Status Message Shipping Order Order Data Invoice Shipping Confirmation Payment Accounting Data Accounts Receivable Data Order Data Inventory Reports
1.0
2.0
3.0
4.0
5.0
ACCOUNTING
WAREHOUSECUSTOMER
0
Order System
Order
Payment
In-StockRequest
StatusMessage
Invoice Shipping Confirmation
Shipping Order
Inventory Reports
Context Diagram of Order System
1.0
CheckStatus
2.0
IssueStatus
Messages
3.0
GenerateShipping
Order
ACCOUNTING
CUSTOMER WAREHOUSE
4.0
Manage Accounts
Receivable5.0
ProduceReports
Order In-Stock Request
Status Data
Status Message
PendingOrdersD1
Order Data
Order Data
Shipping Order
Shipping Confirmation
Invoice
Payment
Accounts ReceivableD2
Accounting Data Accounts Receivable Data
Order Data
Inventory Reports
Level-0 of Order System