0% found this document useful (0 votes)
15 views46 pages

Computer Science Ip 1

The document outlines a Computer Science project on a Bank Management System completed by Darius Willson.C.P at Velammal Vidhyashram for the academic year 2024-2025. It includes sections on project overview, software and hardware requirements, advantages, limitations, and an introduction to Python and MySQL. The project aims to automate banking operations, enhance customer experience, and ensure data security while acknowledging the guidance and support received during its development.

Uploaded by

ithikashraj
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)
15 views46 pages

Computer Science Ip 1

The document outlines a Computer Science project on a Bank Management System completed by Darius Willson.C.P at Velammal Vidhyashram for the academic year 2024-2025. It includes sections on project overview, software and hardware requirements, advantages, limitations, and an introduction to Python and MySQL. The project aims to automate banking operations, enhance customer experience, and ensure data security while acknowledging the guidance and support received during its development.

Uploaded by

ithikashraj
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/ 46

VELAMMAL VIDHYASHRAM

GUDUVANCHERY

COMPUTER SCIENCE
BANK MANAGEMENT SYSTEM
ACADEMIC YEAR 2024 - 25

Done By:
DARIUS WILLSON.C.P
XII B2
BONAFIDE CERTIFICATE

This is to certify that this COMPUTER SCIENCE project on the topic


Bank management system has been successfully completed by
Darius willson.c.p of class XII Roll.no……………………... at Velammal
Vidhyashram, Guduvanchery, for the partial fulfilment of this
project as a part of All India Senior School Certificate Examination-
CBSE, New Delhi for the academic Year 2024 - 2025.

Date: ……………………..

Signature of Principal Signature of the Guide

Signature of the Signature of the


Internal Examiner External Examiner
ACKNOWLEDGEMENT
I wish to express my deep gratitude and sincere thanks
to the Senior Principal
……………………………………., Velammal
Vidhyashram, Guduvanchery for the encouragement
given to me and for all the facilities that she provided
for this project work.

I sincerely appreciate this magnanimity by taking me


into his fold for which I shall remain indebted to him.
I extend my hearty thanks to Ms PADMA POORANI M
Computer Science Teacher, who guided me to
successfully complete this project.
I take this opportunity to express my deep gratitude for
her valuable guidance, constant encouragement, and
immense motivation, which sustained my efforts at all
stages of this project work.
I would like to thank my lab assistant, a lab in charge,
and technical staff for providing correct information
which makes the completion of this project work in an
excellent way.
I cannot forget to offer my sincere thanks to my
parents, and, also to my classmates who helped me to
carry out this project work successfully and for their
valuable advice and support, which received from them
from time to time.

1
INDEX

❖ BRIEF OVERVIEW OF PROJECT

❖ SOFTWARE AND HARDWARE REQUIREMENTS

❖ INTRODUCTION TO PYTHON & MYSQL

❖ ADVANTAGES OF PROJECT

❖ SOURCE CODE IN PYTHON

❖ OUTPUT SCREEN

❖ BIBLIOGRAPHY

2
Overview of Bank Management System in
Python:
1. Core Features:
o Account Management: Create, update, and delete

customer accounts (savings, checking, etc.).


o Transaction Management: Handle deposits,

withdrawals, fund transfers, and balance inquiries.


o Customer Management: Store customer details like

name, address, contact info, and account types.


o Security and Authentication: Implement login

systems for bank staff and customers with roles and


permissions.
o Report Generation: Generate statements,

transaction histories, and account summaries.


o Interest Calculation: Automatically calculate

interest on savings accounts and loans.


2. Technologies and Tools:
o Python: Core programming language used for logic

and functionality.
o SQLite/MySQL: Database to store customer,

account, and transaction data.


o Tkinter/PyQt: For creating the graphical user

interface (GUI).
o Pandas: For data handling and manipulation,

especially in generating reports.


o Flask/Django: If a web-based interface is desired,

