FYP Lecture Constructing Data Flow Diagrams
Transcript of FYP Lecture Constructing Data Flow Diagrams
![Page 1: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/1.jpg)
www.unimas.my
FYP Lecture Constructing Data Flow Diagrams
11 November 2016
Semester 1, 2016-2017
Adapted by the TMF1014/SAD Team Semester 1, 2016-2017
Kendall & Kendall Systems Analysis and Design, Global Edition, 9e
![Page 2: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/2.jpg)
www.unimas.my
Objectives
To develop and explode logical DFDs that illustrate your FYP proposed system.
![Page 3: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/3.jpg)
www.unimas.my
Current problems
Unsure of how/where to start?
Unsure on how Data Flow Diagrams look like?
![Page 4: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/4.jpg)
www.unimas.my
Imagine…
You are producing a diagram that MUST pass this test:
You will finish the DFD, then hand it to someone who will then proceed to describe the process back to you based upon what he or she sees in your diagram.
If this process recitation captures your original process description (and, of course, the appropriate characteristics of the business process itself), your DFD is reasonably accurate.
![Page 5: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/5.jpg)
www.unimas.my
Data Flow Diagrams
Graphically characterize data processes and flows in a business system
Depict:
– System inputs
– Processes
– Outputs
![Page 6: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/6.jpg)
www.unimas.my
WHAT is in DFD?
WHEN to do DFD?
WHY DFD?
WHO use DFD?
WHERE to use DFD?
HOW to draw DFD?
Do YOU have these question marks in your mind?
![Page 7: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/7.jpg)
www.unimas.my
Basic Symbols
A double square for an external entity
An arrow for movement of data from one point to another
A rectangle with rounded corners for the occurrence of a transforming process
An open-ended rectangle for a data store
![Page 8: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/8.jpg)
www.unimas.my
The Four Basic Symbols Used in Data Flow Diagrams, Their Meanings, and Examples
![Page 9: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/9.jpg)
www.unimas.my
External Entities
Represent another department, a business, a person, or a machine
A source or destination of data, outside the boundaries of the system
Should be named with a noun
![Page 10: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/10.jpg)
www.unimas.my
Data Flow
Shows movement of data from one point to another
Described with a noun
Arrowhead indicates the flow direction
Represents data about a person, place, or thing
![Page 11: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/11.jpg)
www.unimas.my
Process
Denotes a change in or transformation of data Represents work being performed in the system Naming convention: – Assign the name of the whole system when naming a high-
level process – To name a major subsystem attach the word subsystem to
the name – Use the form verb-adjective-noun for detailed processes
![Page 12: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/12.jpg)
www.unimas.my
Data Store
A depository for data that allows examination, addition, and retrieval of data
Named with a noun, describing the data
Data stores are usually given a unique reference number, such as D1, D2, D3
Represents a: – Database
– Computerized file
– Filing cabinet
![Page 13: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/13.jpg)
www.unimas.my
Data Flow Diagram Levels
Data flow diagrams are built in layers
The top level is the context level
Each process may explode to a lower level
The lower level diagram number is the same as the parent process number
Processes that do not create a child diagram are called primitive
![Page 14: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/14.jpg)
www.unimas.my
Creating the Context Diagram
The highest level in a data flow diagram
Contains only one process, representing the entire system
The process is given the number 0
All external entities, as well as major data flows are shown
![Page 15: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/15.jpg)
www.unimas.my
Context Level Diagram
![Page 16: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/16.jpg)
www.unimas.my
Drawing Diagram 0 (DFD Level 0)
The explosion of the context diagram
May include up to nine processes
Each process is numbered
Major data stores and all external entities are included
![Page 17: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/17.jpg)
www.unimas.my
Drawing Diagram 0 (continued)
Start with the data flow from an entity on the input side
Work backward from an output data flow
Examine the data flow to or from a data store
Analyze a well-defined process
Take note of any fuzzy areas
![Page 18: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/18.jpg)
www.unimas.my
Note Greater Detail in Diagram 0
![Page 19: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/19.jpg)
www.unimas.my
Creating Child Diagrams
Each process on diagram 0 may be exploded to create a child diagram
A child diagram cannot produce output or receive input that the parent process does not also produce or receive
The child process is given the same number as the parent process
– Process 3 would explode to Diagram 3
![Page 20: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/20.jpg)
www.unimas.my
Creating Child Diagrams (continued)
Entities are usually not shown on the child diagrams below Diagram 0
If the parent process has data flow connecting to a data store, the child diagram may include the data store as well
When a process is not exploded, it is called a primitive process
![Page 21: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/21.jpg)
www.unimas.my
Differences between the Parent Diagram (above) and the Child Diagram (below)
![Page 22: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/22.jpg)
www.unimas.my
Steps in Developing Data Flow Diagrams
![Page 23: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/23.jpg)
www.unimas.my
HOW to draw/construct a DFD? A Journey to Produce a DFD
Step 1: List down Business Activities (Alert with Verbs and Nouns)
Step 2: Create a Context Diagram
Step 3 : Create a Level-0 Diagram
Step 4: Create a Level-1 (Child Diagram)
Step 5: Check for Errors and Naming
HOW?
![Page 24: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/24.jpg)
www.unimas.my
The Journey shows step by step to draw/construct a DFD:
1)List down business activities. Determine various External Entities (EE), Data Flows (DF), Processes (P) and Data Stores (DS). Alert with any kind of verbs and nouns .
For each business activity:
i. identify the possible DF input(s) and DF output(s)
ii. for each input (DF),where does the data come from. Does the data (DF) come from a source (EE) or a process (P) or a file (DS)?
iii. for each output (DF), where does the data (DF) go to? Does the data is sent to another process (P) or a sink /destination (EE) or stored to a file (DS) ?
2)Create a Context Diagram contains ONE process representing the entire system, and shows EE and DF to and from the system. DO NOT show any detailed processes (P) or data stores (DS).
3)Create a Level-0 Diagram, the next level. Show processes (P), but keep them general. Show data stores (DS) at this level.
4)Create a Level-1 Diagram (if any) – to be continued
5)Check for errors and make sure the labels/naming you assigned to each process (P) and data flow (DF) are correct and meaningful.
![Page 25: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/25.jpg)
www.unimas.my
Relationship among DFD levels
![Page 26: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/26.jpg)
www.unimas.my
Event Modeling and Data Flow Diagrams
An input flow from an external entity is sometimes called a trigger because it starts the activities of a process
Events cause the system to do something and act as a trigger to the system
An approach to creating physical data flow diagrams is to create a data flow diagram fragment for each unique system event
![Page 27: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/27.jpg)
www.unimas.my
Event Response Tables
An event table is used to create a data flow diagram by analyzing each event and the data used and produced by the event
Every row in an event table represents a data flow diagram fragment and is used to create a single process on a data flow diagram
![Page 28: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/28.jpg)
www.unimas.my
An Event Response Table for an Internet Storefront
![Page 29: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/29.jpg)
www.unimas.my
Data Flow Diagrams for the First Three Rows of the Internet Storefront Event Response Table
![Page 30: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/30.jpg)
www.unimas.my
Use Cases and Data Flow Diagrams
Each use case defines one activity and its trigger, input, and output
Allows the analyst to work with users to understand the nature of the processes and activities and then create a single data flow diagram fragment
![Page 31: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/31.jpg)
www.unimas.my
Basic Rules
The data flow diagram must have at least one process
Must not be any freestanding objects
A process must have both an input and output data flow
A data store must be connected to at least one process
External entities should not be connected to one another
![Page 32: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/32.jpg)
www.unimas.my Rules Rules Example
At least one input data flow and at least one output data flow for a process
Output data flows usually have different names than input data flows for a process
Data flows only in one direction
Every data flow connects to at least one process.
Data from one external entity cannot move directly to another external entity
Data from one data store cannot move directly to another data store
X
X
X
X
![Page 33: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/33.jpg)
www.unimas.my
![Page 34: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/34.jpg)
www.unimas.my
Data Flow Diagrams Error Summary
Forgetting to include a data flow or pointing an arrow in the wrong direction
Connecting data stores and external entities directly to each other
Incorrectly labeling processes or data flow
![Page 35: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/35.jpg)
www.unimas.my
Data Flow Diagrams Error Summary (continued)
Including more than nine processes on a data flow diagram
Omitting data flow
Creating unbalanced decomposition (or explosion) in child diagrams
![Page 36: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/36.jpg)
www.unimas.my
Checking the Diagrams for Errors
Forgetting to include a data flow or pointing an arrow in the wrong direction
![Page 37: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/37.jpg)
www.unimas.my
Checking the Diagrams for Errors
Connecting data stores and external entities directly to each other
![Page 38: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/38.jpg)
www.unimas.my
Typical Errors that Can Occur in a Data Flow Diagram (Payroll Example)
![Page 39: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/39.jpg)
www.unimas.my
Check for errors and make sure
the labels/naming you
assigned to each element are
correct and meaningful.
Before you finish drawing Data Flow
Diagrams…
![Page 40: FYP Lecture Constructing Data Flow Diagrams](https://reader030.fdocuments.in/reader030/viewer/2022020623/61f1fd08d005cf5eed6629aa/html5/thumbnails/40.jpg)
www.unimas.my
Reference
Kendall, K.E. and Kendall, J.E. (2014). Systems Analysis and Design (Global Edition), Ninth Edition, Prentice Hall, USA.