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

Sự phát triển của mạng Internet và công nghệ thông tin đã thúc đẩy thương mại điện tử trở thành một phương thức kinh doanh phổ biến trong nền kinh tế hiện đại. Đối với các đơn vị kinh doanh hàng may mặc và thời trang, việc ứng dụng các website bán hàng trực tuyến hỗ trợ mở rộng phạm vi tiếp cận người tiêu dùng, tối ưu hóa quy trình phân phối và nâng cao năng lực cạnh tranh.

Đề tài xuất phát từ khảo sát thực tế tại Cửa hàng quần áo SW, địa chỉ tại số 23 Nguyễn Thái Học, thị trấn Đan Phượng, huyện Đan Phượng, thành phố Hà Nội (thời gian mở cửa từ 8h00 đến 22h00 hàng ngày). Cửa hàng chuyên kinh doanh các sản phẩm thời trang đường phố như quần áo, giày dép, túi xách. Trước yêu cầu mở rộng phục vụ khách hàng từ xa mà không cần trực tiếp đến điểm bán, đồ án tốt nghiệp đại học ngành Khoa học máy tính với đề tài "Xây dựng website bán quần áo bằng .NET Framework Core và MS SQL Server" (tên trên trang bìa: "Xây dựng phần mềm quản lý bán hàng cho cửa hàng quần áo") đã được sinh viên Cù Minh Hiếu thực hiện dưới sự hướng dẫn của ThS. Phạm Bá Tuấn Chung tại Trường Đại học Công nghiệp Hà Nội vào năm 2023.

Mục tiêu nghiên cứu của đề tài được tác giả xác định gồm hai nội dung:

  1. Xây dựng một trang web bán quần áo hoàn thiện gồm các phân hệ (module) chức năng dành cho khách hàng và các phân hệ quản trị hệ thống.
  2. Vận dụng, củng cố các kiến thức, kỹ năng phát triển phần mềm trên nền tảng .NET và rèn luyện tác phong làm việc chuyên nghiệp.

Nhiệm vụ nghiên cứu cụ thể bao gồm:

  • Khảo sát và phân tích yêu cầu quy trình quản lý bán hàng và đặt hàng thực tế.
  • Xây dựng thiết kế và đặc tả hệ thống phần mềm bằng các mô hình UML.
  • Thiết kế và cài đặt cơ sở dữ liệu quan hệ.
  • Lập trình hiện thực hóa các module chức năng của hệ thống.
  • Lập kế hoạch và đánh giá kiểm thử phần mềm.

Đối tượng nghiên cứu của đồ án là quy trình quản lý thông tin sản phẩm, đơn đặt hàng, danh mục, tài khoản và hoạt động mua sắm trực tuyến của khách hàng tại cửa hàng thời trang. Phạm vi đề tài dừng ở mức độ xây dựng website bán quần áo cơ bản, hỗ trợ hai phương thức thanh toán gồm thanh toán khi nhận hàng (COD) và thanh toán trực tuyến qua cổng VNPay, kết nối thông tin giao hàng và báo cáo thống kê doanh thu theo mốc thời gian tháng.


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

Đồ án áp dụng phương pháp thiết kế và phát triển phần mềm theo hướng đối tượng (Object-Oriented Analysis and Design - OOAD), kết hợp khảo sát thực tế và phân tích quy trình nghiệp vụ bán lẻ. Khung lý thuyết và nền tảng kỹ thuật tác giả lựa chọn bao gồm:

  • Kiến trúc ứng dụng: Mô hình Model-View-Controller (MVC) trên nền tảng ASP.NET Core MVC của Microsoft. Mô hình này tách biệt ba thành phần logic dữ liệu (Model), giao diện người dùng (View) và điều khiển luồng nghiệp vụ (Controller). Nền tảng ASP.NET Core cung cấp các cơ chế middleware, routing, dependency injection và hỗ trợ đa nền tảng (Windows, Linux, macOS).
  • Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server (RDBMS), hoạt động theo mô hình khách - chủ (client - server), quản lý tính toàn vẹn dữ liệu, phân quyền truy cập mạng và hỗ trợ các dịch vụ phụ trợ như SSAS (phân tích), SSRS (báo cáo), SSIS (tích hợp dữ liệu ETL).
  • Công nghệ ánh xạ đối tượng - quan hệ (ORM): Entity Framework Core (EF Core), cho phép lập trình viên tương tác với cơ sở dữ liệu thông qua đối tượng C# và LINQ to Entities thay cho việc viết mã lệnh SQL thuần túy. EF Core bao gồm 4 thành phần chính: Entity Data Model (Conceptual Model, Mapping, Storage Model), LINQ to Entities / Entity SQL, Object Service và Entity Client Data Provider.
  • Công cụ mô hình hóa: Rational Rose, hỗ trợ vẽ biểu đồ ca sử dụng (Use Case Diagram), biểu đồ trình tự (Sequence Diagram) và biểu đồ lớp phân tích (Analysis Class Diagram) theo chuẩn UML.
  • Môi trường phát triển: Microsoft Visual Studio, tích hợp trình gỡ lỗi (debugger), hỗ trợ biên dịch mã nguồn C# và quản lý thư viện mở rộng.

