UML Diagram Documentation for Banking System
1. Class Diagram
Purpose: Define the system’s structure, classes, attributes, methods, and relationships.
Key Classes
Class Attributes Methods
customerId,
Customer openAccount(), requestStatement()
name
BankStaff staffId, name freezeAccount(), reactivateAccount()
Administrator adminId, name manageUsers(), overrideTransactions()
accountId,
deposit(amount), withdraw(amount),
Account balance,
freeze(), reactivate()
isFrozen
transactionId,
Transaction recordTransaction()
amount, type
statementId,
Statement generate()
period
Relationships
• Customer owns 1..* Account.
• BankStaff manages Account (freeze/reactivate).
• Administrator audits Transaction and Account status.
2. Object Diagram
Purpose: Illustrate runtime instances of classes.
Links:
• cust1 → acc1 (ownership).
• acc1 → txn1 (transaction history).
3. Activity Diagram
Purpose: Model workflows for key processes.
Key Activities
• Customer Actions:
o Open Account → Deposit/Withdraw → Transfer Funds → Check Balance →
Generate Statements.
• Bank Staff Actions:
o Open/Close Account (fork) → Freeze/Reactivate Account.
• Administrator Actions:
o Generate Reports → Manage Users.
Concurrency:
• Customer and staff actions run in parallel (forked workflows).
4. Data Flow Diagram (DFD)
Purpose: Show data movement between processes and entities.
Key Processes
Process Input Output
1.0 Open/Close
Customer details, KYC docs Account ID, Status
Account
Updated Balance,
2.0 Deposit/Withdraw Account ID, Amount
Confirmation
From/To Account IDs,
3.0 Transfer Funds Transfer Status
Amount
6.0 Freeze/Reactivate Account ID, Admin Approval Frozen/Active Status
Data Stores:
• Customer Accounts: Stores account details.
• Transactions History: Logs all transactions.
5. Collaboration (Communication) Diagram
Purpose: Detail object interactions for specific scenarios.
Transfer Funds Example
1. Customer → transferfunds(fromAccount, toAccount, amount).
2. Account (Sender) → checkSufficientFunds(amount).
3. Account (Recipient) → validate Account(toAccount).
4. Transaction → recordTransfer(fromAccount, toAccount, amount).
6. Use Case Diagram
Purpose: Map actors to system functionalities.
Actors & Use Cases
Actor Use Cases
Open Account, Deposit/Withdraw, Transfer Funds, Check Balance,
Customer
Generate Statements
Bank Staff Freeze/Reactivate Account, Assist with Account Opening
Administrator Audit Transactions, Override Account Actions
7. Sequence Diagram
Purpose: Show step-by-step interactions for critical workflows.
Withdraw Funds Sequence
1. Customer → withdrawFunds(accountId, amount).
2. Account → checkSufficientFunds(amount).
3. If Sufficient:
a. Deduct amount → updateBalance().
b. Send WithdrawalConfirmation.
4. If Insufficient:
a. Send WithdrawalDenied(reason).
8. Key System Elements Mapped to Diagrams
Element Relevant Diagrams
Open/Close Account Class, Activity, Collaboration, DFD
Deposit/Withdraw Sequence, Collaboration, DFD
Transfer Funds Collaboration, Sequence, Activity
Freeze/Reactivate Class, Sequence, Use Case
Generate Statements Activity, DFD, Use Case