Software Requirement Specification For ATM: 1. Cash Deposit

You might also like

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

Software Requirement Specification for ATM

1. Introduction
1.1. Introduction:
An ATM, which stands for Automated Teller Machine, is a specialized computer that
makes it convenient to manage a bank account holder's funds. It allows a person to check account
balances, withdraw or deposit money, print a statement of account activities or transactions, and
even purchase stamps.

1.2. Purpose:
The purpose of this SRS is to specify the requirements in order to build an Automated
Teller Machine with external interface, software products and intractable menus. The intended
group of people for this document is:

1. The developer
2. The management of Bank
3. The document writer
4. The tester

1.3. Scope:
This document applies to Automated Teller Machine or ATM. This specification is not
concerned with every user and only with the initial testers.
This ATM software facilitates user to access banking services without going to the bank. This
ATM provides benefits such as Cash Withdrawal, Cash deposit, Pin Change, Balance Enquiry,
Balance Transfer, etc. without going to the bank. This specification is not concerned with any of
the depositor with any other bank’s account other than the bank that owns the ATM.
The goal of this ATM is to make an easy pathway for users and bank at the same time.

1.4. Services to customers:


1. Cash Deposit
• The user can enter any notes of currency from 100 to 2000 in order to deposit cash
through the slot provided.
2. Cash Withdrawal
• The user can enter the amount of money he/she wants to withdraw from the bank
account. A verification of the account balance and limit is performed.
3. Balance Check
• The user can check the amount of money/ bank balance available in his/her account
with this ATM.
4. Money Transfer
• The user can transfer money from his/her bank account to the entered bank account just
by entering account number, phone number of beneficiary and the amount to be
transferred.
5. Pin Change
• The user can change his/her ATM Card’s PIN number.

2. Overall Description
2.1. Product perspective:

• The ATM is a functional machine consisting of many components in order to perform


different functions.
• This software allows the user to access their bank accounts remotely through an ATM
without any aid of human bank teller.
• This software also allows performing various other functions apart from just accessing
his/her bank account such as PIN Change etc.
• Some of its hardware components are cassettes, memory, drives, dispensers i.e., for
receipts and cash, a card reader, printer, switches, a console, a networking port and
disks.
• The ATM communicates with the bank’s main server through a communication link.

2.2. Product features:


ATM provides following features to the user:
• Language Selection: The user has the freedom to select preferred language in
which the user would like to operate the machine. The whole process of any
banking service chosen will be performed in this language.
• Help Section: A first time user or someone who is using the ATM after a long time
can use this section to access information and tutorials on how to operate the
software in order to perform the desirable task.
• Account Activities: The user can choose from any of the following activities to
perform:
➢ Account type: The user can choose their account type in order to let the
software know the type of account the user wants to go with for further
activities.
➢ Amount: The amount to be withdrawn/deposited is mentioned by the user.
➢ Withdraw/Deposit: The ATM provides option for the user to choose
whether he/she wants to withdraw or deposit cash from his/her account.
➢ Withdrawal: The user can withdraw cash as preferred after a check is
performed whether the user has enough account balance.
➢ Deposit: The user can deposit any number of cash/notes until and unless it
doesn’t exceed the guidelines set by the bank.
➢ Denominations: The user can withdraw/deposit preferred denominations
by entering them before withdrawal/depositing process.
➢ PIN Change: The ATM provides option for user to change his/her ATM
Card PIN number straight from the ATM.
➢ Bank Transfer: The ATM provides an option to transfer funds from one
account to another with just the Beneficiary’s account details.
➢ Balance Enquiry: The user can check the amount of funds remaining in
his/her account after a transaction or through a completely separate
process.
• Billing: The B&W printer installed in the hardware of the system generates a
receipt every time a successful transaction is carried out. The receipt contains
user’s account details (with the account number coded like xxxxxxxxxx00).
• Cancelling: A cancel key is placed on the keypad for the user to cancel whole
transaction process with just one click.

