As 3
As 3
LibrarySystem
Thuộc tính:
libraryName: String
address: String
operatingHours: String
Phương thức:
Quan hệ với Borrower, Book, Loan, và Fine để quản lý việc mượn, trả sách và xử lý phạt.
2. Book
Thuộc tính:
bookID: int
title: String
author: String
ISBN: String
keywords: List<String>
Phương thức:
isAvailable(): Boolean
3. Borrower
Thuộc tính:
borrowerID: int
name: String
email: String
phoneNumber: String
address: String
Phương thức:
Có liên kết với Loan, Fine, Notification, và có các lớp con như Student, Faculty, và Guest.
studentID: String
department: String
yearOfStudy: int
Phương thức:
validateWithRegistrar(): Boolean
facultyID: String
department: String
position: String
Phương thức:
validateWithHR(): Boolean
guestID: String
expirationDate: Date
Phương thức:
validateWithLibrary(): Boolean
7. Loan
Thuộc tính:
loanID: int
borrowerID: int
bookID: int
loanDate: Date
returnDate: Date
dueDate: Date
Phương thức:
calculateFine(): double
isOverdue(): Boolean
8. Fine
Thuộc tính:
fineID: int
amount: double
dueDate: Date
paidStatus: Boolean
Phương thức:
applyFine(): void
payFine(): void
9. Librarian
Thuộc tính:
librarianID: int
name: String
email: String
Phương thức:
10. Catalog
Thuộc tính:
catalogID: int
listOfBooks: List<Book>
Phương thức:
11. Reservation
Thuộc tính:
reservationID: int
bookID: int
borrowerID: int
reservationDate: Date
Phương thức:
checkAvailability(): Boolean
12. RegistrarDatabase
Thuộc tính:
databaseConnection: String
Phương thức:
13. HRDatabase
Thuộc tính:
databaseConnection: String
Phương thức:
14. LibraryDatabase
Thuộc tính:
databaseConnection: String
Phương thức:
15. Reminder
Thuộc tính:
reminderID: int
borrowerID: int
reminderDate: Date
Phương thức:
16. Payment
Thuộc tính:
paymentID: int
fineID: int
paymentMethod: String
paymentDate: Date
Phương thức:
processPayment(): void
17. BookCondition
Thuộc tính:
conditionID: int
description: String
Phương thức:
assessDamage(): void
repairBook(): void
18. Drone
Thuộc tính:
droneID: int
location: String
status: String
Phương thức:
deliverBook(): void
trackDrone(): String
19. DroneDelivery
Thuộc tính:
deliveryID: int
droneID: int
bookID: int
borrowerID: int
deliveryStatus: String
Phương thức:
initiateDelivery(): void
confirmDelivery(): void
20. Notification
Thuộc tính:
notificationID: int
borrowerID: int
message: String
notificationDate: Date
Phương thức:
sendNotification(): void
21. Staff
Thuộc tính:
staffID: int
name: String
position: String
email: String
Phương thức:
Liên kết với BookCondition, Book, và Borrower để quản lý tình trạng sách và xử lý sách
trả lại.
22. Security
Thuộc tính:
securityID: int
accessLevel: String
Phương thức:
Liên kết với LoginSystem để xác thực và phân quyền người dùng.
23. LoginSystem
Thuộc tính:
username: String
password: String
Phương thức:
logout(): void
Liên kết với Security để xác thực và bảo mật người dùng.
24. Overdue
Thuộc tính:
overdueID: int
loanID: int
overdueDate: Date
Phương thức:
calculateOverdueFine(): double
Liên kết với Loan để tính phí phạt cho sách quá hạn.
25. RepairService
Thuộc tính:
serviceID: int
repairCost: double
repairStatus: String
Phương thức:
Liên kết với Book và BookCondition để quản lý quá trình sửa chữa sách.
26. Publisher
Thuộc tính:
publisherID: int
name: String
contactInfo: String
Phương thức:
getPublisherBooks(): List<Book>
requestNewBooks(): void
Liên kết với Book để quản lý sách từ các nhà xuất bản.
27. Supplier
Thuộc tính:
supplierID: int
name: String
contactInfo: String
Phương thức:
28. Delivery
Thuộc tính:
deliveryID: int
deliveryMethod: String
deliveryStatus: String
Phương thức:
Liên kết với Borrower và Book để xử lý giao sách truyền thống (không phải drone).
29. Feedback
Thuộc tính:
feedbackID: int
borrowerID: int
comments: String
rating: int
Phương thức:
Liên kết với Borrower để thu thập phản hồi về hệ thống và chất lượng sách.
30. LoanHistory
Thuộc tính:
historyID: int
borrowerID: int
listOfLoans: List<Loan>
Phương thức:
getLoanHistory(borrower: Borrower): List<Loan>
Liên kết với Borrower và Loan để theo dõi lịch sử mượn trả sách của người dùng.
1. LibrarySystem
Association với:
2. Book
Association với:
Loan (mỗi sách có thể được mượn qua một đơn mượn)
3. Borrower
Inheritance với Student, Faculty, Guest (kế thừa từ Borrower)
Association với Loan, Fine, Notification, và LoanHistory (người mượn có thể mượn sách, bị phạt,
nhận thông báo, và có lịch sử mượn)
4. Loan
Association với:
Fine (quản lý các khoản phạt liên quan đến việc mượn)
5. Fine
Association với Borrower và Loan (liên quan đến người mượn và đơn mượn có phạt)
6. Librarian
Association với Book, Loan, và Borrower (quản lý sách, đơn mượn, và người mượn)
7. Catalog
Aggregation với Book (một danh mục có nhiều sách)
8. Reservation
Association với Book và Borrower (đặt trước sách và người mượn)
9. RegistrarDatabase
Association với Student (xác thực thông tin sinh viên)
10. HRDatabase
Association với Faculty (xác thực thông tin giảng viên)
11. LibraryDatabase
Association với Guest và Book (xác thực thông tin khách và quản lý sách)
12. Reminder
Association với Borrower (gửi nhắc nhở cho người mượn)
13. Payment
Association với Fine (quản lý thanh toán các khoản phạt)
14. BookCondition
Association với Book (quản lý tình trạng sách)
15. Drone
Association với DroneDelivery (drone thực hiện giao sách)
16. DroneDelivery
Association với Borrower, Book, và Drone (quản lý giao sách bằng drone)
17. Notification
Association với Borrower (gửi thông báo cho người mượn)
18. Staff
Association với BookCondition, Book, và Borrower (quản lý sách và người mượn)
19. Security
Association với LoginSystem (bảo mật đăng nhập)
20. LoginSystem
Association với Security (xác thực và phân quyền người dùng)
21. Overdue
Association với Loan (quản lý sách quá hạn)
22. RepairService
Association với Book và BookCondition (sửa chữa sách)
23. Publisher
Association với Book (quản lý sách từ nhà xuất bản)
24. Supplier
Association với Book (cung cấp sách)
25. Delivery
Association với Borrower và Book (quản lý giao sách)
26. Feedback
Association với Borrower và Book (quản lý phản hồi của người dùng về sách)
27. LoanHistory
Association với Borrower và Loan (theo dõi lịch sử mượn sách của người dùng)