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

Khóa luận tốt nghiệp ngành Công nghệ Thông tin tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (Khoa Đào tạo Quốc tế) của nhóm tác giả Huỳnh Quốc Thoại (MSSV: 20110406) và Huỳnh Đăng Khoa (MSSV: 20110375), dưới sự hướng dẫn của TS. Lê Văn Vinh, tập trung vào đề tài "Developing an e-commerce website to sell perfume products using MERN stack".

Theo trình bày của nhóm tác giả, nước hoa trong đời sống hiện đại không chỉ đóng vai trò là một mỹ phẩm làm đẹp thông thường mà còn là phương tiện khẳng định cá tính, phong cách sống của người tiêu dùng, đặc biệt là nhóm khách hàng trẻ tuổi. Mỗi mùi hương truyền tải một câu chuyện và dấu ấn cá nhân riêng biệt. Đồng thời, sự phát triển mạnh mẽ của thương mại điện tử tạo tiền đề thuận lợi cho việc phân phối các dòng sản phẩm này trên môi trường số, đáp ứng nhu cầu mua sắm tiện lợi và đa dạng lựa chọn. Xuất phát từ bối cảnh đó, đề tài được thực hiện nhằm giải quyết các bài toán về trải nghiệm người dùng, cấu trúc danh mục sản phẩm, tính an toàn trong giao dịch và sự liền mạch trong quy trình quản lý đơn hàng.

Mục tiêu và nhiệm vụ nghiên cứu được phân định thành hai mảng cụ thể:

  1. Về mặt lý thuyết: Tiến hành khảo sát thực trạng nhu cầu thị trường và nghiên cứu cơ chế vận hành của các hệ thống thương mại điện tử tương tự.
  2. Về mặt thực nghiệm/ứng dụng: Vận dụng các kiến thức công nghệ đã tích lũy để thiết kế, xây dựng và hoàn thiện một website thương mại điện tử chuyên kinh doanh các sản phẩm nước hoa.

Về đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Quy trình xây dựng website thương mại điện tử bán nước hoa, phân rã các tính năng thành các mô-đun độc lập để quản lý và vận hành dựa trên việc tham khảo các mô hình thương mại điện tử thương hiệu lớn như Versace và Dior. Hệ thống tập trung vào các chức năng cốt lõi gồm tìm kiếm, lựa chọn, đặt hàng và thanh toán.
  • Phạm vi nghiên cứu: Phát triển giải pháp phần mềm trên nền tảng MERN stack (MongoDB, Express.js, ReactJS, Node.js), thời gian thực hiện đồ án từ ngày 02/09/2024 đến ngày 13/12/2024.

Nhằm xác định rõ yêu cầu bài toán, nhóm tác giả đã tiến hành khảo sát và đánh giá ưu - nhược điểm của 4 website kinh doanh nước hoa thực tế:

Tên hệ thống Chức năng chính ghi nhận Điểm mạnh theo khảo sát Hạn chế còn tồn tại
Orchard.vn Xem chi tiết, tìm kiếm, lọc sản phẩm, thêm vào giỏ hàng. Phân loại chi tiết (thương hiệu, giới tính), có gợi ý tìm kiếm, giao diện tối ưu cho thiết bị. Không quản lý được sản phẩm trong giỏ hàng; danh sách thương hiệu không tự tải, phải cuộn trang.
Nước Hoa Rosa Đăng nhập/đăng ký, tìm kiếm/lọc, giỏ hàng, phân trang, chat với người bán. Lọc theo thương hiệu, giá, trạng thái; hotline hỗ trợ nhanh; đa dạng thanh toán (COD, MoMo, ATM, Visa). Bố cục trang tin tức/blog chưa bắt mắt.
Nước Hoa Bình Dương Tìm kiếm, lọc sản phẩm, thêm và quản lý giỏ hàng, phân trang. Lọc chi tiết theo thương hiệu, mức giá, danh mục; giao diện bắt mắt và tối ưu thiết bị. Bố cục sản phẩm và bài viết không đồng đều; banner không hiển thị trọn vẹn 100%; không thể thanh toán (checkout).
Min Perfume Xem, lọc theo tiêu chí, xem chi tiết, quản lý giỏ hàng. Phân loại sâu theo dung tích (size) và giới tính; tập trung chuyên sâu vào ngành hàng. Bố cục trang chưa đồng đều; giao diện trực quan chưa đạt tính thẩm mỹ cao.

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

