SlideShare a Scribd company logo
DATA FLOW DIAGRAMS
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
Data Flow Diagram:
"a 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."
- Tom DeMarco
hence DFDs:
focus on the movement of data between
external entities and processes, and
between processes and data stores
Example Data Flow
Diagram
data store
process
external
entity
data flow
Data Flow Diagrams are:
• 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 relatively simple technique to learn
and use
Why Conduct Process
Modeling?
• 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
Sources/Sinks
(external entities)
• 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
individuals - use a noun
source
/
sink
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 - 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!
Processes
• 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
validate_input_characters
calculate_discount
process
Data Stores
• data at rest
• represents holding areas for
collection of data, processes
add or retrieve 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
data store
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 with
a PROCESS
7. Expect your diagram to be “perfect” the
first time!
Data Flow Diagram Don’ts
process
stuff
1. ‘Black Hole’
process
stuff
2. ‘It’s a Miracle’
Data Flow Diagram Don’ts
A.2
A.1
ds-1
data
4. Leave Things Unlabeled
Corollary: Labels Should
Have Meaning
Data Flow Diagram Don’ts
data store 5. Miracle data
source
data store
5. Black hole data
source
Data Flow Diagram Don’ts
6. Data Flows Unassociated With a Process
entity to
entity
data store
to entity -
or reverse
data store
to data
store
Diagramming A System
• multiple DFDs are required to
represent a system
• DFDs are created at increasing
levels of detail
Different Types of DFDs
• Context diagram
• Level-0 diagram (system diagram)
• Level-n diagram
• Primitive diagram
Context 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)
Example Context Diagram
Registration
System
student
course
selections
business
office
Registration details
schedule
Constructing a Context
Diagram
• identify and list sources/sinks
(external entities)
• identify and list inputs to and
outputs from sources/sinks
(external entities)
• create context diagram
Level-0 Diagram
• describes the overall 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 (level balancing)
• can show a single data store to
represent all data in aggregate at this
level
• can draw duplicate sources, sinks and
data stores to increase legibility
Drawing a Level-0 Diagram
• 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
Functional Decomposition
• similar to a series of more detailed maps
• iterative process of breaking the
description of a system into finer and
finer detail to create a set of charts in
which one process on a given chart is
explained in greater detail on another
chart
• 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)
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 on
lower level, or
– data flows on upper level are broken into
component pieces with components
shown on lower level
• each lower level shows greater and
greater detail
• follow numbering convention
Balancing DFDs
• conserve data from level to level -
inputs and outputs on the higher
level must appears somewhere on
the lower level
Advanced Rules
• Composite data flow on one level can be
split into its component data flows on
the next level - 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 level DFDs may add new data
flows to represent exception handling,
i.e., error messages
• May repeat data stores or sources/sink
to avoid crossing lines
Additional Guidelines
• the inputs to a process are different
from the outputs of that process
• objects in a set of DFDs have unique
names
• do not change data flow names on lower
levels unless you are decomposing a
data flow into component pieces.
• never explode a single process into
another single process. If you cannot
partition the process, then the lower
level DFD is not needed.
• expect to iterate, put down the DFD and
go back to it a few times to create
something satisfactory.
Other Questions about Lower
level 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 a
level?)
– 7 ± two is a reasonable heuristic
– may temporarily place much of the system
on a single diagram then re-draw into
separate levels
Quality Guidelines
• Completeness
– all components included & in project
dictionary
• Consistency
– between levels: balancing, leveling
• Timing considerations
– assume system never starts and never
stops
• Iterative nature
– revisions are common
• Drawing primitives (lowest level)
– when to stop?

More Related Content

Similar to __Stude_DATA FLOW DIAGRAMS.ppt

Unit-2-SE-Part-2.pptx
Unit-2-SE-Part-2.pptxUnit-2-SE-Part-2.pptx
Unit-2-SE-Part-2.pptx
RaghavGaming2
 
Extract, Transform and Load.pptx
Extract, Transform and Load.pptxExtract, Transform and Load.pptx
Extract, Transform and Load.pptx
JesusaEspeleta
 
