The Bank Account System Class Diagram models a banking system where a Bank manages multiple Bank Accounts, which can be either Savings Accounts (earning interest) or Checking Accounts (with overdraft limits). Customers own these accounts and perform transactions, which include deposits and withdrawals. The Transaction service executes these transactions, linking them to the relevant bank accounts.

Edit this diagram in Gleek
Bank Account System diagram code in Gleek
Bank
+BankName
+BankAddress
+BankAccounts:List<BankAccount>
BankAccount:abstract
+AccountNumber
+AccountHolderName
+Balance
+Deposit(amount:double)
+Withdraw(amount:double)
SavingsAccount
+InterestRate
+CalculateInterest()
CheckingAccount
+OverdraftLimit
+CheckOverdraft()
Customer
+CustomerName
+CustomerAddress
+BankAccounts:List<BankAccount>
Transaction:service
+TransactionID
+TransactionAmount
+TransactionType
+ExecuteTransaction()
Bank --<> BankAccount
BankAccount --*> SavingsAccount
BankAccount --*> CheckingAccount
Customer --<> BankAccount
Transaction -.-> BankAccount
Bank --> Customer
BankAccount --<*> Transaction
About class diagrams
Class diagrams are used in software engineering to describe the structure of a system. A class diagram uses Unified Modeling Language (UML) to show the classes, attributes, methods (or operations), and their relationships to each other in the system. Class diagrams prove valuable in object-oriented modeling. Class diagrams can be used to model the data structure or to design a system in detail.
Similar class diagram examples
Order processing system class diagram
Online shopping system class diagram