You are on page 1of 11

SOFTWARE ENGINEERING

SECTION 4
ATM CASE STUDY

• Given the following requirements , try to draw a use-case


diagram to cover all user stories.
Identifi Priority Requirement
er
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
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.
Identifi User story size
er
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 6pt
account to another in 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


ATM – USE CASE DIAGRAM
ATM ACTORS DESCRIPTION

Actor Actor’s Goal Use case name


Customer Enter his card to the system Validate Card - (UC-1)
Customer Withdraw cash Withdraw money – (UC-2)
Customer Query his account information Query my account – (UC-3)
Customer Transfer funds between two available Transfer Funds – (UC-4)
bank accounts.
Operator Start-up the ATM Start-up – (UC-5)

Operator Shutdown The ATM Shutdown ATM – (UC-6)


Operator Add cash to cash dispenser Add cash – (UC-7)
ATM- USE CASE DESCRIPTION

• Next slide
Use Case 1 – ( UC – 1)

Related Requirements REQ1, REQ2, REQ3.

Initiating Actor: Customer

Actor’s Goal: To validate his/her ATM card and PIN code.

Participating Actors:

• The system database contains all the data about ATM cards.
Preconditions:
• The system displays a message to user to enter his/her PIN code.

Postconditions: The system validates the card and the PIN code.

Flow of Events for Main Success Scenario:


1. The customer enter his /her card.
2. The system checks the card validity.
3. If the card is valid , the system shows a message to the user to enter the PIN code.
4. The system sends the pin code to the server to check if it’s valid.
Flow of Events for Extensions (Alternate Scenarios):
2.The card isn’t valid
System eject the card. Or confiscate it if "it's stolen or lost”
4. The entered PIN isn’t correct.
1. System show an error message, ask the user to enter the pin again.
2. The customer enter the pin code.
3. The system sends the pin code to the server to check if it’s valid.
EXERCISE

• Try to describe the second use case (UC-2)- withdraw money

You might also like