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.
- 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()andreceipt().
Uml (url)
-
Clone the repository:
git clone https://github.com/shayanaminaei/BankUml.git cd BankUml -
Compile the code:
javac Main.java
-
Run the program:
java Main
- Java SE
- Object-Oriented Programming (OOP)
- UML Diagrams
- Manual Testing (for unit testing)
- ❇️ 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