Why Data Flow Diagrams?



Similar documents
LECTURE 11: PROCESS MODELING

Topic # 08. Structuring System Process Requirements. CIS Life Cycle and Requirements Structuring Stage

Data Flow Diagrams. Outline. Some Rules for External Entities 1/25/2010. Mechanics

Chapter 7: Structuring System Process Requirements

6-1. Process Modeling

CSC 342 Semester I: H ( G)

1. Process Modeling. Process Modeling (Cont.) Content. Chapter 7 Structuring System Process Requirements

Entity / Activity Table for Causeway Cash Receipts System

Process Modelling. Data flow Diagrams. Process Modelling Data Flow Diagrams. CSE Information Systems 1

Understanding Data Flow Diagrams Donald S. Le Vie, Jr.

BUSINESS PROCESS DOCUMENTATION

Systems Analysis Process Modeling (DFD) 1 of 10. Analysis 003

Objectives After completion of study of this unit you should be able to:

DATABASE DESIGN. - Developing database and information systems is performed using a development lifecycle, which consists of a series of steps.

Process Modeling. Chapter 6. (with additions by Yale Braunstein) Slide 1

Course Registration Case Study

Collated Food Requirements. Received orders. Resolved orders. 4 Check for discrepancies * Unmatched orders

Functional Data Flow Diagrams. Outline

(Refer Slide Time 00:56)

D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013

Chapter 3. Data Flow Diagrams

Thomson Learning TM DOCUMENTING INFORMATION SYSTEMS CHAPTER

CHAPTER 3. Data Modeling and Database Design- Part1

Chapter 6. Data-Flow Diagrams

Operations Management

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha

Functional Modeling with Data Flow Diagrams

Use Case Diagrams. Tutorial

CA ERwin Process Modeler Data Flow Diagramming

actions/doing words/verbs => Processes (P) course and processes to processes => data flows (DF)

Proceedings of the Annual Meeting of the American Statistical Association, August 5-9, 2001 STATISTICIANS WOULD DO WELL TO USE DATA FLOW DIAGRAMS

MODULE 5 DATA FLOW DIAGRAMS

CASE TOOLS. Contents

Flowcharting, pseudocoding, and process design

Why Documentation Is Important. Documentation of Systems. Document Flowcharts. Types of Documentation

Rational Software. Course Registration System Use-Case Model

Unit 2.1. Data Analysis 1 - V Data Analysis 1. Dr Gordon Russell, Napier University

Process and Database Modelling of a University Bursary System: A Perspective of Cash Office

Investigate Requirements for Software Solutions

Access ACS 101 Day 2: Online Giving, Event Registration, Serving & Connections

Systems Investigation and Analysis. Systems Development. What is it? Why Plan?

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs)

Copyright 2006 Business Management Systems. Web Based ERP/CRM Software

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Project Tracking 2015

2 SYSTEM DESCRIPTION TECHNIQUES

Process for Data Flow Diagram Process Documentation Template: Description

Copyright 2011 Business Management Systems. Web Based ERP/CRM Software

System Requirement Specifications (SRS)

Project Management Planning

DATABASE INTRODUCTION

IT Application Controls Questionnaire

Systems Documentation Techniques

Introduction. Order-to-Cash. Chapter 10: Learning Objectives. Process Definition and Functions

SECTION 4 TESTING & QUALITY CONTROL

Online Registration System

Lesson 4: Convert Fractions, Review Order of Operations

Data Analysis 1. SET08104 Database Systems. Napier University

Software Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model

MYOB EXO Business White Paper Aurora to EXO Business Migration Utility

International Journal of Engineering Technology, Management and Applied Sciences. November 2014, Volume 2 Issue 6, ISSN

Subject : System Analysis and Design BCA -II UNIT 1

SECTION 2 PROGRAMMING & DEVELOPMENT

Quick Guide Business Process Modeling Notation (BPMN)

Penn State University (PSU)

Modern Systems Analysis and Design

INVENTORY MANAGEMENT

SCHOOL BOARD AGENDA ITEM RATIONALE

Process Analysis. Work Process Documentation Guidelines. Purpose

1. Dimensional Data Design - Data Mart Life Cycle

Modeling a Problem Scenario with UML

Introduction to the Data Migration Framework (DMF) in Microsoft Dynamics WHITEPAPER

Inventory Management System

How the Computer Translates. Svetlana Sokolova President and CEO of PROMT, PhD.

Airline Flight and Reservation System. Software Design Document. Name:

Time Management. Part 2 Work Breakdown Structure (WBS) Review. Richard Boser

IT2404 Systems Analysis and Design (Compulsory)

Defining the Scope of a Project

Accounting Notes. Purchasing Merchandise under the Perpetual Inventory system:

RIMS. Restaurant Inventory Management System. ISDS 3100 Spring Creighton Boggs Rachel Bradley Jackson Greenwood Jimmy Lambert

AVAILABLE CASE TOOLS I. SYSTEM FLOWCHART AND ER-DIAGRAM GENERATION TOOL

Standard for Software Component Testing

ABSTRACT THE ISSUE AT HAND THE RECIPE FOR BUILDING THE SYSTEM THE TEAM REQUIREMENTS. Paper DM

CA IDMS. Database Design Guide. Release , 2nd Edition

Handling customer returns in Microsoft Dynamics AX 2009

How To Write A Personal Trainer System

CRG Academy Course Descriptions. Corporate Renaissance Group 6 Antares Drive, Phase 1, Suite 200 Ottawa, ON K2E 8A9

Data warehouse design

Methods and Tolls for Business Process Modeling

Answers to Review Questions

THE ENTITY- RELATIONSHIP (ER) MODEL CHAPTER 7 (6/E) CHAPTER 3 (5/E)

