Giới thiệu dự án

Thị trường bán lẻ thiết bị công nghệ và điện máy tại Việt Nam đang chứng kiến tốc độ tăng trưởng kép hàng năm (CAGR) đạt xấp xỉ 8.9% trong giai đoạn 2021–2025. Trong bối cảnh chuỗi bán lẻ công nghệ như CellphoneS mở rộng quy mô với hơn 115 chi nhánh tại gần 30 tỉnh thành, việc quản lý thủ công hoặc bán tự động bằng các bảng tính rời rạc bộc lộ nhiều điểm nghẽn nghiêm trọng.

+-----------------------------------------------------------------------------------+
|                            ĐIỂM NGHẼN NGHIỆP VỤ BÁN LẺ                             |
+-----------------------------------------------------------------------------------+
|  [Sai lệch tồn kho]    ---> Thiếu đồng bộ thời gian thực giữa kho và quầy bán lẻ  |
|  [Tính sai giá vốn]    ---> Biến động giá nhập dẫn đến tính sai biên lợi nhuận    |
|  [Tắc nghẽn tại quầy]  ---> Thời gian tra cứu và lập hóa đơn thủ công kéo dài     |
|  [Bảo mật phân quyền]  ---> Rò rỉ dữ liệu doanh thu do không tách biệt vai trò    |
+-----------------------------------------------------------------------------------+

Vấn đề thực tế (Problem Statement)

Các cửa hàng bán lẻ thiết bị di động đối mặt với các thách thức vận hành:

  • Sai lệch tồn kho thời gian thực: Độ trễ giữa quầy thu ngân và kho hàng dẫn đến tình trạng bán âm hoặc từ chối đơn hàng của khách khi hàng vẫn còn trong kho.
  • Sai sót trong định giá vốn hàng bán (Cost of Goods Sold - COGS): Biến động giá nhập linh kiện và thiết bị theo tuần khiến việc tính biên lợi nhuận gộp theo phương pháp thủ công thường sai lệch từ 5–12%.
  • Thời gian xử lý giao dịch tại quầy chậm: Quy trình tra cứu thông tin khách hàng, số seri sản phẩm, áp dụng chương trình khuyến mãi và xuất hóa đơn VAT mất từ 5 đến 7 phút/giao dịch.
  • Lỗ hổng phân quyền dữ liệu: Thiếu cơ chế kiểm soát truy cập phân tầng (Role-Based Access Control - RBAC) dẫn đến việc nhân viên thu ngân có thể can thiệp vào các báo cáo doanh thu nhạy cảm của ban quản trị.

Mục tiêu dự án

  1. Xây dựng phần mềm quản lý bán hàng máy tính để bàn (Desktop Application) chuyên dụng trên nền tảng .NET Framework và hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) SQL Server.
  2. Thiết kế và chuẩn hóa cơ sở dữ liệu (3NF) hỗ trợ quản lý đa thực thể: Chi nhánh, Kho hàng, Nhà cung cấp, Loại hàng, Sản phẩm, Khách hàng, Nhân viên, Hóa đơn nhập và Hóa đơn xuất.
  3. Tự động hóa quy trình tính toán giá vốn tức thời theo thuật toán Bình quân gia quyền (Moving Average Cost - MAC) và hỗ trợ nguyên lý Nhập trước - Xuất trước (FIFO).
  4. Phân quyền chặt chẽ giữa hai nhóm người dùng chính: Quản lý (Admin)Nhân viên (Staff/Cashier).
  5. Cung cấp hệ thống báo cáo thống kê đa chiều: doanh thu theo ngày/tháng/quý/năm, hiệu suất bán hàng của nhân viên và cảnh báo mức tồn kho dưới ngưỡng an toàn.

Phương pháp tiếp cận giải pháp

