0% found this document useful (0 votes)
5 views23 pages

Project Prototype 4

The document outlines a Bank Management System project developed in Python, detailing its components, functionalities, and benefits of using Python for such applications. It includes sections on project meaning, software and hardware requirements, coding examples, testing methodologies, and a conclusion emphasizing the system's user-friendly nature. Acknowledgements are made to the teacher, support staff, and family for their contributions to the project.

Uploaded by

gaurendrasingh34
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)
5 views23 pages

Project Prototype 4

The document outlines a Bank Management System project developed in Python, detailing its components, functionalities, and benefits of using Python for such applications. It includes sections on project meaning, software and hardware requirements, coding examples, testing methodologies, and a conclusion emphasizing the system's user-friendly nature. Acknowledgements are made to the teacher, support staff, and family for their contributions to the project.

Uploaded by

gaurendrasingh34
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
You are on page 1/ 23

SUBMITTED TO

Prof. H.N Mishra College of Education


In partial fulfillment of the requirement for the award of diploma in

SESSION: 2024-25
Submitted To Submitted By
MS. SUMATI OMER UPENDRA SINGH
Acknowledgement

I am grateful for this project opportunity and


would sincerely thank My Teacher, Ms. Sumati,
for trusting me with this project. She has proved
to be a guiding light in my journey, and her
valuable insight has helped me improve and make
this project successful.
Besides this, I would like to express my gratitude
towards the lab/support staff for providing me
with the correct equipment needed to complete
this project.
Also, I would thank my friends and family who
supported me emotionally as well as academically
to complete this project without any obstacles.
CONTENTS
Introduction
Meaning of Project
Why Choose PYTHON
Software & Hardware Requirements
Data Flow Diagram
Coding
Screenshots
Testing
Conclusion
INTRODUCTION

WHAT SYSTEM DOES A BANK MANAGEMENT USE?

A Bank Management System (BMS) typically integrates


several key systems to streamline and automate banking
operations. At its core, the Core Banking System (CBS)
manages customer accounts, transactions, and services
across branches in real time. It works alongside a Customer
Relationship Management (CRM) system that handles
customer interactions and supports marketing and customer
service. For loan processing, banks rely on a Loan
Management System to manage the entire lifecycle of loans,
from application to repayment. Transaction Processing
Systems (TPS) ensure seamless handling of financial
transactions such as deposits, withdrawals, and transfers.
Additionally, banks use Anti-Money Laundering (AML)
systems to monitor and flag suspicious activities, ensuring
regulatory compliance. Risk Management Systems assess
and mitigate financial risks like credit and market risks. Banks
also utilize Payment Gateways for secure online payments,
and Data Warehousing & Business Intelligence (BI) systems
for analyzing financial data and generating reports. To ensure
availability and recovery, Disaster Recovery and Backup
Systems are in place. All these systems are supported by
robust Security Solutions to protect sensitive data and
maintain customer trust. Modern banking also involves the
use of Mobile Banking and Online Banking systems to
provide customers with access to their accounts remotely.
Ultimately, these interconnected systems enable banks to
offer a wide range of services while ensuring security,
compliance, and operational efficiency.
MEANING OF PROJECT

Project is proposed of different developing capacities of


