UML Data Flow Diagram in Software Engineering

NikulZinzuvadiya 0 views 26 slides Oct 08, 2025
Slide 1
Slide 1 of 26
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26

About This Presentation

A Data Flow Diagram (DFD) is just a picture (diagram) that shows how data moves inside a system:
Where data comes from (input)


Where it goes (output)


How it gets processed in between


Where it gets stored


It helps us understand a system clearly without writing long text.


Slide Content

UML Data Flow Diagram
Prepared by:
Asst. Prof. Nikul Zinzuvadiya

What is a DFD?
A Data Flow Diagram (DFD) is just a picture (diagram) that shows how data moves inside a system:
●Where data comes from (input)

●Where it goes (output)

●How it gets processed in between

●Where it gets stored

It helps us understand a system clearly without writing long text.

Characteristics of DFD
Graphical – It uses circles, arrows, rectangles, etc. instead of text. So it’s easy to read.

Problem Analysis – Helps in understanding how a system works and where improvements are needed.

Abstraction – Shows the flow of data, not the technical coding details.

Hierarchy – We can make DFDs at different levels:

●Level 0 (Context Diagram) – Big picture (overview of the system).

●Level 1, 2, … – More detailed breakdown of each process.

DFD = A map that shows how information travels in a system.

Levels of DFD
A DFD has levels, just like zooming in on a map:
●Level 0 → Big picture (overview)

●Level 1 → Breaks big picture into smaller parts

●Level 2, 3… → Goes deeper step by step

0-Level DFD (Context Diagram)
Shows the whole system as one single process.
Only shows:
●Inputs (what comes in)
●Outputs (what goes out)
●External entities (users, other systems, etc.)
No details of inside working.
?????? Example: ATM = one big process → “Withdraw Cash System” with arrows for input (Card + PIN) and
output (Cash).

1-Level DFD
Breaks the big process into sub-processes.

Shows how the system actually works inside.

Still not too detailed, but clearer than Level 0.
?????? Example: ATM → processes like Verify PIN, Check Balance, Dispense Cash.

2-Level DFD
Goes even deeper.

Each sub-process from Level 1 is further divided.

Helps in understanding specific requirements.
?????? Example: Verify PIN → sub-processes like Read Card Info, Compare PIN with Database.

3-Level DFD
Most detailed DFD.
Shows every small step, data store, and data flow.
Useful for complex systems where we need full clarity.
?????? Example: Dispense Cash → subprocesses like Send Signal to Cash Dispenser, Update Transaction
Record, Print Receipt.
In short:
●Level 0 → Big picture (just system + inputs/outputs).

●Level 1 → Break system into main processes.

●Level 2 → Break processes into smaller steps.

●Level 3 → Very detailed view of everything.

Main Components of a DFD
1.Process (Circle / Oval / Rounded Rectangle)
●Represents the work or function happening in the system.

●Converts input data → output data.

●Example: Verify PIN, Process Payment, Generate Report.

2.Data Flow (Arrow →)
●Shows how data moves between processes, data stores, and external entities.

●Arrow direction shows where the data goes.

●Example: Customer Info → Order System.

3.Data Store (Two Parallel Lines or Open Rectangle)
●Represents where data is stored for later use.

●Can be a database, file, or even a manual folder.

●Example: Bank Database, Order Records.

●If data comes out → reading, if data goes in → storing/updating.

4.External Entity (Square / Oval / Stick Figure)
●Things outside the system that interact with it.

●Can be people, organizations, or other systems.

●Example: Customer, Bank, Supplier.

In Short:
●Process → Work happening inside.

●Data Flow → Movement of information.

●Data Store → Where info is kept.

●External Entity → Outside actors interacting with the system.

Data CAN Flow:
1.External Entity → Process
(Example: Customer → Place Order)

2.Process → External Entity
(Example: Generate Bill → Customer)

3.Process → Data Store
(Example: Save Transaction → Bank Database)

4.Data Store → Process
(Example: Bank Database → Verify PIN)

5.Process → Process
(Example: Verify PIN → Check Balance)

Data CANNOT Flow:
1.External Entity → External Entity
(Customer cannot directly talk to Bank inside system without a process)

2.External Entity → Data Store
(Customer cannot directly write into Bank Database)

3.Data Store → External Entity
(Bank Database cannot directly give data to Customer without a process)

4.Data Store → Data Store
(One database cannot directly send data to another without a process)

Example of 0-level DFD

Shows the system as a single process (Railway Reservation System).

External entities interact with it:

●Passenger → sends request (book ticket).

●Train Schedule → provides train timings/details.

●Reservation → system gives confirmation/output.

Focus is only on inputs and outputs, not on internal details.

Example of 1-level DFD



What Level 1 DFD Shows?
●It takes the single process from Level 0 (Railway Reservation System)

●Breaks it into smaller processes (sub-processes)

●Shows data flow between processes, entities, and data stores

Processes in Level 1 DFD (Railway Reservation System)
1.Enter Passenger Detail – Passenger provides details to start the process.

2.Make Reservation – Reservation request is handled here.

3.Cancel Reservation – Used if a passenger wants to cancel.

4.Check Availability – Looks into train schedule for seat availability.

5.Update Reservation – Updates records after booking or cancellation.

External Entities
●Passenger – Provides details, requests booking/cancellation.

●Reservation Clerk – Helps in reservation and cancellation.

●Train Time Table – Provides train schedule.

Data Stores
●Passenger Data – Stores passenger information.

●Reservation Data – Stores reservation records.

●Train Schedule – Stores timetable and availability info.

Example of 2-level DFD

●It takes each process from Level 1 and breaks it into smaller sub-processes.

●Shows more details about data movement inside the system.

●Useful when we need to analyze specific parts of the system in depth.

"Make Reservation" Process (from Level 1 DFD)
In Level 2, this can be expanded into:
1.Collect Passenger Details
○Get name, age, ID proof, journey date, etc.
○Data goes into Passenger Data store.
2.Check Train Availability
○Cross-check with Train Schedule.
○If seats available → proceed, else reject.
3.Process Payment
○Passenger pays via cash, card, or online.
○Payment request sent to Payment System.
4.Generate Ticket
○Create a ticket with reservation number.
○Save into Reservation Data Store.
○Send confirmation to Passenger.

Data Stores in Level 2
●Passenger Data (details of travelers)

●Reservation Data (bookings/cancellations)

●Train Schedule (train timings and seat availability)

●Payment Records (transaction details)

Advantages of DFD
1.Helps Understand the System – Shows how information flows step by step.

2.Simple Visual Representation – Easy to understand for both technical and non-technical people.

3.Breaks Down Complex Systems – Divides into smaller processes for clarity.

4.Good for Documentation – Useful for recording system design for current and future use.

Disadvantages of DFD
1.Time-Consuming – Making detailed DFDs for big systems takes a lot of effort.

2.Limited Scope – Focuses only on data flow, doesn’t show security, performance, or UI.

3.Updating Issues – If the system changes often, keeping DFDs updated is hard.

4.Needs Expertise – Easy to read, but hard to create correctly without proper knowledge.