You are on page 1of 74

Computer Studies Project 2013

Virtual ATM
Machine
By Rithin
Teacher: - Mr. Suresh Arora

Bank Ten ATM Machine

3/1/2013

RITHIN 10B

Table of Contents
Introduction on ATM Systems
Analysis
Problem Identification
Objectives
Existing Solution
Evaluation of existing solution
Alternative Possible Solutions

Design
Action plan
Hardware Used
System Flowchart
Screen Designs
Functional Requirements of Solution
Software Used
Software Selection

Implementation
Method of solution
Method of conversion

Testing
Testing strategy
Testing plan (including screens)

Documentation
Technical Documentation
User Documentation

Evaluation
Technical Skill

RITHIN 10B

Introduction
The computer was born to solve problems that did not exist before Bill Gates

These days every single person is known with the word-computer. We can find
computers at everywhere around us. In fact modern world will be incomplete without
computers and their applications. Its almost impossible to even imagine the modern
facilities without the use of computers. Today, since everything is done on computers,
we can take advantage of this fact by providing an ATM machine for banks with
computers as well. On that note, I have chosen to make a Virtual ATM Machine
because I know this will be helpful for bank customers to make transactions at ease.
An automated teller machine (ATM) is a computerized telecommunications device
that provides the clients of a financial institution with access to financial transactions
in a public space. To perform all these transactions or operations, you need a program
which will be running in the machine. This program will be connected to a database in
which users are registered, and what I am going to create is that program, Virtual
ATM Machine which will be connected to bank database and will also provide users to
perform their desired transactions such as Transfer, Withdraw, Balance Inquiry, PIN
Change,
Bank Ten ATM Machine

This is the program which


Ill be creating.

An Account Number and a PIN Number will be required to login and perform
transactions. Users will first have to register themselves in a bank, and this ATM
machine is a facility provided by Bank for users.

RITHIN 10B

ANALYSIS

RITHIN 10B

PROBLEM INDENTIFICATION:BankTen, is a small scale bank located in a small town called Shahkot. BankTen has
limited staff and uses manual record system. But recently, the number of customers
visiting the bank has increased, hence the employees are facing a difficulty in writing
the records down, the working hours of the employees are increasing. Due to this,
customers have to wait in long lines in the bank as transaction processing is slow.
Obviously employees cannot work more, because they are humans too and they will
eventually get tired. In customer point of view, customers dont like waiting in lines,
filling the forms for every single transaction they make and most importantly banks
are not available all the time for customers. At present, both the employees and the
customers are not happy with this problem.
As stated above, the many common problems faced by employees and the customers
of a bank are:
1) Banks are not open all the time:- In case of emergency or in need of money in
the night time, banks are not available. Employees in the bank also require rest,
and hence banks are only available for a certain time period during the day or
sometimes even closed due to a public holiday. Customers face a problem
here; if they want to make a transaction it is not possible, as the bank is closed.
PROBLEM: Banks are not always available at the choice of time of
Customers!
2) Waiting in long lines in the bank:- Most people are busy, as they have a lot of
things to do, for well-settled people time is really important ad they cant
afford to lose time in long lines of waiting. Banks are sometimes fully crowded
which will increase the time factor for a certain customer, as the workers are
limited. PROBLEM: People will have to wait in long line for performing a
transaction. Not really convenient for the customers!
3) Filling the withdrawal or transfer slips:- Most customers find this really
uncomfortable, sometimes they even fill wrong details by mistake in the form
if they are in a hurry. Old generation people will do this job with a lot of
patience, but the young generation will find ways to skip this and eventually
make some mistakes. As said before, people cant afford to lose time for things
like these, they get reckless in banks itself! It is a formality of bank but not
really appreciated by the customers. PROBLEM: Filling out slips for
withdrawal or transfer is uncomfortable for customers!
4) Keeping a Proper record of these slips in the bank:- It is even more difficult
for the bank employees to perform manual calculations and keep a proper
record of these slips filled by the customers. Its not one or two, on average it
will be more than 1000 records per day. These records are not completely
secure, theft or burning of the records might be done by unwanted people.
PROBLEM: Keeping Manual Record, is difficult for employees of the bank. It
is their job, but still handling more than 10000 records is really difficult.

RITHIN 10B

5) Not attractive for customers :- Banks business might not run as expected,
because these formal systems will be too old for new customers, and they
might feel this is not suitable for their personal requirements in life. A business
will run good only if customers are satisfied with the services provided, but if
theyre not its ultimately the banks loss.
PROBLEM: Customers will not be satisfied with services, if something new is
not set.

OBJECTIVES:To provide a simple and convenient medium for customers to perform their
desired transactions with ease with Voice Instructions.
My objective is to create a Bank Database which will automatically synchronize
with the customers transactions; The Virtual ATM Mahchine.
The staff will also able to search any record of their choice within the database
itself to save time of both the employee as well as the customer.
The program should be able to edit or modify the records just incase some
irrelevant information is added or the staff has misspelled the name of the
customer, card number, or any sensitive data.
Adding new records in a computerized database instead of paper-work could
save time and resources, at the same time prove to be efficient and convenient.
To provide a deposit money option for staff, so that they can deposit the
money into customers account.
Keeping a proper track of all the transactions made, in a separate database,
can seek the search results at ease.
In case of PIN Failure, automatically BLOCKING the Card of the user so that the
account is safe, and secured.
Providing a Staff communication place, where the staff can communicate with
each other, and broadcast important company messages.
Giving a simple computer generated receipts which display information about
the transaction made. It hardly takes seconds to print a receipt. This saves a
lot of time and energy, because waiting in the long lines can become extremely
tiring.
Providing basic transaction options, Such as Withdrawal, Transferring money
into another account, Balance Inquiry, PIN Change, and display all the Recent
Transactions.
Lastly, making the ATM machine completely secured and interactive with
voices. Implementing Simple mannerisms, like greeting and thanking will be in
this Virtual ATM Machine.
Providing something New, which might overtake old systems and set the new
trend.

RITHIN 10B

EXISTING SOLUTION:Banks partially use computers for their storing their data. Few places in India,
use the manual recording system. This system is good, as all the data storing is
done manually.
Banks feel that it is insecure to save all of their data on the computer due to
viruses and easy accessible information
The staff keeps all of their information in files and records which are stashed in
the room where all the records and files are placed at.
If any information is needed, the staff then goes to the that room, looks for the
file which contains information about the record taken into consideration and
reads out the information that is recorded into the file including the time,
amount, account numbers, and most importantly Signature.
To add any record, the customers have to fill in slips/forms for registration or
even for making a transaction, customers have to wait in the bank until the
transaction is processed and the information is recorded and stored for further
use.
Users visit the bank, fill the details in a form with their signature, and wait for
their turn, which takes up some time. Then the bank do the rest of the job.

Customer goes to
the bank

Then the cashier


checks their passbook,
and gives the cash.
(Short line)

Fewer
Crowds

Customer takes the


withdrawal or
deposit form, and
then goes to cashier

Then the cashier


checks their passbook,
and gives the cash.
(Long Lines)

Larger
Crowd

If an error occurs, or a
mistake in form
filling, you have to
wait again in the line.

RITHIN 10B

EVALUATION OF EXISTING SOLUTION:Advantages:


