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

Trong bối cảnh công nghệ thông tin và mạng Internet phát triển mạnh mẽ, thương mại điện tử đã trở thành một giải pháp thiết yếu giúp các tổ chức, doanh nghiệp tối ưu hóa hoạt động kinh doanh và nâng cao năng lực cạnh tranh. Điện thoại di động hiện nay không chỉ dừng lại ở vai trò là thiết bị liên lạc đơn thuần mà còn là công cụ đa chức năng phục vụ nhu cầu giải trí, làm việc và thể hiện phong cách cá nhân của người tiêu dùng. Nhằm đáp ứng nhu cầu tìm kiếm, so sánh giá cả và mua sắm trực tuyến từ xa, đồ án môn học "Thiết kế Website bán điện thoại" (tên đề tài: "Xây dựng Website bán và giới thiệu điện thoại cho cửa hàng Đăng Khoa") đã được nhóm sinh viên Trần Đăng Khoa và Nguyễn Minh Chiều thực hiện dưới sự hướng dẫn của cán bộ hướng dẫn Ngô Thị Lan Hương tại Khoa Kỹ thuật Công nghệ – Môi trường, Trường Cao đẳng Cần Thơ (tháng 10/2023).

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

  1. Nghiên cứu nhu cầu thực tiễn: Khảo sát mô hình kinh doanh bán lẻ điện thoại di động nhập từ các thương hiệu phổ biến (Apple, Samsung, Nokia, Oppo, Realme, Xiaomi) để xác định quy trình quản lý và bán hàng trực tuyến.
  2. Phân tích và lựa chọn công nghệ: Đánh giá các công nghệ nền tảng phù hợp với quy mô ứng dụng vừa và nhỏ, bao gồm gói phần mềm máy chủ XAMPP, hệ quản trị cơ sở dữ liệu MySQL, ngôn ngữ kịch bản phía máy chủ PHP và ngôn ngữ kịch bản phía máy khách JavaScript.
  3. Phân tích thiết kế hệ thống: Xây dựng mô hình dữ liệu mức quan niệm, mô tả chi tiết các thực thể, mối kết hợp, từ điển dữ liệu và mô hình dữ liệu quan hệ cho toàn bộ hệ thống.
  4. Xây dựng và thực nghiệm ứng dụng: Triển khai các chức năng tương tác phía người dùng (xem sản phẩm, lọc thông tin, quản lý giỏ hàng, đặt hàng, tra cứu đơn hàng) và phân hệ quản trị (quản lý sản phẩm, danh mục hãng, loại điện thoại, xử lý đơn hàng, thống kê kho bãi, theo dõi doanh số theo tháng/năm và phân quyền tài khoản quản trị).

Đối tượng nghiên cứu của đồ án là hệ thống thông tin quản lý và bán lẻ điện thoại di động trực tuyến cho cửa hàng Đăng Khoa. Phạm vi nghiên cứu tập trung vào việc thiết kế cấu trúc dữ liệu và triển khai thử nghiệm ứng dụng web trên môi trường máy chủ cục bộ (localhost) tại Cần Thơ vào tháng 10 năm 2023.


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