Dự án áp dụng mô hình kiến trúc phân lớp (Layered Architecture) kết hợp bộ thư viện truy xuất dữ liệu ADO.NET (ActiveX Data Objects .NET) để tối ưu hóa tốc độ thực thi, giảm độ trễ truy vấn dữ liệu cục bộ và đảm bảo tính toàn vẹn dữ liệu giao dịch thông qua cơ chế Transaction Management trong SQL Server.

Kết quả kỳ vọng và chỉ số đo lường

  • Thời gian xử lý hóa đơn: Rút ngắn xuống dưới 45 giây/giao dịch (giảm >75% so với quy trình cũ).
  • Độ chính xác tồn kho: Đạt 99.8% thông qua cơ chế trigger cập nhật tự động khi phát sinh phiếu nhập/xuất.
  • Thời gian đáp ứng truy vấn (Query Response Time): < 150ms cho các truy vấn danh mục có khối lượng dữ liệu > 10.000 bản ghi.

Phạm vi và giới hạn

  • Phạm vi: Tập trung vào các quy trình nghiệp vụ nội bộ tại cửa hàng bán lẻ: Nhập kho, Xuất bán tại quầy, Quản lý danh mục, Đối soát kho và Báo cáo tài chính cơ bản.
  • Giới hạn: Ứng dụng triển khai trên môi trường Windows Desktop (WinForms), kết nối Client-Server trong mạng nội bộ (LAN/VPN); chưa tích hợp cổng thanh toán trực tuyến (Payment Gateway) và đồng bộ đa kênh (Omnichannel) qua điện toán đám mây.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

So sánh các giải pháp trên thị trường

Tiêu chí Quản lý bằng Excel Phần mềm SaaS (KiotViet, Sapo) Hệ thống Desktop C# / SQL Server của đồ án
Chi phí đầu tư ban đầu Thấp (chỉ tốn bản quyền Office) Thu phí thuê bao định kỳ (200k - 500k/tháng/cửa hàng) Miễn phí bản quyền phần mềm, chỉ tốn chi phí hạ tầng ban đầu
Tính toàn vẹn dữ liệu (ACID) Rất thấp (dễ bị ghi đè, xóa nhầm) Cao (lưu trữ Cloud) Rất cao (RDBMS kiểm soát Transaction & Foreign Keys)
Khả năng hoạt động Offline Hạn chế (yêu cầu Internet liên tục) Hoàn toàn độc lập trong mạng LAN nội bộ
Tùy biến nghiệp vụ Trung bình (phức tạp khi scale) Cố định theo chuẩn chung của nhà cung cấp Rất cao, dễ dàng mở rộng mã nguồn theo đặc thù
Tốc độ xử lý tại quầy Chậm khi file > 50MB Phụ thuộc băng thông Internet Nhanh, truy xuất trực tiếp I/O cục bộ

Phân loại yêu cầu hệ thống theo mô hình MoSCoW

  • Must have (Bắt buộc phải có): Xác thực người dùng theo vai trò, quản lý CRUD (Create, Read, Update, Delete) danh mục sản phẩm, lập phiếu nhập kho, lập hóa đơn bán hàng, tự động trừ tồn kho, tính tổng tiền có thuế VAT và chiết khấu.
  • Should have (Nên có): Cảnh báo sản phẩm sắp hết hàng, đổi mật khẩu nhân viên, tìm kiếm nhanh khách hàng qua số điện thoại, lọc báo cáo doanh thu theo quý/năm.
  • Could have (Có thể có): Xuất báo cáo ra định dạng Excel/PDF, phân hạng thành viên khách hàng (Silver, Gold, VIP) để tự động giảm giá.
  • Won't have (Chưa phát triển trong phiên bản này): Đồng bộ sàn thương mại điện tử (Shopee, Lazada API), tích hợp máy quét mã vạch không dây Bluetooth.

Thiết kế hệ thống

Kiến trúc hệ thống