A brief overview of developing a conceptual data model as the first step in creating a relational database.

Transcription:

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 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 Flow # Process # Store

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 Professor Student Class Request Payment Receipt Student Schedule 0 Course Registration System 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 Register Student for Course 3.0 Produce Student Schedule Student and Course Student Class Student Schedule D1 Student Class s 4.0 Produce Class Roster Student Class 2.0 Collect Student Fee Payment Student Class Class Roster Payment D2 Student Payments 5.0 Student Class Produce Enrollment Report Enrollment Report Student Professor 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 1.2 1.3 Class Request Error Check Prerequisites Met Valid Class Request Check for Availability Feasible Class Request Enroll Student in Class Student Course Error Student and Course D4 Student Transcripts D5 Course Catalogue D1 Student Class s

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 Class Request Student Notified (verbally) 1.1 Check Prerequisites Met (manual) Student File Advisement Authorization Course Description 1.2 Check for Availability (myumbc) Feasible Class Request Unavailability Message 1.3 Enroll Student in Class (STARS) Student and Course D4 Department Student File D5 Course Catalogue (text) D1 Semester Enrollment DB

Running Example Course Registration: Proposed Physical Child Diagram D3 Semester Schedule DB Available Seats Available Seats Class Request Student Notified (email) 1.1 Check Prerequisites Met (automated) Student Authorized Class Request Course 1.2 Check for Availability (automated) Valid Class Request Student Emailed 1.3 Enroll Student in Class (automated) Student and Course D4 Registrar s Student DB D5 Course Catalogue DB 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 Class Request Student Notified (email) 1.1 Check Prerequisites Met (automated) Student Authorized Class Request Course 1.2 Check for Availability (automated) Valid Class Request Student Emailed 1.3 Enroll Student in Class (automated) Student and Course D4 Registrar s Student DB D5 Course Catalogue DB D1 Semester Enrollment DB

Another Example Perfect Pizza: Context Level Diagram Phone Number Info 0 System Weekly Report Management Delivery Person Delivery Cook Cook

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

Another Example Perfect Pizza: Current Logical Child Diagram History D2 History 3.1 Determine Discount 3.3 Discount Amount 3.2 Discount Print Delivery Instructions Discount Delivery D3 Sales s

Another Example Perfect Pizza: Current Logical Child Diagram 5.1 5.2 Raw Store D1 Master

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

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

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

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

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

1.0 Gather Demographic 2.0 Compile Statistics Survey Responses 3.0 Analyze Responses Final Report

2.0 Visa Authorization BETTER 2.0 Check Credit 2.0 Total s BETTER 2.0 Total Sales s 2.0 QA Process BETTER 2.0 Inspect Finished Products

Flow Diagramming Rules 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

2.1 Store 2.1 Store Preferences D1 D1 Preferences D2 Preferences D2 Preferences

2.1 Store D1 2.1 Store D1 Preferences Preferences 2.2 Extract Preferences D2 Preferences D2 Preferences

D1 2.0 Store D1

Doctor Service 0 Diagnosis Medical Billing System Patient Bill

Flow Diagramming Rules 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

1.0 1.0 Take Take Total Total 2.0 3.0 2.0 3.0 Total Daily Sales Print Delivery Instructions Total Daily Sales Print Delivery Instructions

1.0 2.0 1.0 2.0 Take Lookup Take Lookup Address Address 3.0 Print Delivery Instructions 3.0 Print Delivery Instructions

Daily Sales 1.0 Calculate Weekly Sales Cumulative To-Date Sales

Flow Diagramming Guidelines The inputs to a process are different from the outputs Every object in a DFD has a unique name

1.0 Validate 1.0 Validate Valid

1.0 Get 2.0 Take 3.0 Process 1.0 2.0 3.0 Get Take Process

1.0 Get 2.0 Take 3.0 Validate Only if these are exactly the same

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

1.0 Get Address Address Phone 1.1 Get Phone 1.3 Phone 1.2 Lookup Address Address Address Request Address

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

Elements Indivisible pieces of 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

Employee D1 Employee Master Hours Worked D2 Employee Time File Employee Time Employee 1.0 Calculate Gross Pay Gross Pay 2.0 Calculate Withholding Amount Withholding D1 Employee Master Check Reconciliation Employee 4.0 Print Employee Paycheck Employee Paycheck Net Pay 3.0 Calculate Net Pay D3 Check Reconciliation Employee

Employee 5.0 Hours Worked Create Time Employee Time D2 Employee Time File D1 Employee Master 6.0 Reconcile Pay Check Check Reconciliation D3 Check Reconciliation D1 Employee Master Employee Time Employee Paycheck 1.0 Calculate Gross Pay Gross Pay 4.0 Print Employee Paycheck Employee Employee Employee Paycheck Number of Dependents Gross Pay Net Pay D4Withholding Tables 2.0 Calculate Withholding Amount 3.0 Calculate Net Pay Withholding Rates Withholding Amount

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.

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

Example DFD and ERD DFD Cook Places 1.0 Take Name Hours Name Inventory Address 2.0 3.0 Convert to Cooking Instructions Processed Convert to Ingredient List Item Quantity Cooking Instructions Ingredients Cook D1 Log Inventory Processing Incorrect ERD

Example DFD and ERD Id DFD Date Time 1.0 Contains ItemQuantity Take Includes Ingredient 2.0 3.0 Item Ingredient Quantity Description Convert to Cooking Instructions Processed Convert to Ingredient List ItemId ItemName Requires Cooking Instructions Cooking Instructions Ingredients Index StepId Description Cook D1 Log Inventory Processing Correct ERD