these frameworks can be used.


3. Modules and Components:
o Login Module: Manages authentication and

authorization for users (admin, staff, customers).

3
o Account Module: Manages account creation,
updates, and deletions.
o Transaction Module: Handles deposits,

withdrawals, and transfers.


o Customer Module: Stores and manages customer

data.
o Report Module: Generates financial reports,

transaction logs, and account statements.


4. Flow and Design:
o User Interface: Allows users to navigate through

various functions, like account management and


transactions.
o Backend Processing: Handles logic for all

operations, connected to the database to fetch,


insert, update, and delete records.
o Database Layer: Stores all relevant data securely

and efficiently, using SQL queries for data


manipulation.
5. Security Measures:
o Password Hashing: Securely stores user passwords.

o Data Encryption: Ensures sensitive data is stored

securely.
o Input Validation: Protects against SQL injection and

other common vulnerabilities.

4
Software & Hardware Requirement

SOFTWARE SPECIFICATION: -
Operating System: Windows 7
Platform: Python IDLE 3.7
Database: MySQL
Language: Python

HARDWARE SPECIFICATION: -

Processor: Dual Core & Above


Hard Disk: 40GB
RAM: 1024MB

Note: For Python-MySQL connectivity, following data have been


used:-
Host- localhost, user- root, password- root, database- school

5
Advantages of a Bank Management System
1. Efficiency and Speed:
o Automates routine banking operations, reducing

manual processing time.


o Speeds up tasks such as account creation,

transaction processing, and report generation,


enhancing overall efficiency.
2. Improved Accuracy:
o Minimizes human errors in calculations, data entry,

and record-keeping.
o Ensures accurate transaction processing, reducing

discrepancies in accounts.
3. Enhanced Customer Experience:
o Provides faster service, such as instant account

access, balance checks, and quick transactions.


o Improves customer satisfaction with streamlined

processes like online banking, fund transfers, and


automated updates.
4. Data Security:
o Protects sensitive financial data with advanced

encryption, secure authentication, and access


controls.
o Reduces the risk of fraud and unauthorized access

to customer information.
5. Better Data Management:
o Efficiently stores and organizes large volumes of

customer, account, and transaction data in a secure


database.
o Facilitates quick data retrieval, updates, and

management, aiding in decision-making and


reporting.
o

6
6. Real-time Monitoring and Reporting:
o Enables real-time tracking of transactions, account

balances, and financial activities.


o Generates timely reports for financial analysis,

compliance, and strategic planning.


7. Scalability:
o Easily adapts to the growing needs of the bank,

such as adding new services, expanding customer


bases, and managing higher transaction volumes.
o Allows integration with new technologies and third-

party services.
8. Cost Reduction:
o Lowers operational costs by automating labor-

intensive processes and reducing the need for


manual work.
o Cuts down paperwork, physical storage needs, and

administrative overheads.
9. Regulatory Compliance:
o Helps banks comply with regulatory requirements

through automated reporting, data transparency,


and audit trails.
o Reduces the risk of non-compliance penalties by

maintaining up-to-date records and financial


reports.
10. Personalized Services:
o Enables personalized banking experiences by

analyzing customer data and offering tailored


products and services.
o Supports targeted marketing, customer relationship

management, and personalized communication.

7
Limitations of project
• Limited Security Features: Most class 12-level projects do
not implement advanced security measures such as encryption,
multi-factor authentication, or secure data storage. This makes
the system vulnerable to unauthorized access and data
breaches.

• Simplified Data Handling: The project often handles only


basic data processing and does not include complex
functionalities like transaction history analysis, fraud
detection, or integration with external financial services.

• Lack of Scalability: These projects are usually designed to


handle a small dataset and a limited number of users, making
them impractical for use in real-world banking scenarios
where scalability is crucial.

• Minimal Error Handling: Error handling is often basic,


