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

Bank Manegment

Project

Uploaded by

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

Bank Manegment

Project

Uploaded by

Akash Mane
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Introduction

Objective:
The objective of this project is to develop a Bank Management System using
Python, which will automate common banking operations like account creation, fund
deposits, withdrawals, and account closure.
Scope:
This system aims to simplify and streamline the manual processes involved in
managing bank accounts by automating key operations.
Problem Statement:
Banks need a computerized system that can handle customer details, account
transactions, and generate reports efficiently to avoid human error and enhance
speed.

4. Project Description
System Purpose:
The Bank Management System automates various banking functions. It provides
services like account management, customer management, transaction processing
(deposits and withdrawals), and balance inquiry.
Modules:
1. Customer Management: Allows bank employees to create, update, or
delete customer profiles.
2. Account Management: Provides functionality for opening, managing, and
closing accounts.
3. Transactions: Handles deposits, withdrawals, and tracks transaction
histories.
4. Loan Management (Optional): Manages customer loan applications and
repayments.

5. Features and Functionality


Core Features:
 Account Creation: Bank employees can create new accounts for customers.
 Deposits and Withdrawals: Customers can deposit or withdraw funds from
their accounts.
 Balance Inquiry: Customers can check their account balance at any time.
 Transaction History: View past transactions for an account.
 Account Closure: Bank employees can close accounts upon request.
Additional Features:
 Loan Processing: Customers can apply for loans, and bank employees can
track repayment schedules.
 Reports Generation: The system generates transaction and customer
reports.

6. System Requirements
Hardware Requirements:
 Processor: Intel i3 or higher.
 RAM: 4GB or more.
 Disk Space: At least 500MB for storage of data files.
Software Requirements:
 Programming Language: Python 3.x
 Database: SQLite or MySQL for storing customer and account data.
 IDE: PyCharm, Visual Studio Code, or Jupyter Notebook for development.

7. UML Diagrams
7.1 Use Case Diagram:
This diagram shows the interactions between actors and the system functionalities.
Actors include:
 Bank Employee: Manages accounts, handles deposits, and closes accounts.
 Customer: Views balance, deposits, and withdraws money.
7.2 Class Diagram:
The Class Diagram outlines the structure of the system, including key classes like:
 Bank
 Customer
 Account
 Transaction
7.3 Sequence Diagram:
A sequence diagram showing how a deposit transaction is processed step by step,
including actions like "Validate Account" and "Update Balance."
7.4 Activity Diagram:
An activity diagram that shows the flow of activities in the system, such as the steps
involved in opening an account or processing a withdrawal.

8. System Design and Implementation


Implementation in Python:
The system is implemented using Python classes to represent key entities like
Customer, Account, and Transaction. Object-oriented programming principles are
followed for modular and reusable code.
1. Customer Class: Contains attributes like name, address, and contact_info,
and methods for opening or closing an account.
2. Account Class: Handles deposits, withdrawals, and balance checking.
3. Transaction Class: Tracks the details of each deposit or withdrawal,
including the amount and transaction date.
Database Design:
 Customers Table: Stores customer information (name, address, contact).
 Accounts Table: Stores account information (account number, balance).
 Transactions Table: Logs all deposits and withdrawals.

9. Testing
The Bank Management System underwent the following tests to ensure functionality
and reliability:
 Unit Testing: Each method, such as deposit(), withdraw(), and
check_balance(), was tested individually.
 Integration Testing: The interaction between different modules like
Customer and Account was tested.
 User Acceptance Testing: Simulated real-world scenarios like opening
accounts, making deposits, and checking balances to ensure the system
works as expected.
Test Cases:
1. Test Case 1: Verify that the system allows account creation.
o Input: Customer details.
o Expected Output: Account created successfully.

2. Test Case 2: Check that the balance is updated after a deposit.


o Input: Deposit amount.

o Expected Output: Account balance updated correctly.

10. Conclusion
The Bank Management System meets the primary objectives by automating key
banking operations such as account management, deposits, withdrawals, and
generating transaction histories. Future enhancements could include adding mobile
banking features or integrating an online payment gateway.

11. References
 Python Documentation: https://docs.python.org/3/
 SQLite Documentation: https://www.sqlite.org/docs.html
 UML Resources: https://www.uml-diagrams.org/

Uml Daigrams
User Side Use Case

Employe side Use case


Sequence Daigram
Deployment Daigram :
Class Daigram
Er Daigram :
Database Entity :-

Transaction :-
Customer :-

You might also like