Functional Data Flow Diagrams. Outline



Similar documents
Chapter 7: Structuring System Process Requirements

LECTURE 11: PROCESS MODELING

2 SYSTEM DESCRIPTION TECHNIQUES

6-1. Process Modeling

(Refer Slide Time 00:56)

CSC 342 Semester I: H ( G)

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

Why Data Flow Diagrams?

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

Chapter 6. Data-Flow Diagrams

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

Data Analysis 1. SET08104 Database Systems. Napier University

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

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

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

Data Flow Diagram. Data Flow Diagrams (DFDs)

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

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

Thomson Learning TM DOCUMENTING INFORMATION SYSTEMS CHAPTER

Chapter 4: Tools of Modern Systems Analysis

Chapter 3. Data Flow Diagrams

Flowcharting, pseudocoding, and process design

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

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur. School of Computing, Department of IT

The Business Process Model

How To Develop Software

CA ERwin Process Modeler Data Flow Diagramming

Using UML Part Two Behavioral Modeling Diagrams

3SL. Requirements Definition and Management Using Cradle

CHAPTER 3. Data Modeling and Database Design- Part1

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

Chapter 3. Data Analysis and Diagramming

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

Process / Operation Symbols

Process Mapping Guidelines

Answers to Review Questions

Bridge from Entity Relationship modeling to creating SQL databases, tables, & relations

Systems Documentation Techniques

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

IV. The (Extended) Entity-Relationship Model

A Guide to Process Mapping

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

(Refer Slide Time: 2:03)

Process Modeling Notations and Workflow Patterns

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

7.1 The Information system

Problem Solving Basics and Computer Programming

[1] [2]

QUALITY TOOLBOX. Understanding Processes with Hierarchical Process Mapping. Robert B. Pojasek. Why Process Mapping?

Business Process Modeling Notation. Bruce Silver Principal, BPMessentials

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

Introduction to BPMN

Object Oriented Programming. Risk Management

Vector storage and access; algorithms in GIS. This is lecture 6

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

MAHATMA GANDHI UNIVERSITY SCHOOL OF DISTANCE EDUCATION (MGU CBCSS UG SDE 2012)

Quick Guide Business Process Modeling Notation (BPMN)

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

A Programming Language for Mechanical Translation Victor H. Yngve, Massachusetts Institute of Technology, Cambridge, Massachusetts

Project Time Management

PROG0101 Fundamentals of Programming PROG0101 FUNDAMENTALS OF PROGRAMMING. Chapter 3 Algorithms

Architecture Artifacts Vs Application Development Artifacts

Computer Programming Lecturer: Dr. Laith Abdullah Mohammed

Process for Data Flow Diagram Process Documentation Template: Description

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Lesson 8: Introduction to Databases E-R Data Modeling

CASE workbenches. . Software tools to support specific process phases. Objectives. Chapter 26. Chapter 26 CASE Workbenches

Algorithms, Flowcharts & Program Design. ComPro

How Do I Evaluate Workflow?

Chapter 10. Practical Database Design Methodology. The Role of Information Systems in Organizations. Practical Database Design Methodology

not necessarily strictly sequential feedback loops exist, i.e. may need to revisit earlier stages during a later stage

Chapter 3 Problem Solving

White Paper BPMN 2.0 Task Types Explained

OA4-13 Rounding on a Number Line Pages 80 81

BUSINESS PROCESS DOCUMENTATION

Writing Reports BJECTIVES ONTENTS. By the end of this section you should be able to :

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

ZIMBABWE SCHOOL EXAMINATIONS COUNCIL. COMPUTER STUDIES 7014/01 PAPER 1 Multiple Choice SPECIMEN PAPER

Select the Crow s Foot entity relationship diagram (ERD) option. Create the entities and define their components.

Developing Entity Relationship Diagrams (ERDs)

Human-Readable BPMN Diagrams

CPS122 Lecture: State and Activity Diagrams in UML

Data Flow Diagrams. Outline. Many fur ther Examples Developed in Class

Process Modelling & Mapping: The Basics

HOW TO DO A SCIENCE PROJECT Step-by-Step Suggestions and Help for Elementary Students, Teachers, and Parents Brevard Public Schools

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Database Design Methodology

Business Process Modelling. CA4 Business Process Modelling 1

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Modern Systems Analysis and Design

The Project Planning Process Group

Process/Workflow Analysis Quiz

MODULE 5 DATA FLOW DIAGRAMS

III. Structured Analysis and Design Technique (SADT) SADT: Structured Analysis and Design Technique

SHELL INDUSTRIAL APTITUDE BATTERY PREPARATION GUIDE

Introduction to Systems Analysis and Design

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

Transcription:

