Designing an ATM System Use Case Diagram with PlantUML

Understanding ATM System Architecture

Designing robust banking applications requires precise modeling of user interactions. A Use Case Diagram is essential for defining the functional requirements of an Automated Teller Machine (ATM) system. Using PlantUML within VPasCode allows developers to visualize these relationships instantly, ensuring alignment between stakeholders and technical teams.

Key Components of the ATM Diagram

This diagram breaks down the system into three primary actors and a central system boundary. Each actor represents a distinct role with specific permissions and goals.

  • Customer: The end-user interacting with the machine for transactions.
  • BankTeller: Staff managing account security and card issues.
  • Administrator: Personnel responsible for system health and maintenance.

The ATM System rectangle encapsulates all functional use cases, separating internal logic from external actors.

Step-by-Step Code Walkthrough

Below is the PlantUML source code that generates this diagram. We utilize the VPasCode theme for consistent styling.

@startuml
!include https://static.visual-paradigm.com/web/resources/plantuml-stdlib/themes/vp.puml

left to right direction
skinparam packageStyle rectangle

title ATM System Use Case Diagram

actor Customer
actor BankTeller
actor Administrator

rectangle "ATM System" {
  usecase "Withdraw Cash" as UC1
  usecase "Deposit Cash" as UC2
  usecase "Check Balance" as UC3
  usecase "Transfer Funds" as UC4
  usecase "Print Statement" as UC5
  usecase "Change PIN" as UC6
  usecase "Lock Account" as UC7
  usecase "Manage Cards" as UC8
  usecase "System Maintenance" as UC9
}

Customer --> UC1
Customer --> UC2
Customer --> UC3
Customer --> UC4
Customer --> UC5
Customer --> UC6

BankTeller --> UC7
BankTeller --> UC8

Administrator --> UC9
Administrator --> UC8

@enduml

Best Practices for Finance Use Cases

When modeling financial systems, clarity is paramount. Ensure every use case represents a single, distinct goal. Avoid coupling complex logic within a single use case to maintain modularity.

Tip: Use specific naming conventions (e.g., "Withdraw Cash" instead of just "Withdraw") to reduce ambiguity in technical specifications.

Try It Live in VPasCode

Ready to customize your own banking diagram? Edit this model directly in the cloud.

Open in VPasCode Editor

ATM System Use Case Diagram showing Customer, BankTeller, and Administrator actors interacting with banking functions like Withdraw Cash and Check Balance.

Diagram Source Code (Open in VPasCode Editor)

@startuml
!include https://static.visual-paradigm.com/web/resources/plantuml-stdlib/themes/vp.puml

left to right direction
skinparam packageStyle rectangle

title ATM System Use Case Diagram

actor Customer
actor BankTeller
actor Administrator

rectangle "ATM System" {
  usecase "Withdraw Cash" as UC1
  usecase "Deposit Cash" as UC2
  usecase "Check Balance" as UC3
  usecase "Transfer Funds" as UC4
  usecase "Print Statement" as UC5
  usecase "Change PIN" as UC6
  usecase "Lock Account" as UC7
  usecase "Manage Cards" as UC8
  usecase "System Maintenance" as UC9
}

Customer --> UC1
Customer --> UC2
Customer --> UC3
Customer --> UC4
Customer --> UC5
Customer --> UC6

BankTeller --> UC7
BankTeller --> UC8

Administrator --> UC9
Administrator --> UC8


@enduml

返回頂端