with limited or no error recovery processes. The system might
crash or behave unpredictably when unexpected inputs or
errors occur, making it less reliable.
• No Real-Time Processing: Most class 12 projects work on
a basic CRUD (Create, Read, Update, Delete) model without
real-time processing of transactions. This limitation makes the
system inadequate for real-time banking applications that
require instant updates and transaction validations.

8
INTRODUCTION
PYTHON:
Python is a high-level, interpreted scripting language
developed in the late 1980s by Guido van Rossum at the National
Research Institute for Mathematics and Computer Science in the
Netherlands. The initial version was published at the alt.sources
newsgroup in 1991, and version was released in 1994.
Python 2.0 was released in 2000, and the 2.x versions were
the prevalent releases until December 2008. At that time, the
development team made the decision to release version 3.0, which
contained a few relatively small but significant changes that were
not backward compatible with the 2.x versions. Python 2 and 3 are
very similar, and some features of Python 3 have been back ported
to Python 2. But in general, they remain not quite compatible.
Both Python 2 and 3 have continued to be maintained and
developed, with periodic release updates for both. As of this writing,
the most recent versions available are 2.7.15 and 3.6.5. However,
an official End of life of January 1,2020 has been established for
Python 2, after which time it will no longer be maintained. If you
are a newcomer to Python, it is recommended that you focus on
Python 3, as this tutorial will do.
Python is still maintained by a core development team at the
Institute, and Guido is still in charge, having been given the title of
BDFL (Benevolent Dictator For Life) by the Python community. The
name Python, by the way, derives not from the snake, but from the
British comedy troupe Monty Python’s Flying Circus, of which
Guido was, and presumably still is, a fan. It is common to find
references to Monty Python sketches and movies scattered
throughout the Python documentation.

9
Python is Popular
Python has been growing in popularity over the last few years.
The 2018 Stack Overflow Developer Survey ranked Python as the
7th most popular and the number one most wanted technology of
the year. World-class software development countries around the
globe use Python every single day. According to research by Dice
Python is also one of the hottest skills to have and the most popular
programming language in the world based on the Popularity of
programming Language Index.

Python is Interpreted
Many languages are compiled, meaning the source code you
create needs to be translated into machine code, the language of
your computer’s processor, before it can be run. Programs written
in an interpreted language are passed straight to an interpreter
that runs them directly. This makes for a quicker development
cycle because you just type in your code and run it, without the
intermediate compilation step.
One potential downside to interpreted languages is execution
speed. Programs that are compiled into the native language of the
computer processor tend to run more quickly than interpreted
programs. For some applications that are particularly
computationally intensive, like graphics processing or intense
number crunching, this can be limiting.
In practice, however, for most programs, the difference in
execution speed is measured in milliseconds, or seconds at most,
and not appreciably noticeable to a human user. The expediency of
coding in an interpreted language is typically worth it for most
applications.

10
Python is Free
The Python interpreter is developed under an OSI-approved
open-source license, making it free to install, use, and distribute,
even for commercial purposes.
A version of the interpreter is available for virtually any
platform there is, including all flavors of Unix, Windows, mac OS,
smartphones and tablets, and probably anything else you ever
heard of. A version even exists for the half dozen people remaining
who use OS/2.

Python is Portable
Because Python code is interpreted and not compiled into native
machine instructions, code written for one platform will work on
any other platform that has the Python interpreter installed. (This
is true of any interpreted language, not just Python.)

11
Python is Simple
As programming languages go, Python is relatively uncluttered,
and the developers have deliberately kept it that way.
A rough estimate of the complexity of a language can be gleaned
from the number of keywords or reserved words in the language.
These are words that are reserved for special meaning by the
compiler or interpreter because they designate specific built-in
functionality of the language.
Python 3 has 33 keywords, and Python 2 has 31. By contrast, C++
has 62, Java has 53, and Visual Basic has more than 120, though
these latter examples probably vary somewhat by implementation
or dialect.

