Data Flow Diagrams
description
Transcript of Data Flow Diagrams
![Page 1: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/1.jpg)
Data Flow Diagrams
SE205 Software Engineering
![Page 2: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/2.jpg)
Apr 20, 2023
Iteration 2: Functional delivery in context
![Page 3: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/3.jpg)
Apr 20, 2023
Functional delivery
Deliver to the client a system that meets most of their needs
Usable Stable
![Page 4: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/4.jpg)
Apr 20, 2023
![Page 5: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/5.jpg)
Apr 20, 2023
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
![Page 6: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/6.jpg)
Apr 20, 2023
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
![Page 7: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/7.jpg)
Apr 20, 2023
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
Your Software Process
A Base Software Process(e.g. XP, RUP, DSDM, FDD, …)
Principles and Practices ofAgile Modeling (AM)
Other Techniques(e.g. Database refactoring)
Copyright 2001-2005 Scott W. Ambler
![Page 8: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/8.jpg)
Apr 20, 2023
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!
Value
Effort
Ideal Realistic
Copyright 2005 Scott W. Ambler
Just Barely Good Enough
![Page 9: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/9.jpg)
Apr 20, 2023
The Core of AMYou Need to Adopt at Least the Core
Core Principles Assume Simplicity Embrace Change Enabling the Next Effort is
Your Secondary Goal Incremental Change Model With a Purpose Multiple Models Maximize Stakeholder
Investment Quality Work Rapid Feedback Software Is Your Primary Goal Travel Light
Core Practices Active Stakeholder Participation Apply the Right Artifact(s) Collective Ownership Create Several Models in Parallel Create Simple Content Depict Models Simply Display Models Publicly Iterate to Another Artifact Model in Small Increments Model With Others Prove it With Code Single Source Information Use the Simplest Tools
![Page 10: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/10.jpg)
Apr 20, 2023
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
![Page 11: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/11.jpg)
Apr 20, 2023
Agile Modelswww.agilemodeling.com/artifacts/
Conceptual Domain Modeling
- Class Responsibility Collaborator (CRC) Cards- Logical Data Model (LDM)- Object Role Model (ORM) Diagram- Robustness Diagram- UML Class Diagram
Usage Modeling- Acceptance Tests- Essential Use Cases- Features- System Use Cases- Usage scenario- User Stories- UML Use Case Diagram
Supplementary Requirements Modeling
- Business Rules- Conceptual Cases- Constraints- Glossary- Technical Requirements
User Interface Development
- Essential User Interface Prototype- User Interface Flow Diagram- User Interface Prototype
Architectural Modeling
- Change Cases- Free Form Diagram- Security Threat Modeling- UML Component Diagram- UML Deployment Diagram- UML Package Diagram
Dynamic Object Modeling
- UML Communication Diagram- UML Composite Structure Diagram- UML Interaction Overview Diagram- UML Sequence Diagram- UML State Machine Diagram- UML Timing Diagram
Process Modeling
- Data Flow Diagram (DFD)- Flow Chart- UML Activity Diagram- Value Stream Map- Workflow diagram
Detailed Structural Modeling
- External Interface (EI) Specification- Physical Data Model (PDM)- UML Class Diagram- UML Object Diagram
Copyright 2003-2005Scott W. Ambler
![Page 12: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/12.jpg)
Apr 20, 2023
Agile Documentation Agile documents:
Maximize stakeholder investment Are concise Fulfill a purpose Describe information that is less likely to change Describe “good things to know” Have a specific customer and facilitate the work efforts of that customer Are sufficiently accurate, consistent, and detailed Are sufficiently indexed
Valid reasons to document: 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
![Page 13: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/13.jpg)
Data Flow Diagrams
![Page 14: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/14.jpg)
Apr 20, 2023
![Page 15: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/15.jpg)
Apr 20, 2023
Business Process mapping - XSOL
![Page 16: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/16.jpg)
Apr 20, 2023
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
![Page 17: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/17.jpg)
Apr 20, 2023
Figure 2-2A General Depiction of a System
![Page 18: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/18.jpg)
Apr 20, 2023
Figure 2-4A Fast Food Restaurant as a System
![Page 19: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/19.jpg)
Apr 20, 2023
Figure 2-7A Fast Food Restaurant’s Customer Order Information System Depicted in a Data Flow
Diagram
![Page 20: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/20.jpg)
Apr 20, 2023
Process Modeling
Graphically Represents Functions or Processes
Which Capture Manipulate Store Distribute data between a system, its environment
and its components
![Page 21: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/21.jpg)
Apr 20, 2023
Deliverables
Set of data flow diagrams showing:
Scope of systemExisting system modeledNew system modeled
![Page 22: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/22.jpg)
Apr 20, 2023
Key Definitions
Logical process models describe processes without suggesting how they are conducted
Physical models include information about how the processes are implemented
![Page 23: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/23.jpg)
Apr 20, 2023
Deliverables - ideal
1. Context data flow diagram [DFD] Shows system scope
2. DFD/s of current physical system Specifies people and technologies used
3. DFD/s of current logical system Show data processing functions
4. DFD/s of new logical system5. Description of each DFD component
Data repository
![Page 24: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/24.jpg)
Apr 20, 2023
Data Flow Diagram Symbols
![Page 25: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/25.jpg)
Apr 20, 2023
Process
The work or actions performed on data so that they are transformed, stored or distributed Verb phrase name, eg,
Update Calculate Verify
![Page 26: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/26.jpg)
Apr 20, 2023
Data store
Data at rest, which may take the form of many different physical representationsEg, Database Files Folder
![Page 27: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/27.jpg)
Apr 20, 2023
Source/sink
The origin and/or destination of data, sometimes referred to as external entities
Eg, Clients Employees Bank Inland Revenue
![Page 28: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/28.jpg)
Apr 20, 2023
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.
![Page 29: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/29.jpg)
Apr 20, 2023
Concepts
Data movementCouplingTiming of data flow
DFD hides some Physical Characteristics Frequency Volume of Data
![Page 30: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/30.jpg)
Apr 20, 2023
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
![Page 31: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/31.jpg)
Apr 20, 2023
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
![Page 32: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/32.jpg)
Apr 20, 2023
Figure 8-4Context Diagram of Hoosier Burger’s Food Ordering System
• One process only
• Single process (0) represents entire system
![Page 33: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/33.jpg)
Apr 20, 2023
![Page 34: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/34.jpg)
Apr 20, 2023
Level 0 Diagram
Shows all the processes that comprise the overall system
Shows how information moves from and to each process
Adds data stores
![Page 35: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/35.jpg)
Apr 20, 2023
Figure 8-5Level-0 DFD of Hoosier Burger’s Food Ordering System
![Page 36: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/36.jpg)
Apr 20, 2023
![Page 37: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/37.jpg)
Apr 20, 2023
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
![Page 38: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/38.jpg)
Apr 20, 2023
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
![Page 39: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/39.jpg)
Apr 20, 2023
Figure 8-7Level-1 Diagram Showing Decomposition of Process 1.0 from the Level-0 Diagram
![Page 40: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/40.jpg)
Apr 20, 2023
Figure 8-5Level-0 DFD of Hoosier Burger’s Food Ordering System
![Page 41: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/41.jpg)
Apr 20, 2023
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
![Page 42: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/42.jpg)
Apr 20, 2023
Figure 8-8Level-1 Diagram Showing the Decomposition of Process 4.0 from the Level-0
Diagram
![Page 43: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/43.jpg)
Apr 20, 2023
Figure 8-9Level-2 Diagram Showing the Decomposition of Process 4.3 from the Level-1 Diagram
for Process 4.0
![Page 44: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/44.jpg)
Apr 20, 2023
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?
![Page 45: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/45.jpg)
Creating Data Flow Diagrams
![Page 46: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/46.jpg)
Apr 20, 2023
Data flow diagram components
Data Store Process Source/Sink Data flow
![Page 47: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/47.jpg)
Apr 20, 2023
Process
The work or actions performed on data so that they are transformed, stored or distributed Verb phrase name, eg,
Update Calculate Verify
![Page 48: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/48.jpg)
Apr 20, 2023
Data store
Data at rest, which may take the form of many different physical representationsEg, Database Files Folder
![Page 49: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/49.jpg)
Apr 20, 2023
Source/sink
The origin and/or destination of data, sometimes referred to as external entities
Eg, Clients Employees Bank Inland Revenue
![Page 50: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/50.jpg)
Apr 20, 2023
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.
![Page 51: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/51.jpg)
Apr 20, 2023
Concepts
Data movementCouplingTiming of data flow
DFD hides some Physical Characteristics Frequency Volume of Data
![Page 52: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/52.jpg)
Apr 20, 2023
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
![Page 53: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/53.jpg)
Apr 20, 2023
Context Diagram
Overview of the system showing:
System Boundaries External Entities that interact with the
system Major information flows between Entities
and System
![Page 54: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/54.jpg)
Apr 20, 2023
Figure 2-2A General Depiction of a System
![Page 55: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/55.jpg)
Apr 20, 2023
![Page 56: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/56.jpg)
Apr 20, 2023
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
![Page 57: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/57.jpg)
Apr 20, 2023
DFD Layout Tips
All process names must be verb phrases Maintain organisation’s viewpoint in naming
processes Layouts often place
processes in the center inputs from the left outputs to the right stores beneath the processes
![Page 58: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/58.jpg)
Apr 20, 2023
Level - 0 diagram
A dataflow diagram that represents all of the system’s major processes, data flows, and data stores at a high level of detail.
Often corresponds to selection of activities on main system menu.
![Page 59: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/59.jpg)
Apr 20, 2023
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
![Page 60: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/60.jpg)
Apr 20, 2023
Figure 8-5Level-0 DFD of Hoosier Burger’s Food Ordering System
![Page 61: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/61.jpg)
Apr 20, 2023
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 don’t need lower
level More than seven processes become overly
complex and difficult to read
![Page 62: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/62.jpg)
Apr 20, 2023
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
![Page 63: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/63.jpg)
Apr 20, 2023
Balancing DFD’s
Balancing involves ensuring that information presented at one level of a DFD is accurately represented in the next level DFD.
![Page 64: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/64.jpg)
Apr 20, 2023
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
![Page 65: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/65.jpg)
Apr 20, 2023
Guidelines for drawing
Use a CASE tool: BPWin, Visible Analyst Completeness
no data flows leading to nowhere Consistency
is nesting appropriate? Timing, never started, never stops Iterative development
![Page 66: Data Flow Diagrams](https://reader036.fdocuments.us/reader036/viewer/2022062408/56813aad550346895da2a863/html5/thumbnails/66.jpg)
Apr 20, 2023
Summary
Requirements Structuring Process modelling Data flow diagrams
Deliverables Three sets of DFDs current physical, current logical, new logical