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ẽ, World Wide Web đã trở thành phương tiện thiết yếu phục vụ đời sống xã hội và hoạt động kinh tế. Báo cáo đồ án chuyên ngành "Xây dựng website bán quần áo" của sinh viên Lê Hữu Phước (Khoa Tin học, Trường Đại học Sư phạm – Đại học Đà Nẵng, dưới sự hướng dẫn của giảng viên Lê Văn Mỹ, năm 2022) xuất phát từ nhu cầu thực tiễn của các doanh nghiệp và chủ cửa hàng trong việc tìm kiếm giải pháp tiếp cận khách hàng nhanh chóng, hiệu quả thông qua môi trường trực tuyến.

  • Lý do chọn đề tài: Sự chuyển dịch thói quen tiêu dùng sang giao dịch trực tuyến đặt ra yêu cầu cho các cơ sở kinh doanh phải sở hữu kênh bán hàng qua mạng nhằm giảm thiểu chi phí quản lý, mở rộng thị trường và tạo điều kiện cho người tiêu dùng tiếp cận, mua sắm sản phẩm mọi lúc, mọi nơi chỉ với các thiết bị kết nối Internet.
  • Mục tiêu nghiên cứu: Xây dựng hoàn chỉnh một website bán hàng chuyên về mặt hàng quần áo thời trang, cho phép chủ cửa hàng giới thiệu và bán sản phẩm trực tiếp đến người tiêu dùng, đồng thời hỗ trợ khách hàng thực hiện các thao tác tìm kiếm, xem chi tiết, chọn hàng và đặt mua trực tuyến.
  • Nhiệm vụ nghiên cứu:
    1. Nghiên cứu tổng quan cơ sở lý thuyết về Internet, World Wide Web, máy chủ web (Web Server), trình duyệt web (Web Browser), ngôn ngữ đánh dấu HTML, ngôn ngữ lập trình kịch bản PHP và hệ quản trị cơ sở dữ liệu quan hệ MySQL.
    2. Khảo sát hoạt động thực tế, phân tích các yêu cầu nghiệp vụ và xác định đối tượng sử dụng hệ thống.
    3. Mô hình hóa chức năng và hành vi của hệ thống bằng ngôn ngữ UML (biểu đồ Use Case, biểu đồ hoạt động, biểu đồ tuần tự, biểu đồ cộng tác).
    4. Thiết kế cơ sở dữ liệu quan hệ phục vụ lưu trữ thông tin sản phẩm, danh mục, đơn hàng và người dùng.
    5. Xây dựng các trang giao diện người dùng và giao diện quản trị, thực hiện kết nối cơ sở dữ liệu và xử lý logic nghiệp vụ.
    6. Đánh giá kết quả đạt được, phân tích hạn chế và xác định hướng phát triển trong tương lai.
  • Đối tượng nghiên cứu: Quy trình phân tích, thiết kế và lập trình hệ thống website thương mại điện tử bán lẻ quần áo sử dụng ngôn ngữ PHP và cơ sở dữ liệu MySQL.
  • Phạm vi nghiên cứu: Đề tài thực hiện trong phạm vi đồ án chuyên ngành ngành Công nghệ thông tin (năm 2022), triển khai thử nghiệm trên môi trường máy chủ cục bộ (localhost) với gói phần mềm XAMPP, tập trung vào các chức năng cốt lõi của một website bán hàng đơn lẻ.

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

