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

Báo cáo Đồ án cơ sở 2 với đề tài "Xây dựng Website cung cấp nội thất" (hệ thống mang thương hiệu MakeMyHome) được thực hiện bởi sinh viên Khoa Khoa học máy tính thuộc Trường Đại học Công nghệ Thông tin và Truyền thông Việt – Hàn (Đại học Đà Nẵng), dưới sự hướng dẫn của TS. Nguyễn Hoàng Hải vào tháng 12 năm 2021.

Lý do chọn đề tài xuất phát từ sự bùng nổ của Internet và thương mại điện tử, giúp giảm thiểu các chi phí trung gian trong vận chuyển, giao dịch và hỗ trợ người tiêu dùng tìm kiếm sản phẩm tự động theo nhu cầu. Trong thực tế, nhiều cơ sở kinh doanh vẫn quản lý bán hàng theo phương thức thủ công, ghi chép sổ sách, gây trở ngại cho việc theo dõi tình trạng hàng hóa và xử lý đơn hàng. Việc ứng dụng công nghệ thông tin vào thương mại điện tử ngành nội thất là giải pháp nhằm quảng bá thương hiệu, nâng cao uy tín và chuẩn hóa quy trình xử lý dữ liệu. Đáng chú ý, văn bản báo cáo có sự không nhất quán về mặt nội dung biên tập: tại phần Lời mở đầu, Lời cảm ơn và một số ca sử dụng, tác giả giữ nguyên các đoạn văn mô tả bài toán kinh doanh "giày" và "sách" từ các biểu mẫu đồ án trước đó, song mục tiêu tổng thể và hệ thống cơ sở dữ liệu cốt lõi vẫn tập trung vào sản phẩm nội thất MakeMyHome.

Mục tiêu nghiên cứu và phát triển hệ thống được phân định rõ cho hai nhóm đối tượng:

  1. Đối với khách hàng:
    • Tìm kiếm và lựa chọn sản phẩm nội thất theo nhu cầu.
    • Thực hiện quy trình đặt mua hàng trực tuyến.
    • Theo dõi trạng thái của các đơn hàng đã đặt.
  2. Đối với nhà quản lý:
    • Quản lý danh mục sản phẩm nội thất.
    • Quản lý hệ thống tài khoản quản trị và tài khoản khách hàng.
    • Quản lý chi tiết thông tin, thuộc tính và hình ảnh sản phẩm.

Đối tượng nghiên cứu là hệ thống website thương mại điện tử chuyên cung ứng các mặt hàng nội thất. Phạm vi nghiên cứu về mặt không gian là hệ thống ứng dụng web chạy trên môi trường mạng, tương thích đa trình duyệt và thiết bị; về mặt thời gian và công nghệ, đồ án được khảo sát, thiết kế và nghiệm thu trong học kỳ cuối năm 2021 trên môi trường phát triển máy chủ nội bộ.

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

Khung lý thuyết và mô hình kỹ thuật của đồ án dựa trên quy trình phân tích thiết kế hệ thống hướng đối tượng và kiến trúc phần mềm phân tầng:

  • Kiến trúc phần mềm: Áp dụng mô hình MVC (Model - View - Controller) tích hợp trong PHP Framework Laravel, hỗ trợ đóng gói module, quản lý thư viện qua Composer và kết nối cơ sở dữ liệu quan hệ.
  • Công cụ mô hình hóa: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML - Unified Modeling Language) bao gồm biểu đồ ca sử dụng (Use Case Diagram), biểu đồ hoạt động (Activity Diagram), biểu đồ tuần tự (Sequence Diagram), biểu đồ lớp mức phân tích (gồm các lớp biên Boundary, lớp điều khiển Control và lớp thực thể Entity) cùng mô hình dữ liệu quan hệ.

Phương pháp nghiên cứu thực tế được tác giả triển khai gồm:

  • Phương pháp tổng hợp tài liệu: Nghiên cứu các tài liệu kỹ thuật về thiết kế web tương thích (Web Responsive), tìm hiểu các giải pháp mã nguồn mở và nền tảng bán hàng trực tuyến.
  • Phương pháp phân tích và thiết kế hệ thống: Nhận diện tác nhân, phân rã use case, đặc tả kịch bản sự kiện chính/phụ và mô hình hóa hành vi hệ thống.
  • Phương pháp thực nghiệm phần mềm: Cài đặt, cấu hình hệ thống trên môi trường máy chủ cục bộ bằng ngăn xếp công nghệ mã nguồn mở.

Nguồn dữ liệu của đồ án là dữ liệu mẫu mô phỏng danh mục nội thất, thương hiệu, hệ thống phân cấp địa giới hành chính ba cấp của Việt Nam (tỉnh/thành phố, quận/huyện, phường/xã), thông tin tài khoản người dùng, mã khuyến mãi và phản hồi đánh giá sản phẩm.

Thiết kế và triển khai

Hệ thống được thiết kế và triển khai trên máy tính cục bộ với các công cụ lập trình và nền tảng công nghệ mã nguồn mở được nêu trong văn bản:

  • Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio (phiên bản Visual Studio Community).
  • Công nghệ giao diện (Frontend): Ngôn ngữ đánh dấu siêu văn bản HTML, ngôn ngữ định kiểu CSS và thư viện Bootstrap hỗ trợ giao diện đáp ứng đa màn hình.
  • Nền tảng phía máy chủ (Backend): Ngôn ngữ kịch bản PHP (Hypertext Preprocessor) kết hợp cùng Laravel Framework chạy trên nền tảng kiến trúc MVC.
  • Hệ quản trị cơ sở dữ liệu: MySQL sử dụng ngôn ngữ truy vấn có cấu trúc SQL.
  • Bộ máy chủ web tích hợp: Bộ công cụ XAMPP (bao gồm máy chủ Apache, PHP, MySQL, phpMyAdmin, FTP Server và Mail Server).

Cơ sở dữ liệu của hệ thống được tổ chức thành 17 bảng dữ liệu quan hệ, thể hiện qua mô hình dữ liệu (ERD) liên kết logic giữa các thực thể:

STT Tên bảng dữ liệu Chức năng lưu trữ trong hệ thống
1 Bảng tài khoản khách hàng Lưu trữ thông tin định danh, tài khoản đăng nhập của khách hàng
2 Bảng danh mục sản phẩm Phân loại các nhóm hàng nội thất trên hệ thống
3 Bảng thương hiệu sản phẩm Lưu trữ thông tin về các hãng, thương hiệu sản xuất nội thất
4 Bảng sản phẩm Lưu trữ chi tiết thông tin, giá bán, mô tả của từng mặt hàng
5 Bảng thuộc tính bình luận sản phẩm Lưu trữ nội dung nhận xét, đánh giá của người dùng về sản phẩm
6 Bảng thư viện ảnh sản phẩm Lưu trữ đường dẫn bộ sưu tập hình ảnh chi tiết cho từng sản phẩm
7 Bảng tài khoản admin Lưu trữ thông tin đăng nhập và phân quyền của quản trị viên
8 Bảng danh mục bài viết Phân loại các chủ đề tin tức, bài viết trên website
9 Bảng thông tin bài viết Lưu trữ tiêu đề, nội dung và hình ảnh bài viết tin tức
10 Bảng thông tin mã giảm giá Quản lý các voucher, mã chiết khấu khuyến mãi cho đơn hàng
11 Bảng thông tin slider Quản lý hình ảnh trình chiếu banner trên giao diện trang chủ
12 Bảng thông tin đơn hàng Quản lý thông tin tổng quát của các giao dịch mua hàng
13 Bảng thông tin chi tiết đơn hàng Lưu trữ danh sách sản phẩm, số lượng và đơn giá theo từng đơn
14 Bảng thông tin thống kê Lưu trữ số liệu tổng hợp phục vụ báo cáo doanh thu, sản phẩm
15 Bảng thông tin xã, phường, thị trấn Dữ liệu địa giới hành chính phục vụ giao nhận hàng hóa
16 Bảng thông tin quận, huyện Dữ liệu cấp huyện phục vụ tra cứu địa chỉ nhận hàng
17 Bảng thông tin tỉnh, thành phố Dữ liệu cấp tỉnh phục vụ quản lý tuyến giao nhận

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

Chương 1: Tổng quan

Chương này thiết lập cơ sở hình thành đề tài, phân tích bài toán thực tế và xác lập các yêu cầu hệ thống:

  • Luận giải sự cần thiết của website bán lẻ trong việc mở rộng kênh phân phối, hỗ trợ quản lý tập trung đơn hàng và sản phẩm thông qua bảng điều khiển điện tử.
  • Thiết lập yêu cầu chức năng bao gồm 7 nhóm chính: tìm kiếm sản phẩm; đăng ký/đăng nhập thành viên; xem và cập nhật thông tin cá nhân; thêm vào giỏ hàng; mua hàng; quản lý thông tin (thành viên, danh mục); thống kê báo cáo.
  • Thiết lập yêu cầu phi chức năng: giao diện trực quan, màu sắc hài hòa; tương thích đa trình duyệt; an toàn dữ liệu; tốc độ phản hồi nhanh; dễ triển khai và phân chia bố cục chuyên mục rõ ràng.

