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

Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ và tác động sâu rộng đến mọi lĩnh vực kinh tế - xã hội, việc ứng dụng tin học hóa vào công tác quản trị vận hành đã trở thành nhu cầu thiết yếu đối với các doanh nghiệp và cửa hàng bán lẻ. Sự chuyển dịch từ các ứng dụng truyền thống trên nền tảng Windows Forms (Winform) sang ứng dụng Web (Web Application - WAPP) trên nền tảng .NET Framework của Microsoft mang lại lợi thế vận hành đa nền tảng, cho phép người dùng truy cập mọi lúc, mọi nơi thông qua trình duyệt web mà không cần cài đặt phần mềm phức tạp trên từng máy trạm. Bên cạnh đó, mô hình thương mại điện tử B2C (Business-to-Consumer) mở ra cơ hội tối ưu hóa chi phí giao dịch, rút ngắn thời gian xử lý đơn hàng và mở rộng kênh tiếp cận khách hàng.

Đề tài "Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5" (với tên gọi hệ thống thử nghiệm là COLO SHOP) do nhóm sinh viên Lê Duy Chinh (CT050205), Đỗ Đức Chiến (CT050204) và Cấn Quang Ngọc (CT050237) thuộc Khoa Công nghệ Thông tin – Học viện Kỹ thuật Mật mã thực hiện dưới sự hướng dẫn của TS. Nguyễn Đào Trường (hoàn thành vào tháng 01/2024), tập trung giải quyết bài toán quản trị bán hàng và số hóa quy trình kinh doanh cho các cửa hàng bán lẻ quần áo thời trang.

Mục tiêu nghiên cứu cụ thể của đề tài bao gồm 6 nhiệm vụ chính:

  1. Xây dựng mô đun thêm và quản lý người dùng vào hệ thống, thiết lập cơ chế phân quyền tài khoản chặt chẽ theo chức vụ và vai trò.
  2. Thêm và quản lý thông tin khách hàng trong hệ thống, tự động nhận diện và tra cứu khách hàng thông qua số điện thoại khi phát sinh giao dịch.
  3. Thêm và quản lý sản phẩm theo phân loại, phân nhóm và đơn vị tính; theo dõi chính xác số lượng tồn kho, lượt xem, lượt mua và lượt bán của từng mặt hàng.
  4. Thiết lập và quản lý các chương trình khuyến mãi linh hoạt (giảm giá theo tỷ lệ phần trăm hoặc trừ trực tiếp số tiền trên hóa đơn, giới hạn số lần sử dụng và khoảng thời gian áp dụng).
  5. Quản lý và cập nhật liên tục trạng thái vận chuyển của các đơn hàng giao nhận; chuẩn bị cấu trúc kết nối API với các đối tác vận chuyển nhằm tự động hóa quy trình tạo vận đơn.
  6. Hỗ trợ đa dạng các hình thức thanh toán phổ biến: thanh toán trực tiếp tại quầy khi mua hàng, thanh toán khi nhận hàng (COD) và thanh toán qua hình thức chuyển khoản ngân hàng.

Đối tượng nghiên cứu của đồ án là quy trình quản lý bán lẻ quần áo thời trang, bao gồm luồng dữ liệu về sản phẩm, kho hàng, khách hàng, nhân viên, khuyến mãi, hóa đơn và đơn đặt hàng. Phạm vi nghiên cứu giới hạn trong phạm vi vận hành của một cửa hàng thời trang bán lẻ kết hợp hai hình thức bán hàng trực tiếp tại cửa hàng và bán hàng trực tuyến thông qua website COLO SHOP.

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

