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

Sự bùng nổ của mạng Internet và công nghệ thông tin đã thúc đẩy sự chuyển dịch mạnh mẽ của hoạt động thương mại từ phương thức truyền thống sang môi trường số. Trong bối cảnh toàn cầu hóa, việc sở hữu một website bán hàng trực tuyến không chỉ là một công cụ tiếp thị mà đã trở thành tiêu chuẩn bắt buộc đối với các doanh nghiệp nhằm duy trì năng lực cạnh tranh. Thực tế thị trường cho thấy sự thành công của các nền tảng thương mại điện tử quốc tế như Amazon, eBay cũng như các hệ thống bán hàng tại Việt Nam (như Vatgia) đã chứng minh vai trò thiết yếu của một kênh phân phối trực tuyến có cấu trúc thông tin hoàn chỉnh, giao diện thân thiện và vận hành ổn định.

Khóa luận tốt nghiệp "Nghiên cứu xây dựng thiết kế website bán giày" do sinh viên Võ Ngọc Thành Đạt (MSSV: 3120417004, Lớp 17CNTTC) thực hiện dưới sự hướng dẫn của TS. Nguyễn Trần Quốc Vinh tại Khoa Tin học, Trường Đại học Sư phạm – Đại học Đà Nẵng (năm 2021), được triển khai nhằm giải quyết nhu cầu thương mại điện tử thực tế trong lĩnh vực kinh doanh giày dép.

Nhiệm vụ và mục tiêu nghiên cứu của đề tài được xác định cụ thể như sau:

  1. Nghiên cứu, tiếp cận và ứng dụng các ngôn ngữ, công nghệ lập trình web hiện đại gồm HTML, CSS, JavaScript, NodeJS, framework ReactJS và cơ sở dữ liệu MongoDB.
  2. Khảo sát đặc tả yêu cầu, phân tích và thiết kế hệ thống thông tin quản lý bán hàng thông qua hệ thống mô hình hóa UML.
  3. Xây dựng website bán giày trực tuyến với đầy đủ các phân hệ chức năng cho khách hàng và người quản trị, đảm bảo giao diện trực quan, tương thích đa thiết bị (Responsive Web Design).
  4. Tích hợp nền tảng trí tuệ nhân tạo Dialogflow nhằm xây dựng hệ thống chatbot tự động tư vấn, hỗ trợ giải đáp thắc mắc cho người dùng.
  5. Hỗ trợ nhà phân phối rút ngắn khoảng cách với người tiêu dùng, tối ưu hóa quy trình quản lý đơn hàng, danh mục sản phẩm và thống kê kinh doanh.

Đối tượng nghiên cứu của khóa luận là quy trình quản lý và kinh doanh bán lẻ giày dép trực tuyến, các giải pháp kỹ thuật xây dựng ứng dụng web Single Page Application (SPA), cơ sở dữ liệu phi quan hệ (NoSQL) và công nghệ xử lý ngôn ngữ tự nhiên ứng dụng trong chatbot. Phạm vi nghiên cứu tập trung vào việc hiện thực hóa mô hình website bán lẻ quy mô vừa và nhỏ, thực nghiệm tại Trường Đại học Sư phạm – Đại học Đà Nẵng trong năm 2021.

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

Khóa luận thiết lập nền tảng kỹ thuật và phương pháp luận dựa trên các công nghệ phát triển phần mềm và tiêu chuẩn mô hình hóa hệ thống thông tin:

  • Nền tảng công nghệ phía máy khách (Client-side):

    • HTML / HTML5: Chuẩn ngôn ngữ đánh dấu siêu văn bản do World Wide Web Consortium (W3C) phát triển, cung cấp cấu trúc trang, hỗ trợ các API và Document Object Model (DOM), xử lý các thành phần đa phương tiện.
    • CSS: Định dạng phong cách hiển thị các phần tử HTML, tận dụng tính kế thừa để tối ưu hóa mã nguồn.
    • JavaScript: Ngôn ngữ kịch bản tuân theo chuẩn ECMAScript, thực thi phía máy khách nhằm tạo tương tác động.
    • ReactJS: Thư viện JavaScript mã nguồn mở do Facebook phát triển phục vụ xây dựng giao diện ứng dụng đơn trang (SPA), sử dụng cú pháp JSX và cơ chế so sánh DOM ảo nhằm tối ưu hóa tốc độ kết xuất (rendering).
    • Bootstrap: Framework hỗ trợ thiết kế giao diện tương thích đa kích thước màn hình (Responsive Web Design), tích hợp hệ thống lưới (Grid System) 12 cột với độ rộng chuẩn 940px.
    • jQuery & Ajax: Thư viện JavaScript gọn nhẹ (kích thước nén khoảng 19KB) do John Resig phát triển năm 2006, tích hợp bộ chọn Sizzle và kỹ thuật Asynchronous JavaScript and XML (Ajax) thông qua đối tượng XMLHttpRequest để trao đổi dữ liệu không đồng bộ.
  • Nền tảng công nghệ phía máy chủ (Server-side) và Cơ sở dữ liệu:

    • NodeJS: Nền tảng phát triển xây dựng trên V8 JavaScript Runtime của Chrome, có tầng lõi viết bằng C++, vận hành theo kiến trúc hướng sự kiện (Event-driven) và cơ chế xử lý I/O không chặn (Non-blocking I/O) đơn luồng (Single-threaded).
    • MongoDB: Hệ quản trị cơ sở dữ liệu NoSQL hướng tài liệu (Document-oriented), lưu trữ dữ liệu dưới định dạng JSON/BSON với lược đồ động. MongoDB chạy dịch vụ mặc định tại cổng 27017, mỗi bản ghi được gán khóa chính _id kiểu ObjectId có đánh chỉ mục (index) tự động. Hệ thống thực hiện cơ chế ghi đệm trên bộ nhớ RAM và đồng bộ xuống đĩa cứng sau mỗi chu kỳ 60 giây.
  • Nền tảng Trí tuệ nhân tạo và Xử lý ngôn ngữ tự nhiên:

    • Google Dialogflow: Nền tảng AI đàm thoại xử lý ngôn ngữ tự nhiên (NLP) được Google đổi tên chính thức từ API.AI/Speak vào ngày 10/10/2017. Hệ thống nhận dạng ngữ cảnh dựa trên Intent (ý định), Entity (thực thể), Context (ngữ cảnh) và tích hợp Webhook để phản hồi tự động.
  • Phương pháp nghiên cứu:

    • Phương pháp phân tích và thiết kế hướng đối tượng (OOAD) sử dụng ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language).
    • Phương pháp khảo sát quy trình nghiệp vụ bán hàng thực tế để đặc tả yêu cầu chức năng và phi chức năng.
    • Phương pháp thực nghiệm phần mềm: Cài đặt, lập trình hệ thống và kiểm thử các giao diện chức năng.

Thiết kế và triển khai

Hệ thống được thiết kế phân quyền rõ ràng theo 3 nhóm tác nhân chính: Khách hàng, Quản lý và Quản trị viên (Admin).

Nhóm tác nhân Chức năng chính Trách nhiệm và quyền hạn
Admin Đăng nhập, Quản lý giao diện, Quản lý tài khoản, Quản lý phân quyền. Toàn quyền kiểm soát cấu hình hệ thống, cấp quyền vận hành cho nhân viên quản lý.
Quản lý Đăng nhập, Quản trị hệ thống, Quản lý sản phẩm, Quản lý danh mục, Quản lý đặt hàng, Quản lý chi tiết đặt hàng, Quản lý khách hàng, Quản lý chi tiết hóa đơn, Quản lý giỏ hàng, Quản lý thống kê. Giám sát hoạt động kinh doanh, cập nhật kho sản phẩm, theo dõi tình trạng đơn đặt hàng, thống kê doanh thu và hàng tồn.
Khách hàng Đăng ký, Đăng nhập, Quản lý thông tin tài khoản, Tìm kiếm thông tin sản phẩm, Đặt hàng, Quản lý giỏ hàng, Thanh toán, Tương tác Chatbot. Tìm kiếm, xem chi tiết sản phẩm, thực hiện giao dịch mua bán và nhận hỗ trợ tự động qua chatbot.

Quy trình phân tích thiết kế hệ thống được chi tiết hóa qua các mô hình UML:

  • Mô hình Use Case: Bao gồm Use Case tổng quát, Use Case quản lý danh mục sản phẩm, Use Case khách hàng quản lý giỏ hàng, Use Case quản lý sản phẩm, Use Case quản lý thành viên và Use Case quản lý đơn đặt hàng. Các luồng sự kiện chính và rẽ nhánh (A1) được đặc tả chặt chẽ cho từng tác vụ thêm, sửa, xóa và kiểm tra hợp lệ dữ liệu.
  • Mô hình Biểu đồ tuần tự (Sequence Diagram): Mô tả tương tác giữa tác nhân, giao diện, bộ điều khiển và cơ sở dữ liệu cho các tiến trình: Đăng nhập, Đăng ký, Tìm kiếm sản phẩm, Quản lý thành viên, Quản lý đơn đặt hàng.
  • Mô hình Biểu đồ hoạt động (Activity Diagram): Thể hiện luồng xử lý nghiệp vụ cho các tác vụ Đăng ký tài khoản, Đăng nhập tài khoản, Mua hàng và thanh toán, Tìm kiếm sản phẩm.
  • Mô hình Biểu đồ trạng thái (State Diagram): Xác định sự chuyển đổi trạng thái đối tượng trong các tiến trình Đăng ký tài khoản, Đăng nhập tài khoản, Quản lý thành viên, Tìm kiếm sản phẩm.
  • Mô hình Dữ liệu và Biểu đồ lớp phân tích: Thiết kế cấu trúc các bảng/collection chính bao gồm bảng Admin, bảng Category_Product và bảng User.
  • Quy trình hệ thống Chatbot: Thiết lập luồng đàm thoại từ bước tiếp nhận phát biểu của người dùng (ngôn ngữ tự nhiên), trích xuất tham số qua Intent và Entity trên Dialogflow, xử lý logic thông qua Webhook và trả lời người dùng trên giao diện web.

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

CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ THIẾT KẾ WEBSITE

Chương 1 hệ thống hóa cơ sở lý thuyết về các công nghệ, ngôn ngữ và nền tảng được lựa chọn để phát triển ứng dụng. Tác giả trình bày chi tiết về cấu trúc và vai trò của HTML/HTML5, các thuộc tính định kiểu của CSS và cơ chế kế thừa mã nguồn. Nền tảng NodeJS được phân tích sâu về kiến trúc đơn luồng, cơ chế non-blocking I/O và hiệu năng xử lý tác vụ thời gian thực. Thư viện ReactJS được làm rõ qua mô hình Component tái sử dụng, cú pháp JSX và cơ chế cập nhật DOM ảo.

Bên cạnh đó, chương này phân tích các thư viện hỗ trợ như JavaScript, Ajax, jQuery (phương châm "Write less, do more", bộ chọn Sizzle, dung lượng nén 19KB) và Bootstrap (hệ thống lưới 12 cột, Responsive Web Design). Về lưu trữ, MongoDB được trình bày với cấu trúc Document, Collection, Database, cơ chế đánh chỉ mục trên trường _id, bộ đệm RAM và độ trễ ghi đĩa 60 giây. Cuối chương là phần giới thiệu nền tảng Dialogflow của Google, lịch sử phát triển từ API.AI và các thành phần xử lý ý định người dùng.

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE

Chương 2 tập trung vào việc mô hình hóa hệ thống từ giai đoạn khảo sát yêu cầu đến thiết kế chi tiết. Tác giả phân định rõ yêu cầu chức năng cho phân hệ Admin (quản lý giao dịch, hóa đơn, thống kê đơn hàng/liên hệ theo ngày và tháng, thống kê hàng tồn) và giao diện người dùng (tối ưu dung lượng, menu đơn giản, font chữ và màu sắc hài hòa, hỗ trợ đặt hàng không cần đăng ký hoặc có tài khoản thành viên).

Chương này trình bày hệ thống bảng đặc tả chức năng của Admin, Quản lý và Khách hàng; xây dựng 6 biểu đồ Use Case kèm kịch bản chi tiết; 5 biểu đồ tuần tự; 4 biểu đồ hoạt động; 4 biểu đồ trạng thái và biểu đồ lớp phân tích. Cấu trúc cơ sở dữ liệu được cụ thể hóa với các bảng Admin, Category_Product và User. Cuối cùng, chương 2 đặc tả quy trình 5 bước xây dựng hệ thống chatbot: khảo sát, lựa chọn nền tảng Dialogflow, xây dựng kịch bản, cấu hình phản hồi và theo dõi phân tích.

CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG WEBSITE

Chương 3 trình bày kết quả hiện thực hóa giao diện và các chức năng của website trên môi trường thực tế. Về phía người dùng, hệ thống triển khai các giao diện: Trang chủ hiển thị, Trang chi tiết sản phẩm, Giao diện đăng nhập, Giao diện đăng ký, Giao diện giỏ hàng và Khung hội thoại Chatbot hỗ trợ khách hàng trực tuyến.

Về phía quản trị, hệ thống cung cấp Giao diện trang chủ Admin, Trang quản lý danh mục và sản phẩm, Trang quản lý đơn đặt hàng và Trang quản lý người dùng/thành viên. Tác giả đánh giá mức độ đáp ứng của các module so với yêu cầu đặt ra, đồng thời thẳng thắn chỉ ra các hạn chế về mặt thuật toán, hiệu năng và giao diện do giới hạn về mặt thời gian thực hiện.

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

Khóa luận đã hoàn thành các mục tiêu nghiên cứu và đạt được các kết quả cụ thể:

  • Xây dựng thành công hệ thống website bán giày trực tuyến hoàn chỉnh với đầy đủ hai phân hệ: giao diện thương mại điện tử dành cho khách hàng và phân hệ quản trị dành cho Admin/Quản lý.
  • Nắm bắt và làm chủ quy trình phát triển ứng dụng web hiện đại, kết hợp thành công các công nghệ: ReactJS, NodeJS, JavaScript, Ajax, jQuery, Bootstrap, HTML5, CSS và cơ sở dữ liệu NoSQL MongoDB.
  • Ứng dụng thành công nền tảng AI Dialogflow để tích hợp tính năng chatbot thông minh vào website, giúp tự động tiếp nhận và phản hồi các yêu cầu tư vấn của khách hàng.
  • Hoàn thiện bộ hồ sơ phân tích thiết kế hệ thống chi tiết bao gồm 25 hình vẽ/sơ đồ mô hình hóa (biểu đồ use case, tuần tự, hoạt động, trạng thái, biểu đồ lớp và thiết kế bảng dữ liệu).

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

  • Hạn chế:

    • Quy mô website mới dừng lại ở mức vừa và nhỏ.
    • Do giới hạn về thời gian và kinh nghiệm, một số chức năng của trang web bán hàng chưa thực sự hoàn thiện toàn diện.
    • Website còn tồn tại một số thiếu sót về mặt hiển thị giao diện cũng như việc tối ưu hóa thuật toán xử lý và thời gian phản hồi của hệ thống.
  • Hướng phát triển:

    • Khắc phục các sai sót về mặt hiển thị và tối ưu hóa thuật toán xử lý dữ liệu.
    • Nâng cấp, bổ sung các chức năng chuyên sâu cho hệ thống thương mại điện tử.
    • Nâng cao hiệu năng vận hành và mở rộng khả năng đáp ứng của hệ thống trong tương lai.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo phù hợp cho:

  • Sinh viên chuyên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm đang thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về đề tài xây dựng ứng dụng web thương mại điện tử.
  • Những người nghiên cứu muốn tìm hiểu quy trình kết hợp kiến trúc ReactJS ở phía máy khách với NodeJS và cơ sở dữ liệu MongoDB ở phía máy chủ.
  • Các nhà phát triển cần tài liệu tham khảo thực tế về quy trình phân tích thiết kế hệ thống bằng UML và phương pháp tích hợp chatbot AI (Dialogflow) vào giao diện website bán hàng.

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

1. Khóa luận sử dụng hệ quản trị cơ sở dữ liệu nào và cơ chế ghi dữ liệu xuống đĩa cứng được vận hành ra sao?
Khóa luận sử dụng cơ sở dữ liệu NoSQL MongoDB (chạy tại cổng mặc định 27017). Để tối ưu hiệu suất, dữ liệu mới được ghi đệm (cache) trên bộ nhớ RAM và sau chu kỳ 60 giây, MongoDB mới thực hiện ghi toàn bộ dữ liệu thay đổi từ RAM xuống đĩa cứng. Mỗi bản ghi (document) đều tự động có trường khóa chính _id kiểu ObjectId được đánh chỉ mục tự động.

2. Nền tảng nào được lựa chọn để phát triển chatbot hỗ trợ khách hàng và nguồn gốc của nó?
Hệ thống sử dụng nền tảng Dialogflow của Google. Dialogflow tiền thân là Speak/API.AI (công cụ tạo trợ lý ảo trên Android, iOS, Windows Phone) và được Google chính thức đổi tên thành Dialogflow vào ngày 10 tháng 10 năm 2017.

3. Khóa luận đã xây dựng những loại biểu đồ UML nào trong giai đoạn phân tích thiết kế hệ thống?
Tác giả đã xây dựng đầy đủ các loại biểu đồ UML bao gồm: Biểu đồ Use Case (tổng quát và chi tiết cho từng phân hệ), Biểu đồ tuần tự (Sequence Diagram), Biểu đồ hoạt động (Activity Diagram), Biểu đồ trạng thái (State Diagram) và Biểu đồ lớp phân tích (Class Diagram).

4. Khung giao diện (framework) nào được sử dụng để đảm bảo tính tương thích hiển thị trên nhiều thiết bị?
Đề tài sử dụng framework Bootstrap để thiết kế giao diện Responsive Web Design. Bootstrap cung cấp hệ thống lưới Grid System mặc định gồm 12 cột với độ rộng 940px, cho phép giao diện tự động thích ứng với nhiều kích thước màn hình khác nhau từ desktop đến thiết bị di động.

5. Phân hệ quản trị (Admin) cung cấp những chức năng thống kê nghiệp vụ nào?
Phân hệ Admin cung cấp chức năng thống kê tổng số đơn đặt hàng, tổng số liên hệ của người dùng theo ngày và theo tháng, cùng với chức năng thống kê các mặt hàng sản phẩm tồn đọng trong kho.

Kết luận

Khóa luận tốt nghiệp "Nghiên cứu xây dựng thiết kế website bán giày" của sinh viên Võ Ngọc Thành Đạt đã hoàn thành đầy đủ quy trình nghiên cứu, phân tích, thiết kế và cài đặt một hệ thống thương mại điện tử quy mô vừa và nhỏ. Bằng việc kết hợp các công nghệ web phổ biến như ReactJS, NodeJS, MongoDB cùng nền tảng xử lý ngôn ngữ tự nhiên Dialogflow, tác giả đã hiện thực hóa thành công một website bán hàng có giao diện trực quan và tích hợp trợ lý ảo hỗ trợ khách hàng. Mặc dù còn một số hạn chế về mặt tối ưu thuật toán và mức độ hoàn thiện chức năng do giới hạn thời gian, công trình là tài liệu thực hành có giá trị tham khảo rõ ràng cho sinh viên ngành Công nghệ Thông tin.