[ Intro ]
[ Requirements ]
[ Domain Objects ]
[ Use Cases ]
[ State Diagram ]
[ Interaction Diagram ]
[ CRC Cards ]
[ Class Diagram ]
[ Class Desc. Forms ]
[ Operation Desc. 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 customer choice from a menu of options | Display Keyboard |
| Get amount entry (typed in) from customer | Display Keyboard |
| Verify that sufficient cash is available for withdrawl | CashDispenser |
| 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 failure of a transaction, and ask if he/she wants another |
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 menu of choices | |
| Display "Enter Amount" screen | |
| Display "Deposit Envelope" screen | |
| Display "Card unreadable" screen | |
| Display "Transaction failed because ... want another?" screen | |
| Display "Invalid PIN - re-enter" screen | |
| Display "Card retained" screen | |
| Echo input from the keyboard | |
| Clear current message from screen when no longer needed | |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Read PIN | Display (echo *'s) |
| Read choice from menu | |
| Read amount entry (typed) | Display (echo amount) |
| [ 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 Transaction |
| Perform failed transaction extension | ATM |
| Furnish card number to Transaction | |
| Furnish PIN to Transaction | |
| [ Class Description Form ] |
| Responsibility | Collaborator(s) |
|---|---|
| Allow customer to choose a transaction type then create an object of appropriate subclass |
WithdrawlTransaction DepositTransaction TransferTransaction InquiryTransaction ATM |
| Perform a particular transaction use case |
WithdrawlTransaction DepositTransaction TransferTransaction InquiryTransaction Session |
| [ 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) |
|---|---|
| Allow customer to choose an account type from a list of possibilities | ATM |
| Initiate withdrawl | |
| Finish withdrawl | |
| Initiate deposit | |
| Finish deposit | |
| Do transfer | |
| Do inquiry | |
| Provide information about reason for rejection of a transaction | |
| [ Class Description Form ] |