Nguồn dữ liệu của nghiên cứu được thu thập trực tiếp từ quy trình giao dịch, thông tin phân loại sản phẩm, cấu trúc giỏ hàng và dữ liệu vận hành đơn lẻ tại Cửa hàng quần áo SW.


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

Hệ thống được tổ chức phân quyền rõ rệt cho 3 nhóm tác nhân chính: Khách hàng (người dùng cuối), Nhân viên bán hàng và Quản trị viên hệ thống (Admin).

1. Yêu cầu môi trường vận hành

Văn bản quy định cấu hình tối thiểu để triển khai và chạy phần mềm:

Thành phần Tiêu chuẩn kỹ thuật
Bộ vi xử lý (CPU) 32-bit (x86) hoặc 64-bit (x64), tốc độ từ 1.0 GHz trở lên
Bộ nhớ trong (RAM) Tối thiểu 4.0 GB
Ổ cứng lưu trữ Dung lượng trống khả dụng từ 20 GB trở lên
Kết nối mạng Mạng cục bộ (LAN) hoặc Internet
Hệ điều hành Microsoft Windows 7 trở lên
Hệ quản trị CSDL Microsoft SQL Server 2014

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

Cơ sở dữ liệu của hệ thống kết hợp cấu trúc quản lý người dùng và phân quyền chuẩn của ASP.NET Core Identity cùng các bảng dữ liệu nghiệp vụ thương mại điện tử. Các bảng được chi tiết hóa trong văn bản gồm:

Tên bảng Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải chức năng
AspNetUsers Id nvarchar(450) PRIMARY KEY Khóa chính của bảng người dùng
Name nvarchar(max) NULL Họ tên người dùng
StreetAddress nvarchar(max) NULL Địa chỉ chi tiết
City nvarchar(max) NULL Thành phố
Email nvarchar(256) NOT NULL Địa chỉ thư điện tử
PhoneNumber nvarchar(max) NOT NULL Số điện thoại liên hệ
LockoutEnd datetime NOT NULL Thời điểm khóa tài khoản
AspNetRoles Id nvarchar(450) PRIMARY KEY Khóa chính của bảng vai trò
Name nvarchar(256) NULL Tên quyền/vai trò
AspNetUserRoles UserId nvarchar(450) PRIMARY KEY Mã người dùng (Khóa ngoại)
RoleId nvarchar(450) PRIMARY KEY Mã vai trò (Khóa ngoại)
AspNetUserLogins LoginProvider nvarchar(450) PRIMARY KEY Nhà cung cấp đăng nhập
ProviderKey nvarchar(450) PRIMARY KEY Khóa định danh từ nhà cung cấp
ProviderDisplayName nvarchar(max) NOT NULL Tên bên cung cấp dịch vụ
UserId nvarchar(450) FOREIGN KEY Định danh người dùng
Categories Id int PRIMARY KEY Khóa chính bảng danh mục
Name nvarchar(30) NOT NULL Tên loại danh mục sản phẩm
DisplayOrder int NOT NULL Thứ tự hiển thị danh mục
Likes Id int PRIMARY KEY Khóa chính bảng lượt thích
IsLike bit NOT NULL Trạng thái thích sản phẩm
ProductId int FOREIGN KEY Mã sản phẩm được yêu thích
ApplicationUserId nvarchar(450) FOREIGN KEY Mã tài khoản người dùng tương tác
Rates Id int PRIMARY KEY Khóa chính bảng đánh giá điểm số

