Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh khoa học và công nghệ phát triển mạnh mẽ, mạng Internet đã trở thành phương tiện kết nối thiết yếu giữa con người với con người, cũng như giữa con người với các hệ thống máy tính và thiết bị ngoại vi. Sự gia tăng nhu cầu sử dụng các thiết bị điện tử đã đưa thị trường kinh doanh sản phẩm công nghệ trở thành một lĩnh vực giàu tiềm năng phát triển. Bên cạnh đó, tác động từ đại dịch Covid-19 đã làm suy giảm các mô hình thương mại truyền thống do những rào cản lớn về chi phí mặt bằng, nhân lực, công tác quảng bá truyền thông và các biện pháp hạn chế tiếp xúc, di chuyển. Ngược lại, bối cảnh này đã thúc đẩy mạnh mẽ sự chuyển dịch sang các mô hình thương mại điện tử nhằm đáp ứng nhu cầu tiêu dùng thiết yếu và mua sắm từ xa của xã hội.

Trước yêu cầu ngày càng cao của người tiêu dùng trên môi trường số, tác giả đã tiến hành nghiên cứu và thực hiện đề tài "Xây dựng hệ thống gợi ý sản phẩm công nghệ cho người dùng" (Đồ án tốt nghiệp ngành Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, thực hiện bởi sinh viên Võ Duy Tạo và Bùi Anh Tài, dưới sự hướng dẫn của ThS. Lê Thị Minh Châu, tháng 07/2024).

Mục tiêu và nhiệm vụ nghiên cứu của đề tài bao gồm:

  1. Nghiên cứu quy trình nghiệp vụ và giao diện của các nền tảng thương mại điện tử kinh doanh thiết bị công nghệ tiêu biểu trên thị trường như Thế Giới Di Động, CellphoneS, Tiki, đồng thời khảo sát thị hiếu người dùng trên các diễn đàn trực tuyến.
  2. Thiết kế và phát triển hệ thống backend theo mô hình RESTful API sử dụng Java Spring Boot kết hợp hệ quản trị cơ sở dữ liệu MySQL, áp dụng cơ chế xác thực phân quyền JSON Web Token (JWT).
  3. Xây dựng giao diện website người dùng và quản trị viên bằng ReactJS kết hợp TypeScript; phát triển ứng dụng di động hỗ trợ quản lý vận chuyển (app shipper) bằng React Native trên nền tảng Android.
  4. Nghiên cứu cơ chế gợi ý sản phẩm theo phương pháp lọc dựa trên nội dung (Content-based filtering) ứng dụng mô hình ngôn ngữ BERT (Bidirectional Encoder Representations from Transformers) trên tập dữ liệu mẫu.
  5. Lập kế hoạch kiểm thử phần mềm chi tiết và triển khai hoàn thiện các giao diện chức năng của hệ thống.

Đối tượng nghiên cứu của đồ án là quy trình thương mại điện tử, các giải pháp gợi ý sản phẩm công nghệ và các công nghệ phát triển web/mobile (Spring Boot, ReactJS, React Native, MySQL, AWS S3, JWT, BERT). Phạm vi nghiên cứu tập trung vào việc thiết kế, xây dựng và kiểm thử một hệ thống thương mại điện tử hoàn chỉnh bao gồm giao diện web bán hàng, phân hệ quản trị, ứng dụng di động dành cho tài xế giao hàng và module gợi ý sản phẩm.

Cơ sở lý thuyết và phương pháp

