0% found this document useful (0 votes)
11 views11 pages

Group 2 Java

The document outlines a Java Programming mini project for a Banking Management System developed by a group of students from Gambela University. It details the project's objectives, scope, functional requirements, system design, database design, and testing, emphasizing the use of Java Swing for a user-friendly interface. Future enhancements are suggested to improve security and functionality, including ATM PIN verification and mobile application development.

Uploaded by

Hani Miliyon
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views11 pages

Group 2 Java

The document outlines a Java Programming mini project for a Banking Management System developed by a group of students from Gambela University. It details the project's objectives, scope, functional requirements, system design, database design, and testing, emphasizing the use of Java Swing for a user-friendly interface. Future enhancements are suggested to improve security and functionality, including ATM PIN verification and mobile application development.

Uploaded by

Hani Miliyon
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Gambela University

Facility of Natural and Computation Science Department of


Computer Science
Java Programming Mini Project

NO GROUP MEMBERS ID_NO

1 HANI MILIYON 1069

2 ISAYAS WANDIMUA 1219

3 GETE WALDE 1167

4 HAIMANOT NEBSOYE 1113

5 MANALIE GETAHUN 677

SUBMITTED TO: ABEBE ALAMBO


SUBMITTED DATE FEB/9/2026

1
Table of Contents

1. Introduction
2. Objectives
3. Scope of the Project
4. Functional Requirements
5. System Modules Description
6. System Design (OOP)
7. Database Design
8. GUI Screenshots Explanation
9. Testing and Validation
10. Conclusion
11. Future Enhancements

CHAPTER 1: INTRODUCTION

A Banking Management System is an important software application that helps


banks manage customer accounts and transactions digitally.
In the modern world, banking operations are no longer done manually. Most banks
use computerized systems to provide fast and secure services.

This project is a GUI Based Banking Application developed using Java Swing.
It simulates real-world banking operations such as:

• Creating customer accounts


• Secure login system
• Depositing money
• Withdrawing money
• Transferring money between accounts
• Viewing balance
• Transaction history tracking

The application provides a simple and user-friendly interface that allows customers
to perform banking activities efficiently.

2
CHAPTER 2: OBJECTIVES

The main objectives of this mini project are:

1. To design a banking system using Java Swing GUI.


2. To implement secure registration and login for users.
3. To allow users to perform deposit, withdrawal, and transfer operations.
4. To display current balance and transaction history.
5. To store all customer and transaction data in a database using JDBC.
6. To apply Object-Oriented Programming (OOP) concepts in a real
application.

CHAPTER 3: SCOPE OF THE PROJECT

The scope of this project is limited to basic banking operations.


It focuses on providing essential banking services in a simulated environment.

The system supports:

• Multiple customer accounts


• Secure authentication
• Transaction record keeping
• Database storage

This project is suitable for learning:

• Java Swing GUI development


• JDBC connectivity
• OOP principles
• Event-driven programming

CHAPTER 4: FUNCTIONAL REQUIREMENTS

The system must satisfy the following functional requirements:

3
4.1 Registration

• New users can create an account by entering:


o Full name
o Email
o Password
o Initial deposit
• The system stores the user data in the database

4.2 Login

• Existing users can log in using their email and password.


• Incorrect login details are rejected with an error message.

4
4.3 Dashboard

After successful login, the user is redirected to the dashboard which provides
options:

• Deposit
• Withdraw
• Transfer
• View Balance
• Transaction History

5
• Logout

4.4 Deposit Operation

Deposit allows customers to add money into their account.

Steps:

1. User enters deposit amount


2. System validates input
3. Balance is updated
4. Transaction is recorded

4.5 Withdrawal Operation

Withdrawal allows customers to remove money from their account.

Steps:

1. User enters withdrawal amount


2. System checks if balance is sufficient
3. If valid, money is deducted
4. Transaction is saved

6
4.6 Transfer Operation

Transfer enables customers to send money from one account to another.

Steps:

1. Sender enters receiver account number


2. Amount is entered
3. System validates receiver existence
4. Money is deducted from sender
5. Money is added to receiver
6. Both transactions are recorded

4.7 View Balance

This module displays the current account balance of the logged-in user.

4.8 Transaction History

Transaction history provides a detailed list of all operations performed, including:

• Date
• Transaction type
• Amount
• Updated balance

It is displayed using a JTable component

✅ CHAPTER 5: SYSTEM DESIGN (OOP STRUCTURE)

This project is developed using Object-Oriented Programming principles.

Main Classes Used

• Bank Class
manages all accounts and transactions.

7
• Account Class
Stores account number, owner details, and balance.
• Customer Class
Holds customer information such as name, email, and password.
• Transaction Class
represents each banking transaction record.
• Login Frame Class
GUI for registration and login.
• Dashboard Frame Class
Main interface for banking operations.
• Database Manager Class
Handles database connection and queries.

✅ CHAPTER 6: DATABASE DESIGN

The system uses SQLite/MySQL database.

Table of content
Field Description

customer_id Unique ID

name Customer name

email Login email

password Encrypted password

balance Current balance

Transaction Table
Field Description

transaction_id Unique ID

customer_id Account owner

8
Field Description

type Deposit/Withdraw/Transfer

amount Transaction amount

date Date and time

balance_after Updated balance

✅ CHAPTER 7: GUI DESIGN

The GUI is designed using Java Swing components:

• JFrame
• JPanel
• JLabel
• JTextField
• JPasswordField
• JButton
• JTable
• JOptionPane

Layout managers used:

• Grid Layout
• Border Layout
• Box Layout

The design ensures usability, clarity, and user-friendly navigation.

✅ CHAPTER 8: TESTING AND VALIDATION

The system was tested for:


9
• Correct registration
• Login validation
• Deposit balance update
• Withdrawal insufficient funds prevention
• Transfer correctness
• Transaction history accuracy

Exception handling ensures the program does not crash on invalid input.

✅ CHAPTER 9: CONCLUSION

The GUI Based Banking Application successfully simulates real banking


operations.

It provides:

• Secure login and registration


• Account management
• Deposit, withdraw, and transfer
• Transaction tracking
• Database integration

This project enhanced our understanding of:

• Java Swing GUI


• JDBC database connectivity
• OOP concepts
• Real-world banking workflow simulation

✅ CHAPTER 10: FUTURE ENHANCEMENTS

In the future, the system can be improved by adding:

• ATM PIN verification


• Interest calculation
• Online banking features

10
• Mobile application version
• Stronger encryption security

11

You might also like