Question: This is a Java program to develop an application software for ATM having a customer console (keyboard and display) for interaction with the customer, a

This is a Java program to develop an application software for ATM having a customer console (keyboard and display) for interaction with the customer, a printer for printing customer receipts, and a key-operated switch to allow an operator to start or stop the machine. The ATM must be able to provide the following services to the customer:

- 1. A customer must be able to make a cash withdrawal from any suitable account, in multiples of $20.00. Approval must be obtained from the bank before cash is dispensed.

- 2. A customer must be able to make a deposit to any account, consisting of cash and/or checks in an envelope. The customer will enter the amount of the deposit into the ATM, subject to manual verification when the envelope is removed from the machine by an operator. Approval must be obtained from the bank before physically accepting the envelope.

- 3. A customer must be able to make a balance inquiry of any linked account. (20 points) A customer must be able to abort a transaction in progress by pressing the Cancel key instead of responding to a request from the machine.

Classes:

- ATM: Class ATM represents the ATM as a whole.

- Keypad : Class keypad is responsible for receiving all user input.

- Screen : Class Screen is responsible for displaying output to the user.

- Account : Class Account represents a bank account. Each Account has four attributes accountNumber, pin, availableBalance and totalBalance( the amount of funds available + the amount of deposited funds wtill pending confirmation).

- Transaction (abstract class) : Class Transaction is an abstract superclass that represents the notion of an ATM transaction. It contains the common features of subclasses BalanceInquiry, Withdrawal and Deposit.

- BankDatabase : Class BankDatabase models the banks database with which the ATM interacts to access and modify a users account information.

- BalanceInquiry : Class BalanceInquiry extends Transaction and represents a balance inquiry ATM transaction.

- Withdrawal : Class Withdrawal extends Transaction and represents a withdrawal ATM transaction. - Deposit : Class Deposit extends Transaction and represents a deposit ATM transaction.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!