Title: Data Flow Diagrams
Objective
To understand the fundamentals of Data Flow Diagrams in system analysis
To create DFDs at different levels (Level 0, Level 1, Level 2)
To analyze data flow and process decomposition in various systems
To apply structured analysis techniques using DFD methodology
Theory
Data Flow Diagrams are graphical tools used to depict the flow of data through a system and the
processes that transform this data. They provide a logical model of what the system does,
independent of how it is implemented physically. DFDs focus on the movement and transformation
of data rather than the control flow or procedural aspects of the system. This data-centric approach
makes them particularly valuable for understanding system requirements, identifying data
dependencies, and designing system architecture.
DFDs follow a hierarchical decomposition approach, starting with a high-level context diagram
(Level 0) that shows the system as a single process, then progressively decomposing into more
detailed levels. This top-down approach allows analysts to manage system complexity by focusing
on different levels of abstraction. The diagrams use a standard set of symbols to represent different
components, ensuring consistency and universal understanding across different analysts and
organizations. The structured methodology helps identify data requirements, process logic, and
system boundaries while maintaining clear separation between logical design and physical
implementation concerns.
Components of Data Flow Diagrams
Processes: Represented by circles or bubbles, processes transform input data into output data. Each
process is numbered and named with a verb phrase describing the transformation. Processes
represent the work or activities performed on data within the system.
Data Stores: Shown as open rectangles or parallel lines, data stores represent repositories where
data is held temporarily or permanently. They can be files, databases, or any data collection that the
system uses or maintains.
External Entities: Depicted as rectangles or squares, external entities are sources or destinations of
data that exist outside the system boundary. They represent people, organizations, or systems that
interact with the system but are not part of it.
Data Flows: Represented by labeled arrows, data flows show the movement of data between
processes, data stores, and external entities. The labels describe the data being transferred.
DFD Levels and Decomposition
Level 0 (Context Diagram): Shows the entire system as a single process with external entities and
data flows crossing the system boundary. It provides the highest level view of system scope and
external interactions.
Level 1 DFD: Decomposes the context diagram into major processes, showing the primary
functional areas of the system and how they interact through data flows and shared data stores.
Level 2+ DFDs: Further decompose Level 1 processes into more detailed sub-processes, continuing
until each process represents a primitive function that cannot be meaningfully decomposed further.
Benefits and Applications
DFDs provide clear visualization of data movement, help identify system requirements, facilitate
communication with stakeholders, support system design and documentation, enable process
analysis and optimization, and serve as foundation for database design and system implementation.
Methodology
1. System Analysis: Identified different systems for DFD modeling
2. Context Diagram Creation: Developed Level 0 DFDs showing system boundaries
3. Process Decomposition: Created Level 1 DFDs breaking down major processes
4. Detailed Analysis: Developed Level 2 DFDs for specific process areas
5. Validation: Reviewed diagrams for consistency and completeness
6. Tool Usage: Used StarUML for professional diagram creation
Systems Analyzed
1. ATM Banking System
System Description: An automated banking system that processes customer transactions through
electronic interfaces.
1.1 Level 0 DFD
External Entities:
Customer: Initiates transactions and receives services
Bank: Validates transactions and maintains account records
Data Flows:
Insert Card/Enter PIN (Customer → ATM Controller)
Dispense Cash/Show Balance (ATM Controller → Customer)
Transaction Request (ATM Controller → Bank)
Approval/Denial (Bank → ATM Controller)
Diagram:
1.2 Level 1 DFD
Processes:
1.0 Card Reader: Processes card insertion and data extraction
2.0 Transaction Handler: Manages transaction processing and validation
3.0 Cash Dispenser: Controls cash dispensing operations
Data Stores:
Transaction Log: Records all system transactions
Diagram:
1.3
Level
2
DFD
Sub-
processes of Transaction Handler:
1.1 Check Availability: Verifies doctor schedules
1.2 Confirm Booking: Processes appointment confirmations
1.3 Notify Patient: Sends appointment notifications
Diagram:
2. E-Commerce System
System Description: An online shopping platform facilitating product sales and inventory
management.
2.1 Level 0 DFD
External Entities:
Customer: Places orders and browses products
Seller: Manages product listings and inventory
Data Flows:
Place Order (Customer → E-Commerce System)
Add Product (Seller → E-Commerce System)
Order Confirmation (E-Commerce System → Customer)
Update Inventory (E-Commerce System → Catalog DB)
Data Stores:
Orders DB: Stores customer orders and transactions
Catalog DB: Maintains product information and inventory
Diagram:
2.2 Level 1 DFD
Processes:
1.0 Order Processing: Handles customer order workflow
2.0 User Account: Manages customer profiles and preferences
3.0 Product Catalog: Maintains product listings and search functionality
Diagram:
2.3 Level 2 DFD
Sub-processes of Order Processing:
1.1 Cart Management: Handles shopping cart operations
1.2 Payment: Processes payment transactions
1.3 Shipping: Manages order fulfillment and delivery
Diagram:
3. Hospital Appointment Booking System
System Description: A healthcare management system for scheduling and managing patient
appointments.
3.1 Level 0 DFD
External Entities:
Patient: Requests appointments and receives confirmations
Doctor: Updates availability and receives schedules
Data Flows:
Request Appointment (Patient → Hospital System)
Confirm Booking (Hospital System → Patient)
Update Availability (Doctor → Hospital System)
Store Records/Retrieve Data (Hospital System ↔ Database)
Data Stores:
Database: Central repository for appointments and patient data
Diagram:
3.2 Level 1 DFD
Processes:
1.0 Schedule Management: Manages doctor availability and time slots
2.0 User Management: Handles patient registration and information
3.0 Appointment Booking: Processes appointment requests and confirmations
Diagram:
3.3 Level 2 DFD
Sub-processes of Schedule Management:
1.1 Check Availability: Queries doctor schedules for open slots
1.2 Confirm Booking: Records confirmed appointments
1.3 Notify Patient: Sends appointment confirmations and reminders
Diagram:
Results and Learning Outcomes
1. Skills Developed
DFD creation and decomposition techniques
Data flow analysis and process identification
Structured systems analysis methodology
StarUML diagramming tool proficiency
2. Understanding Gained
Hierarchical system decomposition principles
Data-centric system modeling approaches
Process and data store identification techniques
System boundary definition and external entity analysis
Discussion
This lab demonstrated the hierarchical nature of Data Flow Diagram modeling for three systems,
progressing from Level 0 context diagrams to detailed Level 2 breakdowns. The ATM system
showed simple transactional flows, the E-Commerce system had complex multi-stage processes,
and the Hospital system highlighted collaborative workflows. Context diagrams defined system
boundaries, Level 1 identified major functions and data links, and Level 2 detailed process logic
and data transformations. Key challenges included setting the right process granularity, maintaining
consistency, and ensuring complete data store identification. Overall, the hierarchical approach
effectively managed complexity and supported clear, comprehensive system analysis for design and
implementation.
Conclusion
Data Flow Diagrams proved to be powerful tools for analyzing and documenting system data
processing requirements. The hierarchical decomposition approach enabled systematic analysis of
complex systems while maintaining clear separation between logical design and physical
implementation. Through modeling three different systems, we demonstrated the versatility and
effectiveness of DFD methodology in capturing data transformation processes across diverse
application domains.