Introduction to Database Systems Functional s Ling Liu Associate Professor College of Computing, Georgia Tech 1 Outline This week: Exercise of Relational Algebra Techniques for ming Next Week Midterm 1 review on Tuesday Midterm 1 on Thursday Close Book Exam or Open Book Exam Only materials allowed are notes and the required textbook of the course. No interaction or exchange is allowed among students 2

DB Design in Information Systems Real World Functional Requirements Functional Analysis Requirements Analysis DFD ER Model Database Requirements Conceptual Design Access Specifications Application Pgm Design application programs RE-to-Rel Mapping Relational Data Model Relational Normalization Conceptual Schema Logical Design Logical Schema Physical Design 3 Representing Systems With s Data flow diagrams are a network representation of a system. They are the cornerstone for structured systems analysis and design. The diagrams use four symbols to represent any system at any level of detail. The four entities that must be represented are: data flows - movement of data in the system data stores - data repositories for data that is not moving processes - transforms of incoming data flow(s) to outgoing data flow(s) external entities - sources or destinations outside the specified system boundary 4

DFD Purpose The purpose of data flow diagrams is to provide a semantic bridge between users and systems developers. The diagrams are: graphical, eliminating thousands of words; logical representations, modeling WHAT a system does, rather than physical models showing HOW it does the work; hierarchical, showing systems at any level of detail; and jargonless, allowing user understanding and reviewing. 5 DFD Description s are composed of the four basic symbols shown below. The External Entity symbol represents sources of data to the system or destinations of data from the system. The Data Flow symbol represents movement of data. The Data Store symbol represents data that is not moving (delayed data at rest). The Process symbol represents an activity that transforms or manipulates the data (combines, reorders, converts, etc.). Any system can be represented at any level of detail by these four symbols. 6

External Entities 1. are named with appropriate name. 2. can be duplicated, one or more times, on the diagram to avoid line crossing. 3. determine the system boundary. They are external to the system being studied. They are often beyond the area of influence of the developer. 4. can represent another system or subsystem. 5. go on margins/edges of data flow diagram. 7 Data Flows 1. are represented with a line with an arrowhead on one end. A fork in a data flow means that the same data goes to two separate destinations. The same data coming from several locations can also be joined. 2. should only represent data, not control. 3. are ALWAYS named. Name is not to include the word "data". 4. are referenced by a combination of the identifiers of the constructs that the data flow connects. (14-A references a data flow from process 14 to external entity A) 8

Data Flow v.s. Control Flow Data flow A data flow moves data between processes or between processes and data stores. It represents a data value at some point within a computation and an intermediate value within a computation if the flow is internal to the diagram. This value is not changed. The names of input and output flows can indicate their roles in the computation or the type of the value they move. Data names are preferably nouns. The name of a typical piece of data, the data aspect, is written alongside the arrow. Control flow A control flow is a signal that carries out a command or indicates that something has occurred. A control flow occurs at a discrete point in time. The arrow indicates the direction of the control flow. The name of the event is written beside the arrow. 9 Data Stores 1. are generic for physical files (index cards, desk drawers, magnetic disk, magnetic tape, shirt pocket, human memory, etc.) 2. are named with an appropriate name, not to include the word "file", and numbered with a number preceded with a capital letter D 3. can be duplicated, one or more times, to avoid line crossing. 4. can show two or more systems that share a data store. This is done by adding a solid stripe on the left boundary. 5. are detailed in the data dictionary or with data description diagrams. 10

Processes 1. show data transformation or change. All processes must have inputs and outputs. In some (rare) cases, data inputs or outputs will only be shown at more detailed levels of the diagrams. Each process in always "running" and ready to accept data. 2. are represented by a rounded corner rectangle (or oval or circle) 3. are named with one carefully chosen verb and an object of the verb. There is no subject. 4. have physical location shown only for existing physical systems or a physical design is being represented. 5. are numbered within the diagram as convenient. Levels of detail are shown by decimal notation. For example, top level process would be Process 14, next level of detail Processes 14.1-14.4, and next level with Processes 14.3.1-14.3.6. 6. should generally move from top to bottom and left to right. 11 s 1. Use process bubbles to show processing or transformation of data. It is not necessary to show steps where data is not transformed or processed, e.g., reading a record from a file. 12

s 2. Data flows must begin and/or end at a process bubble. That is, at least one end of a data flow arrow must be at a process bubble. 13 s 3. Show only data flows, not control flows (such as IF-ELSE logic). 14

s 3. Show only data flows, not control flows (such as IF-ELSE logic). 4. Avoid black holes (a process bubble that has inputs but no output) and miracles (a process bubble that has outputs but not input). 15 Practice Exercise Locate the errors in the following abstract data flow diagram. miracle black hole 16

