Banking Software System - Java

Software System

Programming Languages / Tools Used


By using NetBeans 13 and Java, I created a banking software with a GUI that uses software principles such as one-to-many relationships, polymorphism and inheritance. The banking system allows users to view and edit their personal information, transfer funds between different accounts, and is able to allow certain access to different classes for different types of users which are grouped as Clients, Managers, Employees, and Administrators. User data is stored on an external file which gets updated in real time. 

Features and Functionality

  • Simple GUI:

    • Developed using NetBeans 13 and Java.
    • Intuitive interface for easy navigation and user interaction.
  • Personal Information Management:

    • Users can view and edit their personal information.
    • Real-time updates ensure data accuracy and consistency.
  • Fund Transfer Capability:

    • Allows users to transfer funds between different accounts.
    • Secure and efficient transaction processing.
  • Role-Based Access Control:

    • Different types of users (Clients, Managers, Employees, and Administrators) have distinct access levels.
    • Ensures appropriate access to features based on user roles.
  • Advanced OOP Principles:

    • Utilizes one-to-many relationships for efficient data management.
    • Implements polymorphism and inheritance to streamline code and enhance functionality.
  • External Data Storage:

    • User data is stored in an external file.
    • Data is updated in real-time, ensuring the system reflects the latest information.

Future Improvements

  • Using JavaFX to have the UI more modern and aesthetically pleasing whilst retaining functionality.
  • Linking the Database using SQL as opposed to a txt file.
  • Implementation of a RESTful API.


Developing the banking software using NetBeans 13 and Java was a rewarding experience that significantly enhanced my understanding of object-oriented programming. By incorporating advanced OOP principles such as one-to-many relationships, polymorphism, and inheritance, I was able to create a robust and user-friendly banking system.

Copyright © 2024 | Anish Patel

Scroll to Top