Upload
ashwini-bapu
View
54
Download
0
Embed Size (px)
Citation preview
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 1/33
DATA FLOW DIAGRAMS
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 2/33
What is a DFD
• In the late 1970s data-flow diagrams (DFDs)
were introduced and popularized for
structured analysis and design (Gane and
Sarson 1979). DFDs show the flow of data
from external entities into the system, showed
how the data moved from one process to
another, as well as its logical storage. Figure1 presents an example of a DFD using the
Gane and Sarson notation. There are only
four symbols:
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 3/33
Data Flow Diagrams
• Squares representing external entities, which are sources
or destinations of data.
• Rounded rectangles representing processes, which take
data as input, do something to it, and output it.
• Arrows representing the data flows, which can either be
electronic data or physical items.
• Open-ended rectangles representing data stores,
including electronic stores such as databases or XML
files and physical stores such as or filing cabinets or
stacks of paper.
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 4/33
Systems Analysis• Focus is the logical view 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
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 5/33
Data Flow Diagram:
"a network representation of a system.The system may be automated, manual,or mixed. The DFD portrays the systemin terms of its component pieces, with all
interfaces among the componentsindicated."
- Tom DeMarco
hence DFDs:focus on the movement of data betweenexternal entities and processes, andbetween processes and data stores
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 6/33
Data Flow Diagrams
• n the late 1970s data-flow diagrams (DFDs)
were introduced and popularized for
structured analysis and design (Gane andSarson 1979). DFDs show the flow of data
from external entities into the system,
showed how the data moved from oneprocess to another, as well as its logical
storage. Figure 1 presents an example of a
DFD using the Gane and Sarson
notation. There are onl four s mbols:
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 7/33
Example Data FlowDiagram
data store
process
externalentity
data flow
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 8/33
Sources/Sinks(external entities)
• Any class of people, anorganization, or anothersystem which existsoutside the system youare studying.
• Form the boundaries of the system.
• The system and external
entities exchange data inthe form of data flows.
• Must be named, titlespreferred to names of
individuals - use a noun
source/
sink
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 9/33
Data Flows • data in motion• marks movement 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 - anoun
• do not show control flow! Control flowis easy to identify- a signal with onlyone byte - (on/off).
• HINT: if you can't name it: either it'scontrol flow, doesn't exist or you need
to get more information!
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 10/33
Processes • transform incoming data
flows into outgoing dataflows
• represent with a bubble orrounded square
• name with a strongVERB/OBJECTcombination; examples:
create_exception_reportvalidate_input_characters
calculate_discount
process
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 11/33
Data Stores
• data at rest
• represents holding areas forcollection of data, processesadd or retrieve data fromthese stores
• name using a noun (do notuse „file‟)
• only processes are connectedto data stores
• show net flow of databetween data store andprocess. For instance, whenaccess a DBMS, show onlythe result flow, not the
request
data store
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 12/33
Data Flow Diagram Don’ts
processstuff
1. „Black Hole‟
processstuff
2. „It‟s a Miracle‟
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 13/33
Data Flow Diagram Don’ts
A.2
A.1
ds-1
data
4. Leave Things Unlabeled
Corollary: Labels Should
Have Meaning
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 14/33
Data Flow Diagram Don’ts
data store 5. Miracle datasource
data store5. Black hole datasource
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 15/33
Data Flow Diagram Don’ts
6. Data Flows Unassociated With a Process
entity toentitydata store
to entity -or reverse
data storeto datastore
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 16/33
Data Flow Diagram Don’ts
1. BLACK HOLES
2. MIRACLES
3. Let it get too COMPLEX: 7 ± 2 processes
4. Leave things UNLABELED
(corollary: labels should have meaning)5. Data stores that are “SOURCES” or
“SINKS”
6. Data flows that are UNASSOCIATED witha PROCESS
7. Expect your diagram to be “perfect” the
first time!
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 17/33
Now you try a DFD
• Attempt a DFD of your own – draw a DFD
for the enrollment process at CFBC. Draw it
on paper.
• Review your DFD Do’s and Don’ts to make
sure you are not violating the rules.
• Then use Visio or Microsoft Draw Toolsand draw the DFD you jotted down.
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 18/33
Data Flow Diagrams are:
• Used to perform structured analysisto 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 relatively simple technique to learn
and use
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 19/33
Why Conduct Process
Modeling?• Understand components of current logical or physicalsystem for purpose of rebuildingin a different physicalform/technology, possibly withsome changed functionality
• Find inefficiencies in currentsystem
• Re-engineer current system
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 20/33
Diagramming A System
• multiple DFDs are required torepresent a system
• DFDs are created at increasing
levels of detail
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 21/33
Different Types of DFDs
• Context diagram
• Level-0 diagram (system diagram)
• Level-n diagram
• Primitive diagram
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 22/33
Context Diagram
• defines the scope of the system byidentifying the system boundary
• contains:
–one process (which represents theentire system)
–all sources/sinks (external
entities)–data flows linking the process to
the sources and sinks (externalentities)
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 23/33
Example Context Diagram
RegistrationSystem
studentcourseselections
businessoffice
Registration detailsschedule
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 24/33
Constructing a ContextDiagram
• identify and list sources/sinks(external entities)
• identify and list inputs to andoutputs from sources/sinks(external entities)
• create context diagram
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 25/33
Level-0 Diagram
• describes the overall processing of thesystem
• show one process for each majorprocessing step or functional
requirement• data flows from the context appear on
system diagram also (level balancing)
• can show a single data store torepresent all data in aggregate at thislevel
• can draw duplicate sources, sinks and
data stores to increase legibility
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 26/33
Drawing a Level-0 Diagram
• list the major data stores
• list major business steps
• draw a segment for each businessstep
• assemble into single DFD
• re-organize until satisfied• number processes
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 27/33
Functional Decomposition
• similar to a series of more detailed maps
• iterative process of breaking thedescription of a system into finer andfiner detail to create a set of charts inwhich one process on a given chart isexplained in greater detail on anotherchart
• referred to as exploding, partitioning, or
leveling• must use your judgment to decide what
goes on each level
• show error and exception handling on
lower levels (if at all)
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 28/33
Lower Level Diagrams • explode the processes shown on the
level-0 diagram• each process is represented by its own
DFD
• balance data
–data flows on upper level appear onlower level, or
–data flows on upper level are broken into
component pieces with componentsshown on lower level
• each lower level shows greater andgreater detail
• follow numbering convention
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 29/33
Balancing DFDs
• conserve data from level to level -inputs and outputs on the higher
level must appears somewhere onthe lower level
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 30/33
Advanced Rules
• Composite data flow on one level can besplit into its component data flows onthe next level - but new data cannot beadded 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 level DFDs may add new data
flows to represent exception handling,i.e., error messages
• May repeat data stores or sources/sinkto avoid crossing lines
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 31/33
Additional Guidelines • the inputs to a process are different
from the outputs of that process• objects in a set of DFDs have uniquenames
• do not change data flow names on lower
levels unless you are decomposing adata flow into component pieces.• never explode a single process into
another single process. If you cannot
partition the process, then the lowerlevel DFD is not needed.• expect to iterate, put down the DFD and
go back to it a few times to createsomething satisfactory.
h i b
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 32/33
Other Questions about Lowerlevel diagrams
1. How deep? (how many levels?)– if the process has only one input or one
output, probably cannot partition further;
– can you describe the process in English in
about 1/2 page?
2. How broad? (how many processes on alevel?)
– 7 ± two is a reasonable heuristic– may temporarily place much of the system
on a single diagram then re-draw intoseparate levels
5/16/2018 Dfd 01(Downloads) - slidepdf.com
http://slidepdf.com/reader/full/dfd-01downloads 33/33
Quality Guidelines
• Completeness
–all components included & in projectdictionary
• Consistency
–between levels: balancing, leveling
• Timing considerations
–assume system never starts and neverstops
• Iterative nature– revisions are common
• Drawing primitives (lowest level)
when to stop?