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

Trong bối cảnh công nghệ thông tin và tin học hóa trở thành yếu tố mang tính quyết định trong hoạt động vận hành của các tổ chức, doanh nghiệp, thương mại điện tử đã khẳng định vai trò xúc tiến và thúc đẩy mạnh mẽ hoạt động sản xuất kinh doanh. Đối với các cửa hàng bán lẻ chuyên biệt như ngành hàng mô hình và phụ kiện Gundam, việc quảng bá sản phẩm mới đến khách hàng là nhu cầu cấp thiết.

Phương thức quảng bá truyền thống thông qua bảng hiệu hay tiếp thị trực tiếp tại điểm bán bộc lộ nhiều hạn chế: chi phí duy trì cao, khó cập nhật kịp thời khi danh mục sản phẩm ngày càng đa dạng, giá cả biến động liên tục và độ phủ sóng thị trường không cao. Đồng thời, việc quản lý thủ công không đáp ứng tốt việc kiểm soát dữ liệu người dùng, theo dõi tồn kho, cập nhật giá bán và xử lý quy trình thanh toán.

Đề tài "Xây Dựng Website Bán Phụ Kiện Và Mô Hình Gundam Chi Nhánh Bình Dương" do sinh viên Ngô Hoàng Tân thực hiện dưới sự hướng dẫn của ThS. Nguyễn Hữu Vĩnh (ngành Kỹ thuật phần mềm, Khoa Kỹ thuật – Công nghệ, Trường Đại học Thủ Dầu Một, tháng 11/2021) được triển khai nhằm giải quyết trực tiếp các bất cập trên. Đồ án tập trung xây dựng một hệ thống bán hàng trực tuyến hoàn chỉnh, cho phép chủ cửa hàng số hóa toàn bộ danh mục sản phẩm, quản trị đơn hàng và vận hành kinh doanh từ xa, đồng thời hỗ trợ khách hàng tìm kiếm, đặt mua mô hình mà không cần đến trực tiếp cửa hàng.

Mục tiêu nghiên cứu và phát triển cụ thể của đồ án bao gồm:

  1. Hỗ trợ tự động hóa các nghiệp vụ quản lý cốt lõi: quản lý cửa hàng, quản lý danh mục sản phẩm, quản lý hàng hóa và xử lý đơn hàng.
  2. Cung cấp nền tảng mua sắm trực tuyến tiện lợi cho người dùng: thao tác đơn giản, tìm kiếm nhanh chóng, tra cứu giá cả và thông tin chi tiết minh bạch.
  3. Xây dựng cấu trúc hệ thống phần mềm rõ ràng, giao diện thân thiện, phù hợp với thói quen sử dụng thực tế của khách hàng và nhân viên quản trị.
  4. Nắm vững và chuẩn hóa quy trình phân tích thiết kế hệ thống thông tin bán hàng trực tuyến để đáp ứng các yêu cầu thực tế của cửa hàng mô hình.
  5. Vận dụng kiến thức chuyên ngành Kỹ thuật phần mềm vào việc thiết kế giao diện tương tác và lập trình hệ thống web thương mại điện tử.
  • Đối tượng nghiên cứu: Hệ thống phần mềm website bán phụ kiện và mô hình Gundam chi nhánh Bình Dương.
  • Phạm vi nghiên cứu: Các quy trình nghiệp vụ bán lẻ trực tuyến, bao gồm phân hệ hiển thị sản phẩm, giỏ hàng, đặt hàng dành cho khách hàng và phân hệ quản trị (CRUD sản phẩm, danh mục, đơn hàng, tài khoản) phục vụ quản lý cửa hàng.

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

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

Tác giả đã kết hợp các phương pháp nghiên cứu kỹ thuật và khảo sát thực nghiệm trong quy trình xây dựng phần mềm:

  • Nghiên cứu tài liệu: Thu thập, tổng hợp các tài liệu kỹ thuật về lập trình web hiện đại, tài liệu tham khảo chuyên ngành CNTT, bài báo và tài liệu hướng dẫn framework mã nguồn mở.
  • Khảo sát và quan sát thực tế: Phân tích mô hình hoạt động, quy trình bán hàng trực tiếp tại các cửa hàng mô hình đồ chơi và nghiên cứu giao diện, tính năng của một số website thương mại điện tử đang vận hành.
  • Phân tích và mô hình hóa hệ thống: Ứng dụng phương pháp phân tích hướng đối tượng với ngôn ngữ mô hình hóa UML (Use Case Diagram, Sequence Diagram) để mô tả luồng nghiệp vụ và thiết kế cơ sở dữ liệu quan hệ.