Để thực hiện đồ án, nhóm tác giả đã kết hợp phương pháp nghiên cứu lý thuyết và khảo sát thực nghiệm:

  • Phương pháp quan sát thực tế: Quan sát quy trình bán hàng, nhập kho và thanh toán trực tiếp tại các cửa hàng thời trang bán lẻ.
  • Phương pháp khảo sát trải nghiệm: Trực tiếp đặt hàng và trải nghiệm quy trình mua bán trên các hệ thống thương mại điện tử hiện hành.
  • Phương pháp nghiên cứu tài liệu: Tổng hợp tài liệu kỹ thuật về kiến trúc ASP.NET MVC 5, Entity Framework (EF), ngôn ngữ giao diện HTML5/CSS3/JavaScript, hệ quản trị cơ sở dữ liệu Microsoft SQL Server và các mô hình quản lý bán lẻ tiên tiến.

Khung công nghệ và nền tảng lý thuyết được sử dụng trong đề tài bao gồm:

  • Kiến trúc ASP.NET MVC 5: Phân tách rõ ràng ứng dụng thành 3 thành phần Model, View và Controller. Model đảm nhận logic nghiệp vụ và cấu trúc dữ liệu; View hiển thị thông tin trực quan tới người dùng thông qua Razor View Engine (sử dụng cú pháp @{}, biểu thức inline @ với tệp .cshtml); Controller đóng vai trò trung gian tiếp nhận yêu cầu từ View, tương tác với Model và chuyển dữ liệu hiển thị.
  • Entity Framework (EF): Khung ánh xạ đối tượng - quan hệ (Object-Relational Mapping - ORM) trong ADO.NET, cho phép thao tác với cơ sở dữ liệu thông qua các đối tượng hướng đối tượng thay vì viết câu lệnh SQL thuần túy. Kiến trúc EF trong đồ án bao gồm: tầng Application, tầng Object Services (ObjectContext, ObjectSet<TEntity>, EntityObject, ComplexObject, EntityCollection<TEntity>, EntityReference<TEntity>), tầng EntityClient Data Provider (sử dụng Entity SQL và command tree) và tầng Entity Data Model (EDM với 3 lớp: Conceptual Schema Definition Language - CSDL, Mapping Specification Language - MSL, Store Schema Definition Language - SSDL). Đồ án hỗ trợ các hướng tiếp cận Database First, Model First và Code First.
  • Cơ chế xác thực và bảo mật trong ASP.NET MVC 5: Tích hợp Authentication Filter và phân quyền thông qua Annotation [Authorize], [AllowAnonymous], kết hợp lớp UserManager trong AccountController.
  • Hệ quản trị cơ sở dữ liệu SQL Server: Cung cấp môi trường lưu trữ dữ liệu quan hệ, hoạt động theo mô hình khách - chủ (Client - Server), đảm bảo tính toàn vẹn và hỗ trợ truy xuất đồng thời nhiều người dùng.
  • Công nghệ phía máy khách (Client-side): HTML5, CSS, Bootstrap 3 (hỗ trợ Grid System giúp giao diện Responsive theo xu hướng Mobile First), JavaScript, thư viện jQuery (kích thước gọn nhẹ 19KB gzipped, hỗ trợ thao tác DOM, xử lý sự kiện) và công nghệ AJAX truyền tải dữ liệu bất đồng bộ dưới định dạng JSON.

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

Hệ thống COLO SHOP được thiết kế để giải quyết sự cồng kềnh của mô hình ASP.NET WebForm truyền thống bằng cách chuyển dịch sang mô hình ASP.NET MVC 5 gọn nhẹ, không sử dụng ViewState và post-back làm chậm tiến trình xử lý.

Tiêu chí so sánh ASP.NET WebForm ASP.NET MVC 5
Thành phần kiến trúc Sử dụng ViewState, Page Lifecycle, Web Controls và Events gắn với giao diện UI. Chia rõ 3 tầng: Models - Views - Controllers; mọi tương tác từ View chuyển thẳng thành Action trong Controller.
Tốc độ xử lý Chậm hơn do phải chạy qua toàn bộ chu kỳ sống (Lifecycle) và tiến trình phức tạp của ASP.NET. Nhanh, nhẹ, không sử dụng ViewState và post-back gửi vòng lên máy chủ.
Kiểm thử (Unit Test) & Gỡ lỗi Phức tạp; thay đổi ID của Control bất kỳ có thể làm ảnh hưởng toàn bộ ứng dụng. Tách biệt rõ ràng (SoC), hỗ trợ kiểm thử đơn vị (TDD) trên Controller dễ dàng mà không cần chạy máy chủ web.

Về cơ chế bảo mật, MVC 5 cung cấp 4 tùy chọn xác thực người dùng được tác giả phân loại cụ thể:

Loại bảo mật Mô tả kỹ thuật
No Authentication Ứng dụng không thiết lập cơ chế bảo mật xác thực người dùng.
Individual User Accounts Ứng dụng quản lý tài khoản người dùng cục bộ lưu trong SQL Server hoặc chứng thực qua Google, Facebook.
Organizational Accounts Xác thực tài khoản doanh nghiệp thông qua Active Directory hoặc Windows Azure Directory.
Windows Authentication Xác thực tài khoản người dùng nội bộ (Intranet) trên hệ điều hành Windows.

Trong tầng tương tác dữ liệu, Entity Framework thiết lập quan hệ ánh xạ đối ứng giữa các thành phần cơ sở dữ liệu và các đối tượng phần mềm:

Đối tượng Cơ sở dữ liệu (SQL Server) Đối tượng tương đương trong Entity Framework
Database ObjectContext
Table, View EntityObject, ComplexObject
Column Property
Relationship EntityCollection<TEntity>, EntityReference<TEntity>

Cơ sở dữ liệu của hệ thống được tổ chức thành các bảng thực thể quan hệ chặt chẽ:

  • CHỨC VỤ VỊ TRÍ: Lưu thông tin vai trò, quyền hạn quản trị và nhân viên trong hệ thống.
  • KHÁCH HÀNG: Lưu trữ thông tin định danh khách hàng, số điện thoại, địa chỉ phục vụ tạo đơn hàng.
  • LOẠI SẢN PHẨM & NHÓM SẢN PHẨM: Phân loại danh mục hàng hóa và các nhóm thuộc tính sản phẩm.
  • SẢN PHẨM: Lưu thông tin chi tiết tên hàng, đơn giá, số lượng tồn kho, mô tả, hình ảnh sản phẩm.
  • HÓA ĐƠN & CHI TIẾT HÓA ĐƠN: Quản lý thông tin đơn hàng, ngày tạo, tổng tiền, hình thức thanh toán và các mặt hàng xuất bán.
  • CHI TIẾT NHẬP: Quản lý nghiệp vụ nhập hàng từ nhà cung cấp và biến động số lượng kho.
  • KHUYẾN MÃI: Lưu mã giảm giá, mức giảm (% hoặc số tiền), thời hạn hiệu lực và số lần áp dụng.

Quy trình tương tác nghiệp vụ được mô hình hóa chi tiết qua hệ thống Use Case tổng quát và sơ đồ tuần tự:

  • Luồng quản lý nhân sự & phân quyền: Quản trị viên cấp tài khoản, phân vai trò cho nhân viên bán hàng và nhân viên kinh doanh.
  • Luồng nhận diện khách hàng và lập hóa đơn: Khi khách hàng mua sắm tại cửa hàng hoặc đặt trực tuyến, nhân viên nhập số điện thoại; hệ thống kiểm tra sự tồn tại trong bảng KHÁCH HÀNG. Nếu chưa có, hệ thống kích hoạt chức năng thêm mới khách hàng trước khi chuyển sang bước chọn sản phẩm, áp dụng mã KHUYẾN MÃI và xuất HÓA ĐƠN.
  • Luồng quản trị danh mục & sản phẩm: Người dùng tạo mới sản phẩm bắt buộc phải liên kết với một loại sản phẩm và nhóm sản phẩm tương ứng, thiết lập đơn vị tính và số lượng kho ban đầu.

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

Chương 1: TỔNG QUAN & CƠ SỞ LÝ THUYẾT

Chương 1 trình bày tổng quan về sự phát triển của công nghệ Web Application (WAPP) trên nền tảng .NET Framework thay thế cho Winform, mục đích chọn đề tài, phạm vi và 6 mục tiêu cần đạt của đề tài. Tác giả đi sâu phân tích lịch sử ra đời của mô hình MVC (từ phòng thí nghiệm Xerox PARC thập niên 70, xuất hiện trong Smalltalk-80 đến các MVC framework hiện đại), so sánh chi tiết ưu nhược điểm giữa ASP.NET MVC và ASP.NET WebForm. Chương này cũng phân tích các đặc tính nổi bật của ASP.NET MVC Framework như hỗ trợ kiểm thử TDD, cơ chế định tuyến (Routing Engine), Model Binding, Action Filters và Razor View Engine.

Tiếp đó, chương 1 giới thiệu các bước tiến hóa từ MVC 3, MVC 4 đến MVC 5 (bổ sung Authentication Filter, Filter overrides, Attribute Routing, tích hợp giao diện Bootstrap mặc định). Toàn bộ kiến trúc Entity Framework (Application, Object Services, EntityClient, Data Providers, EDM) cùng hệ quản trị SQL Server, ngôn ngữ đánh dấu HTML5, cú pháp Razor (.cshtml), khung CSS Bootstrap 3, JavaScript, thư viện jQuery và kỹ thuật AJAX cũng được hệ thống hóa đầy đủ làm nền tảng triển khai cho hệ thống COLO SHOP.

Chương 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Chương 2 tập trung vào việc mô hình hóa yêu cầu nghiệp vụ và thiết kế kiến trúc phần mềm cho trang quản lý bán quần áo. Tác giả trình bày chi tiết về cấu trúc phân quyền người dùng (Quản trị hệ thống, Quản lý người dùng, Nhân viên bán hàng). Nội dung chương cung cấp các đặc tả Use Case tổng quát và Use Case chi tiết gồm: đăng nhập hệ thống, cấu hình giao diện, quản trị tài khoản nhân sự/kinh doanh, quản trị nhập hàng, quản trị khuyến mãi, quản trị sản phẩm/cấu hình và quản trị hóa đơn.

Hệ thống được thiết kế hoàn chỉnh qua các sơ đồ hoạt động (Activity Diagram), sơ đồ tuần tự (Sequence Diagram) cho 4 chức năng cốt lõi: thêm nhân viên, thêm khách hàng, thêm sản phẩm và lập hóa đơn/đơn hàng. Phần cuối chương 2 trình bày chi tiết mô hình dữ liệu quan hệ và đặc tả cấu trúc các bảng dữ liệu vật lý: CHI TIẾT NHẬP, CHỨC VỤ VỊ TRÍ, HÓA ĐƠN, KHÁCH HÀNG, KHUYẾN MÃI, LOẠI SẢN PHẨM, NHÓM SẢN PHẨM, SẢN PHẨM, CHI TIẾT HÓA ĐƠN.

Chương 3: DEMO VÀ TRIỂN KHAI HỆ THỐNG

Chương 3 trình bày kết quả triển khai thực tế của hệ thống quản lý bán hàng COLO SHOP. Tác giả minh họa trực quan môi trường hạ tầng demo cùng toàn bộ giao diện chức năng của hệ thống:

  • Giao diện người dùng (Storefront): Trang chủ cửa hàng, danh mục sản phẩm, chi tiết sản phẩm, danh mục tin tức/bài viết, giỏ hàng, trang thanh toán và thông báo đặt hàng thành công.
  • Giao diện quản trị (Back-office): Trang đăng nhập quản trị, giao diện quản lý tài khoản người dùng, phân quyền nhân viên/nhà cung cấp, quản lý khách hàng, quản trị danh mục loại/nhóm sản phẩm, giao diện nhập hàng, quản lý mã khuyến mãi, quản trị hóa đơn và màn hình báo cáo thống kê doanh thu/bán hàng.

Phần cuối của báo cáo tổng kết những kết quả đạt được về mặt kỹ thuật, kinh nghiệm tích lũy trong quá trình phân tích thiết kế phần mềm và xác định các định hướng mở rộng hệ thống trong tương lai.

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

Hệ thống quản lý bán hàng trực tuyến COLO SHOP đã được nhóm tác giả xây dựng và chạy thử nghiệm thành công với các kết quả cụ thể:

  • Hoàn thiện đầy đủ các chức năng nghiệp vụ quản lý bán lẻ: quản lý người dùng theo phân quyền, quản lý hồ sơ khách hàng nhận diện qua số điện thoại, quản lý chi tiết sản phẩm theo nhóm/loại, tạo và áp dụng mã khuyến mãi theo % hoặc tiền mặt, quản trị hóa đơn bán hàng và nhập hàng.
  • Xây dựng giao diện web Responsive tương thích đa thiết bị (máy tính để bàn, máy tính bảng, điện thoại thông minh) nhờ ứng dụng hệ thống lưới của Bootstrap 3.
  • Áp dụng thành công kiến trúc ASP.NET MVC 5 kết hợp Entity Framework (EDM), giúp mã nguồn được module hóa rõ ràng, dễ bảo trì, tối ưu hóa tốc độ tải trang nhờ kỹ thuật tải dữ liệu bất đồng bộ AJAX và định dạng JSON thay vì tải lại toàn bộ trang web (post-back).
  • Hỗ trợ đa dạng phương thức thanh toán gồm COD, thanh toán trực tiếp tại quầy và chuyển khoản ngân hàng.

Về mặt giải pháp, đồ án đã đề xuất mô hình quy trình bán hàng khép kín từ khâu tiếp nhận thông tin khách hàng, kiểm tra giỏ hàng, áp dụng giảm giá tự động đến khâu xuất hóa đơn và cập nhật trạng thái kho. Đóng góp của đề tài thể hiện ở việc số hóa toàn diện quy trình quản lý bán lẻ cho các cửa hàng vừa và nhỏ, giúp tiết kiệm thời gian vận hành, giảm chi phí nhân công và tối ưu hóa quy trình kiểm soát hàng tồn kho so với các phương thức ghi chép thủ công.

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

Mặc dù đã hoàn thành các mục tiêu cơ bản đặt ra cho một hệ thống bán lẻ, đồ án vẫn còn một số hạn chế gắn liền với phạm vi triển khai thực tế:

  • Hệ thống mới dừng lại ở mức độ thử nghiệm trên hạ tầng demo cục bộ cho một cửa hàng đơn lẻ, chưa kiểm thử tải trên môi trường máy chủ phân tán với lưu lượng truy cập lớn.
  • Khả năng tích hợp API với các đơn vị vận chuyển bên thứ ba mới chỉ dừng lại ở bước thiết kế mô hình tiếp nhận thông tin và quản lý đối tác vận chuyển, chưa kết nối trực tiếp với cổng API thực của các hãng vận chuyển lớn.

Hướng phát triển tiếp theo của đề tài được nhóm tác giả xác định bao gồm:

  • Hoàn thiện module tích hợp API tự động đẩy đơn sang các đơn vị vận chuyển chuyên nghiệp để tự động hóa hoàn toàn khâu giao nhận hàng.
  • Nâng cấp module báo cáo - thống kê chuyên sâu với các biểu đồ trực quan hóa dữ liệu kinh doanh theo thời gian thực.
  • Mở rộng kiến trúc hệ thống nhằm hỗ trợ mô hình quản lý chuỗi nhiều chi nhánh cửa hàng bán lẻ trên cùng một nền tảng.

Giá trị tham khảo

Báo cáo đồ án mang lại giá trị tham khảo thiết thực cho:

  • Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Tài liệu cung cấp góc nhìn thực hành chi tiết về cách xây dựng ứng dụng web theo mô hình ASP.NET MVC 5, cấu hình Entity Framework (Object Services, EDM), viết giao diện với Razor View Engine và tích hợp Bootstrap/jQuery/AJAX.
  • Người nghiên cứu và phát triển hệ thống quản lý bán hàng (POS/E-commerce): Cung cấp mẫu thiết kế cơ sở dữ liệu quan hệ chuẩn hóa cho bài toán bán lẻ thời trang, bộ tài liệu đặc tả Use Case, sơ đồ hoạt động (Activity Diagram) và sơ đồ tuần tự (Sequence Diagram) chuẩn UML có thể tái sử dụng cho các đề tài tương tự.

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

1. Đồ án sử dụng phiên bản công nghệ và kiến trúc nào để phát triển hệ thống COLO SHOP?
Hệ thống được phát triển trên nền tảng .NET Framework sử dụng công nghệ ASP.NET MVC 5 kết hợp Razor View Engine (.cshtml), khung ánh xạ đối tượng Entity Framework (EF), hệ quản trị cơ sở dữ liệu Microsoft SQL Server và thư viện giao diện Bootstrap 3, jQuery, AJAX.

2. Cơ chế bảo mật và xác thực tài khoản trong đồ án được thiết lập như thế nào?
Hệ thống áp dụng tùy chọn bảo mật Individual User Accounts trong MVC 5, kết hợp Annotation [Authorize] trên Controller/Action để chặn các truy cập trái phép (ngoại trừ các Action được gắn [AllowAnonymous]), quản lý tài khoản thành viên thông qua lớp UserManager trong AccountController và lưu trữ người dùng trong cơ sở dữ liệu SQL Server.

3. Tầng Object Services trong Entity Framework của đồ án gồm những lớp đối tượng nào?
Tầng Object Services trong đồ án bao gồm: ObjectContext (đại diện kết nối cơ sở dữ liệu), ObjectSet<TEntity> (tập hợp thực thể đại diện cho từng bảng), EntityObject và ComplexObject (lớp đại diện cho từng dòng dữ liệu), EntityCollection<TEntity> và EntityReference<TEntity> (thể hiện mối quan hệ giữa các entity class).

4. Quy trình xử lý khách hàng khi tạo hóa đơn tại cửa hàng diễn ra như thế nào?
Khi lập đơn hàng, nhân viên nhập số điện thoại của khách; hệ thống sẽ tự động tra cứu trong bảng KHÁCH HÀNG. Nếu số điện thoại chưa tồn tại, hệ thống yêu cầu thêm mới thông tin khách hàng vào cơ sở dữ liệu trước khi tiếp tục các bước chọn hàng hóa, áp dụng mã khuyến mãi và xuất hóa đơn.

5. Giao diện của website COLO SHOP đảm bảo hiển thị trên thiết bị di động bằng giải pháp gì?
Giao diện hệ thống được xây dựng dựa trên framework Bootstrap 3 với hệ thống lưới (Grid System) thiết kế theo nguyên lý Mobile First, cho phép các thành phần giao diện tự động co giãn kích thước (Responsive) tương thích với màn hình máy tính để bàn, máy tính bảng và điện thoại thông minh mà không cần xây dựng trang web riêng biệt cho di động.

Kết luận

Đồ án "Xây dựng hệ thống quản lý bán hàng trên nền tảng ASP.NET MVC5" của nhóm sinh viên Học viện Kỹ thuật Mật mã đã hoàn thành việc nghiên cứu lý thuyết, phân tích thiết kế và xây dựng thành công ứng dụng web COLO SHOP phục vụ công tác bán lẻ quần áo thời trang. Bằng việc kết hợp kiến trúc MVC 5, Entity Framework, SQL Server và giao diện Responsive từ Bootstrap 3, hệ thống đáp ứng tốt các yêu cầu quản lý phân quyền, theo dõi sản phẩm - tồn kho, nhận diện khách hàng, áp dụng khuyến mãi và thanh toán linh hoạt. Đây là tài liệu tham khảo có giá trị học thuật và ứng dụng thực tiễn cao cho sinh viên công nghệ thông tin trong việc hiện thực hóa các giải pháp thương mại điện tử trên nền tảng công nghệ của Microsoft.