ATM Management
ATM Management
ATM Management
INTRODUCTION
1.1 SYNOPSIS
The ATM Management is the project which is used to access their bank accounts
in order to make cash withdrawals. Whenever the user need to make cash withdraws, they
can enter their PIN number (personal identification number) and it will display the amount
to be withdrawn in the form of 100’s 500’s and 1000’s. Once their withdrawn was
successful, the amount will be debited in their account.
The ATM will service one customer at a time. A customer will be required to enter
ATM Card number, personal identification number (PIN) – both of which will be sent to
the database for validation as part of each transaction. The customer will then be able to
perform one or more transactions. Also customer must be able to make a balance inquiry
of any account linked to the card.
The ATM will communicate each transaction to the database and obtain verification
that it was allowed by the database. In the case of a cash withdrawal, a second message
will be sent after the transaction has been physically completed (cash dispensed or envelope
accepted). If the database determines that the customer’s PIN is invalid, the customer will
be required to re-enter the PIN before a transaction can proceed.
If a transaction fails for any reason other than an invalid PIN, the ATM will display
an explanation of the problem, and will then ask the customer whether he/she wants to do
another transaction.
The ATM will provide the customer with a printed receipt for each successful
transaction, showing the date, time, machine location, type of transaction, account(s),
amount, and ending and available balance(s) of the affected account (“to” account for
transfers).
1
Pandean Systems and Solutions Pvt Ltdis one of the leading IT service provider in
Madurai. “PASS IT Services” is the core business domain of Pandian Systems and
Solutions Pvt Ltd. We were established in December 2007 and have grown considerably
since then.
Our core expertise then was Networking and Telecommunications, and remains so
till now. We have also branched out to other domains such as Data Processing, Data
Analytics, Web Hosting and Development, SEO, Application Software development. We
have had reputed clients such as Raga e-Storage Solutions Pvt Ltd, Bangalore; i-Data
Professional Services Pvt Ltd, Bangalore; Classof1, Chennai; Tutor2Help, Chennai; We
have completed a data processing project for the Indian National Congress.
Apart from this Pandian Systems and Solutions Pvt Ltd is a “PEARSON VUE
Authorized Test Center”. We are authorized to conduct a large number of IT Certification
Exams including those of CISCO, Oracle, Microsoft,IBM, CompTIA, Adobe, Nokia,
Citrix, Siemens, VMware, Pega systems etc.,
2. SYSTEM ANALYSES
2
2.1 EXISTING SYSTEM
In the existing system the user need to go the bank branch which is only available
during business hours . The user has to present physically and wait in long queue
to check their balance , to withdraw the amount from the bank.
In the traditional banking it keeps lots of paper into a record or file to maintain
the user details such account holder name, account details etc., and it may be
possible that it may be missed somewhere.
It also cosumes lot of time to retrieve the data about the customer and
When a client comes to ATM centre to update and delete their account. It
reduces the time consumption and lot of paperwork. For any single operation it
involves numerous references and updating also takes subsequent changes in
other places.
Accessibility at traditional banks is limited, as you can only conduct business at their brick-and-
mortar locations. If you’re traveling or unable to make it into the location during standard hours of
operation, you won’t be able to do business.
3
Time consuming.
To avoid all these limitations and make the working more accurately the system
needs to be computerized.
proposed system can overcome all the limitations of the existing system. The system
Security of data.
Greater efficiency.
Better service.
4
3. SYSTEM REQUIREMENT
3.1SOFTWARE REQUIREMNTS
5
3.2HARDWARE REQUIREMNTS
ASP.NET is more than the next version of Active Server Pages (ASP); it provides
a unified Web development model that includes the services necessary for developers to
build enterprise-class Web applications. While ASP.NET is largely syntax compatible with
ASP, it also provides a new programming model and infrastructure for more scalable and
stable applications that help provide greater protection. You can feel free to augment your
existing ASP applications by incrementally adding ASP.NET functionality to them.
ASP.NET has been designed to work seamlessly with WYSIWYG HTML editors
and other programming tools, including Microsoft Visual Studio .NET. Not only does this
make Web development easier, but it also provides all the benefits that these tools have to
offer, including a GUI that developers can use to drop server controls onto a Web page and
fully integrated debugging support.
6
Developers can use Web Forms or XML Web services when creating an ASP.NET
application, or combine these in any way they see fit. Each is supported by the same
infrastructure that allows to use authentication schemes, cache frequently used data, or
customize the application's configuration, to name only a few possibilities.
Web Forms allow you to build powerful forms-based Web pages. When building
these pages, you can use ASP.NET server controls to create common UI elements,
and program them for common tasks.
These controls allow you to rapidly build a Web Form out of reusable built-in or
custom components, simplifying the code of a page. For more information, see Web
Forms Pages.
For information on how to develop ASP.NET server controls, see Developing
ASP.NET Server Controls.
There are a number of tools available to help you test and monitor the performance
of your Web application. Microsoft Visual Studio .NET provides Application
Center Test 1.0 (ACT), which simulates a large group of users by opening multiple
connections to a Web server and rapidly sending HTTP requests. ASP.NET
includes a number of performance counters that you can use to track the execution
of your application. You can also use the built-in ASP.NET tracing feature to track
code execution for a page or an application.
A Microsoft ASP.NET application is defined as all the files and executable code
that can be invoked from a virtual directory and its subdirectories on a Web server.
7
These can include Web pages (.html files), Web Forms pages (.aspx files), Web
Forms user controls (.ascx files), XML Web Services (.asmx files), HTTP handlers,
HTTP modules, and other files (such as image and configuration files). Any script
maps that are associated with the version of the Microsoft .NET Framework that
you are using are also a part of an ASP.NET application.
Each of these models can take full advantage of all ASP.NET features, as well as the
power of the .NET Framework and .NET Framework common language runtime. These
features and how you can use them are outlined as follows:
If you have ASP development skills, the new ASP.NET programming model will
seem very familiar.
However, the ASP.NET object model has changed significantly from ASP, making
it more structured and object-oriented.
8
Unfortunately this means that ASP.NET is not fully backward compatible; almost
all existing ASP pages will have to be modified to some extent in order to run under
ASP.NET.
In addition, major changes to Visual Basic .NET means that existing ASP pages
written with Visual Basic Scripting Edition typically will not port directly to
ASP.NET.
In most cases, though, the necessary changes will involve only a few lines of code.
For more information, see Migrating from ASP to ASP.NET.
ASP.NET provides a simple model that enables Web developers to write logic that
runs at the application level.
ASP.NET provides easy-to-use application and session-state facilities that are
familiar to ASP developers and are readily compatible with all other .NET
Framework APIs.
3.3.4 ADVANTAGES
ASP.NET has many advantages over other platforms when it comes to creating
Web applications. Probably the most significant advantage is its integration with the
Windows server and programming tools. Web applications created with ASP.NET are
easier to create, debug, and deploy because those tasks can all be performed within a single
development environment—Visual Studio .NET.
9
Introduction of the new Visual C# programming language, which provides a type-
safe, object-oriented version of the C programming language
Automatic state management for controls on a Web page (called server controls) so
that they behave much more like Windows controls
The ability to create new, customized server controls from existing controls
Built-in security through the Windows server or through other
authentication/authorization methods
Integration with Microsoft ADO.NET to provide database access and database
design tools from within Visual Studio .NET
Full support for Extensible Markup Language (XML), cascading style sheets
(CSS), and other new and established Web standards
Built-in features for caching frequently requested Web pages on the server,
localizing content for specific languages and cultures, and detecting browser
capabilities.
The ASP.NET page framework includes a number of built-in server controls that
are designed to provide a more structured programming model for the Web. These controls
provide the following features:
In addition to the built-in controls, the ASP.NET page framework also provides the
ability to create user controls and custom controls. User controls and custom controls can
enhance and extend existing controls to build a much richer user interface.
10
5.2 SQL
5.2.1 INTRODUCTION
SQL was one of the first commercial languages for Edgar F. Codd's relational
model, as described in his influential 1970 paper, "A Relational Model of Data for Large
Shared Data Banks". Despite not adhering to the relational model as described by Codd, it
became the most widely used database language. Although SQL is often described as, and
to a great extent is, a declarative language, it also includes procedural elements. SQL
became a standard of the American National Standards Institute (ANSI) in 1986 and of the
International Organization for Standards (ISO) in 1987. Since then, the standard has been
enhanced several times with added features. However, issues of SQL code portability
between major RDBMS products still exist due to lack of full compliance with, or different
interpretations of, the standard. Among the reasons mentioned are the large size and
incomplete specification of the standard, as well as vendor lock-in.
SQL is the standard language for Relation Database System. All relational database
management systems like MySQL, MS Access, and Oracle, Sybase, Informix, postgres
and SQL Server uses SQL as standard database language. Also they are using different
dialects, Such as:
11
5.2.3 SQL Server
12
These commands are COMMIT, ROLLBACK, and SAVEPOINT.
Data Control Language (DCL)
These SQL commands are used for providing security to database objects. These
commands are GRANT and REVOKE.
13
4. SYSTEM DESIGN
4.1. DATA DICTIONARY
14
TABLE 1: ACCOUNT
TABLE 2: CUSTOMER
TABLE 3: TRANSINFO
15
4.2 MOUDLE DESIGN
Login:
The registered customers are then authenticated against the claimed credentials. Only the
Account
Current/Savings Account:
To offer an account summary of account balances either in their current account or savings
account.
To offer a account (Mini) statement which displays a detailed transaction history on the
To view the status of the cheque issued by the customer against the account number and
cheque number.
Fixed Deposit:
To view the fixed deposit details which includes principal amount, maturity amount,
16
4.3 DATA FLOW DIAGRAM
Customer Login
Viewing the
account details
Fixed
Deposit Details
deposit
Fixed deposit
beneficary details
17
4. SYSTEM DESIGN
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
18
{
int count=0;
sqlcon.Open();
s1 = "select COUNT(accNo) AS Expr1 from TransInfo where accNo = " +
Session["accno"]
+ "AND Date = '" + TextBox1.Text + "'" + " AND process = 'Withdraw'";
cmd = new SqlCommand(s1, sqlcon);
read = cmd.ExecuteReader();
while (read.Read())
{
count = read.GetInt32(0);
}
read.Close();
sqlcon.Close();
if (count < 3)
{
Panel1.Visible = true;
Label6.Visible = false;
Button4.Visible = false;
}
else
{
Label6.Visible = true;
Button4.Visible = true;
Panel1.Visible = false;
}
}
protected void withdrawCalc()
{
double totAmt = 0.00
19
sqlcon.Open();
s1 = "select SUM(amt) AS Expr1 from TransInfo where accNo = " + Session["accno"]
+ "AND Date = '" + TextBox1.Text + "'" + " AND process = 'Withdraw'";
cmd = new SqlCommand(s1, sqlcon);
read = cmd.ExecuteReader();
if (read.RecordsAffected > 0)
{
while (read.Read())
{
totAmt = Convert.ToDouble(read.GetDecimal(0));
}
}
read.Close();
sqlcon.Close();
if (totAmt >= 45000)
{
Label7.Text = "Sorry ! You can't Withdraw Above Rs.45,000 per Day";
Label7.Visible = true;
Button1.Enabled = false;
Button3.Enabled = false;
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
int amt;
amt = Convert.ToInt32(DropDownList1.SelectedValue);
20
if (amt == 15000)
{
DropDownList2.SelectedIndex = 0;
DropDownList2.Enabled = false;
}
else
{
DropDownList2.Enabled = true;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
int thous, hrds,wdraw;
double curbal,newbal,totAmt = 0.00;
thous = Convert.ToInt32(DropDownList1.SelectedValue);
hrds = Convert.ToInt32(DropDownList2.SelectedValue);
21
+ "AND Date = '" + TextBox1.Text + "'" + " AND process = 'Withdraw'";
cmd = new SqlCommand(s1, sqlcon);
read = cmd.ExecuteReader();
if (read.RecordsAffected > 0)
{
while (read.Read())
{
totAmt = Convert.ToDouble(read.GetDecimal(0));
}
}
read.Close();
sqlcon.Close();
Button1.Enabled = false;
}
else
22
{
Button1.Enabled = false;
Label7.Text = "You can't withdraw this much amount";
Label7.Visible = true;
}
}
else
{
Button1.Enabled = false;
Label7.Text = "You didn't have sufficient balance to withdraw this amount";
Label7.Visible = true;
}
}
protected void Button3_Click(object sender, EventArgs e)
{
withdrawCount();
DropDownList1.SelectedIndex = 0;
DropDownList2.SelectedIndex = 0;
Label5.Text = "";
Button1.Enabled = true;
Label7.Visible = false;
}
}
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
23
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class MoneyTransfer : System.Web.UI.Page
{
SqlConnection sqlcon;
SqlCommand cmd;
SqlDataReader read;
string s1, s2, s3;
protected void Page_Load(object sender, EventArgs e)
{
sqlcon = new SqlConnection(@"Data
Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ATMsystem.mdf;Integrate
d Security=True;User Instance=True");
TextBox1.Text =""+ Session["accno"];
DateTime dt = DateTime.Now;
TextBox3.Text = dt.ToString("dd/MM/yyyy");
}
amt = Convert.ToInt32(DropDownList1.SelectedValue);
if (amt == 15000)
{
DropDownList2.SelectedIndex = 0;
24
DropDownList2.Enabled = false;
}
else
{
DropDownList2.Enabled = true;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
int thous, hrds, trans;
double curbal, newbal,receiverBal = 0.00;
int flag = 0 ;
thous = Convert.ToInt32(DropDownList1.SelectedValue);
hrds = Convert.ToInt32(DropDownList2.SelectedValue);
trans = thous + hrds;
ListBox1.SelectedIndex = 0;
curbal = Convert.ToDouble(ListBox1.SelectedValue);
if (curbal > trans)
{
newbal = curbal - trans;
sqlcon.Open();
s1 = "update Account SET balance = " + newbal + "where accNo = " +
Session["accno"];
cmd = new SqlCommand(s1, sqlcon);
cmd.ExecuteNonQuery();
ListBox1.DataBind();
s2 = " insert into transInfo values(" + Session["accno"] + ",'" + TextBox3.Text +
"'," + trans + "," + newbal + ",'Transferred','" + TextBox2.Text + "')";
cmd = new SqlCommand(s2, sqlcon);
cmd.ExecuteNonQuery();
25
s3 = "select balance from Account where accNo = " + TextBox2.Text;
cmd = new SqlCommand(s3, sqlcon);
read = cmd.ExecuteReader();
while (read.Read())
{
receiverBal =Convert.ToDouble(read.GetDecimal(0));
flag = 1;
}
read.Close();
if (flag == 1)
{
receiverBal = receiverBal + trans;
s2 = " insert into transInfo values(" + TextBox2.Text + ",'" + TextBox3.Text +
"'," + trans + "," + receiverBal + ",'Received from','" + Session["accno"] + "')";
cmd = new SqlCommand(s2, sqlcon);
cmd.ExecuteNonQuery();
26
}
}
6. TESTING
6.1 UNIT TESTING
27
Unit testing focuses verification efforts on the smallest unit of the software
design, the modules. This is also known as “Module Testing”. The modules are tested
separately.
The testing was carried out during programming stage itself. In the testing each
module is found to be working satisfactorily as regards to the expected output from the
module.
During the implementation of the system each module of the system is tested
separately to uncover errors with its boundaries. We use interfaces as a guide in this
process. For a complete software examination, both white box and black box tests are
required.
6.2INTEGRATION TESTING
Once the modules are tested individually under the unit testing strategy, it is
necessary to put all these modules together interfacing. It is here that the data can be lost
across the interface; one module can have an inadvertent adverse effect on another.
structure while at the same time conducting tests to uncover errors associated with
interfacing the objective is to take unit-testing modules and build a program structure that
has been dictated by design. This is the last phase of the testing.
The main objective of integration testing is to take the unit tester modules and build
a program structure that has defined in the designing. There are two approaches in this
testing.
7. Screenshots
28
Login page:
Account information:
29
3. MONEY WITHDRAWING
30
8. PROJECT IMPLEMENTATION AND MAINTANCE
31
IMPLEMENTATION
The system will work best on recent operating systems such as windows operating
systems: A window 98 or higher version, Linux, etc. The system was developed using the
following: i. Dreamweaver: this is for writing, edited, debugging and building HTML,
CSS, PHP and javascript codes. ii. Sql-yog : this is used in designing and re-editing
MySQL database. iii. Wamp server: this was used for running and detecting of PHP and
MySQL errors. The system was implemented using the following languages: HTML, CSS,
Transaction Interface
MAINTENANCE:
ATM engineering services. o Maintenance of all equipment like CCTV, VSAT, UPS, Air
conditioners, etc
ATM Installation and logistics services o ATM relocation services and incident
management
8. FUTURE ENHANCEMENT
32
Entire treasuries in Kerala can be integrated with the network as part of the core
banking system so that account holder can withdraw money from any of the treasury ATMs
from his own account holding at any Treasury. Treasury ATMs can also be used as the
Furthermore, can add more functionality like bill payment and can give
integrate Treasury with the National Financial Switch (NFS) because it is the backbone of
the service improvement of SB accounts. Now it is only intended for the cash drawing
process, but later, including deposit ATMs will be an added advantage for the treasury
33
MERITS
You can withdraw cash at any time, day or night. The banks don’t need to be open.
ATMs offer the convenience of multiple locations. You can withdraw cash at any bank that
You don’t need to fill out withdrawal and deposit slips as is required at the bank.
DEMERITS
11. CONCULISION
34
Implementation of this project including the core banking system would create a
drastic change in the services of Treasury Department and it will become one of the
Integration with the National Financial Switch (NFS) is necessary for the
competitiveness and existence of the Treasury and for that Treasury should follow the
membership criteria of NFS and guidelines of RBI. So that citizens can use other bank
ATMs and it will be an added service improvement and it will attract more people towards
Anyway this pilot project will be an excellent initiative for the process and service
improvements because similar kind of banking and financial institutions have already
proved its business improvements by introducion
12. BIBLOGRAPHY
35
Books
Website
www.wikipedia.com
www.msdn.microsoft.com
www.developnew.com
www.scribed.com
www.media.wiley.com
36