You are on page 1of 48

AUTOMATED TELLER MACHINE

PROJECT REPORT
Submitted in fulfillment of the requirement for the award of

COMPUTER SCIENCE & ENGINEERING

Submitted By

C.VASANTHAKUMAR

B.SOORIA NARAYANAN

J.SABARINATHAN

Under the guidance of Mr.P.SRINIVASAN B.Sc., M.C.A., LECTURER DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

NARASUS SARATHY INSTITUTE OF TECHNOLOGY MARCH-2011

BONAFIDE

CERTIFICATE

Certified that this project report bonafide work of

AUTOMATED TELLER MACHINE

is the

C.VASANTHAKUMAR B.SOORIA NARAYANAN J.SABARINATHAN

Reg no: 090105808049 Reg no: 090105808043 Reg no: 090105808035

who carried out the project work under my supervision in the fourth semester of

COMPUTER SCIENCE & ENGINEERING During the academic year 2010-2011

SIGNATURE Mrs.J.ANITHA ME., PhD., Mr.P.SRINIVASAN B.Sc., M.C.A., HEAD OF THE DEPARTMENT LECTURER Department of computer engg., computer engg.,

SIGNATURE

Department of

NARASUS SARATHY INSTITUTE SARATHY INSTITUTE OF TECHNOLOGY, TECHNOLOGY,


Salem-636 305. Salem-636 305.

NARASUS OF

Submitted for the project work and viva examination held on.

ACKNOWLEDGEMENT
We express our sincere gratitude and intense thanks to the Chairman Thiru R.P.SARATHY CHETTIER, vice-chairmen Thiru K.R.RAMANUJAM, vice-chairman-admin Thiru G.PRABAKARAN,prochair-man Mr.NITISH B.HARIHAR for the excellent educational environment extended for us for doing the project work. We thanks to our correspondent Thiru JAYAPRAKASH A.GANDHI a well known educationalist and analyst and principal Dr.K.RAJA, M.E..,Ph.D., MBA.,M.Phil.,PGDPM., M.I.S.T.E.,MCSE.,M.I.E., of our engineering college and the management for having given their consent to undertake software development for the project. We wish to extend our special thanks to our Head of the Department Ms.J.ANITHA M.E.,Phd.,Department of computer engineering for motivating and inspiring us to complete this project We enormously thank our project coordinator Department of computer engineering for inspiring us throughout this project work I express my deep thanks to our internal project guide Deparment of computer engineering for helping the journey of developing this project.they had been a great teacher as well as our inspiration. Their tremendous source of insight help us to expend our ability and enrich our knowledge also provides foundation for many insights in this project

Finally we submit our sincere thanks to the parents, department staff members, friends And all who supported in the development of our project to make this a successful task

INTRODUCTION
Existing System: 1. The bank doesnt have the ATM and Tele Banking facility. 2. The bank has a computerized system. 3. Any customer of bank has to form queue and do any transaction or transaction information.

Limitation of Existing System: 1. Lack of transactional security. 2. Less reliable and efficient. 3. The customer has to form queue and hence time consuming. 4. Work load on the part of staff members.

Problem Statement: 1. Due to increasing proficiency in the current world of technology the organization has to up to date as well as be superior operational to maintain good reputation in competitive environment. In order to be well operational one need to be quick and accurate. Use of technology enables the institution to be quick as well as precise.

2. Since the existing system is computerized but dont have the facility of ATM and TELE Banking, the customer cant withdraw the money or have the account information 24 x 7. 3. The proposed system help the customer to perform account information (withdraw, balance enquiry, print mini-statement) through ATM banking and to withdraw the money through TELE banking. 4. The new details can be entered and previous details can be easily modified or delete with the aid of proposed system. 5. It helps the bank administrator to view all users and modify, delete data.

Software Requirement Specification: -

The software is developed on Microsoft Visual Basic 6.0 as Front End and Microsoft SQL Server 2000 or Microsoft access 2003 as Back End.

