Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

The Millennium School

XII
PROJECT REPORT
ON

“BANKING MANAGEMENT
SYSTEM”
Submitted to:
Central Board of Secondary Education
2023-24

Under Supervision of: Submitted By:


Mr. Vishal Sharma Aarushi Saharan
(PGT Computer Science) Roll No.: 03
ACKNOWLEDGEMENT
I would like to express my sincere and heartful thank to respected principal
ma’am Mrs. Deepika Kaushal for providing the facilities to present this project.

I am also grateful to my project supervisor Mr. VIshal Sharma for providing


necessary assistance.

Last but not the least I would like to express my gratitude towards my parents
whose help has been indispensable and also my friends whose insight and views
made the project even better.
CERTIFICATE
THE MILLENNIUM SCHOOL
KURUKSHETRA
This is to certify that ____________________________ of class XII(Non-Medical
has completed computer science project on the topic
___________________________________________ as per CBSE guidelines under the
guidance of incharges..

__________________ _______________ __________________


(Mr. Vishal Sharma) External Exaaminer Mrs. Deepika Kaushal
(PGT Computer Science) (Principal)

Date:______________
PREFACE
The quest for knowledge can never end .The deeper you dig the greater the
unexplored seems to be no man can honestly say?
That he has learned all that this world has to offer we can’t achieve anything
worthwhile in any field only on basis theoretical from book, programmatically
knowledge obtain through working at zero level and gaining experience, in my view
.
In order to achieve tangible positive and concert result, the classroom
knowledge needs to be effective wedded to the realities of the situation existing
outside the classroom.
This report covers a complete description of my project, which is based on python
programming language and Object Oriented language features
CONTENTS

Sr. No. Content Page No.


ABOUT PROJECT
❖ Introduction to Project
1
1
❖ Objective of Project

2 SOFTWARE DEVELOPMENT LIFE CYCLE 4


3 SYSTEM REQUIREMENT SPECIFICATION 9
4 FEASIBILITY STUDY 12
5 SYSTEM ANALYSIS 19
6 TECHNOLOGY USED 21
7 CODING 28
8 SCREEN LAYOUTS 33
9 SOFTWARE TESTING 37
10 CONCLUSION 44
11 BIBLIOGRAPHY 44
Banking software is enterprise software that is used by the banking
industry to provide and manage the financial products they
provide. In our project we are trying to ease the work of any small
banking system. In our project we have the following working:

1. Open a New Account


2. Deposit Fund
3. Withdraw Fund
4. Close An Account
5. Open a Fixed Deposit
6. List of Accounts
7. List of Fixed Deposit Accounts
8. Exit
The Systems Development Life Cycle (SDLC) is a conceptual
model used in project management that describes the stages
involved in an information system development project from an
initial feasibility study through maintenance of the completed
application. Various SDLC methodologies have been developed to
guide the processes involved including the waterfall model (the
original SDLC method), rapid application development (RAD), joint
application development (JAD), the fountain model and the spiral
model. Mostly, several models are combined into some sort of
hybrid methodology. The project Banking Management
developed by me, I use the hybrid methodology Documentation is
crucial regardless of the type of model chosen or devised for any
application, and is usually done in parallel with the development
process. Some methods work better for specific types of projects,
but in the final analysis, the most important factor for the
success of a project may be how closely particular plan was
followed.
The methodology SDLC is closely linked to what has come to be known as
structured systems analysis & design. It involves a series of steps to be
undertaken in the development of information systems as follows:

● Problem Definition: On receiving a request from the user for systems


development, an investigation is conducted to state the problem to be
solved.
o Deliverables: In the BANKING MANAGEMENT SYSTEM, firstly the
problem was taken so that the solution of the problem can be find out.
This phase give the detailed information about the problem.

● Feasibility study: The objective here is to clearly define the scope and
objectives of the systems project, and to identify alternative solutions to the
problem defined earlier.
o Deliverables: The output of this phase is the Feasibility report. The
feasibility report gives the overall scope of the project and also define
that the given problem is feasible or not.

● Systems Analysis Phase: The present system is investigated and its


specifications documented. They should contain our understanding of HOW
the present system works and WHAT it does.
o Deliverables: This phase gives the overall Specifications of the present
system and specifies what changes are required to give the solution of
the present problem.

● Systems Design Phase: The specifications of the present system are studied
to determine what changes will be needed to incorporate the user needs not
met by the system presently. The output of this phase will consist of the
specifications, which must describe both WHAT the proposed system will do
and HOW it will work, of the proposed system.
o Deliverables: This phase gives the Specifications of the proposed
system. In the design phase of the Banking Management System
Application we design all the pages of the system.

● Systems Construction: Programming the system, and development of user


documentation for the system as well as the programs.
o Deliverables: In this phase of the system development we make use
of the programming tools to develop the coding part of the system. In
Banking Management System application we basically make use of
the Python programming language. And also do the documentation,
and user manuals.
● System Testing & Evaluation: Testing, verification and validation of the
system just built.
o Deliverables: Test and evaluation results, and the system ready to be
delivered to the user/client.
Software requirement specification (SRS) is the starting point of the software
development activity. Little importance was given to this phase in the early days of
software development. The emphasis was first on coding and then shifted to
design.
As systems grew more complex, it became evident that the goals of the
entire system cannot be easily comprehended. Hence the need for the requirement
analysis phase arose. Now, for large software systems, requirements analysis is
perhaps the most difficult activity and also the most error prone.
Some of the difficulty is due to the scope of this phase. The software project
is initiated by the client’s needs. In the beginning these needs are in the minds of
various people in the client organization. The requirement analyst has to identify
the requirements by talking to these people and understanding their needs. In
situations where the software is to automate a currently manual process, most of
the needs can be understood by observing the current practice.
The SRS is a means of translating the ideas in the minds of the clients (the
input), into formal document (the output of the requirements phase). Thus, the
output of the phase is a set of formally specified requirements.
Statement of user needs:
A main purpose of the product specification is to define the need of the product’s
user. Some times, the specification may be a part of a contract sign between the
producer and the user. It could also form part of the user manuals. A user‘s
needs are sometimes not clearly understood by the developer. If this is the case, a
careful analysis – involving much interaction with the user should be devoted to
reaching a clear statement of requirements, in order to avoid possible
misunderstandings. In the application developed by me that is Banking
Management System the main requirement of the user is to have the software
that can be used only by their employee of the banks.
Sometimes, at the beginning of a project, even the user has no clear idea of what
exactly the desired product is. Think for instance of user interface , a user with no
previous experience with computer products may not appreciate the difference
between , say menu driven interaction and a command line interface. Even an
exact formation of system functions and performance may be missing an initial
description produced by an inexperienced user.

A statement of the requirements for the Implementation:


The specifications developed in the specification is also used as a reference point
during product implementation. In fact, the ultimate goal of the implementation is
to build a product that needs specification. Thus the implementers use
specifications during design to make design decisions and during the verification
activity to check that the implementation compiles with specifications.
A feasibility study is a preliminary study undertaken to determine and document
a project's viability. The term feasibility study is also used to refer to the
resulting document. These results of this study are used to make a decision
whether to proceed with the project, or table it. If it indeed leads to a project being
approved, it will — before the real work of the proposed project starts — be used to
ascertain the likelihood of the project's success. It is an analysis of possible
alternative solutions to a problem and a recommendation on the best alternative.
It, for example, can decide whether an order processing be carried out by a new
system more efficiently than the previous one.
A feasibility study should examine three main areas:
● Operational Feasibility
● Technical and organizational requirements
● Economical overview

TECHNICAL FEASIBILITY STUDY


This involves questions such as whether the technology needed for the system
exists, how difficult it will be to build, and whether the firm has enough
experience using that technology. The assessment is based on an outline design of
system requirements in terms of Input, Processes, Output, Fields, Programs, and
Procedures.The technical issues raised during technical feasibility include:
1. Does the necessary technology exist to do what is proposed?
2. Does the proposed equipment have the technical capacity to hold the data
Required to use in the new system.?
3. Adequate responses provided by the proposed system?
4. Is the system flexible enough to facilitate expansion?
5. Is there any technical guarantee of accuracy, reliability, ease of access and Data
security?

In the project “Banking Management System”, I make use of the Python


programming language as front end and MySQL as Back end. The system
developer’s task is to view needed capabilities in light of currently available
technology. Since the existing system is semi-computerized it is clear to us that
there is no efficiency in the use of technology within the organization. The solution
is the implementing the new computerized system, which works hand in hand
with high technology.
A database has to be maintained in order to update and backup data whenever a
transaction occurs. To create databases we use MySQL.
After taking the above facts into consideration we can state that the new proposed
system is technically feasible.
During technical analysis, the technical merits of the system are studied and at
the same time collecting additional information about performance, reliability,
maintainability and predictability.
Technical analysis begins with an assessment of the technical viability of the
proposed system.

⮚ What technologies are required to accomplished system function and


performance?
⮚ What new materials, methods, algorithms or processes are required and
what is their development risk?
⮚ How will these obtained from technical analysis form the basis for another
go/no-go decision on the test system? If the technical risk is severe, if
models indicate that the desired function can not be achieved, if the pieces
just won’t fit together smoothly-it’s back to the drawing board.
As the software is vary much economically feasible, then it is really important for
it to be technically sound. The software will be build among:

⮚ MySQL as Back End


⮚ Python as Front End

Operational Feasibility
A proposed system is beneficial only if it can be turned into an information system
that will meet the operational requirements of an organization. A system often fails
if it does not fit within existing operations and if users resist the change.
Important issues a systems developer must look into are:
1. Will the new system be used if implemented in an organization?
2. Are there major barriers to implementation or is proposed system accepted
without destructive resistance?

The whole purpose of computerizing the Placement System is to handle the work
much more accurately and efficiently with less time consumption. There will be
additional work to be completed, because now the students and the companies
can update their resumes and profiles online. Their database is maintained
separately.

Compared to the semi-computerized system the chances of avoiding errors in a


computerized system is much higher because the user need not stress himself
unnecessarily resulting in recklessness. Unlike the semi-computerized system
there would be backup data for all the information concerning the daily
transactions occurred within the organization.

If we are considering the performance and response time for each task, it is very
much faster since there is less paper work to be completed. When entering data
into the system to relieve the user from additional work and typing incorrect data,
the system provides options such as combo boxes, check boxes, option buttons
and etc. if the users type in incorrect data they would be informed immediately
about the error by the error detection control.

Another important fact to be regarded is the security control, which is handled by


the system. Since data regarding each student and the company is confidential,
security is a key issue. Information falling into the wrong hands could jeopardize
the entire organization. Unlike in semi-computerized systems the proposed system
offers adequate control to protect the organization against fraud and
embezzlement and guarantees the accuracy and security of data and information.
This is handled by the system providing each department and individuals with
separate login names and passwords.

The new system is more user-friendly, which enables the end-user to complete
his/her work efficiently and accurately with interest. After taking the above fact
into consideration we can state the operating of the proposed system within the
organization is feasible.

In this phase of the feasibility study the following two main topics
● Technical Performance Aspect
● Acceptance within the organization
Technical performance aspect is explained in the technical feasibility report and
there is no new information is needed in this to explain it again, but as for the
acceptance within the organization the following points are important and those
are explained according to the topics

1. Whether the system provides right information to the right place. In the
current system which is the semi computerized system the information may
be lost in the process of sending from one place to another. This is mainly due
to human interaction in the process of the transferring information from one
place to another.

2. Whether the new system affect the current users in the system. The new
proposed system will affect the users in the following areas
● Accuracy
● Efficiency
● Productivity
● Robustness
● Lesser time consuming

ECONOMIC FEASIBILITY
Establishing the cost-effectiveness of the proposed system i.e. if the benefits do
not outweigh the costs then it is not worth going ahead.
The proposed system is economically feasible because the cost involved in
purchasing that hardware and the software are within approachable. The personal
cost like salaries of employees hired are also nominal, because working in this
system need not required a highly qualified professional .The operating
–environment costs are marginal .The less time involved also helped in its
economical feasibility.
In making recommendations a study of the economics of the proposed system
should be made. The proposed system must be justifiable in terms of cost and
benefit, to ensure that the investment in a new/changed system provide a
reasonable return.
Cost-benefit analysis of information is complicated by the fact that many of the
systems cost elements are poorly defined and that benefit can often be highly
qualitative and subjective in nature.
In our proposed system various costs are evaluated. Even though finding out the
costs of the proposed project is difficult we and assume and estimate the costs
and benefits as follows.
According to the computerized system we propose, the costs can be broken down
to two categories.
1. Costs associated with the development of the system.
2. Costs associated with operating the system.
Among the most important information contained in feasibility study is Cost
Benefit Analysis and assessment of the economic justification for a computer
based system project. Cost Benefit Analysis delineates costs for the project
development and weighs them against tangible and intangible benefits of a system.
Cost Benefits Analysis is complicated by the criteria that vary with the
characteristics of the system to be developed, the relative size of the project and
the expected return on investment desired as part of company’s strategic plan. In
addition, many benefits derived from a computer-based system are intangible (e.g.
better design quality through iterative optimization, increased customer
satisfaction through programmable control etc.)As this is an in-house project for
the company, to be used for its own convenience and also it is not that big a
project. So neither it requires a huge amount of money nor any costly tools or
infrastructure need to be set up for it.

SYSTEMS ANALYSIS
Systems analysis is the process of examining a business situation for the purpose
of developing a system solution to a problem or devising improvements to such a
situation. Before the development of any system can begin, a project proposal is
prepared by the users of the potential system and/or by systems analysts and
submitted to an appropriate managerial structure within the organization.
It is an in depth study of end user requirements that is needed before the design
of new system can be completed. It involves detail study of customers needs and
their purchasing behavior. This application capability require meeting the need of
a customer.
SYSTEM REQUIREMENT ANALYSIS
This step is one of the most difficult as firstly we need to determine the specific
projects needs , secondly determine the knowledge processing capability required
for each system activity and finally try to develop project requirements

PROJECT PROPOSAL
The project proposal is the attempt to respond to or take advantage of a particular
situation and is an essential element for correctly launching the system analysis.
Although there are no hard and fast rules as to the form and content of the project
proposal, the proposal should address the following points:
● The specifics of the business situation or problem.
● The significance of the problem to the organization.
● Alternative solutions.
● The possible use of computer information systems to solve the problem.
● The various people interested in or possessing knowledge relevant to the
problem.
System projects that are to be shared by a number of departments and users are
usually approved by a committee rather than an individual. A project proposal is
submitted to a committee that determines the merits of the proposal and decides
whether or not to approve it. The committee is made up of people from various
functional areas of the organization who have an interest in the operation and
information of the proposed system.
Introduction to Python
Python is one of the most dynamic and versatile programming languages available
in the industry today. Since its inception in the 1990s, Python has become hugely
popular and even today there are thousands who are learning this Object-Oriented
Programming language.
Python is an object-oriented programming language that is designed in C. By
nature, it is a high-level programming language that allows for the creation of both
simple as well as complex operations. Along with this Python comes inbuilt with a
wide array of modules as well as libraries which allows it to support many
different programming languages like Java, C, C++, and JSON.
As a programming language, the features of Python brought to the table are many.
Some of the most significant features of Python are:
Easy to Code
Python is a very developer-friendly language which means that anyone and
everyone can learn to code it in a couple of hours or days. As compared to other
object-oriented programming languages like Java, C, C++, and C#, Python is one
of the easiest to learn.
Open Source and Free
Python is an open-source programming language which means that anyone can
create and contribute to its development. Python has an online forum where
thousands of coders gather daily to improve this language further. Along with this
Python is free to download and use in any operating system, be it Windows, Mac
or Linux.
Support for GUI
GUI or Graphical User Interface is one of the key aspects of any programming
language because it has the ability to add flair to code and make the results more
visual. Python has support for a wide array of GUIs which can easily be imported
to the interpreter, thus making this one of the most favorite languages for
developers.
Object-Oriented Approach
One of the key aspects of Python is its object-oriented approach. This basically
means that Python recognizes the concept of class and object encapsulation thus
allowing programs to be efficient in the long run.
High-Level Language
Python has been designed to be a high-level programming language, which means
that when you code in Python you don’t need to be aware of the coding structure,
architecture as well as memory management.
Integrated by Nature
Python is an integrated language by nature. This means that the python
interpreter executes codes one line at a time. Unlike other object-oriented
programming languages, we don’t need to compile Python code thus making the
debugging process much easier and efficient. Another advantage of this is, that
upon execution the Python code is immediately converted into an intermediate
form also known as byte-code which makes it easier to execute and also saves
runtime in the long run.
Highly Portable
Suppose you are running Python on Windows and you need to shift the same to
either a Mac or a Linux system, then you can easily achieve the
same in Python without having to worry about changing the code. This is not
possible in other programming languages, thus making Python one of the most
portable languages available in the industry.
Highly Dynamic
As mentioned in an earlier paragraph, Python is one of the most dynamic
languages available in the industry today. What this basically means is that the
type of a variable is decided at the run time and not in advance. Due to the
presence of this feature, we do not need to specify the type of the variable during
coding, thus saving time and increasing efficiency.
Extensive Array of Library
Out of the box, Python comes inbuilt with a large number of libraries that can be
imported at any instance and be used in a specific program. The presence of
libraries also makes sure that you don’t need to write all the code yourself and can
import the same from those that already exist in the libraries.
Support for Other Languages
Being coded in C, Python by default supports the execution of code written in
other programming languages such as Java, C, and C#, thus making it one of the
versatile in the industry.
INTRODUCTION TO MYSQL:
MySQL is a relational database management system (RDBMS) based on the SQL
(Structured Query Language) queries. It is one of the most popular languages for
accessing and managing the records in the table. MySQL is open-source and free
software under the GNU license. Oracle Company supports it.
The following are the most important features of MySQL:
Relational Database Management System (RDBMS)
MySQL is a relational database management system. This database language is
based on the SQL queries to access and manage the records of the table.
Easy to use
MySQL is easy to use. We have to get only the basic knowledge of SQL. We can
build and interact with MySQL by using only a few simple SQL statements.
It is secure
MySQL consists of a solid data security layer that protects sensitive data from
intruders. Also, passwords are encrypted in MySQL.
Client/ Server Architecture
MySQL follows the working of a client/server architecture. There is a database
server (MySQL) and arbitrarily many clients (application programs), which
communicate with the server; that is, they can query data, save changes, etc.
Free to download
MySQL is free to use so that we can download it from MySQL official website
without any cost.
It is scalable
MySQL supports multi-threading that makes it easily scalable. It can handle
almost any amount of data, up to as much as 50 million rows or more. The default
file size limit is about 4 GB. However, we can increase this number to a theoretical
limit of 8 TB of data.
Speed
MySQL is considered one of the very fast database languages, backed by a large
number of the benchmark test.
High Flexibility
MySQL supports a large number of embedded applications, which makes MySQL
very flexible.
Compatible on many operating systems
MySQL is compatible to run on many operating systems, like Novell NetWare,
Windows* Linux*, many varieties of UNIX* (such as Sun* Solaris*, AIX, and DEC*
UNIX), OS/2, FreeBSD*, and others. MySQL also provides a facility that the clients
can run on the same computer as the server or on another computer
(communication via a local network or the Internet).
Allows roll-back
MySQL allows transactions to be rolled back, commit, and crash recovery.
Memory efficiency
Its efficiency is high because it has a very low memory leakage problem.
High Performance
MySQL is faster, more reliable, and cheaper because of its unique storage engine
architecture. It provides very high-performance results in comparison to other
databases without losing an essential functionality of the software. It has fast
loading utilities because of the different cache memory.
High Productivity
MySQL uses Triggers, Stored procedures, and views that allow the developer to
give higher productivity.
Platform Independent
It can download, install, and execute on most of the available operating systems.
Partitioning
This feature improves the performance and provides fast management of the large
database.
GUI Support
MySQL provides a unified visual database graphical user interface tool named
"MySQL Workbench" to work with database architects, developers, and Database
Administrators. MySQL Workbench provides SQL development, data modeling,
data migration, and comprehensive administration tools for server configuration,
user administration, backup, and many more. MySQL has a fully GUI supports
from MySQL Server version 5.6 and higher.
Dual Password Support
MySQL version 8.0 provides support for dual passwords: one is the current
password, and another is a secondary password, which allows us to transition to
the new password.
Source Code:

import mysql.connector as M
con=M.connect(host='localhost',user='root',passwd='1234',database
='Bank')
if con.is_connected():
print("Connected")

while (1):
print("Select Your choice")
print("1. Open a New Account")
print("2. Deposite Fund")
print("3. Withdraw Fund")
print("4. Close An Account")
print("5. Open a Fixed Deposit")
print("6. List of Accounts")
print("7. List of Fixed Deposite Accounts")
print("8. Exit")
ch=int(input("Enter your choice"))

if ch==1:
cur=con.cursor()
cur.execute("select * from Account;")
data=cur.fetchall()
for row in data:
AN=row[0]
AN=AN+1
CN=input("Enter customer Name: ")

CP=int(input("Enter Customer Phone Number: "))

CA=input("Enter Customer Address: ")


Bal=eval(input("Enter Amount to be deposited: "))
st="insert into Account(Account_No,Cust_Name,
Cust_Phone_No,Cust_Address,Balance)
values({},'{}',{},'{}',{})".format(AN,CN,CP,CA,Bal)
cur.execute(st)
con.commit()

