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

Đồ án CDIO (mã học phần SE 397) với đề tài "Xây Dựng Website Bán Thiết Bị Điện Tử" được thực hiện bởi nhóm sinh viên Khoa Công nghệ Thông tin – Trường Đại học Duy Tân trong giai đoạn từ ngày 01/04/2024 đến ngày 23/06/2024, dưới sự hướng dẫn của ThS. Nguyễn Quốc Long và ThS. Nguyễn Phúc Minh Tú.

Lý do chọn đề tài

Trong bối cảnh kinh tế - xã hội phát triển, nhu cầu mua sắm trực tuyến của người dân ngày càng gia tăng nhằm tiết kiệm thời gian trong đời sống sinh hoạt bận rộn. Việc ứng dụng công nghệ thông tin vào hoạt động kinh doanh, đặc biệt là thương mại điện tử, đã trở thành xu thế tất yếu giúp các doanh nghiệp tối ưu hóa lợi nhuận và phục vụ người tiêu dùng thuận tiện hơn.

Khi xem xét hai nền tảng công nghệ phổ biến để triển khai hệ thống bán hàng trực tuyến là ứng dụng di động (Mobile App) và trang web (Website), nhóm tác giả đã chỉ ra các điểm khác biệt thực tế:

  • Hạn chế của ứng dụng di động: Người dùng bắt buộc phải tải và cài đặt ứng dụng trên điện thoại thông minh; khi có bản cập nhật mới, người dùng phải tải lại để sử dụng tính năng mới. Về phía phát triển, lập trình viên phải xử lý giao diện phức tạp để tránh lỗi hiển thị, vỡ khung hình trên nhiều dòng máy và hệ điều hành khác nhau.
  • Ưu thế của website: Người dùng truy cập trực tiếp thông qua trình duyệt web trên máy tính, điện thoại hoặc bất kỳ thiết bị kết nối Internet nào; hệ thống tự động cập nhật ngay khi tải lại trang (reload) mà không làm gián đoạn trải nghiệm. Giao diện web chạy đa nền tảng (máy tính, máy tính bảng, điện thoại), có tính ổn định cao trên các trình duyệt tiêu chuẩn và phù hợp cho việc giới thiệu, kinh doanh sản phẩm.

Từ các phân tích trên, đề tài được lựa chọn nhằm xây dựng một hệ thống website bán thiết bị điện tử hoàn chỉnh, hỗ trợ hoạt động kinh doanh linh hoạt và đáp ứng nhu cầu mua sắm mọi lúc, mọi nơi của khách hàng.

Mục tiêu và nhiệm vụ nghiên cứu

Văn bản xác định các mục tiêu và nhiệm vụ cụ thể sau:

  1. Nghiên cứu và nắm vững quy trình phân tích, thiết kế và xây dựng website bán thiết bị điện tử.
  2. Tìm hiểu cơ sở lý thuyết về ngôn ngữ lập trình, hệ quản trị cơ sở dữ liệu MySQL và Laravel framework.
  3. Ứng dụng kiến thức chuyên ngành để thiết kế và xây dựng website thương mại điện tử với hai phân hệ chính:
    • Phân hệ Quản trị hệ thống (Backend/Admin): Thực hiện quản lý sản phẩm, danh mục, nhà sản xuất, thuộc tính sản phẩm, từ khóa, bài viết, tài khoản người dùng, đơn hàng, sự kiện, slide, trang tĩnh và xem báo cáo thống kê.
    • Phân hệ Khách hàng (Frontend): Cho phép xem chi tiết sản phẩm, tìm kiếm, đặt hàng, thanh toán, gửi đánh giá, bình luận, gửi thông tin liên hệ, đăng ký và quản lý tài khoản cá nhân.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu: Quy trình xây dựng hệ thống website bán thiết bị điện tử.
  • Quy mô và phạm vi không gian: Hệ thống phục vụ cho các cửa hàng bán hàng điện tử, hoạt động trên phạm vi toàn quốc và cho phép nhiều khách hàng truy cập đồng thời.
  • Thời gian thực hiện: Từ ngày 01/04/2024 đến ngày 23/06/2024.

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

Khung lý thuyết và công nghệ sử dụng