Cơ sở công nghệ và công cụ phát triển

Hệ thống được xây dựng trên nền tảng kiến trúc Model-View-Controller (MVC) với các công nghệ và công cụ sau:

Thành phần Công nghệ / Công cụ Đặc tính kỹ thuật chính theo đồ án
Backend Framework Laravel (PHP) Framework mã nguồn mở theo mô hình MVC; tích hợp Eloquent ORM, QueryBuilder, Routing mềm dẻo, Blade Template Engine, hệ thống xác thực Authentication dựng sẵn, bảo mật CSRF Token, PDO chống SQL Injection, tự động phân trang (Automatic pagination) và hỗ trợ caching Redis.
Ngôn ngữ lập trình PHP, JavaScript PHP xử lý logic phía máy chủ; JavaScript cùng thư viện jQuery xử lý tương tác động và yêu cầu Ajax trên giao diện.
Frontend Framework Bootstrap, HTML5, CSS3 Xây dựng giao diện Responsive chuẩn cho máy tính để bàn, tablet và laptop dựa trên Grid System, Less/Sass, tích hợp bộ biểu tượng Glyphicons (Halflings).
Cơ sở dữ liệu MySQL Hệ quản trị cơ sở dữ liệu quan hệ, lưu trữ thông tin sản phẩm, danh mục, đơn hàng và người dùng.
Môi trường & Công cụ XAMPP, Navicat, VS Code XAMPP cung cấp web server Apache và MySQL local; Navicat hỗ trợ quản trị trực quan CSDL; Visual Studio Code dùng để soạn thảo mã nguồn.
Hạ tầng triển khai Heroku Cloud (PaaS) Nền tảng đám mây triển khai ứng dụng dạng máy ảo Dynos (hỗ trợ scale ngang/dọc), cung cấp SSL, tích hợp quản lý mã nguồn qua GitHub.

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

Kiến trúc phân quyền và tác nhân

Hệ thống được thiết kế phục vụ hai tác nhân chính với các nhóm chức năng riêng biệt:

  • Tác nhân Khách hàng (Người dùng): Đăng ký tài khoản, đăng nhập hệ thống, cập nhật hồ sơ cá nhân, đổi mật khẩu, tìm kiếm sản phẩm theo từ khóa/danh mục/mức giá, xem chi tiết mô hình, thêm/bớt hàng trong giỏ hàng, gửi đơn đặt hàng và gửi phản hồi/liên hệ.
  • Tác nhân Quản trị viên (Quản lý/Admin): Đăng nhập vào trang quản trị cửa hàng, quản lý loại sản phẩm (thêm, sửa, xóa danh mục), quản lý chi tiết sản phẩm (thêm mã mới, cập nhật giá, hình ảnh, hãng sản xuất, mô tả, xóa sản phẩm) và quản lý danh sách đơn đặt hàng từ khách hàng.

Đặc tả các Use Case chính

Đồ án xây dựng chi tiết bảng mô tả dòng sự kiện (chính và phụ) cho từng chức năng:

STT Tên Use Case Tác nhân Điều kiện cần / Luồng hoạt động chính Điều kiện kết thúc
1 Thêm thể loại sản phẩm Quản lý Quản lý đăng nhập, chọn chức năng quản trị, nhập thông tin danh mục mới và xác nhận. Danh mục mới được lưu vào CSDL.
2 Sửa thể loại sản phẩm Quản lý Quản lý chọn danh mục cần sửa, cập nhật thông tin và yêu cầu hệ thống ghi nhận. Thông tin danh mục được cập nhật.
3 Xóa thể loại sản phẩm Quản lý Quản lý chọn danh mục cần xóa, hệ thống hiển thị xác nhận 01 lần trước khi thực hiện xóa. Danh mục bị loại bỏ khỏi hệ thống.
4 Thêm sản phẩm Quản lý Quản lý nhập thông tin chi tiết (tên, hãng, loại, giá, hình ảnh, mô tả) và bấm thêm. Sản phẩm mới hiển thị trên gian hàng.
5 Sửa sản phẩm Quản lý Quản lý truy xuất sản phẩm từ bảng danh sách, sửa đổi các trường thông tin và lưu. Dữ liệu sản phẩm được cập nhật.
6 Xóa sản phẩm Quản lý Quản lý chọn sản phẩm, xác nhận thông báo xóa từ hệ thống. Sản phẩm được gỡ khỏi CSDL.
7 Đăng nhập Người dùng Nhập tài khoản và mật khẩu; hệ thống xác thực thông tin đối chiếu với CSDL. Đăng nhập thành công vào phiên làm việc.
8 Đăng ký Người dùng Nhập các trường thông tin tài khoản cá nhân; hệ thống kiểm tra tính trùng lặp. Tài khoản mới được ghi nhận.
9 Cập nhật hồ sơ Người dùng Người dùng đã đăng nhập, truy cập mục hồ sơ cá nhân và chỉnh sửa thông tin. Thông tin hồ sơ được lưu lại.
10 Giỏ hàng & Đặt hàng Người dùng Chọn sản phẩm vào giỏ, kiểm tra số lượng/giá tiền, điền thông tin giao hàng và xác nhận đặt. Đơn hàng được lưu vào hệ thống để xử lý.
11 Đổi mật khẩu Người dùng Đăng nhập thành công, nhập mật khẩu hiện tại và mật khẩu mới tại giao diện hồ sơ. Mật khẩu tài khoản được thay đổi.

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

Cơ sở dữ liệu của hệ thống được chuẩn hóa bao gồm 5 bảng dữ liệu chính để quản lý toàn bộ thực thể kinh doanh của cửa hàng Gundam:

STT Tên bảng CSDL Kiểu dữ liệu chính Khóa (Key) Mô tả chức năng
1 tblbill Int PK Lưu trữ thông tin tổng quát về các đơn hàng (ngày đặt, trạng thái, người đặt).
2 tblbillinfo Int - Lưu trữ chi tiết hóa đơn (mã sản phẩm, số lượng mua, đơn giá).
3 tblproducts Int PK Lưu trữ danh mục sản phẩm mô hình, phụ kiện (tên, giá, hình ảnh, hãng, mô tả).
4 tblsubject Date - Lưu trữ phân loại danh mục sản phẩm (thể loại hàng hóa).
5 tblusers Double PK Lưu trữ tài khoản người dùng, phân quyền truy cập và thông tin liên hệ.

Cơ chế bảo mật và tối ưu hóa

Đồ án tích hợp các lớp phòng vệ sẵn có của Laravel Framework nhằm đảm bảo tính an toàn cho hệ sinh thái web:

  • Chống SQL Injection: Sử dụng cơ chế Parameter Binding qua PDO trong Eloquent ORM và QueryBuilder để ngăn chặn chèn mã độc vào truy vấn CSDL.
  • Chống Cross-Site Request Forgery (CSRF): Bắt buộc sinh và kiểm tra mã CSRF Token ẩn trong tất cả các form gửi dữ liệu bằng phương thức POST/PUT/DELETE.
  • Chống Cross-Site Scripting (XSS): Blade Template Engine tự động escape các biến dữ liệu trước khi kết xuất ra mã HTML hiển thị trên trình duyệt.

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

Chương I: Giới thiệu chung

Chương đầu thiết lập nền tảng cho toàn bộ đề tài:

  • Phân tích tính tất yếu của việc chuyển đổi từ tiếp thị truyền thống sang thương mại điện tử đối với các cửa hàng bán mô hình Gundam tại Bình Dương.
  • Xác định rõ ràng các mục tiêu nghiên cứu, đối tượng, phạm vi và phương pháp luận của đề tài.
  • Nêu bật ý nghĩa thực tiễn: giúp tối ưu hóa công tác quản trị, tiết kiệm thời gian vận hành cho chủ shop và nâng cao trải nghiệm mua sắm trực tuyến cho cộng đồng người chơi mô hình.
  • Phân rã cấu trúc hệ thống thành 5 module chính: Module sản phẩm, Module tìm kiếm - liên hệ - giới thiệu, Module quản lý sản phẩm & đơn hàng, Module giỏ hàng, và Module đăng ký - đăng nhập - hồ sơ người dùng.

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