Chương 2: Phân tích thiết kế hệ thống và tạo cơ sở dữ liệu

Chương 2 chiếm dung lượng lớn nhất trong báo cáo, tập trung mô hình hóa chi tiết nghiệp vụ và cấu trúc dữ liệu:

  • Xác định 4 tác nhân tương tác: Khách hàng (người dùng vãng lai), Thành viên (người dùng có tài khoản), Người quản trị (quản lý hệ sinh thái web) và Hệ thống ngân hàng (trung gian xử lý thanh toán thẻ).
  • Đặc tả kịch bản tương tác (luồng sự kiện chính và sự kiện phụ) cho 8 ca sử dụng:
    • Ca sử dụng Tìm kiếm sản phẩm: Khách hàng nhập từ khóa tìm kiếm (tên, thương hiệu, kiểu dáng, kích cỡ), hệ thống lọc và trả về danh sách kết quả phù hợp.
    • Ca sử dụng Đăng ký thành viên: Tiếp nhận thông tin cá nhân, kiểm tra tính hợp lệ và ghi nhận tài khoản mới vào hệ thống.
    • Ca sử dụng Đăng nhập hệ thống: Xác thực định danh người dùng qua tên đăng nhập và mật khẩu; cung cấp chức năng khôi phục mật khẩu khi có lỗi.
    • Ca sử dụng Mua hàng: Xử lý giỏ hàng, xác nhận địa chỉ giao nhận, xác thực thanh toán qua thẻ ngân hàng và chuyển trạng thái đơn hàng đến quản trị viên phê duyệt.
    • Ca sử dụng Quản lý thành viên: Cho phép quản trị viên xem, cập nhật danh sách khách hàng (điểm tích lũy) và nhân viên (lịch làm việc, chấm công).
    • Ca sử dụng Quản lý sản phẩm: Kiểm tra, thêm mới, sửa đổi hoặc xóa thông tin sản phẩm trên website.
    • Ca sử dụng Quản lý đơn đặt hàng: Tiếp nhận đơn, kiểm tra trạng thái thanh toán và cập nhật quá trình vận chuyển.
    • Ca sử dụng Thống kê: Tự động tổng hợp số liệu kinh doanh, lượng sản phẩm tiêu thụ và người dùng đăng ký để xuất báo cáo.
  • Hệ thống hóa hành vi bằng 34 sơ đồ kỹ thuật UML (13 biểu đồ hoạt động, 11 biểu đồ ca sử dụng, 3 biểu đồ lớp mức phân tích và 7 biểu đồ tuần tự).
  • Thiết kế chi tiết cấu trúc bảng dữ liệu cho 17 thực thể và thiết lập sơ đồ quan hệ dữ liệu liên bảng.

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

Chương 3 trình bày các công cụ công nghệ và cấu trúc giao diện thực tế của hệ thống:

  • Giới thiệu đặc tính kỹ thuật của Visual Studio, HTML, CSS, ngôn ngữ lập trình PHP, Laravel Framework, hệ quản trị MySQL và phần mềm XAMPP.
  • Phân rã cấu trúc hệ thống thành 2 phân hệ rõ rệt qua sơ đồ chức năng:
    • Phân hệ giao diện người dùng: Gồm 6 giao diện cơ bản (Trang đăng nhập/đăng ký, Trang chủ có banner và chân trang, Trang sản phẩm mới, Trang chi tiết sản phẩm, Trang kết quả tìm kiếm, Trang giỏ hàng và thanh toán).
    • Phân hệ quản trị (Admin): Gồm 12 màn hình điều hành nghiệp vụ (Đăng nhập quản trị, Quản lý danh mục, Quản lý thương hiệu, Quản lý sản phẩm, Quản lý đơn đặt hàng, Quản lý mã giảm giá, Kết quả thống kê, Quản lý đơn hàng, Quản lý bình luận, Quản lý bài viết, Quản lý banner, Quản lý thông tin cửa hàng).

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

Trong mục lục tổng quát, đồ án thiết lập Chương 4 với tiêu đề "KẾT LUẬN". Tuy nhiên, trong phần nội dung chi tiết của tệp văn bản cung cấp, tài liệu kết thúc ở trang số 48 sau phần mô tả giao diện đăng nhập của quản trị viên và chưa triển khai nội dung chi tiết của chương này.

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

Đồ án ghi nhận các kết quả cụ thể đã hoàn thành theo hồ sơ thiết kế kỹ thuật:

  • Hệ thống hóa đầy đủ tài liệu phân tích thiết kế với 34 biểu đồ hình vẽ UML, bao gồm đầy đủ các góc nhìn tĩnh (lớp phân tích mức boundary, control, entity) và góc nhìn động (biểu đồ hoạt động và biểu đồ tuần tự cho từng tác vụ).
  • Thiết kế hoàn chỉnh cấu trúc cơ sở dữ liệu quan hệ gồm 17 bảng chuyên biệt, hỗ trợ quản lý chi tiết từ thông tin sản phẩm, bài viết truyền thông, mã giảm giá đến danh mục hành chính 3 cấp (xã, huyện, tỉnh) phục vụ giao nhận.
  • Xây dựng danh mục màn hình chức năng rõ ràng cho cả hai phân hệ: 6 giao diện phía người dùng và 12 giao diện phía người quản trị.

Về mặt giải pháp, tác giả đã đề xuất tự động hóa quy trình quản lý bán hàng thay thế cho phương pháp sổ sách truyền thống; đồng thời ứng dụng framework Laravel theo kiến trúc MVC để chuẩn hóa quy trình phát triển website thương mại điện tử.

Đóng góp tự nêu của đồ án là xây dựng được một giải pháp phần mềm hoàn chỉnh ở mức độ đồ án môn học, tích hợp đầy đủ các chức năng mua sắm trực tuyến, tra cứu đơn hàng và quản lý danh mục sản phẩm phục vụ nhu cầu kinh doanh nội thất.

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

Hạn chế của văn bản và hệ thống được ghi nhận như sau:

  • Văn bản báo cáo bị ngắt quãng tại trang 48, thiếu phần nội dung chi tiết của Chương 4 (Kết luận) và danh mục tài liệu tham khảo.
  • Tồn tại nhiều điểm thiếu nhất quán về mặt biên tập: văn bản đồ án xây dựng website nội thất nhưng ở một số đoạn thuộc Lời cảm ơn, mô tả bài toán, ca sử dụng và mô tả trang tìm kiếm vẫn giữ nguyên thuật ngữ kinh doanh "giày" và "sách".
  • Ca sử dụng quản lý thành viên có đề cập đến chức năng quản lý lịch làm việc và chấm lương cho nhân viên, tuy nhiên trong cấu trúc 17 bảng cơ sở dữ liệu và danh sách giao diện quản trị không có bảng hoặc màn hình tương ứng cho nghiệp vụ quản lý nhân sự này.
  • Quy trình thanh toán qua ngân hàng mới dừng lại ở bước mô hình hóa tác nhân và giao diện xác nhận, chưa tích hợp cổng thanh toán trực tuyến thực tế.

Hướng nghiên cứu và phát triển tiếp theo (dựa trên phạm vi đồ án):

  • Chuẩn hóa toàn bộ nội dung tài liệu và đồng bộ hóa các thuật ngữ nghiệp vụ trên toàn hệ thống.
  • Hiện thực hóa việc kết nối cổng thanh toán điện tử thực tế và bổ sung cơ chế xác thực an toàn nhiều lớp cho người dùng.
  • Hoàn thiện module quản trị nhân sự và phân quyền chi tiết cho các cấp quản lý.

Giá trị tham khảo

Đồ án là tài liệu tham khảo phù hợp cho:

  • Sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm hoặc Hệ thống thông tin đang thực hiện Đồ án cơ sở, Đồ án môn học hoặc Khóa luận tốt nghiệp về xây dựng hệ thống thương mại điện tử bằng PHP và Laravel Framework.
  • Người học cần tham khảo quy trình phân tích thiết kế hệ thống theo chuẩn UML, đặc biệt là cách thức xây dựng đồng bộ từ biểu đồ ca sử dụng, biểu đồ hoạt động đến biểu đồ tuần tự và biểu đồ lớp phân tích.
  • Các nhà phát triển muốn tham khảo lược đồ cơ sở dữ liệu quan hệ cho website bán hàng với đầy đủ các bảng chức năng mở rộng như thư viện ảnh, mã giảm giá, bài viết tin tức và quản lý địa giới hành chính phục vụ vận chuyển.

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

