Why DFD?: Process
Why DFD?: Process
Process
A process receives input data and produces output with a different
content or form. Processes can be as simple as collecting input data and
saving in the database, or it can be complex as producing a report
containing monthly sales of all retail stores in the northwest region.
Every process has a name that identifies the function it performs.
The name consists of a verb, followed by a singular noun.
Example:
Apply Payment
Calculate Commission
Verify Order
Notation
A rounded rectangle represents a process
Processes are given IDs for easy referencing
Process Example
Data Flow
A data-flow is a path for data to move from one part of the information
system to another. A data-flow may represent a single data element such
the Customer ID or it can represent a set of data element (or a data
structure).
Example:
Customer_info (LastName, FirstName, SS#, Tel #, etc.)
Order_info (OrderId, Item#, OrderDate, CustomerID, etc.).
Data flow Example:
Notation
Straight lines with incoming arrows are input data flow
Straight lines with outgoing arrows are output data flows
Note that:
Because every process changes data from one form into another, at least
one data-flow must enter and one data-flow must exit each process
symbol.
Rule of Data Flow
One of the rule for developing DFD is that all flow must begin with and
end at a processing step. This is quite logical, because data can't
transform on its own with being process. By using the thumb rule, it is
quite easily to identify the illegal data flows and correct them in a DFD.
An entity cannot provide data to another entity without some processing
occurred.
Data cannot move directly from an entity to a data story without being
processed.
Data cannot move directly from one data store to another without being
processed.
External Entity
An external entity is a person, department, outside organization, or other
information system that provides data to the system or receives outputs
from the system. External entities are components outside of the
boundaries of the information systems. They represent how the
information system interacts with the outside world.
A rectangle represents an external entity
They either supply data or receive data
They do not process data
Notation
A customer submitting an order and then receive a bill from the
system
A vendor issue an invoice
Note that:
External entities also are called terminators because they are data
origins or final destinations.
An external entity must be connected to a process through a data-
flow.
Top-Down Decomposition Techniques
Top-down decomposition, also called leveling, is a technique used to
show more detail in lower-level DFDs. Leveling is done by drawing a series
of increasingly detailed diagrams until the desired degree of detail is
reached. As shown in the Figure, DFD Leveling is first displaying the
targeted system as a single process, and then showing more detail until
all processes are functional primitives.
Balancing DFD
When performing top-down decomposition to a DFD to lower level DFDs,
the inputs and outputs must be conserved between levels of DFDs. For
example, level n & n+1 must have the same inputs and outputs
Numbering Convention
Use a unique reference number for each process symbol.
Other process numbers are in the hierarchy of:
(1, 2, 3,...);
(1.1, 1.2, 1.3, ..., 2.1, 2.2, 2.3,...);
(1.1.1, 1.1.2, 1.1.3,...).
Context-Level Diagram
A context diagram gives an overview and it is the highest level in a data
flow diagram, containing only one process representing the entire system.
It should be split into major processes which give greater detail and each
major process may further split to give more detail.
All external entities are shown on the context diagram as well as
major data flow to and from them.
The diagram does not contain any data storage.
The single process in the context-level diagram, representing the
entire system, can be exploded to include the major processes of
the system in the next level diagram, which is termed as diagram 0.
Level 1 DFD
Processes in diagram 0 (with a whole number) can be exploded further to
represent details of the processing activities. Example below shows the
next level ((Diagram 1) of process explosion.
Note that:
Although the following level 1 DFD only has three processes, there are
quite a few input and input from the processes to the external entities and
that could end up to be a few cross lines among them in the diagram; to
avoid this problem, we could use (master and auxiliary view) multiple
views of the same external entity in the DFD.
Level 2 DFD
If a process with a lot of data flow linking between a few external entities,
we could first extract that particular process and the associated external
entities into a separate diagram similar to a context diagram, before you
refine the process into a separate level of DFD; and by this way you can
ensure the consistency between them much easier.
Logical vs Physical Data Flow Diagrams
Data flow diagrams are categorized as either logical or physical. A logical
data flow diagram focuses on the business and how the business
operates. It is not concerned with how the system will be constructed. We
can ignore implementation specifics such as, computer configuration, data
storage technology, communication or message passing methods by
focusing on the functions performed by the system, such as, data
collection, data to information transformation and information reporting.
A physical data flow diagram shows how the system will be implemented,
including the hardware, software, files, and people in the system. It is
developed such that the processes described in the logical data flow
diagrams are implemented correctly to achieve the goal of the business.
Data cannot move directly from an entity to a data story without being
processed.
Data cannot move directly from one data store to another without being
•
Function oriented design OO design
System is designed from a functional point of system is viewed as a collection of
view objects. i.e entities
Top down decompoistion. student faculty book entities in LMS
example. LMS divided into book issue and
return a book bottom up approach
FD is used UML is used here