Khóa luận áp dụng mô hình nghiên cứu thiết kế và xây dựng hệ thống phần mềm (Design and Implementation), kết hợp giữa kiến trúc ứng dụng web hiện đại và thuật toán trí tuệ nhân tạo phục vụ chatbot tư vấn.

Về cơ sở lý thuyết, tác giả sử dụng các nền tảng kỹ thuật chuyên biệt:

  • Kiến trúc Front-end: Sử dụng thư viện ReactJS với cơ chế Virtual DOM và cú pháp JSX để xây dựng các thành phần giao diện tái sử dụng. Để quản lý luồng dữ liệu toàn cục, nhóm sử dụng thư viện Redux dựa trên các nguyên lý "Single source of truth" (Store duy nhất) và trạng thái chỉ đọc (State is read-only), được điều phối qua Actions và Reducers. Hệ thống sử dụng Material UI cho bộ thành phần giao diện, React Router cho điều hướng trang và Axios để gửi các yêu cầu HTTP bất đồng bộ.
  • Kiến trúc Back-end: Nền tảng Node.js với mô hình hướng sự kiện (Event-driven) và I/O không chặn (Non-blocking I/O) chạy trên JavaScript V8 Engine. Kết hợp cùng framework Express.js để tổ chức routing, xử lý middleware và quản lý ngoại lệ.
  • Cơ sở dữ liệu NoSQL: Lựa chọn hệ quản trị MongoDB thuộc nhóm Document Database, lưu trữ dữ liệu dạng JSON/BSON linh hoạt, hỗ trợ Sharding, Replica Sets, GridFS và giao dịch đa tài liệu (ACID multi-document transactions). Nhóm sử dụng thư viện Mongoose ODM (Object Data Modeling) để thiết lập cấu trúc Schema và ánh xạ sang Model dữ liệu.
  • Cơ chế xác thực và bảo mật: Áp dụng chuẩn JSON Web Token (JWT - RFC 7519) gồm ba thành phần (Header, Payload, Signature) cho phân quyền người dùng, kết hợp chính sách CORS (Cross-Origin Resource Sharing) nhằm kiểm soát việc chia sẻ tài nguyên giữa các domain.
  • Mô hình Trí tuệ nhân tạo (Chatbot NLP): Áp dụng phương pháp Học có giám sát (Supervised Learning) với mạng nơ-ron nhân tạo (ANN). Dữ liệu mẫu được cấu trúc trong tệp intents.json gồm các cặp mẫu câu hỏi (patterns) và nhãn phân loại (tags). Quy trình xử lý ngôn ngữ tự nhiên gồm ba bước: Tokenization (tách từ), Lemmatization (chuẩn hóa về từ gốc) và xây dựng biểu diễn Bag-of-Words. Mạng ANN được thiết lập qua Keras Sequential API (TensorFlow), sử dụng hàm kích hoạt ReLU ở các lớp ẩn và Softmax ở lớp đầu ra để phân loại xác suất đa lớp.

Phương pháp nghiên cứu thực tế gồm: khảo sát so sánh hiện trạng 4 nền tảng thực tế; mô hình hóa chức năng bằng sơ đồ Use Case và kịch bản chi tiết; thiết kế trình tự bằng Sequence Diagram; thiết kế cơ sở dữ liệu hướng tài liệu và kiểm thử hộp đen (Black-box testing) theo các kịch bản kiểm thử định sẵn.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình phân tách độc lập giữa Client-side (Single Page Application bằng React) và Server-side (RESTful APIs bằng Node.js/Express.js), trao đổi dữ liệu định dạng JSON.

Hệ thống công nghệ triển khai trong dự án:

Tầng kiến trúc Công nghệ / Thư viện chính Vai trò kỹ thuật trong hệ thống
Giao diện (Front-end) ReactJS, Redux, React-Redux, React Router, Material UI, Axios Xây dựng giao diện tương tác, quản lý state tập trung, điều hướng client và xử lý API calls.
Dịch vụ (Back-end) Node.js, Express.js, Mongoose, JWT, CORS Xây dựng RESTful API, định tuyến URL, kiểm soát phiên đăng nhập qua token, xác thực quyền truy cập.
Cơ sở dữ liệu (Database) MongoDB, MongoDB Compass Lưu trữ các tập dữ liệu người dùng, sản phẩm, đơn hàng, danh mục, thanh toán dưới dạng tài liệu JSON.
Mô-đun AI (Chatbot) Python, TensorFlow, Keras, NLTK, NumPy, Pickle, JSON Huấn luyện mạng nơ-ron nhân tạo phân loại ý định người dùng, hỗ trợ tư vấn chọn nước hoa tự động.

