Câu 17: Bạn muốn hiển thị thông tin chi tiết đơn hàng như thế nào trêngiao diện quản trị viên?- Khi xem chi tiết đơn hàng trên giao diện quản trị viên, tôi muốn có một bảng tóm tắt đơn h
THU THẬP YÊU CẦU
Đ Ề TÀI
Xây dựng website chuyển đổi số photocopy và văn phòng phẩm.
P HIẾU PHỎNG VẤN
Người được hỏi: Trần Đăng Tín
Người hỏi: Nguyễn Thị Bảo Linh Địa điểm: Trường Đại học CNTT và TT Việt Hàn
Thời gian bắt đầu phỏng vấn: 9h
Thời gian kết thúc phỏng vấn:9h30 Đối tượng được hỏi: Khách hàng
Các yêu cầu: Vai trò, vị trí, trình độ, kinh nghiệm người phỏng vấn
Câu 1: Khi đăng ký tài khoản, bạn mong muốn cần cung cấp những thông tin gì? Ví dụ: tên, địa chỉ email, số điện thoại, v.v.
- Tôi mong muốn cung cấp tên, địa chỉ email và mật khẩu để đăng ký tài khoản.
Câu 2: Bạn có yêu cầu gì đặc biệt khi đăng nhập vào tài khoản của mình? Ví dụ: xác thực hai bước, ghi nhớ đăng nhập, v.v.
- Tôi muốn có tính năng ghi nhớ đăng nhập để tiện lợi cho việc truy cập vào tài khoản.
Khi quên mật khẩu, để đảm bảo tính bảo mật trong quá trình khôi phục, bạn nên sử dụng các phương thức như gửi email xác nhận hoặc yêu cầu trả lời câu hỏi bí mật Những biện pháp này giúp xác minh danh tính của người dùng và bảo vệ tài khoản khỏi các truy cập trái phép.
- Tôi mong muốn nhận được một email xác nhận để khôi phục mật khẩu của tôi.
Nếu bạn có mong muốn thay đổi thông tin cá nhân, hãy xác định rõ thông tin cụ thể mà bạn muốn điều chỉnh Quy trình thực hiện việc này thường bao gồm việc điền vào mẫu đơn yêu cầu, cung cấp các tài liệu cần thiết và gửi đến cơ quan chức năng hoặc tổ chức liên quan để được xem xét và phê duyệt.
Tôi muốn có khả năng dễ dàng thay đổi thông tin cá nhân như địa chỉ giao hàng và số điện thoại thông qua một trang cài đặt cá nhân Ngoài ra, tôi cũng muốn biết thông tin gì sẽ được hiển thị trong lịch sử đơn hàng của mình.
- Tôi muốn có thể xem danh sách các đơn hàng đã đặt, thông tin chi tiết và trạng thái đơn hàng.
Để thêm sản phẩm vào giỏ hàng, bạn có thể tìm kiếm sản phẩm mong muốn và nhấn vào nút "Thêm vào giỏ hàng" từ trang sản phẩm.
- Tôi muốn có khả năng thêm sản phẩm vào giỏ hàng bằng cách nhấn vào nút "Thêm vào giỏ hàng" từ trang sản phẩm.
Câu 7: Khi muốn chỉnh sửa giỏ hàng, bạn muốn làm như thế nào? Ví dụ: thay đổi số lượng sản phẩm, xóa sản phẩm, v.v.
- Tôi muốn có khả năng thay đổi số lượng sản phẩm trong giỏ hàng và xóa sản phẩm khỏi giỏ hàng nếu cần thiết.
Câu 8: Bạn muốn có tính năng nào liên quan đến tính toán tổng giá trị giỏ hàng? Ví dụ: hiển thị tổng giá trị, giảm giá, v.v.
Tôi muốn có tính năng hiển thị giá trị của mỗi đơn hàng, bao gồm việc tính toán giá sau khi giảm giá (nếu có) và tổng số tiền phải thanh toán Khi xem slide, tôi mong muốn thấy những thông tin quan trọng nào trên màn hình.
- Tôi muốn dễ dàng xem các slide một cách rõ ràng, có các thông tin về sale và các sản phẩm nổi bật.
Câu 10: Khi bạn muốn xem sản phẩm? bạn muốn thấy những gì trên màn hình đó?
- Tôi muốn dễ dàng xem các hình ảnh sản phẩm một cách rõ ràng, ghi chú tên sản phẩm và giá cả.
Câu 11: Khi bạn muốn xem thông tin chi tiết sản phẩm để đặt hàng, bạn muốn xem những thông tin gì trên đó?
- Tôi muốn xem giá cả, số lượng, màu sắc, hình ảnh trên đó. Câu 12: Bạn muốn có tính năng gì liên quan đến trạng thái đơn hàng photocopy?
Tôi mong muốn có các trạng thái đơn hàng rõ ràng, bao gồm: "Chờ xác nhận" khi đơn hàng chưa được giao, "Đang giao hàng" trong quá trình vận chuyển, "Đã giao hàng" khi hàng hóa đã được nhận, và "Đã hủy hàng" khi đơn hàng bị hủy.
Câu 13: Khi đặt đơn hàng photocopy bạn mong muốn có những tùy chọn nào?
Tôi muốn có tùy chọn khi đặt đơn photocopy, bao gồm việc nhập thông tin cá nhân như họ và tên, số điện thoại, địa chỉ, thời gian nhận hàng, cùng với thông tin mặt hàng như kiểu giấy, số lượng, bìa, kiểu in và ghi chú Ngoài ra, cần có phương thức thanh toán, cho phép tải tệp tin cần photocopy và nút để đặt đơn.
Câu 14: Bạn muốn có tính năng gì liên quan đến đổi trạng thái đơn hàng sản phẩm?
Tôi mong muốn có các trạng thái rõ ràng cho đơn hàng, bao gồm "Chờ xác nhận" khi hàng đang được xử lý, "Đang giao hàng" khi hàng đang được vận chuyển, "Đã giao hàng" khi hàng đã đến tay, và "Đã hủy hàng" khi đơn hàng bị hủy.
Câu 15: Bạn mong muốn có những tùy chọn nào khi đặt hàng sản phẩm?
Tôi mong muốn có tùy chọn để đặt hàng sản phẩm dễ dàng, bao gồm việc nhập số lượng và nút "Thêm vào giỏ hàng" Khi nhấn vào nút giỏ hàng, tôi muốn xem chi tiết giỏ hàng hoặc tiến hành thanh toán Trong quá trình thanh toán, tôi cần nhập thông tin cá nhân như họ và tên, số điện thoại, địa chỉ và giá tiền sản phẩm, sau đó có nút để tiếp tục đến phương thức thanh toán Quan trọng là cần có nhiều hình thức thanh toán để người dùng dễ dàng lựa chọn Khi sử dụng chức năng hiển thị danh mục, tôi hy vọng giao diện và cách trình bày thông tin sẽ mang lại trải nghiệm tốt nhất cho người dùng.
Tôi mong muốn một giao diện thân thiện và dễ sử dụng, với thông tin được sắp xếp logic và dễ tìm kiếm Ngoài ra, tôi cần các tùy chọn lọc và sắp xếp linh hoạt để có thể hiển thị thông tin theo yêu cầu của mình.
Câu 17: Bạn muốn sử dụng chức năng hiển thị danh mục thế nào?
Khi nhấp vào một danh mục, người dùng sẽ thấy các danh mục con liên quan, giúp dễ dàng tìm kiếm sản phẩm mong muốn.
1.2.2 Phỏng vấn quản trị viên
Người được hỏi: Nguyễn Danh Huy
Người hỏi: Nguyễn Ngọc Sơn Địa điểm: Trường Đại học CNTT và TT Việt Hàn
Thời gian bắt đầu phỏng vấn: 9h
Thời gian kết thúc phỏng vấn:9h30 Đối tượng được hỏi: Quản trị viên
Các yêu cầu: Vai trò, vị trí, trình độ, kinh nghiệm người phỏng vấn
Câu 1: Khi người dùng đăng ký tài khoản, bạn muốn thu thập những thông tin nào từ họ? Ví dụ: tên, địa chỉ email, số điện thoại, v.v.
- Chúng tôi muốn thu thập tên, địa chỉ email, số điện thoại và giới tính từ người dùng khi đăng ký tài khoản.
Bạn có muốn có một cơ chế đăng nhập chung cho tất cả người dùng hay một hệ thống đăng nhập riêng biệt nhằm bảo vệ quyền truy cập vào trang quản trị?
Chúng tôi hướng tới việc thiết lập một cơ chế đăng nhập an toàn, bao gồm hai trang đăng nhập riêng biệt nhằm giảm thiểu rủi ro lỗi không mong muốn, giúp người dùng không thể truy cập vào trang quản trị.
Câu 3: Khi người dùng yêu cầu thay đổi mật khẩu, bạn muốn có quy trình nào để xác minh và thực hiện việc này?
- Chúng tôi muốn cung cấp một quy trình xác minh bằng email và token để người dùng có thể thay đổi mật khẩu của mình một cách an toàn.
Câu 4: Khi quản lý lịch sử đơn hàng, bạn muốn có tính năng gì? Bạn muốn lưu trữ thông tin gì trong lịch sử đơn hàng của người dùng?
Chúng tôi cần khả năng lưu trữ thông tin chi tiết về đơn hàng, bao gồm thông tin sản phẩm, hình ảnh, số lượng, giá trị và trạng thái của đơn hàng.
Câu 5: Khi bạn muốn thêm một slide mới, bạn muốn quy trình như thế nào? Có những thông tin gì bạn muốn nhập vào để mô tả slide?
Tôi muốn có giao diện đơn giản để thêm slide mới, bao gồm các trường nhập ảnh, liên kết, thứ tự hiển thị và trạng thái Khi cần sửa đổi slide đã tồn tại, tôi muốn biết những thay đổi cụ thể nào có thể thực hiện và các trường thông tin cần chỉnh sửa.
- Tôi muốn có khả năng chỉnh sửa tất cả các thành phần của slide, bao gồm ảnh, liên kết, thứ tự hiển thị slide và trạng thái.
Câu 7: Khi bạn muốn xóa một slide khỏi danh sách, bạn muốn quy trình như thế nào? Có những xác nhận nào bạn muốn thực hiện trước khi xóa?
- Tôi muốn có một tùy chọn xóa slide từ danh sách một cách dễ dàng Đồng thời, cần có một xác nhận trước khi xóa để tránh xóa nhầm.
P HIẾU CÂU HỎI KHẢO SÁT
1.3.1 Phiếu khảo sát dành cho khách hàng
Câu 1: Bạn muốn sử dụng phương thức nào để đăng ký tài khoản(chọn 1)?
🔘 Đăng ký bằng số điện thoại
Câu 2: Bạn muốn cung cấp những thông tin gì khi đăng ký tài khoản?
🔲 Các thông tin khác (vui lòng cung cấp thông tin chi tiết): _
Câu 3: Bạn muốn sử dụng phương thức nào để đăng nhập(chọn 1)?
🔘 Đăng nhập bằng số điện thoại
Câu 4: Bạn mong muốn có tính năng gì khi đăng nhập?
🔲 Xác thực hai yếu tố
🔲 Các tính năng khác (vui lòng cung cấp thông tin chi tiết): _ Câu 5: Bạn muốn thực hiện quy trình nào để đổi mật khẩu?
🔘 Nhập mật khẩu hiện tại và nhập mật khẩu mới
🔘 Xác nhận thông qua email hoặc số điện thoại
🔘 Các quy trình khác (vui lòng cung cấp thông tin chi tiết): Câu 6: Bạn thường xuyên xem slide không?
Câu 7: Bạn mong muốn nhìn thấy những thông tin cụ thể nào khi xem các slide này? (vui lòng mô tả)
Câu 8: Bạn muốn xem thông tin gì trong lịch sử đơn hàng?
🔲 Tổng giá trị đơn hàng
🔲 Các thông tin khác (vui lòng cung cấp thông tin chi tiết): Câu 9: Khi thêm sản phẩm vào giỏ hàng, bạn muốn thực hiện thao tác nào?
🔘 Nhấn vào nút "Thêm vào giỏ hàng"
🔘 Chọn số lượng sản phẩm và nhấn vào nút "Thêm vào giỏ hàng"
🔘 Cách khác (vui lòng cung cấp thông tin chi tiết): _ Câu 10: Khi sửa sản phẩm trong giỏ hàng, bạn muốn thực hiện thao tác nào?
🔘 Thay đổi số lượng sản phẩm
🔘 Xóa sản phẩm khỏi giỏ hàng
🔘 Cập nhật thông tin khác của sản phẩm (vui lòng cung cấp thông tin chi tiết):
Câu 11: Khi xóa sản phẩm khỏi giỏ hàng, bạn muốn thực hiện thao tác nào?
🔘 Chọn sản phẩm và nhấn vào nút "Xóa"
🔘 Thực hiện thao tác vuốt qua sản phẩm để xóa
🔘 Cách khác (vui lòng cung cấp thông tin chi tiết): _ Câu 12: Theo bạn, giao diện mua sản phẩm có dễ dàng sử dụng hay không?
Câu 13 Bạn muốn biết những thông tin gì về sản phẩm?
🔘 Dịch vụ chất lượng đi kèm với sản phẩm
🔘 Cách khác (vui lòng cung cấp thông tin chi tiết): _ Câu 14: Bạn thấy chức năng xem chi tiết trên sản phẩm có dài dòng không?
Câu 15: Bạn thấy hài lòng khi tìm sản phẩm để mua hay không? Nếu không, vui lòng mô tả khó khăn gặp phải?
Câu 16: Khi sử dụng chức năng "Đặt đơn" để đặt một đơn hàng photocopy mới, bạn mong muốn có những tùy chọn nào ?
🔘 Số lượng bản sao cần photocopy.
🔘 Kích thước và loại giấy sử dụng.
🔘 Phương thức thanh toán và cung cấp thông tin liên lạc.
🔘 Bổ sung (vui lòng cung cấp thông tin chi tiết): _
Câu 17:Bạn muốn đặt mua sản phẩm bằng phương thức nào? (chỉ được chọn 1)
🔘 Trực tuyến qua trang web của công ty
🔘 Sử dụng ứng dụng di động của công ty
🔘 Gọi điện thoại đến dịch vụ khách hàng
Câu 18:Bạn thấy chức năng đặt đơn photocopy có khó dùng không?
Câu 19:Bạn chức năng đặt hàng sản phẩm có dễ sử dụng không?
Câu 20: Bạn mong muốn nhìn thấy những thông tin cụ thể nào khi xem danh mục sản phẩm? (vui lòng mô tả)
Câu 21: Bạn muốn xem thông tin gì về mỗi mục trong danh mục?
🔘 Bổ sung (vui lòng cung cấp thông tin chi tiết): _
Câu 22: Bạn muốn có khả năng tìm kiếm hoặc lọc danh sách mục theo tiêu chí nào ?
🔘 Bổ sung (vui lòng cung cấp thông tin chi tiết): _
1.3.2 Phiếu khảo sát dành cho quản trị viên
Câu 1: Bạn mong muốn nhận thông báo thông qua phương tiện nào?
🔘 Thông báo push trên hệ thống
🔘 Tất cả các phương tiện trên (vui lòng cung cấp thông tin chi tiết): _
Câu 2: Bạn đã sử dụng chức năng thêm slide chưa?
Câu 3: Theo bạn, giao diện thêm slide có dễ sử dụng không?
Câu 4: Bạn đã từng sửa đổi thông tin của một slide trước đó chưa?
Câu 5: Bạn nghĩ gì về khả năng chỉnh sửa thông tin của slide, như thay đổi hình ảnh, liên kết, trang thái hay thứ tự hiển thị?
Câu 6: Bạn đã từng xóa một slide trước đó chưa?
Câu 7: Bạn nghĩ gì về quy trình xóa slide, có cần thêm bước xác nhận không?
Câu 8: Bạn đã từng sử dụng chức năng sửa email trong cài đặt chưa?
Câu 9: Nếu có, bạn thấy quy trình sửa email có dễ sử dụng không?
Câu 10: Bạn có gặp bất kỳ vấn đề hoặc khó khăn cụ thể nào khi sử dụng chức năng này? (vui lòng mô tả)
Câu 11: Bạn đã từng thêm ngân hàng mới vào hệ thống chưa?
Câu 12: Nếu có, bạn nghĩ sao về giao diện và trải nghiệm thêm ngân hàng?
Câu 13: Bạn đã từng sửa thông tin của một ngân hàng trước đó chưa?
Câu 14: Bạn thấy thế nào về khả năng sửa thông tin của ngân hàng, có đủ linh hoạt không?
Câu 15: Bạn đã từng xóa một ngân hàng từ danh sách chưa?
Câu 16: Bạn nghĩ sao về quy trình xóa ngân hàng, có cần thêm bước xác nhận không?
Câu 17: Bạn đã từng chỉnh sửa thông tin "Về Chúng Tôi" trước đó chưa?
Câu 18: Bạn nghĩ thế nào về khả năng chỉnh sửa thông tin này, có đủ tính linh hoạt không?
Câu 19: Bạn đã từng xóa hoàn toàn 1 sản phẩm trước đó trong admin hay không?
Câu 20: Bạn nghĩ sao về quy trình xóa sản phẩm trong admin, có cần thêm bước xác nhận không?
Câu 21: Theo bạn, việc thiết kế giao diện để thêm sản phẩm trong admin có dễ dàng sử dụng hay không?
Câu 22: Bạn đã thêm 1 sản phẩm mới trước đó trong admin hay không?
Câu 23: Việc nhập thông tin để thêm sản phẩm mới bạn có thấy hài lòng hay không?
🔘 Cách khác (vui lòng cung cấp thông tin chi tiết): _ Câu 24: Bạn đã sửa đổi thông tin sản phẩm nào trong hệ thống gần đây không?
Câu 25: Bạn cần cung cấp thông tin nào để sửa đổi sản phẩm trong hệ thống không?
🔘 Bổ sung(vui lòng cung cấp thông tin chi tiết): _
Câu 26: Quy trình sửa đổi sản phẩm có thành công không? Nếu không, vui lòng mô tả khó khăn gặp phải?
Câu 27: Khi sử dụng chức năng đổi trạng thái theo dõi trạng thái của đơn hàng photocopy, bạn mong muốn theo dõi thế nào? (Chỉ được chọn 1)
🔘 Tự mình đổi trạng thái đơn hàng
🔘 Để hệ thống tự cập nhật trạng thái mới cho đơn hàng.
Câu 28: Bạn đã sử dụng chức năng thêm danh mục chưa?
Câu 29:Theo bạn, giao diện thêm danh mục có dễ sử dụng không?
Câu 30:Bạn nghĩ thế nào về khả năng chỉnh thêm danh mục này,có đủ tính linh hoạt không ?
Câu 31: Bạn đã sử dụng chức năng xóa danh mục chưa?
Câu 32:Bạn nghĩ gì về quy trình xóa danh mục, có cần thêm bước xác nhận không?
Câu 33:Theo bạn, giao diện xóa danh mục có dễ sử dụng không?
Câu 34:Bạn nghĩ thế nào về khả năng chỉnh xóa danh mục này, có đủ tính linh hoạt không?
T ÀI LIỆU LIÊN QUAN
Hình 1 Mẫu hóa đơn bán hàng
Đ ẶC TẢ HỆ THỐNG (SRS)
Khi khách hàng truy cập vào trang web, trang slide sẽ là trang đầu tiên hiển thị, cho phép họ xem và tương tác với các slide bằng cách nhấn vào những slide có liên kết.
Trên thanh header, khách hàng có thể thấy các tùy chọn như Trang chủ, Photocopy, Sản phẩm và Về chúng tôi Khi khách hàng chọn mục Sản phẩm, hệ thống sẽ hiển thị trang với danh sách các danh mục sản phẩm, giúp khách hàng dễ dàng lựa chọn sản phẩm mong muốn.
Khi người dùng nhấn nút "Về Chúng Tôi" trên thanh header, họ sẽ được chuyển đến trang thông tin về công ty Trang này cung cấp các thông tin chi tiết, giúp người dùng có cái nhìn tổng quan và khách quan về hệ thống của chúng tôi.
Khi khách hàng chọn mục “Photocopy” trên header, hệ thống sẽ chuyển đến trang photocopy Tại đây, người dùng cần nhập đầy đủ thông tin cá nhân như họ tên, số điện thoại, địa chỉ và thông tin sản phẩm cần photocopy, bao gồm kiểu giấy, số lượng, bìa, kiểu in, và tải file lên Sau khi hoàn tất, người dùng nhấn nút "Đặt đơn" để gửi thông tin Hệ thống sẽ kiểm tra và xác nhận thông tin Nếu tất cả thông tin hợp lệ, đơn hàng sẽ được gửi thành công và người dùng nhận thông báo xác nhận Ngược lại, nếu thông tin còn thiếu hoặc không hợp lệ, hệ thống sẽ yêu cầu người dùng nhập lại thông tin cần thiết.
Khách hàng có thể truy cập trang web bằng cách nhập URL hoặc nhấp vào liên kết Khi vào trang, hệ thống hiển thị trang chủ với các mục như Trang chủ, Photocopy, Sản phẩm và Về chúng tôi ở phần header Sau khi chọn mục Sản phẩm, hệ thống sẽ hiển thị danh sách các danh mục sản phẩm, giúp khách hàng dễ dàng lựa chọn sản phẩm mong muốn.
Khi khách hàng truy cập trang "Sản phẩm" trên header, hệ thống sẽ dẫn họ đến trang hiển thị tất cả sản phẩm đang bán Mỗi sản phẩm được trình bày với hình ảnh, tên, giá sau khi giảm, giá trước khi giảm, số lượng và tổng tiền Để thuận tiện cho việc tìm kiếm, Sidebar cung cấp thông tin về tất cả sản phẩm, đồ dùng học sinh và dụng cụ thể thao Ngoài ra, trang còn có nút tìm kiếm giúp khách hàng nhanh chóng tìm được sản phẩm mong muốn.
Khi người dùng nhấn vào sản phẩm mong muốn, hệ thống sẽ dẫn họ đến trang chi tiết sản phẩm Tại đây, người dùng có thể xem hình ảnh, giá cả, màu sắc, số lượng và mô tả chung của sản phẩm trước khi thêm vào giỏ hàng.
Sau khi khách hàng chọn sản phẩm mong muốn, họ cần xác định loại sản phẩm và số lượng (có thể bỏ qua) trước khi nhấn nút "Thêm vào giỏ hàng" Đơn hàng sẽ được thêm vào giỏ hàng và một hộp giỏ hàng sẽ xuất hiện, cho phép khách hàng kiểm tra giỏ hàng hoặc tiếp tục tiến trình thanh toán.
Khi người dùng nhấp vào nút "Xem giỏ hàng", họ sẽ được chuyển đến trang xem giỏ hàng, nơi hiển thị các sản phẩm đã chọn Mỗi sản phẩm sẽ có thông tin chi tiết bao gồm hình ảnh, tên, giá sau khi giảm, giá trước khi giảm, đặc điểm, số lượng và tổng tiền.
Trên trang giỏ hàng, khách hàng có thể dễ dàng điều chỉnh số lượng sản phẩm bằng cách nhấn nút "+" hoặc "-" bên cạnh ô số lượng Để xóa sản phẩm, họ chỉ cần nhấp vào nút "X" Hệ thống sẽ tự động xử lý các thay đổi và cập nhật giỏ hàng ngay lập tức.
Bên cạnh danh sách sản phẩm trong giỏ hàng, có ô hiển thị tổng tiền và nút "Thanh toán" Khách hàng dễ dàng kiểm tra tổng số tiền và nhấp vào "Thanh toán" để bắt đầu quy trình thanh toán.
Từ trang giỏ hàng, khách hàng có thể dễ dàng quản lý sản phẩm, điều chỉnh số lượng và xóa những mặt hàng không cần thiết Hệ thống sẽ tự động xử lý các thay đổi này và cập nhật giỏ hàng theo yêu cầu của người dùng.
Khi khách hàng truy cập vào trang sản phẩm, hệ thống hiển thị các loại sản phẩm để họ chọn và nhập số lượng cần mua Sau khi nhấn nút "Thêm vào giỏ hàng", khách hàng có thể xem giỏ hàng với thông tin về sản phẩm đã chọn, giá từng sản phẩm và tổng giá Tiếp theo, họ chọn "Thanh toán" để nhập thông tin cần thiết như địa chỉ giao hàng, họ tên, số điện thoại và phương thức thanh toán Sau khi cung cấp đầy đủ thông tin và xác nhận đơn hàng, hệ thống sẽ gửi đơn hàng để hoàn tất Nếu thông tin không đầy đủ, hệ thống sẽ thông báo lỗi và yêu cầu bổ sung.
Khi người dùng chọn "Lịch sử đơn hàng", hệ thống sẽ đưa họ đến trang hiển thị lịch sử đơn hàng, nơi có hai bảng: "Lịch sử photocopy" và "Lịch sử mua hàng".
Trong bảng "Lịch sử photocopy", người dùng có thể xem thông tin chi tiết về số lượng, hình thức thanh toán, ngày tạo đơn hàng và tình trạng đơn hàng, giúp họ nắm bắt tổng quan về các đơn hàng photocopy đã đặt trước đó.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
A CTOR
- Khách hàng: là người sử dụng trang web để tìm kiếm, đặt hàng sản phẩm, photocopy, xem lịch sử mua hàng.
- Quản trị viên: là người dùng trang web để quản lý người dùng, slide, sản phẩm, đơn hàng, photocopy.
U SE CASE
- Sửa email trong cài đặt
- Xem chi tiết đơn hàng photo
- Xem chi tiết đơn hàng sản phẩm
- Đổi thông tin cá nhân
- Hiển thị lịch sử đơn hàng
- Thêm sản phẩm vào giỏ hàng
- Sửa số lượng sản phẩm trong giỏ hàng
- Xóa sản phẩm khỏi giỏ hàng
- Sửa chi tiết sản phẩm
- Thêm chi tiết sản phẩm
- Xoá chi tiết sản phẩm
- Hiển thị chi tiết sản phẩm
- Đổi trạng thái đơn hàng sản phẩm
- Đổi trạng thái đơn hàng photocopy
Đ ẶC TẢ USE CASE
Để truy cập vào hệ thống, khách hàng cần tạo một tài khoản Điều kiện tiên quyết là khách hàng chưa có tài khoản trong hệ thống Sau khi hoàn tất, tài khoản khách hàng sẽ được tạo thành công.
Hoạt động của tác nhân Hoạt động của hệ thống
1 Khách hàng truy cập vào trang đăng ký trong hệ thống.
2 Hệ thống hiển thị giao diện đăng ký tài khoản.
3 Khách hàng nhập các thông tin cần thiết như tên, địa chỉ email, mật khẩu, và các thông tin khác (nếu có).
4 Hệ thống kiểm tra tính hợp lệ của thông tin đăng ký.
Nếu thông tin không hợp lệ, hệ thống hiển thị thông báo lỗi và yêu cầu khách hàng nhập lại thông tin.
Nếu thông tin hợp lệ, chuyển đến trang đăng nhập và thông báo thành công.
Bảng 1 Kịch bản đăng ký
Tác nhân: Khách hàng, quản trị viên
Để truy cập vào hệ thống, khách hàng cần có một tài khoản đã đăng ký Điều kiện tiên quyết là khách hàng phải có tài khoản trong hệ thống Sau khi đăng nhập thành công, khách hàng sẽ được phép truy cập vào hệ thống.
Hoạt động của tác nhân Hoạt động của hệ thống
1 Khách hàng ấn vào biểu tượng người dùng trên thanh header 2 Hệ thống hiển thị giao diện đăng nhập.
3 khách hàng nhập địa chỉ email và mật khẩu của tài khoản đã đăng ký.
4 Hệ thống kiểm tra tính hợp lệ của thông tin đăng nhập.
Nếu thông tin không hợp lệ, hệ thống hiển thị thông báo lỗi và yêu cầu khách hàng nhập lại thông tin.
Nếu thông tin hợp lệ, chuyển đến trang chủ và thông báo đăng nhập thành công.
Bảng 2 Kịch bản đăng nhập
2.3.3 Đổi thông tin cá nhân
Để cập nhật thông tin cá nhân trong tài khoản, khách hàng cần phải đăng nhập vào tài khoản của mình Sau khi hoàn tất quá trình cập nhật, thông tin cá nhân sẽ được xác nhận là đã được cập nhật thành công.
Hoạt động của tác nhân Hoạt động của hệ thống
1 Khách hàng truy cập vào trang tài khoản của tôi.
2 Hệ thống hiển thị giao diện trang thông tin cá nhân gồm các trường để hiển thị thông tin và có thể nhập vào.
3 Khách hàng thay đổi các trường thông tin theo nhu cầu (ví dụ: tên, địa chỉ, số điện thoại, v.v.).
4 Hệ thống kiểm tra tính hợp lệ của thông tin cập nhật.
Nếu thông tin không hợp lệ, hệ thống hiển thị thông báo lỗi và yêu cầu khách hàng nhập lại thông tin.
Nếu thông tin hợp lệ, thông báo đổi thông tin thành công.
Bảng 3 Kịch bản đổi thông tin cá nhân
Để cập nhật ảnh đại diện trong tài khoản, khách hàng cần đảm bảo đã đăng nhập vào tài khoản của mình Sau khi thực hiện các bước cần thiết, ảnh đại diện sẽ được cập nhật thành công.
Hoạt động của tác nhân Hoạt động của hệ thống
1 Khách hàng truy cập vào trang tài khoản của tôi.
2 Hệ thống hiển thị giao diện trang thông tin cá nhân.
3 Khách hàng chọn chức năng "Đổi ảnh" bên dưới ảnh đại diện của mình ở phía bên trái.
4 Hệ thống hiển thị form cho phép khách hàng tải lên ảnh mới.
5 Khách hàng tải lên ảnh mới 6 Hệ thống kiểm tra tính hợp lệ của ảnh đại diện.
Nếu ảnh không hợp lệ, hệ thống hiển thị thông báo lỗi và yêu cầu khách hàng tải lên ảnh khác.
Nếu ảnh hợp lệ, hệ thống thông báo đổi ảnh đại diện thành công.
Bảng 4 Kịch bản đổi ảnh đại diện
2.3.5 Hiển thị lịch sử đơn hàng
Để xem thông tin chi tiết về lịch sử đơn hàng, khách hàng cần phải đăng nhập vào tài khoản của mình Sau khi đăng nhập thành công, khách hàng sẽ có khả năng truy cập và xem lịch sử đơn hàng một cách dễ dàng.
Hoạt động của tác nhân Hoạt động của hệ thống
1 Khách hàng ấn vào ảnh đại diện của mình trên thanh header 2 Hệ thống hiển thị hộp thoại trong đó có tùy chọn lịch sử đơn hàng.
3 Khách hàng ấn vào lịch sử đơn hàng 4 Hệ thống hiển thị hai bảng đơn photocopy và đơn hàng sản phẩm (nếu bạn đã đặt hàng).
5 Khách hàng ấn vào con mắt trên mỗi đơn hàng để xem chi tiết 6 Hệ thống Hiển thị chi tiết hóa đơn của đơn hàng đã đặt.
Bảng 5 Kịch bản hiển thị lịch sử đơn hàng
2.3.6 Thêm sản phẩm vào giỏ hàng
Để mua hàng, khách hàng cần thêm sản phẩm vào giỏ hàng Trước tiên, khách hàng phải đăng nhập vào tài khoản của mình Sau khi hoàn tất đăng nhập, sản phẩm sẽ được thêm vào giỏ hàng một cách thành công.
Hoạt động của tác nhân Hoạt động của hệ thống
1 Khách hàng chọn sản phẩm muốn mua.
2 Hệ thống hiển thị trang chi tiết sản phẩm.
3 Khách hàng chọn loại sản phẩm, số lượng sản phẩm(mặc định là 1) sau đó 4 Hệ thống kiểm tra khách hàng có chọn đủ thông tin sản phẩm hay không. ấn nút thêm vào giỏ hàng Nếu nhập thiếu thông tin thì sẽ thông báo phải nhập đủ.
Nếu nhập đủ thông tin, hệ thống thêm sản phẩm vào giỏ hàng và hiển thị cho khách hàng biết đã thành công.
Bảng 6 Kịch bản thêm sản phẩm vào giỏ hàng
2.3.7 Sửa số lượng sản phẩm trong giỏ hàng
Mục đích của việc sửa đổi số lượng sản phẩm trong giỏ hàng là để khách hàng có thể điều chỉnh lại lựa chọn của mình Trước khi thực hiện, khách hàng cần đăng nhập vào tài khoản và đảm bảo rằng giỏ hàng đã có sản phẩm Sau khi thực hiện thao tác, số lượng sản phẩm trong giỏ hàng sẽ được cập nhật thành công.
Hoạt động của tác nhân Hoạt động của hệ thống
1 Khách hàng truy cập vào trang giỏ hàng trong hệ thống.
2 Hệ thống hiển thị danh sách sản phẩm trong giỏ hàng của khách hàng.
3 Khách hàng ấn vào dấu “+” hoặc
“-” nằm kề ô số lượng sản phẩm để thêm hoặc giảm số lượng sản phẩm trong giỏ hàng.
4 Hệ thống kiểm tra tính hợp lệ của số lượng sản phẩm.
Nếu số lượng bé hơn 1 hệ thống sẽ không thực hiện thao tác của khách hàng.
Nếu số lượng hợp lệ, cập nhật số lượng sản phẩm trong giỏ hàng.
Bảng 7 Kịch bản sửa số lượng sản phẩm trong giỏ hàng
2.3.8 Xóa sản phẩm khỏi giỏ hàng
Để xóa sản phẩm không muốn mua khỏi giỏ hàng, khách hàng cần đăng nhập vào tài khoản của mình và đảm bảo có sản phẩm trong giỏ hàng Sau khi thực hiện thao tác xóa, sản phẩm sẽ được loại bỏ thành công khỏi giỏ hàng.
Hoạt động của tác nhân Hoạt động của hệ thống
1 Khách hàng truy cập vào trang giỏ hàng trong hệ thống.
2 Hệ thống hiển thị danh sách sản phẩm trong giỏ hàng của khách hàng.
3 Khách hàng ấn vào nút “X” ở phía trên bên góc phải của sản phẩm để xóa sản phẩm mà mình đã thêm vào giỏ hàng.
4 Hệ thống thông báo: “bạn có muốn xóa sản phẩm này không”.
5 Khách hàng sẽ có hai lựa chọn: Ấn chọn có Ấn chọn không
6 Hệ thống kiểm tra lựa chọn của khách hàng.
Khách hàng chọn có, hệ thống xóa sản phẩm khỏi giỏ hàng
Khách hàng chọn không, hệ thống quay lại hiển thị giỏ hàng ban đầu.
Bảng 8 Kịch bản xóa sản phẩm khỏi giỏ hàng
Mục đích: Xem các slide trên hệ thống. Điều kiện tiên quyết: Khách hàng đã truy cập vào hệ thống. Điều kiện sau: Khách hàng xem các slide.
Hoạt động của tác nhân Hoạt động của hệ thống
1 Khách hàng truy cập vào trang web 2 Hệ thống hiển thị giao diện trang chủ có các slide.
Bảng 9.Kịch bản hiển thị slide
Tác nhân: Quản trị viên
Để thêm một slide mới vào hệ thống, quản trị viên cần phải đăng nhập trước Sau khi hoàn tất quá trình này, slide mới sẽ được thêm thành công vào hệ thống.
Hoạt động của tác nhân Hoạt động của hệ thống
1 Quản trị viên đăng nhập vào hệ thống 2 Hệ thống hiển thị giao diện trang chủ trong đó có một menu danh sách chứa các lựa chọn như Trang chủ, Slide, Cài đặt, Sản phẩm, và Đơn hàng.
3 Quản trị viên chọn Slide 4 Hệ thống hiển thị giao diện trang slide.
5 Quản trị viên bấm vào nút thêm 6 Hệ thống hiển thị giao diện để nhập slide thông tin cho slide mới như ảnh, trạng thái, thứ tự hiển thị và liên kết.
7 Quản trị viên nhập thông tin và bấm nút xác nhận 8 Hệ thống lưu thông tin slide mới vào cơ sở dữ liệu.
Bảng 10 Kịch bản thêm slide
Tác nhân: Quản trị viên
Để sửa thông tin của một slide trong hệ thống, quản trị viên cần phải đăng nhập vào hệ thống Sau khi thực hiện các bước cần thiết, thông tin của slide sẽ được cập nhật thành công trong hệ thống.
Hoạt động của tác nhân Hoạt động của hệ thống
1 Quản trị viên đăng nhập vào hệ thống.
2 Hệ thống hiển thị giao diện trang chủ trong đó có một menu danh sách chứa các lựa chọn như Trang chủ, Slide, Cài đặt, Sản phẩm, và Đơn hàng.
3 Quản trị viên chọn Slide 4 Hệ thống hiển thị giao diện trang slide.
5 Quản trị viên bấm vào nút sửa 6 Hệ thống hiển thị giao diện để quản trị viên cập nhật thông tin của slide gồm ảnh, trạng thái, thứ tự hiển thị và liên kết.
7 Quản trị viên thực hiện các thay đổi và bấm nút xác nhận 8 Hệ thống cập nhật thông tin của slide vào cơ sở dữ liệu.
Bảng 11 Kịch bản sửa slide
Tác nhân: Quản trị viên
U SE CASE DIAGRAM
Hình 2 Usecase diagram tổng quát
Hình 3 Usecase diagram chung giữa các actor
Hình 4 Usecase diagram riêng của actor khách hàng
Hình 5 Usecase diagram riêng của actor quản trị viên
A CTIVITY DIAGRAM
Hình 6 Activity diagram đăng ký
Hình 7 Activity diagram đăng nhập
Hình 8 Activity diagram đổi thông tin
Hình 9 Activity diagram đổi ảnh đại diện
2.5.5 Hiển thị lịch sử đơn hàng
Hình 10 Activity diagram hiển thị lịch sử đơn hàng
2.5.6 Thêm sản phẩm vào giỏ hàng
Hình 11 Activity diagram thêm sản phẩm vào giỏ hàng
2.5.7 Sửa sản phẩm trong giỏ hàng
Hình 12 Activity diagram sửa sản phẩm trong giỏ hàng
2.5.8 Xóa sản phẩm khỏi giỏ hàng
Hình 13 Activity diagram xóa sản phẩm khỏi giỏ hàng
Hình 14 Activity diagram xem slide
Hình 15 Activity diagram thêm slide
Hình 16 Activity diagram sửa slide
Hình 17 Activity diagram xóa slide
2.5.13 Sửa email quản trị viên
Hình 18 Activity diagram sửa email quản trị viên
Hình 19 Activity diagram thêm ngân hàng
Hình 20 Activity diagram sửa ngân hàng
Hình 21 Activity diagram xóa ngân hàng
2.5.17 Sửa thông tin về chúng tôi
Hình 22 Activity diagram sửa thông tin về chúng tôi
Hình 23 Activity diagram thêm sản phẩm
Hình 24 Activity diagram sửa sản phẩm
Hình 25 Activity diagram xoá sản phẩm
Hình 26 Activity diagram hiển thị sản phẩm
2.5.22 Thêm chi tiết sản phẩm
Hình 27 Activity diagram thêm chi tiết sản phẩm
2.5.23 Sửa chi tiết sản phẩm
Hình 28 Activity diagram sửa chi tiết sản phẩm
2.5.24 Xoá chi tiết sản phẩm
Hình 29 Activity diagram xoá chi tiết sản phẩm
2.5.25 Hiển thị chi tiết sản phẩm
Hình 30 Activity diagram hiển thị chi tiết sản phẩm
Hình 31 Activity diagram đặt đơn photocopy
Hình 32 Activity diagram đặt hàng sản phẩm
Hình 33 Activity diagram hiển thị danh mục
2.5.29 Xem chi tiết đơn hàng photo
Hình 34 Activity diagram xem chi tiết đơn hàng photo
2.5.30 Xem chi tiết đơn hàng sản phẩm
Hình 35 Activity diagram xem chi tiết đơn hàng sản phẩm
2.5.31 Đổi trạng thái đơn hàng photocopy
Hình 36 Activity diagram đổi trạng thái đơn hàng photocopy
2.5.32 Đổi trạng thái đơn hàng sản phẩm
Hình 37 Activity diagram đổi trạng thái đơn hàng sản phẩm
Hình 38 Activity diagram thêm danh mục
Hình 39 Activity diagram xóa danh mục
T HIẾT KẾ GIAO DIỆN
Hình 40 Giao diện trang chủ
Hình 41 Giao diện trang đăng nhập
Hình 42 Giao diện trang đăng ký
Hình 43 Giao diện trang thông tin cá nhân
Hình 44 Giao diện trang lịch sử đơn hàng
Hình 45 Giao diện trang giỏ hàng
Hình 46 Giao diện trang sản phẩm
Hình 47 Giao diện trang chi tiết sản phẩm
Hình 48 Giao diện trang đặt đơn photocopy
Hình 49 Giao diện trang đặt sản phẩm
Hình 50 Giao diện trang hiển thị danh mục
Hình 51 Giao diện trang slide
Hình 52 Giao diện trang thêm slide
Hình 53 Giao diện trang cài đặt
Hình 54 Giao diện trang thêm ngân hàng
Hình 55 Giao diện trang sản phẩm
Hình 56 Giao diện trang thêm sản phẩm
Hình 57 Giao diện trang sửa sản phẩm
Hình 58 Giao diện trang xóa sản phẩm
Hình 59 Giao diện trang thêm sản phẩm chi tiết
Hình 60 Giao diện trang chi tiết hóa đơn photocopy
Hình 61 Giao diện trang chi tiết hóa đơn sản phẩm
Hình 62 Giao diện trang đổi trạng thái đơn photo
Hình 63 Giao diện trang đổi trạng thái đơn sản phẩm
Hình 64 Giao diện trang thêm danh mục
Hình 65 Giao diện trang xóa danh mục
T HIẾT KẾ CƠ SỞ DỮ LIỆU
The table structure for the school database includes the following fields: 'id' as a primary key of type bigint, 'name' as a varchar with a maximum length of 255 characters, 'email' also as a varchar of 255 characters, 'phone' as a varchar limited to 50 characters, and 'address' as a text field Additionally, 'gender' is represented as a tinyint, 'password' is stored as a varchar of 255 characters, 'avatar' as a varchar of 255 characters, and 'role' is defined as a tinyint.
Tên trường Kiểu dữ liệu Ràng buộc Ghi chú id bigint PK Khoá chính name varchar(255) slug varchar(255) parent_id bigint
Tên trường Kiểu dữ liệu Ràng buộc Ghi chú id bigint PK Khoá chính content longtext created_at timestamp updated_at timestamp
Tên trường Kiểu dữ liệu Ràng buộc Ghi chú id bigint PK Khoá chính info_1 varchar(255) info_2 text info_type tinyint created_at timestamp updated_at timestamp
Tên trường Kiểu dữ liệu Ràng buộc Ghi chú id bigint PK Khoá chính src varchar(255) redirect varchar(255) status tinyint index int created_at timestamp updated_at timestamp
Tên trường Kiểu dữ liệu Ràng buộc Ghi chú id bigint PK Khoá chính src varchar(255) redirect varchar(255) status tinyint index int created_at timestamp
The table structure includes the following fields: 'id' as a primary key of type bigint, 'delivery_time' as a varchar with a maximum length of 255 characters, 'user_id' as a bigint, 'user_name', 'user_phone', and 'user_address' as varchar fields each with a length of 255 characters, 'type' as a tinyint, 'total' as an integer, 'status' as a tinyint, and timestamps for 'created_at' and 'updated_at'.
Bảng 41 Bảng orders order_photo
Tên trường Kiểu dữ liệu Ràng buộc Ghi chú id bigint PK Khoá chính order_id bigint photo_id bigint photo_price bigint created_at timestamp updated_at timestamp
Bảng 42 Bảng order_photo order_product
The article outlines the structure of a database table with various fields including an ID as the primary key, order ID, product ID, product name (up to 1000 characters), product price, sale information, sub-product ID, product type (up to 255 characters), total quantity, and timestamps for creation and updates This schema is designed to efficiently manage product-related data within a system.
Bảng 43 Bảng order_product products
Tên trường Kiểu dữ liệu Ràng buộc Ghi chú id BIGINT PK Khoá chính name VARCHAR(1000) descriptions TEXT
85 price BIGINT sale INT image VARCHAR(255) category_id BIGINT slug VARCHAR(1000) created_at TIMESTAMP updated_at TIMESTAMP
Bảng 44 Bảng products sub_product
Tên trường Kiểu dữ liệu Ràng buộc Ghi chú id BIGINT PK Khoá chính type VARCHAR(225) image VARCHAR(225) total INT
Product_id BIGINT created_at TIMESTAMP updated_at TIMESTAMP
The table structure includes the following fields: "id" as a primary key of type BIGINT, "file" as a VARCHAR with a maximum length of 255 characters, "total" as an INT, "face_number" as a TINYINT, "is_cover" as a TINYINT, "is_paper" as a TINYINT, "descriptions" as TEXT, "price" as an INT, "type" as a VARCHAR of 255 characters, and timestamps for "created_at" and "updated_at."
PHÁT TRIỂN
C Ơ SỞ DỮ LIỆU
Hình 66 Sơ đồ quan hệ cơ sở dữ liệu
G IAO DIỆN WEBSITE
Hình 67 Giao diện trang chủ khách hàng
Hình 68 Giao diện trang photocopy
Hình 69 Giao diện trang sản phẩm
3.2.4 Trang chi tiết sản phẩm
Hình 70 Giao diện trang chi tiết sản phẩm
Hình 71 Giao diện trang về chúng tôi
Hình 72 Giao diện trang giỏ hàng
Hình 73 Giao diện trang thanh toán
3.2.8 Trang thông tin cá nhân
Hình 74 Giao diện trang thông tin cá nhân
3.2.9 Trang lịch sử đơn hàng
Hình 75 Giao diện trang lịch sử đơn hàng
Hình 76 Giao diện trang đăng ký
Hình 77 Giao diện trang chủ quản lý
Hình 78 Giao diện trang quản lý slide
Hình 79 Giao diện trang thêm slide
Hình 80 Giao diện trang sửa slide
Hình 81 Giao diện trang cài đặt
Hình 82 Giao diện trang thêm ngân hàng
Hình 83 Giao diện trang sửa ngân hàng
3.2.18 Trang quản lý sản phẩm
Hình 84 Giao diện trang quản lý sản phẩm
Hình 85 Giao diện trang thêm sản phẩm
Hình 86 Giao diện trang sửa sản phẩm
3.2.21 Trang thêm chi tiết sản phẩm
Hình 87 Giao diện trang thêm chi tiết sản phẩm
3.2.22 Trang sửa chi tiết sản phẩm
Hình 88 Giao diện trang sửa chi tiết sản phẩm
3.2.23 Trang quản lý danh mục
Hình 89 Giao diện trang quản lý danh mục
3.2.24 Trang quản lý đơn photo
Hình 90 Giao diện trang quản lý đơn photo
3.2.25 Trang quản lý đơn sản phẩm
Hình 91 Giao diện trang quản lý đơn sản phẩm
3.2.26 Trang chi tiết đơn photo
Hình 92 Giao diện trang chi tiết đơn photo
KIỂM THỬ
- Tình huống người dùng đổi thông tin cá nhân, để trống 1 trong các ô thông tin sau đó ấn nút sửa. o Hệ thống thông báo lỗi không được để trống.
Khi người dùng truy cập vào trang chi tiết sản phẩm, nếu họ không chọn màu sắc và nhấn nút "Thêm vào giỏ hàng", hệ thống sẽ hiển thị thông báo yêu cầu người dùng chọn màu sắc trước khi thực hiện thêm sản phẩm vào giỏ hàng.
- Khi người dùng ở trang giỏ hàng, số lượng sản phẩm đang là 1 và ấn nút trừ sản phẩm. o Hệ thống không trừ sản phẩm về 0.
- Khi người dùng không có sản phẩm nào trong giỏ hàng mà ấn nút thanh toán. o Hệ thống thông báo không có sản phẩm nào trong giỏ hàng.
- Khi người dùng ở trang thêm Slide, không chọn file mà ấn nút xác nhận. o Hệ thống thông báo lỗi chưa chọn file.
- Tình huống người dùng sửa Email, để trống không nhập email và ấn nút đổi. o Hệ thống thông báo lỗi chưa nhập địa chỉ email.
Khi người dùng truy cập trang thêm ngân hàng mà không chọn file hoặc nhập thông tin, việc nhấn nút xác nhận sẽ dẫn đến thông báo lỗi từ hệ thống, yêu cầu người dùng cung cấp thông tin ngân hàng cần thiết.
- Sửa Ngân Hàng, không nhập thông tin gì cả mà ấn nút xác nhận. o Hệ thống thông báo lỗi chưa nhập thông tin ngân hàng.
Khi người dùng truy cập trang photocopy và để trống một ô trong phần thông tin cá nhân, hệ thống sẽ thông báo lỗi yêu cầu người dùng điền đầy đủ thông tin trước khi tiến hành đặt đơn.
Khi người dùng đang ở trang thanh toán sản phẩm và để trống một ô thông tin cá nhân, việc nhấn nút “Hoàn tất đơn hàng” sẽ dẫn đến thông báo lỗi từ hệ thống yêu cầu người dùng phải điền đầy đủ thông tin.
- Người dùng ở trang thêm danh mục, để trống ô nhập danh mục mà vẫn nhấn nút thêm o Hệ thống hiển thị thông báo lỗi ô danh mục trống
- Người dùng ở trang thêm sản phẩm, không nhập thông tin sản phẩm mà ấn nút xác nhận o Hệ thống thông báo lỗi chưa nhập thông tin sản phẩm
Người dùng trên trang thêm chi tiết sản phẩm nếu không nhập thông tin và nhấn nút xác nhận, hệ thống sẽ hiển thị thông báo lỗi yêu cầu nhập thông tin chi tiết sản phẩm.
- Người dùng ở trang sửa sản phẩm, không nhập thông tin sản phẩm mà ấn nút xác nhận o Hệ thống thông báo lỗi
- Tình huống người dùng nhấn thêm bản ghi nhưng không đưa file vô rồi nhấn đặt đơn. o Hệ thống thông báo lỗi không được để trống.
Khi người dùng thay đổi trạng thái của một đơn sản phẩm từ "đang giao hàng" sang "đã giao hàng", hệ thống sẽ ngay lập tức cập nhật và hiển thị đơn hàng vừa được đổi trạng thái trong danh sách các sản phẩm đã giao.
Người dùng có thể dễ dàng chuyển đổi trạng thái của một đơn photocopy từ "đang giao hàng" sang "đã giao hàng" Sau khi thực hiện việc thay đổi trạng thái, hệ thống sẽ hiển thị đơn hàng vừa được cập nhật trong danh sách các đơn photocopy đã giao.
TRIỂN KHAI
Chúng tôi triển khai hệ thống lên internet bằng Docker và VPS Để bắt đầu, truy cập vào VPS qua SSH với lệnh: ssh -p @, trong đó port_number là số cổng truy cập, có thể bỏ qua nếu sử dụng cổng mặc định 22 Sau đó, cần tải các thư viện Docker và Docker Compose về server bằng các lệnh tương ứng.
# Cập nhật gói thông tin hệ thống: sudo apt update
# Cài đặt các gói cần thiết để có thể sử dụng repository qua HTTPS: sudo apt install -y apt-transport-https ca-certificates curl software- properties-common
# Thêm kho lưu trữ Docker GPG key: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
To add the Docker APT repository on Ubuntu, execute the following command in the terminal: `echo "deb [signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null` This command configures the system to access Docker's official packages, ensuring you can install and update Docker seamlessly.
# Cập nhật gói thông tin hệ thống lần nữa: sudo apt update
# Cài đặt Docker: sudo apt install docker-ce docker-ce-cli containerd.io
# Kiểm tra phiên bản Docker đã cài đặt: sudo docker version
# cấp quyền thực thi lệnh Docker mà không cần sudo: sudo usermod -aG docker $USER
# Tải Docker Compose từ GitHub: sudo curl -L
"https://github.com/docker/compose/releases/latest/download/docker- compose-$( uname -s )-$( uname -m ) " -o /usr/local/bin/docker-compose
# Phân quyền thực thi cho Docker Compose: sudo chmod +x /usr/local/bin/docker-compose
# Kiểm tra phiên bản Docker Compose đã cài đặt: docker-compose version
Lúc này, chúng ta đã có docker và docker-compose trên máy.
Tiếp đến, chúng tôi cần triển khai một tệp tin là docker-compose.yml có nội dung như sau: version: " 3.8 " services:
# PHP service php: build: context: target: php
- APP_ENV=${APP_ENV} environment:
- CONTAINER_ROLE=app working_dir: /var/www volumes:
#Database server database: image: mysql:8.0 ports:
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD} volumes:
Trong cấu hình db-data:/var/lib/mysql, có hai dịch vụ đang hoạt động: một dịch vụ PHP đảm nhận việc chạy web service và một dịch vụ MySQL chịu trách nhiệm quản lý cơ sở dữ liệu.
Tiếp đến chúng tôi sẽ khởi chạy các service bằng docker-compose bằng lệnh sau: docker-compose up -d
Lệnh này khởi động các dịch vụ dưới dạng container được định nghĩa trong file docker-compose.yml Nếu chưa có image tương ứng, hệ thống sẽ tự động tải về và khởi chạy các container.
Sau khi khởi chạy các service, ta sẽ kiểm tra các container đang hoạt động bằng lệnh: docker container ls
Lệnh này để hiển thị thông tin của các container đang hoạt động.
Cuối cùng ta kiểm tra logs của service bằng lệnh sau: docker logs follow < container_nam e> | < container_id>
Lệnh này để kiểm tra logs của service nhằm kiểm tra thông báo khi có lỗi xảy ra để kịp thời sửa chữa.
Hình 95 Docker logs –follow fast_pho-php-1
Kết quả sau khi chạy:
*Vì cái này chỉ mô phỏng quá trình nên sẽ không có server thật để truy cập.
BẢO TRÌ VÀ HỖ TRỢ
T HEO DÕI HIỆU SUẤT
Mục tiêu chính là tối ưu hóa hiệu suất trang web, đảm bảo thời gian tải nhanh và theo dõi chi tiết nguồn lưu lượng để hiểu rõ hành vi người dùng Để đạt được điều này, cần triển khai các chiến lược cụ thể nhằm cải thiện tốc độ tải trang và phân tích lưu lượng truy cập một cách hiệu quả.
Nhân dịp ngày 20/11, trang web đã áp dụng chương trình giảm giá 10% cho tất cả sản phẩm, thu hút lượng truy cập tăng đột biến Tuy nhiên, do lưu lượng truy cập quá cao, trang web gặp tình trạng tải chậm, ảnh hưởng đến trải nghiệm người dùng.
+ Mục đích: Đánh giá hiệu suất trang web và theo dõi nguồn lưu lượng.
Để tối ưu hóa hiệu suất trang web, việc thiết lập mục tiêu chính xác trong Google Analytics là rất quan trọng Điều này giúp đo lường các chỉ số như thời gian trung bình trên trang, tỷ lệ thoát và chất lượng người dùng trên các trang quan trọng Việc theo dõi những chỉ số này sẽ cung cấp cái nhìn sâu sắc về hành vi của người dùng và giúp cải thiện trải nghiệm người dùng hiệu quả hơn.
- Sử dụng công cụ PageSpeed Insights:
+ Mục đích: Kiểm tra và tối ưu hóa tốc độ tải trang.
Để cải thiện hiệu suất trang web, cần thực hiện kiểm tra chi tiết về sự chậm trễ tải trang nhằm xác định và khắc phục các vấn đề Việc này bao gồm loại bỏ JavaScript và CSS không cần thiết, đồng thời tối ưu hóa thứ tự tải của các tài nguyên.
S ỬA LỖI VÀ CẬP NHẬT
Mục tiêu chính là bảo dưỡng và cải thiện liên tục hệ thống, giảm thiểu lỗi và đảm bảo tính ổn định, đồng thời tích hợp các tính năng mới nhằm nâng cao trải nghiệm người dùng Để đạt được điều này, cần xác định rõ tình huống hiện tại và áp dụng các chiến lược thực hiện hiệu quả.
Bản cập nhật mới đã gây ra một số lỗi không mong muốn, khiến người dùng gặp khó khăn trong việc tải tệp tin lên trang photocopy, dẫn đến việc họ không thể đặt đơn hàng Ngoài ra, người dùng cũng không thể điều chỉnh số lượng sản phẩm trong giỏ hàng, ảnh hưởng đến trải nghiệm mua sắm của họ.
- Triển khai bản vá ngay khi có lỗi:
Mục đích chính là duy trì sự ổn định của hệ thống và đảm bảo trải nghiệm người dùng mượt mà Để đạt được điều này, chúng tôi thực hiện quy trình tự động hóa triển khai, cho phép phát hành bản vá ngay lập tức khi nhận được thông báo lỗi từ dịch vụ giám sát hoặc từ người dùng.
- Thực hiện cập nhật thường xuyên:
+ Mục đích: Tích hợp tính năng mới và sửa lỗi định kỳ.
Sử dụng quy trình CI/CD giúp tự động hóa kiểm thử và triển khai các bản cập nhật định kỳ, từ đó giảm thiểu rủi ro lỗi và đảm bảo mã nguồn luôn được cập nhật mới nhất.
B ẢO MẬT VÀ NÂNG CẤP
Mục tiêu chính là bảo vệ thông tin người dùng và ngăn chặn các mối đe dọa bảo mật, đồng thời duy trì tính an toàn của dữ liệu và hệ thống Để đạt được điều này, cần liên tục nâng cấp và cải thiện các biện pháp bảo mật nhằm đáp ứng các yêu cầu và thách thức mới trong môi trường an ninh hiện nay.
Một kẻ đã phát hiện ra lỗ hổng trong mã nguồn của trang web liên quan đến chức năng tăng giảm số lượng sản phẩm Hắn lợi dụng lỗ hổng này để tăng số lượng sản phẩm trong giỏ hàng mà không bị tính thêm giá, tạo ra một mối đe dọa lớn đối với tính bảo mật và doanh thu của trang web.
- Tổ chức kiểm tra bảo mật định kỳ:
+ Mục đích: Phát hiện và giải quyết lỗ hổng bảo mật ngay từ khi xuất hiện.
Để đảm bảo tính bảo mật của ứng dụng, việc kích thích sử dụng các công cụ kiểm thử tự động và thực hiện kiểm thử xâm nhập định kỳ là rất quan trọng.
- Sử dụng công nghệ mã hóa:
+ Mục đích: Bảo vệ thông tin người dùng và truyền dữ liệu an toàn.
Để bảo vệ dữ liệu người dùng trong cơ sở dữ liệu và khi truyền dữ liệu qua mạng, việc xác định và áp dụng các thuật toán mã hóa mạnh mẽ là rất quan trọng.
- Nâng cấp hệ thống và phần mềm:
Đảm bảo hệ thống luôn sử dụng phiên bản phần mềm và hệ điều hành mới nhất là rất quan trọng để bảo vệ an toàn thông tin Việc cập nhật thường xuyên không chỉ giúp cài đặt các bản vá bảo mật mà còn mang lại những tính năng mới, nâng cao hiệu suất và trải nghiệm người dùng.
Lên kế hoạch định kỳ để nâng cấp hệ điều hành, các dịch vụ trung tâm và phần mềm ứng dụng lớn là hoạt động quan trọng Đồng thời, cần kiểm tra và triển khai các bản vá an ninh để đảm bảo hệ thống luôn được bảo vệ và hoạt động hiệu quả.
6.4 Hỗ trợ người dùng a Mục tiêu: Cung cấp hỗ trợ hiệu quả thông qua việc quản lý vấn đề người dùng, giải đáp nhanh chóng và chuyển hướng đến đội hỗ trợ người thật khi cần thiết. b Tình huống và chiến lược thực hiện:
Trong bản cập nhật mới nhất, trang web đã giới thiệu một chức năng mới dành cho người dùng Tuy nhiên, nhiều người vẫn chưa hiểu rõ cách sử dụng chức năng này.
107 nào Thế là số lượng yêu cầu hỗ trợ tăng đột ngột sau khi một chức năng mới được giới thiệu
- Tạo hệ thống ticket hỗ trợ:
+ Mục đích: Quản lý và ưu tiên vấn đề người dùng một cách hiệu quả.
Tích hợp hệ thống quản lý ticket giúp theo dõi và phân loại các vấn đề một cách hiệu quả, đồng thời xác định mức độ ưu tiên dựa trên ảnh hưởng đến trải nghiệm người dùng và doanh nghiệp.
+ Mục đích: Giải đáp nhanh chóng các câu hỏi phổ biến và giúp định hình vấn đề của người dùng.
Tối ưu hóa chatbot giúp giải quyết các vấn đề cơ bản một cách hiệu quả và tự động chuyển hướng người dùng đến đội ngũ hỗ trợ thực khi cần thiết.
6.5 Cập nhật nội dung và sản phẩm a Mục tiêu: Duy trì thông tin sản phẩm và nội dung trang web luôn mới mẻ, phản ánh xu hướng và nhu cầu của khách hàng. b Tình huống và chiến lược thực hiện:
* Tình huống: Để thu hút khách hàng, trang web đã thêm một lượng lớn sản phẩm vào các danh mục và bổ sung các danh mục sản phẩm mới
- Sử dụng công cụ quản lý nội dung:
+ Mục đích: Dễ dàng cập nhật thông tin sản phẩm và nội dung trang web.
Tích hợp hệ thống quản lý nội dung giúp nhóm nội dung và sản phẩm làm việc hiệu quả hơn, đồng thời quy trình xác nhận được áp dụng để đảm bảo chất lượng sản phẩm.
+ Mục đích: Hiểu rõ nhu cầu và mong muốn của khách hàng.
Để nâng cao hiệu quả kinh doanh, chúng tôi thường xuyên tổ chức khảo sát thị trường nhằm đánh giá xu hướng và phản hồi từ khách hàng Dữ liệu thu thập được sẽ được sử dụng để cập nhật nội dung và danh mục sản phẩm, đảm bảo đáp ứng nhu cầu của thị trường.
6.6 Đánh giá độ ổn định và hiệu suất a Mục tiêu: Đảm bảo rằng hệ thống luôn ổn định dưới tải lớn và đánh giá hiệu suất định kỳ để phòng tránh và giải quyết vấn đề trước khi ảnh hưởng đến trải nghiệm người dùng. b Tình huống và chiến lược thực hiện:
Nhân dịp 20/11, trang web đã tổ chức sự kiện flash sale hấp dẫn, dẫn đến lượng truy cập lớn từ người dùng Tuy nhiên, sự gia tăng đột ngột này đã khiến trang web gặp sự cố và bị sập.
- Sử dụng dịch vụ giám sát Dynatrace liên tục:
+ Mục đích: Theo dõi hiệu suất và thông báo ngay khi có vấn đề.