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

Ngành công nghiệp thú cưng tại Việt Nam đang trải qua giai đoạn tăng trưởng đáng chú ý khi thú cưng không còn đơn thuần là vật nuôi mà dần trở thành thành viên trong gia đình. Nhu cầu tìm kiếm, chọn lựa và mua sắm sản phẩm dành cho thú cưng ngày càng cao, trong khi các kênh mua hàng trực tiếp tại cửa hàng đặt ra rào cản về thời gian và sự tiện lợi cho những chủ nuôi bận rộn. Thực trạng đó tạo ra khoảng trống cho giải pháp thương mại điện tử chuyên biệt trong phân khúc này.

Nhóm tác giả gồm năm sinh viên Khoa Công nghệ Thông tin, Trường Đại học Duy Tân (lớp SE 397V, nhóm 01) đã lựa chọn đề tài "Xây dựng website cửa hàng bán đồ cho thú cưng" như một đồ án CDIO 3 hoàn chỉnh, thực hiện trong học kỳ kết thúc vào tháng 1 năm 2024, dưới sự hướng dẫn của giảng viên Hồ Lê Viết Nin.

Mục tiêu của đề tài được nhóm xác định gồm hai hướng chính:

  1. Nghiên cứu và xây dựng hoàn thiện một hệ thống web sử dụng ngôn ngữ lập trình C#.
  2. Nghiên cứu và thực hiện các nghiệp vụ xây dựng hệ thống bán đồ cho thú cưng, bao gồm toàn bộ chu trình từ phân tích bài toán thực tế, thiết kế cơ sở dữ liệu, đến xây dựng và kiểm thử các chức năng chính.

Đối tượng sử dụng hệ thống được xác định gồm ba nhóm: Admin, Người quản lý và Nhân viên — cùng với người dùng cuối (khách hàng mua hàng trực tuyến).

Phạm vi áp dụng: Hệ thống được thiết kế với khả năng triển khai cho các shop bán đồ cho thú cưng trên phạm vi toàn quốc.


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

Đồ án được triển khai theo phương pháp tiếp cận CDIO (Conceive – Design – Implement – Operate), một khung phát triển sản phẩm công nghệ phần mềm được áp dụng phổ biến trong đào tạo kỹ thuật. Bố cục của đồ án bám sát bốn giai đoạn của khung này:

Giai đoạn Nội dung tương ứng
Conceive (Ý tưởng) Phân tích ý tưởng cá nhân, đánh giá ý tưởng nhóm
Design (Thiết kế) Đặc tả yêu cầu, Use Case, thiết kế CSDL, Prototype
Implement (Thực hiện) Xây dựng giao diện và chức năng thực tế
Operate (Vận hành) Kiểm thử các giao diện và chức năng đã triển khai

Phương pháp phân tích và thiết kế hệ thống được áp dụng bao gồm:

  • Phân tích hướng đối tượng thông qua Usecase Diagram và mô tả chi tiết từng use case (bảng đặc tả, luồng sự kiện chính, luồng thay thế, điều kiện trước/sau).
  • Mô hình hóa quy trình nghiệp vụ bằng Biểu đồ tuần tự (Sequence Diagram) và Biểu đồ hoạt động (Activity Diagram) cho từng use case.
  • Thiết kế cơ sở dữ liệu theo Sơ đồ thực thể liên kết (ERD).
  • Xây dựng Prototype giao diện trước khi lập trình thực tế.

Công nghệ sử dụng: Ngôn ngữ lập trình C#; HTML/CSS cho giao diện; hệ quản trị cơ sở dữ liệu (theo môn học đang được nhóm nghiên cứu tại thời điểm thực hiện).


Nội dung chính theo từng chương

Phần I: Conceive — Ý tưởng

Giai đoạn đầu yêu cầu mỗi thành viên độc lập đề xuất ý tưởng sản phẩm riêng, sau đó nhóm tập hợp và đánh giá để chọn ra ý tưởng triển khai chung. Các ý tưởng cá nhân được ghi nhận gồm: website quản lý bán hàng tạp hóa (Nguyễn Thúy Thanh), website bán hoa tươi (Trần Thị Thúy Hằng), cùng các ý tưởng từ ba thành viên còn lại. Mỗi ý tưởng được đánh giá theo bộ tiêu chí chuẩn hóa: ước tính số doanh nghiệp hưởng lợi, số người dùng tiềm năng, độ khó phát triển, khả năng thu hút đầu tư và vòng đời sản phẩm trên thị trường. Ví dụ, ý tưởng website quản lý bán hàng tạp hóa được ước tính có thể phục vụ 10.000 doanh nghiệp, thu hút 1.000 người dùng trả phí, với vòng đời khoảng 10 năm và thời gian phát triển ước tính 1,5 năm.

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

Đây là phần chiếm tỉ trọng lớn nhất về khối lượng nội dung. Nhóm xác định hai tác nhân chính trong hệ thống là Người dùng (khách hàng) và Admin.

Hệ thống được phân tích thành 12 use case được đặc tả đầy đủ:

Mã UC Tên Use Case Tác nhân
UC (đăng nhập) Đăng nhập Người dùng / Admin
UC (xem sản phẩm) Xem sản phẩm Người dùng
UC (mua hàng) Mua hàng Người dùng
UC06 Cập nhật số lượng trong giỏ hàng Người dùng
UC07 Quản lý thông tin cá nhân Người dùng
UC08 Quản lý danh mục Admin
— Quản lý tài khoản Admin
— Quản lý sản phẩm Admin
— Quản lý khuyến mãi Admin
— Quản lý đơn hàng Admin
— Quản lý đánh giá Admin
— Quản lý doanh thu Admin

Mỗi use case được đặc tả theo cấu trúc thống nhất: mã, tác nhân, mục đích, mô tả chung, luồng sự kiện chính, luồng thay thế, điều kiện trước, điều kiện sau, kèm biểu đồ tuần tự và biểu đồ hoạt động minh họa. Ví dụ, UC07 (Quản lý thông tin cá nhân) mô tả người dùng có thể xem, sửa thông tin và đổi mật khẩu; điều kiện sau là dữ liệu được cập nhật vào cơ sở dữ liệu người dùng; yêu cầu mở rộng là nhập mật khẩu hai lần khớp nhau.

Phần thiết kế cơ sở dữ liệu trình bày Sơ đồ ERD (thực thể liên kết) phục vụ toàn bộ nghiệp vụ trên. Phần Prototype bao gồm 11 màn hình thiết kế mẫu trước khi lập trình thực tế.

Phần III: Implement — Thực hiện

Giai đoạn này tập trung vào việc triển khai thực tế các giao diện và chức năng đã thiết kế ở Phần II. Công việc được phân chia rõ ràng theo bảng phân công (xem Phần IV dưới đây), đảm bảo mỗi thành viên đảm nhận cả phần use case lẫn giao diện liên quan.

Phần IV: Operate — Vận hành và Kiểm thử

Nhóm thực hiện kiểm thử trực quan (visual testing) trên 10 giao diện chức năng đã hoàn thiện: đăng nhập, đăng ký tài khoản, quản lý tài khoản, chi tiết sản phẩm, giỏ hàng, trang chủ, quản lý sản phẩm, quản lý danh mục, quản lý hóa đơn và thanh toán. Kết quả kiểm thử được ghi nhận theo hai mục: "Những vấn đề đạt được" và "Những vấn đề chưa đạt được", phản ánh mức độ hoàn thiện thực tế của sản phẩm.


Thiết kế và triển khai

Kiến trúc và công nghệ

Hệ thống được xây dựng dưới dạng web application sử dụng ngôn ngữ C# làm nền tảng lập trình phía máy chủ. Giao diện người dùng được triển khai bằng HTML/CSS. Cơ sở dữ liệu được thiết kế theo mô hình quan hệ, thể hiện qua Sơ đồ ERD trong phần thiết kế.

Phân công triển khai

Bảng phân công thể hiện sự phân chia trách nhiệm rõ ràng giữa năm thành viên:

Thành viên Phần Use Case Phần Giao diện
Nguyễn Văn Cảnh Đăng nhập, tìm kiếm, xem sản phẩm, mua hàng Quản lý khuyến mãi
Trần Thị Thúy Hằng Quản lý thông tin cá nhân, danh mục, tài khoản Chi tiết sản phẩm
Lê Thị Thu Hiền Quản lý sản phẩm, đơn hàng, đánh giá Quản lý giỏ hàng
Nguyễn Ngọc Trí Quản lý doanh thu Đăng nhập, đăng ký, quản lý tài khoản, trang chủ
Nguyễn Thúy Thanh Quản lý giỏ hàng, khuyến mãi Quản lý sản phẩm, danh mục, hóa đơn

Ngoài phần lập trình, ba thành viên (Trần Thị Thúy Hằng, Lê Thị Thu Hiền, Nguyễn Thúy Thanh) đảm nhận soạn thảo tài liệu báo cáo; toàn bộ năm thành viên cùng tham gia thiết kế bảng cơ sở dữ liệu.

Các chức năng đã triển khai

Hệ thống bao gồm hai nhóm chức năng chính:

Nhóm chức năng người dùng: Đăng nhập/Đăng ký, Xem sản phẩm, Tìm kiếm, Mua hàng, Quản lý giỏ hàng (thêm/xóa/cập nhật số lượng), Quản lý thông tin cá nhân và đổi mật khẩu.

Nhóm chức năng quản trị (Admin): Quản lý tài khoản, Quản lý danh mục sản phẩm, Quản lý sản phẩm, Quản lý đơn hàng/hóa đơn, Quản lý khuyến mãi, Quản lý đánh giá, Quản lý và thống kê doanh thu.


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

Kết thúc đồ án, nhóm đã hoàn thiện một hệ thống website thương mại điện tử chuyên biệt cho cửa hàng thú cưng với đầy đủ hai phân hệ: phân hệ dành cho khách hàng (mua sắm trực tuyến) và phân hệ quản trị dành cho Admin/Nhân viên. Toàn bộ 10 giao diện chính đã được kiểm thử trong giai đoạn vận hành.

Đồ án ghi nhận kết quả theo hai chiều:

  • Những vấn đề đạt được: Các chức năng cốt lõi của hệ thống bán hàng trực tuyến được triển khai và hoạt động.
  • Những vấn đề chưa đạt được: Nhóm thừa nhận còn tồn tại những thiếu sót trong quá trình phân tích, thiết kế và cài đặt hệ thống (nội dung cụ thể của mục này không được trình bày đầy đủ trong phần văn bản cung cấp).

Về mặt học thuật, đồ án đóng góp một ví dụ thực hành hoàn chỉnh về việc áp dụng phương pháp CDIO vào phát triển ứng dụng web thương mại điện tử, từ giai đoạn hình thành ý tưởng đến vận hành sản phẩm.


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

Nhóm tác giả thừa nhận trong phần Mở đầu rằng "không tránh khỏi những thiếu sót" trong quá trình tìm hiểu, phân tích, thiết kế và cài đặt hệ thống. Phạm vi đồ án giới hạn ở mức prototype và demo chức năng, chưa đề cập đến các khía cạnh triển khai thực tế như bảo mật nâng cao, tối ưu hiệu năng cho lượng truy cập lớn, hay tích hợp cổng thanh toán điện tử thực tế.

Hướng phát triển tiếp theo (theo bố cục đồ án đề cập là "kết luận và hướng phát triển") bao gồm việc giải quyết các vấn đề chưa hoàn thiện được ghi nhận trong mục "Những vấn đề chưa đạt được", tuy nhiên nội dung chi tiết của mục này không có trong phần văn bản được cung cấp.


Giá trị tham khảo

Đồ án phù hợp làm tài liệu tham khảo cho các đối tượng sau:

  • Sinh viên ngành Công nghệ phần mềm đang học các môn Phân tích thiết kế hệ thống, Phân tích hướng đối tượng, hoặc chuẩn bị thực hiện đồ án CDIO. Phần đặc tả use case (bảng mã, tác nhân, luồng sự kiện, điều kiện trước/sau) và các biểu đồ tuần tự, biểu đồ hoạt động là phần đáng tham khảo nhất về cách viết tài liệu phân tích.
  • Sinh viên thực hiện đề tài thương mại điện tử ở phạm vi đồ án môn học. Cấu trúc phân tích chức năng (chia theo nhóm người dùng và Admin), cách tổ chức bảng phân công và quy trình từ Prototype đến kiểm thử là những điểm có thể áp dụng tương tự.
  • Người tìm hiểu khung CDIO trong đào tạo kỹ thuật, vì đồ án thể hiện đầy đủ bốn giai đoạn của phương pháp này trong một dự án quy mô nhóm nhỏ.

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

1. Hệ thống phân biệt bao nhiêu loại người dùng và quyền hạn của từng loại là gì? Văn bản xác định ba nhóm người dùng: Admin, Người quản lý và Nhân viên (về phía hệ thống quản trị), cùng với Người dùng thông thường (khách hàng). Admin có quyền thực hiện toàn bộ các use case quản lý: danh mục, tài khoản, sản phẩm, khuyến mãi, đơn hàng, đánh giá và doanh thu. Người dùng thông thường có quyền đăng nhập, xem sản phẩm, mua hàng và quản lý thông tin cá nhân.

2. Quy trình mua hàng trong hệ thống diễn ra theo những bước nào? Theo use case mua hàng được đặc tả, luồng sự kiện chính gồm: (1) Người dùng chọn mua hàng; (2) Người dùng xem thông tin sản phẩm; (3) Nếu hệ thống hiển thị có sản phẩm cần mua, người dùng chọn sản phẩm cụ thể và thanh toán; (4) Hệ thống hiển thị hóa đơn thanh toán. Điều kiện trước là người dùng đã đăng ký và đăng nhập vào hệ thống.

3. Người dùng có thể thay đổi số lượng sản phẩm trong giỏ hàng như thế nào? Theo UC06 (Cập nhật số lượng), người dùng chọn chức năng quản lý giỏ hàng, chọn sản phẩm muốn thay đổi số lượng, điều chỉnh số lượng phù hợp, sau đó hệ thống cập nhật lại số lượng trong giỏ hàng. Người dùng có thể thêm hoặc xóa số lượng sản phẩm. Điều kiện trước là đã đăng nhập; điều kiện sau là hiển thị số lượng đã thay đổi.

4. Chức năng đổi mật khẩu có yêu cầu xác nhận gì không? Theo UC07 (Quản lý thông tin cá nhân), mục "Các yêu cầu mở rộng" ghi rõ người dùng phải nhập mật khẩu hai lần giống nhau. Điều kiện sau của use case này là dữ liệu được cập nhật vào cơ sở dữ liệu người dùng; hệ thống thông báo thành công hoặc thất bại sau khi thao tác.

5. Đồ án sử dụng ngôn ngữ lập trình và công nghệ gì để xây dựng hệ thống? Theo phần Mục đích của đề tài, hệ thống được xây dựng bằng ngôn ngữ C#. Giao diện sử dụng HTML/CSS. Tại thời điểm thực hiện đồ án, các thành viên đang trong quá trình nghiên cứu ngôn ngữ lập trình và HTML/CSS song song với việc triển khai dự án.


Kết luận

Đồ án CDIO 3 "Xây dựng website cửa hàng bán đồ cho thú cưng" của nhóm 01 lớp SE 397V, Trường Đại học Duy Tân là một dự án thực hành phần mềm quy mô nhóm, được triển khai theo phương pháp CDIO đầy đủ bốn giai đoạn. Hệ thống bao gồm 12 use case được đặc tả chi tiết, thiết kế cơ sở dữ liệu ERD, 11 màn hình prototype và kiểm thử 10 giao diện thực tế, phục vụ nhu cầu mua sắm trực tuyến của chủ nuôi thú cưng và hỗ trợ quản trị toàn diện cho phía cửa hàng. Tài liệu thể hiện tốt quy trình phân tích và thiết kế hướng đối tượng chuẩn mực, đặc biệt ở phần đặc tả use case và biểu đồ hành vi, và có giá trị tham khảo thiết thực cho sinh viên Công nghệ phần mềm đang thực hiện các đồ án tương tự.