Cơ sở dữ liệu hệ thống được thiết kế gồm 11 bảng/collection dữ liệu chính:

  1. category / categories: Quản lý danh mục nhóm sản phẩm.
  2. variant: Quản lý các biến thể sản phẩm (dung tích, kích cỡ).
  3. brand: Lưu trữ thông tin thương hiệu nước hoa.
  4. product: Thông tin chi tiết sản phẩm, giá bán, mô tả, hình ảnh.
  5. users: Thông tin tài khoản người dùng, email, mật khẩu mã hóa, vai trò.
  6. order: Thông tin đơn đặt hàng, trạng thái xử lý, người mua.
  7. payment: Dữ liệu giao dịch và phương thức thanh toán.
  8. product buyers: Ghi nhận dữ liệu các khách hàng đã mua sản phẩm.
  9. product review: Đánh giá, xếp hạng sao của người dùng về sản phẩm đã mua.
  10. promotion: Quản lý danh sách các mã khuyến mãi và điều kiện giảm giá.
  11. subscriber: Danh sách địa chỉ email đăng ký nhận bản tin thông báo.

Dự án xác định 3 nhóm tác nhân chính truy cập hệ thống:

  • Administrator (Quản trị viên): Có quyền hạn cao nhất, thực hiện xóa tài khoản người dùng; thêm, sửa, xóa danh mục (Category); thêm, sửa, xóa sản phẩm (Product); thêm, sửa, xóa thương hiệu (Brand); tạo, cập nhật, xóa mã giảm giá (Promotion code); xem chi tiết đơn hàng, xóa đơn hàng và theo dõi số liệu thống kê tại Dashboard.
  • Member (Thành viên): Đăng nhập thông thường hoặc đăng nhập thông qua tài khoản Google, đăng xuất, khôi phục mật khẩu qua email; tìm kiếm, lọc sản phẩm; xem chi tiết sản phẩm; thêm vào giỏ, cập nhật số lượng, xóa sản phẩm khỏi giỏ hàng; cập nhật hồ sơ cá nhân; đặt hàng và thanh toán (COD hoặc PayPal); xem lịch sử đơn hàng; xem trước và tải hóa đơn đặt hàng dạng tệp PDF; gửi đánh giá đối với sản phẩm đã mua.
  • Guest (Khách vãng lai): Đăng ký tài khoản mới; tìm kiếm và lọc sản phẩm; xem danh sách và chi tiết sản phẩm; đăng ký nhận thông báo qua email (Newsletter).

Quy trình kiểm thử được tiến hành dựa trên phương pháp kiểm thử chức năng (Functional Testing) với các bộ kịch bản (Test Scenarios - Bảng 55 trong tài liệu) và các trường hợp kiểm thử (Test Cases) chi tiết:

Mã kiểm thử Phân hệ chức năng Mục tiêu kiểm thử Kết quả thực nghiệm ghi nhận
LI_01 - LI_03 Đăng nhập (Login) Kiểm tra đăng nhập với tài khoản hợp lệ, mật khẩu sai và email không tồn tại. Hệ thống thông báo lỗi hoặc chuyển hướng đến trang chủ theo đúng kịch bản thiết kế.
ATC_01 - ATC_03 Giỏ hàng (Add to Cart) Kiểm tra việc chọn biến thể, số lượng và thêm sản phẩm vào giỏ hàng. Cập nhật số lượng sản phẩm chính xác, đồng bộ dữ liệu giỏ hàng.
CM_01 - CM_04 Quản lý giỏ (Cart Management) Thay đổi số lượng mặt hàng, xóa từng sản phẩm hoặc làm trống giỏ hàng. Giỏ hàng tự động tính lại tổng tiền, loại bỏ đúng sản phẩm khỏi bộ nhớ.
CM_01 - CM_03 (Checkout) Thanh toán (Checkout) Xác nhận thông tin giao hàng, áp dụng phương thức COD hoặc PayPal. Tạo đơn hàng mới thành công, hiển thị thông tin biên nhận hóa đơn.
CM_01 - CM_07 (Admin) Quản trị sản phẩm Thêm sản phẩm mới, cập nhật giá/hình ảnh, kiểm tra tính hợp lệ dữ liệu, xóa sản phẩm. Dữ liệu được ghi nhận vào MongoDB chính xác, giao diện quản trị cập nhật ngay lập tức.
CM_01 - CM_03 (Promotion) Lọc mã khuyến mãi Nhập mã giảm giá, kiểm tra tính hợp lệ của mã khi áp dụng vào đơn hàng. Chiết khấu được tính chính xác trên tổng giá trị hóa đơn.

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

