dfd ppt
DESCRIPTION
asdTRANSCRIPT
![Page 1: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/1.jpg)
Data Flow Diagrams
A structured analysis technique that employs a set of visual representations of the data that moves through the organization, the paths through which the data moves, and the processes that produce, use, and transform data.
![Page 2: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/2.jpg)
2
Why Data Flow Diagrams?
• Can diagram the organization or the system
• Can diagram the current or proposed situation
• Can facilitate analysis or design
• Provides a good bridge from analysis to design
• Facilitates communication with the user at all stages
![Page 3: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/3.jpg)
Types of DFDs
• Current - how data flows now
• Proposed - how we’d like it to flow
![Page 4: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/4.jpg)
Levels of Detail
• Context level diagram - shows just the inputs and outputs of the system
• Level 0 diagram - decomposes the process into the major subprocesses and identifies what data flows between them
• Child diagrams - increasing levels of detail
• Primitive diagrams - lowest level of decomposition
![Page 5: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/5.jpg)
• Write your Narrative of Existing System/Process Description
• Identify important elements• Create Level 0 Diagram (Existing)• Create Context Level Diagram
(Existing)• Create Level 0 Diagram (Proposed)• Create Context Level Diagram
(Proposed)
Recommended Progression
![Page 6: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/6.jpg)
Four Basic Symbols
Source/Sink
Data Flow
#
Process# Data Store
![Page 7: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/7.jpg)
Context Level Diagram
• Just one process
• All sources and sinks that provide data to or receive data from the process
• Major data flows between the process and all sources/sinks
• No data stores
![Page 8: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/8.jpg)
Running Example
Course Registration: Context level Diagram
0
CourseRegistration
System
Student
Registrar
Professor
Class Request
Payment
Receipt
Student Schedule
Class roster
EnrollmentStatistics
![Page 9: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/9.jpg)
Level 0 Diagram
• Process is “exploded”
• Sources, sinks, and data flows repeated from context diagram
• Process broken down into subprocesses, numbered sequentially
• Lower-level data flows and data stores added
![Page 10: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/10.jpg)
Running Example
Course Registration: Current Level 0 Diagram
Student RegistrarProfessor
1.0
RegisterStudent for
Course
D1 Student Class Records
D2 Student Payments
2.0
CollectStudent Fee
Payment
3.0
ProduceStudent
Schedule
4.0
ProduceClassRoster
5.0
ProduceEnrollment
Report
PaymentInformation
Student andCourse Data
StudentClass Record
Student Class Record Student Class Record
Student Class Record
Student Schedule Class RosterEnrollmentStatistics
StudentClass Request
Receipt
Payment
![Page 11: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/11.jpg)
Child Diagrams
• “Explode” one process in level 0 diagram
• Break down into lower-level processes, using numbering scheme
• Must include all data flow into and out of “parent” process in level 0 diagram
• Don’t include sources and sinks
• May add lower-level data flows and data stores
![Page 12: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/12.jpg)
Running Example
Course Registration: Current Child Diagram
1.2
Checkfor
Availability
1.1
CheckPrerequisites
Met
1.3
EnrollStudentin Class
D1 Student Class RecordsD5 Course CatalogueD4 Student Transcripts
D3 Semester Schedule
Class Request Valid ClassRequest
Feasible ClassRequest
Available Seats
Available Seats
StudentRecord
Course RecordStudent
and CourseData
![Page 13: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/13.jpg)
Another Example
Perfect Pizza: Context Level Diagram
0
CustomerOrder
System
Customer
Cook
Management
Phone Number
Customer Order
Customer Info
DeliveryInformation
WeeklyReport
OrderInformation
DeliveryPerson
![Page 14: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/14.jpg)
Another Example
Perfect Pizza: Current Level 0 Diagram
1.0Find
CustomerRecord
7.0Print
WeeklyTotals
5.0Add
CustomerRecord
2.0Take
CustomerOrder
3.0Print
DeliveryOrder
Customer
CustomerInfo
PhoneNumber
Customer Order
D1 Customer Master
CustomerRecord
CustomerRecord
CustomerInformation
D2 Customer HistoryD3 Sales Records
SalesInformation
OrderInformation
CustomerHistory
DeliveryInformation
Cook
Order Information
Management
Sales Information details
Weekly Report
DeliveryPerson
![Page 15: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/15.jpg)
Data Flow Diagramming Rules
• Processes– a process must have at least one input– a process must have at least one output– a process name (except for the context level
process) should be a verb phrase• usually three words: verb, modifier, noun
• on a physical DFD, could be a complete sentence
![Page 16: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/16.jpg)
1.0
GatherData
2.0
CompileStatistics
Demographic Data
3.0
AnalyzeResponses
SurveyResponses
FinalReport
![Page 17: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/17.jpg)
2.0
VisaAuthorization
2.0
TotalRecords
2.0
QAProcess
2.0
CheckCustomer
Credit
2.0
ComputeTotalSales
2.0
InspectFinishedProducts
BETTER
BETTER
BETTER
![Page 18: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/18.jpg)
Data Flow Diagramming Rules
• Data stores and sources/sinks– no data flows between two data stores; must be
a process in between– no data flows between a data store and a source
or sink; must be a process in between– no data flows between two sources/sinks
• such a data flow is not of interest, or
• there is a process that moves that data
![Page 19: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/19.jpg)
2.1
StoreCustomer
Data
CustomerInformation
D1 Customer Data
D2 Customer Preferences
CustomerData
CustomerPreferences
2.1
StoreCustomer
Data
CustomerInformation
D1 Customer Data
D2 Customer Preferences
CustomerData Customer
Preferences
![Page 20: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/20.jpg)
2.1
StoreCustomer
Data
CustomerInformation
D1 Customer Data
D2 Customer Preferences
CustomerData
CustomerPreferences
2.1
StoreCustomer
Data
CustomerInformation
D1 Customer Data
D2 Customer Preferences
CustomerData
CustomerPreferences
2.2
ExtractCustomer
Preferences
CustomerData
![Page 21: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/21.jpg)
D1 Customer Data
CustomerData
2.0
StoreCustomer
Data
D1 Customer Data
CustomerData
Customer
CustomerInformation
Customer
![Page 22: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/22.jpg)
0
MedicalBillingSystem
Doctor
Patient
Diagnosis
ServiceInformation
Bill
![Page 23: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/23.jpg)
Data Flow Diagramming Rules
• Data flows– data flows are unidirectional– a data flow may fork, delivering exactly the same
data to two different destinations– two data flows may join to form one only if the
original two are exactly the same– no recursive data flows– data flows (and data stores and sources/sinks) are
labelled with noun phrases
![Page 24: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/24.jpg)
2.0
TotalDailySales
1.0
TakeCustomer
Order
3.0
PrintDelivery
Instructions
CustomerOrder
OrderInformation
OrderTotal
2.0
TotalDailySales
1.0
TakeCustomer
Order
3.0
PrintDelivery
Instructions
OrderInformation
OrderTotal
![Page 25: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/25.jpg)
2.0
LookupCustomer
Record
1.0
TakeCustomer
Order
3.0
PrintDelivery
Instructions
CustomerOrder
CustomerAddress
CustomerInformation
2.0
LookupCustomer
Record
1.0
TakeCustomer
Order
3.0
PrintDelivery
Instructions
CustomerOrder
CustomerAddress
![Page 26: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/26.jpg)
1.0
CalculateWeekly
Sales
DailySales
CumulativeTo-Date
Sales
![Page 27: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/27.jpg)
Data Flow Diagramming Guidelines
• The inputs to a process are different from the outputs
• Every object in a DFD has a unique name
![Page 28: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/28.jpg)
1.0
ValidateCustomer
Data
1.0
ValidateCustomer
Data
CustomerData
CustomerData
ValidCustomer
Data
CustomerData
![Page 29: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/29.jpg)
2.0
TakeCustomer
Order
1.0
GetCustomer
Data
3.0
ProcessCustomer
Order
CustomerData
CustomerData
Order
2.0
TakeCustomer
Order
1.0
GetCustomer
Data
3.0
ProcessCustomer
Order
CustomerData
Order
![Page 30: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/30.jpg)
1.0
GetCustomer
Data
2.0
TakeCustomer
Order
3.0
ValidateCustomer
Data
CustomerData
Only if these are exactly the same
CustomerData
![Page 31: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/31.jpg)
Data Flow Diagramming Guidelines
• A data flow at one level may be decomposed at a lower level
• All data coming into and out of a process must be accounted for
• On low-level DFDs, new data flows can be added to represent exceptional situations
![Page 32: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/32.jpg)
1.0
GenerateReport
SalesInformation
SalesReport
1.2
PrintInventory
Report
1.1
PrintSales
Report
SalesInformation
InventoryInformation
SalesReport
InventoryReport
InventoryInformation
InventroyReport
![Page 33: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/33.jpg)
Data Elements
• Indivisible pieces of data
• Data flows and data stores are made up of data elements
• Like attributes on an ER diagram
• The data elements of a data flow flowing in or out of a data store must be a subset of the data elements in that data store
![Page 34: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/34.jpg)
1.0
CalculateGrossPay
D2 Employee Time File
Employee
Employee
D1 Employee Master
D3 Check Reconciliation
D1 Employee Master
2.0
CalculateWithholding
Amount
3.0
CalculateNetPay
4.0
PrintEmployeePaycheck
HoursWorked
EmployeeTime
Record
GrossPay
Withholding
NetPay
EmployeeRecord
EmployeeRecord
CheckReconciliation
Record EmployeePaycheck
![Page 35: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/35.jpg)
1.0
CalculateGrossPay
D2 Employee Time File
Employee
Employee
D1 Employee Master
D3 Check Reconciliation
D1 Employee Master
2.0
CalculateWithholding
Amount
3.0
CalculateNetPay
4.0
PrintEmployeePaycheck
HoursWorked
EmployeeTime
Record
GrossPay
WithholdingAmount
NetPay
EmployeeRecord
EmployeeRecord
CheckReconciliation
Record
EmployeePaycheck
5.0
CreateTime
RecordEmployee
Time Record
Number ofDependents
GrossPay
D4Withholding Tables
WithholdingRates
6.0
ReconcilePay
Check
PaycheckInformation
GrossPay
WithholdingAmount
![Page 36: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/36.jpg)
DFDs and ERDs
• DFDs and ERDs are both used to model systems, but they show two very different perspectives on the system
• A DFD shows what the system does as well as the data that the system manipulates
• An ERD shows only the data that the system manipulates.
![Page 37: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/37.jpg)
DFDs and ERDs (cont.)
• Entities on an ERD often (but not always) correspond to data stores on a DFD
• Attributes on an ERD usually correspond to data elements (listed in the data dictionary) that make up the data store and data flows on a DFD
• Relationships on an ERD do not correspond to processes on a DFD.
• Sources and sinks on a DFD usually do not show up as entities on an ERD
![Page 38: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/38.jpg)
Example DFD and ERD
Customer
CookInventory
Processing
1.0
TakeOrder
2.0
Convert Orderto CookingInstructions
3.0
Convert Orderto Ingredient
List
ProcessedOrder
D1 Order Log
CookingInstructions
Ingredients
Correct ERD
DFDOrder
Item
Ingredient
CookingInstructions
Contains
Includes
Requires
OrderId
Date
Time
ItemId ItemName
StepId Description
Description
ItemQuantity
IngredientQuantity
Index
![Page 39: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/39.jpg)
Create an ERD and Map the ERD into RelationPerfect Pizza: Current Level 0 Diagram
1.0Find
CustomerRecord
7.0Print
WeeklyTotals
5.0Add
CustomerRecord
2.0Take
CustomerOrder
3.0Print
DeliveryOrder
Customer
CustomerInfo
PhoneNumber
Customer Order
D1 Customer Master
CustomerRecord
CustomerRecord
CustomerInformation
D2 Customer HistoryD3 Sales Records
SalesInformation
OrderInformation
CustomerHistory
DeliveryInformation
Cook
Order Information
Management
Sales Information details
Weekly Report
DeliveryPerson
![Page 40: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/40.jpg)
1.0
CalculateGrossPay
D2 Employee Time File
Employee
Employee
D1 Employee Master
D3 Check Reconciliation
D1 Employee Master
2.0
CalculateWithholding
Amount
3.0
CalculateNetPay
4.0
PrintEmployeePaycheck
HoursWorked
EmployeeTime
Record
GrossPay
WithholdingAmount
NetPay
EmployeeRecord
EmployeeRecord
CheckReconciliation
Record
EmployeePaycheck
5.0
CreateTime
RecordEmployee
Time Record
Number ofDependents
GrossPay
D4Withholding Tables
WithholdingRates
6.0
ReconcilePay
Check
PaycheckInformation
GrossPay
WithholdingAmount
Create an ERD and Map the ERD into RelationPayroll Management System: Current Level 0 Diagram
![Page 41: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/41.jpg)
Create an ERD and Map the ERD into RelationsCourse Registration: Current Level 0 Diagram
Student RegistrarProfessor
1.0
RegisterStudent for
Course
D1 Student Class Records
D2 Student Payments
2.0
CollectStudent Fee
Payment
3.0
ProduceStudent
Schedule
4.0
ProduceClassRoster
5.0
ProduceEnrollment
Report
PaymentInformation
Student andCourse Data
StudentClass Record
Student Class Record Student Class Record
Student Class Record
Student Schedule Class RosterEnrollmentStatistics
StudentClass Request
Receipt
Payment
![Page 42: DFD PPT](https://reader036.vdocuments.net/reader036/viewer/2022062717/55cf98c3550346d033998802/html5/thumbnails/42.jpg)
Course Registration: Current Child Diagram of Process 1.0
1.2
Checkfor
Availability
1.1
CheckPrerequisites
Met
1.3
EnrollStudentin Class
D1 Student Class RecordsD5 Course CatalogueD4 Student Transcripts
D3 Semester Schedule
Class Request Valid ClassRequest
Feasible ClassRequest
Available Seats
Available Seats
StudentRecord
Course RecordStudent
and CourseData