HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔN1.pdf
Document Details
Uploaded by HighQualityVerism
Tags
Full Transcript
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN Nhập môn công nghệ phần mềm Nhóm 13 ĐỀ TÀI: Hệ thống quản lý cửa hàng cho thuê truyện Nhóm BTL: 11 Đặng Ngọc Anh: B21DCCN141 Đỗ Minh Khô...
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN Nhập môn công nghệ phần mềm Nhóm 13 ĐỀ TÀI: Hệ thống quản lý cửa hàng cho thuê truyện Nhóm BTL: 11 Đặng Ngọc Anh: B21DCCN141 Đỗ Minh Khôi: B21DCCN070 Nguyễn Duy Mạnh: B21DCCN512 Trần Việt Trung: B21DCAT195 Modul “Khách hàng trả truyện và thanh toán” Báo cáo tổng hợp 1. Biểu đồ UC chi tiết + Mô tả các UC của modul Mô tả các UC của modul - Tìm khách hàng: UC cho phép nhân viên bán hàng tìm khách hàng theo tên - Chọn đầu truyện muốn trả: UC cho phép nhân viên bán hàng tìm danh sách truyện đã mượn của khách hàng và chọn truyện khách muốn trả. - Thêm tiền phạt: UC cho phép nhân viên bán hàng thêm tiền phạt vào hóa đơn của khách hàng. - Thêm tình trạng truyện: UC cho phép nhân viên bán hàng thêm tình trạng của truyện sau khi được trả từ khách hàng. - Xác nhận: UC cho phép nhân viên bán hàng tạo hóa đơn cho khách hàng. Scenerio Cho khách hàng trả truyện và thanh toán Actor Nhân viên bán hàng Khách hàng Pre- Nhân viên bán hàng đã đăng nhập thành công condition Post- Hóa đơn của khách hàng hiện ra condition 1, Khách hàng Đỗ Minh Khôi với số căn cước 001203029177 muốn trả truyện Example 1 ở phiếu mượn số 3. 2, Nhân viên bán hàng chọn mục cho khách hàng trả truyện và thanh toán theo tên khách hàng. 3, Hệ thống hiện ra giao diện chứa ô tìm kiếm tên khách hàng. 4, Nhân viên bán hàng điền “Đỗ Minh Khôi” vào ô tìm kiếm và click tìm kiếm. 5, Hệ thống hiện ra giao diện kết quả tìm kiếm: - Ô nhập: Đỗ Minh Khôi. Main event - Nút tìm kiếm. TT Tên khách hàng Căn cước 1 Đỗ Minh Khôi 001109013266 2 Đỗ Minh Khôi 001203029177 3 Đỗ Minh Khôi 001506289744 6, Khách hàng Đỗ Minh Khôi đưa nhân viên bán hàng căn cước công dân với số 001203029177. 7, Nhân viên bán hàng chọn Đỗ Minh Khôi có số căn cước 001203029177 (dòng số 2) 8, Hệ thống hiện ra giao diện danh sách các truyện đã mượn của khách hàng: Giá Giá Thêm TT Tên Tác giả Nhà Năm thuê Ngày đến Tiền Trả tình truyện xuất xuất theo mượn Hạn trả thời phạt truyện trạng bản bản ngày điểm truyện trả 1 Example Nguyễn XY 2021 2000 01/03/2024 30/05/2024 42000 0 + A X 2 Example Trần A AD 2019 1000 22/01/2024 29/04/2024 60000 0 + B 3 Example Huy HJK 2010 300 22/01/2024 28/04/2024 20000 0 + C Trần 4 Example Đỗ K YU 2018 500 04/02/2024 15/05/2024 15500 0 + D - Ô thêm tiền phạt nộp muộn. 9, Khách hàng Đỗ Minh Khôi đưa trả quyển truyện Example A vào ngày 22/03/2024. 10, Nhân viên bán hàng tick ô trả truyện của truyện khách hàng muốn trả. 11, Hệ thống hiện ra giao diện danh sách truyện khách hàng trả ở phía dưới danh sách các truyện khách hàng mượn. TT Truyên trả Tác giả Nhà xuất bản Năm xuất bản 1 Example 1 Nguyễn X XY 2021 - Nút tạo hóa đơn. 12, Nhân viên bán hàng click nút tạo hóa đơn. 13, Hệ thống hiện ra giao diện hóa đơn: - Tên khách hàng: Đỗ Minh Khôi. - Ngày trả: 22/03/2024. - Tổng số tiền thanh toán: 42000 đồng. - Nút xác nhận thanh toán. TT Truyên trả Tác giả Nhà Năm Tiền Tiền phải xuất xuất bản Tiền thuê phạt trả bản 1 Example 1 Nguyễn X XY 2021 42000 0 42000 14, Khách hàng Đỗ Minh Khôi đưa 42000 đồng cho nhân viên bán hàng 15, Nhân viên bán hàng trả khách hàng tài sản thế chấp và nhận 42000 đồng rồi bấm xác nhận thanh toán. 16, Hệ thống hiện thông báo cập nhật hóa đơn thanh toán thành công. 17, Nhân viên click đóng thông báo và in hóa đơn cho khách hàng. 18, Giao diện trở về trang chủ của nhân viên bán hàng 10, Nhân viên bán hàng phát hiện quyển truyện Example 1 bị rách ở bìa. 10.1, Nhân viên bán hàng chọn ô thêm tình trạng truyện. 10.2, Hệ thống hiện ra giao diện thêm tình trạng truyện cho quyển truyện tương ứng: - Ô nhập tiền phạt cho quyển truyện đó - Ô xác nhận TT Tên truyện Tác giả Nhà xuất bản Năm xuất bản Tình trạng truyện 1 Example 1 Nguyễn X XY 2021 10.3, Nhân viên bán hàng điền vào ô tình trang truyện: “Rách bìa ngoài”, nhập 25000 vào ô nhập tiền phạt và bấm xác nhận. 10.4, Hệ thống hiện thông báo cập nhật tình trạng truyện thành công. 10.5, Nhân viên bán hàng ấn nút đóng trên thông báo. 10.6, Giao diện quay lại trang hiện phiếu mượn với giao diện: Nhà Năm Giá Giá đến Thêm Exception TT Tên Tác giả xuất xuất thuê thời Tiền Trả tình truyện bản bản theo điểm trả phạt truyện trạng ngày truyện 1 Example Nguyễn XY 2021 2000 42000 25000 + A X - Ô thêm tiền phạt nộp muộn. 10.7, Nhân viên bán hàng tick ô trả truyện. 11, 9, Khách hàng Đỗ Minh Khôi trả quyển truyện Example 1 vào ngày 05/04/2024. 9.1 Nhân viên bán hàng chọn ô thêm tiền phạt nộp muộn. 9.2, Giao diện hiện ra giao diện ô điền tiền phạt nộp muộn ở phía dưới dưới ô thêm tiền phạt và nút lưu. 9.3, Nhân viên bán hàng điền 40000 vào ô điền và bấm lưu. 9.4, Giao diện hiện ra thông báo cập nhật tiền phạt thành công. 9.5, Nhân viên bán hàng bấm nút đóng thông báo. 9.6, Hệ thống cập nhật danh sách các truyện đã mượn. - Tên phiếu mượn: Phiếu mượn 3. - Ngày mượn: 01/03/2024. - Ngày trả: 02/04/2024 Nhà Năm Giá Giá đến Thêm TT Tên Tác giả xuất xuất thuê thời Tiền Trả tình truyện bản bản theo điểm trả phạt truyện trạng ngày truyện 1 Example Nguyễn XY 2021 2000 42000 40000 + A X 10, Cho khách hàng trả truyện và thanh toán: - Khách hàng - Nhân viên bán hàng - Truyện - Số căn cước (Loại) - Nhà xuất bản - Tác giả (Loại) - Năm xuất bản (Loại) - Nhân viên bán hàng - Phiếu mượn - Hóa đơn - Hệ thống (Loại do danh từ trừu tượng) - Giao diện (Loại do danh từ trừu tượng) - Tiền phạt (Loại) - Thông báo (Loại do danh từ trừu tượng) - Lỗi hỏng Employee (name, dob, phoneNum, email, role, username, password) Customer (customerName, dob, idCardNumber, phoneNum, email) BookSerie (title, genre, author, quantity, publisher, publicationYear, totalBorrowedCount) Book (barcode, rentalPricePerDay, isHired, bookStatus, dateAdded, borrowedFCount) Supplier (name, address, phone, email) RentalTransaction(quantity, collateral, rentalDate, returnDate, totalAmount) Bill (paymentDate, totalAmount, penaltyAmount) DamagedDetail(isDamaged, damagedDetail) Biểu đồ lớp thực thể Biểu đồ lớp thực thể bao gồm lớp giao diện Hàm kiểm tra đăng nhập: - Tên: checkLogin. - Input: username, password (Employee) - Output: Boolean Hàm tìm kiếm khách hàng: - Tên: searchCurrentCustomer. - Input: String - Output: Danh sách khách hàng (Customer) Hàm tìm kiếm các đầu truyện đã được mượn: - Tên: findHiredBook - Input: String - Output: Danh sách các truyện được mượn (RentalDetail) Hàm thêm truyện đã trả: - Tên: addBooksToBill - Input: barcode(Book) - Output: Danh sách các truyện đã trả (BillDetail) Hàm tạo hóa đơn: - Tên: createBill - Input: RentalDetail - Output: tổng tiền phải trả (Bill) Hàm thêm lỗi hỏng - Tên: createDamagedDesc - Input: String - Output: Lỗi hỏng (DamagedDetail) Hàm thêm tiền phạt - Tên: addPenalty - Input: float - Output: Tiền phạt(BillDetail) Scenerio version 2: 1. Khách hàng yêu cầu trả truyện và thanh toán. 2. Nhân viên bán hàng điền username và password và click nút login ở lớp LoginView. 3. Lớp LoginView gọi lớp Employee hoạt động 4. Lớp Employee gọi hàm checkLogin(). Đăng nhập thành công. 5. Lớp Employee trả về kết quả cho lớp LoginView 6. Lớp LoginView gọi lớp EmployeeHomeView. 7. Lớp EmployeeHomeView hiện thị lên trước nhân viên bán hàng. 8. Nhân viên bán hàng chọn chức năng cho trả truyện và thanh toán. 9. Lớp EmployeeHomeView gọi lớp SearchCustomerView. 10.Lớp SearchCustomerView hiện lên. 11.Nhân viên bán hàng yêu cầu khách hàng cung cấp tên. 12. Khách hàng cung cấp tên cho nhân viên bán hàng. 13. Nhân viên bán hàng nhập tên khách hàng vào ô tìm kiếm và click tìm kiếm trên giao diện SearchCustomerView. 14. Lớp searchCustomerView gọi lớp Customer. 15. Lớp Customer gọi hàm searchCurrentCustomer(). 16. Hàm searchCurrentCustomer() trả kết quả cho lớp SearchCustomerView. 17. Lớp SearchCustomerView hiển thị kết quả cho người dung. 18. Nhân viên bán hàng thông báo kết quả cho khách hàng và yêu cầu khách hàng cung cấp số căn cước. 19. Khách hàng cung cấp số căn cước cho nhân viên bán hàng 20. Nhân viên bán hàng chọn khách hàng tương ứng với số căn cước 21. Lớp searchCustomerView gọi lớp BookRentalView 22. Lớp BookRentalView gọi lớp RentalDetail 23. Lớp RentalDetail gọi hàm findHiredBook(). 24. Hàm findHiredBook() trả kết quả cho lớp BookRentalView 25. Lớp BookRentalView hiện kết quả cho nhân viên bán hàng 26. Nhân viên bán hàng yêu cầu khách hàng chọn truyện muốn trả. 27. Khách hàng trả lời các truyện muốn trả cho nhân viên bán hàng. 28. Nhân viên bán hàng chọn những truyện theo yêu cầu trên lớp BookRentalView. 29. Lớp BookRentalView gọi lớp AddBooksToBillView. 30.Lớp AddBooksToBillView gọi lớp BillDetail 31.Lớp BillDetail hàm addBooksToBill(). 32.Hàm addBooksToBill() trả kết quả về cho lớp AddBooksToBillView. 33. Lớp AddBooksToBillView hiện kết quả cho nhân viên bán hàng. 34. Nhân viên bán hàng hỏi khách hàng đồng ý thanh toán. 35. Khách hàng đồng ý thánh toán. 36. Nhân viên bán hàng bấm nút tạo hóa đơn trên lớp AddBooksToBillView. 37. Lớp AddBooksToBillView gọi lớp BillView. 38. Lớp BillView gọi lớp Bill 39. Lớp Bill gọi hàm createBill(). 40. Hàm createBill() trả kết quả về lớp BillView. 41. Lớp BillView hiển thị hóa đơn cho người bán hàng. 42. Nhân viên bán hàng yêu cầu khách hàng trả tiền. 43. Khách hàng trả tiền cho nhân viên bán hàng. 44. Nhân viên bán hàng nhận tiền, in hóa đơn và bấm xác nhận thanh toán. 45. Hệ thống báo cập nhật hóa đơn thành công cho người bán hàng. *Sequence diagram Thiết kế lớp thực thể - Supplier có quan hệ 1-N với BookSerie - BookSerie có quan hệ 1-N với Book - Employee có quan hệ 1-N với Book - Book có quan hệ 1 – N với RentalDetail - RentalDetail có quan hệ N – 1 với RentalTransaction - Book có quan hệ 1 – N với DamagedDetail - Book có quan hệ 1 – N với BillDetail - BillDetail có quan hệ N -1 với Bill - Customer có quan hệ 1 –N với Bill - Employee có quan hệ 1 – N với Bill - Customer có quan hệ 1 – N với RentalTransaction Thiết kế cơ sở dữ liệu Thiết kế giao diện Thiết kế biểu đồ lớp chi tiết (tĩnh) Hàm kiểm tra đăng nhập: checkLogin() - Input: username, password (Employee) - Output: Boolean, name, role (Employee) Hàm tìm kiếm khách hàng: searchCustomer() - Input: name(String) - Output: danh sách khách hàng (Customer[]) Hàm tìm kiếm lịch sử cho mượn truyện của khách hàng: findRentalHistory() - Input: id (String) - Output: danh sách các truyện đã mượn của khách hàng (RentalDetail[]) Hàm thêm truyện đã chọn để trả: findSelectedBook() - Input: toàn bộ thuộc tính của BillDetail - Output: Danh sách các truyện đã chọn để trả (BillDetail[]) Hàm tạo hóa đơn đơn mới: createBill() - Input: paymentMethod, billName, dateCreated (Bill) - Output: Danh sách các truyện đã trả (BillDetail[]), tổng tiền phải trả. Kịch bản chuẩn v3 1. Khách hàng yêu cầu trả truyện và thanh toán. 2. Nhân viên bán hàng nhập username, password và bấm đăng nhập. 3. actionPerformed của LoginFrm được gọi. 4. actionPerformed() gọi lớp Employee() để tạo ra một object Employee. 5. Lớp Employee đóng gói thông tin vào object Employee. 6. Lớp Employee trả object Employee về cho actionPerformed(). 7. actionPerfomed gọi hàm checkLogin() của lớp EmployeeDAO. 8. Hàm checkLogin() kiểm tra thông tin đăng nhập. 9. Hàm checkLogin() gọi lớp Employee set 2 thuộc tính name, role 10. Lớp Employee gọi setName, setRole. 11. Lớp Employee trả kết quả cho hàm checkLogin(). 12. Hàm checkLogin trả kết quả về cho actionPerformed(). 13. actionPerformed() gọi lớp EmployeeHomeFrm. 14. Constructor lớp EmployeeHomeFrm được gọi. 15. Giao diện lớp EmployeeHomeFrm hiện lên cho nhân viên bán hàng. 16. Nhân viên bán hàng bấm nút cho khách trả truyện và thanh toán. 17. actionPerformed được gọi. 18. actionPerformed gọi lớp SearchCustomerFrm. 19. Lớp SearchCustomerFrm gọi constructor. 20. Giao diện lớp SearchCustomerFrm hiện lên cho nhân viên bán hàng. 21. Nhân viên bán hàng hỏi khách hàng tên. 22. Khách hàng cung cấp tên của mình. 23. Nhân viên bán hàng nhập tên khách hàng vào ô tìm kiếm và nhấn tìm kiếm trên giao diện lớp SearchCustomerFrm. 24. actionPerformed() lớp SearchCustomerFrm được gọi. 25. actionPerformef gọi lớp CustomerDAO. 26. Lớp Customer DAO gọi hàm searchCustomer(). 27. Hàm searchCustomer() gọi lớp Customer. 28. Lớp Customer đóng gói thông tin từng object Customer. 29. Lớp Customer trả thông tin về cho hàm searchCustomer(). 30. Hàm searchCustomer trả thông tin về cho lớp SearchCustomerFrm. 31. Lớp SearchCustomerFrm hiện giao diện lên cho nhân viên bán hàng. 32. Nhân viên bán hàng hỏi khách hàng số căn cước. 33. Khách hàng trả lời số căn cước. 34. Nhân viên bán hàng chọn khách hàng có số căn cước tương ứng trên lớp. 35. actionPerfomed() của lớp SearchCustomer được gọi. 36. actionPerfomed() goị lớp Customer set thuộc tính 37. Lớp Customer gọi setCustomer. 38. Lớp Customer trả kết quả về cho lớp SearchCustomerFrm. 39. Lớp SearchCustomerFrm gọi lớp RentalHistoryFrm. 40. actionPerfomed() của lớp RentalHistortyFrm được gọi. 41. actionPerfomed() gọi lớp RentalHistoryDAO. 42. Lớp RentalHistoryDAO gọi hàm findRentalDetail(). 43. Hàm findRentalDetail() gọi lớp RentalDetail. 44. Lớp RentalDetail đóng gói từng object RentalDetail. 45. Lớp RentalDetail trả thông tin về cho hàm findRentalDetail. 46. Hàm findRentalDetail trả thông tin về cho lớp RentalHistoryFrm. 47. Lớp RentalHistoryFrm hiện giao diện cho nhân viên bán hàng. 48. Nhân viên bán hàng yêu cầu khách hàng chọn truyện muốn trả. 49. Khách hàng trả lời các truyện muốn trả. 50. Nhân viên bán hàng click chọn các truyên khách hàng muốn trả trên lớp RentalHistoryFrm. 51. actionPerformed() trên lớp RentalHistoryFrm được gọi. 52. actionPerformed gọi lớp BillDetail đóng gói thông tin để truyền đi giao diện khác. 53. Lớp BillDetail gọi các phương thức setter. 54. Lớp BillDetail gọi lớp Book để đóng gói các thông tin của nó. 55. Lớp Book đóng gói các attributes. 56. Lớp Book trả các object đã đóng gói cho lớp BillDetail. 57. Lớp BillDetail trả thông tin về cho lớp RentalHistoryFrm. 58. Lớp RentalHistoryFrm gọi lớp BillDetailDAO. 59. Lớp BillDetailDAO gọi hàm addSeletectedBook(). 60. Hàm addSelectedBook() yêu cầu lớp Book đóng gọi thông tin. 61. Lớp Book goi setter. 62. Lớp Book trả thông tin về cho hàm addSelectedBook(). 63. Lớp Book trả kết quả về cho lớp RentalHistoryFrm. 64. Lớp RentalHistoryFrm hiện giao diện cho nhân viên bán hàng. 65. Nhân viên bán hàng hỏi khách hàng muốn tạo hóa đơn. 66. Khách hàng đồng ý tạo hóa đơn. 67. Nhân viên bán hàng chọn nút tạo hóa đơn trên lớp RentalHistoryFrm. 68. Lớp RentalHistoryFrm gọi lớp BillFrm. 69. Lớp BillFrm gọi constructor. 70. Lớp BillFrm hiện giao diện cho nhân viên bán hàng. 71. Nhân viên bán hàng yêu cầu khách hàng trả tiền. 72. Khách hàng trả tiền cho nhân viên bán hàng. 73. Nhân viên bán hàng bấm nút confirm trên lớp BillFrm 74. actionPerformed trên lớp BillFrm được gọi. 75. actionPerformed gọi lớp BillDAO. 76. Lớp BillDAO gọi hàm createBill(). 77. hàm CreateBill() gọi lớp Bill. 78. Lớp Bill đóng gói object Bill 79. Lớp Bill trả kết quả về cho lớp BillFrm. 80. Lớp BillFrm hiện thông báo thành công. Thiết kế biểu đồ tuần tự cho kịch bản v3 (Động) Black box testing plan No. Module Test case 1 Cho khách hàng trả và thanh toán 1 truyện đang mượn 2 Cho khách hàng trả và thanh toán 2 truyện đang mượn 3 Cho khách hàng trả và thanh toán 1 truyện đang mượn nhưng truyện đó nộp muộn Khách hàng trả 4 Cho khách hàng trả và thanh toán 2 truyện đang mượn truyện và thanh nhưng 1 truyện nộp muộn toán 5 Cho khách hàng trả và thanh toán 2 truyện đang mượn nhưng cả 2 truyện nộp muộn 6 Cho khách hàng trả và thanh toán 1 truyện đang mượn nhưng truyện đó bị rách bìa 7 Cho khách hàng trả và thanh toán 2 truyện đang mượn nhưng 1 truyện bị rách bìa 8 Cho khách hàng trả và thanh toán 2 truyện đang mượn nhưng cả 2 truyện bị rách bìa Test case No.1: Cho khách hàng trả và thanh toán 1 truyện đang mượn tblEmployee ID name phoneNum email role dob username password 1 Đỗ Khôi 12345 [email protected] seller 20/07/2003 khoi 123 2 Chaeyoung 54321 [email protected] manager 29/04/1999 chae 321 3 Alex 87485 [email protected] seller 10/05/2002 alex 546 tblCustomer ID name email dob phoneNum idCardNum 1 X [email protected] 13/01/1996 4356 1221 2 YX [email protected] 27/07/2007 5678 4589 3 Z [email protected] 04/05/1998 4543 1223 tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 true 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tlbBookSerie ID title genre author publisher publicationYear supplierId 121 A UX H L 2019 1 131 B UX K M 2007 3 141 C UI J N 2016 2 tblRentalDetail ID endDate lateFeePerDay isReturned bookId RentalTransactionId 1 06/05/2024 1000 false 1 2 2 06/05/2024 400 false 2 2 3 14/07/2024 600 false 4 3 4 14/07/2024 300 false 5 3 5 14/04/2024 230 true 3 1 tblRentalTransaction ID rentalName dateCreated collateral customerId 1 Phiếu mượn Z 20/01/2024 150(một trăm 3 nghìn đồng) 2 Phiếu mượn X 14/02/2024 100 (một trăm 1 nghìn đồng) 3 Phiếu mượn Y 16/03/2024 200 (Hai trăm 2 nghìn đồng) tblBill ID billlName paymentMethod dateCreated customerId employeeId 1 Hóa đơn Z Tiền mặt 25/04/2024 3 2 tblBillDetail ID damagedPenalty lateFee hiredFee billId bookId 1 0 23000 43000 1 2 Testing scenario and expected results Các bước thực Kết quả mong đợi hiện 1, Chạy Giao diện đăng nhập xuất hiện với ô điền username, password và nút đăng nhập chương trình 2, Nhập Giao diện trang chủ nhân viên bán hàng hiện ra nút cho trả truyện và thanh toán username = khoi password = 123 và click nút đăng nhập 3, Nhấn vào Giao diện hiện ra trang tìm kiếm khách hàng theo tên với ô nhập tên và nút tìm kiếm nút cho trả truyện và thanh toán Giao diện hiện ra danh sách khách hàng 4, Nhập tên khách hàng = TT Tên khách hàng Căn cước X vào ô tìm 1 X 1221 kiếm và nhấn 2 YX 4589 nút tìm kiếm Giao diện hiện ra danh sách các truyện khách hàng X đã mượn: Giá Giá Thêm TT Tên Tác giả Nhà Năm thuê Ngày đến Tiền Trả tình 5, Chọn khách truyện xuất xuất theo mượn Hạn trả thời phạt truyện trạng hàng tên X bản bản ngày điểm truyện trả (dòng 1) 1 A Nguyễn H 2019 500 14/02/2024 06/05/2024 130000 0 + X 2 B Trần A K 2007 200 14/02/2024 06/05/2024 50000 0 + - Nút thêm tiền phạt nộp muộn 6, Click ô trả Giao diện hiện ra danh sách các truyện được chọn trả: truyện A (dòng 1) TT Tên truyện Tác giả Nhà xuất Năm xuất bản bản 1 A Nguyễn X H 2019 - Nút tạo hóa đơn 7, Click nút tạo Giao diện hóa đơn hiện ra với tên khách hàng, số điện thoại khách hàng, ô hình thức thanh toán và danh hóa đơn sách các truyện đã trả Giá đến thời Tổng TT Tên truyện Tác giả Nhà Năm điểm trả Tiền xuất xuất bản phạt bản 1 A Nguyễn X H 2019 130000 0 130000 - Ô hiện tổng tiền phải trả = 130000 - Nút confirm 8, Click nút Giao diện hiện ra thông báo tạo hóa đơn thành công. confirm 9, click nút Giao diện quay lại trang chủ nhân viên bán hàng. đóng thông báo Cơ sơ dữ liệu sau khi test: Các bảng khác giống như trước khi test. tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 false 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tblRentalDetail ID endDate lateFeePerDay isReturned bookId RentalTransactionId 1 06/05/2024 1000 true 1 2 2 06/05/2024 400 false 2 2 3 14/07/2024 600 false 4 3 4 14/07/2024 300 false 5 3 5 14/04/2024 230 true 3 1 tblBill ID billlName paymentMethod dateCreated customerId employeeId 1 Hóa đơn Z Tiền mặt 25/04/2024 3 2 2 Hóa đơn X Tiền mặt 06/05/2024 1 1 tblBillDetail ID damagedPenalty lateFee hiredFee billId bookId 1 0 23000 43000 1 2 2 0 0 130000 2 1 Test case No.2: Cho khách hàng trả và thanh toán 2 truyện đang mượn tblEmployee ID name phoneNum email role dob username password 1 Đỗ Khôi 12345 [email protected] seller 20/07/2003 khoi 123 2 Chaeyoung 54321 [email protected] manager 29/04/1999 chae 321 3 Alex 87485 [email protected] seller 10/05/2002 alex 546 tblCustomer ID name email dob phoneNum idCardNum 1 X [email protected] 13/01/1996 4356 1221 2 YX [email protected] 27/07/2007 5678 4589 3 Z [email protected] 04/05/1998 4543 1223 tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 true 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tlbBookSerie ID title genre author publisher publicationYear supplierId 121 A UX H L 2019 1 131 B UX K M 2007 3 141 C UI J N 2016 2 tblRentalDetail ID endDate lateFeePerDay isReturned bookId RentalTransactionId 1 06/05/2024 1000 false 1 2 2 06/05/2024 400 false 2 2 3 14/07/2024 600 false 4 3 4 14/07/2024 300 false 5 3 5 14/04/2024 230 true 3 1 tblRentalTransaction ID rentalName dateCreated collateral customerId 1 Phiếu mượn Z 20/01/2024 150(một trăm 3 nghìn đồng) 2 Phiếu mượn X 14/02/2024 100 (một trăm 1 nghìn đồng) 3 Phiếu mượn Y 16/03/2024 200 (Hai trăm 2 nghìn đồng) tblBill ID billlName paymentMethod dateCreated customerId employeeId 1 Hóa đơn Z Tiền mặt 25/04/2024 3 2 tblBillDetail ID damagedPenalty lateFee hiredFee billId bookId 1 0 23000 43000 1 2 Testing scenario and expected results Các bước thực Kết quả mong đợi hiện 1, Chạy chương Giao diện đăng nhập xuất hiện với ô điền username, password và nút đăng nhập trình 2, Nhập Giao diện trang chủ nhân viên bán hàng hiện ra nút cho trả truyện và thanh toán username = khoi password = 123 và click nút đăng nhập 3, Nhấn vào nút Giao diện hiện ra trang tìm kiếm khách hàng theo tên với ô nhập tên và nút tìm kiếm cho trả truyện và thanh toán Giao diện hiện ra danh sách khách hàng 4, Nhập tên khách hàng = X TT Tên khách hàng Căn cước vào ô tìm kiếm 1 X 1221 và nhấn nút tìm 2 YX 4589 kiếm Giao diện hiện ra danh sách các truyện khách hàng X đã mượn: Giá Giá Thêm TT Tên Tác giả Nhà Năm thuê Ngày đến Tiền Trả tình 5, Chọn khách truyện xuất xuất theo mượn Hạn trả thời phạt truyện trạng hàng tên X (dòng bản bản ngày điểm truyện trả 1) 1 A Nguyễn H 2019 500 14/02/2024 06/05/2024 130000 0 + X 2 B Trần A K 2007 200 14/02/2024 06/05/2024 50000 0 + - Nút thêm tiền phạt nộp muộn 6, Click ô trả Giao diện hiện ra danh sách các truyện được chọn trả: truyện A (dòng 1) và click ô trả truyện B (dòng 2) TT Tên truyện Tác giả Nhà xuất Năm xuất bản bản 1 A Nguyễn X H 2019 2 B Trần A K 2007 - Nút tạo hóa đơn 7, Click nút tạo Giao diện hóa đơn hiện ra với tên khách hàng, số điện thoại khách hàng, ô hình thức thanh toán và danh hóa đơn sách các truyện đã trả Giá đến thời Tổng TT Tên truyện Tác giả Nhà Năm điểm trả Tiền xuất xuất bản phạt bản 1 A Nguyễn X H 2019 130000 0 130000 2 B Trần A K 2007 50000 0 50000 - Ô hiện tổng tiền phải trả = 180000 - Nút confirm 8, Click nút Giao diện hiện ra thông báo tạo hóa đơn thành công. confirm 9, click nút đóng Giao diện quay lại trang chủ nhân viên bán hàng. thông báo Cơ sơ dữ liệu sau khi test: Các bảng khác giống như trước khi test. tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 false 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tblRentalDetail ID endDate lateFeePerDay isReturned bookId RentalTransactionId 1 06/05/2024 1000 true 1 2 2 06/05/2024 400 false 2 2 3 14/07/2024 600 false 4 3 4 14/07/2024 300 false 5 3 5 14/04/2024 230 true 3 1 tblBill ID billlName paymentMethod dateCreated customerId employeeId 1 Hóa đơn Z Tiền mặt 25/04/2024 3 2 2 Hóa đơn X Tiền mặt 06/05/2024 1 1 tblBillDetail ID damagedPenalty lateFee hiredFee billId bookId 1 0 23000 43000 1 3 2 0 0 130000 2 1 3 0 0 50000 2 2 Test case No.3: Cho khách hàng trả và thanh toán 1 truyện đang mượn nhưng truyện đó nộp muộn. tblEmployee ID name phoneNum email role dob username password 1 Đỗ Khôi 12345 [email protected] seller 20/07/2003 khoi 123 2 Chaeyoung 54321 [email protected] manager 29/04/1999 chae 321 3 Alex 87485 [email protected] seller 10/05/2002 alex 546 tblCustomer ID name email dob phoneNum idCardNum 1 X [email protected] 13/01/1996 4356 1221 2 YX [email protected] 27/07/2007 5678 4589 3 Z [email protected] 04/05/1998 4543 1223 tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 true 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tlbBookSerie ID title genre author publisher publicationYear supplierId 121 A UX H L 2019 1 131 B UX K M 2007 3 141 C UI J N 2016 2 tblRentalDetail ID endDate lateFeePerDay isReturned bookId RentalTransactionId 1 06/05/2024 1000 false 1 2 2 06/05/2024 400 false 2 2 3 14/07/2024 600 false 4 3 4 14/07/2024 300 false 5 3 5 14/04/2024 230 true 3 1 tblRentalTransaction ID rentalName dateCreated collateral customerId 1 Phiếu mượn Z 20/01/2024 150(một trăm 3 nghìn đồng) 2 Phiếu mượn X 14/02/2024 100 (một trăm 1 nghìn đồng) 3 Phiếu mượn Y 16/03/2024 200 (Hai trăm 2 nghìn đồng) tblBill ID billlName paymentMethod dateCreated customerId employeeId 1 Hóa đơn Z Tiền mặt 25/04/2024 3 2 tblBillDetail ID damagedPenalty lateFee hiredFee billId bookId 1 0 23000 43000 1 2 Testing scenario and expected results Các bước thực Kết quả mong đợi hiện 1, Chạy chương Giao diện đăng nhập xuất hiện với ô điền username, password và nút đăng nhập trình 2, Nhập Giao diện trang chủ nhân viên bán hàng hiện ra nút cho trả truyện và thanh toán username = khoi password = 123 và click nút đăng nhập 3, Nhấn vào nút Giao diện hiện ra trang tìm kiếm khách hàng theo tên với ô nhập tên và nút tìm kiếm cho trả truyện và thanh toán Giao diện hiện ra danh sách khách hàng 4, Nhập tên khách hàng = X TT Tên khách hàng Căn cước vào ô tìm kiếm 1 X 1221 và nhấn nút tìm 2 YX 4589 kiếm Giao diện hiện ra danh sách các truyện khách hàng X đã mượn: Giá Giá Thêm TT Tên Tác giả Nhà Năm thuê Ngày đến Tiền Trả tình 5, Chọn khách truyện xuất xuất theo mượn Hạn trả thời phạt truyện trạng hàng tên X (dòng bản bản ngày điểm truyện trả 1) 1 A Nguyễn H 2019 500 14/02/2024 06/05/2024 130000 0 + X 2 B Trần A K 2007 200 14/02/2024 06/05/2024 50000 0 + - Nút thêm tiền phạt nộp muộn 6, Click nút thêm Giao diện thêm tiền phạt nộp muộn hiện ra với ô điền tiền phạt và nút xác nhận tiền phạt nộp muộn của truyện A(dòng 1) 7, Điền vào ô tiền Giao diện hiện ra thông báo thêm tiền phạt thành công và quay lại trang danh sách các truyện đang mượn. phạt = 30000 và click xác nhận Giá Giá Thêm TT Tên Tác giả Nhà Năm thuê Ngày đến Tiền Trả tình truyện xuất xuất theo mượn Hạn trả thời phạt truyện trạng bản bản ngày điểm truyện trả 1 A Nguyễn H 2019 500 14/02/2024 06/05/2024 130000 30000 + X 2 B Trần A K 2007 200 14/02/2024 06/05/2024 50000 0 + 8, Click ô trả Giao diện hiện ra danh sách các truyện được chọn trả: truyện A (dòng 1) TT Tên truyện Tác giả Nhà xuất Năm xuất bản bản 1 A Nguyễn X H 2019 - Nút tạo hóa đơn 9, Click nút tạo Giao diện hóa đơn hiện ra với tên khách hàng, số điện thoại khách hàng, ô hình thức thanh toán và danh hóa đơn sách các truyện đã trả Giá đến thời Tổng TT Tên truyện Tác giả Nhà Năm điểm trả Tiền xuất xuất bản phạt bản 1 A Nguyễn X H 2019 130000 30000 160000 - Ô hiện tổng tiền phải trả = 160000 - Nút confirm 10, Click nút Giao diện hiện ra thông báo tạo hóa đơn thành công. confirm 11, click nút đóng Giao diện quay lại trang chủ nhân viên bán hàng. thông báo Cơ sơ dữ liệu sau khi test: Các bảng khác giống như trước khi test. tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 false 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tblRentalDetail ID endDate lateFeePerDay isReturned bookId RentalTransactionId 1 06/05/2024 1000 true 1 2 2 06/05/2024 400 false 2 2 3 14/07/2024 600 false 4 3 4 14/07/2024 300 false 5 3 5 14/04/2024 230 true 3 1 tblBill ID billlName paymentMethod dateCreated customerId employeeId 1 Hóa đơn Z Tiền mặt 25/04/2024 3 2 2 Hóa đơn X Tiền mặt 06/05/2024 1 1 tblBillDetail ID damagedPenalty lateFee hiredFee billId bookId 1 0 23000 43000 1 3 2 0 30000 130000 2 1 Test case No.4: Cho khách hàng trả và thanh toán 2 truyện đang mượn nhưng 1 truyện nộp muộn. tblEmployee ID name phoneNum email role dob username password 1 Đỗ Khôi 12345 [email protected] seller 20/07/2003 khoi 123 2 Chaeyoung 54321 [email protected] manager 29/04/1999 chae 321 3 Alex 87485 [email protected] seller 10/05/2002 alex 546 tblCustomer ID name email dob phoneNum idCardNum 1 X [email protected] 13/01/1996 4356 1221 2 YX [email protected] 27/07/2007 5678 4589 3 Z [email protected] 04/05/1998 4543 1223 tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 true 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tlbBookSerie ID title genre author publisher publicationYear supplierId 121 A UX H L 2019 1 131 B UX K M 2007 3 141 C UI J N 2016 2 tblRentalDetail ID endDate lateFeePerDay isReturned bookId RentalTransactionId 1 06/05/2024 1000 false 1 2 2 06/05/2024 400 false 2 2 3 14/07/2024 600 false 4 3 4 14/07/2024 300 false 5 3 5 14/04/2024 230 true 3 1 tblRentalTransaction ID rentalName dateCreated collateral customerId 1 Phiếu mượn Z 20/01/2024 150(một trăm 3 nghìn đồng) 2 Phiếu mượn X 14/02/2024 100 (một trăm 1 nghìn đồng) 3 Phiếu mượn Y 16/03/2024 200 (Hai trăm 2 nghìn đồng) tblBill ID billlName paymentMethod dateCreated customerId employeeId 1 Hóa đơn Z Tiền mặt 25/04/2024 3 2 tblBillDetail ID damagedPenalty lateFee hiredFee billId bookId 1 0 23000 43000 1 2 Testing scenario and expected results Các bước thực Kết quả mong đợi hiện 1, Chạy chương Giao diện đăng nhập xuất hiện với ô điền username, password và nút đăng nhập trình 2, Nhập Giao diện trang chủ nhân viên bán hàng hiện ra nút cho trả truyện và thanh toán username = khoi password = 123 và click nút đăng nhập 3, Nhấn vào nút Giao diện hiện ra trang tìm kiếm khách hàng theo tên với ô nhập tên và nút tìm kiếm cho trả truyện và thanh toán Giao diện hiện ra danh sách khách hàng 4, Nhập tên khách hàng = X TT Tên khách hàng Căn cước vào ô tìm kiếm 1 X 1221 và nhấn nút tìm 2 YX 4589 kiếm Giao diện hiện ra danh sách các truyện khách hàng X đã mượn: Giá Giá Thêm TT Tên Tác giả Nhà Năm thuê Ngày đến Tiền Trả tình 5, Chọn khách truyện xuất xuất theo mượn Hạn trả thời phạt truyện trạng hàng tên X (dòng bản bản ngày điểm truyện trả 1) 1 A Nguyễn H 2019 500 14/02/2024 06/05/2024 130000 0 + X 2 B Trần A K 2007 200 14/02/2024 06/05/2024 50000 0 + - Nút thêm tiền phạt nộp muộn 6, Click nút thêm Giao diện thêm tiền phạt nộp muộn hiện ra với ô điền tiền phạt và nút xác nhận tiền phạt nộp muộn của truyện A(dòng 1) 7, Điền vào ô tiền Giao diện hiện ra thông báo thêm tiền phạt thành công và quay lại trang danh sách các truyện đang mượn. phạt = 30000 và click xác nhận Giá Giá Thêm TT Tên Tác giả Nhà Năm thuê Ngày đến Tiền Trả tình truyện xuất xuất theo mượn Hạn trả thời phạt truyện trạng bản bản ngày điểm truyện trả 1 A Nguyễn H 2019 500 14/02/2024 06/05/2024 130000 30000 + X 2 B Trần A K 2007 200 14/02/2024 06/05/2024 50000 0 + 8, Click ô trả Giao diện hiện ra danh sách các truyện được chọn trả: truyện A (dòng 1) TT Tên truyện Tác giả Nhà xuất Năm xuất bản bản 1 A Nguyễn X H 2019 2 B Trần A K 2007 - Nút tạo hóa đơn 9, Click nút tạo Giao diện hóa đơn hiện ra với tên khách hàng, số điện thoại khách hàng, ô hình thức thanh toán và danh hóa đơn sách các truyện đã trả Giá đến thời Tổng TT Tên truyện Tác giả Nhà Năm điểm trả Tiền xuất xuất bản phạt bản 1 A Nguyễn X H 2019 130000 30000 160000 2 B Trần A K 2007 50000 0 50000 - Ô hiện tổng tiền phải trả = 210000 - Nút confirm 10, Click nút Giao diện hiện ra thông báo tạo hóa đơn thành công. confirm 11, click nút đóng Giao diện quay lại trang chủ nhân viên bán hàng. thông báo Cơ sơ dữ liệu sau khi test: Các bảng khác giống như trước khi test. tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 false 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tblRentalDetail ID endDate lateFeePerDay isReturned bookId RentalTransactionId 1 06/05/2024 1000 true 1 2 2 06/05/2024 400 false 2 2 3 14/07/2024 600 false 4 3 4 14/07/2024 300 false 5 3 5 14/04/2024 230 true 3 1 tblBill ID billlName paymentMethod dateCreated customerId employeeId 1 Hóa đơn Z Tiền mặt 25/04/2024 3 2 2 Hóa đơn X Tiền mặt 06/05/2024 1 1 tblBillDetail ID damagedPenalty lateFee hiredFee billId bookId 1 0 23000 43000 1 3 2 0 30000 130000 2 1 3 0 0 50000 2 2 Test case No.5: Cho khách hàng trả và thanh toán 2 truyện đang mượn nhưng cả 2 truyện nộp muộn. tblEmployee ID name phoneNum email role dob username password 1 Đỗ Khôi 12345 [email protected] seller 20/07/2003 khoi 123 2 Chaeyoung 54321 [email protected] manager 29/04/1999 chae 321 3 Alex 87485 [email protected] seller 10/05/2002 alex 546 tblCustomer ID name email dob phoneNum idCardNum 1 X [email protected] 13/01/1996 4356 1221 2 YX [email protected] 27/07/2007 5678 4589 3 Z [email protected] 04/05/1998 4543 1223 tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 true 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tlbBookSerie ID title genre author publisher publicationYear supplierId 121 A UX H L 2019 1 131 B UX K M 2007 3 141 C UI J N 2016 2 tblRentalDetail ID endDate lateFeePerDay isReturned bookId RentalTransactionId 1 06/05/2024 1000 false 1 2 2 06/05/2024 400 false 2 2 3 14/07/2024 600 false 4 3 4 14/07/2024 300 false 5 3 5 14/04/2024 230 true 3 1 tblRentalTransaction ID rentalName dateCreated collateral customerId 1 Phiếu mượn Z 20/01/2024 150(một trăm 3 nghìn đồng) 2 Phiếu mượn X 14/02/2024 100 (một trăm 1 nghìn đồng) 3 Phiếu mượn Y 16/03/2024 200 (Hai trăm 2 nghìn đồng) tblBill ID billlName paymentMethod dateCreated customerId employeeId 1 Hóa đơn Z Tiền mặt 25/04/2024 3 2 tblBillDetail ID damagedPenalty lateFee hiredFee billId bookId 1 0 23000 43000 1 2 Testing scenario and expected results Các bước thực Kết quả mong đợi hiện 1, Chạy chương Giao diện đăng nhập xuất hiện với ô điền username, password và nút đăng nhập trình 2, Nhập Giao diện trang chủ nhân viên bán hàng hiện ra nút cho trả truyện và thanh toán username = khoi password = 123 và click nút đăng nhập 3, Nhấn vào nút Giao diện hiện ra trang tìm kiếm khách hàng theo tên với ô nhập tên và nút tìm kiếm cho trả truyện và thanh toán Giao diện hiện ra danh sách khách hàng 4, Nhập tên khách hàng = X TT Tên khách hàng Căn cước vào ô tìm kiếm 1 X 1221 và nhấn nút tìm 2 YX 4589 kiếm Giao diện hiện ra danh sách các truyện khách hàng X đã mượn: Giá Giá Thêm TT Tên Tác giả Nhà Năm thuê Ngày đến Tiền Trả tình 5, Chọn khách truyện xuất xuất theo mượn Hạn trả thời phạt truyện trạng hàng tên X (dòng bản bản ngày điểm truyện trả 1) 1 A Nguyễn H 2019 500 14/02/2024 06/05/2024 130000 0 + X 2 B Trần A K 2007 200 14/02/2024 06/05/2024 50000 0 + - Nút thêm tiền phạt nộp muộn 6, Click nút thêm Giao diện thêm tiền phạt nộp muộn hiện ra với ô điền tiền phạt và nút xác nhận tiền phạt nộp muộn của truyện A(dòng 1) 7, Điền vào ô tiền Giao diện hiện ra thông báo thêm tiền phạt thành công và quay lại trang danh sách các truyện đang mượn. phạt = 30000 và click xác nhận Giá Giá Thêm TT Tên Tác giả Nhà Năm thuê Ngày đến Tiền Trả tình truyện xuất xuất theo mượn Hạn trả thời phạt truyện trạng bản bản ngày điểm truyện trả 1 A Nguyễn H 2019 500 14/02/2024 06/05/2024 130000 30000 + X 2 B Trần A K 2007 200 14/02/2024 06/05/2024 50000 0 + 8, Click nút thêm tiền phạt nộp Giao diện thêm tiền phạt nộp muộn hiện ra với ô điền tiền phạt và nút xác nhận muộn của truyện A(dòng 2) Giao diện hiện ra thông báo thêm tiền phạt thành công và quay lại trang danh sách các truyện đang mượn. 9, Điền vào ô tiền phạt = 30000 và Giá Giá Thêm click xác nhận TT Tên Tác giả Nhà Năm thuê Ngày đến Tiền Trả tình truyện xuất xuất theo mượn Hạn trả thời phạt truyện trạng bản bản ngày truyện điểm trả 1 A Nguyễn H 2019 500 14/02/2024 06/05/2024 130000 30000 + X 2 B Trần A K 2007 200 14/02/2024 06/05/2024 50000 30000 + Giao diện hiện ra danh sách các truyện được chọn trả: 10, Click ô trả truyện A (dòng 1) TT Tên truyện Tác giả Nhà xuất Năm xuất bản bản 1 A Nguyễn X H 2019 2 B Trần A K 2007 - Nút tạo hóa đơn 9, Click nút tạo Giao diện hóa đơn hiện ra với tên khách hàng, số điện thoại khách hàng, ô hình thức thanh toán và danh hóa đơn sách các truyện đã trả Giá đến thời Tổng TT Tên truyện Tác giả Nhà Năm điểm trả Tiền xuất xuất bản phạt bản 1 A Nguyễn X H 2019 130000 30000 160000 2 B Trần A K 2007 50000 30000 80000 - Ô hiện tổng tiền phải trả = 240000 - Nút confirm 10, Click nút Giao diện hiện ra thông báo tạo hóa đơn thành công. confirm 11, click nút đóng Giao diện quay lại trang chủ nhân viên bán hàng. thông báo Cơ sơ dữ liệu sau khi test: Các bảng khác giống như trước khi test. tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 false 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tblRentalDetail ID endDate lateFeePerDay isReturned bookId RentalTransactionId 1 06/05/2024 1000 true 1 2 2 06/05/2024 400 false 2 2 3 14/07/2024 600 false 4 3 4 14/07/2024 300 false 5 3 5 14/04/2024 230 true 3 1 tblBill ID billlName paymentMethod dateCreated customerId employeeId 1 Hóa đơn Z Tiền mặt 25/04/2024 3 2 2 Hóa đơn X Tiền mặt 06/05/2024 1 1 tblBillDetail ID damagedPenalty lateFee hiredFee billId bookId 1 0 23000 43000 1 3 2 0 30000 130000 2 1 3 0 30000 50000 2 2 Test case No.6: Cho khách hàng trả và thanh toán 1 truyện đang mượn nhưng truyện đó bị rách bìa. tblEmployee ID name phoneNum email role dob username password 1 Đỗ Khôi 12345 [email protected] seller 20/07/2003 khoi 123 2 Chaeyoung 54321 [email protected] manager 29/04/1999 chae 321 3 Alex 87485 [email protected] seller 10/05/2002 alex 546 tblCustomer ID name email dob phoneNum idCardNum 1 X [email protected] 13/01/1996 4356 1221 2 YX [email protected] 27/07/2007 5678 4589 3 Z [email protected] 04/05/1998 4543 1223 tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 true 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tblDamagedDetail ID damagedDesc dateAdded bookId tlbBookSerie ID title genre author publisher publicationYear supplierId 121 A UX H L 2019 1 131 B UX K M 2007 3 141 C UI J N 2016 2 tblRentalDetail ID endDate lateFeePerDay isReturned bookId RentalTransactionId 1 06/05/2024 1000 false 1 2 2 06/05/2024 400 false 2 2 3 14/07/2024 600 false 4 3 4 14/07/2024 300 false 5 3 5 14/04/2024 230 true 3 1 tblRentalTransaction ID rentalName dateCreated collateral customerId 1 Phiếu mượn Z 20/01/2024 150(một trăm 3 nghìn đồng) 2 Phiếu mượn X 14/02/2024 100 (một trăm 1 nghìn đồng) 3 Phiếu mượn Y 16/03/2024 200 (Hai trăm 2 nghìn đồng) tblBill ID billlName paymentMethod dateCreated customerId employeeId 1 Hóa đơn Z Tiền mặt 25/04/2024 3 2 tblBillDetail ID damagedPenalty lateFee dateCreated customerId employeeId 1 0 23000 25/04/2024 3 2 Testing scenario and expected results Các bước thực Kết quả mong đợi hiện 1, Chạy chương Giao diện đăng nhập xuất hiện với ô điền username, password và nút đăng nhập trình 2, Nhập Giao diện trang chủ nhân viên bán hàng hiện ra nút cho trả truyện và thanh toán username = khoi password = 123 và click nút đăng nhập 3, Nhấn vào nút Giao diện hiện ra trang tìm kiếm khách hàng theo tên với ô nhập tên và nút tìm kiếm cho trả truyện và thanh toán Giao diện hiện ra danh sách khách hàng 4, Nhập tên khách hàng = X TT Tên khách hàng Căn cước vào ô tìm kiếm 1 X 1221 và nhấn nút tìm 2 YX 4589 kiếm Giao diện hiện ra danh sách các truyện khách hàng X đã mượn: Giá Giá Thêm TT Tên Tác giả Nhà Năm thuê Ngày đến Tiền Trả tình 5, Chọn khách truyện xuất xuất theo mượn Hạn trả thời phạt truyện trạng hàng tên X (dòng bản bản ngày điểm truyện trả 1) 1 A Nguyễn H 2019 500 14/02/2024 06/05/2024 13000 0 + X 2 B Trần A K 2007 200 14/02/2024 06/05/2024 50000 0 + - Nút thêm tiền phạt nộp muộn 6, Click nút thêm Giao diện thêm tiền phạt hiện ra với ô điền tình trạng truyện, ô điền tiền phạt và nút xác nhận tình trạng truyện của truyện A(dòng 1) 7, Điền vào ô tiền Giao diện hiện ra thông báo thêm tiền phạt thành công và quay lại trang danh sách các truyện đang mượn. phạt = 50000, điền ô tình trạng Giá Giá Thêm truyện “Bị rách TT Tên Tác giả Nhà Năm thuê Ngày đến Tiền Trả tình bìa” và click xác truyện xuất xuất theo mượn Hạn trả thời phạt truyện trạng nhận bản bản ngày điểm truyện trả 1 A Nguyễn H 2019 500 14/02/2024 06/05/2024 130000 50000 + X 2 B Trần A K 2007 200 14/02/2024 06/05/2024 50000 0 + 8, Click ô trả Giao diện hiện ra danh sách các truyện được chọn trả: truyện A (dòng 1) TT Tên truyện Tác giả Nhà xuất Năm xuất bản bản 1 A Nguyễn X H 2019 - Nút tạo hóa đơn 9, Click nút tạo Giao diện hóa đơn hiện ra với tên khách hàng, số điện thoại khách hàng, ô hình thức thanh toán và danh hóa đơn sách các truyện đã trả Giá đến thời Tổng TT Tên truyện Tác giả Nhà Năm điểm trả Tiền xuất xuất bản phạt bản 1 A Nguyễn X H 2019 130000 50000 180000 - Ô hiện tổng tiền phải trả = 180000 - Nút confirm 10, Click nút Giao diện hiện ra thông báo tạo hóa đơn thành công. confirm 11, click nút đóng Giao diện quay lại trang chủ nhân viên bán hàng. thông báo Cơ sơ dữ liệu sau khi test: Các bảng khác giống như trước khi test. tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 false 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tblRentalDetail ID endDate lateFeePerDay isReturned bookId RentalTransactionId 1 06/05/2024 1000 true 1 2 2 06/05/2024 400 false 2 2 3 14/07/2024 600 false 4 3 4 14/07/2024 300 false 5 3 5 14/04/2024 230 true 3 1 tblBill ID billlName paymentMethod dateCreated customerId employeeId 1 Hóa đơn Z Tiền mặt 25/04/2024 3 2 2 Hóa đơn X Tiền mặt 06/05/2024 1 1 tblBillDetail ID damagedPenalty lateFee hiredFee billId bookId 1 0 23000 43000 1 3 2 50000 0 130000 2 1 tblDamagedDetail ID damagedDesc dateAdded bookId 1 Bị rách bìa 06/05/2024 1 Test case No.7: Cho khách hàng trả và thanh toán 2 truyện đang mượn nhưng 1 truyện bị rách bìa. tblEmployee ID name phoneNum email role dob username password 1 Đỗ Khôi 12345 [email protected] seller 20/07/2003 khoi 123 2 Chaeyoung 54321 [email protected] manager 29/04/1999 chae 321 3 Alex 87485 [email protected] seller 10/05/2002 alex 546 tblCustomer ID name email dob phoneNum idCardNum 1 X [email protected] 13/01/1996 4356 1221 2 YX [email protected] 27/07/2007 5678 4589 3 Z [email protected] 04/05/1998 4543 1223 tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 true 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tlbBookSerie ID title genre author publisher publicationYear supplierId 121 A UX H L 2019 1 131 B UX K M 2007 3 141 C UI J N 2016 2 tblRentalDetail ID endDate lateFeePerDay isReturned bookId RentalTransactionId 1 06/05/2024 1000 false 1 2 2 06/05/2024 400 false 2 2 3 14/07/2024 600 false 4 3 4 14/07/2024 300 false 5 3 5 14/04/2024 230 true 3 1 tblRentalTransaction ID rentalName dateCreated collateral customerId 1 Phiếu mượn Z 20/01/2024 150(một trăm 3 nghìn đồng) 2 Phiếu mượn X 14/02/2024 100 (một trăm 1 nghìn đồng) 3 Phiếu mượn Y 16/03/2024 200 (Hai trăm 2 nghìn đồng) tblDamagedDetail ID damagedDesc dateAdded bookId tblBill ID billlName paymentMethod dateCreated customerId employeeId 1 Hóa đơn Z Tiền mặt 25/04/2024 3 2 tblBillDetail ID damagedPenalty lateFee hiredFee billId bookId 1 0 23000 43000 1 2 Testing scenario and expected results Các bước thực Kết quả mong đợi hiện 1, Chạy chương Giao diện đăng nhập xuất hiện với ô điền username, password và nút đăng nhập trình 2, Nhập username Giao diện trang chủ nhân viên bán hàng hiện ra nút cho trả truyện và thanh toán = khoi password = 123 và click nút đăng nhập 3, Nhấn vào nút Giao diện hiện ra trang tìm kiếm khách hàng theo tên với ô nhập tên và nút tìm kiếm cho trả truyện và thanh toán Giao diện hiện ra danh sách khách hàng 4, Nhập tên khách hàng = X vào ô TT Tên khách hàng Căn cước tìm kiếm và nhấn 1 X 1221 nút tìm kiếm 2 YX 4589 Giao diện hiện ra danh sách các truyện khách hàng X đã mượn: Giá Giá Thêm TT Tên Tác giả Nhà Năm thuê Ngày đến Tiền Trả tình 5, Chọn khách hàng truyện xuất xuất theo mượn Hạn trả thời phạt truyện trạng tên X (dòng 1) bản bản ngày điểm truyện trả 1 A Nguyễn H 2019 500 14/02/2024 06/05/2024 130000 0 + X 2 B Trần A K 2007 200 14/02/2024 06/05/2024 50000 0 + - Nút thêm tiền phạt nộp muộn 6, Click nút thêm Giao diện thêm tiền phạt hiện ra với ô điền tiền phạt, ô điền tình trạng và nút xác nhận tình trạng tryện của truyện A(dòng 1) 7, Điền vào ô tiền Giao diện hiện ra thông báo thêm tiền phạt thành công và quay lại trang danh sách các truyện đang phạt = 50000, điền mượn. vào ô tình trạng “Bị rách bìa” và click Giá Giá Thêm xác nhận TT Tên Tác giả Nhà Năm thuê Ngày đến Tiền Trả tình truyện xuất xuất theo mượn Hạn trả thời phạt truyện trạng bản bản ngày điểm truyện trả 1 A Nguyễn H 2019 500 14/02/2024 06/05/2024 13000 50000 + X 2 B Trần A K 2007 200 14/02/2024 06/05/2024 50000 0 + 8, Click ô trả truyện Giao diện hiện ra danh sách các truyện được chọn trả: A (dòng 1) TT Tên truyện Tác giả Nhà xuất Năm xuất bản bản 1 A Nguyễn X H 2019 2 B Trần A K 2007 - Nút tạo hóa đơn 9, Click nút tạo hóa Giao diện hóa đơn hiện ra với tên khách hàng, số điện thoại khách hàng, ô hình thức thanh toán và danh đơn sách các truyện đã trả Giá đến thời Tổng TT Tên truyện Tác giả Nhà Năm điểm trả Tiền xuất xuất bản phạt bản 1 A Nguyễn X H 2019 130000 50000 180000 2 B Trần A K 2007 50000 0 50000 - Ô hiện tổng tiền phải trả = 230000 - Nút confirm 10, Click nút Giao diện hiện ra thông báo tạo hóa đơn thành công. confirm 11, click nút đóng Giao diện quay lại trang chủ nhân viên bán hàng. thông báo Cơ sơ dữ liệu sau khi test: Các bảng khác giống như trước khi test. tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 false 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tblRentalDetail ID endDate lateFeePerDay isReturned bookId RentalTransactionId 1 06/05/2024 1000 true 1 2 2 06/05/2024 400 false 2 2 3 14/07/2024 600 false 4 3 4 14/07/2024 300 false 5 3 5 14/04/2024 230 true 3 1 tblBill ID billlName paymentMethod dateCreated customerId employeeId 1 Hóa đơn Z Tiền mặt 25/04/2024 3 2 2 Hóa đơn X Tiền mặt 06/05/2024 1 1 tblBillDetail ID damagedPenalty lateFee hiredFee billId bookId 1 0 23000 43000 1 3 2 50000 0 130000 2 1 3 0 0 50000 2 2 tblDamagedDetail ID damagedDesc dateAdded bookId 1 Bị rách bìa 06/05/2024 1 Test case No.8: Cho khách hàng trả và thanh toán 2 truyện đang mượn nhưng cả 2 truyện bị rách bìa. tblEmployee ID name phoneNum email role dob username password 1 Đỗ Khôi 12345 [email protected] seller 20/07/2003 khoi 123 2 Chaeyoung 54321 [email protected] manager 29/04/1999 chae 321 3 Alex 87485 [email protected] seller 10/05/2002 alex 546 tblCustomer ID name email dob phoneNum idCardNum 1 X [email protected] 13/01/1996 4356 1221 2 YX [email protected] 27/07/2007 5678 4589 3 Z [email protected] 04/05/1998 4543 1223 tblBook ID barcode rentalPricePerDay isHired dateAdded bookSerieId employeeId 1 111 500 true 10/01/2024 121 1 2 222 200 true 12/01/2024 131 1 3 333 300 false 12/01/2024 131 3 4 444 200 true 14/01/2024 141 1 5 555 100 true 13/01/2024 121 3 tlbBookSerie ID title genre author publisher publicationYear supplierId 121 A UX H L 2019 1 131 B UX K M 2007 3 141 C UI J N