+-----------------------------------------------------------------------------------+
|                        PRESENTATION LAYER (WINDOWS FORMS)                         |
|   +-------------------+  +-------------------+  +------------------------------+  |
|   |   Form Đăng Nhập  |  |    Form Quản Lý   |  |   Form Bán Hàng / Thu Ngân   |  |
|   +-------------------+  +-------------------+  +------------------------------+  |
+------------------------------------------+----------------------------------------+
                                           | (User Input / Events)
                                           v
+-----------------------------------------------------------------------------------+
|                          BUSINESS LOGIC & CONTROLLER LAYER                        |
|   +---------------------------------------------------------------------------+   |
|   | Class Functions: Data Validation, MAC Formula, Business Logic Validation  |   |
|   +---------------------------------------------------------------------------+   |
+------------------------------------------+----------------------------------------+
                                           | (Data Operations)
                                           v
+-----------------------------------------------------------------------------------+
|                        DATA ACCESS LAYER (ADO.NET PROVIDER)                       |
|   +-------------------+  +-------------------+  +------------------------------+  |
|   |  SqlConnection    |  |   SqlCommand      |  | SqlDataAdapter / DataTable   |  |
|   +-------------------+  +-------------------+  +------------------------------+  |
+------------------------------------------+----------------------------------------+
                                           | (T-SQL Queries / Parameters)
                                           v
+-----------------------------------------------------------------------------------+
|                       DATABASE LAYER (MICROSOFT SQL SERVER)                       |
|   [Tables] -> [Primary/Foreign Keys] -> [Indexes] -> [Constraints & Triggers]     |
+-----------------------------------------------------------------------------------+

Công nghệ và phiên bản sử dụng

  • Ngôn ngữ phát triển: C# 10.0 trên nền tảng .NET Framework 4.8.
  • Giao diện người dùng (GUI): Windows Forms với Guna UI / Windows Desktop Controls.
  • Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio 2022 (v17.x).
  • Hệ quản trị CSDL: Microsoft SQL Server 2019 / 2022 Developer Edition.
  • Công cụ thiết kế mô hình hóa: SAP PowerDesigner 16.1 (xây dựng CDM, PDM) và Rational Rose (BFD, DFD).

Thiết kế cơ sở dữ liệu quan hệ (Database Schema)

Cơ sở dữ liệu bao gồm 10 bảng thực thể cốt lõi với các ràng buộc khóa ngoại (Foreign Key Constraints) đảm bảo toàn vẹn tham chiếu:

-- DDL rút gọn minh họa cấu trúc thực thể Sản Phẩm và Hóa Đơn Xuất
CREATE TABLE LoaiHang (
    MaLoai VARCHAR(10) PRIMARY KEY,
    TenLoai NVARCHAR(100) NOT NULL
);

CREATE TABLE SanPham (
    MaSP VARCHAR(20) PRIMARY KEY,
    TenSP NVARCHAR(200) NOT NULL,
    MaLoai VARCHAR(10) FOREIGN KEY REFERENCES LoaiHang(MaLoai),
    DonGiaNhap DECIMAL(18,2) NOT NULL,
    DonGiaBan DECIMAL(18,2) NOT NULL,
    SoLuongTon INT NOT NULL CHECK (SoLuongTon >= 0),
    DonViTinh NVARCHAR(20) DEFAULT N'Chiếc'
);

CREATE TABLE KhachHang (
    MaKH VARCHAR(20) PRIMARY KEY,
    TenKH NVARCHAR(100) NOT NULL,
    SDT VARCHAR(15) UNIQUE NOT NULL,
    DiaChi NVARCHAR(255),
    HangThanhVien NVARCHAR(30) DEFAULT N'Standard'
);

CREATE TABLE HoaDonXuat (
    MaHDX VARCHAR(20) PRIMARY KEY,
    NgayXuat DATETIME DEFAULT GETDATE(),
    MaNV VARCHAR(20) NOT NULL,
    MaKH VARCHAR(20) FOREIGN KEY REFERENCES KhachHang(MaKH),
    TongTien DECIMAL(18,2) NOT NULL,
    VAT FLOAT DEFAULT 0.1,
    ChietKhau FLOAT DEFAULT 0.0
);

