Diploma in Information Communication Technology (ICT)
Course ContentData flow diagrams
Habari Mwanafunzi! Welcome to the World of Data Flow Diagrams!
Ever wondered how complex systems like M-Pesa handle millions of transactions so smoothly? Or how your school's registration system knows which classes you're supposed to be in? It’s not magic! It starts with a plan, a map that shows how information moves. Today, we're going to learn how to draw that map. It's called a Data Flow Diagram (DFD), and it's one of the most powerful tools for a systems analyst.
Think of a DFD as a road map for data. It shows you the journey data takes through a system – where it comes from, where it goes, and what happens to it along the way. Let's start our journey!
What Exactly is a Data Flow Diagram (DFD)?
A DFD is a picture that shows the flow of data in a system. The key word here is WHAT, not HOW.
- It shows WHAT the system does with data.
- It does NOT show HOW the system does it (that's for later design stages).
Imagine you're explaining how to make chapati. A DFD would show that 'flour', 'water', and 'salt' (data) go into a 'Mix Dough' process, which produces 'Dough' (more data). It won't tell you whether to use a sufuria or a plastic basin, or whether you mix with a spoon or your hands. It just shows the logical flow!
Kenyan Example: M-Pesa Deposit
Think about depositing money at an M-Pesa agent. You (the Customer) give the agent your Phone Number and Cash. The agent uses their system to Process Deposit. The system confirms the transaction, and you receive a Confirmation SMS. A DFD maps out this exact flow of information.
The Four Magic Symbols of DFDs
To draw our maps, we only need four simple symbols. We'll use the popular Gane and Sarson notation.
-
The External Entity (Source/Sink)
This is anyone or anything outside our system that sends data in or receives data out. It can be a person, another department, or another computer system.
- Symbol: A rectangle.
- Kenyan Examples: A CUSTOMER, a SUPPLIER, the KRA (Kenya Revenue Authority) system, a BANK.
+-----------+ | CUSTOMER | +-----------+ -
The Process
This is an action! A process takes incoming data and transforms it into outgoing data. We always name it with a verb-noun phrase.
- Symbol: A rounded rectangle.
- Kenyan Examples: 1.0 Calculate Loan Interest, 2.0 Verify Student ID, 3.0 Process M-Pesa Payment.
+-------------------------+ | 1.0 | | Calculate | | Loan Interest | +-------------------------+ -
The Data Store
This is where we keep data for later use. Think of it as a file cabinet or a database table.
- Symbol: An open-ended rectangle.
- Kenyan Examples: D1 STUDENTS, D2 MPESA_TRANSACTIONS, D3 LOAN_APPLICATIONS.
D1 | STUDENTS | +--------------------+ -
The Data Flow
This is the arrow that shows the direction data is moving. It's the "road" on our map, and it must have a label describing the data.
- Symbol: A labeled arrow.
- Kenyan Examples: Payment Details, Admission Letter, Loan Request Form.
Loan Application --------------------------------->
Image Suggestion:An infographic-style image titled "The 4 Symbols of DFDs (Gane & Sarson)". It should clearly display the four symbols: a rectangle labeled 'External Entity' with an icon of a person, a rounded rectangle labeled 'Process' with a gear icon, an open-ended rectangle labeled 'Data Store' with a database icon, and a labeled arrow for 'Data Flow'. The style should be clean, modern, and colorful, suitable for a college student's textbook.
Levels of DFDs: From a Bird's-Eye View to the Ground Details
You don't show everything at once; that would be a mess! DFDs are drawn in levels, like zooming in on Google Maps. This is called decomposition.
Level 0: The Context Diagram
This is the highest-level view. It shows your entire system as ONE single process. It's simple and shows how your system interacts with the outside world (the external entities). It sets the context!
Example: A Simple Library System (Context Diagram)The whole system is just one process. We see who uses it and what data flows in and out.
+-----------+ +-----------------------+ | |----Book Request--->| | | STUDENT | | 0 | | |<---Book Details----| Library System | +-----------+ | | +-----------------------+ ^ | New Book Info | +-----------------------+ | PUBLISHER | +-----------------------+
Level 1: The "Exploded" View
Here, we "explode" or break down the single process from the Context Diagram into its main sub-processes. We're now looking inside the system.
Example: Library System (Level 1 DFD)We break down "0 Library System" into its main functions. Notice how the data flows from the Level 0 diagram (Book Request, Book Details) are still here, but now they connect to the more detailed processes.
+----------+ +-------------------+ | |----Book Request---->| 1.0 | | STUDENT | | Process Request |----> D1 | BOOKS | | |<---Book Details-----| |<---- +-------+ +----------+ +-------------------+ ^ | | | Validated Request | v +-------------------+ | 2.0 | | Issue Book | +-------------------+ +-----------+ +-------------------+ | |---New Book Info--->| 3.0 | | PUBLISHER | | Add New Book |----> D1 | BOOKS | | | | | +-------+ +-----------+ +-------------------+
You can continue decomposing complex processes into Level 2, Level 3, and so on, until each process is simple and clear.
Rules of the Game: How to Draw a Good DFD
Just like driving in Nairobi, there are some rules you must follow to avoid chaos!
1. No Black Holes or Miracles: Every process must have at least one data flow IN and one data flow OUT. Data can't just disappear (a black hole) or appear from nowhere (a miracle).
2. Go Through a Process: External Entities CANNOT communicate directly with each other or with a Data Store. All data must pass through a process. The system has to DO something with the data!
WRONG: CUSTOMER ----> D1 ORDERS
RIGHT: CUSTOMER ----> 1.0 Place Order ----> D1 ORDERS
3. Data Stores Need Action: A Data Store must have at least one data flow in (to write data) and one data flow out (to read data). It must be connected to a process, not an entity.
4. Balancing is Key: The data flows going into and out of a process on a higher-level diagram MUST match the total data flows going into and out of all its sub-processes on the lower-level diagram. This is called 'balancing'.
Let's Build One! Mama Mboga's Order System
Let's imagine Mama Benta, who runs a successful kiosk near campus. She supplies fresh vegetables to two local hotels. She gets her stock from a supplier at Marikiti Market. She wants a simple system to track her orders.
Step 1: Identify the components
- External Entities: HOTEL, SUPPLIER
- Processes: Take Hotel Order, Generate Supplier Order, Update Stock
- Data Stores: D1 STOCK_LEVELS, D2 HOTEL_ORDERS
- Data Flows: Hotel Order, Receipt, Supplier Order, Delivery Note, Stock Details
Step 2: Draw the Context Diagram (Level 0)
This is the overview. The whole system is just one process: "Mama Benta's Order System".
+-------+ +--------------------+
| |----Hotel Order--->| 0 |----Supplier Order--->+----------+
| HOTEL | | Mama Benta's | | SUPPLIER |
| |<------Receipt-----| Order System |<---Delivery Note----+----------+
+-------+ +--------------------+
Image Suggestion:A vibrant, illustrated diagram of the Level 0 DFD for "Mama Benta's Order System". The style should be friendly and slightly cartoonish. The 'HOTEL' entity could be a small building icon, 'SUPPLIER' a truck icon, and the central process a colourful circle with a drawing of a 'skuma wiki' leaf inside. This makes the concept less intimidating and more engaging.
Conclusion: You are now a Data Mapper!
Congratulations! You've just learned the fundamentals of Data Flow Diagrams. You now have a powerful tool to analyze any system, from a simple kiosk to a complex banking application. You can see how information moves, where it's stored, and what actions are performed on it.
Your next mission, should you choose to accept it, is to practice! Try drawing a simple DFD for a process you know well. How about the process of borrowing a book from your college library, or the steps involved in registering for a new semester? The more you practice, the easier it becomes. Go on and map the world of data!
Pro Tip
Take your own short notes while going through the topics.