As the saying goes its there in writing, If any information were to be stored
or securely kept for further reference, it is suggested to put them on paper.
This gives a sense of permanency as well as security for the staff as they know
that their information is secure regardless of any computer viruses.
Storing these files are very easy as they can be physically moved to any place
of storage without damaging the records inside.
Naturally, editing a record is the easiest process when it is in paper, because to
edit any field in the record, all the staff has to do is pick up a pen and jot
down any new modifications or additions necessary for the record according to
changes of the movie.
Most Importantly there is the signature of the customer in the form, which
makes it even more secure for the bank, as they have proof about a certain
record.
Less hacking on the systems.
One of the strongest advantages is cost savings. Software can be expensive.
Banks can save money, with the manual accounting system.
With manual accounting, employees are free from computers. They can do
accounting anywhere, including at home or during a bus or train commute. This
can actually free up some of the employees workday. Also, banks don't have to
worry about computer glitches and software crashes.

Disadvantages:
For every new transaction or new account, new records and new files enter the
storage room of the bank. With progress in time and the number of customers making
transactions, it is going to be very hard for the bank staff to sort out the files in the
storage room. This could result in both time consumption as well as inefficiency.
More than the storage, searching the files would be more complicated. For example, If
the bank manager wants to view the records of transactions, staff will have to rush to
the storage room and look for the file from the huge piles of files, and finally after
finding the file, carry it to the front desk and then show it to the manager. This could
be tiring, and frustrating for both the manager as well as the employee. Retrieving
data is slow.
Too much paper work and Space Consuming: since everything and every details is
written down manually in paper there will be too much paper work! since the data
and paper is stored in filing cabinets it consumes too much place, as the amount of
work done on paper increases the filing cabinets too increases. Hence, difficult for
banks.
Inconsistency of data: there will be unavailability for future use, since data might get
misplaced during manual filing. So data wont be preserved properly for future use.
Long Waiting Lines in the bank for any transaction. This results in a sharp drop in sales,
unhappy customers and a bad impression on the bank

RITHIN 10B

Suggested Improvements to Existing Solution:


Improvements that could be made are that if a the staff is expanded so
that there is one person going and taking the file, while the other staff
member waits at the front desk so that nobody should leave the
customer alone. Also, if one person is at standby, and the staff member
at the front desk could just ask for the required information, the
member in the storage room would look through the files and convey the
desired information to the staff member at the front desk and finally to
the consumer.
A new Database could be introduced, especially one that is faster and
safer, as the bank data shouldnt be leaked cause it is the sensitive
information of the customer.
The storage of Data should be improved, and should be taken to a new
level.

OTHER POSSIBLE SOLUTION:1. Party Computerized solution. In this method, the staff uses the computer partly
in the adding, sorting, and searching for records or transactions in their database.
In this method, the computer is only used for adding new records, which are
printed and then stored in files. This could look neater as well as input of data will
be much faster with the help of keyboards and macros for preset templates of the
fields. Or, the computer may also be used to search the data or record desired by
keeping names or codes of the files in the computer database, which distinguish
every file in the store room for a much more simplified and organized manner of
looking through the file.
Advantages of Party Computerized Solution:The stored records maintain a same format, and hence look neat and organized.
Input of data will be much faster with the help of keyboards.
Searching the data records will be easier for the staff.
Records are stored in Storage room, hence the banks have a hard copy of the
records.
Disadvantages of Party Computerized Solution:Inconvenient for customers.
Long lines in the bank will still be present.
The same old procedure for customers, and hence it will not be appreciated by
the customers.

RITHIN 10B

2. Fully Computerized Solution (Proposed Solution). This is the solution or


technique that fully compensates with my objectives. With this fully
computerized solution, everything is done on the computer. There is no need
of storing piles of files in the store room as everything, including the
information about each and every record present in the database is recorded
and stored in the computer itself. This minimizes bulk in the storage room.
Adding, searching, removing and modifying the data is done with a few clicks
on the mouse and keyboard and there is no physical exhaustion or frustration
undergone by the employees of the bank. Customers just have to login to
perform and there is no need to fill out forms to withdraw, or transfer. Its just
a matter of a few clicks on buttons and transactions can be easily made by the
customer. This is a very efficient and effortless process, and also reduces the
crowds in banks. The main database will be automatically updated whenever a
transaction is made with appropriate data, and can easily be viewed if the
employee has an authorized access. Hence, this solution will benefit both the
customer and the employee equally.
Advantages of Proposed Solution:Easy for customers and staff of the bank.
Customers Account is protected by a PIN Number, hence it is secured.
The application will automatically block the account if a wrong PIN is entered 3
times. This makes it even more secured and prevents unauthorized access to
the account.
Customers dont need to fill out withdrawal and transfer slips as is required
at the bank.
This solution is faster than going to the bank and waiting, hence no long
lines.
Gives a simple computer generated receipts which display information about
the transaction made by customer.
Disadvantages of Proposed Solution:The encounter of viruses, which may affect the computer system, which could
cause any kind of loss to the data or records.
Computers may be down for some period of time as maintenance is required.
Since its a new system for the Bank, the employees must require technical
expertise as everything is being performed by the computer.
Customers may forget their PIN Numbers.
Because the advantages are more than disadvantages, this method is the most reliable
as well as efficient method for storing data records and performing automatic
transactions for customers; by creating Virtual ATM Machine.

-------------------------------------------

END OF ANALYSIS -------------------------------------------------------

DESIGN

RITHIN 10B
Action Plan:

To put this method to practice, I must perform a certain series of tasks, which in turn
will eventually lead to my end-product result, which is a fully computerized movie
database program. In chronological order, the tasks or actions I am to perform to
exercise this method would be:
To research on the services which banks provide, and how they are being
processed, the money calculations taking place and the user account managing.
Finding out about the problem, setting a suitable solution and Feasibility Study.
(Investigation)
To find out which software is applicable for working with databases and learn
how to use such software or programs.
To plan out the design format of the program, what buttons it may need, or
what types of forms, tables it may include.
To arrange in order, which form comes after which, and organize or categorize
the similar types of data. For eg; forms should be linked to each other.
After all the arrangement is done, the next task to perform is to imply the
coding and programming language into the forms to perform the certain tasks
which is to either display information, or to move on to the next form.
Finally after all the coding is done, the testing and debugging process is
conducted and the data is tested in normal, abnormal and extreme conditions.
After testing for any errors, the project is built and distributed. In this step,
evaluation of the product is also done.

Task
Name

Task
Description

Start Date

End Date

Total Days

Problem
Identification &
Solution

Figuring out the problem and possible solution


for the problem.

27/12/2012

28/12/2012

Feasibility Study

After the solution is set, I will study if the


solution is acceptable to the problem and if
the implementation of the solution will work.

29/12/2012

31/12/2012

Research

After a solution is found then I will research on


how the banks function and service given to
customers.

2/1/2013

5/1/2013

Design

I will decide what program I will use, the


system input and output processing as well as
the layout design using a flowchart.

6/1/2013

11/1/2013

Programming &
Coding

I build the program solution

12/1/2013

23/1/2013

11

Testing

After the system is complete I check to see if it


meets all my objectives.

24/1/2013

25/1/2013

Documentation

I create manual system for my program for


other people to use.

25/1/2013

31/1/2013

Evaluation

I check for minor errors and fix them or better


the system any way possible.

3/2/2013

4/2/2013

RITHIN 10B

Time Plan
12
10
8
6
4
2

No of Days

