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

Sự phổ biến của thương mại điện tử tại Việt Nam trong những năm gần đây đã tạo ra nhu cầu thực tiễn đối với các hệ thống bán hàng trực tuyến chuyên biệt theo từng lĩnh vực hàng hóa. Nhóm tác giả xuất phát từ quan sát trực tiếp với tư cách sinh viên — người dùng cuối của các sàn thương mại điện tử — nhận thấy một số bất cập phổ biến: hình thức thanh toán chưa linh hoạt, quy trình nhận hàng chưa rõ ràng, và chất lượng sản phẩm thực tế thường không khớp với mô tả trên website. Đối với mặt hàng nông sản thực phẩm — vốn đòi hỏi độ tin cậy cao về nguồn gốc và chất lượng — những bất cập này càng trở nên rõ rệt.

Từ bối cảnh đó, đồ án xác định nhiệm vụ trung tâm là xây dựng một website bán hàng nông sản thực phẩm với giao diện đơn giản, thân thiện, đủ để người không có kiến thức tin học vẫn có thể hoàn thành giao dịch chỉ bằng các thao tác cơ bản.

Mục đích cụ thể được nêu trong đồ án gồm hai điểm:

  1. Phân tích và thiết kế một hệ thống bán và quản lý nông sản thực phẩm hoàn chỉnh.
  2. Hỗ trợ người bán quản lý thông tin sản phẩm dễ dàng và tiếp cận khách hàng có nhu cầu nhằm nâng cao doanh thu.

Đối tượng nghiên cứu là quá trình phân tích, thiết kế và xây dựng hệ thống website bán hàng online, với nền tảng công nghệ Java và HTML.

Phạm vi nghiên cứu:

  • Thời gian: Từ 06/11/2022 đến 28/12/2022 (giai đoạn nghiên cứu nền tảng); dự án được thực hiện từ 04/05/2023 đến 22/06/2023.
  • Nội dung: Tìm hiểu MySQL, CSS, HTML, PHP; phân tích thiết kế hướng đối tượng; quy trình quản lý bán hàng và quy trình tạo lập website quản lý.

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

Khung công nghệ và mô hình thiết kế

Đồ án áp dụng phương pháp phân tích thiết kế hướng đối tượng (Object-Oriented Analysis and Design) làm nền tảng mô hình hóa hệ thống. Các công cụ biểu diễn bao gồm Use Case Diagram, Sơ đồ tuần tự (Sequence Diagram), Biểu đồ hoạt động (Activity Diagram) và Sơ đồ thực thể liên kết (Entity-Relationship Diagram) — tất cả đều được xây dựng theo chuẩn UML.

Về nền tảng công nghệ, nhóm sử dụng Spring Boot (tham khảo theo sách Learning Spring Boot 2.0 của Greg L.) cho tầng backend, kết hợp Bootstrap 5 (tham khảo theo sách The Missing Bootstrap 5 Guide của Jeppe Schaumburg Jensen) cho giao diện người dùng, HTML5/CSS3/JavaScript (tham khảo HTML, CSS and JavaScript All in One, Sams Teach Yourself của Julie C.), và Oracle DB (tham khảo Oracle DB Hacks for Temenos T24 của Kudakwashe Tsomondo) cho cơ sở dữ liệu.

Phương pháp thực hiện

  • Tìm hiểu và tổng hợp tài liệu liên quan đến xây dựng và phát triển phần mềm.
  • Phân tích và lựa chọn giải pháp kỹ thuật phù hợp với yêu cầu hệ thống.
  • Tham khảo ý kiến chuyên gia (giảng viên hướng dẫn ThS. Nguyễn Quốc Long).

Dự án được tổ chức theo mô hình CDIO (Conceive – Design – Implement – Operate) của Trường Đại học Duy Tân, trong đó giai đoạn Conceive được thực hiện theo hình thức đánh giá ý tưởng cá nhân và chọn lọc ý tưởng nhóm.


Nội dung chính theo từng phần

Phần I: Xây dựng ý tưởng sản phẩm (Conceive)

Trước khi thống nhất đề tài, mỗi thành viên trong nhóm độc lập đề xuất một ý tưởng sản phẩm riêng và đánh giá theo các tiêu chí: cơ sở kiến thức đã có, ước tính số người hưởng lợi, khả năng thu hút đầu tư, độ khó phát triển, và thời gian thực hiện ước tính.

Thành viên Ý tưởng đề xuất Người hưởng lợi (ước tính) Thời gian ước tính
Nguyễn Văn Thắng Website quản lý kiểm tra trắc nghiệm 2.000 3–6 tháng
Hoàng Trung Thực Phần mềm quản lý quán café 3.000 3–6 tháng
Đặng Công Tuân Website quản lý bán sách 1.100 6 tháng – 1 năm
Lê Minh Quân Website Order Taobao về Việt Nam (không ghi rõ) (không ghi rõ)
Võ Văn Thành (không trích dẫn đủ trong văn bản) (không ghi rõ) (không ghi rõ)

