Atm in Your Language

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

ATM In Your Language

Group 4
Members: Ana Weaver, Conal McArdle, Congwen Pan, Farhin Hasan and Ragu Govindaraju
Course: SYSTEMS ANALYSIS & PROJECT MANAGEMENT

Professor: Dr. Srinivasan Raghunathan

2014


1
CONTENTS
EXECUTIVE SUMMARY ............................................................................................. 2
Problem statement .......................................................................................................... 2
Current System ............................................................................................................ 2
Proposed Modification To System ............................................................................... 3
Analysis ........................................................................................................................... 4
Context diagram .......................................................................................................... 4
Process Model: Use Case Diagram ............................................................................... 5
Use Case Descriptions .................................................................................................. 6
Data Model: Class Diagram .......................................................................................... 8
Object Behavior Model: Sequence Diagram ............................................................... 10
Data documentation: data structure notation ........................................................... 11
Functional Specification Document ............................................................................ 12
Design ........................................................................................................................... 13
Existing Interface Design ............................................................................................ 13
Proposed Interface Design ......................................................................................... 21
Database Assumptions .............................................................................................. 29
Database Design Entity Relationship Diagram ........................................................ 30
Software Design: Method Specification ..................................................................... 31
Controls ..................................................................................................................... 34
Project Management Deliverables ................................................................................. 35
Project Activities and Allocation of Activities ............................................................. 35
Planned Timeline ....................................................................................................... 36
Execution Timeline .................................................................................................... 37
Project Meetings ....................................................................................................... 38
References ..................................................................................................................... 40


2

EXECUTIVE SUMMARY
Banking transactions via automated teller machines (ATMs) have become exceedingly
commonplace. Banking cards are used each and every day at ATMs; whether by a
consumer managing his finances after work, or by a consumer withdrawing money while
on vacation. People have become dependent and accustomed to the convenience of the
ATM and the ability to access their money and information 24 hours a day, 7 days a week,
anywhere in the world.
Banks too have become dependent on ATMs, but for operating cost reductions and
overall increases in revenue due to ATM transactions fees. A large amount of revenue is
generated from these ATM banking fees since consumers are willing to pay for the ability
to limitlessly access their funds and information. The increase of both online
transactions and ATM transactions keeps banks from having to employee as many tellers,
as in past eras, in order to handle basic banking functionalities. In order to increase the
number of transactions processed at the ATM, banks need to improve the customer
experience; particularly the experience of a customer that is struggling to read and
understand an ATMs banking options that are displayed in a language that is foreign to
the customer.
The scope of this project is to improve the customer experience by freeing the customer
from the constraints of modern day ATMs, and allowing the customer to customize the
language displayed by the ATM; banks will offer a listing of languages from which
customers will choose three from and set them as their preferred ATM languages. In
turn, banks will be able to cut costs globally, as less staff will be needed, and increase
revenues, as the number of automated customer transactions will increase.
PROBLEM STATEMENT
CURRENT SYSTEM
ATMs provide customers with language choices for ATM transactions, but the system is
currently limited to approximately six of the most common languages. In order to
improve the customer experience associated with ATM transactions, whether domestic


3
or international, the system needs to be expanded to support more than the common
languages, especially with the increase of ATM transactions globally.
In order to increase the use of ATMs across all nationalities and countries, the current
system needs to be more robust and allow for a more diverse selection of languages.
Currently, there are roughly 6500 languages in the world, with approximately 4500
languages or dialects being exercised on a regular basis. In order to increase the number
of ATM transactions worldwide and continue the upward success of ATM banking as a
whole, it is imperative that customers be able to truly understand what it is that they are
selecting. By providing customers the ability to pick multiple languages and/or dialects
for use at an ATM, banks are not only giving customers the superior flexibility needed to
travel the world more freely and not carry hard currency, but are also providing a less
painful experience with the institution of banking.
PROPOSED MODIFICATION TO SYSTEM
The proposal would require the banking systems to capture and store the customers
chosen preferred languages. The customer would be able to choose up to three
preferred languages, which are offered by the bank, at the time of opening the account
and the preferred languages would be stored to the customers profile. If the bank does
not offer a language that is preferred by the customer, the customer has the option to
suggest a language not listed by the bank. The bank will run a report every quarter to
see how many and which languages have been suggested by its customers and if there is
an overwhelming demand for a particular language, the bank will add that language into
the system and into the list of preferred languages that customers can choose from. This
gives the customer the ability to use the ATM in any one of the three preferred
languages. The system will also provide the customer the option, at any point in time
during the session, to change the current language they are conducting business in to
one of the other two stored preferred languages.
Non-customer users will have the option to choose any of the languages offered by the
bank in order to broaden the ATM user base and make the transaction more user-
friendly. The system will also provide the non-customer user the option, at any point in
time during the session, to change the current language they are conducting business in
to one of the other bank provided languages.