Hardware Used:
I am using a variety of different hardware for this project:
Laptop: I am using an Apple Macbook Air laptop running Windows8. This laptop
is very easy to use, and is portable, so I can work on the project even when Im
not at home.
Processor: The processor of my laptop is Intel(R) Core(TM)2 Duo CPU L9400,
with 1.86 GHz of processing power. Even though it may not be the most
powerful or fastest processor around, it still works well for me.
Keyboard: The keyboard I am using is the one that is built into the laptop. I
dont need to attach an external keyboard, because this one works just
fine.(BUT for the main program keyboard is not requird)
Mouse: I have attached a Logitech M150 wireless mouse to the computer. I
prefer using this mouse to the touchpad, because the touchpad of the laptop
can be inaccurate and tough to use. Using a mouse for this kind of project is
just so much more efficient.
Hard disk: My laptop has 250GB of capacity in its hard disk. I will save my
project and report on the hard disk.
USBs: I am using 1 USB in this project. It is Sandisk Cruzer, 8GB. I use this to
save my projects as back up. This way, if I lose all my data on the hard disk, I
still have the data on these two USBs.
RAM: The RAM of my laptop is 2.00GB (But 1.74 GB usable). This is quite fast,
and I can run several programs simultaneously without facing any lag problems,
which will be useful for the project.
Monitor: I am using the laptops monitor, a 13.3 HD LED LCD. It is not very big,
but it is still relatively kind on the eyes.

RITHIN 10B
System Flowchart:

To explain the functions of the virtual atm machine program, here is a simple system
flowchart that will show you all the features and functions the program is capable of
performing:
CLOSE

INPUT : Mouse
click on icon of
program

UPDATE DATABASE

SHOW SERVICES; SELECT A


SERVICE
Valid

Welcome to BankTen
Virtual ATM Machine
USER or ADMINSTRATOR

INPUT PIN
#

Tries > 3

Invalid

Valid

INPUT:
USER
(ENTER)

INPUT:
ADMIN

INPUT
ACCOUNT
#

OPEN THE MACHINE FORM

OPEN THE ADMIN LOGIN


FORM

Invalid

ADMIN
LOGIN

Valid

SHOW ADMIN OPTIONS


BANKTEN
DATABASE

Invalid

BLOCK
ACC#

RITHIN 10B

Screen Designs:
Welcome Form Design:
This welcome page consists of a welcome message, created by, and 2 options.
ENTER which is for a normal user and ADMINSTRATOR for authorized user.
Clicking on ENTER will open the Machine form and Clicking on ADMINSTARTOR will
open Admin form.
WELCOME MESSAGE

ENTER

ADMINSTRATOR

CREATED BY

ADMIN Form Design:


This consists of a login for authorized users, and if access is granted then admin
options will be displayed. Color scheme for admin is focused on BLUE color.

LOGIN BUTTON

RITHIN 10B

Machine Form Design:


This is the design of how it will look to a user. The information will be shown on the
MAIN SCREEN and user can select options with the help of the BUTTON SETS once
he successfully enters his ACCOUNT # and PIN #. The NUMERIC KEYPAD allows the
user to enter his/her Account and PIN Number. Once a withdrawal is made, small
amount of money (animation) comes from the CASH area and RECEIPT area
displays an option for collecting the receipt. CARD INSERTING are allows user to
insert his/her card (animation), without inserting user cannot proceed further. This
diagram represents the main structure of the machine form:

BUTTON
SET 1

MAIN SCREEN

BUTTON
SET 2

CASH
NUMERIC KEYPAD

CARD
Inserting

Receipt

Dark green has been chosen for the screen back color and light green for the
background. This color combination of Dark and light green is kept constant for
customer screen display.

RITHIN 10B

Functional Requirements of the Machine Form :


1) Entry: The model will service one customer at a time. A customer will be
required to enter his/her account number and enter a personal identification
number (PIN) - both of which will be verified with the Bank Database. As soon
as the user entry has been authenticated then a session will be initialized for
him/her which will end either when the user finishes transactions or he/she
aborts the session.
2) PIN (Personal Identification Number) Access: If the Virtual ATM Machine
determines that the customer's PIN is invalid, the customer will be required to
re-enter the PIN before a transaction can proceed. If the customer is unable to
successfully enter the PIN after three tries, the card (account) will be blocked
automatically, and the customer will have to contact the bank to re-activate
it.
3) Transactions: The customer will be able to perform one or more transactions.
The Virtual ATM Machine will communicate each transaction to the bank
database and obtain verification that it was allowed by the bank. Ordinarily, a
transaction will be considered complete by the bank once it has been
approved. If a transaction fails for any reason other than an invalid PIN, the
error message will be displayed with the reason. A customer must be able to
abort a transaction in progress anytime instead of responding to a request from
the machine.
Withdrawal: This feature allows the customer for withdrawing money.
Balance Inquiry: This helps the card user to obtain either a printed or nonprinted balance status.
Recent Transactions: This feature displays the recent transactions (last
withdrawal, last transfer, and last received money from) of the customer.
Money Transfer: This helps the customer to transfer the money from his/her
account to another account in same bank.
PIN CHANGE : This feature allows the customer to change his/her current PIN
number.
4) After Completion: The Virtual ATM Machine will provide the customer with a
printed receipt on the screen itself for each successful transaction, showing the
date, time, account number (s), amount, current balance.

RITHIN 10B

Software Used:
Below is a screenshot of the system in which this project is made:

As it says above, the Operating system used is Windows 8, and below are simply a
few hardware specifications that are required to run the desired operating system.
The software that I will be needing for making this project would be:
Microsoft Visual FOXPRO 6.0: This is the most important part of my project as it
contains almost all of my information regarding the project. In this software, I will be
designing all of the forms, buttons, textboxes, etc. that are required in the project. I
will also be connecting my database into this software and finally build the program in
this software making program.
Microsoft Office Word 2010: I will need this software for writing down this report,
and also for organizing my project so that I dont miss out on anything in the project.
Microsoft Paint: I will need this software for customizing (modifying) pictures, as
graphics play an important role in this project.
Google Chrome: This is essential for researching on how the bank transactions
function etc. And to make sure that I get the right functions in my project.

RITHIN 10B

Software Selection
When we were first told about this project, there were various softwares from which
we could choose, we were told about Visual FoxPro and Microsoft Access. However,
before I thought about using any other software, I thought that Visual FoxPro would
be best for me because of various reasons.
I had been using this software for 2 years
I was comfortable and familiar with all the functions of this software.
I was learning about this software and would learn more as in school as this was
the program being taught
I would not need much help, where as if I would shift the software, I would be
requiring much more effort and time to spend on it.
Though Microsoft Access was a good program against the Visual Fox pro so I decided
to make table showing their pros and cons :
Feature

Visual Fox Pro

Appearance

Interface & Features

Microsoft

Access

Ease of Interface

Speed

Storage

Transfer& Backup

Visual FoxPro doesnt have much options to make it attractive (its simple), but I will
make it user-friendly and attractive with help of few simple animations, sounds, and
graphics.
As you can see it was a hard choice but Visual FoxPro is chosen.

------------------------------------------------------ END OF DESIGN -----------------------------------------------------

IMPLEMENTATION

RITHIN 10B

Method Of Solution:
To illustrate my database project here are a series of print screens and explanations
that depict how my project looks like in both the design and programming process.

Database in Design view:

