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

Đồ án được thực hiện trong bối cảnh thương mại điện tử phát triển nhanh chóng, khi internet trở thành phương tiện truyền thông có sức ảnh hưởng lớn và thúc đẩy nhu cầu mua sắm trực tuyến. Tác giả chỉ ra rằng hình thức kinh doanh đồng hồ truyền thống qua bảng báo giá phát sinh nhiều bất cập: chi phí cao do số lượng sản phẩm đa dạng, giá cả thay đổi liên tục, tính phổ biến thấp, đồng thời cửa hàng chưa quản lý được thông tin người dùng, nhà sản xuất, và dữ liệu sản phẩm một cách hệ thống. Trên cơ sở đó, tác giả xác định sự cần thiết phải xây dựng một website thương mại điện tử chuyên về mặt hàng đồng hồ để đáp ứng nhu cầu mua sắm trực tuyến và nâng cao hiệu quả quản lý cửa hàng.

Mục tiêu của đề tài:

  1. Xây dựng website bán đồng hồ phục vụ quảng cáo và bán hàng trên mạng, nhằm tăng hiệu quả kinh doanh của cửa hàng.
  2. Thu hút người tiêu dùng đến cửa hàng, tạo điều kiện mở rộng quy mô.
  3. Giúp công tác quản lý trở nên đơn giản, hiệu quả hơn, tiết kiệm nguồn nhân lực trong quản lý sổ sách.

Đối tượng nghiên cứu:

  • Quy trình quản lý bán các mặt hàng đồng hồ.
  • Các vấn đề cần giải quyết trong quản lý số lượng đồng hồ, tra cứu tìm kiếm mặt hàng.
  • Xây dựng và khai thác cơ sở dữ liệu phục vụ quản lý.
  • Theo dõi và thống kê các chức năng: doanh thu tháng, doanh thu năm, nhân viên, khách hàng, đồng hồ nam, đồng hồ nữ, đồng hồ trẻ em, hóa đơn chưa duyệt.

Phạm vi nghiên cứu: Hệ thống website bán đồng hồ trực tuyến, áp dụng cho mô hình cửa hàng kinh doanh đồng hồ tại Việt Nam, hoàn thành tháng 4 năm 2023.


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

Công nghệ và nền tảng kỹ thuật

Đồ án sử dụng tổ hợp công nghệ web phổ biến theo mô hình client-server:

Công nghệ Vai trò trong hệ thống
HTML (HyperText Markup Language) Xây dựng cấu trúc và nội dung trang web
CSS (Cascading Style Sheets) Định dạng giao diện, phong cách hiển thị
PHP (Hypertext Preprocessor) Ngôn ngữ lập trình phía server, xử lý logic nghiệp vụ
JavaScript Xử lý tương tác phía client, kiểm tra dữ liệu nhập
MySQL Hệ quản trị cơ sở dữ liệu quan hệ, lưu trữ toàn bộ dữ liệu
Visual Studio Code Môi trường soạn thảo và phát triển mã nguồn
XAMPP (Apache + MySQL + PHP + Perl) Môi trường máy chủ cục bộ để phát triển và kiểm thử

Tác giả lựa chọn PHP do khả năng tích hợp tốt với MySQL, hỗ trợ mã nguồn mở, chạy trên Apache và tương thích với Linux, đồng thời MySQL được chọn vì miễn phí, linh hoạt về nền tảng, hiệu năng cao và bảo mật phù hợp với ứng dụng web thương mại điện tử.

Phương pháp nghiên cứu

Tác giả kết hợp các phương pháp sau:

  • Lý luận: Tìm hiểu tài liệu từ sách, giáo trình, internet về các công nghệ web và thương mại điện tử.
  • Logic, phân tích, tổng hợp, thống kê: Áp dụng trong phân tích yêu cầu hệ thống, xây dựng tài liệu đặc tả Use Case và biểu đồ UML.
  • Khảo sát hiện trạng: Phân tích thực trạng kinh doanh đồng hồ trực tuyến tại Việt Nam và các vấn đề của mô hình truyền thống.
  • Thiết kế hệ thống: Sử dụng sơ đồ Use Case tổng quát, biểu đồ tuần tự (sequence diagram), biểu đồ hoạt động (activity diagram) và thiết kế cơ sở dữ liệu quan hệ.

Nguồn dữ liệu

Dữ liệu được xây dựng trực tiếp trong quá trình thiết kế hệ thống, bao gồm cơ sở dữ liệu MySQL với các bảng: nguoidung, loaisanpham, khuyenmai, phanquyen, sanpham, hoadon, danhmuc, chitiethoadon, banner.


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

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