Đồ án ứng dụng các nguyên lý phân tích thiết kế hệ thống thông tin hướng dữ liệu và kiến trúc ứng dụng web hướng dịch vụ mã nguồn mở:

  • Khung lý thuyết và mô hình thiết kế: Sử dụng phương pháp mô hình hóa thực thể kết hợp (Entity-Relationship Model) để xác định các thực thể và thuộc tính dữ liệu ở mức quan niệm, sau đó chuyển đổi sang mô hình dữ liệu quan hệ (Relational Data Model) với các ràng buộc toàn vẹn khóa chính (Primary Key) và khóa ngoại (Foreign Key).
  • Công nghệ nền tảng:
    • PHP (Hypertext Preprocessor): Ngôn ngữ kịch bản phía máy chủ thực thi thông qua Zend Engine, hỗ trợ phân tách mã HTML và kịch bản xử lý logic, có khả năng tương thích đa nền tảng.
    • MySQL: Hệ quản trị cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc SQL (Structured Query Language theo chuẩn ANSI) để lưu trữ, truy xuất, cập nhật và quản lý dữ liệu giao dịch.
    • JavaScript: Ngôn ngữ lập trình phía máy khách tương tác với mô hình đối tượng tài liệu DOM (Document Object Model) nhằm tạo hiệu ứng động, kiểm tra dữ liệu và cải thiện trải nghiệm người dùng trên trình duyệt mà không cần tải lại toàn bộ trang.
    • Môi trường XAMPP: Gói giải pháp tích hợp sẵn Apache, MySQL, PHP, Perl giúp giả lập máy chủ web cục bộ trên hệ điều hành Windows Enterprise 64-bit.
  • Phương pháp nghiên cứu: Phương pháp thực nghiệm kỹ thuật phần mềm, bao gồm thu thập yêu cầu nghiệp vụ, thiết kế sơ đồ quan hệ dữ liệu, lập trình mã nguồn bằng phần mềm Macromedia Dreamweaver 8 kết hợp Visual Studio Code, và kiểm thử chức năng trực tiếp trên các trình duyệt web phổ biến.
  • Nguồn dữ liệu: Dữ liệu thông số kỹ thuật thực tế của các dòng điện thoại di động (kích thước màn hình, camera, hệ điều hành, vi xử lý, RAM, bộ nhớ trong, dung lượng pin, SIM) cùng các bản ghi giao dịch đơn hàng giả lập trong quá trình thực nghiệm.

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

Hệ thống được thiết kế theo mô hình ứng dụng web kết nối cơ sở dữ liệu quan hệ thông qua trình điều khiển cục bộ của XAMPP (chạy trên cổng dịch vụ web 80, 443 và cổng MySQL 3306). Cấu trúc dữ liệu của hệ thống được tổ chức thành 7 bảng quan hệ chính:

Tên bảng Khóa chính Khóa ngoại Mô tả chức năng
Hangdt MaHang (Varchar(10)) Không Lưu trữ danh mục các hãng sản xuất điện thoại (TenHang).
Loaidt MaLoai (Varchar(10)) Không Phân loại dòng máy (TenLoai, ví dụ: Android, iOS, điện thoại phổ thông).
Dienthoai MaDT (Varchar(10)) MaLoai, MaHang Lưu thông tin sản phẩm: tên (TenDT), số lượng kho (SLKho), đơn giá (Gia).
Chitietdienthoai MaCTDT (Varchar(10)) MaDT Chứa thông số kỹ thuật: hình ảnh (HinhMD), màu sắc (Mau), màn hình (MH), camera trước/sau (CRTruoc, CRSau), hệ điều hành (HDH), chip (Chip), RAM (Ram), pin (PinSac), dung lượng (DgLuong), SIM (Sim), mô tả (Mota).
Hoadon IdHD (Int, Auto Increment) Không Lưu trữ thông tin đơn: ngày lập (NgLap), ngày nhận hàng (NgNhanHg), tổng tiền (TgTien), ghi chú (Ghichu).
Chitiethoadon idCTHD (Int, Auto Increment) IdHD, MaDT Lưu thông tin chi tiết mua hàng: số lượng (SoLg), thông tin người nhận (Ten, SDT, Email, NoiNhan), phương thức thanh toán (PgTThToan), tình trạng đơn (TTDH), trạng thái thanh toán (TTThToan: 0 - chưa, 1 - đã thanh toán).
Useradmin IDAD (Int) Tự tham chiếu Quản lý tài khoản quản trị: tài khoản (TK), mật khẩu (MK), tên (Ten), số điện thoại (SDT), email (EMAIL), ngày khởi tạo (NGAYKhT), phân quyền quản lý (PQQL: 0 - toàn quyền, 1 - bị giới hạn quyền).

