This class diagram describes the structure of an ATM system. Each class has characteristics and functions. The bank class manages the ATM and can have one or many customers. Each customer can own zero or many debit cards and one account. The ATM transactions include both withdrawal and transfer. Each ATM transaction is modified by the account and identified by the ATM.

ATM system - UML class diagram example

ATM system diagram code in Gleek

Bank
+code
+address
+manages()
+maintains()
Customer
+name
+address
+owns()
Account
+type
+owner
+checkBalance()
ATM
+location
+managedBy
+identifies()
transactions()
Debit Card
+cardNo
+ownedBy
+access()
ATM transaction
+transactionId
+date
+type
+update()
Withdrawal Transaction
+amount
+withdrawal()
Transfer Transaction
+account
+accountNo

Bank{1}-maintains-{1}ATM
Bank{1}-has-{1..*}Customer
Customer{1..*}-owns-{1..*}Account
Customer{1..*}-owns-{0..*}Debit Card
Account{1}–>{*}ATM transaction
Withdrawal Transaction–*>ATM transaction
Transfer Transaction–*>ATM 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

Library management system class diagram

Order processing system class diagram

Movie enumeration class diagram

Animal inheritance class diagram