Đồ án vận dụng các kiến trúc và công nghệ nền tảng của ứng dụng web hướng cơ sở dữ liệu:

  • Khung lý thuyết và công nghệ nền tảng:
    • Kiến trúc Client - Server và giao thức Internet: Hoạt động truyền thông dựa trên bộ giao thức TCP/IP, trong đó TCP đảm bảo tính an toàn dữ liệu và IP chi phối phương thức vận chuyển gói tin.
    • World Wide Web (WWW) và Trình duyệt: Hoạt động trao đổi thông điệp giữa Web Client (Google Chrome, Mozilla Firefox, Microsoft Internet Explorer) và Web Server thông qua các định danh URL.
    • Ngôn ngữ HTML (HyperText Markup Language): Ngôn ngữ đánh dấu theo chuẩn của tổ chức W3C, sử dụng hệ thống thẻ đóng/mở để cấu trúc và hiển thị nội dung tài liệu trên trình duyệt.
    • Ngôn ngữ lập trình PHP (cụ thể PHP 5.1): Ngôn ngữ kịch bản chạy phía máy chủ (Server-side Script), được nhúng trực tiếp trong mã HTML (khối mã <?php ... ?>). Khi có yêu cầu, máy chủ thực thi mã lệnh PHP, truy xuất cơ sở dữ liệu và chuyển đổi kết quả thành mã HTML tiêu chuẩn gửi về trình duyệt.
    • Hệ quản trị cơ sở dữ liệu quan hệ MySQL: Hệ quản trị cơ sở dữ liệu nguồn mở tốc độ cao, hỗ trợ quản lý các bảng dữ liệu với dung lượng lưu trữ lớn (tối thiểu 4GB tùy thuộc hệ điều hành), dễ tích hợp với PHP qua các trình kết nối Database Client.
    • Môi trường tích hợp XAMPP: Gói phần mềm tích hợp máy chủ web Apache, PHP và MySQL hỗ trợ môi trường phát triển cục bộ.
  • Phương pháp phân tích và thiết kế hệ thống:
    • Áp dụng phương pháp phân tích hướng đối tượng sử dụng ngôn ngữ mô hình hóa UML.
    • Xây dựng các biểu đồ tương tác theo cấu trúc phân lớp gồm: Lớp biên (Interface/Login), Lớp điều khiển (Control/Process), và Lớp thực thể (Database).
    • Phương pháp thiết kế cơ sở dữ liệu quan hệ (RDBMS) thông qua việc phân rã và xác định các trường dữ liệu, khóa chính (Primary Key) và khóa ngoại (Foreign Key).
  • Nguồn dữ liệu: Dữ liệu mô phỏng được tác giả tạo lập phục vụ kiểm thử hệ thống, bao gồm danh mục mặt hàng, thông tin chi tiết sản phẩm quần áo, tài khoản quản trị và dữ liệu giao dịch mẫu.

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

Hệ thống được thiết kế phục vụ 3 nhóm tác nhân chính với các vai trò và mức độ phân quyền cụ thể:

Tác nhân Phân loại Quyền hạn và chức năng chính
Customer Khách vãng lai Xem thông tin cửa hàng, tìm kiếm sản phẩm (theo hãng, tên, thương hiệu), xem chi tiết sản phẩm, đăng ký tài khoản thành viên mới.
Member Khành viên đã có tài khoản Đăng nhập/đăng xuất, thay đổi thông tin cá nhân, xem và quản lý giỏ hàng, thực hiện đặt hàng trực tuyến, xem lại hóa đơn đã lập.
Administrator Nhà quản trị hệ thống Quản lý sản phẩm (thêm, sửa, xóa), quản lý danh mục (thêm, sửa, xóa, ẩn/hiển thị danh mục), quản lý và xử lý đơn đặt hàng, quản lý tài khoản khách hàng (khóa/block tài khoản).

Cấu trúc cơ sở dữ liệu

Cơ sở dữ liệu của website gồm 7 bảng dữ liệu quan hệ chính được thiết kế để lưu trữ và quản lý toàn bộ hoạt động của hệ thống:

Tên bảng Mục đích lưu trữ Các trường dữ liệu (Thuộc tính và kiểu dữ liệu)
order_product Lưu trữ thông tin đơn đặt hàng id (int, Primary Key), user_id (int, Foreign Key), create_at (datetime), name (varchar 255), address (varchar 255), phone_number (varchar 11), status (varchar 20), total_mony (double)
order_details Lưu chi tiết từng mặt hàng trong đơn order_id (int, Foreign Key), name_product (varchar 255), id_product (int), quantity (int), Unit_price (double)
category Quản lý danh mục loại hàng id (int, Primary Key), name (varchar 255), slug (varchar 255), status (varchar 255), create_at (datetime), update_at (datetime)
product Quản lý thông tin chi tiết sản phẩm id (int, Primary Key), name (varchar 255), price (int 10), img_product (varchar 255), quantity (int), descrip (varchar 255), company (varchar 255), create_at (datetime), update_at (datetime)
admin_account Lưu tài khoản của quản trị viên id (int, Primary Key), user_name (varchar 255), pass_word (varchar 255), cookie (varchar 255)
user_account Lưu thông tin tài khoản khách hàng id (int, Foreign Key), name (varchar 255), email_account (varchar 255), pass_word (varchar 255), phone_number (varchar 11), address (varchar 255), create_at (datetime), update_at (datetime)
slider Quản lý hình ảnh trình chiếu/banner id (int, Primary Key), name_slider (varchar 255), slider_img (varchar 255), create_at (datetime), update_at (datetime), statatus (varchar 255)