s - Naming Data Flows and Data Stores should receive names that describe the composition of the data involved. (nouns) Process bubbles should be named using strong, active verbs and objects to stress the basic data transformation or process that is occurring in that bubble. Fuzzy names for data flows and data stores, and weak or mushy verbs for processes usually indicate a lack of understanding about what is happening within the system. Thus, a periodic evaluation of the names being assigned can serve as a guide to areas where more analysis needs to be done. 17 Summary: The Data Flow Model for Functional Analysis The data flow model support the concepts of process, dataflow, data store, and interface (external entity). A process represents an activity that can generate, use, manipulate, or destroy information. A dataflow is an exchange between processes. A data store is a repository of information. E.g., temporary files, look-up tables, electronic/paper forms, etc.. An interface is an external user of the DB system, who may be the receiver of the dataflows or data stores. Concept Process Diagrammatic Representation Flow Data Store Interface/External Entity 18

Procedure for Creating DFDs The procedure for producing a data flow diagram is to: 1. identify and list external entities providing inputs/receiving outputs from system; 2. identify and list inputs from/outputs to external entities; 3. create a context diagram with system at center and external entities sending and receiving data flows; 4. identify the business functions included within the system boundary; 5. identify the data connections between business functions; 6. confirm through personal contact sent data is received and vice-versa; 19 Procedure for Creating DFDs The procedure for producing a data flow diagram is to: 7. trace and record what happens to each of the data flows entering the system (data movement, data storage, data transformation/processing) 8. attempt to connect any diagram segments into a rough draft; 9. verify all data flows have a source and destination; 10. verify data coming out of a data store goes in; 11. redraw to simplify--ponder and question result; 12. review with "informed"; 13. explode and repeat above steps as needed. 20

Strategies for Data Flow Design As using ER model for conceptual DB design, there are four commonly used strategies for functional analysis using data flow diagram (DFD). Top-down strategy Decomposition Bottom-up strategy integration Mixed strategy (Inside-out strategy) 21 Top-Down Start with the content diagram Customer Supplier Order Invoice X Sale System Report Filed_Order Invoice Accounting System Customer Supplier Remove the duplicate external entities Customer Supplier Order Invoice X Sale System Filed_Order Report Invoice Accounting System 22

Decomposition To specify what a high-level process does, break it down into smaller units in more DFDs. A high-level process is an entire DFD. Each high-level process is decomposed into other processes with data flows and data stores. Each decomposition is a DFD in itself. You can continue to break down processes until you reach a level on which further decomposition seems impossible or meaningless. The data flows of the opened process are connected in the new diagram to the process related to the opened process. Vertices, and the flows and objects connected to them, are transferred with the flows that are connected to the decomposed process. 23 Example: Top-down Strategy Consider the ordering and purchasing of books by the library of a university department. Scientist request Handle_ Request ordered_book Publishing_ House (a) Skeleton Context Diagram The process Handle_Request models all the ordering and purchasing activities. Assume: T1: order processing consists of checking the feasibility of a purchase, followed by compiling an order. T2: the policy of the librarian is to collect book orders and process them periodically. T3: the check_book activity can be decomposed into two parallel activities: checking whether a book is already available in the library, and whether funds are available 24

Example: Top-down Strategy Scientist request Handle_ Request ordered_book Publishing_ House (a) Skeleton Scientist request Store_ Request Order_Log book_available Process_ Order ordered_book Publishing_ House (b) Applying primitive T1 to Handle_Request process T1: order processing consists of checking the feasibility of a purchase, followed by compiling an order. 25 Example: Top-down Strategy (cont.) Scientist request Store_ Request Order_Log Book book_available Order_ Book ordered_book Publishing_ House (c) Applying primitive T2 to Process_Orders T2: the policy of the librarian is to collect book orders and process them periodically. 26

Example: Top-down Strategy (cont.) Scientist request Store_ Request Order_Log Budget Grant Catalog Book Catalog book_available Order_ Book ordered_book Publishing_ House (d) Applying primitive T3 to Book T3: the check_book activity can be decomposed into two parallel activities: checking whether a book is already available in the library, and whether funds are available 27 Example: Bottom-up Strategy Budget Store_ Request Order_ Book (a) initial elementary processes Catalog Scientist request Store_ Request Budget Catalog book_available Fund info Order_ Book (b) introduction of interfaces Catalog info ordered_book Publishing_ House 28

Example: Bottom-up Strategy (cont.) Scientist request Store_ Request Order_Log Budget Grant Catalog Book Catalog book_available Order_ Book ordered_book Publishing_ House (c) introduction of data flows and data stores Home work: put in all the missing flow names 29 Example: Mixed Strategy Scientist request Store_ Request Order_Log (a) First inside-out expansion Scientist request Store_ Request Order_Log Budget Grant Catalog Book Catalog (b) Second inside-out expansion 30