Chương 1: Giới thiệu (Chapter 1: Introduction)

Chương mở đầu tập trung làm rõ tính cấp thiết của đề tài trong việc ứng dụng thương mại điện tử vào ngành hàng nước hoa. Tác giả phân tích hành vi tiêu dùng hiện đại, xác lập các mục tiêu dự án bao gồm việc phân tách các mô-đun chức năng độc lập theo chuẩn các website quốc tế (Versace, Dior). Điểm nhấn quan trọng của chương là báo cáo khảo sát thực trạng thông qua việc phân tích chuyên sâu 4 website tại thị trường Việt Nam (Orchard.vn, Nước Hoa Rosa, Nước Hoa Bình Dương, Min Perfume), từ đó đúc kết danh sách các chức năng cần xây dựng và khắc phục các điểm yếu thường gặp về giỏ hàng, bộ lọc và quy trình thanh toán.

Chương 2: Cơ sở nền tảng (Chapter 2: Fundamentals)

Chương 2 trình bày có hệ thống các nền tảng lý thuyết và công nghệ sử dụng trong đề tài. Nội dung chia làm hai mảng chính:

  • Công nghệ phát triển Web: Chi tiết về ReactJS (JSX, Component, Virtual DOM), Redux (Store, Action, Reducer), các thư viện phụ trợ (Material UI, React Router, Axios); môi trường Node.js và framework Express.js (Module, Router, Middleware); cơ sở dữ liệu phi quan hệ NoSQL, chi tiết cấu trúc MongoDB (Document, Field, Collection, Database, Schema), các tính năng sao lưu (Replication), cân bằng tải (Sharding), hệ thống tệp GridFS, cùng cơ chế bảo mật với JWT (Header, Payload, Signature) và giao thức CORS.
  • Nền tảng Trí tuệ nhân tạo và NLP: Giới thiệu nguyên lý Học có giám sát (Supervised Learning); quy trình tiền xử lý ngôn ngữ tự nhiên (Tokenization, Lemmatization, Bag-of-Words); cấu trúc và cơ chế hoạt động của tế bào nơ-ron nhân tạo (Weights, Bias, Summation Function, Activation Function); hai hàm kích hoạt ReLU và Softmax; cách xây dựng mô hình mạng nơ-ron Sequential bằng Keras/TensorFlow cùng các thư viện bổ trợ như NLTK, Pickle, NumPy.

Chương 3: Khảo sát hiện trạng và mô hình hóa yêu cầu (Chapter 3: Current Status Survey and Requirement Modeling)

Chương này mô hình hóa toàn diện các yêu cầu hệ thống. Nhóm tác giả xác định ba nhóm tác nhân (Administrator, Member, Guest) và lập bảng danh mục tính năng cho từng nhóm (Bảng 1, Bảng 2, Bảng 3). Hệ thống xác lập các yêu cầu phi chức năng gồm: tính tiện dụng (giao diện nhất quán, tương tác trực quan), tính hiệu quả (lưu trữ cơ sở dữ liệu an toàn, hệ thống vận hành ổn định) và khả năng tiến hóa (thuận tiện cho việc nâng cấp, bảo trì). Đồng thời, chương cung cấp sơ đồ Use Case tổng thể phía máy khách (Client-side) và phân hệ quản trị (Administrator), đi kèm hệ thống bảng đặc tả kịch bản Use Case chi tiết (Use Case Scenarios từ Bảng 3 đến Bảng 35) bao gồm tiền điều kiện, hậu điều kiện, luồng xử lý cơ bản (Basic Flow) và các luồng ngoại lệ (Exception Flows).

Chương 4: Thiết kế hệ thống (Chapter 4: System Design)

Chương 4 mô tả chi tiết kiến trúc kỹ thuật của hệ thống. Nội dung bao gồm các sơ đồ tuần tự (Sequence Diagrams từ Hình 4.2 đến Hình 4.34) biểu diễn tương tác giữa Client, Server và Database đối với từng tác vụ cụ thể (đăng nhập, lọc sản phẩm, thêm giỏ hàng, thanh toán, quản lý danh mục, quản lý mã khuyến mãi, xuất hóa đơn). Tiếp đó, cấu trúc dữ liệu được định nghĩa chi tiết thông qua 11 bảng thiết kế cơ sở dữ liệu Mongoose (từ Bảng 36 đến Bảng 47). Cuối chương là thiết kế giao diện người dùng thực tế (từ Bảng 48 đến Bảng 54 và các Hình minh họa 4.36 đến 4.44), bao gồm màn hình đăng nhập, đăng ký, trang thông tin cá nhân, giao diện quản lý sản phẩm cho quản trị viên, form đăng ký nhận bản tin, giao diện đặt hàng và Dashboard thống kê doanh thu/đơn hàng.

