0% found this document useful (0 votes)
15 views

Starting DFDs

The document describes data flow diagrams (DFDs) and how they are used to model systems. DFDs use four main elements - external entities, processes, data stores, and data flows. They are drawn at different levels, with level 0 showing the overall system and higher levels providing more detail. The rules for constructing DFDs are also outlined.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Starting DFDs

The document describes data flow diagrams (DFDs) and how they are used to model systems. DFDs use four main elements - external entities, processes, data stores, and data flows. They are drawn at different levels, with level 0 showing the overall system and higher levels providing more detail. The rules for constructing DFDs are also outlined.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 45

Data Flow Diagrams

DT211 Stage 2
Software Engineering
Where do they fit in?

 Life Cycle Phases  Analysis (What do we do?)


  Fact finding
Planning
 investigate business process and
 Feasibility Study 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.
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

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
*
Creating Data Flow Diagrams
Steps:

1. Create a list of activities


2. Construct Context Level DFD
(identifies external entities and processes)
3. Construct Level 0 DFD
(identifies manageable sub process )
4. Construct Level 1- n DFD
(identifies actual data flows and data stores )
5. Check against rules of DFD
DFD Naming Guidelines
 External Entity  Noun
 Data Flow  Names of data
 Process  verb phrase
 a system name
 a subsystem name
 Data Store  Noun
Creating Data Flow Diagrams
Lemonade Stand Example
Creating Data Flow Diagrams
Example Steps:
The operations of a simple 1. Create a list of activities
lemonade stand will be used
• Old way: no Use-Case Diagram
to demonstrate the creation
of dataflow diagrams. • New way: use Use-Case Diagram
2. Construct Context Level DFD
(identifies sources and sink)
3. Construct Level 0 DFD
(identifies manageable sub processes )
4. Construct Level 1- n DFD
(identifies actual data flows and data stores )
Creating Data Flow Diagrams
Example 1. Create a list of activities

Think through the activities


that take place at a
lemonade stand.
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
Creating Data Flow Diagrams
Example 1. Create a list of activities

Also think of the additional


activities needed to support
the basic activities.
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
Order Raw Materials
Pay for Raw Materials
Pay for Labor
Creating Data Flow Diagrams
Example 1. Create a list of activities

Group these activities in


some logical fashion,
possibly functional areas.
Customer Order
Serve Product
Collect Payment

Produce Product
Store Product

Order Raw Materials


Pay for Raw Materials

Pay for Labor


Creating Data Flow Diagrams
Example 2. Construct Context Level DFD
(identifies sources and sink)
Create a context level
diagram identifying the Context Level DFD
sources and sinks (users).
Sales Forecast
Order 0.0
CUSTOMER Lemonade Production Schedule EMPLOYEE
Customer Order Product Served System Pay
Serve Product Payment Time Worked
Collect Payment Received Goods
Payment
Purchase Order
Produce Product
Store Product VENDOR

Order Raw Materials


Pay for Raw Materials

Pay for Labor


Creating Data Flow Diagrams
Example 3. Construct Level 0 DFD
Create a level 0 diagram (identifies manageable sub processes )
identifying the logical Level 0 DFD
subsystems that may exist.
1.0
Sale
Customer Order Sales Forecast
Customer Order
Product Ordered
Serve Product
Payment
Collect Payment 2.0 Production
CUSTOMER EMPLOYEE
Production Schedule
Product Served
Produce Product
Received Goods Inventory
Store Product
3.0
VENDOR Procure- Order
Purchase Order
Order Raw Materials ment Decisions
Pay for Raw Materials Payment
Pay Time Worked

Pay for Labor 4.0


Payroll
Creating Data Flow Diagrams
Example 4. Construct Level 1- n DFD
Create a level 1 (identifies actual data flows and data stores )
decomposing the processes Level 1 DFD
in level 0 and identifying
CUSTOMER
data stores.
Customer Order
Request for Forecast
Customer Order ORDER
1.1
Serve Product Record
Collect Payment Order
1.3
Produce
Severed Order Sales
Produce Product Payment Forecast
Sales Forecast
Store Product 1.2
Receive PAYMENT
Payment
Order Raw Materials
Pay for Raw Materials

Pay for Labor


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
Product Order
data stores.
ORDER
Customer Order 2.1
Serve Quantity Severed
Serve Product Product
Collect Payment RAW
Production
MATERIALS
Schedule
Produce Product 2.2
Store Product Produce Quantity Used
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

data stores. 4.1 TIME CARDS


Record
Time
Customer Order Worked Employee ID
Serve Product EMPLOYEE
Collect Payment
Payroll Request
4.2
Unpaid time cards
Produce Product Calculate
Payroll
Store Product PAYROLL

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

2.1 2.2 2.3


2.0
Serve Produce Store
Production
Product Product Product

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

Context Level Level 0 Level 1


DFD Example: Bus Garage
Repairs
 Buses come to a garage for repairs.
 A mechanic and helper perform the repair, record the
reason for the repair and record the total cost of all
parts used on a Shop Repair Order.
 Information on labor, parts and repair outcome is
used for billing by the Accounting Department, parts
monitoring by the inventory management computer
system and a performance review by the supervisor.
DFD Example: Bus Garage Repairs
(cont’d)
 External Entities: Bus, Mechanic, Helper, Supervisor,
Inventory Management System, Accounting
Department, etc.
 Key process (“the system”): performing repairs and
storing information related to repairs
 Processes:
 Record Bus ID and reason for repair
 Determine parts needed
 Perform repair
 Calculate parts extended and total cost
 Record labor hours, cost
DFD Example: Bus Garage
Repairs (cont’d)
 Data stores:
 Personnel file
 Repairs file
 Bus master list
 Parts list
 Data flows:
 Repair order
 Bus record
 Parts record
 Employee timecard
 Invoices
Bus Garage Context Diagram

Bus
Mechanical Fixed
problem mechanical
to be repaired problems

Bus Repair Supervisor


Helper Labor
summary
Repair
Process List of
parts used
Labor
System Inventory
Labor, Managemen
parts cost
details
t System
Mechanic
Accountin
g
CSUB Burger’s Order Processing
System
 Draw the CSUB Burger’s context diagram
 System
 Order processing system

 External entities
 Kitchen
 Restaurant
 Customer

 Processes
 Customer order
 Receipt
 Food order
 Management report

You might also like