Data Flow Diagrams - University of California, Berkeley
Process Modeling Chapter 6 (with additions by Yale Braunstein) Slide 1 PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 John Wiley & Sons, Inc. All rights reserved. Key Definitions A process model is a formal way of representing how a business operates Data flow diagramming shows
business processes and the data that flows between them Slide 2 Key Definitions Logical process models describe processes without suggesting how they are conducted Physical models include information about how the processes are implemented Slide 3
Data Flow Diagrams Slide 4 PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 John Wiley & Sons, Inc. All rights reserved. Reading a DFD Slide 5 DFD Elements Slide 6
DFD Shapes from Visio Visio 2000 Visio 5.x F r o m S o ftw a r e D ia g r a m / G a n e -S a rs o n D F D F r o m F lo w C h a r t / D a ta F lo w D ia g r a m From Flow Chart / Data Flow Diagram ID #
Process P ro c e s s P ro c e s s Data Store D a ta S to re 1 D a ta S to re ID #
E x te r n a l E n tity Slide 7 E x te rn a l E n tity External Entity DFD Practical Example Launched Dec. 11, 1998, the Climate Orbiter plunged too steeply into the Martian atmosphere Sept. 23, 1999, and either burned up or crashed. In an initial failure report released Oct. 15, 2000 the
review board blamed the navigation error on a communications foul-up between NASA's Jet Propulsion Laboratory and prime contractor Lockheed Martin. Who was responsible for this task? Transfer of Flight Control Data This process was missing JPL-1 ?
? LM-1 Collect, analyze, generate flight control data Transfer data Convert data from Metric to English
Control spaceflight Metric data J1 Slide 8 JPL store English data LM1
LM store Structured English Common Statements Example Action Statement Profits = Revenues - Expenses Generate Inventory - Report Add Product record to Product Data Store If Statement
IF Customer Not in Customer Data Store THEN Add Customer record to Customer Data Store ELSE Add Current-Sale to Customers Total-Sales Update Customer record in Customer Data Store For Statement FOR all Customers in Customer Data Store Generate a new line in the Customer-Report Add Customers Total-Sales to Report-Total Case Statement CASE If Income < 10,000: Marginal-tax-rate
If Income < 20,000: Marginal-tax-rate If Income < 30,000: Marginal-tax-rate If Income < 40,000: Marginal-tax-rate ELSE Marginal-tax-rate = 38% ENDCASE Slide 9 = = = = 10% 20%
31% 35% Key Definition Decomposition is the process of modeling the system and its components in increasing levels of detail. Balancing involves insuring that information presented at one level of a DFD is accurately represented in the next level DFD. Slide 10 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 Slide 11 Relationship Among DFD levels Slide 12
Decomposition Diagram Slide 13 Level 0 Diagram Shows all the processes that comprise the overall system Shows how information moves from and to each process Adds data stores Slide 14 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 Slide 15 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 Slide 16 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 Slide 17 Alternative Data Flows Where a process can produce different data given different conditions We show both data flows and use the process description to explain why they are alternatives Tip -- alternative data flows often accompany processes with IF statements Slide 18
Your Turn At this point in the process it is easy to lose track of the big picture. Describe the difference between data flows, data stores, and processes. Describe in your own words the relationship between the DFD and the ultimate new application being developed. Slide 19 Creating Use Cases
Slide 20 PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 John Wiley & Sons, Inc. All rights reserved. Elements of a Use Case Trigger -- event that causes the scenario to begin External trigger Temporal trigger All possible inputs and outputs Individual steps Show sequential order
Show conditional steps Slide 21 Scenario Template (Use Case) Scenario Description Scenario Name: Short Description: ID Number: _ __ Trigger: _______________________________________________________________ Type: External / Temporal Major Inputs: Description
________________________ ________________________ ________________________ ________________________ ________________________ ________________________ Major Steps Performed Major Outputs: Source ___________ ___________ ___________ ___________ ___________
____________ ____________ Information for Steps This template can be downloaded from the course download page. Slide 22 Creating Data Flow Diagrams Slide 23 PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design
Copyright 2000 John Wiley & Sons, Inc. All rights reserved. Integrating Scenario Descriptions DFDs generally integrate scenario descriptions Names of use cases become processes Names of inputs and outputs become data flows Combining small data inputs and outputs into a single flow Slide 24 Steps in Building DFDs
Build the context diagram Create DFD fragments for each scenario Organize DFD fragments into level 0 Decompose level 0 DFDs as needed Validate DFDs with user Slide 25 DFD Fragment Tips All process names must be verb phrases Maintain organizations viewpoint in naming processes Layouts often place processes in the center
inputs from the left outputs to the right stores beneath the processes Slide 26 A DFD Fragment Example Slide 27 DFD Common Errors Black Hole Miracle Slide 28
Gray Hole DFD Packet Concept Telephone Service Provider Incorrect use of the packet concept Itemized calls Invoice Slide 29
Correct use of the packet concept Itemized calls & invoice 1 Pay phone bill A Second DFD Fragment Example Slide 30
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 Slide 31 Composite & Elementary Flows
Slide 32 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 dont need lower level More than seven processes become overly complex and difficult to read Slide 33
Flows to & from Data Stores Slide 34 Illegal Data Flows Slide 35 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 Slide 36 More on Use Cases, Requirements, Projects Slide 37 How should we gather requirements? Use cases? 1. Use cases hold functional
requirements in an easy-to-read text format 2. They make a good framework for nonfunctional requirements & project details. 3. Use cases show only the Functional reqts. 4. Design is not done only in use case units. Slide 38 A use case collects related scenarios of a users goal succeeding or failing UC 4: Place an order Main scenario:
1. User identifies the customer, item and quantity. 2. System accepts and queues the order. Extensions: 1a. Low credit: Customer is Preferred... 1b. Low credit & not Preferred customer: ... 2a. Low on stock: Customer accepts reduced... Slide 39 What sort of a use case fits your project: Fully Dressed, ...? Use Case 12. Buy stocks over the web Primary Actor: Purchaser (user)
Scope: PAF Level: user goal Precondition: User already has PAF open. Guarantees: sufficient log information exists that PAF can detect what went wrong. Success Guarantees: remote web site acknowledged purchase, user's portfolio updated. Main success scenario: 1. User selects to buy stocks over the web. 2. PAF gets name of web site to use (E*Trade, Schwabb, etc.) 3. PAF opens web connection to the site, retaining control. 4. User browses and buys stock from the web site. 5. PAF intercepts responses from the web site, and updates the user's portfolio. 6. PAF shows the user the new portfolio standing. Extensions: 2a. User wants a web site PAF does not support: 2a1. System gets new suggestion from user, with option to cancel use case.
3a. ... Slide 40 What sort of a use case fits your project: ..., Casual, ...? Use Case: Buy something The Requestor initiates a request and sends it to her or his Approver, who completes the request for submission and sends it to the Buyer. The Buyer finds the best vendor, initiates PO with Vendor. At any time prior to receiving goods, Requestor can change or cancel the
request. Canceling it removes it from any active processing. Slide 41 What sort of a use case fits your project: ..., or Brief? Actor Production Staff ... Goal
Brief Description Prepare digital Convert external digital data to cartographic standard format, validate & source correct in preparation for merging with operational database. ... ... Answer is, of course... What are your projects Priorities and Communication Channels? Slide 42
Use cases do not collect formulae, state, cardinality, performance, uptime, ... Examples: 1. Order cost = order item costs * 1.06 tax 2. Promotions may not run longer than 6 months. 3. Customers only become Preferred after ... 4. A customer has one and only one sales contact. 5. Response time is ... 6. Uptime requirement is ... 7. Number of simultaneous users will be ... Capture those in any form available
(just a tool problem) Slide 43 Goals make a good structure on which to hang requirements & project details. Project planning capitalizes on goal structure: Useable Releases. Priorities, Schedule, staffing Name Update customer Generate invoice Funds transfer Scan products
Slide 44 P. Actor Customer Finance Finance Customer Pr. high high med high Diff.
med high high high Rel 1 3 4 1 Tm .. .. ..
.. to Design and Test the system. What if...? Scenarios Knows how to... Knows how to... Knows how to... Slide 45 Summary The Data Flow Diagram (DFD) is an essential
tool for creating formal descriptions of business processes and data flows. Use cases record the input, transformation, and output of business processes. Eliciting scenario descriptions and modeling business processes are critically important skills for the systems analyst to master. Slide 46
LMS (Blackboard) Announcements being read? LMS Messaging being read? Solution: use the most accessible device in the most frequently used format - Mobile phone texting. Remind APP - Easy to use and Free . K-12 for homework. Phone #'s are...
History of Branching Process Galton's Puzzle Examples of BP Bienayme-Galton-Watson BP The archetypal branching Process (Galton-Watson): BP as an epidemic Model Specification & standard details The Model Offspring mean (m) Estimation of offspring mean Probability of extinction Immigration Process BP...
Program Definition. Statistical model development begins. Formation of GSS-I Working Groups. Partner file acquisition, evaluation, and MAF/TIGER update begins. Developed system for acquiring, tracking, and evaluating partner files. Began QI development. Began Community TIGER development. Second Address Summit. Working Group...
Alternate Anticonvulsants Diazepam 5-10 mg IV Sodium Amytal 100 mg IV Pentobarbital 125 mg IV Dilantin 500-1000 mg IV infusion After the Seizure Assess maternal labs Fetal well-being Effect delivery Transport when indicated No need for immediate cesarean delivery Other...