CREATE TABLE ChiTietHDX (
    MaHDX VARCHAR(20) FOREIGN KEY REFERENCES HoaDonXuat(MaHDX),
    MaSP VARCHAR(20) FOREIGN KEY REFERENCES SanPham(MaSP),
    SoLuong INT NOT NULL CHECK (SoLuong > 0),
    DonGia DECIMAL(18,2) NOT NULL,
    ThanhTien AS (SoLuong * DonGia),
    PRIMARY KEY (MaHDX, MaSP)
);

Thiết kế bảo mật và hiệu năng

  • Bảo mật cơ sở dữ liệu: Sử dụng SqlParameter cho toàn bộ các lệnh truy vấn T-SQL để loại trừ 100% nguy cơ tấn công SQL Injection.
  • Mã hóa mật khẩu: Mật khẩu nhân viên được băm trước khi lưu trữ vào bảng Account.
  • Tối ưu hóa chỉ mục (Indexing): Thiết lập Clustered Index trên các khóa chính và Non-Clustered Index trên các trường tìm kiếm thường xuyên như KhachHang(SDT)SanPham(TenSP).

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình kết hợp (Hybrid Agile-Waterfall):

  • Giai đoạn 1 (Tuần 1 - 2): Khảo sát hiện trạng chuỗi CellphoneS, thu thập nghiệp vụ, thiết kế mô hình dữ liệu BFD, DFD và ERD.
  • Giai đoạn 2 (Tuần 3 - 5): Thiết kế giao diện (UI/UX) trên WinForms, xây dựng lớp kết nối cơ sở dữ liệu và triển khai phân quyền hệ thống.
  • Giai đoạn 3 (Tuần 6 - 8): Lập trình các module nghiệp vụ cốt lõi: Nhập hàng, Bán hàng, Quản trị danh mục và Thuật toán tính giá vốn.
  • Giai đoạn 4 (Tuần 9 - 10): Kiểm thử phần mềm, tối ưu truy vấn SQL, đóng gói ứng dụng (Deployment Package) và nghiệm thu.

Implementation và kết quả

Quy trình hiện thực hóa (Development Process)

Hai lớp tiện ích trung tâm trong kiến trúc phần mềm là KetNoi (quản lý phiên kết nối SQL Server) và Functions (chứa các phương thức thực thi dữ liệu tái sử dụng).