print("New Account opened with account no: ",AN)

elif ch==2:
AN=int(input("Enter Account Number: "))
Amt=eval(input("Enter Amount to be deposited: "))
cur=con.cursor()

st="update Account set Balance=Balance+{} where


Account_No={}".format(Amt,AN)
cur.execute(st)
con.commit()
print("Rs.",Amt," Deposited in account No: ",AN);

elif ch==3:
AN=int(input("Enter Account Number: "))
Amt=eval(input("Enter Amount to be Withdraw: "))

cur=con.cursor()
st="update Account set Balance=Balance-{} where
Account_No={}".format(Amt,AN)
cur.execute(st)
con.commit()

print("Rs.",Amt," withdraw from account No: ",AN);

elif ch==4:
AN=int(input("Enter Account Number to be closed: "))
cur=con.cursor()
s=input("Are yoy sure you want to delete this account No
press 'y' or 'N'")

if s=='y' or 'Y':
st="delete from Account where
Account_No={}".format(AN)
cur.execute(st)
con.commit()
print("Account No: ",AN," Deleted from the database");
else:
print("Account No: ",AN," Not Deleted from the
database");

elif ch==5:
cur=con.cursor()
cur.execute("select * from F_D;")

data=cur.fetchall()
for row in data:
AN=row[0]
AN=AN+1
CN=input("Enter customer Name: ")
CP=int(input("Enter Customer Phone Number: "))
CA=input("Enter Customer Address: ")

AM=eval(input("Enter Amount to be deposited: "))


st="insert into
F_D(Account_No,Cust_Name,Cust_Phone_No,Cust_Address,Am
ount)values({},'{}',{},'{}',{})".format(AN,CN,CP,CA,AM)
cur.execute(st)
con.commit()

elif ch==6:
cur=con.cursor()
cur.execute("select * from Account;")
data=cur.fetchall()
for row in data:
print(row)

elif ch==7:
cur=con.cursor()
cur.execute("select * from F_D;")
data=cur.fetchall()

for row in data:


print(row)

elif ch==8:
print("Thank you for using this software")
break
Output

Connected
Select Your choice
1. Open a New Account
2. Deposite Fund
3. Withdraw Fund
4. Close An Account
5. Open a Fixed Deposit
6. List of Accounts
7. List of Fixed Deposite Accounts
8. Exit

Enter your choice1

Enter customer Name: Jorawar Singh

Enter Customer Phone Number: 9896745123

Enter Customer Address: Kurukshetra

Enter Amount to be deposited: 20000


New Account opened with account no: 111
Select Your choice
1. Open a New Account
2. Deposite Fund
3. Withdraw Fund
4. Close An Account
5. Open a Fixed Deposit
6. List of Accounts
7. List of Fixed Deposite Accounts
8. Exit

Enter your choice6


(101, 'Ramesh Kumar', 9416087332, 'Kurukshetra', 29400.0)
(102, 'Rajesh Kumar', 9416687332, 'Kurukshetra', 40200.0)
(103, 'Vishal Sharma', 9466047352, 'Kurukshetra', 21000.0)
(104, 'Sirjan Kaur', 9416012345, 'Kurukshetra', 12590.0)
(106, 'Anuj Kumar', 9896545672, 'kurukshetra', 50400.0)
(107, 'Mukesh Kumar', 9896523432, 'KKR', 21000.0)
(108, 'Gurleen', 53736222, 'kkr', 2870.0)
(109, 'ram', 123456, 'kkr', 1000.0)
(110, 'Jaskirat Chattha', 989899898, 'Kurukshetra', 100000.0)
(111, 'Jorawar Singh', 9896745123, 'Kurukshetra', 20000.0)
Select Your choice
1. Open a New Account
2. Deposite Fund
3. Withdraw Fund
4. Close An Account
5. Open a Fixed Deposit
6. List of Accounts
7. List of Fixed Deposite Accounts
8. Exit

Enter your choice2


Enter Account Number: 111

Enter Amount to be deposited: 12000


Rs. 12000 Deposited in account No: 111
Select Your choice
1. Open a New Account
2. Deposite Fund
3. Withdraw Fund
4. Close An Account
5. Open a Fixed Deposit
6. List of Accounts
7. List of Fixed Deposite Accounts
8. Exit

Enter your choice3

Enter Account Number: 111

Enter Amount to be Withdraw: 1000


Rs. 1000 withdraw from account No: 111
Select Your choice
1. Open a New Account
2. Deposite Fund
3. Withdraw Fund
4. Close An Account
5. Open a Fixed Deposit
6. List of Accounts
7. List of Fixed Deposite Accounts
8. Exit

Enter your choice5

Enter customer Name: JOrawar Singh


Enter Customer Phone Number: 9896745123

Enter Customer Address: Kurukshetra

Enter Amount to be deposited: 100000


Select Your choice
1. Open a New Account
2. Deposite Fund
3. Withdraw Fund
4. Close An Account
5. Open a Fixed Deposit
6. List of Accounts
7. List of Fixed Deposite Accounts
8. Exit

Enter your choice7

(1001, 'Mukesh Kumar', 9466689332, 'Kurukshetra', 200000.0)


(1002, 'Vikram Singh', 9466880331, 'Kurukshetra', 100000.0)
(1003, 'JOrawar Singh', 9896745123, 'Kurukshetra', 100000.0)
Select Your choice
1. Open a New Account
2. Deposite Fund
3. Withdraw Fund
4. Close An Account
5. Open a Fixed Deposit
6. List of Accounts
7. List of Fixed Deposite Accounts
8. Exit

Enter your choice8


Thank you for using this software
Testing is a process used to help identify the correctness, completeness and
quality of developed computer software. With that in mind, testing can never
completely establish the correctness of computer software.
There are many approaches to software testing, but effective testing of complex
products is essentially a process of investigation, not merely a matter of creating
and following rote procedure. One definition of testing is "the process of
questioning a product in order to evaluate it", where the "questions" are things the
tester tries to do with the product, and the product answers with its behavior in
reaction to the probing of the tester. Although most of the intellectual processes of
testing are nearly identical to that of review or inspection, the word testing is
connoted to mean the dynamic analysis of the product—putting the product
through its paces.
The quality of the application can and normally does vary widely from system to
system but some of the common quality attributes include reliability, stability,
portability, maintainability and usability. Refer to the ISO standard ISO 9126 for a
more complete list of attributes and criteria.
Testing helps is Verifying and Validating if the Software is working as it is intended
to be working. Thins involves using Static and Dynamic methodologies to Test the
application.
Because of the fallibility of its human designers and its own abstract, complex
nature, software development must be accompanied by quality assurance
activities. It is not unusual for developers to spend 40% of the total project time on
testing. For life-critical software (e.g. flight control, reactor monitoring), testing can
cost 3 to 5 times as much as all other activities combined.

SOFTWARE TESTING FUNDAMENTALS


Testing objective includes:
1. Testing is a process of executing a program with the intent of
finding an error.
2. A good test case is one that has a high probability of finding an
as yet undiscovered error
3. A successful test is one that uncovers an as yet undiscovered
error.
Testing should systematically uncover different classes of errors in a minimum
amount of time and with a minimum amount of effort. A secondary benefit of
testing is that it demonstrates that the software appears to be working as stated in
the specifications. The data collected through testing can also provide an
indication of the software's reliability and quality. But, testing cannot show the
absence of defect -- it can only show that software defects are present.
WHEN TESTING SHOULD START:
Testing early in the life cycle reduces the errors. Test deliverables are associated
with every phase of development. The goal of Software Tester is to find bugs, find
them as early as possible, and make them sure they are fixed.
The number one cause of Software bugs is the Specification. There are several
reasons specifications are the largest bug producer.
In many instances a Spec simply isn’t written. Other reasons may be that the spec
isn’t thorough enough, its constantly changing, or it’s not communicated well to
the entire team.
The next largest source of bugs is the Design, That’s where the programmers lay
the plan for their Software. Compare it to an architect creating the blue print for
the building, Bugs occur here for the same reason they occur in the specification.
Coding errors may be more familiar to you if you are a programmer. Typically
these can be traced to the Software complexity, poor documentation, schedule
pressure or just plain dump mistakes. It’s important to note that many bugs that
appear on the surface to be programming errors can really be traced to
specification. It’s quite common to hear a programmer say, “ oh, so that’s what its
supposed to do. If someone had told me that I wouldn’t have written the code that
way.”
The other category is the catch-all for what is left. Some bugs can blamed for false
positives, conditions that were thought to be bugs but really weren’t. There may be
duplicate bugs, multiple ones that resulted from the square root cause. Some
bugs can be traced to Testing errors.

COSTS:
The costs re logarithmic- that is, they increase tenfold as time increases. A bug
found and fixed during the early stages when the specification is being written
might cost next to nothing, or 10 cents in our example. The same bug, if not found
until the software is coded and tested, might cost $1 to $10. If a customer finds it,
the cost would easily top $100.
Testing early in the life cycle reduces the errors. Test deliverables are associated
with every phase of development. The goal of Software Tester is to find bugs, find
them as early as possible, and make them sure they are fixed.

THERE ARE BASICALLY TWO PROCESS OF TESTING. THESE ARE


FOLLOWS:
MANUAL TESTING PROCESS
Manual testing starts with careful planning of the test process and test cases. In
simple terms, manual testing can be defined as developing and executing tests
that rely primarily on direct human interaction throughout the entire test cycle,
especially in terms of evaluating correctness and ascertaining test status. Manual
testing can include the use of tools to track and monitor the defects.

USAGE:
● It involves testing of all the functions performed by the people while
preparing the data and using these data from automated system.
OBJECTIVE:
● Verify manual support documents and procedures are correct.
● Determine Manual support responsibility is correct
● Determine Manual support people are adequately trained.
● Determine Manual support and automated segment are properly interfaced.

HOW TO USE:
Process evaluated in all segments of SDLC.
● Execution of the can be done in conjunction with normal system testing.
● Instead of preparing, execution and entering actual test transactions the
clerical and supervisory personnel can use the results of processing from
application system.
● To test people it requires testing the interface between the people and
application system.

WHEN TO USE
● Verification that manual systems function properly should be conducted
throughout the SDLC.
● Should not be done at later stages of SDLC.
● Best done at installation stage so that the clerical people do not get used to
the actual system just before system goes to production.

AUTOMATED TESTING
Industry analysts predict that during the second half of this decade, increases in
software testing activity will be fuelled by software testing automation. Automated
testing tools have matured and ROI to a state where ROI (return on investment)
need no longer be a pipe dream. This will allow more people to be engaged in
software test automation with better testing tools.
Automated testing is a valuable tool that provides us with additional ways of
getting to the heart of the problem. . Manually testing is a time consuming
practice and is difficult to repeat. Using test automation tools to write programs
that simulates thousands of executed commands in the same exact order. Each
time that your software does not perform to your specifications, the program will
record the exact command that caused the problem. Automated testing can
supplement the manual testing process and provide valuable insight in a speedy,
objective way. Our engineers are certified in the use of sophisticated automated
testing tools designed to create a repetitive and controlled testing environment.
However, we believe that manual testing cannot be entirely replaced by
automation because the testing of some aspects of a program cannot be
automated, and some should not be automated.
That's why we engage several experienced people for manual testing process.
Paradigm’s test engineers, who are experienced in applying automation
techniques to various areas of testing, including installation testing, performance
testing, functionality testing, compatibility testing.

BENEFITS:
1. Increased transparency – Usage of test tools enables people across
locations to see
2. Both the status and the result of testing instantaneously at any point of
time.
3. Significant cost benefits due to the fact that majority of test team is based at
4. Offshore. The offshore model also enables rapid ramp-up and ramp-down of
resources.
5. Access to specialized testing skills across locations. Training the resources in
both manual testing and automated testing tools has enabled the client to utilize
the same resources for both types of testing.
ACCEPTANCE TESTING:
Acceptance testing is black-box testing performed on a system (e.g. software,
lots of manufactured mechanical parts, or batches of chemical products) prior to
its delivery In most environments, acceptance testing by the system provider is
distinguished from acceptance testing by the customer (the user or client) prior to
accepting transfer of ownership. In such environments, acceptance testing
performed by the customer is known as beta testing, user acceptance testing
(UAT), end user testing, site (acceptance) testing, or field (acceptance) testing.
Conclusion
This software is best software for small banking system where we
have small working like gramin banking system. Although we
tried to create many operation for the banking system but still
there are many points where we can make improvement.

Bibliography:
1. www.wikipedia.com
2. Python programming by Sumita Arora

You might also like