[ 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 ] |