Mối quan hệ ngữ nghĩa giữa các thực thể được thiết lập như sau:

  • Một hãng (Hangdt) có nhiều điện thoại (Dienthoai) theo tỷ lệ (1,n); một điện thoại chỉ thuộc một hãng (1,1).
  • Một loại (Loaidt) có nhiều điện thoại (Dienthoai) theo tỷ lệ (1,n); một điện thoại chỉ thuộc một loại (1,1).
  • Một điện thoại (Dienthoai) liên kết một chi tiết kỹ thuật (Chitietdienthoai) theo quan hệ (1,1) - (1,n).
  • Một hóa đơn (Hoadon) liên kết một hoặc nhiều chi tiết hóa đơn (Chitiethoadon) theo quan hệ (1,1) - (1,n).
  • Một chi tiết hóa đơn (Chitiethoadon) liên kết với thông tin của một dòng điện thoại (Dienthoai) theo quan hệ (1,1) - (1,n).
  • Bảng Useradmin có mối liên kết tự thân (1,n) thể hiện mối quan hệ quản trị viên cấp cao quản lý các tài khoản quản trị viên cấp dưới.

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

Chương 1. Tổng quan

Chương 1 giới thiệu tổng quan bối cảnh bùng nổ công nghệ thông tin và vai trò của website bán hàng trực tuyến đối với các cửa hàng kinh doanh thiết bị di động. Tác giả phân tích nhu cầu mua sắm từ xa của người tiêu dùng và xác lập phạm vi chức năng cho hai đối tượng người dùng chính của hệ thống:

  • Phân hệ Khách hàng (Users): Cho phép xem danh mục sản phẩm, xem chi tiết thông số kỹ thuật, thêm sản phẩm vào giỏ hàng, tùy chỉnh số lượng hoặc xóa sản phẩm trong giỏ hàng, tìm kiếm và lọc sản phẩm, tiến hành đặt hàng trực tuyến, tra cứu lịch sử và trạng thái đơn hàng thông qua số điện thoại hoặc email.
  • Phân hệ Quản trị viên (Admin): Cung cấp các công cụ quản lý thành viên quản trị (cấp phát, duyệt, xóa tài khoản, phân quyền), quản lý danh mục hãng sản xuất, quản lý danh mục loại điện thoại, quản lý thông tin và giá bán sản phẩm, theo dõi và cập nhật trạng thái đơn đặt hàng theo tiến độ thanh toán.

Chương 2. Phân tích và lựa chọn công nghệ

Chương này tập trung trình bày cơ sở lý thuyết và lý do lựa chọn các công nghệ triển khai:

  • Phần mềm XAMPP: Được chọn làm môi trường máy chủ cục bộ nhờ tích hợp sẵn Apache, MySQL, PHP, hỗ trợ đa nền tảng (Windows, MacOS, Linux, Solaris) và quản lý tiến trình trực quan qua XAMPP Control Panel. Tài liệu hướng dẫn chi tiết quy trình 6 bước cài đặt XAMPP for Windows (phiên bản 8.4) trên ổ đĩa C:\xampp và khởi chạy máy chủ localhost tại cổng 80 và 3306.
  • Hệ quản trị CSDL MySQL: Phân tích các đặc điểm của MySQL trong ngăn xếp LAMP, cơ chế phân quyền người dùng, tài khoản quản trị mặc định (root, mật khẩu rỗng), và vai trò của ngôn ngữ SQL chuẩn ANSI trong việc thực thi các câu lệnh truy vấn, thêm, sửa, xóa dữ liệu.
  • Ngôn ngữ lập trình PHP: Đánh giá ưu điểm về tốc độ thực thi với Zend Engine, khả năng phân tách mã nguồn HTML và script logic, tính khả chuyển đa nền tảng và tính kinh tế của phần mềm mã nguồn mở. Đồng thời, chương 2 điểm qua các môi trường phát triển tích hợp (IDE) chuyên dụng như Macromedia Dreamweaver, NuSphere PHPEd, Zend Studio và Visual Studio Code.
  • Ngôn ngữ hỗ trợ JavaScript: Phân tích vai trò của JavaScript trong việc xử lý tương tác giao diện người dùng, thao tác trực tiếp trên cây DOM, kết nối gửi nhận dữ liệu HTTP và nâng cao tính động cho ứng dụng web.

