[ Intro ]
[ Requirements ]
[ Domain Objects ]
[ Use Cases ]
[ CRC Cards ]
[ Class Diagram ]
[ Class Description Forms ]
[ Operation Description Forms ]
[ Code ]
[ Executable ]
| Responsibility | Collaborator(s) |
|---|---|
| Start up system operation | OperatorPanel |
| Start a session for each customer as he/she arrives | Display CardReader Session |
| Shut down on operator request | OperatorPanel |
| Get PIN from customer | Display Keyboard |
| Get transaction choice from customer | Display Keyboard |
| Ask customer if he/she wants another transaction | Display Keyboard |
| Get account choice from customer | Display Keyboard |
| Get amount choice (from menu) from customer | Display Keyboard |
| Get amount entry (typed in) from customer | Display Keyboard |
| Verify that sufficient cash is available for withdrawl | CashDispenser Display (to report if not) |
| Dispense cash | CashDispenser |
| Accept deposit envelope from customer | Display Envelope Acceptor |
| Issue receipt to customer | ReceiptPrinter |
| Require customer to re-enter PIN | Display Keyboard |
| Inform customer of reason for rejecting a transaction | Display Keyboard |
| Return ATM card to customer | CardReader |
| Permanently retain customer card | Display CardReader |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Check for readable card inserted | |
| Return number read from card | |
| Eject card | |
| Retain card | |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Display "Insert Card" screen | |
| Display "Enter PIN" screen | |
| Display "Choose transaction" screen | |
| Display "Want another transaction?" screen | |
| Display "Choose Account" screen | |
| Display "Choose Amount" screen | |
| Display "Enter Amount" screen | |
| Display "Deposit Envelope" screen | |
| Display "Card unreadable" screen | |
| Display "Not enough cash available" screen | |
| Display "Transaction rejected (by bank)" screen | |
| Display "Invalid PIN - re-enter" screen | |
| Display "Card retained" screen | |
| Clear current message from screen when no longer needed | |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Read PIN | |
| Read transaction choice | |
| Read "Another transaction?" choice | |
| Read account choice | |
| Read amount choice (from menu) | |
| Read amount entry (typed) | |
| Wait for customer to press enter key after reading an error screen | |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Set initial cash on hand at startup | |
| Report cash available | |
| Dispense cash | |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Accept envelope | |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Print receipt | |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Indicate state of on-off switch | |
| Get initial cash on hand from operator | |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Perform session use case | ATM Transaction |
| Perform invalid PIN extension | ATM Bank |
| Furnish card number to Transaction | |
| Furnish PIN to Transaction | |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Perform a particular transaction use case |
WithdrawlTransaction DepositTransaction TransferTransaction InquiryTransaction Session Bank |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Get specifics from customer | ATM |
| Send to bank | Session Bank |
| Dispense cash, issue receipt, and notify bank when complete |
ATM Bank |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Get specifics from customer | ATM |
| Send to bank | Session Bank |
| Accept envelope, issue receipt, and notify bank when complete |
ATM Bank |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Get specifics from customer | ATM |
| Send to bank | Session Bank |
| Issue receipt | ATM |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Get specifics from customer | ATM |
| Send to bank | Session Bank |
| Issue receipt | ATM |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Initiate withdrawl | |
| Finish withdrawl | |
| Initiate deposit | |
| Finish deposit | |
| Do transfer | |
| Do inquiry | |
| Provide information about reason for rejection of a transaction | |
| [ Class Description Form ] |