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

Trong bối cảnh cuộc Cách mạng công nghiệp 4.0 và sự phát triển của nền kinh tế, việc ứng dụng công nghệ thông tin vào công tác quản trị kinh doanh đã trở thành một nhu cầu thiết yếu đối với các doanh nghiệp. Các quy trình quản lý thủ công truyền thống sử dụng hồ sơ, tài liệu giấy tờ bộc lộ nhiều hạn chế về mặt nhân lực, thời gian và độ chính xác của thông tin. Việc tin học hóa hệ thống bán hàng giúp doanh nghiệp tối ưu hóa nguồn lực, đưa ra các quyết định kinh doanh kịp thời và nâng cao hiệu quả thương mại.

Khảo sát thực tiễn tại các chuỗi cửa hàng và doanh nghiệp chuyên doanh mặt hàng đồng hồ cho thấy phần lớn các đơn vị kinh doanh truyền thống vẫn chưa chú trọng phát triển kênh phân phối và quảng bá sản phẩm trên nền tảng trực tuyến. Điều này gây khó khăn cho người tiêu dùng trong việc tiếp cận danh mục sản phẩm, đồng thời hạn chế phạm vi tiếp cận khách hàng của doanh nghiệp. Đề tài "Xây dựng Website bán đồng hồ E_Watchshop" được thực hiện nhằm giải quyết các bất cập này thông qua việc thiết lập một kênh bán lẻ trực tuyến, kết nối giữa khách hàng và người bán.

Đề tài xác định các mục tiêu và nhiệm vụ nghiên cứu cụ thể:

  1. Thu thập, khảo sát thông tin thực tế từ các cửa hàng chuyên doanh đồng hồ trên thị trường để xác định yêu cầu nghiệp vụ.
  2. Phân tích và thiết kế hệ thống thông tin quản lý bán lẻ đồng hồ trực tuyến bao gồm mô hình use case, biểu đồ hoạt động và cấu trúc cơ sở dữ liệu quan hệ.
  3. Ứng dụng ngôn ngữ lập trình PHP, framework Laravel 6 và hệ quản trị cơ sở dữ liệu MySQL trên môi trường máy chủ cục bộ XAMPP để xây dựng hệ thống website hoàn chỉnh.
  4. Triển khai các phân hệ chức năng cho hai nhóm tác nhân chính: khách hàng (xem sản phẩm, lọc theo tiêu chí, quản lý giỏ hàng, đặt hàng) và quản trị viên (quản lý sản phẩm, quản lý loại sản phẩm, quản lý thương hiệu).

Đối tượng và phạm vi nghiên cứu của đề tài:

  • Đối tượng nghiên cứu: Quy trình quản lý danh mục và giao dịch trực tuyến đối với các dòng sản phẩm đồng hồ đeo tay.
  • Phạm vi nghiên cứu: Khảo sát nghiệp vụ bán lẻ tại các cửa hàng đồng hồ; phạm vi công nghệ tập trung vào hệ sinh thái nguồn mở PHP (Laravel 6, MySQL, Apache qua XAMPP); thời gian thực hiện hoàn thành vào tháng 7 năm 2021 tại Viện Kỹ thuật – Công nghệ, Trường Đại học Thủ Dầu Một.

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