ATM Banking The actors of the system are: 1. 2. 3. User ATM Machine Bank

Scope: The software supports a computerized banking. The system enables a customer to complete simple banking services via ATM machine that may be located off premise. The ATM identifies the customer by Cash Card and password. It collects information about a simple account transaction (withdraw, deposit, balance enquiry) communicates the transaction

information to the customers bank, and dispenses cash to the customer. The software also provides provision to record keeping and security. The software handles the concurrent access to the account correctly. Product perspective: Hardware interface: The software run on an ATM machine installed by Bank. Software interface: The system is able to connect to the Banks administrator computer at any given time

Functional Requirement: The functions of the system are: 1. 2. 3. 4. 5. Login Get Balance Information Withdraw Cash Get mini-statement Changing Pin number

The following is the diagram of the functional requirement of ATM

The following is the sequence diagram for ATM system:

A T M

D a ta ba se

C a rd

Ca rd num be r C a rd O K

PIN re que st PIN O ption m e nu <<e xc e ption>> inva lid c a rd W ithdra w re que st A m ount re que st A m ount

V a lida te c a rd

Ba la nc e re que st B a la nc e H a ndle re que st D e bit (a m ount)

<<e xc e ption>> insuffic ie nt c a sh C a rd Ca rd re m ove d C a sh C a sh re m ove d R e c e ipt

D e bit re sponse

Com ple te tra nsa c tion

Non-functional Requirement:

Operating requirements: The computer should have about 100 MB space on hard disk, 300 MHz or faster processor, high resolution monitor supporting 800 x 600 screen resolution The software can be run on any Windows OS versions

Performance requirements: High data transfer rate

Security requirements: Users accessibility is censured in all the ways Users are advised to change their PIN on first use Users are advised not to tell their PIN to anyone The maximum number of attempts to enter PIN will be three

TELE Banking: The hardware, software and technology used should have following specifications: There should be a very large number phones so that each user can be attended by banks staff A connection of phones should never be failed A very high rate of data retrieval Money should be delivered to the customer within 24 hours A bank staff should be honest enough and should not stole money while delivering it to the customer

PROPOSED SYSTEM

Need for Proposed System: 1. The proposed system will help the organization to add ATM and TELE banking facility, and maintain the records of customer. 2. The customers dont have to form queue and hence it is time effective. 3. There is more transactional security. Proposed System: ATM BANKING: ATM Service consists of ATM Card and ATM pin. ATM Card has all the information of the customer, which can be accessed by the system. Each ATM card holder has to select his/her PIN that is Personal Identification Number to gain access from any ATM and to operate the account. Any wrong pin fed to ATM Machine for more than three occasions, it will retain the card. After completion of transaction, if ATM card remains un-retrieved, it is assumed as forgotten and ATM card safely retains it, and can be retrieved from CIB (Card Issuing Branch).

TELE Banking: TELE banking service helps the customer to withdraw money by dialing a telephone to the bank. In this, the customer dials a secret code, card number and then dials his account number. The bank verifies the information and then dials his account number. The bank verifies this information and then allows the customer to dial specific amount of money that the customer wants to withdraw. After this process, within 24 hours banks employee delivers specified money to customer. Objectives of Proposed System:

ATM Features: The facilities offered by ATM System are as follows: 1. Withdrawal of cash by Card Holder from his AATM account up to certain amount limit only as fixed by bank. 2. Enquiry of the balance can be done. 3. Request for statement of account. 4. Any additional facilities made available by bank from time to time.

TELE Features: The facilities offered by TELE System are as follows: 1. Withdrawal of cash is done from TELE account up to a certain amount limit fixed by bank from time to time. Money withdraws from the account reaches the user within 24-hours from the time of withdrawal. 2. Any additional facilities made available by bank from time to time.