4
ANALYSIS
CONTEXT DIAGRAM


Figure 1- ATM Context Diagram



5
PROCESS MODEL: USE CASE DIAGRAM

Figure 2- ATM Use Case Diagram


6
USE CASE DESCRIPTIONS







7








8
DATA MODEL: CLASS DIAGRAM

Figure 3 ATM Class Diagram


9

Figure 4 ATM Class Diagram with Methods


10
OBJECT BEHAVIOR MODEL: SEQUENCE DIAGRAM

Figure 6 ATM Sequence Diagram


11
DATA DOCUMENTATION: DATA STRUCTURE NOTATION
Customer = CustomerID + CustomerFirstName + CustomerLastName +
CustPhoneID + CustAddressID
UserProfile = UserProfileID + LanguageID + CustomerID
Languages = LanguageID + NameofLanguage
Account = AccountID + AccountType + AccountNumber + AccountHolderFirstName +
AccountHolderLastName + RoutingNumber + ProfileID
ProfileHistory = ProfHistoryID + ProfileID
TransactionHistory = TransHistoryID + TransactionID
Transaction = TransactionID + ProfileID + AccountID + FunctionID + BeginningBalance +
DateofTransaction + TimeofTransaction + CurrentBalance
CustomerAddress = CustomerAddressID + CustomerID + CustomerMailingAddress1 +
(CustomerMailingAddress2) + CustomerMailingCity + CustomerMailingState +
CustomerMailingZipCode + CustomerPermanentAddress1 +
(CustomerPermanentAddress2) + CustomerPermanentCity + CustomerPermanentState
+ CustomerPermanentZipCode
CustomerPhoneNumber = CustomerPhoneID + CustomerPhoneNumber1 +
(CustomerPhoneNumber2) + CustomerCellNumber + (CustomerWorkNumber) +
(CustomerFaxNumber)
CardInformation = CardID + AccountID + CardNumber + CardHolderFirstName +
CardHolderLastName + CardType + CardExpiryDate + CardSecurityCode + CardPIN
BankFunction = BankFunctionID + AccountID + TypeofBankFunction +
BankFunctionDescription + LanguageTranslation



12
FUNCTIONAL SPECIFICATION DOCUMENT
1. The system will allow the user to access ATM functions in multiple languages.
2. Once users swipe cards on ATM system, it will allow users to change their
profile information, or users will be able to change their preferred languages
at any given time online.
3. Additionally, the system will allow non-customer users to change their default
language. After it is confirmed, all the transactions will be displayed in
updated default language.
4. The system will allow users to switch between their pre-selected 3 different
preferred languages. It will update user profile with updated preferred
language.
5. The system will display all transaction options and process it within the
default language.
6. The system will display all transaction options and process it within the
default language.


13
DESIGN
EXISTING INTERFACE DESIGN

Figure. ATM Interface Welcome Screen Design



14

Figure. ATM Interface Verify Pin Number Screen Design



Figure. ATM Interface Choosing a Transaction Screen Design


15


Figure. ATM Interface Making a Deposit Screen Design

Figure. ATM Interface Making a Payment Screen Design


16


Figure. ATM Interface Changing Your Pin Screen Design

Figure. ATM Interface Print a Statement Screen Design


17



Figure. ATM Interface Making a Transfer between Customer Accounts Screen Design
Figure. ATM Interface Selecting a Transfer Recipient Screen Design


18

Figure. ATM Interface Making a Transfer to Someone Else Screen Design

Figure. ATM Interface Making a Cash Withdrawal Screen Design


19

Figure. ATM Interface Checking Current Balance Screen Design

Figure. ATM Interface Changing Preferred Language for Customers
Screen Design


20

Figure. ATM Interface Changing Preferred Language for Non-Customers
Screen Design

Figure. ATM Interface Sign Out Page Screen Design



21
PROPOSED INTERFACE DESIGN

