0% found this document useful (0 votes)
1 views

umldoc

The document outlines UML diagrams for a banking system, detailing the class structure, object instances, workflows, data flow, and interactions among various actors such as customers, bank staff, and administrators. It includes class diagrams defining key classes and their relationships, activity diagrams modeling key processes, and sequence diagrams illustrating step-by-step interactions for critical workflows. Additionally, it maps key system elements to relevant diagrams, providing a comprehensive overview of the system's architecture and functionalities.

Uploaded by

Martin Nashaat
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

umldoc

The document outlines UML diagrams for a banking system, detailing the class structure, object instances, workflows, data flow, and interactions among various actors such as customers, bank staff, and administrators. It includes class diagrams defining key classes and their relationships, activity diagrams modeling key processes, and sequence diagrams illustrating step-by-step interactions for critical workflows. Additionally, it maps key system elements to relevant diagrams, providing a comprehensive overview of the system's architecture and functionalities.

Uploaded by

Martin Nashaat
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

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

You might also like