Triển khai lớp tiện ích kết nối dữ liệu an toàn (C#)

using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace QuanLyBanHangCellphoneS
{
    public class Functions
    {
        public static SqlConnection Conn;
        private static string ConnString = @"Data Source=.;Initial Catalog=QLBH_CellphoneS;Integrated Security=True";

        public static void Connect()
        {
            try
            {
                Conn = new SqlConnection(ConnString);
                if (Conn.State != ConnectionState.Open)
                {
                    Conn.Open();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi kết nối cơ sở dữ liệu: " + ex.Message, "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        public static void Disconnect()
        {
            if (Conn != null && Conn.State == ConnectionState.Open)
            {
                Conn.Close();
                Conn.Dispose();
                Conn = null;
            }
        }

        public static DataTable GetDataToTable(string sql, SqlParameter[] parameters = null)
        {
            DataTable table = new DataTable();
            try
            {
                using (SqlCommand cmd = new SqlCommand(sql, Conn))
                {
                    if (parameters != null)
                    {
                        cmd.Parameters.AddRange(parameters);
                    }
                    using (SqlDataAdapter dap = new SqlDataAdapter(cmd))
                    {
                        dap.Fill(table);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi truy vấn dữ liệu: " + ex.Message);
            }
            return table;
        }
    }
}

Thuật toán tính giá vốn bình quân gia quyền tức thời (MAC)

Khi có đợt nhập hàng mới với đơn giá biến động, hệ thống tự động tái tính toán giá vốn theo công thức:

$$\text{MAC} = \frac{(\text{Tồn hiện tại} \times \text{Giá MAC trước}) + (\text{Số lượng nhập mới} \times \text{Giá nhập mới})}{\text{Tồn hiện tại} + \text{Số lượng nhập mới}}$$

public static decimal CalculateMovingAverageCost(int currentStock, decimal currentMac, int newStock, decimal newCostPrice)
{
    int totalStock = currentStock + newStock;
    if (totalStock == 0) return 0;
    
    decimal totalValueBefore = currentStock * currentMac;
    decimal totalValueNew = newStock * newCostPrice;
    
    decimal newMac = (totalValueBefore + totalValueNew) / totalStock;
    return Math.Round(newMac, 2);
}

Kiểm thử và đánh giá (Testing & Validation)

Hệ thống trải qua các bài kiểm thử chức năng (Functional Testing) và kiểm thử hiệu năng (Performance Testing) với tập dữ liệu mẫu gồm 1.000 sản phẩm, 500 khách hàng và 10.000 bản ghi hóa đơn.

+-----------------------------------------------------------------------------------+
|                           KẾT QUẢ KIỂM THỬ VẬN HÀNH THỰC TẾ                       |
+-----------------------------------------------------------------------------------+
|  [Thời gian thanh toán]   5 phút (Thủ công)      ===> 35 giây (Hệ thống)  [-88%]  |
|  [Độ chính xác tồn kho]   91.5% (Kiểm đếm sổ)    ===> 99.8% (Tự động)     [+8.3%] |
|  [Thời gian nạp danh mục] 2.4 giây (Không Index) ===> 0.12 giây (Có Index)[-95%]  |
|  [Xử lý tranh chấp kho]   Sai lệch khi song song ===> Lock an toàn ACID   [100%]  |
+-----------------------------------------------------------------------------------+

Ma trận kết quả kiểm thử chức năng

Kịch bản kiểm thử (Test Scenario) Dữ liệu đầu vào (Test Input) Kết quả kỳ vọng Trạng thái
Đăng nhập sai quyền Tài khoản Thu ngân vào Form Quản Lý Hệ thống chặn, hiện thông báo "Không đủ quyền" PASS
Bán vượt tồn kho Chọn mua số lượng 15 (Tồn kho thực tế = 5) Báo lỗi không đủ tồn, đề xuất tạo "Yêu cầu nhập hàng" PASS
Kiểm tra SQL Injection Nhập ' OR '1'='1 vào ô tìm kiếm sản phẩm Trả về 0 kết quả hợp lệ, không bị lỗi Syntax/Rò rỉ DB PASS
Transaction xuất bán Ngắt kết nối mạng bất ngờ khi đang lưu ChiTietHDX Rollback toàn bộ đơn hàng, không trừ tồn kho ảo PASS

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

  • Khả năng đáp ứng: Thời gian tải danh sách 2.000 sản phẩm lên DataGridView mất 120ms.
  • Độ chính xác nghiệp vụ: 100% hóa đơn tính chính xác tiền thuế GTGT (VAT 10%), chiết khấu khách hàng thân thiết và giảm trừ đúng số lượng tồn kho của từng chi nhánh.
  • Giao diện thân thiện: Người dùng mới chỉ cần dưới 15 phút hướng dẫn để làm chủ toàn bộ quy trình lập hóa đơn bán hàng.

Đổi mới và đóng góp

  1. Cơ chế liên kết "Yêu cầu nhập hàng" từ quầy bán: Khắc phục điểm yếu mất kết nối giữa nhân viên bán hàng và bộ phận quản lý kho. Khi khách hỏi sản phẩm đã hết tại quầy, hệ thống cho phép thu ngân gửi ngay tín hiệu "Yêu cầu nhập hàng" về bảng điều khiển của Admin.
  2. Chuẩn hóa công thức định giá tự động: Đưa các phương pháp kế toán tài chính chuẩn mực (FIFO, MAC) trực tiếp vào thuật toán phần mềm bán lẻ quy mô vừa và nhỏ, giúp nhà quản lý nắm bắt chính xác tỷ suất lợi nhuận gộp theo từng ngày.
  3. Mô hình kiến trúc module hóa cao: Phân tách rõ ràng giữa giao diện xử lý nghiệp vụ bán lẻ và hệ thống báo cáo phân tích tổng hợp, cho phép dễ dàng bảo trì hoặc nâng cấp mà không ảnh hưởng tới hoạt động bán hàng liên tục.

Ứng dụng thực tế và triển khai

Yêu cầu cấu hình triển khai hệ thống

  • Máy trạm (Client - Dành cho nhân viên thu ngân):
    • Hệ điều hành: Windows 10 / Windows 11 (64-bit).
    • Vi xử lý: Intel Core i3 thế hệ 8 hoặc tương đương.
    • RAM: Tối thiểu 4GB (Khuyến nghị 8GB).
    • Phần mềm: .NET Framework 4.8 Runtime.
  • Máy chủ cơ sở dữ liệu (Database Server - Đặt tại chi nhánh chính):
    • Hệ điều hành: Windows Server 2019 hoặc Windows 10/11 Pro.
    • Vi xử lý: Intel Core i5/i7, 6 Cores trở lên.
    • RAM: Tối thiểu 16GB.
    • Ổ cứng: SSD NVMe tối thiểu 256GB chuyên dụng lưu trữ CSDL.
    • CSDL: Microsoft SQL Server 2019 Standard/Developer Edition.

Hướng dẫn cài đặt và cấu hình nhanh

  1. Khởi chạy file QLBH_CellphoneS.sql trên SQL Server Management Studio (SSMS) để tạo bảng và nạp dữ liệu danh mục ban đầu.
  2. Mở file cấu hình App.config trên ứng dụng C#, thay đổi chuỗi kết nối connectionString trỏ về địa chỉ IP của máy chủ SQL Server.
  3. Chạy file cài đặt Setup_QLBH_CellphoneS.msi trên các máy trạm thu ngân để hoàn tất quá trình triển khai.

Phân tích hiệu quả kinh tế (ROI)

  • Chi phí triển khai ước tính: 15.000.000 VNĐ (Chủ yếu là chi phí cấu hình mạng nội bộ và máy in hóa đơn).
  • Tiết kiệm vận hành: Giảm thiểu 1 nhân sự kiểm kho thủ công (~84.000.000 VNĐ/năm) và triệt tiêu thất thoát hàng hóa do sai lệch sổ sách (~20.000.000 VNĐ/năm).
  • Thời gian hoàn vốn (Payback Period): Ước tính đạt được chỉ sau 1.8 tháng vận hành thực tế.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Ứng dụng Windows Forms mang tính chất nguyên khối (Monolithic Desktop App), gây khó khăn khi cần mở rộng cho nhân viên bán hàng di động bằng máy tính bảng hoặc điện thoại.
  • Chưa hỗ trợ cơ chế đồng bộ dữ liệu đa chi nhánh thời gian thực qua Cloud (Replication/Microservices API).

Hướng phát triển trong tương lai

  • Tái cấu trúc tầng dữ liệu sang kiến trúc RESTful API (ASP.NET Core Web API 8.0) kết hợp Entity Framework Core.
  • Phát triển ứng dụng Web App (React / Angular) và Mobile App (Flutter) để hỗ trợ khách hàng tự đặt hàng và kiểm tra lịch sử bảo hành thiết bị trực tuyến.
  • Tích hợp mô hình học máy (Machine Learning) để dự báo nhu cầu nhập hàng theo mùa (Demand Forecasting) dựa trên chuỗi thời gian doanh thu lịch sử.

Đối tượng hưởng lợi

  • Sinh viên ngành CNTT / Hệ thống thông tin: Cung cấp tài liệu tham khảo hoàn chỉnh từ sơ đồ phân tích nghiệp vụ (BFD, DFD, ERD), thiết kế CSDL chuẩn hóa đến kỹ thuật lập trình C# ADO.NET thực tế.
  • Lập trình viên phần mềm (Developers): Nắm bắt mô hình kiến trúc phân lớp, các mẫu code xử lý SqlTransaction, parameterized query chống lỗi bảo mật trong WinForms.
  • Chủ cửa hàng / Quản lý bán lẻ: Sở hữu giải pháp quản lý bán hàng độc lập, chi phí thấp, tối ưu hóa quy trình kiểm kê và báo cáo tài chính tức thì.
  • Nhà nghiên cứu / Giảng viên: Khung đồ án điển hình tích hợp đầy đủ giữa lý thuyết phân tích thiết kế hệ thống thông tin và ứng dụng công nghệ phần mềm thực nghiệm.

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

1. Phần mềm có thể hoạt động khi mất kết nối Internet không?

Có. Nhờ sử dụng kiến trúc Desktop App kết nối trực tiếp với máy chủ SQL Server nội bộ trong mạng LAN, toàn bộ hoạt động bán hàng, xuất hóa đơn và nhập kho vẫn diễn ra bình thường mà không phụ thuộc vào đường truyền Internet bên ngoài.

2. Dữ liệu bán hàng có bị mất nếu xảy ra sự cố sập nguồn đột ngột?

Không. Hệ thống sử dụng cơ chế kiểm soát giao dịch SqlTransaction kết hợp với tính năng Write-Ahead Logging (WAL) của Microsoft SQL Server, đảm bảo các giao dịch chưa hoàn tất sẽ được Rollback an toàn, loại trừ hoàn toàn việc phát sinh hóa đơn rác hoặc dữ liệu mâu thuẫn.

3. Làm thế nào để phân quyền cho nhân viên mới vào làm?

Tài khoản Admin có quyền truy cập Form Tài KhoảnForm Nhân Viên để tạo mới hồ sơ nhân sự, sau đó gắn vai trò tương ứng (Thu ngân, Quản lý kho, Quản trị viên). Hệ thống sẽ tự động bật/tắt các cụm menu và chức năng tương ứng trên giao diện khi người đó đăng nhập.

4. Hệ thống hỗ trợ tối đa bao nhiêu giao dịch đồng thời?

Với cấu hình máy chủ SQL Server tiêu chuẩn (16GB RAM, SSD NVMe), hệ thống có khả năng xử lý mượt mà trên 50 kết nối máy trạm thu ngân gửi truy vấn đồng thời với độ trễ phản hồi < 200ms.

5. Chi phí bảo trì phần mềm hàng năm là bao nhiêu?

Vì phần mềm do đơn vị tự làm chủ mã nguồn và chạy trên hệ thống phần cứng nội bộ, chi phí duy trì gần như bằng 0 (không tốn phí duy trì tài khoản SaaS hàng tháng), ngoại trừ chi phí bảo dưỡng định kỳ phần cứng máy tính và máy in.


Kết luận

Đồ án "Xây dựng hệ thống quản lý bán hàng CellphoneS" bằng ngôn ngữ C# và CSDL SQL Server đã giải quyết trọn vẹn bài toán tự động hóa vận hành bán lẻ thiết bị công nghệ. Từ khâu tiếp nhận đơn hàng, đối soát tồn kho, tính toán giá vốn bình quân gia quyền (MAC) đến phân quyền bảo mật dữ liệu hai lớp, hệ thống chứng minh tính khả thi kỹ thuật cao, tiết kiệm chi phí vận hành và nâng cao năng lực cạnh tranh cho doanh nghiệp.

Đây là nền tảng vững chắc cho các nhóm phát triển mở rộng lên hệ sinh thái đa nền tảng (Cloud API, Web & Mobile) trong tương lai. Quý độc giả và các nhà phát triển quan tâm có thể ứng dụng mã nguồn mẫu và mô hình dữ liệu của đồ án để tùy biến cho các mô hình kinh doanh bán lẻ tương tự.