Chương này trình bày nền tảng lý thuyết về các công nghệ được sử dụng trong đồ án. Tác giả giới thiệu lần lượt HTML với cấu trúc cơ bản gồm ba phần <!Doctype>, <head> và <body>, cùng các thẻ thường dùng như <table>, <img>, <a>, <form>, thẻ Input và thẻ Select. Với CSS, tác giả trình bày cú pháp selector – declaration block và ba lợi ích chính: giải quyết vấn đề lặp lại định dạng, tiết kiệm thời gian chỉnh sửa toàn trang, và cung cấp thêm thuộc tính so với HTML.

PHP được giới thiệu là ngôn ngữ lập trình kịch bản phía máy chủ, mã nguồn mở, với ưu điểm tích hợp tốt cùng MySQL và XAMPP, cú pháp gần với C. Tác giả trình bày cú pháp nhúng PHP vào HTML, khai báo biến với tiền tố $, và các quy tắc lập trình cơ bản. JavaScript được giới thiệu là ngôn ngữ thông dịch phía client, phát triển bởi Brendan Eich tại Netscape, với khả năng kiểm tra dữ liệu nhập và tạo hiệu ứng tương tác thông qua DOM. Chương cũng trình bày MySQL với các ưu điểm về linh hoạt nền tảng, hiệu năng cao, hỗ trợ giao dịch ACID, bảo mật tốt và chi phí thấp; Visual Studio Code và XAMPP được giới thiệu như công cụ phát triển chính.

Chương 2: Phân tích và thiết kế Website

Chương này thực hiện phân tích toàn diện hệ thống và thiết kế kiến trúc website. Tác giả khảo sát hiện trạng kinh doanh đồng hồ trực tuyến tại Việt Nam, chỉ ra thuận lợi (không mất chi phí thuê mặt bằng, không cần vốn lớn) và hạn chế (người dùng lo ngại về chất lượng sản phẩm và uy tín giao hàng, phía bán hàng không kiểm soát được phản ứng khách hàng).

Yêu cầu chức năng được phân chia theo hai nhóm tác nhân. Người quản trị (Admin) có các chức năng: đăng nhập/đăng xuất, quản lý sản phẩm (xem/thêm/sửa/xóa), quản lý loại sản phẩm, quản lý danh mục sản phẩm, quản lý hóa đơn (xét duyệt/hủy), quản lý người dùng, quản lý khuyến mãi, quản lý banner, thống kê doanh thu theo tháng/năm. Khách hàng có các chức năng: đăng ký tài khoản, đăng nhập/đăng xuất, tìm kiếm sản phẩm, xem thông tin sản phẩm, thêm vào giỏ hàng, đặt hàng và thanh toán.

Hệ thống được phân tích thông qua sơ đồ Use Case tổng quát với hai tác nhân chính (khách hàng và người quản lý), cùng 10 biểu đồ tuần tự (UC đăng nhập, đăng ký, đăng xuất, tìm kiếm, đặt hàng, sản phẩm, loại sản phẩm, danh mục sản phẩm, người dùng, hóa đơn) và 9 biểu đồ hoạt động (đăng nhập, đăng ký, đăng xuất, tìm kiếm, quản lý danh mục sản phẩm, quản lý người dùng, đặt hàng, quản lý hóa đơn, thanh toán). Mỗi Use Case được đặc tả chi tiết với luồng sự kiện chính, luồng phụ và các điều kiện rẽ nhánh.

Thiết kế dữ liệu xây dựng 9 bảng trong MySQL: nguoidung, loaisanpham, khuyenmai, phanquyen, sanpham, hoadon, danhmuc, chitiethoadon, banner.

Chương 3: Xây dựng Website

Chương này trình bày kết quả hiện thực hóa hệ thống, bao gồm cài đặt cơ sở dữ liệu và các giao diện chính. Phía người dùng có 8 giao diện: trang chủ, cửa hàng, giới thiệu, liên hệ, giỏ hàng, đăng nhập và đăng ký, tìm kiếm sản phẩm, thanh toán. Phía quản trị có 9 giao diện: trang chủ quản trị, quản lý tài khoản, quản lý sản phẩm, thêm sản phẩm, quản lý loại sản phẩm, xét duyệt hóa đơn, quản lý danh mục sản phẩm, quản lý banner, quản lý khuyến mãi. Các giao diện được hiển thị trực tiếp qua ảnh chụp màn hình trong văn bản.


