Using CRC cards to assign responsibiities to various classes for the tasks required by the various use cases leads to the creation of the following cards.
The following links can be used to go directly to the CRC cards for the various classes:
Responsibilities | Collaborators |
---|---|
Start up when switch is turned on | OperatorPanel
CashDispenser NetworkToBank |
Shut down when switch is turned off | NetworkToBank |
Start a new session when card is inserted by customer | CustomerConsole
Session |
Provide access to component parts for sessions and transactions |
Responsibilities | Collaborators |
---|---|
Tell ATM when card is inserted | ATM |
Read information from card | Card |
Eject card | |
Retain card |
Responsibilities | Collaborators |
---|---|
Keep track of cash on hand, starting with initial amount | |
Report whether enough cash is available | |
Dispense cash | Log |
Responsibilities | Collaborators |
---|---|
Display a message | |
Display a prompt, accept a PIN from keyboard | |
Display a prompt and menu, accept a choice from keyboard | |
Display a prompt, accept a dollar amount from keyboard | |
Respond to cancel key being pressed by customer |
Responsibilities | Collaborators |
---|---|
Accept envelope from customer; report if timed out or cancelled | Log |
Responsibilities | Collaborators |
---|---|
Log messages sent to bank | |
Log responses from bank | |
Log dispensing of cash | |
Log receiving an envelope |
Responsibilities | Collaborators |
---|---|
Initiate connection to bank at startup | |
Send message to bank and wait for response | Message Log Balances Status |
Terminate connection to bank at shutdown |
Responsibilities | Collaborators |
---|---|
Inform ATM of changes to state of switch | ATM |
Allow operator to specify amount of initial cash |
Responsibilities | Collaborators |
---|---|
Print receipt | Receipt |
Responsibilities | Collaborators |
---|---|
Perform session use case | ATM CardReader Card CustomerConsole Transaction |
Update PIN value if customer has to re-enter it | |
Responsibilities | Collaborators |
---|---|
Allow customer to choose a type of transaction | ATM CustomerConsole Withdrawal Deposit Transfer Inquiry |
Perform Transaction Use Case | ATM CustomerConsole Withdrawal Deposit Transfer Inquiry Message NetworkToBank Receipt ReceiptPrinter |
Perform invalid PIN extension | CustomerConsole Session CardReader |
Responsibilities | Collaborators |
---|---|
Perform operations peculiar to withdrawal transaction use case | CustomerConsole CashDispenser Message Receipt |
Responsibilities | Collaborators |
---|---|
Perform operations peculiar to deposit transaction use case | CustomerConsole Message EnvelopeAcceptor Receipt |
Responsibilities | Collaborators |
---|---|
Perform operations peculiar to transfer transaction use case | CustomerConsole Message Receipt |
Responsibilities | Collaborators |
---|---|
Perform operations peculiar to inquiry transaction use case | CustomerConsole Message Receipt |
Responsibilities | Collaborators |
---|---|
Represent account balance information returned by bank | |
Responsibilities | Collaborators |
---|---|
Represent information encoded on customer's ATM card | |
Responsibilities | Collaborators |
---|---|
Represent information to be sent over network to bank | |
Responsibilities | Collaborators |
---|---|
Represent information to be printed on a receipt | |
Responsibilities | Collaborators |
---|---|
Represent transaction status information returned by bank | |
Page of links for non frames-enabled browsers.