46
Data Flow Diagrams (DFDs)

Data Flow Diagram

Embed Size (px)

DESCRIPTION

Data Flow Diagram

Citation preview

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.

1.0

CheckStatus

2.0

IssueStatus

Messages

3.0

GenerateShipping

Order

ACCOUNTING

CUSTOMER WAREHOUSE

4.0

Manage Accounts

Receivable5.0

ProduceReports

Order In-Stock Request

Status Data

Status Message

PendingOrdersD1

Order Data

Order Data

Shipping Order

Shipping Confirmation

Invoice

Payment

Accounts ReceivableD2

Accounting Data Accounts Receivable Data

Order Data

Inventory Reports

DFD Symbols

Process

Data Flow

Data Store

Source/Sink (External Entity)

Process

Work or actions performed on data (inside the system)

Labels should be verb phrases Receives input data and produces output

1.0

ProduceGradeReport

Grade Detail

Grade Report

Rule 1: Process Can have more than one outgoing data flow

or more than one incoming data flow

1.0

GradeStudent

Work

Submitted WorkGraded Work

Student Grade

3.0

Calculated Gross Pay

Hours Worked

Pay RateGross Pay

Rule 2: Process Can connect to any other symbol (including

another process symbol)

1.0

VerifyOrder

2.0

Assemble Order

OrderAccepted Order

Inventory Change

Process: Correct/Incorrect?5.0

Create Invoice

Services Perfomed Invoice

Apply InsurancePremium

Payment AmountPolicy Number

2.1

Calculate Gross Pay

Hours Worked Pay Rate

Data Flow

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

Deposit

2.1

Post Payment

Accounts Receivable

D1

Payment Detail

Invoice Detail

Data Flow: Correct/Incorrect?

Courses

Students

ClassList

5.0

PostPayment

Customer Payment

D2 Daily Payments

6.0

Prepare Deposit

DailyPayment

Data Store

Is used in a DFD to represent data that the system stores

Labels should be noun phrases

StudentsD1

Rule: Data Store Must have at least one incoming and one

outgoing data flow

Daily Payments

D1

Customer Payment

Daily Payment

Source/Sink (External Entity)

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

CUSTOMER

1.0

VerifyOrder

Order

Invoice

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

2.0

Prepare Deposit

BankDeposit

Source/Sink: Correct/Incorrect?

PAYROLLDEPARTMENT

EMPLOYEE

Paycheck

3.0

ApplyPayment

CUSTOMER

Payment

CUSTOMER

AccountsReceivable

Payment

Rules for Using DFD Symbols

Data Flow That Connects YES NO

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

E1

P2

P1

1.0

2.0

DS1

DF2

DF2

DF6

DF4

DF3

DF1

DF5

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

Level Of Details

0

Order System

SALESREP

CUSTOMER WAREHOUSE

BANKACCOUNTING

Order

OrderReject Notice

PickingList

CompletedOrder

Payment Invoice

Commission Bank Deposit

CashReceiptsEntry

Context Diagram of Order System

Developing DFDs: AnExample 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-4Context diagram of Hoosier Burger’sfood 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

0

Order System

SALESREP

CUSTOMER WAREHOUSE

BANKACCOUNTING

Order

OrderReject Notice

PickingList

CompletedOrder

Payment Invoice

Commission Bank Deposit

CashReceiptsEntry

Context Diagram of Order System

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

1.0

Fill Order

2.0

CreateInvoice

3.0

ApplyPayment

SALESREP

BANK ACCOUNTING

CUSTOMER WAREHOUSE

Order

Order RejectNotice

Picking List

AccountsReceivableD1

Invoice

Invoice

Invoice DetailPayment

Detail

Payment

Commission Bank Deposit Cash Receipts Entry

Completed Order

Level-0 DFD of Order System

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

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 strategyCreate the high-level diagrams (Context

Diagram), then low-level diagrams (Level-0 diagram), and so on

Bottom-up strategyCreate the low-level diagrams, then higher-

level 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.

AddNew Customer

1AddNew Customer

2

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 diagramThe 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

ACCOUNTING

WAREHOUSECUSTOMER

0

Order System

Order

Payment

In-StockRequest

StatusMessage

Invoice Shipping Confirmation

Shipping Order

Inventory Reports

Context Diagram of Order System

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 Shipping Confirmation Payment Accounting Data Accounts Receivable Data Order Data Inventory Reports

1.0

2.0

3.0

4.0

5.0

1.0

CheckStatus

2.0

IssueStatus

Messages

3.0

GenerateShipping

Order

ACCOUNTING

CUSTOMER WAREHOUSE

4.0

Manage Accounts

Receivable5.0

ProduceReports

Order In-Stock Request

Status Data

Status Message

PendingOrdersD1

Order Data

Order Data

Shipping Order

Shipping Confirmation

Invoice

Payment

Accounts ReceivableD2

Accounting Data Accounts Receivable Data

Order Data

Inventory ReportsLevel-0 of

Order System