WINSEM2020-21 CSE1005 ETH VL2020210504074 Reference Material I 08-Apr-2021 DFD
WINSEM2020-21 CSE1005 ETH VL2020210504074 Reference Material I 08-Apr-2021 DFD
WINSEM2020-21 CSE1005 ETH VL2020210504074 Reference Material I 08-Apr-2021 DFD
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
Key Definitions
• Logical process models describe
processes without suggesting how they
are conducted
• Physical models include information about
how the processes are implemented
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.
What are data-flow diagrams?
• Data-flow diagrams (DFDs) model a perspective of the system that is
most readily understood by users – the flow of information through the
system and the activities that process this information.
• Data-flow diagrams provide a graphical representation of the system that
aims to be accessible to computer specialist and non-specialist users
alike.
• The models enable software engineers, customers and users to work
together effectively during the analysis and specification of requirements.
• Although this means that our customers are required to understand the
modeling techniques and constructs, in data-flow modeling only a limited
set of constructs are used, and the rules applied are designed to be
simple and easy to follow. These same rules and constructs apply to all
data-flow diagrams (i.e., for each of the different software process
activities in which DFDs can be used).
DFD notations
• External entities — the sources from which information flows into the
system and the recipients of information leaving the system. External
entities are notated as ovals.
• Data-flows — the data inputs to and outputs from to these activities.
Data-flows are notated as named arrows.
• Processes — the activities carried out by the system which use and
transform information. Processes are notated as rectangles.
• Data stores — where information is stored within the system. Data
stores are notated as rectangles.
User
External Entities
• External entities are entities outside of the system boundary
which interact with the system, in that they send information
into the system or receive information from it.
• External entities may be external to the whole organization; or
just external to the application area where users' activities are
not directly supported by the system under investigation.
• External entities are often referred to as sources and sinks.
• All information represented within the system is sourced
initially from an external entity. Data can leave the system
only via an external entity
Rules for external entities
• Each external entity must communicate with the system in
some way, thus there is always a dataflow between an
external entity and a process within the system.
• External entities may provide and receive data from a
number of processes. It may be appropriate, for the sake of
clarity and to avoid crisscrossing of data flows, to depict the
same external entity at a number of points on the diagram.
Data-flows
• A data-flow represents a package of information flowing
between two objects in the data-flow diagram.
• Data-flows are used to model the flow of information into the
system, out of the system, and between elements within the
system.
• Occasionally, a data-flow is used to illustrate information
flows between two external entities, which is, strictly
speaking, outside of the system boundaries. However,
knowledge of the transfer of information between external
entities can sometimes aid understanding of the system
under investigation, in which case it should be depicted on
the diagram.
A data-flow is depicted on the diagram as a directed line drawn between the source
and recipient of the data-flow, with the arrow depicting the direction of flow.
Rules for data-flows
– The data flows should always be labeled
– The labels should be precise and informative
– You can join two similar input data flows(join)
or two similar output data flows (fork)
Rules for data-flows
• Information always flows to or from a process; the other end
of the flow may be an external entity, a data store or another
process. An occasional exception to this rule is a data-flow
between two external entities.
• Data stores may not be directly linked by data-flows;
information is transformed from one stored state to another
via a process.
• Information may not flow directly from a data store to an
external entity, nor may it flow from an external entity directly
to a data store. This communication and receipt of information
stored in the system always takes place via a process.
Rules for data-flows
• The sources (where data of interest to the system is
generated without any corresponding input) and sinks (where
data is swallowed up without any corresponding output) of
data-flows are always represented by external entities.
• When something significant happens to a data-flow, as a
result of a process acting on it, the label of the resulting data-
flow should reflect its transformed status. For example,
“Telephoned Service Call” becomes “Service Call Form” once
it has been logged.
Processes
• Processes are the essential activities, carried out within the
system boundary, that use information.
• A process is represented in the model only where the
information which provides the input into the activity is
manipulated or transformed in some way, so that the data-
flowing out of the process is changed compared to that which
flowed in.
• The activity may involve capturing information about
something that the organisation is interested in.
Ticket
Booking
Registration
Process
Class schedule
Class list
Registrar
Level 1 DFD
• The level 1 DFD we construct is a more refined
version of the context diagram.
• It covers the entire system, all the main processes
are shown
• The DFD should be balanced with respect to
context diagram
– No new external entities should be there
– The data flows from context diagrams should be
visible
• Rules:
– It should consists of 5-9 processes(bubbles).
– Repetition of data sources is allowed.
– Process can not be repeated.
DFD: Course Registration System
Level 1 DFD
Students
Schedules Registrar
Class Lists
Students Faculty
1.1 Obtain
List of 1.2 Check
Student
Preferences Eligibility
Preferences
Eligible Students
Produce Product
Store Product
Produce Product
Store Product VENDOR
Product Served
Produce Product
Inventory
Store Product Received Goods
3.0
VENDOR Procure- Order
Purchase Order
Order Raw Materials ment
Decisions
Collect Payment
Production RAW MATERIALS
Schedule
INVENTORTY
Order Raw Materials Production Data
Pay for Raw Materials
2.3
Quantity Produced & Location Stored
Store
Pay for Labor Product
Creating Data Flow Diagrams
Example 4. Construct Level 1 (continued)
Create a level 1
decomposing the processes Level 1 DFD
in level 0 and identifying Order Decision
PURCHASE
data stores. 3.1
ORDER
Produce
Purchase
Customer Order Order Quantity On-Hand
3.2
Produce Product Receive
Items
Store Product RECEIVED ITEMS
Payment Approval
Order Raw Materials
VENDOR
Pay for Raw Materials 3.3
Pay
Vendor
Pay for Labor
Payment
Creating Data Flow Diagrams
Example 4. Construct Level 1 (continued)
Create a level 1
decomposing the processes Level 1 DFD
in level 0 and identifying Time Worked
Payment Approval
Order Raw Materials
Pay for Raw Materials 4.3
Pay
Employee
PAYMENTS
Pay for Labor
Payment
Process Decomposition
1.1 1.2
1.0
Record Receive
Sale
Order Payment
0.0
Lemonade
System
3.0 3.1 3.2 3.3
Produce
Procure- Purchase Receive Pay
ment Order Items Vendor