Refer to the following figure which contains drafts of a context and l.docx
Refer to the following figure which contains drafts of a context and l.docxRefer to the following figure which contains drafts of a context and l.docx
Refer to the following figure which contains drafts of a context and l.docx
lmarie40
 
Data flow diagram
Data flow diagramData flow diagram
Data flow diagram
Mukesh Mahto
 
Se 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionary
Se 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionarySe 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionary
Se 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionary
babak danyal
 
Data stage
Data stageData stage
Data stage
Sai Kiran
 
Etl - Extract Transform Load
Etl - Extract Transform LoadEtl - Extract Transform Load
Etl - Extract Transform Load
ABDUL KHALIQ
 
Data Flow Diagram.pptx
Data Flow Diagram.pptxData Flow Diagram.pptx
Data Flow Diagram.pptx
ubaidullah75790
 
Dfd mechanics
Dfd mechanicsDfd mechanics
Dfd mechanics
pushpender pandey
 
Df dtutorial
Df dtutorialDf dtutorial
Df dtutorialAlex Ali
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
nethisip13
 
Data Flow Diagram (DFD)
Data Flow Diagram (DFD)Data Flow Diagram (DFD)
Data Flow Diagram (DFD)
Ansh Kashyap
 
Free ebooks download ! Edhole
Free ebooks download ! EdholeFree ebooks download ! Edhole
Free ebooks download ! Edhole
Edhole.com
 
Free ebooks download ! Edhole
Free ebooks download ! EdholeFree ebooks download ! Edhole
Free ebooks download ! Edhole
Edhole.com
 
Data Flow Diagrams
Data Flow DiagramsData Flow Diagrams
Data Flow Diagrams
Reetesh Gupta
 
Java Developers, make the database work for you (NLJUG JFall 2010)
Java Developers, make the database work for you (NLJUG JFall 2010)Java Developers, make the database work for you (NLJUG JFall 2010)
Java Developers, make the database work for you (NLJUG JFall 2010)
Lucas Jellema
 

Similar to __Stude_DATA FLOW DIAGRAMS.ppt (20)

Df dtutorial
Df dtutorialDf dtutorial
Df dtutorial
 
Unit-2-SE-Part-2.pptx
Unit-2-SE-Part-2.pptxUnit-2-SE-Part-2.pptx
Unit-2-SE-Part-2.pptx
 
Extract, Transform and Load.pptx
Extract, Transform and Load.pptxExtract, Transform and Load.pptx
Extract, Transform and Load.pptx
 
Refer to the following figure which contains drafts of a context and l.docx
Refer to the following figure which contains drafts of a context and l.docxRefer to the following figure which contains drafts of a context and l.docx
Refer to the following figure which contains drafts of a context and l.docx
 
Data flow diagram
Data flow diagramData flow diagram
Data flow diagram
 
Se 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionary
Se 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionarySe 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionary
Se 381 - lec 21 - 23 - 12 may09 - df-ds and data dictionary
 
Data stage
Data stageData stage
Data stage
 
Etl - Extract Transform Load
Etl - Extract Transform LoadEtl - Extract Transform Load
Etl - Extract Transform Load
 
Data Flow Diagram.pptx
Data Flow Diagram.pptxData Flow Diagram.pptx
Data Flow Diagram.pptx
 
Dfd mechanics
Dfd mechanicsDfd mechanics
Dfd mechanics
 
Dfd final
Dfd finalDfd final
Dfd final
 
DFD ppt
DFD pptDFD ppt
DFD ppt
 
Df dtutorial
Df dtutorialDf dtutorial
Df dtutorial
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
 
Data Flow Diagram (DFD)
Data Flow Diagram (DFD)Data Flow Diagram (DFD)
Data Flow Diagram (DFD)
 
Free ebooks download ! Edhole
Free ebooks download ! EdholeFree ebooks download ! Edhole
Free ebooks download ! Edhole
 
Free ebooks download ! Edhole
Free ebooks download ! EdholeFree ebooks download ! Edhole
Free ebooks download ! Edhole
 
