16

Use Case ATM

Embed Size (px)

DESCRIPTION

Use caSE

Citation preview

Page 1: Use Case ATM
Page 2: Use Case ATM

Transaction Use Case

Note: Transaction is an abstract generalization. Each specific concrete type of transaction implements certain operations in the appropriate way. The flow of events given here describes the behavior common to all types of transaction. The flows of events for the individual types of transaction (withdrawal, deposit, transfer, inquiry) give the features that are specific to that type of transaction.

A transaction use case is started within a session when the customer chooses a transaction type from a menu of options. The customer will be asked to furnish appropriate details (e.g. account(s) involved, amount). The transaction will then be sent to the bank, along with information from the customer's card and the PIN the customer entered.

Page 3: Use Case ATM

If the bank approves the transaction, any steps needed to complete the transaction (e.g. dispensing cash or accepting an envelope) will be performed, and then a receipt will be printed. Then the customer will be asked whether he/she wishes to do another transaction.

If the bank reports that the customer's PIN is invalid, the Invalid PIN extension will be performed and then an attempt will be made to continue the transaction. If the customer's card is retained due to too many invalid PINs, the transaction will be aborted, and the customer will not be offered the option of doing another.

If a transaction is cancelled by the customer, or fails for any reason other than repeated entries of an invalid PIN, a screen will be displayed informing the customer of the reason for the failure of the transaction, and then the customer will be offered the opportunity to do another.

The customer may cancel a transaction by pressing the Cancel key as described for each individual type of transaction below.

All messages to the bank and responses back are recorded in the ATM's log.

Page 4: Use Case ATM

Withdrawal Transaction Use Case

A withdrawal transaction asks the customer to choose a type of account to withdraw from (e.g. checking) from a menu of possible accounts, and to choose a dollar amount from a menu of possible amounts. The system verifies that it has sufficient money on hand to satisfy the request before sending the transaction to the bank. (If not, the customer is informed and asked to enter a different amount.) If the transaction is approved by the bank, the appropriate amount of cash is dispensed by the machine before it issues a receipt. (The dispensing of cash is also recorded in the ATM's log.)

A withdrawal transaction can be cancelled by the customer pressing the Cancel key any time prior to choosing the dollar amount.

Page 5: Use Case ATM

Cash Withdrawl Transaction Use Case

A cash withdrawl transaction is started from within a session when the customer chooses cash withdrawl from the menu of possible transaction types. The customer chooses a type of account to withdraw from (e.g. checking) from a menu of possible accounts, and then chooses a dollar amount from a menu of possible amounts. The system verifies that it has sufficient money on hand to satisfy the request. If not, it reports a failure to the session, which initiates the Failed Transaction Extension to report the problem. If there is sufficient cash, it sends the customer's card number, PIN, chosen account and amount to the bank, which either approves or disapproves the transaction. If the transaction is approved, the machine dispenses the correct amount of cash and issues a receipt. If the transaction is disapproved due to an incorrect PIN, the Incorrect PIN extension is executed. All other disapprovals are reported to the session, which initiates the Failed Transaction Extension. The bank is notified whether or not an approved transaction was completed in its entirety by the machine; if it is completed then the bank completes debiting the customer's account for the amount.

Deposit Transaction Use Case

A deposit transaction asks the customer to choose a type of account to deposit to (e.g. checking) from a menu of possible accounts, and to type in a dollar amount on the keyboard. The transaction is initially sent to the bank to verify that the ATM can accept a deposit from this customer to this account. If the transaction is approved, the machine accepts an envelope from the customer containing cash and/or checks before it issues a receipt. Once the envelope has been received, a second message is sent to the bank, to confirm that the bank can credit the customer's account - contingent on manual verification of the deposit envelope contents by an operator later. (The receipt of an envelope is also recorded in the ATM's log.)

A deposit transaction can be cancelled by the customer pressing the Cancel key any time prior to inserting the envelope containing the deposit. The transaction is automatically cancelled if the customer fails to insert the envelope containing the deposit within a reasonable period of time after being asked to do so.

Page 6: Use Case ATM

Deposit Transaction Use Case

A deposit transaction is started from within a session when the customer chooses deposit from the menu of possible transaction types. The customer chooses a type of account to deposit to (e.g. checking) from a menu of possible accounts, and then chooses a dollar amount by typing it on the keyboard. The system sends the customer's card number, PIN, chosen account and amount to the bank, which either approves or disapproves the transaction. If the transaction is approved, the machine accepts an envelope from the customer containing cash and/or checks and then issues a receipt. (If the customer does not insert the envelope within a specified period of time, this operation times out and the deposit transaction is aborted.) If the transaction is disapproved due to an incorrect PIN, the Incorrect PIN extension is executed. All other disapprovals are reported to the session, which initiates the Failed Transaction Extension. The bank is notified whether or not an approved transaction was completed

Page 7: Use Case ATM

in its entirety by the machine; if it is completed then the bank completes crediting the customer's account for the amount - contingent on manual verification of the deposit envelope contents by an operator later.

Transfer Transaction Use Case

A transfer transaction asks the customer to choose a type of account to transfer from (e.g. checking) from a menu of possible accounts, to choose a different account to transfer to, and to type in a dollar amount on the keyboard. No further action is required once the transaction is approved by the bank before printing the receipt.

A transfer transaction can be cancelled by the customer pressing the Cancel key any time prior to entering a dollar amount.

Page 8: Use Case ATM

Transfer Transaction Use Case