Đồ án kết hợp giữa lý thuyết công nghệ phần mềm và các giải pháp học máy xử lý ngôn ngữ tự nhiên trong bài toán gợi ý sản phẩm:

  • Khung lý thuyết và mô hình gợi ý:
    • Phương pháp lọc dựa trên nội dung (Content-based filtering): Phân tích đặc trưng thuộc tính của sản phẩm công nghệ để đưa ra gợi ý tương đồng với sở thích người dùng.
    • Mô hình ngôn ngữ BERT (Bidirectional Encoder Representations from Transformers): Được sử dụng trong quá trình xử lý dữ liệu văn bản mô tả sản phẩm, trích xuất vector đặc trưng ngữ cảnh để tính toán độ tương đồng nội dung.
    • Mô hình kiến trúc phần mềm: Mô hình Client - Server tách biệt, giao tiếp thông qua hệ thống RESTful API chuẩn hóa.
  • Phương pháp nghiên cứu:
    • Phương pháp khảo sát và phân tích nghiệp vụ: Đối sánh quy trình bán hàng, tìm kiếm, lọc sản phẩm và giỏ hàng từ các hệ thống thương mại điện tử thực tế.
    • Phương pháp phân tích và thiết kế hệ thống hướng đối tượng: Sử dụng biểu đồ Use Case và biểu đồ tuần tự (Sequence Diagram) để mô hình hóa toàn bộ các luồng tương tác của hệ thống.
    • Phương pháp thực nghiệm mô hình: Thu thập và tiền xử lý tập dữ liệu mẫu sản phẩm công nghệ, thực hiện trích xuất đặc trưng văn bản bằng BERT để xây dựng chức năng gợi ý.
    • Phương pháp kiểm thử phần mềm: Lập kế hoạch kiểm thử chức năng, phân loại lỗi và xây dựng quy trình xử lý lỗi theo tiêu chuẩn phát triển ứng dụng.
  • Nguồn dữ liệu: Dữ liệu sản phẩm mẫu, danh mục, thương hiệu, thông tin người dùng được tổ chức lưu trữ trong cơ sở dữ liệu MySQL; dữ liệu tệp tin đa phương tiện/hình ảnh lưu trữ trên dịch vụ đám mây Amazon Web Services (AWS S3) và được quản lý thông qua liên kết URL.

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế theo cấu trúc phân tán giữa nền tảng Web, Ứng dụng Di động và Dịch vụ Backend, đáp ứng các tiêu chuẩn kỹ thuật và quy tắc nghiệp vụ rõ ràng.

Thành phần Công nghệ / Nền tảng Vai trò và Đặc tả kỹ thuật
Backend API Java, Spring Boot Xây dựng RESTful API, quản lý logic nghiệp vụ, xử lý truy xuất cơ sở dữ liệu.
Cơ sở dữ liệu MySQL Lưu trữ dữ liệu cấu trúc: người dùng, sản phẩm, danh mục, thương hiệu, đơn hàng, hóa đơn.
Lưu trữ tệp AWS S3 Lưu trữ thư viện hình ảnh sản phẩm dưới dạng đường dẫn URL.
Frontend Web ReactJS, TypeScript Xây dựng giao diện người dùng và trang quản trị (Admin).
Mobile App React Native Xây dựng ứng dụng quản lý giao hàng (Shipper/Manager) trên hệ điều hành Android.
Bảo mật JSON Web Token (JWT) Xác thực phiên làm việc, phân quyền người dùng (Web: ADMIN, USER; App: MANAGER, SHIPPER).
Thuật toán gợi ý Content-based / BERT Xử lý dữ liệu văn bản sản phẩm, tính toán độ tương đồng nội dung để tạo danh sách gợi ý.

Hệ thống thiết lập các ràng buộc phi chức năng và quy tắc nghiệp vụ (Business Rules) nghiêm ngặt:

  • Hiệu năng: Thời gian xử lý dữ liệu tối đa không quá 10 giây; bắt buộc hiển thị trạng thái đang tải (loading) trong quá trình xử lý yêu cầu.
  • Tương thích trình duyệt: Hỗ trợ Google Chrome (phiên bản $\ge$ 40.0), Mozilla Firefox (phiên bản $\ge$ 52.0), Microsoft Edge (phiên bản $\ge$ 88.0).
  • Quy tắc bảo mật và phiên làm việc:
    • Tự động đăng xuất sau 10 phút người dùng không hoạt động trên trình duyệt.
    • Khóa tài khoản trong thời gian 30 phút nếu người dùng nhập sai thông tin đăng nhập liên tiếp 6 lần.
    • Mật khẩu người dùng bắt buộc phải được băm (hash), có độ dài tối thiểu 8 ký tự, bao gồm cả chữ cái, chữ số và ký tự đặc biệt.
    • Mật khẩu mới trong use case đổi mật khẩu không được trùng với mật khẩu cũ.

Quy trình giao hàng trên ứng dụng di động được chuẩn hóa thông qua hệ thống 10 trạng thái xử lý đơn hàng:

Mã trạng thái Tên trạng thái Mô tả luồng xử lý
Requesting Yêu cầu giao hàng Đơn hàng mới tạo từ website, chờ quản lý điều phối hoặc shipper nhận đơn.
Working Phân công shipper Đơn hàng đã được quản lý giao hoặc shipper xác nhận tiếp nhận đi giao.
Delivering Đang vận chuyển Shipper đang trong quá trình mang đơn hàng giao đến khách hàng.
Change_Delivering Chuyển giao shipper khác Xử lý trường hợp shipper hiện tại hủy nhận đơn hoặc chuyển giao cho shipper khác.
Received Đơn hàng nhận thành công Shipper xác nhận đã giao hàng thành công và tải ảnh chứng từ lên hệ thống.
Success Đơn hàng thành công Quản lý (Manager) xét duyệt hình ảnh xác nhận và đóng đơn hàng thành công.
Failed Đơn hàng thất bại Giao hàng không thành công do các sự cố phát sinh.
Request_Change Yêu cầu đổi hàng Khách hàng phát sinh yêu cầu đổi sản phẩm.
Request_Return Yêu cầu trả hàng Khách hàng gửi yêu cầu trả lại sản phẩm đã nhận.
Request_Change_And_Return Yêu cầu đổi và trả hàng Xử lý đồng thời cả hai luồng nghiệp vụ đổi sản phẩm và hoàn trả hàng.

Nội dung chính theo từng chương

Phần mở đầu

Trình bày lý do lựa chọn đề tài xuất phát từ nhu cầu mua sắm thiết bị điện tử, sự dịch chuyển từ thương mại truyền thống sang thương mại điện tử sau đại dịch Covid-19; xác định đối tượng nghiên cứu nghiệp vụ, giải pháp công nghệ (Spring Boot, ReactJS, TypeScript, MySQL, JWT, AWS S3) và phạm vi triển khai của đồ án.

Chương 1: Phân tích yêu cầu phần mềm

Đặc tả chi tiết các yêu cầu chức năng và phi chức năng cho cả hai nền tảng Website và Ứng dụng Di động:

  • Phân hệ Website: Phân quyền ADMIN và USER. Bao gồm các chức năng quản lý tài khoản (đăng ký, đăng nhập, đổi mật khẩu, quên mật khẩu, cập nhật thông tin cá nhân, quản lý địa chỉ); tra cứu sản phẩm (tìm kiếm theo từ khóa, lọc theo danh mục/khoảng giá/đánh giá, xem chi tiết sản phẩm, danh sách yêu thích); quản lý giỏ hàng và đặt hàng; hệ thống quản trị danh mục, thương hiệu, sản phẩm, mã giảm giá, hóa đơn và thống kê doanh thu/người dùng.
  • Phân hệ Ứng dụng Di động: Phân quyền MANAGER và SHIPPER. Bao gồm các chức năng phân công đơn hàng, nhận đơn, vận đơn, xác nhận giao hàng bằng hình ảnh, hủy đơn kèm lý do, thống kê thu nhập cá nhân và chức năng trao đổi tin nhắn trực tiếp giữa tài xế và quản lý.
  • Mô hình hóa hệ thống: Cung cấp chi tiết các bảng đặc tả Use Case (UC-2 đến UC-15 cho Web; UC-1.1 đến UC-1.10 cho App) kèm theo các lược đồ tuần tự (Sequence Diagram) mô tả luồng thông tin giữa người dùng, giao diện, bộ điều khiển và cơ sở dữ liệu.

Chương 2: Hệ thống gợi ý sản phẩm

Nghiên cứu cơ sở lý thuyết về các hệ thống gợi ý sản phẩm hiện nay và so sánh tính khả thi khi áp dụng vào nền tảng thương mại điện tử. Đi sâu vào giải pháp lọc dựa trên nội dung (Content-based filtering) kết hợp mô hình ngôn ngữ BERT (Bidirectional Encoder Representations from Transformers). Trình bày quy trình thực nghiệm trên tập dữ liệu mẫu: thu thập dữ liệu sản phẩm, các bước tiền xử lý văn bản, trích xuất vector đặc trưng ngữ nghĩa bằng BERT và xây dựng thuật toán tính toán độ tương đồng để đưa ra gợi ý sản phẩm phù hợp.

Chương 3: App quản lý vận chuyển

Mô tả toàn diện quy trình vận chuyển hàng hóa trong hệ thống thương mại điện tử. Định nghĩa chi tiết luồng chuyển dịch giữa 10 trạng thái đơn hàng (Requesting, Working, Delivering, Change_Delivering, Request_Change, Request_Return, Request_Change_And_Return, Received, Success, Failed). Đặc tả các Use Case trọng tâm của ứng dụng di động: tiếp nhận đơn hàng, xác nhận vận đơn, tải ảnh minh chứng giao hàng để chờ quản lý xét duyệt, quy trình hủy nhận đơn và tích hợp tiện ích bản đồ chỉ đường.

