Hệ thống áp dụng mô hình 3 lớp phân tách quyền hạn và trách nhiệm rõ ràng giữa các tầng (Separation of Concerns). Toàn bộ giao tiếp giữa UI và Cơ sở dữ liệu bắt buộc đi qua tầng nghiệp vụ BUS và tầng truy cập dữ liệu DAL thông qua đối tượng truyền tải DTO:
┌────────────────────────────────────────────────────────────────────────┐
│ 1. PRESENTATION LAYER (GUI) │
│ - FormMainDashboard.cs, FormNhapKhoVaKiemDinhQC.cs, FormCanhBao... │
│ - Giao diện Flat UI, hiển thị lưới DataGridView tô màu tự động │
└───────────────────────────────────┬────────────────────────────────────┘
│ Trao đổi dữ liệu qua DTO (Data Transfer Objects)
┌───────────────────────────────────▼────────────────────────────────────┐
│ 2. BUSINESS LOGIC LAYER (BUS) │
│ - NhapKhoVaQCBUS.cs, CongNoBUS.cs, CanhBaoHanDungBUS, DonDatHangBUS │
│ - Kiểm tra điều kiện nhiệt độ, tính ngày hết hạn, xác thực nghiệp vụ │
└───────────────────────────────────┬────────────────────────────────────┘
│ Gọi phương thức truy vấn DAL an toàn
┌───────────────────────────────────▼────────────────────────────────────┐
│ 3. DATA ACCESS LAYER (DAL) │
│ - DatabaseHelper.cs, PhieuNhapKhoDAL.cs, NhaCungCapDAL.cs... │
│ - ADO.NET Parameterized Queries, SqlTransaction kiểm soát │
└───────────────────────────────────┬────────────────────────────────────┘
│ Kết nối qua SqlConnection
┌───────────────────────────────────▼────────────────────────────────────┐
│ 4. DATABASE ENGINE (SQL SERVER) │
│ - 12 Bảng: NguoiDung, NhaCungCap, DanhMucHangHoa, HangHoa... │
│ - Ràng buộc Khóa chính PK, Khóa ngoại FK, View tổng hợp │
└────────────────────────────────────────────────────────────────────────┘