DEV Community

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

Posted on

DFD of an ATM system

Level 0 DFD (Context Diagram – ATM System)

This shows 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)