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

Khóa luận tốt nghiệp "Tìm hiểu mô hình 3 lớp và ứng dụng viết phần mềm quản lý nhân sự cho công ty cổ phần TMDV Huỳnh Gia Phát" do sinh viên Nguyễn Văn Vũ thực hiện tại Khoa Công nghệ Thông tin, Trường Đại học Quảng Nam (tháng 04 năm 2015). Đề tài xuất phát từ nhu cầu thực tiễn trong công tác quản trị và lưu trữ hồ sơ lao động tại các doanh nghiệp trong bối cảnh hội nhập kinh tế và ứng dụng công nghệ thông tin vào điều hành sản xuất kinh doanh.

Tại Công ty Cổ phần Thương mại Dịch vụ Huỳnh Gia Phát, công tác quản lý nhân sự và tiền lương trước thời điểm nghiên cứu chủ yếu được thực hiện bằng phương pháp thủ công. Quy trình này bộc lộ nhiều bất cập thực tế:

  • Việc tìm kiếm hồ sơ nhân viên trong kho lưu trữ vật lý tốn nhiều thời gian và dễ thất lạc khi số lượng nhân sự tăng lên.
  • Hồ sơ nhân sự khi thôi việc phải luân chuyển thủ công giữa các kho lưu trữ, gây quá tải diện tích và nhân lực quản lý.
  • Công tác lập báo cáo, thống kê định kỳ hàng tháng, hàng năm gặp trở ngại lớn do lượng thông tin tích lũy ngày càng nhiều.
  • Xuất hiện tình trạng chấm nhầm ngày công hoặc sai lệch thông tin nhân viên, dẫn đến xáo trộn trong việc tính toán và chi trả lương.

Mục tiêu nghiên cứu của đề tài:

  1. Tìm hiểu chi tiết về kiến trúc mô hình 3 lớp (3-tier architecture).
  2. Ứng dụng mô hình 3 lớp để thiết kế và lập trình phần mềm quản lý nhân sự cho Công ty Cổ phần TMDV Huỳnh Gia Phát.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Mô hình kiến trúc 3 lớp và quy trình phân tích, thiết kế, xây dựng phần mềm quản lý nhân sự.
  • Phạm vi nghiên cứu: Nghiệp vụ quản lý thông tin nhân sự, hợp đồng, điều động, khen thưởng, kỷ luật, chế độ phúc lợi, chấm công và tính lương tại Công ty Cổ phần TMDV Huỳnh Gia Phát.

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

Nội dung nghiên cứu xây dựng trên nền tảng lý thuyết về hệ thống thông tin quản lý và kiến trúc phần mềm phân tầng:

Khung lý thuyết và khái niệm sử dụng

  • Lý thuyết hệ thống thông tin quản lý (MIS): Tiếp cận hệ thống thông tin như một chỉnh thể gồm phần cứng, con người, quy trình và dữ liệu nhằm thu thập, lưu trữ, xử lý và phân phối thông tin phục vụ điều hành. Phân loại thông tin quản lý thành 3 cấp độ:
    • Thông tin chiến lược: Phục vụ hoạch định dài hạn của nhà quản lý cấp cao, yêu cầu tính khái quát và tổng hợp cao.
    • Thông tin chiến thuật: Phục vụ chính sách ngắn hạn của lãnh đạo phòng ban, cung cấp định kỳ dưới dạng số liệu thống kê.
    • Thông tin điều hành (tác nghiệp): Phục vụ giám sát công việc hàng ngày của người quản lý tác nghiệp, đòi hỏi độ chi tiết cao và cung cấp thường xuyên.
  • Nhóm dữ liệu phục vụ quyết định: Phân loại tài liệu thành dữ liệu có ích trực tiếp, dữ liệu dự trữ, dữ liệu thừa và dữ liệu nhiễu.
  • Khái niệm nghiệp vụ nhân sự: Làm rõ các khái niệm nhân sự, tiền lương, hưu trí, bảo hiểm (bảo hiểm xã hội, bảo hiểm y tế), chế độ thai sản, khen thưởng và kỷ luật lao động.
  • Kiến trúc mô hình 3 lớp (3-Layer Architecture): Tách biệt ứng dụng thành ba thành phần độc lập gồm Lớp giao diện (Presentation Layer/GUI), Lớp xử lý nghiệp vụ (Business Logic Layer/BLL), và Lớp xử lý dữ liệu (Data Access Layer/DAL), kết hợp thành phần trung gian truyền dữ liệu DTO (Data Transfer Object).

