Bối cảnh và vấn đề nghiên cứu

Đồ án học phần Công nghệ phần mềm với đề tài "Xây dựng website kinh doanh rau quả tươi" (hệ thống 4Fruit Shop) được thực hiện bởi nhóm sinh viên Đặng Tiến Đạt, Nguyễn Đức Hùng, Nguyễn Cửu Tính và Võ Minh Long (Lớp 20DTHC3, Khoa Công nghệ Thông tin, Trường Đại học Công nghệ TP. HCM - HUTECH), dưới sự hướng dẫn của ThS. Dương Thành Phết, hoàn thành vào ngày 28 tháng 10 năm 2022.

Bối cảnh thực tiễn

Trong bối cảnh công nghệ thông tin và mạng Internet phát triển mạnh mẽ, việc ứng dụng tin học hóa đóng vai trò then chốt trong hoạt động kinh doanh, giúp doanh nghiệp cắt giảm chi phí và nâng cao hiệu quả vận hành so với phương thức truyền thống. Thương mại điện tử đã trở thành phương tiện thiết yếu để mở rộng thị trường, quảng bá mặt hàng và tương tác trực tiếp với khách hàng.

Khảo sát hiện trạng tại đơn vị thực tế cho thấy cửa hàng 4Fruits Shop chuyên cung cấp các mặt hàng rau, củ, quả tươi tại khu vực TP. Hồ Chí Minh và các tỉnh phụ cận. Cơ cấu tổ chức của cửa hàng bao gồm 5 bộ phận chính: Ban quản lý, Bộ phận kế toán, Bộ phận bán hàng, Bộ phận sản xuất và Bộ phận giao nhận. Khách hàng của đơn vị được phân loại thành hai nhóm:

  • Khách hàng thường xuyên: Các đại lý, cửa hàng, siêu thị có nhu cầu đặt hàng định kỳ số lượng lớn theo hợp đồng và được hưởng chính sách ưu đãi riêng.
  • Khách hàng không thường xuyên: Khách mua lẻ trực tiếp hoặc đặt hàng theo nhu cầu cá nhân.

Vấn đề và mục tiêu nghiên cứu

Nhằm giải quyết nhu cầu mở rộng thị trường kinh doanh, nâng cao doanh thu, đồng thời hỗ trợ người tiêu dùng tiếp cận nguồn thực phẩm tươi sạch một cách nhanh chóng, đề tài tập trung vào các mục tiêu cụ thể:

  1. Phân tích hiện trạng nghiệp vụ bán hàng và quản lý đơn hàng của cửa hàng rau quả tươi.
  2. Xây dựng quy trình xử lý đơn hàng trực tuyến, tinh giản các bước mua sắm và quản lý thông tin.
  3. Thiết kế và hiện thực hóa website thương mại điện tử hoàn chỉnh, hỗ trợ khách hàng tra cứu, chọn mua nông sản và hỗ trợ nhà quản trị quản lý danh mục sản phẩm, người dùng và đơn hàng.

Đố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ế và phát triển hệ thống phần mềm website bán lẻ nông sản tươi; các tương tác giữa khách hàng (khách vãng lai, người dùng đã đăng ký) và nhà quản trị hệ thống.
  • Phạm vi hệ thống: Ứng dụng web thương mại điện tử với hai phân hệ chính (Frontend cho khách hàng và Dashboard cho Quản trị viên), thử nghiệm cơ sở dữ liệu trên môi trường máy chủ cục bộ với các dòng sản phẩm rau củ quả phổ biến.

Cơ sở lý thuyết và phương pháp

Khung công nghệ và nền tảng phát triển

Đồ án lựa chọn ngăn xếp công nghệ JavaScript Fullstack kết hợp cơ sở dữ liệu NoSQL, bao gồm:

Thành phần Công nghệ / Nền tảng Đặc tính kỹ thuật theo văn bản
Giao diện cấu trúc HTML Ngôn ngữ đánh dấu siêu văn bản theo chuẩn W3C; đảm nhiệm phân chia bố cục, định dạng văn bản tĩnh, liên kết và tích hợp các tập lệnh.
Định dạng giao diện CSS / SCSS / SASS Xử lý kiểu dáng hiển thị, bố cục màu sắc, font chữ; tối ưu hóa khả năng hiển thị tương thích trên nhiều kích thước màn hình thiết bị khác nhau.
Xử lý tương tác Client JavaScript / jQuery Ngôn ngữ kịch bản phía máy khách (Client-side) kết hợp thư viện jQuery hỗ trợ các module: Ajax, Effect, DOM, Event, Form, Attributes, Selector.
Nền tảng Backend NodeJS Nền tảng thực thi mã JavaScript xây dựng trên V8 JavaScript Engine, cơ chế hướng sự kiện không đồng bộ (Asynchronous Event-driven), xử lý nhiều kết nối đồng thời.
Cơ sở dữ liệu MongoDB Hệ quản trị cơ sở dữ liệu NoSQL hướng tài liệu (Document-oriented), dữ liệu lưu trữ cấu trúc BSON/JSON; hỗ trợ Ad hoc query, Indexing, Replication, Aggregation.
                       [ Kiến trúc Web Application ]
  [ Phía Client ]                                         [ Phía Server ]
  • HTML / CSS / SCSS                                     • NodeJS Runtime
  • JavaScript & jQuery Modules                           • RESTful API Handling
  • Responsive UI Views                                   • Business Logic
                           [ Cơ sở dữ liệu NoSQL ]
                           • MongoDB (homev1)
                           • Collections: users, products, bills, admins

Phương pháp nghiên cứu và phát triển

Tác giả áp dụng quy trình công nghệ phần mềm tiêu chuẩn qua các bước:

  1. Khảo sát và thu thập yêu cầu: Phân tích nhu cầu thực tế của cửa hàng 4Fruits Shop và phân loại người dùng (Guest, User, Admin).
  2. Mô hình hóa hệ thống (UML): Xây dựng sơ đồ ca sử dụng (Use Case) tổng quát, phân rã các ca sử dụng chức năng (Admin, Mua - Đặt hàng, Quản lý tài khoản, Xem giỏ hàng) và mô hình tuần tự (Sequence Diagram).
  3. Mô hình hóa dữ liệu: Thiết kế sơ đồ quan hệ thực thể (ERD) kết hợp xác định cấu trúc bảng dữ liệu logic và xây dựng các collections trên MongoDB.
  4. Hiện thực hóa và kiểm thử giao diện: Lập trình các trang giao diện, xây dựng các API truyền nhận dữ liệu giữa máy khách và máy chủ.

Thiết kế và triển khai hệ thống

Phân quyền và ca sử dụng hệ thống

Hệ thống phân định quyền hạn rõ ràng giữa các nhóm đối tượng tham gia:

  • Khách vãng lai (Guest): Truy cập trang chủ, xem danh sách sản phẩm nổi bật/giảm giá, tìm kiếm sản phẩm theo danh mục, đọc bài viết chia sẻ trên Blog, đăng ký tài khoản mới.
  • Thành viên (User): Đăng nhập/đăng xuất hệ thống, chỉnh sửa hồ sơ cá nhân (email, mật khẩu), chọn sản phẩm vào giỏ hàng, tùy chỉnh số lượng, thực hiện đặt hàng thanh toán và tra cứu lịch sử mua hàng (purchase orders).
  • Quản trị viên (Admin): Đăng nhập trang quản trị riêng biệt, thêm tài khoản quản trị mới, thực hiện các thao tác thêm, sửa, xóa thông tin sản phẩm, theo dõi đơn đặt hàng, quản lý và xóa thông tin khách hàng vi phạm (không có quyền sửa đổi thông tin riêng tư của khách).

Thiết kế cơ sở dữ liệu quan hệ và Document NoSQL

Hệ thống được thiết kế theo cấu trúc bảng dữ liệu logic và ánh xạ sang các tập tài liệu MongoDB (homev1 database):

Bảng dữ liệu logic của hệ thống

