DEV Community

Cover image for DFD of an ATM system
Irene Koner
Irene Koner

Posted on • Edited on

DFD of an ATM system

Level 0 DFD (Context Diagram, ATM System)

This depicts the ATM System as a single process with external entities.

Entities & Flows:

  • Customer → inserts Card & PIN, Transaction Request → ATM System
  • ATM System → provides Cash, Receipt, Account Info → Customer
  • Bank Database ↔ verifies PIN, Account Details, Balance ↔ ATM System
  • Bank Server ↔ processes Fund Transfer, Withdrawal, Deposit ↔ ATM System

Diagram Structure (Level 0)

Customer --------------------->
                                   \
                                    \         +-------------------+
                                     ----->   |                   |
   Bank Database <----------------->          |      ATM System    |
                                              |                   |
   Bank Server  <----------------->           +-------------------+

 Customer <-----------------------

Enter fullscreen mode Exit fullscreen mode

Level 1 DFD (Decomposition of ATM System)

Now we break down the ATM System into sub-processes.

Processes in ATM System:

  • Authenticate User → Customer enters card & PIN, verified with Bank Database.
  • Select Transaction → Options: Withdraw, Deposit, Balance Inquiry, Fund Transfer.
  • Process Transaction → Executes transaction via Bank Server.
  • Dispense Cash / Receipt → Dispenses cash or prints receipt.
  • Update Account → Updates balance in Bank Database.

Data Stores:

D1: Customer Account Database (account details, balance, PIN).

D2: Transaction Log Database (history of withdrawals, deposits, transfers).

Diagram Structure (Level 1)

Customer ---> [1. Authenticate User] <----> Bank Database  
                  |  
                  v  
Customer ---> [2. Select Transaction]  
                  |  
                  v  
        [3. Process Transaction] <----> Bank Server  
                  |  
                  v  
        [4. Dispense Cash / Receipt] ---> Customer  
                  |  
                  v  
        [5. Update Account] <----> Bank Database  

Data Stores:  
D1: Customer Account Database  
D2: Transaction Log Database  
Enter fullscreen mode Exit fullscreen mode

Top comments (0)