A transfer transaction is started from within a session when the customer chooses transfer from the menu of possible transaction types. The customer chooses a type of account to transfer from (e.g. checking) from a menu of possible accounts, chooses a different account to transfer to, and then chooses a dollar amount by typing it on the keyboard. The system sends the customer's card number, PIN, chosen account and amounts to the bank, which either approves or disapproves the transaction. If the transaction is approved, the machine issues a receipt. If the transaction is disapproved due to an incorrect PIN, the Incorrect PIN extension is executed. All other disapprovals are reported to the session, which initiates the Failed Transaction Extension. The bank will consider the transaction complete once it has been approved.

Inquiry Transaction Use Case

An inquiry transaction asks the customer to choose a type of account to inquire about from a menu of possible accounts. No further action is required once the transaction is approved by the bank before printing the receipt.

An inquiry transaction can be cancelled by the customer pressing the Cancel key any time prior to choosing the account to inquire about.

Page 9: Use Case ATM

Invalid PIN Extension

An invalid PIN extension is started from within a transaction when the bank reports that the customer's transaction is disapproved due to an invalid PIN. The customer is required to re-enter the PIN and the original request is sent to the bank again. If the bank now approves the transaction, or disapproves it for some other reason, the original case is continued; otherwise the process of re-entering the PIN is repeated. Once the PIN is successfully re-entered, it is used for both the current transaction and all subsequent transactions in the session. If the customer fails three times to enter the correct PIN, the card is permanently retained, a screen is displayed informing the

Page 10: Use Case ATM

customer of this and suggesting he/she contact the bank, and the entire customer session is aborted.

Page 11: Use Case ATM

1 Brief Description

This use case describes how the Bank Customer uses the ATM to withdraw money to his/her bank account.

2 Actors

2.1 Bank Customer

2.2 Bank

3 Preconditions

There is an active network connection to the Bank.

The ATM has cash available.

4 Basic Flow of Events

1. The use case begins when Bank Customer inserts their Bank Card.

2. Use Case: Validate User is performed.

3. The ATM displays the different alternatives that are available on this unit. [See Supporting Requirement SR-xxx for list of alternatives]. In this case the Bank Customer always selects "Withdraw Cash".

4. The ATM prompts for an account. See Supporting Requirement SR-yyy for account types that shall be supported.

5. The Bank Customer selects an account.

6. The ATM prompts for an amount.

7. The Bank Customer enters an amount.

8. Card ID, PIN, amount and account is sent to Bank as a transaction. The Bank Consortium replies with a go/no go reply telling if the transaction is ok.

9. Then money is dispensed.

10. The Bank Card is returned.

11. The receipt is printed.

12. The use case ends successfully.

5 Alternative Flows

5.1 Invalid User

Page 12: Use Case ATM

If in step 2 of the basic flow Bank Customer the use case: Validate User does not complete this successfully, then

1. The use case ends with a failure condition.

5.2 Wrong account

If in step 8 of the basic flow the account selected by the Bank Customer is not associated with this bank card, then

1. The ATM shall display the message "Invalid Account – please try again".

2. The use case resumes at step 4.

5.3 Wrong amount

If in step 7 in the basic flow, the Bank Customer enters an amount that can't be 'created' with the kind of in the ATM (See Special Requirement WC-1 for valid amounts), then

1. The ATM shall display a the message indicating that the amount must be a multiple of the bills on hand, and ask the Bank Customer to reenter the amount.

2. The use case resumes at step 7.

5.4 Amount Exceeds Withdrawal Limit

If in step 7 in the basic flow, the Bank Customer enters an amount that exceeds the withdrawal limit (See Special Requirement WC-2 for maximum amount), then

1. the ATM shall display a warning message, and ask the Bank Customer to reenter the amount

2. The use case resumes at step 7

5.5 Amount Exceeds Daily Withdrawal Limit

If in step 8 in the basic flow, the Bank response indicates the daily withdrawal limit has been exceeded (this is determined by the Bank and depends upon the specific account), then

1. The ATM shall display a warning message, and ask the Bank Customer to reenter the amount.

2. The use case resumes at step 7.

5.6 Insufficient Cash

If in step 7 in the basic flow, the Bank Customer enters an amount that exceeds the amount of cash available in the ATM, then

1. The ATM will display a warning message, and ask the Bank Customer to reenter the amount.

2. The use case resumes at step 7.

Page 13: Use Case ATM

5.7 No Response from Bank

If in step 8 of the basic there is no response from the Bank within 3 seconds, then

1. The ATM will re-try, up to three times.

2. If there is still no response from the Bank, the ATM shall display the message "Network unavailable – try again later".

3. The ATM shall return the card.

4. The ATM shall indicate that it is "Closed".

5. The use case ends with a failure condition.

5.8 Money Not Removed

If in step 9 of the basic flow the money is not removed from the machine within 15 seconds, then

1. the ATM shall issue a warning sound and display the message "Please remove cash".

2. If there is still no response from the Bank Customer within 15 seconds the ATM will re-tract the money and note the failure in the log.

3. the use case end with a failure condition.

5.9 Quit

If at point prior to step 8 in the basic flow the Bank Customer selects Quit, then

1. The ATM shall print a receipt indicating the transaction was cancelled.

2. The ATM shall return the card.

3. The use case ends.

6 Key Scenarios

6.1 No Response from Bank

7 Post-conditions

7.1 Successful Completion

The user has received their cash and the internal logs have been updated.

7.2 Failure Condition

The logs have been updated accordingly.

Page 14: Use Case ATM

8 Special Requirements

[SpReq:WC-1] The ATM shall dispense cash in multiples of $20.

[SpReq2:WC-2] The maximum individual withdrawal is $500.

[SpReq:WC-1] The ATM shall keep a log, including date and time, of all complete and incomplete transactions with the Bank.