Chương 3. Phân tích thiết kế hệ thống

Chương 3 trình bày toàn bộ quá trình mô hình hóa dữ liệu từ mức quan niệm đến mức vật lý:

  • Xác định chi tiết 7 thực thể dữ liệu cơ bản (Hangdt, Loaidt, Dienthoai, Chitietdienthoai, Hoadon, Chitiethoadon, Useradmin) kèm tân từ và quy tắc nghiệp vụ.
  • Thiết lập các mối liên kết ngữ nghĩa giữa các bảng với đầy đủ bản số (cardinality: (1,1) và (1,n)).
  • Xây dựng từ điển cơ sở dữ liệu chi tiết, quy định cụ thể tên trường, kiểu dữ liệu (Varchar, Int, Float, Datetime, Text), độ dài và ràng buộc toàn vẹn cho từng thuộc tính.
  • Hoàn thiện sơ đồ mô hình dữ liệu quan hệ (Relational Data Diagram) làm căn cứ trực tiếp để khởi tạo cơ sở dữ liệu trên MySQL.

Chương 4. Kết quả thực nghiệm

Chương 4 công bố kết quả cài đặt và chạy thử nghiệm hệ thống thực tế trên máy chủ cục bộ:

  • Giao diện phía người dùng:
    • Trang chủ và trang sản phẩm: Hiển thị danh mục các dòng điện thoại, danh mục thương hiệu, banner và thông tin liên hệ hỗ trợ.
    • Trang chi tiết sản phẩm: Hiển thị đầy đủ hình ảnh, giá bán và bảng thông số kỹ thuật chi tiết (ví dụ màn hình OLED 6.1 inch Super Retina XDR, iOS 16, camera 12 MP, chip Apple A15 Bionic, RAM 6 GB, bộ nhớ 128 GB, pin 4325 mAh của dòng máy iPhone 13).
    • Công cụ tìm kiếm và bộ lọc: Cho phép tìm kiếm sản phẩm theo tên (ví dụ tìm kiếm từ khóa "iPhone") hoặc lọc kết hợp đồng thời theo Hãng điện thoại (ví dụ Nokia), Loại điện thoại (Android) và khoảng giá (ví dụ Nokia C21 Plus 64GB giá 2.390.000 VNĐ).
    • Trang giỏ hàng và đặt hàng: Hỗ trợ tính tổng tiền tự động, cho phép điều chỉnh số lượng mua, xóa sản phẩm và cung cấp biểu mẫu điền thông tin giao hàng (họ tên, email, số điện thoại, địa chỉ nhận hàng, ghi chú) kèm hộp thoại JavaScript thông báo kết quả ghi nhận đơn hàng thành công.
    • Trang tra cứu đơn hàng: Cho phép khách hàng nhập số điện thoại hoặc email để hiển thị bảng dữ liệu tra cứu gồm: ngày mua (ví dụ: 2023-09-30 09:55:32), tổng tiền (17.990.000 VNĐ), phương thức thanh toán (Chuyển khoản điện tử), tình trạng đơn (Đã cập nhật) và tình trạng thanh toán (Chưa).
  • Giao diện quản trị hệ thống (Admin):
    • Xác thực và phân quyền: Cung cấp giao diện đăng nhập/đăng ký cho quản trị viên với hộp thoại cảnh báo JavaScript khi đăng nhập thành công hoặc thất bại.
    • Quản lý sản phẩm: Thực hiện đầy đủ các tác vụ xem, thêm mới thông tin sản phẩm, cập nhật thông số và xóa dữ liệu (có hộp thoại xác nhận localhost says: Bạn có muốn xóa sản phẩm không?).
    • Quản lý danh mục hãng và loại điện thoại: Cho phép cập nhật, thêm mới và xóa danh mục các hãng sản xuất (iPhone, Oppo, Realme, Samsung, Xiaomi) và loại điện thoại (Android, iPhone (iOS), Điện thoại Phổ thông).
    • Xử lý đơn hàng: Hiển thị danh sách đơn hàng đã tiếp nhận, cho phép quản trị viên bấm xem chi tiết thông tin người nhận, cập nhật tình trạng đơn hàng và trạng thái thanh toán, hoặc xóa đơn hàng.
    • Tìm kiếm đơn hàng theo thời gian: Hỗ trợ lọc danh sách đơn hàng phát sinh theo một mốc ngày cụ thể (ví dụ ngày 2023-09-19).
    • Kiểm tra tồn kho: Cung cấp bộ lọc theo khoảng số lượng kho bắt đầu và kết thúc (ví dụ tìm sản phẩm có tồn kho từ 0 đến 9 chiếc).
    • Báo cáo doanh số: Hiển thị biểu đồ/bảng thống kê tổng doanh số bán hàng của từng tháng theo từng năm.
    • Quản trị tài khoản: Hỗ trợ tài khoản quản trị cấp cao nhất duyệt các tài khoản quản trị mới đăng ký (ví dụ tài khoản khang), xóa tài khoản, đổi mật khẩu và đăng xuất an toàn khỏi hệ thống.

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

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

  1. Xây dựng hoàn chỉnh ứng dụng web thương mại điện tử: Triển khai thành công website bán điện thoại di động trên môi trường PHP - MySQL - Apache (XAMPP), đáp ứng đầy đủ chu trình mua bán từ khâu giới thiệu sản phẩm, lọc tìm kiếm, đặt hàng đến khâu tiếp nhận và xử lý đơn hàng.
  2. Hiện thực hóa cơ sở dữ liệu chuẩn hóa: Thiết kế thành công hệ thống cơ sở dữ liệu gồm 7 bảng quan hệ có cấu trúc logic chặt chẽ, đảm bảo tính toàn vẹn dữ liệu và phân định rõ ràng giữa thông tin chung của sản phẩm và thông số kỹ thuật chi tiết.
  3. Phân hệ quản trị hoàn chỉnh: Xây dựng phân hệ quản trị với đầy đủ các tính năng hỗ trợ quản lý vận hành cửa hàng, bao gồm:
    • Hệ thống lọc đơn hàng theo thời gian và quản lý trạng thái thanh toán.
    • Chức năng kiểm soát tồn kho theo khoảng số lượng nhằm hỗ trợ lên kế hoạch nhập hàng.
    • Chức năng thống kê doanh số bán hàng chi tiết theo từng tháng và từng năm.
    • Cơ chế kiểm soát tài khoản quản trị viên 2 lớp (duyệt tài khoản đăng ký mới và phân quyền PQQL theo hai cấp: toàn quyền hoặc giới hạn quyền).

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

