Bank Management System
Bank Management System
Bank Management System
I would like to express my sincere and deep sense of gratitude to my Project Guide
Dr./Mr./Ms for his valuable guidance, suggestions and constant encouragement paved the
way for the successful completion of my project work.
I wish to express my thanks to all Teaching and Non-teaching staff members of the
Department Of Computer Science and Engineering who were helpful in many ways for the
completion of the project.
ABSTRACT
This is a simple GUI based system which is very easy to understand and use .In this
project , it contains all the basic functions of bank .Creating a new account ,Transactions
like withdrawal and deposit amount to the account ,Getting the balance details ,Closing an
account Updating the account details.
In this project, he /she can use all those available features easily without any restruction. It
is too easy to use, he/she can check the total bank account records easily. Talking about
the features of the bank management system, A user can create an account by providing
the name of the account holder, number, selecting amount type (Saving account or current
account) and providing an initial amount more than or equal to 500.
Then the user can also deposit and withdraw money just by providing his/her account and
entering the amount. For certain purpose, he /she can also check for the balance inquiry
which displays the account number and amount. He / She can also view the entire account
holder’s list. Another feature s that he/she can modify their account detail and type if they
want to.
This simple GUI based Bank Management system provides the simplest management of
bank account and transaction. In short, this project mainly focuses on CRUD operation.
There’ s an external database connection file used in this project to save user’s data
permanently.
TABLE OF CONTENTS
Chapter No. TITLE Page
ABSTRACT V
LIST OF FIGURES VII
1 INTRODUCTION 1
2 LITERATURE SURVEY 2
3 AIM AND SCOPE OF PRESENT INVESTIGATION 3
3.1 AIM OF THE PROJECT 3
3.2 SCOPE AND OBJECTIVE 3
3.3 SYSTEM REQUIREMENTS 4
3.3.1 HARDWARE REQUIREMENTS 4
3.3.2 SOFTWARE REQUIREMENTS 4
3.4 SOFTWARE USED 5
3.4.1 PYTHON LANGUAGE 5
3.4.2 PYTHON CHARACTERISTICS 5
3.4.3 APPLICATIONS OF PYTHON 5
3.5 PYCHARM
3.7 PICKLE 12
LIST OF FIGURES
FIGURE NO: FIGURE NAME PAGE NO
1. INTRODUCTION
1.1 OVERVIEW OF PROJECT
A program performs a task in the computer. But, in order to be executed, a program must be
written in the machine language of the processor of a computer.
Unfortunately, it is extremely difficult for humans to read or write a machine language
program. This is because a machine language is entirely made up of sequences of bits.
However, high level languages are close to natural languages like English and only use
familiar mathematical characters, operators and expressions.
A high-level program is translated into machine language by translators
like compiler or interpreter. Python is a high-level programming language that is translated by
the python interpreter. An interpreter works by translating lineby-line and executing. Python
was developed by Guido Van-Rossum in 1990, at the National Research Institute for
Mathematics and Computer Science in Netherlands. The Bank Management system is a web-
based application used for paying financial institutions for the services they provide to the
Bureau of the fiscal service. BMS also provides analytical tools to review, and approve
compensation, budgets, and outflows. Bank Management System project is written in python.
The project file contains a python script(main.py) and a database file .This a simple console
based system which is very easy to understand and use. Talking about the system, it contains
all the basic functions which include creating a new account, view account holders record,
withdraws and deposit amount, balance inquiry, closing an account and edit account details.
In this mini project, there is no such login system. This means he/she can use all those
available features easily without any restriction. It is too easy to use, he/she can check the
total bank account records easily. Talking about the features of the Bank Management System,
a user can create an account by providing the name of the account holder, number, selecting
amount type (Saving account or Current account) and providing an initial amount more than
or equal to 500. Then the user can also deposit and withdraw money just by providing his/her
account and entering the amount. For certain purpose, he/she can also check for the balance
inquiry which displays the account number and amount. He/she can also view all the account
holder’s list. Another feature is that he/she can modify their account detail and type if they
want to.
CHAPTER 2
LITERATURE SURVEY
In MD. Aquil Amwar (2012), in the second paper we learn which type of problems are
created in banking system during the different types of transactions. Here discuss about if
any region the transaction may be fail then how to avoid it and fixed it. We also studied
about Firms in Italy defaulted more against banks with high levels of past losses. This
`selective' default increases where legal enforcement is weak. Poor enforcement thus can
create a systematic transaction risk by encouraging banking users to defaulted masse once
the continuation value of their bank relationships comes into doubt. In banking sector the
security also must and when we talk about money or property this case is more
sensational then we found the security is the major thing to do in banking system. In our
project we provide the security questions when customer login with account to prevent
the fraud and provide the best security in the bank management system. The study used
constructs adopted from Technology Acceptance Model along with constructs of
perceived service quality, perceived credibility and perceived risk to empirically establish
the influence on satisfaction and continuance usage intentions. The study confirmed that
after adoption of the technology, the customer finds satisfaction in the quality parameters
of the service
CHAPTER 3
1. Our business is selling financial services in Oregon and in selected regional, national,
and international markets. We will extend our business into areas that provide sound
expansion opportunities meeting predetermined profit criteria.
2. We will strive for stability in earning growth, acquiring high-quality investments, and
pursuing sound and innovative tactics ‘. Through strategic planning and strong
management, we will aggressively expand income sources while remaining in control
of costs.
3. Management will provide continuity of policies and directions. Changes will be
implemented quickly and in a manner that considers both individual and corporate
needs.
3.3 SYSTEM REQUIREMENTS
Web Applications:
You can create scalable Web Apps using frameworks and CMS (Content
Management System) that are built on Python. Some of the popular platforms for 8 creating
Web Apps are: Django, Flask, Pyramid, Plone , Django CMS. Sites like Mozilla, Reddit,
Instagram and PBS are written in Python.
3.5 PYCHARM:
PyCharm is a dedicated Python Integrated Development Environment (IDE)
providing a wide range of essential tools for Python developers, tightly integrated to create a
convenient environment for productive Python, web, and data science development.
PyCharm is available in three editions:
• Community (free and open-sourced): for smart and intelligent Python development,
including code assistance, refactorings, visual debugging, and version control
integration.
• Professional (paid) : for professional Python, web, and data science development,
including code assistance, refactorings , visual debugging, version control integration,
remote configurations, deployment, support for popular web frameworks, such as
Django and Flask, database support, scientific tools (including Jupyter notebook
support), big data tools.
• Edu (free and open-sourced): for learning programming languages and related
technologies with integrated educational tools.
Supported languages :
Supported platforms:
PyCharm is a cross-platform IDE that works on Windows, macOS, and Linux. Check the
system requirements:
Disk space 2.5 GB and another 1 GB for caches SSD drive with at least
5 GB of free space
You can install PyCharm using Toolbox or standalone installations. If you need assistance
installing PyCharm, see the installation instructions: Install PyCharm .
3.7 Pickle
Pickle is used for serializing and de-serializing Python object structures, also called
marshalling or flattening. Serialization refers to the process of converting an object in
memory to a byte stream that can be stored on disk or sent over a network. Later on, this
character stream can then be retrieved and de-serialized back to a Python object. Pickling
is not to be confused with compression! The former is the conversion of an object from
one representation (data in Random Access Memory (RAM)) to another (text on disk),
while the latter is the process of encoding data with fewer bits, in order to save disk space.
Pickling is useful for applications where you need some degree of persistency in your
data. Your program's state data can be saved to disk, so you can continue working on it
later on. It can also be used to send data over a Transmission Control Protocol (TCP) or
socket connection, or to store python objects in a database. Pickle is very useful for when
you're working with machine learning algorithms, where you want to save them to be able
to make new predictions at a later time, without having to rewrite everything or train the
model all over again.
If you want to use data across different programming languages, pickle is not
recommended. Its protocol is specific to Python, thus, cross-language compatibility is not
guaranteed. The same holds for different versions of Python itself. Unpickling a file that
was pickled in a different version of Python may not always work properly, so you have
to make sure that you're using the same version and perform an update if necessary. You
should also try not to unpickle data from an untrusted source. Malicious code inside the
file might be executed upon unpickling.
Why Pickle?: In real world sceanario, the use pickling and unpickling are widespread as they
allow us to easily transfer data from one server/system to another and then store it in a file or
database.
Precaution: It is advisable not to unpickle data received from an untrusted source as they may
pose security threat. However, the pickle module has no way of knowing or raise alarm while
pickling malicious data.
Only after importing pickle module we can do pickling and unpickling. Importing pickle can
be done.
CHAPTER 4
Module 2: Transaction
The transactions are doing every day. It manages all the transactions like new account entry,
deposit as well as withdraw entry, transaction of money for various processes. A bank
transaction is a record of money that has moved in and out of your bank account. When you
have costs associated with your business - for example, rent for office space - the payments
for these will come out of your bank account as transactions. The formation of your asset
accounts, capital accounts and liability accounts all rely on bank transactions. A transaction
account, also called a checking account, chequing account, current account, demand deposit
account, or share draft account at credit unions, is a deposit account held at a bank or other
financial institution. It is available to the account owner "on demand" and is available for
frequent and immediate access by the account owner or to others as the account owner may
direct. Access may be in a variety of ways, such as cash withdrawals, use of debit cards,
cheques (checks) and electronic transfer. In economic terms, the funds held in a transaction
account are regarded as liquid funds. In accounting terms, they are considered as cash.
Transaction accounts are known by a variety of descriptions, including a current account
(British English), chequing account or checking account when held by a bank, share draft
account when held by a credit union in North America. In the United Kingdom, Hong Kong,
India and a number of other countries, they are commonly called current or cheque accounts.
Because money is available on demand they are also sometimes known as demand accounts
or demand deposit accounts. In the United States, NOW accounts operate as transaction
accounts.
Transaction accounts are operated by both businesses and personal users. Depending on the
country and local demand economics earning from interest rates varies. Again depending on
the country the financial institution that maintains the account may charge the account holder
maintenance or transaction fees or offer the service free to the holder and charge only if the
holder uses an add-on service such as an overdraft.
Maintaining too many bank accounts can be difficult, here are some steps you can follow to
close a bank account. Having a limited number of bank accounts is good but too many bank
account can be a trouble for you. Because you have to maintain minimum balance
requirements on each of them. So it is advisable to close bank accounts that are not used
actively. If you among them who have an unwanted bank account then you should close it.
Do you know how to close a bank account?
Here are some steps which you can follow to close your bank account. But before you go for
it don't forget to delink your bank account from any of the payments platforms or service
apps like Paytm, Uber, Swiggy etc.
Here are a few things you need to know before closing your bank account.
• Once you close your account you cannot re-open it again
• Before proceeding with the account closure you should make the balance to zero
• In case if there are any pending dues, then you should clear it before closing the
account
• Before closing an account you should take the complete bank statement of your
account for future use.
Visit Bank
You cannot close your bank account online. You need to visit your home branch where you
opened the account. So you need to walk into the home branch where you have an account
and request them for account closure.
After you receive the account closure form. You need to fill the
complete details on it:
• Name of the account holder
• Account number
• Contact number
• Signature of the account holder Reasons for closing the account.
Submit required document
• Cheque Book: You need to return the cheque book along with remaining cheque
leaves to the respective bank branch at the time of closing their account.
• Passbook: You should also handover your passbook to the bank at the time of
closing their SBI account.
• Debit Card: The account holder should also return their debit card which is used
to withdraw money from ATM.
• ID proof: Some bank may even ask you for ID proof and address proof before
closing your account.
Closure charges
Some banks charge for the account closure. For example, SBI Bank's don't charge for the
closure within 14 days of the opening of an account. Any closure of the SBI bank account
after 14 days but before 1 year are subject to some closure charges. Keep these things in mind
and don’t let unwanted bank accounts lie idle as there is no benefit in making yourself
overburdening in gathering information and statements from too many banks. So close
unwanted account they serve no good to your financial life.
A deposit is a financial term that means money held at a bank. A deposit is a transaction
involving a transfer of money to another party for safekeeping. However, a deposit can refer
to a portion of money used as security or collateral for the delivery of a good.
• First we need to enter the account number Then we
get the details of our account.
• Next we want to enter the Deposit amount.
• Then we want to select the which type of account.
Next select save option in the display.
This bank ER diagram illustrates key information about bank, including entities such as
branches, customers, accounts, and loans. It allows us to understand the relationships
between entities.
Entities antheir Attributes are :
• Bank Entity : Attributes of Bank Entity are Bank Name, Code and Address.
Code is Primary Key for Bank Entity.
• Customer Entity : Attributes of Customer Entity are Customer id, Name, Phone
Number and Address.
Customer id is Primary Key for Customer Entity.
• Branch Entity : Attributes of Branch Entity are Branch id, Name and Address.
Branch id is Primary Key for Branch Entity.
• Account Entity : Attributes of Account Entity are Account number, Account type
and Balance.
Account number is Primary Key for Account Entity.
• Loan Entity : Attributes of Loan Entity are Loan id, Loan Type and Amount.
Loan id is Primary Key for Loan Entity.
Relationships are :
Then select the which type of account. Next select save option in the display. If I need to
withdrawal the amount means, Select the withdrawal option then, we need to enter the
account number Then we get the details of our account. Next, we want to enter the withdrawal
amount. Then we want to select the which type of account.
Next select save option in the display. Now I need to check the balance means, Select the
option check balance then, we need to enter the account number we get the details of our
account with balance. Now I need to change my details means, First, we need to enter the
account number Next enter the account holder name and the account type. we get the details
of our account now we can update the details.
If I need to check the how many accounts in our bank means, we can see the option account
list. In that option we can see how many accounts are in the bank with account number,
account holder name, account type and balance amount.
CHAPTER 5
5. RESULTS AND PERFORMANCE ANALYSIS
5.2 NEW ACCOUNT: This is how the customers are created with a bank account.
This project has been developed to carry out the processes easily and quickly, which is not
possible with the manuals systems, which are overcome by this software.
Project is developed using VB language and. Hence it provides the complete solution for
the current management system.
CHAPTER 6
6.1 CONCLUSION
Bank is the place where customers feel the sense of safety for their
property. In the bank, customers deposit and withdraw their money. Smooth and efficient
management affects the satisfaction of the customers and staff members, indirectly. And
of course, it encourages management committee in taking some needed decision for future
enhancement of the bank. Now a days, managing a bank is tedious job up to certain limit.
So software that reduces the work is essential. Thus, considering above necessities, the
software for bank management has became necessary which would be useful in managing
the bank more efficiently.
Our software will perform and fulfill all the tasks that any customer
would desire. It is developed as a software program for managing the entire bank process
related to customer accounts to keep each every track about their property and their
various transaction processes efficiently. Hereby, our main objective is the customer’s
satisfaction considering today’s faster world.
In the recent years, computers are included in almost all kind of works and jobs everyone
come across in the routine. The availability of the software’s for almost every process or
every system has taken the world in its top-gear and fastens the day-to-day life.
So, we have tried our best to develop the software program for the Bank Management
System where all the tasks to manage the bank system are performed easily and
efficiently.
For any system, present satisfaction is important, but is also necessary to see and
visualizes the future scope. It is necessary for any system as the limitations that cannot be
denied by anybody. These limitations, can be overcome by better technologies.
In my project, records of the customers are transactions are maintained. It will be helpful
for the organization and customer.
REFERENCES
A.SOURCE CODE
class Account:
self.name = name
self.balance = balance
if amount > 0:
self.balance += amount
else:
self.balance -= amount
else:
print("Insufficient funds.")
def check_balance(self):
def __init__(self):
self.accounts = {}
else:
if name in self.accounts:
return self.accounts[name]
else:
return None
def main():
bank = Bank()
while True:
print("5. Exit")
if choice == '1':
bank.create_account(name, initial_balance)
account = bank.get_account(name)
if account:
account.deposit(amount)
account = bank.get_account(name)
if account:
account.withdraw(amount)
account = bank.get_account(name)
if account:
account.check_balance()
break
else:
if __name__ == "__main__":
main()
B.SCREEN LAYOUT