User Requirements: User requirements focus on experience user need to have with the system, with no concern for the inner workings of the system. The system shall complete a standard withdrawal from a personal account, from login to cash, in less than 2 minutes for a first time user. The customer user interface should be intuitive, such that all new ATM users are able to complete their banking transactions without any assistance.

TELE banking is a system where users have to dial and enter a pin number, so it is not necessary for user to have great knowledge of inner working of TELE banking. The system itself is least complicate.

DATA FLOW DIAGRAM Level 0 DFD

Level 1 DFD

Fragmented DFD

For Bank:

DATA DICTTIONARY:

Description Class ATM A station which allows customers to enter their own transactions using cash cards as identification. The ATM interacts with the customer to gather transaction information, sends the transaction information to the central computer for validation and processing and dispenses cash to the user. We assume that the ATM need not operate independently of the network. Account A single account at a bank against which the transactions can be applied. Accounts can be of many types: checking and savings. A customer can hold more than one account. Bank A financial institution that holds accounts for customers and issues cash cards authorizing access to accounts over the ATM network. Custome r The holder of one or more Accounts in a Bank. A customer may consist of one or more persons or corporations; the correspondence is not relevant to this problem. The same person holding an Account at a different Bank is considered a different customer.

Transacti on

A single integral request for service w.r.t. the Accounts of a single Customer. This request will help the customer to withdraw money through cash dispenser, balance check, and print ministatement.

Cash card

A card assigned to each Customer authorizing access to accounts: via an ATM. Each contains a bank code and a card number. The card number determines the Accounts the card may access. Each cash card is owned by a single Customer. The magnetic strip behind the card provides the personal details of customer for authentication.

Manager

A Bank employee authorized to enter Transactions into a Bank Station and accept and dispense cash to Customers. Transactions, cash and transaction information handled by each manager must be logged and properly accounted for.

User

A customer with bank and uses the ATM and Tell banking facility

TELE

TELE service helps the customer to withdraw money by dialing a telephone to the bank. In this, the customer dials a secret code, card number and then dials his account number. The bank verifies the information and then dials his account number. The bank verifies this information and then allows the customer to dial specific amount of money.

Modularization:

Class Diagram:

Data Model and Data Integrity and Constraints:

Pseudo Code:
The pseudo code below consists of a starting procedure called Main and six sub-procedures called CheckPIN, Services, Withdrawal, Balance, and Mini-statement.

Main The Main procedure is called when the system is started. It consists of a loop which repeats until the system is switched off. The loop first checks the Control System to see if it is enabled. If not, an 'out of service' message is displayed and the system then waits for the Control System to be enabled. If the Control System is enabled, the Card Reader is checked to see whether a card has been inserted. If not, an 'insert card' message is displayed. This message could include one of several informative messages or displays shown in rotation. If a card is detected in the Card Reader, the CheckPIN procedure is called.

PROGRAM CODE

PROCEDURE Main BEGIN LOOP IF control system is disabled THEN BEGIN display 'out of service' message

LOOP UNTIL control system is enabled END ELSE IF no card is inserted THEN display 'insert card' message ELSE CALL PROCEDURE CheckPIN ENDIF ENDIF ENDLOOP END Main CheckPIN The CheckPIN procedure handles the verification of the customer's Personal Identification Number (PIN) using data retrieved from the card's magnetic strip. The procedure invites the customer to enter their PIN using the keypad. If this does not match the PIN stored on the card, a limited number of retries is permitted, after which the card is confiscated as a security precaution. If the correct PIN is entered, the Services procedure is called.

PROCEDURE CheckPIN CONSTANTS MAXPINS IS 3 VARIABLES PINCounter IS NUMBER BEGIN read data from card

set PINCounter to zero LOOP UNTIL PINCounter is equal to MAXPINS input PIN from customer keypad IF entered PIN matches card PIN THEN EXITLOOP ENDIF add 1 to PINCounter ENDLOOP IF PINCounter is equal to MAXPINS THEN blocked customer's card ELSE CALL PROCEDURE Services ENDIF END CheckPIN Services