Dựa trên phạm vi thực hiện của đồ án, tác giả ghi nhận một số hạn chế và định hướng phát triển trong tương lai:

  • Hạn chế:
    • Ứng dụng mới chỉ được triển khai và thử nghiệm trên môi trường máy chủ giả lập cục bộ (XAMPP localhost), chưa được cấu hình đưa lên máy chủ thực tế (Cloud Hosting hoặc VPS) với tên miền chính thức.
    • Hệ thống ghi nhận phương thức thanh toán nhưng chưa tích hợp cổng thanh toán trực tuyến tự động thông qua các trung gian thanh toán (Payment Gateway) chuyên dụng.
  • Hướng phát triển tiếp theo:
    • Xây dựng thêm ứng dụng di động đa nền tảng để đồng bộ trải nghiệm mua sắm trên các thiết bị cầm tay.
    • Tiếp tục nâng cấp giao diện, tối ưu hóa trải nghiệm người dùng và bổ sung các tính năng hỗ trợ theo phản hồi thực tế của khách hàng.
    • Cải thiện tốc độ thực thi, tối ưu hóa các câu lệnh truy vấn SQL và cấu trúc mã nguồn để hệ thống vận hành mượt mà hơn khi dữ liệu mở rộ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 và Hệ thống thông tin: Dùng làm mẫu tham khảo chuẩn mực về cấu trúc và quy trình thực hiện một đồ án môn học hoặc khóa luận tốt nghiệp thuộc chuyên đề Lập trình Web và Cơ sở dữ liệu.
  • Người học lập trình PHP & MySQL: Cung cấp tài liệu thực hành trực quan về kỹ thuật kết nối cơ sở dữ liệu MySQL bằng PHP, kỹ thuật xử lý giỏ hàng phía máy khách bằng JavaScript, cách thức tổ chức bảng dữ liệu quan hệ cho website bán lẻ điện tử, và cách xây dựng trang quản trị đa chức năng.

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