various things such as the production of different types of
products of service achievement. In other manners, we can
say that a project is an assigned problem in which the solution
can be achieved by the five M's: man, money, material,
machine, and management because all these essential
components are for the completion of a successful project.
The meaning of a project is defined by the world itself as:
P- It is an abbreviated form of PLANNING, and it is the
backbone of the project because, by excellent planning, we
can increase the workability of the desired project. Planning is
the thrust of organizing and explaining the resources at the
project's disposal.
R- It is an abbreviated form of RESOURCES. Resources mean
guides that prompt the junction of the planned area.
Resources also refer to the various devices that are essential
for obtaining the desired object for which the project is
launched.
0- It is an abbreviated form of OPERATION. Operation means
various types of activities that are done under aligned
conditions since, without operation, any resource can be of no
use.
J- It is an abbreviated form of joined effect. Joint effect means
a combined effect by the top, middle, and low levels for
achieving a common goal within an organization.
E- It is an abbreviated form of ENGINEERING FUNCTIONS.
Engineering functions are the backbone of any modern
project. So, all technical operations must be carried out under
the guidance of well-trained and educated engineers.
C- It is an abbreviated form of COMMUNICATION. An effective
communication link must be established between all levels,
increasing the launched product's effectiveness and quality
control.
T- It is an abbreviated form of TASK WORKING. This depends
on a high co-ordeal relation with staff and lab, making the
industry run smoothly, which is more proof.
Why Chooses PYTHON

PYTHON is a high-level programming language celebrated


for its simplicity, readability, and versatility. Created by
Guido van Rossum and released in 1991, Python supports
multiple programming paradigms and boasts an extensive
standard library that simplifies coding tasks. Its large
ecosystem of third-party libraries and frameworks further
enhances its capabilities, making it a top choice for web
development, scientific computing, data analysis, artificial
intelligence, machine learning, and automation. Python's
clear syntax and strong community support contribute to its
popularity among beginners and experienced developers
alike.

Writing a bank management program in Python offers


several practical and technical benefits.
1. Simplicity and Readability
• Clear syntax makes code easier to write, read, and
maintain—important for financial applications where
logic must be transparent and traceable.
• Great for teams or new developers joining the project.

2. Rapid Development
• Python enables quick prototyping and iteration, so
features like account management, transaction tracking,
and user authentication can be developed and tested
faster.

3. Rich Library Support


• sqlite3, MySQL, SQLAlchemy for database integration.
• tkinter, PyQt, Flask, Django for building graphical or web
interfaces.
• pandas, NumPy for reporting, financial calculations, and
data analytics.

4. Security Features
• While Python itself isn't inherently secure or insecure, it
provides tools and frameworks (like Django’s built-in
security features) that help implement:
o Data validation
o Password hashing
o Secure session management

5. Easy Integration with Other Systems


• Easily connects with APIs (e.g., for currency exchange
rates, identity verification).
• Can interface with legacy systems using REST, SOAP, or
direct database connections.

6. Great for Reporting and Analytics


• Ideal for generating financial reports, graphs, and
dashboards using libraries like:
o Matplotlib, Seaborn, Plotly for visualization.
o Pandas for transaction analysis and summaries.

7. Future-Ready (AI/ML Integration)


• Easy to integrate machine learning for fraud detection,
credit scoring, or customer insights using tools like scikit-
learn, TensorFlow, or PyTorch.

8. Cross-Platform Compatibility
• Python apps can run on Windows, macOS, and Linux
without major changes—helpful if you deploy the system
across different machines.

9. Strong Community and Resources


• Access to forums, documentation, tutorials, and open-
source projects can accelerate development and
troubleshooting.

10. Good for Testing and Maintenance


• Libraries like unittest, pytest, and coverage make
automated testing easy, which is critical for reliable
financial software.
DATA FLOW DIAGRAM
Software & Hardware Requirements

Software: Python Console Based

Size on Disk: 4.48MB

Hardware

Device name: HP Laptop

Processor: 11th Gen Intel(R) Core(TM) i5-1135G7 @


2.40GHz 2.42 GHz

RAM: 16.0 GB (15.8 GB usable)

Operating System: Windows 11 Home Single Language


CODING

NamesOFClients = ['Jomhel Dulla', 'Benny Salde', 'Jeremy


Eriman', 'Given Bariacto', 'Carlan Pelobello', 'Ryan Manaay',
'Daniel Bandiola']

ClientPins = ['0001', '0002', '0003', '0004', '0005', '0006',


'0007']

