0% found this document useful (0 votes)
6 views15 pages

As 3

as3

Uploaded by

Khánh Huyền
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views15 pages

As 3

as3

Uploaded by

Khánh Huyền
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 15

1.

LibrarySystem
Thuộc tính:

libraryName: String

address: String

operatingHours: String

Phương thức:

searchBook(title: String): List<Book>

manageBorrowing(borrower: Borrower, book: Book): void

manageReturns(borrower: Borrower, book: Book): void

Mối quan hệ:

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

status: String (e.g., "available", "checked out")

keywords: List<String>

Phương thức:

isAvailable(): Boolean

updateStatus(status: String): void

Mối quan hệ:

Thuộc về Catalog và có liên kết với Loan, Reservation, và BookCondition.

3. Borrower
Thuộc tính:

borrowerID: int

name: String

email: String

phoneNumber: String

address: String

Phương thức:

requestBook(book: Book): void

returnBook(book: Book): void

extendLoan(loan: Loan): void

Mối quan hệ:

Có liên kết với Loan, Fine, Notification, và có các lớp con như Student, Faculty, và Guest.

4. Student (Kế thừa từ Borrower)


Thuộc tính:

studentID: String

department: String

yearOfStudy: int

Phương thức:

validateWithRegistrar(): Boolean

Mối quan hệ:

Kế thừa từ Borrower và liên kết với RegistrarDatabase để xác thực.

5. Faculty (Kế thừa từ Borrower)


Thuộc tính:

facultyID: String

department: String
position: String

Phương thức:

validateWithHR(): Boolean

Mối quan hệ:

Kế thừa từ Borrower và liên kết với HRDatabase để xác thực.

6. Guest (Kế thừa từ Borrower)


Thuộc tính:

guestID: String

expirationDate: Date

Phương thức:

validateWithLibrary(): Boolean

Mối quan hệ:

Kế thừa từ Borrower và liên kết với LibraryDatabase để xác thực.

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

Mối quan hệ:


Liên kết với Borrower và Book để quản lý thông tin mượn và trả sách.

8. Fine
Thuộc tính:

fineID: int

amount: double

dueDate: Date

paidStatus: Boolean

Phương thức:

applyFine(): void

payFine(): void

Mối quan hệ:

Liên kết với Borrower và Loan để xử lý phạt.

9. Librarian
Thuộc tính:

librarianID: int

name: String

email: String

Phương thức:

addBook(book: Book): void

removeBook(book: Book): void

sendReminder(borrower: Borrower): void

Mối quan hệ:

Quản lý Book, Loan, và Borrower.

10. Catalog
Thuộc tính:

catalogID: int

listOfBooks: List<Book>

Phương thức:

addToCatalog(book: Book): void

searchByTitle(title: String): List<Book>

searchByAuthor(author: String): List<Book>

Mối quan hệ:

Chứa các Book và có vai trò trong LibrarySystem để tìm kiếm.

11. Reservation
Thuộc tính:

reservationID: int

bookID: int

borrowerID: int

reservationDate: Date

Phương thức:

checkAvailability(): Boolean

notifyBorrower(borrower: Borrower): void

Mối quan hệ:

Liên kết với Borrower và Book.

12. RegistrarDatabase
Thuộc tính:

databaseConnection: String

Phương thức:

validateStudentID(studentID: String): Boolean


Mối quan hệ:

Liên kết với Student để xác thực.

13. HRDatabase
Thuộc tính:

databaseConnection: String

Phương thức:

validateFacultyID(facultyID: String): Boolean

Mối quan hệ:

Liên kết với Faculty để xác thực.

14. LibraryDatabase
Thuộc tính:

databaseConnection: String

Phương thức:

validateGuestID(guestID: String): Boolean

getBookInfo(bookID: int): Book

Mối quan hệ:

Liên kết với Guest và Book để xử lý thông tin mượn sách.

15. Reminder
Thuộc tính:

reminderID: int

borrowerID: int

reminderDate: Date

Phương thức:

sendEmailReminder(borrower: Borrower): void


Mối quan hệ:

Liên kết với Borrower để nhắc nhở sách quá hạn.

16. Payment
Thuộc tính:

paymentID: int

fineID: int

paymentMethod: String

paymentDate: Date

Phương thức:

processPayment(): void

Mối quan hệ:

Liên kết với Fine để xử lý thanh toán.

17. BookCondition
Thuộc tính:

conditionID: int

description: String

Phương thức:

assessDamage(): void

repairBook(): void

Mối quan hệ:

Liên kết với Book để quản lý tình trạng sách.

18. Drone
Thuộc tính:

droneID: int
location: String

status: String

Phương thức:

deliverBook(): void

trackDrone(): String

Mối quan hệ:

Liên kết với DroneDelivery để giao sách.

19. DroneDelivery
Thuộc tính:

deliveryID: int

droneID: int

bookID: int

borrowerID: int

deliveryStatus: String

Phương thức:

initiateDelivery(): void

confirmDelivery(): void

Mối quan hệ:

Liên kết với Drone, Borrower, và Book để xử lý giao sách.

20. Notification
Thuộc tính:

notificationID: int

borrowerID: int

message: String

notificationDate: Date
Phương thức:

sendNotification(): void

Mối quan hệ:

Liên kết với Borrower để thông báo khi sách có sẵn.

21. Staff
Thuộc tính:

staffID: int

name: String

position: String

email: String

Phương thức:

updateBookCondition(book: Book, condition: String): void

processReturn(borrower: Borrower, book: Book): void

Mối quan hệ:

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:

authenticateUser(username: String, password: String):


Boolean

authorizeAction(userRole: String, action: String): Boolean

Mối quan hệ:

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:

login(username: String, password: String): Boolean

logout(): void

Mối quan hệ:

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

Mối quan hệ:

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:

estimateRepairCost(book: Book): double


repairBook(book: Book): void

Mối quan hệ:

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

Mối quan hệ:

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:

orderBooks(bookList: List<Book>): void

trackOrder(orderID: int): String

Mối quan hệ:

Liên kết với Book để quản lý nguồn cung cấp sách.

28. Delivery
Thuộc tính:

deliveryID: int

deliveryMethod: String

deliveryStatus: String

Phương thức:

initiateDelivery(borrower: Borrower, book: Book): void

confirmDelivery(borrower: Borrower): void

Mối quan hệ:

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:

submitFeedback(borrower: Borrower, book: Book): void

Mối quan hệ:

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>

Mối quan hệ:

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:

Borrower (quản lý người mượn)

Book (quản lý sách)

Loan (quản lý việc mượn sách)

Fine (quản lý phạt)

2. Book
Association với:

Catalog (sách thuộc về danh mục)

Loan (mỗi sách có thể được mượn qua một đơn mượn)

Reservation (sách có thể được đặt trước)

BookCondition (sách có tình trạng liên quan)

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:

Borrower (người mượn)

Book (sách được mượn)

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)

You might also like