Hệ thống được phát triển dựa trên các nền tảng công nghệ và lý thuyết phần mềm:

  • Kiến trúc phần mềm: Mô hình MVC (Model - View - Controller).
  • Ngôn ngữ và nền tảng phát triển: Ngôn ngữ lập trình PHP, kết hợp mã nguồn mở Laravel framework; các công nghệ giao diện HTML, CSS, JavaScript.
  • Hệ quản trị cơ sở dữ liệu: MySQL phục vụ lưu trữ dữ liệu quan hệ.
  • Công cụ thiết kế: Phần mềm Mockup hỗ trợ xây dựng bản mẫu giao diện (Prototype).
  • Tài liệu tham khảo chuyên ngành: Phân tích và thiết kế hệ thống thông tin (Thạc Bình Cường, NXB Khoa học và Kỹ thuật, 2002); Giáo trình nhập môn PHP và MySQL – Xây dựng ứng dụng web (Phạm Hữu Khang, Hoàng Đức Hải, NXB Phương Đông, 2005).

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

Nhóm thực hiện kết hợp ba phương pháp nghiên cứu chính:

  1. Phương pháp nghiên cứu tài liệu: Thu thập, tham khảo các tài liệu chuyên ngành về phân tích hệ thống, lập trình web, tài liệu tham khảo trên Internet, các khóa luận/đồ án tốt nghiệp của sinh viên khóa trước và sách báo liên quan.
  2. Phương pháp nghiên cứu thực tiễn:
    • Quan sát quy trình quản lý thực tế tại các cửa hàng bán thiết bị điện tử.
    • Lấy thông tin, phỏng vấn trực tiếp chủ cửa hàng, nhân viên bán hàng và người mua hàng.
    • Khảo sát, trải nghiệm và đánh giá ưu - nhược điểm của các website thương mại điện tử đang vận hành trên thị trường: mediamart.vn, pico.vn và nền tảng bán hàng trực tuyến www.com.
  3. Phương pháp tổng hợp và phân tích số liệu: Tổng hợp dữ liệu từ phỏng vấn và khảo sát hiện trạng; thống kê số liệu yêu cầu người dùng; phân tích các chức năng cần thiết để đưa vào thiết kế hệ thống thực tế.

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

Phần Mở đầu: Xây dựng và đánh giá ý tưởng sản phẩm

Trước khi thống nhất đề tài chung, từng thành viên trong nhóm 2 đã đề xuất và tự đánh giá một ý tưởng sản phẩm cá nhân dựa trên kiến thức tích lũy:

Thành viên Chuyên ngành Tên ý tưởng cá nhân Ước tính hưởng lợi / Mua sản phẩm Thời gian phát triển dự kiến
Nguyễn Đình Nhật Minh Công nghệ phần mềm Website livestream đa nền tảng 2.000 người / 100.000 người 8 tháng
Hồ Minh Đức Công nghệ phần mềm Website thư viện (kế thừa quản lý shop thời trang) 50 người / 50 người 1 năm
Huỳnh Nguyễn Văn Duy Công nghệ phần mềm Website bán thiết bị điện tử 3.000 người / 220 người 1 năm
Hồ Minh Tùng Công nghệ phần mềm Website du lịch và đặt phòng 3.200 người / 500 người 6 tháng
Hồng Quang Công nghệ phần mềm Website tìm kiếm việc làm 2.000 người / 300 người 6 tháng

Sau quá trình thảo luận và chấm điểm đánh giá chung về tính khả thi, độ khó, cơ sở kiến thức đã học (Phân tích thiết kế hệ thống, Phân tích thiết kế hướng đối tượng, Cơ sở dữ liệu, Lập trình web), cả nhóm đã thống nhất lựa chọn đề tài "Xây dựng Website bán thiết bị điện tử" với thời gian phát triển rút gọn là 6 tháng (thực hiện đồ án trong gần 3 tháng).

Phần II: Phân tích và thiết kế hệ thống (Design)

Phần này tập trung khảo sát hiện trạng, thu thập yêu cầu và mô hình hóa hệ thống bằng chuẩn UML:

1. Khảo sát hiện trạng các website cùng ngành

  • mediamart.vn: Tốc độ tải nhanh, hiển thị đầy đủ hình ảnh/mô tả sản phẩm, hỗ trợ trực tuyến thuận tiện; định hướng mua hàng qua Fanpage Facebook.
  • pico.vn: Có thanh toán trực tuyến, đầy đủ quảng cáo; tuy nhiên giao diện cũ, nhiều hình ảnh thừa, không có gợi ý sản phẩm, bộ lọc giá chưa chuẩn xác và chức năng đăng nhập/đăng ký tại thời điểm khảo sát bị lỗi.
  • www.com: Giao diện trực quan, bố cục rõ ràng, có flash sale, hiển thị số lượng bán và đánh giá; nhưng thiếu tính năng quản lý đơn hàng, không chọn được số lượng mua linh hoạt và thông tin chi tiết còn hạn chế.

2. Đặc tả yêu cầu phi chức năng

  • Giao diện: Thiết kế thân thiện, trực quan, dễ thao tác.
  • Tốc độ xử lý: Xử lý dữ liệu nhanh chóng, chính xác.
  • Bảo mật: Đảm bảo an toàn thông tin tài khoản và dữ liệu giao dịch.
  • Tính tương thích: Hoạt động ổn định trên các trình duyệt phổ biến hiện nay.

3. Mô hình hóa chức năng và hành vi (UML)

  • Tác nhân hệ thống: Gồm 2 tác nhân chính là Admin (Quản trị viên) và Khách hàng.
  • Hệ thống Use Case: Xây dựng biểu đồ Use Case tổng quát và 20 đặc tả Use Case chi tiết gồm: Đăng nhập, Quản lý danh mục sản phẩm, Quản lý sản phẩm, Quản lý nhà sản xuất, Quản lý thuộc tính sản phẩm, Quản lý từ khóa, Quản lý danh mục bài viết, Quản lý bài viết, Quản lý đơn hàng, Quản lý người dùng, Quản lý đánh giá, Quản lý liên hệ, Quản lý slide, Quản lý sự kiện, Quản lý trang tĩnh, Quản lý thống kê, Chức năng của khách hàng.
  • Biểu đồ tương tác: Xây dựng 14 biểu đồ tuần tự (Sequence Diagram) và 18 biểu đồ hoạt động (Activity Diagram) thể hiện chi tiết luồng xử lý từ đăng ký, đăng nhập, thêm/sửa/xóa sản phẩm, duyệt đơn hàng đến gửi đánh giá và quản lý nhân viên.

Phần III: Thực hiện (Implementation)

Nội dung chương mô tả chi tiết hai khâu then chốt: thiết kế cơ sở dữ liệu quan hệ và thiết kế giao diện mẫu (Prototype).

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

Hệ thống thiết kế 13 bảng dữ liệu nhằm đảm bảo toàn vẹn thông tin và quan hệ khóa ngoại chặt chẽ:

  1. chi_tiet_don_hang: id (PK), id_khach_hang, id_san_pham, so_luong, don_gia, thanh_tien, id_hoa_don, ghi_chu, is_giao_kho.
  2. chi_tiet_phan_quyen: id (PK), id_quyen, id_chuc_nang.
  3. chuc_nang: id (PK), ten_chuc_nang, id_chuc_nang.
  4. dai_ly: id (PK), ho_va_ten, email, so_dien_thoai, ngay_sinh, password, ten_doanh_nghiep, ma_so_thue, dia_chi_kinh_doanh, is_active, hash_reset, hash_active, is_block.
  5. danh_muc: id (PK), ten_danh_muc, slug_danh_muc, tinh_trang, id_danh_muc_cha, hinh_anh.
  6. dia_chi: id (PK), id_khach_hang, ten_nguoi_nhan, so_dien_thoai, dia_chi.
  7. don_hang: id (PK), ma_don_hang, tong_tien_thanh_toan, is_thanh_toan, tinh_trang_don_hang, ten_nguoi_nhan, so_dien_thoai, dia_chi_giao_hang, id_khach_hang (FK liên kết bảng khach_hang).
  8. khach_hang: id (PK), email, so_dien_thoai, ho_va_ten, password.
  9. nhan_vien: id (PK), email, password, ho_va_ten, so_dien_thoai, dia_chi, tinh_trang.
  10. nhap_kho: id (PK), id_san_pham (FK liên kết san_pham), id_dai_ly (FK liên kết dai_ly), so_luong, don_gia, trang_thai, ghi_chu.
  11. phan_quyen: id (PK), ten_quyen.
  12. phieu_khuyen_mai: id (PK), ma_khuyen_mai, so_tien_giam, phan_tram_giam, ngay_bat_dau, ngay_ket_thuc, tinh_trang.
  13. san_pham: id (PK), ten_san_pham, slug_san_pham, hinh_anh, tinh_trang, mo_ta_ngan, mo_ta_chi_tiet, gia_ban, gia_khuyen_mai, id_danh_muc, id_dai_ly.

2. Thiết kế Prototype (Bản mẫu giao diện)

Sử dụng công cụ Mockup để xây dựng cấu trúc điều hướng và hành vi người dùng trên từng màn hình: Đăng nhập, Bán hàng (hiển thị slide, flash sale, sản phẩm mới, lọc danh mục điện thoại/laptop/tablet), Nhập kho, Thống kê nhập kho, Quản lý khách hàng, Quản lý nhân viên, Quản lý đại lý, Quản lý danh mục, Quản lý sản phẩm, Quản lý phân quyền và Đổi mật khẩu.

Phần IV: Vận hành và kiểm thử

Nhóm triển khai website trên môi trường cục bộ và kiểm thử các phân hệ chức năng:

  • Phân hệ Client (Khách hàng): Kiểm thử màn hình đăng nhập, đăng ký, trang chủ (slide banner, sản phẩm flash sale, sản phẩm mới, top sản phẩm có số lượng nhiều nhất), trang danh mục theo thương hiệu (iPhone, MacBook, Lenovo, Samsung, Oppo), trang chi tiết sản phẩm hiển thị thông số kỹ thuật (CPU M3, GPU, RAM, màn hình Retina), giỏ hàng, xác nhận mua hàng và quản lý sổ địa chỉ nhận hàng.
  • Phân hệ Admin (Quản trị): Kiểm thử bảng điều khiển Dashboard, quản lý danh sách nhân viên, quản lý danh mục và tạo slug tự động, phân quyền truy cập theo từng chức năng, quản lý đơn hàng (xem chi tiết, cập nhật trạng thái thanh toán, xóa đơn hàng), quản lý đại lý và quy trình nhập kho.

Thiết kế và triển khai

Kiến trúc phân tầng và công nghệ

Hệ thống được tổ chức theo mô hình phân tách chức năng:

[ Frontend: Trình duyệt Web (HTML5 / CSS3 / JavaScript) ]
                    (HTTP/HTTPS Request)
[ Backend: Laravel Framework / PHP (Routing, Controller, Model) ]
                    (Query SQL / ORM)
         [ Cơ sở dữ liệu: MySQL Database Server ]

Cơ chế phân quyền và xử lý dữ liệu

  • Phân quyền người dùng: Hệ thống chia tách rõ rệt giữa quyền hạn Quản trị viên (Admin), Đại lý và Khách hàng. Admin có quyền cấp và hủy quyền hạn chi tiết trên từng tác vụ (như Lấy danh sách, Tạo mới, Kiểm tra slug, Đổi trạng thái, Xóa danh mục).
  • Quy trình xử lý đơn hàng: Tiếp nhận đơn hàng từ giỏ hàng phía khách hàng, tạo mã đơn tự động (ma_don_hang), lưu trữ thông tin giao hàng tại bảng don_hang và chi tiết từng sản phẩm tại chi_tiet_don_hang. Trạng thái thanh toán (is_thanh_toan) và tình trạng giao hàng được quản lý tập trung tại trang quản trị.

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

Kết quả đạt được

  1. Hoàn thành hệ thống website bán thiết bị điện tử với đầy đủ quy trình nghiệp vụ bán hàng và quản lý cơ bản.
  2. Xây dựng giao diện trực quan, phân chia rõ ràng danh mục sản phẩm điện tử (Điện thoại di động, Laptop, Máy tính bảng, Máy tính bàn).
  3. Thiết kế hoàn chỉnh sơ đồ cơ sở dữ liệu gồm 13 bảng đáp ứng liên kết nghiệp vụ từ nhập kho, quản lý đại lý, phân quyền, khuyến mãi đến xử lý hóa đơn.
  4. Triển khai vận hành thử nghiệm trên môi trường localhost với các ca kiểm thử chức năng cho cả hai phân hệ Backend và Frontend.

Phân công trách nhiệm trong nhóm thực hiện

Nhóm 2 đã phân chia vai trò cụ thể để đảm bảo tiến độ từ 01/04/2024 đến 23/06/2024:

STT Họ và tên Mã sinh viên Vai trò Trách nhiệm chính
01 Huỳnh Nguyễn Văn Duy 27211037706 Trưởng nhóm Quản lý tiến độ, Code, Tester
02 Nguyễn Đình Nhật Minh 27211248358 Thành viên Thiết kế, Code, Tester
03 Hồ Minh Đức 28211148536 Thành viên Thiết kế, Code, Tester
04 Hồ Minh Tùng 27211203031 Thành viên Thiết kế, Code, Tester
05 Hồng Quang 27211148745 Thành viên Thiết kế, Code, Tester

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

Hạn chế còn tồn tại

Văn bản đồ án thẳng thắn chỉ ra các điểm thiếu sót trong phiên bản hiện tại:

  • Các chức năng trên hệ thống còn ở mức cơ bản, chưa tích hợp tính năng chia sẻ thông tin sản phẩm lên các mạng xã hội.
  • Website chưa hỗ trợ cổng thanh toán trực tuyến (chỉ mới dừng lại ở việc lưu trạng thái đơn hàng và thanh toán cơ bản).
  • Tốc độ xử lý của hệ thống chưa thật sự tối ưu, còn phát sinh một số lỗi trong quá trình vận hành thử nghiệm.

Hướng phát triển đề xuất

  • Nghiên cứu, thiết kế và tích hợp cổng thanh toán trực tuyến cho khách hàng.
  • Bổ sung tính năng chia sẻ sản phẩm đa kênh.
  • Nâng cấp hệ thống để hỗ trợ giao diện đa ngôn ngữ, mở rộng quy mô phục vụ.

Giá trị tham khảo

Đồ án là tài liệu tham khảo thiết thực cho:

  • Sinh viên ngành Công nghệ phần mềm và Công nghệ thông tin: Tham khảo mẫu báo cáo đồ án CDIO chuẩn quy trình, từ khâu khảo sát thực tế, đánh giá ý tưởng cá nhân, thiết kế ca sử dụng (Use Case), vẽ biểu đồ tương tác UML đến thiết kế cơ sở dữ liệu MySQL.
  • Người phát triển ứng dụng thương mại điện tử cơ bản: Tham khảo cấu trúc cơ sở dữ liệu bán lẻ thiết bị điện tử, giải pháp phân quyền chi tiết theo chức năng và cách thức xây dựng prototype màn hình quản trị bằng Mockup.

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

1. Đề tài đồ án này do ai thực hiện và thuộc học phần nào tại trường Đại học Duy Tân?

Đề tài do Nhóm 2 gồm 5 sinh viên: Huỳnh Nguyễn Văn Duy (Trưởng nhóm), Nguyễn Đình Nhật Minh, Hồ Minh Đức, Hồ Minh Tùng và Hồng Quang (Khoa Công nghệ Thông tin, Đại học Duy Tân) thực hiện trong học phần Đồ án CDIO (mã học phần SE 397), dưới sự hướng dẫn của ThS. Nguyễn Quốc Long và ThS. Nguyễn Phúc Minh Tú.

2. Lý do nhóm tác giả chọn phát triển website thay vì ứng dụng di động là gì?

Nhóm tác giả nhận định ứng dụng di động đòi hỏi người dùng phải tải về, cài đặt lại mỗi khi có phiên bản mới và phức tạp trong việc tinh chỉnh giao diện trên nhiều thiết bị khác nhau. Ngược lại, website chạy đa nền tảng thông qua trình duyệt, tự động cập nhật ngay khi tải lại trang mà không ảnh hưởng tới trải nghiệm người dùng, giúp tối ưu chi phí vận hành và phù hợp hơn cho mô hình kinh doanh trực tuyến.

3. Cơ sở dữ liệu của hệ thống gồm bao nhiêu bảng và có những bảng thực thể chính nào?

Cơ sở dữ liệu của hệ thống gồm 13 bảng, bao gồm: chi_tiet_don_hang, chi_tiet_phan_quyen, chuc_nang, dai_ly, danh_muc, dia_chi, don_hang, khach_hang, nhan_vien, nhap_kho, phan_quyen, phieu_khuyen_mai và san_pham.

4. Hệ thống đã hỗ trợ thanh toán trực tuyến qua cổng thanh toán điện tử chưa?

Chưa. Theo phần đánh giá kết quả và hạn chế trong văn bản, hệ thống hiện tại chưa tích hợp cổng thanh toán trực tuyến cho người dùng và đây là một trong những mục tiêu được đề xuất phát triển trong giai đoạn tiếp theo.


Kết luận

Báo cáo đồ án CDIO "Xây Dựng Website Bán Thiết Bị Điện Tử" của nhóm sinh viên Trường Đại học Duy Tân đã trình bày toàn diện quy trình phân tích, thiết kế và hiện thực hóa một hệ thống thương mại điện tử phục vụ kinh doanh thiết bị số. Đề tài hoàn thành tốt việc xây dựng mô hình ca sử dụng, sơ đồ tương tác UML, thiết kế cơ sở dữ liệu quan hệ 13 bảng và triển khai giao diện mẫu trên nền tảng PHP/Laravel và MySQL. Mặc dù vẫn còn những hạn chế về thanh toán trực tuyến và tối ưu tốc độ, đồ án đã giải quyết đúng các quy trình nghiệp vụ cốt lõi và là tài liệu tham khảo hữu ích cho sinh viên chuyên ngành Công nghệ phần mềm.