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 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 2 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 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 Recommended Progression Current logical diagrams start with context level decompose as needed for understanding Proposed logical diagrams start at level where change takes place decompose as far as possible Current physical diagrams at level of change Proposed physical diagrams same levels as proposed logical lower levels become design Four Basic Symbols Source Sink Data Flow Data Store Process 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 Running Example Course Registration Context level Diagram Class roster Class Request Student Payment Receipt Professor 0 Course Registration System Student Schedule Enrollment statistics Registrar 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 Running Example Course Registration Current Logical Level 0 Diagram Class Request Student Payment Receipt 1 0 2 0 Register Student for Course D1 Student Class Records Student and Course Data Student Class Record Collect Student Fee Student Class Record Payment Payment Information D2 Student Payments Student Class Record Student Class Record 3 0 4 0 5 0 Produce Student Schedule Produce Class Roster Produce Enrollment Report Student Schedule Student Class Roster Professor Enrollment Report Registrar 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 Running Example Course Registration Current Logical Child Diagram D3 Semester Schedule Available Seats Available Seats 1 1 Class Request Error 1 2 Valid Class Request Check Prerequisites Met 1 3 Feasible Class Check Request for Availability Error Student Record D4 Course Record Student Transcripts D5 Course Catalogue Enroll Student in Class Student and Course Data D1 Student Class Records 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 Running Example Course Registration Current Physical Child Diagram D3 Semester Schedule DB Available Seats Available Seats 1 1 Class Request 1 2 Check Prerequisites Met Student Notified manual Advisement Authorization 1 3 Feasible Class Check for Request Availability myUMBC verbally Enroll Student in Class STARS Unavailability Message Student File Course Description D4 Department Student File D5 Course Catalogue text Student and Course Data D1 Semester Enrollment DB Running Example Course Registration Proposed Physical Child Diagram D3 Semester Schedule DB Available Seats Available Seats 1 1 Class Request Check Prerequisites Met Student Notified automated 1 2 Authorized Class Request Check for Availability automated 1 3 Valid Class Request email Enroll Student in Class automated Student Emailed Student Record Course Record D4 Registrar s Student DB D5 Course Catalogue DB Student and Course Data D1 Semester Enrollment DB 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 Running Example Course Registration Physical diagram partitioned D3 Semester Schedule DB Available Seats Available Seats 1 1 Class Request Check Prerequisites Met Student Notified automated 1 2 Authorized Class Request Check for Availability automated 1 3 Valid Class Request email Enroll Student in Class automated Student Emailed Student Record Course Record D4 Registrar s Student DB D5 Course Catalogue DB Student and Course Data D1 Semester Enrollment DB Another Example Perfect Pizza Context Level Diagram Weekly Report Phone Number Customer Customer Order Customer Info Delivery Person Delivery Information Management 0 Customer Order System Cook Order Cook Another Example Perfect Pizza Current Logical Level 0 Diagram Customer Order Customer Phone Number 1 0 Find Customer Record Customer Info Customer Information Customer Record 2 0 Take Customer Order Order Information Customer History Order Information D2 Customer History D1 Customer Master Customer Record 3 0 Print Delivery Order D3 Sales Records Sales Info 5 0 Add Customer Record Weekly Report Management 7 0 Print Weekly Totals Delivery Information Delivery Person Discount Info 6 0 Send Order to Cook Cook Order Cook Customer Customer Order Another Example Perfect Pizza Current Logical Child Diagram Customer History Order Information 3 1 Determine Customer Discount D2 Customer History Customer Information 3 2 Record Discount Discount Amount 3 3 Print Delivery Instructions Delivery Information Discount Information D3 Sales Records Another Example Perfect Pizza Current Logical Child Diagram Customer Information 5 1 Record Customer Information Raw Customer Information 5 2 Store Customer Record Customer Record D1 Customer Master Another Example Perfect Pizza Physical Child Diagram Syntax Errors Phoned Customer Information Phone Number 5 1 Clerk Types Customer Information D1 Recorded Customer Information Customer DB 5 2 System Validates Customer Information Customer Record
View Full Document
Unlocking...