Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Reliability Engineering Designing And Operating Resilient Database Systems

Authors: Laine Campbell, Charity Majors

1st Edition

978-1491925942

More Books

Students also viewed these Databases questions