Data Flow Diagrams (DFDs)

download report

Transcript Data Flow Diagrams (DFDs)

Data Flow Diagrams
(DFDs)
Data Flow Diagrams (DFDs)


Data flow diagram
(DFD) is a picture of
the movement of data
between external
entities and the
processes and data
stores within a system
DFDs are an
excellent illustration of
modeling as the
bridge between
specification and
implementation.
Order
In-Stock Request
CUSTOMER
WAREHOUSE
1.0
Status
Message
Order
Data
2.0
Shipping
Confirmation
Shipping
Order
Check
Status
Status Data
D1
Issue
Status
Messages
3.0
Pending
Orders
Generate
Shipping
Order
Order Data
Payment
4.0
Order Data
Invoice
Manage
Accounts
Receivable
5.0
Accounting Data
D2
Accounts Receivable Data
Produce
Reports
Accounts
Receivable
Inventory
Reports
ACCOUNTING
DFD Symbols
Process
Data Flow
Data Store
Source/Sink (External Entity)
Process
1.0
Grade Report
Grade Detail
Produce
Grade
Report



Work or actions performed on data (inside the
system)
Labels should be verb phrases
Receives input data and produces output
Rule 1: Process

Can have more than one outgoing data flow
or more than one incoming data flow
Submitted Work
1.0
Graded Work
Grade
Student
Work
Student Grade
3.0
Hours Worked
Pay Rate
Calculated
Gross
Pay
Gross Pay
Rule 2: Process

Can connect to any other symbol (including
another process symbol)
1.0
2.0
Inventory
Change
Order
Accepted Order
Verify
Order
Assemble
Order
Process: Correct/Incorrect?
5.0
Services Perfomed
Invoice
Create
Invoice
Policy Number
Payment Amount
Apply
Insurance
Premium
2.1
Hours Worked
Calculate
Gross
Pay
Pay Rate
Data Flow



Deposit
Is a path for data to move from one part of the
IS to another
Arrows depicting movement of data
Can represent flow between process and data
store by two separate arrows
2.1
Post
Payment
Payment Detail
Invoice Detail
D1
Accounts
Receivable
Data Flow: Correct/Incorrect?
5.0
Post
Payment
Courses
Class
List
Customer
Payment
D2
Daily Payments
Daily
Payment
Students
6.0
Prepare
Deposit
Data Store
D1


Students
Is used in a DFD to represent data that the
system stores
Labels should be noun phrases
Rule: Data Store

Must have at least one incoming and one
outgoing data flow
Customer Payment
D1
Daily
Payments
Daily Payment
Source/Sink (External Entity)
Order
CUSTOMER





Invoice
1.0
Verify
Order
External entity that is origin or destination of data
(outside the system)
Is the singular form of a department, outside
organization, other IS, or person
Labels should be noun phrases
Source – Entity that supplies data to the
system
Sink – Entity that receives data from the
system
Rule: Source/Sink

Must be connected to a process by a data flow
BANK
Bank
Deposit
2.0
Prepare
Deposit
Source/Sink: Correct/Incorrect?
CUSTOMER
CUSTOMER
PAYROLL
DEPARTMENT
Payment
Paycheck
Payment
3.0
EMPLOYEE
Apply
Payment
Accounts
Receivable
Rules for Using DFD Symbols

Data Flow That Connects
A process to another process
A process to an external entity
A process to a data store
An external entity to another external entity
An external entity to a data store
A data store to another data store
YES
NO
List the errors of this DFD
DF2
E1
1.0
P2
DF5
DF1
DS1
DF3
DF6
2.0
DF4
DF2
E1
P1
Level Of Details
Context Diagram



Top-level view of IS
Shows the system boundaries, external entities that
interact with the system, and major information flows
between entities and the system.
Example: Order system that a company uses to
enter orders and apply payments against a
customer’s balance
Context Diagram
of Order System
Order
CUSTOMER
WAREHOUSE
Order
Reject
Notice
Payment
Picking
List
Invoice
0
Completed
Order
Order
System
Commission
SALES
REP
Bank
Deposit
ACCOUNTING
Cash
Receipts
Entry
BANK
Developing DFDs: An
Example
Hoosier Burger’s automated food
 ordering system
 Context Diagram (Figure 8-4) contains
no data stores
 Next step is to expand the context
 diagram to show the breakdown of
 processes (Figure 8-5)

Figure 8-4
Context diagram of Hoosier Burger’s
food ordering 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.
Figure 8-5
Level-0 DFD of Hoosier Burger’s food ordering
system
Context Diagram
of Order System
Order
CUSTOMER
WAREHOUSE
Order
Reject
Notice
Payment
Picking
List
Invoice
Order
system that a
company uses to enter
orders and apply
payments against a
customer’s balance
Commission
SALES
REP
0
Completed
Order
Order
System
Bank
Deposit
ACCOUNTING
Cash
Receipts
Entry
BANK
Order
Level-0 DFD of
Order System
CUSTOMER
WAREHOUSE
1.0
Order
Reject
Notice
Order
system
that a
company
uses to
enter
orders
and apply
payments
against a
customer’
s balance
Picking List
Fill
Order
Invoice
2.0
Payment
Create
Invoice
Invoice
Completed
Order
Accounts
Receivable
D1
Payment
Detail
Invoice
Detail
3.0
Apply
Payment
Commission
SALES
REP
Bank Deposit
BANK
Cash Receipts Entry
ACCOUNTING
Levelled Diagram
Lower-Level Diagrams

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