The Services procedure presents a menu of the options which are currently available to customers. The customer selects an option by pressing a key on the keypad. The key is identified and the relevant option is activated. After processing an option the procedure will do one of two things. If a 'Withdrawal...' or 'Return Card' option was selected, the procedure will terminate. If any one of the other options were selected, the selection process is repeated to allow the customer to use another service. The options which request a cash withdrawal call the Withdrawal procedure.

PROCEDURE Services VARIABLES

ExitServicesFlag IS BOOLEAN BEGIN RESET ExitServicesFlag LOOP UNTIL ExitServicesFlag is SET display customer services input selection CASE OF selection: WHEN withdrawal with receipt BEGIN CALL PROCEDURE Withdrawal (with_receipt) SET ExitServicesFlag END WHEN withdrawal without receipt BEGIN CALL PROCEDURE Withdrawal (no_receipt) SET ExitServicesFlag END WHEN display balance get and display balance WHEN print balance get and print balance

DEFAULT return customer's card SET ExitServicesFlag ENDCASE ENDLOOP END Services

Withdrawal

The Withdrawal procedure handles the process of withdrawing cash from the customer's account. It receives one parameter which indicates the type of withdrawal (i.e. with or without a printed receipt). The customer is first presented with a list of cash values to select from and an option to enter their own value explicitly. Once a value has been specified, the customer's account details are checked in the Accounts Database. If there are no funds available, the customer is informed, the card is returned and the procedure terminates. If the customer has insufficient funds to cover the requested amount, the actual amount available is offered. If this reduced offer is declined, the customer's card is returned and the procedure terminates. If an available amount is specified, the card is first returned to ensure it is not forgotten. The cash is then dispensed and, if required, a receipt is printed. The customer's account details are then updated in the Accounts Database and the procedure terminates.

PROCEDURE Withdrawal (WithdrawalType) VARIABLES Amount IS NUMBER BEGIN

input Amount from customer read customer's details from accounts database IF customer has insufficient funds THEN IF customer has zero funds THEN BEGIN display 'insufficient funds' message set Amount to zero END ELSE BEGIN display offer of available funds input customer's response (Y/N) IF response is 'Y' THEN set reduced Amount ELSE set Amount to zero ENDIF END ENDIF ENDIF return customer's card IF Amount is not zero THEN BEGIN

dispense cash Amount IF WithdrawalType is with_receipt THEN print receipt for Amount ENDIF update accounts database END ENDIF END Withdrawal Balance The procedure checkbalance helps the customer to check the balance in his/her account.

Procedure checkbalance Display balance from customer account IF checkbalance is with_receipt THEN print receipt for checkbalance ENDIF Customer wants another transcation If customer response is yes Then load PROCEDURE Services Else return customer's card

end if End check balance

Mini-statement Procedure print_mini-statement helps the customer to print the mini-statement.

Procedure mini-statement Print mini-statement (y/n) If customer response is yes Then print for mini-statement End if End mini-statement

SCREEN SHOTS
Form Layout

Form option

This form allows the user to choose option like ATM, Tele Banking, User login for bank.

Frmsplashatm

This form is a splash screen for ATM

Form account

This form displays a text box to enter the account number and the processing can made. If the number matches to the database entry then next form is loaded.

This screen allows the user to enter pin and check the pin entered matches to the account number entered.

Frmatm_machine
If the pin number matches to the account number then it enables all buttons.

If user select transaction balance inquiry, then it shows the balance in his account.

Frmatm_machine

If user select withdrawl then he enter the amount to withdraw and press ok; clicking on ok will show message box WITHDRAWL IS SUCCESSFUL.

Frmatm_machine

This screen shows a message TAKE CASH AND RECEIPT. If user clicks on Take button then Reciept and image cash get disappear. Frmatm_machine