MYSQL:
Database Management System & Types of DBMS:
A Database Management System (DBMS) is a software
application that interacts with the user, applications and the
database itself to capture and analyze data. The data stored in the
database can be modified, retrieved and deleted, and can be of any
type like strings, numbers, images etc.
Types of DBMS:
There are mainly 4 types of DBMS, which are Hierarchical,
Relational, Network, and Object-Oriented DBMS.
Hierarchical DBMS: As the name suggests, this type of DBMS has a
style of predecessor- successor type of relationship. So, it has a
structure similar to that of a tree, wherein the nodes represent
records and the branches of the tree represent fields.

12
Relational DBMS (RDBMS): This type of DBMS, uses a structure that
allows the users to identify and access data in relation to another
piece of data in the database.
Network DBMS: This type of DBMS supports many to many
relations wherein multiple member records can be linked.
Object-oriented DBMS: This type of DBMS uses small individual
software called objects. Each object contains a piece of data, and the
instructions for the actions to be done with the data.
Structured Query Language (SQL)
SQL is the core of a relational database which is used for accessing
and managing the database. By using SQL, you can add, update or
delete rows of data, retrieve subsets of information, modify
databases and perform many actions. The different subsets of SQL
are as follows:

• DDL (Data Definition Language) –It allows you to perform


various operations on the database such as CREATE, ALTER
and DELETE objects.
• DML (Data Manipulation Language) – It allows you to access
and manipulate data. It helps you to insert, update, delete and
retrieve data from the database.
• DCL (Data Control Language)– It allows you to control access
to the database. Example – Grant or Revoke access
permissions.
• TCL(Transaction Control Language) – It allows you to deal
with the transaction of the database. Example – Commit,
Rollback, Savepoint, Set Transaction.

13
MySQL & its Features
MySQL is an open-source relational database management system
that works on many platforms. It provides multi-user access to
supportmany storage engines and is backed by Oracle. So,you can
buy a commercial license version from Oracle to get premium
support services.
The features of MySQL are as follows:
Ease of Management –The software very easily gets downloaded
and also uses an event scheduler to schedule the tasks
automatically.

• Robust Transactional Support –Holds the ACID (Atomicity,


Consistency, Isolation, Durability) property, and also allows
distributed multi-version support.
• Comprehensive Application Development –MySQL has
plugin libraries to embed the database into any application.
It also supports stored procedures, triggers, functions, views
and many more for application development. You can refer to
the RDS Tutorial, to understand Amazon’s RDBMS.
• High Performance –Provides fast load utilities with distinct
memory caches and table index partitioning.
• Low Total Cost Of Ownership –This reduces licensing costs
and hardware expenditures.
• Open Source & 24 * 7 Support –This RDBMS can be used on
any platform and offers 24*7 supports for open source and
enterprise edition. Secure Data Protection –MySQL
supports powerful mechanisms to ensure that only
authorized users have access to the databases.
• High Availability –MySQL can run high speed master/slave
replication configurations and it offers cluster servers.

14
• Scalability & Flexibility –With MySQL you can run deeply
embedded applications and create data warehouses holding
a humongous amount of data.
MySQL Data Types

• Numeric – This data type includes integers of various sizes,


floating point(real) of various precisions and formatted
numbers.
• Character-string – These data types either have a fixed, or a
varying number of characters. This data type also has a
variable-length string called CHARACTER LARGE OBJECT
(CLOB) which is used to specify columns that have large text
values.
• Bit-string – These data types are either of a fixed length or
varying length of bits. There is also a variable-length bit string
data type called BINARY LARGE OBJECT(BLOB), which is
available to specify columns that have large binary values,
such as images.
• Boolean –This data type has TRUE or FALSE values. Since
SQL, has NULL values, a three-valued logic is used, which is
UNKNOWN.
• Date & Time –The DATE data type has: YEAR, MONTH, and
DAY in the form YYYY-MM-DD. Similarly, the TIME data type
has the components HOUR, MINUTE, and SECOND in the form
HH:MM: SS. These formats can change based on the
requirement.
• Timestamp & Interval –The TIMESTAMP data type includes
a minimum of six positions, for decimal fractions of seconds
and an optional WITH TIME ZONE qualifier in addition to the
DATE and TIME fields. The INTERVAL data type mentions a
relative value that can be used to increment or decrement an
absolute value of a date, time, or timestamp.

