0% found this document useful (0 votes)
179 views

Software Engineering: Section 3

The document describes requirements for an ATM system for XYZ Bank. The system must provide functionality across all ATMs and allow customers to perform withdrawals, check balances, and transfers. It must validate cards by checking expiration dates and matching PINs. It will confiscate cards if they are lost, stolen, or an incorrect PIN is entered three times. The system will prompt for a transaction, then check funds and limits for withdrawals before dispensing cash and printing a receipt.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
179 views

Software Engineering: Section 3

The document describes requirements for an ATM system for XYZ Bank. The system must provide functionality across all ATMs and allow customers to perform withdrawals, check balances, and transfers. It must validate cards by checking expiration dates and matching PINs. It will confiscate cards if they are lost, stolen, or an incorrect PIN is entered three times. The system will prompt for a transaction, then check funds and limits for withdrawals before dispensing cash and printing a receipt.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

Software Engineering

SECTION 3
Case Study

 A bank has several automated teller machines (ATMs), which are geographically
distributed and connected via a wide area network to a central server. Each ATM
machine has a card reader, a cash dispenser, a keyboard/display, and a receipt printer.
By using the ATM machine, a customer can withdraw cash from either checking or
savings account, query the balance of an account, or transfer funds from one account
to another. A transaction is initiated when a customer inserts an ATM card into the
card reader. Encoded on the magnetic strip on the back of the ATM card are the card
number, the start date, and the expiration date. Assuming the card is recognized, the
system validates the ATM card to determine that the expiration date has not passed,
that the user-entered PIN (personal identification number) matches the PIN
maintained by the system, and that the card is not lost or stolen. The customer is
allowed three attempts to enter the correct PIN; the card is confiscated if the third
attempt fails. Cards that have been reported lost or stolen are also confiscated.
Case Study

If the PIN is validated satisfactorily, the customer is prompted for a withdrawal,


query, or transfer transaction. Before withdrawal transaction can be approved, the
system determines that sufficient funds exist in the requested account, that the
maximum daily limit will not be exceeded, and that there are sufficient funds
available at the local cash dispenser. If the transaction is approved, the requested
amount of cash is dispensed, a receipt is printed containing information about the
transaction, and the card is ejected. Before a transfer transaction can be approved, the
system determines that the customer has at least two accounts and that there are
sufficient funds in the account to be debited. For approved query and transfer
requests, a receipt is printed and card ejected. A customer may cancel a transaction at
any time; the transaction is terminated and the card is ejected. Customer records,
account records, and debit card records are all maintained at the server.
Case Study

 An ATM operator may start up and close down the ATM to replenish the ATM
cash dispenser and for routine maintenance. It is assumed that functionality to
open and close accounts and to create, update, and delete customer and debit card
records is provided by an existing system and is not part of this problem.
 ATM: Automated Teller Machine
 PIN: Personal Identification Number
4. Specific Requirements 5

1. The XYZ Bank Inc. can have many automated teller


machines (ATMs), and the new software system shall
provide functionality on all ATMs.

2. The system shall enable the customers of XYZ Bank


Inc., who have valid ATM cards, to perform three types
of transactions; 1) withdrawal of funds, 2) Query of
account balance, and 3) transfer of funds from one bank
account to another account in the same bank.
Specific Requirements 6

3. An ATM card usage shall be considered valid if it meets


the following conditions:
a) The card was issued by an authorized bank.
b) The card is used after the start date, i.e., the date when the card
was issued.
c) The card is used before the expiration date, i.e., the date when
the card expires.
d) The card has not been reported lost or stolen by the customer,
who had been issued that card.
e) The customer provides correct personal identification number
(PIN), which matches the PIN maintained by the system.
4. Specific Requirements 7

4. The system shall confiscate the ATM card if it


detects that a lost or stolen card has been inserted
by a customer. The system shall also display an
apology to the customer.
5. The system shall allow the customer to enter the
correct PIN in no more three attempts. The
failure to provide correct PIN in three attempts
shall result in the confiscation of the ATM card.
4. Specific Requirements 8

6. The system shall ask for the transaction type


after satisfactory validation of the customer PIN.
The customer shall be given three options:
withdrawal transaction, or query transaction, or
transfer transaction.
7. If a customer selects withdrawal transaction, the
system shall prompt the customer to enter
account number and amount to be dispensed.
4. Specific Requirements 9

8. For a withdrawal transaction, the system shall determine that


sufficient funds exist in the requested account, that the maximum
daily limit has not be exceeded, and that there are sufficient funds
available at the local cash dispenser.
4. Specific Requirements 10

9. If a withdrawal transaction is approved, the


requested amount of cash shall be dispensed, a
receipt shall be printed containing information
about the transaction, and the card shall be
ejected. The information printed on the receipt
includes transaction number, transaction type,
amount withdrawn, and account balance.
4. Specific Requirements 11

10. If a customer selects query transaction, the


system shall prompt the customer to enter
account number.
11. If a query transaction is approved, the system
shall print a receipt and eject the card. The
information contained on the receipt includes
transaction number, transaction type, and
account balance.
4. Specific Requirements 12