Ngoài các bảng trên, hệ thống sử dụng các thực thể quan hệ khác được đề cập trong các luồng use case gồm: Product (lưu trữ thông tin chi tiết mặt hàng, giá, hình ảnh), OrderHeader (lưu trữ thông tin tổng quát về hóa đơn, địa chỉ giao hàng, tổng tiền), OrderDetail (lưu thông tin chi tiết từng sản phẩm trong đơn) và Account.


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

Chương 1: Giới thiệu công cụ và ngôn ngữ lựa chọn

Chương 1 trình bày tổng quan về các nền tảng và phần mềm được sử dụng trong đồ án:

  • Phân tích ưu thế của ASP.NET Core MVC so với các phiên bản tiền nhiệm: khả năng chạy đa nền tảng (Windows, Linux, macOS), hỗ trợ View Engine linh hoạt (Razor Pages), tối ưu hóa hiệu suất thông qua xử lý đa luồng, tích hợp cơ chế Dependency Injection và quản lý bảo mật HTTPS mặc định. Chương này cũng điểm lại lược sử phát triển của ASP.NET Core từ phiên bản đầu tiên (tháng 6/2016) qua các bản 1.1, 2.0, 2.1, 3.0, 5.0 đến bản 6.0 với sự xuất hiện của MAUI và giao thức HTTP/3.
  • Khảo sát hệ quản trị Microsoft SQL Server: nêu rõ mục đích sử dụng trong việc tạo lập, duy trì cơ sở dữ liệu và tích hợp các bộ công cụ phân tích (SSAS), báo cáo (SSRS), trích xuất dữ liệu (SSIS). Phân tích ưu điểm về tính di động, quản lý dữ liệu chuẩn hóa và nhược điểm liên quan đến chi phí bản quyền thương mại và các quy tắc nghiệp vụ nội tại.
  • Giới thiệu môi trường lập trình Visual Studio với các tính năng hỗ trợ gỡ lỗi đa dạng (Break Point, kiểm tra biến runtime) và hỗ trợ đa ngôn ngữ.
  • Làm rõ cấu trúc hoạt động của Entity Framework Core và các thành phần cốt lõi của ORM, nêu bật lợi ích giảm thiểu mã truy vấn SQL thủ công và hỗ trợ quản trị tự động các thao tác CRUD (Create, Read, Update, Delete).
  • Trình bày công cụ Rational Rose trong việc lập mô hình hướng đối tượng với các thanh công cụ chuẩn, hộp công cụ sơ đồ và 4 góc nhìn vòng đời phần mềm.

Chương 2: Khảo sát hệ thống

Chương 2 tập trung vào nghiên cứu hiện trạng nghiệp vụ tại Cửa hàng quần áo SW:

  • Mô tả quy trình mua bán: Khách hàng truy cập website SWShop để tra cứu sản phẩm, chọn đưa vào giỏ hàng, tùy chỉnh số lượng, nhập dữ liệu giao hàng và lựa chọn một trong hai hình thức thanh toán (VNPay hoặc tiền mặt khi nhận hàng).
  • Quy trình xử lý của nhân viên bán hàng: Nhận đơn hàng từ hệ thống ở trạng thái "đang chờ thanh toán", kiểm tra tồn kho, liên hệ khách hàng để xác nhận đơn qua điện thoại hoặc tin nhắn, bàn giao đơn vị vận chuyển và chuyển trạng thái đơn sang "đã thanh toán" sau khi nhận tiền.
  • Hoạt động quản trị của Admin: Cấp phát và thu hồi tài khoản nhân viên, thiết lập quyền hạn, cập nhật danh mục, điều chỉnh giá bán, cấu hình các chương trình khuyến mại và giám sát lượng hàng tồn kho dựa trên báo cáo xuất - nhập - trả hàng để xử lý tồn đọng.
  • Xác định hệ thống 10 yêu cầu chức năng cốt lõi và các tiêu chuẩn phi chức năng về phần cứng, phần mềm, độ ổn định của hệ thống mạng LAN.