Phương pháp nghiên cứu

Tác giả kết hợp bốn phương pháp nghiên cứu chính:

  1. Phương pháp nghiên cứu tự luận: Nghiên cứu thực trạng quản lý nhân sự tại đơn vị; đọc và phân tích tài liệu, giáo trình chuyên ngành để xây dựng giải pháp tin học hóa.
  2. Phương pháp tổng kết kinh nghiệm: Rút ra các quy tắc thiết kế hệ thống và kỹ thuật xây dựng phần mềm từ tài liệu kỹ thuật.
  3. Phương pháp lấy ý kiến chuyên gia: Tiếp thu góp ý từ giảng viên hướng dẫn trực tiếp và giảng viên bộ môn để hoàn thiện nội dung và cấu trúc khóa luận.
  4. Phương pháp thu thập thông tin: Khảo sát quy trình xử lý biểu mẫu, luồng dữ liệu nghiệp vụ thực tế tại doanh nghiệp.

Nền tảng công nghệ và nguồn dữ liệu

  • Công cụ phân tích thiết kế: Microsoft Visio.
  • Ngôn ngữ lập trình: C# (.NET Framework).
  • Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server.
  • Nguồn dữ liệu: Biểu mẫu hồ sơ nhân viên, quy chế lương, bảng chấm công và quy định nội bộ của Công ty Cổ phần TMDV Huỳnh Gia Phát.

Thiết kế và triển khai

Kiến trúc phân lớp của phần mềm

Phần mềm được thiết kế theo mô hình 3 lớp nhằm đảm bảo tính độc lập giữa các khối chức năng:

Thành phần Tên lớp Nhiệm vụ kỹ thuật
GUI Graphic User Interface Layer Đảm nhận việc hiển thị giao diện, tiếp nhận dữ liệu nhập từ người dùng và trình bày kết quả xuất; không tham gia tính toán logic hay truy vấn trực tiếp CSDL.
BLL Business Logic Layer Tiếp nhận dữ liệu từ GUI, thực hiện kiểm tra ràng buộc toàn vẹn, tính toán quy tắc nghiệp vụ và điều phối dữ liệu xuống DAL.
DAL Data Access Layer Thực hiện kết nối trực tiếp với hệ quản trị CSDL SQL Server hoặc tập tin; thực thi các câu lệnh truy vấn (SELECT) hoặc thủ tục lưu trữ (Stored Procedure) để đọc/ghi dữ liệu.
DTO Data Transfer Object Đóng vai trò các đối tượng hoặc danh sách đối tượng chuyển đổi dữ liệu giữa các lớp, tương ứng với cấu trúc các bảng trong CSDL.

Cơ chế luân chuyển dữ liệu được xác định theo hai chiều:

  • Hiển thị dữ liệu: CSDL $\rightarrow$ DAL (lấy dữ liệu bằng câu lệnh SELECT hoặc thủ tục) $\rightarrow$ BLL (xử lý logic nghiệp vụ) $\rightarrow$ GUI (hiển thị cho người dùng).
  • Lưu trữ dữ liệu: GUI (tiếp nhận thao tác và kiểm tra sơ bộ) $\rightarrow$ BLL (xử lý, tính toán, kiểm tra ràng buộc) $\rightarrow$ DAL (thực thi câu lệnh ghi) $\rightarrow$ CSDL SQL Server.

