ACADEMIC YEAR:2023-24
INFORMATICS PRACTICES
PROJECT FILE
SUBMITTED TO: SUMITTED BY:
MR.HEMANT SONI SIR ANIKET PRAKASH
PGT COMPUTER SCIENCE CLASS: 12THA
ROLL NO. 12104
DECLARATION
I HERE BY DECLARE THAT THE PROJECT WORK ENTITLED
“BANK MANAGEMENT SYSTEM” , SUBMITTED TO MY IP
TEACHER MR.HEMANT SONI SIR, IS PREPARD BY ME.
ANIKET PRAKASH
CLASS:12TH A
TABLE OF CONTENT
S NO. TOPIC PAGE
1 ACKNOLEDGEMENT 4
2 INTRODUCTION 5
3 OBJECTIVE OF THE PROJECT 5
4 PROPOSED SYSTEM 6
5 SYSTEM DEVELOPMENT LIFE 7
CYCLE
6 PHASE OF SYSTEM 8
DEVELOPMENT LIFE CYCLE
7 SOURCE CODE 14
8 OUTPUT 18
9 TESTING 21
10 HARDWARE AND SOFTWARE 23
11 INSTALLATION PROCEDURE 24
12 BIBILOGRAPHY 25
ACKNOWLEDGEMENT
Apart from the efforts of me, the success of any project depends largely on the
encouragement and guidelines of many others. I take this opportunity to express my
gratitude to the people who have been instrumental in the successful completion of this
project
I express deep sense of gratitude to almighty God for giving me strength for the successful
completion of the project
I express my heartfelt gratitude to my parents for constant encouragement while carrying
out this project
I gratefully acknowledge the contribution of the individuals who contributed in bringing this
project up to this level, who continues to look after me despite my flaws.
I express my deep sense of gratitude to the luminary The Principal, Kendnya Vidyalaya
Bairagarh who has been continuously motivating and extending their helping hand to us
I express my sincere thanks to the academician The Vice Principal, Kendriya Vidyalaya
Bairagarh, for constant encouragement and the guidance provided during this project
I am overwhelmed to express my thanks to The Administrative Officer, Kendriya Vidyalaya
Bairagarh for providing me an infrastructure and moral support while carrying out this
project in the school
My sincere thanks to Mr.HEMANT SONI SIR In-charge, A guide, Mentor all the above a
friend who critically reviewed my project and helped in solving each and every problem
occurred during implementation of the project
The guidance and support received from all the members who contributed and who are
contributing to this project, was vital for the success of the project I am grateful for their
constant support and help
INTRODUCTION
“BANK MANAGEMENT SYSTEM” This project is useful for the bank employees as well as
customers to keep a track of account details. The emerging of digital system made
information available on finger tips By automating the transactions one can view the details
as and when required in no time. This project emphases on creation of new customer
accounts, managing the existing account holders in the bank, by making digital system one
can generate daily reports monthly reports and annual reports which can enhance the
system
OBJECTIVES OF THE PROJECT
The objective of this project is to let the students apply the programming knowledge into a
real world situation/problem and exposed the students how programming skills helps in
developing a good software
1. Write programs utilizing modem software tools
2 Apply object oriented programming principles effectively when developing small to
medium sized projects
3 Write effective procedural code to solve small to medium sized problems
4. Students will demonstrate a breadth of knowledge in Informatics Practices, as
exemplified in the areas of systems, theory and software development
5. Students will demonstrate ability to conduct a research or applied Informatics Practices
project, requiring writing and presentation skills which exemplify scholarly style in
Informatics Practices
PROPOSED SYSTEM
Today one cannot afford to rely on the fallible human beings of be really wants to stand
against today's merciless competition where not to wise saying "to err is human" no longer
valid, it's outdated to rationalize your mistake. So, to keep pace with time to bring about
the best result without malfunctioning and greater efficiency so to replace the unending
heaps of flies with a much sophisticated hard disk of the computer
One has to use the data management software. Software has been an ascent in atomization
various organisations Many software products working are now in markets, which have
helped in making the organizations work easier and efficiently Data management initially
had to maintain a lot of ledgers and a lot of paperwork has to be done but now software
production this organization has made their work faster and easier Now only this software
has to be loaded on the computer and work can be done
This prevents a lot of time and money The work becomes fully automated and any
information regarding the organization can be obtained by clicking the button Moreover,
now it's an age of computers of and automating such an organization gives the better look
SYSTEM DEVELOPMENT LIFE CYCLE(SDLC)
The systems development life cycle is a project management technique that divides complex projects into smaller
more easily managed segments or phases Segmenting project sallows managers to venfy the successful completion
of project phases before allocating resources to subsequent phases
Software development projects typically include initiation, planning design development, testing, implementation,
and maintenance phases. However, the phases may be divided differently depending on the organization involved
For example, initial project activities might be designated as request requirements-definition, and planning phases,
or initiation, concept-development and planning phases End users of the system under development should be
involved in reviewing the output of each phase to ensure the system is being built to deliver the needed functionality
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
INITIATION PHASE
The Initiation Phase begins when a business sponsor identifies a need or an opportunity
The purpose of the initiation Phase is to:
Identify and validate an opportunity to improve business accomplishments of the organization or a
deficiency related to a business need:
Identify significant assumptions and constraints on solutions to that need
Recommend the exploration of alternative concepts and methods to satisfy
the need including questioning the need for technology, ie, will a change in the business process offer a
solution? Assure executive business and executive technical sponsorship. The Sponsor
designates a Project Manager and the business need is documented in a Concept Proposal The Concept
Proposal includes information about the business process and the relationship to the Agency/Organization
Infrastructure and the Strategic Plan. A successful Concept Proposal results in a Project Management Charter
which outlines the authority of the project manager to begin the project.
Careful oversight is required to ensure projects support strategic business objectives and resources are effectively
implemented into an organization's enterprise architecture. The initiation phase begins when an opportunity to add,
improve, or correct a system is identified and formally requested through the presentation of a business case. The
business case should at a minimum, describe a proposal's purpose, identify expected benefits, and explain how the
proposed system supports one of the organization's business strategies. The business case should also identify
alternative solutions and detail as many informational functional and network requirements as possible.
SYSTEM CONCEPT DEVELOPMENT PHASE
The System Concept Development Phase begins after a business need or opportunity is validated by the
Agency/Organization Program Leadership and the Agency/Organization CIO
The purpose of the System Concept Development Phase is to
Determine the feasibility and appropriateness of the alternatives
Identify system interfaces
Identify basic functional and data requirements to satisfy the business need
Establish system boundaries, identify goals, objectives, critical success factors, and performance measures
Evaluate costs and benefits of alternative approaches to satisfy the basic functional requirements
Assess project risks
Identify and initiate nisk mitigation actions, and Develop high-level technical architecture, process models
data models and a concept of operations. This phase explores potential technical solutions within the
context of the business need
It may include several trade-off decisions such as the decision to use COTS software products as opposed to
developing custom software or reusing software components, or the decision to use an incremental delivery
versus a complete, onetime deployment
Construction of executable prototypes is encouraged to evaluate technology to support the business process
The System Boundary Document serves as an important reference document to support the Information
Technology Project Request (ITPR) process
The ITPR must be approved by the State CIO before the project can move forward
PICTORIAL REPRESENTATION OF SDLC:
PLANNING PHASE
The planning phase is the most critical step in completing development acquisition, and maintenance projects
Careful planning, particularly in the early stages of a project, is necessary to coordinate activities and manage project
risks effectively The depth and formality of project plans should be commensurate with the characteristics and risks
of a given project Project plans refine the information gathered during the initiation phase by further identifying the
specific activities and resources required to complete a project
A critical part of a project manager's job is to coordinate discussions between user, audit, security, design,
development, and network personnel to identify and document as many functional, security and network
requirements as possible During this phase, a plan is developed that documents the approach to be used and
includes a discussion of methods, tools, tasks, resources, project schedules, and user input Personnel assignments,
costs, project schedule, and target dates are established
A Project Management Plan is created with components related to acquisition planning, configuration management
planning, quality assurance planning, concept of operations, system security verification and validation and systems
engineering management planning
REQUIREMENTS ANALYSISPHASE
This phase formally defines the detailed functional user requirements using high-level requirements identified in the
Initiation System Concept and Planning phases It also delineates the requirements in terms of data system
performance secunty and maintainability requirements for the system. The requirements are defined in this phase
to a level of detail sufficient for systems design to proceed They need to be measurable testable, and relate to the
business need or opportunity identified in the initiation Phase The requirements that will be used to determine
acceptance of the system are captured in the Test and Evaluation Master Plan
The purposes of this phase are to
Further define and refine the functional and data requirements and document them in the Requirements
Document
Complete business process reengineering of the functions to be supported (Ie, verify what information
drives the business process what information is generated, who generates it where does the information go
and who processes it)
Develop detailed data and process models (system inputs, outputs, and the process
Develop the test and evaluation requirements that will be used to determine acceptable system
performance.
DESIGN PHASE
The design phase involves converting the informational functional and network requirements identified during the
initiation and planning phases into unified design specifications that developers use to script programs during the
development phase Program designs are constructed in various ways Using a top-down approach, designers first
identify and link major program components and interfaces then expand design layouts as they identify and link
smaller subsystems and connections Using a bottom-up approach, designers first identity and link minor program
components and interfaces then expand design layouts as they identify and link larger systems and connections
Contemporary design techniques often use prototyping tools that build mock-up designs of items such as application
screens database layouts and system architectures. End users designers developers database managers, and
network administrators should review and refine the prototyped designs in an iterative process until they agree on
an acceptable design Audit security and quality assurance personnel should be involved in the review and approval
process During this phase, the system is designed to satisfy the functional requirements identified in the previous
phase Since problems in the design phase could be very expensive to solve in the later stage of the software
development, a variety of elements are considered in the design to mitigate risk These include
Identifying potential asks and defining mitigating design features
Performing a security risk assessment
Developing a conversion plan to migrate current data to the new system
Determining the operating environment
Defining major subsystems and their inputs and outputs
Allocating processes to resources
Prepanng detailed logic specifications for each software module. The result is a draft System Design
Document which captures the preliminary design for the system
Everything requinng user input or approval is documented and reviewed by the user. Once these documents
have been approved by the Agency CIO and Business Sponsor, the final System Design Document is created
to serve as the Critical/Detailed Design for the system
This document receives a rigorous review by Agency technical and functional representatives to ensure that
it satisfies the business requirements Concurrent with the development of the system design, the Agency
Project Manager begins development of the Implementation Plan Operations and Maintenance Manual, and
the Training Plan
DEVELOPMENT PHASE
The development phase involves converting design specifications intos executable programs Effective development
standards include requirements that programmers and other project participants discuss design specifications
before programming begins The procedures help ensure programmers clearly understand program designs and
functional requirements Programmers use various techniques to develop computer programs. The large transaction
oriented programs associated with financial institutions have traditionally been developed using procedural
programming techniques Procedural programming involves the line-by-line scripting of logical instructions that are
combined to form a program Effective completion of the previous stages is a key factor in the success of the
Development phase The Development phase consists of
Transtating the detailed requirements and design into system components
Testing individual elements (units) for usability
Preparing for integration and testing of the IT system
INTEGRATION AND TEST PHASE
Subsystem integration system, security, and user acceptance testing is conducted during the integration and test
phase The user, with those responsible for quality assurance, validates that the functional requirements as defined
in the functional requirements document are satisfied by the developed or modified system OIT Security staff assess
the system security and issue a secunty certification and accreditation prior installation/implementation to
Multiple levels of testing are performed, including
Testing at the development facility by the contractor and possibly supported by end users
Testing as a deployed system with end users working together with contract personnal
Operational testing by the end user alone performing all functions. Requirements are traced throughout
testing a final Independent Verification & Validation evaluation is performed and all documentation is
reviewed and accepted prior to acceptance of the system
IMPLEMENTATION PHASE
This phase is initiated after the system has been tested and accepted by the user In this phase the system is
installed to support the intended business functions. System performance is compared to performance
objectives established during the planning phase Implementation includes user notification user training
installation of hardware installation of software onto production computers, and integration of the system
into daily work processes. This phase continues until the system is operating in production in accordance
with the defined user equirement
OPERATIONS AND MAINTENANCE PHASe
The system operation is ongoing The system is monitored for continued performance in accordance with
user requirements and needed system modifications are incorporated Operations continue as long as the
system can be effectively adapted to respond to the organization's needs When modifications or changes
are identified, the system may re enter the planning phase
The purpose of this phase is to:
Operate, maintain and enhance the system
Certify that the system can process sensitive information
Conduct periodic assessments of the system to ensure the functional requirements continue to be satisfied
Determine when the system needs to be modernized, replaced, or retired
Source code
TABLE.PY
import mysql.connector as sql
conn=sql.connect (host='localhost',user='kskartik3829',password='38293829',database='tony_bank')
if conn.is_connected():
print('connected succesfully')
cur=conn.cursor()
cur.execute ('create table customer_details(acct_no int(12) not null primary key,acct_name varchar(25) not
null,phone_no int(10) not null, address varchar(25) not null,cr_amt float(25) not null);')
menu.py
import mysql.connector as sql
conn-sql.connect (host='localhost', user='',password='3829',database='tony_bank')
cur=conn.cursor()
conn.autocommit - True
print('1.CREATE BANK ACCOUNT')
print('2.TRANSACTION')
print('3 CUSTOMER DETAILS')
print('4.TRANSACTION DETAILS')
print('5.DELETE DETAILS')
print('6 QUIT')
n=int(input('Enter your CHOICE='))
if n ==1:
acc_no=int(input('Enter your ACCOUNT NUMBER'))
acc_name=(input('Enter your ACCOUNT NAME='))
ph_no=int(input('Enter your PHONE NUMBER='))
add=(input('Enter your place='))
cr_amt=int(input('Enter your credit amount='))
V_SQLInsert="INSERT INTO customer_details values ("+ str(acc_no)+","+ acc_name + ","+str(ph_no)+","+add+","+ str
(cr_amt) + ") "
cur.execute(V_SQLInsert)
print('Account Created Succesfully!!!!!!!!!!٠')
conn.commit()
if n==2:
acct_no=int(input('Enter Your Account Number='))
cur.execute('select * from customer details where acct_no='+str (acct_no))
data=cur.fetchall()
count=cur.rowcount
conn.commit()
if count == 0:
print('Account Number Invalid Sorry Try Again Later')
else:
print('1 WITHDRAW AMOUNT')
print('2.ADD AMOUNT')
x=int(input('Enter your CHOICE='))
if x==1:
amt=int(input('Enter withdrawl amount='))
cur.execute('update customer_details set','cr_amt=cr_amt-','+str(amt) + where acct_no=+str(acet_no)')
conn.commit()
print('Account Updated Succesfully!!!!!')
if x==2:
amt=int(input('Enter amount to be added='))
cur.execute('update customer_details set cr_amt=cr_amt+'+str(amt) + 'where acct_no=’+str(acct_no)')
conn.commit()
print('Account Updated Succesfully!!!!!')
if n==3:
acct_no=int(input('Enter your account number='))
cur.execute ('select * from customer details where acct_no=' +str (acct_no))
if cur.fetchone() is None:
print('Invalid Account number')
else:
cur.execute('select * from customer details where acct_no=','+str(acct_no)')
data=cur.fetchall()
for row in data:
print('ACCOUNT NO=', acct_no)
print('ACCOUNT NAME=', row[1])
print(' PHONE NUMBER', row[2])
print('ADDRESS=', row[3])
print('cr_amt=', row[4])
if n== 4:
acct_no=int(input('Enter your account number='))
print()
cur.execute('select * from customer_details where acct_no='+str(acct_no))
if cur.fetchone() is None:
print()
print('Invalid Account number')
else:
cur.execute('select * from transactions where acct_no='+str(acct_no))
data=cur.fetchall()
for row in data:
print('ACCOUNT NO', acct_no)
print()
print('DATE=',row[1])
print()
print('WITHDRAWAL AMOUNT=',row[2])
print()
print('AMOUNT ADDED', row[3])
print()
if n==5:
print('DELETE YOUR ACCOUNT')
acct_no=int(input('Enter your account number='))
cur.execute('delete from customer_details where acct_no='+str(acct_no))
print('ACCOUNT DELETED SUCCESFULLY')
if n==6:
quit()
main.py
import mysql.connector as msql
conn=msql.connect(host='localhost', user='root', passwd='manager',database='bank')
cur = conn.cursor()
cur.execute('create table user_table usernamevarchar(25)primarykey, passwrdvarchar(25) not null)')
print('1.REGISTER')
print('2.LOGIN')
n=int(input('enter your choice='))
if n==1:
name=input('Enter a Username=')
passwd=int(input('Enter a 4 DIGIT Password='))
V_SQLInsert="INSERT INTOuser_table(passwd, username) values (" + str (passwd) +"+name+" ") "
cur.execute (V_SQLInsert)
conn.commit()
print('USER created succesfully')
if n==2:
name=input('Enter your Username=')
passwd=int(input('Enter your 4 DIGIT Password='))
V_Sql_Sel="select * from user_table where passwrd=',"+str (passwd)+",' and username= "+name+" ' "
cur.execute (V_Sql_Sel)
if cur.fetchone() is None:
print('Invalid username or password')
else:
import main.py
OUTPUT
MENU PAGE
==============================WELCOME TO STARK BANK==============================
2020-01-01 10:38:14.014927
1.REGISTER
2.LOGIN
enter your choice=2
Enter your Username=suryah
Enter your 4 DIGIT Password=1298
1. CREATE BANK ACCOUNT
2. TRANSACTION
3.CUSTOMER DETAILS
4. TRANSACTION DETAILS
5.DELETE ACCOUNT
6.QUIT
Enter your CHOICE=
CREATE BANK ACCOUNT
1. CREATE BANK ACCOUNT
2. TRANSACTION
3. CUSTOMER DETAILS
4. TRANSACTION DETAILS
S.DELETE ACCOUNT
6.QUIT
Enter your CHOICE-1
Enter your ACCOUNT NUMBER-7865
Enter your ACCOUNT NAME mackenize
Enter your PHONE NUMBER-9965433211
Enter your place florida
Enter your credit amount=10000
Account Greated Succesfully!!!!!
TRANSCATION
1 CREATE BANK ACCOUNT
2. TRANSACTION
3 CUSTOMER DETAILS
4 TRANSACTION DETAILS
5 DELETE ACCOUNT
6.QUIT
Enter your CHOICE-2
Enter Your Account Number-6009
1 WITHDRAW AMOUNT
2.ADD AMOUNT
Enter your CHOICE-1
Enter withdrawl amount-1000
Account Updated Succesfully
TRANSACTION DETAILS
1. CREATE BANK ACCOUNT
2. TRANSACTION
3. CUSTOMER DETAILS
4. TRANSACTION DETAILS &DELETE ACCOUNT
RIDING
Enter your CHOIE-4
Enter your account number-6009
ACCOUNT NO-6009
DATE-2020-01-01
WITHDRAWAL AMOUNT 1000
AMOUNT ADDED=O
TESTING
Software Testing is an empirical investigation conducted to provide stakeholders with information about the quality
of the product or service under test[1] with respect to the context in which it is intended to operate Software Testing
also provides an objective independent view of the software to allow the business to appreciate and understand the
risks at implementation of the software Test techniques include but are not limited to, the process of executing a
program or application with the intent of finding software bugs
It can also be stated as the process of validating and verifying that a software program/application/product meets
the business and technical requirements that guided its design and development, so that it works as expected and
can be implemented with the same characteristics Software Testing, depending on the testing method employed,
can be implemented at any time in the development process, however the most test effort is employed after the
requirements have been defined and coding process has been completed
TESTING METHODS
Software testing methods are traditionally divided into black box testing and white box testing These two
approaches are used to describe the point of view that a test engineer takes when designing test cases
BLACK BOX TESTING
Black box testing treats the software as a "black box without any knowledge of internal implementation Black box
testing methods include equivalence partitioning, boundary value analysis, all-pairs testing fuzz testing, modal-based
testing, traceability matrix, exploratory testing and specification-based testing
SPECIFICATION-BASED TESTING
Specification-based testing aims to test the functionality of software accordin to the applicable requirements [16]
Thus, the tester inputs data into, and only see the output from the test object This level of testing usually requires
thorough tes cases to be provided to the tester, who then can simply verify that for a given inpu the output value (or
behaviour), either "is" or "is not the same as the expected value specified in the test case Specification-based testing
is necessary, but it insufficient to guard against certain risks
ADVANTAGES AND DISADVANTAGES
The black box tester has no "bonds" with the code, and a tester's perception is very simple a code must have bugs
Using the principle "Ask and you shall receive black box testers find bugs where programmers don't But on the other
hand, black box testing has been said to be "ike a walk in a dark labyrinth without a flashlight, because the tester
doesn't know how the software being tested was actually constructed
That's why there are situations when (1) a black box tester writes many test cases to check something that can be
tested by only one test case and/or (2) some parts of the back end are not tested at all Therefore, black box festing
has the advantage of "an unaffiliated opinion" on the one hand, and the disadvantage of "blind exploring" of the
other
WHITE BOX TESTING
White box testing, by contrast to black box testing is when the tester has access to the internal data structures and
algorittims (and the code that implement these)
Types of white box testing:
The following types of white box testing exist
api testing-Testing of the application using Public and Private APIs
Code coverage coverage creating tests to satisfy some criteria of code
For example, the test designer can create tests to cause all statements in the program to be executed at least once
fault injection methods
mutation testing methods
static testing-White box testing includes all static testing
CODE COMPLETENESS EVALUATION
White box testing methods can also be used to
evaluate the completeness of a test suite that was
created with black box testing methods. This allows
the software team to examine parts of a system that
are rarely tested and ensures that the most
important function points have been tested
Two common forms of code coverage are:
Function Coverage Which reports on
functions executed and
Statement Coverage Which reports on the
number of lines executed to complete the test
They both return coverage metric, measured as a
percentage
HARDWARE AND SOFTWARE REQUIREMENTS
I OPERATING SYSTEM WINDOWS 7 AND ABOVE
II PROCESSOR PENTIUM(ANY) OR AMD
ATHALON(3800+-4200+ DUALCORE)
III MOTHERBOARD 1. 845 OR 915,995 FOR PENTIUM OR MSI
K9MM-V VIAK8M800+8237R PLUS CHIPSET FOR AMD ATHALON
IV RAM 512MB+
V Hard disk SATA 40 GB OR ABOVE
VI CD/DVD r/w multi drive combo (If back up required)
VII FLOPPY DRIVE 1.44 MB (If Backup required)
VIII) MONITOR 14.1 or 15-17 inch
IX Key board and mouse
X PrinteR (if print is required - [Hard copy])
SOFTWARE REQUIREMENTS:
Windows OS
Python
INSTALLATION PROCEDURE
Install python and mysql from the web
Open mysql and create the database
bank
Then run the table.py file
Next run the user table.py file
Then the transactions table.py file
Open the main bank file
Then register your account
BIBLIOGRAPHY
1. Informatics Practices With Python - Class XII
By: Sumita Arora
2. Website: https://www.w3resource.com
3.
https://en.wikipedia.org/wiki/E_(mathematic
al_constant)