Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin và chuyển đổi số phát triển mạnh mẽ, việc ứng dụng các giải pháp tin học vào công tác quản trị kinh doanh đã trở thành yêu cầu thiết yếu đối với các doanh nghiệp nhằm thay thế các phương thức quản lý thủ công bằng giấy tờ, giảm thiểu chi phí nhân lực và nâng cao độ chính xác của thông tin. Hoạt động thương mại điện tử cho phép người tiêu dùng tiếp cận hàng hóa nhanh chóng, tiết kiệm thời gian và chi phí di chuyển, đồng thời mở rộng phạm vi quảng bá sản phẩm cho các đơn vị kinh doanh trên quy mô toàn quốc.
Khảo sát thực tế tại các chuỗi cửa hàng và doanh nghiệp chuyên doanh mặt hàng đồng hồ cho thấy phần lớn các đơn vị này chưa xây dựng và phát triển kênh quảng bá, phân phối sản phẩm trên nền tảng website trực tuyến. Điều này dẫn đến sự hạn chế trong việc tiếp cận khách hàng tiềm năng cũng như gây khó khăn trong công tác quản lý thông tin sản phẩm, đơn hàng và dữ liệu khách hàng. Nhằm giải quyết các bất cập trên, tác giả đã lựa chọn và thực hiện đề tài "Xây dựng Website bán đồng hồ EL" làm báo cáo kết thúc học phần đồ án chuyên ngành thuộc ngành Kỹ thuật phần mềm tại Viện Kỹ thuật Công nghệ – Trường Đại học Thủ Dầu Một.
Mục tiêu và nhiệm vụ nghiên cứu cụ thể bao gồm:
- Nghiên cứu tổng quan về thị trường kinh doanh đồng hồ và khảo sát nhu cầu thương mại điện tử của các cửa hàng, tiểu thương bán lẻ.
- Tìm hiểu và ứng dụng công nghệ phát triển web, bao gồm ngôn ngữ PHP, framework Laravel và hệ quản trị cơ sở dữ liệu MySQL.
- Phân tích, thiết kế hệ thống phần mềm: xây dựng sơ đồ phân rã chức năng, xác định các tác nhân (Actor), lập biểu đồ và đặc tả các Use Case, thiết kế biểu đồ hoạt động (Activity Diagram) và cấu trúc cơ sở dữ liệu quan hệ.
- Hiện thực hóa website với đầy đủ các phân hệ chức năng dành cho khách hàng (xem, tìm kiếm, lọc sản phẩm, giỏ hàng, thanh toán) và phân hệ quản trị dành cho quản lý (quản lý danh mục sản phẩm, loại, thương hiệu, vận chuyển, đơn đặt hàng, in hóa đơn và thống kê).
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Các sản phẩm đồng hồ đeo tay và quy trình kinh doanh, quản lý bán hàng liên quan.
- Phạm vi nghiên cứu: Khảo sát thông tin tại các cửa hàng, đơn vị chuyên kinh doanh đồng hồ trên thị trường; xây dựng ứng dụng web thương mại điện tử triển khai trên môi trường máy chủ cục bộ và cơ sở dữ liệu quan hệ.
- Cách tiếp cận: Thu thập thông tin, lấy ý kiến đóng góp từ các cửa hàng hiện hữu; phân tích nhu cầu cung ứng hàng hóa cho các đại lý bán lẻ và nghiên cứu các kỹ thuật lập trình web hiện đại.
Cơ sở lý thuyết và phương pháp
Đồ án vận dụng kiến trúc phần mềm và các công nghệ phát triển ứng dụng web mã nguồn mở tiêu chuẩn:
- Kiến trúc MVC (Model - View - Controller): Mô hình kiến trúc phân tách ứng dụng thành ba thành phần độc lập gồm xử lý nghiệp vụ dữ liệu (Model), giao diện hiển thị người dùng (View) và bộ điều hướng, phân luồng yêu cầu (Controller), giúp tối ưu hóa việc tổ chức mã nguồn và bảo trì hệ thống.
- Ngôn ngữ lập trình PHP: Ngôn ngữ kịch bản phía máy chủ (server-side script) mã nguồn mở, hỗ trợ nhúng trực tiếp vào mã HTML và tích hợp với nhiều hệ quản trị cơ sở dữ liệu.
- Framework Laravel: Khung phát triển ứng dụng web viết bằng PHP theo mô hình MVC, cung cấp cấu trúc lập trình chuẩn hóa, hỗ trợ các tính năng hiện đại như routing, middleware, bảo mật và tích hợp gửi thư điện tử qua thư viện SwiftMailer.
- Hệ quản trị cơ sở dữ liệu MySQL: Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở tốc độ cao, hỗ trợ ngôn ngữ truy vấn có cấu trúc SQL, đảm bảo tính toàn vẹn dữ liệu cho các giao dịch trực tuyến.
- Môi trường tích hợp XAMPP: Gói phần mềm đa nền tảng bao gồm máy chủ web Apache, MariaDB/MySQL, bộ thông dịch PHP và Perl, phục vụ công tác thử nghiệm và triển khai ứng dụng trên máy chủ cục bộ (local server).
Phương pháp nghiên cứu bao gồm phương pháp thu thập và phân tích dữ liệu thực tế kết hợp với phương pháp phân tích thiết kế hướng đối tượng (OOAD) sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng hệ thống use case, sơ đồ hoạt động và sơ đồ quan hệ thực thể (ERD).
Thiết kế và triển khai
Hệ thống được thiết kế phục vụ hai tác nhân chính với các quyền hạn và không gian làm việc tách biệt: Quản trị viên (Admin) và Khách hàng (User/Khách vãng lai).
| Tác nhân (Actor) |
Phạm vi quyền hạn |
Chức năng nghiệp vụ chính |
| Admin |
Toàn quyền quản trị hệ thống |
- Đăng nhập hệ thống quản trị - Quản lý Thương hiệu (Thêm, sửa, xóa, xem danh sách) - Quản lý Loại sản phẩm (Thêm, sửa, xóa, xem danh sách) - Quản lý Sản phẩm (Thêm, cập nhật, xóa, xem chi tiết) - Quản lý chi phí vận chuyển theo cấp địa lý (Tỉnh/Thành phố, Quận/Huyện, Xã/Phường) - Quản lý đơn đặt hàng, xem chi tiết đơn hàng, xuất hóa đơn PDF và thống kê doanh thu |
| Khách hàng |
Người dùng truy cập và mua hàng |
- Xem danh mục và chi tiết sản phẩm, danh sách sản phẩm liên quan - Tìm kiếm sản phẩm theo từ khóa ký tự - Lọc sản phẩm theo thương hiệu và loại sản phẩm - Quản lý giỏ hàng (Thêm sản phẩm, cập nhật số lượng, xóa) - Đặt hàng và thực hiện thanh toán (Thanh toán trực tiếp khi nhận hàng - COD hoặc thanh toán trực tuyến qua PayPal) |
Danh mục Use Case của hệ thống
Hệ thống bao gồm 12 Use Case chính được mô hình hóa và đặc tả chi tiết:
| Mã Use Case |
Tên Use Case |
Tác nhân thực hiện |
Mục đích và mô tả chức năng |
| UC_1 |
Đăng nhập |
Admin |
Xác thực quyền quản trị viên truy cập vào trang dashboard |
| UC_2 |
Quản lý Thương hiệu |
Admin |
Thực hiện thêm mới, chỉnh sửa thông tin, xóa và hiển thị danh sách thương hiệu đồng hồ |
| UC_3 |
Quản lý Loại sản phẩm |
Admin |
Thực hiện thêm mới, cập nhật, xóa và hiển thị danh mục các loại đồng hồ |
| UC_4 |
Quản lý Sản phẩm |
Admin |
Quản lý thông tin chi tiết đồng hồ (mã, tên, giá, số lượng, hình ảnh, loại, thương hiệu) |
| UC_5 |
Xem thông tin sản phẩm |
Admin, Khách hàng |
Hiển thị thông tin chi tiết sản phẩm và các sản phẩm cùng nhóm liên quan |
| UC_6 |
Đặt hàng |
Khách hàng |
Chọn sản phẩm và chuyển thông tin sản phẩm vào giỏ hàng với điều kiện số lượng kho đáp ứng đủ |
| UC_7 |
Lọc sản phẩm |
Admin, Khách hàng |
Truy vấn, phân loại danh sách đồng hồ theo thương hiệu hoặc theo phân loại danh mục |
| UC_8 |
Quản lý giỏ hàng |
Khách hàng |
Xem danh sách mặt hàng đã chọn, điều chỉnh tăng/giảm số lượng và loại bỏ mặt hàng khỏi giỏ |
| UC_9 |
Quản lý vận chuyển |
Admin |
Thiết lập và cập nhật định mức phí vận chuyển theo từng đơn vị hành chính tỉnh/thành |
| UC_10 |
Thanh toán |
Khách hàng |
Nhập thông tin giao hàng, chọn hình thức thanh toán trực tiếp hoặc qua cổng PayPal |
| UC_11 |
Quản lý đặt hàng |
Admin |
Tiếp nhận đơn đặt hàng, kiểm tra chi tiết, in hóa đơn xuất file PDF và theo dõi doanh thu |
| UC_12 |
Tìm kiếm |
Khách hàng |
Tra cứu nhanh thông tin sản phẩm dựa trên chuỗi ký tự nhập vào |
Cấu trúc cơ sở dữ liệu
Cơ sở dữ liệu của ứng dụng được xây dựng trên hệ quản trị MySQL, bao gồm các bảng dữ liệu quan hệ chính:
- Bảng tài khoản: Lưu trữ thông tin đăng nhập, mật khẩu và quyền hạn người dùng.
- Bảng sản phẩm, Bảng loại sản phẩm, Bảng thương hiệu: Lưu trữ thông tin danh mục, đặc tính kỹ thuật, đơn giá, số lượng tồn kho và hình ảnh sản phẩm.
- Bảng order và Bảng order_detail: Lưu trữ thông tin đơn đặt hàng tổng quát, ngày đặt, trạng thái đơn hàng và các mục hàng chi tiết tương ứng trong từng đơn.
- Bảng shipping: Lưu trữ thông tin giao nhận của khách hàng và chi phí vận chuyển tương ứng.
- Bảng thành phố, Bảng quận huyện, Bảng xã phường: Hệ thống bảng danh mục hành chính phục vụ việc tính toán và cấu hình phí vận chuyển theo khu vực địa lý.
Nội dung chính theo từng chương
Báo cáo kết thúc học phần gồm 4 chương chính với các nội dung chi tiết như sau:
Chương 1. Giới thiệu đề tài
Chương 1 trình bày lý do chọn đề tài dựa trên nhu cầu thực tiễn của thị trường kinh doanh đồng hồ trong bối cảnh công nghệ 4.0. Tác giả xác định đối tượng nghiên cứu là sản phẩm đồng hồ đeo tay, xác lập phạm vi khảo sát tại các cửa hàng bán lẻ và định hình phương pháp xây dựng hệ thống phần mềm. Bên cạnh đó, chương này cung cấp tổng quan lý thuyết về ngôn ngữ lập trình PHP (lịch sử phát triển từ PHP/FI năm 1994 bởi Rasmus Lerdorf), kiến trúc MVC, framework Laravel (phiên bản 5.8, ưu điểm bảo mật, routing, SwiftMailer, nhược điểm về hiệu năng ứng dụng di động), môi trường tích hợp XAMPP và hệ quản trị cơ sở dữ liệu quan hệ MySQL.
Chương 2. Phân tích và thiết kế hệ thống
Chương 2 tập trung vào việc mô tả yêu cầu bài toán quản lý và bán hàng trực tuyến. Tác giả xây dựng sơ đồ phân rã chức năng hệ thống, xác định 2 tác nhân chính (Admin, Khách hàng) và lập danh sách 12 Use Case. Nội dung trọng tâm của chương là việc đặc tả chi tiết từng Use Case (từ UC_1 đến UC_11), thể hiện dòng sự kiện chính, dòng sự kiện phụ, điều kiện tiên quyết và trạng thái kết thúc. Đồng thời, chương này cung cấp hệ thống biểu đồ hoạt động (Activity Diagram) cho các luồng nghiệp vụ: Đăng nhập, Quản lý thương hiệu, Quản lý loại sản phẩm, Quản lý sản phẩm, Xem thông tin sản phẩm, Lọc sản phẩm, Đặt hàng, Quản lý giỏ hàng, Quản lý vận chuyển, Thanh toán và Quản lý in hóa đơn. Phần cuối chương trình bày sơ đồ quan hệ thực thể (ERD) và cấu trúc chi tiết các bảng dữ liệu.
Chương 3. Xây dựng website
Chương 3 trình bày các yêu cầu về phần cứng, phần mềm và hiện thực hóa giao diện website thực tế. Tác giả cung cấp và mô tả chi tiết các giao diện thành phần:
- Phân hệ người dùng: Giao diện trang chủ (Home), trang chi tiết sản phẩm, giỏ hàng, giao diện lọc sản phẩm theo loại và theo thương hiệu, giao diện trang thanh toán và xác nhận thanh toán.
- Phân hệ quản trị (Admin Dashboard): Giao diện trang chủ quản trị, giao diện thêm/sửa/danh sách sản phẩm, giao diện thêm/sửa/danh sách thương hiệu, giao diện thêm/sửa/danh sách loại sản phẩm, giao diện quản lý chi phí vận chuyển, quản lý đơn đặt hàng, giao diện chi tiết đơn hàng, mẫu in hóa đơn thanh toán PDF và màn hình thống kê doanh thu.
Chương 4. Kết luận
Chương 4 tổng kết quá trình thực hiện đồ án, đánh giá mức độ hoàn thành dựa trên các tiêu chí chức năng đã đề ra, chỉ rõ các chức năng đã xây dựng thành công và những điểm còn hạn chế, từ đó đề xuất định hướng phát triển và nâng cấp hệ thống trong tương lai.
Kết quả và đóng góp
Kết quả đạt được
Đồ án đã xây dựng hoàn chỉnh website thương mại điện tử bán đồng hồ với các kết quả cụ thể:
- Hoàn thiện các luồng chức năng người dùng: Hệ thống cho phép khách hàng tra cứu, xem thông tin chi tiết, lọc sản phẩm theo hai tiêu chí (loại và thương hiệu), thêm hàng vào giỏ, cập nhật số lượng và lựa chọn giữa hai phương thức thanh toán là tiền mặt khi nhận hàng (COD) hoặc thanh toán trực tuyến qua cổng PayPal.
- Hoàn thiện phân hệ quản trị nghiệp vụ: Quản trị viên có thể kiểm soát toàn bộ danh mục sản phẩm, loại sản phẩm, thương hiệu thông qua các tác vụ CRUD (Thêm, Xem, Sửa, Xóa); thiết lập phí vận chuyển theo hệ thống phân cấp hành chính (Tỉnh/Thành phố, Quận/Huyện, Xã/Phường); tiếp nhận, xử lý đơn đặt hàng, xuất hóa đơn ra định dạng file PDF và theo dõi biểu đồ/bảng thống kê doanh thu.
- Mô hình hóa hệ thống chuẩn xác: Hoàn thiện đầy đủ tài liệu phân tích kỹ thuật gồm 12 use case, 11 biểu đồ hoạt động và hệ thống bảng cơ sở dữ liệu quan hệ phục vụ lưu trữ thông tin nhất quán.
Đóng góp của đồ án
- Cung cấp giải pháp phần mềm ứng dụng thực tiễn, giúp các đơn vị kinh doanh và tiểu thương bán lẻ đồng hồ chuyển đổi phương thức bán hàng truyền thống sang kinh doanh trực tuyến với chi phí triển khai thấp.
- Đóng vai trò là tài liệu báo cáo kỹ thuật hoàn chỉnh về quy trình xây dựng ứng dụng web thương mại điện tử bằng PHP và Laravel theo mô hình MVC, kết hợp cơ sở dữ liệu quan hệ MySQL.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
- Dung lượng và cấu trúc của framework Laravel có thể ảnh hưởng đến tốc độ tải trang khi truy cập trên các thiết bị di động có cấu hình hạn chế.
- Sự liên kết và tương thích giữa các phiên bản cập nhật của framework có thể gây gián đoạn nếu thực hiện nâng cấp mã nguồn mà không kiểm thử tương thích đồng bộ.
- Một số tiện ích bổ trợ nâng cao và giao diện tương tác trải nghiệm người dùng chuyên sâu chưa được hiện thực hóa trọn vẹn trong phạm vi thời gian thực hiện học phần.
Hướng phát triển tiếp theo
- Tối ưu hóa hiệu năng tải trang, cải thiện thiết kế giao diện tương thích hoàn toàn trên nền tảng di động (responsive design).
- Nâng cấp và cập nhật phiên bản công nghệ mới hơn của Laravel và PHP nhằm nâng cao tính năng bảo mật và tốc độ xử lý.
- Tích hợp thêm các phương thức thanh toán điện tử nội địa và mở rộng các công cụ hỗ trợ chăm sóc khách hàng tự động trên website.
Giá trị tham khảo
Báo cáo đồ án chuyên ngành này mang lại giá trị tham khảo hữu ích cho sinh viên các ngành Kỹ thuật phần mềm, Công nghệ thông tin và Hệ thống thông tin trong việc:
- Tham khảo mẫu tài liệu phân tích thiết kế hệ thống theo chuẩn UML, bao gồm bảng mô tả tác nhân, danh sách và đặc tả Use Case, biểu đồ hoạt động cho từng luồng nghiệp vụ thương mại điện tử.
- Tham khảo cấu trúc thiết kế cơ sở dữ liệu quan hệ cho website bán hàng, đặc biệt là giải pháp thiết kế bảng địa giới hành chính (Thành phố, Quận/Huyện, Xã/Phường) phục vụ quản lý và tính toán phí vận chuyển linh hoạt.
- Tham khảo quy trình tổ chức mã nguồn, kết nối cơ sở dữ liệu và triển khai ứng dụng web hướng đối tượng bằng PHP và Laravel theo mô hình MVC.
Câu hỏi thường gặp
1. Đồ án sử dụng những công nghệ và công cụ nào để xây dựng website?
Website được phát triển bằng ngôn ngữ lập trình PHP kết hợp với PHP Framework Laravel (phiên bản 5.8), hệ quản trị cơ sở dữ liệu quan hệ MySQL và sử dụng gói phần mềm máy chủ XAMPP (tích hợp Apache, MariaDB/MySQL, PHP, Perl) để triển khai, kiểm thử trên môi trường cục bộ.
2. Hệ thống quản lý chi phí vận chuyển hàng hóa như thế nào?
Phân hệ quản trị (Admin) cung cấp chức năng Quản lý vận chuyển (UC_9), cho phép thiết lập và cập nhật mức phí giao hàng linh hoạt dựa trên hệ thống phân cấp địa giới hành chính gồm 3 cấp: Tỉnh/Thành phố, Quận/Huyện và Xã/Phường.
3. Khách hàng có thể lựa chọn những phương thức thanh toán nào khi mua hàng?
Hệ thống hỗ trợ 2 hình thức thanh toán tại Use Case Thanh toán (UC_10): thanh toán trực tiếp khi nhận hàng (COD) và thanh toán trực tuyến qua cổng thanh toán PayPal.
4. Phân hệ Admin hỗ trợ những chức năng xử lý đơn hàng và báo cáo nào?
Quản trị viên có thể xem danh sách đơn hàng, xem chi tiết từng đơn đặt hàng, xuất thông tin đơn hàng và in hóa đơn ra định dạng file PDF, đồng thời theo dõi thống kê doanh thu bán hàng thông qua giao diện quản trị.
5. Điều kiện kiểm tra trong kho khi khách hàng đặt sản phẩm là gì?
Theo đặc tả Use Case Đặt hàng (UC_6), yêu cầu ràng buộc bắt buộc là số lượng sản phẩm tồn kho trong hệ thống phải lớn hơn hoặc bằng số lượng sản phẩm mà khách hàng yêu cầu đặt mua.
Kết luận
Đồ án chuyên ngành "Xây dựng Website bán đồng hồ EL" do sinh viên Nguyễn Quang Tú thực hiện dưới sự hướng dẫn của giảng viên Nguyễn Hữu Vĩnh đã hoàn thành mục tiêu xây dựng một ứng dụng thương mại điện tử hoàn chỉnh trên nền tảng PHP, Laravel và MySQL. Báo cáo thể hiện đầy đủ quy trình từ khảo sát thực tế, phân tích yêu cầu, thiết kế hệ thống UML, xây dựng cơ sở dữ liệu đến hiện thực hóa giao diện và chức năng cho cả người dùng lẫn quản trị viên. Đây là tài liệu học thuật có cấu trúc rõ ràng, cung cấp nguồn tham khảo thực tiễn cho sinh viên kỹ thuật phần mềm trong việc phát triển các ứng dụng web bán hàng theo mô hình MVC.