Example: Mixed Strategy (cont.) Scientist request Store_ Request Order_Log Budget Grant Catalog Book Catalog book_available Order_ Book ordered_book Publishing_ House (c) Third inside-out expansion 31 Data flow diagramming mistakes Illegal data flows One of the patterns of data flow analysis is that all flows must begin with or end at a processing step. This makes sense, since presumably data cannot simply metastasize on its own without being processed. This simple rule means that the following mistakes can be fairly easily identified and corrected in a DFD. 32

Data flow diagramming mistakes Illegal data flows 33 Data flow diagramming mistakes Diagramming mistakes: Black holes, grey holes, and miracles A second class of DFD mistakes arise when the outputs from one processing step do not match its inputs. It is not hard to list situations in which this might occur: A processing step may have input flows but no output flows. This situation is sometimes called a black hole. A processing step may have output flows but no input flows. This situation is sometimes called a miracle. A processing step may have outputs that are greater than the sum of its inputs - e.g., its inputs could not produce the output shown. This situation is sometimes referred to as a grey hole. The following diagram illustrates these common DFD mistakes. By tracing the inputs and outputs affecting each processing step, you can avoid them in your own diagrams. 34

Data flow diagramming mistakes 35 Data flow diagramming mistakes DFDs are not flow charts Flow chart diagrams can be useful for describing programming logic or understanding a single sequence of process activities. It is important to recognize, however, that DFDs are not flow charts. Flow charts often show both processing steps and data "transfer" steps (e.g., steps that do not "process" data); DFDs only show "essential" processing steps. Flow charts might (indeed, often do) include arrows without labels: DFDs never show an unnamed data flow. Flow charts show conditional logic; DFDs don't (the conditional decisions appear at lower levels, always within processing steps). Flow charts show different steps for handling each item of data; DFDs might include several data items on a single flow arrow. 36

Data flow diagramming mistakes DFDs are not flow charts With these distinctions in mind, the following diagrams suggest some DFD drafting mistakes that might be influenced by prior experience with flow charts. 37 Data flow diagramming mistakes In the example above, a processing step is included that does not actually change any data. This step (titled "route transaction") might appear on a flow chart but would not appear on a DFD. 38

Five Processing Characteristics As a final aid in developing DFDs, consider the following description of processing steps. It suggests five characteristics of processing steps that change data (and so deserve to be included on a DFD). 39 Summary Data flow diagrams can assist in Isolating the component parts of a business process, reducing the analytical complexity involved in determining the specifications that process support software would have to meet. Shifting the focus of a process description to the data flows and processing steps that the process represents. Identifying data-related process characteristics that could be candidates for process design improvements. Identifying data stores that isolate entities that could be further developed using entity-relationship analysis. 40

More s Examples These examples demonstrate the flows of information for the registration process. The first of these is the context diagram. 41 More s Examples The second of these is the Level 0 Diagram 42

More s Examples This page illustrates the explosion of Process 4, Enroll Students. 43 Guidelines/Gumption Traps: (Places where DFDing can go astray) 1. System boundary establishment is an important judgment call. External entities aid in determining where the boundary is established. An interfacing system can be shown as an external entity. It may be necessary to dictate the input of the external entity to assure system control. 2. Label your processes carefully and vividly. A process that is labeled "Produce Report" and has the output of "Report" tells a reviewer very little. If you have trouble labeling anything on the diagram, it often is because you do not have adequate understanding. Choose names carefully. 3. Think logical, not physical. Ignore media, color, font, layout, packaging, time, sequencing, etc. Think "what", not "how". Something logical can be implemented physically in more than one way. Including "when" and "where" and "how" means you are getting physical. 44

Guidelines/Gumption Traps: (Places where DFDing can go astray) 4. Think data, not control, flow. Data flows are pathways for data. Think about what data is needed to perform a process or update a data store. A data flow diagram is not a flowchart and should not have loops or transfer of control. Think about the data flows, data processes, and data storage that are needed to move a data structure through a system. 5. Concentrate first on what happens to a "good" transaction. Systems people have a tendency to lose sight of the forest because they are so busy concentrating on the branches of the trees. 6. Reviewers will not be convinced by confusion. A quality data flow diagram will be so simple and straightforward that people will wonder what took you so long. 7. Data store to data store, external entity to external entity, or external entity to data store connection usually do not make sense. Data flows with an arrowhead on each end cause confusion in labeling. Do not use them. 8. Do not try to put everything you know on the data flow diagram. The diagram should serve as index and outline. The index/outline will be "fleshed out" in the data dictionary, data structure diagrams, and procedure specification techniques. Good Luck, Have Fun, and Stay on those Happy Trails... 45 Questions 46