Tên bảng Tên trường Kiểu dữ liệu Khóa Diễn giải chức năng
LoaiHang MaLoai
TenLoai
int
nvarchar(100)
PK
-
Mã định danh loại mặt hàng.
Tên phân loại rau củ quả.
MatHang MaHang
TenHang
DonGia
HinhAnh
Mota
MaLoai
int
nvarchar(100)
int
nvarchar(200)
nvarchar(100)
int
PK
-
-
-
-
FK
Mã sản phẩm.
Tên mặt hàng rau củ quả.
Đơn giá bán.
Đường dẫn hình ảnh minh họa.
Mô tả chi tiết sản phẩm.
Mã liên kết loại mặt hàng.
KhachHang maKhach
TenKhach
DiaChi
DienThoai
Email
int
nvarchar(50)
nvarchar(50)
int
nvarchar(50)
PK
-
-
-
-
Mã định danh khách hàng.
Họ và tên khách hàng.
Địa chỉ nơi cư trú.
Số điện thoại liên lạc.
Hộp thư điện tử.
DonDatHang MaDonHang
maKhach
NgayDat
NgayGiao
int
int
datetime
nvarchar(50)
PK
FK
-
-
Mã định danh đơn hàng.
Mã khách hàng thực hiện đặt.
Thời điểm tạo đơn hàng.
Thời gian/thời điểm giao hàng.
CTDonDatHang MaDonHang
MaHang
SoLuong
DiaChi
int
int
int
nvarchar(50)
PFK
PFK
-
-
Mã đơn đặt hàng liên kết.
Mã mặt hàng liên kết.
Số lượng sản phẩm đặt mua.
Địa chỉ nhận hàng cụ thể.

Cấu trúc Collections trên MongoDB

Hệ thống triển khai thực tế trên cơ sở dữ liệu homev1 gồm 4 collections:

  • homev1.admins: Lưu trữ thông tin tài khoản, mật khẩu định danh của ban quản trị.
  • homev1.users: Quản lý danh sách người dùng thành viên, thông tin đăng nhập và thông tin cá nhân.
  • homev1.products: Chứa toàn bộ dữ liệu mặt hàng (tên, đơn giá, URL hình ảnh, phân loại danh mục, mô tả).
  • homev1.bills: Lưu trữ chi tiết hóa đơn, các mặt hàng đã mua, thời gian đặt, địa chỉ giao nhận và tổng tiền thanh toán.

Nội dung chính theo từng phần của đồ án

Phần 1: Cơ sở lý thuyết

Nội dung phần 1 tập trung phân tích tổng quan các công nghệ được áp dụng trong dự án:

  • HTML và CSS/SCSS/SASS: Phân tích vai trò cấu trúc và định kiểu trang web. Báo cáo làm rõ ưu điểm của CSS trong việc tách biệt nội dung khỏi định dạng, tiết kiệm thời gian viết mã, tối ưu tốc độ tải trang và đảm bảo tính tương thích đa thiết bị.
  • JavaScript và jQuery: Khái quát tiến trình lịch sử (từ Mocha năm 1995, Mona, LiveScript đến JavaScript); phân tích vai trò thực thi kịch bản phía máy khách và các module chức năng của jQuery nhằm rút ngắn cú pháp lập trình tương tác.
  • MongoDB: Phân tích kiến trúc cơ sở dữ liệu NoSQL hướng tài liệu dạng BSON/JSON, cơ chế ghi đệm trên RAM giúp nâng cao tốc độ truy vấn, hỗ trợ lập chỉ mục (Indexing), nhân bản dữ liệu (Replication) và tính toán tổng hợp (Aggregation).
  • NodeJS: Trình bày nền tảng phát triển phía máy chủ dựa trên V8 Engine; làm rõ khả năng ứng dụng trong việc xây dựng Single-Page Applications (SPA), truyền phát dữ liệu (Data Streaming), xử lý ứng dụng thời gian thực và tích hợp hệ thống IoT nhờ khả năng xử lý bất đồng bộ.

Phần 2: Tổng quan hệ thống

Phần 2 trình bày toàn bộ kết quả khảo sát và phân tích thiết kế:

  • Khảo sát nghiệp vụ: Làm rõ quy trình hoạt động, cơ cấu tổ chức và nhu cầu thực tế của cửa hàng nông sản 4Fruits Shop.
  • Mô tả chức năng chi tiết: Định nghĩa 6 module trọng tâm: Module sản phẩm, Module giỏ hàng, Module đăng ký/đăng nhập, Module tìm kiếm sản phẩm, Module quản lý sản phẩm - đơn hàng (Admin), Module thanh toán đơn hàng.
  • Đặc tả mô hình: Trình bày các sơ đồ thực thể kết hợp (ERD), sơ đồ Use Case tổng quát, các sơ đồ Use Case phân rã chi tiết cho từng tác nhân và sơ đồ tuần tự (Sequence Diagram) mô tả tương tác luồng dữ liệu.

Phần 3: Giao diện và cơ sở dữ liệu

Phần này minh chứng các kết quả hiện thực hóa phần mềm qua hệ thống giao diện:

  • Giao diện Client: Trang chủ tích hợp video nền và banner động; khu vực hiển thị sản phẩm nổi bật, sản phẩm giảm giá; trang thông tin liên hệ và chân trang (Footer); trang bài viết Blog chia sẻ mẹo vặt nông sản; giao diện đăng ký tài khoản (bắt buộc xác nhận điều khoản dịch vụ) và đăng nhập người dùng.
  • Quy trình mua hàng và thanh toán: Màn hình giỏ hàng cho phép điều chỉnh số lượng hoặc xóa mặt hàng; màn hình Checkout nhập thông tin người nhận (Billing details); màn hình thông báo hoàn tất đơn hàng (Thank You page); trang hồ sơ cá nhân (profile) và trang lịch sử hóa đơn mua hàng (purchase orders / bill details).
  • Giao diện Quản trị Admin: Màn hình đăng nhập quản trị riêng biệt (Login Admin); bảng điều khiển quản lý danh mục sản phẩm; biểu mẫu thêm mới sản phẩm (Add New Product); biểu mẫu cập nhật/chỉnh sửa thông tin sản phẩm (Edit Product); chức năng xóa sản phẩm; trang tạo mới tài khoản quản trị viên và trang cá nhân quản trị.
  • Cơ sở dữ liệu trực quan: Ảnh chụp trực tiếp cấu trúc các collection dữ liệu đang hoạt động trên hệ thống (homev1.admins, homev1.bills, homev1.products, homev1.users).
                              [ Sơ đồ chức năng hệ thống ]
  [ Phân hệ Khách hàng ]                                              [ Phân hệ Quản trị Admin ]

Phần 4: Kết luận và hướng phát triển

Phần 4 tổng hợp các kết quả thực tế đạt được, đánh giá ưu điểm, hạn chế của hệ thống và lập bảng kế hoạch mở rộng các tính năng cần phát triển trong tương lai.


Kết quả và đóng góp

Đánh giá mức độ hoàn thành nhiệm vụ của nhóm tác giả

Theo phiếu phân công nhiệm vụ trong đồ án, kết quả thực hiện của từng thành viên được ghi nhận cụ thể:

STT Sinh viên thực hiện MSSV Nội dung công việc đảm nhiệm Tỉ lệ đóng góp Điểm đánh giá
1 Nguyễn Đức Hùng 2011061543 Phân tích yêu cầu; vẽ sơ đồ Use Case, Class, ERD, Sequence Diagram; chỉnh sửa báo cáo; xây dựng database MongoDB (users, products, bills, admins); thiết kế giao diện và chức năng trang Home, Profile; xử lý API load dữ liệu, tìm kiếm, giỏ hàng, purchase order. 35% 10 đ
2 Đặng Tiến Đạt 2011062503 Phân tích yêu cầu, vẽ mô hình Use Case, Sequence Diagram, Class Diagram; lập kế hoạch, theo dõi và giám sát tiến độ đồ án; thiết kế giao diện và xử lý trang Admin, Login Admin. 25% 10 đ
3 Nguyễn Cửu Tính 2011770453 Thiết kế giao diện và xử lý trang Login, Register; thiết kế giao diện trang Blogs; thiết kế chân trang (Footer). 20% 9.0 đ
4 Võ Minh Long 2011143127 Soạn thảo tài liệu báo cáo Word, tìm kiếm tài liệu tham khảo, phân tích vấn đề, lên kế hoạch báo cáo; thiết kế giao diện và xử lý logic trang Thanh toán, trang Cảm ơn (Thank You), trang Lịch sử mua hàng (Purchase orders). 20% 8.5 đ

Kết quả tính năng đạt được (Bảng 1 trong văn bản)

Phân hệ Chức năng hoàn thiện Nội dung triển khai cụ thể
Trang người dùng Giao diện tổng thể Bố cục hài hòa, bắt mắt, tích hợp hiệu ứng động trên đầu trang.
Tin tức - Blog Trang blog hiển thị bài viết hài hòa, thân thiện với người dùng.
Tìm kiếm sản phẩm Tra cứu sản phẩm theo tên chính xác và hỗ trợ phân loại theo danh mục.
Quản lý tài khoản Cho phép người dùng cập nhật thông tin cá nhân, đổi mật khẩu và xem lại hóa đơn.
Trưng bày sản phẩm Hình ảnh trực quan, hỗ trợ chế độ phóng to cận cảnh sản phẩm nông sản.
Giỏ hàng Hiển thị đầy đủ hình ảnh, đơn giá, phân loại, số lượng và tổng tiền.
Thanh toán Biểu mẫu thanh toán yêu cầu nhập thông tin người nhận kèm mã định danh khách hàng.
Trang Admin Quản lý sản phẩm Biểu mẫu thêm mới sản phẩm, cập nhật thông tin và xóa sản phẩm khỏi hệ thống.
Quản lý quản trị viên Cấp quyền và tạo thêm tài khoản quản trị (Admin) mới vào hệ thống.

Đóng góp thực tiễn của đồ án

  • Xây dựng thành công một mô hình website bán hàng nông sản trực tuyến hoàn chỉnh từ khâu phân tích nghiệp vụ, mô hình hóa dữ liệu đến lập trình giao diện và kết nối CSDL NoSQL.
  • Giúp người tiêu dùng tiết kiệm thời gian mua sắm nông sản tươi sạch, cung cấp đầy đủ thông tin về giá thành, chủng loại và nguồn gốc sản phẩm.
  • Hỗ trợ cửa hàng 4Fruits Shop tối ưu hóa nhân sự quản lý; quy trình bán hàng và quản trị đơn hàng có thể vận hành tinh gọn chỉ với một người quản trị.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế tồn tại

Nhóm tác giả đã thẳng thắn chỉ ra các điểm còn hạn chế của hệ thống trong báo cáo:

  • Tính đồng nhất về mặt thiết kế giao diện giữa các trang thành phần chưa đạt mức tối ưu.
  • Số lượng dữ liệu mặt hàng rau củ quả đưa vào thử nghiệm còn hạn chế, chưa bao quát toàn bộ danh mục kinh doanh thực tế.
  • Khâu thanh toán đơn hàng mới dừng lại ở mức ghi nhận thông tin đơn hàng và địa chỉ giao nhận vào CSDL, chưa tích hợp cổng thanh toán trực tuyến xử lý tự động (như thẻ ngân hàng hay ví điện tử).
  • Chức năng quản lý tài khoản người dùng chưa được tối ưu hóa toàn diện, còn thiếu các tính năng nâng cao.

Hướng phát triển và mở rộng đề tài (Bảng 2 trong văn bản)

Phân hệ Yêu cầu chức năng phát triển Nội dung mở rộng định hướng
Trang người dùng Tích hợp bên thứ ba Bổ sung chức năng xác thực và đăng nhập nhanh qua tài khoản mạng xã hội (Facebook, Google).
Trang Admin Báo cáo - Thống kê Xây dựng chức năng thống kê chi tiết số lượng sản phẩm đã bán và số lượng hàng tồn kho.
Theo dõi truy cập Bổ sung module đo lường và thống kê số lượt khách hàng truy cập website.
Quản lý quảng cáo Tích hợp hệ thống quản lý banner quảng cáo hợp tác kinh doanh (Thêm, Xóa, Sửa quảng cáo).
Toàn hệ thống Bảo mật và hoàn thiện Nâng cấp cơ chế an toàn, bảo mật dữ liệu website và khắc phục các lỗi vận hành phát sinh.

Giá trị tham khảo

Tài liệu đồ án mang lại giá trị tham khảo thiết thực cho các đối tượng:

  1. Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Là tài liệu tham khảo trực tiếp cho các học phần như Công nghệ phần mềm, Phân tích thiết kế hệ thống thông tin, Phát triển ứng dụng Web hoặc đồ án tốt nghiệp chuyên ngành.
  2. Lập trình viên Web cơ bản: Cung cấp tài liệu tổng quan và so sánh ưu, nhược điểm của các công nghệ nền tảng (HTML, CSS/SCSS, JavaScript, jQuery, MongoDB, NodeJS) và cách phối hợp các công nghệ này trong mô hình Fullstack JavaScript.
  3. Người phát triển ứng dụng thương mại điện tử: Có thể tái sử dụng bộ tài liệu phân tích hệ thống gồm sơ đồ thực thể liên kết (ERD), từ điển dữ liệu 5 bảng quan hệ và quy trình phân rã Use Case chức năng cho các dự án bán hàng trực tuyến quy mô vừa và nhỏ.

Câu hỏi thường gặp

1. Đồ án được thực hiện nhằm giải quyết bài toán kinh doanh cho đơn vị nào?

Đồ án giải quyết bài toán kinh doanh và chuyển đổi số cho cửa hàng 4Fruits Shop – một đơn vị sản xuất và phân phối rau củ quả tươi cho các đại lý, siêu thị và khách hàng mua lẻ tại khu vực TP. Hồ Chí Minh cùng các tỉnh phụ cận.

2. Ngăn xếp công nghệ chính được nhóm tác giả sử dụng trong dự án là gì?

Nhóm tác giả sử dụng ngăn xếp công nghệ bao gồm: HTML, CSS/SCSS/SASS, JavaScript thuần, thư viện jQuery cho phía máy khách (Frontend); nền tảng NodeJS (V8 Engine) cho phía máy chủ (Backend); và cơ sở dữ liệu NoSQL MongoDB (database homev1) để lưu trữ dữ liệu dưới dạng Document BSON/JSON.

3. Cơ sở dữ liệu logic của hệ thống được thiết kế gồm những bảng nào?

Mô hình dữ liệu quan hệ logic của hệ thống bao gồm 5 bảng chính:

  • LoaiHang (Phân loại mặt hàng)
  • MatHang (Thông tin chi tiết mặt hàng)
  • KhachHang (Thông tin người mua)
  • DonDatHang (Thông tin đơn đặt hàng tổng quát)
  • CTDonDatHang (Chi tiết các mặt hàng và số lượng trong từng đơn)

4. Phân hệ Admin trên website cung cấp những chức năng quản trị nào?

Phân hệ Admin cung cấp các chức năng: đăng nhập trang quản trị riêng, thêm mới sản phẩm (Add New Product), cập nhật thông tin sản phẩm (Edit Product), xóa sản phẩm, tạo thêm tài khoản quản trị mới, theo dõi thông tin đơn đặt hàng và quản lý xóa dữ liệu khách hàng.

5. Những điểm hạn chế lớn nhất của hệ thống được nhóm tác giả ghi nhận là gì?

Các hạn chế chính bao gồm: giao diện giữa các trang chưa thực sự đồng bộ; số lượng sản phẩm nhập mẫu còn ít; quy trình thanh toán chưa tích hợp cổng thanh toán trực tuyến bên thứ ba; và module tài khoản người dùng chưa được tối ưu hóa toàn diện.


Kết luận

Đồ án "Xây dựng website kinh doanh rau quả tươi" của nhóm sinh viên Trường Đại học Công nghệ TP. HCM (HUTECH) đã hoàn thành tốt các mục tiêu đặt ra cho học phần Công nghệ phần mềm. Nhóm tác giả đã khảo sát thực tế nghiệp vụ của cửa hàng 4Fruits Shop, thực hiện đầy đủ các bước phân tích thiết kế hệ thống bằng UML và xây dựng thành công ứng dụng web thương mại điện tử với nền tảng NodeJS và MongoDB. Mặc dù còn một số hạn chế về khâu thanh toán trực tuyến và tính đồng bộ giao diện, hệ thống đã đáp ứng đầy đủ các luồng nghiệp vụ cơ bản từ trưng bày, tìm kiếm, đặt hàng đến quản trị danh mục sản phẩm, mở ra hướng phát triển rõ ràng để hoàn thiện thành giải pháp kinh doanh thương mại điện tử thực tế.