Thiết kế và triển khai

Kiến trúc hệ thống

Website được xây dựng theo mô hình client-server với kiến trúc LAMP cục bộ (Linux/Windows – Apache – MySQL – PHP), triển khai trên môi trường XAMPP. Phía client sử dụng HTML, CSS và JavaScript; phía server xử lý logic bằng PHP, dữ liệu lưu trữ trong MySQL.

Cơ sở dữ liệu

Hệ thống gồm 9 bảng dữ liệu với quan hệ rõ ràng:

Bảng Mô tả
nguoidung Thông tin tài khoản người dùng và khách hàng
sanpham Thông tin sản phẩm đồng hồ
loaisanpham Phân loại sản phẩm (nam, nữ, trẻ em)
danhmuc Danh mục sản phẩm
hoadon Thông tin hóa đơn đặt hàng
chitiethoadon Chi tiết từng mục trong hóa đơn
khuyenmai Thông tin chương trình khuyến mãi
phanquyen Phân quyền truy cập (admin, khách hàng)
banner Quản lý banner hiển thị trên trang chủ

Các chức năng chính được triển khai

Website phân quyền hai nhóm người dùng rõ ràng. Luồng xử lý đặt hàng trải qua các bước: đăng nhập → chọn sản phẩm → thêm vào giỏ hàng → xác nhận thanh toán → admin xét duyệt hóa đơn → giao hàng. Chức năng tìm kiếm sản phẩm cho phép truy vấn theo tên sản phẩm và hiển thị kết quả tức thì. Hệ thống phân quyền kiểm soát truy cập riêng biệt giữa admin và khách hàng thông qua bảng phanquyen.


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

Kết quả đạt được

Đồ án hoàn thành xây dựng website bán đồng hồ trực tuyến với đầy đủ chức năng theo yêu cầu đặt ra, gồm:

  • 8 giao diện phía người dùng: trang chủ, cửa hàng, giới thiệu, liên hệ, giỏ hàng, đăng nhập/đăng ký, tìm kiếm sản phẩm, thanh toán.
  • 9 giao diện phía quản trị: trang chủ, quản lý tài khoản, quản lý sản phẩm, thêm sản phẩm, quản lý loại sản phẩm, xét duyệt hóa đơn, quản lý danh mục, quản lý banner, quản lý khuyến mãi.
  • 9 bảng cơ sở dữ liệu được cài đặt và vận hành trong MySQL.

Giải pháp và kiến nghị

Hệ thống giải quyết các bài toán cụ thể mà tác giả đặt ra: quản lý danh mục sản phẩm đồng hồ (nam, nữ, trẻ em); theo dõi doanh thu theo tháng và năm; xét duyệt và theo dõi trạng thái hóa đơn; quản lý thông tin khách hàng; vận hành chương trình khuyến mãi và banner quảng cáo.

Đóng góp

Tác giả nêu ba đóng góp chính:

  1. Giúp công tác quản lý trở nên đơn giản và hiệu quả hơn, tiết kiệm nguồn nhân lực trong quản lý sổ sách.
  2. Tạo tính chuyên nghiệp trong quản lý bán đồng hồ.
  3. Cung cấp kênh mua sắm trực tuyến giúp khách hàng tiết kiệm thời gian và chi phí, không cần đến cửa hàng trực tiếp.

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

Văn bản không đề cập trực tiếp đến phần hạn chế và hướng mở, song dựa trên phạm vi nghiên cứu, một số giới hạn có thể xác định:

  • Hệ thống được xây dựng và kiểm thử trên môi trường cục bộ (XAMPP), chưa triển khai lên máy chủ thực tế phục vụ người dùng thật.
  • Chức năng thanh toán được mô tả dưới dạng quy trình xác nhận thủ công qua quản trị viên, chưa tích hợp cổng thanh toán điện tử.
  • Phạm vi sản phẩm giới hạn ở mặt hàng đồng hồ, chưa mở rộng sang các danh mục thương mại điện tử khác.
  • Hướng phát triển tiếp theo có thể bao gồm: tích hợp cổng thanh toán trực tuyến, triển khai trên hosting thực tế, bổ sung chức năng đánh giá sản phẩm và thống kê báo cáo chi tiết hơn.

