Theo dõi lịch sử mượn sách: Hệ thống sẽ ghi lại toàn bộ lịch sử mượn sách của người dùng, bao gồm thời gian mượn, thời gian trả, và số lượng sách đã mượn trong quá khứ.. Quản lý các
Software Requirements Specification
Quản lý sách
Chức năng quản lý sách là một phần quan trọng trong hệ thống quản trị thư viện, giúp quản trị viên theo dõi và kiểm soát quá trình nhập liệu, lưu trữ và tình trạng sách.
Để quản lý sách hiệu quả, cần nhập các thông tin cơ bản như tên sách, tác giả, năm xuất bản, mã ISBN, thể loại và vị trí kệ sách vào hệ thống Giao diện của hệ thống sẽ cho phép người dùng linh hoạt nhập và chỉnh sửa thông tin này.
Quản lý trạng thái sách là một tính năng quan trọng, cho phép theo dõi tình trạng của từng cuốn sách như "có sẵn", "đang được mượn", "đã bị mất" hoặc "đang bảo trì" Hệ thống sẽ tự động cập nhật các trạng thái này khi có bất kỳ thao tác mượn hoặc trả sách nào, đảm bảo thông tin luôn chính xác và kịp thời.
Hệ thống quản lý kho sách cho phép theo dõi số lượng sách theo từng thể loại và kệ sách, đồng thời đánh giá tình trạng chung của thư viện Nó giúp xác định số lượng sách cần bảo trì, sửa chữa hoặc thay thế, từ đó nâng cao hiệu quả quản lý và chất lượng dịch vụ thư viện.
Quản lý người dùng
Chức năng này quản lý thông tin của tất cả người sử dụng hệ thống, bao gồm bạn đọc, sinh viên, giáo viên và nhân viên thư viện.
Mỗi người dùng sẽ có một tài khoản cá nhân riêng biệt, bao gồm thông tin như tên, mã số sinh viên, email, số điện thoại và ngày hết hạn thẻ thư viện Hệ thống sẽ quản lý những thông tin này, cho phép người dùng truy cập các dịch vụ của thư viện dựa trên tài khoản của họ.
Hệ thống sẽ ghi lại toàn bộ lịch sử mượn sách của người dùng, bao gồm thời gian mượn, thời gian trả và số lượng sách đã mượn trong quá khứ Người dùng có thể dễ dàng xem lại lịch sử này để biết những cuốn sách mình đã mượn.
Hệ thống quản lý hạn mức mượn sách sẽ tự động kiểm tra số lượng sách mà người dùng đã mượn, đảm bảo không vượt quá giới hạn cho phép Đồng thời, hệ thống cũng theo dõi các sách bị trễ hạn để ngăn chặn việc mượn thêm sách, giúp duy trì trật tự và hiệu quả trong việc sử dụng tài nguyên thư viện.
Quản lý mượn, trả sách
Quản lý quy trình mượn và trả sách tự động giúp thư viện theo dõi thông tin người mượn và các cuốn sách sắp đến hạn trả một cách hiệu quả.
Khi người dùng mượn sách, hệ thống sẽ ghi nhận thông tin chi tiết về cuốn sách, bao gồm tên sách và mã sách, cùng với thông tin của người mượn như tên, mã thẻ và hạn mượn Người dùng có thể thực hiện việc mượn sách trực tiếp tại quầy hoặc đặt trước sách thông qua hệ thống trực tuyến.
Khi trả sách, hệ thống sẽ xác nhận việc trả và cập nhật trạng thái của sách thành "có sẵn" Nếu sách được trả muộn, hệ thống sẽ tự động tính phí phạt theo quy định.
Khi sách được trả, nhân viên thư viện quét mã sách để cập nhật trạng thái trả Nếu người mượn trả sách trễ 5 ngày, hệ thống sẽ tự động tính phí phạt theo quy định.
Tìm kiếm và truy vấn thông tin
Chức năng này cho phép người dùng tìm kiếm thông tin về sách, tài liệu, hoặc các thông tin liên quan đến thư viện.
Người dùng có thể tìm kiếm sách theo nhiều tiêu chí như tên sách, tác giả, chủ đề, năm xuất bản hoặc mã ISBN Hệ thống cũng cho phép lọc kết quả tìm kiếm theo trạng thái sách, bao gồm các tùy chọn như có sẵn, đang mượn hoặc đã bị mất.
Người dùng không chỉ có thể tìm kiếm sách mà còn có thể truy vấn thông tin chi tiết như lịch sử mượn sách, tài liệu tham khảo và các bài báo khoa học liên quan, nếu có.
Quản lý đặt trước
Chức năng này cho phép người dùng đặt trước các cuốn sách mà hiện tại đang được mượn bởi người khác.
Người dùng có thể đặt trước sách nếu sách đã được mượn Khi sách được trả, hệ thống sẽ thông báo cho người đã đặt trước và giữ sách trong một khoảng thời gian nhất định cho họ đến mượn Ví dụ, nếu một cuốn sách về "toán học cao cấp" đang được mượn, sinh viên có thể đặt trước và sẽ nhận được email thông báo khi cuốn sách được trả lại.
Quản lý phí phạt
Chức năng quản lý phí phạt giúp theo dõi và tự động tính phí cho các trường hợp mượn sách quá hạn.
Khi người dùng mượn sách quá hạn, hệ thống sẽ tự động tính phí phạt dựa trên số ngày trễ và quy định của thư viện Phí phạt sẽ được xác định tương ứng với thời gian mà sách đã quá hạn.
Thống kê và báo cáo
Chức năng này giúp quản lý thư viện theo dõi hoạt động tổng thể và cung cấp báo cáo chi tiết về tình trạng sử dụng thư viện.
Hệ thống thư viện cung cấp báo cáo chi tiết về số lượng sách mượn và trả trong một khoảng thời gian cụ thể, giúp thư viện theo dõi tình hình sử dụng tài liệu hiệu quả hơn.
Báo cáo người dùng cung cấp thống kê chi tiết về việc sử dụng thư viện của từng nhóm người dùng, bao gồm số lượng sách mượn và các khoản phí phạt liên quan.
Hiệu suất hệ thống (System Performance):
Thời gian phản hồi cho mỗi chức năng (ví dụ: tìm kiếm sách, mượn/trả sách) không quá 2 giây.
Hệ thống có khả năng xử lý đồng thời ít nhất 100 người dùng cùng một lúc mà không gặp vấn đề về tốc độ.
Bảo mật và quyền truy cập (Security and Access Control):
Hệ thống yêu cầu người dùng đăng nhập để truy cập các chức năng mượn sách và quản lý thông tin cá nhân.
Tất cả thông tin cá nhân và lịch sử mượn sách của người dùng được bảo mật, chỉ có người dùng và quản trị viên hệ thống mới có quyền truy cập Hệ thống có khả năng mở rộng linh hoạt, đáp ứng nhu cầu ngày càng tăng của người dùng.
Hệ thống có thể được mở rộng để quản lý một lượng sách lớn hơn (tối đa
1 triệu cuốn sách) mà không làm giảm hiệu suất hoạt động.
Khả năng tương thích (Compatibility):
Hệ thống hỗ trợ truy cập từ các trình duyệt web hiện đại như Chrome, Firefox, và Safari.
Hỗ trợ sử dụng trên các thiết bị di động (giao diện responsive).
Khả năng sao lưu và phục hồi (Backup and Recovery):
Hệ thống tự động sao lưu dữ liệu hàng ngày và cung cấp cơ chế phục hồi dữ liệu trong trường hợp hệ thống gặp sự cố.
Chức năng thống kê và báo cáo chi tiết hơn:
Hệ thống có khả năng tạo ra báo cáo chi tiết về số lượng sách bị hỏng hoặc mất trong một khoảng thời gian cụ thể, giúp quản lý tài liệu hiệu quả hơn.
Báo cáo về sách phổ biến: Hệ thống thống kê những cuốn sách được mượn nhiều nhất trong tháng/quý/năm.
Hệ thống quản lý thư viện được thiết kế để tự động hóa quy trình quản lý sách, người dùng, và mượn trả sách, với mục tiêu tối ưu hóa hoạt động của thư viện, tiết kiệm thời gian, nâng cao trải nghiệm người dùng, và giảm thiểu sai sót trong quản lý.
Các thành phần chính của hệ thống:
Giao diện người dùng (User Interface) cho phép người dùng truy cập hệ thống dễ dàng qua giao diện web hoặc ứng dụng di động Người dùng có thể thực hiện các thao tác như tìm kiếm sách, đặt trước sách, quản lý tài khoản cá nhân và theo dõi tình trạng mượn sách một cách thuận tiện.
Hệ quản trị cơ sở dữ liệu (Database Management System) lưu trữ tất cả thông tin liên quan đến sách, người dùng, lịch sử mượn sách và phí phạt trong một cơ sở dữ liệu tập trung, từ đó giúp việc truy xuất và quản lý dữ liệu trở nên dễ dàng và hiệu quả hơn.
Module quản lý sách đóng vai trò quan trọng trong việc quản lý thông tin về sách, bao gồm trạng thái như có sẵn, đã mượn, mất hoặc đang bảo trì Nó cũng hỗ trợ các hoạt động nhập và sửa đổi thông tin sách một cách hiệu quả.
Module quản lý người dùng là công cụ thiết yếu để theo dõi và quản lý thông tin người dùng Nó bao gồm các chức năng như đăng ký, quản lý tài khoản, theo dõi lịch sử mượn sách và nhiều tính năng hỗ trợ khác, giúp nâng cao trải nghiệm người dùng và tối ưu hóa quy trình quản lý.
Module quản lý mượn trả sách giúp theo dõi quá trình mượn và trả sách một cách hiệu quả Nó tự động tính toán phí phạt cho sách trả muộn và cập nhật trạng thái sách khi có sự thay đổi, đảm bảo quản lý tài nguyên sách một cách chính xác và tiện lợi.
Mô-đun báo cáo và thống kê cho phép tạo ra các báo cáo chi tiết về việc mượn và trả sách, số lượng người dùng, tình trạng sách và hiệu suất hoạt động của thư viện.
Tổng quan yêu cầu người dùng
Người dùng không có tài khoản trong hệ thống có thể thực hiện các chức năng sau:
Xem thông tin chi tiết về sách
Xem câu hỏi và câu trả lời (Q&A) về sách
2.2.1.2.Người dùng đã đăng nhập
Người dùng (cần đăng nhập) có thể thực hiện các chức năng sau:
Xem hồ sơ cá nhân
Cập nhật hồ sơ cá nhân
Quản lý danh sách sách của mình
Đánh giá và nhận xét sách
Kiểm tra trạng thái mượn sách
Chức năng tham gia sự kiện:
Đăng ký tham gia các buổi hội thảo, tọa đàm về sách
Nhận thông báo về sự kiện qua email hoặc thông báo trong ứng dụng 2.2.2.Thủ thư (Librarian)
Thủ thư (cần đăng nhập) có thể thực hiện các chức năng sau:
Quản lý sách (Thêm, Cập nhật, Xóa sách)
Quản lý người dùng (Xem, Cập nhật, Xóa thông tin người dùng)
Quản lý mượn sách (Xem lịch sử mượn sách, Xác nhận mượn/trả sách)
Tạo và quản lý các sự kiện thư viện
Xem báo cáo thống kê về mượn sách, người dùng
Người dùng quản trị (cần đăng nhập) có thể thực hiện các chức năng sau:
Quản lý tài khoản người dùng (Thêm, Cập nhật, Xóa người dùng)
Quản lý sách (Thêm, Cập nhật, Xóa sách, Thể loại sách)
Quản lý thủ thư (Thêm, Cập nhật, Xóa thủ thư)
Xem và tạo báo cáo thống kê
Quản lý cơ sở dữ liệu của hệ thống
Thiết lập quyền truy cập và chính sách bảo mật cho người dùng
Business roles
BR-01: Email và số điện thoại phải là duy nhất.
BR-02: Mật khẩu phải được mã hóa.
BR-03: Tìm kiếm sách chỉ được thực hiện khi từ khóa không rỗng.
BR-04: Thông tin sách phải bao gồm tiêu đề, tác giả, thể loại, và mô tả.
BR-05: Đánh giá phải từ 1 đến 5 sao.
BR-06: Hệ thống cần ghi lại thời gian đăng xuất của người dùng.
BR-07: Người dùng không được mượn quá 5 cuốn sách cùng một lúc.
BR-08: Người dùng phải trả sách trong thời gian quy định để tránh phí trễ hạn.
BR-09: Lịch sử mượn sách phải bao gồm thông tin ngày mượn và trạng thái hiện tại.
BR-10: Người dùng không được đặt quá 5 cuốn sách cùng một lúc.
BR-11: Người dùng chỉ có thể hủy đặt sách trong một khoảng thời gian nhất định.
BR-12: Danh sách sách đã đặt phải bao gồm thông tin ngày đặt và trạng thái hiện tại.
BR-13: Hồ sơ cá nhân phải bao gồm tên, email, số điện thoại, và ngày sinh.
BR-14: Thông tin sự kiện phải bao gồm tên, ngày giờ, địa điểm, và mô tả.
BR-15: Người dùng không được tham gia quá 3 sự kiện cùng một lúc.
BR-16: Người dùng chỉ có thể đề xuất trao đổi với người dùng khác có sách trong danh sách của họ.
BR-17: Danh sách đề xuất phải bao gồm thông tin sách và trạng thái đề xuất.
BR-18: Đánh giá phải từ 1 đến 5 sao.
BR-19: Các thông tin cập nhật phải tuân thủ các quy tắc định dạng tương ứng.
BR-20: Người dùng phải được thông báo trước khi xóa tài khoản.
BR-21: Danh sách người dùng phải bao gồm tên, email và trạng thái tài khoản.
BR-22: Quản trị viên phải có quyền hạn để xóa sách.
BR-23: Các thông tin cập nhật phải tuân thủ các quy tắc định dạng tương ứng.
BR-24: Thông tin sách phải bao gồm tiêu đề, tác giả, thể loại và mô tả.
BR-25: Danh sách sách phải được sắp xếp theo tên hoặc thể loại.
BR-26: Thông tin sự kiện phải bao gồm tên, ngày giờ, địa điểm và mô tả.
BR-27: Thống kê phải được cập nhật theo thời gian thực.
BR-28: Tài khoản mới phải có email và số điện thoại duy nhất.
BR-29: Các thông tin cập nhật phải tuân thủ các quy tắc định dạng tương ứng.
BR-30: Quản trị viên phải có quyền hạn để xóa tài khoản.
BR-31: Quyền truy cập phải được cấp cho người dùng theo quy định của hệ thống.
Người dùng chưa đăng nhập vào ứng dụng web hoặc di động của hệ thống quản lý thư viện được gọi là khách Họ có khả năng tìm kiếm và xem thông tin sách, nhưng không thể thực hiện các tác vụ quản lý cá nhân như mượn hoặc trao đổi sách.
Người dùng đã đăng nhập vào ứng dụng quản lý thư viện có thể dễ dàng quản lý thư viện sách cá nhân, thực hiện việc mượn sách, trao đổi sách và tham gia các hoạt động cộng đồng thú vị.
Nhân viên thư viện có trách nhiệm quản lý sách, xác nhận yêu cầu mượn sách, theo dõi tình trạng sách và tổ chức các sự kiện liên quan đến sách trong hệ thống.
Người dùng đăng nhập vào ứng dụng web quản trị với quyền quản lý người dùng, điều chỉnh cơ sở dữ liệu sách, cập nhật dịch vụ thư viện và quản lý các sự kiện.
Trigger: Người dùng muốn tạo một tài khoản mới.
Description: Khách có thể đăng ký tài khoản để sử dụng các tính năng khác.
Postconditions: Tài khoản được tạo thành công hoặc thông báo lỗi nếu không thành công.
Exceptions: Hệ thống thông báo lỗi tương ứng (email đã tồn tại, số điện thoại không hợp lệ, ).
Business Rules: BR-01: Email và số điện thoại phải là duy nhất.
Trigger: Người dùng muốn truy cập tài khoản của mình.
Description: Người dùng có thể đăng nhập vào tài khoản của mình.
Preconditions: Tài khoản đã được đăng ký.
Postconditions: Người dùng được đăng nhập thành công hoặc thông báo lỗi nếu không thành công.
Thông tin không chính xác: Hệ thống thông báo "Email hoặc mật khẩu không đúng."
BR-02: Mật khẩu phải được mã hóa.
Trigger: Người dùng muốn tìm kiếm sách trong hệ thống.
Description: Người dùng có thể tìm kiếm sách theo tiêu đề, tác giả hoặc thể loại.
Postconditions: Người dùng xem được danh sách sách phù hợp với từ khóa tìm kiếm.
Không tìm thấy sách: Hệ thống thông báo "Không tìm thấy sách nào."
BR-03: Tìm kiếm sách chỉ được thực hiện khi từ khóa không rỗng.
UC-04: Xem chi tiết sách
Trigger: Người dùng muốn xem thông tin chi tiết về một cuốn sách.
Description: Người dùng có thể xem thông tin chi tiết của một cuốn sách.
Preconditions: Sách đã được tìm thấy trong hệ thống.
Postconditions: Người dùng xem được thông tin chi tiết về sách.
Sách không tồn tại: Hệ thống thông báo "Sách không tồn tại."
BR-04: Thông tin sách phải bao gồm tiêu đề, tác giả, thể loại, và mô tả.
UC-05: Xem đánh giá sách
Trigger: Người dùng muốn xem các đánh giá về một cuốn sách.
Description: Người dùng có thể xem tất cả các đánh giá đã được viết về cuốn sách.
Preconditions: Sách đã được tìm thấy trong hệ thống.
Postconditions: Người dùng xem được danh sách đánh giá về sách.
Không có đánh giá nào: Hệ thống thông báo "Chưa có đánh giá nào."
BR-05: Đánh giá phải từ 1 đến 5 sao.
Trigger: Người dùng muốn đăng xuất khỏi tài khoản.
Description: Người dùng có thể đăng xuất khỏi tài khoản của mình.
Preconditions: Người dùng đã đăng nhập.
Postconditions: Người dùng được đăng xuất thành công và trở về trang chính.
BR-06: Hệ thống cần ghi lại thời gian đăng xuất của người dùng.
Secondary Actor: Thủ thư (Librarian)
Trigger: Người dùng muốn mượn một cuốn sách.
Description: Người dùng có thể mượn sách từ thư viện.
Preconditions: Người dùng đã đăng nhập và sách còn khả dụng.
Postconditions: Sách được ghi nhận là đã mượn cho người dùng.
Sách không khả dụng: Hệ thống thông báo "Sách không có sẵn."
BR-07: Người dùng không được mượn quá 5 cuốn sách cùng một lúc.
Secondary Actor: Thủ thư (Librarian)
Trigger: Người dùng muốn trả sách đã mượn.
Description: Người dùng có thể trả sách đã mượn.
Preconditions: Người dùng đã đăng nhập và có sách đã mượn.
Postconditions: Sách được ghi nhận là đã trả.
Không có sách để trả: Hệ thống thông báo "Không có sách để trả."
BR-08: Người dùng phải trả sách trong thời gian quy định để tránh phí trễ hạn.
UC-09: Xem lịch sử mượn sách
Trigger: Người dùng muốn xem lịch sử mượn sách.
Description: Người dùng có thể xem tất cả các sách đã mượn trước đây.
Preconditions: Người dùng đã đăng nhập.
Postconditions: Người dùng xem được danh sách sách đã mượn.
Không có sách nào đã mượn: Hệ thống thông báo "Bạn chưa mượn sách nào."
BR-09: Lịch sử mượn sách phải bao gồm thông tin ngày mượn và trạng thái hiện tại.
Secondary Actor: Thủ thư (Librarian)
Trigger: Người dùng muốn đặt trước một cuốn sách.
Description: Người dùng có thể đặt trước sách để mượn sau.
Preconditions: Người dùng đã đăng nhập và sách còn khả dụng.
Postconditions: Sách được ghi nhận là đã đặt cho người dùng.
Sách không khả dụng: Hệ thống thông báo "Sách không có sẵn để đặt."
BR-10: Người dùng không được đặt quá 5 cuốn sách cùng một lúc.
Secondary Actor: Thủ thư (Librarian)
Trigger: Người dùng muốn hủy đặt một cuốn sách.
Description: Người dùng có thể hủy đặt trước sách.
Preconditions: Người dùng đã đăng nhập và có sách đã đặt.
Postconditions: Đặt trước sách được hủy thành công.
Không có sách nào đã đặt: Hệ thống thông báo "Bạn chưa đặt sách nào."
BR-11: Người dùng chỉ có thể hủy đặt sách trong một khoảng thời gian nhất định.
UC-12: Xem sách đã đặt
Trigger: Người dùng muốn xem danh sách sách đã đặt.
Description: Người dùng có thể xem tất cả các sách đã đặt trước đó.
Preconditions: Người dùng đã đăng nhập.
Postconditions: Người dùng xem được danh sách sách đã đặt.
Không có sách nào đã đặt: Hệ thống thông báo "Bạn chưa đặt sách nào."
BR-12: Danh sách sách đã đặt phải bao gồm thông tin ngày đặt và trạng thái hiện tại.
UC-13: Xem thông tin hồ sơ
Trigger: Người dùng muốn xem hồ sơ cá nhân.
Description: Người dùng có thể xem thông tin cá nhân của mình.
Preconditions: Người dùng đã đăng nhập.
Postconditions: Người dùng xem được thông tin hồ sơ cá nhân.
BR-13: Hồ sơ cá nhân phải bao gồm tên, email, số điện thoại, và ngày sinh.
UC-14: Xem thông tin sự kiện
Trigger: Người dùng muốn xem thông tin về các sự kiện.
Description: Người dùng có thể xem thông tin chi tiết về các sự kiện sắp diễn ra.
Postconditions: Người dùng xem được danh sách các sự kiện.
Không có sự kiện nào: Hệ thống thông báo "Hiện tại không có sự kiện nào."
BR-14: Thông tin sự kiện phải bao gồm tên, ngày giờ, địa điểm, và mô tả.
UC-15: Tham gia sự kiện
Trigger: Người dùng muốn đăng ký tham gia một sự kiện.
Description: Người dùng có thể tham gia sự kiện mà họ quan tâm.
Preconditions: Người dùng đã đăng nhập và sự kiện còn chỗ trống.
Postconditions: Người dùng được ghi nhận là đã tham gia sự kiện.
Sự kiện đã đầy: Hệ thống thông báo "Sự kiện đã đầy."
BR-15: Người dùng không được tham gia quá 3 sự kiện cùng một lúc.
Trigger: Người dùng muốn trao đổi sách với người khác.
Description: Người dùng có thể đề xuất trao đổi sách với người khác.
Preconditions: Người dùng đã đăng nhập và có sách để trao đổi.
Postconditions: Đề xuất trao đổi được ghi nhận và thông báo đến người dùng khác.
Sách không khả dụng: Hệ thống thông báo "Không thể trao đổi sách này."
BR-16: Người dùng chỉ có thể đề xuất trao đổi với người dùng khác có sách trong danh sách của họ.
UC-17: Xem thông tin trao đổi sách
Trigger: Người dùng muốn xem thông tin về các đề xuất trao đổi sách.
Description: Người dùng có thể xem tất cả các đề xuất trao đổi sách của mình.
Preconditions: Người dùng đã đăng nhập.
Postconditions: Người dùng xem được danh sách các đề xuất trao đổi.
Không có đề xuất nào: Hệ thống thông báo "Bạn chưa có đề xuất trao đổi nào."
BR-17: Danh sách đề xuất phải bao gồm thông tin sách và trạng thái đề xuất.
UC-18: Viết đánh giá sách
Trigger: Người dùng muốn đánh giá một cuốn sách.
Description: Người dùng có thể đánh giá và viết nhận xét về sách.
Preconditions: Người dùng đã đăng nhập và sách tồn tại.
Postconditions: Đánh giá và nhận xét được lưu vào hệ thống.
Thông tin không hợp lệ: Hệ thống thông báo lỗi tương ứng.
BR-18: Đánh giá phải từ 1 đến 5 sao.
UC-19: Cập nhật người dùng
Trigger: Quản trị viên muốn cập nhật thông tin của một người dùng.
Description: Quản trị viên có thể cập nhật thông tin người dùng.
Preconditions: Người dùng đã tồn tại trong hệ thống.
Postconditions: Thông tin người dùng được cập nhật thành công.
Thông tin không hợp lệ: Hệ thống thông báo lỗi tương ứng.
BR-19: Các thông tin cập nhật phải tuân thủ các quy tắc định dạng tương ứng.
Trigger: Quản trị viên muốn xóa một người dùng khỏi hệ thống.
Description: Quản trị viên có thể xóa tài khoản người dùng.
Preconditions: Người dùng đã tồn tại trong hệ thống.
Postconditions: Người dùng được xóa khỏi hệ thống.
Người dùng không tồn tại: Hệ thống thông báo "Người dùng không tồn tại."
BR-20: Người dùng phải được thông báo trước khi xóa tài khoản.
Trigger: Quản trị viên muốn xem danh sách người dùng.
Description: Quản trị viên có thể xem thông tin chi tiết của tất cả người dùng.
Postconditions: Quản trị viên xem được danh sách người dùng.
Không có người dùng nào: Hệ thống thông báo "Hiện tại không có người dùng nào."
BR-21: Danh sách người dùng phải bao gồm tên, email và trạng thái tài khoản.
Trigger: Quản trị viên muốn xóa một cuốn sách khỏi hệ thống.
Description: Quản trị viên có thể xóa sách không còn cần thiết.
Preconditions: Sách đã tồn tại trong hệ thống.
Postconditions: Sách được xóa khỏi hệ thống.
Sách không tồn tại: Hệ thống thông báo "Sách không tồn tại."
BR-22: Quản trị viên phải có quyền hạn để xóa sách.
Trigger: Quản trị viên muốn cập nhật thông tin của một cuốn sách.
Description: Quản trị viên có thể cập nhật thông tin sách.
Preconditions: Sách đã tồn tại trong hệ thống.
Postconditions: Thông tin sách được cập nhật thành công.
Thông tin không hợp lệ: Hệ thống thông báo lỗi tương ứng.
BR-23: Các thông tin cập nhật phải tuân thủ các quy tắc định dạng tương ứng.
Trigger: Quản trị viên muốn thêm một cuốn sách mới vào hệ thống.
Description: Quản trị viên có thể thêm sách mới vào thư viện.
Postconditions: Sách được thêm vào hệ thống.
Thông tin không hợp lệ: Hệ thống thông báo lỗi tương ứng.
BR-24: Thông tin sách phải bao gồm tiêu đề, tác giả, thể loại và mô tả.
Trigger: Người dùng muốn xem danh sách sách có trong hệ thống.
Description: Người dùng có thể xem tất cả các sách trong thư viện.
Postconditions: Người dùng xem được danh sách sách có trong hệ thống.
Không có sách nào: Hệ thống thông báo "Hiện tại không có sách nào."
BR-25: Danh sách sách phải được sắp xếp theo tên hoặc thể loại.
Trigger: Quản trị viên muốn tổ chức một sự kiện mới.
Description: Quản trị viên có thể tạo sự kiện cho thư viện.
Postconditions: Sự kiện được tạo thành công.
Thông tin không hợp lệ: Hệ thống thông báo lỗi tương ứng.
BR-26: Thông tin sự kiện phải bao gồm tên, ngày giờ, địa điểm và mô tả.
Trigger: Quản trị viên muốn xem các thống kê của hệ thống.
Description: Quản trị viên có thể xem thống kê về mượn sách, người dùng, và sự kiện.
Postconditions: Quản trị viên xem được các thống kê cần thiết.
Không có thống kê nào: Hệ thống thông báo "Hiện tại không có thống kê nào."
BR-27: Thống kê phải được cập nhật theo thời gian thực.
Primary Actor: Quản trị viên (Admin)
Trigger: Quản trị viên muốn thêm một tài khoản mới.
Description: Quản trị viên có thể thêm tài khoản người dùng mới.
Postconditions: Tài khoản được tạo thành công.
Thông tin không hợp lệ: Hệ thống thông báo lỗi tương ứng.
BR-28: Tài khoản mới phải có email và số điện thoại duy nhất.
UC-29: Cập nhật tài khoản
Primary Actor: Quản trị viên (Admin)
Trigger: Quản trị viên muốn cập nhật thông tin của một tài khoản.
Description: Quản trị viên có thể cập nhật thông tin tài khoản người dùng.
Preconditions: Tài khoản đã tồn tại trong hệ thống.
Postconditions: Thông tin tài khoản được cập nhật thành công.
Thông tin không hợp lệ: Hệ thống thông báo lỗi tương ứng.
BR-29: Các thông tin cập nhật phải tuân thủ các quy tắc định dạng tương ứng.
Primary Actor: Quản trị viên (Admin)
Trigger: Quản trị viên muốn xóa một tài khoản khỏi hệ thống.
Description: Quản trị viên có thể xóa tài khoản người dùng.
Preconditions: Tài khoản đã tồn tại trong hệ thống.
Postconditions: Tài khoản được xóa khỏi hệ thống.
Tài khoản không tồn tại: Hệ thống thông báo "Tài khoản không tồn tại."
BR-30: Quản trị viên phải có quyền hạn để xóa tài khoản.
Primary Actor: Quản trị viên (Admin)
Trigger: Quản trị viên muốn cấp quyền cho người dùng.
Description: Quản trị viên có thể cấp quyền truy cập cho người dùng.
Preconditions: Người dùng đã tồn tại trong hệ thống.
Postconditions: Quyền truy cập được cấp cho người dùng.
Người dùng không tồn tại: Hệ thống thông báo "Người dùng không tồn tại."
BR-31: Chỉ quản trị viên mới có quyền cấp quyền cho người dùng khác.
UC-32: Get My Own QR Code
Người dùng xem thông tin chi tiết của một phiếu mua hàng cụ thể.
Thành viên chọn một phiếu mua hàng từ danh sách phiếu mua hàng của họ.
Người dùng phải đăng nhập với tư cách là thành viên.
Mã QR cá nhân của người dùng được hiển thị trên màn hình.
Nếu không thể lấy dữ liệu mã QR, hệ thống sẽ hiển thị thông báo lỗi.
Mỗi thành viên được liên kết với một mã QR duy nhất.
Người dùng xem thông tin chi tiết của một phiếu mua hàng cụ thể.
Thành viên chọn một phiếu mua hàng từ danh sách phiếu mua hàng của họ.
Người dùng phải đăng nhập với tư cách là thành viên.
Thành viên phải có phiếu mua hàng trong tài khoản của họ.
Thông tin chi tiết của phiếu mua hàng đã chọn sẽ được hiển thị.