blob: 50b8988b1d28607d6dca15ed21f60e8fe6aec160 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:GuidanceDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.6/uma.ecore" xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmlns:rmc="http://www.ibm.com/rmc" rmc:version="7.5.1" xmi:id="-qq-9Brh5oa6H3lsdp-m8mQ" name=",_JLOiIMNvEdu2IdAIaWZyAw" guid="-qq-9Brh5oa6H3lsdp-m8mQ" changeDate="2009-08-05T09:49:49.000-0700" version="7.2.0">
<mainDescription>&lt;h3>&#xD;
1 Brief Description&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
This use case describes how the Bank Customer uses the ATM to withdraw money to his/her bank account.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
2 Actors&#xD;
&lt;/h3>&#xD;
&lt;h4>&#xD;
2.1 Bank Customer&#xD;
&lt;/h4>&#xD;
&lt;h4>&#xD;
2.2 Bank&#xD;
&lt;/h4>&#xD;
&lt;h3>&#xD;
3 Preconditions&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
There is an active network connection to the Bank.&lt;br />&#xD;
&lt;br />&#xD;
The ATM has cash available.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
4 Basic Flow of Events&#xD;
&lt;/h3>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
&lt;p>&#xD;
1. The use case begins when Bank Customer inserts their Bank Card.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
2. Use Case: Validate User is performed.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
3. The ATM displays the different alternatives that are available on this unit. [See Supporting Requirement SR-xxx&#xD;
for list of alternatives]. In this case the Bank Customer always selects &quot;Withdraw Cash&quot;.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
4. The ATM prompts for an account. See Supporting Requirement SR-yyy for account types that shall be supported.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
5. The Bank Customer selects an account.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
6. The ATM prompts for an amount.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
7. The Bank Customer enters an amount.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
8. Card ID, PIN, amount and account is sent to Bank as a transaction. The Bank Consortium replies with a go/no go&#xD;
reply telling if the transaction is ok.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
9. Then money is dispensed.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
10. The Bank Card is returned.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
11. The receipt is printed.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
12. The use case ends successfully.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;h3>&#xD;
5 Alternative Flows&#xD;
&lt;/h3>&#xD;
&lt;h4>&#xD;
5.1 Invalid User&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
If in step 2 of the basic flow Bank Customer the use case: Validate User does not complete this successfully, then&#xD;
&lt;/p>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
&lt;p>&#xD;
1. The use case ends with a failure condition.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;h4>&#xD;
5.2 Wrong account&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
If in step 8 of the basic flow the account selected by the Bank Customer is not associated with this bank card, then&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
1. The ATM shall display the message &quot;Invalid Account – please try again&quot;.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
2. The use case resumes at step 4.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
5.3 Wrong amount&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
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&#xD;
(See Special Requirement WC-1 for valid amounts), then&#xD;
&lt;/p>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
&lt;p>&#xD;
1. The ATM shall display a the message indicating that the amount must be a multiple of the bills on hand, and ask&#xD;
the Bank Customer to reenter the amount.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
2. The use case resumes at step 7.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;h4>&#xD;
5.4 Amount Exceeds Withdrawal Limit&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
If in step 7 in the basic flow, the Bank Customer enters an amount that exceeds the withdrawal limit (See Special&#xD;
Requirement WC-2 for maximum amount), then&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
1. the ATM shall display a warning message, and ask the Bank Customer to reenter the amount&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
2. The use case resumes at step 7&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
5.5 Amount Exceeds Daily Withdrawal Limit&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
If in step 8 in the basic flow, the Bank response indicates the daily withdrawal limit has been exceeded (this is&#xD;
determined by the Bank and depends upon the specific account), then&#xD;
&lt;/p>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
&lt;p>&#xD;
1. The ATM shall display a warning message, and ask the Bank Customer to reenter the amount.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
2. The use case resumes at step 7.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;h4>&#xD;
5.6 Insufficient Cash&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
If in step 7 in the basic flow, the Bank Customer enters an amount that exceeds the amount of cash available in the&#xD;
ATM, then&#xD;
&lt;/p>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
&lt;p>&#xD;
1. The ATM will display a warning message, and ask the Bank Customer to reenter the amount.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
2. The use case resumes at step 7.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;h4>&#xD;
5.7 No Response from Bank&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
If in step 8 of the basic there is no response from the Bank within 3 seconds, then&#xD;
&lt;/p>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
&lt;p>&#xD;
1. The ATM will re-try, up to three times.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
2. If there is still no response from the Bank, the ATM shall display the message &quot;Network unavailable – try again&#xD;
later&quot;.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
3. The ATM shall return the card.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
4. The ATM shall indicate that it is &quot;Closed&quot;.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
5. The use case ends with a failure condition.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;h4>&#xD;
5.8 Money Not Removed&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
If in step 9 of the basic flow the money is not removed from the machine within 15 seconds, then&#xD;
&lt;/p>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
&lt;p>&#xD;
1. the ATM shall issue a warning sound and display the message &quot;Please remove cash&quot;.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
2. If there is still no response from the Bank Customer within 15 seconds the ATM will re-tract the money and note&#xD;
the failure in the log.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
3. the use case end with a failure condition.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;h4>&#xD;
5.9 Quit&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
If at point prior to step 8 in the basic flow the Bank Customer selects Quit, then&#xD;
&lt;/p>&#xD;
&lt;blockquote dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>&#xD;
&lt;p>&#xD;
1. The ATM shall print a receipt indicating the transaction was cancelled.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
2. The ATM shall return the card.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
3. The use case ends.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;h3>&#xD;
6 Key Scenarios&#xD;
&lt;/h3>&#xD;
&lt;h4>&#xD;
6.1 No Response from Bank&#xD;
&lt;/h4>&#xD;
&lt;h3>&#xD;
7 Post-conditions&#xD;
&lt;/h3>&#xD;
&lt;h4>&#xD;
7.1 Successful Completion&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
The user has received their cash and the internal logs have been updated.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
7.2 Failure Condition&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
The logs have been updated accordingly.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
8 Special Requirements&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
[SpReq:WC-1] The ATM shall dispense cash in multiples of $20.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
[SpReq2:WC-2] The maximum individual withdrawal is $500.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
[SpReq:WC-1] The ATM shall keep a log, including date and time, of all complete and incomplete transactions with the&#xD;
Bank.&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:GuidanceDescription>