Cơ chế xử lý nghiệp vụ và quản lý phiên

Hệ thống sử dụng cơ chế Session của PHP để duy trì trạng thái làm việc:

  • Quản lý giỏ hàng: Khi người dùng thêm sản phẩm vào giỏ hàng, hệ thống lưu trữ mã sản phẩm (ID) và số lượng tương ứng trong biến $_SESSION. Khách hàng có thể tùy chỉnh tăng/giảm số lượng hoặc xóa mặt hàng trực tiếp trước khi nhấn nút xác nhận đặt hàng.
  • Xác thực đăng nhập: Kiểm tra cặp giá trị username/email và password đối chiếu với cơ sở dữ liệu. Sau khi xác thực thành công, định danh người dùng được ghi nhận vào phiên làm việc để mở khóa chức năng đặt hàng và bảo vệ các trang quản trị.

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

CHƯƠNG I: CƠ SỞ LÝ THUYẾT

Chương này hệ thống hóa các kiến thức lý thuyết nền tảng phục vụ việc xây dựng website:

  • Khái niệm mạng Internet, phân loại máy trạm (Client), máy chủ (Server) và bộ giao thức truyền thông TCP/IP.
  • Bản chất của World Wide Web, vai trò của trình duyệt trong việc biên dịch mã HTML và gửi/nhận yêu cầu từ Web Server (Apache, IIS, Tomcat).
  • Đặc điểm của ngôn ngữ HTML, cú pháp thẻ đánh dấu và nguyên tắc hoạt động không phân biệt chữ hoa/chữ thường.
  • Ngôn ngữ lập trình PHP: Cơ chế thực thi phía máy chủ, ưu điểm mã nguồn mở, khả năng nhúng linh hoạt vào HTML và tích hợp thư viện làm việc với cơ sở dữ liệu.
  • Hệ quản trị cơ sở dữ liệu MySQL: Cơ chế lưu trữ dạng bảng quan hệ, ưu thế về tốc độ xử lý nhanh hơn từ 3 đến 4 lần so với một số hệ quản trị cùng thời điểm, tính khả chuyển và khả năng quản lý dung lượng bảng dữ liệu lớn.

CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Chương này trình bày toàn bộ quá trình phân tích yêu cầu nghiệp vụ và thiết kế kiến trúc hệ thống:

  • Phân tích yêu cầu chức năng và phi chức năng đối với giao diện người dùng và giao diện quản trị viên.
  • Phân định quyền hạn của 3 nhóm tác nhân: Customer, Member và Administrator.
  • Xây dựng hệ thống biểu đồ UML bao gồm:
    • 01 biểu đồ Use Case tổng quát của toàn hệ thống.
    • 09 biểu đồ hoạt động (Activity Diagrams) mô tả luồng thao tác: Đăng nhập, Đăng xuất, Đăng ký thành viên, Xem thông tin sản phẩm, Thêm sản phẩm vào giỏ hàng, Đặt hàng, Thêm sản phẩm, Sửa thông tin sản phẩm, Xóa sản phẩm.
    • 02 biểu đồ cộng tác (Collaboration Diagrams) và 06 biểu đồ tuần tự (Sequence Diagrams) mô tả tương tác 3 lớp (Interface/Login - Control/Process - Database) cho các chức năng tìm kiếm, đăng nhập, đăng ký và cập nhật dữ liệu.
  • Chi tiết hóa cấu trúc 7 bảng dữ liệu quan hệ và nguyên tắc quản lý dữ liệu thông qua mật khẩu đăng nhập của người dùng và quản trị viên.

CHƯƠNG III: XÂY DỰNG CHƯƠNG TRÌNH

