DFD examples1

advertisement
DFD examples
1
Creating DFDs
Define Entities
• External entities represent
persons, processes or machines
which produce data to be used
by the system or receive data
that is output by the system
• Examples: Student, Customer,
Client
Define Processes
• Processes are discrete actions
that transform input data to
output data
• Examples: Create Student
Record, Calculate Purchase
Cost, Register Client
Student
2.1
Create
Student
Record
2
Creating DFDs (cont’d)
Define Data Stores
• Data stores are temporary or
permanent repositories of
information that are inputs to or
outputs of processes
• Examples: Student Master, Client
List
D3
Student
Master
Define Data Flows
• Data flows represent the transfer of
data over time from one “place”
(entity, process, data store) to
another
• Examples: New Student
Information (from Student, to
Student Master)
New Student
Information
3
Creating DFDs (cont’d)
Define the System
• A system is the collection of all
business processes which
perform tasks or produce outputs
we care about. It is “what
happens.”
• The system is a single process,
connected to external entities
• Represented in a “Context
Diagram”
Define Subsystems
• A subsystem gives a more
detailed view individual
processes contained in the
context diagram
• Includes data stores, more
elementary processes
4
DFDs Created by Top-Down Analysis
 Create a narrative: description of
Narrative
system
 Create a Context Diagram that
contains a single process (“the
system”) and all entities which share
data with the system
Context Diagram
Diagram 0 DFD
 Explode the “parent” context diagram
to produce a Diagram 0 (“child”) DFD
 Create Diagram 1, 2, …, n DFDs that
Diagram 1 DFDs
represent “explosions” of Diagram 0, 1,
…, n-1 DFDs until a diagram has only
“primitive” processes
 Create process descriptions to be
implemented by application
programs: queries, macros, reports,
programming languages
Diagram n DFDs
E-R Diagram
Process Descriptions
5
Where to Begin Creating DFDs
 Start with the data flow from an external entity and
work forwards
 Start with the data flow to an external entity and work
backwards
 Examine the data flows into or out of a data store
 Examine data flows, entity connections and data stores
associated with a particular process
 Note fuzzy, ill-defined areas of the system for further
clarification
6
What to Avoid in DFDs
4
Processes with no outputs or
no inputs
Perform
Repair
Processes whose inputs are
obviously inadequate to yield
outputs
Connecting data stores directly
to each other
Class List
Students
Courses
Having data flows terminate at
data stores
Connecting entities to anything
other than processes
Payroll
Department
Employees
Making the data flow diagram too
cluttered (e.g.  9 processes)
Many processes with a single
input and output (linear flow)
1
2
3
Process
A
Process
B
Process
C
7
Creating Data Flow Diagrams
Lemonade Stand Example
Creating Data Flow Diagrams
Example
The operations of a simple
lemonade stand will be used
to demonstrate the creation
of dataflow diagrams.
Steps:
1. Create a list of activities
•
Old way: no Use-Case Diagram
•
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
sources and sinks (users).
Context Level DFD
Order
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
Order Raw Materials
Pay for Raw Materials
Pay for Labor
CUSTOMER
Sales Forecast
0.0
Lemonade Production Schedule EMPLOYEE
Pay
System
Product Served
Payment
Received Goods
Payment
VENDOR
Time Worked
Purchase Order
Creating Data Flow Diagrams
Example
Create a level 0 diagram
identifying the logical
subsystems that may exist.
3. Construct Level 0 DFD
(identifies manageable sub processes )
Level 0 DFD
1.0
Sale
Customer Order
Serve Product
Collect Payment
Product Ordered
Payment
CUSTOMER
Produce Product
Store Product
Pay for Labor
Product Served
Received Goods
VENDOR
Order Raw Materials
Pay for Raw Materials
Sales Forecast
Customer Order
Purchase Order
Production
Schedule
2.0
Production
EMPLOYEE
Inventory
3.0
Procurement
Payment
Order
Decisions
Pay
4.0
Payroll
Time Worked
Creating Data Flow Diagrams
Example
Create a level 1
decomposing the processes
in level 0 and identifying
data stores.
4. Construct Level 1- n DFD
(identifies actual data flows and data stores )
Level 1 DFD
CUSTOMER
Customer Order
ORDER
Customer Order
Serve Product
Collect Payment
1.1
Record
Order
Severed Order
Produce Product
Store Product
Order Raw Materials
Pay for Raw Materials
Pay for Labor
Payment
1.2
Receive
Payment
PAYMENT
Request for Forecast
1.3
Produce
Sales
Forecast
Sales Forecast
Creating Data Flow Diagrams
Example
Create a level 1
decomposing the processes
in level 0 and identifying
data stores.
4. Construct Level 1 (continued)
Level 1 DFD
Product Order
ORDER
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
Order Raw Materials
Pay for Raw Materials
Pay for Labor
2.1
Serve
Product
Quantity Severed
RAW
MATERIALS
Production
Schedule
2.2
Produce
Product
Production Data
2.3
Store
Product
Quantity Used
INVENTORTY
Quantity Produced &
Location Stored
Creating Data Flow Diagrams
Example
Create a level 1
decomposing the processes
in level 0 and identifying
data stores.
Customer Order
Serve Product
Collect Payment
4. Construct Level 1 (continued)
Level 1 DFD
Order Decision
3.1
Produce
Purchase
Order
PURCHASE
ORDER
Quantity On-Hand
Quantity
Received
Received
Goods
3.2
Receive
Items
Produce Product
Store Product
Payment Approval
Order Raw Materials
Pay for Raw Materials
3.3
Pay
Vendor
Pay for Labor
Payment
RAW
MATERIALS
RECEIVED
ITEMS
VENDOR
Creating Data Flow Diagrams
Example
Create a level 1
decomposing the processes
in level 0 and identifying
data stores.
Customer Order
Serve Product
Collect Payment
4. Construct Level 1 (continued)
Level 1 DFD
Time Worked
4.1
Record
Time
Worked
TIME CARDS
Employee ID
EMPLOYEE
Payroll Request
4.2
Calculate
Payroll
Produce Product
Store Product
Unpaid time cards
PAYROLL
Payment Approval
Order Raw Materials
Pay for Raw Materials
4.3
Pay
Employe
e
Pay for Labor
Payment
PAYMENTS
Process Decomposition
0.0
Lemonade
System
Context Level
1.0
Sale
1.1
Record
Order
1.2
Receive
Payment
2.0
Production
2.1
Serve
Product
2.2
Produce
Product
2.3
Store
Product
3.0
Procurement
3.1
Produce
Purchase
Order
3.2
Receive
Items
3.3
Pay
Vendor
4.0
Payroll
4.1
Record
Time
Worked
4.2
Calculate
Payroll
4.3
Pay
Employe
e
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.
 Key process (“the system”): performing repairs and storing information
related to repairs
 External Entities: Bus, Mechanic, Helper, Supervisor, Inventory
Management System, Accounting Department, etc.
 Processes:
 Record Bus ID and reason for repair
 Determine parts needed
 Perform repair
 Calculate parts extended and total cost
 Record labor hours, cost
20
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

21
Bus Garage Context Diagram
Bus
Fixed
mechanical
problems
Mechanical
problem
to be repaired
Helper
Labor
0
Bus
Repair
Process
Labor
Mechanic
Labor,
parts cost
details
Repair
summary
List of
parts used
Supervisor
Inventory
Management
System
Accounting
22
Download