Chương 3: Phân tích hệ thống

Chương 3 thực hiện mô hình hóa chi tiết hệ thống bằng chuẩn UML:

  • Xây dựng biểu đồ use case tổng quát và các biểu đồ phân rã use case: Đăng ký, Đăng nhập, Đặt hàng, Quản lý tài khoản, Quản lý danh mục, Quản lý sản phẩm, Quản lý hóa đơn, Quản lý Feedback.
  • Đặc tả chi tiết 14 ca sử dụng (use case) bằng kịch bản luồng sự kiện (luồng cơ bản, luồng rẽ nhánh, tiền điều kiện, hậu điều kiện, yêu cầu đặc biệt):
    1. Đăng ký: Khách hàng tạo tài khoản bằng email hoặc số điện thoại, hệ thống kiểm tra tính trùng lặp và tính hợp lệ của dữ liệu.
    2. Đăng nhập (Khách hàng): Xác thực tài khoản người dùng, chuyển hướng về trang chủ khi thành công.
    3. Đăng nhập (Quản trị, Nhân viên): Kiểm tra quyền trong bảng Account/AspNetUsers để cấp quyền truy cập bảng điều khiển quản trị.
    4. Xem sản phẩm: Truy xuất dữ liệu từ bảng Product theo danh mục hoặc sản phẩm cụ thể.
    5. Tìm kiếm sản phẩm: Tìm kiếm dựa trên từ khóa do khách hàng nhập vào thanh tìm kiếm.
    6. Cập nhật tài khoản: Sửa đổi thông tin cá nhân của khách hàng hoặc nhân viên.
    7. Đặt hàng: Chuyển đổi dữ liệu giỏ hàng thành đơn hàng lưu vào bảng OrderHeader và OrderDetail.
    8. Đánh giá: Cho phép khách hàng gửi ý kiến phản hồi về cửa hàng qua biểu mẫu liên hệ.
    9. Quản lý giỏ hàng: Thêm, bớt, xóa các mặt hàng đã chọn trước khi thanh toán.
    10. Quản lý danh mục: Cho phép quản trị viên thêm mới, cập nhật tên hoặc xóa danh mục trong bảng Category.
    11. Quản lý sản phẩm: Thao tác CRUD thông tin sản phẩm, cập nhật giá, hình ảnh, tự động sinh mã sản phẩm.
    12. Quản lý tài khoản: Quản trị viên kích hoạt hoặc khóa trạng thái hoạt động của tài khoản người dùng.
    13. Quản lý đơn hàng: Xem chi tiết đơn hàng, cập nhật trạng thái đơn (chờ thanh toán, đã thanh toán), xử lý hủy đơn.
    14. Xem thống kê: Nhân viên và quản trị viên xem báo cáo doanh thu theo mốc thời gian và nhóm sản phẩm.
  • Xây dựng 6 cặp biểu đồ trình tự (Sequence Diagram) và biểu đồ lớp phân tích (Analysis Class Diagram) tương ứng cho các use case trọng yếu: Đăng nhập, Quản lý sản phẩm, Quản lý danh mục, Quản lý đơn hàng, Quản lý Feedback và Tìm kiếm.
  • Đặc tả chi tiết lược đồ bảng dữ liệu quan hệ (schema) trong cơ sở dữ liệu.

Chương 4: Thiết kế giao diện và cài đặt chương trình

Chương 4 mô tả kết quả thiết kế giao diện và hiện thực hóa phần mềm:

  • Giao diện phía khách hàng: Thiết kế và triển khai trang chủ, danh sách sản phẩm, chi tiết sản phẩm, giỏ hàng, màn hình đặt hàng - thanh toán, danh sách sản phẩm yêu thích (wishlist), trang theo dõi đơn hàng cá nhân và trang tìm kiếm.
  • Giao diện phía quản trị và nhân viên: Trang đăng nhập hệ thống quản trị, bảng điều khiển thống kê doanh thu, giao diện quản lý danh mục, giao diện quản lý sản phẩm, giao diện xử lý đơn hàng và giao diện kiểm soát tài khoản người dùng.

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

1. Kết quả đạt được