1. Hệ thống website MakeMyHome xác định những tác nhân (actors) nào và vai trò của họ là gì?
Hệ thống xác định 4 tác nhân chính:

  • Khách hàng: Người ghé thăm website, xem thông tin, tìm kiếm và đặt mua sản phẩm.
  • Thành viên: Khách hàng đã đăng ký và đăng nhập, có thêm quyền cập nhật thông tin cá nhân và quản lý giỏ hàng.
  • Người quản trị (Admin): Điều hành, theo dõi hệ thống, quản lý sản phẩm, danh mục, đơn hàng, mã giảm giá, banner và thống kê báo cáo.
  • Hệ thống ngân hàng: Đóng vai trò trung gian xác nhận thông tin thẻ và tài khoản của khách hàng khi thực hiện giao dịch thanh toán.

2. Cơ sở dữ liệu của đồ án gồm bao nhiêu bảng và có các bảng đặc thù nào phục vụ vận chuyển?
Cơ sở dữ liệu gồm 17 bảng. Để phục vụ việc tính toán địa điểm và giao hàng chính xác, tác giả đã thiết kế riêng 3 bảng dữ liệu phân cấp hành chính: Bảng thông tin xã, phường, thị trấn (bảng 2.15); Bảng thông tin quận, huyện (bảng 2.16); và Bảng thông tin tỉnh, thành phố (bảng 2.17).

3. Ngăn xếp công nghệ (tech stack) được sử dụng để xây dựng website bao gồm những gì?
Hệ thống sử dụng môi trường phát triển Visual Studio (Community); giao diện lập trình bằng HTML, CSS, Framework Bootstrap; xử lý nghiệp vụ phía máy chủ bằng ngôn ngữ PHP trên nền tảng Laravel Framework (mô hình MVC); lưu trữ dữ liệu bằng hệ quản trị cơ sở dữ liệu quan hệ MySQL; môi trường máy chủ cục bộ vận hành qua gói tích hợp XAMPP.

4. Phân hệ quản trị (Admin) có bao nhiêu giao diện chức năng?
Phân hệ quản trị bao gồm 12 giao diện: Trang đăng nhập, Trang quản lý danh mục, Trang quản lý thương hiệu, Trang quản lý sản phẩm, Trang quản lý đơn đặt hàng, Trang quản lý mã giảm giá, Trang kết quả thống kê, Trang quản lý đơn hàng, Trang quản lý bình luận, Trang quản lý bài viết, Trang quản lý banner và Trang quản lý thông tin cửa hàng.

5. Trong văn bản đồ án có những điểm bất cập hoặc sai sót biên tập nào đáng chú ý?
Mặc dù đề tài chính là "Website cung cấp nội thất", văn bản báo cáo tồn tại nhiều vị trí sao chép biểu mẫu chưa được chỉnh sửa: Lời cảm ơn và mô tả bài toán nhắc tới "bán giày"; kịch bản ca sử dụng tìm kiếm mô tả "tìm kiếm theo tên giày"; danh sách giao diện quản trị sản phẩm ghi "quản lý tất cả các chi tiết của giày"; và mô tả trang tìm kiếm người dùng lại nhắc đến "các sách tương ứng". Ngoài ra, văn bản kết thúc ở trang 48 mà chưa có nội dung hoàn chỉnh của Chương 4.

Kết luận

Báo cáo Đồ án cơ sở 2 "Xây dựng Website cung cấp nội thất MakeMyHome" của sinh viên Trường Đại học Công nghệ Thông tin và Truyền thông Việt – Hàn đã hoàn thành việc mô hình hóa phân tích thiết kế hệ thống theo chuẩn UML và thiết kế cơ sở dữ liệu gồm 17 bảng bằng Laravel và MySQL. Hệ thống phân định rõ hai phân hệ với 6 màn hình giao diện người dùng và 12 màn hình quản trị nghiệp vụ. Mặc dù văn bản còn tồn tại các lỗi biên tập sao chép lẫn lộn thuật ngữ và bị gián đoạn trước khi hoàn thiện nội dung chi tiết của Chương 4, tài liệu vẫn phản ánh đầy đủ cấu trúc kỹ thuật và quy trình thực hiện một đồ án xây dựng ứng dụng web thương mại điện tử ở mức độ cơ sở.