If user select transaction mini statement then this form get loaded. This form help the user to print the mini statement of last five transaction.

Frmatm_machine

This form helps the user to get the print. Frmatm_machine

If user select Change pin number transaction then screen get loaded; clicking on ok will show message YOUR PIN NUMBER HAS SUCCEFFULLY CHANGED.

Frmatm_machine

If user select Cancel Transaction then it show message box Transaction canceled.

Frmatm_machine

This screen ask user that they want to continue after every transaction. If user select yes then it again ask for pin number and if no then it shows message box Take card.

Formtelecodeno

This form allow user to enter the code number for the tele transaction. Frmtele_amounttowithdraw

Formtelethankyou

This form is a Thank you form which is shown when the transaction is complete.

Frmlogin

This form allows the user to enter into bank system.

Form forgot password

This form allows the user to retrieve his/her password if forgotten, by just entering question and answer. The record will be matched with the database and if the answer is correct then the password will be given.

Form create new user

This form allow to create a new user

Form id user

Form view all user

This form is loaded to view all user in the bank. We can do various processes like Find a user, Remove a user, Edit user, Save the details of the user.

Form card

This form allow user to browse customer of the bank Frmaccinfo

Form delete card

This form allows the user to delete the customer record.

Form login 1

Form with draw

Clerk enter the account no and the amount customer wishes to withdraw

Form deposit

This form is filled by customer to deposit the amount in his/her account.

Testing Procedure and Test Report


Testing is a procedure where all the modules are run, their validations are checked, the Backend compatibility is verified and all the errors called Bugs are eliminated to the best possible extent.

Since my Front End is Microsoft Visual Basic 6.0 the following are types of Testing done by me.

STEP BY STEP EXECUTION :-

Here, the code was run and step by step and the execution flow in case of Looping and branching constructs for all the possible conditions, including errors were verified. This was done twice for every form.

BREAKS ON VARIABLES :-

Here, Breaks were put on a particular variable and it was checked that whether it contains the expected value or not, whenever the variable changes the value through out the Module. This procedure was repeated twice for all the important global variables in a project. The same above procedure was implemented for variables global to the whole system.

TEST CASES/ TEST REPORT

DATA

INPUT

OUTPUT

CORRECTIOS TO BE MADE

PIN NUMBER

ABC

NIL

NUMBERS ENTERED

SHOULD

BE

123

OK

NIL

@,&,$

NIL

NUMBERS ENTERED

SHOULD

BE

AMOUNT

123

OK

NIL

ABC

NIL

NUMBERS ENTERED

SHOULD

BE

NAME

123

NIL

ALPHABETS ENTERED

SHOULD

BE

ABC

OK

NIL

123

OK

NIL

PASSWORD

ABC

OK

123

OK

NIL

@,&,$

OK

NIL

SECURITY MECHANISMS
Pin number can be entered three times. If wrong pin entered then it block the card.

After every transaction it ask for any new transaction If user response is yes then it again ask for pin number else it gives message to take card. For Tele Banking it ask for code number, wrong code number entered will give the error message. While login to Bank, it ask for password, wrong password for user name will restricted the access. While depositing, the system will check the account number entered. If wrong account number entered it will show the error message.

LIMITATION
This system accepts only the ATM card of its own bank and not of other banks. The ATM card is only a simple ATM card and not ATM cum credit card.

FUTURE ENHANCEMENT
Data backup and recovery option. Making project to run in different resolutions. Making facility like fund transfer, bill payment.

BIBILOGRAPHY
Advanced VB 6 Projects Mastering in Visual Basic 6.0 Internet resource

Conclusion
Thus the project for simple atm is created for the money transaction limitation is rectified by using this project.The bank doesnt have the ATM and Tele Banking facility.The bank has a computerized system.Any customer of bank has to form queue and do any transaction or transaction information. Is rectified according to the project.

You might also like