Mô hình phân tích và thiết kế hệ thống

  • Sơ đồ luồng dữ liệu (DFD): Xây dựng sơ đồ phân rã từ mức ngữ cảnh, sơ đồ DFD mức 0 đến sơ đồ DFD mức 1 cho 6 phân hệ: Quản lý danh mục, Quản lý nhân sự, Quản lý chế độ, Quản lý lương, Thống kê - báo cáo, và Tra cứu.
  • Mô hình thực thể - mối quan hệ (ER): Xác định 12 thực thể chính gồm NHANVIENCB, PHONGBAN, BOPHAN, HOSOTHUVIEC, KHENTHUONG, KYLUAT, TAMUNG, TANGLUONG, CONGTHUVIEC, CHEDO, CONGNHANVIENCB, ChiTiet_NV_CHEDO và DM_LUONG_PC.
  • Mối quan hệ giữa các thực thể:
    • Quan hệ 1 - 1: Giữa Nhân viên cơ bản (NHANVIENCB) và Hồ sơ thử việc (HOSOTHUVIEC).
    • Quan hệ 1 - n: NHANVIENCB với Bảng công nhân viên, Danh mục lương phụ cấp, Tăng lương, Khen thưởng, Kỷ luật, Tạm ứng; giữa Phòng ban với Nhân viên; giữa Bộ phận với Phòng ban; giữa Nhân viên thử việc với Bảng công thử việc.
    • Quan hệ n - n: Giữa Nhân viên cơ bản và Chế độ phúc lợi (Bảo hiểm, Thai sản, Hưu trí).

Thiết kế cơ sở dữ liệu vật lý

Cơ sở dữ liệu trên SQL Server được chuẩn hóa thành 14 bảng quan hệ chính:

Tên bảng Khóa chính (PK) Khóa ngoại (FK) Các trường dữ liệu chính
Bảng đăng nhập tendangnhap Không tendangnhap, matkhau
Bảng chức vụ MaCV Không MaCV, TenCV
Bảng điều động Soqd Manv, Tencv Soqd, Manv, Tencv, Tennv, Phongban, Ngayqd
Bảng chuyên môn Macm Không Macm, Tencm
Bảng dân tộc Madt Không Madt, Tendt
Bảng chấm công Mabcc Manv, Bacluong Mabcc, Manv, Bacluong, Tennv, Thang, Nam, Luongcoban, Songaycong, Thuclinh, Conlai, Giotangca, Songaynghiphep, Songayngungviec, Luongngaycong, Luongtangca, Phucapchucvu, Phucapkhac
Bảng hợp đồng Mahd Không Mahd, Tenhd, Sohd, Ngaybd, Ngaykt
Bảng khen thưởng Soqd Manv, Mapb Soqd, Manv, Mapb, Hinhthuckhenthuong, Lydokhenthuong, Sotienkt, Ngaykhenthuong
Bảng kỷ luật Soqd Mapb Soqd, Mapb, Hinhthuckl, Lydokl, Sotienkl, Tennv, Ngaykl
Bảng lương Bacluong Không Bacluong, Luongcoban, Hesoluong
Bảng phòng ban Mapb Không Mapb, Tenpb, Sdt
Bảng nhân viên Manv Macv, Mapb, Madt, Macm, Mahd, Matg, Bacluong, Matd Manv, Macv, Mapb, Madt, Macm, Mahd, Matg, Bacluong, Matd, Tennv, Gioitinh, Chucvu, Dantoc, Tongiao, Quequan, Sdt, Cmnd, Ngaysinh, Noiohientai, Giadinh, Sohd, Ngaybd, Ngaykt, Ngayhd, Noisinh
Bảng tôn giáo MaTG Không MaTG, TenTG
Bảng trình độ Matd Không Matd, Tentd

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

Chương 1. Giới thiệu về mô hình 3 lớp

Chương này tập trung trình bày nền tảng lý thuyết của kiến trúc phân tầng trong công nghệ phần mềm:

  • Phân tích nguyên lý nhóm các thành phần có cùng chức năng để phân chia trách nhiệm độc lập, hạn chế ảnh hưởng chéo khi thay đổi hệ thống.
  • Định nghĩa chi tiết cấu trúc 3 lớp: Lớp giao diện (Presentation/GUI), Lớp xử lý nghiệp vụ (Business Logic Layer), và Lớp xử lý dữ liệu (Data Access Layer).
  • Giới thiệu đối tượng truyền tải dữ liệu DTO (Data Transfer Object) dùng để đóng gói bảng và danh sách đối tượng khi dữ liệu luân chuyển giữa các tầng.
  • Làm rõ cơ chế giao tiếp hai chiều: quá trình trích xuất hiển thị dữ liệu lên giao diện người dùng và quá trình tiếp nhận dữ liệu từ màn hình để ghi xuống cơ sở dữ liệu.

Chương 2. Cơ sở lý thuyết về hệ thống thông tin quản lí nhân sự

Chương này xây dựng khung khái niệm quản lý thông tin trong doanh nghiệp:

  • Hệ thống hóa các định nghĩa về thông tin, môi trường truyền tin, vai trò của thông tin trong công tác lãnh đạo và ra quyết định.
  • Phân loại 4 nhóm tài liệu (có ích, dự trữ, thừa, thông tin nhiễu) và 3 cấp độ thông tin quản lý (chiến lược, chiến thuật, điều hành).
  • Trình bày các yếu tố cấu thành một hệ thống (đầu ra, cấu trúc, mục tiêu) và hệ thống thông tin quản lý (thu thập, cấu trúc hóa, tính toán chỉ tiêu, phân phối thông tin).
  • Chuẩn hóa các khái niệm nghiệp vụ quản lý nhân sự: nguồn nhân sự, tiền lương, chế độ hưu trí, bảo hiểm y tế, bảo hiểm xã hội, thai sản, hình thức khen thưởng và kỷ luật.

Chương 3. Phân tích và thiết kế bài toán quản lý nhân sự

Chương này thực hiện toàn bộ quy trình mô hình hóa hệ thống quản lý nhân sự tại công ty Huỳnh Gia Phát:

  • Xác định quy trình nghiệp vụ của từng bộ phận: quản lý nhân sự, quản lý chế độ, quản lý tiền lương, quản lý hưu trí, quản lý tạm ứng, tra cứu thông tin và phân quyền tài khoản người dùng.
  • Thiết lập cây chức năng tổng quát gồm 7 khối: Quản lý nhân sự, Quản lý lương, Quản lý hồ sơ, Báo cáo, Thống kê, Trợ giúp, Hệ thống.
  • Xây dựng hệ thống sơ đồ luồng dữ liệu DFD từ mức khung cảnh đến DFD mức 0 và mức 1 cho từng chức năng.
  • Mô hình hóa dữ liệu thông qua 12 thực thể ER, xác định rõ thuộc tính khóa, các mối quan hệ 1-1, 1-n, n-n và thiết kế chi tiết 14 bảng dữ liệu vật lý trong SQL Server.

Chương 4. Xây dựng chương trình

Chương này mô tả kết quả lập trình và hướng dẫn vận hành giao diện người dùng trên môi trường C# Desktop:

  • Xây dựng hệ thống 18 Form giao diện chức năng: Form chính, Form đăng nhập, Form trình độ, Form dân tộc, Form tìm kiếm nhân viên, Form thống kê nhân viên, Form phòng ban, Form hồ sơ nhân viên, Form chấm công, Form kiểm tra thời hạn hợp đồng, Form hệ số lương, Form hợp đồng, Form hồ sơ khen thưởng, Form kỷ luật, Form điều động, Form tôn giáo, Form chuyên môn, Form chức vụ.
  • Quy định chi tiết các thao tác thực thi trên từng màn hình: Đăng nhập/Đăng ký tài khoản; Thao tác nghiệp vụ Thêm, Sửa, Xóa, Hủy, Thoát trên Form Hồ sơ nhân viên; Tiếp nhận điều động nhân sự giữa các phòng ban/chức vụ; Lưu trữ quyết định khen thưởng và biên bản kỷ luật; Kiểm tra danh sách nhân viên hết hạn hợp đồng theo ngày tháng; Tìm kiếm hồ sơ theo tên hoặc mã nhân sự; Thao tác thêm/sửa/xóa và kiểm tra trùng lặp trên các form danh mục (dân tộc, tôn giáo, chức vụ, phòng ban, loại hợp đồng).

Phần Tổng kết và đánh giá

  • Đánh giá mức độ hoàn thành mục tiêu đề ra về mặt lý thuyết mô hình 3 lớp và sản phẩm phần mềm thực tế.
  • Đề xuất định hướng phát triển tiếp theo nhằm hoàn thiện các tính năng của phần mềm trong tương lai.

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

Kết quả kỹ thuật đạt được

  1. Hoàn thiện mô hình phân tích thiết kế: Xây dựng đầy đủ tài liệu phân tích hệ thống gồm sơ đồ phân rã chức năng, sơ đồ DFD (mức ngữ cảnh, mức 0, mức 1), mô hình ER với 12 thực thể quan hệ và thiết kế chi tiết 14 bảng cơ sở dữ liệu vật lý có đầy đủ ràng buộc khóa chính, khóa ngoại trên SQL Server.
  2. Xây dựng ứng dụng hoàn chỉnh: Phát triển phần mềm quản lý nhân sự trên nền tảng C# với 18 giao diện Form chức năng. Phần mềm vận hành đầy đủ các luồng nghiệp vụ:
    • Quản lý hồ sơ nhân viên và tra cứu thông tin nhanh theo mã hoặc họ tên.
    • Quản lý điều động phòng ban, chức vụ, theo dõi quyết định khen thưởng và kỷ luật.
    • Kiểm tra và cảnh báo danh sách hợp đồng lao động đến hạn.
    • Chấm công chi tiết (ngày công, ngày nghỉ phép, ngày ngừng việc, giờ tăng ca), quản lý bảng lương theo hệ số và bậc lương, quản lý tạm ứng lương.
    • Quản lý các danh mục nền tảng: Dân tộc, Tôn giáo, Phòng ban, Chức vụ, Trình độ, Chuyên môn, Loại hợp đồng.

Đóng góp của đề tài

  • Ứng dụng thành công mô hình kiến trúc 3 lớp (GUI - BLL - DAL) vào một bài toán quản trị doanh nghiệp thực tế, giúp mã nguồn phần mềm được module hóa, dễ dàng bảo trì và sửa đổi độc lập giữa tầng giao diện và tầng truy xuất cơ sở dữ liệu.
  • Cung cấp một giải pháp tin học hóa toàn diện cho Công ty Cổ phần TMDV Huỳnh Gia Phát, giúp thay thế phương thức quản lý hồ sơ thủ công bằng giấy tờ, giảm thiểu diện tích kho lưu trữ vật lý, hạn chế sai sót khi chấm công và tính lương.

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

  • Hạn chế: Phần mềm được xây dựng dưới dạng ứng dụng đơn máy (Desktop Application) chạy trên môi trường cục bộ, các cấu hình và thiết kế cơ sở dữ liệu được tối ưu riêng theo quy mô và quy trình nghiệp vụ đặc thù của Công ty Cổ phần TMDV Huỳnh Gia Phát tại thời điểm năm 2015.
  • Hướng phát triển tiếp (được nêu trong văn bản):
    • Tiếp tục nâng cấp và mở rộng thêm các tính năng nghiệp vụ nâng cao của phần mềm quản lý nhân sự.
    • Tối ưu hóa giao diện và nâng cao tính tiện dụng cho người dùng trong các phiên bản cập nhật tiếp theo.

Giá trị tham khảo

  • Đối tượng tham khảo: Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm, Hệ thống thông tin quản lý đang thực hiện đồ án tốt nghiệp hoặc các dự án môn học về xây dựng phần mềm quản lý trên nền tảng .NET (C# WinForms) kết hợp cơ sở dữ liệu Microsoft SQL Server.
  • Nội dung có giá trị tham khảo cao:
    • Phương pháp phân rã sơ đồ luồng dữ liệu (DFD) và thiết kế mô hình thực thể quan hệ (ERD) cho bài toán quản trị nhân sự - tiền lương.
    • Cấu trúc thiết kế bảng dữ liệu vật lý chuẩn hóa (14 bảng) bao quát các trường thông tin nhân sự, chấm công và chế độ phúc lợi.
    • Mô hình tổ chức phân tầng mã nguồn 3 lớp (GUI, BLL, DAL, DTO) trong ứng dụng C#.

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

1. Khóa luận sử dụng những công nghệ và công cụ nào để phát triển phần mềm?
Phần mềm được xây dựng bằng ngôn ngữ lập trình C#, công cụ phân tích thiết kế Microsoft Visio và hệ quản trị cơ sở dữ liệu Microsoft SQL Server.

2. Mô hình 3 lớp trong khóa luận gồm những thành phần nào và chức năng của từng thành phần là gì?
Mô hình gồm 3 lớp:

  • Lớp giao diện (GUI): Xử lý giao tiếp người dùng, nhập và hiển thị dữ liệu, không tính toán logic hay truy vấn CSDL.
  • Lớp xử lý nghiệp vụ (BLL): Thực hiện các kiểm tra ràng buộc, quy tắc nghiệp vụ, tính toán dữ liệu độc lập với giao diện.
  • Lớp xử lý dữ liệu (DAL): Kết nối trực tiếp với CSDL hoặc tập tin để thực hiện các thao tác đọc/ghi dữ liệu. Ngoài ra còn có DTO (Data Transfer Object) tương ứng với các bảng để chuyển dữ liệu giữa các lớp.

3. Cơ sở dữ liệu vật lý của phần mềm quản lý nhân sự gồm những bảng dữ liệu nào?
Hệ thống gồm 14 bảng dữ liệu trên SQL Server: Bảng đăng nhập, Bảng chức vụ, Bảng điều động, Bảng chuyên môn, Bảng dân tộc, Bảng chấm công, Bảng hợp đồng, Bảng khen thưởng, Bảng kỷ luật, Bảng lương, Bảng phòng ban, Bảng nhân viên, Bảng tôn giáo, và Bảng trình độ.

4. Chức năng chấm công và tính lương trong phần mềm quản lý những thông tin cụ thể nào?
Bảng chấm công (Bảng chấm công) lưu trữ các trường: Mã bảng chấm công (Mabcc), Mã nhân viên (Manv), Bậc lương (Bacluong), Tên nhân viên (Tennv), Tháng, Năm, Lương cơ bản, Số ngày công, Thực lĩnh, Còn lại, Giờ tăng ca, Số ngày nghỉ phép, Số ngày ngưng việc, Lương ngày công, Lương tăng ca, Phụ cấp chức vụ và Phụ cấp khác.

5. Giao diện chương trình ở Chương 4 được xây dựng bao gồm bao nhiêu Form và có những phân hệ quản lý danh mục nào?
Chương trình được thiết kế gồm 18 Form giao diện chức năng. Các phân hệ cập nhật danh mục gồm có: Danh mục Dân tộc, Danh mục Tôn giáo, Danh mục Chức vụ, Danh mục Phòng ban, và Danh mục Loại hợp đồng.


Kết luận

Khóa luận tốt nghiệp của tác giả Nguyễn Văn Vũ đã hoàn thành việc nghiên cứu lý thuyết mô hình kiến trúc 3 lớp và áp dụng thành công vào bài toán tin học hóa quản lý nhân sự tại Công ty Cổ phần TMDV Huỳnh Gia Phát. Công trình đã xây dựng hoàn chỉnh hệ thống tài liệu phân tích thiết kế từ sơ đồ DFD, lược đồ ER đến cơ sở dữ liệu vật lý 14 bảng và ứng dụng C# gồm 18 form chức năng đáp ứng đầy đủ các nghiệp vụ quản lý hồ sơ, chấm công, tiền lương, điều động và khen thưởng kỷ luậ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 rõ ràng cho sinh viên ngành Công nghệ thông tin khi thực hiện các đồ án phát triển phần mềm ứng dụng desktop.