Chương 5: Hiện thực và kiểm thử (Chapter 5: Implementation and Testing)

Chương cuối tập trung vào việc triển khai hệ thống phần mềm và đánh giá chất lượng sản phẩm. Nhóm tác giả tổng hợp các công cụ môi trường phát triển, thiết lập bộ kịch bản kiểm thử (Bảng 55) và triển khai các ca kiểm thử hộp đen chi tiết cho từng luồng nghiệp vụ quan trọng: kiểm thử đăng nhập (Bảng 56), kiểm thử thêm vào giỏ hàng (Bảng 57), kiểm thử quản lý giỏ hàng (Bảng 58), kiểm thử quy trình thanh toán (Bảng 59), kiểm thử nghiệp vụ quản lý sản phẩm của admin (Bảng 60) và kiểm thử chức năng lọc/áp dụng mã khuyến mãi (Bảng 61). Mỗi kịch bản kiểm thử đều đi kèm hình ảnh chụp màn hình ghi nhận kết quả thực tế trên giao diện để đối chiếu với kết quả kỳ vọng.

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

Khóa luận đã hoàn thành các mục tiêu kỹ thuật đề ra, xây dựng thành công một hệ thống thương mại điện tử chuyên biệt cho ngành hàng nước hoa:

  • Hiện thực hóa đầy đủ các phân hệ chức năng cho 3 nhóm đối tượng: khách vãng lai, thành viên và người quản trị. Hệ thống xử lý trọn vẹn quy trình mua hàng trực tuyến từ bước tìm kiếm, phân loại theo thương hiệu, tầm giá, dung tích cho tới giỏ hàng và thanh toán.
  • Triển khai thành công tính năng xuất và tải hóa đơn đặt hàng ra tệp định dạng PDF trực tiếp trên giao diện người dùng (Order Invoice Download/Preview).
  • Tích hợp thành công hai phương thức thanh toán trong luồng Checkout: thanh toán khi nhận hàng (Cash on Delivery - COD) và cổng thanh toán trực tuyến PayPal.
  • Đóng góp về mặt giải pháp kỹ thuật: Khóa luận ứng dụng cấu trúc MERN stack để phân tách độc lập giữa giao diện Single Page Application và dịch vụ API phía máy chủ; đồng thời tích hợp mô hình học máy (Keras/TensorFlow) ứng dụng mạng nơ-ron và xử lý ngôn ngữ tự nhiên để xây dựng chatbot tự động phân loại ý định người dùng (dựa trên tệp intents.json), đưa ra phản hồi tư vấn mùi hương theo mùa hoặc sở thích.

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

Dựa trên các hạn chế kỹ thuật và phạm vi mà nhóm tác giả đã tự nhận định trong văn bản:

  • Nhóm sinh viên thừa nhận kinh nghiệm thực tế trong việc thiết kế và hoàn thiện một hệ thống phần mềm thương mại điện tử quy mô lớn còn hạn chế, thời gian triển khai đồ án ngắn (trong vòng hơn 3 tháng, từ tháng 9/2024 đến tháng 12/2024), dẫn đến một số mặt kỹ thuật cần tiếp tục tinh chỉnh.
  • Về phương thức thanh toán: Mặc dù mục tiêu ban đầu đề cập đến việc hỗ trợ đa dạng cổng thanh toán như VNPay, nhưng trong thiết kế chi tiết và các ca kiểm thử thực tế, hệ thống mới chỉ tích hợp và kiểm thử đối với phương thức COD và cổng PayPal.
  • Về quy mô chatbot AI: Dữ liệu huấn luyện ngôn ngữ tự nhiên mới chỉ dừng lại ở tập mẫu phân loại trong tệp cấu hình intents.json, chưa mở rộng quy mô dữ liệu đối thoại phức tạp hoặc tích hợp các mô hình ngôn ngữ lớn (LLM).

Giá trị tham khảo

