Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh đời sống kinh tế - xã hội ngày càng phát triển, nhu cầu nuôi dưỡng và chăm sóc thú cưng của các hộ gia đình có xu hướng gia tăng nhanh chóng. Kéo theo đó là sự gia tăng mạnh mẽ về nhu cầu tìm kiếm các nguồn cung cấp thức ăn, phụ kiện, đồ chơi đảm bảo chất lượng, uy tín và giá cả hợp lý. Tuy nhiên, việc tìm kiếm và chọn lọc các sản phẩm, dịch vụ chuyên biệt dành cho thú cưng trên thị trường truyền thống vẫn gặp nhiều khó khăn, thiếu tính tập trung và đồng bộ. Xuất phát từ thực tiễn đó, đề tài "Shop quản lý thú cưng" được thực hiện nhằm xây dựng một giải pháp website thương mại điện tử kết hợp quản lý thông tin chăm sóc thú cưng dựa trên nền tảng công nghệ .NET.
Theo văn bản đồ án, các mục tiêu nghiên cứu và nhiệm vụ cụ thể được xác định bao gồm:
- Cung cấp cho các chủ nuôi thú cưng một địa chỉ tin cậy để tìm kiếm và mua sắm các sản phẩm chất lượng, có mức giá hợp lý.
- Hỗ trợ chủ nuôi quản lý quá trình chăm sóc thú cưng một cách khoa học và hiệu quả, bao gồm việc theo dõi lịch tiêm phòng, lịch khám bệnh, chế độ ăn uống và lịch vận động/đi dạo.
- Tạo lập một không gian kết nối cộng đồng dành cho những người nuôi thú cưng nhằm chia sẻ kinh nghiệm, trao đổi kiến thức và hỗ trợ lẫn nhau.
Để hiện thực hóa các mục tiêu trên, tác giả triển khai các nhiệm vụ nghiên cứu theo 4 bước:
- Phân tích nhu cầu thực tế của các chủ nuôi thú cưng.
- Nghiên cứu thị trường các dòng sản phẩm và dịch vụ dành cho thú cưng.
- Thiết kế hệ thống website bán hàng và quản lý thú cưng sử dụng công nghệ .NET.
- Triển khai lập trình, tích hợp cơ sở dữ liệu và vận hành thử nghiệm website.
Đối tượng nghiên cứu của đề tài là quy trình nghiệp vụ bán hàng, quản lý đơn lẻ/dịch vụ thú cưng và các giải pháp công nghệ phát triển ứng dụng web trên môi trường .NET. Phạm vi nghiên cứu được giới hạn trong việc thiết kế và xây dựng hệ thống phần mềm thử nghiệm tại Khoa Công nghệ Thông tin - Trường Đại học Nguyễn Trãi, hoàn thành báo cáo vào tháng 09 năm 2023.
Cơ sở lý thuyết và phương pháp
Đồ án được xây dựng dựa trên sự kết hợp của các khối kiến thức lý thuyết về công nghệ web front-end, công nghệ back-end và hệ quản trị cơ sở dữ liệu quan hệ do Microsoft phát triển:
- Công nghệ phát triển giao diện (Front-end):
- HTML (Hypertext Markup Language): Ngôn ngữ đánh dấu siêu văn bản định hình cấu trúc các thành phần trang web.
- CSS3: Phiên bản nâng cấp hỗ trợ định dạng bộ chọn (Selectors), hiệu ứng văn bản, bố cục nhiều cột, First-Letter/First-Line Pseudo-Classes và phân trang in ấn (Paged Media).
- JavaScript & jQuery: Ngôn ngữ kịch bản phía máy khách kết hợp thư viện mã nguồn mở theo giấy phép MIT nhằm tối ưu hóa thao tác trên cây cấu trúc DOM, xử lý sự kiện, hiệu ứng hoạt ảnh và kỹ thuật truyền nhận dữ liệu bất đồng bộ Ajax.
- Bootstrap Framework: Bộ công cụ giao diện người dùng dựa trên hệ thống lưới đáp ứng (Responsive Grid), hỗ trợ tương thích trên nhiều kích thước màn hình.
- Hệ quản trị cơ sở dữ liệu (RDBMS):
- Microsoft SQL Server: Hệ quản trị cơ sở dữ liệu quan hệ được lựa chọn để lưu trữ và quản lý dữ liệu cho toàn bộ ứng dụng. Văn bản phân tích rõ các ưu điểm về hiệu suất xử lý dữ liệu lớn, tính linh hoạt, bảo mật, tính sẵn sàng cao, khả năng mở rộng và khả năng tích hợp trong hệ sinh thái Microsoft; đồng thời nhìn nhận các hạn chế về chi phí bản quyền, đòi hỏi cấu hình phần cứng máy chủ cao và tính chất phức tạp trong quản trị.
- Nền tảng và ngôn ngữ lập trình phía máy chủ (Back-end):
- Nền tảng .NET / .NET Core: Môi trường phát triển đa nền tảng (chạy trên Windows, macOS, Linux), vận hành dựa trên cơ chế thực thi Common Language Runtime (CLR) hỗ trợ quản lý bộ nhớ tự động và đảm bảo an toàn thực thi.
- Ngôn ngữ C#: Ngôn ngữ lập trình hướng đối tượng mạnh mẽ, đa nền tảng, cú pháp rõ ràng và sở hữu hệ sinh thái thư viện phong phú.
- Mô hình ASP.NET MVC 5: Kiến trúc phân tách ứng dụng thành 3 thành phần độc lập: Mô hình (Model - lớp dữ liệu và nghiệp vụ), Cơ sở dữ liệu, và Trình điều khiển (Controller - tiếp nhận và xử lý yêu cầu từ người dùng).
Phương pháp nghiên cứu được áp dụng trong đồ án bao gồm: phương pháp phân tích yêu cầu phần mềm, phương pháp mô hình hóa dữ liệu quan hệ, phương pháp thiết kế kiến trúc phân lớp (3 lớp) và phương pháp kiểm thử chức năng trực tiếp trên hệ thống cục bộ (Localhost). Nguồn dữ liệu sử dụng bao gồm các tài liệu kỹ thuật chuyên ngành từ Microsoft, tài liệu tham khảo học thuật trực tuyến và bộ dữ liệu mẫu do tác giả tự xây dựng để phục vụ kiểm thử hệ thống.
Nội dung chính theo từng chương
Chương 1: Nghiên cứu cơ sở lý thuyết
Chương này tập trung trình bày tổng quan lý thuyết về các công nghệ được sử dụng trong dự án. Về mặt giao diện, tác giả hệ thống hóa các khái niệm về HTML, các đặc tính mới của CSS3, vai trò của ngôn ngữ JavaScript trong việc tăng tính tương tác, sự tiện lợi của thư viện jQuery trong thao tác DOM và lưới đáp ứng của Bootstrap. Về mặt lưu trữ, tác giả phân tích kiến trúc, ưu điểm và nhược điểm của hệ quản trị cơ sở dữ liệu SQL Server. Về công nghệ xử lý phía máy chủ, chương 1 đi sâu vào nền tảng .NET, môi trường thực thi CLR, các ưu điểm của ngôn ngữ C# và cấu trúc phân tầng của mô hình thiết kế ASP.NET MVC 5.
Chương 2: Tổng quan về đề tài
Chương 2 phân tích tính cấp thiết của bài toán kinh doanh và quản lý thú cưng trong thực tế, đặt ra mục tiêu xây dựng một website thương mại điện tử tích hợp tính năng quản lý lịch trình thú cưng. Tác giả thảo luận về hệ thống hiện tại sử dụng nền tảng .NET Core với ưu thế mã nguồn mở và khả năng đa nền tảng, đồng thời phân tích mô hình "Hệ thống đề xuất" (Recommendation System) dựa trên lịch sử hành vi người dùng nhằm gia tăng tương tác và doanh số. Ngoài ra, chương này cũng chỉ ra các giới hạn của nền tảng .NET và xác lập chi tiết bảng yêu cầu cấu hình phần cứng, phần mềm đối với hệ thống máy chủ (Server) và máy khách (Client).
Chương 3: Phân tích yêu cầu khách hàng và thiết kế hệ thống
Tác giả phân loại người dùng thành 3 nhóm tác nhân chính: Khách vãng lai (Guest), Thành viên (Member) và Quản trị viên (Admin). Mỗi nhóm chức năng đều được mô tả chi tiết theo cấu trúc: Mô tả - Dữ liệu nhập - Quy trình xử lý - Dữ liệu xuất. Chương này cung cấp thiết kế cấu trúc các bảng cơ sở dữ liệu quan hệ (Users, UserLogin, SanPham, DonHang, ChiTietDonHang, DanhGia, DanhMuc, DichVu, KhachHang), sơ đồ liên kết bảng, cấu trúc sitemap cho từng phân hệ người dùng và các lưu đồ giải thuật cho các quy trình nghiệp vụ then chốt (đăng ký, đăng nhập, đổi mật khẩu, thay đổi thông tin cá nhân, thêm/xóa sản phẩm, đặt mua, tìm kiếm).
Chương 4: Xây dựng hệ thống
Chương 4 thể hiện kết quả hiện thực hóa phần mềm thông qua các đoạn mã nguồn và giao diện người dùng thực tế. Tác giả trình bày mã nguồn của SecurityController (sử dụng ASP.NET Identity để quản lý người dùng, phân quyền theo vai trò RoleManager, mã hóa mật khẩu và xác thực đăng nhập/đăng xuất) và AdminController (phân quyền [Authorize(Roles = "Manager,Admin")], phân trang dữ liệu PaginatedList, xử lý upload hình ảnh sản phẩm IFormFile, tính toán giá khuyến mãi tự động, thống kê tổng doanh thu, số lượng đơn hàng, số lượng khách hàng và quản lý trạng thái giao hàng). Chương này cũng đính kèm ảnh chụp màn hình các giao diện: Trang chủ, Trang đăng nhập, Trang quản trị Dashboard và Trang danh mục sản phẩm.
Chương 5: Kết luận
Chương cuối cùng tổng kết các kết quả mà tác giả đã đạt được qua quá trình thực hiện đồ án, tự đánh giá các ưu điểm về mức độ hoàn thiện tính năng và tính bảo mật của hệ thống, thẳng thắn nhìn nhận các hạn chế về mặt thẩm mỹ giao diện và độ mượt mà khi tương tác, từ đó đề ra phương hướng bảo trì và mở rộng hệ thống trong tương lai.
Thiết kế và triển khai
1. Yêu cầu hạ tầng kỹ thuật
Hệ thống được thiết kế dựa trên các tiêu chuẩn phần cứng và phần mềm cho hai môi trường Server và Client:
| Tiêu chí |
Cấu hình tối thiểu (Server) |
Cấu hình tối thiểu (Client) |
Cấu hình đề nghị (Server) |
Cấu hình đề nghị (Client) |
| RAM |
8 GB |
4 GB |
$\ge$ 16 GB |
8 GB |
| Ổ cứng (HDD) |
$\ge$ 50 GB |
Không quy định cụ thể |
$\ge$ 100 GB |
Không quy định cụ thể |
| Bộ vi xử lý (CPU) |
Intel Core i5 hoặc tương đương |
Intel Core i3 hoặc tương đương |
Intel Core i7 hoặc tương đương |
Intel Core i5 hoặc tương đương |
| Hệ điều hành |
Windows Server 2012 R2 / 2016 |
Windows 7 / 8.1 / 10 |
Windows Server 2019 |
Windows 10 |
| Phần mềm / Trình duyệt |
SQL Server 2014 trở lên |
IE 8.0, Chrome 15.1 trở lên |
SQL Server 2017 trở lên |
IE 11.0, Firefox 16.0, Chrome 19.0 trở lên |
2. Phân quyền người dùng và luồng nghiệp vụ
Hệ thống xác định 3 cấp độ phân quyền chặt chẽ:
- Khách vãng lai (Guest): Xem danh sách và chi tiết sản phẩm (tên, kích cỡ, màu sắc, giá cả), tìm kiếm sản phẩm, thực hiện đăng ký tài khoản thành viên (kiểm tra định dạng email, tính duy nhất của username, độ dài mật khẩu tối thiểu 6 ký tự).
- Thành viên (Member): Đăng nhập, đăng xuất (hủy session), thêm sản phẩm vào giỏ hàng, đặt hàng (kiểm tra tồn kho, kiểm tra phương thức thanh toán, lưu đơn hàng và xuất hóa đơn), tra cứu lịch sử đơn hàng, cập nhật thông tin cá nhân, đổi mật khẩu và bình luận/đánh giá sản phẩm.
- Quản trị viên (Admin): Đăng nhập trang quản trị, quản lý danh mục và thông tin sản phẩm (thêm, sửa, xóa, tải lên hình ảnh), quản lý trạng thái tài khoản khách hàng (khóa/kích hoạt), quản lý đơn đặt hàng (tiếp nhận, duyệt thanh toán, cập nhật trạng thái "giao thành công"), quản lý dịch vụ và theo dõi báo cáo thống kê doanh thu/đơn hàng.
3. Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu được tổ chức thành các bảng quan hệ với cấu trúc trường dữ liệu chặt chẽ:
Users / AspNetUsers: Chứa thông tin tài khoản, mật khẩu đã mã hóa (PasswordHash), email, số điện thoại, trạng thái xác thực (EmailConfirmed, PhoneNumberConfirmed), mã bảo mật (SecurityStamp), cơ chế khóa tài khoản (LockoutEnd, LockoutEnabled, AccessFailedCount).
KhachHang: hoten, tendangnhap, matkhau, email, diachi, dienthoai, ngaysinh, RoleID, status, resetpasswordcode.
SanPham: Masp, IdDanhmuc, Idthuvien, tensp, hinh, giaban, ngaycapnhat, soluongton, mota, giamgia, giakhuyenmai.
DonHang: Madon, makh, thanhtoan, giaohang, ngaydat, ngaygiao.
ChiTietDonHang: masp, soluong, gia, tongsoluong, tonggia, status.
DichVu: hoten, email, sdt, diachi, trangthai, tendichvu, ngaydat, makh.
DanhGia: Content, Rating, Ngaycapnhap, trangthai, id_sp, id_kh.
DanhMuc: IdDanhmuc, tendanhmuc, ParentID.
4. Hiện thực hóa mã nguồn và giải thuật
Hệ thống sử dụng các bộ điều khiển trung tâm để thực thi logic nghiệp vụ:
SecurityController: Quản lý chu trình xác thực thông qua thư viện Microsoft.AspNetCore.Identity. Phương thức Register thực hiện gán vai trò người dùng mặc định (RoleName = "User"), gọi hàm bất đồng bộ userManager.CreateAsync để mã hóa và lưu thông tin người dùng. Phương thức SignIn kiểm tra thông tin hợp lệ thông qua signInManager và thiết lập phiên làm việc (SetString("username", ...)).
AdminController: Áp dụng bộ lọc phân quyền [Authorize(Roles = "Manager,Admin")]. Quá trình thêm/sửa sản phẩm (Create, Edit) tích hợp xử lý lưu tệp hình ảnh vào thư mục máy chủ (Content/uploads), tự động tính toán giá khuyến mãi theo công thức:
$$\text{Giá khuyến mại} = \text{Giá bán} - \frac{\text{Giá bán} \times \text{Giảm giá}}{100}$$
- Thuật toán phân trang: Áp dụng lớp
PaginatedList<T> với kích thước cố định (pageSize = 5) để tối ưu hóa hiệu năng truy vấn danh sách sản phẩm và đơn hàng.
- Bảng điều khiển quản trị (Dashboard): Tích hợp các hàm tính toán thống kê tự động gồm
ThongKeDoanhThu(), ThongKeSL(), ThongKeDonHang() và ThongKeKhachHang().
Kết quả và đóng góp
Kết quả chính
Đồ án đã xây dựng hoàn chỉnh một ứng dụng web thương mại điện tử phục vụ lĩnh vực kinh doanh và chăm sóc thú cưng với các kết quả cụ thể:
- Xây dựng thành công hệ thống phân quyền 3 lớp (Guest, Member, Admin) với cơ chế xác thực, mã hóa mật khẩu an toàn thông qua ASP.NET Identity.
- Hoàn thiện module quản lý danh mục, sản phẩm, giỏ hàng, đặt mua và quản lý vòng đời đơn hàng (từ tiếp nhận đến cập nhật trạng thái "giao thành công").
- Xây dựng phân hệ quản trị trực quan với các chỉ số thống kê tổng hợp (doanh thu, số lượng sản phẩm, đơn hàng, khách hàng).
- Thiết kế giao diện người dùng đáp ứng (Responsive) với các trang chức năng: Trang chủ, Trang danh sách sản phẩm (hiển thị mức giá bán và giá khuyến mãi), Trang đăng nhập/đăng ký và Trang Dashboard quản trị.
Đóng góp thực tiễn
- Đề tài kết nối giữa nghiệp vụ thương mại điện tử (bán thức ăn, phụ kiện, đồ chơi) và nhu cầu quản lý thông tin chăm sóc thú cưng (theo dõi lịch khám, lịch tiêm phòng, dịch vụ đặt hẹn).
- Cung cấp một tài liệu tham khảo hoàn chỉnh từ khâu phân tích yêu cầu, thiết kế lược đồ quan hệ cơ sở dữ liệu đến hiện thực hóa mã nguồn trên nền tảng ASP.NET MVC và C#.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
Tác giả tự chỉ ra các điểm tồn tại của hệ thống trong báo cáo:
- Giao diện người dùng do cá nhân tự thiết kế nên mức độ hoàn thiện về mặt mỹ thuật và trải nghiệm thị giác chưa đạt mức tối ưu.
- Một số chức năng tương tác trên hệ thống vận hành chưa thực sự mượt mà, đôi khi gây ảnh hưởng đến trải nghiệm của người dùng.
- Về mặt nền tảng, công nghệ .NET và hệ quản trị SQL Server có yêu cầu cấu hình phần cứng cao và chi phí bản quyền, tạo rào cản nhất định nếu mở rộng quy mô triển khai cho doanh nghiệp vừa và nhỏ.
Hướng nghiên cứu tiếp
- Tiếp tục bảo trì, rà soát và khắc phục triệt để các lỗi phát sinh trong các module hiện hành.
- Tái cấu trúc và thiết kế lại giao diện người dùng theo hướng hiện đại, thân thiện và tối ưu hóa trải nghiệm tương tác.
- Phát triển bổ sung các tính năng nâng cao, trong đó có việc hoàn thiện thuật toán cho "Hệ thống đề xuất" (Recommendation System) dựa trên lịch sử tương tác và mua sắm của khách hàng.
Giá trị tham khảo
Tài liệu đồ án mang lại giá trị tham khảo hữu ích cho:
- Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin đang thực hiện đồ án chuyên môn, đồ án tốt nghiệp liên quan đến xây dựng website thương mại điện tử bằng ASP.NET MVC / .NET Core và SQL Server.
- Người học cần tài liệu mẫu về cấu trúc cơ sở dữ liệu quan hệ cho bài toán bán hàng trực tuyến kết hợp quản lý dịch vụ (đơn hàng, chi tiết đơn hàng, dịch vụ hẹn lịch, đánh giá, danh mục đa cấp).
- Lập trình viên muốn tham khảo cách triển khai thực tế của các kỹ thuật: phân quyền Identity (
UserManager, RoleManager), phân trang dữ liệu (PaginatedList), upload tệp tin đa phương tiện (IFormFile) và tính toán dữ liệu tự động trong Controller.
Câu hỏi thường gặp
1. Đồ án sử dụng những công nghệ và nền tảng chính nào để phát triển hệ thống?
Hệ thống sử dụng ngôn ngữ C# trên nền tảng .NET / ASP.NET MVC 5, hệ quản trị cơ sở dữ liệu quan hệ Microsoft SQL Server. Phía giao diện (front-end) kết hợp giữa HTML, CSS3, JavaScript, thư viện jQuery và framework Bootstrap.
2. Hệ thống phân chia quyền hạn của người dùng thành những nhóm đối tượng nào?
Hệ thống phân chia người dùng thành 3 nhóm:
- Guest (Khách vãng lai): Xem sản phẩm, tìm kiếm, đăng ký tài khoản.
- Member (Thành viên): Đăng nhập, đăng xuất, đặt hàng, xem lịch sử đơn hàng, đổi mật khẩu, sửa thông tin cá nhân.
- Admin (Quản trị viên): Quản lý sản phẩm, đơn hàng, tài khoản khách hàng, danh mục, dịch vụ và xem thống kê báo cáo doanh thu.
3. Yêu cầu cấu hình phần cứng tối thiểu đối với máy chủ (Server) để vận hành hệ thống là gì?
Cấu hình máy chủ tối thiểu được quy định trong văn bản gồm: RAM 8 GB, ổ cứng HDD còn trống từ 50 GB trở lên, CPU Intel Core i5 hoặc tương đương, chạy hệ điều hành Windows Server 2012 R2 hoặc Windows Server 2016 và cài đặt SQL Server 2014 trở lên.
4. Chức năng quản lý sản phẩm phía Admin tính giá khuyến mãi của sản phẩm như thế nào?
Trong AdminController, giá khuyến mãi được tính toán tự động dựa trên giá bán ban đầu (Giaban) và tỷ lệ giảm giá phần trăm (Giamgia):
var x = sanPham.Giaban;
var y = sanPham.Giamgia;
var z = (x * y) / 100;
var price = x - z;
sanPham.Giakhuyenmai = price;
5. Cơ sở dữ liệu của hệ thống bao gồm những bảng lưu trữ chính nào?
Cơ sở dữ liệu bao gồm các bảng chính: Users / AspNetUsers, UserLogin, KhachHang, SanPham, DanhMuc, DonHang, ChiTietDonHang, DichVu và DanhGia.
Kết luận
Đồ án chuyên môn "Shop quản lý thú cưng" của sinh viên Trần Công Định (Đại học Nguyễn Trãi) đã hoàn thành việc nghiên cứu, phân tích và hiện thực hóa một hệ thống website thương mại điện tử kết hợp quản lý dịch vụ chăm sóc thú cưng hoàn chỉnh trên nền tảng ASP.NET MVC và SQL Server. Hệ thống đã triển khai đầy đủ các quy trình nghiệp vụ từ xác thực phân quyền người dùng, quản lý danh mục sản phẩm, đặt hàng đến trang quản trị và thống kê doanh thu. Mặc dù vẫn còn một số hạn chế về mặt giao diện và tính mượt mà khi tương tác, đồ án đã giải quyết tốt bài toán nghiệp vụ đặt ra và cung cấp một mô hình ứng dụng thực tiễn có giá trị tham khảo cao cho sinh viên ngành Công nghệ Thông tin.