You are on page 1of 66

Data Flow Diagrams

SE205 Software Engineering

Iteration 2:
Functional delivery in context

Oct 2, 2015

Functional delivery

Deliver to the client a


system that meets
most of their needs
Usable
Stable

Oct 2, 2015

Oct 2, 2015

Requirements determination

Determine how the current information


system operates and what users would
like to see in the new system.
Outcomes: Various forms of information
gathered

Oct 2, 2015

Structured Modeling
We can model the functions of a business
using a range of structured diagrams and
techniques:
Functional

decomposition

Data

flow
Entity Relationship
Logic structure
Structure charts
Oct 2, 2015

Agile Modeling (AM)

AM is a chaordic, practices-based process for modeling


and documentation
AM is a collection of practices based on several values
and proven software engineering principles
AM is a light-weight approach for enhancing modeling
and documentation efforts for other software processes
such as XP and RUP

Oct 2, 2015

What Are Agile Models?

Agile models:

Fulfill their purpose


Are understandable
Are sufficiently accurate
Are sufficiently consistent
Are sufficiently detailed
Provide positive value
Are as simple as possible

Agile models are just


barely enough!
Oct 2, 2015

The Core of AM
You Need to Adopt at Least the Core
Core Principles
Core Practices
Assume Simplicity
Active Stakeholder Participation
Embrace Change
Apply the Right Artifact(s)
Enabling the Next Effort is Your
Collective Ownership
Secondary Goal
Create Several Models in Parallel
Incremental Change
Create Simple Content
Model With a Purpose
Depict Models Simply
Multiple Models
Display Models Publicly
Maximize Stakeholder
Iterate to Another Artifact
Investment
Model in Small Increments
Quality Work
Model With Others
Rapid Feedback
Prove it With Code
Software Is Your Primary Goal
Single Source Information
Travel Light
Use the Simplest Tools

Oct 2, 2015

Model With Others

The modeling equivalent of pair


programming
You are fundamentally at risk whenever
someone works on something by
themselves
Several heads are better than one

Oct 2, 2015

Agile Models
www.agilemodeling.com/artifacts/

Oct 2, 2015

Agile Documentation

Agiledocuments:

Valid reasons to document:

Maximizestakeholderinvestment
Areconcise
Fulfillapurpose
Describeinformationthatislesslikelytochange
Describegoodthingstoknow
Haveaspecificcustomerandfacilitatetheworkeffortsofthatcustomer
Aresufficientlyaccurate,consistent,anddetailed
Aresufficientlyindexed
Your project stakeholders require it
To define a contract model
To support communication with an external group
To think something through

www.agilemodeling.com/essays/agileDocumentation.htm

Oct 2, 2015

Data Flow Diagrams

Oct 2, 2015

Business Process
mapping - XSOL

Oct 2, 2015

Process Modeling
Data flow diagramming

Graphical depiction of a system


Show how data flows through your system
and what is being done to it along the way

Oct 2, 2015

Figure 2-2
A General Depiction of a System

Oct 2, 2015

Figure 2-4
A Fast Food Restaurant as a System

Oct 2, 2015

Figure 2-7
A Fast Food Restaurants Customer Order Information System Depicted in a Data Flow
Diagram

Oct 2, 2015

Process Modeling

Graphically Represents
Functions or
Processes

Which
Capture
Manipulate
Store
Distribute data between a system, its environment
and its components

Oct 2, 2015

Deliverables
Set of data flow diagrams showing:
Scope

of system
Existing system modeled
New system modeled

Oct 2, 2015

Key Definitions

Logical process models describe


processes without suggesting how they
are conducted
Physical models include information about
how the processes are implemented

Oct 2, 2015

Deliverables - ideal
1.

Context data flow diagram [DFD]

2.

DFD/s of current physical system

3.

5.

Specifies people and technologies used

DFD/s of current logical system

4.

Shows system scope

Show data processing functions

DFD/s of new logical system


Description of each DFD component

Data repository
Oct 2, 2015

Data Flow Diagram Symbols

Oct 2, 2015

Process

The work or actions performed on data so


that they are transformed, stored or
distributed

Verb phrase name, eg,


Update
Calculate
Verify

Oct 2, 2015

Data store

Data at rest, which may take the form of


many different physical representations
Eg,

Database
Files
Folder

Oct 2, 2015

Source/sink

The origin and/or destination of data,


sometimes referred to as external entities
Eg,

Clients
Employees
Bank
Inland Revenue
Oct 2, 2015

Data flow

Data in motion, moving from one place in the


system to another
Eg,

Invoice
Receipt
Enrolment form

Must be named, often has a paper form associated with


it.
Oct 2, 2015

Concepts
Data

movement
Coupling
Timing of data flow
DFD hides some Physical Characteristics
Frequency
Volume

of Data

Oct 2, 2015

Steps in Building DFDs

Build the context diagram


Create DFD fragments
Organize DFD fragments into level 0
Decompose level 0 DFDs as needed
Validate DFDs with user

Oct 2, 2015

Context Diagram

Shows the context into which the business


process fits
Shows the overall business process as just
one process
Shows all the outside entities that receive
information from or contribute information to
the system

Oct 2, 2015

Figure 8-4
Context Diagram of Hoosier Burgers Food Ordering System

One process only


2015
Single processOct
(0)2,represents
entire system

Oct 2, 2015

Level 0 Diagram

Shows all the processes that comprise the