Đồ án đã xây dựng thành công phần mềm website bán hàng thời trang cho Cửa hàng quần áo SW với các kết quả cụ thể:

  • Hoàn thiện 14 ca sử dụng nghiệp vụ được phân quyền chặt chẽ giữa 3 đối tượng người dùng (Khách hàng, Nhân viên, Quản trị viên).
  • Cài đặt hệ thống quản lý dữ liệu đồng bộ giữa các bảng danh mục (Categories), tài khoản (AspNetUsers, AspNetRoles), tương tác (Likes, Rates) và giao dịch bán lẻ (OrderHeader, OrderDetail).
  • Hiện thực hóa quy trình thanh toán kết hợp giữa phương thức thanh toán trực tuyến qua VNPay và hình thức trả tiền mặt khi nhận hàng (COD).
  • Thiết lập module thống kê báo cáo số liệu hàng xuất, hàng tồn và doanh thu theo tháng hỗ trợ cửa hàng lên kế hoạch khuyến mại giải phóng hàng tồn đọng.

2. Giải pháp đề xuất cho cơ sở thực tế

Tác giả đề xuất quy trình tin học hóa hoạt động bán lẻ tại Cửa hàng quần áo SW nhằm thay thế việc quản lý phân tán:

  • Tự động hóa khâu tiếp nhận đơn đặt hàng trực tuyến, giảm thiểu thời gian xử lý thủ công của nhân viên.
  • Quản lý danh mục linh hoạt: khi cửa hàng nhập mặt hàng mới, quản trị viên có thể tạo ngay danh mục mới để phân loại và hỗ trợ khách hàng tìm kiếm nhanh chóng.
  • Ứng dụng hệ thống kiểm soát trạng thái đơn hàng (chờ thanh toán, đã thanh toán, hủy đơn) để nhân viên tiện theo dõi tiến độ giao nhận và xử lý các trường hợp phát sinh.

3. Đóng góp của đề tài

Theo tự đánh giá của tác giả, đồ án đã giải quyết được yêu cầu xây dựng một phần mềm quản lý bán hàng hoàn chỉnh ở mức cơ bản cho một cửa hàng thời trang cụ thể. Nghiên cứu hệ thống hóa được quy trình phân tích và thiết kế phần mềm hướng đối tượng bằng UML (sử dụng công cụ Rational Rose), đồng thời vận dụng thành công nền tảng công nghệ ASP.NET Core MVC kết hợp Entity Framework Core và SQL Server vào việc phát triển ứng dụng web thương mại điện tử.


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

1. Hạn chế của hệ thống

Căn cứ theo phạm vi và nội dung trình bày trong văn bản:

  • Hệ thống mới được xây dựng ở mức độ cơ bản; quy trình thanh toán trực tuyến mới tích hợp thử nghiệm cổng VNPay, phần lớn giao dịch vẫn dựa vào thanh toán khi nhận hàng.
  • Module báo cáo thống kê mới dừng lại ở việc tổng hợp doanh thu theo tháng, chưa có các chiều phân tích sâu hơn về hành vi khách hàng hay dự báo nhu cầu.
  • Quá trình xử lý đơn hàng vẫn phụ thuộc vào việc nhân viên phải gọi điện hoặc nhắn tin thủ công để xác nhận trước khi gửi hàng.
  • Về mặt văn bản học thuật, đồ án còn tồn tại lỗi biên tập thiếu nhất quán: trong phần mô tả chi tiết luồng sự kiện của một số ca sử dụng (như use case Quản lý sản phẩm, Quản lý đơn hàng, Xem thống kê), tác giả để sót thuật ngữ "tour" từ tài liệu tham khảo khác thay vì dùng thuật ngữ "sản phẩm" của cửa hàng quần áo.

2. Hướng nghiên cứu tiếp

Văn bản định hướng các nội dung cần tiếp tục hoàn thiện:

  • Tích hợp thêm các phương thức thanh toán điện tử khác để mở rộng tiện ích cho người tiêu dùng.
  • Mở rộng chức năng tự động kết nối API trực tiếp với các đơn vị vận chuyển chuyên nghiệp.
  • Nâng cấp module thống kê và phân tích tồn kho chuyên sâu nhằm phục vụ công tác quản trị kinh doanh hiệu quả hơn.

Giá trị tham khảo

Đồ án cung cấp tài liệu tham khảo trực quan và hữu ích cho:

  • Sinh viên ngành Khoa học máy tính, Công nghệ thông tin, Kỹ thuật phần mềm: Tài liệu minh họa phương pháp triển khai một đề tài tốt nghiệp xây dựng website bán hàng từ khâu khảo sát thực tế, phân tích yêu cầu, mô hình hóa UML đến thiết kế cơ sở dữ liệu quan hệ.
  • Lập trình viên bắt đầu tiếp cận hệ sinh thái Microsoft .NET: Đồ án là ví dụ thực tế về việc áp dụng kiến trúc ASP.NET Core MVC, quản trị người dùng với ASP.NET Core Identity và tương tác cơ sở dữ liệu thông qua Entity Framework Core trên môi trường Visual Studio.
  • Nội dung đáng tham khảo nhất: Bộ tài liệu đặc tả 14 ca sử dụng chi tiết (kèm luồng cơ bản, luồng rẽ nhánh, tiền/hậu điều kiện) và hệ thống biểu đồ trình tự kết hợp biểu đồ lớp phân tích ở Chương 3.

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

1. Hệ thống phần mềm được thiết kế và khảo sát cho đơn vị thực tế nào?
Hệ thống được thiết kế dựa trên khảo sát hoạt động kinh doanh của Cửa hàng quần áo SW, có địa chỉ tại số 23 Nguyễn Thái Học, thị trấn Đan Phượng, huyện Đan Phượng, thành phố Hà Nội.

2. Đồ án sử dụng những công nghệ và nền tảng cốt lõi nào để phát triển hệ thống?
Đồ án sử dụng framework ASP.NET Core MVC kết hợp Entity Framework Core (ORM), ngôn ngữ lập trình C#, hệ quản trị cơ sở dữ liệu Microsoft SQL Server (bản SQL Server 2014), môi trường lập trình Visual Studio và công cụ mô hình hóa hướng đối tượng Rational Rose.

3. Khách hàng sử dụng website có thể thanh toán qua những phương thức nào?
Theo đặc tả tại Chương 2, khách hàng khi thực hiện đặt hàng trên website có hai phương thức thanh toán gồm: thanh toán trực tuyến qua cổng VNPay hoặc thanh toán bằng tiền mặt khi nhận hàng (COD).

4. Cơ sở dữ liệu của phần mềm lưu trữ và phân quyền người dùng thông qua cơ chế nào?
Hệ thống áp dụng cơ chế quản lý danh tính của ASP.NET Core Identity, sử dụng các bảng chuẩn bao gồm AspNetUsers (thông tin tài khoản cá nhân, email, số điện thoại, trạng thái khóa tài khoản), AspNetRoles (danh mục vai trò/quyền) và AspNetUserRoles (bảng liên kết gán quyền cho người dùng).

5. Cấu hình phần cứng tối thiểu được tác giả đề xuất để cài đặt và vận hành hệ thống là gì?
Hệ thống yêu cầu máy tính trang bị bộ xử lý 32-bit hoặc 64-bit tốc độ từ 1.0 GHz trở lên, bộ nhớ RAM tối thiểu 4 GB, dung lượng đĩa cứng trống từ 20 GB trở lên và có kết nối mạng cục bộ (LAN).


Kết luận

Đồ án tốt nghiệp "Xây dựng phần mềm quản lý bán hàng cho cửa hàng quần áo" của tác giả Cù Minh Hiếu đã hoàn thành mục tiêu xây dựng một website thương mại điện tử cơ bản cho Cửa hàng quần áo SW tại Hà Nội. Tác giả đã vận dụng phương pháp phân tích thiết kế hướng đối tượng với chuẩn UML và triển khai thành công hệ thống trên nền tảng ASP.NET Core MVC kết hợp Entity Framework Core và Microsoft SQL Server. Mặc dù còn một số hạn chế về chiều sâu báo cáo thống kê và tính tự động hóa trong khâu giao nhận, công trình đã giải quyết được các yêu cầu đặt hàng, quản lý danh mục và phân quyền quản trị trong một mô hình bán lẻ thời trang quy mô nhỏ.