In the design view, all of the tables present in the database are displayed in
the window. My project mainly contains of the 5 tables (excluding one),
Table Login, Admin Login, Table Deposit, Table Withdraw, Table Transfer.
Structures of Tables:

Admin Login Table


Structure

Table Login Structure

RITHIN 10B

Table Transfer
Structure

Table Deposit
Structure

Table Withdraw
Structure

Each table above has its own functionality. The structure of the table is very
important here. The table login has 20 fields. All the fields in this table are character
type. Since few fields are automatically updated, the CARDSTATUS field vale can only
be ACTIVE or BLOCKED. NULL value is only allowed for Balance and Withdraw
Amount (it is not possible, but the NULL value is just allowed). ACCOUNT NUMBER is
different for all customers. PIN NUMBER can be the same. The Admin Login table has
only 2 fields username and password. Next Page, shows few sample data present in all
the tables and their functionality. And further pages show flowcharts on how the
services work for users.

Admin username and


password are stored in
this table.

This table keeps a record of money


deposited into a users account by
the Bank Admin or Employee.
Records will be automatically
added if an admin deposits money
from the form. No need of
entering data in table. ONLY
ACCESSABLE BY ADMIN.

Only these fields will require entry. If a new


Customer is registered then the employee has
to enter details about customer in a separate
form which will write the details in these
fields automatically. (Account Email Id only)
The details present in this particular area, are
important for customer the balance, account #
and pin # and name, If these are changed then
customer might not be able to enter the
Virtual ATM Machine or perform a transaction.

This keeps a record of every single


withdrawal/transfer made by customer.
Automatic Adding of Data, no need for
entering data into the table. Whenever a
transaction is made data is added
automatically.

These fields DO NOT


require entry, they will
be automatically
updated whenever a
transaction is made.
These fields are mainly
used for displaying
Recent Transactions of a
certain customer. There
is no need for entering
the data, the
application will
automatically update
the records if a
transaction is made.

RITHIN 10B

This is most important


for customer. If the
Card Status is Blocked
The customer will not
be able to enter or
perform transactions. By
Default when a new user
is registered it is
Active but if a wrong
PIN is entered more
than 3 times the status
changes to Blocked
for security reasons.

How the main machine works? - Flowchart


RITHIN 10B
Bank Ten ATM Machine

Insert Card

Enter Account #

Valid Account
Number

Invalid Account Number

Welcome with
name

Invalid Account #
Please try again.

Enter PIN #
3
chances

Invalid PIN
Number

Cancel

Valid PIN Number

Invalid PIN #
Please try again.

BLOCK
CARD
Balance Inquiry*

Show
Information
form
Table_Login

Select Desired Transaction


Transfer Money*

Withdraw Money*

PIN
Change*

Recent
Transactions*

Show
Information
form
Table_Login
Perform
selected
transaction

Update Main &


Sub Database

EXIT

EXIT

RITHIN 10B
How the Withdraw Money Service works? - Flowchart

Withdraw Money*
Get User Details from Table_login, Display
Hello and ACC#

Get Balance Amount from Table_login = X

Select Amount

100

500

1000

5000

10000

Selected Amount = Y

IF X > Y

YES

X=XY

Display Sorry, and X in Message.


Close or Reselect

DATETIME () =
Z
UPDATE value X
& Z in
table_login

NO

UPDATE value Y & Z


in table_withdraw

CLOSE

Display X , Y , Z in
Receipt

CLOSE

EXIT

How the Transfer Money Service works? - Flowchart

RITHIN 10B

Transfer Money*
Get User Details from Table_login, Display
Hello and My Account # = M

Get Balance Amount from Table_login = X

Enter Account of Transfer

Valid Account
Number

Friend Balance = B
Friend Account = E

Invalid Account Number

Transfer to
message with friend
name

Invalid Account #
Please try again.

Enter Amount

Entered Amount = A

YES Pass

NO Fail

IF X > A

B=B+A

Sorry, Insufficient Balance.


Error.

DATETIME () = D

X=X-A
DATETIME () = D

UPDATE value X, B, D
& A E M , and both
names in
table_transfer

UPDATE value
X,B&D&A
EM
in table_login

Display A D E M X in
receipt transfer.

CLOSE

EXIT

How the PIN CHANGE Service works? - Flowchart


RITHIN 10B

PIN Change*
Get User Details from Table_login, Display
Hello Message and Account #

Get PIN Number from Table_login = P

Enter New PIN # = N

P Value =
N

Update P value in
table_login

Balance Inquiry and Recent Transactions Working Flowchart

Balance Inquiry *
and
Recent Transactions*

Get Balance and Recent Withdraw and


Transfer and Received Money Transfer from
table_login

Get User Details from Table_login, Get


Name and Account #

Form

Balance Inquiry

Recent Transactions

Display Hello with Name, and Account #. Display


Balance Amount

Display Hello with Name, and Account #. Display Last


Withdrawal, Last Transfer, and last Received Transfer
Detials.

EXIT

RITHIN 10B

Forms:
The main aspects of my project are the forms of the project, which are responsible
for displaying information available from the database, which simultaneously provides
a medium for both customer and administrator. More Screenshots and details are in
User Documentation. Here are all of the forms included in my project:Name of the Form

Use

Welcome Form

Allows user to choose admin or customer

Machine

Shows the ATM Machine screen, and


transactions users can make.

Withdraw

Allows customer to make a withdrawal

Deposit

Allows user to transfer money from


his/her account to another account

Balance

Displays Balance in customers account

Recharge

Displays all the Recent transactions made


by the customer

Pinchange

Allows user to change his/her PIN number

blocked

Blocks the account, if the PIN is entered


wrong 3 times.

Receipt

Shows details of a withdrawal transaction

Reciept_transfer

Shows details of a transfer transaction

Admin_Active

Allows admin to activate blocked


accounts

Admin_add_newuser

Allows admin to register a new account in


the bank

Admin_alldeposits

Displays a table which contains all the


Deposits made by the user (admin)

Admin_allrecords

Displays table_login in a form. This


contains all the records in the bank.

Admin_alltransfers

Displays table_transfer in a form. This


contains all the transfers made by the
user

Admin_deposit

Allows admin to deposit money into an


account of a certain user

Admin_login

The main form for admin area, shows all


options which an admin can do.

Admin_search

Shows all records in a new manner

Form1

This is for admin communication.

RITHIN 10B

Method of conversion (System changeover) :


Methods of conversion or the system changeover refers to the process of putting the
new information system online and retiring the old system.

Types of
Conversion

Direct Conversion

Advantages

Parallel
Conversion

Advantages

Disadvantages

Phase-in
Conversion

Advantages

Disadvantages

Disadvantages

RITHIN 10B