overall system
Shows how information moves from and to each
process
Adds data stores

Oct 2, 2015

Figure 8-5
Level-0 DFD of Hoosier Burgers Food Ordering System

Oct 2, 2015

Oct 2, 2015

Decomposition of DFDs

Functional Decomposition
iterative

process of breaking down the description


of a system into finer and finer detail
keep going until point where process can no
longer be logically broken down
creates a series of exploding charts

Level-n diagram
Oct 2, 2015

Level 1 Diagrams

Shows all the processes that comprise a single process


on the level 0 diagram
Shows how information moves from and to each of
these processes
Shows in more detail the content of higher level process
Level 1 diagrams may not be needed for all level 0
processes

Oct 2, 2015

Figure 8-7
Level-1 Diagram Showing Decomposition of Process 1.0 from the Level-0 Diagram

Oct 2, 2015

Figure 8-5
Level-0 DFD of Hoosier Burgers Food Ordering System

Oct 2, 2015

Level 2 Diagrams

Shows all processes that comprise a single process on


the level 1 diagram
Shows how information moves from and to each of
these processes
Level 2 diagrams may not be needed for all level 1
processes
Correctly numbering each process helps the user
understand where the process fits into the overall
system

Oct 2, 2015

Figure 8-8
Level-1 Diagram Showing the Decomposition of Process 4.0 from the Level-0
Diagram

Oct 2, 2015

Figure 8-9
Level-2 Diagram Showing the Decomposition of Process 4.3 from the Level-1 Diagram
for Process 4.0

Oct 2, 2015

Your Turn
At this point in the process it is easy to lose track
of the big picture.

Sketch a context diagram for your project

How many processes?


What are the external sources and sinks?

Oct 2, 2015

Creating Data Flow


Diagrams

Data flow diagram components

Data Store
Process
Source/Sink
Data flow

Oct 2, 2015

Process

The work or actions performed on data so


that they are transformed, stored or
distributed

Verb phrase name, eg,


Update
Calculate
Verify

Oct 2, 2015

Data store

Data at rest, which may take the form of


many different physical representations
Eg,

Database
Files
Folder

Oct 2, 2015

Source/sink

The origin and/or destination of data,


sometimes referred to as external entities
Eg,

Clients
Employees
Bank
Inland Revenue
Oct 2, 2015

Data flow

Data in motion, moving from one place in the


system to another
Eg,

Invoice
Receipt
Enrolment form

Must be named, often has a paper form associated with


it.
Oct 2, 2015

Concepts
Data

movement
Coupling
Timing of data flow
DFD hides some Physical Characteristics
Frequency
Volume

of Data

Oct 2, 2015

Steps in Building DFDs

Build the context diagram


Create DFD fragments
Organize DFD fragments into level 0
Decompose level 0 DFDs as needed
Validate DFDs with user

Oct 2, 2015

Context Diagram
Overview of the system showing:
System

Boundaries
External Entities that interact with the
system
Major information flows between Entities
and System

Oct 2, 2015

Figure 2-2
A General Depiction of a System

Oct 2, 2015

Oct 2, 2015

Next step

What processes are represented by the


single process in the context diagram?
Capturing data from
different sources
Maintaining data stores
Producing and distributing
data to different sinks
High level descriptions of
data transformation
operations

Oct 2, 2015

DFD Layout Tips

All process names must be verb phrases


Maintain organisations viewpoint in naming
processes
Layouts often place
processes in the center
inputs from the left
outputs to the right
stores beneath the processes
Oct 2, 2015

Level - 0 diagram

A dataflow diagram that represents all of


the systems major processes, data flows,
and data stores at a high level of detail.
Often corresponds to selection of activities
on main system menu.

Oct 2, 2015

Level 0 Tips

Generally move from top to bottom, left to


right
Minimize crossed lines
Iterate as needed
The

DFD is often drawn many


times before it is finished, even with
very experienced systems analysts
Oct 2, 2015

Figure 8-5
Level-0 DFD of Hoosier Burgers Food Ordering System

Oct 2, 2015

Tips for Level 1 and Below

Sources for inputs and outputs listed at higher


level
List source and destination of data flows to
processes and stores within each DFD
Depth of DFD depends on overall system
complexity
Two processes generally dont need lower level
More than seven processes become overly
complex and difficult to read
Oct 2, 2015

Data Flow Splits and Joins

A data flow split shows where a flow is broken into its


component parts for use in separate processes
Data flow splits need not be mutually exclusive nor use
all the data from the parent flow
As we move to lower levels we become more precise
about the data flows
A data flow join shows where components are merged to
describe a more comprehensive flow

Oct 2, 2015

Balancing DFDs

Balancing involves ensuring that


information presented at one level of a
DFD is accurately represented in the next
level DFD.

Oct 2, 2015

Validating the DFD

Syntax errors
Assure correct DFD structure
Semantics errors
Assure accuracy of DFD relative to actual/desired
business processes
User walkthroughs
Role-play processes
Examine lowest level DFDs
Examine names carefully
Oct 2, 2015

Guidelines for drawing

Use a CASE tool: BPWin, Visible Analyst


Completeness

Consistency

no data flows leading to nowhere


is nesting appropriate?

Timing, never started, never stops


Iterative development
Oct 2, 2015

Summary

Requirements Structuring

Process modelling
Data flow diagrams

Deliverables

Three sets of DFDs


current physical, current logical, new logical

Oct 2, 2015

You might also like