Chương 4: Lập kế hoạch kiểm thử

Thiết lập kế hoạch kiểm thử phần mềm có cấu trúc rõ ràng:

  • Xác định mục tiêu, phạm vi kiểm thử, đối tượng sử dụng tài liệu và các yêu cầu về tài nguyên phần cứng, công cụ và môi trường kiểm thử.
  • Trình bày chiến lược kiểm thử chức năng và phi chức năng, định nghĩa các điều kiện chấp nhận phần mềm (acceptance criteria).
  • Xây dựng hệ thống phân loại mức độ nghiêm trọng của lỗi và chuẩn hóa quy trình tiếp nhận, theo dõi, sửa chữa và tái kiểm thử lỗi.

Chương 5: Triển khai chương trình

Minh họa chi tiết kết quả xây dựng hệ thống thông qua các giao diện thực tế:

  • Giao diện Website: Trang chủ, trang đăng ký, đăng nhập, quên mật khẩu, trang thông tin cá nhân, danh sách và bộ lọc sản phẩm, chi tiết sản phẩm, giỏ hàng, thanh toán, lịch sử đơn hàng; các màn hình quản trị admin (quản lý người dùng, quản lý sản phẩm, quản lý đơn hàng).
  • Giao diện App Shipper: Màn hình đăng nhập/đăng ký shipper, thông tin cá nhân, danh sách quản lý đơn hàng, bộ lọc đơn hàng, chi tiết đơn hàng, màn hình xác nhận giao hàng (tải ảnh), màn hình tích hợp bản đồ dẫn đường, màn hình thống kê doanh thu và màn hình nhắn tin nội bộ.

Chương 6: Ưu điểm, nhược điểm và hướng phát triển

Đánh giá tổng kết hệ thống:

  • Ưu điểm: Xây dựng hoàn chỉnh hệ sinh thái gồm website bán hàng và ứng dụng di động quản lý giao vận; tích hợp cơ chế bảo mật JWT; áp dụng mô hình gợi ý sản phẩm dựa trên nội dung sử dụng BERT; giao diện người dùng trực quan, rõ ràng.
  • Nhược điểm: Dữ liệu huấn luyện cho hệ thống gợi ý mới dừng lại ở tập mẫu; chưa tối ưu hóa cho đa nền tảng di động (chỉ mới triển khai trên Android); chưa tích hợp các cổng thanh toán trực tuyến tự động phức tạp.
  • Hướng phát triển: Mở rộng quy mô tập dữ liệu thực tế cho mô hình gợi ý, kết hợp các phương pháp gợi ý lai (Hybrid Recommendation); phát triển ứng dụng di động đa nền tảng (iOS); hoàn thiện hệ thống thanh toán điện tử và tối ưu hóa hiệu năng hệ thống.

Kết quả và đóng góp

Đồ án đã đạt được các kết quả kỹ thuật cụ thể:

  • Hoàn thiện hệ thống website thương mại điện tử với đầy đủ luồng nghiệp vụ từ duyệt sản phẩm, tìm kiếm, lọc đa tiêu chí, giỏ hàng, đặt hàng đến trang quản trị phân quyền (ADMIN và USER).
  • Xây dựng ứng dụng di động hỗ trợ quản lý vận chuyển chạy trên nền tảng Android, hiện thực hóa quy trình giao vận với 10 trạng thái đơn hàng, hỗ trợ xác nhận minh chứng giao hàng qua ảnh và định vị bản đồ.
  • Nghiên cứu và triển khai thành công mô hình gợi ý sản phẩm bằng phương pháp lọc dựa trên nội dung tích hợp mô hình ngôn ngữ BERT trên tập dữ liệu mẫu.
  • Xây dựng tài liệu phân tích thiết kế hệ thống chi tiết bao gồm 18 bảng use case/yêu cầu, 15 lược đồ tuần tự (Sequence Diagram) và kế hoạch kiểm thử phần mềm bài bản.

Đóng góp của đồ án thể hiện ở việc kết hợp đồng bộ giữa nền tảng bán hàng trực tuyến, ứng dụng điều phối giao vận cho tài xế và module trí tuệ nhân tạo (BERT) vào một hệ thống thương mại điện tử duy nhất, thay vì chỉ phát triển một ứng dụng web bán hàng đơn lẻ.

Hạn chế và hướng nghiên cứu tiếp