1. Hệ thống cơ sở dữ liệu của website gồm những bảng nào và mối quan hệ giữa chúng ra sao?
Hệ thống gồm 7 bảng quan hệ: Hangdt (hãng điện thoại), Loaidt (loại điện thoại), Dienthoai (sản phẩm chung), Chitietdienthoai (thông số kỹ thuật), Hoadon (hóa đơn đặt hàng), Chitiethoadon (chi tiết giao hàng và thanh toán), và Useradmin (tài khoản quản trị). Các bảng liên kết thông qua khóa ngoại: Dienthoai liên kết với Hangdt và Loaidt; Chitietdienthoai liên kết với Dienthoai; Chitiethoadon liên kết với Hoadon và Dienthoai.

2. Cơ chế phân quyền tài khoản quản trị trong hệ thống được thiết kế như thế nào?
Trong bảng Useradmin, quyền hạn được xác định qua trường PQQL (kiểu Int): giá trị 0 đại diện cho tài khoản có toàn quyền quản trị hệ thống (có thể duyệt tài khoản mới, xóa tài khoản, phân quyền), trong khi giá trị 1 là tài khoản bị giới hạn quyền. Ngoài ra, tài khoản quản trị mới đăng ký phải nằm trong danh sách chờ và cần được quản trị viên cấp cao duyệt mới có thể đăng nhập.

3. Khách hàng thực hiện tra cứu thông tin đơn hàng đã đặt bằng cách nào?
Tại trang Tra cứu đơn hàng, khách hàng chỉ cần nhập Số điện thoại hoặc Email đã đăng ký khi mua hàng. Hệ thống sẽ truy vấn từ bảng Chitiethoadon và Hoadon để hiển thị các thông tin: Ngày mua, Tổng tiền, Phương thức thanh toán, Tình trạng đơn hàng và Trạng thái thanh toán.

4. Phân hệ Admin cung cấp những công cụ thống kê nào để hỗ trợ quản lý kinh doanh?
Phân hệ Admin tích hợp hai công cụ thống kê chính: (1) Chức năng kiểm tra tồn kho, cho phép quản trị viên lọc sản phẩm theo khoảng số lượng tồn kho bắt đầu và kết thúc (ví dụ từ 0 đến 9 sản phẩm); (2) Chức năng xem doanh số bán hàng, cho phép tổng hợp và theo dõi doanh thu đạt được theo từng tháng của mỗi năm.


Kết luận

Đồ án môn học "Thiết kế Website bán điện thoại" của nhóm sinh viên Trường Cao đẳng Cần Thơ đã hoàn thành toàn diện mục tiêu xây dựng một website thương mại điện tử hoàn chỉnh phục vụ kinh doanh bán lẻ thiết bị di động. Đề tài thể hiện phương pháp tiếp cận chặt chẽ từ khâu phân tích yêu cầu, thiết kế mô hình dữ liệu quan hệ 7 thực thể đến triển khai lập trình bằng PHP, MySQL và JavaScript trên nền tảng XAMPP. Toàn bộ các chức năng mua hàng, tra cứu, quản lý đơn hàng, theo dõi kho bãi và thống kê doanh thu đều đã được kiểm thử và thực nghiệm thành công trên giao diện máy chủ cục bộ.