Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh xã hội hiện đại với điều kiện sống ngày càng nâng cao, nhu cầu làm đẹp và chăm sóc cá nhân của người tiêu dùng ngày một gia tăng. Tuy nhiên, việc trực tiếp di chuyển đến các cửa hàng bán lẻ truyền thống để tìm kiếm và chọn mua mỹ phẩm chăm sóc da (skincare) thường gặp nhiều bất tiện do điều kiện thời tiết nắng nóng cũng như hạn chế về mặt thời gian. Xuất phát từ thực tế đó, nhóm nghiên cứu đã xây dựng ý tưởng phát triển một hệ thống website thương mại điện tử chuyên cung cấp mỹ phẩm chăm sóc da mang tên Godashop.
Về mục tiêu và nhiệm vụ nghiên cứu, đề tài xác định 4 nội dung cụ thể:
- Nắm vững phương pháp nghiên cứu và làm chủ năng lực thiết kế website, lập trình ứng dụng bằng ngôn ngữ PHP kết hợp hệ quản trị cơ sở dữ liệu MySQL.
- Xây dựng phân hệ website bán mỹ phẩm trực tuyến (Client-side) cho phép người dùng xem danh mục, tìm kiếm, sắp xếp và đặt mua sản phẩm qua mạng.
- Xây dựng phân hệ website quản trị (Admin-side) hỗ trợ người quản trị quản lý thông tin sản phẩm, tài khoản người dùng, tiếp nhận và xử lý đơn đặt hàng, cũng như kiểm soát các bình luận tương tác.
- Đảm bảo giao diện người dùng trực quan, thân thiện và dễ vận hành trong môi trường thực tế.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Nghiên cứu kỹ thuật bao gồm các công nghệ lập trình web như HTML, CSS, JavaScript, thư viện giao diện Bootstrap, ngôn ngữ kịch bản phía máy chủ PHP, hệ cơ sở dữ liệu quan hệ MySQL và phương pháp thiết kế kiến trúc phần mềm (Enterprise Architecture). Đồng thời, đề tài nghiên cứu đối tượng nghiệp vụ về quy trình quản trị thực tế của một cửa hàng kinh doanh mỹ phẩm trực tuyến.
- Phạm vi nghiên cứu: Về không gian ứng dụng, hệ thống được thiết kế hướng tới các chủ cửa hàng có quy mô vừa và nhỏ (small shop owners) nhằm hỗ trợ bán hàng, quản lý đơn hàng và thống kê doanh số. Về thời gian thực hiện, khóa luận tốt nghiệp được triển khai từ ngày 02/03/2021 đến ngày 20/07/2021 tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (HCMUTE).
Cơ sở lý thuyết và phương pháp
Khóa luận kết hợp giữa nghiên cứu khảo sát mô hình nghiệp vụ thực tế và thiết kế kỹ thuật công nghệ phần mềm:
- Cơ sở công nghệ: Hệ thống sử dụng HTML để định dạng cấu trúc nội dung; CSS để thiết kế kiểu dáng, giao diện hiển thị; JavaScript và Bootstrap để tăng cường tính năng tương tác phía giao diện người dùng; PHP đảm nhiệm xử lý logic nghiệp vụ phía máy chủ (Back-end) và tương thích tốt với các máy chủ web phổ biến như Apache, IIS; MySQL được sử dụng làm hệ quản trị cơ sở dữ liệu quan hệ lưu trữ tập trung dữ liệu đơn hàng, người dùng và sản phẩm.
- Phương pháp khảo sát hệ thống thực tế: Nhóm tác giả tiến hành khảo sát và phân tích cấu trúc chức năng của hai nền tảng thương mại điện tử mỹ phẩm đang hoạt động:
- DHC Vietnam: Hệ thống phân phối mỹ phẩm Nhật Bản độc quyền với cấu trúc luồng trang gồm Trang chủ (sản phẩm mới, sự kiện khuyến mãi), Danh mục sản phẩm, Chi tiết sản phẩm, Giỏ hàng, Trang thanh toán, Tìm kiếm theo từ khóa và Trang liên hệ tích hợp Google Maps API.
- Lixibox: Nền tảng bán mỹ phẩm theo mô hình "beauty box" với giao diện đăng nhập cho phép người dùng bình luận, trang giỏ hàng tổng hợp chi phí, trang chủ hiển thị nhóm hàng bán chạy/giảm giá và danh mục phân chia theo nhóm hàng chuyên biệt.
- Phương pháp mô hình hóa và thiết kế: Ứng dụng ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng biểu đồ ca sử dụng (Use Case Diagram), biểu đồ tuần tự (Sequence Diagram) và biểu đồ thực thể mối quan hệ (Entity Relationship Diagram - ERD).
- Phương pháp kiểm thử: Kiểm thử chức năng theo phương pháp hộp đen (Black-box testing) thông qua việc thiết lập các kịch bản kiểm thử (Test cases) chi tiết cho cả phân hệ người dùng và phân hệ quản trị.
Thiết kế và triển khai hệ thống
Hệ thống Godashop được thiết kế phân định rõ ràng giữa các tác nhân (Actors), cấu trúc cơ sở dữ liệu, các luồng xử lý tương tác và kiểm chuẩn chức năng.
Các tác nhân và phân quyền hệ thống
Hệ thống xác định 3 nhóm tác nhân tương tác chính với các quyền hạn cụ thể:
| Tác nhân (Actor) |
Quyền hạn và phạm vi chức năng |
| Quản trị viên (Admin) |
Toàn quyền kiểm soát hệ thống: Thêm/cập nhật sản phẩm; thêm/sửa/xóa khách hàng; xác nhận, cập nhật trạng thái hoặc hủy đơn hàng; thêm, sửa, kích hoạt hoặc vô hiệu hóa nhân viên; phân quyền chi tiết (Decentralization); thống kê doanh thu định kỳ hàng ngày. |
| Khách vãng lai (User) |
Xem danh sách và chi tiết sản phẩm; lọc sản phẩm theo danh mục; tìm kiếm sản phẩm theo tên; quản lý giỏ hàng; tiến hành đặt hàng (Proceed to order); đăng ký tài khoản mới; đăng nhập tài khoản. |
| Người dùng đăng nhập (Login User) |
Kế thừa toàn bộ quyền của Khách vãng lai; được bổ sung quyền bình luận, đánh giá trên từng sản phẩm và cập nhật thông tin cá nhân. |
Hệ thống hỗ trợ cơ chế xác thực đa dạng: Người dùng có thể đăng nhập bằng tài khoản nội bộ (email và mật khẩu) hoặc đăng nhập tích hợp thông qua tài khoản bên thứ ba (Google Account hoặc Facebook Account).
Thiết kế cơ sở dữ liệu (ERD)
Cơ sở dữ liệu của hệ thống bao gồm các bảng quan hệ chính được chuẩn hóa nhằm đảm bảo tính toàn vẹn dữ liệu:
- Nhóm bảng thông tin sản phẩm và phân loại:
product (thông tin chi tiết sản phẩm, giá bán, số lượng), category (danh mục sản phẩm), brand (thương hiệu mỹ phẩm), image_item (danh sách hình ảnh bổ trợ cho sản phẩm).
- Nhóm bảng quản lý người dùng và phân quyền:
customer (thông tin khách hàng), staff (thông tin tài khoản nhân viên), role (vai trò quản trị), role_action (quy định quyền hạn của từng vai trò đối với các tác vụ trong hệ thống).
- Nhóm bảng giao dịch và phân phối:
order (thông tin đơn hàng tổng quát), order_item (chi tiết từng mặt hàng và số lượng trong đơn), status (các trạng thái xử lý đơn hàng).
- Nhóm bảng địa giới và vận chuyển:
province (tỉnh/thành phố), district (quận/huyện), ward (phường/xã), transport (chi phí và phương thức vận chuyển).
- Nhóm bảng tương tác khác:
comment (nội dung bình luận sản phẩm của người dùng), newsletter (quản lý danh sách email đăng ký nhận bản tin).
Ràng buộc nghiệp vụ (Constraints)
Tài liệu thiết lập 7 nhóm ràng buộc nghiệp vụ bắt buộc:
- Ràng buộc đặt hàng (Constraints on ordering): Kiểm tra tính hợp lệ của giỏ hàng, thông tin địa chỉ giao hàng và phương thức thanh toán trước khi lưu đơn.
- Ràng buộc bình luận (Constraints on commenting): Chỉ người dùng đã đăng nhập thành công mới được gửi bình luận.
- Ràng buộc phân quyền (Constraints on decentralization): Kiểm soát quyền truy cập của nhân viên dựa trên các hành động được gán trong bảng
role_action.
- Ràng buộc duy nhất của người dùng (Constraints on user uniqueness): Kiểm tra trùng lặp email và tính hợp lệ của mật khẩu trong quá trình đăng ký.
- Ràng buộc xác nhận trạng thái đơn hàng (Constraints on order status confirmation): Chuẩn hóa luồng chuyển đổi trạng thái của đơn hàng từ tiếp nhận đến xử lý.
- Ràng buộc quản lý khách hàng (Constraints on managing customer): Kiểm soát việc cập nhật hoặc xóa tài khoản khách hàng trên phân hệ quản trị.
- Ràng buộc quản lý nhân viên (Constraints on managing staff): Điều kiện kích hoạt (Active) hoặc vô hiệu hóa (Disable) tài khoản nhân sự.
Yêu cầu phi chức năng
Hệ thống đặt ra các tiêu chí phi chức năng cụ thể:
- Khả năng sử dụng (Usability): Đảm bảo tính dễ học (Learnability), hiệu quả thao tác (Efficiency), khả năng ghi nhớ thao tác ở lần sử dụng thứ hai (Memorability) và sự hài lòng về mặt thị giác thông qua bảng màu dịu mắt (Satisfaction).
- Hiệu năng (Performance): Thời gian tải toàn bộ trang web không vượt quá 1 giây (1 second) bao gồm tất cả các ảnh thu nhỏ (thumbnail images).
- Khả năng bảo trì (Maintainability): Mã nguồn được tổ chức tách bạch để rút ngắn thời gian sửa lỗi và nâng cấp.
Kiểm thử hệ thống
Nhóm tác giả xây dựng ma trận kịch bản kiểm thử chức năng (Test cases) với dữ liệu kết quả cụ thể:
- Kiểm thử phân hệ người dùng (Client): Gồm 7 kịch bản từ TC_US_01 đến TC_US_07, bao gồm kiểm thử thêm sản phẩm vào giỏ hàng (TC_US_01), xem chi tiết sản phẩm (TC_US_02), tìm kiếm sản phẩm theo tên (TC_US_03, TC_US_04), sắp xếp sản phẩm (TC_US_05) và thực hiện đặt hàng thành công (TC_US_06, TC_US_07).
- Kiểm thử phân hệ quản trị (Admin): Gồm 13 kịch bản từ TC_AD_01 đến TC_AD_13, bao gồm cập nhật thông tin sản phẩm (TC_AD_01), tìm kiếm sản phẩm (TC_AD_02, TC_AD_03), tìm kiếm khách hàng (TC_AD_04, TC_AD_05), thêm mới danh mục (TC_AD_06), tìm kiếm danh mục (TC_AD_07, TC_AD_08), thêm nhân viên mới (TC_AD_09), kích hoạt tài khoản nhân viên (TC_AD_10), vô hiệu hóa nhân viên (TC_AD_11) và tìm kiếm nhân viên (TC_AD_12, TC_AD_13). Toàn bộ các ca kiểm thử đều ghi nhận kết quả thực tế trùng khớp với kết quả mong đợi.
Nội dung chính theo từng chương
Chương 1: Giới thiệu (Chapter 1: Introduction)
Chương mở đầu tập trung làm rõ tính cấp thiết của đề tài xuất phát từ nhu cầu thực tiễn về tiêu dùng mỹ phẩm và sự bất tiện khi mua sắm trực tiếp dưới thời tiết bất lợi. Nhóm tác giả xác định 4 mục tiêu cụ thể, đồng thời vạch rõ phạm vi nghiên cứu xoay quanh mô hình cửa hàng bán lẻ quy mô nhỏ với tên gọi Godashop. Nội dung trọng tâm tiếp theo của chương là phân tích khảo sát thực tế tại hai website thương mại điện tử DHC Vietnam và Lixibox. Qua khảo sát hệ thống hình ảnh và sơ đồ trang web tham chiếu (Trang chủ, Danh mục sản phẩm, Chi tiết sản phẩm, Giỏ hàng, Thanh toán, Tìm kiếm, Đăng nhập, Liên hệ), nhóm tác giả đã xác định được các phân hệ chức năng cốt lõi cần hiện thực hóa trong sản phẩm của mình.
Chương 2: Yêu cầu người dùng và công nghệ sử dụng (Chapter 2: User Requirements and Used Technologies)
Chương 2 mô hình hóa toàn diện các yêu cầu nghiệp vụ của hệ thống. Nhóm tác giả thiết lập danh mục 14 chức năng quản trị và 6 chức năng người dùng, trực quan hóa thông qua hai biểu đồ ca sử dụng chính: Client use case và Admin use case. Chương này xây dựng chi tiết kịch bản tương tác (Use case scenarios) cho từng hành vi trọng yếu, bao gồm luồng cơ bản (Basic flow) và luồng rẽ nhánh xử lý lỗi (Alternative flow) cho các tác vụ: Đăng nhập cơ bản, Đăng nhập qua Google, Đăng nhập qua Facebook, Đăng ký tài khoản, Xem danh sách sản phẩm, Xem sản phẩm theo danh mục, Quản lý giỏ hàng, Tìm kiếm sản phẩm, Bình luận và Quy trình đặt hàng. Phần sau của chương xác định hệ thống chỉ số phi chức năng (tính tiện dụng, thời gian tải trang dưới 1 giây, tính bảo trì) và tổng hợp nền tảng công nghệ với các đặc tính kỹ thuật của HTML, CSS và PHP.
Chương 3: Thiết kế hệ thống (Chapter 3: System Design)
Chương 3 trình bày chi tiết bản vẽ kỹ thuật của hệ thống. Trọng tâm của chương là biểu đồ thực thể mối quan hệ (ERD) cùng hệ thống bảng dữ liệu chi tiết quản lý các đối tượng nghiệp vụ (product, transport, province, district, ward, image_item, order_item, newsletter, role_action, role, status, customer, order, staff). Song song với thiết kế tĩnh, chương mô hình hóa các tương tác động thông qua hệ thống 16 biểu đồ tuần tự (Sequence Diagrams) thể hiện chi tiết quá trình trao đổi thông điệp giữa các đối tượng giao diện, điều khiển và cơ sở dữ liệu đối với từng hành vi: Đăng nhập nội bộ, Đăng ký, Đăng nhập Google, Đăng nhập Facebook, Xem sản phẩm, Tìm kiếm, Giỏ hàng, Đặt hàng, Bình luận, Thêm danh mục, Thêm vai trò, Xóa đơn hàng, Tìm đơn hàng và Kích hoạt tài khoản quản trị. Cuối cùng, chương thiết lập 7 bộ quy tắc ràng buộc nghiệp vụ nhằm đảm bảo tính nhất quán của hệ thống.
Chương 4: Triển khai và kiểm thử (Chapter 4: Implementation and Testing)
Chương 4 mô tả cấu trúc mã nguồn và tiến trình lập trình thực tế cho từng phân hệ. Tài liệu cung cấp cấu trúc kết nối cơ sở dữ liệu, các đoạn mã nguồn và giao diện thực thi của phân hệ quản trị (bảng điều khiển Dashboard, quản lý đơn hàng, thêm/sửa sản phẩm, bình luận, hình ảnh, khách hàng, danh mục, thương hiệu, phí vận chuyển, nhân viên, phân quyền vai trò) và phân hệ người dùng (trang chủ, trang sản phẩm, trang khuyến mãi, chính sách đổi trả/thanh toán/giao hàng, biểu mẫu đăng ký/đăng nhập, trang giỏ hàng, quản lý đơn hàng và thông tin tài khoản). Nửa sau của chương tập trung vào kết quả kiểm thử thực nghiệm: Tài liệu đối chiếu giữa kết quả mong đợi và kết quả thực tế trên giao diện qua 7 ca kiểm thử phía Client (TC_US_01 đến TC_US_07) và 13 ca kiểm thử phía Admin (TC_AD_01 đến TC_AD_13), chứng minh tính ổn định và mức độ hoàn thiện của các chức năng được xây dựng.
Kết quả và đóng góp
Về kết quả kỹ thuật, đồ án đã hoàn thành các mục tiêu đề ra:
- Hiện thực hóa thành công website thương mại điện tử Godashop chạy trên nền tảng web server, bao gồm đầy đủ 2 phân hệ độc lập: phân hệ mua hàng dành cho khách hàng và phân hệ quản trị dành cho chủ cửa hàng.
- Xây dựng hoàn chỉnh hệ thống cơ sở dữ liệu quan hệ với các thực thể liên kết chặt chẽ từ thông tin sản phẩm, đơn hàng, dữ liệu phân cấp địa giới hành chính (tỉnh/thành, quận/huyện, phường/xã) đến ma trận phân quyền người dùng (
role_action).
- Tích hợp thành công các cơ chế đăng nhập xã hội qua API của Google và Facebook bên cạnh phương thức xác thực tài khoản truyền thống.
- Triển khai và vượt qua toàn bộ 20 kịch bản kiểm thử chức năng (7 kịch bản cho phân hệ Client và 13 kịch bản cho phân hệ Admin), đảm bảo hệ thống vận hành đúng logic nghiệp vụ đã thiết kế.
Về giải pháp và đóng góp của đề tài:
- Đưa ra giải pháp xây dựng website bán lẻ mỹ phẩm hoàn chỉnh, chi phí thấp, phù hợp với năng lực triển khai và nhu cầu quản lý bán hàng của các chủ cửa hàng quy mô nhỏ.
- Cung cấp mô hình phân quyền quản trị chi tiết (Decentralization) theo vai trò và hành động, cho phép các cơ sở kinh doanh phân định ranh giới trách nhiệm rõ ràng cho từng nhóm nhân viên (nhân viên bán hàng, quản lý kho, quản trị hệ thống).
- Tổng hợp đầy đủ hồ sơ thiết kế từ mô hình use case, sơ đồ tuần tự, thiết kế cơ sở dữ liệu đến bộ kịch bản kiểm thử, tạo thành tài liệu kỹ thuật có tính hoàn chỉnh về mặt quy trình phát triển phần mềm.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài:
- Hệ thống được thiết kế hướng tới mô hình cửa hàng đơn lẻ quy mô nhỏ (Godashop), chưa hỗ trợ mô hình sàn thương mại điện tử nhiều người bán (Multi-vendor marketplace).
- Phân hệ thanh toán trong tài liệu mới dừng lại ở bước xử lý đơn hàng và ghi nhận phương thức thanh toán, chưa tích hợp tự động hóa qua cổng thanh toán trực tuyến của các ngân hàng hoặc ví điện tử.
- Chưa tích hợp hệ thống khuyến nghị sản phẩm thông minh dựa trên lịch sử tìm kiếm hoặc hành vi mua sắm của khách hàng.
Hướng phát triển tiếp theo:
- Tích hợp các cổng thanh toán điện tử trực tuyến nhằm tự động hóa quy trình xử lý giao dịch tài chính.
- Mở rộng ứng dụng trên nền tảng di động (Mobile application) để đồng bộ dữ liệu và tối ưu hóa trải nghiệm mua sắm cho người dùng thiết bị cầm tay.
- Nghiên cứu tối ưu hóa hiệu năng cơ sở dữ liệu để đáp ứng lưu lượng truy cập lớn hơn và phát triển hệ thống gợi ý sản phẩm tự động.
Giá trị tham khảo
Đồ án tốt nghiệp này mang lại giá trị tham khảo thiết thực cho các nhóm đối tượng cụ thể:
- Sinh viên chuyên ngành Công nghệ thông tin, Hệ thống thông tin và Kỹ thuật phần mềm: Tài liệu là mẫu tham khảo chuẩn mực về cấu trúc một khóa luận tốt nghiệp kỹ sư phát triển ứng dụng web truyền thống sử dụng PHP và MySQL, từ khâu khảo sát thực tế, phân tích yêu cầu, vẽ biểu đồ UML đến thiết kế cơ sở dữ liệu và viết kịch bản kiểm thử.
- Người lập trình bắt đầu tiếp cận phát triển ứng dụng thương mại điện tử: Có thể tham khảo phương pháp thiết kế cơ sở dữ liệu cho các phân hệ phức tạp như tính toán chi phí vận chuyển theo địa giới hành chính (
province, district, ward, transport), ma trận phân quyền quản trị nhân sự (role_action) và quy trình thiết kế kịch bản kiểm thử chức năng.
- Các chủ cửa hàng nhỏ hoặc doanh nghiệp khởi nghiệp trong lĩnh vực bán lẻ mỹ phẩm: Có thể tham khảo luồng nghiệp vụ quản lý bán hàng, cấu trúc danh mục sản phẩm và các chính sách vận hành (đổi trả, thanh toán, giao hàng) được nhóm tác giả xây dựng trong hệ thống.
Câu hỏi thường gặp
1. Hệ thống website Godashop hỗ trợ những hình thức đăng nhập nào cho khách hàng?
Hệ thống hỗ trợ 3 hình thức đăng nhập: Đăng nhập truyền thống bằng tài khoản đăng ký nội bộ (email và mật khẩu), đăng nhập thông qua tài khoản Google (Login by Google Account) và đăng nhập thông qua tài khoản Facebook (Login by Facebook Account).
2. Phân hệ quản trị (Admin) hỗ trợ những tính năng quản lý nhân viên nào?
Quản trị viên có các chức năng quản lý nhân sự cụ thể gồm: Thêm nhân viên mới (Add staff), cập nhật thông tin nhân viên (Update staff), kích hoạt quyền hoạt động của nhân viên (Active staff) và vô hiệu hóa tài khoản nhân viên (Disable staff), kết hợp cùng bảng phân quyền chức năng (role_action).
3. Tiêu chí hiệu năng (Performance) phi chức năng được nhóm tác giả đặt ra cho hệ thống là gì?
Văn bản quy định rõ tiêu chí hiệu năng: Ứng dụng phải tải trang web trong vòng 1 giây (Load website within 1 second) cùng với tất cả các hình ảnh thu nhỏ (thumbnail images).
4. Khóa luận đã tiến hành khảo sát thực tế những hệ thống thương mại điện tử nào để xây dựng yêu cầu cho đề tài?
Nhóm tác giả đã tiến hành khảo sát thực tế và phân tích chi tiết cấu trúc giao diện, chức năng của 2 website bán mỹ phẩm đang hoạt động là DHC Vietnam (chuyên phân phối mỹ phẩm DHC Nhật Bản) và Lixibox (nền tảng bán mỹ phẩm theo mô hình hộp làm đẹp).
5. Chức năng thống kê tài chính được thiết lập trong phân hệ quản trị hoạt động theo chu kỳ nào?
Theo danh mục chức năng quản trị trong văn bản (chức năng số 13 - Revenue statistics), hệ thống hỗ trợ thực hiện thống kê doanh thu định kỳ hàng ngày (Revenue statistics are made daily).
Kết luận
Khóa luận tốt nghiệp của nhóm tác giả Nguyễn Hoàng Danh và Đỗ Nguyễn Hoàng Hải tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh đã xây dựng thành công website bán mỹ phẩm chăm sóc da Godashop trên nền tảng PHP và MySQL. Đề tài giải quyết tốt bài toán thương mại điện tử cơ bản cho các cửa hàng nhỏ thông qua việc tích hợp đầy đủ phân hệ mua hàng trực tuyến và phân hệ quản trị bán hàng, phân quyền chi tiết. Các kết quả kiểm thử thực nghiệm đã chứng minh tính chính xác của các luồng nghiệp vụ và đáp ứng đầy đủ mục tiêu nghiên cứu kỹ thuật đã đề ra.