Popular Posts

Monday 7 January 2013

automated teller machine


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.

6 comments:

  1. thnx very much ...for sharing this project

    ReplyDelete
  2. where is the coding of mySql??

    ReplyDelete
  3. I 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

    ReplyDelete
  4. In 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