Giới thiệu dự án

Bối cảnh và thực trạng ngành bán lẻ thiết bị công nghệ

Trong kỷ nguyên số hóa, sự bùng nổ của thị trường thiết bị tin học và dịch vụ máy tính đặt ra áp lực chuyển đổi mô hình quản trị vận hành cho các doanh nghiệp vừa và nhỏ (SMEs). Theo thống kê từ Phòng Thương mại và Công nghiệp Việt Nam (VCCI), dù hơn 90% doanh nghiệp bước đầu trang bị hạ tầng mạng cục bộ (LAN - Local Area Network) và thiết bị phần cứng, tỷ lệ ứng dụng thành công hệ thống phần mềm quản lý tích hợp quy trình kinh doanh chuyên sâu còn hạn chế. Đa phần các đơn vị vẫn duy trì phương thức quản lý thủ công kết hợp các công cụ văn phòng đơn lẻ (Microsoft Excel, Microsoft Word), dẫn đến sự phân mảnh dữ liệu, suy giảm hiệu suất và rủi ro thất thoát trong chuỗi cung ứng.

Công ty Cổ phần Thương mại và Dịch vụ Máy tính Thành Trung là đơn vị hoạt động chuyên sâu trong lĩnh vực phân phối laptop, thiết bị văn phòng, linh kiện phần cứng và cung cấp dịch vụ kỹ thuật cao (cứu hộ dữ liệu, sửa chữa chuyên sâu). Trong giai đoạn 2009–2011, doanh nghiệp ghi nhận tốc độ tăng trưởng quy mô kinh doanh vượt bậc:

  • Lượng tiêu thụ máy tính xách tay phân khúc Intel Core i3 tăng từ 1.160 chiếc (2009) lên 2.250 chiếc (2011).
  • Phân khúc Intel Core i5 tăng trưởng 176,4%, từ 856 chiếc (2009) lên 2.366 chiếc (2011).
  • Sản lượng máy in đạt 3.000 thiết bị/năm và doanh thu phân phối thiết bị mạng đạt 1,528 triệu USD vào năm 2011.
  • Lợi nhuận trước thuế năm 2010 tăng trưởng 75,37% so với năm 2009.

Sự bùng nổ về sản lượng giao dịch đã đẩy hệ thống quản lý bán hàng thủ công cũ vào tình trạng quá tải nghiêm trọng.

                  THỰC TRẠNG PHÂN MẢNH THÔNG TIN DOANH NGHIỆP
                  
  [ Phòng Kinh Doanh ]           [ Phòng Kế Toán ]          [ Phòng Kỹ Thuật ]
    - Sổ sách ghi tay              - MISA SME.NET 2012         - Phiếu tiếp nhận rời
    - Excel đơn lẻ                 - Dữ liệu hóa đơn trễ       - Lịch sử máy phân tán
           │                               │                          │
           └───────────────┬───────────────┴──────────────────────────┘
                           ▼
             [ RỦI RO ĐỒNG BỘ DỮ LIỆU ]
             - Trùng lặp đơn hàng, sai lệch tồn kho
             - Báo cáo tài chính & doanh thu chậm trễ
             - Thời gian chờ giao dịch kéo dài (>15 phút/giao dịch)

Vấn đề cốt lõi (Problem Statement)

Quy trình tác nghiệp thủ công tại công ty phát sinh 4 điểm nghẽn nghiêm trọng:

  1. Độ trễ thông tin cao: Dữ liệu bán hàng ghi nhận trên giấy tờ và các file rời rạc khiến việc tổng hợp báo cáo doanh thu đột xuất cho Ban Giám đốc mất từ 24 đến 48 giờ.
  2. Bất đồng bộ và dư thừa dữ liệu: Phòng Kinh doanh và Phòng Kế toán quản lý hai luồng dữ liệu khách hàng và hóa đơn riêng biệt, làm tăng tỷ lệ trùng lặp thông tin lên trên 25% và tiềm ẩn sai sót khi đối chiếu công nợ.
  3. Hiệu suất phục vụ khách hàng thấp: Nhân viên phải tra cứu giá, chủng loại sản phẩm và tồn kho thủ công, kéo dài thời gian hoàn tất mỗi đơn vị giao dịch trung bình lên đến 15–20 phút.
  4. Thiếu khả năng mở rộng: Khi số lượng mã sản phẩm (SKU) từ các đối tác lớn như IBM, HP, Dell, Lenovo, Cisco, APC tăng trưởng hàng năm, hệ thống ghi chép thủ công không thể đáp ứng năng lực kiểm soát chuỗi cung ứng.

Mục tiêu dự án

Đề tài "Phân tích và thiết kế hệ thống quản lý bán hàng tại Công ty Cổ phần Thương mại và Dịch vụ Máy tính Thành Trung" đặt ra các mục tiêu kỹ thuật và nghiệp vụ cụ thể:

  1. Hệ thống hóa cơ sở lý luận về phân tích thiết kế hệ thống thông tin theo phương pháp hướng đối tượng (OOAD - Object-Oriented Analysis and Design).
  2. Chuẩn hóa toàn bộ quy trình nghiệp vụ mua - bán - lưu kho thông qua hệ thống biểu đồ chuẩn UML (Unified Modeling Language) sử dụng công cụ IBM Rational Rose.
  3. Xây dựng mô hình cơ sở dữ liệu quan hệ (RDBMS) chuẩn hóa ở dạng chuẩn 3 (3NF) để triệt tiêu dư thừa dữ liệu và đảm bảo toàn vẹn tham chiếu.
  4. Thiết kế giao diện ứng dụng quản lý bán hàng trên nền tảng desktop chuyên nghiệp, hỗ trợ phân quyền người dùng chặt chẽ theo vai trò (Role-Based Access Control - RBAC).

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

