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