Đề tài xây dựng trên nền tảng kiến trúc phân tầng Model - View - Controller (MVC) cùng các công nghệ mã nguồn mở phục vụ phát triển ứng dụng web:

  • Mô hình kiến trúc MVC: Cơ chế phân tách rạch ròi giữa ba thành phần: Model (xử lý logic nghiệp vụ và tương tác dữ liệu), View (lớp giao diện người dùng) và Controller (tiếp nhận request, điều phối luồng dữ liệu giữa Model và View), giúp tăng tính mô-đun hóa và khả năng bảo trì mã nguồn.
  • Ngôn ngữ lập trình PHP (Hypertext Preprocessor): Ngôn ngữ kịch bản phía máy chủ mã nguồn mở, hỗ trợ nhúng trực tiếp vào mã HTML, tối ưu cho các tác vụ thu thập dữ liệu biểu mẫu, xử lý logic máy chủ và tương tác với hệ thống quản trị cơ sở dữ liệu.
  • Framework Laravel 6: Khung phát triển ứng dụng PHP mã nguồn mở dựa trên mô hình MVC, phát hành theo giấy phép MIT. Laravel cung cấp hệ thống định tuyến (routing), tích hợp thư viện API SwiftMailer, cơ chế bảo mật và cấu trúc thư mục tiêu chuẩn hóa giúp rút ngắn thời gian phát triển ứng dụng.
  • Hệ quản trị cơ sở dữ liệu MySQL: Hệ thống quản trị cơ sở dữ liệu quan hệ (RDBMS) sử dụng ngôn ngữ truy vấn có cấu trúc SQL, đảm bảo tốc độ truy xuất, tính toàn vẹn dữ liệu và khả năng tích hợp linh hoạt với PHP.
  • Môi trường máy chủ cục bộ XAMPP: Gói tích hợp đa nền tảng bao gồm Apache HTTP Server, MariaDB/MySQL và trình thông dịch PHP/Perl, tạo môi trường thử nghiệm cục bộ trước khi triển khai hệ thống.

Phương pháp nghiên cứu được áp dụng gồm:

  • Phương pháp khảo sát, phỏng vấn và thu thập dữ liệu thực tế về nhu cầu vận hành, bán hàng và nguồn cung từ các tiểu thương và cửa hàng kinh doanh đồng hồ.
  • Phương pháp phân tích và thiết kế hệ thống hướng đối tượng: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng sơ đồ phân rã chức năng, danh sách tác nhân, ca sử dụng (Use Case), đặc tả ca sử dụng, biểu đồ hoạt động (Activity Diagram) và sơ đồ thực thể liên kết cơ sở dữ liệu.
  • Phương pháp phát triển phần mềm thực nghiệm: Thiết lập cấu trúc mã nguồn theo chuẩn MVC trên nền tảng Laravel 6 và kiểm thử giao diện chức năng trên máy chủ cục bộ.

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

Hệ thống E_Watchshop được phân rã thành hai phân hệ độc lập tương ứng với hai tác nhân (Actor) chính: Quản trị viên (Admin) và Khách hàng (User/Customer).

Tác nhân Ký hiệu Mô tả vai trò và chức năng chính
Admin AD Thực hiện đăng nhập vào hệ thống quản trị; toàn quyền thêm, cập nhật thông tin, xóa và xem danh sách chi tiết đối với Sản phẩm, Loại sản phẩm và Thương hiệu.
Khách hàng KH Truy cập hệ thống công khai; duyệt danh sách sản phẩm; xem chi tiết sản phẩm; lọc sản phẩm theo tiêu chí; thêm sản phẩm vào giỏ và đặt hàng.

Hệ thống được thiết kế chi tiết thông qua 8 ca sử dụng nghiệp vụ:

Mã UC Tên Use Case Tác nhân chính Chức năng chi tiết và quy tắc nghiệp vụ
UC_1 Đăng nhập Admin Kiểm tra thông tin tài khoản quản trị với cơ sở dữ liệu, điều hướng sang trang quản trị nếu thành công, hiển thị thông báo lỗi nếu thất bại.
UC_2 Quản lý Sản phẩm Admin Xem danh sách, thêm mới sản phẩm, cập nhật thông tin (yêu cầu ID Brand và ID Category phải tồn tại trên hệ thống), xóa sản phẩm, xem chi tiết.
UC_3 Quản lý Thương hiệu Admin Thêm mới tên/thông tin thương hiệu, cập nhật nội dung, hiển thị danh sách và xóa thương hiệu khỏi cơ sở dữ liệu.
UC_4 Quản lý Loại sản phẩm Admin Quản lý danh mục loại đồng hồ: tạo mới danh mục, sửa thông tin loại, xem danh sách và xóa loại sản phẩm.
UC_5 Xem thông tin sản phẩm Admin, Khách hàng Truy xuất thông tin thuộc tính của sản phẩm từ cơ sở dữ liệu và hiển thị giao diện chi tiết kèm các sản phẩm liên quan.
UC_6 Đặt hàng Khách hàng Chọn sản phẩm, xác thực mã định danh (ID) sản phẩm, kiểm tra số lượng tồn kho (số lượng trong kho phải lớn hơn số lượng mua) và đưa vào giỏ hàng.
UC_7 Lọc sản phẩm Admin, Khách hàng Phân loại và hiển thị danh sách sản phẩm dựa theo hai tiêu chí: lọc theo Loại sản phẩm hoặc lọc theo Thương hiệu sản phẩm.
UC_8 Giỏ hàng (UC CA01) Khách hàng Xem danh mục hàng đã chọn, điều chỉnh số lượng mua, cập nhật giá trị tổng đơn hàng (báo lỗi nếu nhập giá trị rỗng/null), xóa sản phẩm khỏi giỏ.

Thiết kế cơ sở dữ liệu quan hệ của hệ thống bao gồm 4 bảng dữ liệu chính và bảng phân quyền tài khoản:

  • SanPham: Lưu trữ các trường dữ liệu thuộc tính của đồng hồ (mã sản phẩm, tên, giá, số lượng, hình ảnh, mô tả, khóa ngoại liên kết thương hiệu và loại).
  • ThuongHieu: Lưu trữ thông tin danh mục các hãng/thương hiệu sản xuất.
  • LoaiSanPham: Phân loại cấu trúc sản phẩm theo chủng loại/danh mục.
  • GioHang: Lưu giữ trạng thái sản phẩm được khách hàng lựa chọn, số lượng và giá tạm tính.
  • TaiKhoan: Lưu trữ dữ liệu xác thực người dùng quản trị (tên đăng nhập, mật khẩu mã hóa, quyền hạn).

Mối quan hệ dữ liệu được thiết lập chặt chẽ: bảng ThuongHieu, bảng LoaiSanPham và bảng GioHang có liên kết khóa ngoại trực tiếp với bảng SanPham để đảm bảo tính toàn vẹn tham chiếu.

Yêu cầu môi trường và điều kiện phần cứng tối thiểu để triển khai:

  • Phần cứng: Bộ vi xử lý Intel Core i3 trở lên; bộ nhớ trong (RAM) từ 4 GB trở lên.
  • Môi trường phần mềm: Hệ điều hành Microsoft Windows (XP, Windows 7, 8, 10, 11); gói dịch vụ XAMPP tích hợp máy chủ web Apache; hệ quản trị cơ sở dữ liệu MySQL.

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

Chương 1. Giới thiệu đề tài

Chương 1 trình bày tổng quan về tính cấp thiết của đề tài trong kỷ nguyên số hóa, làm rõ lý do lựa chọn xây dựng website bán đồng hồ E_Watchshop nhằm hỗ trợ các cửa hàng truyền thống mở rộng kênh kinh doanh. Tác giả xác định rõ đối tượng nghiên cứu là sản phẩm đồng hồ đeo tay, phạm vi khảo sát thực tế và phân định các nhóm chức năng cốt lõi cho phân hệ Admin và phân hệ Khách hàng. Đồng thời, chương này cung cấp tổng quan lý thuyết về công nghệ nền tảng: lịch sử và đặc tính kỹ thuật của ngôn ngữ PHP (bắt nguồn từ PHP/FI của Rasmus Lerdorf), cơ chế hoạt động của mô hình MVC, các ưu - nhược điểm của framework Laravel 6, máy chủ cục bộ XAMPP và hệ quản trị cơ sở dữ liệu quan hệ MySQL.

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

Chương 2 tập trung vào quy trình kỹ thuật phần mềm bao gồm phân tích yêu cầu nghiệp vụ và thiết kế hệ thống:

  • Xây dựng sơ đồ phân rã chức năng tổng thể của website.
  • Thiết lập bảng mô tả chi tiết tác nhân và danh mục ca sử dụng (UC_1 đến UC_8).
  • Xây dựng sơ đồ Use Case tổng quát và sơ đồ Use Case phân rã cho các khối chức năng Quản lý và Lọc sản phẩm.
  • Lập bảng đặc tả chi tiết cho toàn bộ 8 ca sử dụng (bao gồm dòng sự kiện chính, dòng sự kiện phụ, tiền điều kiện và hậu điều kiện).
  • Thiết kế 8 biểu đồ hoạt động (Activity Diagram) thể hiện luồng xử lý: Biểu đồ đăng nhập, Quản lý thương hiệu, Quản lý loại sản phẩm, Quản lý sản phẩm, Xem thông tin sản phẩm, Lọc sản phẩm, Đặt hàng và Quản lý giỏ hàng.
  • Xây dựng sơ đồ quan hệ cơ sở dữ liệu (ERD) và cấu trúc chi tiết các bảng dữ liệu: SanPham, ThuongHieu, LoaiSanPham, TaiKhoan.

Chương 3. Xây dựng website

Chương 3 trình bày chi tiết về thông số kỹ thuật phần cứng, yêu cầu môi trường phần mềm và cấu trúc giao diện trực quan của hệ thống sau khi xây dựng hoàn chỉnh. Tác giả tài liệu hóa các màn hình chức năng của website thông qua hệ thống hình ảnh chụp thực tế:

  • Màn hình phân hệ người dùng: Trang chủ (Home), Trang đăng nhập hệ thống, Trang hiển thị chi tiết sản phẩm, Trang giỏ hàng, Trang lọc sản phẩm theo loại và Trang lọc sản phẩm theo thương hiệu.
  • Màn hình phân hệ quản trị: Trang chủ quản trị (Admin home), Trang thêm mới / chỉnh sửa / danh sách thương hiệu (List/Add/Edit Brand), Trang thêm mới / chỉnh sửa / danh sách loại sản phẩm (List/Add/Edit Category), Trang thêm mới / chỉnh sửa / danh sách sản phẩm (List/Add/Edit Product).

Chương 4. Đánh giá kết quả và kết luận

Chương 4 tổng kết quá trình triển khai đồ án, tiến hành đối soát các chức năng đã xây dựng thành công so với mục tiêu ban đầu, xác định những điểm hạn chế kỹ thuật chưa thực hiện được và đề 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

Đề tài đã hoàn thành việc xây dựng và triển khai thực nghiệm hệ thống website bán đồng hồ E_Watchshop với các kết quả cụ thể:

  • Thiết lập hoàn chỉnh cơ sở dữ liệu quan hệ gồm 4 bảng nghiệp vụ (SanPham, ThuongHieu, LoaiSanPham, GioHang) và bảng tài khoản, đảm bảo ràng buộc toàn vẹn dữ liệu giữa các danh mục sản phẩm, loại và thương hiệu.
  • Xây dựng thành công toàn bộ các module chức năng phía người dùng: duyệt danh mục, xem chi tiết sản phẩm kèm sản phẩm liên quan, thực hiện lọc sản phẩm độc lập theo 2 tiêu chí (thương hiệu hoặc loại), thêm sản phẩm vào giỏ hàng, điều chỉnh số lượng và tính toán tổng tiền trong giỏ.
  • Hoàn thiện giao diện quản trị Admin với đầy đủ các tác vụ thêm, sửa, xóa và truy xuất danh sách cho ba thực thể quản lý nòng cốt: Sản phẩm, Loại sản phẩm và Thương hiệu.
  • Đóng góp giải pháp công nghệ mã nguồn mở (PHP, Laravel 6, MySQL) có cấu trúc thiết kế rõ ràng, đáp ứng nhu cầu chuyển đổi từ hình thức kinh doanh thủ công sang kinh doanh trực tuyến cho các đơn vị, chuỗi cửa hàng bán lẻ đồng hồ quy mô vừa và nhỏ.

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

Bên cạnh các kết quả đạt được, đồ án ghi nhận một số điểm hạn chế và định hướng phát triển:

  • Hạn chế: Hệ thống mới đáp ứng các luồng xử lý bán hàng và quản trị danh mục cơ bản; chưa tích hợp sâu các cổng thanh toán điện tử trực tuyến phức tạp; Laravel framework có dung lượng và mức tiêu tốn tài nguyên tương đối lớn, có thể ảnh hưởng đến tốc độ tải trang trên các thiết bị di động có cấu hình hạn chế.
  • Hướng phát triển: Tối ưu hóa hiệu năng mã nguồn; cải tiến giao diện người dùng theo hướng trực quan và hiện đại hơn; nghiên cứu tích hợp các giải pháp công nghệ mới để mở rộng tính năng hỗ trợ khách hàng tiếp cận và mua sắm trực tuyến thuận tiện hơn.

Giá trị tham khảo

Báo cáo kết thúc học phần "Xây dựng Website bán đồng hồ E_Watchshop" là tài liệu 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: Cung cấp tài liệu mẫu về cấu trúc một báo cáo đồ án môn học Phát triển mã nguồn mở; quy trình phân tích và thiết kế hệ thống phần mềm hướng đối tượng bằng chuẩn UML (mô tả actor, sơ đồ use case tổng quát/phân rã, đặc tả luồng sự kiện ca sử dụng, biểu đồ hoạt động).
  • Lập trình viên bắt đầu học PHP & Laravel: Cung cấp tài liệu tham khảo thực tế về mô hình tổ chức dữ liệu quan hệ cho một website thương mại điện tử đơn giản và cách thức tổ chức các chức năng CRUD (Create - Read - Update - Delete) trên nền tảng framework PHP.

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

1. Đề tài này do ai thực hiện và thuộc đơn vị đào tạo nào?
Đề tài do nhóm sinh viên Nguyễn Quang Tú và Phạm Ân (Lớp D18PM04, Khóa 2018–2022, Ngành Kỹ thuật phần mềm) thực hiện dưới sự hướng dẫn của giảng viên Nguyễn Hữu Vĩnh tại Viện Kỹ thuật – Công nghệ, Trường Đại học Thủ Dầu Một (hoàn thành vào tháng 7 năm 2021).

2. Công nghệ và framework chính được sử dụng để xây dựng website là gì?
Hệ thống được phát triển bằng ngôn ngữ lập trình PHP kết hợp cùng framework Laravel 6 theo mô hình kiến trúc MVC; hệ quản trị cơ sở dữ liệu là MySQL và môi trường máy chủ thử nghiệm cục bộ là XAMPP.

3. Hệ thống E_Watchshop phân quyền cho những tác nhân nào và bao gồm bao nhiêu use case?
Hệ thống bao gồm 2 tác nhân chính là Admin (Quản trị viên) và Khách hàng (Người dùng), được thiết kế thông qua 8 ca sử dụng: Đăng nhập (UC_1), Quản lý sản phẩm (UC_2), Quản lý thương hiệu (UC_3), Quản lý loại sản phẩm (UC_4), Xem thông tin sản phẩm (UC_5), Đặt hàng (UC_6), Lọc sản phẩm (UC_7) và Quản lý giỏ hàng (UC_8/UC CA01).

4. Khách hàng có thể lọc sản phẩm trên website theo những tiêu chí nào?
Hệ thống cung cấp tính năng lọc sản phẩm (UC_7) theo hai tiêu chí độc lập: lọc theo Loại sản phẩm và lọc theo Thương hiệu của sản phẩm.

5. Cấu hình phần cứng và phần mềm tối thiểu để cài đặt và vận hành hệ thống là gì?
Hệ thống yêu cầu máy tính trang bị bộ vi xử lý Intel Core i3 trở lên, dung lượng RAM tối thiểu 4 GB, chạy trên các hệ điều hành Microsoft Windows (XP, 7, 8, 10, 11) có cài đặt phần mềm XAMPP và MySQL.

Kết luận

Báo cáo kết thúc học phần "Xây dựng Website bán đồng hồ E_Watchshop" đã hoàn thành việc khảo sát, phân tích thiết kế và hiện thực hóa một ứng dụng thương mại điện tử chuyên ngành đồng hồ dựa trên ngôn ngữ PHP, framework Laravel 6 và cơ sở dữ liệu MySQL. Đề tài tài liệu hóa đầy đủ các bước kỹ thuật phần mềm từ thiết kế use case, biểu đồ hoạt động, mô hình thực thể liên kết đến triển khai giao diện quản trị và giao diện bán hàng. Hệ thống đáp ứng tốt các yêu cầu nghiệp vụ bán lẻ trực tuyến cơ bản và là tài liệu tham khảo có giá trị thực tiễn cho sinh viên chuyên ngành Kỹ thuật phần mềm.