| |
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?
£
| |£
ÿ
ÿ
m
| |