Chương này đi sâu vào khảo sát các nền tảng công nghệ được lựa chọn áp dụng trong quá trình phát triển:

  • Laravel Framework: Trình bày lịch sử phát triển từ phiên bản đầu tiên của Taylor Otwell (tháng 6/2011), các ưu điểm vượt trội về tính module hóa (Modularity với hơn 20 thư viện PHP), quản lý gói qua Composer, khả năng kiểm thử (Testability), cấu hình môi trường linh hoạt qua file .env, Blade template, và cơ chế định tuyến (Routing). Phân tích ưu điểm về tốc độ, tính bảo mật và chỉ ra một số hạn chế như độ trễ phiên bản hay mức tiêu tốn tài nguyên trên môi trường di động.
  • Điện toán đám mây Heroku: Giới thiệu mô hình PaaS, nguyên lý hoạt động của máy ảo Dynos, cơ chế mở rộng linh hoạt, khả năng tích hợp cơ sở dữ liệu, chứng chỉ SSL miễn phí và kết nối trực tiếp với GitHub. Phân tích giới hạn 550 giờ hoạt động/tháng đối với gói miễn phí và cơ chế chuyển sang trạng thái ngủ (sleep) sau 2-3 giờ không có lưu lượng truy cập.
  • Bootstrap Framework & Thư viện bổ trợ: Trình bày cấu trúc giao diện responsive dựa trên CSS và JavaScript/jQuery, khả năng tùy biến giao diện nhanh thông qua hệ thống Grid, biểu mẫu (Forms), bảng biểu (Tables), thanh điều hướng (Navigation), và bộ biểu tượng Glyphicons Halflings.
  • Ngôn ngữ lập trình PHP: Phân tích vai trò của ngôn ngữ kịch bản phía server do Rasmus Lerdorf phát triển, ưu điểm dễ tích hợp trực tiếp vào HTML, khả năng kết nối đa dạng với các hệ quản trị CSDL như MySQL, Oracle, Sybase.

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

Chương 3 là phần trọng tâm kỹ thuật của đồ án, hiện thực hóa các yêu cầu nghiệp vụ thành các mô hình kỹ thuật chi tiết:

  • Xây dựng sơ đồ chức năng hệ thống và sơ đồ Use Case tổng thể mô tả mối quan hệ giữa các tác nhân và các phân hệ.
  • Chi tiết hóa sơ đồ Use Case và sơ đồ tuần tự (Sequence Diagram) cho 7 nghiệp vụ cụ thể: Quản lý thể loại sản phẩm, Quản lý sản phẩm, Đăng nhập, Đăng ký, Quản lý hồ sơ, Giỏ hàng và Đổi mật khẩu.
  • Xây dựng các bảng đặc tả luồng sự kiện chi tiết kèm theo điều kiện tiên quyết và các nhánh sự kiện phụ (xử lý lỗi nhập liệu, hủy thao tác).
  • Thiết kế mô hình dữ liệu quan hệ, định nghĩa cấu trúc các bảng (tblbill, tblbillinfo, tblproducts, tblsubject, tblusers) và mối liên kết logic giữa các khóa dữ liệu.

Chương 4: Giao diện phần mềm

Chương 4 trình bày kết quả hiện thực hóa phần mềm thông qua hệ thống giao diện thực tế:

  • Giao diện người dùng (Frontend): Trang chủ hiển thị danh mục sản phẩm trực quan, phân loại theo hãng sản xuất, mức giá và trạng thái đặc biệt; form đăng ký tài khoản với tính năng kiểm tra lỗi hợp lệ; form đăng nhập hệ thống; trang hồ sơ cá nhân cho phép thay đổi thông tin và mật khẩu; giao diện giỏ hàng hỗ trợ kiểm tra chi phí và xác nhận đặt hàng.
  • Giao diện quản trị (Backend/Admin): Bảng điều khiển trung tâm quản lý cửa hàng; module quản lý danh mục sản phẩm (hiển thị danh sách, form thêm loại sản phẩm mới, form sửa và thao tác xóa có hộp thoại xác nhận); module quản lý chi tiết sản phẩm (danh sách sản phẩm trong kho, form nhập liệu sản phẩm mới gồm loại, tên, hãng, giá, hình ảnh, mô tả, và chức năng cập nhật/xóa sản phẩm); module theo dõi và quản lý danh sách đơn hàng.

