se dfd 160412

35

Click here to load reader

Upload: bharat-chawda

Post on 16-Apr-2017

2.142 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: SE DFD 160412

[email protected] 1

DFD: Data Flow Diagram

by:Bharat V. Chawda

Computer Engineering Department,BBIT, VVNagar

Page 2: SE DFD 160412

[email protected] 2

Overview A Concept Primitive Symbols Context Diagram Level 1 Diagram Decomposition Example Do’s and Don’ts Shortcomings

Page 3: SE DFD 160412

[email protected] 3

A Concept: Simple Example RMS: Root Mean Square

RMS Calculator

0User I/P Data

rms

Validate input

1Compute

RMS

2Valid Data Display

result

3rms rms

Further Decomposition…

(What is RMS?)

I/P Data

Page 4: SE DFD 160412

[email protected] 4

A Concept: “A graphical representation of the flow

of data through an information system, modelling its process aspects.”

Shows: What data is Input; Who generates it: Source What data is O/P; Who receives it:

Destination/Sink What processing is performed on data; by

whom: Proc Where data come from and go to: Data Flow What data is stored; where: Data Store

Does not show: Timing of processes: Executed in parallel or

sequence Different from Flowchart (Why?)

Page 5: SE DFD 160412

[email protected] 5

A Concept: Why Popular?

Easy to understand by technical and non-technical persons

Can provide high level system overview; with boundaries and connections to other systems

Can provide a detailed representation of system components

Provides hierarchy of DFDs Top level: Most abstract: Context Diagram /

Level 0 D. Next level: Level 1 Diagram Further levels: Level 2, 3, 4…

Page 6: SE DFD 160412

[email protected] 6

Primitive Symbols for DFD Process / Function: Circle,

Rounded Rectangle Actions performed on data:

Transformed, Stored, or Distributed

Annotated with number and name of function

Name starts with verb (Except context level diagram)

Data Flow: Directed arc, Arrow

Single piece of data or logical collection of data

Annotated with name/description of data

Page 7: SE DFD 160412

[email protected] 7

Primitive Symbols for DFD External Entity: Rectangle

Source and/or Sink Origin and/or Destination of the

data External, cos outside the system Annotated with name (Noun)

Data Store: Open rectangle, parallel lines

Data structure, File, Table, Database

Annotated with corresponding names of data items

Page 8: SE DFD 160412

[email protected] 8

Context or Level 0 Diagram Concept: Main steps:Identify where data is captured from:

SourceIdentify where data is distributed to:

DestinationDescribe the overall processMap these out in a diagram using the

correct symbolsLink them with data flows that are

labelled

Page 9: SE DFD 160412

[email protected] 9

Level 1 Diagram Concept: Main steps: Identify and draw the processes that make up the

Level 0 process: High level functions Allocate descriptions to these processes Lay out the sources/sinks and data flows from

the Level 0 diagram Draw in any data stores used in the process Link the new processes and data stores with

named data links: Data flows[Note: It should be balanced. (What is balanced

DFD?)]

Page 10: SE DFD 160412

[email protected] 10

Decomposition/Level ‘n’ Diagram Concept: Main steps: Identify and draw the processes that make up

the Level n-1 process Allocate descriptions to these processes Lay out all the data flows from the Level n-1

diagram Draw in any data stores used in the process Link the new processes and data stores with

named data links: Data flows

Page 11: SE DFD 160412

[email protected] 11

Ex: Food Order System Description Customer provides order. System produces receipt by referring order and

gives to customer. Order is also sent to kitchen department. Based on order, “Goods sold” and “Inventory” files

are updated. Reports for the top management regarding sales,

inventory depletion (income, expenditure) are generated.

Page 12: SE DFD 160412

[email protected] 12

Context or Level 0 Diagram Main steps:Identify where data is captured

fromIdentify where data is distributed toDescribe the overall processMap these out in a diagram using the

correct symbolsLink them with data flows that are

labelled

Page 13: SE DFD 160412

[email protected] 13

Context or Level 0 Diagram

CUSTOMER

Page 14: SE DFD 160412

[email protected] 14

Context or Level 0 Diagram Main steps:Identify where data is captured fromIdentify where data is distributed

toDescribe the overall processMap these out in a diagram using the

correct symbolsLink them with data flows that are

labelled

Page 15: SE DFD 160412

[email protected] 15

Context or Level 0 Diagram

CUSTOMER KITCHEN

RESTAURANT MANAGER

Page 16: SE DFD 160412

[email protected] 16

Context or Level 0 Diagram Main steps:Identify where data is captured fromIdentify where data is distributed toDescribe the overall processMap these out in a diagram using

the correct symbolsLink them with data flows that are

labelled

Page 17: SE DFD 160412

[email protected] 17

Context or Level 0 Diagram

Food Ordering System

0

CUSTOMER KITCHEN

RESTAURANT MANAGER

Page 18: SE DFD 160412

[email protected] 18

Context or Level 0 Diagram Main steps:Identify where data is captured fromIdentify where data is distributed toDescribe the overall processMap these out in a diagram using the