2.3. Design and implementation constraints:


The major constraints that the project has are as follows:

• Only one person must be serviced by the ATM at a time.


• The number of invalid PIN attempt should not exceed three. After three invalid
attempts, the card should be blocked and will need to be unblocked by the bank.
• The minimum withdrawal limit is Rs. 100/- and the maximum limit is Rs. 20,000/-
.
• The minimum deposit limit is Rs. 100/- and the maximum is Rs. 49,000/-.
• The cash withdrawal limit should be Rs. 10,000/-, If any more is to be removed the
user is to be asked for an OTP sent on the phone number connected to the bank
account.
• Denominations below Rs. 100/- notes shall not be excepted.
• There shall be a printer installed in the machine to provide the user with a receipt
of the transaction.
2.4. Assumption and dependencies:
The requirements stated in the SRS could be affected by the following factors:

• One major dependency that the project might face is the changes that need to be
incorporated with the changes in the bank policies regarding different services. As the
policies changes the system needs to be updated with the same immediately. A delay in
doing the same will result to tremendous loss to the bank. So, this should be changed as
and when required by the developer.
• The project could be largely affected if some amount is withdrawn from the user’s account
from the bank at the same time when someone is accessing that account through the ATM
machine. Such a condition shall be taken care of.
• At this stage no quantitative measures are imposed on the software in terms of speed and
memory although it is implied that all functions will be optimized with respect to speed
and memory.

3. System feature
3.1. System feature:
1. Ask the user to insert the ATM Card.
2. When ATM card is entered in the slot, the card should be read, and banking details of the
user must be recognized.
3. Ask the user for the preferred language in which he/she wants to go with throughout the
process.
4. Ask the user if he/she wants to tap into the banking services or not.
5. If not, end the process and display a “Thank You” message.
6. If yes, ask the user for PIN number. Check if the PIN number entered is correct or not. If
correct, let the user enter into the system. If not, display a message “PIN number incorrect.”
and end the process.
7. Ask the user which of the following services does the user want to activate:
➢ Cash Deposit
➢ Cash Withdrawal
➢ PIN Change
➢ Money Transfer
8. If the user selects Cash Deposit option, ask the user if the account is Savings or Current.
Then open the ledge for the user to enter the cash into system. Let the system count the
amount of money and the types of notes entered. Check if the notes are in good condition
and acceptable with respect to RBI’s terms and conditions. If not in good condition return
the damaged notes to the user. If in good condition accept the notes and show the user
amount of money that he/she has put in and ask if the user wants to add more money in or
would like to proceed towards ending the process.
➢ If yes, open the ledge again and repeat the process for cash deposit.
➢ If not, print a receipt with the help of inbuilt printer. User takes the receipt. Display a
message reminding the customer to take their cash and the ATM card out. Display a
“Thank you” message.
9. If the user selects Cash Withdrawal option, ask the user if the account is Savings or Current.
Ask the user to enter the amount of cash that he/she desires. Generate a One Time Password
for an amount greater than 10,000 rupees. Ask the user to enter the OTP and check if the
OTP is correct. If incorrect, display a message “OTP incorrect”. If correct, check if the
amount entered by user is available in the user’s account.
➢ If yes, count the money and assign the notes to be put out by the machine for user to
collect. User collects the money. Print the receipt with the help of printer inbuilt in the
machine. Display a message reminding the customer to take their cash and the ATM
card out. Display a “Thank you” message.
➢ If not, show the user a message saying, “Your account does not have sufficient funds”
and end the process. Display a message reminding the customer to take their cash and
the ATM card out. Display a “Thank you” message.
10. If the user selects PIN change, ask the user for the current PIN. Check if the current PIN
entered is correct.
➢ If yes, ask user to enter a new 4-digit PIN number and update the current PIN number
with the new PIN number.
➢ If no, display a message “PIN number is incorrect.” And end the process displaying a
“Thank you” message.
11. If the user selects Money Transfer option, ask the user for the banking details of the person
the money is to be transferred to. Check if the details are correct.
➢ If correct, ask the user to enter the amount to be transferred. Check the user’s accounts
if sufficient funds are present continue the process to transfer the money and if not,
display a message “Your account does not have sufficient funds.” Either way display a
message reminding user to take the card out of the system.
➢ If incorrect, display a message “The Beneficiary details entered are incorrect.” And
end the process displaying a “Thank you” message.

