You are on page 1of 29

|  | 

   
‡ Focus is the R Riew of the
system, not the physical
‡ ³What´ the system is to accomplish,
not how

‡ Tools:
± data flow diagrams
± data dictionary
± process specification
± entity-relationship diagrams
||
0a network representation of a system.
The system may be automated, manual,
or mixed. The DFD portrays the system
in terms of its component pieces, with all
interfaces among the components
indicated.0
- Tom DeMarco
hence DFDs:
focus on the ` ` of data between
external entities and processes, and
between processes and data stores
£ |
|
data store

data flow process

external
entity
|| 

‡ Used to perform structured analysis


to determine logical requirements
‡ A graphical tool, useful for
communicating with users,
managers, and other IS personnel
‡ Useful for analyzing existing as well
as proposed systems
‡ A relatiely simple technique to learn
and use
   

!
‡ Understand components of
current logical or physical
system for purpose of rebuilding
in a different physical
form/technology, possibly with
some changed functionality
‡ Find inefficiencies in current
system
‡ Re-engineer current system
 " #
$  %
‡ Any class of people, an
organization, or another
system which exists
outside the system you
are studying.
‡ Form the boundaries of 
the system. "
‡ The system and external #
entities exchange data in
the form of data flows.
‡ Must be named, titles
preferred to names of
indiiduals - use a noun
|
‡ data in motion
‡ marks moement of data through the
system - a pipeline to carry data
‡ connects the processes, external
entities and data stores
‡ Unidirectional
‡ originate OR end at a process (or both)
‡ name as specifically as possible -
reflect the composition of the data - a
noun
‡ do not show control flow! Control flow
is easy to identify- a signal with only
one byte - (on/off).
‡ HINT: if you can't name it: either it's
control flow, doesn't exist or you need
to get more information!
 
‡ transform incoming data
flows into outgoing data
flows
‡ represent with a bubble or
rounded square
‡ name with a strong
VERB/OBJECT 
combination; examples:
create_exception_report
alidate_input_characters
calculate_discount
| 
‡ data at rest
‡ represents holding areas for
collection of data, processes
add or retriee data from
these stores
‡ name using a noun (do not
use µfile¶)  
‡ only processes are connected
to data stores
‡ show net flow of data
between data store and
process. For instance, when
access a DBMS, show only
the result flow, not the
request
|||&
†. BLACK HOLES
2. MIRACLES
3. Let it get too COMPLEX: 7 2 processes
4. Leae things UNLABELED
(corollary: labels should hae meaning)
5. Data stores that are ³SOURCES´ or
³SINKS´
6. Data flows that are UNASSOCIATED with
a PROCESS
ù 
  `    
  `
|||&

process †. µBlack Hole¶


stuff

process 2. µIt¶s a Miracle¶


stuff
|||&

ds-†

A.†

A.2 data

4. Leae Things Unlabeled


Corollary: Labels Should
Hae Meaning
|||&

data store 5. Miracle data


source

5. Black hole data


data store source
|||&
6. Data Flows Unassociated With a Process

entity to
data store entity
to entity -
or reerse

data store
to data
store
|  

‡ multiple DFDs are required to


represent a system
‡ DFDs are created at increasing
leels of detail
|''  '||

‡ Context diagram

‡ Leel-0 diagram (system diagram)

‡ Leel- diagram

‡ Primitie diagram
 |

‡ defines the scope of the system by


identifying the system boundary
‡ contains:
± one process (which represents the
entire system)
± all sources/sinks (external
entities)
± data flows linking the process to
the sources and sinks (external
entities)
£  |

 
 


 
 


( 
''
  
|

‡ identify and list sources/sinks


(external entities)
‡ identify and list inputs to and
outputs from sources/sinks
(external entities)
‡ create context diagram
)*+|
‡ describes the oerall processing of the
system
‡ show one process for each major
processing step or functional
requirement
‡ data flows from the context appear on
system diagram also (leel balancing)
‡ can show a single data store to
represent all data in aggregate at this
leel
‡ can draw duplicate sources, sinks and
data stores to increase legibility
|)*+|

‡ list the major data stores


‡ list major business steps
‡ draw a segment for each business
step
‡ assemble into single DFD
‡ re-organize until satisfied
‡ number processes
| 
‡ similar to a series of more detailed maps
‡    process of breaking the
description of a system into finer and
finer detail to create a set of charts in
which    on a gien chart is
explained in greater detail on another
chart
‡ referred to as exploding, partitioning, or
leeling
‡ must use your judgment to decide what
goes on each leel
‡ show error and exception handling on
lower leels (if at all)
)|
‡ explode the processes shown on the
leel-0 diagram
‡ each process is represented by its own
DFD
‡ balance data
± data flows on upper leel appear on
lower leel, or
± data flows on upper leel are broken into
component pieces with components
shown on lower leel
‡ each lower leel shows greater and
greater detail
‡ follow numbering conention
ü||

‡ consere data from leel to leel -


inputs and outputs on the higher
leel must appears somewhere on
the lower leel
) 
‡ Composite data flow on one leel can be
split into its component data flows on
the next leel - but new data cannot be
added and all data in the composite
must be included in the sub-flows
‡ The inputs to a process must be
sufficient to produce the outputs.
‡ Lowest leel DFDs may add new data
flows to represent exception handling,
i.e., error messages
‡ May repeat data stores or sources/sink
to aoid crossing lines

‡ the inputs to a process are ë 
from the outputs of that process
‡ objects in a set of DFDs hae unique
names
‡ do not change data flow names on lower
leels unless you are decomposing a
data flow into component pieces.
‡ neer explode a single process into
another single process. If you cannot
partition the process, then the lower
leel DFD is not needed.
‡ expect to iterate, put down the DFD and
go back to it a few times to create
something satisfactory.
,  (
)
†. How deep? (how many leels?)
± if the process has only one input or one
output, probably cannot partition further;
± can you describe the process in English in
about †/2 page?
2. How broad? (how many processes on a
leel?)
± 7 ± two is a reasonable heuristic
± may temporarily place much of the system
on a single diagram then re-draw into
separate leels
, 
‡ Completeness
± all components included & in project
dictionary
‡ Consistency
± between leels: balancing, leeling
‡ Timing considerations
± assume system neer starts and neer
stops
‡ Iteratie nature
± reisions are common
‡ Drawing primities (lowest leel)
± when to stop?

You might also like