15
Python MySQL Database Connection:
Arguments required to connect MySQL from Python
You need to know the following detail of the MySQL server to
perform the connection from Python.

• Username – i.e., the username that you use to work with


MySQL Server. The default username for the MySQL database
is a root
• Password – Password is given by the user at the time of
installing the MySQL database. If you are using root then you
won’t need the password.
• Host Name – is the server name or Ip address on which
MySQL is running. if you are running on localhost, then you
can use localhost, or it’s IP, i.e. 127.0.0.0
• Database Name – Database name to which you want to
connect.
READ Operation
READ Operation on any database means to fetch some useful
information from the database. Once our database connection is
established, you are ready to make a query into this database. You
can use either fetchone() method to fetch single record or
fetchall() method to fetech multiple values from a database table.

• fetchone() − It fetches the next row of a query result set. A


result set is an object that is returned when a cursor object is
used to query a table.

• fetchall() − It fetches all the rows in a result set. If some rows


have already been extracted from the result set, then it
retrieves the remaining rows from the result set.

16
DATABASE CONNECTIVITY:
Steps to connect MySQL database in Python using MySQL
Connector Python
1. Install MySQL Connector Python using pip.
2. Use the mysql.connector.connect()method of MySQL
Connector Python with required parameters to connect MySQL.
3. Use the connection object returned by a connect()method to
create a cursor object to perform Database Operations.
4. The cursor.execute()to execute SQL queries from Python.
5. Close the Cursor object using a cursor.close() and MySQL
database connection using connection.close() after your work
completes.
6. Catch Exception if any that may occur during this process.

17
Source Code Of Project (Python Code)

18
19
20
21
22
23
24
25
26
27
28
Output (Python Screen)

MAIN MENU:

ADMIN MENU:

29
ADDING THE DATA OF NEW ACCOUNT:

FOR VIEWING DATA OF ACCOUNT HOLDERS LOAN:

30
FOR UPDATING STATUS OF LOAN LEND:

FOR VIEWING DETAILS OF LOAN DEFAULTERS:

31
FOR VIEWING FEEDBACK OF USERS:

ADDING THE DATA OF NEW ACCOUNTS INTO LOAN


ACCOUNTS:

32
USER MENU:

FOR VIEWING YOUR BANK :

33
FOR UPDATING THE NAME:

FOR UPDATING THE MAIL:

34
FOR UPDATING THE PHONE NUMBER:

FOR UPDATING THE ADDRESS:

35
FOR GIVING FEEDBACK:

36
37
USE OF DATABASE AND SHOW ALL TABLE IN THE
DATABASE :

DATA IN ACCOUNT HOLDER TABLE :

38
DESCRIBE ADMIN TABLE :

DATA IN ADMIN TABLE :

39
DESCRIBE FEEDBACK TABLE :

SHOW FEEDBACK OF USER:

DESCRIBE LOAN DETAILS TABLE:

40
DATA IN LOAN DETAILS TABLE:

DESCRIBE TRANSACTION TABLE:

SHOW TRANSACTION HISTORY OF THE USERS:

41
DESCRIBE USER_DATA:

DATA IN USER TABLE :

42
SQL Output Screen

43
Bibliography

1.PYTHON

2.MY SQL

3.ARIHANT COMUTER SCIENCE WITH PYTHON


CLASS 11 AND 12

4.WIKIPEDIA

44

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy