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

Trong xu thế phát triển của công nghệ thông tin, tin học hóa công tác quản trị và thương mại đã trở thành yêu cầu thiết thực đối với hoạt động kinh doanh. Tại các cửa hàng kinh doanh quy mô vừa và nhỏ, quy trình quản lý bán hàng truyền thống bộc lộ nhiều điểm hạn chế khi nhân viên phải xử lý thủ công các công việc nhập hàng, xuất hàng, theo dõi đơn hàng và kiểm soát tài chính. Hoạt động thủ công này làm tiêu tốn thời gian, nhân lực và dễ dẫn đến sai sót. Bên cạnh đó, mô hình bán lẻ tại chỗ bị giới hạn về phạm vi địa lý, khiến lượng khách hàng biết đến sản phẩm không cao.

Đồ án tốt nghiệp "Phát triển Website quản lý bán hàng điện tử Meta sử dụng PHP Laravel" của tác giả Bùi Tô Hải Phong (ngành Công nghệ thông tin, Trường Đại học Công nghệ Đông Á, năm 2022) được triển khai nhằm giải quyết bài toán trên cho cửa hàng đồ điện tử Meta. Đề tài hướng tới việc tạo dựng một kênh phân phối trực tuyến, hỗ trợ người tiêu dùng tiếp cận và đặt mua sản phẩm từ xa mà không cần trực tiếp đến cửa hàng, đồng thời hỗ trợ người bán tối ưu hóa công tác vận hành.

Mô hình nghiệp vụ thực tế của đơn vị được phân bổ theo 4 bộ phận chức năng:

  • Chủ cửa hàng: Phụ trách chung về hoạt động bán hàng, duyệt nhập hàng và quản lý tổng thể doanh thu.
  • Tổ bán hàng: Quản lý hiện vật tại điểm kinh doanh, thực hiện việc giao nhận hàng hóa và thu tiền.
  • Tổ kế toán: Thu thập, xử lý số liệu kinh doanh nhằm phục vụ báo cáo quản trị và triển khai các kế hoạch tài chính.
  • Tổ nghiệp vụ: Tìm kiếm nguồn hàng và đối tác cung ứng để đáp ứng nhu cầu thị trường.

Mục tiêu nghiên cứu được xác định cụ thể:

  1. Phân tích hiện trạng quản trị bán hàng và xây dựng website thương mại điện tử theo tiêu chuẩn tối ưu hóa công cụ tìm kiếm (SEO).
  2. Xây dựng giải pháp kỹ thuật giúp chủ cửa hàng quản lý danh mục sản phẩm, theo dõi đơn hàng và kiểm soát tồn kho tự động.
  3. Cắt giảm chi phí vận hành, giảm bớt nhân sự quản lý trung gian và mở rộng phạm vi tiếp cận khách hàng trên quy mô toàn quốc.

Đối tượng nghiên cứu của đồ án là quy trình quản lý thông tin bán lẻ đồ điện tử và hệ thống website bán hàng trực tuyến của cửa hàng Meta. Phạm vi nghiên cứu tập trung vào việc thiết kế cấu trúc dữ liệu, xây dựng hệ thống phần mềm trên môi trường máy chủ cục bộ và thử nghiệm các chức năng quản trị kinh doanh tại địa bàn Hà Nội - Bắc Ninh trong năm 2022.


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

Đồ án thuộc loại hình nghiên cứu ứng dụng và xây dựng hệ thống phần mềm, sử dụng các nền tảng lý thuyết và công nghệ chuyên ngành kỹ thuật phần mềm:

Nền tảng công nghệ và môi trường cài đặt

  • Ngôn ngữ và Framework: Ngôn ngữ lập trình PHP kết hợp với Laravel Framework. Tác giả dẫn chứng Laravel là framework mã nguồn mở do Taylor Otwell phát triển theo kiến trúc Model-View-Controller (MVC), cung cấp cú pháp chuẩn mực, hệ thống mô-đun hóa, công cụ quản lý thư viện phụ thuộc và khả năng kết nối đa dạng cơ sở dữ liệu quan hệ. Báo cáo ghi nhận Laravel từng đạt vị trí quán quân trong các cuộc bình chọn framework PHP năm 2015 (vượt qua Symfony2, Nette, CodeIgniter, Yii2) và là dự án PHP được theo dõi nhiều trên GitHub từ tháng 8/2014.
  • Hệ quản trị cơ sở dữ liệu: MySQL, hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở sử dụng ngôn ngữ SQL, hỗ trợ đa nền tảng (Windows, Linux, Unix, FreeBSD, macOS...) với ưu điểm truy xuất tốc độ cao và tính bảo mật phù hợp cho ứng dụng web.

Mô hình kiến trúc phần mềm

  • Mô hình Client - Server: Thiết lập cấu trúc giao tiếp giữa trình duyệt web phía người dùng (Client) và máy chủ dịch vụ (Server).
  • Mô hình 3 lớp (3-tier Architecture): Tách biệt hệ thống thành lớp trình diễn giao diện, lớp xử lý nghiệp vụ và lớp truy xuất dữ liệu.
  • Mô hình MVC (Model - View - Controller):
    • Model: Xử lý logic nghiệp vụ, thực hiện truy xuất, xác thực và lưu trữ dữ liệu vào các kho dữ liệu.
    • View: Tiếp nhận phản hồi từ bộ điều khiển và hiển thị dữ liệu cho người dùng thông qua mã HTML, tệp nguồn giao diện.
    • Controller: Tiếp nhận các yêu cầu HTTP từ máy khách, điều phối lời gọi xử lý tại Model và chỉ định View tương ứng để trả kết quả.

Phương pháp phân tích và thiết kế hệ thống

Tác giả áp dụng phương pháp phân tích thiết kế hướng đối tượng thông qua ngôn ngữ mô hình hóa thống nhất (UML), bao gồm:

  • Thiết lập bảng định danh tác nhân (Actor) và danh mục chức năng (Use case).
  • Xây dựng biểu đồ ca sử dụng từ mức tổng quát đến phân rã mức 2 và mức 3.
  • Đặc tả chi tiết từng ca sử dụng theo mẫu chuẩn (dòng sự kiện chính, sự kiện rẽ nhánh, tiền điều kiện, hậu điều kiện, điểm mở rộng).
  • Xây dựng biểu đồ tuần tự (Sequence Diagram) mô tả các luồng thông điệp xử lý giữa các đối tượng.
  • Thiết kế mô hình cơ sở dữ liệu quan hệ phản ánh toàn bộ các thực thể của hệ thống.

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

1. Phân tích tác nhân và ca sử dụng

Hệ thống phân định quyền hạn thông qua 2 tác nhân chính:

Tên tác nhân Ý nghĩa và phạm vi quyền hạn trong hệ thống
Người quản trị (Admin) Có toàn quyền tương tác, điều khiển, kiểm soát hoạt động của website; thực hiện quản lý danh mục, nhập hàng, quản lý người dùng, tìm kiếm nâng cao và thống kê báo cáo.
Người dùng (Khách hàng) Người truy cập website, có thể đăng ký tài khoản thành viên hoặc duyệt trang vãng lai; có quyền tìm kiếm, xem chi tiết sản phẩm, đặt hàng vào giỏ và thực hiện thanh toán.

Danh mục 10 nhóm Use case tổng quát của hệ thống:

  1. Đăng nhập: Xác thực quyền của Người dùng hoặc Admin.
  2. Đăng ký: Đăng ký tài khoản thành viên mới.
  3. Xem thông tin sản phẩm: Xem danh sách và chi tiết các mặt hàng trên website.
  4. Đặt mua: Thêm sản phẩm vào giỏ hàng, cập nhật số lượng hoặc loại bỏ sản phẩm.
  5. Thanh toán: Nhập thông tin giao nhận và xác nhận chi trả tiền đơn hàng.
  6. Tìm kiếm sản phẩm: Khách hàng tìm kiếm theo tên hoặc thông số thiết bị.
  7. Quản lý thông tin: Admin can thiệp vào dữ liệu sản phẩm, nhà cung cấp, tài khoản người dùng.
  8. Nhập hàng: Admin lưu trữ hồ sơ nhập hàng điện tử từ các đối tác.
  9. Bán hàng: Quản trị và duyệt đơn hàng trực tuyến phát sinh.
  10. Thống kê: Admin trích xuất các báo cáo kinh doanh theo tiêu chí chuyên biệt.

Các ca sử dụng có quan hệ mở rộng (<<extend>>) được văn bản thiết lập cụ thể:

  • Usecase Đặt mua mở rộng thêm: Thêm sản phẩm, Cập nhật số lượng, Xóa sản phẩm khỏi giỏ hàng.
  • Usecase Quản lý thông tin mở rộng: Quản lý sản phẩm, Quản lý nhà cung cấp, Quản lý người dùng.
  • Usecase Tìm kiếm thông tin (Admin) mở rộng: Tìm kiếm sản phẩm, Tìm kiếm nhà cung cấp, Tìm kiếm người dùng, Tìm kiếm hãng sản xuất, Tìm kiếm nâng cao.
  • Usecase Thống kê mở rộng: Thống kê doanh thu, Thống kê nhập xuất, Thống kê sản phẩm bán chạy nhất, Thống kê sản phẩm tồn kho, Thống kê số người online, Thống kê lượt truy cập.

2. Thiết kế cơ sở dữ liệu

Hệ thống sử dụng hệ quản trị MySQL với 15 bảng dữ liệu được tác giả định nghĩa chi tiết về kiểu dữ liệu và ràng buộc:

Tên bảng Các trường dữ liệu chính Kiểu dữ liệu Giá trị mặc định / Ràng buộc Null
Users id, name, email, password, phone int(10), varchar(255), varchar(20) id khóa chính, phone cho phép Null
Custom id, name, email, address, phone, user_id, note, status, created_at, updated_at int(10), varchar(100), varchar(50), varchar(255), varchar(20), text, tinyint(1), timestamp user_id liên kết bảng Users; note cho phép Null
product id, name, id_type, intro, price, promo_price, image, unit, new, status, created_at, updated_at int(10), varchar(100), text, float, tinyint(1), timestamp id_type liên kết danh mục; new mặc định 0; status mặc định 1
Product_Kiểu dữ liệu id, name, intro, image, status, created_at, updated_at int(10), varchar(100), text, tinyint(1), timestamp Bảng định nghĩa loại sản phẩm/danh mục
product_properties id, pro_id, size_id, p_price, created_at, updated_at int(10), int(11), timestamp Lưu thuộc tính phụ và mức giá riêng theo kích thước
Product_size id, size, created_at, updated_at int(10), text, timestamp Định nghĩa các kích thước/thông số vật lý
Order id, customer_id, date_order, total, payments, note, payment_status, status, created_at, updated_at int(10), datetime, float, varchar(200), text, tinyint(1), timestamp Lưu trữ hóa đơn đơn hàng, liên kết customer_id
Order detail id, order_id, product_id, quantity, unit_price, user_id, created_at, updated_at int(10), int(11), double, timestamp Chi tiết từng mặt hàng và đơn giá trong đơn hàng
Custom Order Status id, name, created_at, updated_at tinyint(1), varchar(100), timestamp Quản lý tên các trạng thái xử lý đơn hàng
Papyment_Status id, name, created_at, updated_at tinyint(1), varchar(100), timestamp Quản lý danh mục trạng thái thanh toán
News id, id_user, title, intro, content, images, status, created_at, update_at int(10), varchar(200), text, varchar(100), tinyint(1), timestamp Quản lý các bài viết tin tức giới thiệu
slide id, link, image int(10), varchar(100) Lưu trữ thông tin hình ảnh hiển thị thanh trượt
Power id_power, name_power, created_at, updated_at tinyint(2), varchar(50), timestamp Phân cấp quyền quản trị trong hệ thống
PasswordReset email, token, created_at varchar(255), timestamp Phục vụ chức năng cấp lại mật khẩu người dùng
Recommends id, pro_id, uid, created_at, update_at int(10), timestamp Bảng lưu vết sản phẩm gợi ý dựa trên người dùng

3. Giao diện và kiểm thử

Đồ án xây dựng thiết kế giao diện cho các trang chính:

  • Giao diện trang chủ: Trình bày danh mục điện tử, thanh tìm kiếm, sản phẩm nổi bật và tin tức.
  • Giao diện đăng ký - đăng nhập: Tiếp nhận thông tin định danh của người dùng và quản trị viên.
  • Giao diện giỏ hàng và đặt hàng: Hiển thị danh sách sản phẩm lựa chọn, cho phép thay đổi số lượng và điều hướng thanh toán.
  • Giao diện trang quản trị (Admin Dashboard): Khu vực vận hành dành riêng cho quản lý dữ liệu kho, danh mục, đơn hàng và các tiêu chí thống kê.

Về phương diện kiểm thử hệ thống, báo cáo không trình bày các bộ kịch bản thử nghiệm tải (load testing) hay đo lường hiệu năng chuyên sâu mà tập trung kiểm tra tuần tự logic các luồng chức năng thông qua 10 biểu đồ tuần tự.


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

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