3.2. Description and priority:


The Automated Teller Machine maintains an account holder’s information while in
process, it helps in convenience of the user. Of course, this project has a high priority because it
makes the cost and time of banks reduce for better functioning.

3.3. Stimuli/Response sequence:


The response/stimulus for different class of users are:
• Display a welcome message.
• User enters account number and PIN number.
• User chooses from the provided service options.
• User collects the receipt for the transaction done.

3.4. Functional requirements:


• The banking system provides services to a large number of users. The system should
identify individual users of the banking system by the account number and account pin.
• The system should be able to perform banking transactions from the main menu that the
user selects at the ATM.
• The system should be able to verify the withdrawals and deposits.
• The system should log out the user to control access the user’s bank account.

3.5. Nonfunctional requirements:


1. Performance Requirements

• It must be able to perform in adverse conditions


• Must have high data transfer rate

2. Safety Requirements

• Must be safe in physical aspect, say in a booth.


• Must be sealed to the floor to prevent any kind of theft.
• There must be a guard just outside the booth for manpower security.

3. Security Requirements

• Users are advised to change their PIN on first use.


• Users are advised not to tell their PIN to anyone.
• The maximum number of attempts to enter PIN are limited to three.

4. Software Quality Attributes

• Easy to learn usage for an ordinary person i.e., within 10 minutes.


• Easy to understand operation from an engineering perspective i.e., one week.
• The system will be down for 30 minutes in each 24-hour cycle.
• System can be easily integrated with bank system.
• Software can be installed on a number of ATMs without affecting current operation status.
• Easy to troubleshoot and maintain in case system fails abruptly.
4. External Interface Required
4.1. User interface:
The interface provided to the user should be a very user-friendly one and it should provide an
optional interactive help for each of the service listed. The interface provided is a menu driven one
and the following screens will be provided: -

1. A login screen is provided in the beginning for entering the required username/pin no. and
account number.
2. An unsuccessful login leads to a reattempt (maximum three) screen for again entering the
same information. The successful login leads to a screen displaying a list of supported
languages from which a user can select anyone.
3. In case of administrator, a screen will be shown having options to reboot system, shut down
system, block system, disable any service.
4. In case of reboot/ shut down, a screen is displayed to confirm the user’s will to reboot and
also allow the user to take any backup if needed.
5. In case of blocking system, a screen is provided asking for the card no. By entering the
card no of a particular user, system access can be blocked for him.
6. Administrator is also provided with a screen that enables him to block any service provided
to the user by entering the name of the service or by selecting it from the list displayed.
7. After the login, a screen with a number of options is then shown to the user. It contains all
the options along with their brief description to enable the user to understand their
functioning and select the proper option.
8. A screen will be provided for user to check his account balance.
9. A screen will be provided that displays the location of all other ATMs of same bank
elsewhere in the city.
10. A screen will be provided for the user to perform various transactions in his account.

The following reports will be generated after each session dealt with in the machine: -

a. The login time and logout time along with the user’s pin no and account number is
registered in the bank’s database.
b. The ATM’s branch ID through which the session is established is also noted down in the
bank’s database.
c. Various changes in the user’s account after the transactions, if any, are reported in the
database.
d. A printed statement is generated for the user displaying all the transactions he performed.
Other various user interface requirements that need to be fulfilled are as follows: -
➢ The display screen shall be of 10" VGA color type.
➢ The display screen shall have 256 color resolution.
➢ The display screen shall also support touch screen facility.
➢ The speakers shall support Yamaha codecs.
➢ The keypad shall consist of 16 tactile keys.
➢ There shall be 8 tactile function keys.
➢ The keyboard will be weather resistant.
➢ The transaction receipt shall be 3.1" × 6". The statement receipt shall be 4.2" × 12".
➢ The deposit envelopes shall be 9" long and 4" wide.

