practical3
practical3
- 3
A Data Flow Diagram (DFD) is a graphical representation of the flow of data within a system. It visually
illustrates how data moves through processes, how it is stored, and how it interacts with external
entities. DFDs are used to understand how data is input, processed, stored, and output in an information
system. They are widely used in systems analysis and design to map out the flow of data and processes.
A DFD can be applied to represent a wide range of systems, including software systems, business
processes, and workflows, helping stakeholders understand system interactions in an intuitive way.
2. Characteristics of DFD
• Data-Centric Representation: DFD focuses on how data flows within a system rather than the
control flow. It emphasizes the movement of data from one point to another.
• Abstraction: DFDs use a high-level representation that abstracts away low-level implementation
details, making it easier to understand complex systems.
• Clarity and Simplicity: DFDs help simplify complex systems by breaking down a system into
smaller, more manageable components.
• Hierarchical Structure: DFDs follow a hierarchical structure where larger processes are broken
down into smaller, more detailed processes in higher levels of DFDs.
• Focus on Processes and Data: DFDs illustrate the processes involved in transforming inputs into
outputs, with a primary focus on how data is processed, stored, and transferred.
3. Features of DFD
• Entities: External agents or users that interact with the system. They may be people, external
systems, or devices that provide input or receive output from the system.
• Processes: Represent the actions or transformations applied to the data. Each process takes
inputs and produces outputs, and its function is typically represented as a verb (e.g., “validate
order”).
• Data Stores: Represent the storage of data within the system. Data can be stored temporarily or
persistently.
• Data Flows: Represent the movement of data between entities, processes, and data stores.
Arrows indicate the direction of the flow of information.
• External Entities: These are the sources or destinations of data that are outside the system being
modeled. External entities could include users, customers, or other systems.
4. Types of DFD
Logical data flow diagram mainly focuses on the system process. It illustrates
how data flows in the system. Logical Data Flow Diagram (DFD) mainly focuses
on high level processes and data flow without diving deep into technical
Physical data flow diagram shows how the data flow is actually implemented in
the system. In the Physical Data Flow Diagram (DFD), we include additional
implementation.
5. Components of DFD
Processes:
o Represent the transformations or actions that occur in the system. Processes are
depicted as circles or ovals. A process takes an input (data) and produces an output.
Data Stores:
o Represent repositories where data is stored within the system. Data stores are typically
depicted as open-ended rectangles.
o Represent the movement of data between entities, processes, and data stores. They are
shown as arrows, with the direction indicating the flow of data.
External Entities:
o Represent the actors (either human or systems) outside the system that interact with it
by providing inputs or receiving outputs. These entities are usually depicted as
rectangles.
The DFDs are represented in levels to show increasing detail as we break down processes. The levels
help clarify the system’s functioning at various depths:
o A high-level diagram representing the entire system as a single process. It shows the
system’s boundary and interactions with external entities.
o Example: A system that handles customer orders will have one process ("Order
Processing System") and show data flows between this process and the external entities
like "Customer" and "Warehouse."
Level 1:
o Represents the primary processes that make up the system. It decomposes the context
diagram's process into several smaller, well-defined processes. Data stores may also be
introduced.
o Example: The "Order Processing System" from Level 0 can be broken into "Take Order,"
"Verify Payment," "Generate Invoice," and "Ship Order."
o Provides even more detail by breaking down the processes shown in Level 1. Each
subprocess is represented as a smaller process with associated data flows and stores.
o Example: "Take Order" in Level 1 may break down further into processes like "Enter
Order," "Validate Order Details," "Store Order in Database."
Each level of DFD provides more granularity and clarity for the developers and analysts.
o Begin by identifying all external actors that interact with the system. These could be
customers, other systems, or departments. Place these as entities (rectangles) on the
diagram.
o Identify the major functions or operations that the system performs. Each process
should be named with a descriptive verb (e.g., "Process Payment," "Generate Report").
3. Identify Data Stores:
o Identify where data is stored within the system, whether temporarily or permanently.
Label these data stores (open-ended rectangles).
o Determine the flow of data between external entities, processes, and data stores. Use
arrows to indicate the direction of data flow and label them appropriately (e.g., "Order
Details," "Invoice")
o Start with a high-level context diagram (Level 0) and break it down further into more
detailed DFDs (Level 1, Level 2, etc.) by decomposing the major processes into
subprocesses and adding more data flows.
o Once the DFD is complete, verify that the diagram correctly represents the flow of data
in the system, that no data is missing or redundant, and that it accurately reflects the
system’s behavior.
7. Ensure Clarity:
o Make sure the diagram is easy to understand by using clear labeling for processes, data
stores, external entities, and data flows. The diagram should be simple yet
comprehensive.
8.Example :
Hotel reservation process with the flow of information between admin and guests.
1. Level 0
2. Level 1
3. Level 2