Chương 5: Kết luận

Tổng kết toàn bộ quá trình nghiên cứu và thực hiện đề tài:

  • Đánh giá mức độ hoàn thành so với các mục tiêu đề ra ban đầu về mặt chức năng và ứng dụng thực tế.
  • Đề xuất các định hướng phát triển nhằm nâng cấp hệ thống trong tương lai.

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

Kết quả chính đạt được

  • Xây dựng hoàn chỉnh một ứng dụng web thương mại điện tử chuyên biệt cho cửa hàng Gundam chi nhánh Bình Dương với 2 phân hệ độc lập (khách hàng và quản trị viên).
  • Số hóa toàn diện quy trình quản trị bán hàng: người quản trị có thể thực hiện đầy đủ các thao tác CRUD đối với danh mục hàng hóa, quản lý thuộc tính sản phẩm và theo dõi đơn đặt hàng trực tiếp qua bảng điều khiển web.
  • Cung cấp giải pháp mua hàng trực tuyến cho khách hàng: cho phép duyệt sản phẩm, lọc theo tiêu chí, quản lý giỏ hàng và gửi đơn đặt hàng không cần đến điểm bán vật lý.
  • Áp dụng thành công các công nghệ lập trình web hiện đại (Laravel Framework, Bootstrap, MySQL) và mô hình triển khai đám mây (Heroku PaaS).

Đóng góp thực tiễn

  • Đề tài giải quyết bài toán thực tế của các shop kinh doanh đồ chơi mô hình quy mô vừa và nhỏ tại địa phương, giúp cắt giảm chi phí quảng bá truyền thống bằng bảng hiệu đắt đỏ.
  • Cung cấp tài liệu tham khảo hoàn chỉnh từ khâu phân tích yêu cầu, mô hình hóa Use Case, thiết kế cơ sở dữ liệu quan hệ đến triển khai mã nguồn và xây dựng giao diện bán hàng trực tuyến chuẩn MVC.

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

Hạn chế

  • Hạ tầng triển khai trên nền tảng miễn phí của Heroku bị ràng buộc bởi giới hạn 550 giờ hoạt động mỗi tháng và cơ chế tự động chuyển sang chế độ ngủ (sleep) sau 2-3 giờ không có lưu lượng truy cập, gây độ trễ nhất định khi có người dùng truy cập lại.
  • Đồ án chưa tích hợp cổng thanh toán trực tuyến tự động; quy trình thanh toán trong đồ án hiện tại vẫn dựa trên phương thức xác nhận chuyển khoản thủ công giữa chủ cửa hàng và khách hàng trước khi giao hàng.
  • Cấu trúc cơ sở dữ liệu và phạm vi chức năng còn ở mức cơ bản, tập trung phục vụ một chi nhánh đơn lẻ tại Bình Dương.

Hướng phát triển

  • Nâng cấp hạ tầng máy chủ hoặc đăng ký gói dịch vụ trả phí để đảm bảo website hoạt động liên tục 24/7 không bị gián đoạn do cơ chế ngủ của máy ảo.
  • Tích hợp các cổng thanh toán điện tử (như ví điện tử, cổng thẻ nội địa/quốc tế) và đơn vị vận chuyển tự động để hoàn thiện chu trình thương mại điện tử khép kín.
  • Tối ưu hóa hiệu năng tải trang trên thiết bị di động và phát triển thêm các tính năng phân tích dữ liệu bán hàng, quản lý kho nâng cao cho nhiều chi nhánh.

Giá trị tham khảo

