Outcomes Addressed

Overview

Design a solution for the following problem using the Iconix design process. Use Enterprise Architect (EA) to capture your Domain model, class diagram and sequence diagrams. Robustness diagrams may be created on paper or in EA. After you have iterated over your design several times and you believe it to be complete, use the EA code generation feature to generate Java code for your design.

You should work with a partner.

Problem Statement

An Automated Teller Machine (ATM) provides bank customers with remote access to their checking and savings accounts. The ATM allows customers to:

In order to use the services of the ATM, the customer must first login to the account by providing his account name and a Personal Identification Number (PIN).

GUI Prototypes







Use Cases

UC 01: User logs into ATM

1. System displays user login form.
2. User enters user ID and PIN.
3. System logs user into ATM and displays user action menu.
Extensions:
2a. User enters invalid user ID and/or PIN; system displays error message; return step 1.

UC 02: User logs off ATM

Pre-condition: User has successfully logged into the ATM.
1. User selects menu item "Log off" from user action menu.
2. System logs user off of ATM and returns to the user login form.

UC 03: User balance inquiry

Pre-condition: User has successfully logged into the ATM.
1. User selects menu item "Balance inquiry" from user action menu.
2. System displays balance inquiry form.
3. User clicks account selection button for checking or savings account.
4. System displays account balance and prompt ("Click OK when complete.")
5. User clicks OK.
6. System returns to the user action menu.
Extensions:
3a. User cancels. Terminate use case.

UC 04: User makes a deposit

Pre-condition: User has successfully logged into the ATM
1. User selects menu item "Make deposit to account" on user action menu.
2. System displays user deposit form.
3. User enters deposit amount and clicks account selection button for checking or savings account.
4. System prompts user to insert deposit envelope into machine ("Click OK when deposit envelope has been inserted into the machine.").
5. User inserts deposit envelope and clicks OK.
6. System displays message to confirm deposit ("Click OK to continue").
7. User clicks OK.
8. System returns to the user action menu.
Extensions:
3a. User cancels. Terminate use case.
3b. User enters invalid deposit amount; error message displayed; return to step 2.
5a. User cancels. Terminate use case.
5b. User does not insert envelope; error message displayed; return to step 4.

UC 05: User withdraws funds

Pre-condition: User has successfully logged into the ATM.
1. User selects menu item "Withdraw cash from an account" on user action menu.
2. System displays user withdrawal form.
3. User enters withdrawal amount and clicks account selection button for checking or savings account.
4. System displays message to confirm withdrawal ("Click OK to continue").
5. User clicks OK.
6. System dispenses cash.
7. User takes cash.
8. System returns to the user action menu.
Extensions:
3a. User cancels. Terminate use case.
3b. User enters invalid withdrawal amount; error message displayed; return to step 3.
3c. User enters amount larger than valid withdrawal amount; error message displayed; return to step 3.
5a. User cancels. Terminate use case.
7a. User doesn't take cash in specified period; error message displayed; cash collected by ATM. Terminate user case.

Lab report (due 11:00pm, the day prior to week 3 lab)

You are required to log all the time spent on this assignment (for week 2) in the FAST system.

Here is a template file to use as a starting point for this report.

Note: All .png images should use the following naming convention:
      2811MSOEloginL2x.png
where MSOElogin is the login name for one of the team members and x is a letter.

The lab report (one report for each team) should consist of the following:

As with any report you submit, correct spelling and grammar are required. In addition, your report should be submitted electronically following the Electronic submission guidelines. (You may wish to consult the XML help video and/or sample report before submitting your report.) Be sure to keep copies of all your files, in case something gets lost.

Acknowledgment

This laboratory was developed by Dr. Patrick Schroeder.