Skip to content

A Java-based banking system simulation implementing core banking operations and account management using UML design principles. Includes features like transactions, account types, and user authentication. Perfect for studying UML-based software modeling and Java application development.

Notifications You must be signed in to change notification settings

shayanaminaei/BankUml

Repository files navigation

🏦 BankUml: Banking System Simulation

Welcome to BankUml, a Java-based banking application designed to simulate core banking operations such as account management, transactions, and receipts.
This project demonstrates the use of Object-Oriented Programming (OOP) principles, including Inheritance, Encapsulation, Abstraction, and Polymorphism, strictly following the provided UML diagram.


📌 Features

  • Account Management: Create and manage multiple types of bank accounts.
  • Transaction Handling: Simulate payments and generate receipts.
  • UML-Driven Design: Class structure directly follows the given UML diagram.
  • Test Coverage: Includes basic unit tests for key operations like pay() and receipt().

Uml (url)

🚀 How to Run

  1. Clone the repository:

    git clone https://github.com/shayanaminaei/BankUml.git
    cd BankUml
  2. Compile the code:

    javac Main.java
  3. Run the program:

    java Main

🛠 Technologies Used

  1. Java SE
  2. Object-Oriented Programming (OOP)
  3. UML Diagrams
  4. Manual Testing (for unit testing)

✨ Future Improvements

  • ❇️ Implement database integration to store account and transaction data.
  • ❇️ Add a graphical user interface (GUI) for improved user interaction.
  • ❇️ Expand transaction types (e.g., transfers, bill payments).
  • ❇️ Enhance exception handling and input validation.

Developed by @shayanaminaei

About

A Java-based banking system simulation implementing core banking operations and account management using UML design principles. Includes features like transactions, account types, and user authentication. Perfect for studying UML-based software modeling and Java application development.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages