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

Khóa luận tốt nghiệp "Xây dựng website Bán quần áo thể thao tại Lào" do sinh viên Souliphong Sitthixay thực hiện dưới sự hướng dẫn của thầy Hồ Hữu Linh tại Khoa Toán - Tin, Trường Đại học Quảng Nam (tháng 5 năm 2022). Công trình thuộc nhóm đề tài xây dựng và phát triển phần mềm ứng dụng trong lĩnh vực thương mại điện tử.

Bối cảnh thực tiễn được tác giả xác định dựa trên sự phát triển của mạng internet và vai trò của các hệ thống website trong đời sống xã hội. Website được xem là phương tiện truyền tải thông tin nhanh chóng, xóa bỏ khoảng cách địa lý và hỗ trợ doanh nghiệp tiếp cận khách hàng tiềm năng với chi phí tối ưu. Đối với các đơn vị kinh doanh, website bán hàng trực tuyến không chỉ là kênh quảng bá thương hiệu mà còn tạo điều kiện tự động hóa quy trình tư vấn, đặt hàng và quản lý sản phẩm. Xuất phát từ khảo sát thực tế về hành vi tiêu dùng và đặc trưng văn hóa mua sắm của người dân tại nước Cộng hòa Dân chủ Nhân dân Lào, tác giả nhận thấy sự cần thiết của việc xây dựng một hệ thống website bán quần áo thể thao phù hợp với thị trường bản địa.

Mục tiêu nghiên cứu của khóa luận được phân định thành ba nhiệm vụ chính:

  1. Khảo sát các mô hình website bán hàng trực tuyến hiện có (tiêu biểu như huyenanh.com, pro-biker), từ đó rút ra cơ sở thực tiễn để áp dụng vào việc xây dựng website bán quần áo thể thao tại Lào.
  2. Phân tích quy trình nghiệp vụ và thiết lập danh mục chức năng chi tiết cho hệ thống quản lý và bán hàng trực tuyến.
  3. Ứng dụng và làm chủ các công nghệ, ngôn ngữ lập trình web bao gồm PHP, MySQL, HTML, CSS, JavaScript và thư viện jQuery trên môi trường phát triển cục bộ.

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

  • Đối tượng nghiên cứu: Các ngôn ngữ thiết kế và lập trình giao diện, xử lý máy chủ (HTML, CSS, JavaScript, jQuery, PHP), hệ quản trị cơ sở dữ liệu MySQL, công cụ soạn thảo mã nguồn Visual Studio Code, cùng các quy trình nghiệp vụ bán hàng, quản lý kho, cập nhật thông tin sản phẩm và tiếp nhận đơn hàng.
  • Phạm vi nghiên cứu: Giới hạn trong việc tìm hiểu các công cụ công nghệ và xây dựng hệ thống website thương mại điện tử bán quần áo thể thao phục vụ người dùng tại thị trường Lào, vận hành thử nghiệm trên môi trường máy chủ cục bộ (Localhost).

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

Khóa luận sử dụng khung kỹ thuật phát triển web mã nguồn mở truyền thống kết hợp mô hình máy chủ cục bộ để xây dựng hệ thống:

  • Môi trường máy chủ thử nghiệm (Localhost): Sử dụng gói phần mềm tích hợp XAMPP (bao gồm Apache, MariaDB/MySQL, PHP, Perl) phát triển bởi Apache Friends theo giấy phép GNU General Public Licence. XAMPP đóng vai trò tạo lập môi trường Web Server độc lập trên máy tính cá nhân để thực thi mã nguồn PHP và quản lý cơ sở dữ liệu qua phpMyAdmin.
  • Công nghệ phía máy khách (Client-Side):
    • HTML và CSS: Định hình cấu trúc và thiết lập kiểu dáng giao diện theo tiêu chuẩn của Tổ chức W3C (World Wide Web Consortium), giúp tách biệt nội dung và định dạng hiển thị.
    • JavaScript: Ngôn ngữ thông dịch chạy trực tiếp trên trình duyệt, hỗ trợ xử lý logic phía client, quản lý sự kiện tương tác và kiểm tra tính hợp lệ của dữ liệu biểu mẫu (form validation).
    • Thư viện jQuery: Thư viện JavaScript mở rộng hỗ trợ duyệt DOM, xử lý hiệu ứng, xử lý sự kiện và thao tác truyền tải dữ liệu bất đồng bộ (AJAX).
  • Công nghệ phía máy chủ (Server-Side) và Cơ sở dữ liệu:
    • PHP (PHP: Hypertext Preprocessor): Ngôn ngữ kịch bản máy chủ mã nguồn mở, nhúng trực tiếp trong mã HTML, tiếp nhận và xử lý các yêu cầu HTTP từ trình duyệt, tương tác với cơ sở dữ liệu và trả kết quả dưới dạng trang HTML tiêu chuẩn.
    • MySQL: Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở, thực hiện bốn chức năng cốt lõi: lưu trữ (storage), truy cập (accessibility), tổ chức theo mô hình quan hệ (organization) và xử lý truy vấn (manipulation).
  • Công cụ phát triển: Visual Studio Code làm môi trường soạn thảo mã nguồn.

Phương pháp nghiên cứu được tác giả áp dụng bao gồm:

  • Phương pháp thu thập thông tin và dữ liệu: Khảo sát các website thương mại điện tử thực tế (huyenanh.com, pro-biker) và thu thập các yêu cầu nghiệp vụ quản lý bán lẻ quần áo thể thao.
  • Phương pháp tổng hợp dữ liệu, phân tích và đánh giá: Khái quát hóa các yêu cầu nghiệp vụ thành các ca sử dụng (use cases), sơ đồ lớp và mô hình cơ sở dữ liệu quan hệ.
  • Phương pháp thực nghiệm: Cài đặt cấu hình môi trường XAMPP, viết mã nguồn giao diện và xử lý logic bằng PHP/MySQL, sau đó tiến hành chạy thử nghiệm các chức năng trực tiếp trên hệ thống cục bộ.

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

Hệ thống được thiết kế theo kiến trúc hướng đối tượng kết hợp với mô hình dữ liệu quan hệ. Các thành phần chính được mô hình hóa qua hệ thống tác nhân, ca sử dụng và cơ sở dữ liệu chi tiết.

1. Phân quyền và tác nhân hệ thống

Hệ thống xác định hai nhóm tác nhân chính tham gia tương tác:

  • Khách hàng (Khách xem và Khách hàng thành viên): Thực hiện đăng ký tài khoản, đăng nhập, tìm kiếm sản phẩm, xem thông tin chi tiết, bình luận sản phẩm, đưa sản phẩm vào giỏ hàng, cập nhật số lượng/xóa sản phẩm trong giỏ hàng, đặt hàng, tiến hành thanh toán, xem và chỉnh sửa thông tin cá nhân, thay đổi mật khẩu.
  • Người quản trị (Admin): Kế thừa toàn bộ quyền hạn tương tác cơ bản của khách hàng, đồng thời được cấp quyền quản trị chuyên biệt bao gồm: quản lý tài khoản người dùng (thêm, sửa, xóa, phân quyền), quản lý danh mục sản phẩm, quản lý loại sản phẩm, quản lý thông tin sản phẩm (thêm, sửa, xóa, cập nhật đơn giá/hình ảnh), quản lý chương trình khuyến mãi, quản lý banner quảng cáo và xét duyệt đơn hàng/hóa đơn mua hàng.

2. Thiết kế dữ liệu hệ thống

Cơ sở dữ liệu của hệ thống gồm 8 bảng quan hệ, được thiết kế để lưu trữ toàn diện thông tin nghiệp vụ:

Tên bảng Tên trường Kiểu dữ liệu Kích thước Diễn giải chức năng
chitiethoadon MaHD int 11 Mã hóa đơn liên kết
MaSP int 11 Mã sản phẩm
SoLuong int 11 Số lượng sản phẩm đặt mua
DonGia float - Đơn giá tại thời điểm đặt
hoadon MaHD int 11 Mã hóa đơn (Khóa chính)
MaND int 11 Mã tài khoản khách hàng
NgayLap datetime - Thời gian tạo đơn hàng
NguoiNhan varchar 255 Tên người nhận hàng
SDT varchar 20 Số điện thoại nhận hàng
DiaChi varchar 100 Địa chỉ giao hàng
PhuongThucTT varchar 20 Phương thức thanh toán
TongTien float - Tổng giá trị đơn hàng
TrangThai varchar 70 Trạng thái xử lý hóa đơn
danhmuc MaDM int 11 Mã danh mục sản phẩm
TenDM varchar 255 Tên danh mục (Nam, Nữ, Phụ kiện...)
loaisanpham MaLSP int 11 Mã loại sản phẩm
TenLSP varchar 100 Tên chi tiết của loại sản phẩm
HinhAnh varchar 200 Đường dẫn ảnh đại diện loại sản phẩm
Mota varchar 200 Mô tả tóm tắt loại sản phẩm
MaDM int 11 Khóa ngoại liên kết danh mục
sanpham MaSP int 11 Mã sản phẩm duy nhất
MaLSP int 11 Khóa ngoại liên kết loại sản phẩm
MaDM int 11 Khóa ngoại liên kết danh mục
TenSP varchar 70 Tên chi tiết của sản phẩm
DonGia int 11 Đơn giá bán hiện tại
SoLuong int 10 Số lượng tồn kho
HinhAnh1, 2, 3 varchar 255 Đường dẫn các hình ảnh sản phẩm
MaKM int 11 Mã chương trình khuyến mãi
KieuDang varchar 100 Thông tin kiểu dáng
TrangThai int 11 Trạng thái hiển thị (Còn hàng/Hết hàng)
Mo Ta text - Thông tin mô tả chi tiết sản phẩm
ThoiGian datetime - Thời gian tạo/cập nhật
GiamGiaSP varchar 200 Thông tin mức giảm giá
DonGiaCu varchar 200 Đơn giá trước khi giảm
khuyenmai MaKM int 11 Mã chương trình khuyến mãi
TenKM varchar 100 Tên chương trình ưu đãi
LoaiKM varchar 20 Hình thức khuyến mãi
GiaTriKM float 11,0 Giá trị chiết khấu/giảm giá
NgayBD datetime - Thời gian bắt đầu áp dụng
TrangThai varchar 70 Tình trạng kích hoạt khuyến mãi
nguoidung MaND int 11 Mã định danh người dùng
Ho, Ten varchar 20 Họ và tên người dùng
GioiTinh varchar 10 Giới tính
SDT varchar 20 Số điện thoại liên hệ
Email varchar 50 Hòm thư điện tử
DiaChi, Phuong varchar 100 Địa chỉ cư trú/giao hàng
TaiKhoan varchar 100 Tên đăng nhập hệ thống
MatKhau varchar 100 Mật khẩu xác thực
MaQuyen int 11 Khóa ngoại phân quyền tài khoản
TrangThai int 11 Trạng thái hoạt động tài khoản
phanquyen MaQuyen int 11 Mã nhóm quyền
TenQuyen varchar 20 Tên quyền (Admin, Khách hàng...)
ChiTietQuyen varchar 255 Mô tả chi tiết phạm vi quyền hạn

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

Chương 1: Cơ sở lý thuyết

Chương 1 tập trung trình bày tổng quan về các công nghệ, công cụ và ngôn ngữ lập trình được sử dụng để xây dựng ứng dụng web.

  • Phần mềm XAMPP: Tác giả phân tích cấu trúc chữ viết tắt của XAMPP (Apache, MariaDB, PHP, Perl), giấy phép GNU GPL do Apache Friends phân phối, cùng các phiên bản phần mềm tích hợp (như XAMPP 7.11 tích hợp Apache 2.0h, XAMPP Control Panel 3.23-04, Mercury Mail Transport System 4.63, FileZilla FTP Server). Tác giả so sánh dung lượng cài đặt của XAMPP (141 MB) so với WAMP (41 MB), chỉ ra các sự cố xung đột cổng mạng 80/443 do Skype hoặc Firewall, hướng dẫn chi tiết quy trình cài đặt trên hệ điều hành Windows (xử lý cảnh báo UAC) và Linux (cấp quyền thực thi tệp xampp-linux-x64-7.run).
  • Ngôn ngữ thiết kế và kịch bản: Trình bày lý do sử dụng CSS theo khuyến nghị của W3C nhằm tách rời nội dung HTML và định dạng hiển thị; phân tích đặc điểm hoạt động đơn luồng, hạn chế bảo mật trên trình duyệt của JavaScript; giới thiệu 7 module cốt lõi của jQuery (Ajax, Attributes, Effect, Event, Form, DOM, Selector).
  • Ngôn ngữ PHP và Hệ quản trị MySQL: Trình bày lịch sử hình thành của PHP từ năm 1994 bởi Rasmus Lerdorf; cơ chế biên dịch kịch bản phía máy chủ để tạo đầu ra HTML; 4 loại thẻ cú pháp PHP (Short, XML, Script, ASP); các biến toàn cục nhận dữ liệu HTTP ($HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS); các cấu trúc điều khiển và toán tử. Đối với MySQL, chương 1 phân tích các mục tiêu cốt lõi trong lưu trữ, tổ chức dữ liệu quan hệ và cơ chế tích hợp giữa PHP và MySQL.

Chương 2: Phân tích và thiết kế hệ thống

Chương 2 trình bày toàn bộ quy trình khảo sát thực trạng nghiệp vụ cửa hàng và xây dựng mô hình hệ thống:

  • Khảo sát hiện trạng: Mô tả quy trình quản lý thực tế tại cửa hàng quần áo thể thao bao gồm kiểm tra tồn kho, phân loại danh mục, lập hóa đơn, quản lý chi tiết thông tin khách hàng và nhà cung cấp, áp dụng chính sách thẻ VIP theo ngày sinh, xử lý đổi trả và tính toán doanh thu.
  • Đặc tả ca sử dụng (Use Case Specifications): Xây dựng chi tiết luồng sự kiện chính, luồng nhánh và hậu điều kiện cho 12 ca sử dụng: Đăng ký thành viên, Đăng nhập, Xem thông tin cá nhân, Sửa thông tin cá nhân, Đổi mật khẩu, Xem thông tin sản phẩm, Tìm kiếm sản phẩm, Thêm sản phẩm vào giỏ hàng, Xem giỏ hàng, Thanh toán, Quản lý danh mục sản phẩm, Quản lý sản phẩm, Quản lý loại sản phẩm, Quản lý tài khoản, Quản lý khuyến mãi, Xét duyệt hóa đơn.
  • Biểu đồ lớp (Class Diagram): Xác định các lớp đối tượng cốt lõi kèm phương thức hoạt động, bao gồm: Lớp sản phẩm (Thêm, Sửa, Xóa, Tìm kiếm, Hiển thị), Lớp danh mục (Thêm, Sửa, Xóa, Hiển thị), Lớp hóa đơn (Thêm sản phẩm vào hóa đơn), Lớp loại sản phẩm (Thêm, Sửa, Xóa, Hiển thị), Lớp khuyến mãi (Thêm, Sửa, Xóa, Hiển thị) và Lớp người dùng (Thêm, Sửa, Xóa thông tin khách hàng).
  • Biểu đồ hoạt động (Activity Diagrams): Thiết lập 14 biểu đồ hoạt động mô tả tiến trình nghiệp vụ: Đăng ký, Đăng nhập, Sửa thông tin cá nhân, Đổi mật khẩu, Xem sản phẩm, Tìm kiếm sản phẩm, Xem giỏ hàng, Thanh toán, Quản lý danh mục, Quản lý sản phẩm, Quản lý loại sản phẩm, Quản lý tài khoản, Quản lý khuyến mãi, Quản lý banner.
  • Thiết kế cơ sở dữ liệu: Chi tiết hóa 8 bảng dữ liệu quan hệ với đầy đủ trường, kiểu dữ liệu, kích thước và mô tả ràng buộc.

Chương 3: Demo chương trình

Chương 3 minh họa kết quả triển khai giao diện thực tế của website:

  • Đường dẫn cục bộ: Hệ thống được cấu hình truy cập qua địa chỉ URL http://localhost/LAOS_EA_SPORT/?act=home.
  • Giao diện trang chủ: Hiển thị danh mục các mặt hàng quần áo thể thao, hình ảnh đại diện, giá bán và các thông tin trực quan giúp người mua tiếp cận sản phẩm.
  • Giao diện xác thực (Đăng ký / Đăng nhập): Cho phép người dùng tạo tài khoản thành viên để kích hoạt tính năng đặt hàng trực tuyến. Hệ thống yêu cầu xác thực tên đăng nhập và mật khẩu trước khi tiến hành giao dịch mua sắm.
  • Giao diện chi tiết sản phẩm: Trình bày đầy đủ các trường thông tin bao gồm bài viết giới thiệu, kích thước, màu sắc, đơn giá và hỗ trợ khách hàng thao tác chọn mua hoặc thêm vào giỏ hà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 và nghiệp vụ được đặt ra ban đầu:

  • Kết quả thực nghiệm:
    • Xây dựng hoàn chỉnh website bán quần áo thể thao LAOS_EA_SPORT trên nền tảng máy chủ cục bộ XAMPP bằng cách kết hợp ngôn ngữ PHP và cơ sở dữ liệu quan hệ MySQL gồm 8 bảng dữ liệu.
    • Thiết kế và triển khai 12 ca sử dụng chính đáp ứng đầy đủ hai nhóm tác nhân Khách hàng và Quản trị viên.
    • Xây dựng thành công các giao diện tương tác cốt lõi: Trang chủ (act=home), trang Đăng ký/Đăng nhập, trang Xem chi tiết sản phẩm và chức năng quản lý giỏ hàng/thanh toán.
  • Đóng góp về mặt quản lý và nghiệp vụ:
    • Cung cấp giải pháp số hóa quy trình quản lý thông tin sản phẩm, phân loại danh mục, lưu trữ hóa đơn và thông tin khách hàng cho nhà quản lý cửa hàng thể thao tại Lào.
    • Tối ưu hóa thời gian giao dịch cho người tiêu dùng thông qua cơ chế tìm kiếm, lựa chọn kích thước, màu sắc và đặt mua trực tuyến mà không cần đến trực tiếp cửa hàng.

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

Dựa trên phạm vi và nội dung được trình bày trong văn bản:

  • Hạn chế:
    • Hệ thống mới chỉ dừng lại ở mức độ triển khai thử nghiệm trên môi trường máy chủ cục bộ (Localhost) thông qua gói phần mềm XAMPP, chưa được đưa vào vận hành thực tế trên môi trường internet công cộng với tên miền và máy chủ lưu trữ chuyên dụng (Hosting/VPS).
    • Khâu thanh toán trực tuyến mới được mô phỏng theo biểu mẫu lưu trữ thông tin địa chỉ và phương thức thanh toán trong cơ sở dữ liệu, chưa tích hợp cổng thanh toán trực tuyến của các ngân hàng hoặc ví điện tử tại Lào.
  • Hướng phát triển:
    • Đưa mã nguồn và cơ sở dữ liệu lên máy chủ web thực tế để phục vụ hoạt động thương mại hóa chính thức.
    • Hoàn thiện và tích hợp thêm các dịch vụ bổ trợ như gửi email tự động khi đặt hàng thành công hoặc xử lý thanh toán tự động qua hệ thống ngân hàng bản địa.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực cho:

  • Sinh viên chuyên ngành Công nghệ thông tin, Hệ thống thông tin và Kỹ thuật phần mềm: Là tài liệu tham khảo cụ thể về quy trình phân tích và thiết kế một hệ thống thương mại điện tử hoàn chỉnh từ bước khảo sát hiện trạng, vẽ biểu đồ ca sử dụng, biểu đồ lớp, biểu đồ hoạt động đến thiết kế lược đồ cơ sở dữ liệu quan hệ bằng MySQL.
  • Người học lập trình web căn bản với PHP & MySQL: Tham khảo cách thức tổ chức bảng dữ liệu, cấu hình môi trường máy chủ XAMPP và xây dựng các luồng xử lý CRUD (Thêm, Sửa, Xóa, Hiển thị) trên ứng dụng bán hàng.

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

1. Khóa luận sử dụng phiên bản phần mềm máy chủ và công cụ soạn thảo mã nguồn nào?
Khóa luận sử dụng gói phần mềm XAMPP (phiên bản được đề cập trong lý thuyết là XAMPP 7.11) để tạo máy chủ cục bộ Localhost tích hợp Apache và MySQL, đồng thời sử dụng trình biên soạn mã nguồn Visual Studio Code để viết code.

2. Địa chỉ URL chạy demo của hệ thống được thiết lập như thế nào?
Hệ thống demo được khởi chạy trên môi trường cục bộ thông qua đường dẫn http://localhost/LAOS_EA_SPORT/?act=home.

3. Cơ sở dữ liệu của website bán quần áo thể thao gồm bao nhiêu bảng và những bảng nào lưu thông tin danh mục?
Cơ sở dữ liệu của hệ thống gồm 8 bảng: chitiethoadon, hoadon, loaisanpham, danhmuc, khuyenmai, nguoidung, phanquyen và sanpham. Trong đó, bảng danhmuc (chứa MaDM, TenDM) và bảng loaisanpham (chứa MaLSP, TenLSP, HinhAnh, Mota, MaDM) chịu trách nhiệm phân loại và tổ chức nhóm sản phẩm.

4. Khách hàng chưa đăng nhập có thể thực hiện mua hàng trực tiếp trên hệ thống không?
Theo đặc tả nghiệp vụ của hệ thống tại Chương 2 và Chương 3, khách hàng bắt buộc phải thực hiện đăng ký tài khoản và đăng nhập thành công vào hệ thống mới có thể kích hoạt quyền mua hàng và tiến hành thanh toán giỏ hàng.

5. Điểm khác biệt về đối tượng thị trường mà tác giả hướng tới so với các trang web bán hàng trực tuyến đã khảo sát là gì?
Trong phần lịch sử nghiên cứu, tác giả chỉ ra rằng dù đã có các trang web như huyenanh.com hay pro-biker, đề tài tập trung xây dựng website có nét đặc trưng riêng để đáp ứng thói quen và văn hóa mua sắm của người dân tại nước CHDCND Lào.

Kết luận

Khóa luận tốt nghiệp của sinh viên Souliphong Sitthixay đã hoàn thành việc nghiên cứu, phân tích và xây dựng hệ thống website thương mại điện tử bán quần áo thể thao tại Lào dựa trên nền tảng PHP, MySQL và máy chủ XAMPP. Công trình thể hiện quy trình phân tích thiết kế hệ thống tương đối chặt chẽ từ khảo sát hiện trạng, xây dựng 12 ca sử dụng, thiết lập biểu đồ lớp, biểu đồ hoạt động đến thiết kế 8 bảng dữ liệu quan hệ. Kết quả nghiên cứu đáp ứng các yêu cầu cơ bản của một đồ án tốt nghiệp ngành Công nghệ thông tin, tạo tiền đề để nâng cấp và triển khai ứng dụng vào môi trường kinh doanh trực tuyến thực tế.