Giá trị tham khảo

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

  • Sinh viên ngành Công nghệ thông tin, Toán – Tin đang thực hiện đồ án tốt nghiệp về xây dựng website thương mại điện tử lần đầu, đặc biệt ở giai đoạn học tập cơ bản với tổ hợp PHP – MySQL.
  • Sinh viên mới bắt đầu học lập trình web có thể tham khảo Chương 1 về cú pháp và vai trò của HTML, CSS, PHP, JavaScript, MySQL trong một dự án thực tế.
  • Người thực hiện đề tài tương tự về website bán hàng trực tuyến có thể tham khảo Chương 2 về cách xây dựng Use Case, biểu đồ tuần tự, biểu đồ hoạt động và thiết kế cơ sở dữ liệu; Chương 3 về tổ chức giao diện quản trị và giao diện người dùng.
  • Người nghiên cứu mô hình thương mại điện tử quy mô nhỏ có thể tham khảo phần khảo sát hiện trạng và phân tích yêu cầu hệ thống ở Chương 2.

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

1. Website bán đồng hồ trong đồ án phân chia quyền người dùng như thế nào? Hệ thống phân chia thành hai nhóm tác nhân chính: người quản trị (Admin) và khách hàng. Admin quản lý toàn bộ dữ liệu sản phẩm, hóa đơn, người dùng, khuyến mãi và banner, đồng thời xét duyệt hoặc hủy hóa đơn đặt hàng. Khách hàng cần đăng ký tài khoản trước khi tiến hành thanh toán; sau khi đăng nhập, khách hàng có thể tìm kiếm sản phẩm, thêm vào giỏ hàng, đặt hàng và theo dõi trạng thái đơn hàng.

2. Cơ sở dữ liệu của website gồm những bảng nào và mỗi bảng lưu thông tin gì? MySQL gồm 9 bảng: nguoidung (tài khoản người dùng), sanpham (thông tin đồng hồ), loaisanpham (phân loại: nam, nữ, trẻ em), danhmuc (danh mục sản phẩm), hoadon (đơn đặt hàng), chitiethoadon (chi tiết từng sản phẩm trong hóa đơn), khuyenmai (chương trình giảm giá), phanquyen (quyền truy cập), banner (ảnh banner trang chủ).

3. Quy trình đặt hàng và thanh toán trong hệ thống diễn ra như thế nào? Theo biểu đồ tuần tự UC đặt hàng và UC thanh toán: khách hàng đăng nhập vào hệ thống → xem chi tiết sản phẩm → yêu cầu đặt hàng → hệ thống kiểm tra tình trạng hàng → thêm vào giỏ hàng → khách hàng xác nhận → kích chọn thanh toán trong giỏ hàng → người quản lý nhận yêu cầu và thực hiện xác nhận/hủy hóa đơn → thông báo kết quả.

4. Website cung cấp những chức năng thống kê nào cho người quản trị? Theo phần yêu cầu chức năng, hệ thống thống kê các chỉ số: doanh thu tháng hiện tại, doanh thu năm hiện tại, số lượng nhân viên, số lượng khách hàng, số lượng đồng hồ nam, đồng hồ nữ, đồng hồ trẻ em, và số hóa đơn chưa được duyệt.

5. Những công cụ và môi trường nào được sử dụng để phát triển website? Đồ án sử dụng: Visual Studio Code làm trình soạn thảo mã nguồn; XAMPP (tích hợp Apache, MySQL, PHP, Perl) làm môi trường máy chủ cục bộ; ngôn ngữ lập trình gồm HTML, CSS, PHP, JavaScript; hệ quản trị cơ sở dữ liệu MySQL. Toàn bộ được kiểm thử trên môi trường cục bộ trước khi hoàn thành báo cáo vào tháng 4 năm 2023.


Kết luận

Đồ án "Xây dựng website bán đồng hồ" của sinh viên Thaikeu VATSANGA, Khoa Toán – Tin, Đại học Quảng Nam (2023), trình bày toàn bộ quy trình phát triển một website thương mại điện tử từ phân tích yêu cầu, thiết kế hệ thống đến hiện thực hóa bằng tổ hợp công nghệ HTML, CSS, PHP, JavaScript và MySQL. Hệ thống đáp ứng đầy đủ hai nhóm chức năng cho người quản trị và khách hàng, với 9 bảng cơ sở dữ liệu, 10 Use Case đặc tả chi tiết, và tổng cộng 17 giao diện được triển khai. Đây là đồ án ứng dụng mang tính thực tiễn cho bài toán quản lý bán hàng trực tuyến quy mô nhỏ, đặc biệt phù hợp làm tài liệu tham khảo cho sinh viên Công nghệ thông tin trong giai đoạn học tập lập trình web cơ bản với PHP và MySQL.