12. If a customer selects transfer transaction, the


system shall prompt the customer to enter from
account number, to account number, and amount
to be transferred.
13. The system shall check if there are enough funds
available in the from account, which are being
requested for transfer to the to account.
4. Specific Requirements 13

14. If the transfer transaction is approved, a receipt


shall be printed and card shall be ejected. The
information printed on the receipt includes
transaction number, transaction type, amount
transferred, and account balance.
15. The system shall cancel any transaction if it has
not been completed if the customer presses the
Cancel button
4. Specific Requirements 14

16. The customer records, account records, and debit


card records will all be maintained at the server
and shall not be the responsibility of the system.
17. The system shall enable an ATM operator to
shutdown or start up an ATM for routine
maintenance.
4. Specific Requirements 15

18. The system shall enable an ATM operator to add


cash to the cash dispenser.
19. The system shall not be responsible for opening
or closing of accounts, and to create, update, and
delete customer and debit card records. These
tasks are performed elsewhere by a bank.
4. Specific Requirements 16

20. The system shall be linked with the bank server


through communication systems, which are
beyond the scope of the current system. It is
assumed that this facility is always available.
21. The system shall not be responsible for the
maintenance of the hardware devices of the ATM
or network facilities.
System Requirements

 Includes all system features requested by the customer.


Identifier Priority Requirement
REQ1 2 The system shall provide functionality on all ATMs.
REQ2 5 The system shall check the validity of inserted card ( authorized card, start
date, expiration date, not lost or stolen , the provided pin code matches the
code provided by the system)
REQ3 2 The system shall confiscate the card (if it detects that the card is stolen or a lost
card or it’ll be confiscated it the user entered wrong pin more than 3 times)

REQ4 5 The system shall ask for or the transaction type after satisfactory validation of
the customer PIN.
REQ5 4 The system shall provide types of transactions; 1) withdrawal of funds, 2)
Query of account balance, and 3) transfer of funds from one bank account to
another account in the same bank.

REQ6 5 For withdrawal transaction , the system shall prompt the customer to enter
account number and amount to be dispensed
REQ7 5 For withdrawal transaction, the system shall determine that sufficient funds
exist in the requested account, that the maximum daily limit has not be
exceeded, and that there are sufficient funds available at the local cash
dispenser.
Identifier Priority Requirement
REQ8 4 For withdrawal transaction, if the withdrawal transaction accepted the system
shall dispense the requested amount, print a receipt for the customer, eject the
card.

REQ9 5 For Query transaction, the system shall prompt the user to enter account number.
REQ10 5 For Query transaction, if the account number approved the system shall print a
receipt for the customer and eject the card.
REQ11 5 For transfer transaction, the system shall prompt the customer to enter from
account number, to account number, and amount to be transferred
REQ12 5 For transfer transaction, The system shall check if there are enough funds
available in the from account, which are being requested for transfer to the to
account.

REQ13 4 For transfer transaction, If the transfer transaction is approved the system shall
print a receipt for the customer and eject the card.
REQ14 5 The system shall cancel any transaction if the customer presses the Cancel button
Identifier Priority Requirement

REQ15 4 The system shall enable an ATM operator to shutdown or start up an ATM for
routine maintenance

REQ16 5 The system shall enable an ATM operator to add cash to the cash dispenser.

REQ17 2 The system shall be linked with the bank server through communication systems,
which are beyond the scope of the current system.
User stories

 Focus on user benefits.


Identifier User story size

ST-1 As an authorized customer, I can withdraw a valid amount of money. 6pt

ST-2 As an authorized customer , I can Query of my account balance. 4pt

ST-3 As an authorized customer, I can transfer a valid funds from one account to another in 6pt
the same bank.
ST-4 The card should be validated before any transaction. 2pt

ST-5 As an operator , I can start-up The ATM machine. 3pt

ST-6 As an operator , I can shutdown the ATM machine. 3pt

ST-7 As an operator , I can add cash to cash dispenser. 2pt


Time and effort estimation

 Team velocity : how much points they can do per day.


 Assume that our team can do 2 points per 1 day. Then:
 2 points = 1 day
 4 points = 2 days
 3 points = 1.5 days
 6 points = 3 days
Work backlog “prioritized by customer”
Work User story Iteration no. Estimated work duration
items
1) ST-4 Iteration 1 2pt ( 1 day )
Card validation

2) ST-2 Iteration 1 4pt ( 2 days )


Query account
3) ST-1 Iteration 2 6pt ( 3 days )
Withdraw transaction
4) ST-3 Iteration 2 6pt ( 3 days)
Transfer balance
5) ST-5 Iteration 3 3pt ( 1.5 day)
ATM start-up
6) ST-6 Iteration 3 3pt (1.5 day)
ATM shutdown
7) ST-7 Iteration 3 2pt (1 day )
Add cash to ATM
To calculate project duration


Total work size =  points-for-story i (i = 1..N)
 For our case study:
 Total work size = 2+ 4 +6 + 6 + 3 +3 + 2 = 26 point.
 Project duration = Path size
Travel velocity
 = 26 / 2 = 13 day

You might also like