Starting DFDs
Starting DFDs
DT211 Stage 2
Software Engineering
Where do they fit in?
3
4 Main Elements
external entity - people or organisations that send
data into the system or receive data from the system
process - models what happens to the data i.e.
transforms incoming data into outgoing data
data store - represents permanent data that is used by
the system
data flow - models the actual flow of the data
between the other elements
Notation
Data Flow
• Data Flow
Process box
• Process
External
Entity
• External Entity
4
Level 0 - Context Diagram
models system as one process box which represents scope
of the system
identifies external entities and related inputs and outputs
Additional notation - system box
5
Numbering
On level 1 processes are numbered 1,2,3…
On level 2 processes are numbered x.1, x.2, x.3… where x
is the number of the parent level 1 process
Number is used to uniquely identify process not to
represent any order of processing
Data store numbers usually D1, D2, D3...
Labelling
Process label - short description of what the process does,
e.G. Price order
Data flow label - noun representing the data flowing
through it e.G. Customer payment
Data store label - describes the type of data stored
Make labels as meaningful as possible
Balancing and data stores
Balancing
any data flows entering or leaving a parent level must by
equivalent to those on the child level
Data stores
data stores that are local to a process need not be included until
the process is expanded
Data Flows
Allowed to combine several data flows from lower level
diagrams at a higher level under one data flow to reduce
clutter
Flows should be labelled except when data to or from a
data store consists of all items in the data store
Joe’s Yard
Joe’s builders’ suppliers has a shop and a yard. His system is entirely
manual. He has a stock list on the wall of his shop, complete with prices.
When a builder wants to buy supplies, he goes into the shop and picks the
stock items from the list. He writes his order on a duplicate docket and
pays Joe, who stamps the docket as paid. The builder takes the duplicate
docket and he goes to the yard and hands it to the yard foreman. The
yard foreman gets the ordered items from the yard and gives them to the
builder. The builder signs the duplicate docket and leaves one copy with
the foreman and takes one copy as a receipt. Every week, Joe looks
around the yard to see if any of his stock is running low. He rings up the
relevant suppliers and reorders stock. He records the order in his order
book, which is kept in the yard. The yard foreman takes delivery of the
new stock and checks it against what has been ordered. He pays for it on
delivery and staples the receipt into the order book. At the end of every
month, Joe goes through all the dockets and the order book and produces
a financial report for the shareholders.
Draw a context level DFD and a level-1 DFD for this system.
Context Diagram
Find the people who send data into the system
Often data is part of a PHYSICAL transaction
When handing a bar of chocolate to a shopkeeper, you are
handing him/her a barcode.
Find the people who get data out of the system.
The only data you need is data that is transformed or sent
completely out of the system – not data that is handled by an
operator within the system.
Context diagram
Shareholders
financial
report
Docket &
Payment
Joe's
Supply needs Yard
Joe Customer
Signed docket
Supply order
& payment Supply invoice
Supplier
Level-1 DFD processes
Joe’s builders’ suppliers has a shop and a yard. His system is entirely
manual. He has a stock list on the wall of his shop, complete with
prices. When a builder wants to buy supplies, he goes into the shop
and picks the stock items from the list. He writes his order on a
duplicate docket and pays Joe, who stamps the docket as paid. The
builder takes the duplicate docket and he goes to the yard and hands
it to the yard foreman. The yard foreman gets the ordered items
from the yard and gives them to the builder. The builder signs the
duplicate docket and leaves one copy with the foreman and takes
one copy as a receipt. Every week, Joe looks around the yard to see
if any of his stock is running low. He rings up the relevant suppliers
and reorders stock. He records the order in his order book, which is
kept in the yard. The yard foreman takes delivery of the new stock
and checks it against what has been ordered. He pays for it on
delivery and staples the receipt into the order book. At the end of
every month, Joe goes through all the dockets and the order book
and produces a financial report for the shareholders.
Verbs from script
Has (passive) Builder signs docket
Buy supplies Takes copy as receipt
Picks stock items Looks around yard and
Writes order reorders
Records order in order book
Pays joe
Foreman takes delivery –
Stamps docket
checks
Takes docket to yard
Foreman pays supplier
Hands it to foreman
Staples receipt to order book
Gets items
Produces financial report
Gives them to builder
Remove passive verbs and
queries
Joe then
Looks around yard and reorders
Records order in order book
Passive: has stock list
Foreman
Buy supplies takes delivery – checks
Picks stock items (views list) Foreman pays supplier
Writes orders Staples receipt to order book
Pays joe
Joe
Stamps docket
Produces financial report
Customer then
Takes docket to yard
Hands it to foreman
Gets items
Gives them to builder
Builder signs docket
Takes copy as receipt
Level 1 current physical
20
Customer
20.1
Docket
Docket
Writes
Order
* Docket
Payment 20.3
Stamp
Docket(signatu-
re)
*
20.2
Money
Payment
Pays
Joe
*
Get Items
12 get items
12.2
12.3
Give
copy
as receipt
*
Reorder supplies
21 Reorder supplies
21.1
Joe Supply needs Reorder
from
yard
*
Supply needs
21.2
Order
Supply order M3
Record book
order
*
Restock
22 Restock
Order
M3
book
22.1 stock
Supply order
supplies
Take
delivery
*
supplies
Supply order
Money
22.2
Payment Supplier Supplier
receipt
Pay
supplier
Payment
*
Creating Data Flow Diagrams
Steps:
Produce Product
Store Product
INVENTORTY
Order Raw Materials Production Data
Pay for Raw Materials
2.3 Quantity Produced &
Store Location Stored
Pay for Labor Product
Creating Data Flow Diagrams
Example 4. Construct Level 1 (continued)
Create a level 1
decomposing the processes Level 1 DFD
in level 0 and identifying Order Decision
PURCHASE
data stores. 3.1 ORDER
Produce
Purchase
Customer Order Order Quantity On-Hand
Serve Product Quantity
RAW
MATERIALS
Collect Payment Received Received
Goods
3.2
Produce Product Receive
Items
Store Product RECEIVED
ITEMS
Payment Approval
Order Raw Materials
VENDOR
Pay for Raw Materials 3.3
Pay
Vendor
Pay for Labor
Payment
Creating Data Flow Diagrams
Example 4. Construct Level 1 (continued)
Create a level 1
decomposing the processes Level 1 DFD
in level 0 and identifying Time Worked
Payment Approval
Order Raw Materials
4.3
Pay for Raw Materials Pay
Employe
e PAYMENTS
Pay for Labor
Payment
Process Decomposition
1.1 1.2
1.0
Record Receive
Sale
Order Payment
0.0
Lemonade
System
3.1
3.0 3.2 3.3
Produce
Procure- Receive Pay
Purchase
ment Items Vendor
Order
4.1 4.3
4.2
4.0 Record Pay
Calculate
Payroll Time Employe
Payroll
Worked e
Bus
Mechanical Fixed
problem mechanical
to be repaired problems
External entities
Kitchen
Restaurant
Customer
Processes
Customer order
Receipt
Food order
Management report