ER2 - DFDs
ER2 - DFDs
Chapter 5
Data and Process Modeling
Current logical:
reduced to essence, ignores physical implementation.
New logical:
similar to current logical but represents new system (can be same).
New Physical:
represents physical implementation of new system.
Yourdon & Coad or Gane & Sarson defining different visual representations for
processes, data stores, data flow and external entities.
Yourdon and Coad type data flow diagrams are usually used for system analysis and
design, while Gane and Sarson type DFDs are more common for visualizing information
systems.
Types of Data Flow Diagrams Notations
Gane-Sarson
DeMarco-Yourdon
Process
Process Number
Process Description
Process Number
Process Description
Process Place
Processes transform incoming data flow(s) into outgoing data flow(s)
Data flows must be modified in some way.
Labeled with a name (verb) indicating nature of transformation(s).
Also labeled with a number indicating position in DFD hierarchy.
8
Gane-Sarson
DeMarco-Yourdon
Entity
Entity Name
Entity Name
External entities
“is a person or organization, lying outside the context of a system, that is a net
originator or receiver of system data” [Source: DeMarco, 1979]
Depicts origin and/or destination of data.
Often referred to as sources and sinks.
Anything flowing into the system must end up either in a data store or out of the
system at a sink.
Labeled with a noun.
Data Flow
Data Name
Data Name
Gane-Sarson
DeMarco-Yourdon
Depict data in motion and are shown as named and directed links connecting
external entities, data stores, and processes.
Knowing the composition of the packets (data items), the origin, and the
destination of a data flow is fundamental to the preparation of a DFD.
Data Store
Data Store Name
Data Store Symbol
Data Store Symbol
Data Store Name
Gane-Sarson
DeMarco-Yourdon
Depict data at rest.
Temporary repositories for data.
Real world examples include:
memory
data bases
Names of data stores are important and should be nouns.
11
Process
Process Number
Process Description
Process Place
Rules
No process can have only outputs (a miracle)
No process can have only inputs (black hole)
A process has a verb phrase label
12
Process Number
Process Description
Process Place
13
Entity
Entity Name
Entity Name
Entity Name
16
Entity
Entity Name
Entity Name
17
Data Store
Data Store Name
Data Store Symbol
Data Store Name
Data Store Symbol
Data Store Name
Data Store Symbol
A data flow to a data store means update
A data flow from a data store means retrieve or use
Rule
18
Data Store
Data Store Name
Data Store Symbol
Data Store Name
Data Store Symbol
19
Common Errors
20
Common Errors
Rule
Data cannot move directly from a source to a sink
21
Common Errors
Rule
Data cannot move directly from a source to a sink
22
Common Errors
Rule
Data cannot be moved directly from one store to another
Data cannot move directly from an outside source to a data store
Data cannot move directly from a data store to a data sink
Data store has a noun phrase label
23
Customer
1
Open new account
New account application
Customer accounts
Account data
2
Frizzing a customer account
Status of a new customer account
Accountant department
Frizzing account letter
Customer account data
customer data
3
Prepare the monthly account report for a customer
customer data
Account number and address
Monthly account report
25
Balancing DFDs
When decomposing a DFD, you must conserve inputs to, and outputs from, a process at
the next level of decomposition.
[Source: Valacich et al., 2006]
Data flows that enter and leave a parent process must be identical to those that
enter and leave the child DFD.
conserved between levels of DFDs. For example, level n & n+1 must have the same
inputs and outputs
DFD Example
Draw the DFD for a distance education university. The enrolment process works as
follows: Students send in an application form containing their personal details,
and their desired course The university checks that the course is available and
that the student has necessary academic qualifications. If the course is available
the student is enrolled in the course, and the university confirms the enrolment by
sending a confirmation letter to the student. If the course is unavailable the
student is sent a rejection letter.
Context Diagram
In this case:
External entity - Student
Process - Student Administration process application
Data Flows - Application Form, Confirmation/Rejection Letter
System/Level 0 DFD
External entity - Student
System/Level 0 DFD
Logical DFD allows analyst to understand the business being studied and to identify
the reason behind implementation plans.
Very often, logical DFD does not contain data stores other than files or a
database, making less complex than physical DFD and is easier to develop.
Describing processes in more detail than do logical DFDs: Describes all steps for
processing of data.
Specifying actual names of files and printouts: Logical data flow diagrams
describes actual filenames and reports, so that the programmers can relate those
with the data dictionary during the developmental phase of the system.
Adding controls to ensure the processes are done properly: These are conditions or
validations of data that are to be met during input, update, delete, and other
processing of data.
Further Reading
http://yourdon.com/strucanalysis/wiki/index.php?title=Chapter_9
Data dictionary
Data stores:
Name
Symbol
Description
Data item
Record place
Authorization
Process:
Number
Name
Description
Input
Output
process place
Summary
Basic concepts associated with DFDs
data flows, processes, external entities, and data stores.
leveling … dividing a large complex DFD into smaller related DFDs
balancing … flows in and out of a parent process are identical to that of the child
DFD