Presentation is loading. Please wait.

Presentation is loading. Please wait.

Data Flow Diagrams A structured analysis technique that employs a set of visual representations of the data that moves through the organization, the paths.

Similar presentations


Presentation on theme: "Data Flow Diagrams A structured analysis technique that employs a set of visual representations of the data that moves through the organization, the paths."— Presentation transcript:

1 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.

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 Original info comes from users - during requirements gathering - can go back and check info with users

3 Types of DFDs Current - how data flows now
Proposed - how we’d like it to flow Logical - the “essence” of a process Physical - the implementation of a process Partitioned physical - system architecture or high-level design

4 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

5 Four Basic Symbols Source/ Sink Data Flow Process # Data Store #
Naming: entities - noun data flows - noun high level process - system name other processes - verb/adjective/noun data stores - noun # Process # Data Store

6 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

7 Running Example Course Registration: Context level Diagram
Professor Class roster Class Request Course Registration System Student Payment Receipt Process numbered 0 Student Schedule Registrar Enrollment statistics

8 Modeling Dilemma: Scope
Deciding whether an entity is an external source/sink or an integral part of the system E.g. users of the system, managers who oversee the process Does the entity simply provide or receive information, or do they perform some part of the process?

9 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 Guideline - 3 to 9 processes

10 Running Example Course Registration: Current Logical Level 0 Diagram
Student Payment Class Request Receipt 1.0 Register Student for Course 2.0 Collect Student Fee Payment D1 Student Class Records Payment Information Student and Course Data Student Class Record D2 Student Payments Student Class Record Student Class Record Student Class Record 3.0 Produce Student Schedule 4.0 Produce Class Roster 5.0 Produce Enrollment Report Enrollment Report Student Schedule Class Roster Student Professor Registrar

11 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 - can go more than one level down

12 Running Example Course Registration: Current Logical Child Diagram
Available Seats D3 Semester Schedule Available Seats 1.1 Check Prerequisites Met 1.2 Check for Availability 1.3 Enroll Student in Class Class Request Valid Class Request Feasible Class Request Error Error Student and Course Data Student Record Course Record D4 Student Transcripts D5 Course Catalogue D1 Student Class Records

13 Physical DFDs Model the implementation of the system
Start with a set of child diagrams or with level 0 diagram Add implementation details indicate manual vs. automated processes describe form of data stores and data flows extra processes for maintaining data

14 Running Example Course Registration: Current Physical Child Diagram
Available Seats D3 Semester Schedule DB Available Seats 1.1 1.2 1.3 Class Request Check Prerequisites Met (manual) Advisement Authorization Check for Availability (myUMBC) Feasible Class Request Enroll Student in Class (STARS) Student Notified (verbally) Unavailability Message Student and Course Data Student File Course Description D4 Department Student File D5 Course Catalogue (text) D1 Semester Enrollment DB

15 Running Example Course Registration: Proposed Physical Child Diagram
Available Seats D3 Semester Schedule DB Available Seats 1.1 1.2 1.3 Class Request Check Prerequisites Met (automated) Authorized Class Request Check for Availability (automated) Valid Class Request Enroll Student in Class (automated) Student Notified ( ) Student ed Student and Course Data Student Record Course Record D4 Registrar’s Student DB D5 Course Catalogue DB D1 Semester Enrollment DB

16 Partitioning a physical DFD
Part of system design System architecture high-level design overall shape of system some standard architectures Decide what processes should be grouped together in the system components

17 Running Example Course Registration: Physical diagram (partitioned)
Available Seats D3 Semester Schedule DB Available Seats 1.1 1.2 1.3 Class Request Check Prerequisites Met (automated) Authorized Class Request Check for Availability (automated) Valid Class Request Enroll Student in Class (automated) Student Notified ( ) Student ed Student and Course Data Student Record Course Record D4 Registrar’s Student DB D5 Course Catalogue DB D1 Semester Enrollment DB

18 Balancing Most important rule in data flow diagramming
Every child diagram must include the same inputs and outputs as the process it represents in its parent diagram Also applies to the level 0 diagram Checking for balancing is a good way to find errors and omissions in your DFDs

19 1.0 Get Customer Address Customer Information Customer Address Directory Name 1.1 Lookup Customer Entry 1.2 Extract Customer Address Customer Record Customer Information Customer Zip Code Customer Information 1.1 Lookup Customer Entry 1.2 Extract Customer Address Customer Record Customer Address Directory Name