Direct conversion
This is the implementation of the new system and the immediate discontinuance of
the old system. Once the conversion is made there is no way of going back to the old
system. It is inexpensive, but involves a high risk of failure because the entire system
is converted at once and going back to the old system will create a lot of hassle and
problems. This approach is appropriate when:
The system is not replacing any other system
The old system is judged to be without value
The new system is either very small or simple, or both
The design of the new system is drastically different from that of the old
system and comparisons between systems would be meaningless.
Advantage- Taking the example of a health care center, as we know health center
does not have enough funds for implementing the new system so it would be easier to
implement direct cutover method in the health center.
Disadvantage-This method of system changeover involves more risks of total system
failure and it is preferred for commercial software packages. So if there is a system
failure in health center then it will be difficult to store information of child who visits
health center. And if there is no proper storage then there will be incorrect reports
and monitoring of child's health will not be properly done.
Parallel conversion
This is an approach where both the old and the new system operate simultaneously
for some period of time until a thorough evaluation is completed. It is the opposite of
direct conversion. A high degree of protection from system failure is provided, but
parallel conversion is costly.
Usually though, if this conversion type fits in with the organizations IT plan then the
extra expense is warranted.
Advantage- The advantage of parallel system is lower risk of system failure so all the
tasks can be done properly at health center. If the new system does not work
properly, the health center can use the old manual system as a backup until
appropriate changes are made.
Disadvantage- As we know parallel system is the most costly changeover method as
both old and new systems operate fully for specified period and we also know that the
budget of health center is also low so it will be difficult for health center to follow
this changeover process.

RITHIN 10B

Phase-in conversion
This approach allows for a segmented system to be gradually implemented over time
until the old system is fully replaced. Unlike direct or parallel conversion, phase-in
conversion uses a step-by-step process of converting one segment at a time. This
method avoids the risk inherent with direct conversion while allowing users to get
used to the new system gradually. The cost of temporary interfaces with the old
system, along with not giving IT professionals the satisfaction of implementing the
system in its entirety, can be negative factors in this type of conversion.
Advantage- As we know in this method we have to implement the new system in
stages, or modules, which is less prone to risk of system failure or errors at health
centers, as failure is limited to the implemented module only. It is also less expensive
than parallel system because we have to work only with one part of system at a time.
Disadvantage- As the system, which we are implementing, involves various phased
operation like treatment, measuring weight, registration, vaccination etc. so it can
cost more than the pilot approach.
Which method is most suitable for my project?
The most appropriate method of conversion for my project would have to be Parallel
Conversion mainly because my database handles a lot of records and fields within the
project. To perform a parallel method of conversion would mean that I will be
inserting a new system while simultaneously importing my records and fields from the
old system into the new system. This will be very helpful as I will not have to backup
my records, at the same time very reliable, as I will not take the risk of losing any of
my records from the database.
If I had chosen the direct method of conversion, then I would face the problem of
having to back up all of my records from the database and saving them on a separate
file. Then, after the new system has been imported, I will have to add all of the
records again. This could be frustrating and time consuming. Also, if I had picked the
phased method of conversion, changing the system at one segment at a time could
damage my data and make the corrupt, hence not allowing me to open the files again
in the future which could be very risk taking. The only disadvantage of using the
parallel system changeover is that it is very costly which is a good sign because there
are no disadvantages related to the method or performance of the system
changeover, and with a high cost, this method will naturally by very reliable.
Suitability of hardware and software recommended:
According to the recommended hardware and software in the design stage, this
method of conversion is perfect. In terms of hardware, the 2 GB of RAM and the
250GB onboard hard drive memory, the system will not have a problem running two
systems at a time as prior to the parallel system changeover. The operating system,
windows 8 is also suitable for the parallel system changeover.
-------------------------------------------

END OF IMPLEMENTATION --------------------------------------------------

TESTING

RITHIN 10B

Testing Strategy:
For testing this strategy, I will be using the User based test strategy, where as a user,
or admin, will input the data required and according to what I have inputted, the
response made by the program will be the result of the test conducted.
Testing Plan:
Based on the 5 tables present in my project, I have designed a test plan that will
check the response of the program according to the user input.
For Admin Login:
My test will be based on 3 types of data, normal, abnormal, and extreme. The table
below will show the values I will enter into the field:
Data Type

Username

Password

Normal

rithin

admin

Abnormal

rithin

Extreme

asdfghjk

asdfghjk

Normal Data; If entered correctly, then this screen will be show:

RITHIN 10B
Abnormal Data or Extreme Data: If entered then this screen will be shown:

For Account # Entry:


My test will be based on 3 types of data, normal, abnormal, and extreme. The table
below will show the values I will enter into the field:
Data Type

Account Number

Normal

00000001

Abnormal

37565656

Extreme

asdfghjk

Normal Data; If entered correctly, user will be welcomed by name, and will be prompted to enter 4
digit PIN number of users bank account.

RITHIN 10B
Abnormal Data: If entered then this screen will be shown:

Extreme Data: If entered then this screen will be shown :

For PIN # Entry:


My test will be based on 3 types of data, normal, abnormal, and extreme. The table
below will show the values I will enter into the field:
Data Type

PIN Number

Normal

1111

Abnormal

0909

Extreme

asdf

PIN Number will only valid if it matches with the account number in the database. The normal data in
the above table is for the account number 00000001 which is normal data also.

RITHIN 10B
Normal Data; If entered correctly then the services will be shown:

Abnormal Data and Extreme Data; If such type of data is entered then this screen will be shown:

For Transfer Money Account Entering:


My test will be based on 3 types of data, normal, abnormal, and extreme. The table
below will show the values I will enter into the field:
Data Type

Account Number

Normal

00000004

Abnormal

00000001

Extreme

22222222

The account number entered should be present in the bank database (normal), and
money cannot be transferred into customers own account (abnormal). If an account
number is entered which doesnt exist then it is extreme data type.

RITHIN 10B
Normal Data; If entered correctly then the next screen will be shown:

Abnormal Data; if own account number is entered then this will be shown:

Extreme Data; if non-existing account number is entered this will be shown:

For Transfer Money Amount Entering:


My test will be based on 3 types of data, normal, abnormal, and extreme. The table
below will show the values I will enter into the field:
Data Type

Amount Entered

Normal

150

Abnormal
Extreme

9999999

RITHIN 10B
Normal Data; If valid amount entered then the next screen will be shown

Abnormal Data; if the input is left blank then this screen will be shown:

Extreme Data; if invalid amount is entered for money transfer:

------------------------------------------------- END OF TESTING ----------------------------------------------------------

RITHIN 10B

TECHNICAL
DOCUMENTATION

RITHIN 10B

Welcome to BankTen Virtual ATM Machine Technical Users manual. In this manual,
we will be covering the:
System requirements for this project
Different types of code implemented in the software and how theyre
connected.
This section aims at the maintenance programmer of the system. It is designed to aid
him/her in the maintenance process, and keep him/her running the system properly.
It will in include the systems hardware and software requirements, a reference to all
its tables and forms; Database. All the different type of codes implemented in the
software and working flowcharts of different transactions.
System Requirements:

To run this program, appropriate system is required.

The above requirements are highly recommend. Microsoft Visual FoxPro 6.0 or a
higher version is must. Without VFP this program will not function.
My system doesnt support touch, but computers that support touch can be used as
well, and it will be more user friendly and a better option in this situation. Here is
detailed information about the system.

RITHIN 10B

About the Tables Used:


1) Table_Login.DBF

This is the main table, as it contains the customer information and details. This is the
table that is used to store the recent transactions, balance, withdrawal, printing
receipt after withdrawal, Blocking Cards etc. Below is the structure of the table:
Name of field
Account
PIN
Balance
Name
Age
Sex
Address
Telephone
Emailid
With_amt
With_date
Trans_mony
Trans_name
Trans_acc
Trans_date
I_transfer
I_tran_acc
I_trandate
I_tranname
CardStatus

Type
Character
Character
Character
Character
Character
Character
Character
Character
Character
Character
Character
Character
Character
Character
Character
Character
Character
Character
Character
Character