ClientBalances = [10000, 20000, 30000, 40000, 50000, 60000,


70000]

ClientDeposition = 0

ClientWithdrawal = 0

ClientBalance = 0

disk1 = 1

disk2 = 7

u=0
rint("****************************************************
********") print("========== WELCOME TO ITSOURCECODE
BANKING SYSTEM ==========")
print("***************************************************
*********") print("========== (a). Open New Client Account
============") print("========== (b). The Client Withdraw a
Money ============") print("========== (c). The Client Deposit a
Money ============") print("========== (d). Check Clients &
Balance ============") print("========== (e). Quit
============")
print("***************************************************
*********") EnterLetter = input("Select a Letter from the Above Box
menu : ")

rint("****************************************************
********") print("========== WELCOME TO ITSOURCECODE
BANKING SYSTEM ==========")
print("***************************************************
*********") print("========== (a). Open New Client Account
============") print("========== (b). The Client Withdraw a
Money ============") print("========== (c). The Client Deposit a
Money ============") print("========== (d). Check Clients &
Balance ============") print("========== (e). Quit
============")
print("***************************************************
*********") EnterLetter = input("Select a Letter from the Above Box
menu : ")

elif EnterLetter == "b":


v=0
print(" letter b is Selected by the Client")
while v < 1:
w = -1
name = input("Please Insert a name : ")
pin = input("Please Insert a pin : ")
while w < len(NamesOFClients) - 1:
w=w+1
if name == NamesOFClients[w]:
if pin == ClientPins[w]:
v=v+1
print("Your Current Balance:", "P", end=" ")
print(ClientBalances[w], end=" ")
print("\n")
ClientBalance = (ClientBalances[w])
ClientWithdrawal = eval(input("Insert value to Withdraw :
"))
if ClientWithdrawal > ClientBalance:
deposition = eval(input(
"Please Deposit a higher Value because your Balance
mentioned above is not enough : "))
ClientBalance = ClientBalance + deposition
print("Your Current Balance:", "P", end=" ")
print(ClientBalance, end=" ")
ClientBalance = ClientBalance - ClientWithdrawal
print("-\n")
print("----Withdraw Successfully!----")
ClientBalances[w] = ClientBalance
print("Your New Balance: ", "P", ClientBalance, end=" ")
print("\n\n")
else:
ClientBalance = ClientBalance - ClientWithdrawal
print("\n")
print("----Withdraw Successfully!----")
ClientBalances[w] = ClientBalance
print("Your New Balance: ", "P", ClientBalance, end=" ")
print("\n")
if v < 1:
print("Your name and pin does not match!\n")
break
mainMenu = input(" Press Enter Key to go Back to Main Menu to
Conduct Another Transaction or Quit_")

elif EnterLetter == "c": print("Letter c is selected by the Client") x = 0


while x < 1: w = -1 name = input("Please Insert a name : ") pin =
input("Please Insert a pin : ") while w < len(NamesOFClients) - 1: w =
w + 1 if name == NamesOFClients[w]: if pin == ClientPins[w]: x = x + 1
print("Your Current Balance: ", "P", end=" ") print(ClientBalances[w],
end=" ") ClientBalance = (ClientBalances[w]) print("\n")
ClientDeposition = eval(input("Enter the value you want to deposit :
")) ClientBalance = ClientBalance + ClientDeposition
ClientBalances[w] = ClientBalance print("\n") print("----Deposition
successful!----") print("Your New Balance: ", "P", ClientBalance,
end=" ") print("\n") if x < 1: print("Your name and pin does not
match!\n") break mainMenu = input(" Press Enter Key to go Back to
Main Menu to Conduct Another Transaction or Quit_")
elif EnterLetter == "d": print("Letter d is selected by the Client") w = 0
print("Client name list and balances mentioned below : ") print("\n")
while w <= len(NamesOFClients) - 1: print("->.Customer =",
NamesOFClients[w]) print("->.Balance =", "P", ClientBalances[w],
end=" ") print("\n") w = w + 1 mainMenu = input(" Press Enter Key to
go Back to Main Menu to Conduct Another Transaction or Quit_ ")
TESTING

Testing plays a critical role in quality assurance for software. Due to


the limitations of the verification method for the previous phases,
design and requirement fault also appear in the code. Testing is

used to detect these errors, in edition to the error introduced during


coding phase.

Testing is a dynamic method for verification and validation, where


the system is to be tested is executed and behavior off the system is

observed. Due to this testing observes failure of the system, from


which the presence of fault can be deduced.

However, separate activities have to be performed to identify the


faults. There are two methods of testing:

1. Functional Testing

2. Structural Testing

Functional Testing: In functional testing, the internal logic of the


system under testing is not considered and the test cases are
decided.

from the specification or the requirements. It is often called "Black


Box Testing". Equivalence class partitioning, boundary analysis and
cause effect graphing are examples of methods of selecting test
cases for

functioning testing.

Structural Testing: In Structural Testing, the test cases are.

decided entirely on the internal logic of the programs or module


being tested. Structural Testing is also called.

"White Box Testing".

As the goal of testing is to detect any error in the programs

different flavor of testing is often used. Unit testing is used to test a


module or a small collection of modules and the focus is on detecting
coding errors in modules. During integration testing

modules are combined into sub-system, which are then tested. The
goal here is

to test the system design. In system testing and acceptance testing,


the entire system is tested. The goal here is to test the requirement

themselves. Structural testing can be used for unit testing while at


higher level mostly functional testing is used.

In the monthly Materialization Report System we used the unit


testing and functional testing.
System testing is a critical phase in system implementation. Testing
of a system involves hardware devices testing and debugging of
computer

programs testing information processing procedures. Testing can be

done with test data, which attempts to simulate all possible


conditions that may arise processing. The plan for testing are
prepared then

implemented. The testing methods adopted in the testing of the


system were Independent Unit Testing and System Testing.

Independent Unit Test (JUT):

IUT focuses first on the modules, independently.

of one another, to locate errors. This enables the tester to detect


errors in coding and logic that are contained within that module
alone. Those resulting from the interaction between modules are
initially avoided.

IUT is generally white box oriented which is predicted decision on the


close examination of procedural details. It exercises all the logical

decision on their true and false side, executes all loops at their

boundaries and within their operational bounds and checks whether


the required validations have been met. White Box Testing exercises
internal data to assure their validity.
System Testing (ST):

It is a systematic technique for testing the whole integrated system.

First all the modules are integrated to form a system and then this

integrated system is tested according to the test plan initially


prepared.

It helps to uncover errors associated with interfacing. It also tests to


find discrepancies between the system and its original objectives.

In the Testing of IAS, both these testing methods are applied. The

different units were initially tested independently, and then all the
units were combined into one to form the system. This system was
again tested. All the test conditions were planned in advance and
documented in the Unit Test Plan (UTP) and System Test Plan (STP).

Role in Testing:

IUT: Extensive testing was done for the Endorsement report. The
errors that were found were later removed.

UTP: Unit testing was done for the Release order Report, Checklist

Report, renewal entry form, release entry form and


Acknowledgement Report. All the testing was done according to the
test plans, which were designed by me. Peers of the test plans and of
the program

specifications did peer reviews.


Conclusion

This Bank Management System Project System in Python is


an easy console-based machine that’s very clean to apprehend and
use.

Talking approximately the gadget, it contains all of


the basic functions which consist of creating a new account, viewing
the account client record, withdrawing and depositing
amount, stability inquiry, maintaining an account, and editing
account details.

In this mini project, there may be no such login device. With


this method, he/she will be able to use
all those available functions without problems without
any restriction.

It is very easy to use, he/she will test the


total bank account facts without problems.

You might also like