Figure. ATM Interface Welcome Screen Design

Figure. ATM Interface Verify Pin Number Screen Design


22

Figure. ATM Interface Choosing a Transaction Screen Design

Figure. ATM Interface Making a Deposit Screen Design


23

Figure. ATM Interface Making a Payment Screen Design

Figure. ATM Interface Print a Statement Screen Design


24

Figure. ATM Interface Changing Your Pin Screen Design

Figure. ATM Interface Selecting a Transfer Recipient Screen Design


25

Figure. ATM Interface Making a Transfer between Customer Accounts Screen Design

Figure. ATM Interface Making a Transfer between Customer Accounts Showing Frequency
Options Screen Design


26

Figure. ATM Interface Making a Transfer to Someone Else Screen Design

Figure. ATM Interface Making a Cash Withdrawal Screen Design


27

Figure. ATM Interface Checking Current Balance Screen Design

Figure. ATM Interface Changing Preferred Language for Customers Screen Design


28

Figure. ATM Interface Changing Preferred Language for Non-Customers Screen Design

Figure. Table Showing the Selection of Languages to Choose From


29

Figure. ATM Interface Sign Out Page Screen Design
DATABASE ASSUMPTIONS
1. A phone number table and an address table are connected to a
customer table. This is because a phone number or address can
belong to one or many customers of the bank. For example,
members of the same household would have the same phone
number and address but separate customer profile.
2. A customer chooses preferred languages from the offered
selection, which is stored under a user profile.
3. A customer may change his/her user profile, in which case, the
user profile history table will store all records of changes made to
their profile.
4. A customer has one or more accounts at the bank, which have
debit/credit cards associated with the account.
5. A customer is able to choose an offered bank function to carry out
transactions.
6. A record of all transactions made will be stored in the transaction
history table.





30
DATABASE DESIGN ENTITY RELATIONSHIP DIAGRAM


31
SOFTWARE DESIGN: METHOD SPECIFICATION
1) Method Name: Translate_Function
Class Name: Bank Function
Clients (Consumers): ATM User
Associated Use Cases: Select transaction
Description of Responsibilities: Translate banking functions from default
language to users chosen preferred language for the current session
Arguments Received: User preferred language
Type of Value Returned: Translated ATM function buttons
Pre-Conditions: Bank card authentication and choose preferred language
for the session
Post-Conditions: Bank functions are displayed in users chosen preferred
language for the current session

Pseudo-Code:

Identify the control button id
Pass the id to match the language selected by the customer
Use the language id stored by the update_session_language
Translate the functions to the selected language


2) Method Name: Update_Session_Language
Class Name: Language
Clients (Consumers): ATM User (non-customer)
Associated Use Cases: Change default language
Description of Responsibilities: Display the preferred language the non-
customer chooses for the current session
Arguments Received: User preferred language
Type of Value Returned: Preferred language for current session
Pre-Conditions: Bank card authentication
Post-Conditions: Bank functions are displayed in non-customers
preferred language for the current session

Pseudo-Code:


Identify the control button id
Pass the id to match the language selected by the customer
Store the language id in a session lookup table
Delete this record when the customer log out or after 20 minutes


32
3) Method Name: Get_Card_Info
Class Name: Card Information
Clients (Consumers): ATM User
Associated Use Cases:
Description of Responsibilities: Verify card and PIN are a match
Arguments Received: Card and PIN
Type of Value Returned: Access or denial to account
Pre-Conditions: PIN previously set and stored with a bank
Post-Conditions: Allow user to use card for transactions or reject the PIN
and allow for two more PIN attempts before confiscating card

Pseudo-Code:

Read card data
Pass it to the system and return with pin in memory
When customer enters PIN check against the input
If valid PIN
Proceed to next screen
Else
Set counter
While counter < 3
Give option for customer to enter pin or take card
loop
Lock card in ATM and message Please collect your card from the
banking center
End if

4) Method Name: Update_PIN
Class Name: Card Information
Clients (Consumers): ATM User
Associated Use Cases:
Description of Responsibilities: Change and store the customers PIN
Arguments Received: Old and New PIN
Type of Value Returned: New PIN for customers bank card and non-
customers card
Pre-Conditions: Having a PIN set once card is originally received
Post-Conditions: New PIN is set for card

Pseudo-Code:

Prompt user for current PIN
Prompt user for new pin 2 times