Width
8
4
15
30
2
6
50
12
100
15
20
15
20
10
20
15
8
20
20
10

There are 20 fields in this table. All the fields in this table are character type. The
name, address, email have large widths, because they may require several characters
to be input as details. The telephone number field has a width of 12, because there
are only 12 digits for a phone number (Indonesia). The Account number has a width of
8, and PIN number has a width of 4, because they are supposed to be. CARD STATUS
value can only be ACTIVE or BLOCKED. Date and time are also Character type.
2) Table_Deposit.DBF
This table contains all the deposits to users made by the admin. Below is the structure
of this table:
Name of field
Name_1
Act_num
Deposita_1
Depo_date

Type
Character
Character
Character
Character

This table contains 4 fields. All are Character type.

Width
20
8
10
20

RITHIN 10B

3) Table_Withdraw.DBF
This table contains all the records of withdrawals made by user. Below is the
structure of this table:
Name of field
Name
Actno
Date
amount

Type
Character
Character
Character
Character

Width
30
8
20
15

When a user makes a withdraw using the Virtual ATM Machine the details about that
withdrawal will be added automatically in seconds in this table.
This table contains 4 fields. All are Character type.
4) Table_Transfer.DBF
This table contains all the money transfer transactions made by the user. Below is the
structure of this table:
Name of field
From_acc
To_acc
transamount
On_date
transacton
From_name
To_name

Type
Character
Character
Character
Character
Character
Character
Character

Width
8
8
15
20
10
20
20

This table contains 7 fields. All are Character type. Transacton shows weather a
transaction was success or failed.
5) Admin_login.DBF
This table contains all the authorized users of the bank. Both the values from the table are required to
pass the security check in admin_area (to login to admin area). Below is the structure of this table:
Name of field

Type

Width

Username

Character

10

Password

Character

10

This table contains 2 fields. They are both Character type, because some staff users like to include
numbers in their usernames and passwords. The width for both fields is 10, since the longer the
password is, the less likely people are to be able to guess it.

RITHIN 10B
6) Message.DBF
This table contains all the broadcast messages sent to other admins of the bank Below is the structure
of this table:
Name of field

Type

Width

Message

Character

250

The field type is character, and the width is 250 because some important message
might be long.

There are 20 forms in this project. Here is a list of the forms present:
Name of the Form
Welcome Form
Machine
Withdraw
Deposit
Balance
Recharge
Pinchange
blocked
Receipt
Reciept_transfer
Admin_Active
Admin_add_newuser
Admin_alldeposits
Admin_allrecords
Admin_alltransfers
Admin_deposit
Admin_login
Admin_search
Form1

Use
Allows user to choose admin or customer
Shows the ATM Machine screen, and
transactions users can make.
Allows customer to make a withdrawal
Allows user to transfer money from
his/her account to another account
Displays Balance in customers account
Displays all the Recent transactions made
by the customer
Allows user to change his/her PIN number
Blocks the account, if the PIN is entered
wrong 3 times.
Shows details of a withdrawal transaction
Shows details of a transfer transaction
Allows admin to activate blocked
accounts
Allows admin to register a new account in
the bank
Displays a table which contains all the
Deposits made by the user (admin)
Displays table_login in a form. This
contains all the records in the bank.
Displays table_transfer in a form. This
contains all the transfers made by the
user
Allows admin to deposit money into an
account of a certain user
The main form for admin area, shows all
options which an admin can do.
Shows all records in a new manner
This is for admin communication.

How the Machine Form Works :RITHIN 10B


Bank Ten ATM Machine

Insert Card

Enter Account #

Valid Account
Number

Invalid Account Number

Welcome with
name

Invalid Account #
Please try again.

Enter PIN #
3
chances

Invalid PIN
Number

Cancel

Valid PIN Number

Invalid PIN #
Please try again.

BLOCK
CARD
Balance Inquiry*

Show
Information
form
Table_Login

Select Desired Transaction


Transfer Money*

Withdraw Money*

PIN Change*

Recent
Transactions*

Show
Information
form
Table_Login
Perform
selected
transaction

Update Main &


Sub Database

EXIT

EXIT

RITHIN 10B
Codes implemented in the program:

Being a database, driven application, this program contains a lot of coding which
connects to a table, and receives information from the table.
1. Login :
This button, when clicked will give the admin the ability to edit or modify any record
in the database from the display page itself. The code implemented into the edit
button is:
USE admin_login
test=0
DO WHILE NOT EOF()
IF thisform.text1.Value=username
IF thisform.text2.Value=password
test=1
ENDIF
ENDIF
SKIP
ENDDO
IF test=1
Thisform.command2.visible = .T.
thisform.command8.visible = .T.
thisform.command9.visible = .T.
thisform.image4.visible = .T.
thisform.command10.visible = .T.
thisform.caption = "You are now logged in!"
thisform.release
ELSE
MESSAGEBOX("Sorry, Incorrect details! Please try again.",64,"Admin Area")
ENDIF

This code simply tells us that we have been granted access into the admin area. The
same code has been applied in the machine form too, but in a different manner, but
its the same principle.

RITHIN 10B

2. Search Code

PUBLIC FLAG
USE table_login
LOCATE FOR LOWER(THISFORM.acountnumber.VALUE)=ACCOUNT
IF FOUND()
FLAG=RECNO()
THISFORM.Refresh
thisform.labelname.caption = thisform.txtName.value
ELSE
ENDIF

In this project, this code is used to welcome the user by name in the starting of the
ATM Machine. This code searches for the entered account number and the gets the
data and then displays it in a presentable manner.
3. Speaking some text
thisform.textcard.value = "Sorry" + thisform.txtName.value
loSpeak = CREATEOBJECT("SAPI.SPVoice")
loSpeak.SPEAK(thisform.textcard.value)

This code is used to welcome the user by name with voice. It will be more interactive
when a computer welcomes you by name. Hence, this code is used is various parts of
the project.
3. Making an object visible in the form
Thisform.image1.visible = .T.

\\ this makes an object visible

Thisform.image2.visible = .F.

\\ this sets the visible property to False

Most of the project is based on this small piece of code, because this creates illusions
which are really effective. Eg, when you click on login, and if it is a success, then this
sets the next option to visible and hides the previous object, so there is no need of
opening another form, it can all be done in one form, in one place.

RITHIN 10B

4. Mathematical Calculations of the Data


Thisform.text3.value = val(thisform.text1.value) + val(thisform.text2.value)
Thisform.text6.value = val(thisform.text4.value) - val(thisform.text5.value)
These simple calculations are really important, because without these the balance
wouldnt get subtracted (withdrawal) or added when money is transferred or
deposited. This code has been used in places, where it is required.
5. Generating a Random Number
thisform.text1.value = FLOOR(Rand() * 100000000) \\8 Digit random number
thisform.text2.value = INT(Rand() * 10000)

\\4-Digit Random number

Generating random 8-digit and 4-digit number is useful for admin, for account number
or pin number. This helps generate a random number (which might repeat) but useful
for setting an account number and a PIN number.
6. Adding a new record into the table
APPEND BLANK IN table_login
thisform.txtAccount.value = thisform.text1.value
thisform.txtPin.value = thisform.text2.value
thisform.txtAge.value = thisform.text4.value
thisform.txtSex.value = thisform.text8.value
thisform.txtName.value = thisform.text3.value
thisform.txtEmailid.value = thisform.text7.value
thisform.txtAddress.value = thisform.text5.value
thisform.txtTelephone.value = thisform.text6.value
thisform.txtBalance.value = thisform.balance.value
thisform.txtCardstatus.value = thisform.text11.value
This appends a new record into a table, this has also been used in various parts of the
project, because after every transaction, the data should be added automatically to a
specific table.

