Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh chuyển đổi số và xu thế toàn cầu hóa, hoạt động kinh doanh trực tuyến ngày càng trở thành phương thức cạnh tranh tất yếu của các tổ chức, doanh nghiệp. So với mô hình thương mại truyền thống, thương mại điện tử (TMĐT) thể hiện ưu thế rõ nét về mặt tối ưu chi phí vận hành, nâng cao hiệu quả thương mại và mở rộng khả năng tiếp cận khách hàng thông qua mạng Internet kết hợp với các dịch vụ giao nhận tận nơi. Tuy nhiên, theo ghi nhận của tác giả tại thời điểm nghiên cứu, lĩnh vực TMĐT tại Việt Nam vẫn còn tương đối mới; nhiều doanh nghiệp chưa triển khai ứng dụng TMĐT một cách bài bản và đúng nghĩa vào quy trình trao đổi mua bán. Đồng thời, các công cụ lập trình và giải pháp kỹ thuật chưa được phổ cập sâu rộng, dẫn đến tình trạng nhiều hệ thống bán hàng trực tuyến còn tồn tại hạn chế về tốc độ tải trang cũng như độ trễ trong quá trình xử lý luồng thông tin giữa người dùng và máy chủ. Xuất phát từ thực trạng đó, tác giả lựa chọn thực hiện đề tài "Nghiên cứu và ứng dụng framework Laravel vào xây dựng website bán sách" (tên gọi khác được nêu trong phần mở đầu là "Xây dựng website bán hàng dành cho hiệu sách điện tử sử dụng PHP Laravel").
Theo văn bản khóa luận, mục tiêu nghiên cứu của đề tài được xác định cụ thể qua các nhiệm vụ sau:
- Phân tích và thiết kế hệ thống thông tin, chuẩn hóa các chức năng của một website thương mại điện tử.
- Ứng dụng Framework Laravel để xây dựng hoàn chỉnh hệ thống website bán sách trực tuyến.
- Đáp ứng nhu cầu tra cứu, tìm kiếm sản phẩm của người dùng; kiến tạo môi trường mua sắm sách trực quan, thuận tiện và dễ thao tác cho nhiều nhóm đối tượng.
- Cung cấp cho khách hàng cái nhìn chi tiết và đầy đủ về thông tin, đặc tính của từng đầu sách.
- Rút ngắn khoảng cách tương tác và quy trình giao dịch giữa người mua và người bán.
- Đơn giản hóa công tác quản lý sản phẩm, theo dõi tình hình kinh doanh cho đơn vị quản trị.
- Thiết lập hệ thống phân loại, sắp xếp sản phẩm khoa học nhằm hỗ trợ tìm kiếm chính xác và nhanh chóng.
- Cải thiện tốc độ xử lý dữ liệu của hệ thống, mang lại cảm nhận và trải nghiệm tốt cho người dùng.
Đối tượng và phạm vi nghiên cứu của khóa luận được phân định rõ ràng:
- Đối tượng nghiên cứu: Các công cụ hỗ trợ phân tích và thiết kế hệ thống hướng đối tượng (UML); nền tảng ngôn ngữ lập trình PHP và Framework Laravel; quy trình nghiệp vụ bán hàng trực tuyến, áp dụng khuyến mại, quy trình giao hàng và phương thức thanh toán.
- Phạm vi nghiên cứu:
- Thời gian thực hiện: Khóa luận được tiến hành trong khoảng thời gian từ ngày 01/5/2023 đến ngày 01/7/2023 (hoàn thành báo cáo ngày 05/7/2023).
- Nội dung và kỹ thuật: Tập trung tìm hiểu hệ quản trị cơ sở dữ liệu MySQL; nghiên cứu ngôn ngữ PHP và Framework Laravel cho tầng xử lý phía máy chủ (Back-end); ứng dụng ngôn ngữ HTML, CSS và thư viện Bootstrap cho tầng giao diện người dùng (Front-end); chuẩn hóa và mô hình hóa quy trình nghiệp vụ bán sách online.
Cơ sở lý thuyết và phương pháp
Khóa luận thiết lập nền tảng nghiên cứu dựa trên hệ thống cơ sở lý luận về thương mại điện tử và kỹ thuật phần mềm, kết hợp với các văn bản quy định của cơ quan quản lý nhà nước:
- Khung lý thuyết và quy chuẩn pháp lý về thương mại điện tử:
- Tác giả phân loại website thành hai dạng cơ bản: Website tĩnh (chỉ sử dụng HTML, hiển thị thông tin cố định, thiếu tương tác) và Website động (sử dụng ngôn ngữ lập trình như PHP, ASP.NET kết hợp cơ sở dữ liệu như MySQL, SQL Server, hỗ trợ xử lý thông tin hai chiều).
- Cấu tạo hạ tầng kỹ thuật của website gồm ba thành phần bắt buộc: Tên miền (Domain), Máy chủ lưu trữ (Web hosting) và Mã nguồn (Source code).
- Khái niệm website TMĐT được làm rõ theo hai hình thức tổ chức: Website thương mại điện tử bán hàng (do cá nhân/tổ chức tự thiết lập để bán sản phẩm, cung ứng dịch vụ của mình) và Website cung cấp dịch vụ thương mại điện tử (sàn giao dịch TMĐT, website đấu giá trực tuyến, website khuyến mại trực tuyến).
- Tác giả trích dẫn 4 nguyên tắc hoạt động TMĐT và các điều kiện pháp lý thành lập website theo quy định của Bộ Công Thương, bao gồm: yêu cầu về mã số thuế cá nhân/doanh nghiệp, nghĩa vụ thông báo thiết lập website bán hàng, thủ tục đăng ký đề án cung cấp dịch vụ TMĐT và trách nhiệm bảo vệ quyền lợi người tiêu dùng.
- Khung kiến trúc phần mềm và công nghệ:
- Mô hình kiến trúc MVC (Model - View - Controller): Phân tách ứng dụng thành 3 thành phần độc lập: Model (chứa nghiệp vụ logic, xử lý và truy xuất dữ liệu), View (đảm nhận hiển thị giao diện GUI, tiếp nhận tương tác), Controller (điều hướng yêu cầu từ URL/form đến Model và trả kết quả về View).
- Ngôn ngữ và Framework: Ngôn ngữ đánh dấu siêu văn bản HTML (cấu trúc gồm
<!DOCTYPE html>, <head>, <body>); ngôn ngữ định dạng CSS với 3 phương pháp nhúng (inline, internal, external); thư viện Bootstrap (nguồn gốc từ Twitter) hỗ trợ giao diện đáp ứng (responsive); ngôn ngữ PHP (kịch bản phía server, hỗ trợ mở rộng PHP-GTK); Framework Laravel (mã nguồn mở do Taylor Otwell phát triển từ tháng 6/2011 thay thế CodeIgniter); hệ quản trị cơ sở dữ liệu quan hệ MySQL và ngôn ngữ SQL với 4 nhóm lệnh chính (DDL, DML, DQL, DCL).
- Phương pháp nghiên cứu thực tế:
- Phương pháp nghiên cứu tài liệu: Thu thập, khảo cứu các tài liệu kỹ thuật về quy trình kinh doanh bán hàng trực tuyến, tài liệu hướng dẫn phát triển phần mềm chuyên ngành.
- Phương pháp phân tích và lựa chọn giải pháp: Đánh giá ưu nhược điểm của các công cụ, giải pháp mã nguồn mở để lựa chọn ngăn xếp công nghệ (tech stack) phù hợp cho bài toán hiệu sách điện tử.
- Phương pháp thiết kế hệ thống hướng đối tượng: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để biểu diễn các yêu cầu chức năng, hành vi và tương tác của hệ thống.
- Phương pháp tham vấn chuyên gia: Tiếp thu chỉ dẫn chuyên môn và góp ý trực tiếp từ giảng viên hướng dẫn (ThS. Nguyễn Việt Đức) trong suốt quá trình triển khai khóa luận.
- Nguồn dữ liệu: Tài liệu phát triển chính thức của Laravel, tài liệu kỹ thuật Bootstrap, tiêu chuẩn Web của World Wide Web Consortium (W3C), các tài liệu nghiệp vụ TMĐT và quy định quản lý của Bộ Công Thương.
Thiết kế và triển khai
Là một đồ án xây dựng hệ thống phần mềm hoàn chỉnh, tác giả đã tiến hành phân tích chi tiết các yêu cầu kỹ thuật, đặc tả kiến trúc, thiết kế cơ sở dữ liệu và hiện thực hóa mã nguồn.
1. Kiến trúc kỹ thuật và môi trường vận hành
Hệ thống được thiết kế theo mô hình 3 lớp dựa trên nền tảng kiến trúc MVC của Laravel. Môi trường vận hành và các ràng buộc phi chức năng được chuẩn hóa như sau:
| Hạng mục |
Quy cách kỹ thuật theo công bố của tác giả |
| Front-end |
HTML5, CSS3, Thư viện Bootstrap (cài đặt trực tiếp hoặc liên kết CDN) |
| Back-end |
Ngôn ngữ PHP, Framework Laravel; hỗ trợ ảo hóa môi trường qua Laradock (Docker), quản lý gói Composer, công cụ CLI Artisan |
| Cơ sở dữ liệu |
MySQL Server (cổng 3306, thiết lập bảng mã utf8_general_ci, kết nối qua biến môi trường .env với DB_DATABASE=bookshop, DB_USERNAME=root) |
| Yêu cầu Server |
CPU Intel Core 2 Duo, RAM tối thiểu 2GB, hệ điều hành Windows 2003 hoặc Windows Vista/7 trở lên, môi trường mạng Internet |
| Yêu cầu Client |
Thiết bị đa nền tảng (máy tính cá nhân, điện thoại thông minh, máy tính bảng); trình duyệt Microsoft Internet Explorer, Mozilla Firefox, Google Chrome |
| Hiệu suất |
Thời gian tải trang từ máy chủ quy định dưới 10 giây; hỗ trợ nhiều người dùng đăng nhập đồng thời |
| Bảo mật |
Xác thực phân quyền tài khoản (Khách hàng, Quản trị viên); mật khẩu mã hóa bằng thuật toán Bcrypt; sử dụng PDO chống SQL Injection, token CSRF và lọc biến XSS |
| Giao diện & Ngôn ngữ |
Giao diện đồng nhất font chữ, màu sắc; ngôn ngữ hiển thị toàn bộ bằng Tiếng Việt |
2. Thiết kế mô hình hóa hệ thống (UML)
Hệ thống xác định 2 tác nhân (actor) chính gồm: Khách hàng (người dùng chưa đăng ký hoặc đã có tài khoản thực hiện xem thông tin, mua sách, đánh giá) và Admin (người quản trị vận hành toàn bộ dữ liệu, danh mục, đơn hàng và báo cáo).
Tác giả đã xây dựng 17 Use Case (UC) chức năng cụ thể:
- Nhóm Use Case cho Khách hàng: Đăng ký (UC16), Đăng nhập (UC17), Tìm kiếm (UC08), Xem chi tiết sản phẩm (UC13), Đánh giá sản phẩm (UC12), Quản lý giỏ hàng (UC14), Mua hàng (UC15), Quản lý thông tin cá nhân (UC10), Xem lịch sử mua hàng (UC11).
- Nhóm Use Case cho Quản trị viên (Admin): Quản lý thông tin người dùng (UC01), Quản lý sản phẩm (UC02), Quản lý danh mục sản phẩm (UC03), Quản lý đơn hàng (UC04 / UC09), Báo cáo thống kê (UC05), Quản lý thông tin cá nhân Admin (UC06), Đổi mật khẩu (UC07).
Các tương tác động được mô tả chi tiết thông qua 12 biểu đồ tuần tự (Sequence Diagram) và 15 biểu đồ hoạt động (Activity Diagram), bao quát trọn vẹn các luồng nghiệp vụ: Đăng nhập, Đăng ký, Sửa thông tin cá nhân, Đổi mật khẩu, Tìm kiếm, Thêm giỏ hàng, Mua hàng, Thêm/Sửa/Xóa sản phẩm, Thêm/Sửa/Xóa danh mục, Thêm/Sửa/Xóa người dùng.
3. Thiết kế cơ sở dữ liệu quan hệ
Cơ sở dữ liệu của hệ thống mang tên bookshop được thiết kế dưới dạng mô hình quan hệ thực thể (ERD), bao gồm 8 bảng dữ liệu chính:
| Tên bảng CSDL |
Mục đích lưu trữ và vai trò trong hệ thống |
User_informations |
Lưu trữ thông tin chi tiết về người dùng, tài khoản, mật khẩu mã hóa và quyền hạn |
Sub_categories |
Quản lý danh mục con nhằm phân loại chi tiết các thể loại sách |
Product_sub_cate |
Bảng liên kết trung gian thể hiện quan hệ giữa sản phẩm sách và danh mục con |
Product_infomartion |
Lưu trữ toàn bộ thông tin chi tiết của sách (tên sách, giá bán, mô tả, nhà xuất bản...) |
image_products |
Lưu trữ danh sách đường dẫn hình ảnh đại diện và chi tiết của từng cuốn sách |
Order_product |
Quản lý thông tin giao dịch đơn hàng, chi tiết sách đặt mua và trạng thái đơn |
Code_sales |
Lưu trữ và xử lý các mã giảm giá, chương trình khuyến mãi cho đơn hàng |
Personal_access_tokens |
Quản lý chuỗi mã token phục vụ cơ chế xác thực tài khoản và an toàn phiên làm việc |
Nội dung chính theo từng chương
Chương I: Tổng quan về phát triển website thương mại điện tử
Chương I tập trung hệ thống hóa toàn bộ lý luận chuyên ngành về Internet, ứng dụng web và thương mại điện tử, đồng thời đánh giá cơ sở công nghệ lựa chọn cho đề tài:
- Phân tích sự khác biệt bản chất giữa website tĩnh và website động, chỉ ra rằng website TMĐT bắt buộc phải là website động để đảm bảo năng lực tương tác và cập nhật dữ liệu.
- Phân tích cơ sở pháp lý và điều kiện vận hành TMĐT tại Việt Nam theo các quy chuẩn của Bộ Công Thương; nêu rõ 4 nguyên tắc hoạt động tự do thỏa thuận, xác định phạm vi, bảo vệ quyền lợi người tiêu dùng và điều kiện kinh doanh.
- Trình bày đặc tính kỹ thuật của ngôn ngữ HTML, CSS và Bootstrap; phân tích ưu điểm dễ học, miễn phí, tính linh hoạt và khả năng kết nối đa cơ sở dữ liệu của PHP, đồng thời chỉ ra các nhược điểm về bảo mật mã nguồn mở và giao diện ban đầu.
- Đi sâu vào kiến trúc MVC, phân tích cơ chế luồng sự kiện từ View qua Controller tới Model.
- Đánh giá toàn diện Framework Laravel: lịch sử hình thành từ năm 2011 bởi Taylor Otwell; phân tích các tính năng cốt lõi như Eloquent ORM (hỗ trợ các quan hệ: one-to-one, one-to-many, many-to-many, has-many-through, polymorphic, many-to-many polymorphic), cơ chế bảo mật (PDO, CSRF token, XSS escaping), dòng lệnh Artisan, công cụ di chuyển cơ sở dữ liệu Migration, hỗ trợ SwiftMailer, và công cụ triển khai Laradock trên nền Docker.
- Khảo cứu hệ quản trị MySQL và các nhóm lệnh truy vấn SQL (DDL, DML, DQL, DCL), làm căn cứ lựa chọn giải pháp kỹ thuật cho hệ thống ở Chương II.
Chương II: Phân tích và thiết kế hệ thống
Chương II là trọng tâm kỹ thuật của khóa luận, chuyển hóa các yêu cầu bài toán hiệu sách điện tử thành mô hình thiết kế phần mềm chi tiết:
- Xác định mục tiêu xây dựng kênh giao dịch hiện đại, đa nền tảng, tạo thuận tiện cho người mua và hỗ trợ quản lý toàn diện cho người bán.
- Phân rã yêu cầu hệ thống thành hai phân hệ rõ rệt: yêu cầu chức năng (6 chức năng phía Khách hàng: đăng nhập, đăng ký, tìm kiếm, giỏ hàng, mua hàng, bình luận; 6 chức năng phía Admin: đăng nhập, quản lý người dùng, quản lý sản phẩm, quản lý danh mục, quản lý đơn hàng, báo cáo) và yêu cầu phi chức năng (hiệu năng tải trang dưới 10 giây, cơ chế bảo mật mật khẩu Bcrypt, tương thích đa trình duyệt).
- Mô hình hóa hệ thống thông qua biểu đồ Use Case tổng quát và 17 biểu đồ đặc tả Use Case chi tiết kèm theo bảng mô tả tác nhân, điều kiện tiên quyết và luồng sự kiện chính.
- Xây dựng 12 biểu đồ tuần tự (Sequence Diagram) để làm rõ thứ tự trao đổi thông điệp giữa các đối tượng giao diện, bộ điều khiển, mô hình dữ liệu và cơ sở dữ liệu trong từng nghiệp vụ.
- Thiết lập 15 biểu đồ hoạt động (Activity Diagram) thể hiện chi tiết luồng xử lý nghiệp vụ, các nhánh điều kiện logic khi người dùng thao tác trên hệ thống.
- Thiết kế mô hình cơ sở dữ liệu quan hệ (ERD) và chi tiết hóa cấu trúc của 8 bảng vật lý lưu trữ dữ liệu thực tế cho hệ thống bán sách.
Chương III: Kết quả, thành phẩm nghiên cứu
Chương III trình bày kết quả hiện thực hóa phần mềm thông qua hệ thống giao diện trực quan và các chức năng đã được lập trình hoàn chỉnh:
- Giao diện trang chủ: Được chia thành các phần hiển thị danh mục sách, banner quảng bá, danh sách sách mới cập nhật và sách bán chạy.
- Phân hệ chức năng dành cho Quản trị viên (Admin):
- Chức năng thống kê: Báo cáo số lượng đơn hàng, doanh thu theo ngày và theo tháng; thống kê số lượng tài khoản đăng ký mới, số lượng đầu sách mới nhập và danh sách sản phẩm bán chạy.
- Chức năng quản lý người dùng: Cung cấp giao diện xem danh sách, thêm, sửa, xóa và phân chia quyền hạn tài khoản.
- Chức năng quản lý danh mục và danh mục con: Cho phép cấu trúc hóa các thể loại sách đa tầng.
- Chức năng quản lý sản phẩm: Quản lý thông tin chi tiết sách, cập nhật giá, số lượng tồn kho và hình ảnh sản phẩm.
- Chức năng quản lý đơn hàng: Xem danh sách đơn đặt hàng từ khách hàng, theo dõi thông tin người nhận và thực hiện phê duyệt đơn.
- Phân hệ chức năng dành cho Khách hàng:
- Tài khoản cá nhân: Giao diện đăng ký, đăng nhập hệ thống có kiểm tra tính hợp lệ của dữ liệu đầu vào và kiểm tra trùng lặp email; giao diện cập nhật thông tin cá nhân và chức năng đổi mật khẩu.
- Tương tác mua sắm: Chức năng tìm kiếm sản phẩm theo tên sách; chức năng xem chi tiết thông tin và đánh giá/bình luận về sách; chức năng quản lý giỏ hàng trực quan (phân biệt trạng thái giỏ hàng trống và giỏ hàng có sản phẩm, cho phép tăng/giảm số lượng hoặc xóa mặt hàng); chức năng thanh toán đơn hàng với bước bổ sung thông tin giao nhận và chọn phương thức thanh toán; chức năng theo dõi lịch sử đặt mua hàng.
Kết quả và đóng góp
Căn cứ trên các nội dung được trình bày trong toàn bộ khóa luận, tác giả đã đạt được các kết quả cụ thể:
- Kết quả kỹ thuật và sản phẩm cụ thể:
- Xây dựng hoàn chỉnh website bán sách trực tuyến hoạt động trên môi trường web đa nền tảng, kết hợp giữa Back-end (Laravel/PHP), Front-end (HTML, CSS, Bootstrap) và cơ sở dữ liệu MySQL (
bookshop).
- Thiết kế và cấu trúc hóa thành công cơ sở dữ liệu gồm 8 bảng nghiệp vụ chuyên biệt (
User_informations, Sub_categories, Product_sub_cate, Product_infomartion, image_products, Order_product, Code_sales, Personal_access_tokens).
- Hiện thực hóa đầy đủ 17 Use Case nghiệp vụ từ bài toán thực tế, bao quát trọn vẹn cả hai phân hệ Quản trị viên và Khách hàng; triển khai thành công hơn 15 màn hình giao diện chức năng chính từ trang chủ, dashboard thống kê đến các form xử lý giao dịch.
- Cài đặt thành công các cơ chế an toàn dữ liệu cơ bản theo đúng đặc tả: mã hóa mật khẩu người dùng bằng Bcrypt, sử dụng tham số PDO chống tấn công SQL Injection, cơ chế token phòng vệ CSRF.
- Giải pháp và đề xuất của tác giả:
- Đề xuất quy trình phát triển website TMĐT dựa trên Framework Laravel nhằm rút ngắn thời gian lập trình, giảm thiểu việc viết lại mã nguồn trùng lặp nhờ hệ thống dòng lệnh Artisan và công cụ Migration.
- Khuyến nghị áp dụng mô hình kiến trúc MVC để phân tách rành mạch mã nguồn, nâng cao tính chuyên nghiệp, giúp dự án dễ bảo trì và mở rộng trong tương lai.
- Đề xuất phân cấp danh mục thành danh mục chính và danh mục con (
Sub_categories), hỗ trợ tổ chức kho sách khoa học, giúp người mua định vị sản phẩm nhanh chóng.
- Đóng góp tự nêu của tác giả:
- Đồ án đã vận dụng thành công lý thuyết phân tích thiết kế hệ thống thông tin hướng đối tượng vào một bài toán thương mại điện tử cụ thể trong lĩnh vực kinh doanh sách.
- Cung cấp tài liệu thiết kế chi tiết bao gồm hệ thống biểu đồ UML hoàn chỉnh (Use Case, Biểu đồ tuần tự, Biểu đồ hoạt động) và lược đồ CSDL, đóng vai trò là một mô hình tham khảo có tính ứng dụng thực tiễn cho việc phát triển website thương mại điện tử quy mô vừa và nhỏ bằng PHP Laravel.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận đã thẳng thắn chỉ ra những điểm còn tồn tại và xác định định hướng phát triển trong tương lai dựa trên chính văn bản báo cáo:
- Hạn chế của đề tài:
- Thiếu hụt cổng thanh toán trực tuyến tự động: Tác giả chỉ rõ trong phần đánh giá nhược điểm của công nghệ rằng Laravel không hỗ trợ sẵn tính năng thanh toán; hệ thống trong đồ án mới chỉ dừng lại ở quy trình chọn phương thức thanh toán thủ công (như thanh toán qua bưu điện hoặc chuyển khoản ngân hàng), chưa tích hợp các cổng thanh toán điện tử trực tiếp (Payment Gateway).
- Độ trễ trên thiết bị di động: Bản thân nền tảng Laravel có cấu trúc tương đối nặng đối với ứng dụng di động, dẫn đến tốc độ tải trang trên các thiết bị này có thời điểm còn chậm.
- Vấn đề phụ thuộc phiên bản: Việc liên kết giữa các phiên bản Laravel tiềm ẩn rủi ro phá vỡ cấu trúc ứng dụng khi nâng cấp mã nguồn.
- Giới hạn thời gian nghiên cứu: Quá trình thực hiện diễn ra trong phạm vi thời gian ngắn (2 tháng, từ 01/5/2023 đến 01/7/2023), do đó hệ thống chỉ tập trung giải quyết các chức năng cốt lõi, chưa mở rộng các thuật toán thông minh (như gợi ý sách theo sở thích người dùng hay tiếp thị tự động qua email dù Laravel có SwiftMailer).
- Hướng nghiên cứu tiếp (Định hướng phát triển):
- Nghiên cứu tích hợp các giải pháp cổng thanh toán trực tuyến chuyên nghiệp nhằm tự động hóa hoàn toàn quy trình mua hàng và thanh toán.
- Tối ưu hóa cấu hình hệ thống và tận dụng các cơ chế bộ nhớ đệm (Cache backend như Redis, Memcached) được Laravel hỗ trợ nhằm nâng cao tốc độ tải trang, đặc biệt là trên các trình duyệt của thiết bị di động.
- Nâng cấp và mở rộng các tính năng quản trị nâng cao, tối ưu hóa các module báo cáo thống kê chuyên sâu và phát triển thêm các tiện ích tương tác với khách hàng.
Giá trị tham khảo
Báo cáo khóa luận mang lại giá trị tham khảo hữu ích cho các nhóm đối tượng nghiên cứu và học tập cụ thể:
- Đối tượng thụ hưởng:
- Sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm, Hệ thống thông tin đang thực hiện đồ án chuyên ngành hoặc khóa luận tốt nghiệp về đề tài xây dựng website thương mại điện tử.
- Lập trình viên mới tiếp cận ngôn ngữ PHP và Framework Laravel cần tìm kiếm tài liệu mẫu về cách thức thiết lập dự án web theo mô hình MVC kết hợp hệ quản trị MySQL.
- Nội dung đáng tham khảo nhất:
- Chương II (Phân tích và thiết kế hệ thống): Đây là phần có giá trị tham khảo cao nhất của khóa luận nhờ hệ thống hóa đầy đủ và bài bản các biểu đồ UML (Use Case, Sequence Diagram, Activity Diagram) cùng các bảng đặc tả luồng sự kiện chi tiết cho 17 ca sử dụng nghiệp vụ bán hàng.
- Thiết kế cơ sở dữ liệu và cấu hình kết nối: Cấu trúc 8 bảng quan hệ của cơ sở dữ liệu
bookshop cùng phương thức cấu hình kết nối thông qua file môi trường .env và config/database.php của Laravel cung cấp một khuôn mẫu thực hành chuẩn xác, có thể tái sử dụng trực tiếp cho các hệ thống bán hàng tương tự.
Câu hỏi thường gặp
1. Khóa luận sử dụng các công nghệ, ngôn ngữ và framework nào để xây dựng hệ thống website bán sách?
Hệ thống sử dụng ngăn xếp công nghệ bao gồm: ngôn ngữ HTML5, CSS3 và thư viện Bootstrap cho tầng giao diện người dùng (Front-end); ngôn ngữ lập trình PHP kết hợp Framework Laravel theo mô hình kiến trúc MVC cho tầng xử lý máy chủ (Back-end); hệ quản trị cơ sở dữ liệu quan hệ MySQL cho tầng dữ liệu; cùng các công cụ hỗ trợ phát triển như Composer, Artisan CLI và nền tảng ảo hóa Laradock (Docker).
2. Thông số cấu hình kết nối cơ sở dữ liệu MySQL trong dự án Laravel được tác giả thiết lập như thế nào?
Theo nội dung công bố tại Chương I của văn bản, cơ sở dữ liệu được tạo trên phpMyAdmin với bảng mã utf8_general_ci. Các tham số kết nối được thiết lập trong tệp .env như sau:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bookshop
DB_USERNAME=root
DB_PASSWORD= (để trống mật khẩu mặc định trên máy chủ cục bộ)
3. Hệ thống website được thiết kế phục vụ những tác nhân nào và bao gồm bao nhiêu Use Case chức năng?
Hệ thống được thiết kế phục vụ 2 tác nhân chính là Khách hàng và Admin (Quản trị viên), bao gồm tổng cộng 17 Use Case chức năng (được mã hóa từ UC01 đến UC17). Trong đó, Khách hàng thực hiện các chức năng như đăng ký, đăng nhập, tìm kiếm, xem chi tiết, đánh giá sách, quản lý giỏ hàng, đặt mua hàng, quản lý thông tin cá nhân và xem lịch sử đơn hàng. Admin thực hiện các chức năng quản lý người dùng, sản phẩm, danh mục, đơn hàng, báo cáo thống kê doanh thu và quản trị tài khoản cá nhân.
4. Tác giả đã đặt ra những yêu cầu phi chức năng cụ thể nào về hiệu suất và bảo mật cho hệ thống?
Trong Bảng 1 (Bảng đặc tả yêu cầu phi chức năng), tác giả quy định:
- Hiệu suất: Thời gian tải trang từ máy chủ phải đạt mức ít hơn 10 giây; hệ thống phải cho phép nhiều người dùng cùng đăng nhập đồng thời.
- Bảo mật: Phân quyền hệ thống thành 3 loại người dùng; toàn bộ dữ liệu tài khoản được lưu trữ an toàn trong cơ sở dữ liệu; mật khẩu người dùng bắt buộc phải được mã hóa bằng thuật toán Bcrypt; cơ sở dữ liệu phải được sao lưu thường xuyên và có khả năng phục hồi khi cần thiết.
5. Cơ sở dữ liệu của website bán sách gồm những bảng dữ liệu nào theo thiết kế của tác giả?
Theo danh mục bảng và thiết kế CSDL ở Chương II, cơ sở dữ liệu bookshop được tổ chức thành 8 bảng vật lý: User_informations (thông tin người dùng), Sub_categories (danh mục con), Product_sub_cate (liên kết sản phẩm - danh mục con), Product_infomartion (thông tin chi tiết sản phẩm sách), image_products (hình ảnh sản phẩm), Order_product (thông tin đơn hàng và sản phẩm đặt mua), Code_sales (mã giảm giá) và Personal_access_tokens (mã token xác thực).
Kết luận
Khóa luận tốt nghiệp "Nghiên cứu và ứng dụng framework Laravel vào xây dựng website bán sách" của sinh viên Nguyễn Văn Toản (Khoa Công nghệ thông tin & Điện tử viễn thông, Trường Đại học Hòa Bình) đã hoàn thành trọn vẹn quy trình nghiên cứu, phân tích thiết kế và hiện thực hóa một hệ sinh thái thương mại điện tử chuyên ngành sách. Bằng việc làm chủ mô hình kiến trúc MVC, Framework Laravel, hệ quản trị MySQL và thư viện Bootstrap, tác giả đã chuyển hóa thành công các yêu cầu nghiệp vụ thực tiễn thành hệ thống phần mềm có cấu trúc module rõ ràng, hoàn thiện đầy đủ 17 Use Case chức năng cho cả hai phân hệ người dùng và quản trị viên. Mặc dù còn một số hạn chế về việc thiếu tích hợp cổng thanh toán trực tuyến tự động và độ trễ trên môi trường di động, đồ án vẫn là một công trình nghiên cứu ứng dụng có kết cấu chặt chẽ, đóng vai trò tài liệu tham khảo thực nghiệm giá trị cho sinh viên và lập trình viên trong lĩnh vực phát triển ứng dụng web trên nền tảng PHP.