Data Flow Diagrams (DFDs)

advertisement

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.

Shipping

Confirmation

Order In-Stock Request

CUSTOMER WAREHOUSE

Status

Message

1.0

2.0

Status Data

D1

Check

Status

Order

Data

Pending

Orders

3.0

Shipping

Order

Issue

Status

Messages

Order Data

Payment

4.0

Invoice

Order Data

Accounting Data

Manage

Accounts

Receivable

Accounts Receivable Data

D2

Accounts

Receivable

5.0

Generate

Shipping

Produce

Reports

Order

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

Grade

Student

Work

Graded Work

Student Grade

Hours Worked

Pay Rate

3.0

Calculated

Gross

Pay

Gross Pay

Rule 2: Process

Can connect to any other symbol (including another process symbol)

Order

1.0

Verify

Order

Accepted Order

2.0

Assemble

Order

Inventory

Change

Process: Correct/Incorrect?

5.0

Services Perfomed

Invoice

Create

Invoice

Policy Number

Payment Amount

Apply

Insurance

Premium

Hours Worked

2.1

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 Customer

Payment

Class

List

D2 Daily Payments

Students

Daily

Payment

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)

1.0

Order

CUSTOMER

Invoice 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

Paycheck

Payment

EMPLOYEE

Payment

3.0

Apply

Payment

Accounts

Receivable

Rules for Using DFD Symbols

YES NO  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

List the errors of this DFD

E1

DF5

DF2

DF1

E1

DS1

DF6

DF4

DF2

1.0

P2

DF3

2.0

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

Payment

Order

Context Diagram of Order System

CUSTOMER

Invoice

Order

Reject

Notice

Picking

List

0

Order

System

Completed

Order

WAREHOUSE

Commission

Bank

Deposit

Cash

Receipts

Entry

SALES

REP

ACCOUNTING

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

Payment

Order

Context Diagram of Order System

CUSTOMER

Invoice

Order

Reject

Notice

Picking

List

 Order system that a company uses to enter orders and apply payments against a customer’s balance

Commission

0

Order

System

Bank

Deposit

Completed

Order

WAREHOUSE

Cash

Receipts

Entry

SALES

REP

ACCOUNTING

BANK

Order Picking List

 Order system that a company uses to enter orders and apply payments against a customer’ s balance

Level-0 DFD of

Order System

CUSTOMER WAREHOUSE

1.0

Fill

Order

Order

Reject

Notice

Invoice

Payment

D1

Invoice

Accounts

Receivable

Payment

Detail

Invoice

Detail

2.0

Create

Invoice

3.0

Apply

Payment

Bank Deposit

SALES

REP

Commission

BANK

Completed

Order

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

D2 Vendor Master Vendor

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

Context

Diagram of

Order

System

CUSTOMER

Order

Payment

Status

Message

Invoice

In-Stock

Request

WAREHOUSE

0

Order

System

Inventory

Reports

Shipping

Order

Shipping Confirmation

ACCOUNTING

Identify Entities,Process,Data Stores & Data Flow

Entities

Customer

Warehouse

Accounting

Processes

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

 Order Data

 Status Data

 Status Message

 Shipping Order

 Order Data

 Invoice

1.0

2.0

3.0

 Shipping Confirmation

 Payment

 Accounting Data

 Accounts Receivable Data

 Order Data

4.0

5.0

 Inventory Reports

Level-0 of

Order

System

Shipping

Confirmation

Order In-Stock Request

CUSTOMER WAREHOUSE

Status

Message

1.0

2.0

Status Data

D1

Check

Status

Order

Data

Pending

Orders

Issue

Status

Messages

Order Data

Payment

4.0

Order Data

Invoice

Accounting Data

Manage

Accounts

Receivable

Accounts Receivable Data

D2

Accounts

Receivable

5.0

Produce

Reports

3.0

Shipping

Order

Generate

Shipping

Order

Inventory

Reports

ACCOUNTING

Download