Chương này mô tả chi tiết các trang giao diện thực tế và cách thức hoạt động của từng mô-đun chức năng:

  • Giao diện người dùng (Front-end):
    • Trang chủ (Index.php): Bố cục hiển thị danh mục, sản phẩm nổi bật, sản phẩm mới và thanh điều hướng.
    • Trang đăng nhập (login.php): Biểu mẫu nhập email và mật khẩu, tích hợp khung chuyển hướng đăng ký tài khoản mới.
    • Trang liên hệ (lienhe.php): Cung cấp biểu mẫu gửi ý kiến đóng góp, thắc mắc từ khách hàng tới ban quản trị.
    • Trang giỏ hàng (cart.php): Hiển thị bảng danh sách sản phẩm đã chọn, đơn giá, số lượng, thành tiền, tổng giá trị thanh toán và công cụ cập nhật số lượng/xóa sản phẩm.
    • Trang đăng ký thành viên: Biểu mẫu tiếp nhận thông tin khách hàng (họ tên, địa chỉ, thành phố, mã ZIP, số điện thoại, email, mật khẩu).
    • Trang chi tiết sản phẩm: Hiển thị hình ảnh minh họa, giá bán, tên thương hiệu và mô tả chi tiết của mặt hàng.
  • Giao diện quản trị (Back-end / Admin):
    • Trang quản trị tổng quan (Admin): Khu vực điều hướng trung tâm dành cho người quản trị cửa hàng.
    • Trang quản lý sản phẩm: Bảng điều khiển cho phép xem danh sách, thêm sản phẩm mới, chỉnh sửa thông tin hoặc xóa sản phẩm khỏi cơ sở dữ liệu.
    • Trang quản lý danh mục: Công cụ thêm, sửa, xóa hoặc thiết lập trạng thái ẩn/hiện danh mục hàng hóa.
    • Trang quản lý đơn hàng: Giao diện tiếp nhận đơn đặt hàng, xem chi tiết các mặt hàng trong đơn và cập nhật trạng thái xử lý đơn hàng.
    • Trang quản lý khách hàng: Danh sách tài khoản người dùng kèm tính năng khóa (block) tài khoản khi cần thiết.

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

  • Kết quả đạt được:
    • Tác giả đã hoàn thiện việc khảo sát thực tế và áp dụng quy trình phân tích thiết kế hệ thống để xây dựng thành công một website bán hàng trực tuyến cơ bản.
    • Hệ thống vận hành được đầy đủ các luồng nghiệp vụ chính: cho phép khách hàng đăng ký, đăng nhập, tìm kiếm, xem chi tiết sản phẩm, thao tác với giỏ hàng và gửi đơn đặt hàng; hỗ trợ quản trị viên quản lý danh mục, sản phẩm, đơn hàng và danh sách khách hàng.
    • Củng cố và nâng cao kỹ năng tìm kiếm thông tin, kỹ năng mô hình hóa hệ thống bằng UML và kỹ thuật lập trình web với PHP/MySQL.
  • Đóng góp của đồ án:
    • Cung cấp một bộ tài liệu đặc tả phân tích thiết kế chi tiết (từ use case, biểu đồ hoạt động, biểu đồ tương tác phân lớp đến lược đồ cơ sở dữ liệu) cho mô hình website bán hàng trực tuyến quy mô vừa và nhỏ.
    • Minh chứng cho khả năng hiện thực hóa mô hình thương mại điện tử bằng ngăn xếp công nghệ mã nguồn mở truyền thống (PHP & MySQL).

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

  • Hạn chế của hệ thống (theo công bố của tác giả):
    • Do giới hạn về thời gian, kiến thức và kinh nghiệm, website còn ở quy mô nhỏ, chủ yếu mang tính chất minh họa, còn thiếu một số chức năng phụ và chưa được tối ưu hóa.
    • Cơ sở dữ liệu thiết kế ở mức độ cơ bản, dung lượng dữ liệu mẫu còn nhỏ.
    • Chưa xây dựng được tính năng Responsive Web Design (giao diện chưa tự động co giãn tương thích tối ưu trên các thiết bị và kích thước màn hình khác nhau như điện thoại, máy tính bảng).
    • Chưa phát triển chức năng đánh giá/bình luận sản phẩm từ người mua.
    • Chưa hỗ trợ chức năng cho phép khách hàng xem lại lịch sử các đơn hàng đã thực hiện trong quá khứ.
  • Hướng phát triển trong tương lai:
    • Hoàn thiện toàn bộ các yêu cầu nghiệp vụ chuyên sâu của một hệ thống bán hàng trực tuyến hoàn chỉnh.
    • Nghiên cứu và tích hợp các giải pháp bảo mật nâng cao nhằm đảm bảo an toàn thông tin và dữ liệu người dùng.
    • Bổ sung và mở rộng các tính năng còn thiếu (đánh giá sản phẩm, tra cứu lịch sử mua hàng cá nhân).
    • Tích hợp cổng thanh toán trực tuyến (Online Payment Gateway) phục vụ thanh toán tự động.

Giá trị tham khảo

Báo cáo đồ án là tài liệu tham khảo phù hợp cho sinh viên các ngành Công nghệ thông tin, Kỹ thuật phần mềm, Tin học ứng dụng hoặc Sư phạm Tin học khi chuẩn bị thực hiện đồ án chuyên ngành hoặc đồ án môn học về công nghệ web.