Chương 1 trình bày tính cấp thiết của việc áp dụng tin học vào quản lý bán hàng tại các cửa hàng bán lẻ. Tác giả phân tích cơ cấu tổ chức của một đơn vị kinh doanh đồ điện tử (gồm Chủ cửa hàng, Tổ bán hàng, Tổ kế toán, Tổ nghiệp vụ) cùng các quy trình nghiệp vụ như nhập sản phẩm mới và phục vụ khách mua hàng. Từ đó, chương đề ra mục tiêu xây dựng website theo tiêu chuẩn SEO giúp quản lý kinh doanh, giảm thiểu chi phí tiếp thị và tối ưu hóa nhân sự.

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

Chương này tổng hợp các kiến thức nền tảng phục vụ việc xây dựng ứng dụng web:

  • Giới thiệu môi trường cài đặt với hệ quản trị cơ sở dữ liệu quan hệ MySQL, nhấn mạnh tính mở, tốc độ truy xuất và tính ổn định trên nhiều hệ điều hành.
  • Phân tích cú pháp và kiến trúc của PHP Laravel framework, điểm lại các cột mốc phát triển nổi bật của Laravel trên GitHub và các khảo sát chuyên môn năm 2014–2015.

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

Đây là nội dung trọng tâm của đồ án, tập trung vào:

  • Làm rõ giải pháp kiến trúc: mô hình Client - Server, kiến trúc 3 lớp và cơ chế phân tách Model - View - Controller.
  • Mô hình hóa hệ thống bằng 10 biểu đồ ca sử dụng tổng quát và phân rã các cấp.
  • Trình bày đặc tả chi tiết cho từng ca sử dụng cốt lõi: Đăng nhập, Đăng ký, Xem thông tin sản phẩm, Đặt mua, Thanh toán, Tìm kiếm, Quản lý thông tin, Nhập hàng và Thống kê.
  • Xây dựng 10 biểu đồ tuần tự thể hiện các bước truyền thông điệp giữa giao diện, bộ xử lý và cơ sở dữ liệu.
  • Thiết kế chi tiết cấu trúc 15 bảng của cơ sở dữ liệu quan hệ MySQL và minh họa các màn hình giao diện chính của hệ thống.

CHƯƠNG 4: KẾT LUẬN

Chương cuối tóm lược mức độ hoàn thành của đồ án so với mục tiêu ban đầu, xác nhận hệ thống đã hiện thực hóa được các tính năng quản lý bán hàng cơ bản trên nền tảng PHP Laravel và chỉ ra phạm vi kết thúc của nghiên cứu.


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

Kết quả chính

  • Thiết kế hoàn chỉnh tài liệu phân tích kỹ thuật phần mềm cho hệ thống thương mại điện tử bán đồ điện tử với 2 tác nhân, 10 nhóm ca sử dụng lớn và các biểu đồ phân rã chi tiết.
  • Hiện thực hóa cấu trúc cơ sở dữ liệu quan hệ gồm 15 bảng phục vụ đầy đủ vòng đời của một đơn hàng trực tuyến: từ quản lý tài khoản, phân quyền, lưu trữ thông số thuộc tính kỹ thuật của sản phẩm đến xử lý đơn hàng và ghi nhận phản hồi.
  • Thiết lập quy trình tuần tự khép kín cho nghiệp vụ đặt hàng và thanh toán trực tuyến, yêu cầu ràng buộc đăng nhập trước khi tiến hành thanh toán nhằm đảm bảo tính toàn vẹn dữ liệu đơn hàng.

Giải pháp và đóng góp của tác giả

  • Ứng dụng mô hình kiến trúc MVC thông qua Laravel Framework để tách biệt logic nghiệp vụ, giao diện người dùng và lớp cơ sở dữ liệu, giúp mã nguồn có cấu trúc rõ ràng.
  • Đề xuất mô hình tin học hóa quy trình quản lý cửa hàng đồ điện tử thay thế cho phương thức ghi chép sổ sách thủ công, hỗ trợ kiểm soát nhập xuất hàng và doanh thu tập trung cho người quản lý.

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

  • Hạn chế được ghi nhận trong văn bản:
    • Tác giả tự nhận định công trình được hoàn thành trong khuôn khổ đồ án tốt nghiệp nên không thể tránh khỏi những thiếu sót trong quá trình phân tích và cài đặt.
    • Các tham số kỹ thuật về mức độ tối ưu hóa SEO, khả năng chịu tải đồng thời của máy chủ hay các số liệu đo lường kinh tế lượng hóa chưa được tác giả đưa vào báo cáo nghiệm thu.
    • Một số bảng dữ liệu trong tài liệu còn lỗi chính tả hoặc chưa hoàn thiện tên gọi trường chuẩn hóa (ví dụ: bảng Papyment_Status, bảng Product_Kiểu dữ liệu).
  • Hướng mở rộng theo phạm vi nghiên cứu:
    • Hoàn thiện tích hợp các cổng thanh toán điện tử trực tiếp thay vì ghi nhận trạng thái thanh toán tĩnh.
    • Bổ sung các giải thuật khuyến nghị sản phẩm chuyên sâu vào bảng Recommends để tăng tính cá nhân hóa cho người dùng.