RITHIN 10B

* The codes used in the project are not direct, they have all been mixed with IF
function, like example :-

7. IF entered amount is greater than balance


IF val(thisform.amount.value) > val(thisform.balance.value)
MESSAGEBOX(Sorry You have Insufficient balance)
ELSE
Thisform.image3.visible = .T.
ENDIF
The greater than or lesser than ( > or < ) is also important because in this, the user is
not allowed to transfer / withdraw more money than his balance.
* While using this IF statement ELSE and ENDIF are must. Otherwise this error
message is displayed by VFP automatically.

RITHIN 10B

8. Setting the value of textbox same as the data in the table


Thisform.text1.value = thisform.txtAccount.value
This code sets the value of a textbox, to the data in the table. The txtaccount has a
control source from the table, and this can be obtained from data environment of the
form.

9. Enter text into textbox with a command button


thisform.text1.value = "1"
acc = acc + thisform.text1.value

Code for button

thisform.text1.value = acc
PUBLIC acc
Code for form

acc = ""

This is used for the numeric keypad in the virtual atm machine, which allows the user
to type the account number and pin number without a keyboard. 1 is the character
which you want to enter, this can be changed to any other character like 2 or 3
etc.
10. Playing a sound when command button is clicked
A small program is created in VFP. In this project it is ATMVoice.prj the code used
in this program is:
FUNCTION Bank(ATMvoice)

SET PROCEDURE TO ATMvoice

Do Case

=Bank(1)

Case ATMvoice=1
SET BELL TO 'accountnumber.wav'
Code in button or form

ENDCASE
?CHR(7)
SET BELL TO
RETURN

Code for .prj file


------------------------------------------- END OF TECHNICAL DOCUMENTATION --------------------------------------

RITHIN 10B

USER
DOCUMENTATION

RITHIN 10B
Getting Started:
To run the program, click on the BANKTEN.app file, which will open in Visual Fox Pro.

Choosing user type:


Here, you must state whether you are an authorized user (Administrator) or normal user by clicking on
the appropriate button. Clicking on Close will close the form. Administrator account is for the staff of
the bank, who can control/view/modify/delete user accounts and transactions. Basically, admin has all
the rights. Clicking on ENTER will run the ATM Machine, this is for the customers of the bank, who can
only view their account and make transactions, but cannot modify data (except their own PIN Number).

RITHIN 10B
The BankTen ATM Machine for customers to perform their desired transactions:

This is the screen which will be displayed to the user when he chooses ENTER. An ATM card should be
inserted (without inserting the card, the user cannot proceed further). After Inserting the Card he will
be prompted to enter his account number. This account number is a must for all users and it is
different for everyone.

Blocked Cards/Accounts are not accepted by the verification system and if such case exists it will
inform the user that the account is blocked and displays an Invalid Account Number message and
ejects the Card from the ATM Machine.

RITHIN 10B
If an invalid account number is entered:
Message will be displayed and the user will be asked to re-enter the account number. User can try
entering the account number unlimited number of times.

If a Valid Account number is entered:


You will be welcomed by your name, and will be prompted to enter your 4 digit PIN number of your
bank account.

RITHIN 10B

If an invalid PIN number is entered:


PIN number of a user will only be invalid, if entered data doesnt match with the real data in the Bank
Database. Hence, you will see a message on the screen saying Invalid PIN Number.

* IF YOU ENTER YOUR PIN NUMBER WRONG 3 TIMES IN A ROW, THEN YOUR CARD WILL BE BLOCKED BY
THE SYSTEM.
Hence, the screen below will be displayed to you (no other option, but only EXIT). The CARD can only
be reactivated by Authorized users and your account number will no longer be accepted by this Virtual
ATM Machine.

RITHIN 10B
If a valid PIN number is entered:
This is only possible, if entered account number, and PIN number match with the database. You will be
shown all the services (the screen below) provided by bank. Such as, Withdraw, Transfer, Balance
Inquiry, Recent Transactions, PIN Change and an EXIT button.

Now, you can select your desired transaction by clicking on the buttons which are opposite to the
transaction name.
If you Select balance Inquiry:
Your current balance in the account will be displayed with your account number and name. How it
looks is shown below. The read option allows this Virtual ATM Machine to read out your name, account
number and your balance. This feature is something new, and is an advantage for blind people.

RITHIN 10B
Appropriate way of using the Transfer Money Service :
You can transfer money from your account into some other account (Business Partner, Employee,
Family member, Friend or anyone else) of the Bank. How it works is shown below.

Transaction is now successfully completed. You will


get the receipt (optional) which will contain the
details about the transaction made. The Databases
will automatically be updated. The Speak Status
feature is new, and it allows the machine to speak
about the transaction performed. This is an
advantage for blind people.

RITHIN 10B
If an Invalid account number is entered for the Transfer money Service:
You will be shown an error message which is Invalid account number and this is how it looks. You will
have to enter a valid account number which exists in the bank in order to process the transaction.

If you enter your own account number to transfer money:


You will be shown an error message which is You cant transfer money into your account and this is
how it looks like. System will easily verify and display the error message.

If you enter amount which is more than your balance:


Of course you cannot transfer money more than your current balance in the account. In that case, you
will be shown an error message which would say You have insufficient balance to transfer money and
this is how it looks like. System will easily verify with database and display the error message.

* If you leave the input blank, then the amount you transfer will be $0, because you have left the field
blank.

RITHIN 10B
Using the Withdraw money service:
Withdrawing money in this machine is really simple, you can withdraw cash in seconds with a receipt.
This is how to looks like when you select withdraw.

Transaction is now successfully completed.


You will get the receipt (optional) which will
contain the details about the transaction
made. The Databases will automatically be
updated.

RITHIN 10B
If you want to withdraw money more than your current balance:
This is not possible. Hence, you will be displayed an error message on the screen with your balance
which you help you choose valid amount of money to withdraw.

Displaying Recent Transactions:


This is something new again, this will display only the recent transactions made by you. This is how it
looks like.

RITHIN 10B

PIN CHANGE SERVICE:


This allows you to change your PIN. If you feel it is safe to change your PIN you can do this in the
Machine itself, there is no need of visiting the bank and submitting an application for changing your PIN.
This is how it looks like.

RITHIN 10B

EXITING THE VIRTUAL ATM MACHINE:


Exiting the virtual machine is really important. The procedure to exit safely is there below.

Click on this option.

After you have completed the transaction, you will be re-directed to the main screen. Click on the EXIT
option to exit safely.
The next thing you will see is the Dont forget you card message and this looks like this.

By Clicking on ok you will be shown the first screen and hence you have successfully
closed /exit your session.

RITHIN 10B

FOR BANK ADMINISTRATORS and STAFF:

ADMIN AREA:

This is the administrator screen for authorized users of the bank, who have the rights
to add new customers, modify data, delete the data, unblocking the ATM card
accounts. You will require a valid username and password to enter the admin area,
this is secured.

Invalid Data is Entered:

If you enter invalid data, you will not be permitted to enter the admin area. Hence,
the screen below will be shown.

RITHIN 10B