33
Check if the old pin is valid
Check if the two entries of new pin is same
If check returns true
Update the system with the new PIN
Prompt Your PIN changed successfully
else
Prompt Either your old PIN is incorrect or the 2 new PINS are not
matching
Prompt Please try again
End if

5) Method Name: Retrieve_Profile
Class Name: Profile
Clients (Consumers): ATM User (customer only)
Associated Use Cases: Retrieve profile information
Description of Responsibilities: Retrieve the three stored preferred
languages of the customer
Arguments Received: Card, PIN and customers stored preferred
languages
Type of Value Returned: Customers three preferred languages
Pre-Conditions: Being a customer of the bank and previously setting
three preferred languages
Post-Conditions: ATM displays the three preferred languages as available
languages for the current session

Pseudo-Code:

Read card data
Find the profile ID
If profile exists
Find the customer preferred languages using profile ID
Proceed with next options
Else
Prompt You do not have a profile at this time
Prompt Please choose your language for this session
Prompt You can create a profile online or in banking center
End if



34
CONTROLS
1. Rotate the ATM servicers, so that no one person handles the cash
exclusively for a machine over a specified point.
2. Develop an ATM cash audit program where the servicers
machines are randomly inspected onsite and balanced by a
designated two-person audit team at a specified interval. Greater
emphasis and frequency should be with cash-add serviced
machines.
3. Monitoring transactions coming in and going out of deposit
accounts using reports that identify a certain threshold and
history of the activity over a specific time frame.
4. Creating reports that monitor large dollar deposits.
5. Tracking ATM activity based on dollar thresholds over a certain
time frame. Monitoring bill pay transactions with high-velocity or
dollar amount to detect transactions that may be inconsistent
with the nature of a customer's stated business purpose.
6. To verify basic identity, the customer supplies an account or
customer number that was given when the account was opened.
This number must have a PIN associated with it.
7. Systematic lockout by real-time monitoring controls set on the
systems parameters locks a person out after two or more invalid
attempts to access account information or transfer funds.
8. Customer behavior should be tracked to identify suspicious or
out-of-pattern activities. The customer should be contacted if
there is a shift in behavior patterns, while suspicious behavior
should lead immediately to account blocking and customer
contact.
9. The system should have the ability to allow a logged-on customer
to change his or her password at any time, which may hinder a
determined penetration attempt where the fraudster is working
over-time to guess the password.
10. Finally, allowing existing customers to choose between their pre-
selected preferred languages, instead of allowing them to choose
new languages act as a security feature as the fraud perpetrator
may not be familiar with the users chosen language.



35
PROJECT MANAGEMENT DELIVERABLES
PROJECT ACTIVITIES AND ALLOCATION OF ACTIVITIES
Planning Sessions: 02/01, 02/09
Discussion/Problem Solving Sessions: 02/22, 03/16, 03/22
Design Sessions: 03/27, 04/11, 04/20
Review Sessions: 05/04, 05/11
Online Meetings/Conference Calls: 04/04, 05/01, 05/18, 05/10, 05/11

Participants Activities
Ana Weaver Executive Summary, Problem
Statement and subsections, Use-
Case Diagram, Class Diagram,
Review
Conal McArdle Executive Summary, Problem
Statement and subsections,
Sequence Diagrams, Functional
Specification Document, Class
Diagram, Software Design
Congwen Pan Context Diagram, Data Structure
Notation
Farhin Hasan Interface Design, Database Design,
Controls, Project Activities,
Allocation of Activities, Planned
Timeline, Execution Timeline,
Project Meetings
Ragu Govindaraju Generate topics for project,
Brainstorm, Initial Problem
Statement, Functional Specification
Document, Software Design,
Pseudo code, Project
Management ,Complete review
and modification of report


36
PLANNED TIMELINE
Week Task To Be Completed
01/27 02/02 Plan To Meet
02/03 02/09 Brainstorm Project Ideas
02/10 02/16
Finalize Project Idea
02/17 02/23 Submit Problem Statement for Approval
02/24 03/02 Internal Group Deadline: Context Diagram
03/03 03/09 Internal Group Deadline: Class Diagram
03/10 03/16 Internal Group Deadline: Use-Diagram
03/17 03/23 Internal Group Deadline: Sequence Diagram
03/24 03/30 Internal Group Deadline: Data Structure Notation
03/31 04/06 Internal Group Deadline: Interface Design
04/07 04/13 Internal Group Deadline: Database Design
04/14 04/20 Internal Group Deadline: Functional Specification
Document and Controls
04/21 04/27 Internal Group Deadline: Software Design