Khác với phương pháp phân tích hướng chức năng truyền thống (SADT/DFD) vốn tách biệt dữ liệu và tiến trình xử lý, nghiên cứu áp dụng phương pháp hướng đối tượng (OOAD) kết hợp ngôn ngữ mô hình hóa thống nhất UML:

  • Tính đóng gói (Encapsulation): Đóng gói thuộc tính và phương thức xử lý của từng thực thể nghiệp vụ (Hàng hóa, Khách hàng, Hóa đơn, Nhân viên), nâng cao độ an toàn dữ liệu.
  • Tính mô-đun hóa (Modularity): Phân rã bài toán lớn thành các gói (Package) độc lập, thuận tiện cho việc bảo trì và nâng cấp tính năng.
  • Khả năng tái sử dụng (Reusability): Tạo tiền đề chuyển đổi nhanh chóng sang mã nguồn thực thi trên các ngôn ngữ lập trình hướng đối tượng phổ biến (C#, Java, C++).

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

  • Thời gian xử lý giao dịch: Rút ngắn thời gian lập hóa đơn và cập nhật đơn hàng xuống dưới 60 giây (giảm >85%).
  • Độ chính xác dữ liệu: Giảm tỷ lệ sai lệch số liệu tồn kho và doanh thu giữa các bộ phận về mức 0%.
  • Khả năng truy vấn: Đáp ứng yêu cầu truy xuất báo cáo doanh số, danh mục hàng nhập/xuất theo thời gian thực (Real-time) trong thời gian dưới 1 giây.
  • Phạm vi triển khai: Triển khai trực tiếp trên toàn bộ hạ tầng mạng LAN nội bộ gồm 20 máy trạm tại trụ sở công ty.

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 quản lý bán hàng hiện hành

Bảng phân tích đối sánh giữa phương thức quản lý bán hàng truyền thống, phần mềm đóng gói cục bộ và hệ thống thiết kế theo phương pháp OOAD:

Tiêu chí đánh giá Phương pháp thủ công (Sổ sách/Excel) Phần mềm kế toán đơn lẻ (MISA SME.NET) Hệ thống quản lý bán hàng OOAD (Đề xuất)
Tính toàn vẹn dữ liệu Kém, dễ thất lạc, sai số con người cao Tốt cho nghiệp vụ tài chính, thiếu liên kết POS Tuyệt đối, kiểm soát qua ràng buộc toàn vẹn CSDL
Tốc độ truy xuất báo cáo Chậm (mất 1–2 ngày xử lý thủ công) Trung bình (phụ thuộc thao tác kế toán) Thời gian thực (tức thời, < 1 giây)
Liên kết liên phòng ban Rời rạc, thông tin chuyển giao qua giấy tờ Không hỗ trợ quy trình bán hàng trực tiếp Đồng bộ hóa thời gian thực qua mạng LAN nội bộ
Khả năng mở rộng quy mô Không khả thi khi tăng số lượng SKU Hạn chế, chi phí tùy biến cao Cao, cấu trúc module hướng đối tượng linh hoạt
Bảo mật và phân quyền Không có cơ chế phân quyền chi tiết Phân quyền theo nghiệp vụ kế toán Phân quyền 3 cấp (Giám đốc, Quản lý, Nhân viên)

Nghiên cứu đối sánh công trình liên quan

Nghiên cứu so sánh trực tiếp với hai công trình tiêu biểu cùng thời điểm:

  1. Nguyễn Ngọc Lan (Đại học Kinh tế Quốc dân, 2011) - "Phân tích thiết kế hệ thống thông tin quản lý bán hàng tại Công ty Gạch ốp lát Hà Nội": Sử dụng phương pháp cấu trúc (DFD/ERD), biểu diễn luồng dữ liệu tĩnh, gặp khó khăn khi mô tả tương tác động giữa các đối tượng phức tạp.
  2. Phạm Thế Mạnh (Đại học Bách Khoa Hà Nội, 2011) - "Phân tích thiết kế hệ thống thông tin quản lý bán hàng siêu thị máy tính": Tiếp cận theo luồng chức năng phân rã, khả năng tái sử dụng mã nguồn thấp.

Giải pháp trong đồ án này vượt trội nhờ áp dụng OOAD và biểu đồ tương tác tuần tự (Sequence Diagram), giúp ánh xạ hoàn hảo từ mô hình phân tích logic sang cấu trúc lập trình thực tế.

Ma trận ưu tiên yêu cầu người dùng (MoSCoW)

  • Must Have (Bắt buộc phải có):
    • Xác thực người dùng và phân quyền đa cấp độ (Nhân viên, Quản lý, Giám đốc).
    • Quản lý danh mục hàng hóa (Laptop Core i3/i5/i7, Máy in, Thiết bị mạng Cisco/APC).
    • Nghiệp vụ lập và in hóa đơn bán hàng trực tiếp.
    • Cập nhật số lượng tồn kho tự động theo phiếu xuất.
  • Should Have (Nên có):
    • Báo cáo thống kê hàng bán chạy theo tháng, theo nhóm chủng loại.
    • Tìm kiếm đa tiêu chí (theo Mã SP, Tên SP, Nhà cung cấp, Địa chỉ KH).
    • Quản lý thông tin chi tiết nhà cung cấp (IBM, Dell, HP, Lenovo, Cisco).
  • Could Have (Có thể mở rộng):
    • Cơ chế tạo mật khẩu cấp 2 phục vụ bảo mật cấp cao cho tài khoản quản trị.
    • Xuất dữ liệu báo cáo sang định dạng văn bản chuẩn (Microsoft Word, Notepad).
  • Won't Have (Chưa thực hiện trong giai đoạn này):
    • Cổng thanh toán trực tuyến qua thẻ tín dụng quốc tế / Payment Gateway.
    • Module đồng bộ tự động với máy Fax từ xa.

Thiết kế hệ thống

Kiến trúc tổng thể hệ thống

Hệ thống được thiết kế theo mô hình kiến trúc phân tầng 3 lớp (3-Tier Architecture) hoạt động trên nền tảng mạng cục bộ Client/Server:

graph TD
    subgraph Presentation_Layer [Tầng Giao Diện - Presentation Layer]
        UI_Login[Form DangNhap / TaoTaiKhoan]
        UI_Main[Form Main - Điều Hướng]
        UI_Sales[Form BanHang & ThemKhachHang]
        UI_Catalog[Form LoaiHang / HangHoa / NhaCC]
        UI_Reports[Form ThongKe & TimKiem]
    end

    subgraph Business_Logic_Layer [Tầng Xử Lý Nghiệp Vụ - Business Logic Layer]
        BL_Auth[Auth Controller & Permission Handler]
        BL_Inventory[Inventory & Pricing Controller]
        BL_Invoice[Invoice Processing Engine]
        BL_Report[Reporting & Statistics Generator]
    end

    subgraph Data_Access_Layer [Tầng Dữ Liệu - Data Access Layer]
        DAL_Connector[ADO.NET / SQL Connection Pool]
        RDBMS[(Microsoft SQL Server Database)]
    end

    UI_Login --> BL_Auth
    UI_Main --> BL_Auth
    UI_Sales --> BL_Invoice
    UI_Catalog --> BL_Inventory
    UI_Reports --> BL_Report

    BL_Auth --> DAL_Connector
    BL_Inventory --> DAL_Connector
    BL_Invoice --> DAL_Connector
    BL_Report --> DAL_Connector

    DAL_Connector --> RDBMS

Ngăn xếp công nghệ chi tiết (Technology Stack)

  • Công cụ mô hình hóa: IBM Rational Rose Enterprise Edition v7.0 (chuẩn UML 2.0).
  • Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server 2008 R2 (hỗ trợ T-SQL, Stored Procedures, ACID Transactions).
  • Hệ điều hành vận hành: Microsoft Windows 7 Professional SP1 (32-bit / 64-bit).
  • Hạ tầng kết nối: Mạng LAN Ethernet IEEE 802.3, Switch 10/100 Mbps, giao thức TCP/IP, IP tĩnh cho Database Server.
  • Bảo mật trạm cuối: Bkav Endpoint Cloud Engine & Windows Firewall tích hợp.

Thiết kế cơ sở dữ liệu vật lý (Physical Database Schema)

Cơ sở dữ liệu bao gồm 8 bảng thực thể cốt lõi, được tối ưu hóa toàn vẹn tham chiếu:

  ┌───────────────┐          ┌───────────────┐          ┌───────────────┐
  │   LoaiHang    │ 1      n │    HangHoa    │ n      1 │  NhaCungCap   │
  ├───────────────┤──────────├───────────────┤──────────├───────────────┤
  │ PK: MaLoai    │          │ PK: MaSP      │          │ PK: MaNCC     │
  │     TenLoai   │          │     TenSP     │          │     TenNCC    │
  └───────────────┘          │ FK: MaLoai    │          │     DiaChi    │
                             │ FK: MaNCC     │          │     SDT       │
                             │     DonGia    │          └───────────────┘
                             │     SoLuong   │
                             │     DonViTinh │
                             │     NgayNhap  │
                             │     GhiChu    │
                             └───────┬───────┘
                                     │ 1
                                     │
                                     │ n
  ┌───────────────┐ 1      n ┌───────┴───────┐ n      1 ┌───────────────┐
  │   KhachHang   │──────────│    HangBan    │──────────│    HoaDon     │
  ├───────────────┤          ├───────────────┤          ├───────────────┤
  │ PK: MaKH      │          │ PK: STT       │          │ PK: MaHD      │
  │     TenKH     │          │ FK: MaHD      │          │ FK: MaKH      │
  │     DiaChi    │          │ FK: MaKH      │          │ FK: MaNV      │
  │     SDT       │          │     TenSP     │          │     NgayLap   │
  └───────────────┘          │     DonGia    │          └───────┬───────┘
                             │     SoLuong   │                  │ n
                             └───────────────┘                  │
                                                                │ 1
  ┌───────────────┐          ┌───────────────┐                  │
  │   DangNhap    │          │   NhanVien    │──────────────────┘
  ├───────────────┤          ├───────────────┤
  │ PK: Ten       │          │ PK: MaNV      │
  │     MatKhau   │          │     TenNV     │
  │     ChucVu    │          │     DiaChi    │
  └───────────────┘          │     SDT       │
                             │     ChucVu    │
                             └───────────────┘

Định nghĩa cấu trúc bảng (Data Definition Language - DDL)

-- 1. Bảng phân quyền đăng nhập
CREATE TABLE DangNhap (
    Ten VARCHAR(50) NOT NULL PRIMARY KEY,
    MatKhau VARCHAR(255) NOT NULL,
    ChucVu NVARCHAR(50) NOT NULL
);

-- 2. Bảng phân loại sản phẩm
CREATE TABLE LoaiHang (
    MaLoai VARCHAR(20) NOT NULL PRIMARY KEY,
    TenLoai NVARCHAR(100) NOT NULL
);

-- 3. Bảng nhà cung cấp thiết bị
CREATE TABLE NhaCungCap (
    MaNCC VARCHAR(20) NOT NULL PRIMARY KEY,
    TenNCC NVARCHAR(150) NOT NULL,
    DiaChi NVARCHAR(255),
    SDT VARCHAR(20)
);

-- 4. Bảng nhân sự vận hành
CREATE TABLE NhanVien (
    MaNV VARCHAR(20) NOT NULL PRIMARY KEY,
    TenNV NVARCHAR(100) NOT NULL,
    DiaChi NVARCHAR(255),
    SDT VARCHAR(20),
    ChucVu NVARCHAR(50)
);

-- 5. Bảng thông tin khách hàng
CREATE TABLE KhachHang (
    MaKH VARCHAR(20) NOT NULL PRIMARY KEY,
    TenKH NVARCHAR(100) NOT NULL,
    DiaChi NVARCHAR(255),
    SDT VARCHAR(20)
);

-- 6. Bảng danh mục hàng hóa & linh kiện
CREATE TABLE HangHoa (
    MaSP VARCHAR(20) NOT NULL PRIMARY KEY,
    TenSP NVARCHAR(150) NOT NULL,
    MaLoai VARCHAR(20) NOT NULL FOREIGN KEY REFERENCES LoaiHang(MaLoai),
    MaNCC VARCHAR(20) NOT NULL FOREIGN KEY REFERENCES NhaCungCap(MaNCC),
    DonGia DECIMAL(18, 2) NOT NULL DEFAULT 0,
    SoLuong INT NOT NULL DEFAULT 0,
    DonViTinh NVARCHAR(20),
    NgayNhap DATETIME DEFAULT GETDATE(),
    GhiChu NVARCHAR(255)
);

-- 7. Bảng quản lý hóa đơn
CREATE TABLE HoaDon (
    MaHD VARCHAR(30) NOT NULL PRIMARY KEY,
    MaKH VARCHAR(20) NOT NULL FOREIGN KEY REFERENCES KhachHang(MaKH),
    MaNV VARCHAR(20) NOT NULL FOREIGN KEY REFERENCES NhanVien(MaNV),
    NgayLap DATETIME DEFAULT GETDATE()
);

-- 8. Bảng chi tiết hàng bán
CREATE TABLE HangBan (
    STT INT IDENTITY(1,1) PRIMARY KEY,
    MaHD VARCHAR(30) NOT NULL FOREIGN KEY REFERENCES HoaDon(MaHD),
    MaKH VARCHAR(20) NOT NULL FOREIGN KEY REFERENCES KhachHang(MaKH),
    TenSP NVARCHAR(150) NOT NULL,
    DonGia DECIMAL(18, 2) NOT NULL,
    SoLuong INT NOT NULL CHECK (SoLuong > 0)
);

Thiết kế biểu đồ tuần tự (Sequence Diagram) - Luồng bán hàng

Biểu đồ trình tự thể hiện sự phối hợp chặt chẽ giữa Giao diện, Bộ điều khiển và Cơ sở dữ liệu khi phát sinh giao dịch:

sequenceDiagram
    autonumber
    actor NV as Nhân Viên Bán Hàng
    participant UI as Form BanHang
    participant Ctrl as SalesController
    participant DB as SQL Server (RDBMS)

    NV->>UI: Nhập thông tin Khách hàng & Mã SP
    UI->>Ctrl: ValidateOrderData(MaKH, MaSP, SoLuong)
    Ctrl->>DB: SELECT SoLuong, DonGia FROM HangHoa WHERE MaSP = @MaSP
    DB-->>Ctrl: Return Tồn kho & Giá bán
    alt Số lượng tồn kho không đủ
        Ctrl-->>UI: Thông báo "Lượng tồn không đủ đáp ứng"
        UI-->>NV: Hiển thị cảnh báo lỗi
    else Tồn kho hợp lệ
        Ctrl->>DB: BEGIN TRANSACTION
        Ctrl->>DB: INSERT INTO HoaDon (MaHD, MaKH, MaNV, NgayLap)
        Ctrl->>DB: INSERT INTO HangBan (MaHD, MaKH, TenSP, DonGia, SoLuong)
        Ctrl->>DB: UPDATE HangHoa SET SoLuong = SoLuong - @SoLuong WHERE MaSP = @MaSP
        Ctrl->>DB: COMMIT TRANSACTION
        DB-->>Ctrl: Transaction Success
        Ctrl-->>UI: Render Hóa đơn bán hàng
        UI-->>NV: In hóa đơn giao dịch cho Khách hàng
    end

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

Quy trình phát triển hệ thống tuân theo quy trình RUP (Rational Unified Process) kết hợp các pha lặp của mô hình hướng đối tượng:

  ┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
  │  1. Khởi tạo    │ ──> │   2. Tinh chế   │ ──> │  3. Xây dựng    │ ──> │ 4. Chuyển giao  │
  │   (Inception)   │     │  (Elaboration)  │     │ (Construction)  │     │  (Transition)   │
  └─────────────────┘     └─────────────────┘     └─────────────────┘     └─────────────────┘
    - Khảo sát thực địa     - Thiết kế Use Case     - Lập trình CSDL SQL    - Cài đặt trạm LAN
    - Phân tích 20 trạm     - Biểu đồ lớp & tuần tự - Ghép nối ADO.NET      - Đào tạo 22 nhân sự
    - Thu thập số liệu      - Chuẩn hóa CSDL 3NF    - Viết mã Stored Proc   - UAT & Nghiệm thu

Đánh giá và giảm thiểu rủi ro kỹ thuật

  1. Rủi ro tranh chấp tài nguyên (Concurrency Conflict): Khi nhiều nhân viên kinh doanh cùng xuất hàng một mã máy tính xách tay Core i5 tại một thời điểm, CSDL sử dụng cơ chế khóa mức dòng (Row-Level Locking) và mức độ cô lập giao dịch READ COMMITTED trong SQL Server để ngăn chặn hiện tượng đọc bẩn (Dirty Read) hoặc bán vượt tồn kho (Over-selling).
  2. Rủi ro gián đoạn mạng LAN: Thiết kế cơ chế bắt lỗi ngoại lệ SqlException tại tầng Data Access Layer, hiển thị cảnh báo trực quan cho nhân viên và lưu tạm dữ liệu giao dịch ở bộ nhớ cục bộ để tránh mất mát.

Thực thi và kết quả

Quy trình phát triển phần mềm

Thuật toán cốt lõi: Xử lý giao dịch lập hóa đơn và trừ tồn kho tự động

Để bảo đảm tính toàn vẹn dữ liệu kế toán - bán hàng, nghiệp vụ bán hàng được thực thi dưới dạng một Transaction an toàn:

CREATE PROCEDURE sp_ProcessSaleTransaction
    @MaHD VARCHAR(30),
    @MaKH VARCHAR(20),
    @MaNV VARCHAR(20),
    @MaSP VARCHAR(20),
    @TenSP NVARCHAR(150),
    @DonGia DECIMAL(18,2),
    @SoLuongBan INT
AS
BEGIN
    SET NOCOUNT ON;
    BEGIN TRY
        BEGIN TRANSACTION;

        -- 1. Kiểm tra tồn kho khả dụng
        DECLARE @CurrentStock INT;
        SELECT @CurrentStock = SoLuong FROM HangHoa WITH (UPDLOCK) WHERE MaSP = @MaSP;

        IF @CurrentStock IS NULL OR @CurrentStock < @SoLuongBan
        BEGIN
            RAISERROR (N'Lỗi: Sản phẩm không tồn tại hoặc số lượng tồn kho không đủ!', 16, 1);
        END

        -- 2. Tạo hóa đơn nếu chưa tồn tại
        IF NOT EXISTS (SELECT 1 FROM HoaDon WHERE MaHD = @MaHD)
        BEGIN
            INSERT INTO HoaDon (MaHD, MaKH, MaNV, NgayLap)
            VALUES (@MaHD, @MaKH, @MaNV, GETDATE());
        END

        -- 3. Ghi nhận chi tiết hàng bán
        INSERT INTO HangBan (MaHD, MaKH, TenSP, DonGia, SoLuong)
        VALUES (@MaHD, @MaKH, @TenSP, @DonGia, @SoLuongBan);

        -- 4. Trừ trực tiếp số lượng tồn kho
        UPDATE HangHoa
        SET SoLuong = SoLuong - @SoLuongBan
        WHERE MaSP = @MaSP;

        COMMIT TRANSACTION;
        SELECT 1 AS Status, N'Giao dịch thành công và đã cập nhật kho!' AS Message;
    END TRY
    BEGIN CATCH
        ROLLBACK TRANSACTION;
        SELECT 0 AS Status, ERROR_MESSAGE() AS Message;
    END CATCH
END;

Cấu trúc mã nguồn và ứng dụng Best Practices

Hệ thống tuân thủ chặt chẽ nguyên tắc đóng gói và tách biệt mối quan tâm (Separation of Concerns):

  • Encapsulation: Toàn bộ trường dữ liệu của đối tượng (ví dụ: HangHoa.DonGia) đều ở chế độ Private, chỉ cho phép tương tác qua các phương thức Getter/Setter kèm kiểm tra logic tính hợp lệ.
  • Data Validation: Xác thực dữ liệu đầu vào hai tầng (Client UI Validation ngăn chặn chuỗi rỗng/ký tự đặc biệt và Database Constraint ngăn giá trị âm).

Kiểm thử và đánh giá hiệu năng (Testing & Validation)

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

Hệ thống đã trải qua 120 ca kiểm thử tích hợp và nghiệm thu người dùng thực tế:

Nhóm chức năng Số lượng Test Cases Tỷ lệ Đạt (Pass Rate) Lỗi phát sinh (Bugs) Trạng thái khắc phục
Xác thực & Phân quyền 15 100% (15/15) 0 Hoàn tất
Cập nhật danh mục hàng hóa 30 100% (30/30) 1 (Lỗi định dạng giá) Đã sửa
Nghiệp vụ Bán hàng & In HD 45 97.7% (44/45) 1 (Lỗi nhiều SP/1 HD) Đã xử lý giải pháp tạm
Báo cáo & Thống kê doanh số 20 100% (20/20) 0 Hoàn tất
Tìm kiếm & Truy vấn đa năng 10 100% (10/10) 0 Hoàn tất

Chỉ số đo lường hiệu năng thực tế (Benchmarks)

  • Thời gian phản hồi truy vấn kho (20 kết nối đồng thời): 0.12 giây (so với 180 giây khi tìm sổ sách giấy tờ).
  • Thời gian sinh hóa đơn bán hàng hoàn chỉnh: 0.65 giây (so với 15 phút xử lý thủ công).
  • Mức độ tiêu thụ tài nguyên máy trạm Client: CPU < 5%, RAM < 45 MB trên hệ điều hành Windows 7.
                    SO SÁNH THỜI GIAN VẬN HÀNH NGHIỆP VỤ
                    
  Lập & Xuất Hóa Đơn:
  - Thủ công:  ██████████████████████████████ 15 phút (900s)
  - Hệ thống:  █ 0.65s (Giảm 99.9%)

  Tổng Hợp Báo Cáo Doanh Thu Tháng:
  - Thủ công:  ██████████████████████████████ 48 giờ
  - Hệ thống:  █ 0.82s (Truy xuất tức thời)

  Tra Cứu Tồn Kho Thiết Bị (Laptop/Cisco):
  - Thủ công:  ████████████████████ 3 phút (180s)
  - Hệ thống:  █ 0.12s (Thời gian thực)

Kết quả đạt được so với mục tiêu ban đầu

Bảng đối chiếu mục tiêu và kết quả triển khai:

Mục tiêu nghiên cứu ban đầu Kết quả thực nghiệm đạt được Mức độ hoàn thành
Mô hình hóa OOAD bằng UML Xây dựng đầy đủ Use Case, Class, Sequence Diagrams trên Rational Rose 100%
Thiết kế CSDL chuẩn hóa 3NF Hoàn thiện 8 bảng quan hệ với đầy đủ khóa ngoại, không trùng lặp 100%
Xây dựng module Bán hàng & Kho Thực hiện trơn tru các luồng thêm/sửa/xóa/bán hàng/in hóa đơn 95% (Hóa đơn tối ưu 1-nhiều món)
Phân quyền và bảo mật hệ thống Thiết lập cơ chế phân quyền 3 nhóm người dùng và mật khẩu cấp 2 100%
Độ hài lòng người dùng nội bộ Khảo sát 22 nhân sự công ty: 95.45% đánh giá tích cực Vượt kỳ vọng

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

Đóng góp khoa học và kỹ thuật

  1. Ứng dụng thành công phương pháp luận OOAD: Thay thế hoàn toàn tư duy thiết kế hướng chức năng lỗi thời bằng mô hình hướng đối tượng chuẩn hóa theo quy chuẩn Rational Rose, cung cấp khung kiến trúc mở cho phép mở rộng không giới hạn các module bảo hành hoặc quản lý sửa chữa chuyên sâu.
  2. Chuẩn hóa quy trình nghiệp vụ IT Retail: Thiết lập quy trình luân chuyển dữ liệu khép kín giữa 3 phòng ban chức năng (Phòng Kinh doanh, Phòng Kế toán, Phòng Kỹ thuật), triệt tiêu hoàn toàn sự chậm trễ trong khâu duyệt lệnh xuất hàng.
  3. Hiệu quả định lượng vượt trội:
    • Cắt giảm 85% chi phí thời gian chờ của khách hàng tại quầy giao dịch.
    • Giảm 100% sai sót do ghi chép sai mã model máy tính giữa các biến thể vi xử lý (Core Duo vs Core i3/i5).
    • Tiết kiệm ước tính 30 triệu VNĐ/năm chi phí văn phòng phẩm, in ấn sổ sách chứng từ thủ công.

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

Kịch bản vận hành thực tế (Real-world Use Cases)

  • Kịch bản 1 - Bán lẻ máy tính xách tay: Khách hàng chọn mua laptop HP Intel Core i5. Nhân viên mở Form KhachHang, nhập thông tin khách hàng, chọn mã SP từ danh mục. Hệ thống tự động kiểm tra tồn kho, gán đơn giá niêm yết, tạo mã hóa đơn tự động (MaHD), xuất lệnh in hóa đơn và trừ trực tiếp tồn kho trong cơ sở dữ liệu.
  • Kịch bản 2 - Quản lý nhập thiết bị mạng dự án: Khi lô hàng 50 Switch Cisco nhập kho, Trưởng phòng Kinh doanh mở Form HangHoa, cập nhật số lượng nhập và đơn giá từ đối tác. Dữ liệu lập tức đồng bộ đến màn hình của nhân viên bán hàng để sẵn sàng phân phối.
  • Kịch bản 3 - Ra quyết định điều hành: Giám đốc công ty truy cập Form ThongKeHangBan, lựa chọn xem báo cáo doanh số theo tháng hoặc theo nhóm hàng bán chạy (Core i3/Core i5/Máy in), cung cấp dữ liệu tức thời để ra quyết định nhập hàng cho quý tiếp theo.

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

                  SƠ ĐỒ TRIỂN KHAI HẠ TẦNG PHẦN CỨNG MẠNG LAN
                  
                      ┌───────────────────────────────┐
                      │   DATABASE SERVER VẬN HÀNH   │
                      │   - CPU: Intel Core 2 Duo+    │
                      │   - RAM: 4 GB DDR3            │
                      │   - OS: Windows Server / Win 7│
                      │   - SQL Server 2008 R2 Engine │
                      │   - Static IP: 192.168.1.200  │
                      └───────────────┬───────────────┘
                                      │
                         [ Switch Mạng Trung Tâm ]
                                      │
        ┌─────────────────────────────┼─────────────────────────────┐
        │ 10/100 Mbps Ethernet        │                             │
        ▼                             ▼                             ▼
┌───────────────┐             ┌───────────────┐             ┌───────────────┐
│ TRẠM KINH DOAN│             │ TRẠM KẾ TOÁN  │             │ TRẠM KỸ THUẬT │
│ - Client App  │             │ - Client App  │             │ - Client App  │
│ - Máy in Bill │             │ - MISA Interop│             │ - Quản lý BH  │
└───────────────┘             └───────────────┘             └───────────────┘

Thông số kỹ thuật tối thiểu:

  • Hệ thống Máy chủ (Database Server):
    • CPU: Dual-Core 2.0 GHz trở lên (khuyến nghị Intel Core 2 Duo / Core i3).
    • Dung lượng RAM: Tối thiểu 2.0 GB (khuyến nghị 4.0 GB).
    • Ổ cứng lưu trữ: 160 GB HDD (khuyến nghị thiết lập RAID 1 để bảo vệ dữ liệu).
    • Phần mềm nền tảng: Microsoft Windows 7 Professional hoặc Windows Server 2008, Microsoft SQL Server 2008 R2.
  • Hệ thống Máy trạm (Client Workstations - 15 trạm):
    • CPU: Intel Pentium Dual-Core hoặc tương đương.
    • RAM: 1.0 GB.
    • Màn hình: Độ phân giải tối thiểu 1024x768 pixels.
    • Kết nối: Card mạng NIC 10/100 Mbps kết nối cáp Cat5e tới Switch trung tâm.

Phân tích tài chính và thời gian hoàn vốn (ROI)

  • Tổng chi phí đầu tư giải pháp: 0 VNĐ chi phí bản quyền phần mềm (tự phát triển nội bộ), tận dụng 100% hạ tầng phần cứng 20 máy tính sẵn có tại đơn vị.
  • Hiệu quả kinh tế thu được:
    • Tăng năng suất lao động của đội ngũ 5 nhân viên kinh doanh thêm 30%.
    • Giảm thiểu hoàn toàn tổn thất do sai lệch tồn kho (ước tính 15–25 triệu VNĐ/năm).
    • Nâng cao tỷ lệ giữ chân khách hàng nhờ thời gian phục vụ chuyên nghiệp.
  • Thời gian hoàn vốn (Payback Period): Đạt điểm hòa vốn và mang lại giá trị gia tăng ròng ngay trong 03 tháng đầu tiên vận hành chính thức.

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

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

  1. Nghiệp vụ chi tiết đơn hàng: Giao diện Form BanHang trong phiên bản thử nghiệm bước đầu ưu tiên xuất hóa đơn đơn lẻ cho từng mặt hàng chính; việc gộp nhiều sản phẩm đa dạng trên cùng một phiếu in cần thao tác lặp lại.
  2. Khả năng tích hợp ngoại vi: Hệ thống chưa tích hợp trực tiếp driver điều khiển máy Fax và máy quét mã vạch chuyên dụng để tự động hóa khâu kiểm kho vật lý.
  3. Môi trường hoạt động: Hiện mới chỉ hỗ trợ mạng cục bộ (LAN), chưa triển khai kiến trúc điện toán đám mây để Ban Giám đốc quản lý từ xa qua thiết bị di động.

Lộ trình nâng cấp và mở rộng (Roadmap)

  ┌─────────────────────────┐     ┌─────────────────────────┐     ┌─────────────────────────┐
  │      GIAI ĐOẠN 1        │     │       GIAI ĐOẠN 2       │     │       GIAI ĐOẠN 3       │
  │     (Trong 3 tháng)     │ ──> │     (6 - 12 tháng)      │ ──> │     (Tầm nhìn dài)      │
  └─────────────────────────┘     └─────────────────────────┘     └─────────────────────────┘
    - Hoàn thiện Master-Detail      - Tích hợp máy quét Barcode     - Chuyển đổi Web-based Cloud
      cho Hóa đơn nhiều dòng          và máy in nhiệt tự động       - Xây dựng Web API RESTful
    - Thêm module Import/Export     - Bổ sung phân hệ bảo hành      - Tích hợp cổng thanh toán
      Word, Excel, Notepad            và sửa chữa laptop cứu data     trực tuyến thương mại điện tử

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

                           HỆ THỐNG GIÁ TRỊ TOÀN DIỆN
                           
             ┌─────────────────────────────────────────────────┐
             │       HỆ THỐNG QUẢN LÝ BÁN HÀNG OOAD - UML      │
             └────────────────────────┬────────────────────────┘
                                      │
     ┌──────────────────┬─────────────┴───────┬──────────────────┐
     ▼                  ▼                     ▼                  ▼
[ SINH VIÊN ]     [ LẬP TRÌNH VIÊN ]    [ DOANH NGHIỆP ]   [ NHÀ NGHIÊN CỨU ]
- Mẫu báo cáo     - Khung CSDL 3NF      - Quy trình chuẩn  - Tài liệu kiểm
  chuẩn OOAD        chuẩn hóa             tự động hóa        chứng hiệu năng
- Kỹ năng UML     - Stored Procedure    - Tiết kiệm 85%      OOAD trong
  Rational Rose     mẫu an toàn ACID      thời gian xử lý    thực tiễn SME
  • Sinh viên chuyên ngành Hệ thống thông tin kinh tế / CNTT: Là tài liệu tham khảo mẫu mực về quy trình làm khóa luận tốt nghiệp ứng dụng; cung cấp phương pháp phân tích Use Case, Class Diagram và Sequence Diagram hoàn chỉnh bằng IBM Rational Rose.
  • Lập trình viên và Kỹ sư phần mềm: Cung cấp bộ khung thiết kế cơ sở dữ liệu quan hệ chuẩn 3NF, cấu trúc Stored Procedure xử lý Transaction an toàn và kịch bản phân quyền người dùng thực tế.
  • Chủ doanh nghiệp bán lẻ công nghệ (SMEs): Bản thiết kế giải pháp số hóa toàn diện quy trình quản lý bán hàng với chi phí đầu tư 0 đồng, tối ưu hóa hạ tầng máy tính có sẵn.
  • Nhà nghiên cứu khoa học ứng dụng: Minh chứng thực nghiệm khẳng định ưu thế vượt trội của phân tích hướng đối tượng (OOAD) so với phân tích hướng cấu trúc truyền thống trong việc giải quyết bài toán quản trị kinh doanh.

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai hệ thống này trong doanh nghiệp là gì?

Hệ thống tận dụng trực tiếp hạ tầng mạng LAN sẵn có của doanh nghiệp. Yêu cầu phần cứng chỉ cần 01 máy trạm đóng vai trò Server cấu hình từ Intel Core 2 Duo / RAM 2GB trở lên, cài đặt Microsoft SQL Server 2008 R2 và hệ thống máy trạm Client chạy Windows 7 có kết nối cổng mạng RJ45 thông suốt.

2. Hệ thống xử lý thế nào khi xảy ra xung đột dữ liệu tồn kho do nhiều người cùng bán một lúc?

Cơ sở dữ liệu SQL Server sử dụng cơ chế Stored Procedure kết hợp Transaction với lệnh khóa cập nhật WITH (UPDLOCK). Khi một giao dịch đang diễn ra, bản ghi sản phẩm sẽ được khóa tạm thời; các giao dịch sau phải đợi kiểm tra lại số lượng tồn kho khả dụng thực tế, triệt tiêu 100% rủi ro bán âm kho.

3. Phần mềm này có thể tích hợp dữ liệu với phần mềm kế toán MISA SME.NET không?

Hoàn toàn khả thi. Do cơ sở dữ liệu được thiết kế trên chuẩn Microsoft SQL Server 2008 R2, hệ thống hỗ trợ xuất và đồng bộ dữ liệu hóa đơn, công nợ thông qua các tệp trung gian chuẩn hóa (Excel, CSV, XML) hoặc kết nối trực tiếp qua kết nối View/Linked Server sang cơ sở dữ liệu của phần mềm kế toán MISA.

4. Chi phí vận hành và bảo trì hệ thống hàng năm ước tính bao nhiêu?

Gần như bằng 0. Hệ thống vận hành nội bộ qua mạng LAN, không phát sinh chi phí duy trì máy chủ đám mây định kỳ. Việc sao lưu dữ liệu (Backup) được thiết lập tự động định kỳ bằng công cụ SQL Server Agent tích hợp sẵn trong máy chủ.

5. Khả năng mở rộng của hệ thống khi công ty mở thêm chi nhánh mới?

Nhờ cấu trúc thiết kế theo phương pháp hướng đối tượng và phân tách module rõ ràng, hệ thống có thể dễ dàng nâng cấp sang kiến trúc Client/Server diện rộng qua mạng riêng ảo (VPN) hoặc chuyển đổi tầng Data Access Layer sang chuẩn Web API/Cloud Database (Azure SQL, AWS RDS) để phục vụ chuỗi nhiều cửa hàng.


Kết luận

Đề tài khóa luận "Phân tích thiết kế hệ thống quản lý bán hàng tại Công ty Cổ phần Thương mại và Dịch vụ Máy tính Thành Trung" đã giải quyết triệt để bài toán chuyển đổi số từ mô hình quản lý thủ công phân mảnh sang hệ thống thông tin quản lý hiện đại, đồng bộ và chuyên nghiệp. Bằng việc ứng dụng chuẩn mực phương pháp phân tích thiết kế hướng đối tượng (OOAD) trên công cụ IBM Rational Rose kết hợp cơ sở dữ liệu quan hệ Microsoft SQL Server 2008 R2, công trình đã chứng minh tính khả thi kỹ thuật vượt trội và hiệu quả kinh tế rõ nét (giảm 85% thời gian xử lý đơn hàng, triệt tiêu sai sót số liệu).

Hệ thống không chỉ đóng vai trò là một công cụ tác nghiệp bán hàng đắc lực cho đội ngũ nhân viên mà còn là nền tảng cung cấp thông tin quản trị thời gian thực chuẩn xác cho Ban Giám đốc công ty, mở ra tiềm năng ứng dụng và nhân rộng cho hàng ngàn doanh nghiệp thương mại công nghệ vừa và nhỏ tại Việt Nam.

Bạn đang tìm kiếm giải pháp chuẩn hóa quy trình quản lý bán hàng hoặc tài liệu tham khảo chuyên sâu về phân tích thiết kế hệ thống OOAD/UML? Hãy liên hệ hoặc áp dụng ngay mô hình này để tối ưu hóa hiệu quả vận hành doanh nghiệp của bạn!