Balancing
 The
conservation of inputs and outputs to a data flow
process when that process is decomposed to a lower
level
 Ensures that the input and output data flows of the
parent DFD are maintained on the child DFD
Strategies for Developing DFDs

Top-down strategy
 Create
the high-level diagrams (Context
Diagram), then low-level diagrams (Level-0
diagram), and so on

Bottom-up strategy
 Create
the low-level diagrams, then higherlevel diagrams
Data Flow Diagram Errors
The following conditions are errors that
occur when drawing a data flow diagram:
 A process with only input data flow or only
output data flow from it.

1
Add
New
Customer
2
Add
New
Customer
Data Flow Diagram Errors
(Continued)

Data stores or external entities are
connected directly to each other, in any
combination.
Customer
D1
Customer
Vendor
D2
Vendor Master
Data Flow Diagram Errors
(Continued)

Incorrectly labeling data flow or objects
 Examples
are:
Labels omitted from data flow or objects.
 Data flow labeled with a verb.
 Processes labeled with a noun.


Too many processes on a data flow
diagram.
 Nine
is the suggested maximum.
Data Flow Diagram Errors
(Continued)
Omitting data flow from the diagram
 Unbalanced decomposition between a
parent process and a child diagram

 The
data flow in and out of a parent process
must be present on the child diagram.
Current Physical
There are two types of DFDs
Physical and Logical DFDs
 In the early stages you'll build a current physical DFD. On these
you'll be recording, warts and all, the ways things are presently
(often known as the "As-is").
 It will have all sorts of un-logical things to show and will reflect how
things are done currently. There will likely be processes that exist
purely because things are done manually. Data stores (such as stick
pins or copy orders file etc.) will exists because of how things are

presently done.
Current Physical






shown as External Entities.
Clerical and temporary data stores will likely feature heavily
What you document on the DFD won't seem to be very logical
(I've even found processes that aren't actually needed, but still are
done because no one told the staff they were no longer needed!).
Dataflow names will likely correspond to document names
There are sure to be process to process flows
Data flows between external entities will possibly feature
Logical Data Flow Diagrams



Logical data flow diagrams show how the
business operates.
They have processes that would exist regardless
of the type of system implemented.
In the current logical DFD variant, you start with
the current physical and remove all aspects that
are to do with "how" things are done presently you need to be showing only the "what" aspects.
Data Flow Diagram Progression
The progression of creating data flow diagrams
is:
 Create
current physical DFD
 Create a logical DFD of the current system.
 Next add all the data and processes not in the
current system that must be present in the new
system.
 Finally derive the physical data flow diagram for the
new system.
Data Flow Diagram Progression
Logical Data Flow Diagrams
Advantages
Advantages of logical DFDs are:
 Better
communication with users.
 More stable systems, since the design is
based on a business framework.
 Increased understanding of the business by
analysts.
 The system will have increased flexibility and
be easier to maintain.
 Elimination of redundancy.
Physical Data Flow Diagrams
Physical data flow diagrams show how the
system operates or how the new system will be
implemented.
 Physical data flow diagrams include:
 Clarifying
which processes are manual and which are
automated.
 Describing processes in greater detail.
 Sequencing processes in the order they must be
executed.
Physical Data Flow Diagrams
Physical data flow diagrams include
(continued):
 Temporary
data stores and transaction files.
 Specifying actual document and file names.
 Controls to ensure accuracy and
completeness.
Physical Data Flow Diagrams
Advantages
 Clarifying which processes are manual and
which are automated

Describing processes in more detail than logical
DFDs

Sequencing processes that have to be done in a
particular order

Identifying temporary data stores
Physical and Logical Data Flow
Diagrams
WHAT the system does - Current
Physical DFD
 HOW it does it - Current Logical DFD
 WHAT it should do - Required Logical
DFD
 HOW it should do it - Required Physical
DFD

Guidelines for Drawing DFDs
Completeness
DFD must include all components
necessary for system Each component must be
fully described in the project dictionary or CASE
repository.
 Consistency
The extent to which information contained on one
level of a set of nested DFDs is also included on
other levels

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.
 Draw a context diagram for the order system
 Draw DFD diagram 0 for the order system
Order
CUSTOMER
In-Stock
Request
Payment
Status
Message
Invoice
0
Order
System
Inventory
Reports
Context
Diagram of
Order
System
ACCOUNTING
WAREHOUSE
Shipping
Order
Shipping Confirmation
Identify Entities,Process,Data Stores & Data

Entities




Processes






Customer
Warehouse
Accounting
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
1.0
Order Data
Status Data
2.0
Status Message
Shipping Order
3.0
Order Data
Invoice
Shipping Confirmation
4.0
Payment
Accounting Data
Accounts Receivable Data
5.0
Order Data
Inventory Reports
Order
In-Stock Request
CUSTOMER
WAREHOUSE
1.0
Status
Message
Status Data
Order
Data
2.0
Shipping
Confirmation
Shipping
Order
Check
Status
D1
Issue
Status
Messages
3.0
Pending
Orders
Generate
Shipping
Order
Order Data
Payment
4.0
Order Data
Invoice
Manage
Accounts
Receivable
5.0
Accounting Data
D2
Level-0 of
Order
System
Accounts Receivable Data
Produce
Reports
Accounts
Receivable
Inventory
Reports
ACCOUNTING