Cải thiện thêm chatbot có khả năng phân biệt thêm nhiều ngữ cảnh tin nhắn người dùng gửi tới.
Thiết lập thêm tính năng cấu hình kịch bản cho chatbot cũng như cấu hình thông tin kết nối của chatbot.
Cải thiện thêm tính năng đặt hàng trên chatbot.
Phát triển thêm các công cụ thanh toán trực tuyến đơn hàng trên hệ thống.
Cải thiện mô hình phân hệ gợi ý có thể cá nhân hoá theo từng người dùng khác nhau.
Phát triển thêm tính năng gợi ý mà có khả năng gợi ý sản phẩm dựa theo một số tiêu chí nào đó dành cho người dùng khách.
Phát triển thêm một số công cụ tìm kiếm, ví dụ elasticsearch. Cải thiện thêm tính bảo mật của website.
Cải thiện thêm việc lưu trữ và truy vấn cơ sở dữ liệu. Cải thiện thêm giao diện và tương tác tốt hơn.
DANH MỤC TÀI LIỆU THAM KHẢO
[1] Giới thiệu về nền tảng messenger. Truy cập 28/6/2021, từ
https://developers.facebook.com/docs/messenger-platform/introduction/
[2] The Python Tutorial. Truy cập 15/7/2021, từ https://docs.python.org/3/tutorial/
[3] Python Tutorial. Truy cập 15/7/2021, từ https://www.w3schools.com/python/
[4] MySQL là gì? Hướng dẫn toàn tập về MySQL. Truy cập 15/7/2021, từ
https://wiki.matbao.net/mysql-la-gi-huong-dan-toan-tap-ve-mysql/
[5] Refsnes Data (1998). Node.js MySQL. Truy cập 15/7/2021, từ
https://www.w3schools.com/nodejs/nodejs_mysql.asp
[6] Refsnes Data (1998). Node.js Tutorial. Truy cập 20/7/2021, từ
https://www.w3schools.com/nodejs/nodejs_mysql.asp
[7] Node.js – Express Framework. Truy cập 15/7/2021, từ
https://www.tutorialspoint.com/nodejs/nodejs_express_framework.htm
[8] [MVC] Routes & Controllers. Truy cập 28/5/2021, từ
https://www.youtube.com/watch?v=Pd_ZIpCVZPc&list=PL_- VfJajZj0VatBpaXkEHK_UPHL7dW6I3&index=18
[9] Paypal Guide: Install Payment Notification Guide – Paypal: 11-43
[10] Vũ Hữu Tiệp (2017). Bài 6: K-nearest neighbors. Truy cập 23/7/2021, từ
https://machinelearningcoban.com/2017/01/08/knn/
[11] Vũ Hữu Tiệp (2017). Bài 23: Content-Based Recommendation Systems. Truy cập
23/7/2021, từ
https://machinelearningcoban.com/2017/05/17/contentbasedrecommendersys/
[12] Vũ Hữu Tiệp (2017). Bài 24: Neighborhood-Based Collaborative Filtering. Truy cập 23/7/2021, từ https://machinelearningcoban.com/2017/05/24/collaborativefiltering/
[13] Introduction to Recommender System. Truy cập 15/6/2021, từ
https://towardsdatascience.com/intro-to-recommender-system-collaborative-filtering- 64a238194a26
[14] Tomer Ben Rachel (2021). How to Use Nodemailer to Send Emails from Your Node.js Server. Truy cập 12/6/2021, từ https://www.freecodecamp.org/news/use- nodemailer-to-send-emails-from-your-node-js-server/
[15] Get started with Bootstrap. Truy cập 1/7/2021, từ
https://getbootstrap.com/docs/4.0/getting-started/introduction/
[16] Javascript Tutorial. Truy cập 10/7/2021, từ
PHỤ LỤC A.! Đặc tả Use-Case cho các tính năng khác
¥! Chức năng đăng nhập dành cho người dùng:
Name Đăng nhập
Summary Chức năng đăng nhập vào hệ thống dành cho người dùng, người dùng phải đăng nhập để có thể được hỗ trợ và thực hiện nhiều trải nghiệm khác
Actors Người dùng
Basic course of Event -! Người dùng truy cập vào trang chủ -! Chọn chức năng đăng nhập
-! Hệ thống yêu cầu nhập email, mật khẩu -! Người dùng nhập email, mật khẩu -! Hệ thống kiểm tra email, mật khẩu
-! Nếu email và mật khẩu hợp lệ(đăng nhập thành công), chuyển tới trang chủ
Exception paths Người dùng không thể đăng nhập vào hệ thống, hiển thị cảnh báo:
-! Tài khoản không hợp lệ(chưa tồn tại trên hệ thống) -! Nhập sai email hoặc mật khẩu
-! Hệ thống tạm thời bảo trì
Preconditions Người dùng có đăng ký tài khoản hợp lệ
Post conditions Người dùng đăng nhập thành công, chuyển tới trang chủ hiển thị danh sách sản phẩm gợi ý cho bạn(nếu có) và sản phẩm phổ biến
Business rules
Bảng đặc tả PL1: đăng nhập vào trang chủ
¥! Chức năng đăng nhập dành cho nhân viên:
Name Đăng nhập dành cho nhân viên
Summary Chức năng đăng nhập của nhân viên, nhân viên phải đăng nhập để có thể thực hiện các chức năng dành cho nhân viên
Actors Nhân viên
Basic course of Event -! Nhân viên truy cập vào trang dành cho nhân viên -! Hệ thống yêu cầu nhập email và mật khẩu
-! Nhân viên nhập email, mật khẩu -! Hệ thống kiểm tra email, mật khẩu
-! Nếu email và mật khẩu hợp lệ(đăng nhập thành công), chuyển tới trang danh sách đơn hàng
Exception paths Hiển thị thông báo từ chối truy cập: -! Tài khoản không hợp lệ
-! Người dùng không có quyền truy cập vào trang nhân viên
-! Nhập sai email hoặc mật khẩu -! Hệ thống tạm thời bảo trì
Business rules
Bảng đặc tả PL2: đăng nhập vào trang nhân viên
¥! Chức năng đăng nhập dành cho quản trị viên:
Name Đăng nhập dành cho quản trị viên
Summary Chức năng đăng nhập của quản trị viên để quản lý thông tin cũng như thực hiện các chức năng dành cho quản trị viên Actors Quản trị viên
Basic course of Event -! Quản trị viên truy cập vào trang quản trị viên -! Hệ thống yêu cầu nhập email và mật khẩu -! Quản trị viên nhập email, mật khẩu
-! Hệ thống kiểm tra email, mật khẩu
-! Nếu email và mật khẩu hợp lệ(đăng nhập thành công), hiển thị trang quản trị viên
Exception paths Hiển thị thông báo từ chối truy cập: -! Tài khoản không hợp lệ
-! Người dùng không có quyền truy cập vào trang quản trị viên
-! Nhập sai email hoặc mật khẩu -! Hệ thống tạm thời bảo trì
Preconditions Bắt buộc phải dùng tài khoản dành cho quản trị viên Post conditions Chuyển tới trang quản trị viên
Business rules
Bảng đặc tả PL3: đăng nhập vào trang quản trị viên
¥! Chức năng lấy lại mật khẩu:
Name Lấy lại mật khẩu
Summary Khi người dùng quên mật khẩu thì nhấn vào nút quên mật khẩu để tiến hành lấy lại mật khẩu
Actors Người dùng, nhân viên
Basic course of Event -! Truy cập vào form đăng nhập -! Nhấn vào nút quên mật khẩu
-! Nhập email của tài khoản muốn reset -! Hệ thống sẽ gửi mã OTP vào email
-! Ta sẽ nhập lại mã OTP, email và mật khẩu mới -! Nhấn vào nút thay đổi mật khẩu để thay đổi Exception paths Không thay đổi được mật khẩu:
-! Hệ thống bảo trì tạm thời -! Mật khẩu mới không hợp lệ
Preconditions Phải có tài khoản người dùng hoặc tài khoản nhân viên Post conditions Mật khẩu được thay đổi thành công
Business rules
¥! Chức năng đăng ký tài khoản người dùng:
Name Đăng ký tài khoản
Summary Người dùng đăng ký tài khoản Actors Khách truy cập chưa có tài khoản Basic course of Event -! Truy cập vào trang chủ
-! Chọn form đăng ký
-! Hệ thống yêu cầu nhập tên, email, mật khẩu, số điện thoại, địa chỉ
-! Nhập đầy đủ các thông tin vào form đăng ký -! Nhấn vào nút đăng ký tài khoản
-! Hiển thị thông báo tạo tài khoản thành công Exception paths Không đăng ký được tài khoản:
-! Hệ thống bảo trì tạm thời
-! Email hoặc số điện thoại đăng ký đã tồn tại -! Nhập thiếu thông tin trên form
-! Nhập sai mật khẩu
Preconditions Bất kỳ ai chưa có tài khoản đều có thể đăng ký Post conditions Đăng ký tài khoản thành công
Business rules
Bảng đặc tả PL5: chức năng đăng ký tài khoản
¥! Chức năng thêm vào giỏ hàng:
Name Thêm sản phẩm vào giỏ hàng
Summary Người dùng hoặc khách truy cập có thể thêm các sản phẩm trên hệ thống vào giỏ hàng nếu muốn đặt mua
Actors Người dùng, khách, …
Basic course of Event -! Truy cập vào trang chủ
-! Nhấn vào nút giỏ hàng trên trang hiển thị danh sách sản phẩm hoặc nút thêm vào giỏ hàng trên trang chi tiết sản phẩm
-! Sản phẩm được thêm vào giỏ hàng
Exception paths Không thêm được sản phẩm vào giỏ hàng do hệ thống bảo trì tạm thời
Preconditions Bất kỳ ai cũng có thể thêm sản phẩm vào giỏ hàng Post conditions Sản phẩm được thêm vào giỏ hàng
Business rules
¥! Chức năng huỷ, xác nhận đơn hàng của nhân viên:
Name Xác nhận đơn hàng
Summary Nhân viên sẽ xác nhận giao hàng khi đã giao hàng cho khách hàng hoặc huỷ đơn hàng
Actors Nhân viên
Basic course of Event -! Truy cập vào trang nhân viên
-! Hệ thống hiển thị form yêu cầu đăng nhập -! Nhân viên nhập email, mật khẩu
-! Hệ thống xác thực thông tin và chuyển đến trang xem danh sách sản phẩm
-! Truy vấn đơn hàng mà ta cần thao tác -! Nhấn vào icon xem chi tiết
-! Chuyển trạng thái cho đơn hàng Exception paths Không vào được trang nhân viên:
-! Hệ thống bảo trì tạm thời
-! Người dùng không được cấp quyền -! Nhập sai thông tin
Preconditions Chỉ có nhân viên, có tài khoản nhân viên do quản trị viên tạo mới được quyền truy cập vào
Post conditions Đơn hàng đã được chuyển trạng thái Business rules
Bảng đặc tả PL7: chức năng huỷ, xác nhận đơn hàng dành cho nhân viên
¥! Chức năng chỉnh sửa sản phẩm:
Name Quản trị viên chỉnh sửa sản phẩm
Summary Quản trị viên có thể chỉnh sửa sản phẩm đang có trên hệ thống
Actors Quản trị viên
Basic course of Event -! Truy cập vào trang quản trị viên
-! Hệ thống hiển thị form yêu cầu đăng nhập -! Nhân viên nhập email, mật khẩu
-! Hệ thống xác thực thông tin và chuyển đến trang quản trị viên và hiển thị thông tin thống kê
-! Nhấp vào nút xem sản phẩm ở trang quản trị viên -! Nhấn vào icon chỉnh sửa sản phẩm với sản phẩm mà
ta muốn chỉnh sửa
-! Thay đổi thông tin sản phẩm vào nhấn lưu -! Hiển thị thông báo thay đổi thông tin thành công Exception paths Không sửa được thông tin sản phẩm
-! Hệ thống bảo trì tạm thời
-! Thông tin chỉnh sửa không phù hợp
Preconditions Phải là quản trị viên mới được chỉnh sửa thông tin sản phẩm Post conditions Hiển thị thông báo đã cập nhật và sản phẩm đã được cập nhật
thông tin Business rules
¥! Chức năng xoá sản phẩm:
Name Quản trị viên xoá sản phẩm
Summary Quản trị viên có thể xoá sản phẩm đang có trên hệ thống Actors Quản trị viên
Basic course of Event -! Truy cập vào trang quản trị viên
-! Hệ thống hiển thị form yêu cầu đăng nhập -! Nhân viên nhập email, mật khẩu
-! Hệ thống xác thực thông tin và chuyển đến trang quản trị viên và hiển thị thông tin thống kê
-! Nhấp vào nút xem sản phẩm ở trang quản trị viên -! Nhấn vào icon xoá sản phẩm với sản phẩm mà ta
muốn xoá
-! Hiển thị popup xác nhận việc xoá sản phẩm -! Nhấn vào nút xoá nếu muốn xoá sản phẩm -! Hiển thị thông báo xoá sản phẩm thành công Exception paths Không xoá được sản phẩm trên hệ thống:
-! Hệ thống bảo trì tạm thời
Preconditions Phải là quản trị viên mới được xoá sản phẩm
Post conditions Hiển thị thông báo đã xoá sản phẩm và sản phẩm đã được xoá khỏi cơ sở dữ liệu hệ thống
Business rules
Bảng đặc tả PL9: chức năng xoá sản phẩm của quản trị viên
¥! Chức năng xoá thông tin người dùng:
Name Quản trị viên xoá thông tin người dùng
Summary Quản trị viên có thể xem danh sách người dùng cũng như thông tin chi tiết người dùng trên trang quản trị viên
Actors Quản trị viên
Basic course of Event -! Truy cập vào trang quản trị viên
-! Hệ thống hiển thị form yêu cầu đăng nhập -! Nhân viên nhập email, mật khẩu
-! Hệ thống xác thực thông tin và chuyển đến trang quản trị viên và hiển thị thông tin thống kê
-! Nhấp vào nút người dùng ở trang quản trị viên -! Nhấn vào nút xoá ở người dùng mà ta muốn xoá -! Hiển thị popup xác nhận việc xoá thông tin người
dùng
-! Nhấn vào nút xoá trong popup để xác nhận xoá -! Load lại trang danh sách người dùng
Exception paths Không xoá được thông tin người dùng: -! Hệ thống bảo trì tạm thời
Preconditions Chỉ có quản trị viên mới có quyền xoá thông tin người dùng Post conditions Thông tin người dùng đã được xoá khỏi hệ thống
Business rules
¥! Chức năng xoá thông tin nhân viên:
Name Quản trị viên xoá thông tin nhân viên
Summary Quản trị viên có thể xem danh sách nhân viên cũng như thông tin chi tiết nhân viên trên trang quản trị viên
Actors Quản trị viên
Basic course of Event -! Truy cập vào trang quản trị viên
-! Hệ thống hiển thị form yêu cầu đăng nhập -! Nhân viên nhập email, mật khẩu
-! Hệ thống xác thực thông tin và chuyển đến trang quản trị viên và hiển thị thông tin thống kê
-! Nhấp vào nút nhân viên ở trang quản trị viên -! Nhấn vào nút xoá ở nhân viên mà ta muốn xoá -! Hiển thị popup xác nhận việc xoá thông tin nhân viên -! Nhấn vào nút xoá trong popup để xác nhận xoá -! Load lại trang danh sách nhân viên
Exception paths Không xoá được thông tin nhân viên: -! Hệ thống bảo trì tạm thời
Preconditions Chỉ có quản trị viên mới có quyền xoá thông tin nhân viên Post conditions Thông tin nhân viên đã được xoá khỏi hệ thống
Business rules
Bảng đặc tả PL11: chức năng xoá thông tin nhân viên ở trang quản trị viên
¥! Chức năng tạo tài khoản nhân viên:
Name Quản trị viên tạo tài khoản nhân viên
Summary Quản trị viên có thể tạo tài khoản cho nhân viên Actors Quản trị viên
Basic course of Event -! Truy cập vào trang quản trị viên
-! Hệ thống hiển thị form yêu cầu đăng nhập -! Nhân viên nhập email, mật khẩu
-! Hệ thống xác thực thông tin và chuyển đến trang quản trị viên và hiển thị thông tin thống kê
-! Nhấp vào nút tạo tài khoản nhân viên ở trang quản trị viên
-! Hiển thị form tạo tài khoản nhân viên yêu cầu nhập thông tin(họ tên, email, mật khẩu, số điện thoại, địa chỉ)
-! Quản trị viên nhập thông tin để tạo tài khoản cho nhân viên
-! Hiển thị thông báo tạo tài khoản nhân viên thành công Exception paths Không tạo được tài khoản nhân viên:
-! Hệ thống bảo trì tạm thời
-! Không có quyền thực hiện tác vụ này
Preconditions Chỉ có quản trị viên mới có quyền tạo tài khoản nhân viên Post conditions Thông tin tài khoản đã được tạo và lưu trữ trong cơ sở dữ
liệu Business rules
B.! Hiện thực các tính năng khác của hệ thống B.1.! Form đăng nhập
Ta sẽ hiện thực form đăng nhập như sau:
Hình PL1: form đăng nhập
Khi người dùng nhập đúng thông tin đăng nhập sẽ chuyển tới trang chủ hiển thị danh sách sản phẩm. Khi người dùng nhập sai thông tin sẽ hiển thị cảnh báo và yêu cầu nhập lại như sau:
B.2.! Form đăng ký
Form đăng ký tài khoản người dùng:
Hình PL3: form đăng ký tài khoản người dùng
Khi người dùng đăng ký tài khoản không thành công (email hoặc số điện thoại đã tồn tại), khi đó sẽ hiển thị cảnh báo và form yêu cầu nhập lại như sau:
B.3.! Form đăng nhập để mua sản phẩm
Tương tự, khi người dùng đặt mua sản phẩm trên hệ thống, nếu người dùng chưa đăng nhập thì hệ thống sẽ render form đăng nhập để mua sản phẩm, nếu thông tin đăng nhập sai thì sẽ hiển thị cảnh báo và form yêu cầu đăng nhập lại.
Hình PL5: form đăng nhập để mua sản phẩm
B.4.! Form đăng nhập cho nhân viên
Tương tự, ta có form đăng nhập cho nhân viên: