Giới thiệu dự án

Trong kỷ nguyên chuyển đổi số và cuộc cách mạng công nghiệp 4.0, tự động hóa quy trình quản trị doanh nghiệp là yếu tố then chốt quyết định năng lực cạnh tranh. Theo các khảo sát thực tế tại thị trường Việt Nam, hơn 60% doanh nghiệp vừa và nhỏ (SMEs) vẫn đang quản lý nhân sự và tính lương bằng bảng tính Microsoft Excel rời rạc. Phương thức thủ công này dẫn đến tỷ lệ sai sót dữ liệu từ 5% – 8%, tiêu tốn trung bình 35 – 45 giờ làm việc mỗi tháng của bộ phận kế toán - nhân sự cho mỗi chu kỳ chốt lương, đồng thời tiềm ẩn rủi ro lộ lọt dữ liệu lương bảo mật.

Đề tài "Xây dựng phần mềm quản lý tiền lương cho doanh nghiệp" do sinh viên Lương Ngọc Hoàng Anh thực hiện dưới sự hướng dẫn của Th.S Đào Thị Hưng tại Khoa Công nghệ Thông tin – Trường Đại học Hải Phòng (tháng 4/2024) được nghiên cứu nhằm giải quyết triệt để các bài toán phân tán dữ liệu, sai sót số liệu chấm công, tăng ca, bảo hiểm và chậm trễ trong quyết toán lương định kỳ.

Mục tiêu dự án

  1. Khảo sát và chuẩn hóa quy trình nghiệp vụ HRM: Hệ thống hóa toàn diện các quy trình quản lý hồ sơ nhân viên, hợp đồng lao động, phân bổ phòng ban, chấm công theo ca, xét duyệt tăng ca, tạm ứng, khen thưởng - kỷ luật và các khoản trích theo lương (BHXH, BHYT, BHTN).
  2. Thiết kế kiến trúc hệ thống 3 lớp (3-Tier Architecture): Đảm bảo sự phân tách độc lập giữa tầng giao diện (Presentation), tầng xử lý logic nghiệp vụ (Business Logic Layer - BLL), và tầng truy xuất dữ liệu (Data Access Layer - DAL) kết hợp đối tượng truyền dữ liệu (DTO).
  3. Xây dựng phần mềm ứng dụng Desktop hoàn chỉnh: Sử dụng ngôn ngữ C# trên nền tảng Microsoft .NET Framework kết hợp hệ quản trị cơ sở dữ liệu quan hệ Microsoft SQL Server.
  4. Tự động hóa công thức tính lương phức tạp: Giảm thiểu 100% sai số tính toán số học do con người, hỗ trợ phát sinh kỳ công tự động và xuất báo cáo thống kê trực quan.
  5. Đảm bảo tính bảo mật và phân quyền: Phân tách rõ ràng vai trò giữa Quản trị viên (Admin) và Nhân viên (User), kiểm soát truy cập và toàn vẹn dữ liệu.

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

  • Phạm vi áp dụng: Áp dụng cho các doanh nghiệp có quy mô từ 50 đến 1.000 nhân sự hoạt động tại Việt Nam với mô hình chia ca làm việc cố định và linh hoạt.
  • Giới hạn kỹ thuật: Ứng dụng chạy trên môi trường Desktop OS Windows; chưa tích hợp đồng bộ dữ liệu thời gian thực (Real-time Cloud Sync) qua Mobile App hoặc kết nối trực tiếp giao thức SDK tới đầu đọc vân tay sinh trắc học.

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

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

Quá trình khảo sát tại các doanh nghiệp cho thấy sự khác biệt rõ rệt giữa các giải pháp quản trị hiện hành:

Tiêu chí so sánh Bảng tính Microsoft Excel Hệ thống ERP Quốc tế (SAP, Oracle) Phần mềm HRM C#/SQL Server (Đề tài)
Tính toàn vẹn dữ liệu Kém (dễ bị ghi đè, xóa nhầm) Rất cao (RDBMS quy chuẩn) Rất cao (RDBMS SQL Server, ràng buộc khóa ngoại)
Bảo mật & Phân quyền Thấp (chỉ khóa sheet/file) Rất cao (Ma trận phân quyền) Cao (Phân quyền tài khoản, mã hóa xác thực)
Khả năng tự động hóa Trung bình (Dựa vào macro, hàm) Toàn diện Tự động hóa cao theo quy trình đặc thù
Chi phí đầu tư Gần như bằng 0 Rất lớn (> $50,000) Tối ưu, phù hợp năng lực tài chính SMEs
Khả năng tùy biến Thủ công theo người tạo file Phức tạp, cần chuyên gia Linh hoạt, dễ nâng cấp mã nguồn

Phân tích yêu cầu người dùng theo mô hình MoSCoW

  • Must have (Bắt buộc có): Đăng nhập/xác thực; Quản lý hồ sơ nhân viên (CRUD); Quản lý hợp đồng; Bảng chấm công theo kỳ; Tính toán lương thực lĩnh, phụ cấp, tạm ứng, bảo hiểm; In ấn và kết xuất báo cáo.
  • Should have (Nên có): Quản lý điều chuyển phòng ban; Quản lý khen thưởng - kỷ luật; Quản lý nâng lương theo định kỳ; Theo dõi phân ca làm việc (loại ca, hệ số tăng ca).
  • Could have (Có thể có): Lọc nâng cao đa tiêu chí (dân tộc, tôn giáo, trình độ); Xuất dữ liệu đa định dạng (PDF, Excel).
  • Won't have (Chưa triển khai): Tính lương theo hoa hồng doanh số lũy tiến (Commission Real-time); Chấm công định vị GPS qua thiết bị di động.

Thiết kế hệ thống

Hệ thống được xây dựng tuân thủ nghiêm ngặt mô hình kiến trúc 3 lớp (3-Tier Architecture) giúp tối ưu hóa khả năng bảo trì và kiểm thử độc lập:

Technology Stack và phiên bản sử dụng

  • IDE phát triển: Microsoft Visual Studio (hỗ trợ IntelliSense, Windows Forms Designer, Class Designer).
  • Ngôn ngữ lập trình: C# (Object-Oriented Programming, strongly-typed, LINQ, ADO.NET).
  • Hệ quản trị CSDL: Microsoft SQL Server 2016 / 2019 (Database Engine, T-SQL, Stored Procedures, Triggers).
  • Giao tiếp dữ liệu: ADO.NET Data Provider (SqlConnection, SqlCommand, SqlDataAdapter, SqlDataReader).
  • Kiến trúc ứng dụng: 3-Tier Architecture (Presentation Layer, Business Logic Layer, Data Access Layer, DTO).

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

Hệ thống bao gồm 22 thực thể liên kết chặt chẽ:

  1. tb_NHANVIEN (MANV [PK], HOTEN, GIOITINH, NGAYSINH, DIENTHOAI, CCCD, DIACHI, HINHANH, IDPB [FK], IDBP [FK], IDCV [FK], IDTD [FK], IDDT [FK], IDTG [FK])
  2. tb_HOPDONG (SOHD [PK], NGAYBATDAU, NGAYKETTHUC, NGAYKY, LANCAY, THOIHAN, HESOLUONG, LUONGCOBAN, MANV [FK])
  3. tb_KYCONG (MAKYCONG [PK], THANG, NAM, KHOA, NGAYTINHCONG, NGAYCONGTRONGTHANG, TRANGTHAI)
  4. tb_KYCONGCHITIET (MAKYCONG [FK], MANV [FK], D1, D2, ..., D31, NGAYCONG, NGAYPHEP, NGHIKHONGPHEP, CONGNGAYLE, TONGCONG)
  5. tb_BANGTINHLUONG (ID [PK], MAKYCONG [FK], MANV [FK], LUONGCOBAN, NGAYCONG, LUONGNGAYCONG, PHUCAP, TANGCA, UNGLUONG, BHXH, BHYT, BHTN, THUCLANH)
  6. tb_PHUCAP, tb_UNGLUONG, tb_TANGCA, tb_LOAICONG, tb_LOAICA, tb_KHENTHUONG_KYLUAT, tb_DIEUCHUYEN, tb_THOIVIEC.

Methodology

Dự án áp dụng mô hình phát triển Agile kết hợp Thác nước cải tiến (Iterative Waterfall), chia theo 4 giai đoạn cụ thể:

Ma trận đánh giá rủi ro kỹ thuật

  • Rủi ro tính sai công/lương khi chuyển tháng: Xử lý bằng thuật toán sinh kỳ công động (GenerateKyCongChiTiet) kết hợp kiểm tra số ngày thực tế theo lịch hệ thống (DateTime.DaysInMonth(year, month)).
  • Rủi ro Deadlock hoặc nghẽn kết nối CSDL: Sử dụng mô hình kết nối ngắn hạn qua using (SqlConnection conn = ...) và cơ chế Connection Pooling tích hợp sẵn trong ADO.NET.
  • Rủi ro toàn vẹn khi xóa dữ liệu nhân sự: Áp dụng khóa ngoại kèm ràng buộc toàn vẹn tham chiếu (ON DELETE NO ACTION), kết hợp cờ đánh dấu trạng thái thôi việc (tb_THOIVIEC) thay vì xóa vật lý (Hard Delete).

Implementation và kết quả

Development process

1. Thuật toán tính lương tại tầng Business Logic Layer (BLL)

Công thức tính lương chi tiết cho mỗi nhân viên trong kỳ công:

$$\text{Lương ngày công} = \frac{\text{Lương cơ bản} \times \text{Hệ số lương}}{\text{Ngày công chuẩn trong tháng}} \times \text{Ngày công thực tế}$$

$$\text{Lương tăng ca} = \sum (\text{Số giờ tăng ca} \times \text{Đơn giá giờ chuẩn} \times \text{Hệ số ca})$$

$$\text{Tổng giảm trừ} = \text{Tạm ứng} + (\text{Lương đóng bảo hiểm} \times \sum \text{Tỷ lệ BHXH, BHYT, BHTN})$$

$$\text{Thực lĩnh} = \text{Lương ngày công} + \text{Lương tăng ca} + \text{Phụ cấp} + \text{Thưởng} - \text{Kỷ luật} - \text{Tổng giảm trừ}$$

Code Snippet minh họa xử lý tính lương tại tầng BLL (C#):

public class PayrollService
{
    private const double TI_LE_BHXH = 0.08;
    private const double TI_LE_BHYT = 0.015;
    private const double TI_LE_BHTN = 0.01;

    public BangLuongDTO CalculateSalary(NhanVienDTO nv, HopDongDTO hd, KyCongChiTietDTO kc, 
                                        double phuCap, double tangCa, double ungLuong, double thuong, double kyLuat)
    {
        if (hd == null || kc == null) 
            throw new ArgumentNullException("Dữ liệu hợp đồng hoặc kỳ công không hợp lệ.");

        int standardWorkingDays = kc.NgayCongTrongThang > 0 ? kc.NgayCongTrongThang : 26;
        double dailyBaseSalary = (hd.LuongCoBan * hd.HeSoLuong) / standardWorkingDays;
        
        // 1. Tính lương theo ngày công thực tế
        double actualWorkSalary = dailyBaseSalary * kc.TongNgayCongThucTe;

        // 2. Tính các khoản bảo hiểm bắt buộc theo lương cơ bản
        double totalInsuranceDeduction = hd.LuongCoBan * (TI_LE_BHXH + TI_LE_BHYT + TI_LE_BHTN);

        // 3. Tính tổng thực lĩnh
        double netSalary = actualWorkSalary + phuCap + tangCa + thuong - kyLuat - ungLuong - totalInsuranceDeduction;

        return new BangLuongDTO
        {
            MaNV = nv.MaNV,
            MaKyCong = kc.MaKyCong,
            LuongCoBan = hd.LuongCoBan,
            HeSoLuong = hd.HeSoLuong,
            LuongNgayCong = Math.Round(actualWorkSalary, 0),
            PhuCap = phuCap,
            TangCa = tangCa,
            UngLuong = ungLuong,
            BaoHiem = Math.Round(totalInsuranceDeduction, 0),
            ThucLanh = Math.Round(netSalary < 0 ? 0 : netSalary, 0)
        };
    }
}

2. Cấu trúc truy vấn Stored Procedure tại SQL Server

CREATE PROCEDURE sp_TinhVaChotLuongKyCong
    @MaKyCong INT
AS
BEGIN
    SET NOCOUNT ON;
    BEGIN TRANSACTION;
    TRY
        -- Xóa bảng lương cũ của kỳ công nếu đang ở trạng thái tính lại
        DELETE FROM tb_BANGTINHLUONG WHERE MAKYCONG = @MaKyCong;

        -- Tính toán và nạp dữ liệu lương chi tiết cho toàn bộ nhân viên có kỳ công
        INSERT INTO tb_BANGTINHLUONG (MAKYCONG, MANV, LUONGCOBAN, NGAYCONG, LUONGNGAYCONG, PHUCAP, TANGCA, UNGLUONG, BHXH, BHYT, BHTN, THUCLANH)
        SELECT 
            kc.MAKYCONG,
            nv.MANV,
            hd.LUONGCOBAN,
            kc.TONGCONG,
            ROUND((hd.LUONGCOBAN * hd.HESOLUONG / 26.0) * kc.TONGCONG, 0) AS LUONGNGAYCONG,
            ISNULL(pc.SOTIEN, 0) AS PHUCAP,
            ISNULL(tc.SOTIEN, 0) AS TANGCA,
            ISNULL(ul.SOTIEN, 0) AS UNGLUONG,
            ROUND(hd.LUONGCOBAN * 0.08, 0) AS BHXH,
            ROUND(hd.LUONGCOBAN * 0.015, 0) AS BHYT,
            ROUND(hd.LUONGCOBAN * 0.01, 0) AS BHTN,
            ROUND(
                ((hd.LUONGCOBAN * hd.HESOLUONG / 26.0) * kc.TONGCONG) 
                + ISNULL(pc.SOTIEN, 0) + ISNULL(tc.SOTIEN, 0) 
                - ISNULL(ul.SOTIEN, 0) 
                - (hd.LUONGCOBAN * 0.105), 0
            ) AS THUCLANH
        FROM tb_KYCONGCHITIET kc
        INNER JOIN tb_NHANVIEN nv ON kc.MANV = nv.MANV
        INNER JOIN tb_HOPDONG hd ON nv.MANV = hd.MANV
        LEFT JOIN (SELECT MANV, SUM(SOTIEN) AS SOTIEN FROM tb_NHANVIEN_PHUCAP GROUP BY MANV) pc ON nv.MANV = pc.MANV
        LEFT JOIN (SELECT MANV, SUM(SOTIEN) AS SOTIEN FROM tb_TANGCA WHERE MAKYCONG = @MaKyCong GROUP BY MANV) tc ON nv.MANV = tc.MANV
        LEFT JOIN (SELECT MANV, SUM(SOTIEN) AS SOTIEN FROM tb_UNGLUONG WHERE MAKYCONG = @MaKyCong GROUP BY MANV) ul ON nv.MANV = ul.MANV
        WHERE kc.MAKYCONG = @MaKyCong;

        COMMIT TRANSACTION;
    END TRY
    BEGIN CATCH
        ROLLBACK TRANSACTION;
        THROW;
    END CATCH
END;

Testing và validation

Hệ thống đã trải qua quá trình kiểm thử chức năng (Functional Testing), kiểm thử biên (Boundary Value Testing) và kiểm thử hiệu năng (Performance Testing):

Kịch bản kiểm thử (Test Scenario) Số ca kiểm thử (Test Cases) Đạt (Passed) Không đạt (Failed) Tỷ lệ thành công (%)
Xác thực & Phân quyền hệ thống 15 15 0 100%
Quản lý Hồ sơ Nhân sự & Hợp đồng 28 28 0 100%
Khởi tạo & Quản lý Kỳ công chi tiết 20 20 0 100%
Tính toán bảng lương, phụ cấp, giảm trừ 35 35 0 100%
Báo cáo, in ấn phiếu lương, thống kê 12 12 0 100%
Tổng cộng 110 110 0 100%

Kết quả Benchmark hiệu năng thực nghiệm

  • Thời gian khởi tạo kỳ công chi tiết cho 500 nhân sự: $1.15 \text{ giây}$.
  • Thời gian xử lý tính toán bảng lương tổng hợp 500 nhân sự: $0.85 \text{ giây}$.
  • Thời gian tải dữ liệu danh sách nhân sự (Data Grid View): $< 120 \text{ ms}$.
  • Mức độ chiếm dụng bộ nhớ RAM khi chạy tác vụ nặng: $< 85 \text{ MB}$.

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

Phần mềm đã hiện thực hóa 100% các chức năng cốt lõi theo đề cương phân tích:

  1. Giao diện quản trị đồng bộ, trực quan: Hệ thống Menu/Ribbon phân khu khoa học: Nhân viên, Chấm công, Tiền lương, Nâng lương, Loại ca, Hợp đồng, Báo cáo.
  2. Khắc phục triệt để sai sót số liệu: Loại bỏ hoàn toàn lỗi gõ sai công thức hoặc lệch dòng dữ liệu thường gặp trên Excel.
  3. Tự động hóa chu trình chốt lương: Rút ngắn thời gian lập bảng lương định kỳ của phòng kế toán từ 4 ngày xuống còn dưới 30 phút.

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

  1. Ứng dụng kiến trúc 3 lớp chuẩn mực trong đồ án ứng dụng: Tách biệt rõ ràng Data Access Layer (ADO.NET thuần tối ưu tốc độ) và Business Logic Layer, giúp mã nguồn có tính module hóa cao, dễ dàng mở rộng nâng cấp giao diện sang Web (ASP.NET Core) hoặc Mobile mà không cần viết lại tầng nghiệp vụ.
  2. Module hóa quản lý kỳ công và phân ca linh hoạt: Xây dựng cơ chế phát sinh ma trận ngày công (D1 đến D31) động theo từng tháng, xử lý chính xác các trường hợp tháng có 28, 29, 30 hoặc 31 ngày.
  3. Tích hợp liên hoàn các phân hệ phụ trợ nhân sự: Kết nối trực tiếp dữ liệu khen thưởng, kỷ luật, điều chuyển công tác, tăng lương định kỳ vào tham số tính lương mà không cần thao tác trung gian.
  4. Hiệu quả định lượng:
    • Giảm 85% thời gian xử lý và quyết toán lương mỗi kỳ.
    • Giảm 99% sai sót do tính toán thủ công.
    • Tiết kiệm 70% chi phí in ấn, lưu trữ hồ sơ giấy tờ liên quan đến phiếu lương và bảng chấm công.

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

Kịch bản triển khai tại doanh nghiệp sản xuất/thương mại

  • Bước 1: Thiết lập danh mục ban đầu: Khai báo cấu trúc công ty, phòng ban, chức vụ, loại ca (Ca sáng, Ca chiều, Ca đêm, Ca gãy), loại công (Công chuẩn, Nghỉ phép năm, Công chủ nhật, Công ngày lễ).
  • Bước 2: Tiếp nhận hồ sơ nhân sự: Nhập danh sách nhân viên, scan hợp đồng lao động, thiết lập mức lương cơ bản và hệ số phụ cấp trách nhiệm.
  • Bước 3: Chấm công định kỳ: Quản trị viên khởi tạo kỳ công tháng, cập nhật dữ liệu chấm công hàng ngày hoặc import từ máy chấm công.
  • Bước 4: Quyết toán và in phiếu lương: Thực hiện lệnh tính lương tự động, kiểm tra các khoản tạm ứng/thưởng/phạt trong kỳ, in phiếu lương gửi trực tiếp cho nhân viên.

Yêu cầu hệ thống và triển khai (System Requirements)

  • Máy trạm (Client):
    • CPU: Intel Core i3 thế hệ 4 hoặc AMD tương đương trở lên.
    • RAM: Tối thiểu 4 GB (Khuyến nghị 8 GB).
    • Ổ cứng: 500 MB dung lượng trống.
    • Hệ điều hành: Windows 7 SP1, Windows 10, Windows 11 (32-bit hoặc 64-bit).
    • Runtime: Microsoft .NET Framework 4.7.2 trở lên.
  • Máy chủ cơ sở dữ liệu (Database Server):
    • Microsoft SQL Server 2012 / 2014 / 2016 / 2019 (Bản Express, Standard hoặc Enterprise).
    • Cấu hình mạng: LAN / WAN / VPN hỗ trợ mở cổng kết nối TCP/IP port 1433.

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

Hạn chế kỹ thuật

  1. Ràng buộc nền tảng Desktop: Phần mềm chỉ hoạt động trên hệ điều hành Windows, chưa hỗ trợ trực tiếp trên trình duyệt Web (Cross-platform Browser) hay điện thoại di động (iOS/Android).
  2. Cơ chế nạp dữ liệu chấm công: Chưa tích hợp trực tiếp giao thức SDK phần cứng để tự động tải log chấm công Real-time từ máy quét vân tay/khuôn mặt qua mạng TCP/IP.
  3. Mô hình tính thuế TNCN: Chưa tự động tính lũy tiến từng phần theo biểu thuế thu nhập cá nhân hiện hành với các mức giảm trừ gia cảnh người phụ thuộc.

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

  • Chuyển đổi kiến trúc sang Web/Cloud: Phát triển phiên bản Web Application sử dụng ASP.NET Core Web API kết hợp React/Vue.js cho Front-end.
  • Xây dựng ứng dụng di động (Employee Self-Service): Ứng dụng .NET MAUI / Flutter cho phép nhân viên trực tiếp xem bảng lương, đăng ký nghỉ phép, xin tạm ứng online ngay trên điện thoại.
  • Tích hợp API phần cứng chấm công: Viết module Service chạy ngầm giao tiếp qua cổng COM/TCP với máy chấm công ZKTeco, Ronald Jack để tự động hóa 100% dữ liệu đầu vào.

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

  • Sinh viên & Học viên CNTT: Nguồn tài liệu tham khảo thực tế về quy trình phân tích thiết kế hệ thống thông tin (UML, Use Case, Sequence Diagram), thiết kế cơ sở dữ liệu quan hệ và lập trình mô hình 3 lớp trong C#.
  • Lập trình viên (Developers): Nắm vững kỹ thuật phân tầng ứng dụng WinForms, tối ưu hóa ADO.NET, viết Stored Procedures phức tạp và kiểm soát Transaction trong SQL Server.
  • Doanh nghiệp vừa và nhỏ (SMEs): Giải pháp phần mềm chi phí thấp, triển khai nhanh, giải quyết triệt để bài toán chấm công và tính lương, nâng cao tính chuyên nghiệp trong quản trị nhân sự.
  • Nhà nghiên cứu & Giảng viên: Cung cấp bộ khung giáo trình thực hành về môn học Phân tích thiết kế hệ thống thông tin và Lập trình cơ sở dữ liệu.

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

1. Yêu cầu kỹ thuật tối thiểu để cài đặt và vận hành phần mềm là gì?

Hệ thống yêu cầu máy tính chạy Windows 7 SP1 trở lên, đã cài đặt .NET Framework 4.7.2+ và kết nối tới máy chủ SQL Server 2012+ thông qua chuỗi kết nối (Connection String) hợp lệ.

2. Phần mềm có thể mở rộng cho doanh nghiệp trên 1.000 nhân sự không?

Hoàn toàn khả thi. Do sử dụng Microsoft SQL Server làm hệ quản trị CSDL, phần mềm có khả năng đánh chỉ mục (Clustered/Non-clustered Index) trên các bảng lớn (tb_KYCONGCHITIET, tb_BANGTINHLUONG) giúp tốc độ truy vấn hàng trăm nghìn bản ghi duy trì ở mức dưới $500 \text{ ms}$.

3. Dữ liệu từ file Excel danh sách nhân viên cũ có import được vào phần mềm không?

Có thể mở rộng thêm module đọc file Excel thông qua thư viện EPPlus hoặc ClosedXML để nạp dữ liệu danh sách nhân sự ban đầu vào SQL Server một cách nhanh chóng mà không cần nhập tay từng người.

4. Chi phí bảo trì và vận hành hệ thống như thế nào?

Hệ thống sử dụng các công nghệ thuộc hệ sinh thái Microsoft có phiên bản miễn phí (Visual Studio Community, SQL Server Express), do đó chi phí bản quyền phần mềm tiệm cận 0 VNĐ đối với quy mô nhỏ, chi phí bảo trì chủ yếu là hạ tầng phần cứng máy trạm sẵn có.

5. Hệ thống đảm bảo tính bảo mật của bảng lương như thế nào?

Dữ liệu mật khẩu được mã hóa, hệ thống phân chia rõ vai trò Admin (toàn quyền xem, sửa, chốt lương) và User (chỉ xem thông tin cá nhân). Kết nối tới CSDL sử dụng tài khoản SQL Server có phân quyền kiểm soát nghiêm ngặt.


Kết luận

Đề tài "Xây dựng phần mềm quản lý tiền lương cho doanh nghiệp" của sinh viên Lương Ngọc Hoàng Anh (Đại học Hải Phòng) là một công trình nghiên cứu ứng dụng có giá trị thực tiễn cao. Đồ án đã vận dụng xuất sắc các kiến thức nền tảng về kỹ thuật phần mềm: từ khảo sát nghiệp vụ HRM, phân tích thiết kế hệ thống bằng biểu đồ UML, mô hình hóa cơ sở dữ liệu quan hệ chuẩn, đến việc hiện thực hóa mã nguồn trên kiến trúc 3 lớp vững chắc với C# và Microsoft SQL Server.

Sản phẩm không chỉ đáp ứng trọn vẹn các yêu cầu học thuật của một đồ án tốt nghiệp chuyên ngành Công nghệ Thông tin mà còn sẵn sàng để đóng gói, triển khai thực tế tại các doanh nghiệp vừa và nhỏ, mang lại giá trị kinh tế - quản trị rõ nét thông qua việc chuẩn hóa quy trình và tiết kiệm thời gian vận hành.