ATM machines are used to withdraw and deposit cash in addition to make balance inquiries. The user enters a card in the ATM’s card reader, then the ATM, and through its console screen, asks the user to enter the card 4 digit PIN number. If the PIN is verified by the Bank (which keeps a list of bank accounts), the ATM will present the user with a menu of the available choices (Transactions), otherwise, invalid PIN message will be displayed, users can try to enter the PIN three times after which the card will be claimed by the machine. If the user choses to withdraw, he will be presented with a menu of a specific amounts or he can enter the amount, if the user balance is sufficient and if the cash dispenser has the amount available, the cash amount will be dispensed from the cash dispenser. ATM Transactions 1. Withdraw 2. Balance inquiry At any time during a transaction, the user can choose to cancel and thus end the transaction ATM States 1. Ready: waits the user to enter the Card 2. Card Inserted: waits the user to enter the PIN 3. Transaction: waits for the user to select transaction 4. Withdraw: waits for the user to enter amount 5. Dispense Cash: waits for the user to collect money and exit 6. Display Balance: display balance and waits for the user to select back/exit 7. Display Error message Basic Requirement 1. Identify the System’s basic Classes and their relationship 2. Draw a UML model that represents the system 3. Start coding… Intermediate Requirement 1. Define a number of Exceptions to handle cases like cancelled, insufficient balance, not enough cash, invalid PIN, etc.. 2. Use Interface to define the work of any display/keyboard 3. All transactions taken place on the ATM must be logged to a file. Advanced Requirement 1. Build a GUI to simulate the ATM operation
ATM machines are used to withdraw and deposit cash in addition to make balance inquiries. The user enters a card in the ATM’s card reader, then the ATM, and through its console screen, asks the user to enter the card 4 digit PIN number. If the PIN is verified by the Bank (which keeps a list of bank accounts), the ATM will present the user with a menu of the available choices (Transactions), otherwise, invalid PIN message will be displayed, users can try to enter the PIN three times after which the card will be claimed by the machine. If the user choses to withdraw, he will be presented with a menu of a specific amounts or he can enter the amount, if the user balance is sufficient and if the cash dispenser has the amount available, the cash amount will be dispensed from the cash dispenser. ATM Transactions 1. Withdraw 2. Balance inquiry At any time during a transaction, the user can choose to cancel and thus end the transaction ATM States 1. Ready: waits the user to enter the Card 2. Card Inserted: waits the user to enter the PIN 3. Transaction: waits for the user to select transaction 4. Withdraw: waits for the user to enter amount 5. Dispense Cash: waits for the user to collect money and exit 6. Display Balance: display balance and waits for the user to select back/exit 7. Display Error message Basic Requirement 1. Identify the System’s basic Classes and their relationship 2. Draw a UML model that represents the system 3. Start coding… Intermediate Requirement 1. Define a number of Exceptions to handle cases like cancelled, insufficient balance, not enough cash, invalid PIN, etc.. 2. Use Interface to define the work of any display/keyboard 3. All transactions taken place on the ATM must be logged to a file. Advanced Requirement 1. Build a GUI to simulate the ATM operation
Step by step
Solved in 3 steps