Đồ án là tài liệu tham khảo thực nghiệm phù hợp cho:

  • Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm đang thực hiện đồ án tốt nghiệp hoặc bài tập lớn về xây dựng ứng dụng web thương mại điện tử trên nền tảng MERN stack (MongoDB, Express.js, ReactJS, Node.js).
  • Người học cần tìm hiểu tài liệu về quy trình đặc tả yêu cầu phần mềm: Khóa luận cung cấp hệ thống 35 bảng đặc tả kịch bản Use Case (Use Case Scenarios) và hệ thống sơ đồ Sequence Diagram rất chi tiết, có thể dùng làm khuôn mẫu chuẩn trong môn học Phân tích và Thiết kế Hệ thống.
  • Lập trình viên muốn tham khảo cách kết nối các dịch vụ phụ trợ như tạo hóa đơn PDF, tích hợp xác thực bảo mật JWT, thiết kế cơ sở dữ liệu MongoDB đa thực thể và cách ứng dụng mô hình mạng nơ-ron Keras cơ bản vào chức năng chatbot hỗ trợ khách hàng.

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

1. Khóa luận sử dụng các công nghệ cốt lõi nào để phát triển hệ thống?
Hệ thống được phát triển toàn diện bằng MERN stack, bao gồm: ReactJS (kết hợp Redux, Material UI, Axios) ở tầng giao diện; Node.js và Express.js ở tầng máy chủ xử lý; MongoDB (thông qua thư viện Mongoose ODM) để lưu trữ dữ liệu; chuẩn JWT cho xác thực bảo mật; cùng thư viện Keras/TensorFlow và NLTK (Python) cho phân hệ chatbot AI.

2. Chatbot AI hỗ trợ tư vấn nước hoa hoạt động theo cơ chế nào?
Chatbot được xây dựng theo phương pháp Học có giám sát (Supervised Learning). Dữ liệu truy vấn của người dùng được gán nhãn theo các thẻ ý định (tags) trong tệp intents.json. Dữ liệu văn bản được xử lý qua NLTK (Tokenization, Lemmatization, Bag-of-Words) rồi đưa vào mạng nơ-ron nhân tạo (ANN) với Keras Sequential API (hàm kích hoạt ReLU và Softmax) để huấn luyện và dự đoán tag phù hợp nhằm phản hồi khách hàng.

3. Cơ sở dữ liệu của dự án được tổ chức thành những bảng/tài liệu nào?
Cơ sở dữ liệu MongoDB được nhóm tác giả thiết kế qua Mongoose gồm 11 bảng/collection chính: category, variant, brand, product, users, order, payment, product buyers, product review, promotion và subscriber.

4. Những phương thức thanh toán nào đã được thiết kế và kiểm thử thành công?
Theo bảng mô tả chức năng thành viên (Member) và bảng kịch bản kiểm thử thanh toán (Test case checkout - Bảng 59), hệ thống đã thiết kế và kiểm thử hai phương thức thanh toán: thanh toán tiền mặt khi nhận hàng (Cash on Delivery - COD) và thanh toán trực tuyến qua cổng PayPal.

5. Khóa luận tiến hành kiểm thử các phân hệ chức năng nào bằng phương pháp gì?
Nhóm tác giả áp dụng phương pháp kiểm thử hộp đen (Black-box testing) với các bộ kiểm thử định sẵn bao gồm: kiểm thử đăng nhập (Login), thêm sản phẩm vào giỏ hàng (Add to Cart), quản lý giỏ hàng (Cart Management), quy trình thanh toán (Checkout), các nghiệp vụ quản lý sản phẩm của quản trị viên (Admin Manage Product) và tính năng lọc mã giảm giá (Filter Promotion Code).

Kết luận

Khóa luận tốt nghiệp của sinh viên Huỳnh Quốc Thoại và Huỳnh Đăng Khoa đã hoàn thành việc xây dựng một website thương mại điện tử chuyên doanh nước hoa ứng dụng đầy đủ kiến trúc MERN stack. Đồ án thể hiện quy trình công nghệ phần mềm hoàn chỉnh, từ việc khảo sát thực trạng các website thực tế, mô hình hóa yêu cầu hệ thống bằng sơ đồ Use Case và Sequence Diagram, đến việc thiết kế cơ sở dữ liệu MongoDB và kiểm thử chức năng. Ngoài ra, việc kết hợp thành công mô-đun chatbot tư vấn mùi hương bằng mạng nơ-ron nhân tạo (Keras/TensorFlow) và tính năng xuất hóa đơn PDF đã tạo nên giá trị ứng dụng thực tiễn cho đề tài.