20 Balancing Exceptions A data flow at one level may be decomposed at a lower level On low-level DFDs, new data flows can be added to represent exceptional situations All data coming into and out of a process must be accounted for

21 1.0 Get Customer Address Customer Information Customer Address 1.1 Get Customer Phone 1.2 Lookup Customer Address Customer Phone Customer Phone Customer Address 1.3 Request Customer Address Customer Address

22 1.0 Get Customer Address Customer Information Customer Address 1.1 Get Customer Phone 1.2 Lookup Customer Address Customer Phone Customer Phone Invalid Phone Number Message Customer Address 1.3 Request Customer Address Customer Address

23 Another Example Perfect Pizza: Context Level Diagram
Management Weekly Report Phone Number Customer Order System Customer Customer Order Customer Info Cook Delivery Person Cook Order Delivery Information

24 Another Example Perfect Pizza: Current Logical Level 0 Diagram
Customer Customer Order Phone Number 1.0 Find Customer Record 2.0 Take Customer Order 3.0 Print Delivery Order Delivery Person Customer Information Order Information Delivery Information Customer Record Customer History Discount Info Customer Info Order Information D2 Customer History 6.0 Send Order to Cook D1 Customer Master Customer Customer Order D3 Sales Records Customer Record Sales Info Cook Order 7.0 Print Weekly Totals 5.0 Add Customer Record Weekly Report Cook Management

25 Another Example Perfect Pizza: Current Logical Child Diagram
Customer History D2 Customer History 3.1 Determine Customer Discount Customer Information 3.2 Record Discount Discount Amount Order Information 3.3 Print Delivery Instructions Discount Information Delivery Information D3 Sales Records

26 Another Example Perfect Pizza: Current Logical Child Diagram
5.1 Record Customer Information 5.2 Store Customer Record Customer Information Raw Customer Information Customer Record D1 Customer Master

27 Another Example Perfect Pizza: Physical Child Diagram
Syntax Errors Cancelled Transaction Phoned Customer Information 5.1 Clerk Types Customer Information Recorded Customer Information 5.2 5.3 Valid Customer Information System Validates Customer Information Clerk Visually Confirms Cust. Info. Phone Number 5.4 Format Customer Record Customer Record New Customer Information D1 Customer DB

28 Another Example Perfect Pizza: Current Physical Level 0 Diagram
Customer Phoned Customer Order Phone Number 1.0 Clerk Finds Customer Row 2.0 Clerk Takes Customer Order (by phone) 3.0 System Prints Delivery Order Delivery Person Customer Information Customer & Order Info Delivery Printout Customer Record Copy of Order Slip Customer History Record Phoned Customer Info Cust. Info. Customer History Record D2 Customer History DB 8.0 Mgr Updates Customer History (nightly) D1 Customer Spreadsheet Customer D3 Sales Records File Copies of Order Slips & Del. Printouts Customer Record Copies of Order Slips Phoned Customer Order 5.0 Clerk Adds Customer Row 7.0 Mgr Prints Weekly Totals (batch) 6.0 Clerk Sends Order to Cook (paper) Weekly Report Phone # Copy of order slip Management Cook

29 Another Example Perfect Pizza: Proposed Physical Level 0 Diagram
Customer Phoned Customer Order Order Info D3 Sales DB Phone Number Discount Info 1.0 System Finds Customer Record 2.0 Clerk Enters Customer Order (by phone) 3.0 System Prints Delivery Order Delivery Person Customer Information Order Info Delivery Printout Order Info Customer Record Customer History Record Phoned Customer Info Cust. Info. D2 Customer History DB D1 Customer DB D3 Sales DB Customer Record Sales Records 5.0 Clerk Adds Customer Record 7.0 System Prints Weekly Totals (batch) Weekly Report Phone # Cook Management

30 Another Example Perfect Pizza: Partitioned Physical Level 0 Diagram
Customer Phoned Customer Order Order Info D3 Sales DB Phone Number Discount Info 1.0 System Finds Customer Record 2.0 Clerk Enters Customer Order (by phone) 3.0 System Prints Delivery Order Delivery Person Customer Information Order Info Delivery Printout Order Info Customer Record Customer History Record Phoned Customer Info Cust. Info. D2 Customer History DB D1 Customer DB D3 Sales DB Customer Record Sales Records 5.0 Clerk Adds Customer Record 7.0 System Prints Weekly Totals (batch) Weekly Report Phone # Cook Management


Download ppt "Data Flow Diagrams A structured analysis technique that employs a set of visual representations of the data that moves through the organization, the paths."

Similar presentations


Ads by Google