Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin và Internet phát triển nhanh chóng, thương mại điện tử đã trở thành phương thức kinh doanh phổ biến, làm thay đổi căn bản cách thức giao dịch truyền thống. Các nền tảng thương mại điện tử quy mô lớn như Amazon, Alibaba hay AliExpress định hướng phát triển mô hình kinh doanh đa ngành hàng. Mặc dù mô hình này mang lại sự đa dạng về chủng loại sản phẩm, song cũng tạo ra rào cản cho người tiêu dùng khi cần tìm kiếm chuyên sâu vào một nhóm mặt hàng cụ thể.
Đối với các cửa hàng kinh doanh truyền thống, việc quảng bá sản phẩm tới từng khách hàng thường tốn kém chi phí nhưng hiệu quả chưa cao. Bên cạnh đó, việc quản lý thủ công bộc lộ nhiều bất cập như khó theo dõi dữ liệu người dùng, quản lý thông tin nhà cung cấp, cập nhật biến động giá cả và phân loại sản phẩm. Xuất phát từ thực tế này, đồ án học phần Lập trình Web tại Trường Đại học Công nghệ TP. HCM (HUTECH) với đề tài "Xây dựng website kinh doanh thời trang ColoShop" được nhóm sinh viên thực hiện dưới sự hướng dẫn của ThS. Trịnh Công Nhựt vào tháng 03/2023.
Nhiệm vụ và mục tiêu nghiên cứu của đồ án bao gồm:
- Khảo sát thực trạng kinh doanh thời trang và xác định các yêu cầu nghiệp vụ của một website bán hàng trực tuyến.
- Thiết kế cấu trúc hệ thống, cơ sở dữ liệu quan hệ và các mô hình chức năng (Use Case, DFD, Sequence Diagram, Activity Diagram, Class Diagram, ERD).
- Hiện thực hóa website thương mại điện tử ColoShop với đầy đủ phân hệ dành cho khách hàng, nhân viên và quản trị viên trên nền tảng ASP.NET MVC.
- Đánh giá kết quả thực nghiệm, chỉ ra các hạn chế kỹ thuật hiện tại và đề xuất hướng nâng cấp, mở rộng hệ thống.
Đối tượng nghiên cứu của đề tài là quy trình quản lý và vận hành website thương mại điện tử chuyên ngành hàng thời trang, bao gồm luồng dữ liệu mua bán, giỏ hàng, phân quyền người dùng và kiểm soát đơn hàng. Phạm vi nghiên cứu tập trung vào mô hình ứng dụng web chạy trên môi trường cục bộ phục vụ các nghiệp vụ bán lẻ thời trang với các vai trò người dùng cụ thể.
Cơ sở lý thuyết và công nghệ áp dụng
Đề tài áp dụng mô hình phát triển phần mềm hướng đối tượng kết hợp kiến trúc phân tầng Model - View - Controller (MVC), sử dụng các công nghệ, ngôn ngữ và công cụ lập trình sau:
- Mô hình kiến trúc ASP.NET MVC: Phân chia ứng dụng thành 3 thành phần độc lập:
- Model: Đại diện cho cấu trúc dữ liệu, trạng thái logic nghiệp vụ và tương tác với cơ sở dữ liệu.
- View: Giao diện người dùng, hiển thị thông tin và nhận tương tác từ khách hàng hoặc quản trị viên (sử dụng cú pháp Razor/ASPX).
- Controller: Tiếp nhận yêu cầu (requests) từ người dùng qua HTTP, xử lý dữ liệu thông qua Model và quyết định View phản hồi tương ứng.
- Ngôn ngữ lập trình C# (C Sharp): Ngôn ngữ lập trình hiện đại, hướng đối tượng, định kiểu tĩnh mạnh mẽ do Microsoft phát triển trên nền tảng Common Language Infrastructure (CLI), hỗ trợ xử lý logic phía máy chủ (backend).
- Ngôn ngữ đánh dấu và kịch bản phía máy khách (Frontend):
- HTML/CSS: Xây dựng cấu trúc trang và định dạng giao diện, tối ưu hiển thị.
- JavaScript & Thư viện jQuery: Xử lý tương tác động trên trình duyệt, đơn giản hóa các thao tác điều khiển DOM, xử lý sự kiện form và truyền nhận dữ liệu bất đồng bộ qua Ajax.
- Bootstrap: Framework giao diện hỗ trợ thiết kế web tương thích đa màn hình (Responsive Web Design).
- Hệ quản trị cơ sở dữ liệu Microsoft SQL Server (SQL Server Express): Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) sử dụng ngôn ngữ truy vấn Transact-SQL (T-SQL), hỗ trợ lưu trữ toàn vẹn, lập chỉ mục và phân quyền truy cập bảng dữ liệu.
- Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio Community 2022 tích hợp trình biên dịch, công cụ gỡ lỗi (debugger), hỗ trợ IntelliSense và quản lý mã nguồn.
| Công nghệ / Công cụ |
Phiên bản / Đặc điểm kỹ thuật |
Vai trò trong hệ thống |
| ASP.NET MVC |
Nền tảng web application của Microsoft |
Khung kiến trúc tổng thể, điều hướng luồng xử lý và kết nối dữ liệu |
| C# (C Sharp) |
Ngôn ngữ gõ tĩnh, hướng đối tượng |
Xử lý logic nghiệp vụ phía máy chủ (Backend Controller, Service) |
| SQL Server Express |
RDBMS Microsoft, chuẩn T-SQL |
Lưu trữ và quản trị cơ sở dữ liệu quan hệ |
| Visual Studio 2022 |
Bản Community |
Môi trường lập trình, kiểm thử và thiết kế giản đồ cơ sở dữ liệu |
| Bootstrap & jQuery |
Framework CSS Responsive & Thư viện JS |
Xây dựng giao diện tương thích thiết bị và tương tác người dùng |
Thiết kế và triển khai hệ thống
Hệ thống được phân tích nghiệp vụ và thiết kế chi tiết thông qua các mô hình chuẩn:
1. Phân quyền người dùng và mô hình chức năng (Use Case)
Hệ thống phân định 3 nhóm tác nhân chính với các quyền hạn riêng biệt:
- Khách hàng (Customer): Đăng ký tài khoản, đăng nhập, tìm kiếm và xem danh mục sản phẩm thời trang, sắp xếp theo tên hoặc giá, xem chi tiết sản phẩm, quản lý giỏ hàng (thêm, sửa số lượng, xóa), đặt mua hàng, cập nhật địa chỉ giao hàng, thanh toán trực tiếp hoặc qua ví điện tử MoMo.
- Nhân viên (Employee): Đăng nhập hệ thống quản trị, xem danh sách và tiếp nhận xử lý trạng thái đơn hàng, quản lý danh mục và thông tin sản phẩm, quản lý thông tin tài khoản cá nhân.
- Quản trị viên (Admin): Toàn quyền quản trị hệ thống, quản lý thông tin và phân quyền tài khoản nhân viên/khách hàng, quản lý danh mục sản phẩm, quản trị bảng dữ liệu, cấu hình các chính sách và quy định hiển thị trên website.
| Tác nhân |
Nhóm chức năng chính |
Mô tả chi tiết hành động |
| Khách hàng |
Mua sắm & Tài khoản |
Đăng ký, đăng nhập, tìm kiếm, lọc giá, quản lý giỏ hàng, đặt hàng, thanh toán |
| Nhân viên |
Xử lý đơn & Sản phẩm |
Tiếp nhận đơn hàng, cập nhật trạng thái đơn, quản lý số lượng và thông tin hàng |
| Quản trị viên |
Quản trị toàn diện |
Quản lý người dùng, phân quyền (Roles), cấu hình danh mục, thống kê tổng quan |
2. Thiết kế cơ sở dữ liệu quan hệ (ERD)
Cơ sở dữ liệu của hệ thống ColoShop được chuẩn hóa gồm 8 bảng chính, lưu trữ đầy đủ các thực thể và ràng buộc toàn vẹn:
- Bảng
user (Tài khoản người dùng):
id (int, Khóa chính - PK)
Fullname (nvarchar(250)), username (varchar(250)), password (varchar(50)), email (varchar(100)), Phone (nvarchar(50))
EmailConfirmed (bit), SecurityStamp (varchar(250)), TwoFactorEnabled (bit), LockoutEndDateUtc (datetime), LockoutEnabled (bit), AccessFailedCount (int)
- Bảng
Productcategory (Loại sản phẩm):
id (int, PK), Title (nvarchar(150)), Description (nvarchar(MAX)), Icon (nvarchar(250)), Alias (nvarchar(250))
SeoTitle (nvarchar(250)), SeoDescription (nvarchar(250)), SeoKeywords (nvarchar(250))
CreatedBy (nvarchar(250)), CreatedDate (datetime), ModifiedBy (nvarchar(250)), ModifiedDate (datetime)
- Bảng
Product (Sản phẩm thời trang):
id (int, PK), ProductCategoryId (int, Khóa ngoại - FK liên kết với Productcategory)
title (nvarchar(200)), ProductCode (nvarchar(50)), description (nvarchar(4000)), Detail (nvarchar(MAX)), Image (nvarchar(200))
Price (decimal(18,2)), PriceSale (decimal(18,2)), Quantity (int)
IsHome (bit), IsSale (bit), IsFeature (bit), IsHot (bit), IsActive (bit), Alias (nvarchar(250))
SeoTitle (nvarchar(200)), SeoDescription (nvarchar(200)), SeoKeywords (nvarchar(200))
CreatedBy (nvarchar(MAX)), CreatedDate (datetime), ModifiedBy (nvarchar(MAX)), ModifiedDate (datetime)
- Bảng
orders (Đơn đặt hàng):
id (int, PK), Code (int), CustomerName (nvarchar(MAX)), Phone (nvarchar(MAX)), Address (nvarchar(MAX))
TotalAmount (decimal(18,2)), Quantity (int), TypePayment (int)
CreatedBy (nvarchar(MAX)), CreatedDate (datetime), ModifiedBy (nvarchar(MAX)), ModifiedDate (datetime)
- Bảng
orderdetail (Chi tiết đơn hàng):
id (int, PK), OrderId (int, FK liên kết orders), ProductId (int, FK liên kết Product), Quantity (int), Price (decimal(18,2))
- Bảng
category (Thể loại điều hướng chung):
id (int, PK), Title (nvarchar(150)), Description (nvarchar(250)), Position (nvarchar(250)), Alias (nvarchar(MAX)), IsActive (bit)
SeoTitle (nvarchar(250)), SeoDescription (nvarchar(250)), SeoKeywords (nvarchar(250))
CreatedBy (nvarchar(250)), CreatedDate (datetime), ModifiedBy (nvarchar(MAX)), ModifiedDate (datetime)
- Bảng
Roles (Nhóm quyền):
id (int, PK), Name (nvarchar(150))
- Bảng
UserRoles (Phân quyền người dùng):
UserId (int, PK), RolesId (int, PK)
3. Các mối quan hệ liên kết dữ liệu
- Quan hệ giữa
Product và ProductCategory: Quan hệ 1 - N (Một danh mục có nhiều sản phẩm, mỗi sản phẩm thuộc một danh mục cụ thể).
- Quan hệ giữa
orders và Product thông qua orderdetail: Quan hệ N - N (Một đơn hàng chứa nhiều sản phẩm và một sản phẩm có thể xuất hiện trong nhiều đơn hàng).
- Quan hệ giữa
user và Roles thông qua UserRoles: Quan hệ N - N (Một người dùng có thể gán nhiều vai trò và một vai trò áp dụng cho nhiều người dùng).
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương 1 giới thiệu lý do chọn đề tài xây dựng website bán hàng thời trang trực tuyến. Nhóm tác giả tiến hành khảo sát thực trạng kinh doanh bán lẻ, chỉ ra các ưu điểm và hạn chế trong việc ứng dụng công nghệ thông tin vào quản lý cửa hàng. Nội dung chương phân tích chi tiết các nhóm đối tượng sử dụng hệ thống (Khách hàng, Nhân viên, Quản trị viên), đồng thời xác định cụ thể các yêu cầu chức năng nghiệp vụ của từng nhóm tác nhân và thiết lập cấu trúc tổng thể của đồ án gồm 4 chương.
Chương 2: Cơ sở lý thuyết
Chương 2 trình bày tổng quan về nền tảng lý thuyết và môi trường công nghệ được ứng dụng trong quá trình phát triển dự án. Tác giả phân tích cú pháp và nguyên lý hoạt động của các ngôn ngữ lập trình web (HTML, CSS, JavaScript, C#), giải thích mô hình phân chia trách nhiệm Model - View - Controller trong ASP.NET MVC, vai trò của thư viện jQuery và framework Bootstrap trong tối ưu hóa giao diện. Đồng thời, chương này giới thiệu công cụ Visual Studio 2022, hệ quản trị cơ sở dữ liệu SQL Server Express, sau đó tiến hành phân tích thiết kế hệ thống thông qua các sơ đồ: BFD, Use Case, DFD, Sequence Diagram, Activity Diagram, Class Diagram, ERD và bảng chi tiết lược đồ cơ sở dữ liệu.
Chương 3: Kết quả thực nghiệm
Chương 3 trình bày toàn bộ kết quả giao diện và chức năng đã hiện thực hóa của hệ thống ColoShop:
- Phân hệ khách hàng: Bố cục 3 phần (Header, Container, Footer), trang chủ, trang đăng ký/đăng nhập (có kiểm tra dữ liệu đầu vào - validate form), trang hiển thị danh mục sản phẩm, bộ lọc sắp xếp giá từ thấp đến cao/từ cao đến thấp, trang chi tiết sản phẩm, module giỏ hàng với các thao tác thêm/xóa/điều chỉnh số lượng, trang thanh toán đơn hàng và module thanh toán trực tuyến qua MoMo.
- Phân hệ quản trị: Trang đăng nhập bảo mật phân quyền cho nhân viên và quản trị viên, giao diện Dashboard hiển thị số lượng danh mục và đơn hàng chờ xử lý, module quản lý danh sách đơn hàng sắp xếp theo thời gian, module quản trị thể loại sản phẩm (thêm/sửa/xóa), module quản lý thông tin sản phẩm (phân trang, cập nhật giá, hình ảnh, trạng thái hiển thị) và trang quản lý tài khoản nhân viên.
Chương 4: Kết luận và kiến nghị
Chương 4 tổng kết các kết quả đạt được sau quá trình triển khai thực tế của cả hai phân hệ người dùng và quản trị. Nhóm tác giả đưa ra đánh giá khách quan về ưu điểm của hệ thống như giao diện thân thiện, vận hành thuận tiện, phân quyền chặt chẽ; đồng thời thẳng thắn chỉ ra các khuyết điểm kỹ thuật còn tồn tại. Từ đó, tác giả xây dựng định hướng mở rộng, nâng cấp các tính năng cho khách hàng và bộ phận quản trị trong giai đoạn phát triển tiếp theo.
Kết quả và đóng góp
Sau quá trình nghiên cứu và thực hiện, đồ án đã đạt được các kết quả cụ thể sau:
- Về mặt thiết kế hệ thống:
- Xây dựng hoàn chỉnh tài liệu phân tích thiết kế phần mềm với 8 bảng dữ liệu quan hệ chuẩn hóa, đầy đủ các biểu đồ phân tích chức năng (BFD, Use Case, DFD, Activity, Sequence, Class Diagram).
- Thiết kế cơ chế phân quyền bảo mật 3 cấp độ: Customer (khách hàng thông thường không thể truy cập trang quản trị), Employee (nhân viên quản lý đơn hàng và danh mục sản phẩm) và Admin (quản trị toàn quyền hệ thống).
- Về mặt triển khai phần mềm:
- Xây dựng thành công ứng dụng web thương mại điện tử ColoShop hoạt động ổn định trên nền tảng ASP.NET MVC kết hợp SQL Server.
- Hoàn thiện luồng mua sắm trực tuyến khép kín: Tìm kiếm/lọc sản phẩm $\rightarrow$ Giỏ hàng $\rightarrow$ Xác thực thông tin giao hàng $\rightarrow$ Tạo đơn hàng $\rightarrow$ Tiếp nhận và xử lý trạng thái đơn hàng từ phía quản trị viên.
- Tích hợp thành công giao diện tương thích responsive bằng Bootstrap và các thao tác động qua jQuery, hỗ trợ xử lý dữ liệu đơn hàng và phân trang danh mục sản phẩm phía quản trị.
Hạn chế và hướng nghiên cứu tiếp
Dựa trên nội dung được trình bày trong báo cáo, đồ án còn tồn tại các hạn chế kỹ thuật và đề xuất hướng nghiên cứu hoàn thiện như sau:
Hạn chế kỹ thuật hiện tại
- Hệ thống chưa có tính năng khôi phục/quên mật khẩu tự động cho tài khoản người dùng và quản trị viên.
- Phương thức thanh toán còn hạn chế, chủ yếu dựa trên thanh toán tiền mặt khi nhận hàng (COD), mô hình kết nối MoMo mới dừng ở mức thử nghiệm nhóm.
- Trải nghiệm tải trang (page loading/reloading) còn gây gián đoạn do chưa tối ưu hóa hoàn toàn bằng các kỹ thuật Single Page Application hoặc Ajax nâng cao.
- Hệ thống quản trị chưa tích hợp module thống kê báo cáo doanh thu tự động theo mốc thời gian.
- Chưa hỗ trợ tính năng bình luận, đánh giá chất lượng sản phẩm từ khách hàng.
- Thiếu công cụ tạo mã giảm giá, chương trình khuyến mãi tự động và tính năng gợi ý tìm kiếm thông minh.
- Giao diện và luồng trao đổi của tính năng chat thời gian thực (realtime) chưa được hoàn thiện đồng bộ.
- Website chưa được triển khai (deploy) hoàn chỉnh lên môi trường máy chủ lưu trữ (hosting) thực tế.
Hướng phát triển và mở rộng
- Tích hợp các giao thức xác thực và đăng nhập thông qua bên thứ ba (OAuth: Facebook, Google).
- Xây dựng module khôi phục mật khẩu bảo mật qua email và nâng cao các cơ chế an toàn thông tin.
- Mở rộng các cổng thanh toán điện tử phổ biến tại Việt Nam như VNPAY, ViettelPay.
- Xây dựng phân hệ báo cáo thống kê trực quan doanh thu theo ngày/tháng/năm và quản lý lịch sử giao dịch toàn hệ thống.
- Bổ sung module đánh giá, bình luận sản phẩm, hệ thống gợi ý sản phẩm thông minh và thông báo tự động cho người dùng.
Giá trị tham khảo
Đồ án là tài liệu tham khảo phù hợp cho:
- Sinh viên chuyên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin đang học các học phần Lập trình Web, Công nghệ Phần mềm hoặc thực hiện đồ án môn học, đồ án tốt nghiệp liên quan đến thương mại điện tử.
- Người học cần tìm hiểu quy trình xây dựng ứng dụng web theo mô hình ASP.NET MVC và hệ quản trị cơ sở dữ liệu Microsoft SQL Server từ bước phân tích yêu cầu, thiết kế giản đồ cơ sở dữ liệu quan hệ đến hiện thực hóa mã nguồn giao diện và chức năng.
- Các nhà phát triển đang tìm kiếm cấu trúc thiết kế cơ sở dữ liệu chuẩn cho website bán hàng (gồm bảng sản phẩm, danh mục, đơn hàng, chi tiết đơn hàng, người dùng và phân quyền User-Roles).
Câu hỏi thường gặp
1. Đồ án sử dụng công nghệ và kiến trúc nền tảng nào để phát triển website?
Website ColoShop được phát triển trên nền tảng ASP.NET MVC của Microsoft với ngôn ngữ lập trình chính là C#. Giao diện người dùng sử dụng HTML, CSS, thư viện JavaScript jQuery và framework Bootstrap. Cơ sở dữ liệu của hệ thống được quản trị trên Microsoft SQL Server (SQL Server Express), môi trường phát triển chính là Visual Studio Community 2022.
2. Cơ chế phân quyền trong hệ thống ColoShop được tổ chức như thế nào?
Hệ thống phân chia 3 cấp độ người dùng thông qua hai bảng dữ liệu Roles và UserRoles:
- Customer: Chỉ có quyền thao tác trên giao diện người dùng bên ngoài (xem sản phẩm, quản lý giỏ hàng, đặt hàng), không thể đăng nhập vào trang quản trị.
- Employee: Đăng nhập trang quản trị nội bộ để quản lý thông tin đơn hàng, tiếp nhận đơn và quản lý thông tin sản phẩm/thể loại.
- Admin: Nắm toàn quyền hệ thống, quản lý tài khoản nhân viên, phân quyền người dùng, quản lý toàn bộ danh mục sản phẩm và cập nhật các nội dung, quy định của website.
3. Cơ sở dữ liệu của đồ án gồm những bảng nào và mối quan hệ chính ra sao?
Cơ sở dữ liệu gồm 8 bảng: user, Productcategory, Product, orders, orderdetail, category, Roles và UserRoles. Các mối quan hệ cốt lõi gồm:
- Quan hệ 1 - N giữa
Productcategory và Product.
- Quan hệ N - N giữa
orders và Product được kết nối qua bảng trung gian orderdetail.
- Quan hệ N - N giữa
user và Roles được kết nối qua bảng trung gian UserRoles.
4. Những hạn chế kỹ thuật lớn nhất được nhóm tác giả ghi nhận trong báo cáo là gì?
Các hạn chế chính gồm: chưa có tính năng khôi phục mật khẩu; hình thức thanh toán trực tuyến còn hạn chế; hiện tượng tải lại trang gây ảnh hưởng trải nghiệm; thiếu chức năng thống kê doanh thu theo thời gian; chưa có module đánh giá/bình luận sản phẩm; giao diện chat realtime chưa hoàn thiện và chưa triển khai chính thức lên web hosting công cộng.
Kết luận
Đồ án "Xây dựng website kinh doanh thời trang ColoShop" của sinh viên Khoa Công nghệ Thông tin - HUTECH đã hoàn thành đầy đủ quy trình phân tích, thiết kế và hiện thực hóa một hệ thống thương mại điện tử chuyên ngành bán lẻ thời trang trên nền tảng ASP.NET MVC và SQL Server. Hệ thống đã triển khai thành công các tính năng mua sắm cho khách hàng, xử lý đơn hàng cho nhân viên và quản trị phân quyền cho người quản lý. Dù còn một số khuyết điểm về phương thức thanh toán, thống kê doanh thu và triển khai hosting, đồ án đã giải quyết tốt bài toán nghiệp vụ bán hàng trực tuyến cơ bản và định hình rõ lộ trình nâng cấp công nghệ trong tương lai.