Sau khi đánh giá tập thể, nhóm chọn đề tài "Xây dựng website bán hàng nông sản thực phẩm" làm sản phẩm triển khai chung.

Phần II: Design — Phân tích và thiết kế hệ thống

Đặc tả yêu cầu chức năng

Hệ thống phân biệt ba tác nhân chính: Guests (khách vãng lai), Users (người dùng đã đăng ký), và Admin (quản trị viên). Mỗi tác nhân được ánh xạ vào một tập hợp Use Case riêng biệt.

Các chức năng chính được đặc tả đầy đủ với Use Case chi tiết, Sơ đồ tuần tự và Biểu đồ hoạt động bao gồm:

  • Quản lý tài khoản: Đăng nhập (hỗ trợ đăng nhập bằng Gmail hoặc số điện thoại), Đăng ký, Đăng xuất, Quên mật khẩu, Quản lý tài khoản users (Admin thêm/xem/xóa/khóa/sửa tài khoản).
  • Quản lý nội dung: Quản lý bài viết, Quản lý danh mục, Quản lý sản phẩm, Quản lý đợt khuyến mãi.
  • Quản lý giao dịch: Quản lý giỏ hàng, Quản lý lịch sử mua hàng, Quản lý báo cáo thống kê.
  • Tương tác người dùng: Tìm kiếm sản phẩm, Xem bài viết, Xem sản phẩm, Quản lý đánh giá, Quản lý thông tin cá nhân.

Thiết kế cơ sở dữ liệu

Cơ sở dữ liệu được mô hình hóa qua Sơ đồ thực thể liên kết (ERD) và triển khai thành các bảng dữ liệu cụ thể:

Tên bảng Chức năng
Bảng danh mục Phân loại sản phẩm nông sản
Bảng sản phẩm Thông tin chi tiết từng mặt hàng
Bảng đợt khuyến mãi Quản lý các chương trình giảm giá
Bảng bài viết Nội dung tin tức, bài đăng
Bảng chi tiết hóa đơn Ghi nhận từng mục trong đơn hàng
Bảng đánh giá Nhận xét và xếp hạng của người dùng
Bảng tài khoản Thông tin xác thực và phân quyền người dùng

Thiết kế và triển khai

Kiến trúc hệ thống

Hệ thống được xây dựng theo mô hình web ứng dụng nhiều tầng với Spring Boot đảm nhận vai trò backend (xử lý nghiệp vụ và API), Bootstrap 5 kết hợp HTML5/CSS3/JavaScript xây dựng giao diện phía client, và Oracle DB lưu trữ dữ liệu.

Luồng xử lý nghiệp vụ tiêu biểu

Luồng đăng ký tài khoản hỗ trợ hai phương thức: đăng ký qua Gmail và đăng ký qua số điện thoại. Hệ thống kiểm tra tính hợp lệ của thông tin đầu vào trước khi lưu vào cơ sở dữ liệu; nếu không hợp lệ, thông báo lỗi được trả về và yêu cầu người dùng nhập lại.

Luồng quản lý tài khoản phía Admin cho phép thực hiện các thao tác: thêm, xem chi tiết, sửa, xóa, và khóa tài khoản người dùng — mỗi thao tác xóa hoặc khóa đều có bước xác nhận lại trước khi thực thi.

Các luồng này được tài liệu hóa đầy đủ bằng Sơ đồ tuần tự và Biểu đồ hoạt động UML trong phần thiết kế hệ thống.


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

Những vấn đề đạt được

Văn bản ghi nhận phần kết quả dưới tiêu đề "Những vấn đề đạt được" nhưng không liệt kê số liệu kiểm thử hay benchmark cụ thể trong đoạn trích dẫn hiện có. Theo cấu trúc đồ án, sản phẩm hoàn thành bao gồm hệ thống website bán hàng nông sản thực phẩm với đầy đủ các module: quản lý sản phẩm, danh mục, khuyến mãi, giỏ hàng, hóa đơn, đánh giá, và báo cáo thống kê.

Những vấn đề chưa đạt được và hướng phát triển

Đồ án có trình bày mục "Những vấn đề chưa đạt được" và "Hướng phát triển" (trang 153), tuy nhiên nội dung chi tiết của hai mục này không có trong đoạn trích dẫn được cung cấp.


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

Phạm vi thực hiện của đồ án giới hạn trong khoảng thời gian khoảng bảy tuần (04/05/2023 – 22/06/2023), đây là khoảng thời gian tương đối ngắn đối với một hệ thống thương mại điện tử đầy đủ chức năng. Đồ án tự ghi nhận hai phần riêng biệt về những hạn chế chưa đạt và hướng phát triển tiếp theo, song nội dung cụ thể của các phần này không có trong tài liệu được trích dẫn.

Nhìn từ phạm vi nghiên cứu, hệ thống chưa đề cập đến tích hợp cổng thanh toán trực tuyến, quản lý vận chuyển, hay các cơ chế đảm bảo chất lượng sản phẩm — vốn là những vấn đề được tác giả nêu như động lực chọn đề tài ngay từ phần mở đầu.


Giá trị tham khảo

Đồ án phù hợp để tham khảo với các đối tượng sau:

  • Sinh viên ngành Công nghệ phần mềm và Kỹ thuật phần mềm đang thực hiện đồ án xây dựng hệ thống thương mại điện tử cơ bản, đặc biệt ở mức độ học phần cuối kỳ hoặc đồ án CDIO.
  • Sinh viên đang học các học phần Phân tích thiết kế hệ thống, Cơ sở dữ liệu, hoặc Lập trình web với Java/Spring Boot — tài liệu cung cấp mẫu đặc tả Use Case và sơ đồ UML có thể dùng làm tham chiếu.
  • Người học tự nghiên cứu về cách tổ chức một đồ án phần mềm theo mô hình CDIO, từ giai đoạn đề xuất ý tưởng cá nhân đến thiết kế và triển khai nhóm.

Phần đáng tham khảo nhất là cách đặc tả Use Case chi tiết (bao gồm tác nhân, mô tả, điều kiện trước, luồng sự kiện) và cách tổ chức bộ sơ đồ UML đi kèm cho từng chức năng.


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

1. Website này hướng đến những tác nhân nào và mỗi tác nhân có quyền thực hiện những gì? Hệ thống có ba tác nhân: Guests (khách vãng lai) có thể xem và tìm kiếm sản phẩm; Users (người dùng đăng ký) có thể đặt hàng, quản lý giỏ hàng, xem lịch sử mua hàng và đánh giá sản phẩm; Admin có toàn quyền quản lý sản phẩm, danh mục, bài viết, tài khoản người dùng và xem báo cáo thống kê.

2. Đăng ký tài khoản trên hệ thống hỗ trợ những phương thức nào? Theo đặc tả Use Case Đăng ký, hệ thống hỗ trợ hai phương thức: đăng ký bằng tài khoản Gmail và đăng ký bằng số điện thoại, cả hai đều có kèm form nhập thông tin và bước kiểm tra hợp lệ.

3. Cơ sở dữ liệu của hệ thống gồm những bảng nào và phục vụ nghiệp vụ gì? Cơ sở dữ liệu gồm bảy bảng chính: danh mục, sản phẩm, đợt khuyến mãi, bài viết, chi tiết hóa đơn, đánh giá, và tài khoản — lần lượt phục vụ phân loại hàng hóa, lưu thông tin sản phẩm, quản lý khuyến mãi, nội dung tin tức, ghi nhận đơn hàng, nhận xét người dùng và xác thực tài khoản.

4. Nhóm đã trải qua quy trình chọn đề tài như thế nào trước khi xác định chủ đề cuối cùng? Theo mô hình CDIO, mỗi trong năm thành viên đề xuất một ý tưởng độc lập (website trắc nghiệm, quản lý quán café, bán sách, Order Taobao và một ý tưởng khác), đánh giá theo tiêu chí khả thi và số người hưởng lợi, sau đó nhóm thống nhất chọn website bán nông sản thực phẩm làm sản phẩm chung.

5. Đồ án sử dụng những công nghệ và tài liệu tham khảo nào cho từng tầng của hệ thống? Backend dùng Spring Boot (tham khảo sách của Greg L.); giao diện dùng Bootstrap 5 (tham khảo sách của Jeppe Schaumburg Jensen) và HTML/CSS/JavaScript (tham khảo sách của Julie C.); cơ sở dữ liệu dùng Oracle DB (tham khảo sách của Kudakwashe Tsomondo).


Kết luận

Đồ án CDIO SE397 của nhóm sinh viên Trường Đại học Duy Tân trình bày toàn bộ quá trình xây dựng một website bán hàng nông sản thực phẩm theo mô hình thương mại điện tử cơ bản, từ giai đoạn hình thành ý tưởng đến phân tích, thiết kế và triển khai hệ thống. Hệ thống bao phủ đầy đủ các nghiệp vụ cốt lõi của một sàn bán lẻ trực tuyến bao gồm quản lý sản phẩm, đặt hàng, khuyến mãi, đánh giá và báo cáo thống kê, được thiết kế dành cho ba nhóm người dùng phân quyền rõ ràng. Tài liệu thể hiện rõ quy trình làm việc nhóm theo chuẩn CDIO với bộ sơ đồ UML chi tiết cho từng chức năng. Đây là tài liệu tham khảo phù hợp cho sinh viên đang tiếp cận bài toán xây dựng hệ thống web thương mại điện tử ở mức độ học phần đồ án.