Question
Design UML Diagram and CRC. ATM network system. We assume two banks A and B and each bank is connected two ATMs in the network.
Design UML Diagram and CRC. ATM network system. We assume two banks A and B and each bank is connected two ATMs in the network. The following figure shows the part of the network that belongs to one bank.
A customer may open an account in Bank A, Bank B or both. For simplicity, we assume that customers can make only make one type of account, checking account. Also, customers makes at most one (0 or 1) account with a bank. An account is associated with one and only one cash card. A cash card comes with a card number from which bank_id and the associated account number can be identified. A cash card also comes with its expiration date.
Customers get an access to an ATM machine using their cash cards and enter their own transactions. We consider only withdrawals for transactions. Let's assume that each card is owned by a single customer and thus simultaneous use of the same card from different ATMs will not be considered.
Each ATM defines the maximum amount of cash a customer can withdraw per transaction. We assume ATMs never run out of cash for a withdraw request that satisfies these conditions.
The ATM reads a cash card number and checks if the card is valid. A card is valid if it is not expired and its bank id is correct for the bank associated with the ATM. If it not valid, display error message and return card to the customer. If the card is valid, the ATM Initiate authorization dialog.
Authorization dialog : The customer is requested to enter his password. The ATM verifies password with the bank. The ATM receives the result of authorization (accept/reject) from bank. For the authorization is rejected, the relevant error message is displayed and card is returned to the customer. If authorization is accepted, start transaction dialog.
Transaction dialog: When authorization is successfully completed, the customer can withdraw money by entering an amount. If the amount is not within the pre-defined transaction limit at the ATM, display an error message asking the customer to redo the transaction. Otherwise, the ATM starts the transaction by sending request to the bank. After the bank gets a withdraw request from the ATM, the bank checks if the corresponding bank account has enough money for the transaction. If the amount exceeds the limit, the transaction will fail and the bank will send an error message to the ATM. If the account has sufficient money for the transaction, the amount is reduced from the bank account, the transaction is logged against the card number at the bank, a success message is sent to the ATM, and the customer can get money dispensed from the ATM. We assume ATMs never run out of cash for a successful transaction. If the transaction is not successful due to insufficient fund from the account, an error message should be displayed. In this case, the customer will be asked to enter a different amount.
For simplicity, let's assume that after a customer received an error message about an incorrect password and a withdrawal amount exceeding the pre-defined limit at ATM or the available balance of the account, the customer will not make the same mistake.
UML diagram and CRC(class responsibility collaborator)
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started