Data Flow Diagrams
Data Flow DiagramsData Flow Diagrams
Data Flow Diagrams
 
Java Developers, make the database work for you (NLJUG JFall 2010)
Java Developers, make the database work for you (NLJUG JFall 2010)Java Developers, make the database work for you (NLJUG JFall 2010)
Java Developers, make the database work for you (NLJUG JFall 2010)
 
Chap09
Chap09Chap09
Chap09
 

Recently uploaded

Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
AmarGB2
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
BrazilAccount1
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
BrazilAccount1
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
ongomchris
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 

Recently uploaded (20)

Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 

__Stude_DATA FLOW DIAGRAMS.ppt

  • 2. 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
  • 3. Data Flow Diagram: "a 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." - Tom DeMarco hence DFDs: focus on the movement of data between external entities and processes, and between processes and data stores
  • 4. Example Data Flow Diagram data store process external entity data flow
  • 5. Data Flow Diagrams are: • 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 relatively simple technique to learn and use
  • 6. Why Conduct Process Modeling? • 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
  • 7. Sources/Sinks (external entities) • 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 individuals - use a noun source / sink
  • 8. 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 - 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!
  • 9. Processes • 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 validate_input_characters calculate_discount process
  • 10. Data Stores • data at rest • represents holding areas for collection of data, processes add or retrieve 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 data store
  • 11. 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 with a PROCESS 7. Expect your diagram to be “perfect” the first time!
  • 12. Data Flow Diagram Don’ts process stuff 1. ‘Black Hole’ process stuff 2. ‘It’s a Miracle’
  • 13. Data Flow Diagram Don’ts A.2 A.1 ds-1 data 4. Leave Things Unlabeled Corollary: Labels Should Have Meaning
  • 14. Data Flow Diagram Don’ts data store 5. Miracle data source data store 5. Black hole data source
  • 15. Data Flow Diagram Don’ts 6. Data Flows Unassociated With a Process entity to entity data store to entity - or reverse data store to data store
  • 16. Diagramming A System • multiple DFDs are required to represent a system • DFDs are created at increasing levels of detail
  • 17. Different Types of DFDs • Context diagram • Level-0 diagram (system diagram) • Level-n diagram • Primitive diagram
  • 18. Context 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)
  • 20. Constructing a Context Diagram • identify and list sources/sinks (external entities) • identify and list inputs to and outputs from sources/sinks (external entities) • create context diagram
  • 21. Level-0 Diagram • describes the overall 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 (level balancing) • can show a single data store to represent all data in aggregate at this level • can draw duplicate sources, sinks and data stores to increase legibility
  • 22. Drawing a Level-0 Diagram • 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
  • 23. Functional Decomposition • similar to a series of more detailed maps • iterative process of breaking the description of a system into finer and finer detail to create a set of charts in which one process on a given chart is explained in greater detail on another chart • 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)
  • 24. 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 on lower level, or – data flows on upper level are broken into component pieces with components shown on lower level • each lower level shows greater and greater detail • follow numbering convention
  • 25. Balancing DFDs • conserve data from level to level - inputs and outputs on the higher level must appears somewhere on the lower level
  • 26. Advanced Rules • Composite data flow on one level can be split into its component data flows on the next level - 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 level DFDs may add new data flows to represent exception handling, i.e., error messages • May repeat data stores or sources/sink to avoid crossing lines
  • 27. Additional Guidelines • the inputs to a process are different from the outputs of that process • objects in a set of DFDs have unique names • do not change data flow names on lower levels unless you are decomposing a data flow into component pieces. • never explode a single process into another single process. If you cannot partition the process, then the lower level DFD is not needed. • expect to iterate, put down the DFD and go back to it a few times to create something satisfactory.
  • 28. Other Questions about Lower level 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 a level?) – 7 ± two is a reasonable heuristic – may temporarily place much of the system on a single diagram then re-draw into separate levels
  • 29. Quality Guidelines • Completeness – all components included & in project dictionary • Consistency – between levels: balancing, leveling • Timing considerations – assume system never starts and never stops • Iterative nature – revisions are common • Drawing primitives (lowest level) – when to stop?