4.2. Software interface:


In order to perform various different functions, this software needs to interact with various other
software. So, there are certain software interface requirements that need to be fulfilled which are
listed as follows: -

• The transaction management software used to manage the transaction and keep track of
resources shall be BMS version 2.0.
• The card management software used to verify pin no and login shall be CMS version 3.0.
• Yamaha codecs 367/98 for active speakers.
• The database used to keep record of user accounts shall be Oracle version7.0.

4.3. Hardware interface:


There are various hardware components with which the machine is required to interact. Various
hardware interface requirements that need to be fulfilled for successful functioning of the software
are as follows: -

• The ATM power supply shall have a 10/220 V AC manual switch.


• The ATM card should have the following physical dimensions: -
➢ Width – 85.47 mm – 85.72 mm
➢ Height – 53.92 mm – 54.03 mm
➢ Thickness – 0.76 mm + 0.08 mm
• The card reader shall be a magnetic stripe reader.
• The card reader shall have Smart card option.
• The slot for a card in the card reader may include an extra indentation for the embossed area of
the card. In effect it acts as a polarization key and may be used to aid the correct insertion
orientation of the card. This is an additional characteristic to the magnetic field sensor which
operates off the magnetic stripe and is used to open a mechanical gate on devices such as ATMs.
• There shall be a 40-column dot matrix receipt printer.
• There shall be a 40-column dot matrix statement printer.
• The receipt dispenser shall be a maximum of 4" width and 0.5" thickness.
• The statement dispenser shall be a maximum of 5" width and 0.5" thickness.
• The envelope depository shall be a maximum of 4.5" width, 10" length and 0.5" thickness.
• Screen resolution of at least 800X600-required for proper and complete viewing of screens.
Higher resolution would not be a problem.

4.4. Communication interface:


The machine needs to communicate with the main branch for each session for various functions
such as login verification, account access etc. so the following are the various communication
interface requirements that are needed to be fulfilled in order to run the software successfully: -

➢ The system will employ dial-up POS with the central server for low-cost communication.
➢ The communication protocol used shall be TCP/IP.
➢ Protocol used for data transfer shall be File Transfer Protocol. (FTP)

5. Definition, Acronyms, and Abbreviations


Account A single account in a bank against which transactions can be applied.
Accounts maybe of various types with at least checking and savings. A
customer can hold more than one account.

ATM An electronic telecommunications device that enables the customers of a


financial institution to perform financial transactions without the need for a
human cashier, clerk or bank teller.
Bank A financial institution that holds accounts for customers and that issues
account numbers and passwords authorizing access to accounts over the
ATM network
Bank computer The computer owned by a bank that interfaces with the ATM network and
the banks own cashier stations. A bank may actually have its own internal
network of computers to process accounts, but we are only concerned with
the one that interacts with the network.
Customer The holder of one or more accounts in a bank. A customer can consist of one
or more Persons or corporations the correspondence is not relevant to this
problem. The same person holding an account at a different bank is
considered a different customer.

Transaction A single integral request for operations on the accounts of a single customer.
We only specified that ATMs must dispense cash, accept cash deposits and
view balance. The ATM does not give a print of these but rather displays
them on the screen.
Database A database is an organized collection of data stored on a computer.

Tactile Special keyboard designed to aid the visually impaired.


Keyboard
6. References
1. www.cusb.ac.in

2. www.google.com

3. Software Engineering & Project Management Lab Manual

4.https://doc.axxonsoft.com/confluence/display/atm70en/Hardware+and+software+requirements

You might also like