correct symbolsLink them with data flows that

are labelled

Page 19: SE DFD 160412

[email protected] 19

Context or Level 0 Diagram

Food Ordering System

0

CUSTOMER KITCHEN

RESTAURANT MANAGER

Receipt

Food Order

Management Reports

Customer Order

Page 20: SE DFD 160412

[email protected] 20

Level 1 Diagram Main steps: Identify and draw the processes that make

up the Level 0 process Allocate descriptions to these processes Lay out the sources/sinks and data flows from the

Level 0 diagram Draw in any data stores used in the process Link the new processes and data stores with

named data links

Page 21: SE DFD 160412

[email protected] 21

Level 1 Diagram1.0

Receive and transform Customer

Food Order

3.0Update

Inventory file

2.0Update

Goods Soldfile

4.0

Produce Management

Reports

Page 22: SE DFD 160412

[email protected] 22

Level 1 Diagram Main steps: Identify and draw the processes that make up the

Level 0 process Allocate descriptions to these processes Lay out the sources/sinks and data flows

from the Level 0 diagram Draw in any data stores used in the process Link the new processes and data stores with

named data links

Page 23: SE DFD 160412

[email protected] 23

Level 1 Diagram1.0

Receive and transform Customer

Food Order

3.0Update

Inventory file

2.0Update

Goods Soldfile

4.0

Produce Management

Reports

Receipt

Customer OrderCUSTOMER KITCHEN

Food Order

RESTAURANT MANAGER

ManagementReports

Page 24: SE DFD 160412

[email protected] 24

Level 1 Diagram Main steps: Identify and draw the processes that make up the

Level 0 process Allocate descriptions to these processes Lay out the sources/sinks and data flows from the

Level 0 diagram Draw in any data stores used in the process Link the new processes and data stores with

named data links

Page 25: SE DFD 160412

[email protected] 25

Level 1 Diagram1.0

Receive and transform Customer

Food Order

3.0Update

Inventory file

2.0Update

Goods Soldfile

4.0

Produce Management

Reports

Receipt

Customer OrderCUSTOMER KITCHEN

Food Order

RESTAURANT MANAGER

ManagementReports

D1 Goods Sold File D2 Inventory File

Page 26: SE DFD 160412

[email protected] 26

Level 1 Diagram Main steps: Identify and draw the processes that make up the

Level 0 process Allocate descriptions to these processes Lay out the sources/sinks and data flows from the

Level 0 diagram Draw in any data stores used in the process Link the new processes and data stores with

named data links

Page 27: SE DFD 160412

[email protected] 27

Level 1 Diagram1.0

Receive and transform Customer

Food Order

3.0Update

Inventory file

2.0Update

Goods Soldfile

4.0

Produce Management

Reports

Receipt

Customer OrderCUSTOMER KITCHEN

Food Order

RESTAURANT MANAGER

ManagementReports

Goods Sold

Inventory Data

Goods Sold Data

Inventory Data

Daily Goods Sold Amount Daily Inventory Depletion Amount

D1 Goods Sold File D2 Inventory File

Page 28: SE DFD 160412

[email protected] 28

Level ‘n’ Diagram Main steps: Identify and draw the processes that make up the

Level n-1 process Allocate descriptions to these processes Lay out the sources/sinks and data flows from the

Level n-1 diagram Draw in any data stores used in the process Link the new processes and data stores with

named data links

Page 29: SE DFD 160412

[email protected] 29

Level 2 Diagram4.0

Produce Management

ReportsManagement

Reports

Daily Goods Sold Amount Daily Inventory Depletion Amount

4.1

Access Goods Sold and

Inventory Data

4.2Aggregate

Goods Sold and Inventory

Data

4.3

Prepare Management

Reports

Daily Goods Sold Amount

Daily Inventory Depletion Amount

Goods Sold data

Inventory Data

Aggregated Data

Management Reports

Page 30: SE DFD 160412

[email protected] 30

Level 3 Diagram4.3

Prepare Management

Reports

Aggregated Data

Management Reports

4.3.1

Format Management

Reports

Aggregated Data

4.3.2

Print Management

Reports

Formatted Data

ManagementReports

Page 31: SE DFD 160412

Do’s and Don’tsProcesses must have both Inputs and

OutputsNo process can have only Inputs or only

Outputs

[email protected] 31

Page 32: SE DFD 160412

Do’s and Don’ts All flows to Data store must move through

a Process

[email protected] 32

Page 33: SE DFD 160412

Do’s and Don’ts All flows to External Entity must move

through a Process

[email protected] 33

Page 34: SE DFD 160412

[email protected] 34

Shortcomings of DFD Can be Imprecise

May not capture the entire functionality What happens if inputs are wrong; if book not

found Control aspects not defined

Order: inputs are consumed, output r produced: X

Order: different processes are executed: X Decomposition: Subjective

How to arrive at successive level; Up to how much level: subjective; depends upon analyst

Same problem Multiple DFDs possible Decomposition: No specific

guidance

Page 35: SE DFD 160412

35

To be continued…

[email protected]