AUTOMATED TELLER MACHINE
PROBLEM DEFINITION:
This project provides the customers with access to financial transactions in a card, which contains a unique card number and some security information, identifies the customer. Customer can access their bank accounts in order to make cash withdrawals and check their account balances.
INTERFACE:
The interface is used as a communication between system and user. The modules used in this project are
1. Login module
2. Withdraw module
3. Change pin module
4. Fast cash module
5. Cash transfer module
6. Ministatement module
· LOGIN MODULE:
This module is used just for safety purpose such that only the member can access it. If the user has an account created to login into it, they can continue with next phase.
· WITHDRAW MODULE:
This modules deal with withdrawing money from the user’s account. The user can enter the amount which he or she wishes to withdraw as an input.
· CHANGE PIN MODULE:
This module is also used for safety purpose. If the user wants to change the pin number then it can be done in this phase. It helps to avoid any unauthorized access to his or her account.
· FAST CASH MODULE:
This module also deals with withdrawing money from the account. The amount which the users wish to withdraw can be selected from the displayed list.
· CASH TRANSFER MODULE:
In this module the user can transfer money from his or her account to another account.
· MINISTATEMENT MODULE:
This module displays all the transactions occurred in the user’s account for a particular period of time.
FUNCTIONAL CAPABILITIES:
This project enables customer to complete simple bank account services via automated teller machines(ATMs) that may be located off promise and that need not be owned and operated by the customer’s bank. The ATM identifies a customer by a cash card and password. It collects information about a simple account transaction communicates the transaction information to the customer’s bank, and dispenses cash to the customer.
The functions of the system are:
1. Login
2. Get Balance Information
3. Withdraw Cash
4. Transfer Funds
PERFORMANCE LEVEL:
This software under various circumstances will provide 100% user satisfaction in rationale operating environment. The software will also handle concurrent accesses to the same account correctly.
DATA STRUCTURE:
The data in this project are maintained in the tabular form-using oracle as the back-end and VB as the front-end, which is user-friendly.
SAFETY:
No data loss occurs in this system. It is very much protected in such a way that it gives permission to the customer to access his/her account only when the account number and pin number is correct.
RELIABILITY:
We assure that the project would give 100% user satisfaction. The project will be more reliable and it would provide the requirements of the user.
SECURITY & PRIVACY:
Users accessibility is censured in all the ways. Users are advised to change their PIN often to avoid any unauthorized access to his/her account. Thus project enables the user to change his/her pin number.
QUALITY:
The project is developed with the help of visual basic software, which meets the requirements of the user. The project is checked whether the phases individually have served its purpose.
CONSTRAINTS AND LIMITATIONS:
Any number of accounts can be maintained easily. The software interfaces are specific to the target banking software systems.
LOGIN FORM:
LOGIN FORM:
Private Sub cmdOK_Click()
rs.MoveFirst
While Not rs.EOF
If txtPassword.Text = rs(2) And txtUserName.Text = rs(1) Then
Me.Hide
code = Val(rs(2))
accno = Val(rs(1))
txtUserName.Text = ""
txtPassword.Text = ""
user = accno
menu.Show
Exit Sub
Else
rs.MoveNext
End If
Wend
MsgBox "Invalid Password, try again!", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End Sub
Private Sub Form_Load()
Set rs = New ADODB.Recordset
conn = "UID=scott;PWD=tiger;DRIVER={Microsoft ODBC for Oracle};"
Set cn = New ADODB.Connection
With cn
.ConnectionString = conn
.CursorLocation = adUseClient
.Open
End With
rs.Open "login1", cn, adOpenDynamic, adLockOptimistic, adCmdTable
End Sub
MENU FORM:
MENU FORM:
Private Sub Label1_Click(Index As Integer)
Select Case Index
Case 0: Form3.Show
Case 1: cashtransfer.Show
Case 2: changepin.Show
Case 3: fastcash.Show
Case 4: ministatement.Show
Case 5: frmLogin.Show
End Select
Unload Me
End Sub
WITHDRAW FORM:
WITHDRAW FORM:
Dim money As Currency
Private Sub Command1_Click()
money = Val(Text1.Text)
With rec
.MoveLast
bal = .Fields(0)
If bal > money Then
.AddNew
.Fields(0) = bal - money
.Fields(1) = Date
.Fields(2) = "withdraw"
.Fields(3) = money
.Update
bal = .Fields(0)
Form1.Show
Else
MsgBox "The entered amount exceeds your balance"
End If
Exit Sub
End With
End Sub
Private Sub Command2_Click()
Unload Me
menu.Show
End Sub
Private Sub Form_Load()
Unload Form3
Call openrec
End Sub
CHANGE PIN FORM:
CHANGE PIN:
Dim cn As ADODB.Connection, conn As String
Public login As ADODB.Recordset
Private Sub Command1_Click()
If Trim(Text3.Text) = Trim(Text2.Text) And Val(Text1.Text) = code Then
With login
.MoveFirst
While Not .EOF
If Val(.Fields(2)) = code Then
.Fields(2) = Val(Text2.Text)
code = .Fields(2)
MsgBox "Pin changed"
Exit Sub
Else
.MoveNext
End If
Wend
End With
Else
MsgBox "Invalid"
End If
End Sub
Private Sub Command2_Click()
menu.Show
Me.Hide
End Sub
Private Sub Form_Load()
conn = "UID=scott;PWD=tiger;DRIVER={Microsoft ODBC for Oracle};"
Set cn = New ADODB.Connection
With cn
.ConnectionString = conn
.CursorLocation = adUseClient
.Open
End With
Set login = New ADODB.Recordset
login.Open "login1", cn, adOpenDynamic, adLockOptimistic, adCmdTable
End Sub
CASH TRANSFER FORM:
CASH TRANSFER:
Dim money As Currency
Dim ans As String
Dim cn As ADODB.Connection, conn As String
Public login As ADODB.Recordset
Private Sub Command1_Click()
money = Val(Text1(1).Text)
If Val(Text1(0).Text) = accno Then
MsgBox "U can't transfer money to your acc itself", vbInformation
Exit Sub
End If
With rec
.MoveLast
bal = .Fields(0)
If bal > money Then
.AddNew
.Fields(0) = bal - money
.Fields(1) = Date
ans = "Amount transfered to the acc no" & user
.Fields(3) = money
.Update
bal = .Fields(0)
Form1.Show
Else
MsgBox "The entered amount exceeds your balance"
End If
Exit Sub
End With
End Sub
Private Sub Command2_Click()
Unload Me
menu.Show
End Sub
Private Sub Form_Load()
Call openrec
End Sub
Private Sub Text1_LostFocus(Index As Integer)
If Index = 0 Then
user = Val(Text1(0).Text)
conn = "UID=scott;PWD=tiger;DRIVER={Microsoft ODBC for Oracle};"
Set cn = New ADODB.Connection
With cn
.ConnectionString = conn
.CursorLocation = adUseClient
.Open
End With
Set login = New ADODB.Recordset
login.Open "login1", cn, adOpenDynamic, adLockOptimistic, adCmdTable
End If
End Sub
FAST CASH FORM:
FAST CASH:
Dim money As Long
Private Sub Command1_Click()
Dim cash As Currency
Dim i As Integer
cash = 0
For i = 0 To 3
If Option1(i).Value = True Then
Select Case i
Case 0: cash = CCur(500)
Case 1: cash = CCur(1000)
Case 2: cash = CCur(5000)
Case 3: cash = CCur(10000)
End Select
End If
Next i
If cash <> 0 Then
money = Val(cash)
With rec
.MoveLast
bal = .Fields(0)
If bal > money Then
.AddNew
.Fields(0) = bal - money
.Fields(1) = Date
.Fields(2) = "Withdrawn"
.Fields(3) = money
.Update
bal = .Fields(0)
Form1.Show
Unload Me
Exit Sub
Else
MsgBox "Amount exceeds your balance"
For u% = 0 To 3
Option1(u).Value = False
Next u
End If
Exit Sub
End With
Else
MsgBox "Select the amount", vbInformation
End If
End Sub
Private Sub Command2_Click()
menu.Show
Unload Me
End Sub
Private Sub Form_Load()
Call openrec
End Sub
ACCOUNT TYPE FORM:
ACCOUNT TYPE FORM:
Private Sub Command1_Click()
withdraw.Show
End Sub
Private Sub Form_Load()
If Option1.Value = True Then
withdraw.Show
End If
End Sub
Private Sub Option1_Click()
If Option2.Value = True Then
withdraw.Show
End If
End Sub
MINISTATEMENT FORM:
MINISTATEMENT FORM:
Dim cn As ADODB.Connection, conn As String
Public min As ADODB.Recordset
Private Sub Command1_Click()
Unload Me
menu.Show
End Sub
Private Sub Command2_Click()
CommonDialog1.ShowPrinter
End Sub
Private Sub Form_Load()
Set min = New ADODB.Recordset
conn = "UID=scott;PWD=tiger;DRIVER={Microsoft ODBC for Oracle};"
Set cn = New ADODB.Connection
With cn
.ConnectionString = conn
.CursorLocation = adUseClient
.Open
End With
min.Open "user" & accno, cn, adOpenDynamic, adLockOptimistic, adCmdTable
Set DataGrid1.DataSource = min
End Sub
MODULE:
Public user As Long
Public bal As Currency
Public Function openrec()
Set rec = New ADODB.Recordset
conn = "UID=scott;PWD=tiger;DRIVER={Microsoft ODBC for Oracle};"
Set cn = New ADODB.Connection
With cn
.ConnectionString = conn
.CursorLocation = adUseClient
.Open
End With
Set login = New ADODB.Recordset
With rec
.ActiveConnection = cn
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
Select Case user
Case 1000: .Open "user1000", cn, adOpenDynamic, adLockOptimistic, adCmdTable
Case 1001: .Open "user1001", cn, adOpenDynamic, adLockOptimistic, adCmdTable
Case 1002: .Open "user1002", cn, adOpenDynamic, adLockOptimistic, adCmdTable
Case 1003: .Open "user1003", cn, adOpenDynamic, adLockOptimistic, adCmdTable
Case 1004: .Open "user1004", cn, adOpenDynamic, adLockOptimistic, adCmdTable
Case Else: MsgBox "SORRY, No such USER exist", vbInformation
End Select
End With
End Function
Public Function openlog()
conn = "UID=scott;PWD=tiger;DRIVER={Microsoft ODBC for Oracle};"
Set cn = New ADODB.Connection
With cn
.ConnectionString = conn
.CursorLocation = adUseClient
.Open
End With
Set login = New ADODB.Recordset
login.Open "login1", cn, adOpenDynamic, adLockOptimistic, adCmdTable
End Function
CLASS DIAGRAM:
USE CASE DIAGRAM:
ACTIVITY DIAGRAM:
SEQUENCE DIAGRAM:
OUTPUT:
CONCLUSION:
Thus the project for Automated teller machine using visual basic as front end and oracle as back end was developed and output was verified.
thnx very much ...for sharing this project
ReplyDeleteSo interest projects
ReplyDeleteGood project
ReplyDeletewhere is the coding of mySql??
ReplyDeleteI have found that this site is very informative, interesting and very well written. keep up the nice high quality writing. Environment friendly ATM machine Tx
ReplyDeleteIn this article understand the most important thing, the item will give you a keyword rich link a great useful website page: Quality Management Services
ReplyDelete