Tài liệu đồ án này là nguồn tham khảo hữu ích cho:

  • Sinh viên ngành Kỹ thuật phần mềm và Công nghệ thông tin: Tham khảo quy trình phân tích thiết kế hệ thống theo chuẩn UML, cách xây dựng các sơ đồ Use Case, Sequence Diagram và bảng đặc tả luồng sự kiện cho đồ án chuyên ngành hoặc khóa luận tốt nghiệp.
  • Lập trình viên phát triển Web PHP/Laravel: Học hỏi cách tổ chức kiến trúc MVC, ứng dụng Eloquent ORM, Blade Template Engine và áp dụng các cơ chế bảo mật (CSRF, PDO chống SQL Injection, XSS escaping) trong các dự án thương mại điện tử thực tế.
  • Chủ hộ kinh doanh và cửa hàng bán lẻ mô hình: Tham khảo cấu trúc module và quy trình nghiệp vụ cần thiết để xây dựng một website bán hàng và quản trị đơn hàng trực tuyến.

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

1. Đồ án do ai thực hiện và thuộc đơn vị đào tạo nào?

Đề tài do sinh viên Ngô Hoàng Tân (lớp D18PM03, khóa 2018 – 2022, ngành Kỹ thuật phần mềm, Khoa Kỹ thuật – Công nghệ, Trường Đại học Thủ Dầu Một) thực hiện dưới sự hướng dẫn khoa học của ThS. Nguyễn Hữu Vĩnh, hoàn thành vào tháng 11 năm 2021.

2. Website sử dụng những công nghệ và công cụ phát triển nào?

Hệ thống sử dụng ngôn ngữ PHP kết hợp Framework Laravel (mô hình MVC) cho phần xử lý backend; HTML, CSS, JavaScript (jQuery) và Bootstrap cho phần frontend; hệ quản trị CSDL MySQL; các công cụ hỗ trợ gồm XAMPP, Navicat, Visual Studio Code và được triển khai thử nghiệm trên nền tảng đám mây Heroku (PaaS).

3. Những biện pháp bảo mật nào được tích hợp trong hệ thống?

Hệ thống tận dụng các tính năng bảo mật tích hợp của Laravel: sử dụng PDO để chống lại các cuộc tấn công SQL Injection, sử dụng trường mã Token ẩn để phòng chống tấn công kiểu CSRF, và cơ chế tự động escape các biến dữ liệu khi hiển thị trên Blade View để phòng chống tấn công XSS.

4. Cơ sở dữ liệu của website gồm những bảng nào?

Cơ sở dữ liệu của hệ thống gồm 5 bảng chính: tblbill (quản lý đơn hàng), tblbillinfo (chi tiết hóa đơn), tblproducts (thông tin sản phẩm mô hình, phụ kiện), tblsubject (quản lý danh mục loại sản phẩm) và tblusers (quản lý thông tin và tài khoản người dùng).

5. Hạ tầng đám mây Heroku được sử dụng trong đề tài có ưu và nhược điểm gì?

  • Ưu điểm: Cung cấp môi trường PaaS miễn phí, hỗ trợ đa ngôn ngữ, cấp sẵn Database và chứng chỉ SSL miễn phí, dễ dàng liên kết triển khai từ kho mã nguồn GitHub.
  • Nhược điểm: Gói miễn phí giới hạn 550 giờ sử dụng mỗi tháng và hệ thống máy chủ (dynos) sẽ tự động chuyển sang trạng thái ngủ sau 2 đến 3 giờ nếu không có lưu lượng truy cập từ người dùng.

Kết luận

Đồ án "Xây Dựng Website Bán Phụ Kiện Và Mô Hình Gundam Chi Nhánh Bình Dương" của sinh viên Ngô Hoàng Tân đã hoàn thành mục tiêu xây dựng một website thương mại điện tử chuyên biệt, đáp ứng các nghiệp vụ bán lẻ trực tuyến và quản trị cửa hàng mô hình. Hệ thống được phân tích, thiết kế bài bản theo mô hình MVC sử dụng Laravel Framework, Bootstrap và MySQL, đồng thời tích hợp các cơ chế bảo mật tiêu chuẩn. Đề tài không chỉ giải quyết yêu cầu thực tiễn về số hóa quy trình kinh doanh cho cửa hàng tại Bình Dương mà còn là tài liệu tham khảo có giá trị về mặt kỹ thuật cho sinh viên ngành Kỹ thuật phần mềm.