You are on page 1of 28

Data Flow Diagrams

DT211 Stage 2
Software Engineering
Where do they fit in?
• Life Cycle Phases • Analysis (What do we do?)
• Planning – Fact finding
• investigate business process
• Feasibility Study and the current system
• Analysis – modelling the current and
• Design required systems
– deliverables -
• Code and Unit test • requirements specification
• logical models of the required
system
Data Flow Diagrams (DFD)
• DFDs describe the flow of data or
information into and out of a system
– what does the system do to the data?
• A DFD is a graphic representation of the
flow of data or information through a
system

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

• Data Store D Data Store


Levelled DFDs
• Even a small system could have many
processes and data flows and DFD could be
large and messy
– use levelled DFDs - view system at different
levels of detail
– one overview and many progressively greater
detailed views

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

External Data flow out System box


entity
Data flow in
Level 1 - overview diagram
• gives overview of full system
• identifies major processes and data flows
between them
• identifies data stores that are used by the
major processes
• boundary of level 1 is the context diagram
Level 2 - detailed diagram
• level 1 process is expanded into more detail
• each process in level 1 is decomposed to
show its constituent processes
• boundary of level 2 is the level 1 process
Other Notation
• Duplicates marked by diagonal line in corner
• System Boundary
• Elementary Processes - star in corner
• Process that is levelled - dots on top
Rules for DFDs
• Numbering
• Labelling
• Balancing

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.
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
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
• Pays joe • Records order in order
• book
Stamps docket
• Foreman takes delivery –
• Takes docket to yard checks
• Hands it to foreman • Foreman pays supplier
• Gets items • Staples receipt to order
• Gives them to builder book
• Produces financial report
Remove passive verbs and queries
• Passive: has stock list • Joe then
• Buy supplies – Looks around yard and
– Picks stock items (views list) reorders
– Writes orders – Records order in order book
– Pays joe • Foreman
– Stamps docket – takes delivery – checks
• Customer then – Foreman pays supplier
– Takes docket to yard – Staples receipt to order book
– Hands it to foreman • Joe
• Gets items – Produces financial report
– Gives them to builder
– Builder signs docket
– Takes copy as receipt
Level 1 current physical
20

Buy Money Supplier


supplies Payment 22 receipt
Payment Payment
Docket & Restock
Payment Docket supplies
Supplier
supplies
Customer M1 Docket Supply order
completed
docket copy
Order
completed M3
required stock book
docket copy
stock
Signed docket
12
Supply order
builder
required stock
signature get
Joe
11 items completed Supplier
receipt 21 Supply needs
Take docket copy
to
Reorder
yard
* supplies
Signed docket
Signed docket 5 Joe's Office
Produce financial
financial report Shareholders
report
Foreman *
Buy Supplies
20 Buy supplies M1 Docket

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

Signed docket Get builder


Foreman
12.1 signature builder
Signed docket
* signature
Give items
Customer
to customer
* completed
required stock docket copy completed
stock docket copy

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
*

You might also like