Theo đánh giá của tác giả trong văn bản, đồ án còn một số hạn chế và định hướng phát triển cụ thể như sau:

  • Hạn chế:
    • Mô hình gợi ý sản phẩm mới được thực nghiệm và triển khai trên tập dữ liệu mẫu, chưa được đánh giá trên tập dữ liệu người dùng thực tế quy mô lớn.
    • Ứng dụng di động mới chỉ hỗ trợ triển khai trên hệ điều hành Android.
  • Hướng nghiên cứu và phát triển tiếp:
    • Mở rộng quy mô tập dữ liệu thực tế, nghiên cứu kết hợp thêm các phương pháp gợi ý khác (lọc cộng tác - Collaborative filtering hoặc mô hình lai Hybrid) để nâng cao độ chính xác.
    • Mở rộng ứng dụng di động sang hệ điều hành iOS.
    • Tích hợp thêm các cổng thanh toán trực tuyến và nâng cao các tính năng tự động hóa trong quản lý đơn hàng.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho:

  • Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm, Hệ thống Thông tin: Tham khảo cấu trúc toàn diện của một đồ án tốt nghiệp kỹ thuật, từ khâu khảo sát nghiệp vụ, phân tích yêu cầu (Use Case, Sequence Diagram), lập kế hoạch kiểm thử đến triển khai thực tế.
  • Người phát triển hệ thống thương mại điện tử và giao vận: Có thể tham khảo cách thiết kế luồng trạng thái đơn hàng (10 trạng thái trong quy trình giao vận), kiến trúc phân quyền JWT đa nền tảng (Web/App), và cách tích hợp mô hình ngôn ngữ BERT vào bài toán gợi ý sản phẩm theo nội dung.

Câu hỏi thường gặp

1. Hệ thống sử dụng mô hình nào để xây dựng chức năng gợi ý sản phẩm?
Hệ thống sử dụng phương pháp lọc dựa trên nội dung (Content-based filtering) kết hợp với mô hình ngôn ngữ BERT (Bidirectional Encoder Representations from Transformers) để xử lý dữ liệu mô tả sản phẩm và tính toán độ tương đồng nội dung trên tập dữ liệu mẫu.

2. Công nghệ nào được lựa chọn để phát triển hệ thống Website, Mobile App và Backend?
Hệ thống sử dụng Java Spring Boot để xây dựng Backend RESTful API; cơ sở dữ liệu MySQL; dịch vụ AWS S3 lưu trữ hình ảnh; ReactJS kết hợp TypeScript cho giao diện Website; và React Native cho ứng dụng di động Android.

3. Cơ chế bảo mật và quy tắc phiên làm việc được quy định như thế nào?
Hệ thống sử dụng JSON Web Token (JWT) để xác thực và phân quyền; mật khẩu lưu trữ bắt buộc phải được băm (hash), có độ dài tối thiểu 8 ký tự gồm chữ, số và ký tự đặc biệt. Hệ thống tự động đăng xuất sau 10 phút không hoạt động và khóa tài khoản 30 phút nếu đăng nhập sai 6 lần liên tiếp.

4. Quy trình giao hàng trên ứng dụng Shipper gồm những trạng thái chính nào?
Quy trình giao hàng gồm 10 trạng thái: Requesting, Working, Delivering, Change_Delivering, Request_Change, Request_Return, Request_Change_And_Return, Received, Success, và Failed.

5. Ứng dụng di động của đồ án hỗ trợ những vai trò người dùng nào?
Ứng dụng di động phân quyền cho hai nhóm người dùng chính là MANAGER (Quản lý) và SHIPPER (Tài xế giao hàng).

Kết luận

Đồ án tốt nghiệp "Xây dựng hệ thống gợi ý sản phẩm công nghệ cho người dùng" của sinh viên Võ Duy Tạo và Bùi Anh Tài đã giải quyết trọn vẹn bài toán xây dựng nền tảng thương mại điện tử tích hợp ứng dụng giao vận và module gợi ý thông minh. Hệ thống được thiết kế bài bản trên nền tảng kiến trúc hiện đại gồm Spring Boot, ReactJS, React Native, MySQL kết hợp AWS S3 và mô hình ngôn ngữ BERT. Tài liệu cung cấp đầy đủ các đặc tả yêu cầu, thiết kế luồng dữ liệu, quy trình kiểm thử và giao diện triển khai thực tế, mang lại giá trị tham khảo học thuật và kỹ thuật cao cho sinh viên ngành Công nghệ Thông tin.