Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin và công nghệ web phát triển mạnh mẽ, thương mại điện tử đã trở thành một công cụ hỗ trợ thiết thực cho hoạt động kinh doanh và quản lý doanh nghiệp. Sự thay đổi trong lối sống hiện đại khiến nhu cầu mua sắm trực tuyến ngày càng gia tăng, giúp người tiêu dùng tiết kiệm thời gian và chi phí so với phương thức mua sắm truyền thống tại cửa hàng.
Về mặt công nghệ xây dựng hệ thống bán hàng, tác giả đã tiến hành so sánh giữa hai nền tảng cơ bản: ứng dụng di động (mobile app) và ứng dụng web (website):
- Ứng dụng di động: Đòi hỏi người dùng phải tải ứng dụng về điện thoại thông minh; khi có phiên bản mới, người dùng phải cập nhật hoặc tải lại. Đồng thời, nhà phát triển phải tối ưu hóa giao diện cho nhiều dòng thiết bị di động khác nhau để tránh vỡ khung hình.
- Website: Cho phép người dùng truy cập trực tiếp qua trình duyệt trên máy tính, điện thoại hoặc thiết bị có kết nối Internet. Khi hệ thống cập nhật phiên bản mới, người dùng chỉ cần tải lại trang. Ứng dụng web có tính tương thích đa nền tảng cao và vận hành ổn định trên các trình duyệt tiêu chuẩn.
Từ cơ sở đó, đồ án lựa chọn đề tài "Xây dựng website bán máy tính trực tuyến sử dụng Laravel framework" (Project: Design and Implementation of an Electronics E-commerce Website) nhằm đáp ứng nhu cầu mua sắm thiết bị điện tử của khách hàng và hỗ trợ quản lý kinh doanh.
Mục tiêu và nhiệm vụ nghiên cứu
- Tìm hiểu và nghiên cứu quy trình xây dựng hệ thống website thương mại điện tử bán máy tính trực tuyến dựa trên nền tảng Laravel framework.
- Hệ thống hóa cơ sở lý thuyết về ngôn ngữ lập trình web (PHP, HTML, CSS, JavaScript), hệ quản trị cơ sở dữ liệu quan hệ MySQL và kiến trúc MVC của Laravel.
- Vận dụng kiến thức chuyên ngành để thiết kế và triển khai website hoàn chỉnh, đáp ứng hai nhóm chức năng cốt lõi:
- Phía Quản trị viên (Admin): Quản lý danh mục sản phẩm, sản phẩm, nhà sản xuất, thuộc tính sản phẩm, từ khóa, danh mục bài viết, bài viết, đơn hàng, tài khoản người dùng, đánh giá, bình luận, slide, sự kiện, trang tĩnh và báo cáo thống kê.
- Phía Khách hàng (Customer): Xem thông tin chi tiết sản phẩm, tìm kiếm sản phẩm và tin tức, đăng ký/đăng nhập tài khoản, quản lý giỏ hàng, đặt hàng và thanh toán trực tuyến, gửi đánh giá/bình luận và gửi thông tin liên hệ.
Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Quy trình phân tích thiết kế hệ thống và xây dựng website bán thiết bị điện tử, máy tính trực tuyến.
- Phạm vi nghiên cứu: Hệ thống thương mại điện tử phục vụ khách hàng trên phạm vi toàn quốc, hỗ trợ truy cập đồng thời cho nhiều người dùng cùng lúc.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và công nghệ áp dụng
Đồ án xây dựng dựa trên các nền tảng công nghệ web và mô hình phát triển phần mềm chuẩn:
| Thành phần công nghệ |
Đặc tả và vai trò kỹ thuật trong hệ thống |
| MySQL |
Hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở do MySQL AB phát triển. Hỗ trợ chuẩn SQL, tương thích tốt với PHP, hỗ trợ bảng dữ liệu lớn lên đến 50 triệu dòng, giới hạn kích thước tệp mặc định 4 GB và có thể mở rộng đến 8 TB. Sử dụng các kiểu dữ liệu số (INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT, FLOAT, DOUBLE, DECIMAL), kiểu ngày giờ (DATE, DATETIME, TIMESTAMP, TIME, YEAR) và kiểu chuỗi (CHAR, VARCHAR, TEXT, BLOB, ENUM). |
| HTML / CSS / JavaScript |
HTML định hình cấu trúc siêu văn bản của trang web; CSS (Cascading Style Sheets) đảm nhận định dạng và bố cục giao diện; JavaScript xử lý tương tác phía người dùng (client-side). |
| Ngôn ngữ PHP |
Ngôn ngữ kịch bản phía máy chủ (server-side) mã nguồn mở do Rasmus Lerdorf khởi xướng năm 1994 (tiền thân là PHP/FI). Web Server tiếp nhận yêu cầu và gọi PHP Engine biên dịch, xử lý dữ liệu rồi trả kết quả về trình duyệt. |
| Kiến trúc MVC |
Mô hình kiến trúc phần mềm tách biệt ba thành phần độc lập: Model (xử lý logic dữ liệu, thuật toán và truy xuất CSDL), View (giao diện hiển thị người dùng, tệp HTML/Blade template) và Controller (tiếp nhận request, điều hướng luồng xử lý giữa Model và View). |
| Laravel Framework |
Framework PHP mã nguồn mở dựa trên MVC do Taylor Otwell phát triển (từ Laravel 1 năm 2011 đến phiên bản Laravel 5.6). Cung cấp Eloquent ORM, Blade Template Engine, Artisan CLI, hệ thống Routing/Reverse Routing, Migration quản lý lược đồ CSDL, Dependency Injection / IoC Container, SwiftMailer và bảo mật tích hợp (@csrf, @method). |
| Ngôn ngữ mô hình hóa UML |
Unified Modeling Language được sử dụng để trực quan hóa, đặc tả và xây dựng cấu trúc hệ thống qua Use Case Diagram, Activity Diagram, Sequence Diagram, Class Diagram và Entity Association Model. |
Phương pháp nghiên cứu
- Phương pháp khảo sát và phân tích hiện trạng: Tiến hành khảo sát thực tế các website thương mại điện tử đang hoạt động (như
sachhay24h.com, bookbuy.vn...) để đánh giá ưu nhược điểm về giao diện, tính năng đăng nhập, công cụ tìm kiếm, bộ lọc giá, gợi ý sản phẩm và quy trình thanh toán.
- Phương pháp phân tích và thiết kế hệ thống hướng đối tượng: Xác định các tác nhân (Actors), phân rã yêu cầu chức năng/phi chức năng, lập tài liệu đặc tả Use Case, thiết kế biểu đồ hoạt động (Activity Diagram), biểu đồ tuần tự (Sequence Diagram), biểu đồ lớp (Class Diagram) và lược đồ quan hệ cơ sở dữ liệu.
- Phương pháp thực nghiệm phát triển phần mềm: Triển khai cài đặt mã nguồn hệ thống hoàn chỉnh trên nền tảng Laravel, kiểm thử các chức năng quản trị backend và giao diện tương tác frontend.
Thiết kế và triển khai
Kiến trúc chức năng hệ thống
Hệ thống được thiết kế phân quyền rõ rệt giữa hai tác nhân chính:
HỆ THỐNG WEBSITE THƯƠNG MẠI ĐIỆN TỬ
Yêu cầu phi chức năng
- Giao diện: Thiết kế trực quan, bố cục rõ ràng, màu sắc hài hòa và thân thiện với người dùng.
- Tốc độ xử lý: Hệ thống phản hồi nhanh chóng, truy xuất dữ liệu chính xác khi xử lý các thao tác tìm kiếm, lọc và đặt hàng.
- Bảo mật: Đảm bảo an toàn dữ liệu người dùng, bảo vệ hệ thống trước các lỗi truy cập trái phép thông qua cơ chế xác thực và mã hóa.
- Độ tương thích: Hoạt động ổn định trên các trình duyệt web phổ biến hiện nay.
Quy trình và biểu đồ thiết kế (UML)
Đồ án xây dựng chi tiết hệ thống tài liệu thiết kế bao gồm:
- Biểu đồ Use Case: 17 biểu đồ Use Case chi tiết tương ứng với từng nhóm chức năng (Đă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ý thể loại 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ê và Chức năng khách hàng).
- Bảng đặc tả Use Case: Cung cấp chi tiết tên usecase, mô tả tóm tắt, điều kiện tiên quyết (Preconditions), điều kiện dữ liệu hợp lệ, luồng sự kiện chính (Main event stream) và luồng sự kiện phụ/ngoại lệ (Secondary event stream) cho các tác vụ thêm, sửa, xóa.
- Biểu đồ hoạt động (Activity Diagrams): Mô tả 20 luồng nghiệp vụ cụ thể như đăng nhập, đăng ký, thêm/sửa/xóa danh mục, thêm/xóa bình luận, thêm/xóa đánh giá, thêm/sửa/xóa bài viết, thêm/sửa/xóa slide, thêm/sửa/xóa sản phẩm, xóa người dùng và xử lý đơn hàng.
- Biểu đồ lớp (Class Diagram) & Mô hình liên kết thực thể: Xác định cấu trúc các lớp đối tượng, các thuộc tính, phương thức và mối quan hệ (1-1, 1-n, n-n) trong cơ sở dữ liệu.
Nội dung chính theo từng chương
Chương 1: Overview (Tổng quan)
Chương này trình bày bối cảnh thực tiễn của sự phát triển công nghệ thông tin và thương mại điện tử, nêu rõ lý do lựa chọn đề tài xây dựng website bán máy tính trực tuyến bằng Laravel. Tác giả tiến hành khảo sát các website bán hàng trực tuyến hiện hành để rút ra các ưu điểm và hạn chế:
- Trang web khảo sát 1 & 2: Hoạt động tương đối nhanh, có mô tả sản phẩm nhưng công cụ tìm kiếm hoạt động chưa hiệu quả, bộ lọc sản phẩm theo giá không chính xác, thiếu tính năng gợi ý sản phẩm tương tự hoặc gặp lỗi ở chức năng đăng nhập/đăng ký.
- Trang web
sachhay24h.com: Giao diện bắt mắt, cho phép đặt hàng không cần đăng nhập, tích hợp thanh toán trực tuyến; tuy nhiên tốc độ tải trang còn chậm, chưa hiển thị rõ tỷ lệ giảm giá/logo và thiếu gợi ý sản phẩm liên quan.
- Trang web
bookbuy.vn: Bố cục rõ ràng, menu có biểu tượng giảm giá, hiển thị sản phẩm bán chạy/flash sale, hỗ trợ bình luận và đánh giá sản phẩm; nhưng thiếu chức năng đăng nhập tài khoản, không cho phép theo dõi trạng thái đơn hàng, không hỗ trợ tùy chọn số lượng sản phẩm khi mua và thông tin chi tiết sản phẩm còn hạn chế.
Từ kết quả khảo sát, tác giả xác định các yêu cầu chức năng cần có để khắc phục các nhược điểm trên khi xây dựng hệ thống mới.
Chương 2: Theoretical basis (Cơ sở lý thuyết)
Chương 2 tổng hợp toàn bộ nền tảng lý thuyết và công nghệ được sử dụng trong đồ án:
- Hệ quản trị CSDL MySQL: Giới thiệu cơ chế lưu trữ quan hệ, khả năng mở rộng dữ liệu và phân loại chi tiết các kiểu dữ liệu (Numeric, Date/Time, String).
- Công nghệ Web Client: Trình bày vai trò của HTML (phiên bản HTML5, cấu trúc thẻ tags), CSS (định dạng tập trung qua tệp ngoài, tiết kiệm thời gian chỉnh sửa) và JavaScript (ngôn ngữ kịch bản tương tác).
- Ngôn ngữ lập trình PHP: Phân tích lịch sử phát triển từ phiên bản PHP/FI (1994) do Rasmus Lerdorf phát triển, quy trình vận hành giữa Web Server và PHP Engine, cùng các ưu điểm (mã nguồn mở, tốc độ cao, thư viện phong phú) và nhược điểm.
- Mô hình MVC & Laravel Framework: Phân tích nguyên lý phân tách thành phần của mô hình MVC. Trình bày lịch sử phát triển Laravel (từ Laravel 1 đến Laravel 5.6), các tính năng nổi bật (Eloquent ORM, Migration, Artisan, Blade Template, Reverse Routing, SwiftMailer, IoC Container) và các điểm cần lưu ý về tích hợp cổng thanh toán bên thứ ba.
- Ngôn ngữ mô hình hóa UML: Khái quát các loại biểu đồ trong UML và giải thích ý nghĩa các ký hiệu quan hệ (Association, Dependency, Aggregation, Generalization, Composition).
Chương 3: System design analysis (Phân tích thiết kế hệ thống)
Chương 3 tập trung vào việc chuyển hóa các yêu cầu nghiệp vụ thành mô hình kỹ thuật chi tiết:
- Đặc tả chi tiết các nhóm chức năng cho phân hệ Quản trị (Admin) và phân hệ Khách hàng (Customer).
- Xây dựng hệ thống biểu đồ Use Case tổng quát và 17 biểu đồ Use Case thành phần kèm bảng đặc tả luồng sự kiện chính/phụ.
- Thiết lập 20 biểu đồ hoạt động (Activity Diagrams) cho các luồng xử lý nghiệp vụ cụ thể.
- Xây dựng biểu đồ tuần tự (Sequence Diagrams), biểu đồ lớp (Class Diagram) và mô hình liên kết thực thể (Entity Association Model) phục vụ thiết kế cơ sở dữ liệu.
Chương 4: Installation and testing results (Cài đặt và kết quả thử nghiệm)
Chương 4 trình bày kết quả hiện thực hóa hệ thống thông qua việc triển khai các giao diện chức năng trên môi trường thực tế:
- Giao diện phân hệ Quản trị (Admin):
- Trang tổng quan thống kê số liệu kinh doanh và báo cáo.
- Trang quản lý thông tin quản trị viên và tài khoản admin.
- Trang quản lý danh mục sản phẩm, nhà sản xuất và dữ liệu sản phẩm.
- Trang quản lý kho hàng và kiểm soát tồn kho.
- Trang quản lý chuyên mục bài viết và quản lý bài viết tin tức.
- Trang quản lý tài khoản người dùng hệ thống.
- Trang quản lý danh sách đánh giá và danh sách bình luận sản phẩm.
- Trang quản lý đơn đặt hàng và trạng thái đơn hàng.
- Trang quản lý trình chiếu (slide), sự kiện và quản lý trang tĩnh.
- Giao diện phân hệ Khách hàng (Frontend):
- Trang chủ hiển thị danh mục, banner, sản phẩm mới, sản phẩm bán chạy và tin tức nổi bật.
- Trang chi tiết sản phẩm kèm khu vực đánh giá và bình luận.
- Trang chi tiết bài viết tin tức.
- Trang giỏ hàng, trang tìm kiếm và bộ lọc sản phẩm.
- Trang quản lý thông tin tài khoản cá nhân và lịch sử hoạt động.
- Trang gửi thông tin liên hệ và trang thanh toán đơn hàng.
Kết quả và đóng góp
Kết quả đạt được
- Về mặt phân tích thiết kế: Hoàn thành tài liệu phân tích hệ thống hoàn chỉnh với 17 biểu đồ usecase, 12 bảng đặc tả usecase chi tiết, 20 biểu đồ hoạt động và hệ thống biểu đồ tuần tự, biểu đồ lớp, lược đồ CSDL.
- Về mặt sản phẩm phần mềm: Triển khai thành công website thương mại điện tử hoàn chỉnh trên nền tảng Laravel framework, vận hành đầy đủ hai phân hệ Admin và Frontend khách hàng với 18 nhóm chức năng quản trị và 8 nhóm chức năng người dùng.
- Về mặt dữ liệu: Thiết kế cơ sở dữ liệu quan hệ trên MySQL đáp ứng đầy đủ các quan hệ thực thể, lưu trữ thông tin sản phẩm, danh mục, bài viết, người dùng, đánh giá và đơn hàng.
Giải pháp tác giả đề xuất
- Khắc phục các điểm yếu từ các hệ thống được khảo sát bằng cách tích hợp đồng bộ chức năng tài khoản (đăng nhập/đăng ký), công cụ tìm kiếm sản phẩm, tính năng bình luận/đánh giá trực tiếp trên sản phẩm và quy trình đặt hàng rõ ràng.
- Tổ chức phân quyền quản trị chặt chẽ, cho phép quản lý chi tiết từ thông tin sản phẩm, thuộc tính, nhà sản xuất, từ khóa đến kiểm soát tồn kho và trạng thái đơn hàng.
Đóng góp thực tiễn
- Đồ án cung cấp một mô hình ứng dụng web thương mại điện tử hoàn chỉnh theo kiến trúc MVC sử dụng Laravel framework, có thể ứng dụng trực tiếp cho các cửa hàng kinh doanh thiết bị điện tử, máy tính nhằm mở rộng kênh bán hàng trực tuyến và tối ưu hóa quy trình quản lý bán lẻ.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
- Hệ thống ứng dụng web khi tải lại trang hoàn chỉnh (full page reload) trên thiết bị di động có thể tạo cảm giác nặng hơn so với ứng dụng di động native thuần túy.
- Việc tích hợp các cổng thanh toán trực tuyến từ bên thứ ba (như Stripe, PayPal) cần phải tuân thủ nghiêm ngặt các quy định tiêu chuẩn bảo mật thẻ thanh toán (PCI compliance).
- Sự khác biệt và thiếu tính liên tục khi nâng cấp mã nguồn giữa các phiên bản framework lớn (như từ Laravel 4 lên Laravel 5) đòi hỏi quy trình bảo trì cẩn trọng để tránh xung đột hệ thống.
Hướng phát triển tiếp theo
- Tiếp tục hoàn thiện quy trình quản lý hệ thống, nâng cấp tính năng đăng tin và quản lý bán hàng theo hướng thân thiện và tiện lợi hơn cho người quản trị.
- Nghiên cứu tối ưu hóa hiệu năng giao diện đa nền tảng, có thể kết hợp xây dựng API backend theo định dạng JSON để phục vụ các nền tảng ứng dụng di động trong tương lai.
Giá trị tham khảo
Tài liệu đồ án tốt nghiệp này mang lại giá trị tham khảo thiết thực cho:
- Sinh viên ngành Công nghệ thông tin / Kỹ thuật máy tính: Tham khảo cấu trúc của một đồ án tốt nghiệp chuẩn về phát triển ứng dụng web, từ bước khảo sát hiện trạng, nghiên cứu cơ sở lý thuyết (PHP, MySQL, Laravel), đến phân tích thiết kế hệ thống bằng UML.
- Lập trình viên web mới tiếp cận Laravel Framework: Cung cấp tài liệu tổng hợp về kiến trúc MVC, quy trình hoạt động của Eloquent ORM, Artisan CLI, Blade Directives (
@csrf, @method) và cách tổ chức các tầng xử lý trong ứng dụng web thương mại điện tử.
- Phần đáng tham khảo nhất trong tài liệu: Chương 3 với hệ thống biểu đồ Use Case, Activity Diagram và các bảng đặc tả luồng sự kiện chi tiết cho 18 nhóm chức năng quản trị và nghiệp vụ mua sắm trực tuyến.
Câu hỏi thường gặp
1. Đồ án này do ai thực hiện, thuộc đơn vị đào tạo nào và người hướng dẫn là ai?
Đồ án do sinh viên Trần Đình Hoàng (Mã sinh viên: 19071604, Lớp: ICE, Mã học phần: INS401401, Ngành: Tin học và Kỹ thuật máy tính - Informatics and Computer Engineering) thực hiện tại Trường Quốc tế - Đại học Quốc gia Hà Nội (Vietnam National University, Hanoi - International School) vào năm 2024, dưới sự hướng dẫn của GS. / TS. Kim Đình Thái.
2. Tác giả đã chỉ ra những nhược điểm gì ở các website bán hàng được khảo sát trong Chương 1?
Qua khảo sát các trang web thương mại điện tử thực tế, tác giả chỉ ra các hạn chế chính:
- Công cụ tìm kiếm kém hiệu quả, lọc sản phẩm theo giá không chính xác, thiếu tính năng gợi ý sản phẩm tương tự.
- Một số website gặp lỗi ở chức năng đăng nhập/đăng ký, giao diện cũ hoặc tốc độ tải trang chậm.
- Trang
bookbuy.vn không có chức năng đăng nhập, không theo dõi được đơn hàng, không chọn được số lượng mua và thông tin sản phẩm bị giới hạn.
3. Phân hệ Quản trị (Admin) trong hệ thống gồm những nhóm chức năng chính nào?
Phân hệ Admin được thiết kế với 5 nhóm chức năng quản trị bao gồm:
- Nhóm quản lý sản phẩm: Quản lý danh mục sản phẩm, nhà sản xuất, kiểu/thuộc tính sản phẩm, từ khóa và sản phẩm (tìm kiếm, chuyển thông tin).
- Nhóm quản lý bài viết: Quản lý thể loại bài viết và quản lý bài viết.
- Nhóm quản lý tài khoản & tương tác: Quản lý người dùng, đánh giá, bình luận, liên hệ.
- Nhóm quản lý đơn hàng: Tìm kiếm, xuất dữ liệu, theo dõi đơn hàng, sửa trạng thái và xóa đơn hàng.
- Nhóm quản lý hệ thống: Quản lý trình chiếu (slide), sự kiện, trang tĩnh và xem báo cáo thống kê.
4. Hệ quản trị cơ sở dữ liệu MySQL được tác giả mô tả có những đặc điểm kỹ thuật nào?
MySQL là hệ quản trị CSDL quan hệ mã nguồn mở sử dụng chuẩn SQL, tương thích tối ưu với PHP. Hệ thống hỗ trợ xử lý CSDL quy mô lớn lên đến 50 triệu dòng trong một bảng, kích thước tệp bảng mặc định là 4 GB và có thể mở rộng theo hệ điều hành lên đến 8 TB. Cơ sở dữ liệu hỗ trợ đa dạng các kiểu dữ liệu số, ngày giờ và chuỗi (CHAR, TEXT, BLOB, ENUM...).
5. Laravel 5.6 được tác giả giới thiệu có những điểm mới nổi bật nào?
Trong Chương 2, tác giả ghi nhận Laravel 5.6 có các cải tiến mới bao gồm:
- Cải tiến hệ thống Logging, chuyển toàn bộ cấu hình vào thư mục
config/logging.
- Lập lịch tác vụ trên một máy chủ đơn (Single server task scheduling).
- Giới hạn tần suất truy cập động (Dynamic rate limiting).
- Bổ sung hai chỉ thị Blade form mới là
@method và @csrf.
- Mặc định hỗ trợ Bootstrap 4 thay cho Bootstrap 3.
Kết luận
Đồ án tốt nghiệp "Thiết kế và Triển khai Website Thương Mại Điện Tử Bán Thiết Bị Điện Tử" của sinh viên Trần Đình Hoàng đã giải quyết thành công bài toán xây dựng một hệ thống bán hàng trực tuyến hoàn chỉnh dựa trên Laravel framework và cơ sở dữ liệu MySQL. Đề tài đã thực hiện nghiêm túc quy trình công nghệ phần mềm từ khảo sát thực tế, hệ thống hóa cơ sở lý thuyết, phân tích thiết kế chi tiết bằng ngôn ngữ mô hình hóa UML đến cài đặt và thử nghiệm giao diện thực tế cho cả hai phân hệ Quản trị và Khách hàng. Hệ thống hoàn thiện đáp ứng tốt các yêu cầu nghiệp vụ thương mại điện tử, có tính ứng dụng thực tiễn cao và đóng vai trò là tài liệu tham khảo có giá trị cho sinh viên chuyên ngành Tin học và Kỹ thuật máy tính.