Valid Data is entered:

If you enter you enter valid username and password then this screen will be shown.

Options given for administrator of the bank:

Admin has all the rights to modify, delete, add records or transaction details. The
options are, add new user, deposit money, view all records, view all deposits, view all
transfers, view all withdrawals, search users, admin communication, activate blocked
accounts, and logout.

RITHIN 10B

ADDING a new user:

If suppose a customer wants to create an account in the bank, admin will click on this
option ADD NEW USER. This adds a new record into the main database. This is how
it looks like.

IF a user is successfully registered:

When all the data is entered correctly, the entered data will be successfully added to
the database. This is how it looks like.

RITHIN 10B
IF the account number is taken or not available:

It often happens, when account numbers get mixed. An Account number is the most
important thing, if this gets mixed, the balance the transaction, will be disrupted.
Clashes might occur. So in order to avoid this, we have kept a verification system,
which will verify first and then proceed. If the account number already exists, then
this is how it looks like.

RITHIN 10B
Depositing Money:

This option enables the admin to add money into the users account. Hence, this will
increase the balance of a certain user. This is how it looks like.

RITHIN 10B
Viewing all Records:

This option displays information about all the users present in this bank, their balance,
pin number, account number, name and other details. With various options such as
search, print etc. This is how it looks like.

View all Deposits:

This option displays all the deposits made by admin into a bank account, the amount
deposited to account number, the name of the customer, and most important the
Time. This is how it looks like.

RITHIN 10B
View all Transfers:

This option displays all the transfer transactions made by users. Transferred from, to
account, both the names of customers, amount which has been transferred, the status
of the transaction (Success or Failed) and most importantly time of transaction. All
these can be viewed by an authorized user of the bank. This saves a lot of time,
customer doesnt have to flip any slips and the bank doesnt need extra storage room
with piles of files, the data will be automatically updated in seconds. This is how it
looks like.

View all Withdrawals:

This option displays all the withdrawals made by a user. The admin can search records,
print records, edit records, add records, and even delete the records. This is how it
looks like.

RITHIN 10B
Search all Record/Display All user Information in a different manner:

This options display all records in the database of bank. The user information and
details. This is something similar to view all records option, but this is a different way
of displaying the customer information. (Not in tables). This is how it looks like.

* Admin Communication :

This option allows authorized users to send important messages to other admins of the
bank. This is something new, and useful for communication between the users. This is
how it looks like.

RITHIN 10B
* Unblocking blocked accounts :

This option allows authorized users to re-activate / unblock accounts which have been
blocked due to security reasons (entering PIN wrong 3 times in a row) . This is how it
looks like.

The Card will be now active.

If the account is already active, then the message will displayed. And IF the entered
account number doesnt exist in the bank then the error message will be displayed.
To close the admin sessions, you just have to click on logout.
These are all the features provided for both admin and customers of bank in this
project.

------------------------------------------- END OF USER DOCUMENTATION ------------------------------------------------------

EVALUATION

Meeting the Objectives


Objective: To provide a simple and convenient medium for customers to perform their
desired transactions with ease with Voice Instructions:
I did create a simple medium for the customers which is the Virtual ATM Machine and this
allows the user to perform transactions at ease and there is a voice instructor for this Virtual
Machine, which will guide the user if needed.

Objective: To create a Bank Database which will automatically synchronize with the
customers transactions; The Virtual ATM Machine.:
I did create a database that can hold records of customers. I created dummy data of customers to test if the
database and the machine are being synchronized, and it did. I managed to achieve this goal.

Objective: to allow authorized users to add new records (register new customers):
I made a form that does allow authorized users to add a new record with ease. When I tested it,
the results for normal data were as I expected, but not abnormal data and extreme data. I tried
adding a record with numbers as the name, address, email id and age with alphabets, and it
worked. This is because the only validation check on those fields was Character type, which
means that numbers can be added also. The systemdidntseeitasabnormaldata or extreme
data, but as normal data. I should have added another validation check to make sure numbers
couldntbeenteredintothosefields.ButIamsurethebankadminsarenotsocarelessto
enter numbers in this area. The function works absolutely fine.

Objective: To provide a deposit money option for staff:


I have successfully created a form which is only accessible by staff and its function is to deposit
money into an account. This allows customers to increase their balance.

Objective: Keeping a proper track of all the transactions made:


Whenever a transaction is made by a customer the tables are automatically updated with
details about the transaction. This makes the work simpler for both customer and employee.
Each transaction has a separate table, hence it is organized and a proper track is being
maintained.

Objective: BLOCKING the account, If user enters the PIN wrong more than 3 times:
I have successfully implemented this Blocking system, and it is really important because it keeps
the account secured, and it can always be re-activated in the bank. Hence, this objective is
done.

Objective: Providing a Staff communication place:


My program can help staff communicate with messages, the admin communication form
enables this feature, and it is useful if staff members want some information. The drawback
withthisfeatureisthat,thisdoesntreallyworkinanetwork,themessagescanbeviewedbut
not simultaneously. So, I only partially met this objective.

Objective: Giving a simple computer generated receipts:


I created an automatic receipt printing system on the screen itself. This gives the customer a
hardcopy of the transaction made, and it be the proof that the transaction is made. I can call this
objective successfully met.

Objective: Providing basic transaction options:


This is the most important thing in this project and this objective is completely done. Without
the options customers cannot perform any transaction. Options Such as Withdrawal,
Transferring money into another account, Balance Inquiry, PIN Change, and Recent
Transactions are present in this Virtual ATM Machine.
Objective: Securing the whole system:
This new system is completely secured. The databases are password protected and without an
authorized access they cannot be accessed. Hence, this is something new for the bank and the
objective is successfully complete.
According to my test results, and using the program by myself, I have to say that the project has
met all of my objectives and has proven to be a complete success. It certainly gives both staff
and customers a more efficient and profitable method of conveying as well as receiving
information. Adding, saving, editing, and deleting records is managed flawlessly and searching
delivers accurate results.

I had asked a few of my friends to try out the program and they had returned a few comments
or suggestions about the program which include:
The user interface could have been easier to use, and adding a record should be
available in the same form
When creating an admin account, other information should be asked as well, including
address, e-mail ID, phone number, first name, etc. for more security and less risk of
hackers
More protection should be provided to the data sources from viruses and any other
predicament that could result in the movement, loss, or damaging of the data from the
database.
Further Improvements:
Taking the suggestions above into consideration, any other further improvements that could be
made may include:
A much more fluid user experience, and if possible, everything should be done in one
form.
A wider gap between admin and users by storing more information about the admin to
prevent any hackers
A member option so users might also have the ability to edit, add, or delete the records.
These further improvements could be taken into consideration and help make the system a
better experience in the near future.

Technical Skill:
While making this project, I have learnt so much in the field of programming as well as
computer science in general. I had learnt how to design a fully database driven application from
the ground up and I had learnt to make the simple changes and correct the unnoticeable
mistakes that really do make a difference in the long run.
I had also acquired many programming skills such as creating public functions, and importing
systems, and also converting images into bytes to be stored in a database. In theory, I had also
learnt a lot of new things such as methods of conversion and how they may benefit the user
and the system or prove to be fatal for both the user as well as the system.
I am very pleased with my newly learned technical skills and I hope I may be able to use them
again in the many years to come.

------------------------------------------- ------------

END OF EVALUATION

-------------------------------------------------------