Giá trị tham khảo

Báo cáo đồ án tốt nghiệp này mang lại giá trị tham khảo thiết thực cho:

  • Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Có thể sử dụng làm tài liệu tham khảo về quy trình hoàn thiện một đồ án tốt nghiệp xây dựng website bán hàng, từ khâu khảo sát nghiệp vụ, mô hình hóa UML đến thiết kế lược đồ CSDL quan hệ.
  • Người phát triển ứng dụng web PHP/Laravel: Tham khảo cách thức phân rã ca sử dụng (Use case), cách viết đặc tả luồng sự kiện chính và ngoại lệ cho các module thương mại điện tử cơ bản (giỏ hàng, đặt hàng, quản trị kho, thống kê).

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

1. Hệ thống website đồ điện tử Meta phân chia quyền hạn cho những tác nhân (Actor) nào?

Tài liệu xác định rõ 2 tác nhân chính:

  • Người quản lý (Admin): Có toàn quyền tương tác, điều khiển hệ thống, quản lý thông tin danh mục, nhập hàng, quản lý người dùng và thực hiện thống kê báo cáo.
  • Người dùng: Bao gồm khách truy cập vãng lai và thành viên đã đăng ký; có quyền xem sản phẩm, tìm kiếm, đưa hàng vào giỏ và thực hiện thanh toán sau khi đăng nhập.

2. Ca sử dụng "Thanh toán" có điều kiện tiên quyết và các luồng sự kiện ngoại lệ nào?

Theo đặc tả Use case trong Chương 3:

  • Trạng thái bắt đầu (tiền điều kiện): Người dùng bắt buộc phải đăng nhập vào hệ thống mới có thể thực hiện thanh toán.
  • Các luồng sự kiện khác (ngoại lệ):
    1. Người dùng hủy yêu cầu thanh toán: Hệ thống hủy thao tác và quay về trang trước đó.
    2. Người dùng nhập sai thông tin thanh toán: Hệ thống hiển thị cảnh báo và yêu cầu nhập lại.
    3. Người dùng chưa đăng nhập: Hệ thống hiển thị thông báo và chuyển hướng yêu cầu người dùng đăng nhập.

3. Ca sử dụng "Thống kê" của Admin bao gồm những chức năng mở rộng (extend) nào?

Văn bản quy định ca sử dụng Thống kê có các quan hệ <<extend>> bao gồm:

  • Thống kê doanh thu.
  • Thống kê nhập xuất.
  • Thống kê sản phẩm bán chạy nhất.
  • Thống kê sản phẩm tồn kho.
  • Thống kê số người online.
  • Thống kê lượt truy cập.

4. Thuộc tính kích thước và giá riêng của sản phẩm được tổ chức lưu trữ như thế nào trong cơ sở dữ liệu?

Hệ thống không lưu cứng kích thước vào bảng sản phẩm chính mà tách thành các bảng quan hệ:

  • Bảng product: Lưu thông tin chung (tên, giá cơ bản, giá khuyến mãi, hình ảnh, đơn vị tính).
  • Bảng Product_size: Định nghĩa các loại kích thước (size).
  • Bảng product_properties: Đóng vai trò bảng trung gian lưu trữ liên kết giữa sản phẩm (pro_id), kích thước (size_id) và mức giá cụ thể của từng biến thể (p_price).

Kết luận

Đồ án tốt nghiệp "Phát triển Website quản lý bán hàng điện tử Meta sử dụng PHP Laravel" của sinh viên Bùi Tô Hải Phong đã hoàn thành việc khảo sát quy trình bán lẻ và mô hình hóa thành công một hệ thống thương mại điện tử chuyên ngành đồ điện tử. Công trình thể hiện chi tiết phương pháp phân tích thiết kế hướng đối tượng qua hệ thống biểu đồ UML, cấu trúc cơ sở dữ liệu 15 bảng trên MySQL và kiến trúc MVC của Laravel Framework. Đây là tài liệu học thuật phản ánh đầy đủ các bước xây dựng một ứng dụng web bán hàng ở mức độ tốt nghiệp đại học ngành Công nghệ thông tin.