Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin và mạng Internet phát triển mạnh mẽ, việc tin học hóa đã trở thành yếu tố mang tính quyết định đến hiệu quả vận hành của các tổ chức, doanh nghiệp và cơ sở kinh doanh. Sự ra đời của Internet đã thúc đẩy mạnh mẽ sự hình thành và mở rộng của thương mại điện tử (TMĐT), cho phép các hoạt động trao đổi, mua bán hàng hóa diễn ra nhanh chóng với chi phí tối ưu hơn so với các phương thức bán hàng truyền thống.
Đối với các đơn vị kinh doanh thiết bị công nghệ, điển hình như mô hình cửa hàng phân phối máy tính Phong Vũ, nhu cầu quảng bá sản phẩm mới, cập nhật bảng giá chính xác và tiếp cận khách hàng trên không gian số là hết sức cấp thiết. Xuất phát từ thực tế đó, đề tài "Xây dựng Website Bán Laptop cho Cửa Hàng Phong Vũ" được tác giả Châu Gia Huy thực hiện nhằm chuyển đổi mô hình kinh doanh truyền thống sang nền tảng web trực tuyến.
Mục tiêu và nhiệm vụ nghiên cứu của đề tài bao gồm:
- Khảo sát hiện trạng và phân tích yêu cầu nghiệp vụ quản lý bán hàng của cửa hàng Phong Vũ.
- Xây dựng cấu trúc hệ thống gồm hai phân hệ chính:
- Phân hệ người dùng (Khách hàng): Cung cấp khả năng tìm kiếm, xem danh mục, tra cứu chi tiết thông số và giá cả sản phẩm, xem tin tức khuyến mãi, quản lý giỏ hàng, áp dụng mã giảm giá và thực hiện thanh toán trực tuyến mà không cần đến trực tiếp cửa hàng.
- Phân hệ quản trị (Admin): Cung cấp toàn quyền kiểm soát hoạt động hệ thống qua tài khoản phân quyền, bao gồm cập nhật, thêm, sửa, xóa danh mục sản phẩm, loại hàng, nhà sản xuất/thương hiệu, tài khoản người dùng, slide quảng cáo, mã giảm giá, quản lý đa ngôn ngữ, xử lý đơn đặt hàng và theo dõi thống kê doanh thu, lượt truy cập.
- Đảm bảo các yêu cầu phi chức năng về giao diện trực quan, tính thẩm mỹ, tiện ích tra cứu và an toàn thông tin cá nhân của khách hàng trong quá trình giao dịch qua mạng.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Quy trình quản lý, trưng bày và giao dịch thương mại điện tử đối với mặt hàng máy tính xách tay (laptop).
- Phạm vi áp dụng: Áp dụng thực nghiệm cho mô hình bán hàng của cửa hàng Phong Vũ, hoàn thành báo cáo vào tháng 10 năm 2021.
Cơ sở lý thuyết và phương pháp
Khóa luận áp dụng nền tảng lý thuyết về công nghệ web mã nguồn mở, mô hình kiến trúc phần mềm và phương pháp phân tích thiết kế hệ thống thông tin:
- Khung kiến trúc và mô hình phát triển:
- Mô hình MVC (Model – View – Controller): Hệ thống được cấu trúc tách biệt giữa ba tầng:
Model (làm việc với cơ sở dữ liệu), View (giao diện hiển thị người dùng thông qua Template Engine Blade) và Controller (tiếp nhận và điều phối luồng xử lý từ yêu cầu của người dùng).
- Laravel Framework: Framework PHP mã nguồn mở phát triển bởi Taylor Otwell (ra mắt lần đầu tháng 6/2011, giấy phép MIT), phát triển kế thừa từ Symfony Framework. Laravel được lựa chọn nhờ các tính năng: định tuyến (routing) mềm dẻo, công cụ dòng lệnh Artisan, quản lý thư viện qua Composer, quản lý gói Javascript/giao diện qua npm, hệ thống xác thực (Authentication) và ủy quyền (Authorization), ORM Eloquent và Query Builder.
- Hệ quản trị cơ sở dữ liệu:
- MySQL: Hệ thống quản trị cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở hoạt động theo mô hình client-server, tích hợp với môi trường PHP/Apache, cung cấp khả năng lưu trữ dạng bảng quan hệ với độ bảo mật cao và tốc độ truy xuất nhanh.
- Phương pháp nghiên cứu và thiết kế:
- Phương pháp khảo sát hiện trạng: Thu thập thông tin nghiệp vụ thực tế về quản lý tài khoản, sản phẩm, nhà sản xuất, đơn hàng và hình ảnh quảng cáo.
- Phương pháp mô hình hóa UML: Sử dụng sơ đồ phân cấp chức năng, biểu đồ Use Case (tổng quát và từng phân hệ), biểu đồ tuần tự (Sequence Diagram), biểu đồ lớp (Class Diagram) để phân tích tương tác và cấu trúc đối tượng của hệ thống.
- Phương pháp thiết kế cơ sở dữ liệu: Xây dựng lược đồ quan hệ chi tiết với các khóa chính, khóa ngoại và định nghĩa kiểu dữ liệu chính xác cho 13 bảng dữ liệu.
Thiết kế và triển khai
Hệ thống được thiết kế và hiện thực hóa với sự tích hợp giữa Laravel Framework và hệ quản trị cơ sở dữ liệu MySQL, đáp ứng toàn diện các tương tác giữa hai tác nhân (Actor) chính:
| STT |
Tên Actor |
Ý nghĩa và quyền hạn |
| 1 |
Admin |
Người quản lý có toàn quyền tương tác với hệ thống, kiểm soát mọi hoạt động, quản trị dữ liệu danh mục, tài khoản, đơn hàng, cấu hình và thống kê. |
| 2 |
Người dùng |
Khách truy cập hoặc thành viên đã đăng ký tài khoản, được phép tìm kiếm, xem sản phẩm, quản lý giỏ hàng và tiến hành đặt hàng/thanh toán. |
Danh sách chức năng hệ thống
Hệ thống thiết lập 15 nhóm chức năng cơ bản theo đặc tả:
| STT |
Tên chức năng |
Mô tả chi tiết |
Phân quyền Actor |
| 1 |
Đăng nhập |
Đăng nhập vào hệ thống để tiếp tục sử dụng các chức năng thành viên/quản trị |
Admin, Người dùng |
| 2 |
Đăng ký |
Khởi tạo tài khoản thành viên mới để sử dụng quyền lợi mua sắm |
Người dùng |
| 3 |
Đăng xuất |
Thoát phiên làm việc hiện tại |
Admin, Người dùng |
| 4 |
Đặt mua |
Chọn mua sản phẩm sau khi đăng nhập hệ thống |
Người dùng |
| 5 |
Thanh toán |
Xác nhận đơn hàng, nhập thông tin giao nhận hoặc thanh toán trực tuyến |
Người dùng |
| 6 |
Xem thông tin sản phẩm |
Xem chi tiết thông số, hình ảnh và giá cả laptop |
Người dùng |
| 7 |
Tìm kiếm sản phẩm |
Tìm kiếm mặt hàng theo từ khóa |
Admin, Người dùng |
| 8 |
Quản lý Giỏ hàng |
Thêm mới, chỉnh sửa số lượng hoặc xóa mặt hàng khỏi giỏ hàng |
Người dùng |
| 9 |
Quản lý sản phẩm |
Thêm mới, chỉnh sửa, hiển thị chi tiết, xóa sản phẩm |
Admin |
| 10 |
Quản lý tài khoản người dùng |
Thêm mới, cập nhật thông tin, hiển thị danh sách, phân quyền, xóa tài khoản |
Admin |
| 11 |
Quản lý đơn hàng |
Tiếp nhận đơn đặt, xác nhận giao dịch, in đơn hàng, xóa đơn hàng hủy |
Admin |
| 12 |
Quản lý loại sản phẩm |
Thêm mới, chỉnh sửa, hiển thị, xóa danh mục loại hàng |
Admin |
| 13 |
Quản lý slide |
Thêm mới, cập nhật hình ảnh/liên kết, bật/tắt trạng thái slide hiển thị |
Admin |
| 14 |
Quản lý mã giảm giá |
Thiết lập mã coupon, hình thức giảm giá, thời gian áp dụng |
Admin |
| 15 |
Quản lý ngôn ngữ |
Cập nhật tiêu đề, mô tả sản phẩm theo tiếng Việt và tiếng Anh |
Admin |
Tích hợp thanh toán và tính năng nâng cao
Hệ thống hỗ trợ cơ chế thanh toán đa dạng: bên cạnh việc lưu trữ thông tin giao hàng truyền thống, hệ thống tích hợp giải pháp thanh toán điện tử thông qua cổng thanh toán VNPay. Luồng thanh toán VNPay cho phép ghi nhận mã đơn hàng, ngân hàng thanh toán (code_bank) và thời gian thực hiện giao dịch (time) vào bảng quản lý thanh toán online. Ngoài ra, hệ thống tích hợp sẵn cấu trúc dữ liệu đa ngôn ngữ (Việt - Anh), cơ chế tính năng flash sale (với trường lưu ngày và giờ kết thúc khuyến mãi) cùng mô-đun thống kê lượt truy cập IP theo ngày.
Nội dung chính theo từng chương
Chương 1. Tổng quan đề tài
Chương 1 trình bày cơ sở hình thành đề tài, khảo sát thực trạng kinh doanh máy tính và đưa ra yêu cầu chức năng, phi chức năng cho hệ thống website cửa hàng Phong Vũ. Tác giả xây dựng sơ đồ phân cấp chức năng cho hai đối tượng khách hàng và quản trị viên:
- Phân tích chi tiết quy trình nghiệp vụ khách hàng: xem sản phẩm, chọn hàng vào giỏ, đăng ký thành viên, tìm kiếm và thanh toán.
- Giới thiệu tổng quan về framework Laravel (lịch sử, mô hình kiến trúc MVC, ưu điểm về Eloquent ORM, Blade, Artisan, Composer, npm).
- Đánh giá hệ quản trị cơ sở dữ liệu MySQL về tính bảo mật, tốc độ thực thi, khả năng mở rộng cũng như các giới hạn về dung lượng và độ tin cậy khi số lượng bản ghi tăng cao.
Chương 2. Phân tích thiết kế hệ thống
Chương 2 tập trung vào việc mô hình hóa hệ thống thông qua các sơ đồ chuẩn UML:
- Xác định 2 Actor chính và 15 chức năng nghiệp vụ cụ thể.
- Xây dựng hệ thống biểu đồ Use Case: Use Case tổng quát, Use Case quản lý sản phẩm, Use Case quản lý ngôn ngữ, Use Case quản lý tài khoản, Use Case quản lý mã giảm giá, Use Case quản lý slide, Use Case quản lý thương hiệu và Use Case quản lý đơn hàng.
- Trình bày bảng đặc tả chi tiết các Use Case quan trọng: Đăng ký, Đăng nhập, Tìm kiếm, Xem chi tiết sản phẩm, Thêm sản phẩm vào giỏ hàng, Xem giỏ hàng, Thanh toán đơn hàng (hỗ trợ cổng VNPay), Xác nhận hóa đơn, Xóa hóa đơn, Thêm/Sửa/Xóa sản phẩm, Thêm/Sửa/Xóa danh mục sản phẩm.
- Thiết kế hệ thống 12 biểu đồ tuần tự (Sequence Diagram) mô tả chi tiết tương tác qua lại giữa Actor, Giao diện (Boundary), Bộ điều khiển (Controller) và Cơ sở dữ liệu (Database) cho các nghiệp vụ: Đăng nhập, Xem giỏ hàng, Xóa giỏ hàng, Thêm/Sửa/Xóa người dùng, Thêm/Sửa/Xóa sản phẩm, Thêm/Sửa/Xóa slide.
- Xây dựng biểu đồ lớp (Class Diagram) tổng quan thể hiện cấu trúc các thực thể và mối liên kết trong hệ thống.
Chương 3. Thiết kế cơ sở dữ liệu
Chương 3 thiết kế lược đồ cơ sở dữ liệu gồm 13 bảng quan hệ, chuẩn hóa cấu trúc dữ liệu đáp ứng đầy đủ yêu cầu lưu trữ của ứng dụng:
| STT |
Tên bảng |
Chức năng lưu trữ dữ liệu |
| 1 |
users |
Danh sách thông tin tài khoản người dùng và quản trị viên (id, họ tên, email, mật khẩu, số điện thoại, địa chỉ, user_token quên mật khẩu, level phân quyền) |
| 2 |
products |
Danh sách thông tin sản phẩm laptop (id, id_type, id_post, số lượng kho, số lượng đã bán, giá gốc, giá khuyến mãi, hình ảnh, trạng thái mới, ngày và giờ kết thúc sale) |
| 3 |
type_product |
Danh sách hãng sản xuất / thương hiệu laptop (id, name_type, image) |
| 4 |
bills |
Danh sách thông tin đơn đặt hàng (id_bill, id_customer, date_order, order_code, total, payment, status_bill) |
| 5 |
bills_detail |
Danh sách chi tiết các mặt hàng trong đơn hàng (id_bill_detail, id_bill, id_product, id_post_bill_detail, order_code, quantity, unit_price) |
| 6 |
customer |
Thông tin cá nhân khách hàng đặt đơn (id, name, gender, email, address, phone_number, note) |
| 7 |
payments |
Thông tin giao dịch thanh toán online (id_payment, id_customer, id_post_payment, order_code, code_bank, time) |
| 8 |
post |
Thông tin nội dung đa ngôn ngữ cho sản phẩm (id_post, sp_vi, sp_en, description_vi, description_en, product_slug) |
| 9 |
coupon |
Danh sách mã giảm giá khuyến mãi (coupon_id, coupon_name, coupon_qty, coupon_number, coupon_code, coupon_condition, coupon_date_start, coupon_date_end, coupon_status, coupon_used) |
| 10 |
slide |
Danh sách hình ảnh banner quảng cáo (id, link, image, status_slide) |
| 11 |
rating |
Danh sách đánh giá và bình chọn sản phẩm từ người dùng (rating_id, product_id, rating_number) |
| 12 |
statistical |
Thống kê số liệu doanh thu và đơn hàng (id_statistic, order_date, sales, profit, quantity, total_order) |
| 13 |
visitors |
Thống kê lượt truy cập theo dõi người dùng (id_visitors, ip_address, date_visitor) |
Chương 4. Xây dựng website bán laptop
Chương 4 hiện thực hóa hệ thống giao diện và kiểm thử luồng chức năng thực tế:
- Giao diện người dùng (Front-end): Hiện thực hóa Trang chủ, Trang chi tiết sản phẩm, Trang so sánh sản phẩm, Trang danh mục loại sản phẩm, Trang đăng nhập/đăng ký, Trang liên hệ và mô-đun Giỏ hàng/Thanh toán.
- Giao diện quản trị (Back-end/Admin): Hiện thực hóa Bảng điều khiển tổng quan (Dashboard), các trang quản lý chuyên biệt: Quản lý sản phẩm, Quản lý loại sản phẩm, Quản lý tài khoản, Quản lý đơn hàng, Quản lý slide banner, Quản lý mã giảm giá và Quản lý ngôn ngữ hiển thị.
Kết quả và đóng góp
Kết quả chính đạt được
- Xây dựng thành công hệ thống website thương mại điện tử chuyên ngành bán laptop cho cửa hàng Phong Vũ với đầy đủ 2 phân hệ Khách hàng và Quản trị viên.
- Phân tích và thiết kế hoàn chỉnh hệ thống tài liệu kỹ thuật chuẩn UML gồm các sơ đồ Use Case, 12 biểu đồ tuần tự (Sequence Diagram), sơ đồ phân cấp chức năng và biểu đồ lớp.
- Xây dựng thành công cơ sở dữ liệu quan hệ gồm 13 bảng dữ liệu chuẩn hóa, hỗ trợ lưu trữ chi tiết từ thông tin sản phẩm, đơn hàng, khách hàng, giao dịch trực tuyến VNPay đến quản lý nội dung song ngữ (Việt - Anh) và coupon giảm giá.
- Triển khai đầy đủ giao diện người dùng (xem sản phẩm, so sánh thông số, giỏ hàng, đặt hàng) và bộ giao diện quản trị (quản lý sản phẩm, đơn hàng, tài khoản, doanh thu và lượt truy cập).
Giải pháp và đóng góp của đề tài
- Đề xuất giải pháp số hóa toàn diện quy trình bán lẻ cho cửa hàng máy tính, giúp khách hàng dễ dàng tra cứu thông số kỹ thuật, so sánh sản phẩm và giao dịch trực tuyến an toàn.
- Cung cấp giải pháp kỹ thuật kết hợp giữa Laravel Framework và MySQL, ứng dụng mô hình MVC chuẩn mực vào bài toán thương mại điện tử thực tế.
- Tích hợp mô hình quản lý đơn hàng kết hợp thanh toán trực tuyến qua cổng VNPay, bổ sung tính năng theo dõi thống kê doanh thu (
sales), lợi nhuận (profit) và lưu vết địa chỉ IP khách truy cập (ip_address).
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế:
- Do điều kiện thời gian và kinh nghiệm thực hiện báo cáo của sinh viên còn hạn chế, đồ án vẫn còn một số thiếu sót trong khâu trình bày và tối ưu hóa hệ thống.
- Hệ quản trị cơ sở dữ liệu MySQL có những hạn chế nhất định về xử lý dung lượng lớn khi số lượng bản ghi tăng trưởng mạnh trong tương lai.
- Hướng phát triển:
- Nghiên cứu áp dụng các giải pháp tăng tốc độ truy xuất cơ sở dữ liệu như tạo bộ nhớ đệm (cache MySQL) hoặc phân chia tải (load balancing) trên nhiều máy chủ khi quy mô dữ liệu mở rộng.
- Tiếp thu các ý kiến đóng góp từ Hội đồng chấm tốt nghiệp và giảng viên hướng dẫn để nâng cấp, hoàn thiện thêm các tính năng nâng cao cho website.
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 các ngành Lập trình máy tính, Công nghệ thông tin, Kỹ thuật phần mềm: Là tài liệu mẫu hữu ích trong việc triển khai đồ án tốt nghiệp xây dựng website thương mại điện tử dựa trên PHP/Laravel Framework và MySQL.
- Lập trình viên và người nghiên cứu phát triển web TMĐT: Có thể tham khảo trực tiếp cấu trúc thiết kế cơ sở dữ liệu (13 bảng), phương pháp tích hợp thanh toán VNPay, mô hình xử lý đa ngôn ngữ (
post), quản lý mã khuyến mãi (coupon) và các biểu đồ đặc tả Use Case / Sequence Diagram chuẩn mực.
Câu hỏi thường gặp
1. Đề tài sử dụng những công nghệ và framework nào để xây dựng hệ thống?
Hệ thống được xây dựng trên nền tảng PHP sử dụng Laravel Framework (theo mô hình kiến trúc MVC, tích hợp công cụ Artisan, Blade Template Engine, Eloquent ORM, Composer và npm) kết hợp với hệ quản trị cơ sở dữ liệu quan hệ MySQL.
2. Hệ thống hỗ trợ những phương thức thanh toán nào cho khách hàng?
Hệ thống hỗ trợ đặt mua hàng trực tiếp lưu thông tin đơn hàng và phương thức thanh toán chuyển khoản/trực tuyến thông qua việc tích hợp cổng thanh toán VNPay, ghi nhận đầy đủ mã đơn hàng, ngân hàng thanh toán và thời gian giao dịch.
3. Cơ sở dữ liệu của website gồm bao nhiêu bảng và có các bảng đặc thù nào?
Cơ sở dữ liệu gồm 13 bảng quan hệ: users, products, type_product, bills, bills_detail, customer, payments, post, coupon, slide, rating, statistical, visitors. Trong đó có các bảng đặc thù như bảng post (quản lý song ngữ tiếng Việt - tiếng Anh cho sản phẩm), coupon (quản lý mã giảm giá) và visitors (thống kê lượt truy cập theo IP).
4. Hệ thống phân chia quyền hạn (Actor) như thế nào?
Hệ thống phân chia thành 2 nhóm Actor chính: Admin (người quản trị có toàn quyền quản lý sản phẩm, danh mục, đơn hàng, tài khoản, slide, mã giảm giá, ngôn ngữ và xem thống kê doanh thu) và Người dùng (khách truy cập/thành viên có quyền tìm kiếm, xem chi tiết, so sánh sản phẩm, quản lý giỏ hàng, đánh giá và thực hiện thanh toán).
Kết luận
Đồ án tốt nghiệp "Xây dựng Website Bán Laptop cho Cửa Hàng Phong Vũ" của sinh viên Châu Gia Huy (ngành Lập Trình Máy Tính, GVHD Ths. Lương Khánh Tý) đã hoàn thành xuất sắc các mục tiêu nghiên cứu và phát triển phần mềm ứng dụng thực tế. Đề tài đã phân tích kỹ lưỡng nghiệp vụ, xây dựng mô hình thiết kế hướng đối tượng chi tiết và hiện thực hóa thành công website bán máy tính trực tuyến hoàn chỉnh với 15 nhóm chức năng trên nền tảng Laravel và MySQL. Báo cáo là tài liệu học thuật có giá trị tham khảo cao về cả phương diện phân tích thiết kế hệ thống lẫn kỹ thuật xây dựng ứng dụng thương mại điện tử thực tế.