Discussion Board

profilechaitanya-1992
007_DFD_v2.pptx

Data Flow Diagrams

BIS 636

Data Flow Diagrams (DFD)

Graphically characterize data processes and flows (inputs and outputs) in a business system

Depict:

System inputs

Processes

Outputs

Focus on flow of information

Source

Destination

Storage

2

Advantages of the DFD Approach

Freedom from committing to the technical implementation too early

Understanding of the interrelatedness of systems and subsystems

Communicating current system knowledge to users

Analysis of the proposed system

Helps create pseudocode

Pseudocode

Notation resembling a simplified programming language

Structure of programming language

Meant for human reading not machine reading

DFD – Types of Notation

Yourdon & Coad

Gane & Sarson

Systems Analysis and Design

Information Systems

Notation

Process

Data Store

Data Flow

External Entity

Notation – Process

Denotes a change in or transformation of data

Represents work being performed in the system

Naming convention

Assign the name of the whole system when naming a high-level process

To name a major subsystem attach the word subsystem to the name

Use the form verb-adjective-noun for detailed processes

Notation – Process

Notation – Data Store

A depository for data that allows examination, addition, and retrieval of data

Named with a noun, describing the data

Data stores are usually given a unique reference number, such as D1, D2, D3

Represents a:

Filing cabinet

Database

Computerized file

Notation – Data Store

Notation – Data Flow

Shows movement of data from one point to another

Described with a noun

Arrowhead indicates the flow direction

Represents data about a person, place, or thing

Notation – Data Flow

Notation – External Entity

Represent another department, a business, a person, or a machine

A source or destination of data, outside the boundaries of the system

Should be named with a noun

Notation – External Entity

Notation – External Entity

DFD Levels

Data flow diagrams are built in levels

The top level is the Context level

Each process may explode to a lower level

The lower level diagram number is the same as the parent process number

Processes that do not create a child diagram are called primitive

Creating the Context Diagram

The highest level in a data flow diagram

Contains only one process, representing the entire system

The process is given the number 0

All external entities, as well as Major data flows are shown

DFD – Levels/Layers

Context

20

Context Diagram

21

Creating the Level 0 Diagram

The explosion of the context diagram

May include up to nine processes

Each process is numbered

Major data stores and all external entities are included

Level 0 Diagram

23

Creating Child Diagrams

Each process on diagram 0 may be exploded to create a child diagram

A child diagram cannot produce output or receive input that the parent process does not also produce or receive

The child process is given the same number as the parent process

Process 3 would explode to Diagram 3

Creating Child Diagrams (continued)

Entities are usually not shown on the child diagrams below Diagram 0

If the parent process has data flow connecting to a data store, the child diagram may include the data store as well

When a process is not exploded, it is called a primitive process

LOGICAL vs PHYSICAL DFDs

Logical

Focuses on the business and how the business operates

Not concerned with how the system will be constructed

Describes the business events that take place and the data required and produced by each event

Physical

Shows how the system will be implemented

Depicts the system

Progression from Logical to Physical

Partitioning

Partitioning is the process of examining a data flow diagram and determining how it should be divided into collections of manual procedures and computer programs

A dashed line is drawn around a process or group of processes that should be placed in a single computer program

Partitioning (continued)

Considerations:

Whether processes are performed by different user groups

Processes execute at the same time

Processes perform similar tasks

Batch processes can be combined for efficiency of data

Processes may be partitioned into different programs for security reasons

Why Partition

Different user groups

Timing

Processes may be separated into different programs for security

Similar tasks

Efficiency

Consistency

Security

Food Ordering System Example

Context Level

shows only the top level

one visible process node

represents the functions of a complete system in regards to how it interacts with external entities

Some of the benefits of a Context Diagram are:

Shows the overview of the boundaries of a system

No technical knowledge is required to understand with the simple notation

Simple to draw, amend and elaborate as its limited notation

Food Ordering System Example

Context Level

contains a process that represents the system to model

shows the participants who will interact with the system (external entities)

shows the data flow (connectors)

indicate the existence of information exchange between the entities and the system

Note: Context DFD is the entrance of a data flow model. It contains one and only one process and does not show any data store.

Food Ordering System Example

Context Level

Food Ordering System Example

Level 0

contains multiple processes

contains multiple external entities

contains multiple data stores.

Food Ordering System Example

Level 0

Data Flow Diagram Tips

Process labels should be verb phrases; data stores are represented by nouns

A data store must be associated to at least a process

An external entity must be associated to at least a process

Data Flow Diagram Tips (continued)

Don't let it get too complex; normally 5 - 7 average people can manage processes

DFD numbering is non-deterministic - The numbering does not necessarily indicate sequence, it's useful in identifying the processes when discussing with users

Common DFD Errors

A process that has inputs but no outputs is considered to be a black-hole process

A process that has outputs but no inputs is considered to be a miracle process

Common DFD Errors

Data flows should not exist between 2 external entities or 2 data stores without going through a process

Common DFD Errors

Data stores should not be connected to an external entity, otherwise, it would mean that you're giving an external entity direct access to your data files

Common DFD Errors

Others

41

Common DFD Errors (continued)

No outputs

No inputs

EE to DS

DS to DS

Same information

Reversed

43