Ooad 4
Ooad 4
1. Design Overview
Requirements:
- Entities: Library, Book, Member, Loan.
- Actions: Add books, register members, issue books, return books.
public Library() {
this.books = new ArrayList<>();
this.members = new ArrayList<>();
}
import java.util.ArrayList;
import java.util.List;
//Loan Class
public class Loan {
private Book book;
// Registering a member
Member member1 = new Member("John Doe");
library.registerMember(member1);
// Borrowing a book
member1.borrowBook(book1);
Task 2
Mapping a design to code in Java for an ATM system involves translating the
requirements and design specifications into actual code. Let's break down this
process:
1. Requirements Analysis
-Actors: Customer, ATM machine, Bank server
- Use Cases: Withdraw Cash, Deposit Cash, Check Balance, Transfer
Funds, Change PIN, etc.
public ATM() {
userAuthenticated = false;
currentAccountNumber = 0;
screen = new Screen();
keypad = new Keypad();
cashDispenser = new CashDispenser();
receiptPrinter = new ReceiptPrinter();
bankDatabase = new BankDatabase();
}
userAuthenticated =
bankDatabase.authenticateUser(accountNumber, pin);
if (userAuthenticated) {
currentAccountNumber = accountNumber;
} else {
screen.displayMessage("Invalid account number or PIN. Please
try again.");
}
}
performTransactions();
userAuthenticated = false;
currentAccountNumber = 0;
screen.displayMessage("Thank you! Goodbye!");
}
}
/*BankDatabase Class
*This class simulates a bank database.
*java*/
import java.util.HashMap;
import java.util.Map;
public BankDatabase() {
accounts = new HashMap<>();
accounts.put(12345, new Account(12345, 1234, 1000.00, 1200.00));
accounts.put(67890, new Account(67890, 5678, 200.00, 200.00));
}
public Keypad() {
scanner = new Scanner(System.in);
}
void displayMessage1() {
System.out.println("please_enter_your_account_number_");
}
void displayMessage2() {
System.out.println("enter your pin");
}
void displayMessage3() {
System.out.println("Invalid account number or PIN. Please try again.");
}
void displayMessage4() {
System.out.println("Thank you! Goodbye!");
}
void displayMessage5() {
System.out.println("Main menu:");
}
void displayMessage6() {
System.out.println(" View my balance");
}
void displayMessage7() {
System.out.println("Withdraw cash");
}
void displayMessage8() {
System.out.println(" Deposit funds");}
void displayMessage9() {
System.out.println(" Exit\nEnter a choice: ");}
void displayMessage10() {
System.out.println("Invalid selection. Try again.");
}
void displayMessage11() {
System.out.println("Balance Information:");
}void displayMessage12() {
System.out.println( "Available balance:12345 ");}
void displayMessage13() {
System.out.println("Total balance:9875 " ); }
}
This example provides a basic structure and can be expanded based on
additional requirements, such as handling multiple accounts, connecting to a
real database, or implementing a GUI.
Conclusion: We learned about Mapping Design to Code and and successfully
executed programs.in Netbeans .