Software Engineering: Section 3
Software Engineering: Section 3
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
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
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
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
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