Cụ thể, các nội dung có giá trị tham khảo tốt bao gồm:

  • Quy trình mô hình hóa UML bài bản tại Chương II, đặc biệt là hệ thống biểu đồ tuần tự và biểu đồ cộng tác phân định rõ 3 lớp (Lớp biên - Lớp điều khiển - Lớp thực thể/dữ liệu).
  • Mô hình thiết kế 7 bảng cơ sở dữ liệu quan hệ xử lý các mối liên kết giữa tài khoản người dùng, sản phẩm, danh mục và chi tiết đơn đặt hàng.
  • Cấu trúc tổ chức các trang mã nguồn PHP cơ bản phục vụ quản trị phân quyền (Admin và Member).

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

1. Đồ án sử dụng ngăn xếp công nghệ (tech stack) nào để xây dựng website?
Website được xây dựng bằng ngôn ngữ kịch bản phía máy chủ PHP (phiên bản PHP 5.1), kết hợp ngôn ngữ đánh dấu HTML và hệ quản trị cơ sở dữ liệu quan hệ MySQL. Ứng dụng chạy trên máy chủ web Apache thuộc gói phần mềm tích hợp XAMPP trong môi trường cục bộ.

2. Hệ thống phân chia người dùng thành những tác nhân nào và có sự khác biệt gì?
Hệ thống xác định 3 tác nhân:

  • Customer (Khách vãng lai): Chỉ có quyền xem thông tin cửa hàng, tìm kiếm, xem chi tiết sản phẩm và đăng ký tài khoản.
  • Member (Thành viên): Kế thừa toàn bộ quyền của Customer, đồng thời có thêm quyền đăng nhập/đăng xuất, thay đổi thông tin cá nhân, quản lý giỏ hàng và gửi đơn đặt hàng.
  • Administrator (Quản trị viên): Toàn quyền quản lý danh mục, quản lý sản phẩm (thêm/sửa/xóa), quản lý đơn đặt hàng và quản lý tài khoản người dùng (bao gồm chức năng khóa tài khoản).

3. Cơ sở dữ liệu của đồ án gồm những bảng nào?
Hệ thống sử dụng 7 bảng dữ liệu quan hệ gồm: order_product (lưu đơn hàng), order_details (chi tiết sản phẩm trong đơn), category (danh mục sản phẩm), product (thông tin sản phẩm), admin_account (tài khoản quản trị), user_account (tài khoản thành viên) và slider (quản lý banner trình chiếu).

4. Chức năng giỏ hàng và đặt hàng được xử lý như thế nào?
Khi người dùng thêm sản phẩm, mã định danh (ID) và số lượng của sản phẩm được lưu tạm thời vào biến phiên session của PHP. Người dùng có thể điều chỉnh số lượng hoặc xóa mặt hàng trong giỏ hàng. Để hoàn tất việc đặt hàng, hệ thống yêu cầu người dùng phải đăng nhập tài khoản Member; sau khi xác nhận, toàn bộ thông tin đơn hàng và chi tiết các mặt hàng sẽ được lưu vào bảng order_product và order_details trong cơ sở dữ liệu.

5. Những chức năng quan trọng nào mà website chưa hỗ trợ?
Theo tự đánh giá của tác giả, website chưa được thiết kế giao diện thích ứng (Responsive) trên thiết bị di động, chưa có chức năng đánh giá/bình luận sản phẩm, chưa cho phép khách hàng xem lại lịch sử các đơn hàng đã đặt, và chưa tích hợp cổng thanh toán trực tuyến.


Kết luận

Báo cáo đồ án chuyên ngành "Xây dựng website bán quần áo" của sinh viên Lê Hữu Phước đã trình bày đầy đủ quy trình nghiên cứu, phân tích thiết kế và triển khai một hệ thống thương mại điện tử cơ bản sử dụng PHP và MySQL. Đề tài xây dựng thành công các chức năng cốt lõi cho phép khách hàng duyệt xem, đặt mua sản phẩm và hỗ trợ quản trị viên quản lý danh mục, hàng hóa cùng đơn đặt hàng trên môi trường web. Mặc dù còn một số hạn chế về giao diện responsive, cơ sở dữ liệu mẫu và tính năng thanh toán trực tuyến, công trình là tài liệu tham khảo hữu ích cho sinh viên công nghệ thông tin trong việc rèn luyện kỹ năng phân tích thiết kế UML và lập trình ứng dụng web mã nguồn mở.