37
04/28 05/04 Create Project Management Deliverables.
05/05 05/12 Review Week

EXECUTION TIMELINE
Week Task To Be Completed
01/27 02/02 Plan To Meet
02/03 02/09 Brainstorm Project Ideas
02/10 02/16
Brainstorm Project Ideas
02/17 02/23 Brainstorm Project Ideas
02/24 03/02 Finalize Project Idea
03/03 03/09 Context Diagram
03/10 03/16 Class Diagram
03/17 03/23 Use-Diagram and Sequence Diagram
03/24 03/30 Interface Design
03/31 04/06 Interface Design
04/07 04/13 Database Design


38
04/14 04/20 Database Design
04/21 04/27 Data Structure Notation and Functional Specification
Document
04/28 05/04 Software Design, Create Project Management
Deliverables, Controls
05/05 05/12 Review Week

PROJECT MEETINGS
Date 02/01
Reason For
Meeting
Introduction and brainstorm project ideas

Attendees Ana, Conal, Congwen, Farhin, Ragu
Result Generated a few ideas for project
Date 02/09
Reason For
Meeting
Discussed scope of topics
Attendees Ana, Conal, Congwen, Farhin, Ragu
Result Shortened list to 5 ideas
Date 02/22
Reason For
Meeting
Discussed what to put in the problem statement
Attendees Ana, Conal, Congwen, Ragu
Result Finalized problem statement. Ragu types it up and
submits for approval.
Date 03/16
Reason For
Meeting
Project is approved. Discuss further steps.
Attendees Ana, Conal, Congwen, Farhin, Ragu
Result Tasks are allocated to everyone.


39
Date 03/22
Reason For
Meeting
Correcting Use Case and Class Diagrams
Attendees Conal, Congwen, Farhin, Ragu
Result Updated Use Case and Class Diagrams
Date 03/27
Reason For
Meeting
Plan out the Interface and Database design
Attendees Ana, Conal, Congwen, Farhin, Ragu
Result Rough sketch drawn up
Date 04/11
Reason For
Meeting
Correcting Use Case and Sequence Diagrams
Attendees Ana, Conal, Congwen, Farhin, Ragu
Result Updated Use Case and Sequence Diagrams
Date 04/20
Reason For
Meeting
Begin planning report deliverables
Attendees Ana, Conal, Congwen, Farhin, Ragu
Result Deliverable Started
Date 05/11
Reason For
Meeting
Correcting Data Notation and ERD
Attendees Ana, Conal, Congwen, Farhin, Ragu
Result Updated Data Notation and ERD
Date 5/04
Reason For
Meeting
Discuss Functional Specification Document and
Controls
Attendees Ana, Conal, Congwen, Farhin, Ragu
Result Finalized Documents
Date 04/04
Reason For
Meeting
Phone Conference for document clarification
Attendees Ana, Conal, Congwen, Farhin, Ragu


40
Result Clarifications made
Date 05/8
Reason For
Meeting
Group Skype Call Reviewing report together
Attendees Ana, Conal, Congwen, Farhin, Ragu
Result Found corrections to be made
Date 05/10
Reason For
Meeting
GoogleDoc Chat Session Finalizing Deliverarable
Attendees Ana, Conal, Congwen, Farhin, Ragu
Result Document reviewed and updated
Date 05/11
Reason For
Meeting
Phone Conference for document clarification
Attendees Ana, Conal, Congwen, Farhin, Ragu
Result Clarifications made
Date 5/01
Reason For
Meeting
Finalize Database Design
Attendees Ana, Conal, Congwen, Farhin, Ragu
Result Language Chosen: Spanish. Design Ready to Go
REFERENCES
http://www.lowersriskgroup.com/blog/2013/02/04/atm-fraud/
http://en.wikipedia.org/wiki/Automated_teller_machine
http://www.bits.org/publications/fraud/FraudInternetBank0403.pdf
https://people.ok.ubc.ca/bowenhui/310/8-UML.pdf
http://codereview.stackexchange.com/questions/15994/bank-atm-program
http://www.math-cs.gordon.edu/courses/cs211/ATMExample/Code.html
http://c-for-crogrammers.org.ua/ch09lev1sec11.html

You might also like